(57)【要約】【課題】色物体を適切に認識する。【解決手段】色領域検出部１３は、入力画像上の同じ色の隣接する画素をひとまとまりにして色領域を形成する。マッチング部１４は、入力画像上の色領域と、記憶部２２に予め記憶されている物体の判別の基準となる物体（モデル）を被写体とした撮像画像（基準画像）上に形成される色領域とが、モデルの同じ部分に対応している可能性があるか否かを判定し、その可能性がある基準画像上の色領域と入力画像上の色領域の候補ペアを検出する。認識部１５は、各候補ペアの基準画像上の色領域と入力画像上の色領域が、共通する姿勢パラメータで姿勢変換できる関係にあるか否かを判定し、その判定結果に基づいて、入力画像からモデルを認識する。【選択図】図２
2007280032.tif 000002
【特許請求の範囲】
【請求項１】
表面に複数の色が付された色物体が撮像された結果得られた入力カラー画像から、表面に複数の色が付された所定のモデルを認識する画像処理装置において、
前記入力カラー画像から、隣接する同じ色の画素からなる色領域を検出する検出手段と、
前記検出手段により検出された前記入力カラー画像上の色領域が、前記モデルを撮像した結果得られた基準カラー画像上の色領域が対応する前記モデルの部分に対応する領域であるか否かを判定し、その判定結果に基づいて、前記入力カラー画像の前記色物体が前記モデルであるか否かを判別する認識手段と
を備える画像処理装置。
【請求項２】
前記認識手段は、
前記モデルの同じ部分に対応している可能性がある前記基準カラー画像上の色領域と前記入力カラー画像上の色領域の組を検出し、
同一の姿勢パラメータで姿勢変換可能な前記基準カラー画像上の色領域と前記入力カラー画像上の色領域からなる前記組が所定の数以上存在するか否かを判定し、その判定結果に基づいて、前記入力カラー画像の前記色物体がモデルであるか否かを判別する
請求項１に記載の画像処理装置。
【請求項３】
前記姿勢パラメータは、回転行列または並進である
請求項２に記載の画像処理装置。
【請求項４】
前記所定の数は、前記基準カラー画像上の色領域の数に対応する数である
請求項２に記載の画像処理装置。
【請求項５】
前記認識手段は、前記入力カラー画像の前記色物体がモデルであると判別したとき、前記姿勢パラメータに基づいて前記入力カラー画像の前記色物体の位置を検出する
請求項２に記載の画像処理装置。
【請求項６】
前記認識手段は、同じ色、またはアスペクト比の差が一定以内の前記基準カラー画像上の色領域と前記入力カラー画像上の色領域を、前記モデルの同じ部分に対応している可能性がある前記組とする
請求項２に記載の画像処理装置。
【請求項７】
前記認識手段は、各前記組の前記基準カラー画像上の色領域と前記入力カラー画像上の色領域間の姿勢変換における変換パラメータの姿勢空間への投票を行い、最も多い投票に対応する変換パラメータで前記基準カラー画像上の色領域と前記入力カラー画像上の色領域との姿勢変換が可能な前記組の数が所定の数以上存在するか否かを判定し、その判定結果に基づいて、前記入力カラー画像の前記色物体がモデルであるか否かを判別する
請求項２に記載の画像処理装置。
【請求項８】
表面に複数の色が付された色物体が撮像された結果得られた入力カラー画像から、表面に複数の色が付された所定のモデルを認識する画像処理方法において、
前記入力カラー画像から、隣接する同じ色の画素からなる色領域を検出する検出ステップと、
前記検出ステップの処理で検出された前記入力カラー画像上の色領域が、前記モデルを撮像した結果得られた基準カラー画像上の色領域が対応する前記モデルの部分に対応する領域であるか否かを判定し、その判定結果に基づいて、前記入力カラー画像の前記色物体が前記モデルであるか否かを判別する認識ステップと
を含む画像処理方法。
【請求項９】
表面に複数の色が付された色物体が撮像された結果得られた入力カラー画像から、表面に複数の色が付された所定のモデルを認識する画像処理をコンピュータに実行させるプログラムにおいて、
前記入力カラー画像から、隣接する同じ色の画素からなる色領域を検出する検出ステップと、
前記検出ステップの処理で検出された前記入力カラー画像上の色領域が、前記モデルを撮像した結果得られた基準カラー画像上の色領域が対応する前記モデルの部分に対応する領域であるか否かを判定し、その判定結果に基づいて、前記入力カラー画像の前記色物体が前記モデルであるか否かを判別する認識ステップと
を含むプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置および方法、プログラムに関し、特に、モデルの画像上の色領域と入力画像上の色領域の位置関係に基づいて、入力画像の被写体がモデルであるか否かを判別することにより、モデル認識を適切に行うことができるようにした画像処理装置および方法、プログラムに関する。
【背景技術】
【０００２】
カラー画像を使った物体認識は、処理が簡単で高速であることや物体の大きさ（距離）や見えの変化に因らず認識が容易であることから、ロボットなどの視覚システムとして良く用いられる。
【０００３】
カラー画像から色を抽出する方法は、特許文献１に、またカラー画像を認識する方法は、特許文献２に示されている。
【０００４】
【特許文献１】特開平１１−７２３８７号公報
【特許文献２】特開平０８−１６７７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながらある物体を特定の単色に塗って、物体を認識させる場合には、物体と同色の色が背景にあると誤認識してしまうので、物体を認識する場合の背景が様々の色を有し得る場合は、物体を適切に認識することができないときがある。
【０００６】
また認識できる物体は、定義された色の数だけとなるので、認識できる物体の数が制限されてしまう。
【０００７】
そこで物体の局所特徴量に着目して特徴量の類似度と特徴量同士の位置関係の制約を利用して物体を認識する方法も提案されている。
【０００８】
この方法では画像中の全ての注目点（Interesting point）に対して局所特徴量を求めて、登録された物体の局所特徴量と類似度する組み合わせを全て候補として残し、これらの位置関係を変換するパラメータが空間上に投票される（ハフ変換される）。投票数の多かった変換パラメータが存在する場合は、登録された物体が入力画像中にその変換パラメータで表した位置または姿勢で存在するか否かの判定が行われる。
【０００９】
このように複数の特徴的なテクスチャー（模様）の位置の制約を含めた組み合わせで物体をみることにしたので、背景に因らずに安定的に物体を認識することができる。
【００１０】
しかしながらこの手法では、多くの局所特徴量を使いたマッチングを行う必要があるので処理に時間がかかる。また特徴点上のテクスチャ自体は大きさや見え方によって変化するので、物体を見る方向によっては適切に物体を認識することができない場合がある。
【００１１】
本発明はこのような状況に鑑みてなされたものであり、色物体を簡単にかつ適切に認識することができるようにするものである。
【課題を解決するための手段】
【００１２】
本発明の一側面の画像処理装置は、表面に複数の色が付された色物体が撮像された結果得られた入力カラー画像から、表面に複数の色が付された所定のモデルを認識する画像処理装置において、前記入力カラー画像から、隣接する同じ色の画素からなる色領域を検出する検出手段と、前記検出手段により検出された前記入力カラー画像上の色領域が、前記モデルを撮像した結果得られた基準カラー画像上の色領域が対応する前記モデルの部分に対応する領域であるか否かを判定し、その判定結果に基づいて、前記入力カラー画像の前記色物体が前記モデルであるか否かを判別する認識手段とを備える。
【００１３】
前記認識手段は、前記モデルの同じ部分に対応している可能性がある前記基準カラー画像上の色領域と前記入力カラー画像上の色領域の組を検出し、同一の姿勢パラメータで姿勢変換可能な前記基準カラー画像上の色領域と前記入力カラー画像上の色領域からなる前記組が所定の数以上存在するか否かを判定し、その判定結果に基づいて、前記入力カラー画像の前記色物体がモデルであるか否かを判別することができる。
【００１４】
前記姿勢パラメータは、回転行列または並進であるようにすることができる。
【００１５】
前記所定の数は、前記基準カラー画像上の色領域の数に対応する数であるようにすることができる。
【００１６】
前記認識手段は、前記入力カラー画像の前記色物体がモデルであると判別したとき、前記姿勢パラメータに基づいて前記入力カラー画像の前記色物体の位置を検出することができる。
【００１７】
前記認識手段は、同じ色、またはアスペクト比の差が一定以内の前記基準カラー画像上の色領域と前記入力カラー画像上の色領域を、前記モデルの同じ部分に対応している可能性がある前記組とすることができる。
【００１８】
前記認識手段は、各前記組の前記基準カラー画像上の色領域と前記入力カラー画像上の色領域間の姿勢変換における変換パラメータの姿勢空間への投票を行い、最も多い投票に対応する変換パラメータで前記基準カラー画像上の色領域と前記入力カラー画像上の色領域との姿勢変換が可能な前記組の数が所定の数以上存在するか否かを判定し、その判定結果に基づいて、前記入力カラー画像の前記色物体がモデルであるか否かを判別することができる。
【００１９】
本発明の一側面の画像処理方法は、表面に複数の色が付された色物体が撮像された結果得られた入力カラー画像から、表面に複数の色が付された所定のモデルを認識する画像処理方法において、前記入力カラー画像から、隣接する同じ色の画素からなる色領域を検出する検出ステップと、前記検出ステップの処理で検出された前記入力カラー画像上の色領域が、前記モデルを撮像した結果得られた基準カラー画像上の色領域が対応する前記モデルの部分に対応する領域であるか否かを判定し、その判定結果に基づいて、前記入力カラー画像の前記色物体が前記モデルであるか否かを判別する認識ステップとを含む。
【００２０】
本発明の一側面のプログラムは、表面に複数の色が付された色物体が撮像された結果得られた入力カラー画像から、表面に複数の色が付された所定のモデルを認識する画像処理をコンピュータに実行させるプログラムにおいて、前記入力カラー画像から、隣接する同じ色の画素からなる色領域を検出する検出ステップと、前記検出ステップの処理で検出された前記入力カラー画像上の色領域が、前記モデルを撮像した結果得られた基準カラー画像上の色領域が対応する前記モデルの部分に対応する領域であるか否かを判定し、その判定結果に基づいて、前記入力カラー画像の前記色物体が前記モデルであるか否かを判別する認識ステップとを含む。
【００２１】
本発明の一側面の画像処理装置、画像処理方法、またはプログラムにおいては、を処理して、表面に複数の色が付された所定のモデルを認識する画像処理をコンピュータに実行させるプログラムにおいて、表面に複数の色が付された色物体が撮像された結果得られた入力カラー画像から、隣接する同じ色の画素からなる色領域が検出され、検出された前記入力カラー画像上の色領域が、表面に複数の色が付されたモデルを撮像した結果得られた基準カラー画像上の色領域が対応する前記モデルの部分に対応する領域であるか否かが判定され、その判定結果に基づいて、前記入力カラー画像の前記色物体が前記モデルであるか否かが判別される。
【発明の効果】
【００２２】
本発明によれば、モデル認識を適切に行うことができる。
【発明を実施するための最良の形態】
【００２３】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書又は図面の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書又は図面に記載されていることを確認するためのものである。従って、明細書又は図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００２４】
本発明の一側面の画像処理装置は、表面に複数の色が付された色物体が撮像された結果得られた入力カラー画像から、表面に複数の色が付された所定のモデルを認識する画像処理装置において、
前記入力カラー画像から、隣接する同じ色の画素からなる色領域を検出する検出手段（例えば、図２の色領域検出部１３）と、
前記検出手段により検出された前記入力カラー画像上の色領域が、前記モデルを撮像した結果得られた基準カラー画像上の色領域が対応する前記モデルの部分に対応する領域であるか否かを判定し、その判定結果に基づいて、前記入力カラー画像の前記色物体が前記モデルであるか否かを判別する認識手段（例えば、図２の認識部１５）と
を備える画像処理装置。
【００２５】
前記認識手段は、
前記モデルの同じ部分に対応している可能性がある前記基準カラー画像上の色領域と前記入力カラー画像上の色領域の組を検出し（例えば、図１４に示す図２のマッチング部１４のマッチング処理）、
同一の姿勢パラメータで姿勢変換可能な前記基準カラー画像上の色領域と前記入力カラー画像上の色領域からなる前記組が所定の数以上存在するか否かを判定し、その判定結果に基づいて、前記入力カラー画像の前記色物体がモデルであるか否かを判別することができる（例えば、図１８に示す図２の認識部１５の認識処理）。
【００２６】
前記姿勢パラメータは、回転行列（例えば、式（６））または並進（例えば、式（７））であるようにすることができる。
【００２７】
前記所定の数は、前記基準カラー画像上の色領域の数に対応する数（例えば、その数の６０％以上の数）（図１８のステップＳ８２）であるようにすることができる。
【００２８】
前記認識手段は、前記入力カラー画像の前記色物体がモデルであると判別したとき、前記姿勢パラメータに基づいて前記入力カラー画像の前記色物体の位置を検出することができる（例えば、図２の認識部１５の位置検出処理）。
【００２９】
前記認識手段は、同じ色、またはアスペクト比の差が一定以内の前記基準カラー画像上の色領域と前記入力カラー画像上の色領域を、前記モデルの同じ部分に対応している可能性がある前記組とすることができる（例えば、図１４のステップＳ５４）。
【００３０】
前記認識手段は、各前記組の前記基準カラー画像上の色領域と前記入力カラー画像上の色領域間の姿勢変換における変換パラメータの姿勢空間への投票を行い、最も多い投票に対応する変換パラメータで前記基準カラー画像上の色領域と前記入力カラー画像上の色領域との姿勢変換が可能な前記組の数が所定の数以上存在するか否かを判定し、その判定結果に基づいて、前記入力カラー画像の前記色物体がモデルであるか否かを判別することができる（例えば、図１８のステップＳ７５乃至ステップＳ８２）。
【００３１】
本発明の一側面の画像処理方法またはプログラムは、
表面に複数の色が付された色物体が撮像された結果得られた入力カラー画像から、表面に複数の色が付された所定のモデルを認識する画像処理方法において、または表面に複数の色が付された色物体が撮像された結果得られた入力カラー画像から、表面に複数の色が付された所定のモデルを認識する画像処理をコンピュータに実行させるプログラムにおいて、
前記入力カラー画像から、隣接する同じ色の画素からなる色領域を検出する検出ステップ（例えば、図７のフローチャート）と、
前記検出ステップの処理で検出された前記入力カラー画像上の色領域が、前記モデルを撮像した結果得られた基準カラー画像上の色領域が対応する前記モデルの部分に対応する領域であるか否かを判定し、その判定結果に基づいて、前記入力カラー画像の前記色物体が前記モデルであるか否かを判別する認識ステップ（例えば、図１８のフローチャート）とを含む。
【００３２】
図１は、本発明を適用した画像処理装置の構成例を示している。この画像処理装置は、表面に複数の色が付された色物体を被写体として撮像し、その結果得られた画像から、その被写体が予め登録された、表面に複数の色が付された所定の色物体（以下、モデルと称する）であるか否かを判定し、その判定結果に基づいて、モデル認識を行う。この画像処理装置は、例えば、ロボットの制御装置として利用される。
【００３３】
ズームレンズ１Ａなどのレンズを含むレンズブロック１は、レンズドライバ２により駆動され、入射した光（被写体の像を含む映像）を、撮像センサ３に入力させる。
【００３４】
撮像センサ３は、撮像素子ドライバ４の制御に従って、入力された光像を光電変換して撮像信号を生成し、カメラ信号処理部５に供給する。
【００３５】
カメラ信号生成部５は、撮像センサ３から入力された撮像信号に対し、サンプリング処理やＹＣ分離処理などを行い、その結果得られた輝度信号および色信号などをメモリ６に出力する。
【００３６】
メモリ６は、カメラ信号生成部５から供給された映像信号を一時的記憶するとともに、画像処理部７からの読み出しに応じて、逐次それをフレーム単位で画像処理部７に供給する。
【００３７】
画像処理部７は、メモリ６から読み出した映像信号に対応する画像（以下、入力画像と称する）に対して後述する画像処理を施し、入力画像の被写体が、予め登録されたモデルであるか否かを判別し、モデル認識を行う。画像処理部７は、そのモデル認識の結果を、制御部９に供給する。
【００３８】
カメラコントローラ８は、撮像に関する各部を制御する。
【００３９】
制御部９は、各部を制御する。
【００４０】
図２は、画像処理部７の構成例を示している。
【００４１】
画像入力部１１は、メモリ６から読み出された映像信号を入力し、色抽出部１２に供給する。
【００４２】
色抽出部１２は、記憶部２１に予め記憶されている色テーブル（後述）を元に、画像入力部１１から供給された映像信号に対応する入力画像を構成する各画素の色の種類を判別するとともに、入力画像の各画素の位置に対応する位置に判別した色の色IDが設定された、入力画像と同じ画サイズの画像（以下、色ID画像と称する）を生成し、色領域検出部１３に供給する。
【００４３】
色領域検出部１３は、色抽出部１２から供給された色ID画像について、同じ色の隣接する画素をひとまとまりにして１つの領域（以下、色領域と称する）を形成し、形成した各色領域の大きさ等の情報（以下、適宜、色領域情報と称する）を、マッチング部１４に供給する。
【００４４】
マッチング部１４は、色領域検出部１３から供給された入力画像上の色領域の色領域情報と、記憶部２２に予め記憶されているモデルを被写体とした撮像画像（以下、基準画像と称する）上に形成される色領域の色領域情報に基づいて、同じモデルの同じ部分に対応している可能性がある基準画像上の色領域と入力画像上の色領域の組（以下、候補ペアと称する）を検出する。
【００４５】
マッチング部１４は、検出した候補ペアの色領域の色領域情報を認識部１５に供給する。
【００４６】
認識部１５は、マッチング部１４から供給された候補ペアの色領域情報に基づいて、各候補ペアの基準画像上の色領域と入力画像上の色領域が、共通する姿勢パラメータで姿勢変換できる関係にあるか否かを判定し、その判定結果に基づいて、モデル認識を行う。
【００４７】
認識部１５は、入力画像からモデルを認識することができたとき、すなわち入力画像の被写体がモデルであるとき、その際の姿勢パラメータから入力画像の被写体（すなわち、モデル）の位置を検出し、制御部９に出力する。
【００４８】
次に、画像処理部７の認識処理を構成する、色抽出部１２における色抽出処理、色領域検出部１３における色領域検出処理、マッチング部１４におけるマッチング処理、認識部１５における認識処理、および認識部１５における位置検出処理の詳細を、順に説明する。
【００４９】
はじめに、色抽出部１２における色抽出処理について説明する。
【００５０】
色抽出部１２は、例えば入力画像がＹＵＶ方式のカラー画像である場合、入力画像の画素の画素値の輝度信号の信号レベルＹを示す輝度レベルデータ（以下、入力輝度信号Ｙと称する）、青色の色信号の色信号レベルＵを示す色レベルデータ（以下、入力色信号Ｕと称する）、および赤色の色信号の色信号レベルＶを示す色レベルデータ（以下、入力色信号Ｖと称する）に基づいて、各画素の色の種類を判別する。
【００５１】
図３は、記憶部２１に記憶されている色テーブルの例を示している。この色テーブルでは、各輝度階調（図３の例では、３２階調）について、入力色信号Ｕの上限Umaxと下限Uminおよび入力色信号Ｖの上限Vmaxと下限Vmin毎に、色（図３の例では８種類の色）のID（以下、色IDと称する）が設定されている。
【００５２】
すなわちこの色テーブルでは、図４に示すように、各輝度諧調について（図４Ａ）、各色の入力色信号Ｕの上限Umaxと下限Uminおよび入力色信号Ｖの上限Vmaxと下限Vminによる矩形領域（図４Ｂ）毎に、色の種類が指定されている。
【００５３】
次に、図３に示すような色テーブルに基づく色抽出処理について説明するが、ここでは、処理の高速化を図るために、図３に示す色テーブルから、入力色信号Ｕと入力色信号Ｖ用の、入力輝度信号Ｙの階調に応じた配列を有するルックアップテーブルを生成し、そのルックアップテーブルを参照して、画素値から直接色IDが検出されるようにする。
【００５４】
このルックアップテーブルの生成は、はじめに入力輝度信号Ｙ、入力色信号Ｕ、および入力色信号Ｖがそれぞれ８ビットで表され、入力輝度信号Ｙが３２階調であるとき、３２個の項目と２５６個の項目からなる２次元配列のテーブルが、入力色信号Ｕと入力色信号Ｖ用の２個形成される。各テーブルの要素は、図３の例の場合、８種類の色が想定されているので、８個のビット列とされる。
【００５５】
次に図３の色テーブルから、色ID毎に、諧調ｉ（ｉ＝1,2・・・，32）に対応する入力色信号Ｕの上限Ｕmaxと下限Ｕminの値、入力色信号Ｖの上限Ｖmaxと下限Ｖminの値、並びに色IDが読み出され、入力色信号Ｕ用の２次元配列の要素u_table[i][Ｕmin]乃至u_table[i][Ｕmax]、および入力色信号Ｖ用の２次元配列の要素ｖ_table[i][Ｖmin]乃至v_table[i][Ｖmax]の色IDに対応する第ｊ番目のビットに１が設定され、それ以外のu_table[i]およびｖ_table[i]の配列の要素の第ｊ番目のビットには０が設定される。
【００５６】
例えば入力輝度信号Ｙの階調が５で、(Umin, Umax)=(50, 64)、(Vmin, Vmax)=(129, 154)の範囲は、色ID＝３であるので、要素u_table[5][50]乃至u_table[5][64]、および要素ｖ_table[5][129]乃至ｖ_table[5][154]の第３番目のビットには１が設定され、それ以外のu_table[5]およびｖ_table[5]の配列の要素の第３番目のビットには０が設定される。
【００５７】
このような処理が各色毎に行われる。
【００５８】
このようにして生成されたルックアップテーブルを利用する色抽出処理を、図５のフローチャートを参照して説明する。
【００５９】
ステップＳ１において、色抽出部１２は、例えば入力画像から、左上からラスタに沿った順番で１個の画素を選択する。
【００６０】
ステップＳ２において、色抽出部１２は、ステップＳ１で選択した画素の入力輝度信号Ｙの諧調を検出する。例えば入力輝度信号Ｙが８ビットデータである場合、４ビットを右方向にシフトすることによって、入力輝度信号Ｙの諧調を求めることができる。
【００６１】
次にステップＳ３において、色抽出部１２は、ルックアップテーブルの、ステップＳ２で求めた諧調の配列を参照し、ステップＳ１で選択した画素の入力色信号Ｕおよび入力色信号Ｖに対応する色ID（u_table[Y][U]、v_table[Y][V]）を読み取り、それらの論理積の結果得られたビット列を、色IDとする。
【００６２】
ステップＳ４において、色抽出部１２は、別途設けた入力画像と同じ画サイズの色ID画像上の、ステップＳ１で選択した画素の位置に対応する位置に、ステップＳ３で検出した色IDを設定する。
【００６３】
ステップＳ５において、色抽出部１２は、入力画像のすべての画素を選択したか否かを判定し、選択していない画素がまだ残っていると判定した場合、ステップＳ１に戻る。すなわち入力画像の次の画素が選択され、その画素についてステップＳ２乃至ステップＳ５の処理が同様に行われる。
【００６４】
ステップＳ５で、すべての画素が選択されたと判定された場合、ステップＳ６に進み、色抽出部１２は、ステップＳ１乃至ステップＳ５の処理で生成された、入力画像の各画素に対応した位置に、各画素の色の種類の色IDが設定された色ID画像を、色領域検出部１３に供給する。
【００６５】
以上のような色抽出処理が入力画像の各フレームについて行われる。
【００６６】
図６には、上述した色抽出処理の具体例が示されている。図６Ａは、入力画像の入力輝度信号Ｙ、入力色信号Ｕ、および入力色信号Ｖのそれぞれに対応するイメージである。図６Ｂは、入力画像のカラービットマップイメージである。すなわちこのような入力画像に対して色抽出処理が行われると、例えば色ID画像上の、図６Ｃに示す入力画像上の人形の顔の部分の画素に対応する位置に、赤色の色ID（１０００００００）が、図６Ｄに示す入力画像上の鼻の部分の画素に対応する位置にオレンジ色の色IDが、そして図６Ｅに示す入力画像上の文字が表示されている部分の画素に対応する位置に黄色の色IDがそれぞれ設定された色ID画像が生成される。
【００６７】
次に、色領域検出部１３における色領域検出処理を、図７のフローチャートを参照して説明する。
【００６８】
色抽出部１２から色ID画像が供給されると、ステップＳ１１において、色領域検出部１３は、色抽出部１２から供給された色ID画像上の１の画素を、例えばラスタ順に選択し、ステップＳ１２において、マージ処理を行う。
【００６９】
このマージ処理を、図８を参照して説明する。
【００７０】
ステップＳ２１において、色領域検出部１３は、ステップＳ１１で選択した画素を、図９に示すように対象画素ｘとし、対象画素ｘの図中、真左に隣接する画素ｄの色IDと対象画素ｘの色IDに基づいて、対象画素ｘと画素ｄの色が同じであるか否かを判定し、同じ色であると判定した場合、ステップＳ２２に進む。
【００７１】
なおここでは画素ａ，ｂ，ｃ，ｄには、それらが対象画素ｘとされたときに、後述する処理で所定の領域IDがすでに設定されているものとする。
【００７２】
ステップＳ２２において、色領域検出部１３は、対象画素ｘの右上に隣接する画素ｃの色IDと対象画素ｘの色IDに基づいて、対象画素ｘと画素ｃの色が同じであるか否かを判定し、同じ色であると判定した場合、ステップＳ２３に進み、対象画素ｘ、真左に隣接する画素ｄ、および右上に隣接する画素ｃをマージする。
【００７３】
具体的には、色領域検出部１３は、画素ｄおよび画素ｃのいずれか一方を選択し、選択しなかった方の画素の領域IDを、選択した方の画素の領域IDに書き換える。また色領域検出部１３は、対象画素ｘの領域IDを、選択した画素の領域IDとする。
【００７４】
ステップＳ２２で、対象画素ｘと画素ｃの色が同じ色ではない判定された場合、ステップＳ２４に進み、色領域検出部１３は、対象画素ｘと真左に隣接する画素ｄをマージする。
【００７５】
具体的には、色領域検出部１３は、対象画素ｘの領域IDを、画素ｄの領域IDとする。
【００７６】
ステップＳ２１で、対象画素ｘと画素ｄの色が同じ色ではない判定された場合、ステップＳ２５に進み、色領域検出部１３は、対象画素ｘの真上に隣接する画素ｂの色IDと対象画素ｘの色IDに基づいて、対象画素ｘと画素ｂの色が同じであるか否かを判定し、同じ色であると判定した場合、ステップＳ２６に進む。
【００７７】
ステップＳ２６において、色領域検出部１３は、対象画素ｘと真上に隣接する画素ｂをマージする。具体的には、色領域検出部１３は、対象画素ｘの領域IDを、画素ｂの領域IDとする。
【００７８】
ステップＳ２５で、対象画素ｘと画素ｂの色が同じ色ではない判定された場合、ステップＳ２７に進み、色領域検出部１３は、対象画素ｘの左上に隣接する画素ａの色IDと対象画素ｘの色IDに基づいて、対象画素ｘと画素ａの色が同じであるか否かを判定し、同じ色であると判定した場合、ステップＳ２８に進む。
【００７９】
ステップＳ２８において、色領域検出部１３は、対象画素ｘと左上に隣接する画素ａをマージする。具体的には、色領域検出部１３は、対象画素ｘの領域IDを、画素ａの領域IDとする。
【００８０】
ステップＳ２７で、対象画素ｘと画素ａの色が同じ色ではない判定された場合、ステップＳ２９に進み、色領域検出部１３は、対象画素ｘの右上に隣接する画素ｃの色IDと対象画素ｘの色IDに基づいて、対象画素ｘと画素ｃの色が同じであるか否かを判定し、同じ色であると判定した場合、ステップＳ３０に進む。
【００８１】
ステップＳ３０において、色領域検出部１３は、対象画素ｘと右上に隣接する画素ｃをマージする。具体的には、色領域検出部１３は、対象画素ｘの領域IDを、画素ｃの領域IDとする。
【００８２】
ステップＳ２９で、対象画素ｘと画素ｃの色が同じ色ではない判定された場合、すなわち対象画素ｘの色が、画素ａ，ｂ，ｃ，ｄの色のいずれでもない場合、ステップＳ３１に進み、色領域検出部１３は、対象画素ｘに新たな領域IDを設定する。具体的には、色領域検出部１３は、内蔵するカウンタの値を１だけインクリメントし、その値を対象画素ｘの領域IDとする。なお色領域検出部１３は、このカウンタを処理開始時において１に初期化している。
【００８３】
ステップＳ２３、ステップＳ２４、ステップＳ２６、ステップＳ２８、ステップＳ３０、またはステップＳ３１の処理が終了すると、図７のステップＳ１３に進む。
【００８４】
ステップＳ１３において、色領域検出部１３は、ステップＳ１２で新たな画素が追加された領域について、その領域の画素数、画素の位置の総和、および色領域内画素の最小位置および最大位置を更新する。
【００８５】
次にステップＳ１４において、色領域検出部１３は、ステップＳ１１で色ID画像からすべての画素を選択したか否かを判定し、まだ選択していない画素が残っていると判定した場合、ステップＳ１１に戻る。すなわち色ID画像から次の画素が選択され、その画素についてステップＳ１２乃至ステップＳ１４の処理が同様に行われる。
【００８６】
ステップＳ１４で、すべての画素が選択されたと判定された場合、ステップＳ１５に進み、色領域検出部１３は、ステップＳ１３で更新した画素数、領域内画素の最小位置および最大位置、画素の位置の総和を領域の画素数で除算した結果得られるその領域の重心、式（１）で求められるモーメント、および各色領域の色IDを、各画素の色領域情報としてマッチング部１４に供給する。
【００８７】
なお式（１）中、ｘi（i=1,2,・・・N）とｙiは、変数iで特定される画素の入力画像上の座標（ｘ，ｙ）であり、Ｎは、その領域の画素数である。
【００８８】
【数１】
2007280032.tif 000003
【００８９】
以上のようにして色領域が検出される。
【００９０】
すなわち図９に示したように、対象画素ｘを、図中矢印の方向に１画素ずつ移動しながら選択し、選択した対象画素ｘの色を、対象画素ｘの位置の左上、真上、右上、および真左に隣接する画素の色と比較して、その比較結果に基づいてそれらの領域IDを対象画素ｘに設定するようにしたので、同じ色の隣接する８個の画素には同じ領域IDが設定され、１つの色領域が形成される。
【００９１】
図１０は、上述した色領域検出処理がなされた場合に形成される色領域を模式的に示したものである。図１０の例では、隣接する赤色の色ID（図示せず。他の場合についても同様である）を有する画素により領域IDが１の色領域Ａ、隣接する青色の色IDを有する画素により領域IDが２の色領域Ｂ、隣接する赤色の色IDを有する画素により領域IDが３の色領域Ｃ、および隣接する緑色の色IDを有する画素により領域IDが４の色領域Ｄがそれぞれ形成されている。
【００９２】
また入力画像と対比して色領域を具体的に示すと、図１１Ａに示す被写体Ｐの入力画像が入力された場合、図１１Ｂに示す各色領域が検出される。なお図１１Ｂの各色領域に付されたハッチの種類は、その色領域の色に対応している。すなわち同じハッチの色領域は、同じ色IDを有する画素から形成されている。
【００９３】
なお上述したように、色IDは、画素の色に対応するビットに１が立っているビット列であるが、画素値によっては、複数のビットに１が立つ場合がある。その場合、１が立っている複数のビットのうち最も低いビット以外のビットを０に変更し（すなわち最も低いビットに対応する色とし）、色IDが設定される。
【００９４】
次に、マッチング部１４におけるマッチング処理について説明する。
【００９５】
このマッチング処理で参照される基準画像上の色領域は、図１２Ａに示されるようなモデルＭａ（図１１Ａの被写体ＰはモデルＭaである）をある方向から撮像した結果得られた基準画像に対して、上述した色抽出処理および色領域検出処理を予め施すことによって検出された、図１２Ｂに示す色領域であり、その色領域の色領域情報を含む情報（以下、モデル情報と称する）が記憶部２２に記憶されている。なお図１２Ｂの各色領域に付されたハッチの種類も、その色領域の色に対応している。
【００９６】
なお複数のモデルを登録することができ、その場合、複数のモデル情報が記憶部２２に記憶される。
【００９７】
図１３は、モデル情報の記述例を示している。
【００９８】
図１３の例では、#で始まる行はコメント行であり、登録されているモデルの数「number of objects」は、１１個とされている。すなわち図１３の例の場合、１１個のモデル情報が本来記述されているが、簡単のために、図１３には、最初の１個のモデル情報が示されている。
【００９９】
この例では、モデル情報として、モデルのID「OBJECT[]」が０で、モデルの名称「alias」がanimal carで、基準画像の画サイズ「width height」が（240 180）で、モデル撮像時の画角「zoom factor」が100で、色の種類の数「number of color blobs」が８個であることが記述されている。
【０１００】
これらの記述に続いて各色領域の色領域情報が記述されている。この例の場合、色ID「ID」、画素数「num_pixel」、重心位置（x,y）「gx gy」、モーメント量「Ixx Iyy Ixy」、撮像時のモデルとレンズブロック１までの距離（mm）「distance」が、色領域毎に記述されている。図１３の例の場合、９個の色領域の色領域情報が記述されている。
【０１０１】
第２番目乃至第１１番目のモデルのモデル情報も、同様にして記述されている。
【０１０２】
次に、図１３に示したようなモデル情報に基づくマッチング処理を、図１４のフローチャートを参照して説明する。
【０１０３】
色領域検出部１３から、入力画像から検出された色領域の色領域情報が入力されると、ステップＳ５１において、マッチング部１４は、記憶部２２から１つのモデル情報を選択する。
【０１０４】
ステップＳ５２において、マッチング部１４は、ステップＳ５１で選択したモデル情報の１つの色領域情報を選択する。
【０１０５】
ステップＳ５３において、マッチング部１４は、色領域検出部１３から供給された入力画像の色領域情報の中の１つの色領域情報を選択する。
【０１０６】
ステップＳ５４において、マッチング部１４は、ステップＳ５２およびステップＳ５３で選択した色領域情報に基づいて、その色領域情報に対応する色領域の色が同じで、かつ両者のアスペクト比の差が一定以内であるか否かを判定し、両者が対応する領域、すなわち両者が共に同じモデルの同じ部分に対応している可能性がある領域であるか否かを判定する。
【０１０７】
色が同じであるか否かは、色領域情報の中の色IDが一致するか否かによって判定される。また各色領域のアスペクト比は、色領域を、図１５に示すように楕円形状と見た時の楕円の長径ａと短径ｂの比（短径ｂ÷長径ａ）で求められる。
【０１０８】
なお長径ａおよび短径ｂは、式（２）により求められ、式（２）中のＢおよびＤは、式（３）に示すように、色領域情報の各モーメントにより求められる。
【０１０９】
【数２】
2007280032.tif 000004
【０１１０】
【数３】
2007280032.tif 000005
【０１１１】
なお長径ａを特定するための角度θは、式（４）より求められる。
【０１１２】
【数４】
2007280032.tif 000006
【０１１３】
アスペクト比の比較を行うのは、同じ色であってもあまりに形状の違う領域は、対応する領域であるとは考えられないからである。
【０１１４】
図１４に戻りステップＳ５４で、両者が対応する領域であると判定された場合、マッチング部４１は、ステップＳ５５において、ステップＳ５２で選択した色領域情報とステップＳ５３で選択した色領域情報を、候補ペアの色領域情報として保持して、候補ペアを登録する。
【０１１５】
ステップＳ５４で、両者が対応する領域ではないと判定されたとき、またはステップＳ５５で、候補ペアが登録されたとき、ステップＳ５６に進み、マッチング部１４は、ステップＳ５３で入力画像についての色領域情報をすべて選択したか否かを判定し、選択していない色領域情報がまだ残っていると判定した場合、ステップＳ５３に戻る。すなわち入力画像についての次の色領域情報が選択され、その色領域情報についてステップＳ５４乃至ステップＳ５６の処理が同様に行われる。
【０１１６】
ステップＳ５６で、入力画像についての色領域情報がすべて選択されたと判定された場合、ステップＳ５７に進み、マッチング部４１は、ステップＳ５２でモデル情報の色領域情報がすべて選択されたか否かを判定し、選択していない色領域情報がまだ残っていると判定した場合、ステップＳ５２に戻る。すなわちステップＳ５１で選択されたモデル情報の次の色領域情報が選択され、その色領域情報についてステップＳ５３乃至ステップＳ５７の処理が同様に行われる。
【０１１７】
ステップＳ５７で、モデル情報の色領域情報がすべて選択されたと判定された場合、ステップＳ５８に進み、マッチング部４１は、ステップＳ５１ですべてのモデル情報が選択されたか否かを判定し、選択されていないモデル情報がまだ残っていると判定した場合、ステップＳ５１に戻る。すなわち次のモデル情報が選択され、そのモデル情報についてステップＳ５２乃至ステップＳ５８の処理が同様に行われる。
【０１１８】
ステップＳ５８で、すべてのモデル情報が選択されたと判定された場合、ステップＳ５９に進み、マッチング部１４は、ステップＳ５５で登録した候補ペアの色領域の色領域情報を、認識部１５に出力する。その後、処理は終了する。
【０１１９】
以上のようなマッチング処理が行われることにより、例えば基準画像上の色領域が図１６Ａに示すように形成され、入力画像上の色領域が図１６Ｂに示すように形成されている場合、例えば、図中、破線で結ばれている色領域等が候補ペアとされる（なお、実際には、他の色領域も候補ペアとされる）。
【０１２０】
次に、認識部１５における認識処理を説明するが、はじめのその原理について説明する。
【０１２１】
１つの物体をある方向から見たときのその物体上の任意の位置の３次元座標(X1, Y1, Z1)と、その物体を他の方向から見たときのその位置の３次元座標(X2, Y2, Z2)には、式（５）に示すように、式（６）に示す所定のロール角φ、ピッチ角θ、およびヨー角ψによる回転行列Ｒと、所定の並進ΔＸ、ΔＹ、ΔＺによって姿勢変換できる関係がある。
【０１２２】
【数５】
2007280032.tif 000007
【０１２３】
【数６】
2007280032.tif 000008
【０１２４】
すなわちモデルの同じ部分に対応する、基準画像の色領域の重心の３次元座標(X1, Y1, Z1)と入力画像の色領域の重心の３次元座標(X2, Y2, Z2)の組が、モデルの部分毎に複数個存在する場合、それらの色領域の組について、同一の回転行列Ｒおよび並進ΔＸ、ΔＹ、ΔＺによって式（５）が成立する。
【０１２５】
ここでは、この原理を利用して、一定数以上の候補ペアについて、共通の回転行列Ｒと並進ΔＸ、ΔＹ、ΔＺで式（５）が成立するか否かを判定し、換言すれば、共通の回転行列Ｒと並進ΔＸ、ΔＹ、ΔＺで式（５）が成立する候補ペアが一定数以上存在するか否かを判定し、その判定結果に基づいて入力画像からモデルを認識するようにする。
【０１２６】
ところで基準画像の色領域の重心および入力画像の色領域の重心は、色領域情報においては２次元座標で示されているので、ここでは式（５）を２次元座標に対応させた式（７）を用いることとする。
【０１２７】
【数７】
2007280032.tif 000009
【０１２８】
式（７）中、ｘ1，ｙ1は、候補ペアを構成する基準画像の色領域の重心の２次元座標（色領域情報に含まれている重心の２次元座標）であり、ｘ2，ｙ2は、入力画像の色領域の重心の２次元座標（色領域情報に含まれている重心の２次元座標）である。
【０１２９】
ｆ1は、基準画像についての色領域情報に含まれる画角「zoom factor」に対応する距離であり、ｆ2は、被写体を撮像したときの焦点距離であり、例えば制御部９を介して認識部１５に通知される。なお遠くの物体から近くの物体まで認識するために、カメラのズームが適宜変更され、その結果焦点距離ｆ2も変更されるので、基準画像についての焦点距離ｆ1と入力画像についての焦点距離ｆ2とが異なる場合がある。
【０１３０】
ここで式（５）から式（７）への変換方法について説明する。
【０１３１】
物体の任意の位置の３次元座標（Ｘ,Ｙ,Ｚ）とその物体を平面上に投射した場合の平面上のその任意の位置の２次元座標(ｘ,ｙ)との間、そして物体の表面積Ｓと平面上のその領域の面積ｓの間には式（８）の関係が存在する。
【０１３２】
【数８】
2007280032.tif 000010
【０１３３】
式（８）中、ｆは、図１７に示すように、視点からの距離（すなわち、焦点距離に相当する距離）であり、ＨとＬは、３次元物体の表面領域の縦および横方向の長さであり、ｈとｌは、その表面領域が２次元上に投射されたときの領域の縦および横方向の長さである。
【０１３４】
この式（８）は、式（９）に示すように展開することができる。
【０１３５】
【数９】
2007280032.tif 000011
【０１３６】
すなわち式（９）から、この例において既知である基準画像の色領域の重心の２次元座標（ｘ1，ｙ1）および面積ｓ1に基づいて式（１０）に示すように、その重心の３次元座標が得られ、また入力画像の色領域の重心の２次元座標（ｘ2，ｙ2）および面積ｓ2から、式（１１）に示すように、その重心の３次元座標が得られる。そして式（１０）および式（１１）を式（５）に代入すると、式（７）を得ることができる。
【０１３７】
【数１０】
2007280032.tif 000012
【０１３８】
【数１１】
2007280032.tif 000013
【０１３９】
このようにして式（５）を式（７）に変換することができる。
【０１４０】
なおこの例の場合、式（１０）および式（１１）中の物体の各領域の表面積Ｓ12は既知ではないので、基準画像上のどの色領域に関しても、式（１２）の値は等しいと仮定し、式（７）をさらに式（１３）のように変換し、並進ΔＸ、ΔＹ、ΔＺの近似である並進ΔＸ'、ΔＹ'、ΔＺ'を得るものとする。
【０１４１】
【数１２】
2007280032.tif 000014
【０１４２】
【数１３】
2007280032.tif 000015
【０１４３】
式（１２）の値が基準画像上のどの色領域に関しても等しいということは、式（１２）の値は距離に比例するパラメータであることから、モデル中の色領域に対応する各部分が視点からほぼ同じ奥行きにあることを意味する。モデル全体のレンズブロック１からの距離（すなわち奥行き位置）に比べて、各色領域に対応する部分の前後が十分小さければ、基準画像上のどの色領域に関して、式（１２）の値が等しくなる。
【０１４４】
従ってモデルの色領域に対応する部分が撮像方向に対して水平になるようにモデルを撮像すれば、この近似が成立し、式（１３）を利用することができる。
【０１４５】
次に、認識処理を、図１８のフローチャートを参照して説明する。
【０１４６】
マッチング部１４から、１フレーム分の入力画像から得られた候補ペアの色領域情報が供給されると、ステップＳ７１において、認識部１５は、予め決められた所定の大きさのロール角、ピッチ角、およびヨー角の組の中の１つの組を選択する。例えば10[deg]刻みのロール角、ピッチ角、およびヨー角（以下、個々に区別する必要がない場合、これらをまとめて姿勢角と称する）の組が複数用意されており、それらの中から１つの組が選択される。
【０１４７】
ステップＳ７２において、認識部１５は、ステップＳ７１で選択した組のロール角、ピッチ角、またはヨー角を用いて式（６）を演算し回転行列Ｒを求める。
【０１４８】
ステップＳ７３において、認識部１５は、マッチング部１４から供給された候補ペアの色領域情報の中の１つの候補ペアの色領域情報を選択する。
【０１４９】
ステップＳ７４において、認識部１５は、ステップＳ７３で選択した候補ペアの色領域情報の、基準画像上の色領域の重心の座標（ｘ1,ｙ1）と入力画像上の色領域の重心の座標（ｘ2,ｙ2）を用いて式（１３）を演算し、並進Δ’ｘ、Δ’ｙ、Δ’ｚ（以下、個々に区別する必要がない場合、並進ベクトルΔ’と称する）を求める。
【０１５０】
ステップＳ７５において、認識部１５は、ステップＳ７４で求めた並進ベクトルΔ’を、３次元空間上に投票する。なおこの投票は、３次元空間上に一定範囲のグリットが設けられ、そのグリット毎に投票が行われる。
【０１５１】
ステップＳ７６において、認識部１５は、ステップＳ７３ですべての候補ペアを選択したか否かを判定し、まだ選択していない候補ペアが残っていると判定した場合、ステップＳ７３に戻る。すなわち次の候補ペアが選択され、その候補ペアについてステップＳ７４乃至ステップＳ７６の処理が同様に行われる。
【０１５２】
ステップＳ７６で、すべての候補ペアが選択されたと判定された場合、ステップＳ７７に進む。
【０１５３】
ステップＳ７７において、認識部１５は、１組のロール角、ピッチ角、およびヨー角による回転行列Ｒについて算出された各候補ペアについての並進ベクトルΔ’の投票から、最も多い投票がなされたグリットを選択し、そのグリットに投票された並進ベクトルΔ’の平均値を算出し、それを並進ベクトルΔ’のピーク値とする。
【０１５４】
次にステップＳ７８において、認識部１５は、ステップＳ７７で算出した並進ベクトルΔ’のピーク値から閾値T以内の距離に投票された並進ベクトルΔ’を検出する．
【０１５５】
ステップＳ７９において、認識部１５は、ステップＳ７８で検出した並進ベクトルΔ’を投票した候補ペアの中に、一方の色領域が他の候補ペアの色領域と共通する候補ペアが存在するか否かを判定し、そのような候補ペアが存在すると判定した場合、ステップＳ８０に進む。
【０１５６】
たとえば図１９に示すように、図１９Ａの基準画像上の色領域Ｍ１と図１９Ｂの入力画像上の色領域Ｗ1、および色領域Ｍ1と色領域Ｗ2が候補ペアとなった場合、色領域Ｍ１と色領域Ｗ1の候補ペアと、色領域Ｍ1と色領域Ｗ2の候補ペアでは、色領域Ｍ1について共通するので、ステップＳ８０に進む。
【０１５７】
なお色数が少ない場合は、色数の多い物体の中に同じ色領域の組み合わせが存在することがある。
【０１５８】
ステップＳ８０において、一方の色領域が他の候補ペアの色領域と共通する候補ペア（以下、このような候補ペアを重複候補ペアと称する）（図１９の例では、色領域Ｍ1と色領域Ｗ1の候補ペアと、色領域Ｍ1と色領域Ｗ2の候補ペア）から、１つの候補ペアを選択する処理が行われる。すなわちモデルの同じ部分に対応する基準画像の色領域と入力画像の色領域は１対１の関係にあるので、重複候補ペアの中から、最も対応していると予測される基準画像の色領域と入力画像の色領域の候補ペアが選択される。この処理を、図２０のフローチャートを参照して説明する。
【０１５９】
ステップＳ１０１において、認識部１５は、１つの重複候補ペアと、重複候補ペアではない候補ペアとの組を、重複候補ペア毎に想定する。図１９の例では、色領域Ｍ1と色領域Ｗ1の候補ペアと、重複候補ペアではない候補ペア（色領域Ｍ1と色領域Ｗ2の候補ペアを除く候補ペア）の組、色領域Ｍ1と色領域Ｗ2の候補ペアと、重複候補ペアではない候補ペア（色領域Ｍ1と色領域Ｗ1の候補ペアを除く候補ペア）の組が想定される。
【０１６０】
ステップＳ１０２において、認識部１５は、ステップＳ１０１で想定した候補ペアの組を１つ選択し、ステップＳ１０３において、選択した組の候補ペアの数を求める。
【０１６１】
次にステップＳ１０４において、ステップＳ１０２で選択した組の候補ペアのそれぞれについて、候補ペアの基準画像の色領域の重心の座標（ｘ1，ｙ1）と面積ｓ1、入力画像の色領域の面積ｓ2、図１８のステップＳ７２で求めた回転行列Ｒ、およびステップＳ７７で求めた並進ベクトルΔ’のピーク値、距離ｆ1、および距離ｆ2を用いて式（１３）を演算し、入力画像の色領域の重心の２次元座標を求め、求めた２次元座標と、その入力画像の色領域の色領域情報に含まれる２次元座標との２乗誤差（変換投射誤差）を求める。
【０１６２】
ステップＳ１０５において、認識部１５は、ステップＳ１０２で想定したすべての組を選択したか否かを判定し、まだ選択していない組が残っていると判定した場合、ステップＳ１０２に戻る。すなわちステップＳ１０２で次の組が選択され、ステップＳ１０３乃至ステップＳ１０５の処理が同様に行われる。
【０１６３】
ステップＳ１０５で、すべての組が選択されたと判定された場合、ステップＳ１０６に進み、認識部１５は、ステップＳ１０１で想定した組のうち、最も候補ペアの数が多い組の中で、最も変換投影誤差の小さな組を選択し、その組に属する重複候補ペアを、候補ペアとして残し、それ以外の重複候補ペア（残る候補ペアの一方の色領域と同じ色領域を含む候補ペア）は、候補ペアとして取り扱わないようにする。
【０１６４】
このようにして重複候補ペアの中から１つの候補ペアが選択されると、図１８のステップＳ８１に進む。
【０１６５】
ステップＳ８１において、認識部１５は、ステップＳ７１で姿勢角のすべての組を選択したか否かを判定し、まだ選択していない組が残っていると判定した場合、ステップＳ７１に戻る。すなわちステップＳ７１で次の姿勢角の組が選択され、その姿勢角に基づいてステップＳ７２乃至ステップＳ８１の処理が同様に行われる。
【０１６６】
ステップＳ８１で、姿勢角のすべての組が選択されたと判定された場合、ステップＳ８２に進み、認識部１５は、ステップＳ７８で抽出した候補ペアの数、またはステップＳ８０の処理で１つの重複候補ペアが選択された場合の候補ペアの数が、例えば基準画像の色領域の数の６０％以上の数であるか否かを判定し、そのような数であると判定した場合、すなわち共通の回転行列Ｒと並進ΔＸ、ΔＹ、ΔＺ（以下、並進ベクトルΔと称する）で式（１３）が成立する一定以上の色領域のペアが存在する場合、ステップＳ８３に進み、入力画像の被写体はモデルであるとし、その認識結果を制御部９に通知する。
【０１６７】
ステップＳ８２で、その数分の候補ペアが抽出されなかったと判定された場合、入力画像の被写体はモデルではないとして、処理は終了する。
【０１６８】
以上のようにして認識処理が行われる。
【０１６９】
次に、認識部１５の位置検出処理について説明する。
【０１７０】
認識部１５は、上述したようにモデルを認識することができた場合、式（１０）のＺ1の式に、モデル情報の中の画角「zoom factor」に対応する焦点距離ｆ1、および例えば選択した１つの候補ペアを構成する基準画像の色領域情報の撮像時のモデルとカメラまでの距離（mm）「distance」ｚ1を代入して、式（１２）の値を求める。
【０１７１】
そして認識部１５は、式（１３）に、求めた式（１２）の値、およびモデルを認識した際の並進ベクトルΔ’を代入して並進ベクトルΔを求める。
【０１７２】
次に認識部１５は、式（１０）に、選択した候補ペアの基準画像の色領域情報の重心の座標（x１,ｙ1）、先に求めた式（１２）の値、およびモデル情報としての画角「zoom factor」に対応する焦点距離ｆ1を代入して、座標（ｘ1，ｙ1）に対応する３次元座標（Ｘ1、Ｙ1，Ｚ1）を求める。
【０１７３】
そして認識部１５は、式（５）に、求めた３次元座標（Ｘ1、Ｙ1，Ｚ1）と、並進ベクトルΔ、およびモデルを認識した際の回転行列Ｒを代入して、入力画像から認識したモデルの３次元座標（Ｘ2，Ｙ2，Ｚ2）を算出する。
【０１７４】
以上のようにして認識したモデルの位置（ロボットからの相対的な位置）が検出される。
【０１７５】
以上のように色抽出処理、色領域検出処理、マッチング処理、認識処理、および位置検出処理が実行されて、画像処理部７における認識処理が行われる。
【０１７６】
すなわち複数の色に塗り分けられた物体（色物体）からの色領域の検出も高速で行え、また画像中の色領域の数はさほど多くはないのでマッチングも高速に行えるので、モデル認識をより迅速に行うことができる。また比較的簡単の形状の色領域同士の候補ペアについて、位置関係を検証するようにしたので、物体を見る方向が変わり、色領域の見る方向が変わっても、安定的にモデル認識を行うことができ、姿勢の変化に対してもロバストなモデル認識を行うことができる。
【０１７７】
また同じ色で位置も同じ色領域の組が存在することが必要とされるので、単色物体の認識とは異なり、背景の色に影響させることなく、モデル認識を行うことができる。
【０１７８】
なお以上においては、認識されるモデルが１である場合を例として説明したが、図２１Ａに示すように認識されるモデルが複数場合においても、図２１Ｂに示すように、色領域が検出され、各モデルを認識することができる。
【０１７９】
また以上においては１つのモデルについて、１つの基準画像が用意されていたが、１つのモデルを、異なる方向から撮像した複数の基準画像を設け、それらの基準画像のモデル情報をそれぞれ保持しておくようにすることもできる。
【０１８０】
モデルを撮像した方向から６０度以上も回転して認識対象の被写体が撮像されると、基準画像上見えている部分が入力画像上は隠れてしまい見えてない場合があり、そのとき、その入力画像からモデル認識を行うことが困難になる。そこでモデルについてこのような方向からの撮像を行っておきその結果得られた基準画像についても登録して置けば、ロボットがこのような方向から認識対象の被写体を見た場合でのモデル認識することができる。
【０１８１】
なおこの場合、同じモデルの複数の基準画像についての各モデル情報に、同じモデルのIDを記述しておくことができる。またこの場合、重複候補ペアが存在し得るが、上述した選択処理（ステップＳ８０）によりモデル認識が可能となる。
【０１８２】
また以上においては、認識処理において式（７）または式（１３）を演算する際、基準画像についての焦点距離ｆ1と入力画像についての焦点距離ｆ2をそれぞれ用いたが、投票時には基準画像についてのｆ1をｆ2としても用い、最終的に位置を算出するときに式（１４）によってズームによる焦点距離の違いを補正することもできる。
【０１８３】
【数１４】
2007280032.tif 000016
【０１８４】
また図１の画像処理装置は、例えばロボットに利用されるが、その場合、上述したようにしてモデルを認識した後、ロボットが移動し、認識対象の被写体の画像が入力画像上において大きくなりまたは小さくなって、入力画像からモデル認識を適切に行うことができなくなる場合も考えられる。そこで画像処理装置では、入力画像中の被写体の画像が一定以上大きくみえるようになったら、一段階ズームアウトし、また一定以上小さく見えるようになったら、一段階ズームインして、入力画像からモデル認識を適切に行うことができるようになされている。
【０１８５】
ここでこのズームの変更処理について説明する。はじめにズームアウト処理について説明する。
【０１８６】
上述したようにしてモデル認識がなされた場合、画像処理部７は、制御部９の制御に従って、認識したモデルのモデル情報の色領域情報を参照し、図２２Ａに示すように、基準画像上のモデルの像の全部が含まれる領域（図中、白枠内の領域）を決定する。なおこの例の場合、色領域情報の中には、色領域のｘ軸上最も大きなｘ座標とｙ軸上最も大きなｙ座標、およびｘ軸上と最も小さいｘ座標とｙ軸上最も小さいｙ座標が、最大位置および最小位置として含まれており、画像処理部７は、この各色領域の最大位置および最小位置から、モデルの像の全部が含まれるこの領域を決定する。
【０１８７】
画像処理部７は、決定したモデルの像が全部含まれる領域を、図２２Ｂに示すように、モデルを認識した際の回転行列Ｒおよび並進ベクトルΔを用いて変換し、その範囲を物体画像領域Ｗoとする。
【０１８８】
次に、画像処理部７は、図２３に示すように、物体画像領域Ｗoの中心（図中、＋印）を中心とする、入力画像の画像サイズの0.6乃至0.7倍程度の大きさの領域を、サイズ上限領域（図中、実線の枠内の領域）Ｗout１として設定する。また画像処理部７は、入力画像の上下左右の両端から、入力画像の縦および横方向の長さの５％乃至２０％程度の領域（図中、入力画像の上下左右の端から点線の枠までの領域）を、はみ出し禁止領域Ｗout2として設定する。さらに画像処理部７は、サイズ上限領域Ｗout1内ではみ出し禁止領域Ｗout2に属さない範囲を、ズームアウト領域（図中、太線の枠内の領域）Ｗout3とする。
【０１８９】
画像処理部７は、物体画像領域Ｗoが、このズームアウト領域Ｗout3からはみ出しているか否かを判定し、はみ出していると判定した場合、その旨を制御部９に通知する。制御部９はそのとき、カメラコントローラ８を介してレンズドライバ２を制御して、ズームレンズ１Ａを駆動させ、ズームアウト領域Ｗout3から物体画像領域Ｗoがはみ出さないようにズームアウトさせる。ズームの変更は、例えばズーム倍率が約0.57倍刻みで設定され、水平画角が、120度、90度、60度、または37度となる離散的なズーム変更が行われる。
【０１９０】
次にズームイン処理を説明する。
【０１９１】
画像処理部７は、図２４に示すように、入力画像の中心を中心として、ズームインした場合に収まる領域をズームイン倍率領域（図中、実線の枠内の領域）Ｗin1として設定する。これは現在の画像のズーム倍率倍の大きさの領域である。
【０１９２】
画像処理部７は、物体画像領域Ｗoがズームイン倍率領域Ｗin1の中に収まるようにするために、ズームイン倍率領域Ｗin1の0.5倍のズームイン領域（図中、太線の枠内の領域）Ｗin2を、入力画像の中心を中心として設定する。
【０１９３】
画像処理部７は、物体画像領域Ｗoがこのズームイン領域Ｗin2の中に入っているか否かを判定し、入っていると判定した場合（すなわち物体画像領域Ｗoがズームイン領域Ｗin2に入ってしまうまで小さくなったとき）、その旨を制御部９に通知する。制御部９はそのとき、カメラコントローラ８を介してレンズドライバ２を制御して、ズームレンズ１Ａを駆動させ、ズームイン倍率領域Ｗin1に物体画像領域Ｗoがはいるようにズームインさせる。
【０１９４】
なおズームアウト時のズームアウト領域Ｗout3とズームイン時のズームイン領域Ｗin2の大きさが近い場合、ズームが切り替えた後にすぐまた戻ろうとしてチャタリングが発生することが考えられるので、ズームイン方向とアウト方向でヒステリシスを持たせるために、両者の大きさを一定以上異なる大きさとすることができる。
【０１９５】
ところで上述したようにズーム変更が行われるが、ズーム変更コマンドがレンズドライバ２に送られる際に、情報の伝搬による時間遅れが発生するので、コマンドを送った直後のフレームは変更前のズーム条件で撮像されている可能性があり（これから画像処理部７において認識処理を行うメモリ６に記憶されている画像がズーム変更前の画角で撮像されている可能性があり）、そのとき、その入力画像に対して変更後のズーム条件で上述した認識処理を行うと（具体的には、そのズーム時の焦点距離ｆ2を用いて認識処理を行うと）、適切にモデルが認識されない。
【０１９６】
そこで制御部９が指定した水平画角等のズーム情報をカメラモジュール側で撮像した画像上に書き込むようにすることができる。具体的には、例えばズーム情報がカメラ信号処理部５にも入力され、カメラ信号処理部５において、入力画像の左下隅の画像に、その入力画像の撮像時のズーム情報が書き込まれる。
【０１９７】
画像処理部７は、画像に書き込まれたズーム情報に対応する焦点距離ｆ2を用いて、上述した認識処理を実行する。
【０１９８】
このように撮像時のズーム情報を各入力画像に書き込み、その書き込まれたズーム情報に基づいてモデル認識を行うようにしたので、ズーム変更がされてもモデル認識を適切に行うことができる。
【０１９９】
上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【０２００】
そこで、図２５は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
【０２０１】
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク２０５やＲＯＭ２０３に予め記録しておくことができる。
【０２０２】
あるいはまた、プログラムは、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory)，MO(Magneto Optical)ディスク，DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体２１１に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体２１１は、いわゆるパッケージソフトウエアとして提供することができる。
【０２０３】
なお、プログラムは、上述したようなリムーバブル記録媒体２１１からコンピュータにインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを、通信部２０８で受信し、内蔵するハードディスク２０５にインストールすることができる。
【０２０４】
コンピュータは、CPU(Central Processing Unit)２０２を内蔵している。CPU２０２には、バス２０１を介して、入出力インタフェース２１０が接続されており、CPU２０２は、入出力インタフェース２１０を介して、ユーザによって、キーボードや、マウス、マイク等で構成される入力部２０７が操作等されることにより指令が入力されると、それにしたがって、ROM(Read Only Memory)２０３に格納されているプログラムを実行する。あるいは、また、CPU２０２は、ハードディスク２０５に格納されているプログラム、衛星若しくはネットワークから転送され、通信部２０８で受信されてハードディスク２０５にインストールされたプログラム、またはドライブ２０９に装着されたリムーバブル記録媒体２１１から読み出されてハードディスク２０５にインストールされたプログラムを、RAM(Random Access Memory)２０４にロードして実行する。これにより、CPU２０２は、上述したブロック図の構成により行われる処理を行う。そして、CPU２０２は、その処理結果を、必要に応じて、例えば、入出力インタフェース２１０を介して、LCD(Liquid Crystal Display)やスピーカ等で構成される出力部２０６から出力、あるいは、通信部２０８から送信、さらには、ハードディスク２０５に記録等させる。
【０２０５】
ここで、プログラムは、１のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【０２０６】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０２０７】
【図１】本発明を適用した画像処理装置の構成例を示すブロック図である。
【図２】図１の画像処理部７の構成例を示すブロック図である。
【図３】図１の記憶部２１に記憶されている色テーブルの例を示す図である。
【図４】図３の色テーブルでの色の指定方法を説明する図である。
【図５】色抽出処理を説明するフローチャートである。
【図６】色抽出処理の具体例を示す図である。
【図７】色領域検出処理を説明するフローチャートである。
【図８】図７のステップＳ１２のマージ処理を説明するフローチャートである。
【図９】図８のマージ処理における対象画素と比較される画素を示す図である。
【図１０】色領域検出処理の具体例を示す図である。
【図１１】色領域検出処理の他の具体例を示す図である。
【図１２】基準画像を説明する図である。
【図１３】モデル情報の例を示す図である。
【図１４】マッチング処理を説明するフローチャートである。
【図１５】アスペクト比の算出方法を説明する図である。
【図１６】マッチング処理の具体例を示す図である。
【図１７】認識処理の原理を説明するための図である。
【図１８】認識処理を説明するフローチャートである。
【図１９】重複候補ペアの例を示す図である。
【図２０】図１８のステップＳ８０の選択処理を説明するフローチャートである。
【図２１】認識処理の具体例を示す図である。
【図２２】ズーム変更に利用される物体画像領域を説明する図である。
【図２３】ズームアウト処理を説明する図である。
【図２４】ズームイン処理を説明する図である。
【図２５】パーソナルコンピュータの構成例を示すブロック図である。
【符号の説明】
【０２０８】
１  レンズブロック，  １Ａ  ズームレンズ，  ２  レンズドライバ，  ３  撮像センサ，  ４  撮像素子ドライバ，  ５  カメラ信号処理部，  ６  メモリ，  ７  画像処理部，  ８  カメラコントローラ，  ９  制御部，  １１  画像入力部，  １２  色抽出部，  １３  色領域検出部，  １４  マッチング部，  １５  認識部，  ２１  記憶部，  ２２  記憶部１０１  記録再生システム，  １１３  HSM，  １１４  ストレージマネージャ，  １１６  HDD，  １１８  ドライブ，  １１９  DVD，  １４１  アプリケーションプログラム，  １６２  システムマネージャ，  １６３  ファイルＩ／Ｏマネージャ，  １６４  マイグレーションファイルシステム，  １６５  ストレージサーバ，  １６７  メディアサーバ，  ４０１  ＣＰＵ，  ４０２  ＲＯＭ，  ４０３  ＲＡＭ，  ４０８  記録部，  ４０９  記録部
【図１】
2007280032.tif 000017
【図２】
2007280032.tif 000018
【図３】
2007280032.tif 000019
【図４】
2007280032.tif 000020
【図５】
2007280032.tif 000021
【図６】
2007280032.tif 000022
【図７】
2007280032.tif 000023
【図８】
2007280032.tif 000024
【図９】
2007280032.tif 000025
【図１０】
2007280032.tif 000026
【図１１】
2007280032.tif 000027
【図１２】
2007280032.tif 000028
【図１３】
2007280032.tif 000029
【図１４】
2007280032.tif 000030
【図１５】
2007280032.tif 000031
【図１６】
2007280032.tif 000032
【図１７】
2007280032.tif 000033
【図１８】
2007280032.tif 000034
【図１９】
2007280032.tif 000035
【図２０】
2007280032.tif 000036
【図２１】
2007280032.tif 000037
【図２２】
2007280032.tif 000038
【図２３】
2007280032.tif 000039
【図２４】
2007280032.tif 000040
【図２５】
2007280032.tif 000041