(57)【特許請求の範囲】
【請求項１】
計算機内に記録した対象物体の３次元形状モデルから対象物体をカメラで撮影した入力画像上での見え方を算出するグラフィックスシステムが、その過程で提供する対象シーンの各画素の示す視線方向に向かって、どれだけ離れた位置にモデルが存在するかの距離を画素ごとに記録した奥行き画像を利用して、この画像からエッジ抽出処理を行うことにより、奥行きが大きく変わる画素を抽出し、その境界隣接画素のうち、手前側のものをとることにより、画像上に観測される遮蔽輪郭線に対応するモデル上の遮蔽輪郭生成点の近似点の3次元座標が得られることを利用し、これを対応する遮蔽輪郭生成点の近似3次元座標値と捉え、遮蔽輪郭生成点の近似3次元座標値と観測画像上の2次元座標との対応関係から対象物体の位置・姿勢を算出する方法・
【請求項２】
計算機内に記録した環境の３次元形状モデルから、その環境内のある位置・姿勢に置かれたカメラで撮影したその見え方を算出するグラフィックスシステムが、その過程で提供する対象シーンの各画素の示す視線方向に向かって、どれだけ離れた位置にモデルが存在するかの距離を画素ごとに記録した奥行き画像を利用し、この画像からエッジ抽出処理を行うことにより、奥行きが大きく変わる画素を抽出し、その境界隣接画素のうち、手前側のものをとることにより、画像上に観測される遮蔽輪郭線に対応するモデル上の遮蔽輪郭生成点の近似点の3次元座標が得られることを利用し、これを対応する遮蔽輪郭生成点の近似3次元座標値と捉え、遮蔽輪郭生成点の近似3次元座標値と観測画像上の2次元座標との対応関係から撮影しているカメラの位置・姿勢を相対的に算出する方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、観測画像から対象物体や観測カメラの位置・姿勢を算出する方法に関する。この技術が実現すると、ロボットによる作業の自動化などが大きく促進される。
【０００２】
【従来の技術】
ロボットが室内を移動し作業を行う場合、作業対象物体の位置・姿勢、及び、全体の環境におけるロボットの位置・姿勢を正確に把握する必要がある。こうした位置・姿勢情報は、ロボットの目である、ロボットに搭載されたカメラにより入力される画像情報と、ロボット内に持つ環境や対象物体の３次元形状モデル間点対応により、次のように得ることができる。
【０００３】
【数１】
0003668769.tif 000002
のｍ個のペアが得られているとする。この対応を用いて
【数２】
0003668769.tif 000003
の関係式を満たす３次元モデルの剛体運動、
【数３】
0003668769.tif 000004
を算出することにより、観測状態の位置・姿勢が求まる。
【０００４】
【発明が解決しようとする課題】
対象が特徴的なマーク点や角点を持つ場合には、観測画像からの特徴点抽出も、モデル上の特徴点との対応付けも比較的容易である。しかし、図１のように、観測画像上に観測される特徴が遮蔽輪郭の場合、この遮蔽輪郭特徴に対応するモデル表面上の点は視点によって変化するため、2次元画像上に観測される点と３次元モデル上の対応点を知るのが非常に難しい。結果的にこうした観測遮蔽輪郭から対象や環境の位置・姿勢を求めることがほとんど不可能であるという問題があった。
【０００５】
【課題を解決するための手段】
対象の大まかな位置・姿勢は既知である条件のもとで、上記課題を達成するために、本発明では、計算機内部に記録した対象物体の３次元形状モデルから、この大まかな初期位置・姿勢における見え方をグラフィックスシステムで算出し、この過程で提供される対象シーンの奥行き画像を利用し、画像上に観測される遮蔽輪郭に対する、モデル上の対応候補点の３次元座標を高速に算出する方法を提供する。（請求項１）
【０００６】
さらに、こうして得た遮蔽輪郭特徴の2D-3D対応ペアをもとに、初期に与えられた大まかなモデルの位置・姿勢を繰り返し処理により正しい状態に更新していき、最終的には正しい対象の位置・姿勢を得る方法を提供する。（請求項２）
さらに、これを計算機内部にカメラを取り巻く環境の３次元形状モデルが記録されている場合に拡張し、観測するカメラの位置・姿勢を算出する方法を提供する。（請求項３）
【０００７】
本願発明の方法によると、対象形状を限定することなく、例え複数の物体により構成される複雑な環境モデルの場合にも各個体間の遮蔽や自己遮蔽などがすべて自動的に考慮されるその性格により、同様に処理が実現される。
【０００８】
【発明の実施の形態】
図２と図３を用い、遮蔽輪郭を用いて対象物体の位置・姿勢を算出する処理を説明する。
ステップS１：カメラにより画像を入力する。
ステップS２：画像から明るさが急変するエッジを抽出する。
ステップS３：モデル上の遮蔽輪郭生成点の３次元座標の算出。
【０００９】
図３ａは計算機内部に記録されている対象物体の幾何モデルである。今、この対象の大まかな位置・姿勢が既知であれば、OpenGL（Silicon Graphyics社の登録商標）に代表されるグラフィックスシステムにより、その見え方の予測画像、図３cを高速に算出することが可能である。この際、グラフィックスシステムはこの画像の算出のため、同時に図３dのような奥行き画像も算出する。これは、各画素の示す視線方向に向かって、どれだけ離れた位置にモデルが存在するかの距離を画素ごとに記録したものである。図３dの例では、この距離が近いほど明るく表示してある。この画像からエッジ抽出処理を行うことにより、図３e中のグレイ線のように奥行きが大きく変わる画素が抽出され、その境界隣接画素のうち、手前側（距離値が小さいもの）をとることにより、遮蔽輪郭に対応するモデル表面の３次元座標値が得られる。ただし、この奥行き画像を作成するために用いた、対象物体の位置・姿勢の初期値は実際の値とは異なっているため、多少の誤差を含む。多少の誤差を含むが、これら遮蔽輪郭生成３D点は以下に続く処理によって、対象の位置・姿勢認識に利用することが可能である。
【００１０】
ステップ S４：観測エッジと対応する３次元モデル代表点の算出。
上記手順により得られた遮蔽輪郭生成３次元点を投影画像上で等間隔にサンプリングすることにより、図３eに白い点で示すような、代表点を求める。さらに、予測画像を利用して、このうち画像上で明確なエッジとして検出される見通しのものだけを残す（図３f）。
【００１１】
ステップ S５：３次元モデル点と観測エッジ点との対応付。
テリトリベース3D-2Dレジストレーション手法「喜多 泰代、 Dale L. Wilson、 J. Alison Noble:"３次元血管モデルのＸ線画像への実時間位置合わせ手法",電子情報通信学会論文誌（D-II）, Vol.J83-DII, No. 1, pp.254-262(2000).」の部分では、観測画像上に投影したこれらモデル点と観測エッジ点で、画像上の2次元距離の近さを評価基準として、点対応ペアを作成する。
【００１２】
ステップ S６：対象物体の位置・姿勢を算出。
これらの点対応ペアを、n個のカメラの観測画像から対象の位置・姿勢を算出する一般式、
【数４】
0003668769.tif 000005
【数５】
0003668769.tif 000006
にｎ＝１の条件で代入することにより、この対応ペアを最小自乗誤差的意味において満す、対象の位置・姿勢が算出される。ここで、
【００１３】
【数６】
0003668769.tif 000007
である。ただし、画像上の距離の近さに基づき定めたペアが完全に正しいペアではないこと、この一般式が回転行列の線形化による近似誤差を含んでいること、遮蔽輪郭生成の３次元座標が多少誤差を含んでいることから、一回の演算で正しい対象の位置・姿勢は得られない。そこで、新しい位置・姿勢の値を用いて、ステップS３からS６までの処理を対象の位置・姿勢が収束するまで繰り返すことにより、最終的に正しい位置・姿勢を算出する。
【００１４】
観測カメラの位置・姿勢検出は、計算機内部にカメラを取り巻く環境の形状モデルを記録し、これを対象形状モデルとして上記と同様に対象物体の新しい位置・姿勢を算出し、これと相対的にカメラの位置・姿勢を変化させ、ステップ３に戻る、という繰り返し処理によって、得られる。
【００１５】
カメラを取り巻く環境形状モデルを計算機に与え、環境におけるカメラの位置・姿勢を求めた実施例を以下に示す。図４aは、実際の観測画像である。図４bはこのエッジ画像（Canny エッジオペレータ「一般的に用いられている画像処理手法」：J. Canny:"A Computational Approach to Edge Detection",IEEE Trans.Pattern Analysis and Machine Intelligence,Vol. 8, No. 6, pp.679-698.を使用。）で、各エッジ点近傍で濃淡値の最大変化方向を８方向に濃淡差をつけて示してある。図４cにOpenGLで作成した円柱5本からなる部分モデルの側面図と上から見た図を示す。上面図中の白丸はカメラ位置、そこから出ている白線は視線方向を示す。側面図は、観測画像を得たカメラの初期位置・姿勢を大まかにマニュアルで計測し、その状態における予測画像となっている。図４dは、これを観測画像に重ねて表示したもので、初期位置・姿勢計測誤差のため実際に各パイプが観測される位置からずれている。見易いようにパイプを黒で表示している。図４eに、予測奥行き画像のエッジ上に求めた３次元モデル点(白い点）を側面図、上面図に示す。ただし、予測濃淡画像情報を用いて明るさ変化が少なく観測されにくい点は省かれるため、同色のパイプ同士が重なっているとろは選択されていない。観測画像のエッジ点と同様、予測投影画像上のモデル点近傍の濃淡値最大変化方向を８方向に分類し各モデル点の特性として持つ。図４fに、この特性を濃淡差で表し、その投影位置を観測エッジ画像に重ねて表示する。
【００１６】
カメラ角度のわずかなずれが、画面上では大きな平行移動を生むので、第1回目の初期対応時だけはこれを考慮する。 具体的に、投影モデル点を画面上で2次元的に平行移動し、モデル点が同色のエッジ位置に最もよく重なる位置を探索する。図４gが移動後の位置である。これはあくまで最短距離評価基準でモデル点の対応ペアを見つけるために必要なので、実際に３次元モデルを移動する必要はない。この位置においてテリトリベース3D-2Dマッチングを行い、得られた対応付が同図中に白線で示されている。式(1),(2)を用いて得られた位置・姿勢変化量を相対的にカメラの位置・姿勢に反映し、その新しい位置において同様の処理を繰り返す(2回目以降はすでに画面上での大きなずれはなくなっており画像上の平行移動は不必要)。この例では、24回繰り返し後に収束条件を満し、カメラ位置を(66.8,-13.2,-80.7)(mm)平行移動修正し、軸(-0.34, 0.37, -0.86)回りに 5.7度回転修正して、図４h,iのような予測画像と観測画像の重なりを得た。モデルの投影位置が観測画像と一致しているということは、カメラの位置・姿勢がより正しい値に修正されたことを示している。処理時間は、Pentium II(333MHz)マシン上で、画像上の初期平行移動に2.1sec、3Dモデル点を選出し、その対応観測特徴点を求め、これに基づきカメラの位置・姿勢を変更する１ループに約200msecかかり、トータルで6.8秒であった。
【００１７】
【発明の効果】
従来、観測画像上の遮蔽輪郭を対象物体の位置・姿勢検出、また、相対的に観測カメラの位置・姿勢検出に利用することは非常に単純な対象物以外では不可能であった。本発明の方法は、あらかじめ、大まかな位置・姿勢が与えられる場合に、これを可能とした。これにより、特徴的な角点やマーク点などがない対象物体の位置・姿勢検出、また特徴的な角点やマーク点などが存在せず、複雑な曲面で構成される環境中のカメラの位置・姿勢検出が可能となった。
【図面の簡単な説明】
【図１】遮蔽輪郭が特徴エッジの大半を占める環境例を示す図である。
【図２】遮蔽輪郭特徴を用いた対象物体の位置・姿勢検出の流れ図である。
【図３】遮蔽輪郭特徴を用いた対象物体の位置・姿勢検出手法の説明図である。
【図４】本発明の実施を例示する図である。
(a)観測画像;
(b)観測画像のエッジ(濃淡値の最大変化方向別に色分け);
(c)対象の３次元モデルの側面図および上面図;
(d)カメラの初期推定位置・姿勢におけるモデル投影;
(e)３次元モデル点(白い点)の正面図、側面図;
(f)３次元モデル点の観測エッジ画像での投影位置;
(g)初期平行移動後の３次元投影モデル点;
(h)収束後のカメラ位置・姿勢におけるモデル点投影(エッジ画像上）;
(i)収束後のカメラ位置・姿勢におけるモデル投影。
【図１】
0003668769.tif 000008
【図２】
0003668769.tif 000009
【図３】
0003668769.tif 000010
【図４】
0003668769.tif 000011