(57)【要約】【課題】撮像された画像から、計算コストを軽減し、かつ、高精度、高速に位置検出ができる位置検出装置、位置検出方法を提供することを目的としている。【解決手段】位置検出装置１０は、画像データ取り込み部１０１と、テンプレート生成部１０２と、特徴点抽出部１０３と、計算対象領域抽出部１０４と、テンプレート・マッチング部１０５と、基準点座標・回転角度検出部１０６と、画像出力部１０７とから構成されている。また、位置検出装置１０には、モデルおよび入力画像を撮像するカメラ１１と、位置検出結果を表示する画像表示装置１３が接続されている。【選択図】図１
2011107878.tif 000002
【特許請求の範囲】
【請求項１】
対象物のモデルを含むモデル画像情報から生成されたテンプレートを用いて、マッチング対象である入力画像に対してテンプレート・マッチングを行うことにより前記対象物の位置を検出する位置検出装置において、
前記モデル画像を用いて、前記対象物の輪郭を構成する複数の特徴点を抽出する特徴点抽出部と、
前記特徴点抽出部で抽出された特徴点の数が予め定められた閾値より多い前記モデル画像内の計算対象領域を抽出する計算対象領域抽出部と、
前記入力画像の前記計算対象領域抽出部で抽出された計算対象領域に対してテンプレート・マッチングを行うテンプレート・マッチング部と、
前記テンプレート・マッチング部のテンプレート・マッチング結果に基づき、前記入力画像に前記対象物が含まれている場合、前記対象物の大きさ、位置および回転角度を検出する位置検出部と、
を備えることを特徴とする位置検出装置。
【請求項２】
前記計算対象領域抽出部における閾値は、
前記モデル画像の前記特徴点抽出部により抽出された前記特徴点の密度を算出し、
前記算出された前記特徴点の密度に基づき算出された閾値である
ことを特徴とする請求項１に記載の位置検出装置。
【請求項３】
前記計算対象領域抽出部は、
前記特徴点抽出部が抽出した前記モデル画像の特徴点が回転した場合、変化量が大きい前記モデル画像の周辺部の前記特徴点を含む計算対象領域を抽出する
ことを特徴とする請求項１または請求項２に記載の位置検出装置。
【請求項４】
対象物のモデルを含むモデル画像情報から生成されたテンプレートを用いて、マッチング対象である入力画像に対してテンプレート・マッチングを行うことにより前記対象物の位置を検出する方法において、
前記モデル画像を用いて、前記対象物の輪郭を構成する複数の特徴点を抽出する特徴点抽出工程と、
前記特徴点抽出工程で抽出された特徴点の数が予め定められた閾値より多い前記モデル画像内の計算対象領域を抽出する計算対象領域抽出工程と、
前記入力画像の前記計算対象領域抽出工程で抽出された計算対象領域に対してテンプレート・マッチングを行うテンプレート・マッチング工程と、
前記テンプレート・マッチング工程のテンプレート・マッチング結果に基づき、前記入力画像に前記対象物が含まれている場合、前記対象物の大きさ、位置および回転角度を検出する位置検出工程と、
を備えることを特徴とする位置検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、位置検出装置、位置検出方法に関する。
【背景技術】
【０００２】
カメラ等で撮像された画像を用いて位置検出方法は、例えば、撮像された画像からＬａｐｌａｃｉａｎフィルター等を用いて特徴点情報を抽出し、抽出された特徴点情報を二値化し、二値化された特徴点情報を用いて、「直線」、「円」を検出するハフ変換、任意の形状を検出する一般化ハフ変換、相関によるテンプレート・マッチングなどが知られている。
これらの位置検出方法の中でも、任意の形状を検出できる一般化ハフ変換は、道路標識の認識や、文字認識、部品識別など適用範囲が非常に広い。一般化ハフ変換では、検出対象となるモデルの画像をモデル画像として、位置検出装置に登録する。モデル画像の情報を登録後、検出物体の撮像を行い、撮像された画像から一般ハフ変換の手法を用いて検出物体の種別の識別や位置、および回転角度を検出する。
【０００３】
図１５を用いて、一般化ハフ変換を用いた検出物体（図形）の位置検出方法の概要を説明する。一般化ハフ変換では、まずモデル画像の登録を行う。図１５のように、画像処理されたモデル画像に対して１つの基準点ａを設定して、図形上の任意の特徴点ｘを、その点でのエッジの接線とｘａのベクトルとのなす角θ、およびｘａのベクトルの距離ｒで表す。複数の特徴点についてθとｒを求め、これらを関連付けモデル画像情報として登録する。
次に、検出する図形が含まれた画像をカメラで撮像して、撮像された画像に対して画像処理により特徴点を抽出する。抽出された複数あるいはすべての特徴点について、各特徴点のエッジの接線を求める。そして、任意の特徴点がモデル画像のどこかの特徴点であると仮定して、登録されたモデル画像情報（θとｒ）とモデル画像の回転角度（０゜〜３６０゜）を対応させてベクトルを生成する。生成されたベクトルを、このベクトルの組合せで表現されるパラメーター空間内の領域に１票として投票する。
回転角度ごとに投票がおこなわれた結果、回転角度の仮定がもっとも正しい場合、投票空間での基準点への投票数が多くなる。検出物体（図形）の特徴点に関する投票が終了後、パラメーター空間での閾値を設定して、もっとも投票が多かった座標を抽出して、検出物体（図形）の基準点の座標と回転角度を求める。これらの手続きにより、検出物体（図形）の種別の識別と位置、および回転角度を検出することができる（例えば、非特許文献１参照）。
【０００４】
テンプレート・マッチングは、まずモデル画像を登録する。この登録されたモデル画像からテンプレートを生成する。次に、撮像された画像全体に対して生成されたテンプレートを、位置や回転角度、および大きさを変えて重ね合わせることにより比較照合（マッチング）を行い、最も相違度の低い（または類似度の高い）画像領域を抽出することで、検出したい図形の位置を検出することができる。相違度あるいは類似度の比較には、ＳＡＤ（輝度の絶対差の総和；Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅｓ）やＳＳＤ（輝度の絶対さの２乗和；Ｓｕｍ  ｏｆ  Ｓｑｕａｒｅｄ  Ｄｉｆｆｅｒｅｎｃｅｓ）、またはＮＣＣ（正規化相互相関関数；Ｎｏｒｍａｌｉｚｅ  ｃｒｏｓｓ  ｃｏｒｒｅｌａｔｉｏｎ）等が用いられる。
また、検出したい対象の図形の大きさや回転角度が未知の場合は、様々の大きさや回転角度のテンプレートを用意し、各々のテンプレートを用いてマッチングを行うことで、検出したい図形の位置や回転角度を検出することができる。（例えば、非特許文献２参照）。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】安居院猛、中嶋正之、「画像情報処理」、森北出版、１９９１年２月２５日、ｐ１１７−１１８
【非特許文献２】田村秀行、「コンピュータ画像処理」、オーム社、２００２年１２月２０日、ｐ２５２−２５４
【発明の概要】
【発明が解決しようとする課題】
【０００６】
一般化ハフ変換を用いて精度良く図形の位置検出を検出するためには、前処理での特徴点の位置座標を精密に検出する必要があり、さらに、ハフ変換の投票におけるモデル画像情報の回転角度を細かくして比較する必要がある。このため、検出位置精度を上げるには、計算コスト（演算量、演算時間、使用メモリ容量等）の増大を招くという課題があった。
【０００７】
また、テンプレート・マッチングを用いて精度良く図形の位置検出するためには、撮像された画像全体に対して、大きさ（拡大率、縮小率）の比率間隔、および回転角度の間隔を細かくした多数のテンプレートを用意し、各々のテンプレートを用いてマッチングを行う必要がある。このため、検出位置精度を上げるには、計算コストの増大を招くという課題があった。
【０００８】
このため、ハフ変換またはテンプレート・マッチングを用いて精度良く、かつ計算コストを下げて図形の位置検出するためには、ハフ変換またはテンプレート・マッチングを用いて荒い精度で位置検出を行い、その後、別の方法で検出位置精度を高める等の工夫が行われている。しかしながら、どちらの場合も一般化ハフ変換またはテンプレート・マッチングのみの検出を行った後、精度を上げるための精密な再検出を行う必要があるため、計算コストが増大するという課題があった。
【０００９】
本発明は、上記の問題点に鑑みてなされたものであって、計算コストを削減し、高精度かつ高速に図形の位置、回転角度を検出することが可能な位置検出装置、位置検出方法を提供することを目的としている。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、本発明は、対象物のモデルを含むモデル画像情報から生成されたテンプレートを用いて、マッチング対象である入力画像に対してテンプレート・マッチングを行うことにより前記対象物の位置を検出する位置検出装置において、
前記モデル画像を用いて、前記対象物の輪郭を構成する複数の特徴点を抽出する特徴点抽出部と、前記特徴点抽出部で抽出された特徴点の数が予め定められた閾値より多い前記モデル画像内の計算対象領域を抽出する計算対象領域抽出部と、前記入力画像の前記計算対象領域抽出部で抽出された計算対象領域に対してテンプレート・マッチングを行うテンプレート・マッチング部と、前記テンプレート・マッチング部のテンプレート・マッチング結果に基づき、前記入力画像に前記対象物が含まれている場合、前記対象物の大きさ、位置および回転角度を検出する位置検出部とを備えることを特徴としている。
【００１１】
また、本発明は、位置検出装置において、前記計算対象領域抽出部における閾値は、前記モデル画像の前記特徴点抽出部により抽出された前記特徴点の密度を算出し、前記算出された前記特徴点の密度に基づき算出された閾値であることを特徴としている。
【００１２】
また、本発明は、位置検出装置において、前記計算対象領域抽出部は、前記特徴点抽出部が抽出した前記モデル画像の特徴点が回転した場合、変化量が大きい前記モデル画像の周辺部の前記特徴点を含む計算対象領域を抽出することを特徴としている。
【００１３】
また、本発明は、対象物のモデルを含むモデル画像情報から生成されたテンプレートを用いて、マッチング対象である入力画像に対してテンプレート・マッチングを行うことにより前記対象物の位置を検出する方法において、
前記モデル画像を用いて、前記対象物の輪郭を構成する複数の特徴点を抽出する特徴点抽出工程と、前記特徴点抽出工程で抽出された特徴点の数が予め定められた閾値より多い前記モデル画像内の計算対象領域を抽出する計算対象領域抽出工程と、前記入力画像の前記計算対象領域抽出工程で抽出された計算対象領域に対してテンプレート・マッチングを行うテンプレート・マッチング工程と、前記テンプレート・マッチング工程のテンプレート・マッチング結果に基づき、前記入力画像に前記対象物が含まれている場合、前記対象物の大きさ、位置および回転角度を検出する位置検出工程と、を備えることを特徴としている。
【００１４】
本発明によれば、検出画面の全画面に対してテンプレート・マッチング処理を行わなくても、モデルに応じた計算対象領域を設定することで、全画面でテンプレート・マッチング処理を行う場合より高速に検出物体の位置検出が可能になる。また、テンプレート・マッチング処理を行う領域を全画面ではなく、特定の領域にしたため、テンプレート・マッチング処理におけるテンプレートの拡大処理や回転処理を細かく設定しても、従来の全画面に対してテンプレート・マッチング処理を行うより計算コストが少ないため、高精度な検出が可能になる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施形態に係る位置検出装置の構成の一例を示す図である。
【図２】相違度を説明する図である。
【図３】同実施形態に係るカメラで撮像されたモデル画像の一例を示す図である。
【図４】同実施形態に係る特徴点抽出部２がモデル画像から抽出した特徴点の例を説明する図である。
【図５】同実施形態に係る検出物体が平行移動した検出画像の一例である。
【図６】同実施形態に係る検出物体がモデル画像に対して回転している一例を示す図である。
【図７】同実施形態に係る解像度の影響を説明する図である。
【図８】同実施形態に係る位置検出手順のフローチャートである。
【図９】同実施形態に係る位置検出手順のフローチャートである
【図１０】同実施形態に係るモデル画像における計算対象領域の一例を説明する図である。
【図１１】同実施形態に係るモデル画像における計算対象領域の一例を説明する図である。
【図１２】同実施形態に係る他の計算対象領域の一例を説明する図である。
【図１３】同実施形態に係る他の計算対象領域の一例を説明する図である。
【図１４】同実施形態に係る他の計算対象領域の例を説明する図である。
【図１５】一般化ハフ変換を説明する図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態について、図１〜図１４を用いて説明する。なお、本発明は係る実施形態に限定されず、その技術思想の範囲内で種々の変更が可能である。
【００１７】
図１は、本実施形態における位置検出装置１０のシステム全体の一例を示す概略図である。図１のように、位置検出装置１０は、画像データ取り込み部１０１と、テンプレート生成部１０２と、特徴点抽出部１０３と、計算対象領域抽出部１０４と、テンプレート・マッチング部１０５と、基準点座標・回転角度検出部１０６と、画像出力部１０７と、ＤＢ（データベース）部１０８とから構成されている。また、位置検出装置１０には、モデルおよび入力画像を撮像するカメラ１１と、位置検出結果を表示する画像表示装置１３が接続されている。
【００１８】
カメラ１１は、例えば受光レンズとＣＣＤカメラ等で構成され、モデルもしくは検出物体の画像を撮影し、撮影した画像データを位置検出装置１０に送信する。画像表示装置１３は、位置検出装置１０から位置検出結果の表示用の画像が入力され、入力された画像を表示する。
【００１９】
画像データ取り込み部１０１は、カメラ１１により撮影されたモデルのモデル画像もしくは入力画像（探索画像）を取り込み、取り込んだモデル画像もしくは入力画像をテンプレート生成部１０２とテンプレート・マッチング部１０５に出力する。
【００２０】
テンプレート生成部１０２は、画像取り込み部１０１が取り込んだモデル画像、あるいは予め取得したモデル画像をＤＢ１０８から取り込む。また、テンプレート生成部１０２は、取り込んだ入力画像あるいはＤＢ１０８から取り込んだモデル画像を用いて、テンプレート・マッチングで使用するためのテンプレート画像を生成し、生成したテンプレート画像をテンプレート・マッチング部１０５に出力する。
【００２１】
特徴点抽出部１０３は、テンプレート生成部１０２が生成したテンプレート画像を取り込む。また、特徴点抽出部１０３は、取り込んだテンプレート画像にＬａｐｌａｃｉａｎフィルター等を用いて画像処理を行い、モデルの特徴点を抽出する。また、特徴点抽出部１０３は、画像処理により抽出された複数あるいはすべての特徴点に関して、特徴点の座標、および輝度情報等を含む特徴点情報を計算対象領域抽出部１０４に出力する。
【００２２】
計算対象領域抽出部１０４は、特徴点抽出部１０３が抽出したモデルの特徴点情報を取り込む。また、計算対象領域抽出部１０４は、取り込んだモデルの特徴点情報を用いて閾値以上の特徴点が存在する領域を抽出する。なお、ここで使用する閾値は、予め定めておくか、モデル画像から抽出した特徴点の密度を算出して、算出した密度に基づいて閾値を設定するようにしても良い。また、計算対象領域の大きさは、予め定めておくか、モデル画像から抽出された特徴点の密度を算出して、算出した密度に基づいて計算対象領域の大きさを設定するようにしても良い。また、計算対象領域は、モデル画像が回転した場合に、後述するように特徴点の変化量（移動量）が大きな領域を設定する。
また、計算対象領域抽出部１０４は、抽出した計算対象領域に関する情報（計算対象領域の全ての画素の座標、計算対象領域の重心座標など）をテンプレート・マッチング部１０５に出力する。
【００２３】
テンプレート・マッチング部１０５は、テンプレート生成部１０2が生成したテンプレート画像と、計算対象領域抽出部１０４が抽出した計算対象領域に関する情報と、画像取り込み部１０１が取り込んだ入力画像とを取り込む。また、テンプレート・マッチング部１０５は、取り込んだテンプレート画像と、計算対象領域に関する情報と、入力画像とを用いて、入力画像とモデルとのテンプレート・マッチングを行い、相違度を求める。ただし、本実施形態におけるテンプレート・マッチングは、検出画像の全画面に行うのではなく、計算対象領域に関する情報に基づき、計算対象領域に対してのみ行う。
図２は、相違度を説明する図である。図２に示すように、検出しようとする対象を表すテンプレートｔ（ｘ，ｙ）を画像ｆ（ｘ，ｙ）中の点（ｕ，ｖ）の位置に重なるようにし、ｔ（ｘ，ｙ）とそれに重なる画像部分の相違度は、例えば次式（１）〜式（３）により算出する。
【００２４】
【数１】
2011107878.tif 000003
【００２５】
【数２】
2011107878.tif 000004
【００２６】
【数３】
2011107878.tif 000005
【００２７】
または、検出物体とモデルとのテンプレート・マッチングを行って類似度を求める。類似度は、例えばＳＡＤ（輝度の絶対差の総和）を、次式（４）を用いて算出する。式（２）において、ＩＡ（ｉ，ｊ）はモデル画像の各画素（ｉ，ｊ）の輝度値であり、ＩＢ（ｉ，ｊ）は検出画像の各画素（ｉ，ｊ）の輝度値である。
【００２８】
【数４】
2011107878.tif 000006
【００２９】
また、テンプレート・マッチング部１０５は、計算対象領域の全ての画素に対して相違度または類似度を算出し、算出した相違度または類似度をその座標と関連付けた配列変数Ｄとして、基準点座標・回転角度検出部１０６に出力する。
【００３０】
基準点座標・回転角度検出部１０６は、テンプレート・マッチング部１０５が算出した相違度または類似度の配列変数Ｄを取り込む。また、基準点座標・回転角度検出部１０６は、取り込んだ配列変数Ｄから閾値以下の相違度を抽出し、抽出した閾値以下の相違度の極小値を求める。または、基準点座標・回転角度検出部１０６は、入力された配列変数Ｄから閾値以上の類似度を抽出し、抽出した閾値以上の類似度の極大値を求める。この閾値は、予め定められた値を用いるか、あるいは、モデル画像に基づき最適な閾値を生成して使用する。
また、基準点座標・回転角度検出部１０６は、求めた相違度の極小値に基づき、検出物体の位置座標、回転角度、大きさ（拡大率または縮小率）を検出する。または、基準点座標・回転角度検出部１０６は、求めた類似度の極大値に基づき、検出物体の位置座標、回転角度、大きさ（拡大率または縮小率）を検出する。また、基準点座標・回転角度検出部１０６は、算出した検出物体の位置座標、回転角度、大きさ（拡大率または縮小率）に関する情報を画像出力部１０７に出力する。
【００３１】
画像出力部１０７は、基準点座標・回転角度検出部１０６が検出した位置情報を取り込み、取り込んだ位置情報を用いて位置検出結果を表示する情報を生成して、画像表示装置１２に出力する。
【００３２】
画像表示装置１３は、画像出力部１０７が生成した位置検出結果を表示する情報を取り込み、取り込んだ位置検出結果を表示する情報を表示する。
【００３３】
次に、テンプレート・マッチングにおいて、モデル画像の全画面を、マッチングを行う対象としなくても検出物体の位置や回転角度が検出できる理由を図３〜図７を用いて説明する。図３は、カメラ１１で撮像されたモデル画像の一例を示す図である。図３のように、撮像されたモデル画像２０１には、図形（モデル）２０２が含まれている。
次に、図４は、特徴点抽出部１０２がモデル画像２０１から抽出した特徴点２２１ａ〜ｐの例を説明する図である。図４において、基準点２１１はモデル画像２０１の重心（図心であっても可）である。図４のように、モデル２０２が、突起部や交差部などが特徴的な形状を有する図形の場合、モデル画像２０１の全体を比較しなくても、これらの特徴的な複数の部分のみ抽出して、モデル画像２０１と検出画像で比較すれば、検出したい物体の位置の検出できる。
図５は、モデル２０２を平行移動した検出画像２３１の一例である。図５では、検出物体の大きさおよび回転角度は図４のモデル画像２０１と同じであり、検出物体２３３を右に平行移動しただけである。図５において、図形２０２は移動前のモデルであり、図形２３３は移動後の検出物体の図形であり、特徴点２２１ｏと２２１ｐ（＋字マーク）は移動前のモデルの特徴点であり、特徴点２４１ｏと２４１ｐ（×マーク）は移動後の検出物体２３３の特徴点である。この場合、特徴点の移動量（２２１ｏから２４１ｏ、または２２１ｐから２４１ｐ）は、検出画像２３１内で同じであり、すなわち検出画像２３１全体に対して相違度を求めても、特徴点を含む検出画像の一部、例えば領域２３７の範囲で相違度を求めても相違度としては同一である。すなわち、検出物体を検出する上で重要な複数の特徴点が存在する範囲のみで相違度を算出して位置検出を行うことも可能であり、検出のための計算コストを軽減できる。
【００３４】
次に、検出物体が回転している場合について、図６を用いて説明する。図６は、検出物体２５３がモデル画像に対して回転している一例を示す図である。図６のように、モデル画像に対して検出物体２５３は反時計回りで回転している。図６において、特徴点２６１ｊと２６１ｐについて注目すると、基準点２１１から近い距離ｒ１にある特徴点２２１ｊ（＋字マーク）は、回転後に特徴点２６１ｊ（×マーク）に回転移動する。一方、基準点２１１から遠い距離ｒ２にある特徴点２２１ｐ（＋字マーク）は、回転後に特徴点２６１ｐ（×マーク）に回転移動する。回転による特徴点の移動量は、基準点２１１からの半径に依存し、ｒ１の位置にある特徴点よりｒ２の位置にある特徴点の方が、回転移動量は大きい。
【００３５】
また、位置検出は、カメラ１１及び位置検出装置１０内の解像度の影響も受ける。図７は、解像度の影響を説明する図である。例えば、図７のように直線が検出画像内に存在し、この直線が５度の回転角度を有している特徴点３０３の場合、基準点３０１から半径ｒ３の位置では解像度上、回転移動していないのと同じ座標３０５を有するため移動量が検出できない。一方、基準点３０１から半径ｒ４の位置では、座標３０７を有するので移動量が検出できる。すなわち、モデル画像に対して検出物体が回転している場合、基準点近くで相違度を求めても、上述したように解像度の影響により回転していること、すなわち本来あるべき位置に特徴点の座標および回転角度が検出できない場合も発生する。これらは結果として誤差やノイズとなり、計算コストの増大を招いている。このため、モデル画像全体の相違度を算出するのではなく、特徴点の移動量が大きく、かつノイズになりにくい位置のみを相違度の演算対象、すなわち計算対象領域として、テンプレート・マッチングを行うことにより、高精度、かつ高速に検出物体の位置や回転角度を算出できる。  
【００３６】
次に、検出物体の位置を検出する手順を、図８〜図１１を用いて説明する。図８と９は、位置検出手順のフローチャートである。図１０と図１１は、モデル画像における計算対象領域の一例を説明する図である。
まず、カメラ１１でモデルの画像を撮影して、位置検出装置１０の画像データ取り込み部１０１が撮影されたモデル画像を取り込む（ステップＳ１）。また、画像データ取り込み部１０１は、取り込んだモデル画像をテンプレート生成部１０２に出力する。
【００３７】
次に、テンプレート生成部１０２は、画像データ取り込み部１０１が取り込んだ画像データを取り込む。また、テンプレート生成部１０２は、取り込んだ画像データを用いてテンプレート画像を生成する（ステップＳ２）。また、テンプレート生成部１０２は、生成したテンプレート画像を特徴点抽出部１０３とテンプレート・マッチング部１０５に出力する。
【００３８】
次に、特徴点抽出部１０３は、テンプレート生成部１０２が生成したモデル画像を取り込む。また、特徴点抽出部１０３は、取り込んだモデル画像に対して、Ｌａｐｌａｃｉａｎフィルター等の画像処理を用いて、モデルの特徴点を抽出する（ステップＳ２）。また、特徴点抽出部１０２は、抽出された複数あるいはすべての特徴点に関する情報（座標および輝度等）を計算対象領域抽出部１０４に出力する。
【００３９】
計算対象領域抽出部１０４は、特徴点抽出部１０３が抽出したモデルの特徴点に関する情報を取り込む。また、計算対象領域抽出部１０４は、取り込んだ特徴点に関する情報を用いて、例えば、少なくとも１つの特徴点が存在する領域を計算対象領域の候補として抽出する（ステップＳ４）。なお、計算対象領域の大きさは、モデルに合わせた予め定められた大きさの画素数の大きさ、またはモデル画像から抽出された特徴点の密度を算出して、算出された密度に基づいて算出された大きさであり、例えば、５×５ピクセルである。
【００４０】
次に、計算対象領域抽出部１０４は、抽出した計算対象領域の候補に、閾値以上の特徴点があるか否かを判定する（ステップＳ５）。なお、ここで使用する閾値は、モデルに合わせて予め定めておくか、モデル画像から抽出された特徴点の密度を算出して、算出された密度に基づいて閾値を設定するようにしても良い。また、計算対象領域抽出部１０４は、抽出した計算対象領域に関する情報（計算対象領域の全ての画素の座標、計算対象領域の重心座標など）をテンプレート・マッチング部１０５に出力する。
【００４１】
ステップＳ５の判定の結果、抽出した計算対象領域の候補に閾値以上の特徴点がないと判定した場合（ステップＳ５；Ｎｏ）、ステップＳ４に戻り、計算対象領域抽出部１０４は別の計算対象領域の候補を抽出する。一方、ステップＳ５の判定の結果、抽出した計算対象領域の候補に閾値以上の特徴点があると判定した場合（ステップＳ５；Ｙｅｓ）、ステップＳ６に進む。
【００４２】
次に、テンプレート・マッチング部１０５は、相違度を格納する配列変数Ｄの初期化等のテンプレート・マッチング処理を行うための初期化を行う（ステップＳ６）。
【００４３】
次に、カメラ１１で検出物体の画像を撮影して、位置検出装置１０の画像データ取り込み部１０１が撮影された入力画像データを取り込む（ステップＳ７）。また、画像データ取り込み部１０１は、取り込んだ入力画像データをテンプレート・マッチング部１０５に出力する。
【００４４】
次に、テンプレート・マッチング部１０５は、テンプレート生成部１０２が生成したモデルのテンプレート画像と、計算対象領域抽出部１０４が抽出したモデルの計算対象領域に関する情報と、画像データ取り込み部１０１が取り込んだ入力画像が入力される。また、テンプレート・マッチング部１０５は、入力されたモデルのテンプレート画像とモデルの計算対象領域に関する情報と入力画像を用いて、ステップＳ９〜ステップＳ２０の処理によりテンプレート・マッチング処理を行う。
【００４５】
まず、テンプレート・マッチング部１０５は、モデルのテンプレート画像に対して、設定されている最小拡大率、例えば０．７倍に設定し、設定した拡大率に基づいて拡大処理を行う（ステップＳ９）。拡大処理後、テンプレート・マッチング部１０５は、モデルのテンプレートに対して、設定されている回転角度の最小値＝０゜に設定し、設定した回転角度に基づいて回転処理を行う（ステップＳ１０）。回転処理後、テンプレート・マッチング部１０５は、モデルのテンプレート画像に対して、計算対象領域のＹ軸の最小値に設定する（ステップＳ１１）。Ｙ軸設定処理後、テンプレート・マッチング部１０５は、モデルのテンプレート画像に対して、計算対象領域のＸ軸の最小値に設定する（ステップＳ１２）。
【００４６】
Ｘ軸設定処理後、テンプレート・マッチング部１０５は、ステップＳ１１とステップＳ１２で設定された計算対象領域の座標に、検索ポイントを移動する（ステップＳ１３）。検索ポイントを移動後、テンプレート・マッチング部１０５は、拡大処理および回転処理されたテンプレートと、ステップＳ１１とステップＳ１２で設定された計算対象領域の座標との相違度を計算する（ステップＳ１４）。次に、テンプレート・マッチング部１０５は、計算された相違度と座標を関連付けて配列変数Ｄとして、テンプレート・マッチング部１０５内の記憶部に記憶する（ステップＳ１５）。
【００４７】
次に、テンプレート・マッチング部１０５は、計算対象領域のＸ軸の最大値まで処理が終了しているか否かを判定する（ステップＳ１６）。ステップＳ１６で、計算対象領域のＸ軸の最大値まで処理が終了していないと判定した場合、ステップＳ１２に戻り、テンプレート・マッチング部１０５は計算対象領域のＸ軸の次の値（１画素分を加算）に設定し、ステップＳ１２〜ステップＳ１６を繰り返す。ステップＳ１６で、計算対象領域のＸ軸の最大値まで処理が終了していると判定した場合、ステップＳ１７に進み、テンプレート・マッチング部１０５は計算対象領域のＹ軸の最大値まで処理が終了しているか否かを判定する（ステップＳ１７）。ステップＳ１７で、計算対象領域のＹ軸の最大値まで処理が終了していないと判定した場合、ステップＳ１１に戻り、テンプレート・マッチング部１０５は計算対象領域のＹ軸の次の値（１画素分を加算）に設定し、ステップＳ１１〜ステップＳ１７を繰り返す。
【００４８】
ステップＳ１７の判定の結果、計算対象領域のＹ軸の最大値まで処理が終了していると判定した場合、ステップＳ１８に進み、テンプレート・マッチング部１０５は、テンプレートに対する回転処理角度を最大値（例えば３６０゜）まで処理が終了しているか否かを判定する（ステップＳ１８）。ステップＳ１８で、テンプレートに対する回転処理角度を最大値（例えば３６０゜）まで処理が終了していないと判定した場合、ステップＳ１０に戻り、テンプレート・マッチング部１０５は、テンプレートに対する次の回転処理角度（例えば１゜分を加算）を設定し、ステップＳ１０〜ステップＳ１８を繰り返す。ステップＳ１８で、テンプレートに対する回転処理角度を最大値（例えば３６０゜）まで処理が終了したと判定した場合、ステップＳ１９に進み、テンプレート・マッチング部１０５はテンプレートに対する拡大率が最大値（例えば１．５倍）まで処理が終了しているか否かを判定する（ステップＳ１９）。ステップＳ１９の判定の結果、テンプレートに対する拡大率を最大値まで処理が終了していないと判定した場合、ステップＳ９〜ステップＳ１９を繰り返す。
【００４９】
ステップＳ１９の判定の結果、テンプレートに対する拡大率を最大値まで処理が終了したと判定した場合、ステップＳ２０に進み、基準点座標・回転角度検出部１０６はステップＳ９〜ステップＳ１９で算出した全ての相違度の中から、モデルに合わせて設定されている閾値以下かつ極小値を抽出する。また、基準点座標・回転角度検出部１０６は、抽出した極小値の相違度に対応する配列変数Ｄの拡大率、回転角度および座標を抽出し、抽出した拡大率、回転角度および座標に基づき、検出物体の位置、拡大率および回転角度を検出して画像出力部１０７に出力する（ステップＳ２０）。
【００５０】
画像出力部１０７は、基準点座標・回転角度検出部１０６から検出された検出物体の位置、拡大率および回転角度に関する情報が入力され、入力された情報を画像表示装置１３に出力する。
画像表示装置１３は、画像出力部１０７から入力された検出物体の位置、拡大率および回転角度に関する情報を位置検出結果として表示する。
以上で、検出物体の位置検出処理を終了する。
【００５１】
なお、図８〜図９のフローチャートでは、モデル画像と検出画像の相違度を求めてテンプレート・マッチングを行い位置検出する例について説明したが、モデル画像と検出画像の類似度を求めてテンプレート・マッチングを行い位置検出しても良い。この場合、ステップＳ１５で類似度を計算し、ステップＳ２０でモデルに合わせて設定されている閾値以上の類似度の極大値を求めて位置検出を行う。
【００５２】
なお、図８〜図９のフローチャートでは、テンプレート生成部１０２は、カメラ１１が撮像した画像データを用いてテンプレート画像を生成する例について説明したが、ＤＢ部１０８に記憶されている予め取得した画像を読み出して、読み出した画像を用いてテンプレート画像を生成しても良い。
【００５３】
なお、図８〜図９のフローチャートでは、ステップＳ７で入力画像データを取り込む例を説明したが、入力画像データを取り込むタイミングはこれに限られず、例えばステップＳ１より先に取り込んでも良く、テンプレート・マッチング部１０５がテンプレート・マッチングを行う前であれば良い。
【００５４】
図１０と図１１は、モデル画像における計算対象領域の一例を説明する図である。図１０のように、モデル２０２が存在するモデル画像２０１において、特徴点が定められた閾値以上存在する領域として、計算対象領域３０１〜３０４を設定した例である。このように、計算対象領域は、モデル画像２０１の基準点２１１から距離が大きく、かつ特徴点が複数含まれている領域を設定することが望ましい。また、図１１のように、モデル２０２に対して、検出物体３１０が基準軸３２０を中心に角度θ回転している場合、計算対象領域３０３以外の領域で特徴点が検出できている。これらの計算対象領域３０１、３０２および３０４で、それぞれテンプレート・マッチング処理を行えば、それぞれ拡大率＝１、回転角度θにおいて最小の相違度が得られることになる。
以上のように、検出画面３０１の全画面に対してテンプレート・マッチング処理を行わなくても、モデル２０２に応じた計算対象領域を設定することで、全画面でテンプレート・マッチング処理を行う場合より高速に検出物体の位置検出ができる。また、テンプレート・マッチング処理を行う領域を全画面ではなく、特定の領域にしたため、テンプレート・マッチング処理におけるテンプレートの拡大処理や回転処理を細かく設定しても、従来の全画面に対してテンプレート・マッチング処理を行うより計算コストが少ないため、高精度な検出が可能になった。
【００５５】
図１２と図１３は、他の計算対象領域の一例を説明する図である。図１２はモデル画像２０１であり、モデル画像２０１に対して、外周を囲む領域６０１を計算対象領域に設定した一例である。図１０と同様に、計算対象領域６０１は、モデル画像２０１の基準点２１１から距離が大きく、かつ特徴点が複数含まれている。図１３は検出画像７０１であり、検出物体７０２の特徴点は、モデル画像２０１で設定された計算対象領域６０１に複数含まれているため、この計算対象領域６０１内のみでテンプレート・マッチング処理を行うことで、従来の画像全体に対してテンプレート・マッチング処理を行う場合より、高精度で高速な位置検出を行うことが可能になる。
【００５６】
図１４（ａ）〜（ｆ）は、他の計算対象領域の例を説明する図である。図１４（ａ）〜（ｆ）も、計算対象領域８０１〜８０４、８１１〜８１４、８２１〜８２１、８３１〜８３２、８４１〜８４４、８５１〜８５４は、モデル画像の基準点から距離が大きく、かつ特徴点が複数含まれている。このため、各計算対象領域内のみでテンプレート・マッチング処理を行うことで、従来の画像全体に対してテンプレート・マッチング処理を行う場合より、高精度で高速な位置検出を行うことが可能になる。
【００５７】
なお、本実施形態では、検出画像に対して１回のテンプレート・マッチングにより位置検出する例について説明したが、検出画像に対して従来技術のように、事前に一般化ハフ変換もしくはテンプレート・マッチングにより荒い精度で、検出物体の拡大率、回転角度および位置を検出した後に、検出精度を上げるため本実施形態の位置検出を行うようにしても良い。このように、精度を上げる位置検出に本実施形態の方法を用いれば、計算対象領域のみでテンプレート・マッチングを行うため、従来の方法より計算コストを削減でき、かつ高精度、高速な位置検出を行うことが可能になる。
【００５８】
なお、実施形態の図１の機能の全て、もしくは一部を、光学式計測装置の図示しないＣＰＵ（中央演算装置）に接続されたＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）もしくはＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）  Ｉ／Ｆを介して接続されるＵＳＢメモリー等の記憶装置に保存されているプログラムにより実行することも可能である。
【符号の説明】
【００５９】
１０・・・位置検出装置
１１・・・カメラ
１３・・・画像表示装置
１０１・・・画像データ取り込み部
１０２・・・テンプレート生成部
１０３・・・特徴点抽出部
１０４・・・計算対象領域抽出部
１０５・・・テンプレート・マッチング部
１０６・・・基準点座標・回転角度検出部
１０７・・・画像出力部
１０８・・・ＤＢ部
２２１ａ〜２２１ｐ・・・モデルの特徴点
４０１〜４０４・・・計算対象領域
【図１】
2011107878.tif 000007
【図２】
2011107878.tif 000008
【図３】
2011107878.tif 000009
【図４】
2011107878.tif 000010
【図５】
2011107878.tif 000011
【図６】
2011107878.tif 000012
【図７】
2011107878.tif 000013
【図８】
2011107878.tif 000014
【図９】
2011107878.tif 000015
【図１０】
2011107878.tif 000016
【図１１】
2011107878.tif 000017
【図１２】
2011107878.tif 000018
【図１３】
2011107878.tif 000019
【図１４】
2011107878.tif 000020
【図１５】
2011107878.tif 000021