(57)【要約】【課題】高精度且つ高速に３次元物体を漏れなく認識することができる３次元物体認識装置及び３次元認識方法を提供する。【解決手段】  認識対象である３次元物体３のモデルをあらゆる姿勢に変化させながら、カメラ画像に射影して得た各姿勢での輪郭モデルを格納した輪郭マップ１４及び前記３次元物体３のモデルに含まれる文字等のテクスチャ画像における各姿勢でのテクスチャモデルを格納したテクスチャマップ１５を記憶し、認識対象である３次元物体３を所定方向から撮像手段４により撮影して画像を取得し、取得した原画像に基づいて、該原画像の解像度を異なる比率で低下させたピラミッド画像を作成し、解像度が最も低い前記ピラミッド画像に対して各姿勢での輪郭モデル及びテクスチャモデルをあらゆる位置に移動させながら、前記３次元物体３の位置及び姿勢を評価する。【選択図】図１
2011129082.tif 000002
【特許請求の範囲】
【請求項１】
認識対象である３次元物体を所定方向から撮影して画像を取得する撮像手段と、
認識対象である３次元物体のモデルを前記撮像手段から視認可能な範囲において、あらゆる姿勢に変化させながら、カメラ画像に射影して得た各姿勢でのエッジ点における勾配角度を有する輪郭モデルを格納した輪郭マップ、又は該輪郭マップ及び前記３次元物体のモデルに含まれる文字又は模様等のテクスチャ画像における各姿勢でのエッジ点における勾配角度を有するテクスチャモデルを格納したテクスチャマップを予め記憶する射影モデル画像記憶手段と、
前記撮像手段により取得した原画像に対して前記射影モデル画像記憶手段に記憶された各姿勢での輪郭モデル、又は該輪郭モデル及び前記テクスチャ画像における各姿勢でのテクスチャモデルをあらゆる位置に移動させながら、前記３次元物体の位置及び姿勢を評価する位置・姿勢評価手段と、を備えることを特徴とする３次元物体認識装置。
【請求項２】
前記撮像手段が取得した原画像に基づいて、該原画像の解像度を異なる比率で低下させた複数枚のピラミッド画像を作成するピラミッド画像作成手段を備え、
前記位置・姿勢評価手段は、解像度が最も低い前記ピラミッド画像に対して前記射影モデル画像記憶手段に記憶された各姿勢での輪郭モデル、又は該輪郭モデル及び前記テクスチャ画像における各姿勢でのテクスチャモデルをあらゆる位置に移動させながら、前記３次元物体の位置及び姿勢を評価することを特徴とする請求項１記載の３次元物体認識装置。
【請求項３】
前記撮像手段は、複数設けられており、前記射影モデル画像記憶手段に記憶された第１撮像手段のカメラ画像に射影して得た各姿勢での輪郭マップ及びテクスチャマップを他の撮像手段に関しても参照して利用することを特徴とする請求項１又は２記載の３次元物体認識装置。
【請求項４】
予め勾配ベクトルに対応付けて勾配角度を格納した勾配角度ルックアップテーブルを記憶する勾配角度ルックアップテーブル記憶手段と、
予め前記３次元物体のモデル上の各画素における勾配角度と前記撮像手段により取得した原画像の各画素における勾配角度とに対応付けて両勾配角度の差から類似度を評価する関数の計算結果を格納した類似度評価関数ルックアップテーブルを記憶する評価関数ルックアップテーブル記憶手段と、
前記撮像手段により取得した原画像の各画素に対して勾配ベクトルを算出する勾配ベクトル算出手段と、を備え、
前記位置・姿勢評価手段は、前記勾配ベクトル算出手段により算出された勾配ベクトルを前記勾配角度ルックアップテーブルを参照することにより勾配角度に変換し、該勾配角度を用いて前記類似度評価関数ルックアップテーブルを参照して類似度を算出することにより前記３次元物体の位置及び姿勢を評価することを特徴とする請求項１乃至３のいずれかに記載の３次元物体認識装置。
【請求項５】
認識対象である３次元物体を所定方向から撮影して画像を取得する撮像手段と、
認識対象である３次元物体のモデルを前記撮像手段から視認可能な範囲において、あらゆる姿勢に変化させながら得た各姿勢での各画素に対する奥行きデータを格納したデプスマップを予め記憶する射影モデル画像記憶手段と、
前記撮像手段が取得した原画像に基づいて、前記３次元物体の奥行きデータを算出する奥行き算出手段と、
前記撮像手段が取得した原画像に対して前記射影モデル画像記憶手段に記憶された各姿勢での奥行きデータをあらゆる位置に移動させながら、各画素に対して、前記奥行きデータと前記奥行き算出手段により算出された奥行きデータとの差の自乗平均に基づいて類似度を算出することにより、前記３次元物体の位置及び姿勢を評価する位置・姿勢評価手段と、を備えることを特徴とする３次元物体認識装置。
【請求項６】
認識対象である３次元物体のモデルを撮像手段から視認可能な範囲において、あらゆる姿勢に変化させながら、カメラ画像に射影して得た各姿勢でのエッジ点における勾配角度を有する輪郭モデルを格納した輪郭マップ、又は該輪郭マップ及び前記３次元物体のモデルに含まれる文字又は模様等のテクスチャ画像における各姿勢でのエッジ点における勾配角度を有するテクスチャモデルを格納したテクスチャマップを予め射影モデル画像記憶手段に記憶するステップと、
認識対象である３次元物体を所定方向から前記撮像手段により撮影して画像を取得するステップと、
取得した原画像に対して前記射影モデル画像記憶手段に記憶された各姿勢での輪郭モデル、又は該輪郭モデル及び前記テクスチャ画像における各姿勢でのエッジ点をあらゆる位置に移動させながら、前記３次元物体の位置及び姿勢を評価するステップと、備えることを特徴とする３次元物体認識方法。
【請求項７】
前記撮像手段は、複数設けられており、前記射影モデル画像記憶手段に記憶した第１撮像手段のカメラ画像に射影して得た各姿勢での輪郭マップ及びテクスチャマップを他の撮像手段に関しても参照して利用することを特徴とする請求項６記載の３次元物体認識方法。
【請求項８】
予め勾配ベクトルに対応付けて勾配角度を格納した勾配角度ルックアップテーブルを記憶するステップと、
予め前記３次元物体のモデル上の各画素における勾配角度と前記撮像手段により取得した原画像の各画素における勾配角度とに対応付けて両勾配角度の差から類似度を評価する関数の計算結果を格納した類似度評価関数ルックアップテーブルを記憶するステップと、
前記撮像手段により取得した原画像の各画素に対して勾配ベクトルを算出するステップと、を備え、
前記３次元物体の位置及び姿勢を評価するステップでは、算出した原画像の各画素に対する勾配ベクトルを前記勾配角度ルックアップテーブルを参照することにより勾配角度に変換し、該勾配角度を用いて前記類似度評価関数ルックアップテーブルを参照して類似度を算出することにより前記３次元物体の位置及び姿勢を評価することを特徴とする請求項６又は７記載の３次元物体認識方法。
【請求項９】
認識対象である３次元物体のモデルを撮像手段から視認可能な範囲において、あらゆる姿勢に変化させながら得た各姿勢での各画素に対する奥行きデータを格納したデプスマップを予め射影モデル画像記憶手段に記憶するステップと、
認識対象である３次元物体を所定方向から撮像手段により撮影して画像を取得するステップと、
該撮像手段が取得した原画像に基づいて、前記３次元物体の奥行きデータを算出するステップと、
取得した原画像に対して前記射影モデル画像記憶手段に記憶された各姿勢での奥行きデータをあらゆる位置に移動させながら、各画素に対して、前記奥行きデータと前記奥行き算出手段により算出された奥行きデータとの差の自乗平均に基づいて類似度を算出することにより、前記３次元物体の位置及び姿勢を評価するステップと、を備えることを特徴とする３次元物体認識方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、形状が既知の３次元物体をカメラ等により撮影した２次元画像における輪郭などの特徴から認識する３次元物体認識装置に関する。
【背景技術】
【０００２】
生産ラインにおいてロボットアームによる部品等の正確な操作を可能とするため、山積みにされた部品等を個々に認識し、各部品の位置及び姿勢を認識する３次元物体認識装置が近年開発されている。
【０００３】
従来、このような３次元物体認識装置としては、例えば、入力画像から得られる対象物体の輪郭等の特徴を直線、円弧等に近似したデータであるとともにステレオ計測等で得た３次元位置データを有する特徴データと、対象物体のモデルの三次元位置データとのマッチングにより対象物体の３次元位置姿勢を得るものがある（例えば、特許文献１参照）。この３次元認識装置では、３次元位置姿勢を計算するために必要な３点を形成できる特徴のグループである特徴グループを用いて対象物体の特徴データとモデルの特徴データとのマッチングを行っている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平０９−２１２６４３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１の３次元物体認識装置では、単純なグループ（２つの線分等）ごとにマッチングするため、誤検出が発生しやすくなり、且つ、複雑な形状を認識できないという問題がある。
【０００６】
本発明は、上記のような課題に鑑みてなされたものであって、高精度且つ高速に３次元物体を漏れなく認識することができる３次元物体認識装置及び３次物体認識方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、請求項１記載の３次元物体認識装置は、認識対象である３次元物体を所定方向から撮影して画像を取得する撮像手段と、認識対象である３次元物体のモデルを前記撮像手段から視認可能な範囲において、あらゆる姿勢に変化させながら、カメラ画像に射影して得た各姿勢でのエッジ点における勾配角度を有する輪郭モデルを格納した輪郭マップ、又は該輪郭マップ及び前記３次元物体のモデルに含まれる文字又は模様等のテクスチャ画像における各姿勢でのエッジ点における勾配角度を有するテクスチャモデルを格納したテクスチャマップを予め記憶する射影モデル画像記憶手段と、前記撮像手段により取得した原画像に対して前記射影モデル画像記憶手段に記憶された各姿勢での輪郭モデル、又は該輪郭モデル及び前記テクスチャ画像における各姿勢でのテクスチャモデルをあらゆる位置に移動させながら、前記３次元物体の位置及び姿勢を評価する位置・姿勢評価手段と、を備えることを特徴としている。
【０００８】
請求項２記載の３次元物体認識装置は、前記撮像手段が取得した原画像に基づいて、該原画像の解像度を異なる比率で低下させた複数枚のピラミッド画像を作成するピラミッド画像作成手段を備え、前記位置・姿勢評価手段は、解像度が最も低い前記ピラミッド画像に対して前記射影モデル画像記憶手段に記憶された各姿勢での輪郭モデル、又は該輪郭モデル及び前記テクスチャ画像における各姿勢でのテクスチャモデルをあらゆる位置に移動させながら、前記３次元物体の位置及び姿勢を評価することを特徴としている。
【０００９】
請求項３記載の３次元物体認識装置は、前記撮像手段が、複数設けられており、前記射影モデル画像記憶手段に記憶された第１撮像手段のカメラ画像に射影して得た各姿勢での輪郭マップ及びテクスチャマップを他の撮像手段に関しても参照して利用することを特徴としている。
【００１０】
請求項４記載の３次元物体認識装置は、予め勾配ベクトルに対応付けて勾配角度を格納した勾配角度ルックアップテーブルを記憶する勾配角度ルックアップテーブル記憶手段と、予め前記３次元物体のモデル上の各画素における勾配角度と前記撮像手段により取得した原画像の各画素における勾配角度とに対応付けて両勾配角度の差から類似度を評価する関数の計算結果を格納した類似度評価関数ルックアップテーブルを記憶する評価関数ルックアップテーブル記憶手段と、前記撮像手段により取得した原画像の各画素に対して勾配ベクトルを算出する勾配ベクトル算出手段と、を備え、前記位置・姿勢評価手段は、前記勾配ベクトル算出手段により算出された勾配ベクトルを前記勾配角度ルックアップテーブルを参照することにより勾配角度に変換し、該勾配角度を用いて前記評価関数ルックアップテーブルを参照して類似度を算出することにより前記３次元物体の位置及び姿勢を評価することを特徴としている。
【００１１】
請求項５記載の３次元物体認識装置は、認識対象である３次元物体を所定方向から撮影して画像を取得する撮像手段と、認識対象である３次元物体のモデルを前記撮像手段から視認可能な範囲において、あらゆる姿勢に変化させながら得た各姿勢での各画素に対する奥行きデータを格納したデプスマップを予め記憶する射影モデル画像記憶手段と、前記撮像手段が取得した原画像に基づいて、前記３次元物体の奥行きデータを算出する奥行き算出手段と、前記撮像手段が取得した原画像に対して前記射影モデル画像記憶手段に記憶された各姿勢での奥行きデータをあらゆる位置に移動させながら、各画素に対して、前記奥行きデータと前記奥行き算出手段により算出された奥行きデータとの差の自乗平均に基づいて類似度を算出することにより、前記３次元物体の位置及び姿勢を評価する位置・姿勢評価手段と、を備えることを特徴としている。
【００１２】
請求項６記載の３次元物体認識方法は、認識対象である３次元物体のモデルを撮像手段から視認可能な範囲において、あらゆる姿勢に変化させながら、カメラ画像に射影して得た各姿勢でのエッジ点における勾配角度を有する輪郭モデルを格納した輪郭マップ、又は該輪郭マップ及び前記３次元物体のモデルに含まれる文字又は模様等のテクスチャ画像における各姿勢でのエッジ点における勾配角度を有するテクスチャモデルを格納したテクスチャマップを予め射影モデル画像記憶手段に記憶するステップと、認識対象である３次元物体を所定方向から前記撮像手段により撮影して画像を取得するステップと、取得した原画像に対して前記射影モデル画像記憶手段に記憶された各姿勢での輪郭モデル、又は該輪郭モデル及び前記テクスチャ画像における各姿勢でのエッジ点をあらゆる位置に移動させながら、前記３次元物体の位置及び姿勢を評価するステップと、備えることを特徴としている。
【００１３】
請求項７記載の３次元物体認識方法は、前記撮像手段が複数設けられており、前記射影モデル画像記憶手段に記憶した第１撮像手段のカメラ画像に射影して得た各姿勢での輪郭マップ及びテクスチャマップを他の撮像手段に関しても参照して利用することを特徴としている。
【００１４】
請求項８記載の３次元物体認識方法は、予め勾配ベクトルに対応付けて勾配角度を格納した勾配角度ルックアップテーブルを記憶するステップと、予め前記３次元物体のモデル上の各画素における勾配角度と前記撮像手段により取得した原画像の各画素における勾配角度とに対応付けて両勾配角度の差から類似度を評価する関数の計算結果を格納した類似度評価関するルックアップテーブルを記憶するステップと、前記撮像手段により取得した原画像の各画素に対して勾配ベクトルを算出するステップと、を備え、前記３次元物体の位置及び姿勢を評価するステップでは、算出した原画像の各画素に対する勾配ベクトルを前記勾配角度ルックアップテーブルを参照することにより勾配角度に変換し、該勾配角度を用いて前記類似度評価関数ルックアップテーブルを参照して類似度を算出することにより前記３次元物体の位置及び姿勢を評価することを特徴としている。
【００１５】
請求項９記載の３次元物体認識方法は、認識対象である３次元物体のモデルを撮像手段から視認可能な範囲において、あらゆる姿勢に変化させながら得た各姿勢での各画素に対する奥行きデータを格納したデプスマップを予め射影モデル画像記憶手段に記憶するステップと、認識対象である３次元物体を所定方向から撮像手段により撮影して画像を取得するステップと、該撮像手段が取得した原画像に基づいて、前記３次元物体の奥行きデータを取得するステップと、取得した原画像に対して前記射影モデル画像記憶手段に記憶された各姿勢での奥行きデータをあらゆる位置に移動させながら、各画素に対して、前記奥行きデータと前記奥行き算出手段により算出された奥行きデータとの差の自乗平均に基づいて類似度を算出することにより、前記３次元物体の位置及び姿勢を評価するステップと、を備えることを特徴とする３次元物体認識方法。
【発明の効果】
【００１６】
請求項１及び６記載の発明によれば、予め認識対象である３次元物体のモデルのあらゆる姿勢における輪郭モデルを格納した輪郭マップを記憶しておき、撮像手段により取得した画像に対してこの輪郭モデルをあらゆる位置に移動させながら３次元物体の位置及び姿勢の評価を行う。つまり、輪郭モデルを位置（３自由度）及び姿勢（３自由度）の計６自由度全てにおいて、撮像手段により取得した入力画像と合っているか否かの評価をまんべんなく行うので、高精度に３次元物体の位置及び姿勢を認識することができる。また、輪郭モデルだけでなく、３次元物体に含まれる文字又は模様等のテクスチャ画像における各姿勢でのテクスチャモデルを格納したテクスチャマップを予め記憶しておき、このテクスチャモデルについてもあらゆる位置に移動させながら評価を行うことにより、例えば、直方体等のような輪郭だけでは向きが特定できないような３次元物体についても、その３次元物体に含まれる文字又は模様等のテクスチャが統一されていれば、その向きまで認識することが可能になるので、箱詰め作業等をロボットアーム等を用いて行う際に、部品の向きまで考慮して箱詰め作業等を正確に行うことが可能になる。
【００１７】
請求項２記載の発明によれば、撮像手段が取得した原画像に基づいて、該原画像の解像度を異なる比率で低下させた複数枚のピラミッド画像のうち、まずは解像度が最も低いピラミッド画像に対して、位置及び姿勢の評価を行っていくので、処理速度を高速化させることができる。
【００１８】
請求項３及び７記載の発明によれば、１つの撮像手段に対して輪郭マップ及びテクスチャマップを予め記憶しておけば、他の撮像手段はその輪郭マップ及びテクスチャマップを参照して利用することにより、別途他の撮像手段に対する輪郭マップ及びテクスチャマップを記憶しておく必要がなくなるので、予め記憶しておくデータ量を軽減することができる。
【００１９】
請求項４及び８記載の発明によれば、予め勾配ベクトルに対応付けて勾配角度を格納した勾配角度ルックアップテーブルを記憶する勾配角度ルックアップテーブルと、３次元物体のモデル上の各画素における勾配角度と前記撮像手段により取得した原画像の各画素における勾配角度とに対応付けて両勾配角度の差から類似度を評価する関数の計算結果を格納した類似度評価関数ルックアップテーブルを記憶しておくので、撮像手段により取得した原画像の各画素に対して勾配ベクトルを算出して、勾配角度ルックアップテーブル及び類似度評価関数ルックアップテーブルを参照すれば良く、３次元物体の位置及び姿勢を評価するための演算処理に掛かる時間が短縮されるので、処理速度を向上させることができる。
【００２０】
請求項５及び９記載の発明によれば、予め認識対象である３次元物体のモデルのあらゆる姿勢での各画素に対する奥行きデータを格納したデプスマップを記憶しておき、撮像手段により取得した原画像に対して各姿勢における奥行きデータをあらゆる位置に移動させながら、原画像に基づいて算出した奥行きデータとの差の自乗平均に基づいて類似度を算出することにより、３次元物体の位置及び姿勢の評価を行うので、高精度に３次元物体の位置及び姿勢を認識することができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の第１の実施形態に係る３次元物体認識装置の構成の一例を示す概略模式図である。
【図２】第１の実施形態に係る３次元物体認識装置による処理の流れを示すフローチャートである。
【図３】輪郭マップの作成方法を説明するための説明図である。
【図４】輪郭モデルについて説明するための説明図である。
【図５】探索空間を分割して、輪郭モデルを作成する方法を説明するための説明図である。
【図６】探索空間を分割して、輪郭モデルを作成する方法を説明するための説明図である。
【図７】カメラ座標系とモデル座標系の関係を示す概略模式図である。
【図８】勾配角度ルックアップテーブルの一例を示す概略模式図である。
【図９】類似度評価関数ルックアップテーブルの一例を示す概略模式図である。
【図１０】ピラミッド画像を説明するための説明図である。
【図１１】３次元物体の位置及び姿勢の評価について説明するための説明図である。
【図１２】３次元物体の位置及び姿勢の評価について説明するための説明図である。
【図１３】類似度評価関数ルックアップテーブルの他の一例を示す概略模式図である。
【図１４】第２の実施形態に係る３次元物体認識装置による処理の流れを示すフローチャートである。
【図１５】エッジ抽出を説明するための説明図であって、原画像の一部をピクセルレベルまで拡大した状態を示す図である。
【図１６】第３の実施形態に係る３次元物体認識装置による処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００２２】
以下に本発明に係る３次元物体認識装置１について、図面を参照しつつ説明する。図１に示すように、３次元物体認識装置１は、作業台２の上に載置された認識対象である３次元物体３を認識するためのものであって、この３次元物体３を異なる方向から撮影するための２台のカメラ（撮像手段）４と、３次元物体３を把持するためのロボットアーム５と、各カメラ４から入力された撮影画像に基づいてロボットアーム５の動作を制御するコンピュータ６とを備えるものである。
【００２３】
コンピュータ６は、図１に示すように、カメラ４が撮影した画像データ等を記憶する画像メモリ７と、３次元物体３の認識を行うための処理プログラム等を格納するハードディスク８と、該ハードディスク８から読み出された処理プログラムを一時記憶するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９と、この処理プログラムに従って３次元物体３の位置及び姿勢を算出するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｅｓｓｉｎｇ  Ｕｎｉｔ）１０と、画像メモリ７に記憶された画像データやＣＰＵ１０による算出結果等を表示するための表示部１１と、マウスやキーボード等で構成される操作部１２と、これら各部を互いに接続するシステムバス１３とを有している。尚、本実施形態では、３次元物体３の認識を行う処理プログラムをハードディスク８に格納している例を示しているが、これに代えて、コンピュータ読み取り可能な記憶媒体（不図示）に格納しておき、この記録媒体から処理プログラムを読み出すように構成することも可能である。
【００２４】
以下、３次元物体認識装置１による処理の流れについて図２のフローチャートを用いながら説明する。本実施形態に係る３次元物体認識装置１では、図２に示すように、まずオフラインで輪郭マップ１４及びテクスチャマップ１５を作成し、このような射影モデル画像の記憶手段として機能するＲＡＭ９等に予め記憶しておく（Ｓ１０１）。この輪郭マップの作成方法としては、例えば、図３に示すように、まず３次元物体３の各エッジＥの上にサンプリング点Ａを設定し、各サンプリング点Ａがカメラ４から視認可能であるか否かを判定する。そして、カメラ４から視認可能と判断した各サンプリング点Ａをカメラ画像Ｉ上に射影し、各エッジ点Ｐの座標及びエッジ点Ｐにおける勾配角度を算出する。この作業を図４に示すように、３次元ＣＡＤ等を利用して、予めオフラインでカメラ４の位置等から考えて可能性のある全範囲に渡って、３次元物体３のモデルをあらゆる姿勢（３自由度）に少しずつ細かく変化させながら、繰り返し行う。このようにして得られた各姿勢でのエッジ点における勾配角度を有する輪郭モデル３ａを格納することにより輪郭マップ１４を作成する。この際の輪郭モデル３ａは、認識精度を向上させるために、できる限り細かい姿勢毎にサンプリングしておくことが好ましいが、そのサンプリング数等は特に限定されるものではない。また、テクスチャマップ１５は、図１に示すような３次元物体３に含まれる模様や文字等のテクスチャ３１に対しても同様に、カメラ４から視認可能な範囲において、あらゆる姿勢（３自由度）に少しずつ細かく変化させながら、カメラ画像Ｉ上に射影して得たテクスチャ画像における各姿勢でのエッジ点における勾配角度を有するテクスチャモデルを格納したものである。
【００２５】
また、位置の違いによる姿勢変形の影響を軽減するために、このように輪郭モデル３ａを生成する際に図５，６に示すように、位置については、カメラ４から視認可能な探索空間Ｓを分割して、その中心における輪郭モデル３ａを生成するようにしても良い。図５，６では、３×３の９つに分割した際の例を示しているが、この探索空間Ｓの分割はこれに限定されるものではなく、適宜分割数を設定することができる。
【００２６】
また、１台のカメラ４ａにおける輪郭マップ１４及びテクスチャマップ１５をあらゆる姿勢について生成して記憶しておけば、もう一方のカメラ４ｂに対しては、この輪郭マップ１４及びテクスチャマップ１５を参照して利用することができる。つまり、カメラ４ｂから見た場合の３次元物体３の輪郭モデルは、カメラ４ａにおける輪郭マップ１４に格納されているいずれかの輪郭モデル３ａと対応している。従って、カメラ４ａ、４ｂのお互いの位置及び姿勢がわかれば、カメラ４ａに対する輪郭マップ１４からカメラ４ｂから見た場合の輪郭モデルを参照することができる。例えば、図７に示すような関係にカメラ４ａ、４ｂ、及び３次元物体３のモデルがあった場合には、モデル座標系における座標Ｘ＝［Ｘ  Ｙ  Ｚ］Ｔを左カメラ４ａのカメラ座標系に変換すると、数式（１）のように表される。Ｘｃ＝［Ｘｃ  Ｙｃ  Ｚｃ］Ｔは左カメラ４ａのカメラ座標系における座標を表している。そして、右カメラ４ｂのカメラ座標系における座標では、数式（２）のように表され、このような変換式により、回転行列Ｒ’及び並進移動ベクトルｔ’が計算される。この回転行列Ｒ’がわかれば、輪郭マップ１４のどの回転姿勢を参照すれば良いかが決定され、又、並進移動ベクトルｔ’により探索空間の分割のどの部分を参照すれば良いかが決定されるので、左カメラにおける輪郭マップ１４及びテクスチャマップ１５を記憶しておけば、別途右カメラ４ｂにおける輪郭マップやテクスチャマップを作成しないで済む。これにより、ＲＡＭ９等に記憶するデータ量を軽減することができる。尚、本実施形態では、２台のカメラ４を設けた例を示しているが、単眼でも３台以上のカメラ４を設けるように構成しても良い。３台以上のカメラ４を設ける場合でも、２台のカメラ４の場合と同様に１台のカメラ４に対しての輪郭マップ１４及びテクスチャマップ１５が記憶されていれば、他のカメラ４については、この輪郭マップ１４及びテクスチャマップ１５を参照して利用することができる。
【数１】
2011129082.tif 000003
【数２】
2011129082.tif 000004
【００２７】
また、予め勾配ベクトルに対応つけて勾配角度を格納した勾配角度ルックアップテーブル（以下、勾配角度ＬＵＴとする）１６と、３次元物体３のモデル上の各画素における勾配角度とカメラ４から取得する原画像の各画素における勾配角度とに対応付けて両勾配角度の差から類似度を評価する関数の計算結果を格納した類似度評価関数ルックアップテーブル（類似度評価関数ＬＵＴとする）１７とをＲＡＭ９等に記憶しておく（Ｓ１０２）。
【００２８】
勾配角度ＬＵＴ１６は、例えば、図８に示すように、勾配ベクトル（Ix、Iy）１６ａに対応つけて勾配角度１６ｂを格納したものであり、整数の精度での勾配ベクトル（Ix、Iy）１６ａに対する勾配角度１６ｂが参照できるようになっている。類似度評価関数ＬＵＴ１７は、例えば、図９に示すように、３次元物体３のモデル上の各画素における勾配角度θｍ１７ａと勾配角度ＬＵＴ１６を参照して得られるカメラ４から取得する原画像の各画素における勾配角度θｃ１６ｂとに対応付けて両勾配角度の差から類似度Ｅを評価する関数の計算結果を格納したものであり、例えば、類似度Ｅを評価する関数である数式（３）等を用いた計算結果を予め格納しておくものである。但し、数式（３）におけるθmは３次元物体３のモデル上の画素における勾配角度、θcはカメラ４から取得する原画像の画素における勾配角度、τは閾値を表している。この数式（３）では、両勾配角度の差が小さいときには、関数は１に近い数字を出力し、差が大きくなるにつれて０に近づくような結果を出力する。そして、両勾配角度の差の絶対値が予め設定された閾値τより大きくなる場合には、０を出力結果とするものである。尚、この数式（３）は、勾配角度の差から類似度を評価する関数の一例であり、類似度を評価する関数はこれに限れるものではない。
【数３】
2011129082.tif 000005
【００２９】
次に、カメラ４により認識対象となる３次元物体３を撮影する（Ｓ１０３）。そして、カメラ４から３次元物体３を撮影した原画像が入力されると、ＣＰＵ１０は、この入力された原画像に基づいて、複数枚のピラミッド画像１８を作成し（Ｓ１０４）、図１に示す画像メモリ７に記憶する。
【００３０】
図１０は、ピラミッド画像を説明するための説明図である。このピラミッド画像１８は、カメラ４により撮影されて得られた原画像１９の解像度を所定の比率で低下させたものである。例えば、ＣＰＵ１０は、縦横両方向にそれぞれｎ個ずつのピクセルが並んだ原画像１９が入力された場合、縦横両方向にそれぞれｎ／２個のピクセルが並んだ第１ピラミッド画像１８Ａ、縦横両方向にそれぞれｎ／４個のピクセルが並んだ第２ピラミッド画像１８Ｂ、縦横両方向にそれぞれｎ／８個のピクセルが並んだ第３ピラミッド画像１８Ｃを作成する。尚、本実施例では、図１０に示すように３段階のピラミッド画像１８を作成しているが、この段階数は入力画像の大きさに応じて適宜変更することができる。
【００３１】
次に、ＣＰＵ１０は、各ピラミッド画像１８の各画素に対して各画素の濃度が変化する方向と大きさを示す勾配ベクトルを整数の精度で算出し（Ｓ１０５）、その算出結果をＲＡＭ９等に格納する。
【００３２】
次に、ＣＰＵ１０は、解像度が最も低い第３ピラミッド画像１８Ｃに対して、図１１に示すように輪郭マップ１４に格納された輪郭モデル３ａ及びテクスチャマップ１５に格納されたテクスチャモデル３１ａを第３ピラミッド画像１８Ｃの解像度に合わせて粗くしたものをあらゆる位置（３自由度）に移動させながら、３次元物体３の位置及び姿勢を評価する（Ｓ１０６）。尚、Ｚ方向に対しては、図１２に示すように、輪郭モデル３ａのスケールを拡大及び縮小させることによって探索を行う。この３次元物体３の位置及び姿勢の評価では、まずＳ１０５の処理で算出された勾配ベクトル（Ix(u,v），Iy(u,v))を式（４）に示す参照式を用いて、図８に示すような予めオフラインで生成した勾配角度ＬＵＴ１６を参照させることにより、勾配角度θｃ１６ｂに変換させる。尚、IxもIyも予め設定した設定値より小さい画素に対しては、評価を行わないように、例えば、ＬＵＴ１６＝Ａのように所定の値を返すようにしておく。
【数４】
2011129082.tif 000006
【００３３】
次に、この各勾配角度θｃ１６ｂを式（５）に示す参照式を用いて、図９に示すような予めオフラインで生成した類似度評価関数ＬＵＴ１７を参照させることにより、数式（３）を用いた勾配角度θｃ１６ｂと３次元物体のモデル上の各画素における勾配角度θｍ１７ａとの差から類似度Ｅを求めた計算結果を得る。これを数式（６）に示すように、式（５）を参照することにより得られる各画素における類似度Ｅの和の平均を計算することにより、類似度を算出し、３次元物体の位置及び姿勢を評価する。但し、ａ（ｕ，ｖ）は、モデル上の各画素における勾配角度を表すものである。
【数５】
2011129082.tif 000007
【数６】
2011129082.tif 000008
【００３４】
そして、その評価結果に基づき、位置及び姿勢が必要な精度を満たしているか否かを判定し（Ｓ１０７）、必要な精度を満たしていると判断した場合は（Ｓ１０７：ＹＥＳ）、その結果を最終結果として出力し（Ｓ１０８）、処理を終了する。一方、必要な精度を満たしていないと判断した場合は（Ｓ１０７：ＮＯ）、まだ位置及び姿勢を評価していない高解像度のピラミッド画像１８があるか否かを判定し（Ｓ１０９）、そのような未処理のピラミッド画像１８がないと判断した場合は（Ｓ１０９：ＮＯ）、第３ピラミッド画像１８Ｃの結果を最終結果として出力し（Ｓ１０８）、処理を終了する。一方、未処理のピラミッド画像１８があると判断した場合は（Ｓ１０９：ＹＥＳ）、Ｓ１０６へ戻って残りのピラミッド画像１８について同様の処理を行う。この場合、１回目の位置及び姿勢の評価でおおよそ３次元物体３の位置及び姿勢を認識しているので、より高解像度のピラミッド画像１８においては、予めその近辺を探索しながら位置及び姿勢の評価を行っていく。そして、未処理のピラミッド画像１８が無くなるまでこれを繰り返す。このように、必要な精度に達するまで、より解像度の高いピラミッド画像１５について処理を行うことにより、３次元物体３の位置及び姿勢をより高い精度で認識することができる。本実施形態では、このようにピラミッド画像を作成して解像度を低下させておくことにより、探索の高速化を図ることができる。また、予めオフラインで生成した勾配角度ＬＵＴ１６及び類似度評価関数ＬＵＴ１７を参照するので、３次元物体の位置及び姿勢を評価するための演算処理に掛かる時間が短縮され、より処理速度を向上させることができる。尚、本実施形態では、ピラミッド画像に対して位置及び姿勢の評価を行っていく例を用いて説明したが、当然原画像に対して同様の手法により位置及び姿勢の評価を行うことも可能である。
【００３５】
尚、本実施形態では、図９に示すようなマトリクス状の類似度評価関数ＬＵＴ１７を参照して類似度Ｅを求めているが、この類似度評価関数ＬＵＴ１７の代わりに、図１３に示すように、勾配角度ＬＵＴ１６を参照して得られるカメラ４から取得する原画像の各画素における勾配角度θｃと３次元物体３のモデル上の各画素における勾配角度θｍとに対応付けて両勾配角度の差から類似度Ｅを評価する関数の計算結果を格納する１次元の類似度評価関数ＬＵＴ２０を参照することにより類似度Ｅを得るようにしても良い。
【００３６】
この場合、Ｓ１０５の処理で算出された勾配ベクトル（Ix(u,v），Iy(u,v))を式（４）に示す参照式を用いて、勾配角度ＬＵＴ１６を参照させることにより、勾配角度θｃを求めた後、式（７）に示す参照式を用いて、類似度評価関数ＬＵＴ２０を参照させることにより、数式（３）を用いた勾配角度θｃと３次元物体のモデル上の各画素における勾配角度θｍとの差から類似度Ｅを求めた計算結果を得ることができる。類似度評価関数ＬＵＴ２０は、図１３に示すように、１次元のルックアップテーブルであるので、この類似度評価関数ＬＵＴ２０を格納するのに使用するメモリの容量を小さくすることができる。また、類似度評価関数ＬＵＴ１７では、原画像から求められる勾配角度θｃとモデル定義された勾配角度θｍをそれぞれ参照するようになっているが、この類似度評価関数ＬＵＴ２０では、原画像から求められる勾配角度θｃとモデル定義された勾配角度θｍの差を参照すれば良いので、処理速度をより向上させることができる。
【数７】
2011129082.tif 000009
【００３７】
次に、第２の実施形態に係る３次元物体認識装置１ａの処理の流れについて図１４を用いて説明する。３次元物体認識装置１ａは第１実施形態に係る３次元物体認識装置１と略同様の構成を備えるものであり、３次元物体３の位置及び姿勢の評価手段が異なるものである。３次元物体認識装置１ａでも同様に、図３に示すように、カメラ４から視認可能と判断したサンプリング点Ａをカメラ画像Ｉに射影し、射影点Ｐの座標及び射影点Ｐにおけるエッジの向きを算出する作業を、予めオフラインで、カメラ４の位置等から考えて可能性のある全範囲に渡って、３次元物体３の位置（３自由度）及び姿勢（３自由度）を十分に細かく変化させながら、繰り返し行う。そして、３次元物体３の位置及び姿勢に対応付けて、射影点Ｐの座標と射影点Ｐにおけるエッジの向きと格納することにより作成したルックアップテーブルをＲＡＭ９等に記憶しておく。
【００３８】
次に、カメラ４により認識対象となる３次元物体３を撮影する（Ｓ２０２）。そして、カメラ４から３次元物体３を撮影した原画像が入力されると、ＣＰＵ１０は、この入力された原画像に基づいて、複数枚のピラミッド画像１８を作成し（Ｓ２０３）、図１に示す画像メモリ７に記憶する。尚、ピラミッド画像１８については、第１の実施形態と同様であるので、その詳細な説明は省略する。
【００３９】
次に、ＣＰＵ１０は、図１４に示すように、解像度が最も低い第３ピラミッド画像１８Ｃについて３次元物体３のエッジを抽出する（Ｓ２０４）。ここで、このエッジ抽出としては、ピクセル精度でのエッジ抽出を行う。図１５は、エッジ抽出を説明するための説明図であって、原画像１９の一部をピクセルレベルまで拡大した状態を示している。ピクセル精度でのエッジ抽出によれば、図において黒く塗り潰されたエッジ構成ピクセル２０の集合体としてエッジが抽出される（以下、このエッジを「ピクセルエッジ２１」と呼ぶ）。尚、本実施形態では処理速度を優先させるためにピクセル精度でのエッジ抽出を行ったが、より高い認識精度が要求される場合には、サブピクセル精度でのエッジ抽出を行っても良い。サブピクセル精度でのエッジ抽出によれば、図１５に直線で示すように、隣接ピクセル間隔以下の精度でエッジが抽出される（以下、このエッジを「サブピクセルエッジ２２」と呼ぶ）。
【００４０】
次にＣＰＵ１０は、方向付きディスタンスマップを作成し（Ｓ２０５）、図１に示すＲＡＭ９に記憶する。方向付きディスタンスマップとは、エッジ抽出を行った第３ピラミッド画像１８Ｃを構成する各ピクセルに、そのピクセルから最も近いピクセルエッジ２１までの距離と、最も近いピクセルエッジ２１の向きとを画素値として持たせたものである。
【００４１】
次にＣＰＵ１０は、方向付きディスタンスマップ上に、予め記憶したルックアップテーブルに格納された射影点をそれぞれマッピングする（Ｓ２０６）。ＣＰＵ１０は、このルックアップテーブルに格納された各射影点Ｐを、その座標に基づいて方向付きディスタンスマップ上に順次配置する。尚、方向付きディスタンスマップでは、最も近いピクセルエッジ２１までの距離は画素毎にしか格納されていないため、射影点Ｐのマッピングに際し、射影点Ｐの座標値が小数部分を有する場合には、バイリニア補間を用いることによって射影点Ｐの配置位置を決定すれば良い。
【００４２】
次に、ＣＰＵ１０は、マッピングされた各射影点Ｐにおけるエッジの向きと、方向付きディスタンスマップ上でその射影点Ｐに対応するピクセルが画素値として持つ最も近いピクセルエッジ２１の向きとを比較する。そして、両者が一致する射影点群について、ＣＰＵ１０は、その射影点群に対応するピクセル群が持つ最も近いピクセルエッジ２１までの距離の自乗和を算出し、その算出結果に基づいて、３次元物体３の位置及び姿勢を評価する（Ｓ２０７）。すなわち、射影点Ｐからなるエッジと、ピラミッド画像１８Ｃにおけるピクセルエッジ２１とを比較した時の誤差の大きさに基づいて、ルックアップテーブルに従って決定した位置及び姿勢が、３次元物体３の実際の位置及び姿勢からどの程度近いかを評価する。
【００４３】
ここで、前記自乗和の算出に際しては、最も近いエッジまでの距離として、図１５に示す対象ピクセル２３からピクセルエッジ２１までの距離Ｌａを用いる。このピクセルエッジ２１までの距離Ｌａとは、図で黒く塗り潰されたエッジ構成ピクセル２０までの最短距離を意味している。尚、前述のようにピラミッド画像１８についてのエッジ抽出をサブピクセル精度で行った場合には、最も近いエッジまでの距離として図１５に示す対象ピクセル２３からサブピクセルエッジ２２までの距離Ｌｂを用いても良い。このサブピクセルエッジ２２までの距離Ｌｂとは、対象ピクセル２３からサブピクセルエッジ２２へと降ろした垂線２４の長さを意味している。また、要求される処理速度と認識精度の兼ね合いによっては、最も近いエッジまでの距離として距離Ｌａと距離Ｌｂを混在させて用いても良い。
【００４４】
そして、評価の結果、ルックアップテーブルに従って決定した位置及び姿勢が、３次元物体３の実際の位置及び姿勢に近いと判断した場合、ＣＰＵ１０は、前記自乗和が最小となるように、当該位置及び姿勢を最適化する（Ｓ２０８）。この最適化には、従来公知のレーベンバーグ・マーカート法を用いる。このように、方向付けディスタンスマップとエッジの向きが略一致する射影点Ｐだけについて前記自乗和を算出するので、カメラ４の方向から見て３次元物体３の一部が他の物体によって隠れた状態であって、最も近いエッジまでの距離が誤って計算されたピクセルに関しては、エッジの向きが一致せず、前記自乗和を算出する対象から除外される。これにより、いわゆる隠れの影響を低減して、ロバスト性を向上させることができる。また、自乗和が最小となるように位置及び姿勢を最適化することにより、位置及び姿勢の認識精度を向上させることができる。尚、位置及び姿勢の最適化の手法としては、レーベンバーグ・マーカート法に限定されず、従来公知の他の非線形最適化法を用いても良い。
【００４５】
その後、ＣＰＵ１０は、Ｓ２０８で最適化した位置及び姿勢が必要な精度を満たしているか否かを判定し（Ｓ２０９）、必要な精度を満たしていると判断した場合は（Ｓ２０９：ＹＥＳ）、第３ピラミッド画像１８Ｃについて得られた位置及び姿勢を最終結果として出力し（Ｓ２１０）、処理を終了する。一方、Ｓ２０９での判定の結果、必要な精度を満たしていないと判断した場合は（Ｓ２０９：ＮＯ）、未処理のピラミッド画像１８があるか否かを判定し（Ｓ２１１）、未処理のピラミッド画像１８がないと判断した場合は（Ｓ２１１：ＮＯ）、第３ピラミッド画像１８Ｃの結果を最終結果として出力し（Ｓ２１０）、処理を終了する。一方、未処理のピラミッド画像１８があると判断した場合は（Ｓ２１１：ＹＥＳ）、Ｓ２へ戻って残りのピラミッド画像１８について同様の処理を行う。そして、未処理のピラミッド画像１８が無くなるまでこれを繰り返す。このように、必要な精度に達するまで、より解像度の高いピラミッド画像１８について処理を行うことにより、３次元物体３の位置及び姿勢をより高い精度で認識することができる。
【００４６】
次に、第３の実施形態に係る３次元物体認識装置１ｂの処理の流れについて図１６を用いながら説明する。３次元物体認識装置１ｂでは、図１６に示すように、まずオフラインでデプスマップを作成し、ＲＡＭ９等に予め記憶しておく（Ｓ３０１）。ここで、デプスマップとは、３次元ＣＡＤ等を利用して認識対象である３次元空間における３次元物体３のモデルをカメラ４から視認可能な範囲内において、あらゆる姿勢（３自由度）に少しずつ細かく変化させながら、カメラ画像上に射影して得た各姿勢での各画素に対する奥行きデータを格納したものである。
【００４７】
次に、カメラ４により認識対象となる３次元物体３を撮影する（Ｓ３０２）。そして、カメラ４から３次元物体３を撮影した原画像が入力されると、ＣＰＵ１０は、この原画像に基づいて、各画素に対する奥行きデータを算出する（Ｓ３０３）。例えば、奥行きデータの算出には、２台のカメラ４を用いてステレオで３次元物体３の奥行きを計算する。具体的には、ステレオ視を用いて、２次元平面から３次元位置情報を取得し、３次元物体３までの距離計測を行う。２台のカメラ４から撮影した２枚の画像に対してマッチング（ステレオマッチング）を行い、画像間の視差を求め、３次元物体３の奥行きデータを取得する。また、その他にも３次元物体３に投光器（不図示）を用いてラインレーザーを照射した画像から奥行きデータを算出する等、従来公知の奥行きデータの取得方法を適宜用いても良い。
【００４８】
次に、ＣＰＵ１０は、取得した原画像に対して、予めＲＡＭ９に記憶したデプスマップの各姿勢での奥行きデータをあらゆる位置（３自由度）に移動させながら、各画素に対してデプスマップに格納した奥行きデータとＳ３０３の処理により算出された奥行きデータに基づいて類似度を算出することにより、３次元物体３の位置及び姿勢を評価する（Ｓ３０４）。具体的には、数式（８）に示すように、デプスマップに格納した奥行きデータとＳ３０３の処理により算出された奥行きデータの差の自乗平均に基づいて類似度を算出する。数式（８）のｕ、ｖは画素座標を表している。また、Ｄｍ（u、ｖ）は、画素座標がｕ、ｖの時の３次元物体３のモデルの奥行き（Ｚ座標）であり、予めデプスマップに格納されている。Ｄｉ（ｕ、ｖ）は、画素座標がｕ、ｖの時の入力画像の奥行きを表すものであり、ｗは所定の重み、τは閾値を表している。数式（８）では、奥行きの差の絶対値が、閾値τ以下の場合には重みｗを１とし、それ以外の場合、つまり、奥行きの差の絶対値が、閾値τを超えた場合には、隠れと見なして、重みｗを０とする。このようにして、第３の実施形態に係る３次元物体認識装置１ｂでは、類似度を算出し、３次元物体３の位置及び姿勢について評価を行う。そして、このようにして得られた評価結果が出力される（Ｓ３０５）。
【数８】
2011129082.tif 000010
【００４９】
尚、本実施形態では、ピラミッド画像を作成せずに、３次元物体３の位置及び姿勢の評価を行った例を示しているが、処理速度を向上させるために、ピラミッド画像に対して同様の処理を行うことも当然可能である。
【００５０】
以上の説明では、３次元物体の位置及び姿勢の３種類の評価方法を個別に行った例を用いて説明を行ったが、これらの評価方法を組み合わせて３次元物体認識装置を構成することも当然可能である。これにより、より精度良く３次元物体の位置・姿勢を認識することができる。また、本実施形態では、３次元物体を対象とした例について説明したが、対象物が平面パタンの場合も真上にカメラ４を設けなくても同様に認識することができる。
【００５１】
尚、本発明の実施の形態は上述の形態に限るものではなく、本発明の思想の範囲を逸脱しない範囲で適宜変更することができることは云うまでもない。
【産業上の利用可能性】
【００５２】
本発明に係る３次元物体認識装置及び３次元物体認識方法は、生産ライン等における部品等の正確な位置及び姿勢を認識するための技術として有効に利用することができる。
【符号の説明】
【００５３】
１、１ａ、１ｂ    ３次元物体認識装置
３                ３次元物体
３ａ              輪郭モデル
４                カメラ（撮像手段）
９                ＲＡＭ（射影モデル画像記憶手段）
１０              ＣＰＵ
１４              輪郭マップ
１５              テクスチャマップ
１６              勾配角度ルックアップテーブル
１７、２０        類似度評価関数ルックアップテーブル
１８              ピラミッド画像
１９              原画像
３１              テクスチャ
３１ａ            テクスチャモデル
Ｉ                カメラ画像
【図１】
2011129082.tif 000011
【図２】
2011129082.tif 000012
【図３】
2011129082.tif 000013
【図４】
2011129082.tif 000014
【図５】
2011129082.tif 000015
【図６】
2011129082.tif 000016
【図７】
2011129082.tif 000017
【図８】
2011129082.tif 000018
【図９】
2011129082.tif 000019
【図１０】
2011129082.tif 000020
【図１１】
2011129082.tif 000021
【図１２】
2011129082.tif 000022
【図１３】
2011129082.tif 000023
【図１４】
2011129082.tif 000024
【図１５】
2011129082.tif 000025
【図１６】
2011129082.tif 000026
【手続補正書】
【提出日】平成22年8月4日(2010.8.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
認識対象である３次元物体を所定方向から撮影して画像を取得する撮像手段と、
認識対象である３次元物体のモデルを前記撮像手段から視認可能な範囲において、あらゆる姿勢に変化させながら、カメラ画像に射影して得た各姿勢でのエッジ点における勾配角度を有する輪郭モデルを格納した輪郭マップ、又は該輪郭マップ及び前記３次元物体のモデルに含まれる文字又は模様等のテクスチャ画像における各姿勢でのエッジ点における勾配角度を有するテクスチャモデルを格納したテクスチャマップを予め記憶する射影モデル画像記憶手段と、
前記撮像手段により取得した原画像に対して前記射影モデル画像記憶手段に記憶された各姿勢での輪郭モデル、又は該輪郭モデル及び前記テクスチャ画像における各姿勢でのテクスチャモデルをあらゆる位置に移動させながら、前記３次元物体の位置及び姿勢を評価する位置・姿勢評価手段と、を備える３次元物体認識装置であって、
前記撮像手段は、前記３次元物体を異なる方向から撮影するために複数設けられており、前記射影モデル画像記憶手段に記憶された第１撮像手段のカメラ画像に射影して得た各姿勢での前記輪郭マップ及び前記テクスチャマップを他の撮像手段に関しても参照して、前記位置・姿勢評価手段による前記３次元物体の位置及び姿勢の評価に利用することを特徴とする３次元物体認識装置。
【請求項２】
前記撮像手段が取得した原画像に基づいて、該原画像の解像度を異なる比率で低下させた複数枚のピラミッド画像を作成するピラミッド画像作成手段を備え、
前記位置・姿勢評価手段は、解像度が最も低い前記ピラミッド画像に対して前記射影モデル画像記憶手段に記憶された各姿勢での輪郭モデル、又は該輪郭モデル及び前記テクスチャ画像における各姿勢でのテクスチャモデルをあらゆる位置に移動させながら、前記３次元物体の位置及び姿勢を評価することを特徴とする請求項１記載の３次元物体認識装置。
【請求項３】
認識対象である３次元物体のモデルを撮像手段から視認可能な範囲において、あらゆる姿勢に変化させながら、カメラ画像に射影して得た各姿勢でのエッジ点における勾配角度を有する輪郭モデルを格納した輪郭マップ、又は該輪郭マップ及び前記３次元物体のモデルに含まれる文字又は模様等のテクスチャ画像における各姿勢でのエッジ点における勾配角度を有するテクスチャモデルを格納したテクスチャマップを予め射影モデル画像記憶手段に記憶するステップと、
認識対象である３次元物体を所定方向から前記撮像手段により撮影して画像を取得するステップと、
取得した原画像に対して前記射影モデル画像記憶手段に記憶された各姿勢での輪郭モデル、又は該輪郭モデル及び前記テクスチャ画像における各姿勢でのエッジ点をあらゆる位置に移動させながら、前記３次元物体の位置及び姿勢を評価するステップと、備える３次元物体認識方法であって、
前記撮像手段は、前記３次元物体を異なる方向から撮影するために複数設けられており、前記射影モデル画像記憶手段に記憶した第１撮像手段のカメラ画像に射影して得た各姿勢での前記輪郭マップ及び前記テクスチャマップを他の撮像手段に関しても参照して、前記３次元物体の位置及び姿勢の評価に利用することを特徴とする請求項６記載の３次元物体認識方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
上記目的を達成するために、請求項１記載の３次元物体認識装置は、認識対象である３次元物体を所定方向から撮影して画像を取得する撮像手段と、認識対象である３次元物体のモデルを前記撮像手段から視認可能な範囲において、あらゆる姿勢に変化させながら、カメラ画像に射影して得た各姿勢でのエッジ点における勾配角度を有する輪郭モデルを格納した輪郭マップ、又は該輪郭マップ及び前記３次元物体のモデルに含まれる文字又は模様等のテクスチャ画像における各姿勢でのエッジ点における勾配角度を有するテクスチャモデルを格納したテクスチャマップを予め記憶する射影モデル画像記憶手段と、前記撮像手段により取得した原画像に対して前記射影モデル画像記憶手段に記憶された各姿勢での輪郭モデル、又は該輪郭モデル及び前記テクスチャ画像における各姿勢でのテクスチャモデルをあらゆる位置に移動させながら、前記３次元物体の位置及び姿勢を評価する位置・姿勢評価手段と、を備える３次元物体認識装置であって、前記撮像手段は、前記３次元物体を異なる方向から撮影するために複数設けられており、前記射影モデル画像記憶手段に記憶された第１撮像手段のカメラ画像に射影して得た各姿勢での前記輪郭マップ及び前記テクスチャマップを他の撮像手段に関しても参照して、前記位置・姿勢評価手段による前記３次元物体の位置及び姿勢の評価に利用することを特徴としている。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】削除
【補正の内容】
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】削除
【補正の内容】
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】削除
【補正の内容】
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
請求項３記載の３次元物体認識方法は、認識対象である３次元物体のモデルを撮像手段から視認可能な範囲において、あらゆる姿勢に変化させながら、カメラ画像に射影して得た各姿勢でのエッジ点における勾配角度を有する輪郭モデルを格納した輪郭マップ、又は該輪郭マップ及び前記３次元物体のモデルに含まれる文字又は模様等のテクスチャ画像における各姿勢でのエッジ点における勾配角度を有するテクスチャモデルを格納したテクスチャマップを予め射影モデル画像記憶手段に記憶するステップと、認識対象である３次元物体を所定方向から前記撮像手段により撮影して画像を取得するステップと、取得した原画像に対して前記射影モデル画像記憶手段に記憶された各姿勢での輪郭モデル、又は該輪郭モデル及び前記テクスチャ画像における各姿勢でのエッジ点をあらゆる位置に移動させながら、前記３次元物体の位置及び姿勢を評価するステップと、備える３次元物体認識方法であって、前記撮像手段は、前記３次元物体を異なる方向から撮影するために複数設けられており、前記射影モデル画像記憶手段に記憶した第１撮像手段のカメラ画像に射影して得た各姿勢での前記輪郭マップ及び前記テクスチャマップを他の撮像手段に関しても参照して、前記３次元物体の位置及び姿勢の評価に利用することを特徴としている。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】削除
【補正の内容】
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】削除
【補正の内容】
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】削除
【補正の内容】
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００１６
【補正方法】変更
【補正の内容】
【００１６】
請求項１及び３記載の発明によれば、予め認識対象である３次元物体のモデルのあらゆる姿勢における輪郭モデルを格納した輪郭マップを記憶しておき、撮像手段により取得した画像に対してこの輪郭モデルをあらゆる位置に移動させながら３次元物体の位置及び姿勢の評価を行う。つまり、輪郭モデルを位置（３自由度）及び姿勢（３自由度）の計６自由度全てにおいて、撮像手段により取得した入力画像と合っているか否かの評価をまんべんなく行うので、高精度に３次元物体の位置及び姿勢を認識することができる。また、輪郭モデルだけでなく、３次元物体に含まれる文字又は模様等のテクスチャ画像における各姿勢でのテクスチャモデルを格納したテクスチャマップを予め記憶しておき、このテクスチャモデルについてもあらゆる位置に移動させながら評価を行うことにより、例えば、直方体等のような輪郭だけでは向きが特定できないような３次元物体についても、その３次元物体に含まれる文字又は模様等のテクスチャが統一されていれば、その向きまで認識することが可能になるので、箱詰め作業等をロボットアーム等を用いて行う際に、部品の向きまで考慮して箱詰め作業等を正確に行うことが可能になる。また、１つの撮像手段に対して輪郭マップ及びテクスチャマップを予め記憶しておけば、他の撮像手段はその輪郭マップ及びテクスチャマップを参照して利用することにより、別途他の撮像手段に対する輪郭マップ及びテクスチャマップを記憶しておく必要がなくなるので、予め記憶しておくデータ量を軽減することができる。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】削除
【補正の内容】
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００１９
【補正方法】削除
【補正の内容】
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】００２０
【補正方法】削除
【補正の内容】
【手続補正書】
【提出日】平成22年11月4日(2010.11.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
認識対象である３次元物体を所定方向から撮像して画像を取得する撮像手段と、
認識対象である３次元物体のモデルを前記撮像手段から視認可能な範囲において、あらゆる姿勢に変化させながら、カメラ画像に射影して得た各姿勢での射影エッジ点における勾配角度を有する輪郭モデルを格納した輪郭マップ、又は該輪郭マップ及び前記３次元物体のモデルに含まれる文字又は模様等のテクスチャ画像における各姿勢での射影エッジ点における勾配角度を有するテクスチャモデルを格納したテクスチャマップを予め記憶する射影モデル画像記憶手段と、
前記撮像手段により取得した画像について前記３次元物体のエッジを抽出するエッジ抽出手段と、
前記画像を構成する各ピクセルに、抽出したエッジのうち最も近いエッジまでの距離と、前記最も近いエッジにおける勾配角度とを画素値として持たせてなる方向付きディスタンスマップを作成する方向付きディスタンスマップ作成手段と、
前記方向付きディスタンスマップ上に、前記射影モデル画像記憶手段に記憶された前記輪郭モデル、又は前記輪郭モデル及び前記テクスチャモデルが有する各姿勢での射影エッジ点をそれぞれマッピングし、前記輪郭モデル、又は前記輪郭モデル及び前記テクスチャモデルが有する各姿勢での射影エッジ点における勾配角度と、前記方向付きディスタンマップにおいて前記射影エッジ点が対応するピクセルが持つ最も近いエッジにおける勾配角度とをそれぞれ比較し、両者が略一致する射影エッジ点群について対応するピクセル群が持つ最も近いエッジまでの距離の自乗和を算出し、その算出結果に基づいて前記３次元物体の位置及び姿勢を評価する位置・姿勢評価手段と、を備える３次元物体認識装置であって、
前記撮像手段は、前記３次元物体を異なる方向から撮影するために複数設けられており、前記射影モデル画像記憶手段に記憶された第１撮像手段のカメラ画像に射影して得た各姿勢での前記輪郭マップ及び前記テクスチャマップを他の撮像手段に関しても参照して、前記位置・姿勢評価手段による前記３次元物体の位置及び姿勢の評価に利用することを特徴とする３次元物体認識装置。
【請求項２】
前記撮像手段が取得した原画像に基づいて、該原画像の解像度を異なる比率で低下させた複数枚のピラミッド画像を作成するピラミッド画像作成手段を備え、
前記エッジ抽出手段は、解像度が最も低い前記ピラミッド画像について前記３次元物体のエッジを抽出し、
前記方向付きディスタンスマップ作成手段は、解像度が最も低い前記ピラミッド画像を構成する各ピクセルに、抽出したエッジのうち最も近いエッジまでの距離と、前記最も近いエッジにおける勾配角度とを画素値として持たせてなる方向付きディスタンスマップを作成し、
前記位置・姿勢評価手段は、前記方向付きディスタンスマップ上に、前記射影モデル画像記憶手段に記憶された前記輪郭モデル、又は前記輪郭モデル及び前記テクスチャモデルが有する各姿勢での射影エッジ点をそれぞれマッピングし、前記輪郭モデル、又は前記輪郭モデル及び前記テクスチャモデルが有する各姿勢での射影エッジ点における勾配角度と、前記方向付きディスタンマップにおいて前記射影エッジ点が対応するピクセルが持つ最も近いエッジにおける勾配角度とをそれぞれ比較し、両者が略一致する射影エッジ点群について対応するピクセル群が持つ最も近いエッジまでの距離の自乗和を算出し、その算出結果に基づいて前記３次元物体の位置及び姿勢を評価することを特徴とする請求項１記載の３次元物体認識装置。
【請求項３】
認識対象である３次元物体のモデルを撮像手段から視認可能な範囲において、あらゆる姿勢に変化させながら、カメラ画像に射影して得た各姿勢での射影エッジ点における勾配角度を有する輪郭モデルを格納した輪郭マップ、又は該輪郭マップ及び前記３次元物体のモデルに含まれる文字又は模様等のテクスチャ画像における各姿勢での射影エッジ点における勾配角度を有するテクスチャモデルを格納したテクスチャマップを予め射影モデル画像記憶手段に記憶するステップと、
認識対象である３次元物体を所定方向から前記撮像手段により撮影して画像を取得するステップと、
前記撮像手段により取得した画像について前記３次元物体のエッジを抽出するステップと、
前記画像を構成する各ピクセルに、抽出したエッジのうち最も近いエッジまでの距離と、前記最も近いエッジにおける勾配角度とを画素値として持たせてなる方向付きディスタンスマップを作成するステップと、
前記方向付きディスタンスマップ上に、前記射影モデル画像記憶手段に記憶された前記輪郭モデル、又は前記輪郭モデル及び前記テクスチャモデルが有する各姿勢での射影エッジ点をそれぞれマッピングし、前記輪郭モデル、又は前記輪郭モデル及び前記テクスチャモデルが有する各姿勢での射影エッジ点における勾配角度と、前記方向付きディスタンマップにおいて前記射影エッジ点が対応するピクセルが持つ最も近いエッジにおける勾配角度とをそれぞれ比較し、両者が略一致する射影エッジ点群について対応するピクセル群が持つ最も近いエッジまでの距離の自乗和を算出し、その算出結果に基づいて前記３次元物体の位置及び姿勢を評価するステップと、を備える３次元物体認識方法であって、
前記撮像手段は、前記３次元物体を異なる方向から撮影するために複数設けられており、前記射影モデル画像記憶手段に記憶した第１撮像手段のカメラ画像に射影して得た各姿勢での前記輪郭マップ及び前記テクスチャマップを他の撮像手段に関しても参照して、前記３次元物体の位置及び姿勢の評価に利用することを特徴とする３次元物体認識方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
上記目的を達成するために、請求項１記載の３次元物体認識装置は、認識対象である３次元物体を所定方向から撮像して画像を取得する撮像手段と、認識対象である３次元物体のモデルを前記撮像手段から視認可能な範囲において、あらゆる姿勢に変化させながら、カメラ画像に射影して得た各姿勢での射影エッジ点における勾配角度を有する輪郭モデルを格納した輪郭マップ、又は該輪郭マップ及び前記３次元物体のモデルに含まれる文字又は模様等のテクスチャ画像における各姿勢での射影エッジ点における勾配角度を有するテクスチャモデルを格納したテクスチャマップを予め記憶する射影モデル画像記憶手段と、前記撮像手段により取得した画像について前記３次元物体のエッジを抽出するエッジ抽出手段と、前記画像を構成する各ピクセルに、抽出したエッジのうち最も近いエッジまでの距離と、前記最も近いエッジにおける勾配角度とを画素値として持たせてなる方向付きディスタンスマップを作成する方向付きディスタンスマップ作成手段と、前記方向付きディスタンスマップ上に、前記射影モデル画像記憶手段に記憶された前記輪郭モデル、又は前記輪郭モデル及び前記テクスチャモデルが有する各姿勢での射影エッジ点をそれぞれマッピングし、前記輪郭モデル、又は前記輪郭モデル及び前記テクスチャモデルが有する各姿勢での射影エッジ点における勾配角度と、前記方向付きディスタンマップにおいて前記射影エッジ点が対応するピクセルが持つ最も近いエッジにおける勾配角度とをそれぞれ比較し、両者が略一致する射影エッジ点群について対応するピクセル群が持つ最も近いエッジまでの距離の自乗和を算出し、その算出結果に基づいて前記３次元物体の位置及び姿勢を評価する位置・姿勢評価手段と、を備える３次元物体認識装置であって、前記撮像手段は、前記３次元物体を異なる方向から撮影するために複数設けられており、前記射影モデル画像記憶手段に記憶された第１撮像手段のカメラ画像に射影して得た各姿勢での前記輪郭マップ及び前記テクスチャマップを他の撮像手段に関しても参照して、前記位置・姿勢評価手段による前記３次元物体の位置及び姿勢の評価に利用することを特徴としている。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
請求項２記載の３次元物体認識装置は、前記撮像手段が取得した原画像に基づいて、該原画像の解像度を異なる比率で低下させた複数枚のピラミッド画像を作成するピラミッド画像作成手段を備え、前記エッジ抽出手段は、解像度が最も低い前記ピラミッド画像について前記３次元物体のエッジを抽出し、前記方向付きディスタンスマップ作成手段は、解像度が最も低い前記ピラミッド画像を構成する各ピクセルに、抽出したエッジのうち最も近いエッジまでの距離と、前記最も近いエッジにおける勾配角度とを画素値として持たせてなる方向付きディスタンスマップを作成し、前記位置・姿勢評価手段は、前記方向付きディスタンスマップ上に、前記射影モデル画像記憶手段に記憶された前記輪郭モデル、又は前記輪郭モデル及び前記テクスチャモデルが有する各姿勢での射影エッジ点をそれぞれマッピングし、前記輪郭モデル、又は前記輪郭モデル及び前記テクスチャモデルが有する各姿勢での射影エッジ点における勾配角度と、前記方向付きディスタンマップにおいて前記射影エッジ点が対応するピクセルが持つ最も近いエッジにおける勾配角度とをそれぞれ比較し、両者が略一致する射影エッジ点群について対応するピクセル群が持つ最も近いエッジまでの距離の自乗和を算出し、その算出結果に基づいて前記３次元物体の位置及び姿勢を評価することを特徴としている。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
請求項３記載の３次元物体認識方法は、認識対象である３次元物体のモデルを撮像手段から視認可能な範囲において、あらゆる姿勢に変化させながら、カメラ画像に射影して得た各姿勢での射影エッジ点における勾配角度を有する輪郭モデルを格納した輪郭マップ、又は該輪郭マップ及び前記３次元物体のモデルに含まれる文字又は模様等のテクスチャ画像における各姿勢での射影エッジ点における勾配角度を有するテクスチャモデルを格納したテクスチャマップを予め射影モデル画像記憶手段に記憶するステップと、認識対象である３次元物体を所定方向から前記撮像手段により撮影して画像を取得するステップと、前記撮像手段により取得した画像について前記３次元物体のエッジを抽出するステップと、前記画像を構成する各ピクセルに、抽出したエッジのうち最も近いエッジまでの距離と、前記最も近いエッジにおける勾配角度とを画素値として持たせてなる方向付きディスタンスマップを作成するステップと、前記方向付きディスタンスマップ上に、前記射影モデル画像記憶手段に記憶された前記輪郭モデル、又は前記輪郭モデル及び前記テクスチャモデルが有する各姿勢での射影エッジ点をそれぞれマッピングし、前記輪郭モデル、又は前記輪郭モデル及び前記テクスチャモデルが有する各姿勢での射影エッジ点における勾配角度と、前記方向付きディスタンマップにおいて前記射影エッジ点が対応するピクセルが持つ最も近いエッジにおける勾配角度とをそれぞれ比較し、両者が略一致する射影エッジ点群について対応するピクセル群が持つ最も近いエッジまでの距離の自乗和を算出し、その算出結果に基づいて前記３次元物体の位置及び姿勢を評価するステップと、を備える３次元物体認識方法であって、前記撮像手段は、前記３次元物体を異なる方向から撮影するために複数設けられており、前記射影モデル画像記憶手段に記憶した第１撮像手段のカメラ画像に射影して得た各姿勢での前記輪郭マップ及び前記テクスチャマップを他の撮像手段に関しても参照して、前記３次元物体の位置及び姿勢の評価に利用することを特徴としている。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００２４
【補正方法】変更
【補正の内容】
【００２４】
以下、３次元物体認識装置１による処理の流れについて図２のフローチャートを用いながら説明する。本実施形態に係る３次元物体認識装置１では、図２に示すように、まずオフラインで輪郭マップ１４及びテクスチャマップ１５を作成し、このような射影モデル画像の記憶手段として機能するＲＡＭ９等に予め記憶しておく（Ｓ１０１）。この輪郭マップの作成方法としては、例えば、図３に示すように、まず３次元物体３の各エッジＥの上にサンプリング点Ａを設定し、各サンプリング点Ａがカメラ４から視認可能であるか否かを判定する。そして、カメラ４から視認可能と判断した各サンプリング点Ａをカメラ画像Ｉ上に射影し、各射影エッジ点Ｐの座標及び射影エッジ点Ｐにおける勾配角度を算出する。この作業を図４に示すように、３次元ＣＡＤ等を利用して、予めオフラインでカメラ４の位置等から考えて可能性のある全範囲に渡って、３次元物体３のモデルをあらゆる姿勢（３自由度）に少しずつ細かく変化させながら、繰り返し行う。このようにして得られた各姿勢での射影エッジ点における勾配角度を有する輪郭モデル３ａを格納することにより輪郭マップ１４を作成する。この際の輪郭モデル３ａは、認識精度を向上させるために、できる限り細かい姿勢毎にサンプリングしておくことが好ましいが、そのサンプリング数等は特に限定されるものではない。また、テクスチャマップ１５は、図１に示すような３次元物体３に含まれる模様や文字等のテクスチャ３１に対しても同様に、カメラ４から視認可能な範囲において、あらゆる姿勢（３自由度）に少しずつ細かく変化させながら、カメラ画像Ｉ上に射影して得たテクスチャ画像における各姿勢での射影エッジ点における勾配角度を有するテクスチャモデルを格納したものである。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００３７
【補正方法】変更
【補正の内容】
【００３７】
次に、第２の実施形態に係る３次元物体認識装置１ａの処理の流れについて図１４を用いて説明する。３次元物体認識装置１ａは第１実施形態に係る３次元物体認識装置１と略同様の構成を備えるものであり、３次元物体３の位置及び姿勢の評価手段が異なるものである。３次元物体認識装置１ａでも同様に、図３に示すように、カメラ４から視認可能と判断したサンプリング点Ａをカメラ画像Ｉに射影し、射影エッジ点Ｐの座標及び射影エッジ点Ｐにおけるエッジの向き（勾配角度）を算出する作業を、予めオフラインで、カメラ４の位置等から考えて可能性のある全範囲に渡って、３次元物体３の位置（３自由度）及び姿勢（３自由度）を十分に細かく変化させながら、繰り返し行う。そして、３次元物体３の位置及び姿勢に対応付けて、射影エッジ点Ｐの座標と射影エッジ点Ｐにおけるエッジの向き（勾配角度）と格納することにより作成したルックアップテーブルをＲＡＭ９等に記憶しておく。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００４１
【補正方法】変更
【補正の内容】
【００４１】
次にＣＰＵ１０は、方向付きディスタンスマップ上に、予め記憶したルックアップテーブルに格納された射影エッジ点をそれぞれマッピングする（Ｓ２０６）。ＣＰＵ１０は、このルックアップテーブルに格納された各射影エッジ点Ｐを、その座標に基づいて方向付きディスタンスマップ上に順次配置する。尚、方向付きディスタンスマップでは、最も近いピクセルエッジ２１までの距離は画素毎にしか格納されていないため、射影エッジ点Ｐのマッピングに際し、射影エッジ点Ｐの座標値が小数部分を有する場合には、バイリニア補間を用いることによって射影エッジ点Ｐの配置位置を決定すれば良い。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００４２
【補正方法】変更
【補正の内容】
【００４２】
次に、ＣＰＵ１０は、マッピングされた各射影エッジ点Ｐにおけるエッジの向き（勾配角度）と、方向付きディスタンスマップ上でその射影エッジ点Ｐに対応するピクセルが画素値として持つ最も近いピクセルエッジ２１の向きとを比較する。そして、両者が一致する射影エッジ点群について、ＣＰＵ１０は、その射影エッジ点群に対応するピクセル群が持つ最も近いピクセルエッジ２１までの距離の自乗和を算出し、その算出結果に基づいて、３次元物体３の位置及び姿勢を評価する（Ｓ２０７）。すなわち、射影エッジ点Ｐからなるエッジと、ピラミッド画像１８Ｃにおけるピクセルエッジ２１とを比較した時の誤差の大きさに基づいて、ルックアップテーブルに従って決定した位置及び姿勢が、３次元物体３の実際の位置及び姿勢からどの程度近いかを評価する。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００４４
【補正方法】変更
【補正の内容】
【００４４】
そして、評価の結果、ルックアップテーブルに従って決定した位置及び姿勢が、３次元物体３の実際の位置及び姿勢に近いと判断した場合、ＣＰＵ１０は、前記自乗和が最小となるように、当該位置及び姿勢を最適化する（Ｓ２０８）。この最適化には、従来公知のレーベンバーグ・マーカート法を用いる。このように、方向付けディスタンスマップとエッジの向き（勾配角度）が略一致する射影エッジ点Ｐだけについて前記自乗和を算出するので、カメラ４の方向から見て３次元物体３の一部が他の物体によって隠れた状態であって、最も近いエッジまでの距離が誤って計算されたピクセルに関しては、エッジの向き（勾配角度）が一致せず、前記自乗和を算出する対象から除外される。これにより、いわゆる隠れの影響を低減して、ロバスト性を向上させることができる。また、自乗和が最小となるように位置及び姿勢を最適化することにより、位置及び姿勢の認識精度を向上させることができる。尚、位置及び姿勢の最適化の手法としては、レーベンバーグ・マーカート法に限定されず、従来公知の他の非線形最適化法を用いても良い。