(57)【特許請求の範囲】
【請求項１】
位置および姿勢の少なくとも一方である位置姿勢が推定される物体が写っている入力画像を入力する画像入力手段と、
物体の３次元形状データを記憶する３次元形状データ記憶手段と、
前記３次元形状データ記憶手段に記憶されている３次元形状データを用いて、物体が所定の位置姿勢にある画像を比較画像として生成する比較画像生成手段と、
前記比較画像生成手段で生成された比較画像と入力画像とを所定の大きさの小領域に分割し、前記比較画像と前記入力画像との位置関係を前記小領域ごとに検出する画像位置関係検出手段と、
前記画像位置関係検出手段で検出された位置関係を用いて、比較画像中における物体の位置姿勢の修正量を計算する修正量計算手段と、
前記比較画像生成手段で比較画像生成の際に設定された物体の位置姿勢を、これに前記修正量計算手段で求められた修正量を加算することによって修正して新たな物体の位置姿勢を算出する状態修正手段と
を備えることを特徴とする物体の位置姿勢を推定する推定システム。
【請求項２】
前記修正量計算手段で求められた修正量にもとづいて、前記比較画像生成手段で設定された物体の位置姿勢が適切であるか否かを判定する状態判定手段を更に備え、
適切であると判定されたときには、前記比較画像生成手段で設定された物体の位置姿勢が推定値として出力され、
適切でないと判定されたときには、前記状態修正手段で算出された新たな物体の位置姿勢を所定の位置姿勢に設定したときの前記比較画像生成手段による比較画像の生成処理、前記画像位置関係検出手段による位置関係の検出処理、および前記修正量計算手段による修正量の算出処理を含む推定処理が再度実行されることを特徴とする請求項１記載の物体の位置姿勢を推定する推定システム。
【請求項３】
前記状態判定手段は、前記修正量計算手段で求められた修正量が所定量より小さいときには、物体の位置姿勢が適切であると判定し、修正量が所定量より小さくないときには、物体の位置姿勢が適切でないと判定することを特徴とする請求項２記載の物体の位置姿勢を推定する推定システム。
【請求項４】
推定処理を再度実行した後の比較画像と入力画像との第１の類似度を算出する第１の類似度算出手段と、
推定処理を再度実行する前の比較画像と入力画像との第２の類似度を算出する第２の類似度算出手段とを更に備え、
前記状態判定手段は、第１の類似度と第２の類似度とを比較し、第１の類似度が第２の類似度より大きいときには、物体の位置姿勢が適切でないと判定し、第１の類似度が第２の類似度より大きくないときには、物体の位置姿勢が適切であると判定することを特徴とする請求項２記載の物体の位置姿勢を推定する推定システム。
【請求項５】
前記画像入力手段は、物体が写っている動画像を入力する手段であり、
前記画像位置関係検出手段は、入力画像として動画像の最新のフレーム画像を用いることを特徴とする請求項１記載の物体の位置姿勢を推定する推定システム。
【請求項６】
前記比較画像生成手段は、
照明条件によって変化する物体表面の輝度値を再現する手段と、
再現した輝度値を用いて入力画像に近い照明条件での比較画像を生成する手段と
を備えることを特徴とする請求項１記載の物体の位置姿勢を推定する推定システム。
【請求項７】
照明条件による物体表面の輝度の変動を示す照明基底画像群を記憶する照明基底画像群記憶手段を更に備え、
前記比較画像生成手段は、前記照明基底画像群記憶手段に記憶されている照明基底画像群を用いて物体表面の輝度値を再現することを特徴とする請求項６記載の物体の位置姿勢を推定する推定システム。
【請求項８】
物体の３次元形状データおよび物体表面の反射率データを計測する３次元形状計測手段と、
前記３次元形状計測手段で計測された３次元形状データおよび物体表面の反射率データを用いて、所定の照明条件における物体表面の輝度の変動を示す照明基底画像を計算する照明基底計算手段と
を更に備えたことを特徴とする請求項７記載の物体の位置姿勢を推定する推定システム。
【請求項９】
前記照明基底計算手段は、複数の照明条件の下での３次元形状データの各点の輝度値を示すベクトル群を算出し、このベクトル群から主成分分析によって固有値の大きい順に基底ベクトル群を求め、この基底ベクトル群を照明基底画像群として出力し、
前記比較画像生成手段は、物体の３次元形状データを用いて現時点での推定値に物体ある画像の画素と物体の３次元形状データの点との対応関係を求め、この対応関係を用いて推定値に物体がある画像に照明基底画像群を投影した画像照明基底群を生成し、この画像照明基底群の線形結合によって入力画像に最も近い画像を比較画像として生成することを特徴とする請求項８記載の物体の位置姿勢を推定する推定システム。
【請求項１０】
前記修正量計算手段は、比較画像と入力画像との小領域ごとの位置関係を示す画像変位分布と物体の３次元形状データとを用いて、比較画像における各小領域に対応する物体の部分の移動量が画像変位分布に近い値となる物体の３次元運動量を修正量として算出することを特徴とする請求項１記載の物体の位置姿勢を推定する推定システム。
【請求項１１】
前記比較画像生成手段で生成された比較画像および入力画像の輝度値にもとづいてそれぞれの画像特徴量を抽出する特徴抽出手段を更に備え、
前記画像位置関係検出手段は、前記特徴抽出手段で抽出された画像特徴量にもとづいて比較画像と入力画像との位置関係を小領域ごとに検出することを特徴とする請求項１記載の物体の位置姿勢を推定する推定システム。
【請求項１２】
位置および姿勢の少なくとも一方である位置姿勢が推定される物体が写っている入力画像を入力するステップと、
物体の３次元形状データを用いて、物体が所定の位置姿勢にある画像を比較画像として生成するステップと、
比較画像と入力画像とを所定の大きさの小領域に分割し、前記比較画像と前記入力画像との位置関係を前記小領域ごとに検出するステップと、
検出された位置関係を用いて、比較画像中における物体の位置姿勢の修正量を計算するステップと、
比較画像生成の際に設定された物体の位置姿勢を、これに前記修正量を加算することによって修正して新たな物体の位置姿勢を算出するステップと
を備えることを特徴とする物体の位置姿勢を推定する推定方法。
【請求項１３】
計算された修正量にもとづいて、比較画像生成の際に設定された物体の位置姿勢が適切であるか否かを判定するステップと、
適切であると判定されたときに、比較画像生成の際に設定された物体の位置姿勢を推定値として出力するステップとを更に備え、
適切でないと判定されたときには、算出された新たな物体の位置姿勢を所定の位置姿勢として比較画像を生成する前記ステップ、位置関係を検出する前記ステップ、および修正量を計算する前記ステップを含む推定処理を再度実行することを特徴とする請求項１２記載の物体の位置姿勢を推定する推定方法。
【請求項１４】
判定する前記ステップは、修正量が所定量より小さいときには、物体の位置姿勢が適切であると判定し、修正量が所定量より小さくないときには、物体の位置姿勢が適切でないと判定することを特徴とする請求項１３記載の物体の位置姿勢を推定する推定方法。
【請求項１５】
推定処理を再度実行した後の比較画像と入力画像との第１の類似度を算出するステップと、
推定処理を再度実行する前の比較画像と入力画像との第２の類似度を算出するステップとを更に備え、
判定する前記ステップは、第１の類似度と第２の類似度とを比較し、第１の類似度が第２の類似度より大きいときには、物体の位置姿勢が適切でないと判定し、第１の類似度が第２の類似度より大きくないときには、物体の位置姿勢が適切であると判定することを特徴とする請求項１３記載の物体の位置姿勢を推定する推定方法。
【請求項１６】
画像を入力する前記ステップは、物体が写っている動画像を入力し、
位置関係を検出する前記ステップは、入力画像として動画像の最新のフレーム画像を用いることを特徴とする請求項１２記載の物体の位置姿勢を推定する推定方法。
【請求項１７】
比較画像を生成する前記ステップは、
照明条件によって変化する物体表面の輝度値を再現するステップと、
再現した輝度値を用いて入力画像に近い照明条件での比較画像を生成するステップと
を備えることを特徴とする請求項１２記載の物体の位置姿勢を推定する推定方法。
【請求項１８】
比較画像を生成する前記ステップは、照明条件による物体表面の輝度の変動を示す照明基底画像群を用いて物体表面の輝度値を再現することを特徴とする請求項１７記載の物体の位置姿勢を推定する推定方法。
【請求項１９】
物体の３次元形状データおよび物体表面の反射率データを計測するステップと、
３次元形状データおよび物体表面の反射率データを用いて、所定の照明条件における物体表面の輝度の変動を示す照明基底画像を計算するステップと
を更に備えたことを特徴とする請求項１８記載の物体の位置姿勢を推定する推定方法。
【請求項２０】
照明基底画像を計算する前記ステップは、複数の照明条件の下での３次元形状データの各点の輝度値を示すベクトル群を算出し、このベクトル群から主成分分析によって固有値の大きい順に基底ベクトル群を求め、この基底ベクトル群を照明基底画像群として出力し、
比較画像を生成する前記ステップは、物体の３次元形状データを用いて現時点での推定値に物体がある画像の画素と物体の３次元形状データの点との対応関係を求め、この対応関係を用いて推定値に物体がある画像に照明基底画像群を投影した画像照明基底群を生成し、この画像照明基底群の線形結合によって入力画像に最も近い画像を比較画像として生成することを特徴とする請求項１９記載の物体の位置姿勢を推定する推定方法。
【請求項２１】
修正量を計算する前記ステップは、比較画像と入力画像との小領域ごとの位置関係を示す画像変位分布と物体の３次元形状データとを用いて、比較画像における各小領域に対応する物体の部分の移動量が画像変位分布に近い値となる物体の３次元運動量を修正量として算出することを特徴とする請求項１２記載の物体の位置姿勢を推定する推定方法。
【請求項２２】
比較画像および入力画像の輝度値にもとづいてそれぞれの画像特徴量を抽出するステップを更に備え、
位置関係を検出する前記ステップは、画像特徴量にもとづいて比較画像と入力画像との位置関係を小領域ごとに検出することを特徴とする請求項１２記載の物体の位置姿勢を推定する推定方法。
【請求項２３】
位置および姿勢の少なくとも一方である位置姿勢が推定される物体が写っている入力画像を入力するステップと、
物体の３次元形状データを用いて、物体が所定の位置姿勢にある画像を比較画像として生成するステップと、
比較画像と入力画像とを所定の大きさの小領域に分割し、前記比較画像と前記入力画像との位置関係を前記小領域ごとに検出するステップと、
検出された位置関係を用いて、比較画像中における物体の位置姿勢の修正量を計算するステップと、
比較画像生成の際に設定された物体の位置姿勢を、これに前記修正量を加算することによって修正して新たな物体の位置姿勢を算出するステップと
をコンピュータに実行させるための物体の位置姿勢を推定する推定プログラム。
【請求項２４】
計算された修正量にもとづいて、比較画像生成の際に設定された物体の位置姿勢が適切であるか否かを判定するステップと、
適切であると判定されたときに、比較画像生成の際に設定された物体の位置姿勢を推定値として出力するステップと、
適切でないと判定されたときに、算出された新たな物体の位置姿勢を所定の位置姿勢として比較画像を生成する前記ステップ、位置関係を検出する前記ステップ、および修正量を計算する前記ステップを含む推定処理を再度実行するステップと
をコンピュータに更に実行させるための請求項２３記載の物体の位置姿勢を推定する推定プログラム。
【請求項２５】
判定する前記ステップとして、修正量が所定量より小さいときには、物体の位置姿勢が適切であると判定し、修正量が所定量より小さくないときには、物体の位置姿勢が適切でないと判定するステップをコンピュータに実行させるための請求項２４記載の物体の位置姿勢を推定する推定プログラム。
【請求項２６】
推定処理を再度実行した後の比較画像と入力画像との第１の類似度を算出するステップと、
推定処理を再度実行する前の比較画像と入力画像との第２の類似度を算出するステップと、
判定する前記ステップとして、第１の類似度と第２の類似度とを比較し、第１の類似度が第２の類似度より大きいときには、物体の位置姿勢が適切でないと判定し、第１の類似度が第２の類似度より大きくないときには、物体の位置姿勢が適切であると判定するステップと
をコンピュータに更に実行させるための請求項２４記載の物体の位置姿勢を推定する推定プログラム。
【請求項２７】
画像を入力する前記ステップとして、物体が写っている動画像を入力するステップと、
位置関係を検出する前記ステップとして、入力画像として動画像の最新のフレーム画像を用いるステップと
をコンピュータに実行させるための請求項２３記載の物体の位置姿勢を推定する推定プログラム。
【請求項２８】
比較画像を生成する前記ステップにおいて、
照明条件によって変化する物体表面の輝度値を再現するステップと、
再現した輝度値を用いて入力画像に近い照明条件での比較画像を生成するステップと
をコンピュータに実行させるための請求項２３記載の物体の位置姿勢を推定する推定プログラム。
【請求項２９】
比較画像を生成する前記ステップとして、照明条件による物体表面の輝度の変動を示す照明基底画像群を用いて物体表面の輝度値を再現するステップをコンピュータに実行させるための請求項２８記載の物体の位置姿勢を推定する推定プログラム。
【請求項３０】
物体の３次元形状データおよび物体表面の反射率データを計測するステップと、
３次元形状データおよび物体表面の反射率データを用いて、所定の照明条件における物体表面の輝度の変動を示す照明基底画像を計算するステップと
をコンピュータに更に実行させるための請求項２９記載の物体の位置姿勢を推定する推定プログラム。
【請求項３１】
照明基底画像を計算する前記ステップとして、複数の照明条件の下での３次元形状データの各点の輝度値を示すベクトル群を算出し、このベクトル群から主成分分析によって固有値の大きい順に基底ベクトル群を求め、この基底ベクトル群を照明基底画像群として出力するステップと、
比較画像を生成する前記ステップとして、物体の３次元形状データを用いて現時点での推定値に物体がある画像の画素と物体の３次元形状データの点との対応関係を求め、この対応関係を用いて推定値に物体がある画像に照明基底画像群を投影した画像照明基底群を生成し、この画像照明基底群の線形結合によって入力画像に最も近い画像を比較画像として生成するステップと
をコンピュータに実行させるための請求項３０記載の物体の位置姿勢を推定する推定プログラム。
【請求項３２】
修正量を計算する前記ステップとして、比較画像と入力画像との小領域ごとの位置関係を示す画像変位分布と物体の３次元形状データとを用いて、比較画像における各小領域に対応する物体の部分の移動量が画像変位分布に近い値となる物体の３次元運動量を修正量として算出するステップをコンピュータに実行させるための請求項２３記載の物体の位置姿勢を推定する推定プログラム。
【請求項３３】
比較画像および入力画像の輝度値にもとづいてそれぞれの画像特徴量を抽出するステップと、
位置関係を検出する前記ステップとして、画像特徴量にもとづいて比較画像と入力画像との位置関係を小領域ごとに検出するステップと
をコンピュータに更に実行させるための請求項２３記載の物体の位置姿勢を推定する推定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、物体の位置や姿勢を推定する推定システム、推定方法および推定プログラムに関し、特に、カメラで撮影したり記憶媒体から読みこまれた画像に含まれる物体の位置や姿勢またはその両者を、照明条件が変動しても精度よく高速に推定できる物体の状態を推定する推定システム、推定方法および推定プログラムに関する。
【背景技術】
【０００２】  物体の位置や姿勢を推定できる装置として、物体の位置や姿勢を認識する位置姿勢認識装置がある。図１４は、従来の位置姿勢認識装置の構成を示すブロック図である。この位置姿勢認識装置は、姿勢候補群決定手段９１０と、比較画像生成手段９２０と、姿勢選択手段９３０と、終了判定手段９４０とを含む。【０００３】  図１４に示す従来の位置姿勢認識装置の動作を説明する。まず、位置／姿勢の推定の対象となる物体（以下、対象物体という。）の画像を含む入力画像データ９１が、位置姿勢認識装置に入力される。また、あらかじめ既知である誤差を含んだ大まかな物体の位置／姿勢のパラメータが、位置姿勢初期値９２として位置姿勢認識装置に入力される。姿勢候補群決定手段９１０は、位置姿勢初期値９２に含まれる位置／姿勢の６つのパラメータ（ｘ，ｙ，ｚの３次元パラメータ、およびｘ，ｙ，ｚ軸周りの角度パラメータ）を、あらかじめ定められた所定の変化量だけ変化させることによって複数の位置姿勢推定値群を決定する。【０００４】  比較画像生成手段９２０は、あらかじめ位置姿勢認識装置の記憶部（図示せず）に記憶されている対象物体の３次元形状モデルデータと、照明変動空間を生成する基底テクスチャ群とにもとづいて、対象物体がそれぞれの位置姿勢推定値群に対応する位置／姿勢にあるときの照明条件の変化による画像の変動を示す照明変動空間データを生成する。そして、比較画像生成手段９２０は、照明変動空間データにもとづいて入力画像データ９１と同じ照明条件の比較画像群を生成する。【０００５】  姿勢選択手段９３０は、比較画像群と入力画像データ９１とを比較し、最も類似度が大きくなる比較画像に対応する位置姿勢推定値を、最適位置姿勢推定値９３として出力する。終了判定手段９４０は、比較画像の類似度の改善の余地がある場合には、最適位置姿勢推定値９３を位置姿勢初期値９２（または現在の位置姿勢推定値）に置き換えて姿勢候補群決定手段９１０に出力する。そして、位置姿勢認識装置は、比較画像の類似度が改善できなくなるまで、上記の処理を繰り返し実行することによって、最終的に最適な対象物体の位置／姿勢を求める（例えば、特開２００３−５８８９６号公報（文献１）参照）。
【発明の開示】
【発明が解決しようとする課題】
【０００６】  従来の位置姿勢認識装置を用いれば、最終的に最適な対象物体の位置や姿勢を求めることはできる。しかし、姿勢候補群決定手段９１０は、各処理時点における最適位置姿勢推定値９３にもとづいて新たな位置姿勢推定値群を生成する際に、位置／姿勢の各パラメータをどの程度変更すれば正確な位置／姿勢に近づけられるか分からない。そのため、姿勢候補群決定手段９１０は単にあらかじめ決めた所定の変化量分だけパラメータを増減して多数の位置姿勢推定値を生成するので、位置姿勢認識装置は、その全ての位置姿勢推定値に対して計算量の大きい比較画像の生成処理を行わなければならない。従って、最終的な最適位置姿勢推定値を求めるまでの処理時間が長い。【０００７】  本発明は、このような課題を解決するためになされたものであり、その目的は、画像に含まれる物体の位置や姿勢を従来より短時間で推定できるようにすることにある。
【課題を解決するための手段】
【０００８】  本発明による物体の状態を推定する推定システムは、位置および姿勢の少なくとも一方である状態が推定される物体が写っている入力画像を入力する画像入力手段と、物体の３次元形状データを記憶する３次元形状データ記憶手段と、３次元形状データ記憶手段に記憶されている３次元形状データを用いて、物体が所定の状態にある画像を比較画像として生成する比較画像生成手段と、比較画像生成手段で生成された比較画像と入力画像との位置関係を、画像における所定の大きさの小領域ごとに検出する画像位置関係検出手段と、画像位置関係検出手段で検出された位置関係を用いて、比較画像中における物体の状態の修正量を計算する修正量計算手段と、修正量計算手段で求められた修正量を用い、比較画像生成手段で比較画像生成の際に設定された物体の状態を修正して新たな物体の状態を算出する状態修正手段とを備えることを特徴とする。【０００９】  また、本発明による物体の状態を推定する推定方法は、位置および姿勢の少なくとも一方である状態が推定される物体が写っている入力画像を入力するステップと、物体の３次元形状データを用いて、物体が所定の状態にある画像を比較画像として生成するステップと、比較画像と入力画像との位置関係を、画像における所定の大きさの小領域ごとに検出するステップと、検出された位置関係を用いて、比較画像中における物体の状態の修正量を計算するステップと、計算された修正量を用い、比較画像生成の際に設定された物体の状態を修正して新たな物体の状態を算出するステップとを備えることを特徴とする。【００１０】  本発明による物体の位置を推定するための推定プログラムは、位置および姿勢の少なくとも一方である状態が推定される物体が写っている入力画像を入力するステップと、物体の３次元形状データを用いて、物体が所定の状態にある画像を比較画像として生成するステップと、比較画像と入力画像との位置関係を、画像における所定の大きさの小領域ごとに検出するステップと、検出された位置関係を用いて、比較画像中における物体の状態の修正量を計算するステップと、計算された修正量を用い、比較画像生成の際に設定された物体の状態を修正して新たな物体の状態を算出するステップとをコンピュータに実行させることを特徴とする。
【発明の効果】
【００１１】  本発明によれば、画像変位分布と３次元形状データとにもとづいて位置や姿勢の差分値を算出し、誤差を含んだ初期予想値から実際の位置／姿勢に最短距離で収束するように位置／姿勢の推定値を算出する。そのため、比較画像の生成回数を削減することができ、対象物体の位置／姿勢の推定値算出の際の計算量を削減することができる。従って、画像に含まれる物体の位置や姿勢を従来より短時間で推定することができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、本発明による物体の状態を推定する推定システムを、物体位置姿勢推定システムとして適用した環境の一例を示す説明図である。
【図２】図２は、物体位置姿勢推定システムの構成の一例を示すブロック図である。
【図３】図３は、３次元モデル記憶手段の構成の一例を示すブロック図である。
【図４】図４は、終了判定手段の構成の一例を示すブロック図である。
【図５】図５は、物体位置姿勢推定システムが行う対象物体の位置姿勢推定処理の一例を示す流れ図である。
【図６】図６は、物体位置姿勢推定システムの構成の他の例を示すブロック図である。
【図７】図７は、終了判定手段の構成の他の例を示すブロック図である。
【図８】図８は、物体位置姿勢推定システムが行う対象物体の位置姿勢推定処理の他の例を示す流れ図である。
【図９】図９は、物体位置姿勢推定システムの構成の更に他の例を示すブロック図である。
【図１０】図１０は、物体位置姿勢推定システムが行う対象物体の位置姿勢推定処理の更に他の例を示す流れ図である。
【図１１】図１１は、物体位置姿勢推定システムの構成の更に他の例を示すブロック図である。
【図１２】図１２は、物体位置姿勢推定システムが行う対象物体の位置姿勢推定処理の更に他の例を示す流れ図である。
【図１３】図１３は、比較画像と入力画像との間の画像変位分布を検出する処理の一例を示す説明図である。
【図１４】図１４は、従来の位置姿勢認識装置の構成を示すブロック図である。
【発明を実施するための最良の形態】
【実施例１】
【００１３】  以下、本発明の第１の実施例を図面を参照して説明する。図１は、本発明による物体の状態を推定する推定システムを、物体位置姿勢推定システムとして適用した環境の一例を示す説明図である。図１に示すように、物体位置姿勢推定システムは、プログラムに従って各処理を実行するコンピュータ１００（中央処理装置、プロセッサ、データ処理装置）と、対象物体の３次元形状および表面反射率を計測する３次元形状計測装置２００と、対象物体を含む被写体を撮像するカメラ３００とを含む。【００１４】  また、図２は、物体位置姿勢推定システムの構成の一例を示すブロック図である。図２に示すように、物体位置姿勢推定システムは、比較画像生成手段１１０と、画像変位分布検出手段１２０と、姿勢差分計算手段１３０と、終了判定手段１４０と、３次元形状計測手段１５０と、照明基底計算手段１６０と、３次元モデル記憶手段１７０と、画像入力手段１８０とを含む。なお、図１に示すコンピュータ１００は、図２に示す構成のうち、比較画像生成手段１１０と、画像変位分布検出手段１２０と、姿勢差分計算手段１３０と、終了判定手段１４０と、照明基底計算手段１６０と、３次元モデル記憶手段１７０とを含む。【００１５】  ３次元形状計測手段１５０は、３次元形状計測装置２００によって実現される。３次元形状計測手段１５０は、位置／姿勢（位置および姿勢の少なくとも一方である状態）を推定する対象物体の３次元形状と表面反射率とを計測し、対象物体の３次元形状データおよび表面反射率データを生成する。照明基底計算手段１６０は、コンピュータ１００の制御部（図示せず）などによって実現される。照明基底計算手段１６０は、対象物体の３次元形状データおよび表面反射率データにもとづいて、対象物体の各部位の照明条件による輝度の変化を示す照明基底データを算出する。【００１６】  ３次元モデル記憶手段１７０は、コンピュータ１００が備える記憶装置（図示せず）によって実現される。３次元モデル記憶手段１７０は、３次元形状計測手段１５０が生成した対象物体の３次元形状データと、照明基底計算手段１６０が算出した照明基底データとを記憶する。従って、３次元モデル記憶手段１７０は、図３に示すように、３次元形状データ記憶部１７０ａと、照明基底データ記憶部（照明基底画像群記憶部）１７０ｂとを含む。【００１７】  画像入力手段１８０は、カメラ３００によって実現される。画像入力手段１８０は、位置／姿勢を推定する対象物体を含む被写体を撮像して入力画像データ１１を生成する。そして、画像入力手段１８０は、生成した入力画像データ１１をコンピュータ１００に出力する。また、画像入力手段１８０は、入力画像中の対象物体の位置／姿勢の予想値である位置姿勢初期値１２の入力を受け付ける。例えば、入力画像を見ながら入力された対象物体の大まかな位置／姿勢の値を、位置姿勢初期値１２として入力を受け付ける。そして、画像入力手段１８０は、入力された位置姿勢初期値１２をコンピュータ１００に出力する。【００１８】  なお、本実施例において、物体位置姿勢推定システムは、位置姿勢初期値１２の誤差を修正することによって、正確な対象物体の位置／姿勢を推定する。すなわち、位置姿勢初期値１２は、対象物体の位置姿勢推定値の初期値として用いられる。物体位置姿勢推定システムは、推定処理の各段階において現在の位置姿勢推定値（処理開始時は位置姿勢初期値１２）と実際の対象物体の位置／姿勢との差分（誤差）を求め、位置姿勢推定値の修正を順次繰り返すことによって、最終的に最適な位置姿勢推定値を求める。【００１９】  比較画像生成手段１１０は、コンピュータ１００の制御部などによって実現される。比較画像生成手段１１０は、３次元モデル記憶手段１７０が記憶する対象物体の３次元形状データと照明基底データとにもとづいて、入力画像と同一または近似の照明条件での対象物体の画像を比較画像として生成する。この場合に、比較画像生成手段１１０は、位置姿勢推定値として与えられた位置／姿勢に対象物体があると仮定した場合の画像を比較画像として生成する。位置姿勢推定値としては、位置姿勢初期値１２、または後述する終了判定手段１４０が算出する位置姿勢推定値が用いられる。【００２０】  入力画像と同一または近似の照明条件での比較画像の生成処理は、例えば、以下の公知の方法によって実行される。例えば、対象物体の物体表面の各位置の輝度などを示すテクスチャは照明条件によって変化するが、これらの照明変動によって生成される様々なテクスチャ空間と対象物体の３次元形状データとをあらかじめ登録しておく。そして、登録したテクスチャ空間と３次元形状データとにもとづいて、テクスチャ空間を必要とされる位置姿勢に対象物体があるときに照明条件の変動によって生成される照明変動空間に変換することが可能である。比較画像生成手段１１０は、この変換方法を用いることによって、入力画像と同一または近似の照明条件の下での比較画像を生成することができる。【００２１】  なお、上記の同一または近似の照明条件での画像の生成方法（同一または近似の照明条件を再現した画像の生成方法）は、例えば、特開２００２−１５７５９５号公報（以下、文献２）に記載されている。【００２２】  画像変位分布検出手段１２０は、コンピュータ１００の制御部などによって実現される。画像変位分布検出手段１２０は、比較画像生成手段１１０が生成した比較画像を所定の大きさの部分（小領域）ごとの部分画像に分割する。画像変位分布検出手段１２０は、各部分画像と入力画像との輝度値を比較し、画像上でそれぞれいずれの方向に動かして重ね合わせると最も類似度が大きくなるかを検出する。すなわち、画像変位分布検出手段１２０は、入力画像に対する比較画像の各小領域ごとの画像変位分布（比較画像と入力画像との小領域ごとの位置関係）を検出する。【００２３】  画像変位分布検出手段１２０は、例えば、一般にオプティカルフローと呼ばれる画像変位検出技術を用いて画像変位分布を検出する。すなわち、画像変位分布検出手段１２０は、画像内の物体の各部分がどのように移動したのかを示す移動ベクトルの分布を検出することによって、比較画像と入力画像との画像間の変位分布を検出する。なお、オプティカルフローによる画像変位検出技術が、例えば「Ｊ．Ｌ．Ｂａｒｒｏｎ，Ｄ．Ｊ．Ｆｌｅｅｔ，Ｓ．Ｓ．Ｂｅａｕｃｈｅｍｉｎ，Ｐｅｒｆｏｒｍａｎｃｅ  ｏｆ  Ｏｐｔｉｃａｌ  Ｆｌｏｗ  Ｔｅｃｈｎｉｑｕｅｓ，″Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｊｏｕｒｎａｌ  ｏｆ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ″，Ｎｅｔｈｅｒｌａｎｄｓ，Ｋｌｕｗｅｒ  Ａｃａｄｅｍｉｃ  Ｐｕｂｌｉｓｈｅｒｓ，１９９４，１２：１，ｐ．４３−７７」に記載されている。【００２４】  姿勢差分計算手段１３０は、コンピュータ１００の制御部などによって実現される。姿勢差分計算手段１３０は、画像変位分布検出手段１２０が検出した各小領域ごとの画像変位分布と、対象物体の３次元形状データの各部分の３次元座標データ（各小領域に対応する３次元座標データ）とにもとづいて、対象物体を仮想的に動かしたときに、各部分が変位分布に最も近くなる３次元運動（移動量や回転量）を計算する。そして、姿勢差分計算手段１３０は、３次元運動の計算結果を位置姿勢差分値（修正量）として算出する。【００２５】  終了判定手段１４０は、図４に示すように、位置姿勢判定部１４１と、推定値記憶部１４２と、推定値管理部１４３とを含み、コンピュータ１００の制御部および記憶部などによって実現される。【００２６】  位置姿勢判定部１４１は、比較画像生成手段１１０が比較画像を生成する際に仮定した対象物体の位置／姿勢が適切であるか否かを判定する。適切であるか否かは、姿勢差分計算手段１３０が算出した位置姿勢差分値と、あらかじめ定めた所定の閾値との大小によって判定する。すなわち、位置姿勢差分値が閾値より小さい場合には、現在の位置／姿勢が適切であると判定し、小さくない（等しいまたは大きい）場合には、適切でないと判定する。位置姿勢判定部１４１は、判定結果を推定値管理部１４３に出力する。【００２７】  推定値記憶部１４２は、現在の位置姿勢推定値を記憶する。具体的には、位置姿勢推定値の初期値として位置姿勢初期値１２を、また後述するように推定値管理部１４３によって算出される新しい位置姿勢推定値を記憶する。【００２８】  推定値管理部１４３は、位置姿勢判定部１４１から入力される判定結果に応じて、次のような処理を行う。位置姿勢判定部１４１によって現在の位置／姿勢が適切であると判定された場合には、現在の位置姿勢推定値が最も正確な推定値（実際の対象物体の位置／姿勢に最も近い値）であるから、推定値管理部１４３は、推定値記憶部１４２から現在の位置姿勢推定値を読み出し、この推定値を最適位置姿勢推定値１３として出力し、処理を終了する。これに対し、位置姿勢判定部１４１によって現在の位置／姿勢が適切でないと判定された場合には、推定値管理部１４３は、推定値記憶部１４２から現在の位置姿勢推定値を読み出し、この推定値の各パラメータに位置姿勢差分値を加算することにより、現在の位置姿勢推定値を修正した新しい位置姿勢推定値を算出する。この処理は、比較画像を生成する際に仮定した対象物体の位置／姿勢の修正に相当する。推定値管理部１４３は更に、推定値記憶部１４２の記憶内容を新しい位置姿勢推定値に更新するとともに、この推定値を比較画像生成手段１１０に出力する。なお、比較画像生成手段１１０に新しい位置姿勢推定値が入力されると、物体位置姿勢推定システムは、比較画像生成手段１１０の比較画像生成処理からの一連の処理を繰り返し実行する。【００２９】  なお、画像位置関係検出手段は、画像変位分布検出手段１２０によって実現される。修正量計算手段は、姿勢差分計算手段１３０によって実現される。状態修正手段は、推定値管理部１４３によって実現される。状態判定手段は、位置姿勢判定部１４１によって実現される。【００３０】  なお、本実施例において、コンピュータ１００が備える記憶装置は、対象物体の位置姿勢推定処理を実行するための各プログラムを記憶している。例えば、コンピュータ１００が備える記憶装置は、コンピュータに、データベースが記憶する物体の３次元形状データを用い物体が所定の状態（位置および姿勢の少なくとも一方）にある画像を比較画像として生成する処理と、生成した比較画像と入力画像との位置関係を小領域ごとに検出する処理と、検出した小領域ごとの位置関係を用いて比較画像中における物体の状態の修正量を計算する処理と、計算した修正量を用い比較画像生成の際に設定された物体の状態を修正して新たな物体の状態を算出する処理と、を実行させるための物体の状態を推定するための推定プログラムを記憶している。なお、この推定プログラムは、光ディスクや磁気ディスク、その他の記録媒体に記録された状態で提供されるものであってもよい。【００３１】  次に、動作について説明する。図５は、物体位置姿勢推定システムが行う対象物体の位置姿勢推定処理の一例を示す流れ図である。物体位置姿勢推定システムのユーザ（以下、単にユーザという。）は、３次元形状計測装置２００（３次元形状計測手段１５０）を操作して、位置／姿勢の推定を行う対象物体の３次元形状および表面反射率の計測指示をあらかじめ入力する。３次元形状計測手段１５０は、ユーザの操作に従って、対象物体の３次元形状および表面反射率を計測し、３次元形状データおよび表面反射率データを生成する。【００３２】  なお、３次元形状および表面反射率を計測する場合に、対象物体を一方向だけから計測すると見えない領域が生じるために物体全体の形状および表面反射率を計測できない場合がある。この場合には、対象物体を他の異なる方向からも計測して計測値を統合することによって、物体全体の３次元形状データおよび表面反射率データが生成される。【００３３】  照明基底計算手段１６０は、３次元形状計測手段１５０が生成した３次元形状データおよび表面反射率データにもとづいて、様々な照明条件の下での対象物体の画像の輝度値の変動を示す照明基底画像群を算出する。そして、照明基底計算手段１６０は、算出した照明基底画像群を、照明基底データとして３次元モデル記憶手段１７０に記憶させる。また、照明基底計算手段１６０は、照明基底データとともに、３次元形状計測手段１５０からの３次元形状データを３次元モデル記憶手段１７０に記憶させる（ステップＳ１０）。【００３４】  ユーザは、カメラ３００（画像入力手段１８０）を操作して、対象物体を撮影する。画像入力手段１８０は、ユーザの操作に従って、位置／姿勢を推定する対象物体が含まれる被写体を撮像し、入力画像データ１１を生成する（ステップＳ１１）。そして、画像入力手段１８０は、生成した入力画像データ１１をコンピュータ１００に出力する。【００３５】  ユーザは、入力画像を見ながら入力画像中の対象物体の大まかな位置／姿勢を示す値を入力指示する。画像入力手段１８０は、ユーザによって入力指示された大まかな位置／姿勢の値を、位置姿勢初期値１２としてコンピュータ１００に出力する（ステップＳ１２）。位置姿勢初期値１２は、比較画像生成手段１１０に入力されるとともに、終了判定手段１４０の推定値記憶部１４２に記憶される。【００３６】  なお、ユーザが入力画像を見ながら手動で位置姿勢初期値１２を入力指示するのでなく、他の推定装置／システムが出力する推定値を、物体位置姿勢推定システムに入力するようにしてもよい。例えば、物体位置姿勢推定システムより精度が劣るが初期値を入力しなくても対象物体の位置／姿勢を推定できる推定装置／システム（例えば、物体の大まかな回転角度を検出するセンサを用いた装置）がある場合に、それらの推定装置／システムが出力する推定値を物体位置姿勢推定システムに入力するようにしてもよい。そのようにすれば、手動で初期値を入力しなくても、精度の高い対象物体の位置／姿勢を推定することができる。【００３７】  比較画像生成手段１１０は、３次元モデル記憶手段１７０があらかじめ記憶する対象物体の３次元形状データおよび照明基底データを抽出する。また、比較画像生成手段１１０は、画像入力手段１８０から入力画像データ１１を取り込む。比較画像生成手段１１０は、３次元形状データ、照明基底データおよび入力画像データ１１にもとづいて、位置姿勢初期値１２として与えられた位置／姿勢に対象物体があるとした場合の入力画像と同一または近似の照明条件での対象物体の画像を、比較画像として生成する（ステップＳ１３）。【００３８】  画像変位分布検出手段１２０は、比較画像生成手段１１０が生成した比較画像を所定の大きさの部分ごとの部分画像に細かく分割する。画像変位分布検出手段１２０は、各部分画像をそれぞれ入力画像に重ね合わせて輝度値を比較し、画面上でいずれの方向に動かすと最も類似度が大きくなるかを検出し、画像変位分布として検出する（ステップＳ１４）。なお、画像変位分布検出手段１２０は、入力画像を部分画像に分割し、各部分画像をそれぞれ比較画像に重ね合わせて輝度値を比較することによって、画像変位分布を検出してもよい。【００３９】  姿勢差分計算手段１３０は、画像変位分布検出手段１２０が検出する画像変位分布と、対象物体の３次元形状データに含まれる各部分ごとの３次元座標データ（各小領域に対応するデータ）とにもとづいて、対象物体を仮想的に動かしたときに、各部分が変位分布に最も近くなる対象物体の３次元運動を計算する。そして、姿勢差分計算手段１３０は、３次元運動の計算結果を位置姿勢差分値として算出する（ステップＳ１５）。【００４０】  終了判定手段１４０において、位置姿勢判定部１４１は、比較画像生成手段１１０が比較画像を生成する際に設定した対象物体の位置／姿勢が適切であるか否かを判定する（ステップＳ１６）。具体的には、姿勢差分計算手段１３０が算出した位置姿勢差分値が所定の閾値より小さい場合に、現在の位置／姿勢が適切であると判定する（ステップＳ１６，ＹＥＳ）。この場合には、推定値管理部１４３が推定値記憶部１４２から現在の位置姿勢推定値を読み出し、この推定値を最適位置姿勢推定値��３として出力し（ステップＳ１７）、処理を終了する。【００４１】  これに対し、位置姿勢差分値が所定の閾値より小さくない場合には、位置姿勢判定部１４１は、現在の位置／姿勢が適切でないと判定する（ステップＳ１６，ＮＯ）。この場合には、推定値管理部１４３が、推定値記憶部１４２から現在の位置姿勢推定値を読み出し、この推定値の各パラメータに位置姿勢差分値を加算することにより、新しい位置姿勢推定値を算出する。更に、推定値管理部１４３は、推定値記憶部１４２の記憶内容を新しい位置姿勢推定値に更新するとともに、この推定値を比較画像生成手段１１０に出力する（ステップＳ１８）。
そして、コンピュータ１００は、ステップＳ１６において位置姿勢差分値が所定の閾値より小さいと判定されるまで、ステップＳ１３、Ｓ１４、Ｓ１５、Ｓ１６、Ｓ１８の処理を繰り返し実行する。【００４２】  以上のように、本実施例によれば、物体位置姿勢推定システムは、画像変位分布検出手段１２０と姿勢差分計算手段１３０とを備え、比較画像と入力画像とを所定の大きさの小領域である部分画像ごとに分割し、比較画像と入力画像との部分画像ごとの輝度値を比較して２次元的な位置ずれを検出する。そして、物体位置姿勢推定システムは、位置ずれの分布とあらかじめ登録する対象物体の３次元形状モデルとにもとづいて、対象物体の位置／姿勢の３次元的な位置姿勢差分値を算出し、位置姿勢差分値を現在の位置姿勢推定値に加算することによって位置姿勢推定値を更新するように動作する。【００４３】  上記の構成により、物体位置姿勢推定システムは、誤差を含んだ初期値から実際の位置／姿勢に最短距離で収束するように位置姿勢推定値を更新する。そのため、本実施例によれば、多くの位置姿勢推定値を生成して、それらの全ての推定値について比較画像を生成し入力画像と比較する必要がないので、従来の位置姿勢認識装置などと比較して、比較画像の生成回数を削減することができ、対象物体の位置／姿勢の推定値算出の際の計算量を削減することができる。従って、画像に含まれる物体の位置や姿勢を高速に推定することができる。【００４４】  例えば、あらかじめ入力された位置／姿勢の初期推定値が、実際の対象物体の位置／姿勢から（ｘ，ｙ，ｚ）軸方向の平行移動でそれぞれ（１ｍｍ，２ｍｍ，３ｍｍ）、（ｘ，ｙ，ｚ）軸周りの回転移動でそれぞれ（６度，４度，２度）ずれている場合を説明する。従来の位置姿勢認識装置などにおいては、初期値からいずれの方向にどの程度各パラメータを変更すれば最適な値であるか不明であるので、例えば、従来の位置姿勢認識装置は、平行移動方向に１ｍｍづつ変化させ、回転方向に２度づつ変化させながら、推定値を探索する。【００４５】  この場合に、位置姿勢認識装置は、最短でも平行移動方向で１＋２＋３＝６回、および回転方向で３＋２＋１＝６回の合計１２回の探索処理を行う必要がある。すなわち、位置姿勢認識装置は、再現画像（比較画像）の生成処理および入力画像と再現画像との類似度の算出処理を理論上それぞれ最低でも１２回行う必要がある。また、実際の処理では、その位置での推定値が実際の位置／姿勢と誤差が最小であるか否か判断するためには、画像再現誤差の最小点から更に１ステップ行き過ぎた位置／姿勢まで検索しなければならないので、位置姿勢認識装置は、最低でも１２＋６＝１８回の探索処理を行わなければならない。【００４６】  本実施例によれば、物体位置姿勢推定システムは、初期値として入力した位置姿勢パラメータを用いて、登録した３次元形状モデルと照明基底データとにもとづいて、入力画像と同一または近似の照明条件での比較画像を生成する。また、物体位置姿勢推定システムは、比較画像と入力実画像との間で、画像上で対象物体が含まれる領域を所定の大きさに分割し、それぞれのブロックの２次元のずれ方向（各部位を画像上で上下左右にずらして比較した場合に��比較画像と入力画像との輝度値の差が最小となる移動量、すなわち画像変位分布）を検出する。そして、物体位置姿勢推定システムは、検出した画像変位分布を最適に補正する方向に位置／姿勢の推定値を更新するので、位置／姿勢の６つのパラメータを同時に更新することができる。従って、従来の位置姿勢認識装置などと比較して、少ない回数の探索で高精度の位置姿勢推定値を得ることができ、推定値算出のための計算量を削減することができる。
【実施例２】
【００４７】  次に、本発明の第２の実施例を図面を参照して説明する。図６は、物体位置姿勢推定システムの構成の他の例を示すブロック図である。図６に示すように、物体位置姿勢推定システムは、第１の実施例で示した構成における終了判定手段１４０を終了判定手段１４０ａに代え、更に更新比較画像生成手段１１０ａを付加したものである。なお、他の構成要素については、第１の実施例と同様である。【００４８】  更新比較画像生成手段１１０ａは、コンピュータ１００の制御部などによって実現される。更新比較画像生成手段１１０ａは、姿勢差分計算手段１３０が位置姿勢差分値を算出すると、終了判定手段１４０ａから現在の位置姿勢推定値を読み出し、この推定値に位置姿勢差分値を加算して、新しい位置姿勢推定値を算出する。この処理は、第１の実施例において、推定値管理部１４３によって行われる処理と同じである。そして、更新比較画像生成手段１１０ａは、対象物体の３次元形状データ、照明基底データおよび入力画像データ１１にもとづいて、新しい位置姿勢推定値の位置／姿勢に対象物体があるとした場合の入力画像と同一または近似の照明条件での画像を、更新比較画像として生成する。新しい位置姿勢推定値および更新比較画像は、終了判定手段１４０ａに出力される。【００４９】  終了判定手段１４０ａは、図７に示すように、位置姿勢判定部１４１ａと、推定値記憶部１４２ａと、第１の類似度算出部１４５と、第２の類似度算出部１４６と、比較画像記憶部１４７とを含み、コンピュータ１００の制御部および記憶部などによって実現される。【００５０】  第１の類似度算出部１４５は、更新比較画像生成手段１１０ａが生成した更新比較画像と入力画像との第１の類似度（以下、更新後類似度という。）を算出する。第２の類似度算出部１４６は、後述するように比較画像記憶部１４７に記憶されている現在の比較画像と入力画像との第２の類似度（以下、更新前類似度という。）を算出する。【００５１】  位置姿勢判定部１４１ａは、更新後類似度と更新前類似度とを比較することにより、比較画像生成手段１１０および更新比較画像生成手段１１０ａが比較画像および更新比較画像を生成する際に仮定した対象物体の位置／姿勢が適切であるか否かを判定する。すなわち、更新後類似度が更新前類似度より大きい場合には、現在の位置／姿勢が適切でないと判定し、更新後類似度が更新前類似度より大きくない（等しいまたは小さい）場合には、適切であると判定する。判定結果は推定値記憶部１４２ａおよび比較画像記憶部１４７に出力される。【００５２】  比較画像記憶部１４７は、現在の比較画像を記憶する。最初は比較画像生成手段１１０が生成した比較画像を記憶し、その後は更新比較画像生成手段１１０ａが生成した更新比較画像を記憶する。位置姿勢判定部１４１ａによって現在の位置／姿勢が適切でないと判定されたときに、比較画像記憶部１４４は記憶内容を新しい更新比較画像に更新するとともに、新しい更新比較画像を画像変位分布検出手段１２０に出力する。【００５３】  推定値記憶部１４２ａは、現在の位置姿勢推定値を記憶する。具体的には、位置姿勢推定値の初期値として位置姿勢初期値１２を記憶し、その後は更新比較画像生成手段���１０ａが算出した新しい位置姿勢推定値を記憶する。位置姿勢判定部１４１ａによって現在の位置／姿勢が適切でないと判定されたときに、推定値記憶部１４２ａは記憶内容を新しい位置姿勢推定値に更新する。これに対し、位置姿勢判定部１４１ａによって現在の位置／姿勢が適切であると判定されたときには、推定値記憶部１４２ａは現在の位置姿勢推定値を最適位置姿勢推定値１３として出力し、処理を終了する。【００５４】  図８は、物体位置姿勢推定システムが行う対象物体の位置姿勢推定処理の他の例を示す流れ図である。図８において、ステップＳ１０からステップＳ１５までの処理は、第１の実施例と同様である。図８に示すように、本実施例では、第１の実施例で示した処理に加えてステップＳ２０−Ｓ２２の処理が実行され、ステップＳ２３の状態判定処理の処理内容が第１の実施例と異なる。【００５５】  ステップＳ１５において位置姿勢差分値が算出されると、更新比較画像生成手段１１０ａは、位置姿勢差分値を現在の位置姿勢推定値に加算して新しい位置姿勢推定値を算出する。更新比較画像生成手段１１０ａは、対象物体の３次元形状データ、照明基底データおよび入力画像データ１１にもとづいて、新しい位置姿勢推定値の位置／姿勢に対象物体があるとした場合の入力画像と同一または近似の照明条件での画像を、更新比較画像として生成する（ステップＳ２０）。なお、後述するように、新しい位置姿勢推定値および更新比較画像を、以後の処理で用いるデータとして採用するか否かは、更新前後の各画像の類似度を比較することによって終了判定手段１４０ａによって決定される。【００５６】  終了判定手段１４０ａにおいて、第１の類似度算出部１４５は、更新比較画像生成手段１１０ａが生成した更新比較画像と入力画像との類似度、すなわち更新後類似度を算出する（ステップＳ２１）。また、第２の類似度算出部１４６は、現在の位置姿勢推定値にもとづく現在の比較画像と入力画像との類似度、すなわち更新前類似度を算出する（ステップＳ２２）。【００５７】  位置姿勢判定部１４１ａは、更新後類似度と更新前類似度とを比較する。その結果、更新後類似度が更新前類似度より大きい場合には、位置姿勢判定部１４１ａは、現在の位置／姿勢が適切でないと判定し（ステップＳ２３，ＮＯ）、更新比較画像生成手段１１０ａが算出した新しい位置姿勢推定値を現在の位置姿勢推定値に置き換えて、以後の処理に用いる位置姿勢推定値に決定する（ステップＳ１８）。また、この場合、更新比較画像生成手段１１０ａが算出した更新比較画像を現在の比較画像に置き換えて、以後の処理に用いる比較画像に決定する。そして、コンピュータ１００は、更新後類似度が更新前類似度より大きくなくなるまで、ステップＳ１４、Ｓ１５、Ｓ２０、Ｓ２１、Ｓ２２、Ｓ２３、Ｓ１８の処理を繰り返し実行する。【００５８】  更新後類似度が更新前類似度より大きくない場合には、位置姿勢判定部１４１ａは、現在の位置／姿勢が適切であると判定し（ステップＳ２３，ＹＥＳ）、現在の位置姿勢推定値（更新前の位置姿勢推定値）を、最終的な最適位置姿勢推定値１３として出力し（ステップＳ１７）、処理を終了する。【００５９】  以上のように、本実施例によれば、処理���は増加するが、第１の実施例と比較して、位置姿勢差分値が小さくなっても比較画像がより入力画像に近くなるように推定処理を行うことができる。従って、第１の実施例と比較して、位置姿勢推定値を更に絞り込むことができ、最終的な位置姿勢推定値の精度を高めることができる。
【実施例３】
【００６０】  次に、本発明の第３の実施例を図面を参照して説明する。図９は、物体位置姿勢推定システムの構成の更に他の例を示すブロック図である。図９に示すように、物体位置姿勢推定システムは、第１の実施例で示した構成のうち、画像入力手段１８０に代えて画像入力手段１８０ａを、また終了判定手段１４０に代えて姿勢更新手段１４０ｂを用いたものである。【００６１】  本実施例では、位置／姿勢を推定する対象物体が含まれる画像が静止画像ではなく動画像であり、物体位置姿勢推定システムは、対象物体が移動するのに従って随時位置姿勢推定値を連続して出力する。本実施例において、画像入力手段１８０ａは、ビデオカメラなどの動画像の撮像手段によって実現される。また、姿勢更新手段１４０ｂは、コンピュータ１００の制御部および記憶部などによって実現される。なお、本実施例では、対象物体が人物の顔である場合を例に説明する。また、他の構成要素については、第１の実施例と同様である。【００６２】  図１０は、物体位置姿勢推定システムが行う対象物体の位置姿勢推定処理の更に他の例を示す流れ図である。図１０に示すように、本実施例では、第１の実施例における処理に加えて、動画像に含まれる静止画像（フレーム画像）のうち各処理時点でのフレーム画像（最新のフレーム画像）を取り込むステップＳ３０の処理が実行され、またステップＳ１６の状態判定処理に代えてステップＳ３１の姿勢更新処理が実行される。【００６３】  第１の実施例と同様に、照明基底データを生成すると、照明基底計算手段１６０は、３次元形状データおよび照明基底データを３次元モデル記憶手段１７０に記憶させる（ステップＳ１０）。ユーザは、動画像を見ながら動画像に含まれる最初のフレーム画像中の人物の顔のおおまかな位置／姿勢を入力指示する。画像入力手段１８０ａは、ユーザによって入力指示された大まかな位置／姿勢を、位置姿勢初期値１２としてコンピュータ１００に出力する（ステップＳ１２）。【００６４】  比較画像生成手段１１０は、画像入力手段１８０ａから、現時点でのフレーム画像を入力画像データ１１ａとして取り込む（ステップＳ３０）。そして、第１の実施例と同様に、比較画像生成手段１１０が比較画像を生成し（ステップＳ１３）、画像変位分布検出手段１２０が画像変位分布を検出し（ステップＳ１４）、姿勢差分計算手段１３０が姿勢差分値を算出する（ステップＳ１５）。なお、ステップＳ１３からステップＳ１５までの処理内容は、第１の実施例と同様である。【００６５】  姿勢更新手段１４０ｂは、姿勢差分計算手段１３０が算出した位置姿勢差分値を現在の位置姿勢推定値に加算して、位置姿勢推定値の値を更新する（ステップＳ３１）。この場合に、姿勢更新手段１４０ｂは、更新した位置姿勢推定値を、更新ごとに現時点での最適位置姿勢推定値１３として出力する。そして、コンピュータ１００は、動画像が終了するまで、ステップＳ３０、Ｓ１３、Ｓ１４、Ｓ１５、Ｓ３１の処理を繰り返し実行する。【００６６】  以上のように、本実施例によれば、位置／姿勢が時間の経過とともに変化する移動中の対象物体の位置／姿勢を、リアルタイムに推定することができる。また、常に現在の位置姿勢推定値にもとづき生���した比較画像と、現在の動画像に含まれるフレーム画像とを比較して位置姿勢を更新するので、誤差の蓄積がなく高精度に長時間の位置／姿勢の推定処理を行うことができる。
【実施例４】
【００６７】  次に、本発明の第４の実施例を図面を参照して説明する。図１１は、物体位置姿勢推定システムの構成の更に他の例を示すブロック図である。図１１に示すように、物体位置姿勢推定システムは、第１の実施例で示した構成に加えて、特徴抽出手段１９０を含む。なお、他の構成要素については、第１の実施例と同様である。【００６８】  特徴抽出手段１９０は、コンピュータ１００の制御部などによって実現される。また、特徴量抽出手段は、特徴抽出手段１９０によって実現される。【００６９】  図１２は、物体位置姿勢推定システムが行う対象物体の位置姿勢推定処理の更に他の例を示す流れ図である。本実施例では、画像変位分布を検出する際に、比較画像と入力画像との画像の輝度値を直接比較して画像のずれを検出するのではなく、位置ずれの検出に適した画像特徴量をフィルタを用いて抽出し画像変位検出を行う。本実施例では、画像特徴量としてエッジ特徴量を用いる場合を説明する。なお、エッジ特徴量ではなく、画像特徴量として、ガボール特徴量など他の特徴量を用いてもよい。【００７０】  図１２において、ステップＳ１０からステップＳ１３までの処理は、第１の実施例と同様である。比較画像生成手段１１０が比較画像を生成すると、特徴抽出手段１９０は、比較画像および入力画像のそれぞれについて、画像特徴量として、エッジ検出フィルタを用いてエッジ画像を生成する（ステップＳ４０）。【００７１】  特徴抽出手段１９０は、画像の縦方向に対するエッジ検出フィルタと、画像の横方向に対するエッジ検出フィルタとを備える。ステップＳ４０において、特徴抽出手段１９０は、縦方向および横方向のエッジ検出フィルタをそれぞれ別々に用いて、比較画像についての縦方向のエッジ画像（以下、縦エッジという。）および横方向のエッジ画像（以下、横エッジという。）と、入力画像についての縦エッジおよび横エッジとを生成する。すなわち、特徴抽出手段１９０は、ステップＳ４０において、４つのエッジ画像を生成する。【００７２】  画像変位分布検出手段１２０は、比較画像の縦エッジおよび横エッジを所定の大きさの部分ごとに細かく分割して、部分エッジ画像を生成する。画像変位分布検出手段１２０は、各部分エッジ画像を、それぞれ入力画像の縦エッジおよび横エッジと重ね合わせて比較し、画面上でいずれの方向に動かすと最も類似度が大きくなるかを調べ、類似度が大きくなる方向を画像変位分布として出力する（ステップＳ４１）。【００７３】  ステップＳ４１において、縦方向のエッジ画像同士を比較すると横方向の画像のずれが明確であるので、画像変位分布検出手段１２０は、比較画像および入力画像の縦エッジ同士を比較することによって、横方向の画像変位を検出する。また、横方向のエッジ画像同士を比較すると縦方向の画像のずれが明確であるので、画像変位分布検出手段１２０は、比較画像および入力画像の横エッジ同士を比較することによって、縦方向の画像変位を検出する。このように、それぞれの方向の位置ずれを検出するために最適な画像特徴量を用いることによって、画像変位分布の検出精度を向上させることができる。【００７４】  なお、ステップＳ１５からステップＳ１８の処理は、第１の実施例と同様で��る。【００７５】  以上のように、本実施例によれば、部分ごとの画像の位置ずれである画像変位を検出するために、比較画像と入力画像との画像の輝度値を直接比較するのでなく、輝度値よりも位置ずれを敏感に検出できる画像特徴量を用いる。そのため、輝度値を用いる場合と比較して、高精度に画像変位を検出することができる。従って、算出する位置姿勢差分値の精度を向上させることができ、最終的に得られる位置姿勢推定値の精度を向上させることができる。
【実施例５】
【００７６】  次に、第１の実施例の具体例を第４の実施例として説明する。本実施例では、物体位置姿勢推定システムは、あらかじめ登録する対象物体の３次元形状を計測するための３次元形状計測装置２００、位置／姿勢を推定する対象物体が含まれる被写体を撮像するカメラ３００、およびデータ処理装置／データ記憶装置としてパーソナルコンピュータ（コンピュータ１００）を備える。なお、本実施例では、位置／姿勢を推定する対象物体が人物の顔である場合を説明する。【００７７】（３次元形状データ登録処理）まず、システムの準備段階の処理であるステップＳ１０の３次元形状データの登録処理について説明する。図５に示す３次元形状データの登録処理では、前述のように、位置／姿勢を推定する対象物体（本例では、特定の人物の顔）の３次元形状と、対象物体の表面の任意の照明条件による輝度値の変動を示す照明基底データとがコンピュータ１００が備える記憶装置にあらかじめ記憶される。【００７８】  ユーザは、３次元形状計測装置２００を操作して、顔の３次元形状および表面反射率の計測を指示する。そして、データ処理用のコンピュータ１００は、３次元形状計測装置２００から、３次元形状データおよび表面反射率データ（または、表面反射率データに相当する画像データ）を取り込む。【００７９】  コンピュータ１００は、３次元形状データと表面反射率データ（または画像データ）とにもとづいて、顔表面の輝度の照明変動を示す照明基底群を算出する。そして、コンピュータ１００は、算出した照明基底群を照明基底データとして記憶装置などに記憶させる。この場合に、コンピュータ１００は、以下に示す技術を用いて照明基底群を生成する。なお、照明基底群の生成技術は本例で示すものに限らず、後述する比較画像生成のアルゴリズムに応じて様々な照明基底群の生成技術が利用可能である。【００８０】  また、ステップＳ１０の３次元形状データの登録処理およびステップＳ１３の比較画像生成処理において、本実施例では、照明条件の変動を補正する方法について説明するが、照明条件の変化が小さいかまたは変化がない場合には、補正処理を行わなくてもよい。この場合、コンピュータ１００は、照明基底群の算出処理を行わず、対象物体の表面の各点の輝度値をそのまま記憶装置などに記憶させてもよい。【００８１】  ３次元形状データの表面に対して、照明基底テクスチャを計算するためのテクスチャ座標系を以下のように定義する。本例では、３次元形状データは、対象物体の重心を原点とする３次元座標（ｘ，ｙ，ｚ）として、物体表面のそれぞれの点の座標データを含む。すなわち、３次元形状データは、物体表面の各点の座標データの集合である。この場合に、物体重心を中心とする物体を囲む球面を定め、その球表面への点Ｐの投影点をＱとしたときの点Ｑの経度および緯度（ｓ，ｔ）が、物体表面の各点Ｐのテクスチャ座標と定義される。なお、照明基底群を算出するために、物体形状に合わせて他の様々な座標系を用いてもよい。【００８２】  コンピュータ１００は、様々な照明条件ｉの下で物体表面の各点の輝度Ｉｉ（ｓ，ｔ）を算出する。照明条件を設定する方法として、例えば、１つの点光源を無限遠においたと仮定し、経度および緯度をそれぞれマイナス９０度からプラス９０度まで１０度間隔に変化させて得られる１９×１９＝３６１個の方向ベクトルＬｉにもとづいて、光が照射されている照明条件を設定する。なお、照明が照射される方向や照射方向の数は、任意に設定されてよい。この場合の物体表面各点の輝度Ｉｉ（ｓ，ｔ）は、法線ベクトルをＮ（ｓ，ｔ）、表面反射率データをｒ（ｓ，ｔ）とすると、数式１によって算出される。【００８３】
【数１】
0004349367.tif 000002
【００８４】  ここで、Ｓ（ｓ，ｔ，Ｌｉ）は、キャストシャドウ（影）を表す項である。Ｓ（ｓ，ｔ，Ｌｉ）は、各点（ｓ，ｔ）から方向ベクトルＬｉの無限遠にある光源との間に物体表面がある場合には値が０となり（影になるので輝度値が０となる）、物体表面がない場合には値が１となる。なお、この影を判定する方法は、コンピュータグラフィクスの分野で周知技術である光線追跡（レイ・トレーシング）などの方法を用いて実現することができる。【００８５】  次に、コンピュータ１００は、任意の照明条件の下での物体表面の輝度値を再現することができる基底テクスチャ群を算出する。コンピュータ１００は、数式１を用いて算出した方向Ｌｉ（Ｌｉはベクトル）の点光源の下での物体表面各点（ｓ，ｔ）の輝度値の値を、全ての点について順番に並べたベクトルを生成する。この輝度値を順番に並べたベクトルをサンプルテクスチャＩｉ（Ｉｉはベクトル）とする。すると、サンプルテクスチャ群｛Ｉｉ｝（ｉ＝１，２，．．．，３６１）の共分散行列Ｖは、数式３で算出することができる。なお、数式３におけるＳは、サンプルテクスチャ群｛Ｉｉ｝（ｉ＝１，２，．．．，３６１）を示し、数式２によって表される。【００８６】
【数２】
0004349367.tif 000003
【００８７】  コンピュータ１００は、共分散行列Ｖの固有値（σｊ）と固有ベクトル（Ｇｊ）とを、固有値の大きい順に１０個算出する。この場合、コンピュータ１００は、固有ベクトル群｛Ｇｊ｝（ｊ＝１，２，…，１０）を照明基底群として生成し、記憶装置などに記憶させる。なお、１０個算出するとしたのは一例であり、１０個より多くの固有値および固有ベクトルを算出してもよく、また１０個より少ない固有値および固有ベクトルを算出するようにしてもよい。【００８８】  なお、以上に示した照明基底群の算出方法が、例えば、文献２に記載されている。【００８９】  次に、物体位置姿勢推定システムが、物体の位置／姿勢を画像にもとづいて推定する処理について順に説明する。【００９０】（画像入力処理）ユーザは、カメラ３００などの撮像装置を操作して、位置／姿勢を推定したい対象物体の画像を撮影する。そして、コンピュータ１００は、カメラ３００からの入力画像データを取り込む。なお、カメラ３００を用いて撮影した画像を取り込むのでなく、コンピュータ１００は、記憶媒体から画像データを読み込んでもよく、また、通信ネットワークを介して他のコンピュータなどから画像データを受信して読み込んでもよい。【００９１】  本実施例では、対象物体は、カメラ３００に対してほぼ正面を向いているが、上下左右に１０度程度の姿勢変動があるものとする。また、対象物体は、カメラ３００から約５０ｃｍの場所に位置しているものとする。そして、対象物体（本例では、人物の顔）は、カメラ３００のほぼ中央に位置するが、位置の変動が１０ｃｍ程度あるものとする。本実施例では、位置姿勢初期値として、対象物体が方面向きでカメラ３００の画面の中央に位置し、距離が５０ｃｍである場合の値を常に用いるものとする。【００９２】（比較画像生成処理）コンピュータ１００は、あらかじめ記憶装置などが記憶する３次元形状データと照明基底データとを読み込む。そして、コンピュータ１００は、現在の位置姿勢推定値の位置／姿勢に対象物体がある場合の入力画像と同じ照明条件での対象物体の画像を比較画像として生成する。この場合に、コンピュータ１００は、以下に示す技術を用いて比較画像を生成する。なお、比較画像の生成技術は本例で示すものに限らず、照明基底データの算出に用いた方法に応じて様々な比較画像の生成技術が利用可能である。【００９３】  物体表面の点の３次元データの座標を［Ｘ  Ｙ  Ｚ  １］、その点に対応する比較画像上の座標を［Ｕ  Ｖ］、その斉次座標を［ｕ  ｖ  ｗ］、カメラ３００の内部パラメータ（画素のサイズおよび画像中心）を示す３×３行列をＫ、物体の位置の平行移動を示すベクトルをＴ、および物体の姿勢変動を示す回転行列をＲとする。すると、斉次座標を［ｕ  ｖ  ｗ］は数式５を用いて算出され、座標［Ｕ  Ｖ」は数式４を用いて算出される。なお、数式４における行列Ｍは、物体の回転と平行運動の運動量を示す行列であり、数式６を用いて算出される。【００９４】
【数３】
0004349367.tif 000004
【００９５】
【数４】
0004349367.tif 000005
【００９６】
【数５】
0004349367.tif 000006
【００９７】  コンピュータ１００は、数式４、数式５および数式６を用いて３次元形状データの各点の画像上での座標［Ｕ  Ｖ］を算出することによって、画像の中での背景部分を除いた対象物体の部分に対応する画素を決定する。そして、コンピュータ１００は、それらの各画素が３次元形状データに含まれる各点のうちのどの点に対応するかを決定する。【００９８】  ここで、画像中に対象物体に対応する画素がａ個存在したとすると、それらａ個の画素の輝度値を縦に並べたベクトルを比較画像ベクトルＩｃとする。また、入力画像中の同じ画素位置のａ個の画素の輝度値を縦に並べたベクトルを入力画像ベクトルＩｑとする。また、比較画像ベクトルの第ｂ要素に対応する３次元形状データの点の番号を示す関数をｃ（ｂ）（ただし、ｂ＝１，２，．．．，ａ）とすると、投影行列Γは、第（ｂ，ｃ（ｂ））要素が１であり、それ以外の要素が０である行列として定義できる。この場合に、現在の位置姿勢推定値に対する画像照明基底群｛Ｂｉ｝（ｉ＝１，２，．．．，１０）は、照明基底群｛Ｇｉ｝にもとづいて、数式７を用いて算出される。【００９９】
【数６】
0004349367.tif 000007
【０１００】  比較画像Ｉｃ（Ｉｃはベクトル）は、画像照明基底群｛Ｂｉ｝の線形結合のうちで最も入力画像Ｉｑ（Ｉｑはベクトル）に近似した画像として、数式８および数式９を用いて算出される。【０１０１】
【数７】
0004349367.tif 000008
【０１０２】  なお、以上に示した比較画像の生成方法が、例えば、文献２に記載されている。【０１０３】  生成した比較画像の画素のうち、物体表面に対応しない画素（すなわち、背景部分に該当する画素）については輝度値を決定できないので、コンピュータ１００は、処理対象から除外して以下の処理を行う。【０１０４】  なお、本実施例では、照明条件の変動を補正する方法について説明したが、照明条件の変化が小さいかまたは変動がない場合には、これらの処理を行わなくてもよい。また、この場合に、コンピュータ１００は、画像照明基底群Ｂｉ（ｉ＝１，２，．．．，１０）の計算を行わずに、あらかじめ記憶してある物体表面の輝度値を関数ｃ（ｂ）を用いて並べ替えたものを、比較画像ベクトルＩｃとして算出してもよい。【０１０５】（画像変位分布検出処理）次に、コンピュータ１００は、以下に示す方法を用いて、比較画像と入力画像との間の部分領域ごとの画像変位分布を検出する。なお、画像変位分布を検出する方法は、本実施例で示す方法に限られず、オプティカルフローを用いた画像変位検出方法として提案されている他の様々な技術を適用可能である。【０１０６】  図１３は、比較画像と入力画像との間の画像変位分布を検出する処理の一例を示す説明図である。コンピュータ１００は、図１３に示すように、比較画像を所定の大きさの部分ごとに細かく分割した部分画像を生成し、部分比較画像群を生成する。ここで、入力画像のサイズが１００×１００画素であり、部分比較画像として分割する部分画像のブロックサイズが１０×１０画素であるとする。また、部分比較画像を切り出すブロックの間隔を２０画素とする。この場合に、コンピュータ１００は、比較画像から図１３に示すような四角形の領域を部分比較画像群として抽出する。【０１０７】  また、抽出したこれらの部分比較画像のうち、物体表面を含んでいる画像は１４ブロックであるので、コンピュータ１００は、図１３に示すように、それら１４個の部分比較画像を抽出する。なお、抽出する際のブロックのサイズ、ブロック間隔、画像の解像度などは本例で示した場合に限られない。例えば、システムの処理能力や要求される位置／姿勢の推定精度などに応じて変更可能としてもよい。また、コンピュータ１００は、比較画像を分割するのでなく、入力画像を分割した部分画像群を用いて画像変位分布の検出を行ってもよい。【０１０８】  コンピュータ１００は、抽出した各部分比較画像を、それぞれ入力画像の同じ位置に重ね合わせて同じサイズで抽出した部分入力画像と比較した場合に、画像上でいずれの方向へ動かすと最も類似度が大きくなるかを調べ、類似度が大きくなる方向を画像変位分布として出力する。この場合、コンピュータ１００は、比較画像のうち物体表面を含まない背景画像は用いずに、物体表面を含み輝度値が算出されている画素のみを用いて類似度を計算する。【０１０９】  本実施例では、類似度の尺度として輝度値の平均絶対誤差（輝度値の差分の絶対値の総和を画素数で除算した値）の逆数を用いる場合を説明する。なお、類似度の尺度としてエッジ検出や他の特徴量変換により求めた数値を用いる方法など、他の画像比較方法を用いてもよい。【０１１０】  また、本実施例で���、コンピュータ１００は、画像変位の検出方法として、高速に変位を検出するために、ｕ方向とｖ方向のそれぞれプラス方向およびマイナス方向に隣接１画素分づつずらした場合の類似度を算出する。なお、コンピュータ１００は、画像変位の検出方法としては本実施例で示した方法に限らず、他の画像変位検出方法を用いて類似度を算出してもよい。例えば、コンピュータ１００は、ｕ，ｖ方向にそれぞれ２画素以上づつずらして類似度を算出してもよい、また、コンピュータ１００は、ｕ，ｖ方向に加えてｕ，ｖ方向に対して斜め方向にずらすことによって、合計８方向に画素をずらして類似度を算出してもよい。【０１１１】  本実施例では、コンピュータ１００は、次に示す方法によって、部分比較画像ｊの画像変位を示す２次元ベクトルＤｊを決定する。【０１１２】（１）コンピュータ１００は、ｕのプラス方向およびマイナス方向にそれぞれ１画素分ずらした場合の類似度を算出する。コンピュータ１００は、プラス方向にずらすと類似度が最大になると判断した場合には、ベクトルの第１要素の値を１とする。また、コンピュータ１００は、マイナス方向にずらすと類似度が最大になると判断した場合には、ベクトルの第１要素を−１とする。また、コンピュータ１００は、いずれの方向にもずらさない場合に類似度が最大になると判断した場合には、ベクトルの第１要素を０とする。【０１１３】（２）コンピュータ１００は、ｖのプラス方向およびマイナス方向にそれぞれ１画素分ずらした場合の類似度を算出する。コンピュータ１００は、プラス方向にずらすと類似度が最大になると判断した場合には、ベクトルの第２要素の値を１とする。また、コンピュータ１００は、マイナス方向にずらすと類似度が最大になると判断した場合には、ベクトルの第２要素を−１とする。また、コンピュータ１００は、いずれの方向にもずらさない場合に類似度が最大になると判断した場合には、ベクトルの第２要素を０とする。【０１１４】  以上の手順に従って各２次元ベクトルを算出することによって、コンピュータ１００は、図１３に示すように、１４ブロックの各部分比較画像の画像変位を示す２次元ベクトルを含む画像変位分布ベクトル群｛Ｄｊ｝を、画像変位分布として算出する。なお、図１３において、図中に示す各矢印が各部分比較画像の画像変位を示す２次元ベクトルＤｊを示す。また、矢印ではなくピリオド記号を含む画素については、画像変位を示すベクトルがゼロベクトルであることを示す。【０１１５】  一般に、入力画像の照明条件が時間経過に伴って変化する場合には、比較画像と入力画像との輝度値が異なっているので、画像変位分布ベクトル群｛Ｄｊ｝を精度よく算出することができない。本発明によれば、比較画素生成処理において、照明基底ベクトル群を用いて入力画像と同一または近似の照明条件での比較画像を生成するので、入力画像を撮影したときの照明条件が変動しても、画像変位分布検出処理において、画像変位分布ベクトル群｛Ｄｊ｝を精度よく算出することができる。【０１１６】（姿勢差分計算処理）次に、コンピュータ１００は、生成した画像変位分布と、各小領域に対応する対象物体の３次元形状データの各部分の３次元座標データとにもとづいて、対象物���を画面上で仮想的に動かした場合に、対象物体の各部分が変位分布に最も近くなるように動く３次元運動を算出する。そして、コンピュータ１００は、算出した３次元運動の計算結果を位置姿勢差分値として算出する。【０１１７】  ３次元運動を算出する場合、コンピュータ１００は、比較画像および入力画像をそれぞれ動画のフレーム画像と仮定し、比較画像のフレーム画像および入力画像のフレーム画像の順番に連続する動画像として、画像変位分布をこれらのフレーム画像間の擬似的なオプティカルフローとみなして３次元運動を算出する。コンピュータ１００は、例えば、以下に示すＬｉｅ代数を用いた手法に従って、オプティカルフローにもとづく物体運動推定技術を用いて３次元運動を算出する。【０１１８】  数５に示す行列Ｍは、Ｌｉｅ代数群であるＳＥ（３）群を構成する。ＳＥ（３）は、３つの回転運動と３つの並進運動との合計６つの運動に分解できる。対象物体の位置／姿勢のずれが微少である場合には、行列Ｍは単位行列Ｉに近くなるので、Ｍ＝Ｉの近傍での微分を行うことによって数式１０に示す６行列が得られる。数式１０に示す各行列は、ＳＥ（３）のＬｉｅ代数でありＭ＝Ｉ近傍での行列Ｍの増分を示す線形ベクトル空間の基底となる。【０１１９】
【数８】
0004349367.tif 000009
【０１２０】  ここで、運動が微少である場合には、行列Ｍは数式１１に示す｛Ｍｉ｝の線形和で近似できる。【０１２１】
【数９】
0004349367.tif 000010
【０１２２】  コンピュータ１００は、画像変位分布検出処理において算出した画像変位分布にもとづいて係数αｉを算出することによって、運動量を示す行列Ｍ、すなわち位置／姿勢のずれの量（ずれの方向）を算出することができる。【０１２３】  各運動モードｉの方向に位置／姿勢を変化させた場合の物体表面上の各点の画像座標の偏微分は、数式１２を用いて算出される。【０１２４】
【数１０】
0004349367.tif 000011
【０１２５】  また、物体表面の点の画素座標［Ｕ  Ｖ］の偏微分は、数式１３を用いて筧出される。【０１２６】
【数１１】
0004349367.tif 000012
【０１２７】  数式１３において、Ｏｉ（Ｏｉはベクトル）は、画素座標［Ｕ  Ｖ］を偏微分した量を示す。位置／姿勢を変化させた場合の物体表面の画像上での運動量をｄ（ｄはベクトル）とすると、ｄは、数式１４に示すように、各運動モードｉにおける運動量の線形和として算出される。【０１２８】
【数１２】
0004349367.tif 000013
【０１２９】  数式１４で算出される各点の運動量ｄが画像変位分布に最も近くなるように対象物体の位置姿勢推定値の更新処理を行うことによって、コンピュータ１００は、位置姿勢推定値を入力画像中の正確な対象物体の位置／姿勢の値に、効率的に近づけることができる。そのため、コンピュータ１００は、画像変位分布検出処理において検出した各部分比較画像Ｄｊの画像変位に対して、位置／姿勢の誤差を示すエラーｅを最小化するための係数αｉを、数式１５に示すように最小二乗法を用いて算出する。【０１３０】
【数１３】
0004349367.tif 000014
【０１３１】  ここで、係数αｉを求めるために、数式１２で用いる各部分比較画像ｊの３次元座標［Ｘ  Ｙ  Ｚ」を決定する必要がある。本実施例では、各部分比較画像ｊに含まれる物体表面の点の各３次元座標の重心（平均値）を用いる場合を説明する。３次元座標は、投影行列Γとして算出した比較画像の画素と３次元形状データとの対応関係にもとづいて容易に算出することができる。なお、３次元座標として重心を用いるのでなく、各部分比較画像の中央部に最も近い画素に対応する物体表面の点の３次元座標を用いるなど他の座標値を用いてもよい。【０１３２】  コンピュータ１００は、数式１５を用いて算出した係数αｉと、あらかじめ定めた所定のゲイン定数ｇとにもとづいて、数式１６を用いて位置姿勢差分ΔＭを算出する。【０１３３】
【数１４】
0004349367.tif 000015
【０１３４】  本実施例では、ゲイン定数はｇ＝１の固定値であるとする。なお、ゲイン定数ｇの値を大きくすることによって推定値の探索が速く収束するようにすることができる。また、位置／姿勢の誤差が小さくなるに従いゲイン定数ｇの値を小さくするように制御することによって、対象物体の位置／姿勢の推定精度を向上させることができる。【０１３５】  なお、以上に示した物体運動推定技術が、例えば、「Ｔｏｍ  Ｄｒｕｍｍｏｎｄ，Ｒｏｂｅｒｔｏ  Ｃｉｐｌｌａ，Ｒｅａｌ  Ｔｉｍｅ  Ｆｅａｔｕｒｅ−Ｂａｓｅｄ  Ｆａｃｉａｌ  Ｔｒａｃｋｉｎｇ  Ｕｓｉｎｇ  Ｌｉｅ  Ａｌｇｅｂｒａｓ，″ＩＥＩＣＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｉｎｆｏｒｍａｔｉｏｎ  ａｎｄ  Ｓｙｓｔｅｍｓ″，Ｖｏｌ．Ｅ８４−Ｄ，Ｎｏ．１２，Ｄｅｃｅｍｂｅｒ  ２００１，ｐ．１７３３−１７３８」に記載されている。【０１３６】（終了判定処理）次に、コンピュータ１００は、位置姿勢推定値を更新して位置／姿勢の推定処理を繰り返し実行するか、現在の位置姿勢推定値が十分に正確な推定値であり最適位置姿勢推定値として出力するかを判定する。本実施例では、推定する対象物体の位置／姿勢の許容誤差の値の閾値をあらかじめ定めて、閾値にもとづいて終了判定を行う場合を説明する。なお、終了判定の方法として、本実施例で示す閾値を用いた方法に限られず他の方法を用いてもよい。【０１３７】  位置／姿勢の推定誤差として、平行移動方向および回転方向の許容誤差の閾値をあらかじめ定めてコンピュータ１００が備える記憶装置などに記憶させる。本例では、平行移動方向の許容誤差を５ｍｍとする。また、回転方向については、ｘ軸およびｙ軸周りの許容誤差をそれぞれ１．５度、ｚ軸周りの許容誤差を１度とする。なお、各許容誤差の値は本例で示した場合に限られない。【０１３８】  コンピュータ１００は、位置姿勢差分ΔＭに含まれる平行移動ベクトルと回転行列Ｒとにもとづいて、平行移動量および各軸周りの回転角度を算出する。コンピュータ１００は、算出した平行移動量および回転角度がそれぞれあらかじめ定めた閾値より小さいか否かを判断する。閾値より小さいと判断した場合には、コンピュータ１００は、現在の位置姿勢推定値が十分正確な推定値（すなわち、最適な推定値）であると判断し、現在の位置姿勢推定値を最適位置姿勢推定値として出力し処理を終了する。【０１３９】  平行移動量および回転角度のうちの少なくともいずれか１の値が閾値より小さくないと判断した場合には、コンピュータ１００は、位置姿勢推定値の値を更新して繰り返し推定処理を実行する。コンピュータ１００は、更新後の位置姿勢推定値［Ｒ＊｜Ｔ＊］を現在の位置姿勢推定［Ｒ｜Ｔ］にもとづいて数式１７を用いて算出する。【０１４０】
【数１５】
0004349367.tif 000016
【０１４１】  ここで、数式１７において、Ｅｕｃｌｉｄｅａｎｉｓｅとは、行列を回転移動行列に修正する操作を意味する。例えば、Ｅｕｃｌｉｄｅａｎｉｓｅ（Ｅ）は、行列Ｅを回転移動行列に修正する操作を意味し、特異値分解Ｅ＝ＵＷＶＴにもとづき行列Ｅ’＝ＵＶＴを算出することによって実現される。【０１４２】  コンピュータ１００は、数式１７を用いて算出した更新後の位置／姿勢を示す回転行列および平行移動ベクトルにもとづいて現在の位置姿勢推定を更新し、比較画像生成処理以降の処理を繰り返し実行する。【０１４３】  なお、本実施例では、終了判定を行って位置／姿勢の更新を繰り返し実行する場合を説明したが、終了判定処理を行わずに１度だけ位置姿勢推定値を更新してそのまま処理を終了するようにしてもよい。そのようにすれば、対象物体の位置／姿勢の推定処理をより高速に行うことができる。【０１４４】  また、本実施例では、対象物体の位置および姿勢の両方を推定する物体位置姿勢推定システムについて説明したが、本発明は、対象物体の位置のみを推定する物体位置推定システム、または対象物体の姿勢のみを推定する物体姿勢推定システムとしても適用可能である。
【産業上の利用可能性】
【０１４５】  本発明による物体の状態を推定する推定システムを、画像に写っている物体の位置／姿勢を計測する計測装置に適用することができる。また、位置／姿勢が変化する物体がどのような物体であるかを、画像を用いて識別したり照合するための認識装置に適用することができる。また、ビデオ画像中で移動する物体を、動画像を用いて追跡する追跡装置に適用することができる。さらに、これらの計測装置、認識装置または追跡装置を、コンピュータを用いて実現するためのプログラムなどの用途に適用することができる。
【図１】
0004349367.tif 000017
【図２】
0004349367.tif 000018
【図３】
0004349367.tif 000019
【図４】
0004349367.tif 000020
【図５】
0004349367.tif 000021
【図６】
0004349367.tif 000022
【図７】
0004349367.tif 000023
【図８】
0004349367.tif 000024
【図９】
0004349367.tif 000025
【図１０】
0004349367.tif 000026
【図１１】
0004349367.tif 000027
【図１２】
0004349367.tif 000028
【図１３】
0004349367.tif 000029
【図１４】
0004349367.tif 000030