(57)【要約】【課題】  張り合わせる三次元形状の数を減らし、より解像度の高いテクスチャ画像を貼り付け高画質な三次元画像を生成することを目的とする。【解決手段】  ２次元パターン光を立体物に投光する投光部１０２と、前記立体物１０３の三次元画像を撮像する撮像部１００とを有し、投光部１０２は投光又は消光の選択部を有し、撮像された立体物１０３の画像に、撮像部１００によって撮像されたテクスチャ画像を貼り付けることにより三次元画像を生成する三次元画像生成装置である。撮像部１００は、画像の倍率を変更する倍率変更手段を有し、前記選択部により投光を選択したときは、小さな倍率で撮像し、前記選択部により消光を選択したときは、大きな倍率で撮像することを特徴とする。【選択図】  図１
2005071264.tif 000002
【特許請求の範囲】
【請求項１】
２次元パターン光を立体物に投光する投光部と、前記立体物の三次元画像を撮像する撮像部とを有し、
前記投光部は投光又は消光の選択部を有し、撮像された前記立体物の画像に、前記撮像部によって撮像されたテクスチャ画像を貼り付けることにより三次元画像を生成する三次元画像生成装置において、
前記画像撮像部は、前記画像の倍率を変更する倍率変更手段を有し、
前記選択部により投光を選択したときは、小さな倍率で撮像し、
前記選択部により消光を選択したときは、大きな倍率で撮像する、
ことを特徴とする三次元画像生成装置。
【請求項２】
前記立体物の周囲の複数の撮像視点において、前記２次元パターン光を消光した状態で前記立体物を撮像する、
ことを特徴とする請求項１記載の三次元画像生成装置。
【請求項３】
画像撮像部を支持する支持部を有し、前記支持部が移動する移動可能手段を有する、
ことを特徴とする請求項１又は請求項２に記載の三次元画像生成装置。
【請求項４】
前記移動手段は、回転運動及び並進運動の少なくとも１つを行い、
移動前及び移動後の撮像位置で、前記２次元パターン光を消光し、
前記立体物に換えて所定のテストパターンを撮像し、
前記テストパターン画像の寸法に基づいて、移動手段の移動量を算出し記憶する、
ことを特徴とする請求項１又は請求項２記載の三次元画像生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、三次元画像生成装置に関し、特に三次元形状に対する高解像度なテクスチャ画像の貼り付け技術に関する。
【背景技術】
【０００２】
物体の三次元形状（立体物）を計測する方法としては、計測の対象となる物体に、制御された光波、電波や音波などを照射し、物体形状に依存したこれらの挙動を計測する方法などがある。取り扱いの簡易さや産業上の要請のため、光波が用いられることが多いが、例えば、物体に光を投射して帰ってくるまでの時間から各部位の形状を算出する方法や、物体にスリット状のパターン光を投射し、スリットパターン投影位置とは異なる位置から画像（距離画像）を取得し、三角測量を用いて三次元形状を復元する方法などが知られている。
【０００３】
このような様々な手法で測定された物体の三次元形状に、被写体を撮像した２次元画像を貼付することでリアルな三次元画像が生成される。この被写体の実画像をテクスチャ画像と呼び、テクスチャ画像を三次元形状に貼り付けることをテクスチャマッピングという。
【０００４】
これまでは、三次元形状を生成するための被写体の距離画像とマッピングを行うためのテクスチャ画像を同じ撮像位置から撮像し、複数の距離画像から生成された複数の三次元形状をＩＣＰ（Iterative Closest Point）アルゴリズムなどで貼り合わせ、一つの三次元形状を得ていた。そしてその形状に対して複数の方向から撮像したテクスチャ画像を張り合わせることで三次元形状を生成していた。
【０００５】
また、生成される三次元形状の品質に大きく寄与するのはテクスチャマッピングなどのレンダリングであることが知られている。このため、テクスチャ画像の品質を向上させる様々な方法提案されてきた（例えば、特許文献１参照。）。
【特許文献１】特開２００１−２９１１１６
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、複数の三次元形状を張り合わせて全体像を得る手法は、計算時間が長くかかり、また、スリット光投影法の場合は三次元座標に誤差が含まれ易いため、複数の三次元形状を貼り合わせる時に上手に張り合わないという問題があった。
【０００７】
また、三次元形状に貼り付けるテクスチャ画像は、三次元形状の距離画像と同じ倍率で撮影されていたため、三次元形状と同じ解像度でテクスチャマッピングされるにすぎなかった。
【０００８】
そこで本発明は、張り合わせる三次元形状の数を減らし、より解像度の高いテクスチャ画像を貼り付け高画質な三次元画像を生成することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明は、以下の特徴を有する課題を解決するための手段を採用している。
【００１０】
請求項１に記載された発明は、２次元パターン光を立体物に投光する投光部と、前記立体物の三次元画像を撮像する撮像部とを有し、前記投光部は投光又は消光の選択部を有し、撮像された前記立体物の画像に、前記撮像部によって撮像されたテクスチャ画像を貼り付けることにより三次元画像を生成する三次元画像生成装置において、前記画像撮像部は、前記画像の倍率を変更する倍率変更手段を有し、前記選択部により投光を選択したときは、小さな倍率で撮像し、前記選択部により消光を選択したときは、大きな倍率で撮像することを特徴とする。
【００１１】
請求項１に記載された発明によれば、張り合わせる三次元形状の数を減らし、より解像度の高いテクスチャ画像を貼り付け高解像度な三次元画像を生成することができる。
【００１２】
請求項２に記載の発明は、請求項１記載の三次元画像生成装置において、前記立体物の周囲の複数の撮像視点において、前記２次元パターン光を消光した状態で前記立体物を撮像することを特徴とする。
【００１３】
請求項２に記載された発明によれば、複数の撮像視点で撮像したテクスチャ画像を前記立体物の画像に貼り付けることができる。
【００１４】
請求項３に記載された発明は、請求項１又は請求項２に記載の三次元画像生成装置において、画像撮像部を支持する支持部を有し、前記支持部が移動する移動手段を有することを特徴とする。
【００１５】
請求項３に記載された発明によれば、撮像部を保持し、撮像部の位置を移動させることができる。
【００１６】
請求項４に記載された発明は、請求項１又は請求項２記載の三次元画像生成装置において、前記移動手段が、所定量の回転運動及び並進運動の少なくとも１つを行い、前記２次元パターン光を消光し、移動前及び移動後の撮像位置で、前記立体物に換えて所定のテストパターンを撮像し、前記テストパターン画像の寸法に基づいて、移動手段の移動量を算出し記憶することを特徴とする。
【００１７】
請求項４に記載された発明によれば、撮像部の回転運動及び並進運動を制御でき、予め撮像位置の移動量を算出し記憶し、三次元画像生成の処理時間を短縮することができる。
【発明の効果】
【００１８】
本発明によれば、距離画像の撮像回数を減少させることで計算時間を短縮でき、テクスチャ画像の品質を向上させることができる。
【発明を実施するための最良の形態】
【００１９】
以下、添付図面を参照しながら本発明の実施の形態について説明する。
【実施例１】
【００２０】
三次元画像生成装置の一構成例を図１に示す。
【００２１】
図１は、撮像部１００、撮像スイッチ１０１、投光部１０２、被写体１０３、撮像スイッチ１０５から構成される。撮像部１００は、被写体１０３である三次元形状（立体物）又はテクスチャの画像を撮像する。投光部１０２は、２次元パターン光１０４を投射する。撮像スイッチ１０１は、撮像部１００に撮像させ、かつ、投光部１０２に２次元パターン光１０４を投射させるスイッチである。従って、撮像スイッチ１０１を押すと、２次元パターン光１０４が投射された状態で撮像部１００が撮像を行う。撮像スイッチ１０５を押すと、２次元パターン光１０４が投射されない状態で撮像部１００が撮像を行う。なお、投光部１０２が投射する光は、三次元形状を計測できるものであれば、スポット光、ステップ光などであっても良い。
【００２２】
続いて、本実施例である三次元画像生成装置の動作の仕組みを図２に沿って説明する。図２は、本実施例の動作の流れを示すフローチャート図である。
【００２３】
まず、撮像前にあらかじめ撮像系の内部パラメータを算出しておく（Ｓ１）。ここで、内部パラメータは、三次元における座標変換を行うものであるため、３×３行列の内部パラメータ行列Ａで表現される。内部パラメータ行列Ａは、２次元パターン光が投射された画像に基づいて復元した三次元形状を、被写体を撮像した２次元画像に対応させるための、主に座標変換を行う。内部パラメータは、カメラや２次元パターン光の配置、レンズの焦点距離などによって異なるので、計測系ごとに異なったものとなる。本実施例では、撮像部の倍率が変更可能であるので、変更可能な範囲にある倍率に対して一つずつ内部パラメータ行列を算出しておく。
【００２４】
はじめに、被写体を撮像するときの動作を説明する。撮像スイッチ１０１を押すと、投光部１０２から２次元パターン光１０４が投影された状態で、撮像部１００が被写体１０３である立体物を撮像する（Ｓ２）。撮像部の結像倍率をＴ１とし、このとき撮像された画像をＳ１０１とする。
【００２５】
次に結像倍率を大きくする（Ｓ３）。そして撮像スイッチ１０５を押し、被写体１０３であるテクスチャ画像の撮像を行う（Ｓ４）。このときの撮像部の結像倍率をＴ５とし、このとき撮像された画像をＴ１０５とする。倍率を大きくしたことで撮像範囲は縮小するが、テクスチャ画像が拡大して撮像されることとなる。
【００２６】
次に三次元形状生成処理を行う。まず、画像Ｓ１０１を用いて三次元形状の復元を行う。画像Ｓ１０１には２次元パターン光が投影された被写体１０３が撮像されているので、Ｓ１０１に基づいて三次元データ群１０９を生成する（Ｓ５）。２次元パターン光としてスリット光を用いた場合は、スリット光投影法を適用する。もっとも、三次元データ群１０９を生成するための投影法は問わない。また、三次元データ群１０９の座標系は、撮像部を原点としたカメラ座標系を用いる。
【００２７】
画像Ｓ１０１は結像倍率Ｔ１で撮像されたので、三次元データ群１０９の生成には、結像倍率Ｔ１に対応する内部パラメータを用いる。三次元データ群１０９が生成されたら、それに基づいて、サーフェスモデルを生成する（Ｓ６）。サーフェスモデルとは物体を面の集合として表現するモデルであり、三次元形状が面及びその境界を形成する線や点の座標の集合で与えられる。本実施例では、サーフェスモデルとして物体を構成する面を多角形の面の集合で表現するポリゴンモデルを用いる。ポリゴンモデル１１０は、ある三次元空間に三次元データを配置し、隣接する三次元データ同士を直線でつなぎ、多角形の平面を使って立体を表現することによって生成される。ポリゴンモデル１１０によって、例えばコンピュータグラフィックスなどで、被写体１０３を視覚で認識できる形に表現できる。
【００２８】
続いて、ポリゴンモデル１１０に、ステップ４で撮像されたテクスチャ画像を張り合わせる。三次元形状を撮像したとき（Ｓ２）とテクスチャ画像を撮像したとき（Ｓ４）では結像倍率が異なるので、三次元データ群１０９の各々の座標がテクスチャ画像Ｔ１０５のどの座標と対応するのかを計算する必要がある（Ｓ７）。
【００２９】
三次元データ群１０９の各々の座標とテクスチャ画像Ｔ１０５の座標の対応は、式（１）を用いることで計算できることが知られている。
【００３０】
【数１】
2005071264.tif 000003
式（１）において、Aは内部パラメータ行列を表し、本実施例の場合、結像倍率Ｔ５に対応する内部パラメータ行列である。また、（A,0）は３＊３の内部パラメータ行列に、３＊１の零行列を合わせて生成された３＊４行列である。ｓはスカラーである。
【００３１】
また、厳密に三次元形状の復元を行うには結像倍率がＴ１から結像倍率Ｔ５に変更したことによる撮像系の中心の移動量を考慮するべきであるが、本実施例では生成される三次元形状に大きな影響を与えないため、省略しても問題ない。
【００３２】
三次元データ群１０９に属するすべての点を式（１）に代入すれば、対応する画像Ｔ１０５上の座標が求められる。
【００３３】
図３は、ポリゴンモデルとテクスチャ画像の対応を示す図である。図３のポリゴンモデル１１０はステップ６で生成された被写体１０３のポリゴンモデルを、画像Ｔ１０５はステップ４で撮像したテクスチャ画像を、それぞれ表す。領域１１２は、ステップ７の結果得られたポリゴンモデル１１０と画像Ｔ１０５の対応関係に基づいて、画像Ｔ１０５から一部を取り出した領域である。
【００３４】
このとき、結像倍率Ｔ５は結像倍率Ｔ１より大きいとしているので、ポリゴンモデル１１０には含まれ画像Ｔ１０５に含まれない領域が存在する。図３ではこれを不要点１１３と表示する。不要点１１３のように画像Ｔ１０５内に存在しない三次元データは、三次元データ群１０９から削除すると共にポリゴンモデル１１０から対応する頂点を削除する。
【００３５】
最後に、画像Ｔ１０５上に存在した点のうち、ポリゴンモデル１１０の各面を生成している頂点と対応する座標をＴ１０５上から抽出する。そして、Ｔ１０５上で頂点が形成している領域、図３では領域１１２の画像を、ポリゴンモデル１１０上の対応する面の大きさに合致するように伸縮、変形しポリゴンモデル１１０に貼り付ける（Ｓ８）。
【００３６】
以上の仕組みにより三次元画像生成装置が動作し、三次元画像であるポリゴンモデル１１１が生成される。
【００３７】
本実施例では、拡大して撮像されたテクスチャ画像がポリゴンモデルの大きさに合わせ貼り付けられるので、より高画質なテクスチャマッピングが可能となる。特に、凹凸の少なく（オクルージョンの生じない形状）、小さな活字や、複雑な模様が描かれているような被写体、例えば、被服や書籍の撮像に非常に有効である。もちろん、被写体の一部の三次元形状を生成する場合だけでなく、被写体の全周三次元形状を生成する場合にも有効である。
【実施例２】
【００３８】
続いて第２実施例について説明する。図４は、第２実施例における撮像部、投光部、被写体の構成を示す図である。図４において、図１と同一構成部分については同一の符号を用いることとし、その説明は省略する。
【００３９】
図４は、被写体１０３の周囲３つの地点で撮像を行う図を示している点で図３と異なる。従って、図４に示す第２実施例は第１実施例と同様に、撮像部１００、撮像スイッチ１０１、投光部１０２、被写体１０３、撮像スイッチ１０５から構成される。従って、撮像スイッチ１０１を押すと、２次元パターン光１０４が投射された状態で撮像部１００が撮像を行い、撮像スイッチ１０５を押した場合は、２次元パターン光１０４を投射しない状態で撮像部１００が撮像を行う。
【００４０】
本実施例の動作の仕組みを図５のフローチャートに沿って説明する。図５は、本実施例の動作の流れを示すフローチャート図である。図５において、図２と同一ステップについては同一符号を付し、その説明は省略する。
【００４１】
（画像の撮像）
まず、第１実施例と同様、倍率毎に内部パラメータ行列を算出しておく（Ｓ１）。
【００４２】
次に、被写体１０３を撮像するときの動作を説明する。位置２９９９にある撮像系において、撮像系の結像倍率を適当な値、結像倍率Ｔ１１に設定し、それを記憶する。そして、撮像スイッチ１０１を押し、撮像部１００より２次元パターン光１０４が被写体１０３に投影された状態で撮像する（Ｓ２）。このとき撮像された画像をＳ３０１とする。また同じ位置２９９９で撮像スイッチ１０５を押し、２次元パターン光１０４が被写体１０３に投影されていない状態においても撮像する（Ｓ４）。このとき撮像された画像をＴ３０１とする。第１実施例においては、画像Ｔ３０１に相当する画像は撮像されていないが、本実施例では、撮像系の移動量を算出するために、後に画像Ｔ３０１を用いる。
【００４３】
次に結像倍率をＴ１１よりも拡大させＴ１５とする（Ｓ３）。これにより、撮像範囲は縮小されるが、テクスチャ画像が拡大された状態で撮像可能となる。
【００４４】
結像倍率を変更することで、撮像される画像の中心が移動する可能性がある。そこで、結像倍率Ｔ１１で撮像したときの撮像位置２９９９に対し、結像倍率Ｔ１５で撮像したときの撮像位置を３０００とする。すなわち、物理的な位置は変更していないが、結像倍率を変更することで撮像系の位置が移動したものとみなし、撮像系の位置が位置２９９９から位置３０００に移動したと考える。続いて、撮像スイッチ１０５を押し、被写体１０３の撮像を行う（Ｓ４−２）。このとき撮像された画像をＴ３０００とする。
【００４５】
次に、撮像部１００を位置３０００から位置３００１に移動する（Ｓ９）。位置３００１は、位置３０００に対し、被写体の同一の一部分が両方の位置から撮像される位置関係になるように決定する。また、図４では投光部１０２と撮像部１００が一体型の三次元画像生成装置を表しているため、投光部１０２と撮像部１００は同時に移動しているが、投光部と撮像部が別々の三次元画像生成装置の場合、投光部１０２は移動しなくても良い。
【００４６】
その後、撮像スイッチ１０５を押し、被写体１０３の撮像を行う（Ｓ４−３））。なお、このときの結像倍率はＴ１５であり、このとき撮像された画像をＴ３００１とする。
【００４７】
同様に、位置３００１から位置３００２に移動を行い（Ｓ９−２）、撮像スイッチ１０５を押し、結像倍率Ｔ１５で被写体１０３を撮像し（Ｓ４−４）、撮像された画像をT３００２とする。なお、位置３００２は、位置３０００に対し、被写体の一部分が両方の位置から撮像される位置関係にあるように決定する。
【００４８】
以上で、位置３０００、３００１及び３００２において、結像倍率Ｔ１５で、被写体１０３のテクスチャ画像が撮像されたことになる。
【００４９】
（三次元形状の復元）
続いて、三次元形状生成処理を行う。画像Ｓ３０１を用いて三次元形状の復元を行う。上述の通り、画像Ｓ３０１は２次元パターン光が投影された状態で撮像されているので、第１実施例と同一手法で、三次元形状を復元できる（Ｓ５，６）。
【００５０】
（撮像部の移動量算出）
撮像部を位置３０００から位置３００１に移動した際の撮像部の移動量を算出する。
【００５１】
撮像部の移動量は、式（２）で求められる。式（２）において、Ｒは３×３行列を表し、Ｖ、Ｍｃ,Ｍｗは３×１ベクトルを表す。
【００５２】
【数２】
2005071264.tif 000004
撮像部が位置３００１にあるとき、撮像部のある１点を原点とした撮像部座標系において、画像Ｔ３００１のある座標をＭｃとする。そして、撮像部が位置３０００にあるとき、Ｍｃに対応する地点を、位置３０００における撮像部のある１点を原点とした撮像部座標系で表示したある座標をＭｗとする。式（２）は、座標Ｍｗと座標Ｍｃとの対応を利用して、位置３０００から位置３００１への撮像部の移動量を、回転行列Ｒ、並進ベクトルＶで表すことができることを意味する（詳しくは、“The International Journal of Computer Vision”,Vol.10,No.2,pp.101-124、R.Deriche著、を参照）。
【００５３】
はじめに、画像Ｔ３０００と画像Ｔ３００１の対応点を探索する。まず、R.Dericheらの考案した、曲率の高いコーナーを検出する方法で両画像から特徴点を検出する（Ｓ１０）。そして、両画像の特徴点同士をブロックマッチングにより対応付けする（Ｓ１１）。もちろん、対応点探索をすべて手動により行っても良い。
【００５４】
検出された、画像Ｔ３０００と画像Ｔ３００１の対応点の組が８組以上あれば、次に示す８点アルゴリズムの利用が可能となる。この８点アルゴリズムを用いれば、位置３０００から位置３００１までの撮像部１００の回転行列Ｒ３００１と、並進ベクトルＶ３００１を算出が可能である（８点アルゴリズムについては、「武田ら“くりこみ法による平面からの三次元運動解析”、情報処理学会研究報告９４−CV−９０ほか」、を参照）。
【００５５】
しかしながら、８点アルゴリズムでは並進ベクトルの方向のみしか算出されないので、続いて並進ベクトルの大きさを求める方法を説明する。並進ベクトルＶ３００１を単位ベクトルとして実際の並進の大きさをαで表せば、αを算出することによりα×Ｖ３００１で並進ベクトルを求められる。
【００５６】
三次元データ群１０９の中から、位置３００１で撮像した画像Ｔ３００１に撮像されている、ある三次元データＬ（x、y、ｚ）を選択する。三次元データＬは、スリット光投影法で画像Ｓ３０１から算出されたデータであるので、三次元データＬと対応する画像座標がＳ３０１に必ず存在することになる。
【００５７】
三次元データＬに対応する画像Ｓ３０１上の画像座標を画像座標ＬＳ３０１とする。更に、画像Ｓ３０１と画像Ｔ３０１は、同じ位置から同じ結像倍率で撮像されているので、画像Ｓ３０１と画像Ｔ３０１での同一座標は、被写体の同一部分を撮像している。これを利用して、画像Ｔ３０１において、画像座標ＬＳ３０１に対応する座標を抽出し、それを画像座標ＬＴ３０１とする。
【００５８】
前記方法と同様の対応点探索方法で、画像Ｔ３０１と画像Ｔ３００１間で、画像Ｔ３０１の座標ＬＴ３０１と対応する画像座標を画像Ｔ３００１から検出し、その画像座標をＬＴ３００１（ｕ、ｖ）とする。
【００５９】
画像座標ＬＴ３００１（ｕ、ｖ）と三次元データＬ（ｘ、ｙ、ｚ）の関係を利用すると、常数αを求めることができる。このとき、並進ベクトルＶが単位ベクトルであると仮定すると、Ｔ３００１はＴ３０００の位置から単位ベクトルの大きさだけ移動したある仮想の位置に存在することになる。これを利用して、三次元データＬ（ｘ、ｙ、ｚ）と画像座標ＬＴ３００１（ｕ、ｖ）を用いて、以下の行列式を導くことができる。
【００６０】
【数３】
2005071264.tif 000005
ここでＡはＴ３００１撮像時の結像倍率Ｔ１５の内部パラメータ行列を表している。式（３）を解くことによりｒ、そしてαを求めることができる。実際には（ｘ、ｙ、ｚ）,（ｕ、ｖ）ともに誤差を含むので、式（３）を満たすｒ、αが存在しないことがある。そのような場合には式（３）において、左辺と右辺の差の絶対値を最小化するようなｒ、αの組を求め、多数の三次元データと画像座標に対し繰り返し行うことによりｒ、αを求める。
【００６１】
この方法によりαが求められることで、位置３０００から位置３００１までの撮像部の移動量、回転行列Ｒ３００１、並進ベクトルＶ３００１を求めることができる。同様の手法を画像Ｔ３０００、Ｔ３００２に適用すると、位置３０００から位置３００２までの撮像部の移動量である、回転行列Ｒ３００２、並進ベクトルＶ３００２を求めることができる。
【００６２】
同様にして、位置２９９９と位置３０００までの撮像系の中心の移動量、回転行列Ｒ３０００、並進ベクトルＶ３０００も求めることができる。この結像倍率の変化による撮像系の中心の移動量は撮像系に固有のものであるので、撮像系の中心の移動量がその後の移動量の算出に伝播しないように、三次元形状の撮像前にあらかじめ算出しておくのが望ましい。
【００６３】
以上で撮像系の移動量が算出された。移動量を算出できれば、位置３０００の三次元データに基づいて視点位置を変えた三次元形状を表示しても、適当な位置から見たテクスチャ画像を貼り付けることができる。もっとも、三次元形状の精度を向上させるため、所定の位置で、撮像スイッチ１０１を押し２次元パターン光１０４が投射された状態で被写体１０３を撮像し、三次元データを生成しても良い。
【００６４】
（テクスチャの貼り付け）
続いて、テクスチャの貼り付けについて説明する。
【００６５】
まず、位置２９９９における三次元データ群１０９に属するすべての三次元データを、回転行列Ｒ３０００、並進ベクトルＶ３０００を用いて、位置３０００における座標系に変換し、三次元データ群３３３を生成する。これにより、結像倍率の変更による画像の中心の移動量が考慮された三次元データ群３３３が生成される。
【００６６】
続いて、三次元データ群１０９に属するすべての三次元データを式(1)に代入し、対応する画像Ｔ３０００上の座標を求める。第１実施例のように、対応する画像Ｔ３０００上に存在しない場合もあるが本実施例では、画像Ｔ３００１上又はＴ３００２上にある可能性があるので、この時点では、三次元データ群１０９、ポリゴンデータ３１０からは除去しない。
【００６７】
【数４】
2005071264.tif 000006
続いて、式（４）のＲ,ＶをそれぞれＲ３００１、Ｖ３００１に置き換え、三次元データ群１０９に属するすべての三次元データ（x、y、z）を式（４）に代入し、対応する画像Ｔ３００１上の座標（ｕ、ｖ）を求める。同様に式（４）のＲ、ＶをそれぞれＲ３００２、Ｖ３００２に置き換え、三次元データ群３３３に属するすべての三次元データを式（４）に代入し、対応する画像Ｔ３００２上の座標（ｕ、ｖ）を求める。実際には式（４）を満たす（ｕ、ｖ）の組が存在しない場合もあるので、その場合は式（４）を満たす最も近い組（ｕ、ｖ）を計算する。
【００６８】
Ｔ３０００、Ｔ３００１、Ｔ３００２のいずれにも属しない三次元データに対応する座標をポリゴンモデル３１０から削除する。以上で、位置２９９９で撮像された三次元データと移動後のテクスチャ画像Ｔ３０００、Ｔ３００１、Ｔ３００２の対応が求められた。
【００６９】
次に、これまでの三次元画像データの処理結果に基づいて、ポリゴンモデル３１０にテクスチャ画像の貼り付けを行う。第１実施例と同様に、Ｔ３０００、Ｔ３００１、Ｔ３００２のそれぞれに対してポリゴンモデルの平面と対応している領域を抽出し、伸縮、変形することにより貼り付ける。
【００７０】
しかしながら、本実施例の場合、位置３０００、位置３００１、位置３００２は被写体の一部を重複して撮像できるように配置してある。このため、被写体の一部が重複している場合の処理について説明する。
【００７１】
図６は、ポリゴンモデルと複数のテクスチャ画像の対応を示す図である。図６は、ステップ６によって生成されたポリゴンモデル３１０が、位置３０００における画像Ｔ３０００及び位置３００１における画像Ｔ３００１に撮像された一例を示す。図６では、ポリゴンモデル３１０のある平面３２５が、位置３０００で撮像された画像Ｔ３０００において対応する領域を領域３２７、位置３００１で撮像された画像Ｔ３００１において対応する領域を領域３２８と表す。
【００７２】
図６のようにポリゴンモデル３１０の平面を形成している頂点が画像Ｔ３０００とＴ３００１の両方に存在する場合には、どちらのテクスチャ画像をポリゴンモデル３１０に貼り付けるかを決定しなければならない。
【００７３】
決定するための手順を図７に基づいて説明する。図７は、ポリゴンモデル３１０と、位置３０００及び位置３００１における撮像系の位置関係示す図である。図７において、撮像部１００が位置３０００に存在するときの撮像面を４０００、撮像面の単位法線ベクトルを法線ベクトルＮ４０、撮像部１００が位置３００１に存在するときの撮像面を４００１、撮像面の単位法線ベクトルを法線ベクトルＮ４１、と表す。ポリゴンモデル３１０のある平面をポリゴン平面３２５とし、また、ポリゴン平面３２５の単位法線ベクトルを法線ベクトルＮ３２５とする。
【００７４】
そして、法線ベクトルＮ３２５と法線ベクトルＮ４０の内積、法線ベクトルＮ３２５と法線ベクトルＮ４１の内積を取り、内積の小さい方（−１に近い方）の画像を選ぶ。内積の小さい方（−１に近い方）とは、ポリゴン平面と撮像面のなす角が小さい場合であるので、内積の小さい方の法線ベクトルを有する撮像面のテクスチャの方がテクスチャ画像として高解像度となる。図７の場合、法線ベクトルＮ４１との内積が小さいので、ポリゴン平面３２５には領域３２８を貼り付ける。
【００７５】
以上の操作を繰り返すことによりテクスチャ画像が貼付されたポリゴンモデルが生成される（Ｓ８）。本実施例によれば、被写体１０３の広い範囲で高解像度な三次元画像の生成が可能となる。
【実施例３】
【００７６】
第２実施例では、被写体１０３の広い範囲で高解像度な三次元画像を得ようとすると、そのたびに撮像系の移動量の算出が必要となるため、三次元画像の生成に時間がかかる。
【００７７】
そこで、本実施例では、三次元形状生成装置の撮像系の移動量をあらかじめ計算しておくことで、計算時間を簡略化するとともに、精度の良いカメラ移動量を計算する方法について説明する。なお、撮像系は回転運動のみをし、並進運動をしない方が望ましいが、本実施例では並進運動も生じるものとして説明する。
【００７８】
第１、第２実施例において、三次元データの生成（Ｓ５）、ポリゴンモデルの生成（Ｓ６）、テクスチャ画像とポリゴンモデルの対応点抽出（Ｓ７）、テクスチャ画像の貼付（Ｓ８）などについては説明したので、本実施例では、主に撮像系の移動量を計算する部分について説明する。
【００７９】
本実施例の構成を図８に示す。図８は、撮像部７００、投光部７０１、２次元パターン光投光部７０２、被写体７０３、撮像スイッチ７０４、立体スイッチ７０５、首振りスイッチ７０６、支持部７０７、ズームスイッチ７０８、回転機構部７０９から構成される。
【００８０】
２次元パターン光投光部７０１は、立体スイッチ７０５を押すことで、２次元パターン光７０２を被写体７０３に投射する。撮像部７００は、撮像スイッチ７０４を押すことにより、被写体７０３を撮像する。つまり、撮像スイッチ７０４を押した場合、撮像部７００のみが起動し、２次元パターン光投光部７０１は起動しない。また、ズームスイッチ７０８により、撮像部７００に存在する結像光学手段により撮像部７００の撮像倍率を変化させることができる。また首振りスイッチ７０６を押すと、回転機構部７０９が、制御された所定の量回転する。
【００８１】
まず、回転機構部７０９の移動量を決定する。なお、本実施例では、回転機構部が回転することを撮像系が移動すると表現するが、これは、本実施例の適用範囲は、本来回転機構部の移動だけに制限されるものではなく、第２実施例のように撮像系の並進移動も当然に包含するためである。
【００８２】
ズームスイッチ７０８を押し、結像光学手段を最小の倍率に設定する。最小倍率に設定したら、被写体７０３を取り除き、撮像スイッチ７０４を押す。図９は、最小倍率時における撮像部７００の撮像範囲の一例を示す図である。図９の範囲７１１は、被写体７０３が配置されていた平面における撮像部７００が撮像可能な領域を、領域７１３は、三次元形状モデルの復元したい領域の一例である。なお、範囲７１１を撮像するときの撮像部の位置を位置７１２とする。
【００８３】
次に、テクスチャマッピングする際に要求される解像度を考慮して、テクスチャ画像を撮像するときのズーム倍率を決定する。このときの結像倍率を結像倍率Ｔ７１とする。
【００８４】
そして、結像倍率Ｔ７１の状態で、首振りスイッチ７０６を利用しながら、結像倍率Ｔ７１で撮像したときに領域７１３を覆うことのできる撮像部の位置を決定する。本実施例では、位置７１２、位置７１４、位置７１５に撮像部が存在するときに結像倍率Ｔ７１で撮像を行うと、領域７１３の全範囲が位置７１２、位置７１４、位置７１５のいずれかから撮像した画像の少なくとも一枚の画像に写されるものとする。
【００８５】
撮像の位置が決定されたので、首振り機構スイッチ７０６を押すと、回転機構部７０９が撮像部を少なくとも位置７１２、位置７１４、位置７１５に再現よく移動できるように設定を行う。
【００８６】
次に領域７１３に図１０に示すテストパターン板７１６を配置する。テストパターン７１６は一辺の長さがβ（ベータ）である白黒の正方形から成る。まず撮像部７００が位置７１２に存在し、結像倍率がＴ７１である状態で、テストパターンの撮像を行う。このときの画像を画像Ｔ７１２とする。位置７１２からテストパターン７１６までの距離は既知なので、テストパターン７１６全ての格子点の三次元座標は既知ということになる。
【００８７】
次に首振り機構スイッチ７０６を使い、撮像部を位置７１４、７１５に移動し、それぞれの位置でテストパターンの画像を撮像する。位置７１４で撮像された画像をＴ７１４と、位置７１５で撮像された画像をＴ７１５とする。
【００８８】
以上により、適当な結像倍率の下、異なる位置でテストパターンが撮像された。
【００８９】
（回転行列、並進行列の計算）
第２実施例と同様に、画像Ｔ７１２、画像Ｔ７１４を用い、位置７１２と位置７１４の位置関係を算出する。
【００９０】
撮像部７００の移動量の算出は、第２実施例と同様にR.Dericheら（The  International
Journal of Computer Vision,Vol.10,No.2,pp.101-124）の考案した方法を利用する。すなわち、曲率の高いコーナーを検出する方法で特徴点を両画像から検出する。両画像の特徴点同士を対応づけるのには、ブロックマッチングを用いることにより両画像から対応点の組を検出することができる。図１０のようなテストパターン７１６を用いたのは、R.Dericheらの特徴点抽出アルゴリズムを適用し易いようにするためで、このアルゴリズムを用いるとテストパターンの格子点が抽出されることになる。もちろん、テストパターンの例としては図１０に限られるものではなく、サイズの知られた正三角形などのパターンであっても良い。
【００９１】
Ｔ７１２、Ｔ７１４に写されている画像はサイズが既知の正方形のテストパターン７１６であるため、抽出された特徴点の三次元座標も既知となる。
【００９２】
従って、第２実施例と異なり、位置７１２におけるテストパターンの各格子点の座標と、位置７１４におけるテストパターンの各格子点の座標とを比較することにより、直接、位置７１２から位置７１４までの撮像部の移動量を算出することができる。算出結果は、回転行列Ｒ７１４、並進ベクトルＶ７１４の形で利用される。
【００９３】
同様に、位置７１２から位置７１５までの撮像部の移動量を、回転行列Ｒ７１５、並進ベクトルＶ７１５の形で算出する。
【００９４】
以上により、位置７１２、位置７１４、位置７１５相互の移動量を事前に算出し、記憶することが可能となる。
【００９５】
位置７１２、位置７１４、位置７１５を実施例２における位置３０００、位置３００１、位置３００２に対応させることにより、三次元形状を復元することができる。つまり、回転行列及び並進行列が算出されたので、本実施例では説明を省略した、復元したい三次元形状を被写体とした三次元画像データ及びテクスチャ画像の撮像、テクスチャ画像とポリゴンモデルの対応点探索、テクスチャ画像の貼付、などを行うことで三次元画像が生成される。
【００９６】
本実施例では、あらかじめ撮像系の移動量が規定されており、かつ、移動量が数式に基づき定量化されているため、被写体を交換するごとに撮像系の移動量を計算し直す必要がなくなる。そのために高速に三次元画像の生成が可能となる。
【実施例４】
【００９７】
被写体の全周三次元形状を生成する方法を説明する。
【００９８】
実施例２において、被写体３０３の半面の三次元形状が生成できた。実施例２と同様な作業を、被写体の反対側の面に対しても行うことにより、被写体の反対側の反面の三次元形状を生成することができる。ＩＣＰ（Iterative Closest Point）アルゴリズムを用いて２つの三次元形状を合成することで。被写体の全周の三次元形状を生成することができる。ＩＣＰアルゴリズムは、複数の三次元形状を貼り合わせる時に上手に張り合わない場合があるが、反対面とだけ又は最低限の数だけ貼り合わせることで精度良く三次元形状を生成できる。
【００９９】
従って、本実施例によれば、被写体の全周三次元形状において、三次元形状を効率よく生成でき、三次元画像の品質に大きく寄与するテクスチャに関して、高解像度のテクスチャ画像を貼り付けることが可能となる。  
[計算手段及び記憶手段]
図１１は、三次元画像生成装置の計算及び記憶手段の構成例を示すブロック図である。図１１は、主制御部１、主記憶装置２、記憶装置３、入出力制御部４、三次元画像生成手段１０から構成される。主制御部１は三次元画像生成手段１０の各手段を実行し、主記憶装置２は各手段を実行するためのプログラム及び画像データなどを一時的に記憶し、記憶装置３は三次元画像生成手段１０の各手段を格納し、入出力制御部４は画像データ、プログラムなどの入出力を制御する。
【０１００】
三次元画像生成手段１０は、三次元データ生成手段１１、ポリゴンモデル生成手段１２、対応点探索手段１３、テクスチャ画像貼付手段１４、特徴点抽出手段１５、回転並進位置算出手段１６、回転並進位置制御手段１７から構成される。これらの各手段の機能については上記実施例で説明したためその説明は省略する。
【０１０１】
図１１に示すような、三次元画像生成装置の計算及び記憶手段は、三次元形状やテクスチャ画像を撮像する撮像部及び投光部と連動することで、撮像系を問わず適用できる。従って、第１実施例乃至第４実施例のいずれにおいても、又は、汎用的な三次元画像生成装置においても、図１１のような計算手段及び記憶手段を用いて三次元画像を生成してよい。
【図面の簡単な説明】
【０１０２】
【図１】三次元画像生成装置の構成例である。
【図２】三次元画像生成装置の動作手順を示すフローチャートの例である。
【図３】ポリゴンモデルとテクスチャ画像の対応を示す図の例である。
【図４】複数の位置で撮像するときの撮像部、投光部、被写体の構成を示す図の一例である。
【図５】複数の位置で撮像するときの三次元画像生成装置の動作手順を示すフローチャートの例である。
【図６】ポリゴンモデルと複数のテクスチャ画像の対応を示す図の例である。
【図７】ポリゴンモデルに適合する画像を選択する方法を示す図の一例である
【図８】移動手段を有する撮像系の構成例である。
【図９】撮像部の撮像範囲の一例である。
【図１０】テストパターンの一例である。
【図１１】三次元画像生成を行う計算装置の構成の一例である。
【符号の説明】
【０１０３】
１００    撮像部
１０１    撮像スイッチ
１０２    投光部
１０３    被写体
１０４    ２次元パターン光
１０５    撮像スイッチ
１１０    ポリゴンモデル
１１１    テクスチャ画像を貼付られたポリゴンモデル
１１２    ポリゴンモデルと画像の対応領域
７００    撮像部
７０１    投光部
７０２    投光パターン
７０３    被写体
７０７    支持部
７０９    回転機構部
７１１    撮像範囲
７１６    テストパターン
Ｓ３０１  投光下の画像
Ｔ３０１  消光下の画像
【図１】
2005071264.tif 000007
【図２】
2005071264.tif 000008
【図３】
2005071264.tif 000009
【図４】
2005071264.tif 000010
【図５】
2005071264.tif 000011
【図６】
2005071264.tif 000012
【図７】
2005071264.tif 000013
【図８】
2005071264.tif 000014
【図９】
2005071264.tif 000015
【図１０】
2005071264.tif 000016
【図１１】
2005071264.tif 000017