「外観に異常があるか」はAIが得意とする問いです。しかし「内径が51.2 mm以上か」は、AIよりもものさしで測る方が適しています。結果を数値で残せ、なぜ不良なのかを説明でき、学習データも必要ありません。この講義では、円形部品を例に、画像から寸法を測る過程をたどります。
1. キャリブレーション — 1ピクセルは何mmか
画像上の距離はピクセル単位です。これをmmに変換するには、mm/pixel の値が必要です。寸法が既知の基準物(ゲージブロック、キャリブレーションプレート)を同じ位置で撮影し、実際の長さをピクセル数で割ります。たとえば EB ラインの設定は 0.041 mm/pixel です。1ピクセルの誤差が 0.041 mm の誤差になるということです。
キャリブレーションは、カメラの高さ、レンズの焦点、解像度が変わったらやり直す必要があります。5MP(2448×2108)のカメラに変更すると、同じ視野でmm/pixelが小さくなって精度は上がりますが、値を新たに求め直さなければなりません。
2. 輪郭抽出 — 境界を安定して見つける
計測とは結局、境界線上の点を扱う作業です。境界が揺らげば、計測値も揺らぎます。
- Gaussian ブラー — ノイズを減らし、偽の境界を除去します。
- 二値化 — 部品と背景を分けます。照明が均一でない場合は、領域ごとに基準を変える適応的閾値を使います。
- モルフォロジー演算(Morphology) — 小さな穴を埋め、細かいヒゲを除去します。
- Canny エッジ — 明るさが急激に変化する線を境界として抽出します。
3. 円フィッティング — 1ピクセル未満の精度
境界の点に最小二乗法で円を当てはめると、数百の点が平均化されるため、1ピクセルより小さい単位で中心と半径を求められます。ここで重要なのは、円でない部分を除くことです。バンドの耳(ear)のように突き出た部分が含まれると、円がそちらに引っ張られます。Multi-Inspector EB は耳の領域を除外して円を当てはめ、1ピクセル未満の精度を目指します。Hough 円検出は高速ですが精度が低いため、画面表示用にのみ使います。
4. 項目ごとの計測
- 厚さ — 指定した角度区間に複数の計測線を引き、内側と外側の境界間の距離を測ります。上位N個を選んで外れ値を除くことで、ほこり1点で厚さが変わらないようにしています。
- 真円度(Roundness) — 輪郭が真円にどれだけ近いかを比率で表します。歪んだ部品は値が下がります。
- 周長・内径 — 当てはめた円と実際の輪郭から計算します。
5. ルールで判定する
Multi-Inspector では、計測モード(circularity)にルールを設定します。たとえば roundness, thickness, circumference をルールに指定し、各項目の許容範囲(真円度 0.931 以上など)を定めます。範囲を外れると、NG-Dim-THICKNESS のように、どの寸法が原因で不良なのかが結果に残ります。
AIとの併用 — 3重判定
Multi-Inspector EB v2.3 は、1つの部品を3つの方式で同時に判定します。
| モード | 方式 | 検出するもの |
|---|---|---|
| mode1 · AIモデル | 位置合わせ(rotation-fix2)後に異常検知 | 初見の外観異常 |
| mode2 · YOLO | 位置合わせ(yolo_align)後に物体検出 | 名前の決まっている欠陥 |
| mode3 · 寸法 | 円フィッティング計測(circularity) | 公差を外れた寸法 |
AIは数値公差を守っているかを知らず、計測は表面のキズを知りません。3つの判定を併用すれば、互いの抜けが補われます。位置合わせ済みの画像は一度だけ生成して計測モードと共有するため、判定が増えても処理時間は大きく増えません。