7月2日、Roboflowが「Defect Inspection AI: Automating Quality Control」と題した記事を公開した。題材は製造ラインの欠陥検査だが、このパイプラインが注目に値するのは「欠陥を検出する」だけでなく「なぜ不合格か」を自然言語で説明するレポートまで自動生成できる点だ。物体検出モデル(RF-DETR)とビジョン言語モデル(Gemini)を組み合わせ、ノーコードのRoboflow Workflow上で完結する実装を詳しく解説している。
なぜ単体の物体検出モデルでは不十分か
従来の物体検出モデルは「どこに欠陥があるか」「クラスは何か」を出力する。しかし製造現場では、検査担当者や下流システムが必要とするのは「バウンディングボックスの座標」ではなく、「この部品がなぜ不合格か」という文脈を持った判断だ。
単体モデルで説明可能なレポートを生成しようとすると、クラスラベルの設計を細分化するか、別途ルールベースのロジックを実装するかのどちらかになる。いずれも保守コストが高い。RF-DETRで位置・種類を高速に特定し、Geminiで言語化するという役割分担は、この問題への実用的な回答と言える。
パイプラインの核心:「検出→クロップ→分類」の3段構成
記事の最も実装に近い部分が、このパターンだ。
- RF-DETR(物体検出モデル)でPCB画像全体を処理し、欠陥箇所にバウンディングボックスを付ける
- 検出された領域をクロップし、Gemini(ビジョン言語モデル)に渡す
- GeminiがクロップされたROI(Region of Interest)を自然言語で説明し、構造化されたpass/fail結果を生成する
このアーキテクチャの利点は役割分担が明確な点だ。RF-DETRは「どこに何があるか」を高速に判定し、Geminiは「それが何であるか・なぜ不合格か」を言語化する。単体モデルでは難しい「説明可能な検査レポートの自動生成」が実現する。
RF-DETRの位置づけ
RF-DETRはRoboflowが開発したリアルタイム物体検出モデルで、RT-DETRをベースにRoboflowが改良を加えたアーキテクチャだ。YOLOシリーズと同様にリアルタイム推論を志向しつつ、Transformerベースの検出ヘッドによって小物体や密集した欠陥パターンへの対応力を高めている。YOLOv8/YOLOv11と比較した場合、精度面での競争力を持ちながらRoboflow Workflowとのネイティブ統合が容易な点が本パイプラインでの採用理由と見られる。
対象とする欠陥の種類
記事では、コンピュータビジョンで検出可能な欠陥を4種類に分類している。
- 表面欠陥:クラック、傷、凹み、腐食など。カメラで撮影可能なため検出しやすい
- 寸法欠陥:穴位置のズレ、サイズ不良、充填量不足など
- 組立欠陥:部品欠落、逆付け、ネジ締め忘れなど。視覚的組立検証として別記事でも詳しく扱われている
- 外観欠陥:塗装ムラ、ラベルズレ、指紋など。機能に影響しないが品質基準に関わる
チュートリアルの構成:PCB欠陥検出を例に
題材として選ばれたのは基板(PCB)の欠陥検査だ。欠陥が離散的・視覚的に識別しやすく、検出-クロップ-分類のパターンに適している。同じ構成は溶接部の検査や医薬品パッケージのシール検査にも適用できると記事は述べている。
データセットとモデル
Roboflow Universeに公開されている693枚・6クラスのPCB欠陥データセットをフォークして使用する。ゼロからアノテーションする手間が省ける。
モデルはRF-DETR(Smallサイズ)をカスタム学習する。学習前にデータセットのバージョンを生成し、以下のデータ拡張を適用する(出力は学習画像1枚あたり2バリアント)。
- 水平フリップ(向きのばらつき対応)
- ±15°回転(カメラ角度のズレ対応)
- 輝度±15%・露出±10%(照明ばらつき対応)
- ブラー最大2.5px(コンベア動作時のフォーカスずれ対応)
- ノイズ最大0.1%(センサーノイズ対応)
前処理としてはAuto-Orient(カメラのEXIF回転メタデータ補正)と512×512へのリサイズを適用する。
学習結果
| 指標 | スコア |
|---|---|
| mAP@50 | 87.1% |
| Precision | 96.1% |
| Recall | 81.6% |
| F1 | 88.3% |
**Precision 96.1%は誤検出(false positive)が極めて少ないことを意味する。一方、Recall 81.6%**は見落とし(false negative)が約2割存在することを示す。記事によれば、見落としを減らしたい場合はWorkflow側で信頼度閾値を下げることで対応できる。ただし、閾値を下げるとPrecisionが低下し誤検出が増えるトレードオフが生じるため、許容できる誤検出率と見落とし率のバランスをユースケースごとに設定する必要がある。製造ラインで「見落としゼロ」を優先するなら閾値を低め、「誤検出による不必要なライン停止を避けたい」なら閾値を高めに設定するといった調整が求められる。
Roboflow Workflowの構成
学習済みモデルをRoboflow Workflowに組み込んで検査パイプラインを完成させる。Workflowは以下の構成になる。
- Image Input → 画像をパイプラインに入力
- Object Detection Model(RF-DETR) → 欠陥箇所を検出してバウンディングボックスを生成
- [Branch A] Dynamic Crop → 検出領域をクロップ
- Gemini VLM → クロップ画像を受け取り、欠陥説明テキストとpass/fail判定を生成
- [Branch B] バウンディングボックス可視化
- Text Display → pass/fail結果を統合して出力
- [Branch A] Dynamic Crop → 検出領域をクロップ
- Object Detection Model(RF-DETR) → 欠陥箇所を検出してバウンディングボックスを生成
2つのブランチが並列処理され、最終的にText Displayで統合される。GeminiブロックにはROI画像と「この欠陥を説明し、pass/failを判定せよ」というプロンプトを渡す構成だ。
モデル選択の考え方
記事では用途に応じたモデル選択も整理されている。
- 物体検出(RF-DETR等):バウンディングボックスで欠陥を特定。位置と種類が重要な場合
- セグメンテーション(SAM 3等):クラックや腐食など不規則形状の正確な境界を必要とする場合
- 異常検知:欠陥サンプルを十分に集められない場合。正常品を学習し、逸脱を検出する
- ビジョン言語モデル(Gemini等):検出後の説明生成・レポート作成に使用
製造業での自動化という題材自体は目新しくないが、RF-DETRとGeminiを組み合わせた「検出→自然言語レポート化」のパイプラインをノーコードのWorkflow上で組める点は実用上の閾値を大きく下げる。データセットもPublicのものが利用でき、フォークから始められるため、手元で試しやすい構成になっている。
詳細はDefect Inspection AI: Automating Quality Controlを参照していただきたい。