(57)【特許請求の範囲】
【請求項１】
オブジェクトを示すテンプレート画像の特徴量が共通する夫々の共通領域に基づいて、当該テンプレート画像から複数の子テンプレート画像を生成する子テンプレート画像生成部と、
前記子テンプレート画像生成部によって生成された複数の子テンプレート画像を記憶する子テンプレート画像記憶部と、
検査対象画像を取得する画像取得部と、
前記子テンプレート画像記憶部に記憶されている複数の子テンプレート画像のなかから子テンプレート画像を順次選択する子テンプレート画像選択部と、
前記画像取得部によって取得された前記検査対象画像の画素位置であって、前記子テンプレート画像選択部によって選択された前記子テンプレート画像との相関が高い高相関画素位置を検出する高相関画素位置検出部と、
前記高相関画素位置検出部において夫々の前記子テンプレート画像から検出した夫々の前記高相関画素位置が収束したか否かを判定する収束判定部と、
前記収束判定部によって前記高相関画素位置が収束したと判定された場合に、前記夫々の前記子テンプレート画像から検出した夫々の前記高相関画素位置に基づいて前記検査対象画像のオブジェクトの位置を特定するオブジェクト位置特定部と
を備え、
前記高相関画素位置検出部は、既に検出した前記高相関画素位置に基づき決定される検出対象領域において前記高相関画素位置を検出し、
前記収束判定部は、前記高相関画素位置検出部による次回の検出の検出対象領域が、前回の検出の検出対象領域と同一である場合に、前記高相関画素位置が収束したと判定することを特徴とする画像処理装置。
【請求項２】
オブジェクトを示すテンプレート画像の特徴量が共通する夫々の共通領域に基づいて、当該テンプレート画像から複数の子テンプレート画像を生成する子テンプレート画像生成手順と、
検査対象画像を取得する画像取得手順と、
前記子テンプレート画像生成手順によって生成された複数の子テンプレート画像のなかから子テンプレート画像を順次選択する子テンプレート画像選択手順と、
前記画像取得手順によって取得された前記検査対象画像の画素位置であって、前記子テンプレート画像選択手順によって選択された前記子テンプレート画像との相関が高い高相関画素位置を検出する高相関画素位置検出手順と、
前記高相関画素位置検出手順において夫々の前記子テンプレート画像から検出した夫々の前記高相関画素位置が収束したか否かを判定する収束判定手順と、
前記収束判定手順によって前記高相関画素位置が収束したと判定された場合に、前記夫々の前記子テンプレート画像から検出した夫々の前記高相関画素位置に基づいて前記検査対象画像のオブジェクトの位置を特定するオブジェクト位置特定手順と
を有し、
前記高相関画素位置検出手順は、既に検出した前記高相関画素位置に基づき決定される検出対象領域において前記高相関画素位置を検出し、
前記収束判定手順は、前記高相関画素位置検出手順による次回の検出の検出対象領域が、前回の検出の検出対象領域と同一である場合に、前記高相関画素位置が収束したと判定することを特徴とする画像処理方法。
【請求項３】
オブジェクトを把持する把持部と、
オブジェクトを撮像する撮像部と、
オブジェクトを示すテンプレート画像の特徴量が共通する夫々の共通領域に基づいて、当該テンプレート画像から複数の子テンプレート画像を生成する子テンプレート画像生成部と、
前記子テンプレート画像生成部によって生成された複数の子テンプレート画像を記憶する子テンプレート画像記憶部と、
前記把持部を制御する制御部と
を備え、
前記制御部は、
前記撮像部によってオブジェクトが撮像された場合に、前記子テンプレート画像記憶部に記憶されている複数の子テンプレート画像のなかから子テンプレート画像を順次選択し、
順次選択した前記子テンプレート画像との相関が高い撮像画像の画素位置である高相関画素位置を検出し、
夫々の前記子テンプレート画像から検出した夫々の前記高相関画素位置が収束したか否かを判定し、
既に検出した前記高相関画素位置に基づいて前記高相関画素位置の次回の検出対象領域を決定し、次回の前記検出対象領域が前回の前記検出対象領域と同一である場合に、前記高相関画素位置が収束したと判定し、
前記高相関画素位置が収束したと判定した場合に、前記夫々の前記子テンプレート画像から検出した夫々の前記高相関画素位置に基づいて前記撮像画像のオブジェクトの位置を特定し、前記把持部にオブジェクトを把持させる
ことを特徴とする把持ロボット。
【請求項４】
オブジェクトを示すテンプレート画像を記憶する画像処理装置のコンピュータに、
前記テンプレート画像の特徴量が共通する夫々の共通領域に基づいて、当該テンプレート画像から複数の子テンプレート画像を生成する子テンプレート画像生成ステップと、
検査対象画像を取得する画像取得ステップと、
前記子テンプレート画像生成ステップによって生成された複数の前記子テンプレート画像のなかから前記子テンプレート画像を順次選択する子テンプレート画像選択ステップと、
前記画像取得ステップによって取得された前記検査対象画像の画素位置であって、前記子テンプレート画像選択ステップによって選択された前記子テンプレート画像との相関が高い高相関画素位置を検出する高相関画素位置検出ステップと、
前記高相関画素位置検出ステップにおいて夫々の前記子テンプレート画像から検出した夫々の前記高相関画素位置が収束したか否かを判定する収束判定ステップと、
前記収束判定ステップによって前記高相関画素位置が収束したと判定された場合に、前記夫々の前記子テンプレート画像から検出した夫々の前記高相関画素位置に基づいて前記検査対象画像のオブジェクトの位置を特定するオブジェクト位置特定ステップと
を実行させ、
前記高相関画素位置検出ステップは、既に検出した前記高相関画素位置に基づき決定される検出対象領域において前記高相関画素位置を検出し、
前記収束判定ステップは、前記高相関画素位置検出ステップによる次回の検出の検出対象領域が、前回の検出の検出対象領域と同一である場合に、前記高相関画素位置が収束したと判定することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、把持ロボットおよびプログラムに関するものである。
【背景技術】
【０００２】
製造ラインでは、製品を構成する部品を抽出・選択し、抽出・選択した部品を把持して所望の位置へ据え付けることで製品の組み立てが実施される。また、部品を抽出・選択し、形状や状態を観察し、不具合の有無を検査する外観検査が行われている。所望の部品を抽出・選択する作業は、従来は、作業員による目視作業であったが、近年は、デジタルカメラで撮影した撮像画像を画像処理し、自動的に部品を抽出・選択する画像処理装置による作業へと置き換えが進展している。画像処理装置への置き換えの流れは、今後予想される画像処理装置のデータ処理能力の向上や、デジタルカメラの感度向上・画素数増大に応じて加速すると予想される。
【０００３】
画像処理における部品の抽出・選択は、一般に、テンプレートマッチング処理を用いる（例えば、特許文献１および特許文献２参照）。つまり、画像処理装置は、一般に、抽出・選択すべきオブジェクト、即ち検出すべきオブジェクトを含むテンプレート画像と、デジタルカメラで撮像した撮像画像との相関を計算し、最も強い相関関係のある撮像画像上の位置を、検出すべきオブジェクトの位置として特定する。
【０００４】
なお、特許文献１には、テンプレート画像に２値化エッジ画像を用い、入力画像にエッジ画像を用いるテンプレートマッチング処理が開示されている。また、特許文献２には、標準画像（テンプレート画像）および識別対象画像（入力画像）を分割し、分割領域毎に設定した重み係数を用いるテンプレートマッチング処理が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−１７３６４９号公報
【特許文献２】特開２００５−３２２１３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、テンプレートマッチング処理は、入力画像（撮像画像）の画素数、テンプレート画像の画素数および種類が大きくなればなるほど演算量が増大する。従って、画像処理装置のデータ処理能力が向上しているとはいえ、例えば、一のオブジェクトを入力画像から複数検出する場合、あるいは、異なる複数のオブジェクトを入力画像から夫々検出する場合には、処理時間が長くなるという問題がある。
【０００７】
また、特許文献１に係る技術では、テンプレート画像と入力画像との双方をエッジ画像に変換するため、相関計算の精度、即ち、テンプレートマッチング処理の精度に問題がある。また、特許文献２に係る技術では、分割領域の特徴量から重み係数を設定するが、分割領域のスケールと分割領域に含まれる特徴量のスケールとを適切に設定するのが困難である（例えば、分割領域の大きさに対する特徴量の広がりが適切でないと、重み係数の広がりも不適切な設定になる）。
【０００８】
本発明はこのような事情に鑑みてなされたものであって、処理時間が短く、かつ、精度の高いテンプレートマッチング処理を簡便に実現する技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記問題を解決するために、本発明の一態様である画像処理装置は、テンプレート画像の特徴量を算出する特徴量算出部と、前記テンプレート画像において、前記特徴量が共通する領域を共通領域として特定する共通領域特定部と、前記テンプレート画像から夫々の前記共通領域を抽出した複数の子テンプレート画像を生成する子テンプレート画像生成部とを備えることを特徴とする。
上記構成によれば、テンプレート画像よりも画素数が少なく、テンプレート画像の特徴量が反映された子テンプレート画像が簡便に生成される。従って、当該子テンプレート画像を用いれば、処理時間が短く、かつ、精度の高いテンプレートマッチング処理を簡便に実現することができる。
【００１０】
上記画像処理装置は、テンプレート画像に加工を行うテンプレート画像加工部を更に備え、前記特徴量算出部は、前記加工後のテンプレート画像の特徴量を算出するようにしてもよい。また、前記テンプレート画像加工部は、前記加工として、テンプレート画像にフィルタ処理を行うようにしてもよい。
上記構成によれば、フィルタ処理などの加工処理後のテンプレート画像を用いて、より画素数の少ない子テンプレート画像が生成される場合がある。従って、テンプレートマッチング処理の処理時間を更に短縮することができる場合がある。
【００１１】
上記画像処理装置において、前記特徴量算出部は、前記テンプレート画像の各画素位置の画素値を少値化し、各画素位置の少値化後の画素値を前記特徴量として算出するようにしてもよい。
上記構成によれば、簡便に、子テンプレート画像を生成することができる。
【００１２】
上記画像処理装置において、前記共通領域特定部は、夫々の前記共通領域を構成する画素位置の少値化後の画素値の範囲を前記共通領域毎に定義した定義情報と、前記特徴量算出部によって算出された各画素位置の少値化後の画素値とに基づいて、前記少値化後の画素値が前記定義情報において同一の前記範囲内にある画素位置を共通領域として特定してもよい。
上記構成によれば、簡便に、子テンプレート画像を生成することができる。
【００１３】
上記画像処理装置は、前記共通領域特定部によって特定された夫々の前記共通領域を膨張または収縮する共通領域加工部を更に備え、前記子テンプレート画像生成部は、前記テンプレート画像から膨張後または収縮後の前記共通領域を抽出した複数の前記子テンプレート画像を生成するようにしてもよい。
上記構成によれば、収縮処理により、より画素数の少ない子テンプレート画像が生成される。従って、テンプレートマッチング処理の処理時間を更に短縮することができる。また、膨張処理により、テンプレートマッチング処理の精度を更に向上させることができる。
【００１４】
上記問題を解決するために、本発明の他の態様である画像処理装置は、オブジェクトを示すテンプレート画像の特徴量が共通する夫々の共通領域に基づいて、当該テンプレート画像から複数の子テンプレート画像を生成する子テンプレート画像生成部と、前記子テンプレート画像生成部によって生成された複数の子テンプレート画像を記憶する子テンプレート画像記憶部と、検査対象画像を取得する画像取得部と、前記子テンプレート画像記憶部に記憶されている複数の子テンプレート画像のなかから子テンプレート画像を順次選択する子テンプレート画像選択部と、前記画像取得部によって取得された前記検査対象画像の画素位置であって、前記子テンプレート画像選択部によって選択された前記子テンプレート画像との相関が高い高相関画素位置を検出する高相関画素位置検出部と、前記高相関画素位置検出部において夫々の前記子テンプレート画像から検出した夫々の前記高相関画素位置が収束したか否かを判定する収束判定部と、前記収束判定部によって前記高相関画素位置が収束したと判定された場合に、前記夫々の前記子テンプレート画像から検出した夫々の前記高相関画素位置に基づいて前記検査対象画像のオブジェクトの位置を特定するオブジェクト位置特定部とを備え、前記高相関画素位置検出部は、既に検出した前記高相関画素位置に基づき決定される検出対象領域において前記高相関画素位置を検出し、前記収束判定部は、前記高相関画素位置検出部による次回の検出の検出対象領域が、前回の検出の検出対象領域と同一である場合に、前記高相関画素位置が収束したと判定することを特徴とする。
上記構成によれば、テンプレート画像の特徴量を正確に反映し、テンプレート画像よりも画素数が少ない子テンプレート画像を用いて、テンプレートマッチング処理を行うため、処理時間が短く、かつ、精度の高いテンプレートマッチング処理を簡便に実現することができる。
【００１５】
上記問題を解決するために、本発明の他の態様である画像処理方法は、テンプレート画像の特徴量を算出する特徴量算出手順と、前記テンプレート画像において、前記特徴量が共通する領域を共通領域として特定する共通領域特定手順と、前記テンプレート画像から夫々の前記共通領域を抽出した複数の子テンプレート画像を生成する子テンプレート画像生成手順とを有することを特徴とする。
【００１６】
上記問題を解決するために、本発明の他の態様である画像処理方法は、オブジェクトを示すテンプレート画像の特徴量が共通する夫々の共通領域に基づいて、当該テンプレート画像から複数の子テンプレート画像を生成する子テンプレート画像生成手順と、検査対象画像を取得する画像取得手順と、前記子テンプレート画像生成部によって生成された複数の子テンプレート画像のなかから子テンプレート画像を順次選択する子テンプレート画像選択手順と、前記画像取得手順によって取得された前記検査対象画像の画素位置であって、前記子テンプレート画像選択手順によって選択された前記子テンプレート画像との相関が高い高相関画素位置を検出する高相関画素位置検出手順と、前記高相関画素位置検出手順において夫々の前記子テンプレート画像から検出した夫々の前記高相関画素位置が収束したか否かを判定する収束判定手順と、前記収束判定手順によって前記高相関画素位置が収束したと判定された場合に、前記夫々の前記子テンプレート画像から検出した夫々の前記高相関画素位置に基づいて前記検査対象画像のオブジェクトの位置を特定するオブジェクト位置特定手順とを有し、前記高相関画素位置検出手順は、既に検出した前記高相関画素位置に基づき決定される検出対象領域において前記高相関画素位置を検出し、前記収束判定手順は、前記高相関画素位置検出手順による次回の検出の検出対象領域が、前回の検出の検出対象領域と同一である場合に、前記高相関画素位置が収束したと判定することを特徴とする。
【００１７】
上記問題を解決するために、本発明の他の態様であるロボットは、オブジェクトを把持する把持部と、オブジェクトを撮像する撮像部と、オブジェクトを示すテンプレート画像の特徴量が共通する夫々の共通領域に基づいて、当該テンプレート画像から複数の子テンプレート画像を生成する子テンプレート画像生成部と、前記子テンプレート画像生成部によって生成された複数の子テンプレート画像を記憶する子テンプレート画像記憶部と、前記把持部を制御する制御部とを備え、前記制御部は、前記撮像部によってオブジェクトが撮像された場合に、前記子テンプレート画像記憶部に記憶されている複数の子テンプレート画像のなかから子テンプレート画像を順次選択し、順次選択した前記子テンプレート画像との相関が高い撮像画像の画素位置である高相関画素位置を検出し、夫々の前記子テンプレート画像から検出した夫々の前記高相関画素位置が収束したか否かを判定し、前記高相関画素位置が収束したと判定した場合に、前記夫々の前記子テンプレート画像から検出した夫々の前記高相関画素位置に基づいて前記撮像画像のオブジェクトの位置を特定し、前記把持部にオブジェクトを把持させることを特徴とする。
上記構成によれば、例えば、製造ラインにおいて、オブジェクトを撮像すれば、処理時間が短く、かつ、精度の高いテンプレートマッチング処理が行われ、オブジェクトの位置を簡便に測定されるため、オブジェクトを素早く正確に把持することができる。
【００１８】
上記ロボットにおいて、前記制御部は、既に検出した前記高相関画素位置に基づいて前記高相関画素位置の次回の検出対象領域を決定し、次回の前記検出対象領域が前回の前記検出対象領域と同一である場合に、前記高相関画素位置が収束したと判定してもよい。
【００１９】
上記問題を解決するために、本発明の他の態様であるプログラムは、テンプレート画像を記憶する画像処理装置のコンピュータに、前記テンプレート画像の特徴量を算出する特徴量算出ステップと、前記テンプレート画像において、前記特徴量が共通する領域を共通領域として特定する共通領域特定ステップと、前記テンプレート画像から夫々の前記共通領域を抽出した複数の子テンプレート画像を生成する子テンプレート画像生成ステップとを実行させることを特徴とする。
【００２０】
上記問題を解決するために、本発明の他の態様であるプログラムは、オブジェクトを示すテンプレート画像を記憶する画像処理装置のコンピュータに、前記テンプレート画像の特徴量が共通する夫々の共通領域に基づいて、当該テンプレート画像から複数の子テンプレート画像を生成する子テンプレート画像生成ステップと、検査対象画像を取得する画像取得ステップと、前記子テンプレート画像生成ステップによって生成された複数の前記子テンプレート画像のなかから前記子テンプレート画像を順次選択する子テンプレート画像選択ステップと、前記画像取得ステップによって取得された前記検査対象画像の画素位置であって、前記子テンプレート画像選択ステップによって選択された前記子テンプレート画像との相関が高い高相関画素位置を検出する高相関画素位置検出ステップと、前記高相関画素位置検出ステップにおいて夫々の前記子テンプレート画像から検出した夫々の前記高相関画素位置が収束したか否かを判定する収束判定ステップと、前記収束判定ステップによって前記高相関画素位置が収束したと判定された場合に、前記夫々の前記子テンプレート画像から検出した夫々の前記高相関画素位置に基づいて前記検査対象画像のオブジェクトの位置を特定するオブジェクト位置特定ステップとを実行させ、前記高相関画素位置検出ステップは、既に検出した前記高相関画素位置に基づき決定される検出対象領域において前記高相関画素位置を検出し、前記収束判定ステップは、前記高相関画素位置検出ステップによる次回の検出の検出対象領域が、前回の検出の検出対象領域と同一である場合に、前記高相関画素位置が収束したと判定することを特徴とする。
【図面の簡単な説明】
【００２１】
【図１】本発明の第１の実施形態に係る画像処理装置１０の機能ブロック図である。
【図２】本発明の第１の実施形態に係る画像処理装置１０の処理を説明するための説明図である。
【図３】本発明の第１の実施形態に係る画像処理装置１０の処理を説明するための説明図である。
【図４】本発明の第１の実施形態に係る画像処理装置１０の処理を説明するための説明図である。
【図５】本発明の第１の実施形態に係る画像処理装置１０の処理を説明するための説明図である。
【図６】本発明の第１の実施形態に係る画像処理装置１０の動作の一例を示すフローチャートである。
【図７】本発明の第２の実施形態に係る画像処理装置２０の機能ブロック図である。
【図８】本発明の第２の実施形態に係る画像処理装置２０の処理を説明するための説明図である。
【図９】本発明の第２の実施形態に係る画像処理装置２０の処理を説明するための説明図である。
【図１０】本発明の第２の実施形態に係る画像処理装置２０の処理を説明するための説明図である。
【図１１】本発明の第２の実施形態に係る画像処理装置２０の処理を説明するための説明図である。
【図１２】本発明の第２の実施形態に係る画像処理装置２０の処理を説明するための説明図である。
【図１３】本発明の第２の実施形態に係る画像処理装置２０の処理を説明するための説明図である。
【図１４】本発明の第２の実施形態に係る画像処理装置２０の処理を説明するための説明図である。
【図１５】本発明の第２の実施形態に係る画像処理装置２０の動作の一例を示すフローチャートである。
【図１６】本発明の第３の実施形態に係る把持ロボット１の概略斜視図である。
【図１７】本発明の第３の実施形態に係る把持ロボット１の制御装置３０の機能ブロック図である。
【発明を実施するための形態】
【００２２】
（第１の実施形態）
以下、本発明の第１の実施形態について図面を参照して詳細に説明する。図１は、本発明の第１の実施形態に係る画像処理装置１０の機能ブロック図である。図２から図５は、本発明の第１の実施形態に係る画像処理装置１０の処理を説明するための説明図である。本発明の第１の実施形態に係る画像処理装置１０は、図１に示すように、テンプレート画像取得部１００、テンプレート画像記憶部１１０、テンプレート画像加工部１２０、特徴量算出部１３０、共通領域特定部１４０、共通領域画像記憶部１５０、共通領域加工部１６０および子テンプレート画像生成部１７０を備える。
【００２３】
テンプレート画像取得部１００は、外部からテンプレート画像を取得する。テンプレート画像取得部１００は、外部から取得したテンプレート画像をテンプレート画像記憶部１１０に記憶する。
【００２４】
テンプレート画像記憶部１１０は、テンプレート画像取得部１００によって取得されたテンプレート画像、および、テンプレート画像加工部１２０によってフィルタ処理されたテンプレート画像を記憶する。
【００２５】
なお、以下の説明において、テンプレート画像取得部１００によって取得されたテンプレート画像とテンプレート画像加工部１２０によって加工されたテンプレート画像とを区別して用いる場合には、前者を「未加工テンプレート画像」といい、後者を「加工済テンプレート画像」という。両者を区別して用いない場合には、単に「テンプレート画像」といい、その場合、「未加工テンプレート画像」および「加工済テンプレート画像」の両方を表している。
【００２６】
テンプレート画像加工部１２０は、テンプレート画像記憶部１１０に記憶されている未加工テンプレート画像を読み出して加工する。例えば、テンプレート画像加工部１２０は、図３に示すように、未加工テンプレート画像にフィルタ処理を施し、加工済テンプレート画像を生成する。フィルタ処理に用いるフィルタは、例えば、線形一次微分フィルタ、線形二次微分フィルタ（図３の例は、画面水平方向の線形一次微分フィルタ）などである。テンプレート画像加工部１２０は、加工済テンプレート画像をテンプレート画像記憶部１１０に記憶する。
【００２７】
特徴量算出部１３０は、テンプレート画像記憶部１１０に記憶されているテンプレート画像を読み出して特徴量を算出する。例えば、特徴量算出部１３０は、テンプレート画像上の各画素位置の画素値を少値化し、各画素位置の少値化後の画素値を特徴量として算出する。より詳細には、特徴量算出部１３０は、図２および図３に示すように、特徴量算出条件として少値化変換関数を用いて、テンプレート画像に少値化処理を施し、特徴量を示す情報である少値化済テンプレート画像を生成する。なお、少値化処理とは、例えば、Ｘ階調で表現される画素値を、所定の閾値を用いて、Ｙ階調で表現し直す処理である（但し、Ｘ、Ｙは整数、Ｘ＞Ｙである）。例えば、８ビットを用いて２５６階調で表現される画素値を、画素値６４の閾値１、画素値１２８の閾値２、画素値１９２の閾値３を用いて、２ビットの４階調で表現し直す処理である。上記例の場合、例えば、２５６階調において閾値１未満の画素値0〜６３は４階調において例えば画素値０として表現され、２５６階調において閾値１以上閾値２未満の画素値６４〜１２７は４階調において例えば画素値６４として表現され、２５６階調において閾値２以上閾値３未満の画素値１２８〜１９１は４階調において例えば画素値１２８として表現され、２５６階調において閾値３以上の画素値１９２〜２５５は４階調において例えば画素値１９２として表現される。なお、上記例では等間隔の値を閾値としているが、閾値は任意に設定可能である。また、上記例では表現し直す画素値は元の画素値の範囲内としているが、表現し直す画素値は任意に設定可能である。また、図２および図３に示す少値化変換関数の横軸は元の画素値、縦軸は少値化後の画素値である。特徴量算出部１３０は、特徴量を示す情報（少値化済テンプレート画像）を共通領域特定部１４０に出力する。
【００２８】
共通領域特定部１４０は、特徴量算出部１３０からテンプレート画像の特徴量を示す情報を取得する。共通領域特定部１４０は、テンプレート画像の特徴量を示す情報を取得した場合、当該テンプレート画像において、特徴量が共通する領域を共通領域として特定する。例えば、共通領域特定部１４０は、図２および図３に示すように、夫々の共通領域を構成する画素位置の少値化後の画素値の範囲を共通領域毎に定義した定義情報と、少値化済テンプレート画像とに基づいて、少値化後の画素値が定義情報において同一の範囲内にある画素位置を共通領域として特定する。具体的には、共通領域特定部１４０は、上記定義情報を用いて、少値化済テンプレート画像から、夫々の共通領域を特定する情報である夫々の共通領域画像を生成する。共通領域特定部１４０は、共通領域を特定する情報（共通領域画像）を共通領域画像記憶部１５０に記憶する。
【００２９】
なお、図２は、一つのテンプレート画像Ａから４個の共通領域画像Ｂ、Ｃ、Ｄ、Ｅを生成する例、図３は、図２と同一のテンプレート画像Ａから３個の共通領域画像Ｆ、Ｇ、Ｈを生成する他の例である。
【００３０】
共通領域画像記憶部１５０は、共通領域特定部１４０によって特定された夫々の共通領域画像、および、共通領域加工部１６０によって加工された夫々の共通領域画像を記憶する。
【００３１】
なお、以下の説明において、共通領域特定部１４０によって特定された共通領域（共通領域特定部１４０によって生成された共通領域画像）と、共通領域加工部１６０によって加工された共通領域（共通領域加工部１６０によって加工された共通領域画像）とを区別して用いる場合には、前者を「未加工共通領域画像」といい、後者を「加工済共通領域画像」という。両者を区別して用いない場合には、単に「共通領域画像」といい、その場合、「未加工共通領域画像」および「加工済共通領域画像」の両方を表している。
【００３２】
共通領域加工部１６０は、共通領域画像記憶部１５０に記憶されている共通領域画像を読み出して加工する。例えば、共通領域加工部１６０は、図４に示すように、共通領域画像に膨張処理（ｄｉｌａｔｉｏｎ）または収縮処理（ｅｒｏｓｉｏｎ）を施し、加工済共通領域画像（膨張処理後の共通領域画像＃３−１、収縮処理後の共通領域画像＃３−２）を生成する。共通領域加工部１６０は、加工済共通領域画像を共通領域画像記憶部１５０に記憶する。なお、膨張処理とは、背景又は穴（以下、背景等という）に接する画素に、画素をひとまわり加える処理であるが、共通領域加工部１６０は、輪郭追跡などによって、背景等を構成する画素のうち共通領域を構成する画素に隣接する画素を、共通領域を構成する画素に変換する（当該隣接する画素の画素値を共通領域の画素値に書き換える）。また、収縮処理とは、背景等に接する画素をひとまわりはぎとる処理であるが、共通領域加工部１６０は、輪郭追跡などによって、共通領域を構成する画素のうち背景等を構成する画素に隣接する画素を、背景等を構成する画素に変換する（当該隣接する画素の画素値を背景等の画素値に書き換える）。
【００３３】
なお、収縮処理を施した場合には、テンプレートマッチング処理の処理時間を更に短縮することができる。一方、膨張処理を施した場合には、テンプレートマッチング処理の精度を更に向上させることができる。
【００３４】
子テンプレート画像生成部１７０は、テンプレート画像記憶部１１０に記憶されている未加工テンプレート画像と、共通領域画像記憶部１５０に記憶されている夫々の共通領域とを読み出して、未加工テンプレート画像から夫々の共通領域を抽出した複数の子テンプレート画像を生成する。例えば、子テンプレート画像生成部１７０は、図５に示すように、未加工テンプレート画像と夫々の共通領域画像との論理積から、夫々の子テンプレート画像を生成する。換言すれば、共通領域画像は、未加工テンプレート画像から子テンプレート画像を抽出するためのマスク画像であって、子テンプレート画像生成部１７０は、未加工テンプレート画像と、夫々のマスク画像である共通領域画像とから、夫々の子テンプレート画像を生成する。子テンプレート画像生成部１７０は、生成した子テンプレート画像を出力する。
【００３５】
続いて、図６を用いて画像処理装置１０の処理の流れを説明する。図６は、本発明の第１の実施形態に係る画像処理装置１０の動作の一例を示すフローチャートである。
【００３６】
図６において、テンプレート画像取得部１００は、未加工テンプレート画像を取得する（ステップＳ１０）。未加工テンプレート画像を取得したテンプレート画像取得部１００は、テンプレート画像記憶部１１０に記憶する。
【００３７】
テンプレート画像加工部１２０は、テンプレート画像記憶部１１０に記憶されている未加工テンプレート画像にフィルタ処理を施し、加工済テンプレート画像を生成する（ステップ１２）。徴量算出部１３０は、加工済テンプレート画像に少値化処理を施し、少値化済テンプレート画像を生成する（ステップ１４）。特徴量算出部１３０は、少値化済テンプレート画像を共通領域特定部１４０に出力する。
【００３８】
特徴量算出部１３０から少値化済テンプレート画像を取得した共通領域特定部１４０は、少値化済テンプレート画像から、夫々の共通領域画像を生成する（ステップ１６）。夫々の共通領域画像を生成した共通領域特定部１４０は、共通領域画像記憶部１５０に記憶する。
【００３９】
共通領域加工部１６０は、共通領域画像記憶部１５０に記憶されている共通領域画像に膨張処理または収縮処理を施し、膨張処理後または収縮処理後の共通領域画像（加工済共通領域画像）を生成する（ステップ１８）。共通領域加工部１６０は、加工済共通領域画像を共通領域画像記憶部１５０に記憶する。
【００４０】
子テンプレート画像生成部１７０は、テンプレート画像記憶部１１０に記憶されている未加工テンプレート画像と、共通領域画像記憶部１５０に記憶されている夫々の加工済共通領域画像とを読み出して、未加工テンプレート画像から夫々の加工済共通領域画像を抽出した複数の子テンプレート画像を生成する（ステップＳ２０）。そして本フローチャートは終了する。
【００４１】
なお、図６に示すフローチャートにおいて、テンプレート画像加工部１２０によるフィルタ処理（ステップＳ１２０）は省略してもよい。フィルタ処理を省略した場合、徴量算出部１３０は、未加工テンプレート画像に少値化処理を施し、少値化済テンプレート画像を生成する（ステップ１４）。
【００４２】
また、図６に示すフローチャートにおいて、共通領域加工部１６０による膨張処理または収縮処理（ステップ１８）は省略してもよい。膨張処理または収縮処理を省略した場合、子テンプレート画像生成部１７０は、未加工テンプレート画像から夫々の未加工共通領域画像を抽出した複数の子テンプレート画像を生成する（ステップＳ２０）。
【００４３】
（第２の実施形態）
以下、本発明の第２の実施形態について図面を参照して詳細に説明する。図７は、本発明の第２の実施形態に係る画像処理装置２０の機能ブロック図である。本発明の第２の実施形態に係る画像処理装置２０は、図７に示すように、子テンプレート画像記憶部２００、検出対象領域指定情報記憶部２１０、画像取得部２２０、設定部２３０、子テンプレート画像選択部２４０、高相関画素位置検出部２５０、高相関画素位置記憶部２６０、収束判定部２７０およびオブジェクト位置特定部２８０を備える。
【００４４】
子テンプレート画像記憶部２００は、テンプレート画像から生成された複数の子テンプレート画像（未加工テンプレート画像の特徴量が共通する夫々の共通領域に基づいて生成された複数の子テンプレート画像）を記憶する。なお、子テンプレート画像は、例えば、上記の本発明の第１の実施形態に係る画像処理装置１０によって生成される。
【００４５】
検出対象領域指定情報記憶部２１０は、検査対象画像上の画素位置であって子テンプレート画像との相関が高い画素位置（「高相関画素位置」という）の検出対象領域を指定する検出対象領域指定情報を記憶する。なお、検出対象領域指定情報は、設定部３０によって生成される。
【００４６】
画像取得部２２０は、検査対象画像を取得する。検査対象画像の一例は、オブジェクトが撮像された撮像画像である。画像取得部２２０は、検査対象画像を取得した場合、検査対象画像を高相関画素位置検出部２５０に出力するとともに、検査対象画像を取得した旨を設定部２３０に通知する。
【００４７】
設定部２３０は、検出対象領域を指定する。即ち、設定部２３０は、検出対象領域指定情報記憶部２１０に記憶する検出対象領域指定情報を生成する。具体的には、設定部２３０は、画像取得部２２０から検査対象画像を取得した旨を通知された場合、検出対象領域指定情報記憶部２１０内の検出対象領域指定情報を初期化（初期値として画像の全領域を検出対象領域に指定）し、収束判定部２７０からの要求に応じて新たな検出対象領域を指定（決定）し、指定情報記憶部２１０内の現在の検出対象領域と異なれば、指定情報記憶部２１０内の検出対象領域指定情報を更新する。なお、検出対象領域は、既に検出された高相関画素位置に基づき指定（決定）されるが、検出対象領域の指定に関する詳細は後述する。
【００４８】
また、設定部２３０は、高相関画素位置記憶部２６０に記憶されている高相関画素位置を初期化する。具体的には、設定部２３０は、画像取得部２２０から検査対象画像を取得した旨を通知された場合、高相関画素位置記憶部２６０に記憶されている高相関画素位置を初期化（クリア）する。
【００４９】
子テンプレート画像選択部２４０は、子テンプレート画像記憶部２００に記憶されている複数の子テンプレート画像のなかから子テンプレート画像を順次選択する。具体的には、子テンプレート画像選択部２４０は、高相関画素位置検出部２５０から子テンプレート画像を要求される都度、子テンプレート画像記憶部２００に記憶されている複数の子テンプレート画像のなかから、当該検査対象画像の検査において未だ選択していない子テンプレート画像を順次選択する。子テンプレート画像選択部２４０は、選択した子テンプレート画像を高相関画素位置検出部２５０に出力する。
【００５０】
高相関画素位置検出部２５０は、画像取得部２２０から検査対象画像を取得する。また、高相関画素位置検出部２５０は、子テンプレート画像選択部２４０に子テンプレート画像を要求し、子テンプレート画像選択部２４０から子テンプレート画像を取得する。具体的には、高相関画素位置検出部２５０は、画像取得部２２０から検査対象画像を取得した場合、または、収束判定部２７０から高相関画素位置が収束していない旨を通知された場合に、子テンプレート画像選択部２４０に子テンプレート画像を要求し、子テンプレート画像選択部２４０から子テンプレート画像を取得する。
【００５１】
高相関画素位置検出部２５０は、子テンプレート画像選択部２４０から子テンプレート画像を取得した場合、検査対象画像上の画素位置であって当該子テンプレート画像との相関が高い高相関画素位置を検出する。具体的には、高相関画素位置検出部２５０は、検出対象領域指定情報記憶部２１０に記憶されている検出対象領域指定情報を参照し、検査対象画像上の画素位置のうち検出対象領域指定情報によって指定された領域上から高相関画素位置を検出する。換言すれば、高相関画素位置検出部２５０は、検出対象領域指定情報によって指定された検査対象画像上の領域を対象として、子テンプレート画像選択部２４０によって選択された子テンプレート画像を用いて、テンプレートマッチング処理を行う。
【００５２】
高相関画素位置検出部２５０は、高相関画素位置を検出した場合、高相関画素位置の検出に用いた子テンプレート画像毎に、当該高相関画素位置を示す情報（例えば、座標）を高相関画素位置記憶部２６０に記憶する。また、高相関画素位置検出部２５０は、当該子テンプレート画像による高相関画素位置の検出処理が終了した旨を収束判定部２７０に通知する。
【００５３】
高相関画素位置記憶部２６０は、高相関画素位置の検出に用いた子テンプレート画像毎に、高相関画素位置を示す情報を記憶する。高相関画素位置を示す情報は、設定部２３０によって初期化（クリア）され、高相関画素位置検出部２５０によって子テンプレート画像毎の高相関画素位置が検査される度に追加される。
【００５４】
収束判定部２７０は、高相関画素位置検出部２５０から子テンプレート画像による高相関画素位置の検出処理が終了した旨を取得した場合、高相関画素位置記憶部２６０に記憶されている夫々の高相関画素位置、即ち、夫々の子テンプレート画像から検出された夫々の高相関画素位置が収束したか否かを判定する。なお、収束したか否かの収束判定に関する詳細は後述する。
【００５５】
収束判定部２７０は、夫々の高相関画素位置が収束したと判定した場合、夫々の子テンプレート画像から検出した夫々の高相関画素位置を示す情報（例えば、座標）をオブジェクト位置特定部２８０に通知する。収束判定部２７０は、夫々の高相関画素位置が収束していないと判定した場合、高相関画素位置が収束していない旨を高相関画素位置検出部２５０に通知する。
【００５６】
オブジェクト位置特定部２８０は、収束判定部２７０から夫々の子テンプレート画像から検出した夫々の高相関画素位置を示す情報を取得した場合、即ち、高相関画素位置が収束した場合、夫々の子テンプレート画像から検出した夫々の高相関画素位置に基づいて検査対象画像上のオブジェクトの位置を特定する。オブジェクト位置特定部２８０は、特定したオブジェクトの位置を出力する。なお、オブジェクトの位置の特定に関する詳細は後述する。
【００５７】
続いて、具体例を用いて検出対象領域の指定および収束判定について詳細に説明する。図８から図１４は、本発明の第２の実施形態に係る画像処理装置２０の処理を説明するための説明図である。なお、上記説明では、テンプレート画像から３個若しくは４個の子テンプレート画像を生成する例を示したが、テンプレート画像から生成される子テンプレート画像の数は５個以上であってもよい。
【００５８】
（収束判定に関して）
収束判定部２７０は、高相関画素位置検出部２５０からＮ番目（Ｎは１以上の整数）に選択した子テンプレート画像による高相関画素位置の検出処理が終了した旨を取得した場合、即ち、高相関画素位置記憶部２６０にＮ回目のテンプレートマッチング処理による高相関画素位置が記憶された場合、新たな検出対象領域である（Ｎ＋１）回目の検出対象領域を指定すべき旨の要求を設定部２３０に通知する。
【００５９】
設定部２３０は、上記要求に応じて、新たな検出対象領域である（Ｎ＋１）回目の検出対象領域を指定し、検出対象領域指定情報記憶部２１０に記憶されている現在の検出対象領域であるＮ回目の検出対象領域を参照し、新たな検出対象領域（Ｎ＋１）回目の検出対象領域が現在の検出対象領域であるＮ回目の検出対象領域と同一であるか否かを示す比較結果を収束判定部２７０に通知する。
【００６０】
収束判定部２７０は、設定部２３０から通知された比較結果を参照し、新たな検出対象領域である（Ｎ＋１）回目の検出対象領域が現在の検出対象領域であるＮ回目の検出対象領域と同一である場合には、Ｎ回目迄のテンプレートマッチング処理による夫々の高相関画素位置は収束したと判定したと判定する。
【００６１】
収束判定部２７０は、新たな検出対象領域（Ｎ＋１）回目の検出対象領域が現在の検出対象領域であるＮ回目の検出対象領域と異なる場合には、Ｎ回目迄のテンプレートマッチング処理による夫々の高相関画素位置は収束していないと判定する。但し、１回目のテンプレートマッチング処理後には、テンプレートマッチング処理は１回しか行っていないため、収束判定部２７０は、常に、収束していないと判定する。換言すれば、常に、設定部２３０は、２回目の検出対象領域が１回目の検出対象領域と異なる旨の比較結果を収束判定部２７０に通知する。
【００６２】
なお、収束判定部２７０は、夫々の高相関画素位置が収束していないと判定した場合には、上述の如く、高相関画素位置が収束していない旨を高相関画素位置検出部２５０に通知する。その後、相関画素位置検出部２５０は、次の子テンプレート画像によるテンプレートマッチング処理を実行する。一方、収束判定部２７０は、夫々の高相関画素位置が収束したと判定した場合には、上述の如く、高相関画素位置を示す情報をオブジェクト位置特定部２８０に通知する。即ち、相関画素位置検出部２５０による以降のテンプレートマッチング処理を実行されない。つまり、収束判定は、テンプレートマッチング処理の終了判定でもある。
【００６３】
（検出対象領域の指定に関して）
設定部２３０は、画像取得部２２０から検査対象画像を取得した旨を通知された場合、即ち、１回目のテンプレートマッチング処理においては、図８（ａ）に示すように、検査対象画像上のすべての画素位置を検出対象領域として指定する。図８（ａ）に示す検出対象領域の画素数は１７×１０＝１７０画素である。
【００６４】
設定部２３０は、２回目以降のテンプレートマッチング処理の終了後、収束判定部２７０から新たな検出対象領域を指定すべき旨の要求を取得した場合、高相関画素位置記憶部２６０を参照し、新たな検出対象領域を指定（決定）する。即ち、設定部２３０は、既に行ったテンプレートマッチング処理の結果に基づいて、新たな検出対象領域を指定する。
【００６５】
具体的には、設定部２３０は、２回目以降のテンプレートマッチング処理では、以下の条件（条件１および条件２）に従って、検出対象領域を指定する。
［検出対象領域の指定条件（決定条件）］
条件１：テンプレートマッチング処理の結果、高相関画素位置が単独で存在する場合（８近傍画素に他の高相関画素が存在しない場合）、該単独の高相関画素位置の２４近傍画素を検出対象領域とする。
条件２：テンプレートマッチング処理の結果、複数の高相関画素位置が８連結で存在する場合、該８連結の各高相関画素位置の８近傍を検出対象領域とする。
【００６６】
例えば、１回目のテンプレートマッチング処理の結果、図８（ｂ）のように、左上右下斜線にて示す５つの画素位置（２，２）、（３，８）、（１０，４）、（１４，８）、（１５，１）が高相関画素位置である場合、設定部２３０は、上記条件１に従って、図９（ａ）に示すように、２回目のテンプレートマッチング処理の検出対象領域を指定する。図９（ａ）の破線は、図８（ｂ）に示す各高相関画素位置を注目画素位置とする２４近傍画素を表したものである。図９（ａ）に示す検出対象領域の画素数は１０５画素である。
【００６７】
なお、設定部２３０は、２回目の検出対象領域（図９（ａ））が１回目の検出対象領域（図８（ａ））と異なる旨の比較結果を収束判定部２７０に通知する。また、設定部２３０は、２回目の検出対象領域（図９（ａ））が１回目の検出対象領域（図８（ａ））と異なるため、検出対象領域指定情報記憶部２１０に記憶されている１回目の検出対象領域を指定する検出対象領域指定情報を２回目の検出対象領域を指定する検出対象領域指定情報に更新する。これにより、収束判定部２７０は収束していないと判定し、相関画素位置検出部２５０は、２回目の検出対象領域において２番目に選択された子テンプレート画像を用いて２回目のテンプレートマッチング処理を実行する。
【００６８】
また、２回目迄のテンプレートマッチング処理の結果、例えば、図９（ｂ）に示す画素位置が高相関画素位置であったとする。図９（ｂ）において、右上左下斜線にて示す３つの画素位置（１，３）、（１１，７）、（１４，１）は２回目の処理による高相関画素位置（但し、重複する高相関画素位置は除く）、網掛けにて示す１つの画素位置（３，８）は２回目迄の複数回の処理による重複した高相関画素位置である。なお、左上右下斜線にて示す４つの画素位置（２，２）、（１０，４）、（１４，８）、（１５，１）は、１回目の処理による高相関画素位置（但し、重複する高相関画素位置は除く）である。
【００６９】
設定部２３０は、２回目迄のテンプレートマッチング処理による高相関画素位置が図９（ｂ）に示す画素位置である場合、上記条件１および上記条件２に従って、図１０（ａ）に示すように、３回目のテンプレートマッチング処理の検出対象領域を指定する。図１０（ａ）に示す破線は、図９（ｂ）に示す各高相関画素位置を注目画素位置とする２４近傍画素または８近傍画素を表したものである。図１０（ａ）に示す検出対象領域の画素数は１００画素である。
【００７０】
なお、設定部２３０は、３回目の検出対象領域（図１０（ａ））が２回目の検出対象領域（図９（ａ））と異なる旨の比較結果を収束判定部２７０に通知する。また、設定部２３０は、３回目の検出対象領域（図１０（ａ））が２回目の検出対象領域（図９（ａ））と異なるため、検出対象領域指定情報記憶部２１０に記憶されている２回目の検出対象領域を指定する検出対象領域指定情報を３回目の検出対象領域を指定する検出対象領域指定情報に更新する。これにより、収束判定部２７０は収束していないと判定し、相関画素位置検出部２５０は、３回目の検出対象領域において３番目に選択された子テンプレート画像を用いて３回目のテンプレートマッチング処理を実行する。
【００７１】
３回目迄のテンプレートマッチング処理の結果、例えば、図１０（ｂ）に示す画素位置が高相関画素位置であったとする。図１０（ｂ）において、縦線にて示す５つの画素位置（１，２）、（２，８）、（１０，５）、（１３，７）、（１４，２）は３回目の処理による高相関画素位置（但し、重複する高相関画素位置は除く）、網掛けにて示す１つの画素位置（３，８）は３回目迄の複数回の処理による重複した高相関画素位置である。なお、左上右下斜線にて示す４つの画素位置（２，２）、（１０，４）、（１４，８）、（１５，１）は、１回目の処理による高相関画素位置（但し、重複する高相関画素位置は除く）、右上左下斜線にて示す３つの画素位置（１，３）、（１１，７）、（１４，１）は２回目の処理による高相関画素位置（但し、重複する高相関画素位置は除く）である。
【００７２】
設定部２３０は、３回目迄のテンプレートマッチング処理による高相関画素位置が図１０（ｂ）に示す画素位置である場合、上記条件１および上記条件２に従って、図１１（ａ）に示すように、４回目のテンプレートマッチング処理の検出対象領域を指定する。図１１（ａ）に示す破線は、図１０（ｂ）に示す各高相関画素位置を注目画素位置とする２４近傍画素または８近傍画素を表したものである。図１１（ａ）に示す検出対象領域の画素数は８０画素である。
【００７３】
なお、設定部２３０は、４回目の検出対象領域（図１１（ａ））が３回目の検出対象領域（図１０（ａ））と異なる旨の比較結果を収束判定部２７０に通知する。また、設定部２３０は、４回目の検出対象領域（図１１（ａ））が３回目の検出対象領域（図１０（ａ））と異なるため、検出対象領域指定情報記憶部２１０に記憶されている３回目の検出対象領域を指定する検出対象領域指定情報を４回目の検出対象領域を指定する検出対象領域指定情報に更新する。これにより、収束判定部２７０は収束していないと判定し、相関画素位置検出部２５０は、４回目の検出対象領域において４番目に選択された子テンプレート画像を用いて４回目のテンプレートマッチング処理を実行する。
【００７４】
４回目迄のテンプレートマッチング処理の結果、例えば、図１１（ｂ）に示す画素位置が高相関画素位置であったとする。図１１（ｂ）において、横線にて示す２つの画素位置（０，３）、（１３，８）は４回目の処理による高相関画素位置（但し、重複する高相関画素位置は除く）、網掛けにて示す３つの画素位置（３，８）、（１０，５）、（１４，１）は４回目迄の複数回の処理による重複した高相関画素位置である。なお、左上右下斜線にて示す４つの画素位置（２，２）、（１０，４）、（１４，８）、（１５，１）は、１回目の処理による高相関画素位置（但し、重複する高相関画素位置は除く）、右上左下斜線にて示す２つの画素位置（１，３）、（１１，７）は２回目の処理による高相関画素位置（但し、重複する高相関画素位置は除く）、縦線にて示す４つの画素位置（１，２）、（２，８）、（１３，７）、（１４，２）は３回目の処理による高相関画素位置（但し、重複する高相関画素位置は除く）である。
【００７５】
設定部２３０は、４回目迄のテンプレートマッチング処理による高相関画素位置が図１１（ｂ）に示す画素位置である場合、上記条件１および上記条件２に従って、図１２に示すように、５回目のテンプレートマッチング処理の検出対象領域を指定する。図１２に示す破線は、図１１（ｂ）に示す各高相関画素位置を注目画素位置とする２４近傍画素または８近傍画素を表したものである。
【００７６】
なお、設定部２３０は、５回目の検出対象領域（図１２）が４回目の検出対象領域（図１１（ａ））と同一である旨の比較結果を収束判定部２７０に通知する。これにより、収束判定部２７０は、４回目迄のテンプレートマッチング処理による夫々の高相関画素位置は収束したと判定し、オブジェクト位置特定部２８０は、１番目から４番目迄に選択された夫々の子テンプレート画像から検出した夫々の高相関画素位置に基づいて検査対象画像上のオブジェクトの位置を特定する。
【００７７】
（オブジェクトの位置の特定に関して）
１番目から４番目迄の夫々の子テンプレート画像から検出した夫々の高相関画素位置を取得したオブジェクト位置特定部２８０は、図１３（ｂ）に破線にて示す連結している高相関画素位置群Ｇ１、Ｇ２、Ｇ３、Ｇ４、Ｇ５、Ｇ６毎に、下記式（１）に従って、図１３（ａ）に示すように、各高相関画素位置群内の平均位置（座標）を算出する。なお、図１３（ｂ）の各高相関画素位置は、図１１（ｂ）の各高相関画素位置と同一である。
【００７８】
また、図１３（ａ）において、検出数は、各高相関画素位置群内の何れかの高相関画素位置を検出した子テンプレート画像の数である。例えば、高相関画素位置群Ｇ１の場合、子テンプレート画像＃１が高相関画素位置群Ｇ１内の画素位置（２，２）を検出し、子テンプレート画像＃２が高相関画素位置群Ｇ１内の画素位置（１，３）を検出し、子テンプレート画像＃３が高相関画素位置群Ｇ１内の画素位置（１，２）を検出し、子テンプレート画像＃４が高相関画素位置群Ｇ１内の画素位置（０，３）を検出しているため、検出数は、子テンプレート画像＃１、＃２、＃３、＃４の合計４である。また、例えば、高相関画素位置群Ｇ２の場合、子テンプレート画像＃１、＃２、＃４が夫々、高相関画素位置群Ｇ２内の画素位置（３，８）を検出し、子テンプレート画像＃３が高相関画素位置群Ｇ２内の画素位置（２，８）を検出しているため、検出数は、子テンプレート画像＃１、＃２、＃３、＃４の合計４である。また、例えば、高相関画素位置群Ｇ３の場合、子テンプレート画像＃１が高相関画素位置群Ｇ３内の画素位置（１０，４）を検出し、子テンプレート画像＃３、＃４が高相関画素位置群Ｇ３内の画素位置（１０，５）を検出しているため、検出数は、子テンプレート画像＃１、＃３、＃４の合計３である。高相関画素位置群Ｇ４、Ｇ５、Ｇ６についても同様である。
【００７９】
平均位置＝高相関画素位置群内の画素位置の和÷検出数…（１）
【００８０】
例えば、高相関画素位置群Ｇ１の平均位置は、ｘ座標が（２＋１＋１＋０）／４＝１．００、ｙ座標が（２＋３＋２＋３）／４＝２．５０となる。また、例えば、高相関画素位置群Ｇ２の平均位置は、ｘ座標が（３＋３＋２＋３）／４＝２．７５、ｙ座標が（８＋８＋８＋８）／４＝８．００となる。また、例えば、高相関画素位置群Ｇ３の平均位置は、ｘ座標が（１０＋１０＋１０）／３＝１０．００、ｙ座標が（４＋５＋５）／３＝４．６７となる。高相関画素位置群Ｇ４、Ｇ５、Ｇ６についても同様である。
【００８１】
そして、オブジェクト位置特定部２８０は、高相関画素位置群毎Ｇ１、Ｇ２、Ｇ３、Ｇ４、Ｇ５、Ｇ６について算出したそれぞれ平均位置を、図１４に示すように、オブジェクト位置ａ、ｂ、ｃ、ｄ、ｅ、ｆとして特定する。
【００８２】
なお、検出数に閾値を設定し、閾値以上の検出数である高相関画素位置群からオブジェクト位置を特定してもよい。閾値を設定すれば、オブジェクト位置特定部２８０は、より相関の高い画素位置のみをオブジェクト位置として特定することができる。例えば、高相関画素位置群Ｇ４内の画素は、図１３（ａ）（ｂ）に示すように、高相関画素位置として１度検出（２回目のテンプレートマッチング処理時に検出）されただけである。１回目から４回目迄のテンプレートマッチング処理全体を通して見た場合、少なくとも３度検出されている他の高相関画素位置群と同程度に相関が高いとは言えない。従って、例えば、閾値を、テンプレートマッチング処理の処理回数４回の半分の２回に設定し、オブジェクト位置ｄを特定しないようにしてもよい。
【００８３】
続いて、図１５を用いて画像処理装置２０の処理の流れを説明する。図１５は、本発明の第２の実施形態に係る画像処理装置２０の動作の一例を示すフローチャートである。
【００８４】
図１５において、画像取得部２２０は、検査対象画像を取得する（ステップＳ３０）。検査対象画像を取得した画像取得部２２０は、検査対象画像を高相関画素位置検出部２５０に出力するとともに、検査対象画像を取得した旨を設定部２３０に通知する。
【００８５】
画像取得部２２０から検査対象画像を取得した旨を通知された設定部２３０は、画像取得部２２０から検査対象画像を取得した旨を通知された場合、高相関画素位置記憶部２６０に記憶されている高相関画素位置を初期化（クリア）し（ステップＳ３２）、検出対象領域指定情報記憶部２１０に記憶されている検出対象領域指定情報を初期化（初期値として画像の全領域を検出対象領域に指定）する（ステップＳ３４）。
【００８６】
画像取得部２２０から検査対象画像を取得した高相関画素位置検出部２５０は、子テンプレート画像選択部２４０に子テンプレート画像を要求する。高相関画素位置検出部２５０から子テンプレート画像を要求された子テンプレート画像選択部２４０は、子テンプレート画像記憶部２００に記憶されている複数の子テンプレート画像のなかから子テンプレート画像を選択する（ステップＳ３６）。子テンプレート画像選択部２４０は、選択した子テンプレート画像を高相関画素位置検出部２５０に出力する。
【００８７】
子テンプレート画像選択部２４０から子テンプレート画像を取得した高相関画素位置検出部２５０は、検出対象領域指定情報記憶部２１０に記憶されている検出対象領域指定情報を参照し、検査対象画像上の画素位置のうち検出対象領域指定情報によって指定された領域上から高相関画素位置を検出する（ステップＳ３８）。高相関画素位置検出部２５０は、高相関画素位置の検出に用いた子テンプレート画像毎に、各子テンプレート画像によって検出した高相関画素位置を高相関画素位置記憶部２６０に記憶する。また、高相関画素位置検出部２５０は、当該子テンプレート画像による高相関画素位置の検出処理が終了した旨を収束判定部２７０に通知する。
【００８８】
子テンプレート画像選択部２４０から当該子テンプレート画像による高相関画素位置の検出処理が終了した旨を通知された収束判定部２７０は、夫々の高相関画素位置が収束したか否かを判定する（ステップＳ４０）。具体的には、収束判定部２７０は、新たな検出対象領域を指定すべき旨の要求を設定部２３０に通知し、設定部２３０は、上記要求に応じて、新たな検出対象領域を指定し、新たな検出対象領域が現在の検出対象領域と同一であるか否かを示す比較結果を収束判定部２７０に通知する。そして、収束判定部２７０は、収束判定部２７０から通知された比較結果を参照し、新たな検出対象領域が現在の検出対象領域と同一である場合には、夫々の高相関画素位置は収束したと判定し、新たな検出対象領域が現在の検出対象領域と異なる場合には、夫々の高相関画素位置は収束していないと判定する。
【００８９】
収束判定部２７０は、夫々の高相関画素位置が収束していないと判定した場合（ステップＳ４０）、ステップＳ３６に戻る。即ち、収束判定部２７０は、高相関画素位置が収束していない旨を高相関画素位置検出部２５０に通知する。収束判定部２７０から高相関画素位置が収束していない旨を通知された高相関画素位置検出部２５０は、子テンプレート画像選択部２４０に子テンプレート画像を要求する。相関画素位置検出部２５０から子テンプレート画像を要求された子テンプレート画像選択部２４０は、子テンプレート画像記憶部２００に記憶されている複数の子テンプレート画像のなかから、当該検査対象画像の検査において未だ選択していない子テンプレート画像を選択する（ステップＳ３６）。
【００９０】
一方、収束判定部２７０は、夫々の高相関画素位置が収束していないと判定した場合（ステップＳ４０）、夫々の子テンプレート画像から検出した夫々の高相関画素位置をオブジェクト位置特定部２８０に出力する。夫々の高相関画素位置を取得したオブジェクト位置特定部２８０は、夫々の高相関画素位置に基づいて検査対象画像上のオブジェクトの位置を特定する（ステップＳ４４）。そして、本フローチャートは終了する。
【００９１】
（第３の実施形態）
以下、本発明の第３の実施形態について図面を参照して詳細に説明する。図１６は、本発明の第３の実施形態に係る把持ロボット１の概略斜視図である。本発明の第３の実施形態に係る把持ロボット１は、図１６に示すように、固定部２、アーム部３、ハンド部４、指部５および撮像部６を備える。アーム部３、ハンド部４および指部５は把持部を構成する。
【００９２】
固定部２は、例えば床、壁、天井に固定される。固定部２は、内部に、制御装置３０（破線にて図示）を備える。制御装置３０は、把持部（アーム部３、ハンド部４、指部５）および撮像部６を制御する。制御装置３０の詳細は後述する。
【００９３】
アーム部３は、回転軸を介して接続される、第１フレーム３ａ、第２フレーム３ｂ、第３フレーム３ｃ、第４フレーム３ｄおよび第５フレーム３ｅから構成される。アーム部３は、制御装置３０の制御によって、各フレーム３ａ〜３ｅが各回転軸を中心に複合的に回転し、動く。
【００９４】
アーム部３の第５フレーム３ｅには、１対のハンド部４が設けられている。ハンド部４は、回転軸を介して接続される、第１フレーム４ａ、第２フレーム４ｂ、第３フレーム４ｃおよび押し当て部４ｄから構成される。ハンド部４は、制御装置３０の制御によって、各フレーム４ａ〜４ｃが各回転軸を中心に複合的に回転し、動く。
【００９５】
それぞれのハンド部４の押し当て部４ｄには、指部５が設けられている。指部５は、第１フレーム５ａ、第２フレーム５ｂおよび第３フレーム５ｃから構成される。指部５は、制御装置３０の制御によって、各フレーム５ａ〜５ｃが各回転軸を中心に複合的に回転し、動く。なお、指部５は、直接的に、対象物を把持する部材である。
【００９６】
また、アーム部３の第５フレーム３ｅには、撮像部６が設けられている。撮像部６は、制御装置３０の制御によって、対象物（オブジェクト）を撮像する。
【００９７】
続いて、制御装置３０について説明する。図１７は、把持ロボット１の制御部の機能ブロック図である。本発明の第３の実施形態に係る把持ロボット１の制御装置３０は、図１７に示すように、テンプレート画像取得部３００、テンプレート画像記憶部３１０、テンプレート画像加工部３２０、特徴量算出部３３０、共通領域特定部３４０、共通領域画像記憶部３５０、共通領域加工部３６０、子テンプレート画像生成部３７０、子テンプレート画像記憶部４００、検出対象領域指定情報記憶部４１０、画像取得部４２０、設定部４３０、子テンプレート画像選択部４４０、高相関画素位置検出部４５０、高相関画素位置記憶部４６０、収束判定部４７０およびオブジェクト位置特定部４８０を備える。
【００９８】
制御装置３０内の各部のうち、テンプレート画像取得部３００、テンプレート画像記憶部３１０、テンプレート画像加工部３２０、特徴量算出部３３０、共通領域特定部３４０、共通領域画像記憶部３５０、共通領域加工部３６０および子テンプレート画像生成部３７０は、上述の第１の実施形態に係る画像処理装置１０のテンプレート画像取得部１００、テンプレート画像記憶部１１０、テンプレート画像加工部１２０、特徴量算出部１３０、共通領域特定部１４０、共通領域画像記憶部１５０、共通領域加工部１６０および子テンプレート画像生成部１７０と同様である。
【００９９】
制御装置３０内の各部のうち、子テンプレート画像記憶部４００、検出対象領域指定情報記憶部４１０、画像取得部４２０、設定部４３０、子テンプレート画像選択部４４０、高相関画素位置検出部４５０、高相関画素位置記憶部４６０、収束判定部４７０およびオブジェクト位置特定部４８０は、上述の第２の実施形態に係る画像処理装置２０の子テンプレート画像記憶部２００、検出対象領域指定情報記憶部２１０、画像取得部２２０、設定部２３０、子テンプレート画像選択部２４０、高相関画素位置検出部２５０、高相関画素位置記憶部２６０、収束判定部２７０およびオブジェクト位置特定部２８０と同一である。なお、テンプレート画像取得部３００は、外部からテンプレート画像を取得するが、取得態様は特に限定しない。例えば、把持ロボット１は通信部（非図示）を備え、テンプレート画像取得部３００は、通信部を介して受信したテンプレート画像を取得してもよい。また、把持ロボット１は外部記憶媒体の接続部（非図示）を備え、テンプレート画像取得部３００は、接続部を介して接続した記憶媒体内のテンプレート画像を取得してもよい。
【０１００】
即ち、把持ロボット１は、撮像部６によってオブジェクトが撮像された場合に、子テンプレート画像記憶部３７０に記憶されている複数の子テンプレート画像のなかから子テンプレート画像を順次選択し、順次選択した子テンプレート画像との相関が高い高相関画素位置を検出する。そして、把持ロボット１は、夫々の子テンプレート画像から検出した夫々の高相関画素位置が収束したか否かを判定し、高相関画素位置が収束したと判定した場合に、夫々の子テンプレート画像から検出した夫々の高相関画素位置に基づいて撮像画像上のオブジェクトの位置を特定し、把持部（アーム部３、ハンド部４、指部５）にオブジェクトを把持させる。
【０１０１】
以上、上記第１、２、３によれば、処理時間が短く、かつ、精度の高いテンプレートマッチング処理を簡便に実現することができる。つまり、上記第２の実施形態による画像処理装置２０によれば、テンプレート画像の特徴量を正確に反映し、テンプレート画像よりも画素数が少ない子テンプレート画像を用いて、また、処理対象範囲を狭くして、テンプレートマッチング処理を行うため、処理時間が短く、かつ、精度の高いテンプレートマッチング処理を簡便に実現することができる。なお、図８（ａ）、図９（ａ）、図１０（ａ）、図１１（ａ）に示す例によれば、処理対象範囲の画素数は、次の子テンプレート画像を用いる度に、１７０画素、１０５画素、１００画素、８０画素と段々と狭くなっている。
【０１０２】
また、上記第１の実施形態による画像処理装置１０によれば、テンプレート画像から、上記第２の実施形態による画像処理装置２０に用いる子テンプレート画像を簡便に生成することができる。
【０１０３】
また、上記第３の実施形態による把持ロボット１によれば、例えば、製造ラインにおいて、オブジェクトを撮像すれば、処理時間が短く、かつ、精度の高いテンプレートマッチング処理が行われ、オブジェクトの位置を簡便に測定されるため、オブジェクトを素早く正確に把持することができる。
【０１０４】
なお、実施形態１に係る画像処理装置１０について、テンプレート画像加工部１２０を備える態様を説明したが、画像処理装置１０は、テンプレート画像加工部１２０を備えない態様であってもよい。画像処理装置１０が、テンプレート画像加工部１２０を備えない場合、特徴量算出部１３０は、未加工テンプレート画像に少値化処理を施し、少値化済テンプレート画像を生成する。実施形態３に係る把持ロボット１も同様である。
【０１０５】
また、実施形態１に係る画像処理装置１０について、共通領域加工部１６０を備える態様を説明したが、画像処理装置１０は、共通領域加工部１６０を備えない態様であってもよい。画像処理装置１０が、共通領域加工部１６０を備えない場合、子テンプレート画像生成部１７０は、未加工テンプレート画像から夫々の未加工共通領域画像を抽出した複数の子テンプレート画像を生成する。
【０１０６】
また、上記実施形態３に係る把持ロボット１の制御装置３０は、第１の実施形態に係る画像処理装置１０および第２の実施形態に係る画像処理装置２０の両方の機能を備える態様を説明したが、把持ロボット１の制御装置３０は、第２の実施形態に係る画像処理装置２０の機能（図１７に点線内の機能）のみを備える態様としてもよい。
【０１０７】
なお、本発明の一実施形態による画像処理装置１０、２０の各処理を実行するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、当該記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、本発明の一実施形態による画像処理装置１０、２０に係る上述した種々の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものであってもよい。また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【０１０８】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Dynamic Random Access Memory））のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【０１０９】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【０１１０】
１…把持ロボット
２…固定部
３…アーム部
４…ハンド部
５…指部
６…撮像部
１０、２０…画像処理装置
３０…制御装置
１００、３００…テンプレート画像取得部
１１０、３１０…テンプレート画像記憶部
１２０、３２０…テンプレート画像加工部
１３０、３３０…特徴量算出部
１４０、３４０…共通領域特定部
１５０、３５０…共通領域画像記憶部
１６０、３６０…共通領域加工部
１７０、３７０…子テンプレート画像生成部
２００、４００…子テンプレート画像記憶部
２１０、４１０…検出対象領域指定情報記憶部
２２０、４２０…画像取得部
２３０、４３０…設定部
２４０、４４０…子テンプレート画像選択部
２５０、４５０…高相関画素位置検出部
２６０、４６０…高相関画素位置記憶部
２７０、４７０…収束判定部
２８０、４８０…オブジェクト位置特定部
【図１】
0005569130.tif 000002
【図６】
0005569130.tif 000003
【図７】
0005569130.tif 000004
【図８】
0005569130.tif 000005
【図９】
0005569130.tif 000006
【図１０】
0005569130.tif 000007
【図１１】
0005569130.tif 000008
【図１２】
0005569130.tif 000009
【図１３】
0005569130.tif 000010
【図１４】
0005569130.tif 000011
【図１５】
0005569130.tif 000012
【図１６】
0005569130.tif 000013
【図１７】
0005569130.tif 000014
【図２】
0005569130.tif 000015
【図３】
0005569130.tif 000016
【図４】
0005569130.tif 000017
【図５】
0005569130.tif 000018