説明

3次元サーフェス生成方法

【課題】対象物体を撮影した複数の画像から物体表面の3次元サーフェスを直接かつ高速に生成できる3次元サーフェス生成方法を提供する。
【解決手段】 対象物体を異なる視点位置から撮影して得られた複数の画像のうち、1枚の画像を基準画像とし、残りの画像を参照画像とした上で、基準画像上に2次元三角メッシュを生成し、メッシュの全頂点奥行きパラメータとカメラパラメータとによって定まる平面射影変換によって参照画像を変形して得られた画像の画素値を要素とするベクトルと、基準画像の画素値を要素とするベクトルとの距離をコスト関数の1つの項とし、複数の画像とカメラパラメータと全頂点奥行きパラメータの初期値とを入力とする最適化手法を用いて、全頂点奥行きパラメータの微小変化量の計算と、全頂点奥行きパラメータの現在値の更新を、所定の条件まで繰り返し行うことによって、コスト関数の値が最小となる、全頂点奥行きパラメータを計算する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、対象物体を撮影した複数のステレオ画像から、対象物体の3次元サーフェスを生成する3次元サーフェス生成方法に関する。
【背景技術】
【0002】
伝統的なステレオ法では、基準画像上の特定画素に注目し、その画素の対応点を参照画像上に探索することにより奥行き推定を行う。このような方法によって得られる対象物体の3次元情報は、3次元空間中の点群であり、対象物体の密な表面形状(以下、単に、「3次元サーフェス」又は「サーフェス」とも呼ぶ。)を直接的に表現したものではない。
【0003】
つまり、伝統的なステレオ法では、画像上における隣接する画素に対応する3次元空間中の点の関係づけがなされていないという問題が存在している。
【0004】
また、ステレオ画像を用いて対象物体の3次元サーフェスを生成するための1つのアプローチは、ステレオ法で得られた奥行きデータを利用して、即ち、対象物体表面を3次元空間中の点の集合として求めた後に、その3次元空間中の点を、サーフェスモデルに当てはめる方法である(例えば、非特許文献1、非特許文献2、非特許文献3、非特許文献4を参照)。このような手法は、ステレオ法に限らず、レーザレンジファインダなどによって得られた3次元情報を活用する技術として、旧来から盛んに研究されてきた。
【0005】
しかし、伝統的なステレオ法によって得られる3次元空間中の点の情報は、画像ノイズ等の影響を大きく受けて誤差を含んでいるため、このような誤差の大きい3次元情報から対象物体のサーフェスを生成する方法には、適切なサーフェスを生成できなかったり、複雑な計算を必要としたりするなどの、さまざまな問題がある。また、これらの手法のほとんどは、もとの3次元情報を補間および変更することに基づいているため、ステレオ画像の輝度情報を有効に活用していないとの問題もある。
【非特許文献1】ディー. アール. マリー(D.R. Murray)著,「パッチレツ: ア メソッド オフ インタープレッティング コリレイション ステレオ 3D データ(Patchlets: A method of interpreting correlation stereo 3D data)」,PhD スィーザス, デパートメント オフ コンピュータ サイエンス, ザ ユニバーシティー オフ ブリティシュ コロンビア, 2003年(PhD thesis, Department of Computer Science, The University of British Columbia, 2003)
【非特許文献2】アイ. コヘン(I. Cohen)、エル. ディー. コヘン(L.D. Cohen)、エヌ. アヤチェ(N. Ayache)共著,「イントロジューイング ニュー デフォーマブル サーフェス トゥー セグメント 3D イメージ(Introducing new deformable surfaces to segment 3d images)」,IEEE コンピュータ ソサイアティ カンファレンス オン コンピュータ ビジョン アンド パターン レコグニション(IEEE Computer Society Conference on Computer Vision and Pattern Recognition),p.738-739,1991年
【非特許文献3】エー. ペントランド(A. Pentland)、エス. スクラロフ(S. Sclaroff)共著,「クローズドフォーム ソリューションズ フォー フィジカルリ ベースド シェイプ モデリング アンド レコグニション(Closed-form solutions for physically based shape modeling and recognition)」,IEEE トランスアクションズ オン パターン アナリシス アンド マシン インテリジェンス(IEEE Transactions on Pattern Analysis and Machine Intelligence),第13巻,p.715-729,1991年
【非特許文献4】アール. スゼリスキ(R. Szeliski)、ディー. トンネセン(D. Tonnesen)共著,「サーフェス モデリング ウィズ オリエンティド パーティクル システムズ(Surface modeling with oriented particle systems)」,コンピュータ グラフィックス(SIGGRAPH)(Computer Graphics(SIGGRAPH)),p.185-194,1992年
【非特許文献5】ピー. ジェー. ナラヤナン(P.J. Narayanan)、ピー. ダブリュ. ランデル(P.W. Rander)、ティー. カナデ(T. Kanade)共著,「コンストラクティング バーチャル ワールドズ ユジング デンス ステレオ(Constructing Virtual Worlds using Dense Stereo)」,IEEE インターナショナル カンファレンス オン コンピュータ ビジョン(IEEE International Conference on Computer Vision),p.3-10,1998年
【非特許文献6】ピー. ファ(P.Fua)著,「フロム マルチプル ステレオ ビューズ トゥー マルチプル 3D サーフェス(From multiple stereo views to multiple 3D surfaces)」,インターナショナル ジャーナル オフ コンピュータ ビジョン(International journal of Computer Vision),第24巻,第1号,p.19-35,1997年
【非特許文献7】オー. ディー. ファゲラス(O.D. Faugeras)、アール. ケリヴェン(R. Keriven)共著,「コンプリート デンス ステレオビジョン ユジング レベル セット メソッド(Complete Dense Stereovision Using Level Set Methods)」,ヨーロピアン カンファレンス オン コンピュータ ビジョン(European Conference on Computer Vision),第I巻,p.379-393,1998年
【非特許文献8】エス. ベイカ(S. Baker)、アイ. マシューズ(I. Matthews)共著,「ルーカス・カナデ 20 イヤーズ オン: ア ユニファイング フレームワーク(Lucas-kanade 20 years on: A unifying framework)」,インターナショナル ジャーナル オフ コンピュータ ビジョン(International journal of Computer Vision),第56巻,第3号,p.221-255,2004年
【非特許文献9】ビー. ディー. ルーカス(B.D. Lucas)、ティー. カナデ(T. Kanade)共著,「アン イテラティブ イメージ レジストレイション テクニック ウィズ アン アプローチ トゥー ステレオ ビジョン(An iterative image registration technique with an approach to stereo vision)」,イメージ アンダスタンディング ワークショップ(Image Understanding Workshop),p.121-130,1981年
【非特許文献10】オー. ファゲラス(O. Faugeras)、エフ. ラストマン(F. Lustman)共著,「モーション アンド ストラクチャ フロム モーション イン ア ピースワイズ プレーナ エンバイアロンメント(Motion and structure from motion in a piecewise planar environment)」,レポート ディ ルシェルシュ ディ l‘INRIA(Report de Recherche de l’INRIA),1988年
【発明の開示】
【発明が解決しようとする課題】
【0006】
かかる問題を解決するために、ステレオ画像の輝度情報を利用して、対象物体の表面形状を直接的に生成するアプローチが提案されている。このような方法として、ステレオ画像からポリゴンメッシュを生成する手法(非特許文献5を参照)や、oriented particleを最適化する手法(非特許文献6を参照)などが挙げられる。
【0007】
しかし、これらの手法は、彫像や人形などの静止物体の正確な3次元モデルを得ることを目的にしているため、一般に、数分程度の計算時間を必要とする。これは、ロボットや自動車などのナビゲーションを考えたときには大きな問題となる。例えば、移動するロボットでは、前方の坂の勾配や段差などの形状を速やかに得る必要があり、また、ロケットやヘリコプターの着陸時には、地上のサーフェスを速やかに取得する必要がある。
【0008】
また、ステレオ画像から直接的に物体の3次元サーフェスを生成する方法として、レベルセット法と呼ばれる手法を用い、対象物体の3次元表面形状をステレオ画像から直接生成する手法がある(例えば、非特許文献7を参照)。この手法は、物体表面形状を関数によって表現して微分方程式を繰り返し計算によって解くアプローチである。しかし、この繰り返し計算は大きな計算量を必要とするため、短時間にて対象物体の3次元サーフェスを生成できないという問題がある。
【0009】
本発明は、上述のような事情よりなされたものであり、本発明の目的は、このような高速な処理を目的とした効率的な3次元サーフェス生成方法、即ち、対象物体を撮影した複数のステレオ画像から、対象物体の3次元形状を点の情報として求めるのではなく、物体表面の3次元サーフェスを直接かつ高速に生成する、3次元サーフェス生成方法を提供することにある。
【課題を解決するための手段】
【0010】
本発明は、既知の視点位置にある校正済みのカメラを用い、対象物体を異なる視点位置から撮影して得られた複数の画像から、前記対象物体の3次元サーフェスを直接に生成する、3次元サーフェス生成方法に関し、本発明の上記目的は、前記複数の画像のうち、1枚の画像を基準画像とし、残りの画像を参照画像とした上で、前記基準画像上に複数の三角形によって構成された2次元メッシュを生成する第1のステップと、前記2次元メッシュの全頂点の奥行きを表す全頂点奥行きパラメータと、カメラ視点位置を含むカメラパラメータとによって定まる各三角形の平面射影変換によって前記参照画像を変形して得られた画像の画素値を要素とするベクトルと、前記基準画像の画素値を要素とするベクトルとの距離をコスト関数の1つの項とし、前記複数の画像と、前記カメラパラメータと、前記全頂点奥行きパラメータの初期値とを入力とする最適化手法を用いて、前記全頂点奥行きパラメータの微小変化量の計算と、前記全頂点奥行きパラメータの現在値の更新を、所定の条件まで繰り返し行うことによって、前記コスト関数の値が最小となる、前記全頂点奥行きパラメータを計算する第2のステップとを有することにより、或いは、前記第2のステップをより短時間内で行うために、前記第2のステップでは、前記全頂点奥行きパラメータの現在値が定める平面射影変換と、前記全頂点奥行きパラメータの微小変化量が定める平面射影変換との合成によって真の平面射影変換を表現し、前記全頂点奥行きパラメータの微小変化量が定める平面射影変換の逆変換によって前記基準画像を変形して得られた画像の画素値を要素とするベクトルと、前記全頂点奥行きパラメータの現在値が定める平面射影変換によって前記参照画像を変形して得られた画像の画素値を要素とするベクトルとによって、前記距離と同等の距離を表現することによって、繰り返しごとに必要な情報を1度だけ計算することによって効果的に達成される。
【0011】
また、本発明の上記目的は、前記複数の画像のうち、1枚の画像を基準画像とし、残りの画像を参照画像とした上で、前記基準画像上に複数の三角形によって構成された2次元メッシュを生成する、2次元メッシュ生成ステップと、前記2次元メッシュ生成ステップで生成された2次元メッシュの全頂点の奥行きを表す全頂点奥行きパラメータによって定まる各三角形の平面射影変換によって前記参照画像を変形して得られた画像の画素値と、前記基準画像の画素値との差が小さくなるように、前記全頂点奥行きパラメータを最適化手法によって推定する、全頂点奥行き推定ステップとを有することにより、或いは、前記全頂点奥行き推定ステップは、前記全頂点奥行きパラメータの微小変化量が定める平面射影変換と、前記全頂点奥行きパラメータの現在値が定める平面射影変換とに基づいて、真の平面射影変換が合成され、前記微小変化量が定める平面射影変換の逆変換によって前記基準画像を変形して得られた画像の画素値と、前記現在値が定める平面射影変換によって前記参照画像を変形して得られた画像の画素値の差が小さくなるように、前記微小変化量を計算することによって、繰り返しごとに必要な情報を1度だけ計算することによってより効果的に達成される。
【0012】
更に、本発明の上記目的は、前記複数の画像のうち、1枚の画像を基準画像とし、残りの画像を参照画像とした上で、前記基準画像上に複数の三角パッチによって構成された2次元メッシュを生成するステップと、前記2次元メッシュの全頂点の奥行きを表す全頂点奥行きパラメータの初期値を定めるステップと、定めた全頂点奥行きパラメータの初期値と、カメラ視点位置を含むカメラパラメータと、前記複数の画像とに基づいて、前記2次元メッシュにおける全パッチについて加算したSSSDを最小にする、前記全頂点奥行きパラメータを求める最適化処理を行うステップとを有することにより、或いは、前記最適化処理では、前記基準画像、及び前記カメラパラメータを用いて、前記全頂点奥行きパラメータの微小変化量を求めるために利用される情報、即ち、繰り返し処理に必要な情報を一度だけ計算する、繰り返し処理用情報計算ステップと、前記全頂点奥行きパラメータの現在値と、前記カメラパラメータとによって定まる各三角パッチの平面射影変換によって前記参照画像を変形して得られた画像の画素値と、前記基準画像の画素値との差分を計算する、差分値計算処理ステップと、前記繰り返し処理用情報計算ステップで得られた必要な情報と、前記差分値計算処理ステップで得られた差分値と、前記カメラパラメータと、前記全頂点奥行きパラメータの現在値を入力として、前記全頂点奥行きパラメータの微小変化量を計算する、微小変化量計算処理ステップと、前記微小変化量計算処理ステップで得られた微小変化量と、前記全頂点奥行きパラメータの現在値とに基づいて、前記全頂点奥行きパラメータの現在値を更新する、現在値更新処理ステップとを有することにより、或いは、前記最適化処理では、前記差分値計算処理ステップ、前記微小変化量計算処理ステップ及び前記現在値更新処理ステップを、所定の収束条件を満たすまで繰り返し、繰り返し処理により、前記収束条件を満たしたときに得られた全頂点奥行きパラメータの現在値を全頂点奥行きパラメータとすることにより、前記3次元サーフェスを生成することによってより効果的に達成される。
【発明の効果】
【0013】
本発明に係る3次元サーフェス生成方法は、対象物体を撮影した複数のステレオ画像から、対象物体の3次元形状を点の情報として求めるのではなく、物体表面の3次元サーフェスを直接かつ高速に生成する方法である。
【0014】
本発明の3次元サーフェス生成方法では、既知の視点位置を持つ校正済みのステレオカメラで対象物体を撮影して得られたステレオ画像から、対象物体の3次元サーフェスを直接に生成するようにしているので、ステレオ画像上に隣接する画素の3次元情報は、同一の三角パッチ中にあれば同一平面上にあり、そうでなければ、それぞれが稜線(もしくは頂点)を共有する2つの平面上にあるものとして関連付けられるため、明白となる。
【0015】
本発明によれば、複数のステレオ画像から対象物体の3次元サーフェスを短時間内に効率的に生成できるという優れた効果を奏する。
【0016】
更に、本発明を適用してステレオ画像から対象物体の3次元サーフェスを直接に生成する際に、所定のパラメータの値を固定することにより高速化処理を行うことで、3次元サーフェス生成における更なる高速化を実現することができる。
【0017】
従って、例えばロボットや自動車などのナビゲーションにおいても、地上のサーフェスを速やかに取得する必要があるロケットやヘリコプターの着陸時に、前方の坂の勾配や段差などの形状を速やかに得る必要がある移動するロボットに、問題なく本発明を適用することができる。
【発明を実施するための最良の形態】
【0018】
以下、本発明を実施するための最良の形態を、図面を参照して詳細に説明する。
【0019】
本発明は、ステレオカメラで撮影された画像(ステレオ画像)を利用して、対象物体の表面形状を高速に推定できる、3次元サーフェス生成方法に関する。
【0020】
つまり、本発明は、既知の視点位置を持つ校正済みのカメラを用いて、それぞれ異なる視点位置から対象物体を撮影した複数のステレオ画像から、物体表面の3次元サーフェスを直接かつ高速に生成できる、3次元サーフェス生成方法である。

<1>本発明の着眼点及び概説
図1に示すように、2台のステレオカメラで撮影された対象物体(以下、単に、「物体」とも言う。)の3次元表面形状は、複数の三角パッチで構成されるメッシュによって表現できる。
【0021】
3次元空間中の各三角パッチは、2つの画像に投影されたとき、画像上に2次元の三角形を描き、3次元メッシュは画像上で2次元メッシュを描く。2枚のうちの一方の画像に投影されたメッシュの全頂点は、その画像を撮影したカメラの光学中心からの距離、即ち、「奥行き」を持つ。
【0022】
したがって、全頂点の奥行きを推定することにより、物体の3次元サーフェスを生成することができる。
【0023】
ここで、全頂点の奥行きを定める画像を「基準画像」と呼び、もう一方の画像を「参照画像」と呼ぶ。基準画像上の1つの三角パッチの領域内の座標は、その三角パッチの3頂点の奥行きと、既知のカメラ視点位置等の情報を含むカメラパラメータを用いて、参照画像の座標に変換することができる。この座標変換を「平面射影変換(homography)」と呼ぶ。
【0024】
すなわち、その三角パッチの3頂点の奥行きが既知であれば、基準画像上のその三角パッチ内の画素値は、その画素の座標を平面射影変換した座標における参照画像上の画素値とほぼ一致すると想定できる。
【0025】
よって、基準画像上のメッシュの全頂点の奥行きが既知であれば、全頂点の奥行きと、カメラパラメータとを用いて、基準画像上の全ての三角パッチの平面射影変換を計算することができる。
【0026】
このとき、各三角パッチの平面射影変換によって基準画像上の全ての座標を変換した座標における参照画像の画素値を抽出し、基準画像の座標と同じ位置に挿入することによって参照画像を変形した画像を生成すると、その画像は基準画像とほぼ一致する。
【0027】
そこで、全頂点の奥行きと、カメラパラメータとが定める各三角パッチの平面射影変換を用いて、参照画像を変形した画像の画素値と、基準画像の画素値との差が小さくなるように、全頂点の奥行きを計算する。このようにして、全頂点の奥行きを求めることにより、物体の3次元サーフェスが生成できる。
【0028】
要するに、本発明では、基準画像を三角パッチによるメッシュ(ポリゴンメッシュ)に分割し、各三角パッチは3次元空間中で平面をなし、物体表面の形状をよく近似できていると仮定する。このとき、それぞれのパッチ領域では、ステレオ画像間において平面射影変換(homography)による座標変換が成立する。
【0029】
校正済みのステレオカメラを利用することにより、その座標変換は、自由度3の平面パラメータを用いて表すことができ、さらに、その自由度は三角パッチの3頂点の奥行きに対応する。つまり、全パッチの頂点の奥行きを求めることにより、物体表面の3次元形状を得ることができる。
【0030】
そこで、本発明では、頂点の奥行きを求める際に、基準画像上のパッチと、対応する参照画像上のパッチとのSSD(Sum of Squared Differences)を考え、全パッチについて加算したSSSD(Sum ofSSD)を最小にする奥行きを、Gauss-Newton法を用いて最適化する。
【0031】
更に、本発明では、パッチに関するステレオ画像間のSSDを、ICIA(Inverse Compositional Image Alignment)を利用して表現することにより、繰り返しごとの計算コストを低く抑える。本発明では、パッチ頂点の画像上の位置を、基準画像上に固定するため、1つの頂点が持つ自由度は、1(奥行き)となる。

<2>平面パラメータの推定
<1>では、本発明の着眼点及び概説を簡潔に述べたが、ここからは、図面及び数式を参照しながら、本発明に係る3次元サーフェス生成方法を詳細に説明する。
【0032】
ここで、まず、本発明において重要な意味をもつ「平面姿勢パラメータ(以下、単に、平面パラメータと言う)」の推定方法について述べる。
【0033】
即ち、ここでは、3次元空間中にある1つの平面に注目し、その平面を一意に表す3自由度のパラメータ(平面パラメータ)を、ICIA(Inverse Compositional Image Alignment)(非特許文献8参照)の考え方を利用して高速に推定する方法について、詳細に述べる。
【0034】
ここで述べる「平面パラメータ推定方法」は、後述する「<3>曲面の形状推定」にて述べる「頂点の奥行き推定」において重要な役割を果たす。

<2−1>ICIA(Inverse Compositional Image Alignment)
まず、ICIAのアルゴリズムについて概説する。
【0035】
基準画像座標を

、参照画像座標を

とし、2つの座標間の変換(warp)を

と表す。
【0036】
ただし、

は座標変換を表す。また、

は「座標変換パラメータベクトル」(以下、単に、「変換パラメータ」とも呼ぶ。)を表し、座標間の変換が平行移動の場合に2次元のベクトルとなり、また、座標間の変換がアフィン変換および平面射影変換の場合に、それぞれ6次元および8次元のベクトルとなる。
【0037】
基準画像をT、参照画像をIとすると、変換パラメータ

は、下記数1で示す画像間のSSD(Sum of Squared Differences)を、最小にする値として得られる。
【0038】
【数1】

ただし、

は、基準画像における注目領域内の画素について加算することを表す。
【0039】
数1を最小化することにより、変換パラメータ

を得る方法は、Gauss-Newton法による最適化を利用したLucas-Kanade法(非特許文献9を参照)が広く知られている。
【0040】
ICIA(非特許文献8を参照)とは、Lucas-Kanade法の改良版であり、Lucas-Kanade法の精度と安定性を損なうことなく、高速化を実現したアルゴリズムである。
【0041】
いま、座標変換

は、結合について閉じており、単位変換と逆変換を持つ(すなわち、変換群をなす)ものとする。
【0042】
すると、座標変換

は、下記数2のように結合変換で表すことができる。
【0043】
【数2】

ただし、

は、

の現在値(初期値)であり、

は、微小要素を持つベクトルである。また、

は、単位写像を表すものとする。
【0044】
ICIAでは、上記数2を利用し、下記数3を最小化する

を求める。
【0045】
【数3】

そして、

の規則により、座標変換パラメータを更新する。この操作を、

が収束するまで繰り返し、最終的な値を

の推定値とする。
【0046】
ICIAの高速性は、次のように説明することができる。
【0047】
Lucas-Kanade法(非特許文献9を参照)では、数1に対し、

付近でTaylor展開する。この場合、

が繰り返し計算のたびに更新され、それに伴い

が変化することから、

における

の値を繰り返しのたびに計算する必要がある。
【0048】
これに対し、ICIAでは、数3において、

付近でTaylor展開する。この場合、微分対象は基準画像Tであるため変化せず、また、

の値は常に固定値

において評価されることから、

を再計算する必要がない。これにより、ヘッセ行列を固定化でき、Lucas-Kanade法よりも、はるかに高速な演算を実現できる。
【0049】
このように、ICIAは、Lucas-Kanade法と比較して、繰り返し計算ごとの計算コストを大幅に削減できるため、近年では、画像レジストレーションのリアルタイム処理を実現するための強力な手段となっている。

<2−2>ICIAを利用した平面射影変換パラメータ推定
ここで、ICIAを利用して、8自由度の平面射影変換パラメータを推定する方法について述べる。
【0050】
3次元空間中の平面を撮影した2枚の画像間では、下記数4のように、3×3の平面射影変換行列

による座標変換が成立する。
【0051】
【数4】

ただし、

および

は、それぞれ

および

の同次座標を表す。また、’〜’は同値関係を表している。
【0052】
数4は、定数倍の不定性を持つため、3×3の平面射影変換行列

の自由度は8であり、ここでは、一番右下の要素(即ち、第3行第3列要素)を固定したものとする。
【0053】
また、数4は、

の座標変換に対応している。
【0054】
ただし、ベクトル

は、

の8個の未知数をラスタ順に並べたものとなる。
【0055】
ICIAを用いた平面射影変換行列

の推定(非特許文献8を参照)では、現在値(初期値)

と微小要素を持つ行列

を用いて、

を下記数5のように表す。
【0056】
【数5】

すなわち、

および

の2つの数式は、それぞれ、

および

による座標変換に対応する。
【0057】
数3を最小化する

は、

をTaylor展開し、数3を

で微分しゼロとおくことにより、下記数6のように書ける。
【0058】
【数6】

ただし、下記数7が成立する。
【0059】
【数7】

ここで、

は、基準画像Tの勾配を示す1×2の列ベクトルであり、下記数8と表される。
【0060】
【数8】

また、

は、下記数9で示す2×8の行列である。
【0061】
【数9】

ここで、eは、

と表され、座標

における基準画像Tの画素値と、

に対応する参照画像I上の画素値との画素値の差を意味する。eは、全ての座標

を用いて、参照画像Iを変形(warp)した画像

を生成しておき、

として求める方法が効率がよいため、一般的に利用される。

および

は、注目領域内の各画素ごとに異なる値を持つ。しかし、既に述べたように、その値は一度だけ計算すればよく、繰り返しのたびに再計算する必要はない。これに伴い、ヘッセ行列の逆行列

も一度だけ計算すればよい。

<2−3>ICIAを利用した平面パラメータ推定
ここでは、前述したICIAの考え方を利用して、3自由度の平面パラメータを高速に推定する方法について説明する。
【0062】
本発明の実施形態を説明する際にしては、煩雑さを避けるため、以後、画像座標

は内部パラメータが正規化された座標(正規化画像座標)を示すものとする。
【0063】
図2に示すように、3次元空間中の平面

は、平面パラメータ

を用いて、

で表される。
【0064】
ただし、

は平面

上の点の3次元座標を表し、基準カメラ座標系にて定義されるものとする。ここでは、

を求めたいパラメータベクトルとする。
【0065】
平面射影変換行列

は、

を用いて、

と表すことができる(非特許文献10を参照)。ただし、

は、カメラ間の回転行列および平行移動ベクトルを表し、それぞれ既知とする。
【0066】
このとき、画像の座標変換は、

をパラメータとして、

と書ける。
【0067】
ICIAを利用して

を求めるには、現在値

と微小変化量

を用いて、座標変換を結合写像

で表現し、下記数10を最小にする

を求めればよい。
【0068】
【数10】

結合写像を表現するために、

を用いて、平面射影変換行列

を下記数11のようにおく。
【0069】
【数11】

数11を数5の形式に変形すると、

および

は、それぞれ下記数12、数13で表される。
【0070】
【数12】

【0071】
【数13】

このとき、数12および数13は、それぞれ

および

による座標変換に対応する。
【0072】
数13は、

の関数として記述したことを意味するため、数10を最小にする

は、微分の連鎖法則を利用して、下記数14のように得られる。
【0073】
【数14】

ただし、下記数15、数16及び数17が成立する。
【0074】
【数15】

【0075】
【数16】

【0076】
【数17】

ここで、

である。また、

は、数6の場合と同様に、基準画像Tの勾配を示す1×2の列ベクトルである。そして、

は、下記数18で示す2×9の行列である。
【0077】
【数18】

数9と数18における

のサイズが異なるのは、

で表現された

には不定性が存在しないためである。
【0078】
また、

にて評価した結果であり、行列

は、下記数19で表される。
【0079】
【数19】

ただし、下記数20、数21、及び数22が成立する。
【0080】
【数20】

【0081】
【数21】

【0082】
【数22】

ここで、{r,r,…,r}は、

の要素をラスタ順に並べたものであり、また、

である。
【0083】
κは画像座標

に依存しないため、数14を改めて書き直すと、下記数23のようになる。
【0084】
【数23】

ただし、下記数24、数25及び数26が成立する。
【0085】
【数24】

【0086】
【数25】

【0087】
【数26】

<2−2>で述べた平面射影変換パラメータの推定と、ここにて述べた平面パラメータ推定との大きな相違点は、前者では、

が変換群をなすのに対し、後者では、

が変換群をなさないことにある。
【0088】
そのため、数13が

に依存してしまい、

の値は繰り返し計算ごと変化する。しかし、その変化は、数23におけるスカラーκに集約されており、

および

は変化しないことを考慮すると、変換群でないことによって生じる繰り返しごとの計算コストの増加は、無視できるほど小さい。
【0089】
これにより、ICIAを利用した平面パラメータ推定は、高速な演算にて実現できることが分かる。

<3>曲面の形状推定
<2−3>では、3次元空間中の1つの平面に注目し、その平面パラメータを高速に推定する方法について述べた。ここでは、<2−3>にて述べた方法を利用して、三角パッチで構成されたポリゴンメッシュ(三角メッシュ)の全頂点の奥行きを求める方法について述べる。

<3−1>三角メッシュによる表面形状モデル
まず、三角メッシュを用いた物体表面形状モデルについて述べる。
【0090】
本発明では、基準画像を小さな三角形で分割してメッシュを生成する必要がある。
【0091】
メッシュを生成する方法としては、例えば、画像全体を方形で分割した後に方形の対角線を結び三角形に再分割する方法や、画像上から特徴点を抽出した後に特徴点を母点としてドロネー分割する方法など、様々な方法が考えられる。
【0092】
本発明では、画像領域全体(基準画像領域全体)が微小な三角形で分割されていれば、上記のメッシュ生成方法に限らず、どのような方法を用いてもよい。ここで、正三角形によって構成されたメッシュの例を図3に示す。
【0093】
メッシュの頂点を

と表し、

は対象物体表面の3次元形状に対応した奥行きdを持つものとする。また、頂点によって構成される三角形をパッチと呼び、C(n=1,2,…,N)と表す。各パッチは3次元空間中において平面を構成するものとする。
【0094】
すなわち、パッチによって構成されるメッシュはポリゴンメッシュであり、メッシュが十分細かければ、任意の3次元形状を精度よく近似できると考えられる。
【0095】
本発明では、メッシュの細かさに関する検討は特に行わない。ただし、画像レジストレーション分野では広く知られているように、粗いメッシュ(即ち、大きなメッシュ)を利用した場合には、より推定が安定になると考えられるため、<3−3>にて述べる全頂点の奥行き推定では、最初は粗いメッシュを用いて奥行きを推定し、徐々にメッシュを細かくする粗密探索のアプローチが有効である。
【0096】
また、画像のRMSEの値を利用して細かい起伏を持つ領域を推定し、その領域に対応するパッチのみを細かくするなど、再分割(subdivision)の考え方を利用したパッチの分割方法も有効であると考えられる。

<3−2>三角パッチの3頂点に対する奥行き推定
次に、<2−3>にて述べた平面パラメータ推定方法を利用して、1つの三角パッチの3頂点の奥行きを求める方法について述べる。
【0097】
ある三角パッチの3頂点の画像上の座標を

とし、それら頂点の奥行きをdとする。このとき、当該三角パッチの3頂点の3次元空間中の座標

は、図4に示すように、

と表すことができる。
【0098】
3次元空間中の三角パッチの平面パラメータを

とすると、ある三角パッチについて、平面パラメータ

と3頂点の奥行きd(m=i,j,k)の関係は、下記数27で表される。
【0099】
【数27】

ただし、下記数28及び数29が成立する。
【0100】
【数28】

【0101】
【数29】

これより、平面パラメータ

と、奥行きパラメータγは比例関係にあり、その比例関係を決定する行列

は、画像上の三角パッチの位置によって一意に定まる。
【0102】
なお、「奥行き」と「奥行きパラメータ」の関係は、上記数29に示す通りである。つまり、γは、ある三角パッチの3頂点の奥行きパラメータを表し、d(m=i,j,k)はそれら頂点の奥行きを表す。
【0103】
よって、数23に微分の連鎖法則を適用することにより、平面パラメータ

の微小変化量

の代わりに、奥行きパラメータγの微小変化量を求めることができる。
【0104】
すなわち、γおよびγΔを、それぞれ奥行きパラメータγの現在値および微小変化量とし、γΔ=γ+γΔとすると、下記数30で表される式を最小化するγΔは、数23により、下記数31で得られる。
【0105】
【数30】

【0106】
【数31】

ただし、下記数32及び数33が成立する。
【0107】
【数32】

【0108】
【数33】

ここで、

である。また、κは、数27により平面パラメータの現在値

を求め、求めた

を数24に代入することにより、得られる。そして、

および

は、数23と同じものである。
【0109】
数23と同様に、数31においても、

は繰り返し計算のたびに変化しない。
【0110】
よって、平面パラメータ推定の場合とほぼ同等の計算コストで、奥行きパラメータγを推定することが可能となる。

<3−3>三角メッシュの全頂点の奥行き推定
ここで、三角メッシュの全頂点の奥行きを最適化する方法について説明する。
【0111】
<3−2>では、1つの三角パッチに注目したときの基準画像と参照画像間のSSDを数30によって表し、そのSSDを最小にする3頂点の奥行きパラメータγを求めた。
【0112】
ここでは、3自由度の平面パラメータと3頂点の奥行きの関係を利用して、<3−1>にて述べた三角メッシュにおける全パッチについてSSDを加算することによって得られるSSSD(Sum of SSD)を最小にすることにより、メッシュの全頂点の奥行きを求める。
【0113】
<3−1>にて述べたように、三角メッシュにおけるパッチ数をN、頂点の数をMとする。また、全頂点の奥行きd,(m=1,2,…,M)の逆数を並べ、

とする。
【0114】
ここでは、

を「三角メッシュにおける全頂点の奥行きパラメータ」とし、以下、単に、「全頂点奥行きパラメータ」とも称する。
【0115】
また、

および

を、それぞれ全頂点奥行きパラメータ

の現在値および微小変化量とし、

とおく。
【0116】
そして、下記数34に示すように、数30を三角メッシュにおける全パッチについて加算したSSSD(Sum ofSSD)を最小化する問題を考える。
【0117】
【数34】


をTaylor展開し、数34を

で微分してゼロとおくことにより、数34を最小にする

は、下記数35となる。
【0118】
【数35】

ただし、下記数36及び数37が成立する。
【0119】
【数36】

【0120】
【数37】

ここで、κは数24に準じたものであるが、平面パラメータの現在値

がパッチごと異なり、それに伴いκの値がパッチごと異なるため、添え字nを付与して表記している。
【0121】
また、

は数28に準じているが、その要素はパッチの画像上の座標

に依存しており、パッチごと異なるため、κと同様に添え字nを付与した。
【0122】
そして、表1に、数35の計算に必要な行列やベクトルを示している。
【0123】
【表1】

数35により、全頂点奥行きパラメータの微小変化量

を求める場合は、<2−3>で述べた単一平面のパラメータ推定や、<3−2>で述べた三角パッチの3頂点の奥行き推定とは異なり、数36の

に関する計算を繰り返しのたびに行う必要がある。
【0124】
ただし、

の計算に注目すると、行列

は、各パッチごと異なるものの、繰り返しごとに変化せず、さらに、この行列は実質的に3×3=9個の要素しか持っていないため、全パッチに関して加算しても計算量は比較的小さい。
【0125】
また、

の計算は、実質的に画素数に依存しており、単一平面のパラメータ推定や3頂点の奥行き推定を、同じ画素数に関して計算した場合とほぼ同じ計算量となる。
【0126】
すなわち、数35の計算量全体を評価すると、同じ画素数を用いて単一平面のパラメータ推定をした場合と比較して、

の逆行列計算の分だけ計算コストの増加と言える。
【0127】
ただし、

の行列サイズは、M×Mであり、三角メッシュにおいて頂点の数が多くなるほど、その計算量は大きくなる。本発明では、計算速度に関して、評価の高いCLapackライブラリを利用して逆行列計算を実装し、計算時間の短縮を実現している。
【0128】
ここで、上述したように、三角メッシュにおける全頂点の奥行き推定を行うことにより、対象物体の表面形状を推定する、「曲面形状推定」、すなわち、「微小平面モデルを用いた曲面形状推定」のアルゴリズムの一例を図5に示す。
【0129】
図5に例示されるアルゴリズムは、初期化処理と推定処理に分けられる。初期化処理では、推定処理にて利用する固定値(繰り返しごとに変化しない行列やベクトル)を計算している。また、推定処理では、数35の計算に必要な値を各パッチについて求め、

の計算と

の更新を収束するまで繰り返す。
【0130】
なお、数34は、基準画像1枚と参照画像1枚を利用した場合、即ち2枚の画像を利用した場合のSSSDを示している。参照画像を2枚以上利用する場合は、即ち基準画像を含めて3枚以上の画像を利用する場合は、数34は、基準画像と参照画像のペアの数だけ存在する。そこで、数34を基準画像と参照画像のペアの数だけ加算することによって得られる新たなSSSDを利用して、全頂点の奥行きパラメータを推定する。

<3−4>高速化処理
<3−3>で述べた「三角メッシュの全頂点の奥行き推定方法」において、三角メッシュにおける頂点数が非常に大きい場合は、数35に必要な

の逆行列を得るために、繰り返しごとに必要な計算時間が長くなり、つまり、計算コストが高くなることがある。
【0131】
この逆行列の計算が必要となるのは、κが繰り返し計算ごとに異なることが原因である。そこで、計算時間をより短くする方法として、κを固定化する方法が考えられる。
【0132】
数24から明らかなように、κの変化は、n番目のパッチの平面パラメータ

が繰り返し計算ごとに変化することによって生じる。しかし、

の繰り返しごとの変化は、非常に小さいため、κを固定しても、計算結果に大きな違いは生じない。
【0133】
よって、特定の繰り返し回数の間は、全パッチにおけるκを固定化し、

の再計算を行わずに計算時間を短くすることが可能である。例えば、1〜5回、6〜10回の繰り返しの間では、

を固定し、1回目と6回目だけ

とその逆行列を再計算する方法などが考えられる。
【0134】
さらに、もし、n番目のパッチにおける平面パラメータ

の現在値が、

とほぼ直交している場合、もしくは、

で表される平面と基準カメラ座標原点との距離が大きければ、数24により

となることが分かる。
【0135】
そこで、はじめからκ=−1,(n=1,2,…,N)として、対象物体の表面モデルを生成することも可能である。この場合、1度だけ

を求めればよく、計算時間をさらに短縮することができる。

<3−5>本発明による3次元サーフェスを生成するための処理の流れ
図6に、本発明を適用して、対象物体を撮影した複数のステレオ画像から、対象物体の3次元サーフェスを生成するための基本的な処理の流れを示す。
【0136】
なお、複数のステレオ画像のうち、一枚のみを基準画像とし、残りの画像を参照画像とする。また、ステレオ画像を撮影した多眼ステレオカメラについて、カメラのレンズ歪や焦点距離などの内部パラメータと、ステレオカメラ間の配置を示す外部パラメータとをあわせて、「カメラパラメータ」としている。
【0137】
説明を簡単にするために、以下、2眼ステレオカメラを用いた場合について説明する。つまり、撮影したステレオ画像が2枚で、1枚は基準画像とし、もう1枚は参照画像とする。
【0138】
図6に示されるように、この処理における入力は、複数のステレオ画像と、ステレオカメラのカメラパラメータである。
【0139】
即ち、既知の視点位置にある校正済みの多眼ステレオカメラを用いて、対象物体を撮影して、ステレオ画像を取得すれば、本発明を適用して対象物体の3次元サーフェスを直接かつ高速に生成することができる。
【0140】
処理の手順として、図6に示されるように、まず、所定の方法(<3−1>の記述を参照)により、基準画像上に2次元三角メッシュ(三角メッシュ)を生成する。
【0141】
次に、生成された三角メッシュの全頂点に対して、奥行きパラメータの初期値(全頂点奥行きパラメータの初期値)を定める。
【0142】
そして、定めた全頂点奥行きパラメータの初期値と、カメラパラメータと、基準画像及び参照画像で構成される複数のステレオ画像(2眼ステレオカメアを用いた場合に、一枚の基準画像と一枚の参照画像で構成する2枚のステレオ画像になる。)とを入力とし、基準画像上のパッチと対応する参照画像上のパッチとのSSDを考え、三角メッシュにおける全パッチについて加算したSSSDを最小にする、全頂点奥行きパラメータを求める最適化処理(全頂点奥行きパラメータ最適化処理)を行う。
【0143】
即ち、全パッチについて加算したSSSDを最小にする、最適な全頂点奥行きパラメータは、全頂点奥行きパラメータの初期値とカメラパラメータとを入力とする最適化手法を用いて、求めることができる。最適化手法では、全頂点奥行きパラメータの微小変化量の計算と、全頂点奥行きパラメータの現在値の更新とを繰り返し行う必要がある。
【0144】
最適化計算における微小変化量の計算は、コスト関数を微小変化量で表現した後に、コスト関数を微小変化量で微分してその結果をゼロとおくことにより、コスト関数の極値(極小値)となるパラメータを求める方程式をたてる。このとき、その方程式を解くために必要な情報は、繰り返しごとに求める必要があるため、一般に短時間で計算を行うことは困難である。
【0145】
しかし、<3−4>高速化処理でも述べたように、全頂点奥行きパラメータの微小変化量の計算において、必要な情報を固定化することができれば、これらの情報は繰り返し毎に計算する必要はなくなり、一度だけ計算すればよいことになり、極めて短時間で計算することが可能となる。
【0146】
全頂点の真の奥行きパラメータが定める平面射影変換は、全頂点奥行きパラメータの現在値が定める平面射影変換と、全頂点奥行きパラメータの微小変化量が定める平面射影変換の合成によって表すことができる。そして、全頂点奥行きパラメータの微小変化量が定める平面射影変換の逆変換によって基準画像を変形して得られた画像の画素値と、全頂点奥行きパラメータの現在値が定める平面射影変換によって参照画像を変形して得られた画像の画素値との差を用いて、コスト関数を表現すると、繰り返しごとに必要な多くの情報は固定化でき、一度だけ計算すればよいことになる。これにより、より短時間での計算を実現できる。
【0147】
図7は、図6に示した最適化処理(全頂点奥行きパラメータ最適化処理)の基本フローである。
【0148】
図7に示されるように、最適化処理(全頂点奥行きパラメータ最適化処理)では、まず、基準画像及び基準画像を撮影した基準カメラのカメラパラメータを用いて、全頂点奥行きパラメータの微小変化量を求めるために利用される情報、即ち、繰り返し計算に必要な情報を一度だけ計算する。
【0149】
次に、全頂点奥行きパラメータの現在値と、カメラ視点位置を含むカメラパラメータとによって定まる各三角形(各三角パッチ)の平面射影変換によって参照画像を変形して得られた画像の画素値と、基準画像の画素値との差分を計算する。以下、この処理を「差分値計算処理」とも称する。
【0150】
差分値が得られた後に、全頂点奥行きパラメータの微小変化量を計算する。つまり、図7に示されるように、繰り返し計算に必要な情報と、差分値と、カメラパラメータと、全頂点奥行きパラメータの現在値を入力として、全頂点奥行きパラメータの微小変化量を計算する。以下、この処理を「全頂点奥行きパラメータの微小変化量計算処理」とも称する。
【0151】
そして、得られた全頂点奥行きパラメータの微小変化量と、全頂点奥行きパラメータの現在値とに基づいて、全頂点奥行きパラメータの現在値を更新する。以下、この処理を「全頂点奥行きパラメータの現在値更新処理」とも称する。
【0152】
「最適化処理」では、「差分値計算処理」、「全頂点奥行きパラメータの微小変化量計算処理」及び「全頂点奥行きパラメータの現在値更新処理」を、所定の収束条件を満たすまで繰り返す。繰り返し処理(繰り返し計算)により、所定の収束条件を満たしたときに最終的に得られた全頂点奥行きパラメータの現在値を「全頂点奥行きパラメータ」とし、よって、三角メッシュにおける全頂点の奥行きが定められることになり、対象物体の3次元サーフェスを生成できる訳である。

<4>実験結果
以下では、本発明の有効性を確認するために行った実験結果を示す。まず、合成画像を利用して本発明を適用した様々なシミュレーション実験の結果について示し、次に、実画像を用いて本発明を適用した実画像実験の結果を示す。

<4−1>シミュレーション実験
シミュレーション実験(合成画像を用いた実験)では、512[pix]×512[pix]の画像を利用し、また、ステレオカメラの設定パラメータは、以下に示す値を利用した。
【0153】
カメラの内部パラメータは、基準カメラ及び参照カメラとも同じであり、下記数38の

で示す。
【0154】
【数38】

また、カメラの外部パラメータは、

(ここで、

は単位行列である)、

とした。ここで、

は、カメラ間の回転行列と平行移動ベクトルをそれぞれ示している。
【0155】
図8には、シミュレーション実験用に作成した合成画像を示す。本発明では、推定時に使用するメッシュを生成するのに、即ち、基準画像上に三角メッシュを生成するのに、前述したように、例えば、固定のメッシュを利用する方法や、抽出された画像特徴点を母点としたドロネー分割などの方法を利用することができるが、シミュレーション実験では、図8に示すように、50[pix]の辺を持つ正三角形を用いてメッシュを作成し、テクスチャを張った平面を10m先に配置した。
【0156】
よって、図8の合成画像を用いた場合、頂点の奥行きは全て10mであり、全パッチの平面パラメータは、

である。
【0157】
図8(A)及び図8(B)には、作成された参照画像と基準画像をそれぞれ示している。図8(A)及び図8(B)の画像は、512[pix]×512[pix]の画像における中央部分の420[pix]×420[pix]領域を表示したものである。このようにして作成した参照画像及び基準画像に対し、図8(C)に示したメッシュの頂点に関して、奥行き推定を行った。
【0158】
図8(C)におけるメッシュの頂点数は61で、パッチ数は96である。奥行き推定に利用した初期値は、全頂点において、15mとした。
【0159】
本実験では、収束条件を特に設定せず、30回まで繰り返し計算を行った。プログラムはC言語で実装し、逆行列計算にはCLapackライブラリを利用した。
【0160】
図8(C)で示したメッシュを利用した場合、Pentium(登録商標)IV(2.8GHz)でLinux(登録商標)OSを備えたパソコン上において、30回の繰り返し計算に要する時間は、約0.9秒であった。
【0161】
メッシュが収束してゆく様子を図9に示す。図9では、基準画像上のメッシュを赤線で示しており、また、真値から計算される参照画像上の頂点を、推定された奥行きによって得られる平面射影変換を用いて基準画像上に投影し、その点によって構成されるメッシュを緑線で示している。
【0162】
よって、正しい奥行きが推定されれば、赤線のメッシュと緑線のメッシュは、完全に一致する。図9から、奥行き推定を繰り返すことにより、赤線のメッシュと緑線のメッシュが一致してゆくことがよく分かる。
【0163】
また、図10には、画像のRMSE(Root Mean Squared Error)と奥行きについて、繰り返し計算ごとの値の変化を示している。即ち、図10の横軸は、最適化計算(最適化処理)における繰り返し回数を表している。
【0164】
図10(A)に、いくつかのパッチに関する画像RMSEの変化と、全パッチについての画像RMSEの変化(*付きの実線)を示す。図10(A)から、30回の繰り返し計算までに、適切に収束していることが分かる。
【0165】
そして、図10(B)は、いくつかの頂点の奥行きの変化を示している。図10(B)から、最終的に、真値(10m)に収束していることが分かる。
【0166】
次に、対象を球体として生成した合成画像を図11に示す。図11では、光軸上の15m先に中心を持ち、半径約7mの球体にテクスチャを貼り付けた。図11(A)及び図11(B)は、作成された参照画像と基準画像を示している。図11の画像は、図8の場合と同様に、512[pix]×512[pix]の画像における中央部分の420[pix]×420[pix]領域を表示したものである。このようにして作成した参照画像及び基準画像に対し、図11(C)に示したメッシュの頂点に関して、奥行き推定を行った。
【0167】
図8の場合と同様に、図11(C)におけるメッシュの頂点数は61で、パッチ数は96である。奥行き推定に利用した初期値は、全頂点において、10mとした。
【0168】
図12に、図11の物体の実形状と、推定された形状を示す。図12により、奥行き推定が適切に行われていることがよく分かる。なお、図12(A)、図12(B)、図12(C)及び図12(D)は、全て同一視点から見たものである。
【0169】
また、繰り返し計算における画像RMSEの変化、および、各頂点の真の奥行きと推定された奥行きとの絶対誤差(以下、単に、奥行き推定誤差の絶対値と呼ぶ。)を、図13に示す。図13(A)では、いくつかのパッチにおける画像RMSEと、全パッチに関する画像RMSEを示し、図13(B)では、いくつかの頂点における奥行き推定誤差の絶対値と、全頂点に関する奥行きのRMSEを示している。図13(A)及び図13(B)から、ほぼ20回の繰り返し計算にて、物体の形状が正しく推定できていることが分かる。
【0170】
更に、球体を用いた実験において、κ=−1,(n=1,2,…,N)と固定した場合における繰り返しごとの画像RMSEの変化と奥行きの絶対誤差の変化を図14に示す。
【0171】
図14(A)及び図14(B)は、図13(A)及び図13(B)と、同様である。繰り返しごとの画像RMSE、および奥行き推定誤差の絶対値は、図13(A)及び図13(B)のものとはやや異なるものの、ほぼ20回の繰り返し計算にて、物体の形状が正しく推定できていることが分かる。
【0172】
すなわち、κ=−1と固定して計算を行っても、κの値を固定しない場合との違いは、僅かである。よって、κの値を固定することにより、計算時間を一層短縮できることが分かる。

<4−2>実画像実験
実画像実験(実画像を用いた実験)に利用された実画像を図15に示す。図15の画像は、月面を模擬した1280[pix]×960[pix]のステレオ画像である。
【0173】
本実験では、粗いメッシュを徐々に細かくしてゆく粗密探索的な方法を用いて、表面モデルを生成した。
【0174】
ここでは、一辺の長さが464[pix]の三角パッチから始め、次の推定では、パッチのサイズを半分にするとともに、前回の頂点の奥行きを初期値とした推定を行った。
【0175】
図15(A)の基準画像では、最後にパッチのサイズとして使用した29[pix]のメッシュを示している。このとき、メッシュの頂点数は817で、パッチ数は1536であった。
【0176】
図15(A)の基準画像及び、図15(B)の参照画像に基づいて、本発明を適用して生成された表面モデルを図16に示す。
【0177】
図16には、図15の実画像を用いた実験において、別々の視点から見た、本発明を適用して推定された3次元形状を示している。図16(A)、図16(C)及び図16(E)は、メッシュとテクスチャを同時に表示したもので、図16(B)、図16(D)及び図16(F)は、テクスチャのみを表示したものである。
【0178】
図16から、メッシュの端に位置する頂点は、その外側にメッシュが存在しないため、他のメッシュによる十分な拘束を受けることができず、推定が不安定になる傾向が見られる。しかし、メッシュ内部の領域の推定は安定であり、メッシュ中央部に見られるエッジを持った勾配や、左上部にみられる小さなクレータの穴が良好に復元されている。

以上のように、合成画像を用いた実験、及び実画像を用いた実験を通じて、本発明の有効性、即ち、本発明を適用することにより、効率的な表面形状推定が可能であることを確認した。
【0179】
また、上記の実験では、2台のステレオカメラを利用して得られた2枚のステレオ画像に基づいて、本発明を適用し、対象物体の3次元サーフェスを生成したが、本発明はそれに限定されず、3台以上のステレオカメラを利用して得られた3枚以上のステレオ画像に基づいても、本発明を適用し、対象物体の3次元サーフェスを生成することができる。
【図面の簡単な説明】
【0180】
【図1】対象物体とその3次元形状を説明するための模式図である。
【図2】3次元空間中の平面を説明するための模式図である。
【図3】基準画像上に生成した三角メッシュの例を示す図である。
【図4】三角パッチの頂点の3次元座標を説明するための模式図である。
【図5】本発明において、曲面形状推定のアルゴリズムを示すプログラムフローである。
【図6】本発明を適用して3次元サーフェスを生成するための基本的な処理の流れを示す図である。
【図7】図6に示した最適化処理の基本フローである。
【図8】シミュレーション実験用に作成した合成画像を示す図である。図8(A)に参照画像を、図8(B)に基準画像を、図8(C)に基準画像上に生成されたメッシュ(推定時使用メッシュ)をそれぞれ示している。
【図9】図8の合成画像を用いた実験におけるメッシュが収束してゆく様子を説明するための図である。
【図10】図8の合成画像を用いた実験において、画像のRMSEと奥行きについて、繰り返し計算ごとの値の変化を示すグラフである。
【図11】シミュレーション実験用に対象を球体として生成された合成画像を示す図である。図11(A)に参照画像を、図11(B)に基準画像を、図11(C)に基準画像上に生成されたメッシュ(推定時使用メッシュ)をそれぞれ示している。
【図12】図11の合成画像を用いた実験における実形状と、本発明を適用して推定された形状を示す図である。
【図13】図11の合成画像を用いた実験において、画像のRMSEと奥行き推定誤差の絶対値について、繰り返し計算ごとの値の変化を示すグラフである。
【図14】図11の合成画像を用いた実験において、κの値を「−1」と固定した場合に、画像のRMSEと奥行き推定誤差の絶対値について、繰り返し計算ごとの値の変化を示すグラフである。
【図15】実画像実験に利用された実画像(ステレオ画像)を示す図である。図15(A)に基準画像を、図15(B)に参照画像をそれぞれ示している。
【図16】図15の実画像を用いた実験において、本発明を適用して推定された3次元形状を示す図である。

【特許請求の範囲】
【請求項1】
既知の視点位置にある校正済みのカメラを用い、対象物体を異なる視点位置から撮影して得られた複数の画像から、前記対象物体の3次元サーフェスを直接に生成する、3次元サーフェス生成方法であって、
前記複数の画像のうち、1枚の画像を基準画像とし、残りの画像を参照画像とした上で、前記基準画像上に複数の三角形によって構成された2次元メッシュを生成する第1のステップと、
前記2次元メッシュの全頂点の奥行きを表す全頂点奥行きパラメータと、カメラ視点位置を含むカメラパラメータとによって定まる各三角形の平面射影変換によって前記参照画像を変形して得られた画像の画素値を要素とするベクトルと、前記基準画像の画素値を要素とするベクトルとの距離をコスト関数の1つの項とし、
前記複数の画像と、前記カメラパラメータと、前記全頂点奥行きパラメータの初期値とを入力とする最適化手法を用いて、前記全頂点奥行きパラメータの微小変化量の計算と、前記全頂点奥行きパラメータの現在値の更新を、所定の条件まで繰り返し行うことによって、前記コスト関数の値が最小となる、前記全頂点奥行きパラメータを計算する第2のステップと、
を有することを特徴とする3次元サーフェス生成方法。
【請求項2】
前記第2のステップをより短時間内で行うために、
前記第2のステップでは、
前記全頂点奥行きパラメータの現在値が定める平面射影変換と、前記全頂点奥行きパラメータの微小変化量が定める平面射影変換との合成によって真の平面射影変換を表現し、
前記全頂点奥行きパラメータの微小変化量が定める平面射影変換の逆変換によって前記基準画像を変形して得られた画像の画素値を要素とするベクトルと、前記全頂点奥行きパラメータの現在値が定める平面射影変換によって前記参照画像を変形して得られた画像の画素値を要素とするベクトルとによって、前記距離と同等の距離を表現することによって、繰り返しごとに必要な情報を1度だけ計算する請求項1に記載の3次元サーフェス生成方法。
【請求項3】
既知の視点位置にある校正済みのカメラを用い、対象物体を異なる視点位置から撮影して得られた複数の画像から、前記対象物体の3次元サーフェスを直接に生成する、3次元サーフェス生成方法であって、
前記複数の画像のうち、1枚の画像を基準画像とし、残りの画像を参照画像とした上で、前記基準画像上に複数の三角形によって構成された2次元メッシュを生成する、2次元メッシュ生成ステップと、
前記2次元メッシュ生成ステップで生成された2次元メッシュの全頂点の奥行きを表す全頂点奥行きパラメータによって定まる各三角形の平面射影変換によって前記参照画像を変形して得られた画像の画素値と、前記基準画像の画素値との差が小さくなるように、前記全頂点奥行きパラメータを最適化手法によって推定する、全頂点奥行き推定ステップと、
を有することを特徴とする3次元サーフェス生成方法。
【請求項4】
前記全頂点奥行き推定ステップは、
前記全頂点奥行きパラメータの微小変化量が定める平面射影変換と、前記全頂点奥行きパラメータの現在値が定める平面射影変換とに基づいて、真の平面射影変換が合成され、
前記微小変化量が定める平面射影変換の逆変換によって前記基準画像を変形して得られた画像の画素値と、前記現在値が定める平面射影変換によって前記参照画像を変形して得られた画像の画素値の差が小さくなるように、前記微小変化量を計算することによって、繰り返しごとに必要な情報を1度だけ計算する請求項3に記載の3次元サーフェス生成方法。
【請求項5】
既知の視点位置にある校正済みのカメラを用い、対象物体を異なる視点位置から撮影して得られた複数の画像から、前記対象物体の3次元サーフェスを直接に生成する、3次元サーフェス生成方法であって、
前記複数の画像のうち、1枚の画像を基準画像とし、残りの画像を参照画像とした上で、前記基準画像上に複数の三角パッチによって構成された2次元メッシュを生成するステップと、
前記2次元メッシュの全頂点の奥行きを表す全頂点奥行きパラメータの初期値を定めるステップと、
定めた全頂点奥行きパラメータの初期値と、カメラ視点位置を含むカメラパラメータと、前記複数の画像とに基づいて、前記2次元メッシュにおける全パッチについて加算したSSSDを最小にする、前記全頂点奥行きパラメータを求める最適化処理を行うステップと、
を有することを特徴とする3次元サーフェス生成方法。
【請求項6】
前記最適化処理では、
前記基準画像、及び前記カメラパラメータを用いて、前記全頂点奥行きパラメータの微小変化量を求めるために利用される情報、即ち、繰り返し処理に必要な情報を一度だけ計算する、繰り返し処理用情報計算ステップと、
前記全頂点奥行きパラメータの現在値と、前記カメラパラメータとによって定まる各三角パッチの平面射影変換によって前記参照画像を変形して得られた画像の画素値と、前記基準画像の画素値との差分を計算する、差分値計算処理ステップと、
前記繰り返し処理用情報計算ステップで得られた必要な情報と、前記差分値計算処理ステップで得られた差分値と、前記カメラパラメータと、前記全頂点奥行きパラメータの現在値を入力として、前記全頂点奥行きパラメータの微小変化量を計算する、微小変化量計算処理ステップと、
前記微小変化量計算処理ステップで得られた微小変化量と、前記全頂点奥行きパラメータの現在値とに基づいて、前記全頂点奥行きパラメータの現在値を更新する、現在値更新処理ステップと、
を有する請求項5に記載の3次元サーフェス生成方法。
【請求項7】
前記最適化処理では、前記差分値計算処理ステップ、前記微小変化量計算処理ステップ及び前記現在値更新処理ステップを、所定の収束条件を満たすまで繰り返し、繰り返し処理により、前記収束条件を満たしたときに得られた全頂点奥行きパラメータの現在値を全頂点奥行きパラメータとすることにより、前記3次元サーフェスを生成する請求項6に記載の3次元サーフェス生成方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate


【公開番号】特開2008−123019(P2008−123019A)
【公開日】平成20年5月29日(2008.5.29)
【国際特許分類】
【出願番号】特願2006−302717(P2006−302717)
【出願日】平成18年11月8日(2006.11.8)
【出願人】(304021417)国立大学法人東京工業大学 (1,821)
【Fターム(参考)】