(57)【特許請求の範囲】
【請求項１】
画像検査装置が実行する画像検査方法であって、
検査対象物を撮影して得られた検査対象物画像を取得する取得ステップと、
検査領域定義情報を予め記憶している記憶装置から、前記検査領域定義情報を読み込む設定読込ステップと、
前記検査領域定義情報に基づいて、前記検査対象物画像から検査領域とする部分を検査領域画像として抽出する検査領域抽出ステップと、
前記検査領域画像を解析することにより前記検査対象物の検査を行う検査処理ステップと、を有しており、
前記検査領域定義情報は、検査領域の初期輪郭を定義する情報と、前記初期輪郭を基準としてどの範囲までを検査領域の輪郭を探索すべき探索範囲とするかを定義する情報と、を含んでおり、
前記検査領域定義情報に含まれる、検査領域の輪郭を探索すべき探索範囲は、前記初期輪郭の内側と外側の両方に距離を有する範囲であり、
前記検査領域抽出ステップは、
前記初期輪郭上に複数の基点を設定する基点設定ステップと、
前記検査対象物画像の前記探索範囲の内の領域において、各基点を通り前記初期輪郭に交差する線分上で前記初期輪郭の内側と外側の両方にエッジ探索処理を行うことにより、各基点に対応するエッジ点を決定するエッジ探索ステップと、
前記複数の基点に対応する複数のエッジ点を接続又は近似することにより、前記検査対象物画像の検査領域の輪郭を生成する輪郭生成ステップと、を含む
ことを特徴とする画像検査方法。
【請求項２】
前記エッジ探索ステップでは、ある基点を通る線分上にエッジ点の候補が複数存在する場合に、前記複数の候補のうち当該基点に最も近いものを、当該基点に対応するエッジ点として選択する
ことを特徴とする請求項１に記載の画像検査方法。
【請求項３】
前記エッジ探索ステップでは、ある基点を通る線分上にエッジ点の候補が複数存在する
場合に、前記複数の候補のうち当該基点からの距離が、当該基点の周辺に存在する周辺基点と前記周辺基点に対応する周辺エッジ点との間の距離に最も近いものを、当該基点に対応するエッジ点として選択する
ことを特徴とする請求項１に記載の画像検査方法。
【請求項４】
前記エッジ探索ステップでは、ある基点を通る線分上からエッジ点が一つも検出されなかった場合に、当該基点と同じ位置に、当該基点に対応するエッジ点を設定する
ことを特徴とする請求項１〜３のうちいずれか１項に記載の画像検査方法。
【請求項５】
前記エッジ探索ステップでは、ある基点を通る線分上からエッジ点が一つも検出されなかった場合に、当該基点の周辺に存在する複数の周辺基点にそれぞれ対応する複数の周辺エッジ点を補間することにより、当該基点に対応するエッジ点の位置を求める
ことを特徴とする請求項１〜３のうちいずれか１項に記載の画像検査方法。
【請求項６】
前記エッジ探索ステップでは、ある基点に対応するエッジ点を探索する範囲を、当該基点の周辺に存在する周辺基点に対応する周辺エッジ点の位置に基づいて、前記探索範囲よりもさらに絞り込む
ことを特徴とする請求項１〜５のうちいずれか１項に記載の画像検査方法。
【請求項７】
前記エッジ探索ステップは、
前記初期輪郭上に疎に配置された複数の基点について、対応するエッジ点を決定する粗探索ステップと、
前記粗探索ステップよりも密に配置された複数の基点について、対応するエッジ点を決定する詳細探索ステップと、を含み、
前記詳細探索ステップでは、ある基点に対応するエッジ点を探索する範囲を、前記粗探索ステップで決定されたエッジ点の位置に基づいて、前記探索範囲よりもさらに絞り込むことを特徴とする請求項１〜５のうちいずれか１項に記載の画像検査方法。
【請求項８】
前記輪郭生成ステップでは、生成した輪郭が前記探索範囲に収まっているか否かを判定し、前記探索範囲から外れる部分が存在した場合には、当該部分が前記探索範囲に収まるように前記輪郭を修正する
ことを特徴とする請求項１〜７のうちいずれか１項に記載の画像検査方法。
【請求項９】
画像検査装置が実行する画像検査方法であって、
検査対象物を撮影して得られた検査対象物画像を取得する取得ステップと、
検査領域定義情報を予め記憶している記憶装置から、前記検査領域定義情報を読み込む設定読込ステップと、
前記検査領域定義情報に基づいて、前記検査対象物画像から検査領域とする部分を検査領域画像として抽出する検査領域抽出ステップと、
前記検査領域画像を解析することにより前記検査対象物の検査を行う検査処理ステップと、を有しており、
前記検査領域定義情報は、検査領域の初期輪郭を定義する情報と、前記初期輪郭を基準としてどの範囲までを検査領域の輪郭を探索すべき探索範囲とするかを定義する情報と、を含んでおり、
前記検査領域抽出ステップは、
前記初期輪郭上に複数の基点を設定する基点設定ステップと、
前記検査対象物画像の前記探索範囲の内の領域において、各基点を通り前記初期輪郭に交差する線分上でエッジ探索処理を行うことにより、各基点に対応するエッジ点を決定するエッジ探索ステップと、
前記複数の基点に対応する複数のエッジ点を接続又は近似することにより、前記検査
対象物画像の検査領域の輪郭を生成する輪郭生成ステップと、を含み、
前記エッジ探索ステップでは、ある基点を通る線分上にエッジ点の候補が複数存在する場合に、前記複数の候補のうち当該基点からの距離が、当該基点の周辺に存在する周辺基点と前記周辺基点に対応する周辺エッジ点との間の距離に最も近いものを、当該基点に対応するエッジ点として選択する
ことを特徴とする画像検査方法。
【請求項１０】
画像検査装置が実行する画像検査方法であって、
検査対象物を撮影して得られた検査対象物画像を取得する取得ステップと、
検査領域定義情報を予め記憶している記憶装置から、前記検査領域定義情報を読み込む設定読込ステップと、
前記検査領域定義情報に基づいて、前記検査対象物画像から検査領域とする部分を検査領域画像として抽出する検査領域抽出ステップと、
前記検査領域画像を解析することにより前記検査対象物の検査を行う検査処理ステップと、を有しており、
前記検査領域定義情報は、検査領域の初期輪郭を定義する情報と、前記初期輪郭を基準としてどの範囲までを検査領域の輪郭を探索すべき探索範囲とするかを定義する情報と、を含んでおり、
前記検査領域抽出ステップは、
前記初期輪郭上に複数の基点を設定する基点設定ステップと、
前記検査対象物画像の前記探索範囲の内の領域において、各基点を通り前記初期輪郭に交差する線分上でエッジ探索処理を行うことにより、各基点に対応するエッジ点を決定するエッジ探索ステップと、
前記複数の基点に対応する複数のエッジ点を接続又は近似することにより、前記検査対象物画像の検査領域の輪郭を生成する輪郭生成ステップと、を含み、
前記エッジ探索ステップでは、ある基点を通る線分上からエッジ点が一つも検出されなかった場合に、当該基点と同じ位置に、当該基点に対応するエッジ点を設定する
ことを特徴とする画像検査方法。
【請求項１１】
画像検査装置が実行する画像検査方法であって、
検査対象物を撮影して得られた検査対象物画像を取得する取得ステップと、
検査領域定義情報を予め記憶している記憶装置から、前記検査領域定義情報を読み込む設定読込ステップと、
前記検査領域定義情報に基づいて、前記検査対象物画像から検査領域とする部分を検査領域画像として抽出する検査領域抽出ステップと、
前記検査領域画像を解析することにより前記検査対象物の検査を行う検査処理ステップと、を有しており、
前記検査領域定義情報は、検査領域の初期輪郭を定義する情報と、前記初期輪郭を基準としてどの範囲までを検査領域の輪郭を探索すべき探索範囲とするかを定義する情報と、を含んでおり、
前記検査領域抽出ステップは、
前記初期輪郭上に複数の基点を設定する基点設定ステップと、
前記検査対象物画像の前記探索範囲の内の領域において、各基点を通り前記初期輪郭に交差する線分上でエッジ探索処理を行うことにより、各基点に対応するエッジ点を決定するエッジ探索ステップと、
前記複数の基点に対応する複数のエッジ点を接続又は近似することにより、前記検査対象物画像の検査領域の輪郭を生成する輪郭生成ステップと、を含み、
前記エッジ探索ステップでは、ある基点に対応するエッジ点を探索する範囲を、当該基点の周辺に存在する周辺基点に対応する周辺エッジ点の位置に基づいて、前記探索範囲よりもさらに絞り込む
ことを特徴とする画像検査方法。
【請求項１２】
画像検査装置が実行する画像検査方法であって、
検査対象物を撮影して得られた検査対象物画像を取得する取得ステップと、
検査領域定義情報を予め記憶している記憶装置から、前記検査領域定義情報を読み込む設定読込ステップと、
前記検査領域定義情報に基づいて、前記検査対象物画像から検査領域とする部分を検査領域画像として抽出する検査領域抽出ステップと、
前記検査領域画像を解析することにより前記検査対象物の検査を行う検査処理ステップと、を有しており、
前記検査領域定義情報は、検査領域の初期輪郭を定義する情報と、前記初期輪郭を基準としてどの範囲までを検査領域の輪郭を探索すべき探索範囲とするかを定義する情報と、を含んでおり、
前記検査領域抽出ステップは、
前記初期輪郭上に複数の基点を設定する基点設定ステップと、
前記検査対象物画像の前記探索範囲の内の領域において、各基点を通り前記初期輪郭に交差する線分上でエッジ探索処理を行うことにより、各基点に対応するエッジ点を決定するエッジ探索ステップと、
前記複数の基点に対応する複数のエッジ点を接続又は近似することにより、前記検査対象物画像の検査領域の輪郭を生成する輪郭生成ステップと、を含み、
前記輪郭生成ステップでは、生成した輪郭が前記探索範囲に収まっているか否かを判定し、前記探索範囲から外れる部分が存在した場合には、当該部分が前記探索範囲に収まるように前記輪郭を修正する
ことを特徴とする画像検査方法。
【請求項１３】
請求項１〜１２のうちいずれか１項に記載の画像検査方法を実行する画像検査装置に対して、前記検査領域定義情報を設定するための検査領域設定方法であって、
コンピュータが、検査対象物のサンプル画像と、前記サンプル画像に対して設定された検査領域とを取得する取得ステップと、
コンピュータが、前記検査領域の輪郭を抽出する輪郭抽出ステップと、
コンピュータが、前記検査領域の輪郭が変動し得る範囲をユーザに設定させる範囲設定ステップと、
コンピュータが、前記検査領域の輪郭とユーザにより設定された範囲とに基づいて、初期輪郭を定義する情報と探索範囲を定義する情報とを含む検査領域定義情報を生成する定義情報生成ステップと、を含み、
前記範囲設定ステップでは、前記検査領域の輪郭の内側と外側の両方に距離を有する範囲をユーザに設定させる
ことを特徴とする検査領域設定方法。
【請求項１４】
前記範囲設定ステップでは、前記検査領域の輪郭上の位置毎に異なる範囲を設定可能である
ことを特徴とする請求項１３に記載の検査領域設定方法。
【請求項１５】
前記初期輪郭を定義する情報が、前記画像検査方法のエッジ探索処理の際に前記初期輪郭上に設定される複数の基点の位置を定義する情報を含んでおり、
前記検査領域設定方法は、
コンピュータが、基点の数、間隔、又は、配置をユーザに設定させるステップと、
コンピュータが、ユーザにより設定された基点の数、間隔、又は配置に基づいて、前記初期輪郭上に設定される複数の基点の位置を決定するステップと、をさらに含む
ことを特徴とする請求項１３又は１４に記載の検査領域設定方法。
【請求項１６】
請求項１〜１２のうちいずれか１項に記載の画像検査方法を実行する画像検査装置に対して、前記検査領域定義情報を設定するための検査領域設定方法であって、
コンピュータが、検査対象物のサンプル画像と、前記サンプル画像に対して設定された検査領域とを取得する取得ステップと、
コンピュータが、前記検査領域の輪郭を抽出する輪郭抽出ステップと、
コンピュータが、前記検査領域の輪郭が変動し得る範囲をユーザに設定させる範囲設定ステップと、
コンピュータが、前記検査領域の輪郭とユーザにより設定された範囲とに基づいて、初期輪郭を定義する情報と探索範囲を定義する情報とを含む検査領域定義情報を生成する定義情報生成ステップと、を含み、
前記範囲設定ステップでは、前記検査領域の輪郭上の位置毎に異なる範囲を設定可能である
ことを特徴とする検査領域設定方法。
【請求項１７】
請求項１〜１２のうちいずれか１項に記載の画像検査方法の各ステップを画像検査装置に実行させることを特徴とするプログラム。
【請求項１８】
請求項１３〜１６のうちいずれか１項に記載の検査領域設定方法の各ステップをコンピュータに実行させることを特徴とするプログラム。
【請求項１９】
検査対象物を撮影して得られた検査対象物画像を取得する取得手段と、
検査領域定義情報を予め記憶している記憶装置から、前記検査領域定義情報を読み込む設定読込手段と、
前記検査領域定義情報に基づいて、前記検査対象物画像から検査領域とする部分を検査領域画像として抽出する検査領域抽出手段と、
前記検査領域画像を解析することにより前記検査対象物の検査を行う検査処理手段と、を有しており、
前記検査領域定義情報は、検査領域の初期輪郭を定義する情報と、前記初期輪郭を基準としてどの範囲までを検査領域の輪郭を探索すべき探索範囲とするかを定義する情報と、を含んでおり、
前記検査領域定義情報に含まれる、検査領域の輪郭を探索すべき探索範囲は、前記初期輪郭の内側と外側の両方に距離を有する範囲であり、
前記検査領域抽出手段は、
前記初期輪郭上に複数の基点を設定する基点設定手段と、
前記検査対象物画像の前記探索範囲の内側の領域において、各基点を通り前記初期輪郭に交差する線分上で前記初期輪郭の内側と外側の両方にエッジ探索処理を行うことにより、各基点に対応するエッジ点を決定するエッジ探索手段と、
前記複数の基点に対応する複数のエッジ点を接続又は近似することにより、前記検査対象物画像の検査領域の輪郭を生成する輪郭生成手段と、を含む
ことを特徴とする画像検査装置。
【請求項２０】
請求項１〜１２のうちいずれか１項に記載の画像検査方法を実行する画像検査装置に対して、前記検査領域定義情報を設定するための検査領域設定装置であって、
検査対象物のサンプル画像と、前記サンプル画像に対して設定された検査領域とを取得する取得手段と、
前記検査領域の輪郭を抽出する輪郭抽出手段と、
前記検査領域の輪郭が変動し得る範囲をユーザに設定させる範囲設定手段と、
前記検査領域の輪郭とユーザにより設定された範囲とに基づいて、初期輪郭を定義する情報と探索範囲を定義する情報とを含む検査領域定義情報を生成する定義情報生成手段と
、を含み、
前記範囲設定手段は、前記検査領域の輪郭の内側と外側の両方に距離を有する範囲をユーザに設定させる
ことを特徴とする検査領域設定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像による外観検査を行う画像検査方法および検査領域設定方法に関する。
【背景技術】
【０００２】
生産ラインにおける検査の自動化・省力化のために、画像による外観検査を行う画像検査装置が広く利用されている。外観検査の種類や手法には様々なものが存在するが、基本的な構成は、画像センサ（カメラ）で検査対象物を撮影し、得られた画像から検査領域となる部分を抽出し、その検査領域の部分の画像の特徴を解析・評価することで、目的の検査（例えば、良／不良の判定、仕分け、情報取得など）を行うというものである。
【０００３】
この種の画像検査装置においては、検査処理を開始する前に、検査領域の設定などの準備作業を行う必要がある。一般的な装置では、検査領域を設定するための専用のツールが用意されており、ユーザはそのツールを使用して検査対象物や検査目的などに応じた適切な検査領域を自ら設定できるようになっている。近年では、多品種少量生産での効率向上のために段取り時間をできるだけ短縮したいというニーズが強く、検査領域の設定に手間がかかるのは望ましくない。しかしその一方で、製品形状の複雑化や検査内容の高度化・細分化に対応するため、また検査の精度や信頼性の向上のために、検査の対象とすべき部分のみに正確に検査領域を合わせこみたいというニーズも強い。
【０００４】
ところで、検査対象物によっては、形状に個体差があったり、画像内での位置・姿勢・スケールが変動したりする場合がある。例えば、ベルトコンベア上を搬送される野菜の検査を想定した場合、一つとして同じ形状のものはなく、また正確な位置決めもできないので、画像内での位置や姿勢は検査対象物ごとに違ってくる。部品実装基板のような工業製品の検査の場合であっても、各部品の形状や位置は厳密には同じでない。そのため、高精度な検査を行おうとすると、検査対象物ごとに毎回検査領域を設定するか、あるいは予め設定した検査領域のズレを毎回チェックして必要な場合には最初から検査領域を設定し直すかする必要があり、自動検査の妨げとなる。なお、検査対象物に比べて検査領域を十分狭く設定すれば、個体差や変動の影響を受け難くなるので、同じ検査領域を使って自動検査を行うことも可能ではあるが、その方法では検査領域から外れる部分が出てきてしまうため、検査の漏れを生じるおそれがある。逆に、検査対象物に比べて検査領域の範囲を十分大きく設定するという対処がとられる場合もあるが、その方法では検査対象物とは関係のない部分（例えば背景や他の物体）のピクセルが検査領域に含まれてしまうため、それがノイズとなり検査精度の低下を招いてしまうという弊害がある。
【０００５】
検査領域を自動で設定する手法としては、従来、二値化や色域抽出による検査領域抽出手法が知られている。つまり、画像の中から予め設定された輝度範囲もしくは色域に該当するピクセル群を抽出し、そのピクセル群を検査領域とする手法である。この手法は、検査領域として抽出したい部分（前景）とそれ以外の部分（背景）の輝度もしくは色のコントラストが高い場合には有効である。しかしながら、前景部分に照明などの影響による陰影があったり、前景部分が様々な輝度もしくは色で構成されていたり、背景の中に前景部分に近い色が存在していたりすると、二値化や色域抽出では前景部分のみを正確に抽出することは困難である。最近では、検査内容の高度化や細分化が進み、例えば成型加工部品における１つの切削面だけを対象とした表面検査を行いたいとか、多数の部品が実装されたプリント基板上の１つの部品だけを検査したいなど、背景と前景の色差がほとんど無いケースも多い。また、二値化や色域抽出は、画像のピクセル毎に行われるので、ノイズや照明変動の影響を受けやすく、抽出した検査領域の中にピクセルの抜けがあったり、逆に背景部分から飛び地のようにピクセルが選択されてしまったりして、検査精度を低下させ
るという問題もある。
【０００６】
非特許文献１には、画像中にある対象物（人物・物体など）の輪郭を自動で抽出する手法が提案されている。同手法では、対象物の輪郭形状を定義した形状モデル（Shape Model）を用意し、これを入力画像中の対象物にフィットさせる。このとき、形状モデルの位
置・姿勢・回転パラメタと対象物の特徴量との関係を評価値として、誤差を最小化するまで繰り返し計算させる。これにより、形状や位置が変動する対象物に対しても、その輪郭を追従することができる。非特許文献１の手法では、形状モデルの輪郭線に直交する方向における画素値の分布を手掛かりに、入力画像中の対象物に形状モデルの輪郭をフィットさせる処理が行われる。この際、形状モデルと対象物の輪郭点周りの情報量とを最小化させるため、多数の繰り返し計算が必要となり、計算コストが膨大になるという問題がある。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】T. F. Cootes, C. J. Taylor, D. H. Cooper, et al., "Active Shape Models - Their Training and Application," Computer Vision and Image Understanding, Vol. 61, No. 1, January, pp. 38-59, 1995.
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明は上記実情に鑑みてなされたものであり、その目的とするところは、検査対象物の形状の個体差や、画像内での位置・姿勢・スケールの変動に合わせて、検査領域を自動調整する処理を高速かつ精度良く行い、これにより高精度な検査を可能にする技術を提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明では、検査領域の初期輪郭と探索範囲（輪郭の変動を許容する範囲）とを検査領域定義情報として画像検査装置に与える。そして、検査対象物の検査を行う際は、初期輪郭を基に、エッジ探索処理により探索範囲の中からエッジ点を検出し、これらのエッジ点を接続又は近似することにより、検査対象物ごとに個別に検査領域を決定する。
【００１０】
具体的には、本発明は、画像検査装置が実行する画像検査方法であって、検査対象物を撮影して得られた検査対象物画像を取得する取得ステップと、検査領域定義情報を予め記憶している記憶装置から、前記検査領域定義情報を読み込む設定読込ステップと、前記検査領域定義情報に基づいて、前記検査対象物画像から検査領域とする部分を検査領域画像として抽出する検査領域抽出ステップと、前記検査領域画像を解析することにより前記検査対象物の検査を行う検査処理ステップと、を有しており、前記検査領域定義情報は、検査領域の初期輪郭を定義する情報と、前記初期輪郭を基準としてどの範囲までを検査領域の輪郭を探索すべき探索範囲とするかを定義する情報と、を含んでおり、前記検査領域抽出ステップは、前記初期輪郭上に複数の基点を設定する基点設定ステップと、前記検査対象物画像の前記探索範囲内の領域において、各基点を通り前記初期輪郭に交差する線分上でエッジ探索処理を行うことにより、各基点に対応するエッジ点を決定するエッジ探索ステップと、前記複数の基点に対応する複数のエッジ点を接続又は近似することにより、前記検査対象物画像の検査領域の輪郭を生成する輪郭生成ステップと、を含むことを特徴とする。
【００１１】
この構成によれば、初期輪郭を基準とするエッジ探索処理によって、画像中の検査対象物のエッジにフィットするように検査領域の輪郭を変形することができる。したがって、
形状に個体差がある場合や、画像内の位置・姿勢・スケールが変動し得る場合であっても、そのような検査対象物の個体差や変動に合わせて、適応的に且つ自動的に検査領域を調整することができる。しかも、エッジ探索を行う範囲を予め制限しているため、エッジ点の探索及び決定に要する時間、ひいては輪郭の生成及び検査領域の抽出に要する時間を短縮することができる。これにより、従来に比べて高速かつ高精度な検査を行うことが可能となる。
【００１２】
前記エッジ探索ステップにおいて、ある基点を通る線分上にエッジ点の候補が複数存在する場合は、いずれかのエッジ点候補を選択することになるが、その選択方法としては例えば次のものがある。一つは、複数の候補のうち当該基点に最も近いものを、当該基点に対応するエッジ点として選択する、というものである。個体差や変動があまり大きくない検査対象物の場合は、この方法のほうが精度良い結果が得られる。別の選択方法としては、複数の候補のうち当該基点からの距離が、当該基点の周辺に存在する周辺基点と前記周辺基点に対応する周辺エッジ点との間の距離に最も近いものを、当該基点に対応するエッジ点として選択する、という方法も好ましい。個体差や変動が比較的大きい検査対象物の場合は、この方法のように周辺のエッジ点を考慮するほうが精度良い結果が得られる。
【００１３】
前記エッジ探索ステップにおいては、ある基点を通る線分上からエッジ点が一つも検出されないという場合も想定される。その場合の例外処理としては、例えば、当該基点と同じ位置に当該基点に対応するエッジ点を設定するという方法や、当該基点の周辺に存在する複数の周辺基点にそれぞれ対応する複数の周辺エッジ点を補間することにより、当該基点に対応するエッジ点の位置を求めるという方法などを採用することができる。個体差や変動が比較的小さい検査対象物の場合は前者の方法が、個体差や変動が比較的大きい検査対象物の場合は後者の方法が、それぞれ精度良い結果が得られる。
【００１４】
さらに、前記エッジ探索ステップでは、ある基点に対応するエッジ点を探索する範囲を、当該基点の周辺に存在する周辺基点に対応する周辺エッジ点の位置に基づいて、前記探索範囲よりもさらに絞り込むことが好ましい。或いは、前記エッジ探索ステップは、前記初期輪郭上に疎に配置された複数の基点について、対応するエッジ点を決定する粗探索ステップと、前記粗探索ステップよりも密に配置された複数の基点について、対応するエッジ点を決定する詳細探索ステップと、を含み、前記詳細探索ステップでは、ある基点に対応するエッジ点を探索する範囲を、前記粗探索ステップで決定されたエッジ点の位置に基づいて、前記探索範囲よりもさらに絞り込むことも好ましい。これらの処理によってエッジ探索範囲をさらに絞り込むことにより、エッジ点の探索及び決定に要する時間を一層短縮することができる。
【００１５】
前記輪郭生成ステップでは、生成した輪郭が前記探索範囲に収まっているか否かを判定し、前記探索範囲から外れる部分が存在した場合には、当該部分が前記探索範囲に収まるように前記輪郭を修正することが好ましい。これにより、ユーザが予定していない位置に検査領域の輪郭が設定されることを防止することができる。
【００１６】
また、本発明の一つは、上述した画像検査方法を実行する画像検査装置に対して、前記検査領域定義情報を設定するための検査領域設定方法であって、コンピュータが、検査対象物のサンプル画像と、前記サンプル画像に対して設定された検査領域とを取得する取得ステップと、コンピュータが、前記検査領域の輪郭を抽出する輪郭抽出ステップと、コンピュータが、前記検査領域の輪郭が変動し得る範囲をユーザに設定させる範囲設定ステップと、コンピュータが、前記検査領域の輪郭とユーザにより設定された範囲とに基づいて、初期輪郭を定義する情報と探索範囲を定義する情報とを含む検査領域定義情報を生成する定義情報生成ステップと、を含むことを特徴とする検査領域設定方法である。
【００１７】
この方法を利用すれば、画像検査装置での検査領域抽出（エッジ探索）に必要な検査領域定義情報の設定（作成）作業を簡単に行うことができる。
【００１８】
前記範囲設定ステップでは、前記検査領域の輪郭上の位置毎に異なる範囲を設定可能であるとよい。これにより、例えば、位置や形状等の変動が大きい部分には広い探索範囲を設定し、変動が小さい部分とか大きな変動を許容しない部分には狭い探索範囲を設定する、というような柔軟な範囲設定が可能となる。その結果、画像検査装置での検査領域抽出（エッジ探索）に要する時間を最適化し、処理時間の短縮を図ることができる。
【００１９】
前記初期輪郭を定義する情報が、前記画像検査方法のエッジ探索処理の際に前記初期輪郭上に設定される複数の基点の位置を定義する情報を含んでいるとよい。これにより、エッジ探索処理における基点の設定が簡単化され、処理時間の短縮を図ることができる。そしてこの場合、前記検査領域設定方法は、コンピュータが、基点の数、間隔、又は、配置をユーザに設定させるステップと、コンピュータが、ユーザにより設定された基点の数、間隔、又は配置に基づいて、前記初期輪郭上に設定される複数の基点の位置を決定するステップと、をさらに含んでいるとよい。
【００２０】
なお、本発明は、上記手段の少なくともいずれかを有する画像検査装置として捉えることもできるし、上記の検査領域設定に関わる手段の少なくともいずれかを有する画像検査装置のための検査領域設定装置として捉えることもできる。また本発明は、上記処理の少なくともいずれかを実行する画像検査方法もしくは検査領域設定方法、または、かかる方法を画像検査装置やコンピュータに実行させるためのプログラムや、このプログラムを記録した記憶媒体として捉えることもできる。
【発明の効果】
【００２１】
本発明によれば、検査対象物の形状の個体差や、画像内での位置・姿勢・スケールの変動に合わせて、検査領域を自動調整する処理を高速かつ精度良く行うことができ、これにより高精度な検査が可能となる。
【図面の簡単な説明】
【００２２】
【図１】画像検査装置の構成を模式的に示す図。
【図２】検査処理の流れを示すフローチャート。
【図３】検査処理における検査領域の抽出過程を説明するための図。
【図４】検査領域の計算処理の詳細を示すフローチャート。
【図５】検査領域定義情報の構造を模式的に示す図。
【図６】検査領域の計算処理を概念的に示す図。
【図７】検査領域定義情報の設定画面の一例を示す図。
【図８】第２実施形態の処理を示すフローチャート。
【図９】第２実施形態の処理を説明するための図。
【図１０】第３実施形態の処理を説明するための図。
【図１１】第４実施形態の処理を説明するための図。
【図１２】第５実施形態の処理を説明するための図。
【図１３】第６実施形態の処理を説明するための図。
【図１４】複数のエッジ点候補が検出された場合に補間により輪郭線を決定する方法を説明するための図。
【発明を実施するための形態】
【００２３】
以下に述べる実施形態は、画像による外観検査を行う画像検査装置、並びに、画像検査装置に与える検査領域定義情報を作成する作業を支援するための検査領域設定装置に関するものである。この画像検査装置は、ＦＡの生産ラインなどにおいて多数の物品を自動も
しくは半自動で連続的に検査する用途などに好適に利用されるものである。検査対象となる物品の種類は問わないが、本実施形態の画像検査装置では画像センサで撮像された元画像を用いて検査対象物ごとに適応的に検査領域を決定して検査を行うため、元画像中の検査領域の位置・形状が検査対象物ごとに変動するようなケースに特に好ましく適用できる。外観検査の目的や検査項目には様々なものが存在するが、本実施形態の検査領域設定装置はいずれの検査に対しても好適に適用することができる。なお本実施形態では、画像検査装置の一機能（設定ツール）という形で検査領域設定装置が実装されているが、画像検査装置と検査領域設定装置とを別々の構成としてもよい。
【００２４】
＜第１実施形態＞
（画像検査装置）
図１は、画像検査装置の構成を模式的に示している。この画像検査装置１は、搬送路上を搬送される検査対象物３の外観検査を行うシステムである。
【００２５】
図１に示すように、画像検査装置１は、装置本体１０、画像センサ１１、表示装置１２、記憶装置１３、入力装置１４などのハードウエアから構成される。画像センサ１１は、カラー又はモノクロの静止画像あるいは動画像を装置本体１０に取り込むためのデバイスであり、例えばデジタルカメラを好適に用いることができる。ただし、可視光像以外の特殊な画像（Ｘ線画像、サーモ画像など）を検査に利用する場合には、その画像に合わせたセンサを用いればよい。表示装置１２は、画像センサ１１で取り込まれた画像、検査結果、検査処理や設定処理に関わるＧＵＩ画面を表示するためのデバイスであり、例えば液晶ディスプレイなどを用いることができる。記憶装置１３は、画像検査装置１が検査処理において参照する各種の設定情報（検査領域定義情報、検査ロジックなど）や検査結果などを格納するデバイスであり、例えばＨＤＤ、ＳＳＤ、フラッシュメモリ、ネットワークストレージなどを利用可能である。入力装置１４は、ユーザが装置本体１０に対し指示を入力するために操作するデバイスであり、例えばマウス、キーボード、タッチパネル、専用コンソールなどを利用可能である。
【００２６】
装置本体１０は、ハードウエアとして、ＣＰＵ（中央演算処理装置）、主記憶装置（ＲＡＭ）、補助記憶装置（ＲＯＭ、ＨＤＤ、ＳＳＤなど）を備えたコンピュータで構成することができ、その機能として、検査処理部１５、検査領域抽出部１６、設定ツール１７を有している。検査処理部１５と検査領域抽出部１６が検査処理に関わる機能であり、設定ツール１７は検査処理に必要な設定情報のユーザによる設定作業を支援する機能である。これらの機能は、補助記憶装置又は記憶装置１３に格納されたコンピュータ・プログラムが主記憶装置にロードされ、ＣＰＵによって実行されることで実現される。なお、図１は装置構成の一例を示すものにすぎず、画像センサ１１、表示装置１２、記憶装置１３、入力装置１４の全部又は一部を装置本体１０に一体化してもよい。なお装置本体１０は、パーソナルコンピュータやスレート型端末のようなコンピュータで構成してもよいし、或いは、専用チップやオンボードコンピュータなどで構成することもできる。
【００２７】
（検査処理）
図２及び図３を参照して、画像検査装置１の検査処理に関わる動作を説明する。図２は、検査処理の流れを示すフローチャートであり、図３は、検査処理における検査領域の抽出過程を説明するための図である。ここでは、説明の便宜のため、プリント基板における、電子部品の位置・姿勢・はんだ付け等の検査を例に挙げて検査処理の流れを説明する。
【００２８】
ステップＳ２０では、画像センサ１１によってプリント基板３０が撮影され、画像データが装置本体１０に取り込まれる。なお、事前に撮影された画像が装置本体１０の補助記憶装置や記憶装置１３の中に存在する場合には、補助記憶装置又は記憶装置１３から検査の対象とするデータを読み込んでもよい。ここで取り込まれた画像（元画像；検査対象物
画像）は必要に応じて表示装置１２に表示される。図３（ａ）の上段は元画像の一例を示している。元画像には検査対象物となる電子部品３１が写っており、その上側には隣の電子部品の一部が写り込んでいる。この電子部品３１は部品本体３２の両端に電極３３を有しており、各電極３３がプリント基板３０のランド３４にはんだ付けされている。３５がはんだを示している。
【００２９】
ステップＳ２１では、検査領域抽出部１６が、記憶装置１３から必要な設定情報を読み込む。設定情報には、少なくとも検査領域定義情報と検査ロジックとが含まれる。検査領域定義情報とは、後段の検査領域の計算処理において用いられる情報である。その詳細については後述する。検査ロジックとは、検査処理の内容を定義する情報であり、例えば、検査に用いる特徴量の種類、判定方法、特徴量抽出や判定処理で用いるパラメタや閾値などが該当する。
【００３０】
ステップＳ２２では、検査領域抽出部１６が、ステップＳ２１で読み込まれた検査領域定義情報を用いて、元画像における検査領域を計算する。図３（ａ）の中段は、ステップＳ２２で求められた検査領域（クロスハッチングで示す）３６を元画像に重ねた様子を示している。電子部品３１とはんだ３５の部分が検査領域３６に選ばれていることが分かる。
【００３１】
画像を用いた外観検査においては、検査の対象とすべきピクセルのみを過不足なく検査領域３６として取り出すことが望ましい。検査領域３６の中に余計なピクセルが混入しているとそれがノイズとなり検査精度を低下させるおそれがあるし、逆に、検査領域３６が検査の対象とすべき範囲よりも小さいと、検査の漏れを生じるおそれがあるからである。とはいえ、検査対象物の位置・姿勢・形状は常に同じとは限らない。図３（ｂ）に別の基板における検査対象物の例を示すが、この例では、電子部品３１の位置ずれ及び傾きが生じているとともに、左側のはんだ３８が規定よりも少なくなっている。このような個別の変動に対応するため、本実施形態の装置では、検査領域の位置・形状等を固定するのではなく、元画像中の検査対象物の位置・姿勢・形状等に合わせて適応的に検査領域を求める。その結果、図３（ｂ）の中段のように適切な検査領域３９が得られる。このステップＳ２２の処理の詳細については後述する。
【００３２】
ステップＳ２３では、検査領域抽出部１６が、ステップＳ２２で求められた検査領域にしたがって、元画像から検査領域の部分を抽出する。図３（ａ）の下段は、元画像から検査領域３６の部分の画像（検査領域画像３７）のみを抽出した様子を示している。検査領域画像３７では、プリント基板３０の表面、ランド３４、隣の電子部品などが削除されている。このようにして得られた検査領域画像３７は検査処理部１５に引き渡される。
【００３３】
ステップＳ２４では、検査処理部１５が、検査ロジックにしたがって、検査領域画像３７から必要な特徴量を抽出する。例えば、電子部品３１の位置や姿勢が正常であるか否かを検査するための特徴量として、部品本体３２の重心の位置やエッジの角度が抽出され、またはんだ付けの良否を検査するための特徴量として、はんだ３５の部分の面積や色特徴が抽出される。
【００３４】
ステップＳ２５では、検査処理部１５が、検査ロジックにしたがって検査処理を行う。例えば、ステップＳ２４で得られた部品本体３２の重心位置やエッジ角度が許容値から外れていた場合に部品位置不良と判定したり、はんだ３５の部分の面積や色特徴が異常である場合にはんだ不良と判定したりすることができる。
【００３５】
ステップＳ２６では、検査処理部１５が検査結果を表示装置１２に表示したり、記憶装置１３に記録したりする。以上で、１つの電子部品３１に対する検査処理が完了する。生
産ラインにおいては、次々と搬送されてくる検査対象物に対して上記の処理が繰り返される。
【００３６】
（検査領域の計算）
図４、図５、図６を参照して、図２のステップＳ２２における検査領域の計算処理を説明する。図４は、検査領域の計算処理の詳細を示すフローチャートであり、図５は、検査領域定義情報の構造を模式的に示す図であり、図６は、検査領域の計算処理を概念的に示す図である。
【００３７】
図５に示すように、ステップＳ２１で読み込まれる検査領域定義情報には、初期輪郭定義情報と探索範囲定義情報とが含まれている。初期輪郭定義情報とは、検査領域の初期輪郭（基準輪郭とも呼ぶ）を定義するものであり、本実施形態では、輪郭線上の複数（ｎ個）の点列Ｐ１，Ｐ２，・・・，Ｐｎのデータから構成される。また、探索範囲定義情報とは、初期輪郭を基準としてどの程度の範囲まで検査領域の輪郭を探索すべき探索範囲とするかを定義する情報、言い換えると、検査領域の輪郭の変動を許容する範囲を定義するものである。本実施形態では、検査領域の内側に向かう方向を正（＋）、外側に向かう方向を負（−）とし、初期輪郭に対する相対的なピクセル数で正方向及び負方向の探索範囲を定義する。図５の例では、初期輪郭の内側ｄ１ピクセルから外側ｄ２ピクセルの範囲が探索範囲に規定される。
【００３８】
図４のフローチャートに沿って、検査領域の計算処理の流れを説明する。
まず、検査領域抽出部１６は、元画像の全てのピクセルについてエッジ強度を計算する（ステップＳ４００）。エッジ強度とは、当該ピクセルのエッジらしさを表す指標であり、例えば当該ピクセルにおける画素値（濃度値）の微分値を用いることができる。本実施形態では、元画像にＸ方向、Ｙ方向それぞれのソーベルフィルタをかけてエッジ画像を生成し、下記式によりピクセル（ｘ，ｙ）のエッジ強度Ｅ（ｘ，ｙ）を求める。
【数１】
0005953842.tif 000002
ここで、Ｓｘ（ｘ，ｙ）はＸ方向のソーベルフィルタにより作成されたエッジ画像、Ｓｙ（ｘ，ｙ）はＹ方向のソーベルフィルタにより作成されたエッジ画像である。なお、このエッジ強度の算出方法は一例であり、他の微分フィルタを用いたり、３方向以上の微分フィルタを組み合わせたりしてもよい。
【００３９】
次に、検査領域抽出部１６は、検査領域定義情報の初期輪郭定義情報に基づいて、元画像に対し初期輪郭を配置する（ステップＳ４０１）。図６（ａ）に元画像中の検査対象物６０と、配置された初期輪郭６１の一例を示す。このとき、初期輪郭定義情報で定義されている初期輪郭の座標値をそのまま用いてもよいが、検査対象物毎に検査領域の位置や姿勢が比較的大きく（例えば探索範囲を外れる程度に）変動する可能性がある場合には、検査領域抽出部１６が元画像と初期輪郭のいずれかを平行移動又は回転することで、元画像中の検査対象物６０に合わせて初期輪郭６１を配置するとよい。このような処理は、例えば、公知のパターンマッチングにより実現することもできるし、或いは、ステップＳ４００で作成したエッジ強度を利用し、初期輪郭６１上のエッジ強度の累積値が最大となるように配置を選ぶことでも実現できる。
【００４０】
次に、検査領域抽出部１６は、図６（ｂ）に示すように、初期輪郭６１上に複数の基点６２を設定する（ステップＳ４０２）。本実施形態では、初期輪郭６１の定義点Ｐ１，Ｐ２，・・・，Ｐｎをそのまま基点６２として用いる。なお、基点と初期輪郭の定義点とは必ずしも一致させる必要はなく、定義点を間引いて定義点よりも少ない数の基点を設定することもできるし、定義点間に基点を追加することで定義点よりも多い数の基点を設定す
ることもできる。或いは、定義点とは無関係に、初期輪郭上の任意の位置に基点を設定してもよい。
【００４１】
続いて、検査領域抽出部１６は、ステップＳ４０２で設定された各々の基点に対して、ステップＳ４０３〜Ｓ４０９のエッジ探索処理を実行する。まず検査領域抽出部１６は、１つの基点６２に注目し（ステップＳ４０３）、その基点６２を通り初期輪郭６１に直交する法線６３を考える（図６（ｃ）参照）。そして、検査領域抽出部１６は、この法線６３上でエッジ点の探索を行う（ステップＳ４０４）。このとき、検査領域抽出部１６は、探索範囲定義情報で規定された探索範囲の内側の領域のみ、探索を行う。本実施形態の場合は、図６（ｃ）の拡大図に示すように、基点６２から検査領域内側にｄ１ピクセル、検査領域外側にｄ２ピクセルの合計ｄ１＋ｄ２ピクセルの範囲が探索範囲となる。図６（ｄ）は、横軸が法線６３上の位置（基点６２からの距離ｄ）、縦軸がエッジ強度Ｅを示している。ステップＳ４０４では、エッジ強度Ｅが所定の閾値Ｅｔｈを超える点が、基点６２に対応するエッジ点の候補として選ばれる。本例においては、はんだとランドの境目である点Ａとランドと基板表面の境目である点Ｂとが、エッジ点の候補として検出される。
【００４２】
次にステップＳ４０５では、検出されたエッジ点候補の数に応じて処理が分岐する。エッジ点候補が１個のみの場合は、この点がそのまま対応エッジ点に選ばれる（ステップＳ４０６）。エッジ点候補が複数あった場合は、基点６２に最も近い点が対応エッジ点に選ばれる（ステップＳ４０７）。もしエッジ点候補が１つも検出されなかった場合は、基点６２が対応エッジ点として選ばれる（ステップＳ４０８）。図６（ｄ）の場合は、点Ａと点Ｂの２つの候補が検出されるので、ステップＳ４０７にて基点６２に近い点Ａが対応エッジ点として選ばれることとなる。
【００４３】
以上のステップＳ４０３〜Ｓ４０８の処理が各基点６２について順に実行され（ステップＳ４０９）、初期輪郭６１上のすべての基点６２に対応する複数のエッジ点６４が決定される。その後、検査領域抽出部１６は、これらのエッジ点６４を直線又は曲線で順に接続することにより、検査領域の輪郭６５を生成する（ステップＳ４１０）。図６（ｅ）に示すように、上記で求めた輪郭６５は、初期輪郭６１に比べ、元画像中の検査対象物６０の外形によくフィットしていることが分かる。
【００４４】
（検査領域定義情報の設定）
次に、図７を参照して、設定ツール１７の機能及び動作について説明する。図７は、設定ツール１７により表示される、検査領域定義情報の設定画面の一例を示す図である。
【００４５】
設定ツール１７を起動すると、表示装置１２に図７（ａ）の設定画面が表示される。この設定画面には、画像ウィンドウ７０、画像取込ボタン７１、検査領域取込ボタン７２、基点数設定ボックス７３、探索範囲設定ボックス７４、定義情報保存ボタン７５が設けられている。ボタンの選択やボックスへの入力などの操作は入力装置１４を利用して行うことができる。なおこの設定画面はあくまでも一例にすぎず、以下に述べるパラメタ入力や検査領域の確認などを行うことができればどのようなＵＩを用いてもよい。
【００４６】
画像取込ボタン７１が押されると、設定ツール１７は装置本体１０の補助記憶装置又は記憶装置１３から、検査対象物のサンプル画像のデータを読み込む。ここで取得されたサンプル画像は、図７（ａ）に示すように、設定画面の画像ウィンドウ７０に表示される。続いて検査領域取込ボタン７２が押されると、設定ツール１７は装置本体１０の補助記憶装置又は記憶装置１３から、サンプル画像に対して設定済みの検査領域のデータを読み込む。検査領域のデータの形式はどのようなものでもよい。例えば、検査領域の内側と外側とでラベルを変えたビットマスクなどを用いることができる。
【００４７】
検査領域を読み込むと、設定ツール１７は、検査領域の輪郭を抽出すると共に、その輪郭上に複数の基点を配置し、図７（ｂ）に示すように、サンプル画像の検査対象物７６の上に検査領域の輪郭７７及び基点７８を重畳表示する。このとき、ユーザが基点数設定ボックス７３の数値を変更すると、基点７８の数、すなわち密度を変えることができる。
【００４８】
続いて、探索範囲の設定を行う。探索範囲設定ボックス７４では、検査領域の内側への探索範囲（ピクセル数）と、検査領域の外側への探索範囲とを独立に設定することができる。図７（ｃ）では、内側に１０ピクセル、外側に１４ピクセルと設定され、これにより規定される探索範囲７９がサンプル画像上に重畳表示されている。
【００４９】
以上の画面表示により、検査領域の輪郭７７、基点７８の数や間隔、探索範囲７９の広狭などをユーザは一目で確認することができる。その後、定義情報保存ボタン７５が押されると、設定ツール１７が輪郭７７及び基点７８の座標値、並びに、探索範囲設定ボックス７４で設定された値に基づいて、図５に示すような検査領域定義情報（初期輪郭定義情報、探索範囲定義情報）を生成する。生成された検査領域定義情報は、記憶装置１３の中に格納される。
【００５０】
（本実施形態の利点）
以上述べた本実施形態の構成によれば、初期輪郭を基準とするエッジ探索処理によって、画像中の検査対象物のエッジにフィットするように検査領域の輪郭を変形することができる。したがって、形状に個体差がある場合や、画像内の位置・姿勢・スケールが変動し得る場合であっても、そのような検査対象物の個体差や変動に合わせて、適応的に且つ自動的に検査領域を調整することができる。しかも、エッジ探索を行う範囲を予め制限しているため、エッジ点の探索及び決定に要する時間、ひいては輪郭の生成及び検査領域の抽出に要する時間を短縮することができる。これにより、従来に比べて高速かつ高精度な検査を行うことが可能となる。
【００５１】
また、本実施形態では、ある基点に対して複数のエッジ点候補が検出された場合は基点に最も近い点を選択し、エッジ点候補が１つもなかった場合は基点をそのままエッジ点として選択する、というシンプルなアルゴリズムを用いるので（図４のＳ４０５〜Ｓ４０８）、エッジ探索に要する計算コストを低減でき、高速な処理が可能となる。本実施形態のステップＳ４０７、Ｓ４０８の処理（基点、又は基点に最も近い点を選択する処理）は、初期輪郭を優先するアルゴリズムであり、個体差や変動が比較的小さい検査対象物の場合に好ましく適用できる。
【００５２】
なお、図４のフローでは、１つの基点に対するエッジ点候補をすべて検出した後（ステップＳ４０４）、エッジ点候補の数をチェック（ステップＳ４０５）している。しかし、基点に近いところから順にエッジ探索を行い、エッジ点としての条件を満たす点（閾値Ｅｔｈを超える点）が１つ検出された時点で探索処理を打ち切る、というアルゴリズムを用いても同じ結果を得ることができる。このアルゴリズムの場合は、エッジ点の探索及び決定に要する時間を一層短縮することができるという利点がある。
【００５３】
＜第２実施形態＞
図８を参照して、本発明の第２実施形態について説明する。第１実施形態との違いは、複数のエッジ点候補が検出された場合のエッジ点の選択方法と、エッジ点候補が１つもなかった場合の対処方法が異なる点である。それ以外の構成及び処理については第１実施形態のものと同じである。
【００５４】
図８は、第１実施形態の図４のフローにおけるステップＳ４０３〜Ｓ４０９に置き換わる処理を示すフローチャートである。これに沿って、第２実施形態の特徴的な処理につい
ての説明を行う。
【００５５】
検査領域抽出部１６は、第１実施形態の場合と同様、検査対象物画像のエッジ強度の計算、初期輪郭の配置、及び、基点の設定を行う（ステップＳ４００〜Ｓ４０２）。次に、検査領域抽出部１６は、全ての基点について順にエッジ点の探索処理を行う（ステップＳ８００）。エッジ探索のアルゴリズムは第１実施形態のステップＳ４０４のものと同じである。
【００５６】
全ての基点のエッジ探索が完了したら、検査領域抽出部１６は、各々の基点について（ステップＳ８０１、Ｓ８０５）、検出されたエッジ点候補の数を確認する（ステップＳ８０２）。エッジ点候補が１個のみの場合は、この点がそのまま対応エッジ点に選ばれる（ステップＳ８０３）。エッジ点候補が複数あった場合は、注目基点の周辺にある周辺基点で検出されたエッジ点（周辺エッジ点）と類似の位置にある候補が、対応エッジ点に選ばれる（ステップＳ８０４）。
【００５７】
図９（ａ）に具体例を示す。初期輪郭９０上の３つの基点９１〜９３を拡大した図である。注目基点９２において２つのエッジ点候補９２Ａ，９２Ｂが検出されている。ここでは、周辺基点として、注目基点９２に隣接する２つの基点９１，９３を考慮し、これらの周辺基点９１，９３ではともに１個のエッジ点９１Ａ，９３Ａのみが検出された（或いは既に対応エッジ点が決まっている）ものと仮定する。図中のｄ１、ｄ２Ａ，ｄ２Ｂ，ｄ３は基点とエッジ点の間の距離を示している。このとき、検査領域抽出部１６は、候補９２Ａを選んだ場合の距離の差の合計ＳＡと、候補９２Ｂを選んだ場合の距離の差の合計ＳＢを例えば次のように求める。
ＳＡ＝｜ｄ１−ｄ２Ａ｜＋｜ｄ３−ｄ２Ａ｜
ＳＢ＝｜ｄ１−ｄ２Ｂ｜＋｜ｄ３−ｄ２Ｂ｜
そして、距離差の合計が最も小さくなるエッジ点候補を注目基点９２の対応エッジ点に選ぶ。図９（ａ）の例では、点９２Ａが選ばれる。
【００５８】
上記のステップＳ８０２〜Ｓ８０４の処理を全ての基点に対して行うことで、１個以上のエッジ点候補が検出された基点については、対応エッジ点が決定される。
【００５９】
次に、検査領域抽出部１６は、エッジ点候補が１つも検出されなかった基点に対する対処を行う。具体的には、順番に注目基点を選び（ステップＳ８０６、Ｓ８０９）、対応エッジ点が未定のものがあれば（ステップＳ８０７）、周辺エッジ点を補間することで、注目基点の対応エッジ点を生成する（ステップＳ８０８）。図９（ｂ）に具体例を示す。注目基点９２においてエッジ点候補が検出されなかった場合は、周辺基点として、注目基点９２に隣接する２つの基点９１，９３を考慮する。そして、周辺エッジ点９１Ａ，９３Ａを結んだ線と、注目基点９２における初期輪郭９０の法線との交点を、注目基点９２の対応エッジ点９２Ａに選ぶ。
【００６０】
このようにして全ての基点の対応エッジ点が決定されたら、図４のステップＳ４１０に進む。以降の処理は第１実施形態のものと同じである。
【００６１】
以上述べた本実施形態の構成によれば、第１実施形態と同様の作用効果を得ることができる。図８に示した処理は、周辺基点に対応するエッジ点の位置を優先するアルゴリズムであり、個体差や変動が比較的大きい検査対象物の場合に好ましく適用できる。なお、本実施形態では、注目基点の両隣の基点を周辺基点として考慮したが、周辺基点の選び方はこれに限らない。例えば、注目基点の片隣の１つの基点を周辺基点としてもよいし、２近傍、３近傍など、注目基点を中心とする所定の範囲の複数の基点を周辺基点として考慮してもよい。また、図９に示した方法は一つの具体例にすぎず、基点からの距離の類似を評
価する方法や、周辺エッジ点を補間する方法には、どのような方法を利用しても構わない。
【００６２】
＜第３実施形態＞
図１０は、本発明の第３実施形態を示している。第３実施形態では、注目基点のエッジ探索範囲を周辺エッジ点の位置に基づいて絞り込むことで、エッジ探索処理のさらなる高速化を図る。それ以外の構成は、他の実施形態のものと同様である。
【００６３】
図１０は、初期輪郭９０上の３つの基点９１〜９３を拡大した図である。基点９１、９２、９３の順に対応エッジ点の探索処理を行うものとし、図１０は、基点９１の対応エッジ点９１Ａが決定し、次に注目基点９２のエッジ探索を行う段階を示している。第１及び第２実施形態では、注目基点９２のエッジ探索は、検査領域定義情報で与えられた探索範囲９４に対して行われていた。これに対し本実施形態では、周辺基点９１とその対応エッジ点９１Ａの間の距離ｄ１を中心とする±Δｄの範囲（図１０の太線矢印）を、注目基点９２の探索範囲とする。近傍の基点同士では、輪郭位置の変動量（つまり基点と対応エッジ点の距離）が概ね等しくなる傾向にあるので、このように探索範囲を絞り込んでもエッジ点の検出漏れを生じることは殆どない。
【００６４】
本実施形態の方法によれば探索範囲のさらなる絞り込みが行われるため、エッジ点の探索及び決定に要する時間を一層短縮することが可能となる。
【００６５】
＜第４実施形態＞
図１１は、本発明の第４実施形態を示している。第４実施形態では、エッジ探索を複数ステップに分けて実行する。すなわち、最初のステップ（粗探索ステップ）においては、基点を疎に配置し、そこで各基点の対応エッジ点を決定する。次のステップ（詳細探索ステップ）においては、粗探索ステップよりも密に基点を配置してエッジ点を探索する。詳細探索ステップでは、粗探索ステップで決定されたエッジ点の位置に基づいて探索範囲の絞り込みを行う。
【００６６】
図１１（ａ）は、粗探索ステップの結果を示している。粗探索ステップでは、初期輪郭１１０を構成する全ての基点のうち、５個おきに選ばれた基点１１１，１１２，１１３について、エッジ探索が行われる。１１１Ａ，１１２Ａ，１１３Ａがそれぞれ検出された対応エッジ点を示している。続く詳細探索ステップでは、図１１（ｂ）に示すように、粗探索で得られた対応エッジ点１１１Ａ，１１２Ａ，１１３Ａの位置を中心とする±Δｄの範囲（斜線及び太線矢印で示した範囲）が探索範囲に設定される。そして、図１１（ｃ）のように、残りの基点１１４について、それぞれ対応エッジ点が決定され、最終的に検査領域の輪郭１１５が生成される。
【００６７】
本実施形態の方法によれば探索範囲のさらなる絞り込みが行われるため、エッジ点の探索及び決定に要する時間を一層短縮することが可能となる。
【００６８】
＜第５実施形態＞
図１２に、本発明の第５実施形態を示す。本実施形態では、検査領域抽出部１６は、エッジ探索により検出された対応エッジ点の点列を曲線近似することにより、検査領域の輪郭を生成する（ステップＳ１２００）。具体的な方法としては、例えば、ｎ次のスプライン曲線やベジェ曲線を用いて対応エッジ点の点列を近似する方法を採り得る。或いは、対応エッジ点をいくつかの点列に分け、それらを円弧もしくは線分などで近似することによってセグメント（曲線）を作成し、隣り合うセグメントを連結して検査領域の輪郭を生成するという方法も採り得る。
【００６９】
続いて、検査領域抽出部１６は、ステップＳ１２００で生成した輪郭（近似曲線）の全体が、検査領域定義情報で規定された探索範囲に収まっているか否かをチェックする（ステップＳ１２０１）。もし輪郭の一部が探索範囲から外れていた場合には、検査領域抽出部１６は、その部分が探索範囲に収まるように輪郭の修正を行う（ステップＳ１２０２）。例えば、探索範囲から外れた輪郭部分は、探索範囲の外延（境界）に沿うように変形すればよい。
【００７０】
本実施形態の方法によれば、近似曲線により検査領域の輪郭が生成されるので、滑らかな輪郭を得ることができる。また、近似により得られた輪郭が探索範囲からはみ出さないように修正を行うため、ユーザが予定していない位置に検査領域の輪郭が設定されることを防止することができる。
【００７１】
＜第６実施形態＞
図１３に、本発明の第６実施形態における、検査領域定義情報の設定画面の一例を示す。第１実施形態（図７）では、基点の数、探索範囲の幅（ピクセル数）をそれぞれ数値入力し、基点の間隔及び探索範囲の幅は初期輪郭の全周にわたり一律であったのに対し、第６実施形態では、基点の配置（位置や粗密）及び探索範囲の幅をユーザが自由に設定することができる。
【００７２】
基点の配置を指定するインタフェースとしては、例えば、基点を配置したい輪郭上の位置をユーザがマウスなどで指定する方法、基点を配置する座標値を入力する方法、設定ツール１７が複数の基点の配置例をレコメンドし、その中からユーザが所望の配置を選択する方法などが考えられる。基点の追加、位置の変更、削除などの操作もユーザが行えるようにする。設定ツール１７が基点の配置をレコメンドする場合（或いは基点を自動設定する場合）、例えば、初期輪郭におけるコーナー部分や曲率が大きい部分に基点を配置するとよい。また、基点の粗密を指定するインタフェースとしては、ユーザがマウスなどで輪郭の一部を範囲指定し、その指定した範囲内での基点の間隔や密度を入力する方法などが考えられる。基点の間隔や密度は数値で入力してもよいし、スライダなどのＧＵＩを用いて調整してもよい。
【００７３】
探索範囲の幅を指定するインタフェースとしては、例えば、図１３に示すような探索範囲（斜線部）の外側の輪郭及び内側の輪郭を、スプライン曲線などの近似曲線で描画し、その近似曲線のコントロールポイントをユーザがマウスなどで自由に変更できるようにするという方法などが考えられる。
【００７４】
本実施形態によれば、次のような利便性が得られる。基点の数が多いほど、また間隔が狭いほど、検査領域の輪郭を検査対象物の形状に精度良くフィットさせることができるという利点があるが、その分処理時間が長くなるという不利もある。その点、上記のように、基点の数、間隔、配置などを設定する手段を用意することで、ユーザ自身が検査対象物の形状や変動の傾向等に応じて、基点の数等と処理時間のバランスを適切に設定できるようになる。また、輪郭上の位置毎に異なる探索範囲を設定できるようにしたことで、例えば図１３に示すように、変動が大きいところ（はんだ部分など）は探索範囲を大きく、変動が小さいところ（電子部品の本体部分）は探索範囲を小さくする、というような柔軟な範囲設定が可能となる。その結果、画像検査装置での検査領域抽出（エッジ探索）に要する時間を最適化し、処理時間の短縮を図ることができる。
【００７５】
＜その他＞
上述した実施形態は本発明の一具体例を示したものであり、本発明の範囲をそれらの具体例に限定する趣旨のものではない。
【００７６】
上述した実施形態では、複数のエッジ点候補が検出された場合に、基点に最も近い点を選択するか（第１実施形態）、周辺エッジ点と類似の距離にある点を選択するか（第２実施形態）していたが、他の方法も採り得る。例えば、検出された複数のエッジ点候補の中でエッジ強度Ｅが最大のものを対応エッジ点として選んでもよい。或いは、エッジ強度Ｅと、第２実施形態で用いたような周辺エッジ点との距離の類似度とから、エッジ点候補ごとのスコア（エッジ強度Ｅが大きく、周辺エッジ点との距離が類似している方が良い値をとる評価値）を計算し、スコアが最も良いものを対応エッジ点として選んでもよい。なお、この種のスコアの算出には、エッジ強度と距離の類似度に限らず、他の指標を用いることもできる。例えば、各エッジ点候補について、エッジ方向をそれぞれ算出し、周辺エッジ点や輪郭の向き（角度）と同じ方向の重みを大きくして、スコアを評価してもよい。これらの方法によれば、ノイズ（疑似エッジ）を除外する効果が期待できる。
【００７７】
更に、複数のエッジ点候補に基づき、補間により対応エッジ点を決定することも好ましい。例えば、図１４（ａ）に示すように、画像にノイズ（疑似エッジ）が含まれていると、検査対象物の輪郭でない点をエッジ点として検出してしまう場合がある。そこで、一つの基点に対して複数のエッジ点候補が検出された場合には、周辺エッジ点（又は、周辺基点の複数のエッジ点候補）を参照して、最小二乗誤差による多項式近似で補間し、適切な輪郭線を描くとよい。この場合は、図１４（ｂ）のように、補間により求められた輪郭線と基点の法線との交点が対応エッジ点の位置になる。多項式近似による補間を行う場合に、エッジ点候補の位置だけに着目するのではなく、エッジ点強度に基づく重みやエッジ方向に基づく重みを各エッジ点候補に付加し、重み付き最小二乗法等の多項式近似を用いることも好ましい。なお補間方法としては、スプライン補間、ＡＲ（Auto Regressive）モ
デルによる補間など、どのような方法を用いてもよい。また、周辺エッジ点や周辺基点のエッジ点候補に基づく補間は、エッジ点候補が一つも検出されなかった場合の対応エッジ点の補完にも応用することができる。
【００７８】
例えば、上記実施形態では画像のピクセル単位での処理を想定しているが、より正確な輪郭を得るために、いわゆるサブピクセル精度でエッジ探索を行ってもよい。すなわち、図６（ｃ）及び（ｄ）に示す法線６３上におけるエッジ強度の評価を、ピクセルよりも細かいサブピクセルの精度で計算するのである。サブピクセルの精度で計算されたエッジ点や輪郭の座標（つまり離散値ではなく連続値）は、画像のαチャンネルを利用して表現するとよい。例えば、ピクセルのちょうど真ん中を輪郭が横切っている場合には当該ピクセルのα値を０．５に設定する、というように、そのピクセルの検査領域である度合いを予め設定した階調で表現するのである。また、サブピクセルの領域については、スプライン曲線などの補間曲線で近似することにより表現するとよい。また、輪郭の平滑化をサブピクセル精度で行うことも好ましい。
【符号の説明】
【００７９】
１：画像検査装置
２：検査対象物（筐体部品）
１０：装置本体、１１：画像センサ、１２：表示装置、１３：記憶装置、１４：入力装置、１５：検査処理部、１６：検査領域抽出部、１７：設定ツール
【図１】
0005953842.tif 000003
【図２】
0005953842.tif 000004
【図３】
0005953842.tif 000005
【図４】
0005953842.tif 000006
【図５】
0005953842.tif 000007
【図６】
0005953842.tif 000008
【図７】
0005953842.tif 000009
【図８】
0005953842.tif 000010
【図９】
0005953842.tif 000011
【図１０】
0005953842.tif 000012
【図１１】
0005953842.tif 000013
【図１２】
0005953842.tif 000014
【図１３】
0005953842.tif 000015
【図１４】
0005953842.tif 000016