画像検査の実装で結果を分けるのは、ディープラーニングを使うかどうかではありません。目の前の検査が「有無を数える」のか「寸法を測る」のか「良品のばらつきの中から欠陥を拾う」のかを切り分けたうえで、手法を当てはめられるかどうかです。ここを曖昧にしたまま学習モデルを載せると、寸法公差の判定に確率値が返ってくるような噛み合わない構成になります。検査タスクの分解、ルールベース画像処理で押し切れる境界、教師データが足りない工程での進め方、そして精度をどう測るかまでを実装の解像度で整理しました。
まとめ|画像検査で先に決まるタスク分解と評価指標という2点
画像検査を組むときに先に確定させるのは次の2点です。
1つ目は検査タスクの分解。有無・員数、寸法計測、欠陥検出、文字照合の4種類は、要求される出力の型が違います。寸法はミリメートル、欠陥は異常スコア、文字は照合結果。1台の装置で複数を同時に見る場合でも、内部では別々の処理系として組み、判定条件も別に持たせてください。まとめて1つのモデルへ任せる設計は、精度が落ちたときに原因を切り分けられなくなります。
2つ目は評価指標の置き方。「精度95%」という単一の数字は、不良率が1%の工程では何も語りません。画像単位で合否を当てられたかと、画素単位で欠陥の位置と広がりを当てられたかは別々に測る。加えて、見逃し率と過検出率を分けて出さないと、しきい値を動かしたときの影響が読めません。
この2点が決まってから手法の選定へ進みます。撮像系のハード設計は外観検査装置のカメラ・レンズ・照明の構成と選定基準、搬送から仕分けまでの工程分担は外観検査の自動化における工程設計としきい値の決め方で扱うため、本記事はアルゴリズムの選定と精度評価に絞ります。
画像検査とは何か|撮像から判定までを4段に分けて手法を当てる
画像検査とは、カメラで取り込んだ画像を計算処理して製品の合否を出す検査手段を指します。工程の呼び名である外観検査に対して、画像検査はその外観検査を実現する手段の側の言葉です。「画像検査機」と呼ばれる装置も、中身は撮像系と処理系の組み合わせで、装置としての構成は前掲の外観検査装置の記事が扱う範囲になります。
処理は4段に分かれます。撮像(欠陥が輝度差として写る条件を作る)、前処理(ノイズ除去と位置合わせ)、特徴抽出(面積・エッジ位置・異常スコアなど判定に使う数値を作る)、判定(数値としきい値を突き合わせて合否を返す)。手法の選定とは、このうち特徴抽出の段に何を置くかを決める作業にほかなりません。撮像で写っていない欠陥は、後段をどれだけ作り込んでも拾えません。
ルールベース画像処理とディープラーニングの違いも、この4段の中では特徴抽出の段の違いに収まります。ルールベースは人が「面積」「エッジ位置」「輝度差」といった特徴量を指定し、学習ベースは画像から特徴量そのものをモデルに作らせる。判定の段でしきい値と突き合わせる構図は両者で共通しているため、後段の判定ロジックと記録の仕組みは手法を切り替えても流用できます。手法選定の前に、この2段を分けて設計しておいてください。
検査タスクの4分類|有無・寸法・欠陥・文字で変わる手法の選び方
最初にやることは、検査基準書に並ぶ項目を4つのタスク型へ割り振る作業です。型が決まれば手法の候補は自動的に絞れます。
対応はおおむね決まっています。有無・員数は連結成分の個数、寸法計測はエッジ位置の実寸換算、欠陥検出は異常スコアまたは欠陥領域の面積、文字照合はテンプレート照合か文字認識。1つの検査基準書に4種類が混在するのは珍しくないため、項目ごとに出力の型を書き出してから手法の割り当てへ進みます。
有無・員数の確認と寸法計測をルールベースで押し切れる撮像の条件
部品の有無、ネジの本数、シールの貼り忘れといった員数系は、背景と対象の輝度差が安定していれば二値化と連結成分の面積カウントで決まります。判定に使う数値は面積と個数で、しきい値は良品の面積分布から余裕を取って置けば足ります。
寸法計測はエッジ位置の検出精度と、画素とミリメートルの換算精度で決まります。実務の目安として、許容公差の5分の1から10分の1が1画素に収まる分解能を確保してください。公差±0.1ミリメートルなら、1画素あたり0.01〜0.02ミリメートル。加えてレンズの歪曲を較正しておかないと、視野の周辺で系統的な誤差が乗ります。この2タスクは学習モデルを持ち出す必要がありません。
員数系でつまずくのは、ワークの位置ずれで検査領域から対象が外れる場合です。対策は領域を広く取ることではなく、位置決めを入れて領域をワーク基準で切ること。領域を広げると背景の映り込みが面積へ混ざり、しきい値の余裕がそのまま削られます。
傷・異物・欠けの検査で数値条件が破綻する良品のばらつきの境界線
破綻の境界は明確です。良品どうしの見た目の差が、欠陥による差より大きくなった時点でルールベースの数値条件は成立しなくなります。鋳肌、木目、梨地処理、織物のように表面が個体ごとに違う素材が典型で、輝度差のしきい値を欠陥に合わせると良品側も引っかかり、良品を通すと欠陥も通ります。
判断は感覚ではなく数値で行ってください。良品を50枚撮り、検査領域内の輝度標準偏差を出します。この値が、拾いたい欠陥の輝度差と同じ桁に並んだら、ルールベース単独では押し切れない領域です。文字・印字の照合は別枠で、印字位置が安定するならテンプレート照合、フォントや位置が揺れるなら文字認識系の処理へ回します。
ルールベース画像処理の組み立て|位置決めから特徴量までの順序
ルールベースは処理を並べる順序で精度がほぼ決まります。各段の役割を混ぜないことが実装の勘所です。
位置決めからブロブ特徴量までの処理順と各段で決まるパラメータ設計
標準的な並びは、位置決め(パターンマッチでワークの基準点を出す)、検査領域の切り出し、ノイズ除去(平滑化)、二値化またはエッジ抽出、連結成分ごとの特徴量算出(面積・周囲長・アスペクト比・重心)、しきい値判定の6段です。位置決めを先頭に置く理由は、検査領域を画像の絶対座標ではなくワーク基準の相対座標で切るためで、これを省くと搬送のがたつきがそのまま誤判定になります。
各段のパラメータは固定値で持たせないでください。照明の経時変化に対しては、参照画像との差分を取るか、領域ごとにしきい値を決める方式へ寄せます。しきい値の決め方そのものは二値化のしきい値と大津・適応的の使い分け、輪郭の取り出しはエッジ検出のCanny法と微分フィルタの使い分けで詳しく扱っています。
パターンマッチングの選び分け|相関ベースと形状ベースの耐性の違い
位置決めに使うパターンマッチには2系統あります。相関ベース(正規化相互相関)はテンプレートの画素値と対象を直接照らし合わせる方式で、処理が軽く、照明が安定して回転もない工程では十分に足ります。ただし数度の回転や倍率変化でスコアが急に落ちる弱さを併せ持つ。
形状ベースはエッジの勾配方向を照合する方式で、回転・倍率変化・部分的な隠れに強い代わりに、探索範囲を広く取ると処理時間が伸びます。タクトが厳しいラインでは、探索角度の範囲を実測のがたつき分だけに絞って設定してください。実装の入口はOpenCVをPythonで使う画像処理の基本操作にまとめています。opencv-pythonは2026年8月時点で5.x系が公開されており、4.x系のコードを移す際は関数の返り値の数が変わる箇所を確認してから移してください。
処理時間の見積りも設計時に済ませてください。各段の所要時間は画像サイズにほぼ比例するため、検査領域を切ってから重い処理を掛ける順序にするだけで、全体の処理時間は数分の1に収まります。実測は本番と同じ画像サイズ・同じ計算機で行い、最悪値で見る。平均値で組むと、ワークが連続で流れた場面だけ取りこぼす不具合が残ります。
ディープラーニングへ切り替える判断|学習4方式の使い分けと成立条件
学習ベースへ移す場合、出力の型で4方式に分かれます。混同すると、後から評価指標を置けなくなります。
良品学習型が成立する工程条件|正常のばらつきと不良サンプルの頻度
4方式とは、画像単位で合否を返す分類、欠陥の位置と個数を返す検出、画素単位で欠陥領域を塗る領域分割、そして正常だけを学習して逸脱度を返す良品学習型です。検出モデルの選び方は物体検出の代表手法の比較と実装判断、逸脱度を測る手法の体系は異常検知の手法・仕組みと製造業での導入判断が扱います。
良品学習型が成立するのは3条件がそろったときです。正常品の見た目のばらつきが撮像条件を固定すれば収まること、不良の種類を事前に列挙できないこと、不良の発生が月に数個の水準で学習用に集まらないこと。逆に、不良の型が3種類程度に固定され、それぞれ数百枚集まる工程なら、不良を教師として与える分類か検出のほうが精度も説明性も上回ります。
面積や長さで合否が決まる検査に領域分割モデルを充てるべき理由
図面や検査基準書に「傷の長さ2ミリメートル以下」「打痕の面積1平方ミリメートル以下」と書かれている場合、必要な出力は確率値ではなく寸法です。画像単位の分類モデルは「不良らしさ0.87」しか返さないため、この基準へ接続できません。領域分割で欠陥領域を画素で塗り、換算係数を掛けて実寸へ直せば、既存の基準書をそのまま判定条件に使えます。
判定部にAIを載せるかどうかの費用構造と導入可否はAI外観検査の仕組みとルールベースとの違いにまとめてあります。技術的に成立しても投資が回収できない工程はあるため、方式の選定と並行して確認してください。
不良サンプルが集まらない工程での進め方|水増しと合成の線引き
「不良品の画像が10枚しかない」は、製造現場では標準的な状態です。ここで打てる手は決まっています。
実不良の水増しと合成不良を使ってよい範囲と混ぜてはならない場所
実不良に対する回転・反転・明度変更といった水増しは、学習側に限って使えます。合成不良(正常画像へ傷のパターンを貼り込む、ノイズを重ねる)も学習側なら成立しますが、貼り込みの境界が不自然だとモデルがその境界を覚え、実物の傷を拾えません。合成を使う場合は、合成のみで学習したモデルを実不良10枚で必ず検証してください。
混ぜてはならないのは評価側です。評価用データセットに合成不良と水増し画像を入れた時点で、その精度の数字は現場の性能を表さなくなります。実不良が10枚しかないなら、10枚すべてを評価側へ回し、学習は正常画像だけで進める良品学習型を選ぶほうが筋が通ります。
枚数を数えるときは、不良の総数ではなく種類ごとの内訳で数えてください。「不良100枚」の中身が傷95枚・欠け3枚・異物2枚なら、欠けと異物は学習が成り立たない水準です。種類ごとに30枚を下回るクラスは、無理に分類へ載せず良品学習型でまとめて逸脱として拾い、種類の判別は人が担う分担にすると全体が動きます。
不良が数枚しかない段階でしきい値を仮置きする分位点の決め方の実務
良品学習型では、正常画像の異常スコア分布から仮のしきい値を置きます。手順は、量産中の正常品を1,000枚撮って推論し、スコアの分布を作り、99.5パーセンタイルの位置を初期値にする。この置き方なら過検出率はおよそ0.5%に収まり、ライン投入後の再検査工数を見積もれます。
その後は併走運転で実不良が積み上がるのを待ち、20〜30個たまった時点で見逃し率を実測して再設定します。このしきい値を最終的にどこへ動かすかは、流出コストと再検査コストの比較で決める話で、その手順は外観検査の自動化におけるしきい値の設計手順で扱っています。
精度評価指標の置き方|画像単位と画素単位を別々に測る評価設計の手順
評価の設計は、モデルを選ぶ前に決めてください。後から決めると、都合のよい指標を選ぶ余地が残ります。
画像単位のAUROCと画素単位のAUPROを分けて測る設計にする理由
産業用の異常検知で参照される公開データセットのMVTec ADは、テクスチャ5種と物体10種の計15カテゴリを持ち、学習側は正常画像のみ、テスト側に正常と異常の両方を置く構成です。評価は画像単位のAUROCと、画素単位で領域の重なりを測るAUPROを分けて報告する慣行になっています。
この分け方を自社の評価にも持ち込んでください。画像単位の数字だけが高いモデルは、欠陥とは無関係な背景の差でOKとNGを当てている場合があります。画素単位で欠陥位置を当てられているかを併せて見ると、その取り違えを検出できます。
不良率が低い母数での評価指標の選び方|見逃し率と適合率の見方
不良率0.5%の工程では、すべてを良品と判定するだけで精度99.5%です。単一の精度は使い物になりません。見るべきは見逃し率(未検出率)=FN÷(TP+FN)と、過検出率=FP÷(FP+TN)の2つ、そして不良側の適合率と再現率を並べた曲線です。
正常が大多数を占める母数ではAUROCが高めに出る性質があるため、不良側の検出性能を判断する場面では適合率・再現率の曲線を主に見ます。報告を受ける側の実務として、「精度99%」と提示されたら、母数の不良率と混同行列の4区分の実数を必ず出させてください。
評価用データセットの分け方|ロットと時期と個体で分割する手順
同じ個体を角度違いで撮った画像を学習側と評価側へ分けて入れると、精度は実力より高く出ます。分割はロット単位・時期単位で行ってください。学習は先月までのロット、評価は今月のロットという分け方なら、材料ロット差や照明の経時変化に対する耐性まで含めて測れます。
評価用の枚数は、正常側で数百枚、不良側は最低でも20個。これを下回る間の数字は参考値として扱い、本番判定の根拠にはしないという運用を先に合意しておくと、後の揉め事を防げます。
評価を続けるには、本番稼働後も判定ログを残す仕組みを最初から入れておく必要があります。残すのは、撮像画像・異常スコアまたは特徴量の実数値・判定結果・そのときのしきい値・機種と時刻の5項目。スコアを残していないラインでは、後から見逃しが出ても原因がしきい値なのか撮像なのかを切り分けられません。保存容量が厳しい場合でも、NG判定と、しきい値付近のスコアが出た個体だけは画像ごと残してください。
内製で押し切れる範囲と受託開発へ回す条件の線引きを実装目線で決める
結論から言い切ります。員数確認と寸法計測だけの検査は内製で押し切ってください。処理はライブラリの標準機能で組め、判定条件も面積と長さで説明でき、パラメータの再調整も現場の担当者が扱えます。ここに外注費を掛けるとかえって保守が止まります。
受託開発へ回す条件は3つ。良品のばらつきが欠陥より大きくルールベースが破綻していること、不良サンプルが集まらず良品学習型のデータ設計から必要なこと、そしてタクト内に推論を収めるための量子化や推論基盤の設計が要ること。このどれかに当たるなら、社内での試行錯誤より外部の設計を入れたほうが到達が早くなります。判定モデルの構築を外部と組む場合は画像認識AIモデル構築のように、データ設計から評価指標の置き方まで含めて引き受ける形を選んでください。モデルだけ納品されても、評価用データセットが無ければ受け入れ判定ができません。
見送るべき場面もあります。年間の生産数が数千個に満たない工程、品種が毎月入れ替わり撮像条件を固定できない工程、そして検査基準そのものが文書化されていない工程です。最後の1つは順序の問題で、基準書の整備を先に済ませてから戻ってきてください。
よくある質問
画像検査と外観検査は何が違いますか?
外観検査は工程の名前、画像検査はその工程を機械で実現する手段の名前です。外観検査を人が目視で行えばそれは目視検査で、カメラと計算処理で行えば画像検査になります。寸法検査や員数確認も画像で行えば画像検査に含まれるため、画像検査のほうが指す範囲は広いと捉えてください。
画像検査機を購入すれば、そのまま自社製品に使えますか?
員数確認や既定形状の寸法計測なら、設定作業だけで動く場合があります。一方で自社製品固有の欠陥を拾う用途では、撮像条件の作り込みと判定条件の設計が必ず残ります。購入前に、自社の実物ワークを持ち込んで欠陥が画像に写るかどうかの確認(撮像テスト)を依頼してください。ここで写らなければ、装置を変えても結果は変わりません。
不良品の画像が10枚しかありません。開発を始められますか?
始められます。ただし進め方が変わり、正常画像だけで学習する良品学習型を選び、手元の不良10枚は学習ではなく評価側へ回します。しきい値は正常品1,000枚の異常スコア分布の99.5パーセンタイルで仮置きし、ライン併走で実不良が20〜30個たまった時点で再設定する流れが現実的です。
ベンダーから精度99%と説明されました。何を確認すべきですか?
確認するのは3点です。評価に使った母数の不良率、混同行列の4区分(TP・FN・FP・TN)の実数、そして評価用画像に合成や水増しが混ざっていないか。不良率0.5%の母数なら、全数を良品と判定するだけで99.5%に達します。見逃し率と過検出率を分けて提示してもらってください。
OpenCVだけで産業用の画像検査システムを作れますか?
ルールベースの範囲なら作れます。二値化、エッジ抽出、輪郭抽出、テンプレート照合まで標準機能でそろい、寸法計測も較正を自前で持てば成立します。不足するのは、カメラの同期制御、タクト内での安定した処理時間の保証、そして学習モデルの推論基盤です。この領域まで必要なら、産業用の画像処理ライブラリや推論基盤を組み合わせる構成を検討してください。
関連記事
- AI外観検査とは?仕組み・ルールベースとの違いと導入判断を解説:判定部にAIを載せるかの導入可否と費用構造
- 外観検査装置とは?カメラ・レンズ・照明の構成と選定基準を実装目線で解説:撮像系のハード設計とタクトの積み上げ
- 外観検査の自動化とは?目視検査を置き換える工程設計としきい値の決め方を解説:工程分担と運用点の決め方
- 二値化とは?しきい値の決め方と大津・適応的の使い分けをOpenCVの実装で解説:二値化の内部と実装
- 物体検出とは?仕組み・代表手法の比較から実装判断までエンジニア向けに解説:欠陥の位置と個数を出す手法の選択
- 異常検知とは?機械学習の手法・仕組みと製造業での導入判断:良品学習型の手法体系