外観検査AIはほぼエッジで推論する
外観検査AIの推論は、ほとんどの場合、ラインの近くに置いたPCやエッジ機器で行います。理由は4つあります。1つ目は遅延で、判定がタクト内に返らなければ排出機構が動かせません。2つ目は帯域で、高解像度の画像を毎秒何枚もクラウドに送ると通信量が膨らみます。3つ目は可用性で、ネットワークが切れても検査を止めるわけにはいきません。4つ目は機密性で、製品画像を社外に出したくない企業は多くあります。
クラウドが使われるのは、主に学習と、エッジ機器へのモデル配布、判定結果の集計です。推論はエッジ、学習と管理はクラウドまたは社内サーバ、という分担が一般的な構成になります。判断の考え方は推論はエッジかクラウドかでも整理しています。
推論時間は手法で10倍以上違う
外観検査の良品学習手法は、推論時間に大きな差があります。EfficientAD論文が同じGPU(NVIDIA RTX A6000)で測った値を並べます。
| 手法 | 1枚あたりの推論時間 | 1秒あたりの処理枚数 | 画像AUROC(MVTec AD) |
|---|---|---|---|
| EfficientAD-S | 2.2ms | 614枚 | 98.8 |
| EfficientAD-M | 4.5ms | 269枚 | 99.1 |
| PatchCore | 32ms | 76枚 | 99.1(PatchCore論文、coreset 25%) |
| PatchCoreアンサンブル | 148ms | 13枚 | — |
出典:Batzner et al.(EfficientAD、arXiv 2303.14535)。PatchCoreのAUROCはRoth et al.(CVPR 2022)の表の値。
この表の読み方には注意が要ります。測定はハイエンドのGPUで、入力画像は256×256程度に縮小した条件です。実際のラインでは、高解像度画像を複数のタイルに分けて推論する、複数カメラを1台のPCで処理する、前処理(位置合わせ・切り出し)に時間がかかる、といった要因で、1個あたりの処理時間は表の値より長くなります。
タクトから逆算して手法と機器を決める
手順は、まずタクトから1個あたりに使える時間を出し、撮像・転送・PLC応答の時間を引いて、推論に使える時間を求めます。次に、カメラ台数と画像の分割数を掛けて、1秒あたりに推論する枚数を出します。この2つの条件を満たす手法と機器の組み合わせを選びます。
手法の精度が同程度なら、推論の速い手法を選ぶと機器を小さくできます。逆に、精度の高い手法がどうしても必要なら、推論時間に見合うGPUを用意するか、検査するカメラ・タイルの数を減らす工夫をします。
推論機器は大きく3つの選択肢があります。
| 選択肢 | 向く条件 | 注意点 |
|---|---|---|
| 産業用PC+CPU | タクトに余裕がある、カメラ1〜2台 | 量子化・最適化(OpenVINO等)で高速化 |
| 産業用PC+GPU | 短いタクト、複数カメラ、重い手法 | 発熱・電源、GPUドライバの保守 |
| 組込みエッジ機器 | 省スペース、カメラ近くに置きたい | 処理能力と消費電力の制約 |
組込みエッジ機器の例として、NVIDIAのJetson Orinシリーズは、AGX Orin 64GBが最大275 TOPS(消費電力15〜60W)、Orin NXが最大100 TOPS(10〜25W)、Orin Nano Super開発キットが67 TOPS(7〜25W)と公表されています(NVIDIA)。TOPSは演算性能の目安で、外観検査の手法でそのまま推論時間に換算できるわけではないため、自社のモデルで実測してください。CPUで動かす場合、OSSの異常検知ライブラリanomalibは、OpenVINOとNNCFによる量子化でCPU推論に対応しています。
PLCへの判定返しを設計する
推論結果は、PLCに返して排出機構やライン停止に使います。設計で決めるのは次の点です。
- 判定の出力:良品・不良の2値だけか、欠陥種類のコードも返すか
- 対応付け:判定結果がどのワークのものかをPLC側でどう識別するか(ワークのトラッキング番号、シリアル)
- タイムアウト:判定がタクト内に返らなかったときの扱い(不良扱いで排出するのが安全側)
- 異常時:推論PCの停止、カメラの異常、照明切れを検知したら、ラインを止めるか、全数を人の検査に回すか
特にタイムアウトと異常時の動作は、品質保証部門と合意しておく必要があります。「判定できなかったものは良品として流す」設計は、見逃しの原因になります。
MESへの記録は非同期で行う
PLCへの判定返しは即時性が要りますが、画像の保存やMESへの記録は、タクトの外で非同期に行えば十分です。推論PCで判定結果と画像のIDをローカルに一時保存し、別のプロセスでMESや画像サーバに送る構成にすると、ネットワークの遅延がラインに影響しません。
記録する項目は、ワークのシリアルまたはロット、判定結果、欠陥種類、異常度スコア、使ったモデルの版、撮像条件の版、判定時刻です。モデルの版を記録しておけば、後から「どのモデルで合否を判定したか」を説明でき、品質監査やモデル更新後の比較に使えます。記録の詳細は外観検査AIの判定結果をMESに戻す、エッジ機器の管理の考え方はエッジAIとはで扱っています。
よくある質問
クラウドで推論することはありますか?
タクトに余裕があり、画像を社外に出せる場合や、抜取り検査のように即時性が要らない場合はあります。ただしネットワーク断の影響を受けるため、ラインの合否判定に使う場合は、エッジでの推論が基本です。
推論PCが故障したらどうしますか?
予備機を用意し、モデルと設定を短時間で復元できる手順を作っておきます。復旧までの間は人の検査に切り替える運用を決め、そのための人員と検査台を確保しておくことも必要です。
PLCとの通信方式は何を使いますか?
PLCメーカーの通信プロトコル、デジタル入出力、OPC UAなどが使われます。良否の2値だけならデジタル入出力が単純で確実です。欠陥コードやシリアルの受け渡しが必要な場合は、データ通信のプロトコルを使います。
この記事に出てくる用語
外観検査AIの選び方
良品学習か不良学習か、撮像系を誰が持つか。精度の数字だけで選ばないための比較軸 全51本
- 外観検査AIとは?2つの学習方式と導入5ステップを製造現場の目線で解説
- 製造業のAI活用10領域:外観検査・予知保全から設計・技能伝承まで一覧
- 外観検査AI製品の比較軸10項目:学習方式・撮像系の範囲・エッジ対応・再学習の手間
- 自動車メーカーのAI活用:溶接・塗装検査から生産計画・フィジカルAIまで10用途
