(57)【要約】【課題】外観検査装置によって検査対象物の両側を検査するためのパラメータの設定を行うユーザの負担を軽減する装置や方法を提供する。【解決手段】外観検査装置によって検査対象物の両側を検査するためのパラメータの設定する際に予め設定されている一方側のパラメータを他方側のパラメータとして流用することで、ユーザの負担を軽減することができる。他方側の部分画像６５１〜６５６は、撮像の順番と検査対象物の搬送方向との関係によって、ただしく検査対象物を再現していない。そこで、部分画像６５１〜６５６の並び順を逆転させることで、ただしく検査対象物を再現する。さらに、一方側の検査領域６５５の座標をミラー反転させることで他方側の検査領域６５５の座標に変換する。【選択図】図５４
2014055915.tif 000002
【特許請求の範囲】
【請求項１】
検査対象物の搬送方向と略平行な軸を対称軸としたときに複数の特徴部分が線対称に設けられた検査対象物のうち、一方の側に設けられた複数の特徴部分を撮像する第１の撮像部と、
前記第１の撮像部によって良品の検査対象物を撮像することで取得された第１の基本画像を記憶する第１の基本画像記憶部と、
前記検査対象物のうち、他方の側に設けられた複数の特徴部分を撮像する第２の撮像部と、
前記第２の撮像部によって前記良品の検査対象物を撮像することで取得された第２の基本画像を記憶する第２の基本画像記憶部と、
前記検査対象物の外観検査の対象となる複数の第１の領域を前記第１の基本画像内の複数の特徴部分に対して設定する第１の領域設定部と、
前記第１の領域設定部により前記第１の基本画像に対して設定された前記複数の第１の領域の配置であって当該第１の基本画像に対する配置の左右を反転させることで得られる複数の第２の領域を、前記第２の基本画像内の複数の特徴部分に対して設定する第２の領域設定部と、
前記複数の第１の領域および前記複数の第２の領域に基づいて、前記外観検査の対象となっている検査対象物の外観の良否を判定する良否判定部と
を有することを特徴とする外観検査装置。
【請求項２】
前記第１の撮像部によって前記良品の検査対象物を撮像することで取得された複数の部分画像を連結して前記第１の基本画像を作成し、前記第１の撮像部によって前記外観検査の対象となっている検査対象物を撮像することで取得された複数の部分画像を連結して前記第１の検査画像を作成する画像連結部をさらに有し、
前記画像連結部は、さらに、
前記第２の撮像部によって前記良品の検査対象物を撮像することで取得された複数の部分画像の並び順を反転させてから連結して前記第２の基本画像を作成し、前記第２の撮像部によって前記外観検査の対象となっている検査対象物を撮像することで取得された複数の部分画像の並び順を反転させてから連結して前記第２の検査画像を作成することを特徴とする請求項１に記載の外観検査装置。
【請求項３】
検査対象物の搬送方向にと略平行な軸を対称軸としたときに複数の特徴部分が線対称に設けられた検査対象物のうち、一方の側に設けられた複数の特徴部分を撮像する第１の撮像部と、
前記第１の撮像部によって良品の検査対象物を撮像することで取得された第１の基本画像を記憶する第１の基本画像記憶部と、
前記検査対象物のうち、他方の側に設けられた複数の特徴部分を撮像する第２の撮像部と、
前記第２の撮像部によって前記良品の検査対象物を撮像することで取得された第２の基本画像を記憶する第２の基本画像記憶部と、
前記検査対象物の外観検査の対象となる複数の第１の領域を前記第１の基本画像内の複数の特徴部分に対して設定する第１の領域設定部と、
前記第２の基本画像の左右を反転するとともに前記第２の検査画像の左右を反転する画像左右反転部と、
前記第１の領域設定部により前記第１の基本画像に対して設定された前記複数の第１の領域を、前記左右を反転した第２の基本画像に対してコピーすることで当該第２の基本画像内の複数の特徴部分に対して複数の第２の領域を設定する第２の領域設定部と、
前記複数の第１の領域および前記複数の第２の領域に基づいて、前記外観検査の対象となっている検査対象物の外観の良否を判定する良否判定部と
を有することを特徴とする外観検査装置。
【請求項４】
前記第１の撮像部によって前記良品の検査対象物を撮像することで取得された複数の部分画像を連結して前記第１の基本画像を作成し、前記第１の撮像部によって前記外観検査の対象となっている検査対象物を撮像することで取得された複数の部分画像を連結して前記第１の検査画像を作成する画像連結部をさらに有し、
前記画像連結部は、さらに、
前記第２の撮像部によって前記良品の検査対象物を撮像することで取得された複数の部分画像を、それぞれ左右を反転してから連結して前記左右の反転した第２の基本画像を作成し、前記第２の撮像部によって前記外観検査の対象となっている検査対象物を撮像することで取得された複数の部分画像を、それぞれ左右を反転してから連結して前記左右の反転した第２の検査画像を作成することを特徴とする請求項３に記載の外観検査装置。
【請求項５】
検査対象物に含まれている等間隔で並んだ複数の特徴部分の数の変更を受け付ける特徴部分の数変更部と、
前記複数の特徴部分の数が減少するように変更された場合、減少した特徴部分に対応した領域を削除し、前記複数の特徴部分の数が増加するように変更された場合、隣り合った２つの検査領域の間隔に応じて前記領域を追加する領域変更部と
をさらに含むことを特徴とする請求項１ないし４のいずれか１項に記載の外観検査装置。
【請求項６】
前記領域変更部は、前記検査対象物の両端のうち一方の端部を含む部分画像において当該一方の端部の位置が前記特徴部分の数の増減にかかわらず変更されない場合、当該部分画像における当該一方の端部に対する領域の位置を変更せず、前記部分画像において当該一方の端部の位置が前記特徴部分の数の増減に応じて変更される場合、当該部分画像における当該一方の端部に対する領域の位置を前記特徴部分の数の増減に応じて変更することを特徴とする請求項５に記載の外観検査装置。
【請求項７】
検査対象物の全体を複数に分割して撮像する際の撮像回数の変更受け付ける撮像回数変更部と、
前記撮像回数変更部により受け付けられた撮像回数が現在設定されている撮像回数から減少する場合、前記現在設定されている撮像回数に応じて取得された最初の部分画像と最後の部分画像とに設定されている領域を維持し、前記最初の部分画像と前記最後の部分画像との間に位置する１つ以上の部分画像に設定されている領域を撮像回数の減少数に応じて削除し、前記撮像回数変更部により受け付けられた撮像回数が前記現在設定されている撮像回数から増加する場合、前記現在設定されている撮像回数に応じて取得された前記最初の部分画像と前記最後の部分画像とを維持し、前記最初の部分画像と前記最後の部分画像との間に位置する１つ以上の部分画像については前記現在設定されている撮像回数に応じて取得された前記最初の部分画像と前記最後の部分画像との間に位置する部分画像に設定されている領域をコピーすることで領域を設定する領域変更部と
をさらに有することを特徴とする請求項２または４に記載の外観検査装置。
【請求項８】
前記良否判定部は、前記複数の第１の領域にしたがって、前記第１の基本画像と、外観検査の対象となっている検査対象物を前記第１の撮像部により撮像することで取得された第１の検査画像とを比較し、前記複数の第２の領域にしたがって、前記第２の基本画像と、前記外観検査の対象となっている検査対象物を前記第２の撮像部により撮像することで取得された第２の検査画像とを比較することで、前記外観検査の対象となっている検査対象物の外観の良否を判定することを特徴とする請求項１ないし７のいずれか１項に記載の外観検査装置。
【請求項９】
検査対象物の搬送方向と略平行な軸を対称軸としたときに複数の特徴部分が線対称に設けられた検査対象物のうち、一方の側に設けられた複数の特徴部分と他方の側に設けられた複数の特徴部分とを撮像するステップと、
良品の検査対象物の一方の側に設けられた複数の特徴部分を撮像することで取得された第１の基本画像を記憶し、前記良品の検査対象物の他方の側に設けられた複数の特徴部分を撮像することで取得された第２の基本画像を記憶するステップと、
前記検査対象物の外観検査の対象となる複数の第１の領域を前記第１の基本画像内の複数の特徴部分に対して設定するステップと、
前記第１の基本画像に対して設定された前記複数の第１の領域の配置であって当該第１の基本画像に対する配置の左右を反転させることで得られる複数の第２の領域を、前記第２の基本画像内の複数の特徴部分に対して設定するステップと、
前記複数の第１の領域および前記複数の第２の領域に基づいて、前記外観検査の対象となっている検査対象物の外観の良否を判定するステップと
を有することを特徴とする外観検査方法。
【請求項１０】
請求項９に記載の外観検査方法の各ステップをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、製品の画像を撮像して製品の外観を検査する外観検査装置、外観検査方法およびプログラムに関する。
【背景技術】
【０００２】
コネクタや半導体素子などの製品の外観を撮像してパターンマッチング（画像認識）を行うことで、いわゆる製品の外観検査が実行される。製品のサイズによっては、カメラの撮像範囲に収まらないものがあり、そのような製品については複数の画像を連結することで、製品の全体を表す画像を作成し、外観検査を行っていた（特許文献１、２）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０６−１６７３２１号公報
【特許文献２】特開平０９−２５１５３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、外観検査の対象となっている製品（検査対象物）の良否を判定するためには、予め検査対象物の端子の端部やコーナー部を基準点として設定したり、複数の端子を結ぶ直線を基準線として設定したりする必要がある。たとえば、１００本のピンを有するコネクタについては、１００本のピンのそれぞれについて計測や良否判定のためのパラメータを設定しなければならない。よって、ユーザの作業量もピン数に比例して増加する。
【０００５】
搬送方向に向かって右側と左側との両側から製品を撮像し、外観検査を実行することもある。たとえば、搬送方向に向かって右側と左側のそれぞれにピンを有する素子やコネクタなどを同時に検査する際には、２つのカメラを使用して製品の両側の画像が取得される。
【０００６】
上述したように、製品を構成する複数のパーツのうち検査の対象となるパーツにはそれぞれパラメータを設定する必要がある。よって、製品の両側を検査する場合には、製品の両側のそれぞれにパラメータを個別に設定する必要があった。よって、市場からは、製品の両側のそれぞれにパラメータを設定する際の作業負担を軽減することが求められているといえる。
【０００７】
そこで、本発明は、外観検査装置によって検査対象物の両側を検査するためのパラメータの設定を行うユーザの負担を軽減する装置や方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、たとえば、
検査対象物の搬送方向と略平行な軸を対称軸としたときに複数の特徴部分が線対称に設けられた検査対象物のうち、一方の側に設けられた複数の特徴部分を撮像する第１の撮像部と、
前記第１の撮像部によって良品の検査対象物を撮像することで取得された第１の基本画像を記憶する第１の基本画像記憶部と、
前記検査対象物のうち、他方の側に設けられた複数の特徴部分を撮像する第２の撮像部と、
前記第２の撮像部によって前記良品の検査対象物を撮像することで取得された第２の基本画像を記憶する第２の基本画像記憶部と、
前記検査対象物の外観検査の対象となる複数の第１の領域を前記第１の基本画像内の複数の特徴部分に対して設定する第１の領域設定部と、
前記第１の領域設定部により前記第１の基本画像に対して設定された前記複数の第１の領域の配置であって当該第１の基本画像に対する配置の左右を反転させることで得られる複数の第２の領域を、前記第２の基本画像内の複数の特徴部分に対して設定する第２の領域設定部と、
前記複数の第１の領域および前記複数の第２の領域に基づいて、前記外観検査の対象となっている検査対象物の外観の良否を判定する良否判定部と
を有することを特徴とする外観検査装置を提供する。
【０００９】
また、本発明は、
検査対象物の搬送方向にと略平行な軸を対称軸としたときに複数の特徴部分が線対称に設けられた検査対象物のうち、一方の側に設けられた複数の特徴部分を撮像する第１の撮像部と、
前記第１の撮像部によって良品の検査対象物を撮像することで取得された第１の基本画像を記憶する第１の基本画像記憶部と、
前記検査対象物のうち、他方の側に設けられた複数の特徴部分を撮像する第２の撮像部と、
前記第２の撮像部によって前記良品の検査対象物を撮像することで取得された第２の基本画像を記憶する第２の基本画像記憶部と、
前記検査対象物の外観検査の対象となる複数の第１の領域を前記第１の基本画像内の複数の特徴部分に対して設定する第１の領域設定部と、
前記第２の基本画像の左右を反転するとともに前記第２の検査画像の左右を反転する画像左右反転部と、
前記第１の領域設定部により前記第１の基本画像に対して設定された前記複数の第１の領域を、前記左右を反転した第２の基本画像に対してコピーすることで当該第２の基本画像内の複数の特徴部分に対して複数の第２の領域を設定する第２の領域設定部と、
前記複数の第１の領域および前記複数の第２の領域に基づいて、前記外観検査の対象となっている検査対象物の外観の良否を判定する良否判定部と
を有することを特徴とする外観検査装置を提供する。
【発明の効果】
【００１０】
本発明によれば、外観検査装置によって検査対象物の両側を検査するためのパラメータの設定する際に予め設定されている一方側のパラメータ（領域）を他方側のパラメータとして流用することで、ユーザの負担を軽減することができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、外観検査装置の概略を示す概略図である。
【図２】図２は、外観検査装置のハードウェア構成の一例を示す図である。
【図３】図３は、外観検査処理の基本フローを示すフローチャートである。
【図４】図４は、パラメータを設定する際の検査対象物とカメラと照明装置の位置関係を示す図である。
【図５】図５は、検査対象物であるコネクタを３分割し、フロントライトで撮像した画像とバックライトで撮像した画像とを示す図である。
【図６】図６は、寸法測定の一例を示す図である。
【図７】図７は、２列目のピンに関する寸法測定の一例を示す図である。
【図８】図８は、各ピンの高さを求める方法を示す図である。
【図９】図９は、２列目の各ピンについてピン高さを求める例を示す図である。
【図１０】図１０は、撮像回数を設定するためのダイアログを示す図である。
【図１１】図１１は、撮像回数を設定するためのダイアログを示す図である。
【図１２】図１２は、ユーザにより設定された撮像回数を視覚的に示すダイアログを示す図である。
【図１３】図１３は、複数の画像処理ツールのカテゴリーを示したツールカタログからコネクタカテゴリーがマウスによって選択され、さらに、画像処理ツールとしてコネクタ位置ずれ補正が選択されたことを示す図である。
【図１４】図１４は、コネクタ位置ずれ補正に必要となるパラメータを設定するためのＵＩを示す図である。
【図１５】図１５は、コネクタ位置ずれ補正に必要となるパラメータを設定するためのＵＩを示す図である。
【図１６】図１６は、コネクタ位置ずれ補正に必要となるパラメータを設定するためのＵＩを示す図である。
【図１７】図１７は、コネクタ位置ずれ補正のための設定が終了したことを示すＵＩの一例を示す図である。
【図１８】図１８は、複数の画像処理ツールのカテゴリーを示したツールカタログからコネクタカテゴリーがマウスによって選択され、さらに、画像処理ツールとしてコネクタ寸法検査ツールが選択されたことを示す図である。
【図１９】図１９は、画像の連結点を設定する設定画面を示す図である。
【図２０】図２０は、ピン列検出パラメータの設定画面を示す図である。
【図２１】図２１は、ピンモデルの登録画面を示す図である。
【図２２】図２２は、ピン検出の設定画面を示す図である。
【図２３】図２３は、コネクタの中間部および右端部についてのサーチ領域、検査領域、基準点の設定画面を示す図である。
【図２４】図２４は、コネクタの中間部および右端部についてのサーチ領域、検査領域、基準点の設定画面を示す図である。
【図２５】図２５は、一列目のピンモデルの登録（ピン列検出の設定）が完了したことを示す画面を示す図である。
【図２６】図２６は、コネクタの端検出に関する設定を行う設定画面を示す図である。
【図２７】図２７は、端検出の対象となる端を選択する選択項目を示す図である。
【図２８】図２８は、端検出用のサーチモデルの登録画面を示す図である。
【図２９】図２９は、サーチ領域の設定画面を示す図である。
【図３０】図３０は、端検出用のサーチモデルの登録画面を示す図である。
【図３１】図３１は、サーチ領域の設定画面を示す図である。
【図３２】図３２は、基準点の指定画面を示す図である。
【図３３】図３３は、基準点の指定画面を示す図である。
【図３４】図３４は、ワーク左端とワーク右端とが正常に設定されたことを示す画面を示す図である。
【図３５】図３５は、基準線を設定する設定画面を示す図である。
【図３６】図３６は、基準線の指定方法の選択項目を示す図である。
【図３７】図３７は、選択項目から「ハウジングの両端を結んだ線」が基準線として指定されたときの画面を示す図である。
【図３８】図３８は、寸法測定パラメータを設定するメイン画面を示す図である。
【図３９】図３９は、寸法測定パラメータを設定するための項目選択画面を示す図である。
【図４０】図４０は、選択された測定項目について良否判定に使用されるパラメータを設定する画面を示す図である。
【図４１】図４１は、選択された測定項目について良否判定に使用されるパラメータを設定する画面を示す図である。
【図４２】図４２は、寸法測定パラメータを設定するための項目選択画面を示す図である。
【図４３】図４３は、選択された測定項目について良否判定に使用されるパラメータを設定する画面を示す図である。
【図４４】図４４は、選択された測定項目について良否判定に使用されるパラメータを設定する画面を示す図である。
【図４５】図４５は、複数の画像を連結するための基準となるマークの一例を示す図である。
【図４６】図４６は、画像連結の基準となるマークを設定する設定画面を示す図である。
【図４７】図４７は、画像連結の基準となるマークを設定する設定画面を示す図である。
【図４８】図４８は、画像連結の基準となるマークを設定する設定画面を示す図である。
【図４９】図４９は、マークを基準として連結されたフロントライト画像とバックライト画像とを示す図である。
【図５０】図５０は、エッジ検出を利用したピンの検出方法を示す図である。
【図５１】図５１は、エッジ検出を利用したハウジングの検出方法を示す図である。
【図５２】図５２は、検査対象物の両側を検査する際のフロントカメラとバックカメラとを示した図である。
【図５３】図５３は、フロントカメラによって取得された検査対象物の部分画像と、各特徴部分に設定された検査領域との関係を示した図である。
【図５４】図５４は、バックカメラによって取得された検査対象物の部分画像と、各特徴部分に設定された検査領域との関係を示した図である。
【図５５】図５５は、パラメータを設定するためのＵＩの一例を示す図である。
【図５６】図５６は、パラメータを設定するためのＵＩの一例を示す図である。
【図５７】図５７は、画像を並び替えるためのＵＩの一例を示す図である。
【図５８】図５８は、部分画像を並び替えて連結された全体画像を示すＵＩの一例を示す図である。
【図５９】図５９は、検査領域６５５の位置を修正する画面の一例を示す図である。
【図６０】図６０は、外観検査装置１の機能ブロック図である。
【図６１】図６１は、図５４（Ａ）に示した部分画像のそれぞれをミラー反転して作成した全体画像を示した図である。
【図６２】図６２は、検査対象物の一部が変更されるときのパラメータの再設定方法を示すフローチャートである。
【図６３】図６３は、複数の部分画像のそれぞれを左右反転させることを示すＵＩの一例を示す図である。
【図６４】図６４は、部分画像の撮像回数とピン数を設定するためのＵＩの一例を示す図である。
【図６５】図６５は、ピン数の変更に伴うパラメータの変更処理を説明するための図である。
【図６６】図６６は、ピン数の変更に伴うパラメータの変更処理を示すフローチャートである。
【図６７】図６７は、撮像回数の変更に伴うパラメータの変更処理を説明するための図である。
【図６８】図６８は、撮像回数の変更に伴うパラメータの変更処理を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下に本発明の一実施形態を示す。以下で説明される個別の実施形態は、本発明の上位概念、中位概念および下位概念など種々の概念を理解するために役立つであろう。また、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。
【００１３】
図１は、外観検査装置１の概略を示す概略図である。外観検査装置１は、コントローラ２と、プログラマブルロジックコントローラ（ＰＬＣ）３と、カメラ４と、照明装置５（フロントライト５１、バックライト５２）と、マウス９と、モニタ１０と、プログラム作成支援装置１１とを有している。ＰＬＣ３によって制御されるベルトコンベヤなどの搬送装置７によって検査対象物８が搬送され、フロントライト５１やバックライト５２などの照明装置によって照明された検査対象物８がカメラ４によって撮像される。コントローラ２は、たとえば、ＰＬＣ３からの命令にしたがって、検査対象物８を照明すべき照明装置を切り替えたり、カメラ４に撮像を実行させたりする。なお、カメラ４は、検査対象物８の搬送方向に向かって左側にフロントカメラ４ａが設置されており、右側にはバックカメラ４ｂが設置されている。バックカメラ４ｂは、検査対象物８の搬送方向に向かって右側を検査するときに使用される。以下では、特に説明がない限り、フロントカメラ４ａをカメラ４として説明する。
【００１４】
コントローラ２は検査対象物（ワーク）８の画像からエッジ検出や面積計算などの各種計測処理を実行する。カメラ４から得られた画像データを用いて画像処理を実行し、外部接続されたＰＬＣ３などの制御機器に対し、検査対象物８の良否などの判定結果を示す信号として判定信号を出力する。
【００１５】
カメラ４は、検査対象物８を撮像する撮像素子を有するカメラモジュールを備えている。撮像素子としては、たとえばＣＭＯＳ（相補型金属酸化膜半導体）やＣＣＤ（電荷結合素子）を用いることができる。ＰＬＣ３から入力される制御信号、たとえばカメラ４から画像データを取り込むタイミングを規定する撮像トリガ信号に基づいて、検査対象物８の撮像を行う。
【００１６】
モニタ１０は、液晶パネルや自発光式パネル等の表示装置である。検査対象物８を撮像して得られた画像や、その画像データを用いた計測処理の結果を表示する。モニタ１０は、パターンマッチング用の比較データ（モデル画像）を作成するために使用される基準画像など、良品から取得された画像を表示してもよい。
【００１７】
マウス９は、ユーザがモニタ１０上で各種操作するため（モニタ１０がタッチパネルなら省略可）の入力装置である。マウス９は、モニタ１０上で各メニュー項目を選択したり、パラメータ値を設定したりする。マウス９は、ポインティングデバイスの一例である。ユーザは、モニタ１０を視認することで、コントローラ２の運転中の動作状態を確認することができる。また、ユーザは、モニタ１０を視認しつつ、マウス９を操作することによって、必要に応じて各種設定や各種編集を行うことができる。
【００１８】
照明装置５は、検査対象物８を照明する装置であり、図１では、フロントライト５１、バックライト５２が示されている。照明装置５としては、これら以外にも、たとえば、光沢を際立たせる同軸落射照明、傷や刻印のエッジが際立つローアングル照明、ブラックライトを当てるブラックライト照明、バックライト５２として用いられる面照明（フロントライト５１とは反対側から照明を与え、検査対象物の透過光または影を観察するための透過照明）、四方八方から拡散光を照射するドーム照明など、各種の照明を行う照明装置が採用されてもよい。特に、同軸落射照明は、視野全体に略均一に照明を当てる照明手法であり、カメラ４と照明装置５をＶ字に配置して検査対象物８からの正反射光を受光する照明手法とほぼ同様の効果が得られる利点がある。また、ローアングル照明は、たとえばＬＥＤ等の投光素子をリング状に配置し、検査対象物８の表面を浅い角度で全周方向から光を照らす照明手法である。検査対象物８の表面に当たった光はカメラ４の方向には反射せず、刻印や傷のエッジ部分で反射した光だけが受光される。すなわち、照射角度が非常に浅い角度であるため、光沢面では反射が弱く、検査対象物８上の僅かな傷やエッジでのみ強い反射が得られ、はっきりとしたコントラストが得られる。別の表現をすると、フロントライト５１は、検査対象物８の表面の特徴（テクスチャ、エッジ等）を抽出するための照明光であって、バックライト５２は、検査対象物８の輪郭（または縁部）を抽出するための照明光である。
【００１９】
プログラム作成支援装置１１は、コントローラ２が実行する制御プログラムを作成するためのコンピュータ（ＰＣ）である。制御プログラムは、以下で説明するような外観検査に関するそれぞれ異なる計測を実行するための複数の計測処理モジュールを有している。コントローラ２は、設定された順番に沿って各種計測処理モジュールを呼び出して実行する。プログラム作成支援装置１１とコントローラ２とは、通信ネットワークを介して接続されており、プログラム作成支援装置１１上で生成された制御プログラムやパラメータ値等の設定情報は、コントローラ２に転送される。また逆に、コントローラ２から制御プログラムやパラメータ値等の設定情報などを取り込んで、プログラム作成支援装置１１上で編集することもできる。
【００２０】
工場において、複数の検査対象物８は、コンベアなどの搬送装置７のライン上を流れてくる。コントローラ２は、検査対象物８の上方（または側方、下方）に設置されているカメラ４により検査対象物８を撮像し、撮像した画像を基準画像（たとえば良品を撮像した画像）や基準画像から作成したモデル画像と比較して、検査対象物８に傷や欠陥等が存在するか否かの判断を行う。検査対象物８に傷や欠陥等が存在すると判断した場合には、ＮＧ判定となる。一方、検査対象物８に傷や欠陥等が存在しないと判断した場合には、ＯＫ判定となる。このように、外観検査装置１は、検査対象物８を撮像した画像を用いて、検査対象物８の外観の良否判定を行う。
【００２１】
検査対象物８の外観検査を行う場合、検査に用いる各種パラメータの内容（パラメータ値等）を設定する必要がある。パラメータとしては、たとえば、シャッタースピードなどの撮像条件を規定する撮像パラメータ、照度などの照明条件を規定する照明パラメータ、どのような検査を行うかを示す検査条件を規定する計測処理パラメータ（いわゆる検査パラメータ）等がある。外観検査装置１では、良否判定を行う前に、これらの各種パラメータの内容を設定する。
【００２２】
外観検査装置１は、実際に搬送装置７のライン上を次々と流れてくる検査対象物８の外観検査を行うモード、すなわち実際に検査対象物８の良否判定を行う運転モード（Ｒｕｎモード）と、検査に用いる各種パラメータの内容の設定を行う設定モード（非Ｒｕｎモード）とを有しており、これらのモードを切り替えるためのモード切替手段を有している。ユーザは、運転モードにおいて、搬送装置７のライン上を流れてくる複数の検査対象物８に対して良否判定が繰り返し行われる前に、設定モードにおいて、各種パラメータに対して最適なパラメータ値を設定（調整）する。基本的に、各種パラメータに対してはデフォルト値が設定されており、ユーザがパラメータ値としてデフォルト値が最適であると判断した場合には、特段、パラメータ値を調整する必要はない。しかし、実際のところ、周囲の照明環境、カメラ４の取り付け位置、カメラ４の姿勢ずれ、ピント調整等の相違に起因して、デフォルト値のままではユーザが望む判定結果を得ることができない場合がある。そこで、設定モードにおいて、コントローラ２のモニタ１０上またはプログラム作成支援装置１１上にて、運転モードから設定モードに切り換え、各種パラメータの内容を編集できるようになっている。
【００２３】
＜外観検査装置１のハードウェア構成＞
図２は、外観検査装置１のハードウェア構成の一例を示す図である。
【００２４】
主制御部２１は、各種プログラムに基づき数値計算や情報処理を行うとともに、ハードウェア各部の制御を行う。たとえば、中間演算処理装置としてのＣＰＵ２２と、主制御部２１が各種プログラムを実行する際のワークエリアとして機能するＲＡＭなどのワークメモリ２３と、起動プログラムや初期化プログラムなどが格納されたＲＯＭ、フラッシュＲＯＭまたはＥＥＰＲＯＭなどのプログラムメモリ２４とを有している。
【００２５】
照明制御部２６は、主制御部２１のＣＰＵ２２やＰＬＣ３からの命令に基づいて、フロントライト５１やバックライト５２などに対して照明制御信号を送信する。
【００２６】
画像入力部２５は、カメラ４での撮像により得られた画像データを取り込むＡＳＩＣ（Application Specific Integrated Circuit）などから構成される。画像入力部２５には、画像データをバッファリングするためのフレームバッファが含まれていてもよい。具体的に、画像入力部２５は、ＣＰＵ２２からカメラ４の撮像指令を受信すると、カメラ４に対して画像データ取り込み信号を送信する。そして、画像入力部２５は、カメラ４で撮像が行われた後、撮像して得られた画像データを取り込む。取り込んだ画像データは、一旦バッファリング（キャッシュ）される。
【００２７】
操作入力部２７は、マウス９からの操作信号が入力される。操作入力部２７は、ユーザの操作に基づきマウス９からの操作信号を受信するインターフェース（Ｉ／Ｆ）として機能する。
【００２８】
モニタ１０には、マウス９を用いたユーザの操作内容が表示される。具体的に説明すると、マウス９を操作することによって、ユーザはモニタ１０上で、画像処理の制御プログラムを編集したり、各計測処理モジュールのパラメータ値を編集したり、カメラ４の撮像条件を設定したり、基準画像の中で特徴的な部分をモデル画像として登録したり、サーチ領域内をサーチしてモデル画像に一致した領域を検査領域として設定したりと、様々なことを行うことができる。
【００２９】
表示制御部２８は、モニタ１０に対して画像を表示させる表示用ＤＳＰなどから構成される。表示制御部２８には、画像を表示させる際に画像データを一時記憶するＶＲＡＭなどのビデオメモリが含まれていてもよい。ＣＰＵから送られてきた表示指令（表示コマンド）に基づいて、モニタ１０に対して所定の画像（映像）を表示させるための制御信号を送信する。たとえば、計測処理前または計測処理後の画像データを表示するために、モニタ１０に対して制御信号を送信する。また、表示制御部２８は、マウス９を用いたユーザの操作内容をモニタ１０に表示させるための制御信号も送信する。
【００３０】
通信部２９は、外部のＰＬＣ３やプログラム作成支援装置１１などと通信可能に接続される。たとえば、通信部２９は、検査対象物８の到着タイミングを認識するために製造ラインに設置され、ＰＬＣ３に接続されたセンサ（光電センサ等、図示せず）からトリガ入力があったときに、ＰＬＣ３から撮像トリガ信号を受信するインターフェース（Ｉ／Ｆ）として機能する。また、通信部２９は、プログラム作成支援装置１１から転送されてくるコントローラ２の制御プログラムなどを受信するインターフェース（Ｉ／Ｆ）としても機能する。
【００３１】
画像処理部３０は、エッジ検出や面積計算などの計測処理を実行する演算用ＤＳＰなどから構成される。画像処理部３０には、計測処理用に画像データを記憶するメモリが含まれていてもよい。画像処理部３０は、画像データに対する計測処理を実行する。具体的に、画像処理部３０は、まず画像入力部２５のフレームバッファから画像データを読み出して、画像処理部３０内のメモリへ内部転送を行う。そして、画像処理部３０は、そのメモリに記憶された画像データを読み出して、計測処理を実行する。
【００３２】
プログラムメモリ２４は、照明制御部２６、画像入力部２５、操作入力部２７、表示制御部２８、通信部２９、および画像処理部３０の各部を、ＣＰＵ２２のコマンド等により制御するための制御プログラムを格納している。また、プログラム作成支援装置１１から転送されてきた制御プログラムは、プログラムメモリ２４に格納される。
【００３３】
ＣＰＵ２２は、通信部２９を介してＰＬＣ３から撮像トリガ信号を受信すると、画像入力部２５に対して撮像指令（コマンド）を送る。また、ＣＰＵ２２は、制御プログラムに基づいて、画像処理部３０に対して、実行すべき画像処理を指示するコマンドを送信する。なお、撮像トリガ信号を生成する装置として、ＰＬＣ３ではなく、光電センサなどのトリガ入力用のセンサを通信部２９に直接接続してもよい。
【００３４】
これらの各ハードウェアは、バスなどの電気的な通信路（配線）を介し、通信可能に接続されている。
【００３５】
＜計測モジュール（画像処理ツール）＞
ここでは、外観検査を実行する計測モジュールを画像処理ツールと呼ぶことにする。画像処理ツールには様々なものがあり、主要な画像処理ツールとしては、エッジ位置計測ツール、エッジ角度計測ツール、エッジ幅計測ツール、エッジピッチ計測ツール、エリア計測ツール、ブロブ計測ツール、パターンサーチ計測ツール、傷計測ツールなどがある。
●エッジ位置計測ツール：検査対象物８の画像が表示される画面上において、エッジ位置を検出したい検査領域に対してウインドウを設定することにより、設定された検査領域内で、任意の方向にスキャンして複数のエッジ（明から暗に切り替わる箇所または暗から明に切り替わる箇所）を検出する。検出した複数のエッジから、一のエッジの指定を受け付け、指定を受け付けたエッジの位置を計測する。
●エッジ角度計測ツール：設定を受け付けた検査領域内に２つのセグメントを設定し、それぞれのセグメントで検出したエッジからの検査対象物８の傾斜角度を計測する。傾斜角度は、たとえば時計回りを正とすることができる。
●エッジ幅計測ツール：設定を受け付けた検査領域内で、任意の方向にスキャンして複数のエッジを検出し、検出した複数のエッジ間の幅を計測する。
●エッジピッチ計測ツール：設定を受け付けた検査領域内で、任意の方向にスキャンして複数のエッジを検出する。検出した複数のエッジ間の距離（角度）の最大値／最小値や平均値を計測する。
●エリア計測ツール：カメラ４で撮像した検査対象物８の画像を二値化処理して、白色領域または黒色領域の面積を計測する。たとえば、計測する対象として白色領域または黒色領域の指定をパラメータとして受け付けることにより、白色領域または黒色領域の面積を計測する。
●ブロブ計測ツール：カメラ４で撮像した検査対象物８の画像を二値化処理して、同一の輝度値（２５５または０）の画素の集合（ブロブ）に対してパラメータとしての数、面積、重心位置等を計測する。
●パターンサーチ計測ツール：比較対象とする画像パターン（モデル画像）を事前に記憶装置に記憶しておき、撮像した検査対象物８の画像の中から記憶してある画像パターンに類似している部分を検出することで、画像パターンの位置、傾斜角度、相関値を計測する。
●傷計測ツール：設定を受け付けた検査領域内で、小領域（セグメント）を移動させて画素値の平均濃度値を算出し、閾値以上の濃度差となった位置を傷が存在すると判定する。
●その他にも、検査領域内の文字情報を切り出して辞書データ等と照合することで文字列を認識するＯＣＲ認識ツール、画像上に設定したウインドウ(領域)をシフトさせながら、各ウインドウの位置においてエッジの検出を繰り返す機能を有するトレンドエッジツール、設定したウインドウ内の濃淡の平均、偏差等を計測する機能を有する濃淡ツール、設定したウインドウ内の濃度の平均、偏差等を計測する機能を有する濃度ツールなどもあり、ユーザは検査内容に応じて必要な画像処理ツールを選択することができる。なお、これらの画像処理ツールは、典型的な機能およびその実現方法の代表例を示すものに過ぎない。あらゆる画像処理に対応する画像処理ツールが本願発明の対象になり得る。
【００３６】
＜外観検査の基本フロー＞
図３は、外観検査処理の基本フローを示すフローチャートである。外観検査処理は、検査対象物８の良否を判定するために必要となるモデル画像、検査領域、サーチ領域、検出点（以下、基準点と称す）、基準線、公差などの閾値を設定する設定モードと、実際に検査対象物８を撮像してパターンマッチングを実行して良否を判定する運転モードとに分かれている。なお、検査用のパラメータを適切に設定するために、設定モードと運転モードとを繰り返し実行することが一般的である。
【００３７】
Ｓ３０１で、ＣＰＵ２２は、画像入力部２５を通じてカメラ４に撮像命令を送信することで、カメラ４に撮像を実行させる。ＣＰＵ２２は、カメラ４により取得された画像データを、表示制御部２８を通じてモニタ１０に表示させる。ユーザは、モニタ１０に表示された画像を視認することで、カメラ４の姿勢や照明装置５の照明状態を確認する。
【００３８】
Ｓ３０２で、ＣＰＵ２２は、マウス９によって入力された指示に基づいてカメラ４のシャッタースピードなどの露光条件を調整する。なお、ユーザは、カメラ４の姿勢を手動で調整してもよい。
【００３９】
Ｓ３０３で、ＣＰＵ２２は、搬送装置７の撮像位置に配置された検査対象物８の画像をワーク画像として取り込むために、カメラ４に撮像命令を送信する。なお、ワーク画像（基本画像）は、不揮発性メモリに記憶されて繰り返し使用される基準画像であってもよいし、モデル画像を作成するためにその都度撮像される都度画像であってもよい。ここでは、ワーク画像はワークメモリ２３に記憶される。なお、モデル画像は基準画像から作成してもよい。
【００４０】
Ｓ３０４で、ＣＰＵ２２は、位置ずれ補正の設定処理を実行する。カメラ４によって取得された画像において、検査対象物８の画像の位置が理想位置からずれていることがある。そこで、ＣＰＵ２２は、検査対象物８の画像を回転したり、シフトしたりすることで、位置ずれを補正する。なお、位置ずれ補正は、画像処理部３０が実行してもよい。
【００４１】
Ｓ３０５で、ＣＰＵ２２は、上述した各種の画像処理ツールを設定する。たとえば、外観検査においてどの計測を実行するかや、計測を実行するために必要となるサーチ領域、検査領域、基準点などが設定される。
【００４２】
Ｓ３０６で、ＣＰＵ２２は、外観検査で必要となるパラメータ（例：公差などの検査閾値）を、マウス９によって入力された指示に基づいて設定する。Ｓ３０７で、ＣＰＵ２２は、設定モードから運転モードに切り替える。
【００４３】
Ｓ３０８で、ＣＰＵ２２は、ＰＬＣ３からの指示にしたがって検査対象物８をカメラ４で撮像し、画像処理部３０にパターンマッチングを実行させ、実行結果に基づいて良否を判定し、判定結果をＰＬＣ３に出力したり、モニタ１０に出力したりする。
【００４４】
Ｓ３０９で、ＣＰＵ２２は、マウス９からモードの切り替え指示が入力されると、運転モードから設定モードに切り替える。Ｓ３１０で、ＣＰＵ２２は、マウス９によって入力された指示に基づいてパラメータを再設定する。
【００４５】
＜パラメータの設定＞
図４は、パラメータを設定する際の検査対象物８と、カメラ４と、照明装置５の位置関係を示している。検査対象物８は、複数のピンを有したＩＣ（集積回路）、複数の半田ボールを有したＢＧＡ（ボールグリッドアレイ）などであってもよいが、ここでは、説明の便宜上、樹脂製のハウジング４０と複数のピン４１とを有したコネクタと仮定する。
【００４６】
照明装置５であるバックライト５２は、搬送装置７を挟んでカメラ４に対向するように配置されており、検査対象物８の後ろ側から検査対象物８を照明する。フロントライト５１は、リング照明装置であり、搬送装置７から見てカメラ４と同じ側に配置されており、検査対象物８の前側から照明する。
【００４７】
運転モードにおいては、ＰＬＣ３が搬送装置７を制御し、検査対象物８がカメラ４の撮像位置に到着すると、搬送装置７を停止させ、コントローラ２を介してカメラ４に撮像を命令する。この際に、ＰＬＣ３は、コントローラ２を介して照明装置５に照明するよう命令する。また、（ハウジング４０の表面の特徴を抽出するための）フロントライト５１でコネクタのピン４１やハウジング４０を照らした状態でカメラ４が撮像する。（ハウジング４０の輪郭を抽出するための）バックライト５２でコネクタのハウジング４０の輪郭を浮かび上がらせた状態でカメラ４が撮像する。
【００４８】
一方で、設定モードにおいては、基本的に搬送装置７を停止させておき、コントローラ２が直接的にカメラ４や照明装置５を制御し、検査対象物８のワーク画像を撮像する。設定モードにおいて撮像される検査対象物８は、ユーザにより良品と判定されたワーク（製品）である。一般に、ワーク画像は１枚である。しかし、検査対象物８が搬送装置７の搬送方向に長く、一回の撮像では検査対象物８の全体を撮像できないことがある。この場合は、検査対象物８を複数回に分けて撮像するように、コントローラ２がカメラ４を制御する。なお、設定モードにおいて複数枚のワーク画像を取得したときは、運転モードでも同数枚の画像が取得され、ワーク画像とモデル画像と比較される。
【００４９】
設定モードにおいても運転モードにおいても、フロントライト５１でコネクタのピン４１やハウジング４０を照らした状態でカメラ４が撮像する。また、バックライト５２でコネクタのハウジング４０の輪郭を浮かび上がらせた状態でカメラ４が撮像する。検査対象物８を複数回に分割して撮像する場合、ＰＬＣ３は、検査対象物８またはカメラ４のいずれかを移動させることで、複数回の撮像を実行してもよい。検査対象物８またはカメラ４の移動は手動であってもよい。検査対象物８を３か所以上に分割して撮像する場合、搬送方向で最初の撮像箇所（図中の左端）と搬送方向で最後の撮像箇所（図中の右端）については、フロントライト５１で検査対象物８を照明してカメラ４で撮像し、その後、バックライト５２で検査対象物８を照明してカメラ４で撮像する。一方で、最初の撮像箇所と最後の撮像箇所との間に位置する１つ以上の中間の撮像箇所については、フロントライト５１で検査対象物８を照明してカメラ４で撮像し、バックライト５２を用いた撮像を省略する。これは、検査対象物８の中間部分の輪郭は、外観検査をするうえで重要ではないからである。中間部分については、バックライト５２を用いた撮像を省略することで、外観検査の作業効率を向上できる。
【００５０】
図５は、検査対象物８であるコネクタを３分割し、フロントライト５１で撮像した画像とバックライト５２で撮像した画像とを示している。画像５３は、フロントライト５１で撮像したコネクタの左端の画像である。画像５４は、フロントライト５１で撮像したコネクタの中間の画像である。画像５５は、フロントライト５１で撮像したコネクタの右端の画像である。画像５６は、バックライト５２で撮像したコネクタの左端の画像である。画像５７は、バックライト５２で撮像したコネクタの右端の画像である。なお、画像５３〜画像５５の各画像においてコネクタの下に存在する黒ベタの部分は搬送装置７のベルトコンベヤの画像である。なお、検査対象物８が治具等に搭載されて搬送装置７によって搬送される場合は、治具が画像に映り込むことになる。上述したように、コネクタの中央（以下、中間と称す）についてはバックライト５２による撮像が省略されている。
【００５１】
なお、カメラ４は、所定位置に配置されたコネクタをフロントライト５１で撮像し、次に、コネクタの位置を維持したままバックライト５２で撮像する。つまり、フロントライト５１を用いて撮像された画像と、バックライト５２を用いて撮像された画像とにおいて、検査対象物８の位置は一致している。
【００５２】
なお、画像５３の右端と画像５４の左端とには、コネクタの同一部分が写っている。同様に、画像５４の右端と画像５５の左端とには、コネクタの同一部分が写っている。このように隣り合った部分画像に同一の部分が重複して写っている理由は、これらの３枚の部分画像を連結して１枚の全体画像を作成するためである。つまり、画像処理部３０は、隣り合った２枚の部分画像において共通に写っている同一のピンが重なるように、隣り合った２枚の部分画像を連結する。これにより作成された全体画像には、コネクタの全体が含まれることになる。
【００５３】
＜寸法測定＞
●ピンと角までの距離
図６は、寸法測定の一例を示す図である。モニタ１０に表示されるユーザインタフェース（ＵＩ）６０には、フロントライト５１を用いて撮像された複数の部分画像を連結して構成された一枚の画像（フロントライト画像６１）と、バックライト５２を用いて撮像された複数の部分画像を連結して構成された画像（バックライト画像６２）とが示されている。フロントライト画像６１とバックライト画像６２とは、フロントライト５１と、バックライト５２とを切り替えて撮像されたそれぞれ同一の被写体の部分画像を連結することで作成された全体画像である。よって、フロントライト画像６１の座標系とバックライト画像６２の座標系は一致している。ここでは、フロントライト画像６１の座標系は、フロントライト画像６１の左端を原点としており、バックライト画像６２の座標系は、バックライト画像６２の左端を原点としている。よって、フロントライト画像６１における各ピンの中心位置と、バックライト画像６２における各ピンの中心位置は同一の座標で表現できる。同様に、フロントライト画像６１におけるハウジング４０の角６４の位置と、バックライト画像６２におけるハウジング４０の角６４の位置は同一の座標で表現できる。
【００５４】
ＵＩ６０においては、フロントライト画像６１の横方向における両方の端部とバックライト画像６２の横方向における両方の端部とがそれぞれ一致するように、フロントライト画像６１とバックライト画像６２とが同時に表示される。つまり、フロントライト画像６１の横方向の端部とバックライト画像６２の横方向の端部とを揃えて、フロントライト画像６１とバックライト画像６２とが上下に並べられて表示される。これにより、ユーザは、フロントライト画像６１とバックライト画像６２とがともに同一の検査対象物８を撮像して取得された画像であることを理解しやすくなる。また、フロントライト画像６１に設定したサーチ領域、検査領域および検出点はそのままバックライト画像６２に設定されるようにしてもよい。つまり、フロントライト画像６１とバックライト画像６２とにおいて、サーチ領域、検査領域および検出点は連動して表示されるようにしてもよい。同様に、バックライト画像６２に設定したサーチ領域、検査領域および検出点はそのままフロントライト画像６１に設定され、両者は連動して表示されるようにしてもよい。これにより、一方の画像において設定しにくい特徴部分については他方の画像を用いて設定できるようなる。本発明では、このような特徴を生かして、検査対象物８についての寸法など様々な計測対象を設定できるようになる。
【００５５】
図６では、画像処理部３０がハウジング４０の角６４から１番ピン６３の中心までの距離を算出する。なお、この例のコネクタには１列あたり１７本のピンが２列にわたって配置されている。ピンの番号は左端のピンを１番ピンとし、右端のピンを１７番ピンとしている。
【００５６】
ところで、ハウジング４０の色が白色に近い場合、フロントライト画像６１から角６４の位置を精度よく検出できない可能性がある。一方で、バックライト画像６２では、角６４を精度よく検出できる。これは、背景とハウジングとのコントラストが高いからである。画像処理部３０は、フロントライト画像６１から１番ピン６３の位置（座標）を決定し、バックライト画像６２から角６４の位置を決定する。ここで、フロントライト画像６１とバックライト画像６２の座標系は完全に一致しているため、フロントライト画像６１から求められた１番ピン６３の位置と、バックライト画像６２から求められた角６４の位置とから、画像処理部３０は、両者の距離を算出できる。なお、１７番ピンとハウジング４０の右上の角までの距離も、同様の手順でフロントライト画像６１とバックライト画像６２とから算出できる。
【００５７】
図７は、２列目のピンに関する寸法測定の一例を示す図である。２列目の１番ピン６５から角６４までの距離についても１列目の１番ピン６３と同様の手順で距離を算出できる。
【００５８】
ここでは、１番ピンと１７番ピンについて説明したが、２番ピンから１６番ピンについても、フロントライト画像６１から特徴点であるピンの位置を検出し、バックライト画像６２から特徴点である角の位置を検出し、両者の距離を求めることができる。
【００５９】
●ピンからハウジング外縁までの距離（ピン高さ）
図８は、各ピンの高さを求める方法を示している。この例では、画像処理部３０が、各ピンの中心（基準点８２）からハウジング４０の上側にある外縁までの距離をピン高さとして算出する。
【００６０】
画像処理部３０は、バックライト画像６２からハウジング４０の上側の外縁を確定するために、右上角の位置と左上角の位置とを検出し、両者を結ぶ直線（直線の方程式）を基準線８１として決定する。バックライト画像６２を利用するのは、フロントライト画像６１と比較して、角を精度よく検出できるからである。画像処理部３０は、フロントライト画像６１から各ピンの中心位置を基準点８２として検出する。画像処理部３０は、各ピンの基準点８２から基準線８１までの距離を各ピンの高さとして算出する。
【００６１】
ここでは、フロントライト画像６１から基準点８２を検出し、バックライト画像６２から基準線８１を検出した。しかし、検査対象物８の外形や配色、素材など、画像のコントラストに影響を与えるパラメータが異なる場合、画像処理部３０は、フロントライト画像６１から基準線８１を検出し、バックライト画像６２から基準点８２を検出してもよい。
【００６２】
図９は、２列目の各ピンについてピン高さを求める例を示している。画像処理部３０は、バックライト画像６２からハウジング４０の上側の外縁を確定するために、右上角の位置と左上角の位置とを画像認識により検出し、両者を結ぶ直線（直線の方程式）を基準線８１として決定する。さらに、画像処理部３０は、フロントライト画像６１から２列目の各ピンの中心位置を基準点８５として検出する。画像処理部３０は、各ピンの基準点８５から基準線８１までの距離を各ピンの高さとして算出する。
【００６３】
＜撮像回数の設定＞
図１０および図１１は、撮像回数を設定するためのダイアログ１０１を示している。ダイアログ１０１には、画像の分割数の入力欄１０２と、カメラ数や撮像手法の選択欄１０３が示されている。分割数が１に設定されると、検査対象物８の全体を１枚の画像に収めることを意味する。分割数が３に設定されると、検査対象物８の全体を３枚の画像に分割して収めることを意味する。図１１が示すように、選択欄１０３において、検査対象物８の両端のみ照明を変えて撮像する撮像手法などを選択できる。
【００６４】
図１２は、ユーザにより設定された撮像回数を視覚的に示すダイアログ１０４を示している。この例では、照明Ａ（フロントライト５１）により、３か所の撮像箇所で撮像が実行されること、照明Ｂ（バックライト５２）により、中間を除く２か所の撮像箇所で撮像が実行されることが示されている。また、撮像順番をユーザに明示するために、撮像順番１０５も示されている。この例では、１番目に照明Ａを用いて第１の撮像箇所で撮像を実行し、２番目に照明Ｂを用いて第１の撮像箇所で撮像を実行することが示されている。これによりユーザは１番目と２番目の撮像が終了したときに、検査対象物８を移動させればよいことを理解しやすくなる。
【００６５】
＜コネクタ位置ずれ補正＞
検査対象物８を搬送装置７で搬送しながら良否判定のための画像を撮像する際に、検査対象物８の位置が理想位置からずれていることがある。ここで、理想位置とは、パターンマッチングのためのモデル画像をカメラ４により撮像したときの良品ワークの配置位置である。良品ワークは手動で正確に配置されるため、カメラ４に対して精度よく位置決めされる。よって、実際の製造ラインにおいて検査対象物８の画像を撮像したときにパターンマッチングおよび良否判定の精度を向上させるためには、撮像した画像を回転させたり、左右上下にシフトしたりといった位置ずれ補正が必要となる。
【００６６】
ところで、上述したように検査対象物８の同一の個所を、照明手法を変えて複数回撮像することがある。たとえば、フロントライト画像６１とバックライト画像６２とでは検査対象物８を動かさずに同一の個所を撮像しているため、それぞれの位置ずれ量は一致しているはずである。そこで、各撮像箇所の画像でフロントライト画像６１から求められた位置ずれ量またはその補正量を用いて、バックライト画像６２についての補正量を設定する。コネクタの位置ずれが発生する場合に、後段の検査で正しく検査するためにコネクタの位置を検出し、ずれ量を補正する。
【００６７】
このように、本実施例では、画像処理部３０が、検査対象物８の同一箇所を撮像した複数の画像について１つの画像から位置ずれの補正量を求め、求めた補正量で複数の画像のそれぞれの位置を補正し、補正した画像を用いて良否判定を実行する。
【００６８】
図１３は、複数の画像処理ツールのカテゴリーを示したツールカタログ１１１からコネクタカテゴリー１０８がマウスによって選択され、さらに、画像処理ツールとしてコネクタ位置ずれ補正が選択されたことを示す図である。
【００６９】
図１４、図１５、図１６は、コネクタ位置ずれ補正に必要となるパラメータを設定するためのＵＩを示している（図１４〜図１６は、それぞれ画像１Ａ〜３Ａに対応するＵＩ）。ここでは、２つのサーチ領域１１２がマウス９によって設定される。図１４の右方に示されるように、ユーザによって事前にモデル画像（サーチパターン）が登録されており、マウス９によってサーチ領域１１２が設定されると、サーチ領域１１２内にモデル画像とパターンマッチする部分があるか否かをリアルタイムでサーチする。そして、モデル画像が見つかった場合には、検査領域１１３として画面上に表示されている。すなわち、図１４では、サーチ領域１１２内でモデル画像が見つかり、検査領域１１３が表示されている。ここで、サーチ領域１１２は、モデル画像を移動させることができる範囲を示す領域である。検査領域１１３は、パターンマッチングの対象となる部分（モデル画像）を含む領域である（上述したように、図１４では、モデル画像が見つかった領域）。２つのサーチ領域１１２を設定する理由は、検査対象物の製造上の公差を考慮するため、或いは、検査対象物の搬送時の位置／傾きのずれを精度良く補正するためである。２つのサーチ領域１１２において、２つの検査領域１１３の位置が判明すれば、これらからコネクタ位置の位置ずれ量を算出できる。
【００７０】
図１４、図１５、図１６が示すように、位置ずれ補正のための２つのサーチ領域１１２と、２つの検査領域１１３とが、コネクタの左端部、中間部、右端部のそれぞれに設定される。コネクタの左端部、中間部、右端部での位置ずれ量は同じである場合があるため、左端部、中間部、右端部の一か所のみから位置ずれ量を求めてもよい。ただし、位置ずれ補正の精度を向上するために、左端部、中間部、右端部の３か所から位置ずれ補正量を求めてもよい。
【００７１】
図１７は、コネクタ位置ずれ補正のための設定が終了したことを示すＵＩの一例である。画像処理部３０は、マウス９によって設定されたパラメータを使用して、カメラ４が撮像した良品に対して位置ずれ補正を実行し、位置ずれ補正に成功すると、成功を示すＯＫマーク１１４をモニタ１０に表示してもよい。
【００７２】
＜コネクタ寸法検査ツールの追加＞
図１８は、複数の画像処理ツールのカテゴリーを示したツールカタログ１１１からコネクタカテゴリー１０８がマウスによって選択され、さらに、画像処理ツールとしてコネクタ寸法検査ツール１０９が選択されたことを示す図である。コネクタ寸法検査ツール１０９を示すボタンがクリックされると、設定画面に遷移する。設定画面に遷移するために、さらに追加ボタンがクリックされてもよい。
【００７３】
●画像連結パラメータの設定
コネクタ寸法検査ツールの設定項目の１つとして画像連結パラメータが存在する。なお、画像を連結しない場合は、このパラメータの設定は不要である。
【００７４】
図１９は、画像の連結点を設定する設定画面を示している。この画面では、画像の並び順１１６と、連結手法を指定する連結方法１１７とをマウス９によって選択できる。たとえば、画像の並び順１１６として「左→右」を選択すると、検査対象物８を左から右に画像が撮像されたことを示している。連結方法１１７として「ピン列で連結」を選択すると、画像処理部３０は、各画像からピン列を検出し、ピン列が全体として一列になるように複数の画像を連結する。
【００７５】
●ピン列検出パラメータの設定
図２０は、ピン列検出パラメータの設定画面を示している。この例では、ピンの配置１１８は、ピンが何列にわたって配置されているかを設定するための設定項目である。１番ピンの位置１１９は、一列に並んだ複数のピンのうちどのピンが１番ピンであるかを設定するための設定項目である。この例では、検査対象物８であるコネクタは２列であるため、ピンの配置１１８は、「２列」がマウス９によって選択される。
【００７６】
●ピンモデルの登録
コネクタは多数のピンを備えており、すべてのピンについて検査を実行する必要がある。そこで、検査対象の各ピンのモデル画像とその位置を良品判定用に登録しておく必要がある。
【００７７】
図２１は、ピンモデルの登録画面を示している。ＣＰＵ２２は、登録画面内において、コネクタの左端の画像５３を拡大表示する。これは、ピンモデルを登録しやすくするためである。ユーザは、１番ピン６３を含むように検査領域１１３を設定する。ＣＰＵ２２は、検査領域１１３により囲まれた部分の画像をモデル画像としてメモリに格納する。検査領域１１３の位置と大きさはマウス９の操作に連動してＣＰＵ２２によって変更される。
【００７８】
図２２は、ピン検出の設定画面を示している。ＣＰＵ２２は、検査領域１１３の中心に基準点１２０を配置し、検査領域１１３を取り囲むようにサーチ領域１１２を配置する。検査領域１１３の位置、基準点１２０の位置およびサーチ領域１１２の位置はＣＰＵ２２によってメモリに格納される。なお、上述したように、検査領域１１３は、サーチ領域１１２内において、図２１で設定したモデル画像とパターンマッチした結果、検出された領域を示している。つまり、図２２では、検査領域１１３は、モデル画像とパターンマッチした検出結果を示す。
【００７９】
上述したように、すべてのピンに対してサーチ領域１１２、検査領域１１３、基準点１２０などを設定しなければならない。しかし、この設定作業を手作業に任せると、ユーザは多大な負担を負うことになる。そこで、本実施例では、ユーザが設定項目の１つであるピン数１２１をマウス９で設定することにより、２番ピン以降の各ピンについてのサーチ領域１１２、検査領域１１３、基準点１２０の設定を半自動化できる。ＣＰＵ２２は、入力されたピン数１２１に応じて、サーチ領域１１２、検査領域１１３、基準点１２０を右方向にコピーすることで、６つあるピンのそれぞれに、サーチ領域１１２、検査領域１１３、基準点１２０を設定する。これは、各ピンが等間隔で配置されており、各ピンの大きさも一致していることを前提としている。各ピンにＣＰＵ２２によって設定されたサーチ領域１１２、検査領域１１３、基準点１２０を、ユーザはマウス９によって微調整してもよい。ＣＰＵ２２は、マウス９からの入力にしたがってサーチ領域１１２、検査領域１１３、基準点１２０の座標（位置）を修正し、メモリに格納する。
【００８０】
図２３、図２４は、コネクタの中間部および右端部についてのサーチ領域１１２、検査領域１１３、基準点１２０の設定画面を示している。コネクタの中間部および右端部も左端部と同様の手順で、サーチ領域１１２、検査領域１１３、基準点１２０が設定される。つまり、ＣＰＵ２２は、一番ピンのサーチ領域１１２、検査領域１１３、基準点１２０のデータとピン数１２１を利用して、コネクタの中間部および右端部の各ピンにサーチ領域１１２、検査領域１１３、基準点１２０を設定する。
【００８１】
図２５は、一列目のピンモデルの登録が完了したことを示す画面を示している。この画面では、コネクタの全体画像１２２がサーチ領域１１２、検査領域１１３、基準点１２０とともに表示される。なお、ＣＰＵ２２は、入力されたピン数を合計して総ピン数１２３をモニタ１０に表示してもよい。
【００８２】
なお、図２１ないし図２５では、一列目のピンについて説明したが、２列目のピンについても同様の手順でピン登録を実行できる。
【００８３】
●端検出パラメータの設定
コネクタの外観検査を実行する際には、上述したように、コネクタの端（角）の位置を検出する必要がある。なお、コネクタハウジングの両端に金具などが設けられている場合は、角の代わりにこの金具を端として検出してもよい。この場合は、金具に対して、サーチ領域、検査領域、検出点（基準点）を設定すればよい。
【００８４】
図２６は、コネクタの端検出に関する設定を行う設定画面を示す図である。コネクタの種類によって検出すべき端の数は異なる。そこで、追加ボタン１２４をマウス９で押すことで、必要な数の端を設定する。
【００８５】
図２７は、端検出の対象となる端を選択する選択項目１２５を示している。コネクタの種類によっては、コネクタに設けられた金属を端とすべき場合や、コネクタのハウジングを端とすべき場合や、コネクタを搬送するための治具を端とすべき場合などがある。そこで、ユーザは、検査対象物８となっているコネクタの種類に応じて、選択項目１２５からマウス９の操作によって端検出の対象を選択する。
【００８６】
図２８は、端検出用のサーチモデルの登録画面を示す図である。ワーク左端を設定するために、画像選択部１２６からマウス９によってコネクタの左端のフロントライト画像（撮像１Ａ）が選択される。ＣＰＵ２２は、左端の画像を拡大表示し、サーチモデルを登録しやすくする。マウス９の操作によって端を含む検査領域１２７が設定される。ＣＰＵ２２は、モデル登録ボタン２２８が押し下げされたことを検出すると、その時点で設定された検査領域１２７の位置と検査領域１２７によって囲まれたモデル画像をメモリに格納する。
【００８７】
図２９は、サーチ領域１２８の設定画面を示している。ＣＰＵ２２は、マウス９の操作にしたがって設定された矩形の領域を端検出用のサーチ領域１２８に設定する。ここで、ＣＰＵ２２は、モデル登録された検査領域１２７のモデル画像を、サーチ領域１２８内でサーチを実行し、モデル画像が見つかったかどうかを判定する。図２９に示すように、背景とハウジングとのコントラストが低い場合、端検出に失敗してしまう。
【００８８】
そこで、本実施例では、バックライト画像を用いて端検出用のパラメータを設定する。
【００８９】
図３０は、端検出用のサーチモデルの登録画面を示す図である。画像選択部１２６からマウス９によってコネクタの左端のバックライト画像（撮像１Ｂ）が選択される。ＣＰＵ２２は、ＣＰＵ２２は、左端のバックライト画像を拡大表示し、サーチモデルを登録しやすくする。マウス９の操作によって端を含む検査領域１２７が設定される。ＣＰＵ２２は、モデル登録ボタン２２８が押し下げされたことを検出すると、その時点で設定された検査領域１２７の位置と検査領域１２７によって囲まれたモデル画像をメモリに格納する。
【００９０】
図３１は、サーチ領域１２８の設定画面を示している。ＣＰＵ２２は、マウス９の操作にしたがって設定された矩形の領域を端検出用のサーチ領域１２８に設定する。ここで、ＣＰＵ２２は、モデル登録された検査領域１２７のモデル画像を、サーチ領域１２８内でサーチを実行し、モデル画像が見つかったかどうかを判定する。図３１に示すように、背景とハウジングとのコントラストが高い場合、端検出に成功する。基準点を指定するための基準点指定ボタン１３０がマウス９によってクリックされると、ＣＰＵ２２は、基準点の指定画面をモニタ１０に表示させる。
【００９１】
図３２、図３３は、基準点１３１の指定画面を示す図である。とりわけ、図３２は、微調整前の基準点１３１を示し、図３３は、微調整後の基準点１３１を示している。ＣＰＵ２２は、基準点１３１を検査領域１２７の中間に配置する。ユーザはマウス９を操作することで基準点１３１を微調整し、ＣＰＵ２２は、微調整後の基準点１３１の位置をメモリに格納する。
【００９２】
なお、コネクタの右側の端であるワーク右端についても、ワーク左端と同様の手順で検査領域１２７、サーチ領域１２８および基準点１３１が設定される。
【００９３】
図３４は、ワーク左端とワーク右端とが正常に設定されたことを示す画面である。この例では、バックライト画像を利用して、ワーク左端とワーク右端とが設定されていることが示されている。
【００９４】
●基準線の設定
図３５は、基準線８１を設定する設定画面を示している。追加ボタン（編集ボタン）１４０をクリックすると、基準線８１の各パラメータを設定する詳細設定画面に遷移する。
【００９５】
図３６は、基準線８１の指定方法の選択項目１４１を示している。ここでは、検査対象物８であるコネクタに対してどのような線を基準線８１とするかをマウス９によって指定する。
【００９６】
図３７は、選択項目１４１から「ハウジングの両端を結んだ線」が基準線８１として指定されたときの画面を示す図である。上述したように、バックライト画像を使用してハウジングの両端（ワーク左端とワーク右端）があらかじめ設定されている。そこで、ＣＰＵ２２は、「ハウジングの両端を結んだ線」が基準線８１として指定されると、ワーク左端とワーク右端とを通るように基準線８１を設定する。なお、ワーク左端は、基準点１３１に対応している。なお、図示は省略しているがワーク右端も基準点によって設定されている。
【００９７】
●寸法測定パラメータの設定
ここでは、コネクタの寸法のうち、どの部分の寸法を測定対象にするかを設定する。
【００９８】
図３８は、寸法測定パラメータを設定するメイン画面を示す図である。項目選択ボタン１５０をマウス９でクリックすることで、測定すべき寸法をユーザが選択できる。
【００９９】
図３９は、寸法測定パラメータを設定するための項目選択画面を示す図である。ここでは、コネクタのどの部分を測定するかをカテゴリー別に示した寸法測定カテゴリー１５１と、選択された寸法測定カテゴリーに対応した１つ以上の測定項目を示す測定項目一覧１５２とが表示される。ＣＰＵ２２は、マウス９によって選択されたカテゴリーに応じて測定項目一覧１５２を切り替える。図３９に示した例では、ハウジングが寸法測定カテゴリー１５１から選択されると、ハウジングに関する種々の測定項目が示される。ハウジング高さは、基準線を起点としたハウジングの高さである。ハウジング距離は、ハウジングの左端から右端までの距離である。ハウジング・ピン（端）間距離は、ハウジングの端から端のピンまでの距離である。ハウジング金具距離は、ハウジングから金具までの距離であって、たとえば、ハウジングの端から金具の中心までの距離である。マウス９により測定項目一覧１５２から選択された測定項目が実際に実行される測定項目として追加される。
【０１００】
図４０は、選択された測定項目について良否判定に使用されるパラメータを設定する画面を示している。パラメータ設定部１６０では、１列目のピンについてのハウジング・ピン（端）間距離についての設計上の標準値と正負の公差がマウス９を通じて入力される。ＣＰＵ２２は、標準値と公差とから寸法の上限値と下限値とを算出してパラメータ設定部１６０に表示してもよい。また、ＣＰＵ２２は、画像処理部３０を用いて、ワーク画像から実際に寸法を測定し、１番ピンについての測定値と１７番ピンについての測定値との平均値を求めて表示したり、最小値と最大値とを表示したりしてもよい。
【０１０１】
図４１は、選択された測定項目について良否判定に使用されるパラメータを設定する画面を示している。パラメータ設定部１６１では、２列目のピンについてのハウジング・ピン（端）間距離についての設計上の標準値と正負の公差がマウス９を通じて入力される。ＣＰＵ２２は、標準値と公差とから寸法の上限値と下限値とを算出してパラメータ設定部１６１に表示してもよい。また、ＣＰＵ２２は、画像処理部３０を用いて、ワーク画像から実際に寸法を測定し、１番ピンについての測定値と１７番ピンについての測定値との平均値を求めて表示したり、最小値と最大値とを表示したりしてもよい。
【０１０２】
図４２は、寸法測定パラメータを設定するための項目選択画面を示す図である。ここでは、寸法測定カテゴリー１５１からピン高さが選択されているため、測定項目一覧１５２には、ピン高さに関する測定項目が表示される。ユーザはマウス９により測定項目をクリックして選択する。ここでは、基準線からのピン高さが選択されたものとする。
【０１０３】
図４３は、選択された測定項目について良否判定に使用されるパラメータを設定する画面を示している。測定項目をわかりやすくするために、画像表示部１６２には、ワーク画像とともに、基準線、基準点、ピン番号、どの部分が測定されるかを示すマークなどが表示される。ここでは、ワーク画像として、フロントライト画像とバックライト画像の両方が表示される。パラメータ設定部１６３では、１列目のピンについてのピン高さについての設計上の標準値と正負の公差がマウス９を通じて入力される。ＣＰＵ２２は、標準値と公差とから寸法の上限値と下限値とを算出してパラメータ設定部１６３に表示してもよい。また、ＣＰＵ２２は、画像処理部３０を用いて、ワーク画像から実際に寸法を測定し、１番ピンから１７番ピンまで各ピンについて測定値の平均値を求めて表示したり、最小値と最大値とを表示したりしてもよい。これらの数値からワーク画像を撮像するために用いたワーク（製品）が適切であったかどうかを確認しやすくなろう。
【０１０４】
図４４は、選択された測定項目について良否判定に使用されるパラメータを設定する画面を示している。パラメータ設定部１６４では、２列目のピンについてのピン高さについてのパラメータが入力される。ＣＰＵ２２は、パラメータ設定部１６４に入力された標準値と公差とから寸法の上限値と下限値とを算出してパラメータ設定部１６４に表示してもよい。また、ＣＰＵ２２は、画像処理部３０を用いて、ワーク画像から実際に寸法を測定し、２列目の１番ピンから１７番ピンまで各ピンについて測定値の平均値を求めて表示したり、最小値と最大値とを表示したりしてもよい。
【０１０５】
＜画像連結の変形例＞
上述した実施例では、隣り合った画像間で共通のピンが１つ以上含まれるように撮像を実行し、共通のピンを重ね合わせるようにして隣り合った２枚の画像を連結することで、検査対象物８の全体画像をＣＰＵ２２または画像処理部３０が作成するものとして説明した。しかし、隣り合った画像間で共通に含まれるべき部分は検査対象物８の一部である必要はない。つまり、治具やベルトコンベヤなど検査対象物８とともに移動する部材に連結の基準となるマークが付与されていてもよい。
【０１０６】
図４５は、複数の画像を連結するための基準となるマークの一例を示す図である。この例では、連結用のマーク１７０が、検査対象物８を搬送する治具に設けられている。連結方法１１７として「任意の点で連結」が選択されると、ＣＰＵ２２は、マーク１７０を基準として連結を実行できるようになる。
【０１０７】
図４６は、画像連結の基準となるマーク１７０を設定する設定画面を示す図である。ＣＰＵ２２は、コネクタの左端画像を拡大表示することで、基準点１７１、検査領域およびサーチ領域を設定しやすくしている。ユーザは、マウス９を操作することで、マーク１７０の中心に基準点１７１を設定する。さらに、ＣＰＵ２２は、基準点１７１を中心として検査領域およびサーチ領域を設定する。ＣＰＵ２２は、マウス９の操作にしたがって基準点１７１を微調整したり、検査領域およびサーチ領域の位置とサイズとを調整したりしてもよい。
【０１０８】
図４７は、画像連結の基準となるマーク１７０を設定する設定画面を示す図である。ＣＰＵ２２は、コネクタの中間部の画像を拡大表示することで、左端画像と中間部の画像とを連結するための基準となる基準点１７２、検査領域およびサーチ領域と、中間部の画像と右端画像とを連結するための基準となる基準点１７３、検査領域およびサーチ領域とを設定しやすくしている。ユーザは、マウス９を操作することで、左側のマーク１７０の中心に基準点１７２を設定し、右側のマーク１７０の中心に基準点１７３を設定する。さらに、ＣＰＵ２２は、基準点１７２および基準点１７３を中心としてそれぞれ検査領域およびサーチ領域を設定する。ＣＰＵ２２は、マウス９の操作にしたがって基準点１７２、１７３を微調整したり、検査領域およびサーチ領域の位置とサイズとを調整したりしてもよい。
【０１０９】
図４８は、画像連結の基準となるマーク１７０を設定する設定画面を示す図である。ＣＰＵ２２は、コネクタの右端画像を拡大表示することで、中間画像と右端画像とを連結するための基準となる基準点１７４、検査領域およびサーチ領域を設定しやすくしている。ユーザは、マウス９を操作することで、マーク１７０の中心に基準点１７４を設定する。さらに、ＣＰＵ２２は、基準点１７４を中心として検査領域およびサーチ領域を設定する。ＣＰＵ２２は、マウス９の操作にしたがって基準点１７４を微調整したり、検査領域およびサーチ領域の位置とサイズとを調整したりしてもよい。
【０１１０】
図４９は、マーク１７０を基準として連結されたフロントライト画像とバックライト画像とを示している。コネクタの左端画像、中間部の画像および右端画像を連結する際に、画像処理部３０は、基準点１７１と基準点１７２とが重なるように、左端画像と中間部の画像を連結する。さらに、画像処理部３０は、基準点１７３と基準点１７４とが重なるように、中間部の画像と右端画像とを連結する。これにより、検査対象物８の全体が収まった連結画像（全体画像）が作成される。フロントライト画像とバックライト画像とでは座標系が一致しているため、フロントライト画像の連結位置を基準として、バックライト画像についても同様に連結できる。なお、図４９に示したように、バックライト画像については左端画像と右端画像しか存在しない場合は、フロントライト画像の左端画像と、バックライト画像の左端画像との各原点（画像の左上の角）が一致させる。また、フロントライト画像の右端画像と、バックライト画像の右端画像との各原点（画像の左上の角）も一致させる。これにより、図４９に示したように、コネクタの全体を示したフロントライト画像とバックライト画像とが作成される。
【０１１１】
＜ピンやハウジングの検出方法＞
上述の実施例は、モデル画像を用いたパターンマッチングを用いて検査対象物８のハウジングやピンを検出する例であった。しかし、必ずしもモデル画像は必要ではない。
【０１１２】
図５０は、エッジ検出を利用したピンの検出方法を示す図である。画像処理部３０は、エッジ検出を実行することで、複数の横方向のエッジや縦方向のエッジを検出する。そして、検出された所定方向のエッジの中間位置（中心位置）が基準点２００として自動設定される。画像処理部３０は、基準点２００から各エッジまでの距離を算出し、その距離が所定距離（一定の公差範囲内であれば許容される）であるエッジの組み合わせをサーチする。この例では、ピン４１の左端に相当するエッジ２０１と右端に相当するエッジ２０２とが、ピンの検出条件に合致するエッジとして認識される。同様に、画像処理部３０は、ピン４１の上端に相当するエッジ２０３とし下端に相当するエッジ２０４とを、ピンの検出条件に合致するエッジとして認識する。これらは、基準点２００からの距離がピンの検出条件に合致しているからである。このように、画像処理部３０は、画像の全体についてエッジ検出を実行することで、各ピンの位置を検出できる。
【０１１３】
図５１は、エッジ検出を利用したハウジングの検出方法を示す図である。画像処理部３０は、複数の横方向のエッジや縦方向のエッジを検出し、基準点２１０において直交するエッジ２１１とエッジ２１２を抽出する。ここで、エッジ２１１とエッジ２１２は最も外側に位置するエッジである。基準点（交点）２１０は、エッジ２１１とエッジ２１２が抽出された後、エッジ２１１とエッジ２１２が交差する点として自動設定される。このような検出条件を予め設定しておくことで、画像処理部３０は、エッジ検出を利用してハウジングの端を検出してもよい。
【０１１４】
＜検査対象物の両側を検査する際のパラメータ設定の補助＞
図５２は、検査対象物の両側を検査する際のフロントカメラ４ａとバックカメラ４ｂとを示した図である。検査対象物８には、２つの金具６０６と、１６本のピン６０７とが設けられている。なお、図５２において、１から８までのローマ数字はピン番号を示し、ｉからｖｉｉｉまでのギリシャ数字は、ピン番号に対応した領域の番号を示している。たとえば、１番ピンの検査領域は、ｉ番の検査領域である。
【０１１５】
フロントカメラ４ａとバックカメラ４ｂは、搬送装置７の両側に配置されている。フロントカメラ４ａは、搬送方向（検査対象物８の進行方向）に向かって左側から検査対象物８を撮像する。つまり、フロントカメラ４ａは、検査対象物の搬送方向と略平行な軸を対称軸としたときに複数の特徴部分が線対称に設けられた検査対象物のうち、一方の側に設けられた複数の特徴部分を撮像する第１の撮像部として機能する。バックカメラ４ｂは、搬送方向（検査対象物８の進行方向）に向かって右側から検査対象物８を撮像する。このように、バックカメラ４ｂは、前記検査対象物のうち、他方の側に設けられた複数の特徴部分を撮像する第２の撮像部として機能する。この例では、フロントカメラ４ａの光軸と、バックカメラ４ｂの光軸とは搬送方向に直交している。フロントカメラ４ａと、バックカメラ４ｂとが同時に撮像を実行する。これにより、フロントカメラ４ａと、バックカメラ４ｂとのそれぞれにより取得された画像における検査対象物８の位置が一致する。なお、左側、右側は一方の側と他方の側の一例にすぎず、上側や下側など、被写体に対して光軸が平行な場合だけでなく、２つのカメラの光軸がα度だけ傾いているように、光軸が平行でない場合であってもよい。
【０１１６】
ところで、外観検査の対象となっている検査対象物８の良否を判定するためには、上述したように、ユーザは、予め検査対象物８の端子の端部やコーナー部を基準点として設定したり、複数の端子を結ぶ直線を基準線として設定したりする必要がある。たとえば、１００本のピンを有するコネクタについては、１００本のピンのそれぞれについて計測や良否判定のためのパラメータを設定しなければならない。よって、ユーザの作業量もピン数に比例して増加する。
【０１１７】
図５２に示したように検査対象物８の両側を検査する場合には、検査対象物８の両側のそれぞれにパラメータを個別に設定する必要がある。ユーザの作業負担は、検査対象物８において検査を必要とされるピンなどの特徴部分の数に比例して増える。検査対象物８の両側を検査する場合には、作業負担がさらに２倍になってしまう。よって、市場からは、検査対象物８の両側のそれぞれにパラメータを設定する際の作業負担を軽減することが求められているといえる。
【０１１８】
図５３は、フロントカメラ４ａによって取得された検査対象物８の部分画像６０１、６０２、６０３と、各特徴部分に設定された検査領域６０５との関係を示している。この例では、検査対象物８の撮像回数は３回である。部分画像６０１は１番目に取得された画像である。部分画像６０２は２番目に取得された画像である。部分画像６０３は３番目に取得された画像である。部分画像６０１、部分画像６０２および部分画像６０３をそれぞれ撮像した順番にしたがって左から右に並べることで、全体画像６００が得られている。なお、検査対象物８の進行方向（搬送方向）は、図５３において左方向である。図５３には、検査対象物８の進行方向左側の側面（左側面６０４）が示されている。１番ピンから８番ピンにはそれぞれピン検査用の検査領域６０５が設定されている。検査対象物８の進行方向に向かって前端と後端とにはそれぞれ金具６０６が設けられている。この２つの金具６０６にも、端検査用の検査領域６０５が設定されている。
【０１１９】
図５４（Ａ）は、バックカメラ４ｂによって取得された検査対象物８の部分画像６５１、６５２、６５３と、各特徴部分に設定された検査領域６５５との関係を示している。部分画像６５１は１番目に取得された画像である。部分画像６５２は２番目に取得された画像である。部分画像６５３は３番目に取得された画像である。図５４（Ａ）において、部分画像６５１、部分画像６５２および部分画像６５３はそれぞれ撮像した順番にしたがって左から右に並べられ、全体画像６５０が得られている。なお、検査対象物８の進行方向は、図５３において右方向である。図５３には、検査対象物８の進行方向右側の側面（右側面６５４）が示されている。
【０１２０】
検査領域６５５は、フロントカメラ４ａによって取得された検査対象物８に対して設定された検査領域６０５の座標を、そのままコピーして得られたものである。
【０１２１】
図５４（Ａ）から明らかなように、部分画像６５１と部分画像６５３はそれぞれ撮像された順番にしたがって配置されているため、全体画像６５０において検査対象物８がただしく再現されていない。また、部分画像６５１と部分画像６５３に関しては、検査領域６５５とその対象となっているピンや金具の位置もずれてしまっている。このように、検査領域６０５を単純にコピーして検査領域６５５を設定するだけでは、ユーザの負担を軽減できない。
【０１２２】
図５４（Ｂ）は、検査対象物８を正確に再現するために複数の部分画像の配置を並び替える手法を説明するための図である。図５４（Ｂ）が示すように、撮像順番にしたがった並び順を反転させている。つまり、１番目に取得された部分画像６５１を３番目に配置し、２番目に取得された部分画像６５２を２番目に配置し、３番目に取得された部分画像６５３を１番目に配置している。このように、撮像順番にしたがった並び順を昇順から降順へ反転させることで、検査対象物８をただしく再現した全体画像が得られる。
【０１２３】
ただし、図５４（Ｂ）が示すように、部分画像の並び順を反転させるだけでは、検査領域６５５は正しく設定されない。
【０１２４】
図５４（Ｃ）は、検査領域６５５を検査対象物８の画像に対して正しく設定するために検査領域６５５をミラー反転させる例を示した図である。ここで、ミラー反転とは、全体画像の中心を縦方向に通る中心線６５６を基準として線対称となるように検査領域６５５の座標を変更することをいう。
【０１２５】
図５４（Ｃ）が示すように、フロントカメラ４ａによって取得された全体画像６００に対して設定された検査領域６０５をミラー反転させることで、バックカメラ４ｂによって取得された全体画像６５０に対して正しく検査領域６５５を設定できるようになる。
【０１２６】
●ユーザインタフェース
図５５は、パラメータを設定するためのＵＩの一例を示す図である。カメラ切り替えタブ７０１は、フロントカメラ４ａにより取得された画像に対するパラメータの設定画面と、バックカメラ４ｂにより取得された画像に対するパラメータの設定画面とを切り替えるタブである。ユーザはマウス９により、設定を希望するほうのタブを選択することで、設定画面が切り替わる。とりわけ、図５５には、フロントカメラ４ａにより取得された全体画像６００と各特徴部分（例：ピンや端部金具）に対して設定されたパラメータ（例：検査領域６０５）が示されている。ここでは、説明を簡明にするために検査領域６０５だけが例示されているが、上述したサーチ領域や基準点、基準線、公差などの他のパラメータも表示されてもよい。
【０１２７】
図５６は、パラメータを設定するためのＵＩの一例を示す図である。とりわけ、図５６には、バックカメラ４ｂにより取得された全体画像６５０と各特徴部分（例：ピンや端部金具）に対して設定されたパラメータ（例：検査領域６５５）が示されている。ここでは、ツール追加ボタン７０２をマウス９により操作することで、コネクタ寸法検査ツールがバックカメラ４ｂにより取得された全体画像６５０に対して追加される。この際に、フロントカメラ４ａによって取得された全体画像６００に対して設定されているパラメータが、バックカメラ４ｂにより取得された全体画像６５０に対して追加される。この段階では、部分画像６５１の並び順は撮像順番に一致しているため、検査対象物８が見た目には再現されていない。また、検査領域６５５の位置もピンや端部金具などの位置に一致してはない。そこで、編集ボタン７０３をマウス９で操作することにより、部分画像の並び替えと検査領域６５５の調整を行う画面に遷移する。
【０１２８】
図５７は、画像を並び替えるためのＵＩの一例を示す図である。画像の並び順を選択するためのプルダウンメニュー７０４をマウス９により操作することにより、部分画像を左から右に並べるのか、右から左に並べるのかを選択できる。左から右に並べる場合、一番左には、最初に撮像された部分画像が配置される。そして、左から２番目には、２番目に撮像された部分画像が配置される。右から左に並べる場合、一番右には、最初に撮像された部分画像が配置される。そして、右から２番目には、２番目に撮像された部分画像が配置される。バックカメラ４ｂによって撮像された部分画像については、右から左に並べ替えることで、検査対象物８が見た目上は再現される。プルダウンメニュー７０４によって並び順が指定され、完了ボタン７０５がマウス９により操作されると、並び替えが実行される。
【０１２９】
図５８は、部分画像を並び替えて連結された全体画像を示すＵＩの一例を示す図である。図５８が示すように、１番目に取得された部分画像６５１が１番右に移動し、最後に取得された部分画像６５３が一番左に移動している。これにより、検査対象物８が見た目上は再現される。ただし、検査領域６５５については、まだ、検査対象物８に対して一致していない。そこで、編集ボタン７０３を操作することで、検査領域６５５の位置を修正する画面に遷移する。
【０１３０】
図５９は、検査領域６５５の位置を修正する画面の一例を示す図である。たとえば、ユーザはマウス９を右クリックすることでメニューをモニタ１０に表示させ、当該メニューから検査領域のミラー反転（左右反転）を選択することにより、検査領域６５５の位置を反転させる。とりわけ、図５９は、検査領域６５５の位置が反転した様子を示している。図５９からわかるように、各検査領域６５５が端部金具やピンに対して一致していることがわかる。
【０１３１】
＜内部処理について＞
以下ではＣＰＵ２２や画像処理部３０で実現されている機能について説明する。なお、各機能は、ＣＰＵ２２だけで実現されてもよいし、画像処理部３０だけで実現されてもよいし、ＣＰＵ２２と画像処理部３０との連携動作によって実現されてもよい。
【０１３２】
図６０は、外観検査装置１の機能ブロック図である。図２を用いてすでに説明したように、照明装置５は、検査対象物８に対して複数の異なる照明光を照射する照明部として機能する。照明制御部２６が、ＣＰＵ２２または画像処理部３０からの指示にしたがって照明装置５が照射する照明光を切り替えるように照明装置５を制御する。カメラ４は。照明装置５によって照明光を照射された検査対象物８を撮像する撮像部として機能する。また、外観検査装置１は、カメラ４により取得された検査対象物８の画像に対して計測処理を実行する装置である。
【０１３３】
撮像制御部３０１は、フロントライトやバックライトなど照明光の切り替えを照明制御部２６に命令したり、カメラ４に撮像を命令したりする制御部である。撮像制御部３０１は、検査対象物８を分割して撮像する際のカメラ４の制御や照明装置５の制御も担当する。
【０１３４】
第１の画像記憶部３０４は、照明装置５により第１の照明光（例：フロントライト）が照射された検査対象物８の所定の領域（例：コネクタの全体やコネクタの左端、中間、右端など）をカメラ４が撮像して取得した第１の画像（例：フロントライト画像やその部分画像など）を記憶する。第２の画像記憶部３０５は、照明装置５により第２の照明光（例：バックライト）が照射された検査対象物８の所定の領域をカメラ４が撮像して取得した第２の画像（例：バックライト画像やその部分画像など）を記憶する。なお、第１の画像記憶部３０４や第２の画像記憶部３０５は、たとえば、ワークメモリ２３により実現される。表示制御部２８やモニタ１０は、第１の画像と第２の画像とを表示する表示部として機能する。
【０１３５】
ＵＩ制御部３１０は、上述したＵＩ６０などの表示系のユーザインタフェースやマウス９やキーボードなどの入力系のインタフェースを制御する。ＵＩ制御部３１０は、さらに種々の機能部に分かれている。パラメータ設定部３３０は、基準画像などの基本画像に対して計測対象となる部位の画像であるモデル画像と計測処理に必要となる数値とを含む複数のパラメータを設定する。パラメータ設定部３３０もさらに種々の機能部に分かれている。図２１ないし図２５などを用いて説明したように、第１の計測対象設定部３１１は、モニタ１０に表示されている第１の画像と第２の画像とのうちの一方の画像において、検査対象物８に関する寸法を計測するための起点となる特徴部分（例：ピンの検出点）を設定する。
【０１３６】
図３０ないし図３７を用いて説明したように、第２の計測対象設定部３１２は、モニタ１０に表示されている第１の画像と第２の画像とのうちの他方の画像において、検査対象物８に関する寸法を計測するための終点となる特徴部分（例：ハウジングの角を検出するための検出点や複数の検出点間を結ぶ基準線など）を設定する。第１の計測対象設定部３１１や第２の計測対象設定部３１２により設定されたモデル画像、基準点、基準線などのデータは、特徴データ記憶部３０６に格納される。特徴データ記憶部３０６もワークメモリ２３によって実現される。
【０１３７】
寸法算出部３０２は、カメラ４によって撮像されて取得された、ラインを搬送される検査対象物８の画像に対して、複数のパラメータを使用して、検査対象物８についての計測処理を実行する計測処理部として機能する。たとえば、寸法算出部３０２は、第１の計測対象設定部３１１により設定された起点となる特徴部分から第２の計測対象設定部３１２により設定された終点となる特徴部分までの寸法を算出する。ここで、寸法とは、距離や面積などである。
【０１３８】
ＵＩ制御部３１０は、検査対象物８の外観の良否を判定するための閾値を設定する閾値設定部３１３を有していてもよい。良否判定部３０３は、計測処理部の計測結果（寸法算出部３０２により算出された寸法と閾値との比較結果など）に基づいて、検査対象物８の外観の良否を判定する。たとえば、寸法算出部３０２が複数のピンについて求めたピン高さが、閾値設定部３１３により公差や標準値から求められた上限値を超えている場合、良否判定部３０３は、不良と判定する。
【０１３９】
図６などを用いて説明したように、ＵＩ制御部３１０は、第１の画像の横方向の端部と第２の画像の横方向の端部とが一致するように第１の画像と第２の画像とを同時にモニタ１０が表示するようユーザインタフェースの表示データを作成し、表示制御部２８に渡す。つまり、ＵＩ制御部３１０は、モニタ１０が、第１の画像の横方向の端部と第２の画像の横方向の端部とを揃えて第１の画像と第２の画像とを上下に並べて表示するように表示データを作成する。また、ＵＩ制御部３１０は、第１の画像と第２の画像とのうちの一方の画像に対して設定された起点となる特徴部分を示す指標（例：サーチ領域、検査領域、検出点を示す十字マークなど）を、第１の画像と第２の画像とのうちの他方の画像に対しても連動して表示するように表示データを作成するようにしてもよい（少なくとも、検出点を示す十字マークが連動して表示されるようにするのが好ましい）。なお、ＵＩ制御部３１０は、第１の画像と第２の画像とのうちの他方の画像に対して設定された終点となる特徴部分を示す指標を、第１の画像と第２の画像とのうちの一方の画像に対しても連動して表示するための表示データを作成してもよい。このように、ＵＩ６０においては、サーチ領域、検査領域、検出点を示す十字マークなどは、フロントライト画像とバックライト画像との間で連動して表示されることになる。たとえば、ＵＩ制御部３１０は、バックライト画像を用いて設定したサーチ領域、検査領域、検出点をそのままフロントライト画像にも設定して表示する。バックライト画像の原点をバックライト画像の左上角とし、フロントライト画像の原点をフロントライト画像の左上角とすると、バックライト画像を用いて設定したサーチ領域、検査領域、検出点の座標と、フロントライト画像におけるサーチ領域、検査領域、検出点の座標とを一致させる。これにより、ＵＩ制御部３１０は、フロントライト画像の原点をフロントライト画像の左上角とすると、バックライト画像を用いて設定したサーチ領域、検査領域、検出点と、フロントライト画像におけるサーチ領域、検査領域、検出点とを連動して表示させることができる。
【０１４０】
第１の計測対象設定部３１１および第２の計測対象設定部３１２は特徴部分として、画像上の一か所以上の座標である基準点８２、８５、１２０、１３１、１７１、１７２、１７３、１７４、２００、２１０を設定する。
【０１４１】
図２１などを用いて説明したように、ＵＩ制御部３１０は、モニタ１０が一方の画像を拡大表示するための表示データを作成してもよい。第１の計測対象設定部３１１は、モニタ１０に拡大表示された一方の画像に、マウス９の操作にしたがって特徴部分を設定する。
【０１４２】
図３０などを用いて説明したように、ＵＩ制御部３１０は、モニタ１０が他方の画像を拡大表示するための表示データを作成してもよい。第２の計測対象設定部３１２は、モニタ１０に拡大表示された他方の画像に、マウス９の操作にしたがって特徴部分を設定する。
【０１４３】
図３５ないし図３７を用いて説明したように、第２の計測対象設定部３１２は、他方の画像に対して指定された２つの基準点を結ぶ直線である基準線８１を特徴部分として設定してもよい。とりわけ、ハウジング４０の角を基準点として設定する場合、フロントライト画像では角の検出が難しくなってしまう。そこで、バックライト画像に対して、ハウジング４０の角を基準点として設定することで、角の位置を正確に検出できるようになる。また、これにより、ピンの中心から角までの距離も精度よく算出できるようになる。さらに、製品の良否判定の精度も向上することになる。
【０１４４】
図５などを用いて説明したように、画像連結部３２１は、カメラ４が検査対象物８を複数回に分割して撮像して得られた複数の部分画像を撮像された順番にしたがって左から右に並べて連結して第１の画像および第２の画像を作成する。ここで、画像連結部３２１は、第１の画像を構成する複数の部分画像の連結位置（例：共通に写っているピンの位置やマークの位置）の座標を用いて、第２の画像を構成する複数の部分画像を連結してもよい。なお、ＵＩ制御部３１０は、第１の画像において連結位置を設定する連結位置設定部３１４をさらに備えていてもよい。連結位置設定部３１４は、隣り合った部分画像に共通に写っている検査対象物のパーツ（例：ピンや金具など）の位置を連結位置に設定してもよい。図４５ないし図４９を用いて説明したように、連結位置設定部３１４は、隣り合った部分画像に共通に写っている検査対象物を固定する治具の一部（例：マーク１７０）の位置を連結位置に設定してもよい。
【０１４５】
画像連結部３２１は、検査対象物８の左端の部分画像と右端の部分画像とを第２の画像の両端に配置し、検査対象物８の中間の画像を省略して、第２の画像を作成してもよい。
【０１４６】
図６０において、画像認識部３２２は、ＵＩ制御部３１０を通じて設定された検査対象物８の良品の一部を示すモデル画像と、カメラ４により取得されたラインを流れる検査対象物８の画像とを比較し、モデル画像と一致する部分をパターン認識により特定する。画像認識部３２２は、予め設定されたサーチ領域の範囲内でモデル画像をサーチする。モデル画像と同サイズの画像領域が検査領域となる。なお、モデル画像と一致した検査領域の中心が基準点となる。なお、ＵＩ制御部を通じて基準点が微調整されていることもある。サーチ領域の座標データや基準点（検出点）の座標データは特徴データ記憶部３０６に記憶されており、画像認識部３２２や画像連結部３２１、座標計算部３２３によって使用される。座標計算部３２３は、マウス９のポインタの位置を示す座標データと、バックライト画像やフロントライト画像の座標データとからサーチ領域、検査領域および基準点の座標を算出する。
【０１４７】
第１の基本画像記憶部３３６は、フロントカメラ４ａによって良品を撮像することで取得された第１の基本画像（例：全体画像６００またはその元なる複数の部分画像）を記憶する。第１の基本画像は、外観検査の対象となっている検査対象物をフロントカメラ４ａにより撮像することで取得された第１の検査画像と比較される。第２の基本画像記憶部３３７は、バックカメラ４ｂによって良品を撮像することで取得された第２の基本画像（例：全体画像６５０またはその元なる複数の部分画像）を記憶する。第２の基本画像は、外観検査の対象となっている検査対象物をバックカメラ４ｂにより撮像することで取得された第２の検査画像と比較される。第１の領域設定部３３１は、図５３などに示したように、検査対象物の特徴部分を外観検査するために複数の第１の領域（例：検査領域６０５など）を第１の基本画像に対して設定する。図５４、図５８および図５９などを用いて説明したように、第２の領域設定部３３２は、第１の領域設定部３３１により第１の基本画像に対して設定された複数の第１の領域の配置であって当該第１の基本画像に対する配置の左右を反転させることで得られる複数の第２の領域（例：検査領域６５５）を、第２の基本画像に対して設定する。上述した良否判定部３０３は、複数の第１の領域にしたがって第１の基本画像と第１の検査画像とを比較し、複数の第２の領域にしたがって第２の基本画像と第２の検査画像とを比較することで、外観検査の対象となっている検査対象物の外観の良否を判定する。ここでいう画像の比較は、上述したような画像から求められるピン・端間の距離やピン高さと、良否判定閾値との比較などである。
【０１４８】
さらに、画像連結部３２１は、フロントカメラ４ａによって良品を撮像することで取得された複数の部分画像６０１、６０２、６０３を連結して第１の基本画像（全体画像６００）を作成する。また、画像連結部３２１は、バックカメラ４ｂによって良品の検査対象物を撮像することで取得された複数の部分画像６５１、６５２、６５３の並び順を反転させてから連結して第２の基本画像を作成する。
【０１４９】
外観検査が開始されると、画像連結部３２１は、フロントカメラ４ａによって外観検査の対象となっている検査対象物８を撮像することで取得された複数の部分画像を連結して第１の検査画像を作成する。また、画像連結部３２１は、バックカメラ４ｂによって外観検査の対象となっている検査対象物を撮像することで取得された複数の部分画像の並び順を反転させてから連結して第２の検査画像を作成する。
【０１５０】
画像左右反転部３３８は、基本画像や検査画像の左右を反転する画像処理部である。特徴部分の数変更部３３３は、検査対象物に含まれている等間隔で並んだ複数の特徴部分の数の変更を受け付ける。領域変更部３３５は、複数の特徴部分の数が減少するように変更されたときは、減少した特徴部分に対応した領域を削除し、複数の特徴部分の数が増加するように変更されたときは、隣り合った２つの検査領域の間隔に応じて領域を追加する。領域変更部３３５は、検査対象物の両端のうち一方の端部を含む部分画像において当該一方の端部の位置が、特徴部分の数の増減にかかわらず、変更されないときは、当該部分画像における当該一方の端部に対する領域の位置を変更しない。一方で、領域変更部３３５は、部分画像において当該一方の端部の位置が、特徴部分の数の増減に応じて、変更されるときは、当該部分画像における当該一方の端部に対する領域の位置を特徴部分の数の増減に応じて変更する。撮像回数変更部３３４は、検査対象物の全体を複数に分割して撮像する際の撮像回数の変更受け付ける。領域変更部３３５は、撮像回数変更部３３４により受け付けられた撮像回数が現在設定されている撮像回数から減少するときは、現在設定されている撮像回数に応じて取得された最初の部分画像と最後の部分画像とに設定されている領域を維持し、最初の部分画像と最後の部分画像との間に位置する１つ以上の部分画像に設定されている領域を撮像回数の減少数に応じて削除する。一方で、領域変更部３３５は、撮像回数変更部３３４により受け付けられた撮像回数が現在設定されている撮像回数から増加するときは、現在設定されている撮像回数に応じて取得された最初の部分画像と最後の部分画像とを維持し、最初の部分画像と最後の部分画像との間に位置する１つ以上の部分画像については現在設定されている撮像回数に応じて取得された最初の部分画像と最後の部分画像との間に位置する部分画像に設定されている領域をコピーすることで領域を設定する。
【０１５１】
ところで、第１の基本画像に対して設定された複数の第１の領域（検査領域６０５）を反転させずにそのままコピーしてもよい。ただし、この場合は、第２の基本画像を構成する各部分画像を鏡像に変換する必要がある。
【０１５２】
図６１は、図５４（Ａ）に示した部分画像６５１、６５２、６５３のそれぞれを画像左右反転部３３８がミラー反転して作成した全体画像６５０’を示している。画像左右反転部３３８は、部分画像６５１、６５２、６５３のそれぞれをミラー反転（左右反転）することで、部分画像６５１、６５２、６５３のの鏡像である部分画像６５１’、６５２’、６５３’を作成し、画像連結部３２１に渡す。画像連結部３２１は、部分画像６５１’、６５２’、６５３’を連結して、全体画像６５０’を作成する。つまり、画像連結部３２１は、バックカメラ４ｂによって良品を撮像することで取得された複数の部分画像６５１、６５２、６５３を、画像左右反転部３３８によりそれぞれ左右反転してから連結して左右の反転した第２の基本画像を作成する。図６２が示すように、この場合は、検査対象物８の画像は鏡像になっているものの、各特徴部分に対して検査領域６５５が正しく配置されていることがわかる。このように、第２の領域設定部３３２は、第１の領域設定部３３１により第１の基本画像に対して設定された複数の第１の領域（検査領域６０５）を、左右を反転した第２の基本画像（全体画像６５０’）に対してコピーすることで当該第２の基本画像に対して複数の第２の領域（検査領域６５５）を設定できる。外観検査が開始されると、画像左右反転部３３８は、第２の検査画像（部分画像）の左右を反転する。画像連結部３２１は、左右反転した部分画像を連結して全体画像を作成する。つまり、画像連結部３２１は、バックカメラ４ｂによって外観検査の対象となっている検査対象物を撮像することで取得された複数の部分画像を、画像左右反転部３３８によりそれぞれ左右を反転してから連結して左右の反転した第２の検査画像を作成する。良否判定部３０３は、複数の第１の領域にしたがって第１の基本画像と第１の検査画像とを比較し、複数の第２の領域にしたがって左右の反転した第２の基本画像と左右の反転した第２の検査画像とを比較することで、外観検査の対象となっている検査対象物の外観の良否を判定する。
【０１５３】
図６２は、検査対象物の一部が変更されるときのパラメータの再設定方法を示すフローチャートである。
【０１５４】
Ｓ６２１で、撮像制御部３０１は、フロントカメラ４ａを制御して、良品の検査対象物８の搬送方向に向かって左側から検査対象物８の左側面を撮像させるとともに、バックカメラ４ｂを制御して、検査対象物８の搬送方向に向かって右側から検査対象物８の右側面を撮像させる。このような制御は外観検査を実行して検査画像を取得するときにも実行される。
【０１５５】
Ｓ６２２で、第１の基本画像記憶部３３６は、良品の左側面を撮像することで取得された第１の全体画像６００を記憶し、第２の基本画像記憶部３３７は、良品の右側面を撮像することで取得された全体画像６５０を記憶する。なお、撮像回数が複数回である場合、画像連結部３２１が画像連結を実行する。なお、これらの記憶部には部分画像がそのまま記憶されており、ＵＩに対して表示するときにだけ、画像連結を実行してもよい。
【０１５６】
Ｓ６２３で、第１の領域設定部３３１は、フロントカメラ４ａによって取得された全体画像６００に対し、検査対象物８の外観検査の対象となる複数の特徴部分に対応して複数の検査領域６０５を設定する。つまり、第１の領域設定部３３１は、ピンや金具端部、ハウジング端部などへのサーチ領域、検査領域および基準点などのパラメータを設定する。この設定方法は、すでに詳細に説明したとおりである。
【０１５７】
Ｓ６２４で、ＵＩ制御部３１０は、マウス９によるカメラ切り替えタブ７０１の操作を検知すると、バックカメラ４ｂによって取得された全体画像６５０に対する設定画面（例：図５６）をモニタ１０に表示させる。
【０１５８】
Ｓ６２５で、ＵＩ制御部３１０は、画像の並び順を変更するための並び順序変更画面（図５７）をモニタ１０に表示させる。ＵＩ制御部３１０は、マウス９に対する右クリック操作に応答してプルダウンメニュー７０４を表示し、マウス９によって指定された並び順の変更を受け付ける。
【０１５９】
Ｓ６２６で、第２の領域設定部３３２は、受け付けた並び順の変更に応じて、画像連結部３２１を制御し、バックカメラ４ｂによって撮像された複数の部分画像６５１、６５２、６５３を並び替える。
【０１６０】
Ｓ６２７で、第２の領域設定部３３２は、全体画像６００に対して設定された複数の検査領域６０５の配置であって全体画像６００に対する配置の左右を反転させることで得られる複数の検査領域６５５を、全体画像６５０に対して設定する。たとえば、第２の領域設定部３３２は、全体画像６００に対して設定された複数の検査領域６０５の座標データをコピーし、それをミラー反転することで、複数の検査領域６５５の座標を求め、全体画像６５０に対して設定する。検査領域６５５の座標データは、特徴データ記憶部３０６に記憶され、良否判定部３０３によって使用される。
【０１６１】
ところで、第２の領域設定部３３２は、全体画像６００に対して設定された複数の検査領域６０５の座標データをそのままコピーすることで複数の検査領域６５５の座標を求めてもよい。ただし、この場合、図６１に示したように、第２の領域設定部３３２は、画像左右反転部３３８を制御して、バックカメラ４ｂによって取得された部分画像６５１、６５２、６５３のそれぞれを左右反転させてもよい。
【０１６２】
図６３は、部分画像６５１、６５２、６５３のそれぞれを左右反転させることを示すＵＩの一例を示す図である。図５７に示したＵＩにおいてマウス９の右クリックによって画像左右反転処理を選択することにより、画像左右反転部３３８が起動する。画像左右反転部３３８はバックカメラ４ｂによって取得された部分画像６５１、６５２、６５３のそれぞれを左右反転させる。図６３によれば、全体画像６００に対して設定された複数の検査領域６０５の座標データをそのままコピーするだけで、複数の検査領域６５５の座標が求められることを示している。なお、ラインを流れる検査対象物８についてバックカメラ４ｂによって取得された検査画像についても画像左右反転部３３８は左右反転を実行して、画像認識部や良否判定部３０３などに渡すことになる。
【０１６３】
●ピン数の変更に伴うパラメータの変更処理
市場には、ピン数が異なる同種のコネクタが多数存在する。よって、あるピン数のコネクタに設定されている検査用のパラメータを他のピン数のコネクタのパラメータとして流用できれば便利であろう。なお、ここでは、フロントカメラ４ａによって取得された画像に対するパラメータの設定について説明するが、上述したようにバックカメラ４ｂによって取得された画像に対するパラメータについては、フロントカメラ４ａによって取得された画像に対する変更後のパラメータを同様に流用できる。
【０１６４】
図６４は、部分画像の撮像回数とピン数を設定するためのＵＩの一例を示す図である。図６４によれば、撮像回数設定ボタン７４０によって撮像回数を１回から３回までマウス９によって指定できる例が示されている。また、ピン数設定部７３０には、各撮像回によって撮像されるピン数が設定される。この例では、撮像回数は３回であり、１番目の部分画像には３２個のピンが含まれ、２番目の部分画像には３９個のピンが含まれ、３番目の部分画像には３２個のピンが含まれる事例が示されている。
【０１６５】
図６５（Ａ）は、８ピンのコネクタの一例を示している。図６５（Ｂ）は、１０ピンのコネクタに対して８ピンのコネクタ用のパラメータをコピーした事例を示している。１０ピンのコネクタは、８ピンのコネクタよりもピン数が２本の多いため、左から９番目のピンと１０番目のピンには検査領域が設定されておらず、右端の金具の検査領域もずれている。
【０１６６】
図６５（Ｃ）は、左から９番目のピンと１０番目のピンに検査領域をコピーしつつ、端部金具の検査領域の座標をシフトすることを示している。ピン数設定部７３０において、３番目の部分画像６０３におけるピン数が１本から３本に変更されると、領域変更部３３５は、８番目のピンの検査領域６０５を９番目のピンと１０番目のピンに対して複製する。なお、各ピンは等間隔（一定のピン間隔）で並んでおり、各ピンに対する検査領域も等間隔（一定の領域間隔）で並んでいることを前提としている。領域変更部３３５は、８番目の検査領域の右端から領域間隔だけシフトした位置に９番目の検査領域の左端が来るように、９番目の検査領域の座標を決定する。同様に、領域変更部３３５は、８番目の検査領域の右端から、２つの領域間隔と１つの検査領域の幅との和だけシフトした位置に１０番目の検査領域の左端が来るように、１０番目の検査領域の座標を決定する。なお、これは、９番目の検査領域の右端から１つの領域間隔だけシフトした位置に１０番目の検査領域の左端が来るように、１０番目の検査領域の座標を決定することと同義である。領域変更部３３５は、８番目の検査領域の右端から、１つの領域間隔と１つの検査領域の幅との和に対してピンの増加数を乗算して得られる距離だけ、端部金具の検査領域を右にシフトする。
【０１６７】
図６６は、ピン数の変更に伴うパラメータの変更処理を示すフローチャートである。
【０１６８】
Ｓ６６１で、特徴部分の数変更部３３３は、ピン数変更画面（例：図６４に示した画面）をモニタ１０に表示させる。
【０１６９】
Ｓ６６２で、特徴部分の数変更部３３３は、ピン数変更画面を通じてマウス９により入力された変更後のピン数を受け付ける。
【０１７０】
Ｓ６６３で、領域変更部３３５は、特徴部分（ピン）の変更数量に応じてパラメータを増減させる。たとえば、現在設定されているピン数からピン数が増加するときには、領域変更部３３５は、予め設定されている検査領域を追加されるピン数に応じてコピーすることで、追加されたピンに検査領域を設定する。また、領域変更部３３５は、端部金具の検査領域を、追加されるピン数に応じて右にシフトする。現在設定されているピン数からピン数が減少するときには、領域変更部３３５は、予め設定されている検査領域を削減されるピン数に応じて削除する。また、領域変更部３３５は、端部金具の検査領域を、削減されるピン数に応じて左にシフトする。
【０１７１】
Ｓ６６４で、領域変更部３３５は、ピン数の変更量に応じて最終画像における端部金具の検査領域をシフトする。たとえば、現在設定されているピン数からピン数が増加するときには、領域変更部３３５は、端部金具の検査領域を、追加されるピン数に応じて右にシフトする。現在設定されているピン数からピン数が減少するときには、領域変更部３３５は、端部金具の検査領域を、削減されるピン数に応じて左にシフトする。
【０１７２】
このようにユーザは変更後のピン数を指定することで、領域変更部３３５が検査領域の配置を適宜修正する。よって、ユーザの作業負担が軽減される。
【０１７３】
●撮像回数の変更に伴うパラメータの変更処理
図６７（Ａ）および図６７（Ｂ）は、撮像回数の変更に伴うパラメータの変更処理を説明するための図である。とりわけ、図６７（Ａ）は、８ピンのコネクタの一例を示している。図６７（Ｂ）は、ピン数が４本増加するとともに撮像回数も１回増加する事例を示している。図６７（Ｂ）によれば、１番目の部分画像６０１と最終番目の部分画像６０３との間に中間の部分画像６０２”が追加されている。つまり、この事例は、特徴部分の数変更部３３３が８本から１２本への変更を受け付け、撮像回数変更部３３４が３回から４回への変更を受け付けた事例である。よって、領域変更部３３５は、中間の部分画像６０２”の各特徴部分であるピンに対して検査領域６０５を追加すればよい。なお、ここでは、フロントカメラ４ａによって取得された画像に対するパラメータの設定について説明するが、上述したようにバックカメラ４ｂによって取得された画像に対するパラメータについては、フロントカメラ４ａによって取得された画像に対するパラメータを同様に流用できる。
【０１７４】
図６８は、撮像回数の変更に伴うパラメータの変更処理を示すフローチャートである。
【０１７５】
Ｓ６８１で、撮像回数変更部３３４は、撮像回数の変更を受け付けるための撮像回数変更画面をモニタ１０に表示させる。
【０１７６】
Ｓ６８２で、撮像回数変更部３３４は、マウス９を通じて入力される撮像回数の変更を受け付ける。なお、撮像回数は、増加する場合もあれば、減少する場合もある。また、最終番目の撮像回において取得された部分画像におけるピン数の変更に応じて端部の検査領域を変更する場合もある。
【０１７７】
Ｓ６８３で、領域変更部３３５は、撮像回数変更部３３４により受け付けられた撮像回数が現在設定されている撮像回数よりも増加するかを判定する。増加する場合はＳ６８４に進み、減少する場合は、Ｓ６８５に進む。
【０１７８】
Ｓ６８４で、領域変更部３３５は、撮像回数の増加量に応じて検査領域を追加する。たとえば、現在設定されている撮像回数が１回であり、変更後の撮像回数が２回であれば、領域変更部３３５は、第１のコネクタについて１番目の部分画像に現在設定されているピンの検査領域を、第２のコネクタの１番目および２番目の部分画像にコピーする。なお、第１のコネクタは、たとえば、撮像回数が変更される前のコネクタであり、第２のコネクタは撮像回数が増加したコネクタである。
【０１７９】
たとえば、現在設定されている撮像回数が２回であり、変更後の撮像回数が３回であれば、領域変更部３３５は、第１のコネクタについて１番目の部分画像に現在設定されているピンの検査領域を、第２のコネクタの１番目および２番目の部分画像にコピーする。さらに、領域変更部３３５は、第１のコネクタについて２番目の部分画像に現在設定されているピンの検査領域を、第２のコネクタの３番目の部分画像にコピーする。
【０１８０】
たとえば、現在設定されている撮像回数が３回であり、変更後の撮像回数が４回であれば、領域変更部３３５は、第１のコネクタについて１番目の部分画像に現在設定されているピンの検査領域を、第２のコネクタの１番目から３番目の各部分画像にコピーする。さらに、領域変更部３３５は、第１のコネクタについて３番目の部分画像に現在設定されているピンの検査領域を、第２のコネクタの４番目の部分画像にコピーする。
【０１８１】
Ｓ６８５で、領域変更部３３５は、撮像回数の減少量に応じて検査領域を削除する。たとえば、現在設定されている撮像回数がｎ回であり、変更後の撮像回数がｍ回であれば、領域変更部３３５は、左から（ｍ−１）番目から（ｎ−１）番目までの部分画像に設定されていた検査領域を削除し、最終番目であるｎ番目の部分画像に設定されていた検査領域をｍ番目の部分画像の検査領域にコピーする。ただし、ｍ＝１の場合は、ｎ番目の部分画像の検査領域をコピーせずに削除する。
【０１８２】
以上説明したように、本実施例によれば、検査対象物の一方の側面の画像に対して設定されているパラメータをコピーして他方の側面の画像に対して設定することでユーザの作業負担を軽減している。とりわけ、一方の側面の画像と他方の側面の画像とでは、画像内での検査対象物８の搬送方向が逆になっている。そこで、一方の側面の画像に設定されている検査領域やサーチ領域、基準点などの位置をミラー反転させることで、他方の画像に対して設定すべき検査領域やサーチ領域、基準点の座標として流用できる。なお、他方の側面の画像が複数の部分画像によって構成されるときは、複数の部分画像の並び順を反転させてから連結して全体画像を作成すればよい。
【０１８３】
一方の側面の画像に設定されている検査領域やサーチ領域、基準点の座標をそのまま、他方の画像に対して設定すべき検査領域やサーチ領域、基準点の座標としてコピーしてもよい。ただし、この場合は、他方の側面の画像を左右反転させる（すなわち鏡像化する）必要がある。他方の側面の画像が複数の部分画像によって構成されるときは、複数の部分画像それぞれを左右反転させてから連結して全体画像を作成すればよい。
【０１８４】
検査対象物８に含まれている等間隔で並んだ複数の特徴部分の数が変更されるときは、その変更量に応じてパラメータの設定箇所を増減することで、ユーザの負担が軽減される。たとえば、領域変更部３３５は、複数の特徴部分の数が減少するように変更されたときは、減少した特徴部分に対応した領域を削除し、複数の特徴部分の数が増加するように変更されたときは、隣り合った２つの検査領域の間隔に応じて領域を追加する。なお、領域変更部３３５は、検査対象物８の両端のうち一方の端部を含む部分画像において一方の端部の位置が、特徴部分の数の増減にかかわらず、変更されないときは、当該部分画像における一方の端部に対する領域の位置を変更せずに維持する。これは、中間に位置する部分画像が追加または削除されるケースである。一方で、部分画像において一方の端部の位置が、特徴部分の数の増減に応じて、変更される場合、領域変更部３３５は、当該部分画像における当該一方の端部に対する領域の位置を特徴部分の数の増減に応じて変更する。これは、図６５を用いて説明したケースである。この場合、領域変更部３３５は、一方の端部を含む最終番目の部分画像において領域の追加または削除と、端部の領域のシフトを実行する。よって、このような複雑なケースであっても、本実施によれば、ユーザの負担が軽減される。
【０１８５】
本実施例によれば、検査対象物の全体を複数に分割して撮像する際の撮像回数が変更されるときも、パラメータの設定作業にともなうユーザの負担を軽減できる。領域変更部３３５は、撮像回数変更部３３４により受け付けられた撮像回数が現在設定されている撮像回数から減少するときは、現在設定されている撮像回数に応じて取得された最初の部分画像と最後の部分画像とに設定されている領域を維持しつつ、最初の部分画像と最後の部分画像との間に位置する１つ以上の部分画像に設定されている領域を撮像回数の減少数に応じて削除する。一方で、撮像回数変更部３３４により受け付けられた撮像回数が現在設定されている撮像回数から増加する場合、領域変更部３３５は、現在設定されている撮像回数に応じて取得された最初の部分画像と最後の部分画像とを維持しつつ、最初の部分画像と最後の部分画像との間に位置する１つ以上の部分画像については現在設定されている撮像回数に応じて取得された最初の部分画像と最後の部分画像との間に位置する部分画像に設定されている領域をコピーすることで領域を設定する。よって、撮像回数が変更されるような複雑なケースでも、本実施例によれば、パラメータの変更作業にともなうユーザの負担を軽減できる。
【図１】
2014055915.tif 000003
【図２】
2014055915.tif 000004
【図３】
2014055915.tif 000005
【図４】
2014055915.tif 000006
【図５】
2014055915.tif 000007
【図６】
2014055915.tif 000008
【図７】
2014055915.tif 000009
【図８】
2014055915.tif 000010
【図９】
2014055915.tif 000011
【図１０】
2014055915.tif 000012
【図１１】
2014055915.tif 000013
【図１２】
2014055915.tif 000014
【図１３】
2014055915.tif 000015
【図１４】
2014055915.tif 000016
【図１５】
2014055915.tif 000017
【図１６】
2014055915.tif 000018
【図１７】
2014055915.tif 000019
【図１８】
2014055915.tif 000020
【図１９】
2014055915.tif 000021
【図２０】
2014055915.tif 000022
【図２１】
2014055915.tif 000023
【図２２】
2014055915.tif 000024
【図２３】
2014055915.tif 000025
【図２４】
2014055915.tif 000026
【図２５】
2014055915.tif 000027
【図２６】
2014055915.tif 000028
【図２７】
2014055915.tif 000029
【図２８】
2014055915.tif 000030
【図２９】
2014055915.tif 000031
【図３０】
2014055915.tif 000032
【図３１】
2014055915.tif 000033
【図３２】
2014055915.tif 000034
【図３３】
2014055915.tif 000035
【図３４】
2014055915.tif 000036
【図３５】
2014055915.tif 000037
【図３６】
2014055915.tif 000038
【図３７】
2014055915.tif 000039
【図３８】
2014055915.tif 000040
【図３９】
2014055915.tif 000041
【図４０】
2014055915.tif 000042
【図４１】
2014055915.tif 000043
【図４２】
2014055915.tif 000044
【図４３】
2014055915.tif 000045
【図４４】
2014055915.tif 000046
【図４５】
2014055915.tif 000047
【図４６】
2014055915.tif 000048
【図４７】
2014055915.tif 000049
【図４８】
2014055915.tif 000050
【図４９】
2014055915.tif 000051
【図５０】
2014055915.tif 000052
【図５１】
2014055915.tif 000053
【図５２】
2014055915.tif 000054
【図５３】
2014055915.tif 000055
【図５４】
2014055915.tif 000056
【図５５】
2014055915.tif 000057
【図５６】
2014055915.tif 000058
【図５７】
2014055915.tif 000059
【図５８】
2014055915.tif 000060
【図５９】
2014055915.tif 000061
【図６０】
2014055915.tif 000062
【図６１】
2014055915.tif 000063
【図６２】
2014055915.tif 000064
【図６３】
2014055915.tif 000065
【図６４】
2014055915.tif 000066
【図６５】
2014055915.tif 000067
【図６６】
2014055915.tif 000068
【図６７】
2014055915.tif 000069
【図６８】
2014055915.tif 000070