📅 · 所要時間4分 · Meta Smart Factoryチーム
外観検査のプロジェクトは、誰かがコードを書き始める前に、その成否がほぼ決まっています。何を欠陥とみなすかを定義し、ワークが来る位置を固定し、どう照らすかを選んだ時点です。モデルは、渡された画像に写っているものしか扱えません。本稿は、このシステムを仕様化する立場の方――品質技術、生産技術、自動化の担当者、そして導入後にこの設備を持つ方――に向けています。自分の工程には詳しく、画像検査には詳しくない、という前提で書いています。
ハードウェアの話に入る前に、この製品で何を欠陥とするのか、そして誰がそれを判定するのかを決めます。当たり前に聞こえますが、実際に試すとそうでないことがわかります。
ラインからワークを100個、判断に迷う難しいものも含めて取り出し、経験のある検査員2名に、それぞれ独立に合格と不合格へ仕分けてもらいます。明確な欠陥では2人の判定は一致します。一方、境界領域の母集団――薄いキズ、充填不足、読めはするが鮮明ではない印字――では、しばしば一致しません。
この不一致が、精度の実質的な上限です。その作業を何年も続けてきた2人が同じワークで一致しないのであれば、モデルが学ぶべき唯一の正解は存在せず、どのサプライヤーもそれを用意できません。定義が固まるまで、提案書に書かれた精度の数字には意味がありません。
これはアルゴリズムを良くしても解決しません。必要なのは、種類ごとに名前と画像を付けて文書化した欠陥カタログと、クラスごとの境界見本――合格とする限界の現品と、不合格とする限界の現品――です。この現品が、ラベル付けと受入試験の基準になります。
一貫して定義できない問題は自動化できず、議論が速くなるだけです。
カメラの選定は、好みではなく計算です。
分解能は、見なければならない最小の特徴で決まります。 視野――ワーク本体に、置かれ方のばらつき分の余裕を足した範囲――をセンサーの画素数で割ると、1画素あたりのミリメートルが出ます。1画素にしか写らない欠陥は安定して検出できないため、最小の特徴に数画素がかかるように計画します。コントラストが低い対象ではさらに多く必要です。それを超える分解能は帯域と被写界深度を消費しますし、そもそも画素数よりコントラストのほうが効きます。
露光はラインの速度に勝たなければなりません。 モーションブラーは速度と露光時間の積です。毎秒1メートルで動くワークは、1ミリ秒の露光で1ミリメートル流れます。この流れが欠陥より大きければ、その時点で勝負はついています。露光を短くするほど光量が要る。だから照明とカメラは一つの決定です。動いているものを撮るならグローバルシャッターを指定します。ローリングシャッターは1行ずつ読み出すため、動くワークが歪みます。
エリアスキャンかラインスキャンか。 エリアスキャンは、ステーションで停止または割り出しされる個別のワークに向きます。ラインスキャンは1行ずつ画像を組み立てるので、連続した帯材、条材、押出材、あるいはカメラの前で回転させる円筒形のワークに向き、等速またはエンコーダに同期した動きが必要です。
色そのものが欠陥でなければモノクロ。 モノクロは全画素を細部に使え、低照度でも感度が高くなります。カラーを選ぶのは、色が情報を持つとき――部品の色違い、シミ、仕様に対する印刷色――だけです。
インターフェースと配線。 インターフェースはケーブル長、帯域、コストを決めます。長く引き回すならGigE、ベンチ上ならUSB3、高速なラインスキャンなら高帯域の産業用インターフェースです。そして地味ながら現場での不具合の大半を生む部分――ケーブルベア対応ケーブル、ロック付きコネクタ、ストレインリリーフ、駆動系や溶接ケーブルから離した配線――があります。
光の当て方で見えるようにした欠陥は簡単な問題であり、同じ欠陥をノイズの多い画像からモデルに掘り出させるのは高くつく問題です。いくつかの照明形態でたいていの用途は足ります。明視野は視軸に沿って光を当て、印字、色、有無に使える均一な汎用画像になります。暗視野は浅い角度から当て、キズや刻印を暗い背景の中で光らせます。バックライトはワークを影絵にし、外形寸法、穴位置、充填レベルの確認に使います。ドーム照明は曲面や光沢のあるワークを均一な光で包み、反射面上の印字に対する答えになります。同軸落射は光学軸に沿って光を届け、平らな鏡面やレーザーマーキングに使います。
キズ、打痕、印字不良は、照明としては三つの別問題です。キズには浅い角度の光。打痕は色ではなく面の傾きが変わるので、その傾きに応じて反射が動く光。印字には、平坦でギラつきのない光。これを一つの照明器具で全部こなそうとすると、どれも中途半端なステーションができあがります。
次に外乱光です。受入試験を通ったシステムが、これで静かに壊れます。午後の陽が天窓から差し込む、シフトが替わって別の天井灯が点く、といったことです。対処は物理的に行います。ステーションを遮光し、LEDの波長に合わせたバンドパスフィルタを付け、撮像トリガから短く強くストロボ発光させて、自分の光が部屋の光を上回るようにします。
安定した画像は、大きなモデルより安く済みます。
検査の大半は2Dの問題です。有無、位置、面内の寸法、印字、色、つまり表面にコントラストとして現れるものすべてです。
3Dに移るのは、対象が高さや形状であり、それがコントラストとして安定して現れない場合です。接着剤ビードの高さ、ピンの平坦度、溶接ビードの断面形状、反り、無塗装金属の打痕、不透明な容器の充填レベルなどです。レーザー三角測量には相対移動が必要で、構造化照明は静止したワークでも使えます。どちらも鏡面仕上げと隠れに弱く、ワーク1個あたりのデータ量がはるかに大きくなります。
実務的な見分け方があります。腕のいい検査員が写真だけでそのワークを判定できるなら、2Dの仕事です。光にかざして傾けなければ判定できないなら、3Dか、専用の照明形態が必要です。そして先に照明を試す価値があります。
AI外観検査の相談として持ち込まれるものの多くはラベルと印字の照合であり、そのかなりの部分は決定論的に処理できます。バーコードやデータマトリクスのグレード判定、印字された文字列と期待値との比較、正しい製品に正しい版数が付いているかの確認です。
難しいのは読み取りではなく、期待値がどこから来るかです。作業者がステーションで目標の文字列を入力するなら、打ち間違いを自動化したことになります。コード、ロット、日付、版数は、MESまたはERPの製造指示から降りてこなければなりません。ここで機械学習が働くのは印字品質――かすれ、ドット抜け、曲面上の歪み――であって、照合そのものではありません。
ラインが作り出すのは圧倒的に良品であり、この偏りが検査データの性格を決めます。まず、全体の正解率が使い物になりません。ほぼ全部が良品のデータセットでは、すべてを良品と答えるモデルでも高い数字が出ます。判断は欠陥側で行います。いくつ捕まえたか、良品をいくつ弾いたか、です。
偏りは手法の選択にも効きます。異常検知は良品から正常を学び、そこからの逸脱を出します。欠陥画像が少なくて済み、見たことのないものにも反応しますが、そのワークが普通ではないと言うだけで、何が悪いのかは言いません。教師あり分類やセグメンテーションは欠陥の種類と位置を示すので、欠陥カタログやSPCが必要とする情報が得られますが、全クラスについて実物の事例が要ります。しかも、たいていの想定より多く要ります。いずれにせよ、モデルは見せられた欠陥しか知りません。
次にドリフトです。モデルは学習した時点のラインのスナップショットであり、ラインは動きます。サプライヤーの変更、材料ロットの違い、工具の摩耗、清掃時にぶつけたカメラ、製品の版数変更。再学習は、担当者と周期を決めて回す保全業務であり、いつか終わるプロジェクトの1工程ではありません。
ラベル付けも決めておくべき事項です。画像にラベルを付ける人が、その工場の品質を定義することになるからです。この作業は、欠陥定義を持つ人たちが、境界見本を見ながら行うべきです。そうでなければ、先に述べた検査員どうしの不一致が、ばらついたラベルとして戻ってきて、後工程すべての上限になります。
合成データと拡張は、場所を選べば役に立ちます。拡張――回転、位置、明るさ、ピントの小さな変化――は、そのステーションが物理的に作り得る範囲に収まっている限り安価です。レンダリング画像が最も効くのは、欠陥が幾何学的で記述できる場合、たとえば部品の欠品や向き違いです。最も効かないのは、欠陥の見え方そのものが未知である場合で、それはレンダラーには作り出せません。
何で学習したにせよ、実画像のテストセットを、境界品を含めて取り分けておきます。新しいモデルが前のモデルより良いかどうかを正直に知る方法は、これしかありません。
どの検査システムにもしきい値があり、それは二種類の誤りを互いに交換します。締めれば欠陥をより多く捕まえ、良品をより多く弾きます。緩めればその逆です。両方を消す設定はありません。どちらへ寄せるかは、その工場固有の経済計算です。流出1件が招くコストと、過検出が生む廃棄・手直し・作業者の時間のコストを比べます。
この非対称性は、計画に織り込む価値があります。過検出は、見逃しよりも速く信頼を壊します。見逃しは何週間も見えないままですが、良品を弾くステーションは1時間以内に目につき、その後の反応は予想がつきます。作業者が判定を上書きし始め、やがて見なくなり、カメラは高価な照明器具になります。
だから、しきい値をどこに置くかには持ち主が要ります。品質部門の指名された担当者、検査要領書への設定値の記載、変更の履歴です。合否の二値ではなく三つの結果――合格、不合格、そして人に回す判定保留帯――にすれば、境界領域の母集団を作業者に押し付けることなく、検出を厳しめに運用できます。受入基準は、稼働前に工場の言葉で決めます。1000個あたりの流出件数と、1シフトあたりの過検出件数です。
画像は撮れ、モデルは答えを出しました。しかしワークには、まだ何も起きていません。続くべきことが二つあります。
排出の作動。 不合格は物理的に強制されなければなりません。プッシャー、ダイバータ、あるいはそのワークの次工程を止めるインターロックを、PLC経由で動かします。ハンドシェイクは、撮像の失敗や推論の遅れが、黙って合格になるのではなく安全側の状態になるように設計します。排出はセンサーで確認し、ワークが出ていったことを見ます。誰にも知らせずに外し損ねるイジェクタは、検査がないより悪いことになります。検査済みだと人が信じてしまうからです。
記録。 判定結果、画像、時刻は、製造指示、ロット、シリアル番号、ステーション、モデルのバージョンに紐付けて、MESとQMSに残します。モデルのバージョンは重要です。再学習の後では、昨日の判定は別の判定者が出したものだからです。この記録があってはじめて、検査は積み上がります。クラス別の不良率がSPCの変数になり、封じ込めは1週間の書類作業ではなくクエリになります。
ほぼ必ず次のどれかであって、モデルが原因であることはまれです。
ワークの提示が安定していない ― 同じ位置、同じ角度、同じ距離で来ない。振動、緩んだブラケット、清掃時にぶつけた取付具。治具は、これから買える中でいちばん安い精度です。
持ち主のいないしきい値。 その日のシフト担当者しだいで動いていきます。
誰も再学習しなかった製品の版数変更。 設計変更管理の影響先リストに、検査システムを載せておく必要があります。
痕跡の残らないバイパス。 作業者には上書きの手段が必要ですが、それは記録され、見直されなければなりません。
画像を誰も見ていない。 不合格と、合格の抜き取りを、決まった周期で見る人が必要です。顧客に気づかれる前にドリフトを捕まえる方法は、これです。
PoCの条件を量産条件として扱う。 そのデモは、ベンチの上で、夜に、人がワークを手で押さえた状態で動いていました。
Meta Smart Factoryの画像検査(マシンビジョン)モジュールは、ここまでの検査側を担当します。手元の欠陥に合わせて仕様化したカメラと照明、自社のワークで学習したモデル、ライン上での推論です。当社のMESおよび品質(QMS)モジュールと連携するため、判定結果は製造指示とロットに紐付いて残り、照明器具で終わらずにトレーサビリティとSPCへ流れます。不合格品の排出は、同じIIoTおよびOPC UAの接続を通してPLCから動かします。
これからこの取り組みを始めるのであれば、最初の一手として有効なのはデモではありません。検査員2名による100個のテストと、文書化された欠陥カタログです。カメラを決める前に、その作業をご一緒します。
専門家に相談する