説明

三次元モデリング装置、三次元モデリング方法、ならびに、プログラム

【課題】被写体を適切に三次元モデリングする。
【解決手段】受付部11は、ステレオカメラを用いて、被写体を異なる角度から複数回撮像することにより得られる複数の画像の組の入力を受け付ける。生成部12は、受け付けられた複数の画像の組のそれぞれに基づいて、被写体の三次元モデルを複数生成する。選択部13は、被合成三次元モデルと合成三次元モデルとを選択する。抽出部14は、被合成三次元モデルから複数の第1特徴点を抽出するとともに、合成三次元モデルから複数の第2特徴点を抽出する。取得部15は、当該合成三次元モデルの座標を当該被合成三次元モデルの座標系の座標に変換する座標変換パラメータを取得する。変換部16は、合成三次元モデルの座標を被合成三次元モデルの座標系の座標に変換する。合成部17は、座標変換後の合成三次元モデルを被合成三次元モデルに合成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、被写体を適切に三次元モデリングするのに好適な三次元モデリング装置、三次元モデリング方法、ならびに、これらをコンピュータ上で実現するためのプログラムに関する。
【背景技術】
【0002】
人間、動物、あるいは、美術品などの被写体を、右眼用撮像部と左目用撮像部とを備えるステレオカメラを用いて撮像し、撮像により得られた右眼用画像と左眼用画像とに基づいて、被写体の三次元モデルを生成する技術が知られている。
【0003】
具体的には、右眼用画像と左眼用画像とに対してステレオマッチングが実施され、被写体上の同じ点を表している対応点が求められる。次に、求められた対応点と、右眼用撮像部と左眼用撮像部との間隔と、に基づいて、三角測量の要領で、ステレオカメラと対応点との距離(奥行き)が求められる。そして、求められた距離から対応点の三次元座標が求められ、さらに被写体の三次元モデルが構築される。このような技術は、例えば、特許文献1や非特許文献1に開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許第2953154号公報
【非特許文献】
【0005】
【非特許文献1】デジタル画像処理、2006年3月1日発行、CG−ARTS協会
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1や非特許文献1に開示されている技術は、互いに近い位置から同時に撮像することにより得られた、右眼用画像と左眼用画像とに基づいて、三次元モデリングを実行する技術である。従って、充分な精度で三次元モデリングを実現することができなかった。そこで、充分な精度で三次元モデリングを実現することが可能な技術が望まれている。
【0007】
本発明は、このような状況に鑑みてなされたものであり、被写体を適切に三次元モデリングするのに好適な三次元モデリング装置、三次元モデリング方法、ならびに、これらをコンピュータ上で実現するためのプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するために、本発明の第1の観点に係る三次元モデリング装置は、
一度の撮像により一組の画像を取得するステレオカメラを用いて、被写体を異なる角度から複数回撮像することにより得られる複数の画像の組の入力を受け付ける受付手段と、
前記受け付けられた複数の画像の組のそれぞれに基づいて、前記被写体の三次元モデルを複数生成する生成手段と、
前記生成された複数の三次元モデルの中から、被合成三次元モデルと当該被合成三次元モデルに合成する合成三次元モデルとを選択する選択手段と、
前記選択された被合成三次元モデルから複数の第1特徴点を抽出するとともに、前記選択された合成三次元モデルから複数の第2特徴点を抽出する抽出手段と、
前記抽出された複数の第1特徴点と複数の第2特徴点とに基づいて、当該合成三次元モデルの座標を当該被合成三次元モデルの座標系の座標に変換する座標変換パラメータを取得する取得手段と、
前記取得された座標変換パラメータを用いて、前記合成三次元モデルの座標を前記被合成三次元モデルの座標系の座標に変換する変換手段と、
前記座標変換後の合成三次元モデルを前記被合成三次元モデルに合成する合成手段と、を備える、
ことを特徴とする。
【0009】
前記取得手段は、前記抽出された複数の第1特徴点の中から3つの第1特徴点を選択し、前記抽出された複数の第2特徴点の中から、当該選択された3つの第1特徴点を3つの頂点とする三角形と合同な三角形の3つの頂点を構成する3つの第2特徴点を選択し、当該選択された3つの第2特徴点の座標を当該選択された3つの第1特徴点の座標に合わせる座標変換パラメータを取得してもよい。
【0010】
前記取得手段は、前記抽出された複数の第1特徴点の中から3つの第1特徴点をランダムに選択して座標変換パラメータを取得する処理を複数回実行し、当該複数回の処理により得られた複数の座標変換パラメータの中から1つの座標変換パラメータを選択してもよい。
【0011】
前記取得手段は、前記複数の座標変換パラメータの中から、前記変換手段による座標変換後の前記複数の第2特徴点の座標が、前記複数の第1特徴点の座標と最も合致する1つの座標変換パラメータを選択してもよい。
【0012】
前記選択手段は、前記生成された複数の三次元モデルの中から、前記被合成三次元モデル以外の全ての三次元モデルを前記合成三次元モデルとして選択し、
前記取得手段は、前記選択された、前記被合成三次元モデル以外の全ての三次元モデルについて、前記座標変換パラメータを取得し、
前記変換手段は、前記選択された、前記被合成三次元モデル以外の全ての三次元モデルについて、前記座標変換を実行し、
前記合成手段は、前記選択された、前記被合成三次元モデル以外の全ての三次元モデルについて、前記合成を実行してもよい。
【0013】
前記合成手段は、前記複数の第1特徴点と前記複数の第2特徴点とを、対応する特徴点同士が同じグループに属するように複数のグループにグループ化し、当該複数のグループのそれぞれについて重心を求め、求められた複数の重心を新たな複数の特徴点として、新たな三次元モデルを生成してもよい。
【0014】
上記目的を達成するために、本発明の第2の観点に係る三次元モデリング方法は、
受付手段、生成手段、選択手段、抽出手段、取得手段、変換手段、合成手段を備える三次元モデリング装置が実行する三次元モデリング方法であって、
前記受付手段が、一度の撮像により一組の画像を取得するステレオカメラを用いて、被写体を異なる角度から複数回撮像することにより得られる複数の画像の組の入力を受け付ける受付ステップと、
前記生成手段が、前記受け付けられた複数の画像の組のそれぞれに基づいて、前記被写体の三次元モデルを複数生成する生成ステップと、
前記選択手段が、前記生成された複数の三次元モデルの中から、被合成三次元モデルと当該被合成三次元モデルに合成する合成三次元モデルとを選択する選択ステップと、
前記抽出手段が、前記選択された被合成三次元モデルから複数の第1特徴点を抽出するとともに、前記選択された合成三次元モデルから複数の第2特徴点を抽出する抽出ステップと、
前記取得手段が、前記抽出された複数の第1特徴点と複数の第2特徴点とに基づいて、当該合成三次元モデルの座標を当該被合成三次元モデルの座標系の座標に変換する座標変換パラメータを取得する取得ステップと、
前記変換手段が、前記取得された座標変換パラメータを用いて、前記合成三次元モデルの座標を前記被合成三次元モデルの座標系の座標に変換する変換ステップと、
前記合成手段が、前記座標変換後の合成三次元モデルを前記被合成三次元モデルに合成する合成ステップと、を備える、
ことを特徴とする。
【0015】
上記目的を達成するために、本発明の第3の観点に係るプログラムは、
コンピュータを、
一度の撮像により一組の画像を取得するステレオカメラを用いて、被写体を異なる角度から複数回撮像することにより得られる複数の画像の組の入力を受け付ける受付手段、
前記受け付けられた複数の画像の組のそれぞれに基づいて、前記被写体の三次元モデルを複数生成する生成手段、
前記生成された複数の三次元モデルの中から、被合成三次元モデルと当該被合成三次元モデルに合成する合成三次元モデルとを選択する選択手段、
前記選択された被合成三次元モデルから複数の第1特徴点を抽出するとともに、前記選択された合成三次元モデルから複数の第2特徴点を抽出する抽出手段、
前記抽出された複数の第1特徴点と複数の第2特徴点とに基づいて、当該合成三次元モデルの座標を当該被合成三次元モデルの座標系の座標に変換する座標変換パラメータを取得する取得手段、
前記取得された座標変換パラメータを用いて、前記合成三次元モデルの座標を前記被合成三次元モデルの座標系の座標に変換する変換手段、
前記座標変換後の合成三次元モデルを前記被合成三次元モデルに合成する合成手段、として機能させる、
ことを特徴とする。
【発明の効果】
【0016】
本発明によれば、被写体を適切に三次元モデリングするのに好適な三次元モデリング装置、三次元モデリング方法、ならびに、これらをコンピュータ上で実現するためのプログラムを提供することができる。
【図面の簡単な説明】
【0017】
【図1】(A)は、本発明の実施形態に係るステレオカメラの前面の様子を表す外観図である。(B)は、本発明の実施形態に係るステレオカメラの背面の様子を表す外観図である。
【図2】本発明の実施形態に係るステレオカメラの構成を示すブロック図である。
【図3】本発明の実施形態に係るステレオカメラの主要部の構成を示すブロック図である。
【図4】本発明の実施形態に係るステレオカメラが実行する三次元モデリング処理を示すフローチャートである。
【図5】図4に示す三次元モデル生成処理を示すフローチャートである。
【図6】図4に示すカメラ位置推定処理を示すフローチャートである。
【図7】図6に示す座標変換パラメータ取得処理を示すフローチャートである。
【図8】図4に示す三次元モデル合成処理を示すフローチャートである。
【発明を実施するための形態】
【0018】
以下、図面を参照して、本発明の実施形態に係る三次元モデリング装置について説明する。
【0019】
(実施形態)
本実施形態においては、本発明を、デジタル式のステレオカメラに適用する例を示す。本実施形態においては、ステレオカメラは、シャッターボタンが押圧されてから、当該シャッターボタンが離されるまでの間、被写体を撮像する処理と、当該被写体の三次元モデルを合成する処理と、を繰り返し実行する。まず、図1(A)、(B)を参照して、本発明の実施形態に係るステレオカメラ1000の外観について説明する。
【0020】
図1(A)に示すように、ステレオカメラ1000の前面には、レンズ111Aと、レンズ111Bと、ストロボ発光部400と、が設けられている。また、図1(A)に示すように、ステレオカメラ1000の上面には、シャッターボタン331が設けられている。さらに、図1(B)に示すように、ステレオカメラ1000の背面には、表示部310と、操作キー332と、電源キー333と、が設けられている。
【0021】
レンズ111Aとレンズ111Bとは、所定の間隔を隔てて、平行に設けられている。
【0022】
表示部310は、電源キー、操作キー、電子ビューファインダーとして機能するLCD(Liquid Crystal Display)から構成される。
【0023】
シャッターボタン331は、被写体の撮像がなされている間、継続して押圧されるべきボタンである。つまり、ステレオカメラ1000は、シャッターボタン331が押圧されている間、被写体の撮像を繰り返す。
【0024】
操作キー332は、ユーザから各種の操作を受け付ける。操作キー332は、十字キーや決定キーを含み、モード切替や表示切替等の操作に用いられる。
【0025】
電源キー333は、ステレオカメラ1000の電源をオン・オフする際に押圧されるべきキーである。
【0026】
ストロボ発光部400は、被写体に向けてストロボ光を照射する。ストロボ発光部400の構成については、後述する。
【0027】
ここで、図2を参照して、ステレオカメラ1000の電気的構成について説明する。
【0028】
図2に示すように、ステレオカメラ1000は、第1撮像部100Aと、第2撮像部100Bと、データ処理部200と、インターフェース部300と、ストロボ発光部400と、を備える。なお、図面において、適宜、インターフェース部のことをI/F部と表記する。
【0029】
第1撮像部100Aと第2撮像部100Bとは、被写体を撮像する部分である。ステレオカメラ1000は、ステレオカメラであるため、第1撮像部100Aと第2撮像部100Bとの2つの撮像部を有する構成であるが、第1撮像部100Aと第2撮像部100Bとは同一の構成である。なお、第1撮像部100Aについての構成には参照符号の末尾に「A」を付し、第2撮像部100Bについての構成には参照符号の末尾に「B」を付す。
【0030】
図2に示すように、第1撮像部100Aは、光学装置110Aとイメージセンサ部120Aとを備え、第2撮像部100Bは、光学装置110Bとイメージセンサ部120Bとを備える。光学装置110Bは、光学装置110Aと同様の構成であり、イメージセンサ部120Bはイメージセンサ部120Aと同様の構成である。従って、以下、光学装置110Aおよびイメージセンサ部120Aの構成についてのみ説明する。
【0031】
光学装置110Aは、例えば、レンズ111A、絞り機構、シャッタ機構、などを含み、撮像にかかる光学的動作を行う。すなわち、光学装置110Aの動作により、入射光が集光されるとともに、焦点距離、絞り、シャッタスピードなどといった、画角やピント、露出などにかかる光学的要素の調整がなされる。なお、光学装置110Aに含まれるシャッタ機構はいわゆるメカニカルシャッタであり、イメージセンサ部120Aの動作のみでシャッタ動作がなされる場合には、光学装置110Aにシャッタ機構が含まれていなくてもよい。また、光学装置110Aは、後述する制御部210による制御によって動作する。
【0032】
イメージセンサ部120Aは、光学装置110Aによって集光された入射光に応じた電気信号を生成する。例えば、CCD(Charge Coupled Device:電荷結合素子)やCMOS(Complementally Metal Oxide Semiconductor:相補型金属酸化物半導体)などのイメージセンサから構成される。イメージセンサ部120Aは、光電変換をおこなうことで、受光に応じた電気信号を発生し、データ処理部200に出力する。
【0033】
なお、上述したように、第1撮像部100Aと第2撮像部100Bとは同一の構成である。従って、レンズの焦点距離fやF値、絞り機構の絞り範囲、イメージセンサのサイズや画素数、配列、画素面積などの仕様は、すべて同一である。
【0034】
このような第1撮像部100Aと第2撮像部100Bとを有するステレオカメラ1000は、図1(A)に示すように、光学装置110Aに構成されたレンズ111Aと光学装置110Bに構成されたレンズ111Bとが、ステレオカメラ1000の外面における同一平面上に形成された構成とする。ここでは、シャッターボタン331が上になる方向でステレオカメラ1000を水平にした場合に、中心位置が水平方向に伸びる同一の線上となるように2つのレンズ(受光部)が配置されるものとする。つまり、第1撮像部100Aと第2撮像部100Bとを同時に動作させた場合、同一被写体についての2つの画像(以下、適宜「ペア画像」という。)が撮像されることになるが、各画像における光軸位置は、横方向にずれることになる。ステレオカメラ1000は、いわゆる平行ステレオカメラの構成である。
【0035】
データ処理部200は、第1撮像部100Aおよび第2撮像部100Bによる撮像動作によって生成された電気信号を処理し、撮像された被写体の画像を示すデジタルデータを生成するとともに、当該画像に対する画像処理等を行う。図2に示すように、データ処理部200は、制御部210、画像処理部220、画像メモリ230、画像出力部240、記憶部250、外部記憶部260などから構成される。
【0036】
制御部210は、例えば、CPU(Central Processing Unit:中央演算処理部)などのプロセッサや、RAM(Random Access Memory)などの主記憶装置(メモリ)、などから構成され、後述する記憶部250などに格納されているプログラムを実行することで、ステレオカメラ1000の各部を制御する。
【0037】
画像処理部220は、例えば、ADC(Analog−Digital Converter:アナログ・デジタル変換器)、バッファメモリ、画像処理用のプロセッサ(いわゆる、画像処理エンジン)などから構成され、イメージセンサ部120Aおよび120Bによって生成された電気信号に基づいて、撮像された被写体の画像を示すデジタルデータ(以下、適宜「画像データ」という。)を生成する。
【0038】
すなわち、ADCは、イメージセンサ部120Aおよびイメージセンサ部120Bから出力されたアナログ電気信号を、デジタル信号に変換して順次バッファメモリに格納する。一方、画像処理部220は、バッファされたデジタルデータに対し、いわゆる現像処理などを行うことで、画質の調整やデータ圧縮などをおこなう。
【0039】
画像メモリ230は、例えば、RAMやフラッシュメモリなどの記憶装置から構成され、画像処理部220によって生成された画像データや、制御部210によって処理される画像データなどを一時的に格納する。
【0040】
画像出力部240は、例えば、RGB信号の生成回路などから構成され、画像メモリ230に展開された画像データをRGB信号に変換して表示画面(後述する表示部310など)に出力する。
【0041】
記憶部250は、例えば、ROM(Read Only Memory)やフラッシュメモリなどの記憶装置から構成され、ステレオカメラ1000の動作に必要なプログラムやデータなどを格納する。本実施形態では、制御部210などが実行する動作プログラム、各処理に必要となるパラメータや演算式などが記憶部250に格納されているものとする。
【0042】
外部記憶部260は、例えば、メモリカードなどといった、ステレオカメラ1000に着脱可能な記憶装置から構成され、ステレオカメラ1000が撮像した画像データ、三次元モデルを表すデータなどを格納する。
【0043】
インターフェース部300は、ステレオカメラ1000とその使用者あるいは外部装置とのインターフェースにかかる構成である。図2に示すように、インターフェース部300は、表示部310、外部インターフェース部320、操作部330などから構成される。
【0044】
表示部310は、例えば、液晶表示装置などから構成され、ステレオカメラ1000を操作するために必要な種々の画面や、撮像時のライブビュー画像、撮像された被写体の画像、などを表示する。本実施形態では、画像出力部240から供給された画像信号(RGB信号)などに基づいて、撮像された被写体の画像や三次元モデル等を表示する。
【0045】
外部インターフェース部320は、例えばUSB(Universal Serial Bus)コネクタやビデオ出力端子などから構成され、外部のコンピュータ装置や外部のモニタ装置へ、画像データなどを出力する。
【0046】
操作部330は、ステレオカメラ1000の外面上に構成されている各種ボタンなどによって構成され、ステレオカメラ1000の使用者による操作に応じた入力信号を生成して制御部210に供給する。操作部330には、例えば、シャッタ動作を指示するためのシャッターボタン331、ステレオカメラ1000の動作モード等の指定や各種機能設定を行なう操作キー332、電源キー333、が含まれているものとする。
【0047】
ストロボ発光部400は、例えば、キセノンランプ(キセノンフラッシュ)により構成される。ストロボ発光部400は、制御部210の制御に従って、被写体にフラッシュを照射する。
【0048】
ステレオカメラ1000は、図2に示す全ての構成を備えていなくても良いし、図2に示す構成以外の構成を備えていてもよい。
【0049】
ここで、図3を参照して、ステレオカメラ1000の動作のうち、三次元モデリングに係る動作について説明する。
【0050】
図3は、ステレオカメラ1000の主要部の構成、つまり、三次元モデリングに係る動作を実現するための構成、を示すブロック図である。
【0051】
図3に示すように、ステレオカメラ1000は、受付部11、生成部12、選択部13、抽出部14、取得部15、変換部16、合成部17を備える。これらの要素は、例えば、制御部210により構成される。
【0052】
受付部11は、一度の撮像により一組の画像を取得するステレオカメラ1000を用いて、被写体を異なる角度から複数回撮像することにより得られる複数の画像の組の入力を受け付ける。
【0053】
生成部12は、受け付けられた複数の画像の組のそれぞれに基づいて、被写体の三次元モデルを複数生成する。
【0054】
選択部13は、生成された複数の三次元モデルの中から、被合成三次元モデルと当該被合成三次元モデルに合成する合成三次元モデルとを選択する。
【0055】
抽出部14は、選択された被合成三次元モデルから複数の第1特徴点を抽出するとともに、選択された合成三次元モデルから複数の第2特徴点を抽出する。
【0056】
取得部15は、抽出された複数の第1特徴点と複数の第2特徴点とに基づいて、当該合成三次元モデルの座標を当該被合成三次元モデルの座標系の座標に変換する。
【0057】
変換部16は、取得された座標変換パラメータを用いて、合成三次元モデルの座標を被合成三次元モデルの座標系の座標に変換する。
【0058】
合成部17は、変換後の合成三次元モデルを当該被合成三次元モデルに合成する。
【0059】
次に、図4に示すフローチャートを用いて、ステレオカメラ1000が実行する三次元モデリング処理について説明する。ステレオカメラ1000は、操作キー332などの操作により、動作モードが三次元モデリングモードに設定されると、図4に示す三次元モデリング処理を実行する。
【0060】
本実施形態においては、シャッターボタン331が押圧されている間、被写体の撮像、三次元モデルの生成、生成された三次元モデルの合成、合成後の三次元モデルのプレビュー表示、などが、繰り返して実行される。ここで、最初の撮像により得られる三次元モデルであって、合成の基礎となる三次元モデルを、被合成三次元モデルという。また、2回目以降の撮像により得られる三次元モデルであって、被合成三次元モデルに合成される三次元モデルを、合成三次元モデルという。そして、三次元モデリング処理においては、撮像回数分の三次元モデルを合成して得られる三次元モデルが順次生成される。なお、被写体は、撮像毎に異なる角度から撮像されるものとする。
【0061】
まず、制御部210は、シャッターボタン331が押圧されたか否かを判別する(ステップS101)。制御部210は、シャッターボタン331が押圧されていないと判別すると(ステップS101:NO)、再度、ステップS101の処理を実行する。一方、制御部210は、シャッターボタン331が押圧されたと判別すると(ステップS101:YES)、撮像回数カウンタNを1に初期化する(ステップS102)。なお、撮像回数カウンタNは、例えば、記憶部250に記憶される。
【0062】
制御部210は、ステップS102の処理を完了すると、被写体501を撮像する(ステップS103)。制御部210により被写体が撮像されると、2枚の平行同位画像(ペア画像)が得られる。取得されたペア画像は、例えば、画像メモリ230に記憶される。なお、ペア画像のうち、第1撮像部100Aによる撮像により得られた画像を画像A、第2撮像部100Bによる撮像により得られた画像を画像Bとする。
【0063】
制御部210は、ステップS103の処理を完了すると、画像メモリ230に記憶されているペア画像に基づいて、三次元モデル生成処理を実行する(ステップS104)。
【0064】
ここで、図5に示すフローチャートを参照して、三次元モデル生成処理について説明する。なお、三次元モデル生成処理は、一組のペア画像に基づいて三次元モデルを生成する処理である。つまり、三次元モデル生成処理は、一つのカメラ位置から見た三次元モデルを生成する処理と考えることができる。
【0065】
まず、制御部210は、特徴点の候補を抽出する(ステップS201)。例えば、制御部210は、画像Aに対してコーナー検出を行う。コーナー検出においては、ハリスなどのコーナー特徴量が、所定閾値以上かつ所定半径内で最大になる点がコーナー点として選択される。従って、被写体の先端など、他の点に対して特徴のある点が特徴点として抽出される。
【0066】
制御部210は、ステップS201の処理を完了すると、ステレオマッチングを実行し、画像Aの特徴点に対応する点(対応点)を画像Bから探す(ステップS202)。具体的には、制御部210は、テンプレートマッチングにより類似度が所定閾値以上かつ最大のもの(相違度が所定閾値以下かつ最小のもの)を対応点とする。テンプレートマッチングには、例えば、残差絶対値和(SAD)、残差平方和(SSD)、正規化相関(NCCやZNCC)、方向符号相関など、様々な既知の技法が利用可能である。
【0067】
制御部210は、ステップS202の処理を完了すると、ステップS202において見つけられた対応点の視差情報、第1撮像部100Aおよび第2撮像部100Bの画角、基線長などから、特徴点の位置情報を算出する(ステップS203)。生成された特徴点の位置情報は、例えば、記憶部250に記憶される。
【0068】
制御部210は、ステップS203の処理を完了すると、ステップS203において算出された特徴点の位置情報をもとにドロネー三角形分割を実行し、ポリゴン化を実行する(ステップS204)。生成されたポリゴン情報は、例えば、記憶部250に記憶される。制御部210は、ステップS204の処理を完了すると、三次元モデル生成処理を終了する。
【0069】
なお、特徴点の数が少ないと、被写体の形状情報が欠損し、被写体の忠実な三次元モデルが得られない。一方、より多くの特徴点が得られるように、特徴点の候補を抽出する条件やステレオマッチングの条件を緩くすると、不適切な点が特徴点の候補に含まれたり、ステレオマッチングで誤対応が発生したりして、位置精度が低下、つまり、モデリング精度が悪化する。このため、モデリング精度の悪化を防ぎつつ、被写体の忠実な三次元モデルを得ることができるように、適切な数の特徴点が抽出されるようにする必要がある。
【0070】
また、三次元モデル(三次元情報)は、例えば、以下の3つの式を用いて、ペア画像から求められる。ペア画像から三次元情報を取得する方法の詳細については、例えば、非特許文献1、デジタル画像処理、2006年3月1日発行、CG−ARTS協会、に開示されている。
X=(b*u)/(u−u’)
Y=(b*v)/(u−u’)
Z=(b*f)/(u−u’)
ここで、bは、光学装置110Aと110Bとの間の距離で、基線長と呼ばれる。(u,v)は、光学装置110Aにより撮像された被写体の画像上の座標を示し、(u’,v’)は光学装置110Bにより撮像された被写体の画像上の座標を示す。上記3つの式における(u−u’)は、光学装置110Aと光学装置110Bとから、同じ被写体を撮像したときに得られる2つの画像上における被写体501の座標の差であり、視差と呼ばれる。fは、光学装置110Aの焦点距離を示す。既に説明したとおり、光学装置110Aと110Bとは同じ構成であり、焦点距離fも等しい。
【0071】
制御部210は、三次元モデル生成処理(ステップS104)を終了すると、撮像回数カウンタNが1であるか否かを判別する(ステップS105)。ここで、撮像回数カウンタNが1であることは、最初の撮像の直後であることを示す。制御部210は、撮像回数カウンタNが1であると判別すると(ステップS105:YES)、ステップS104において生成された三次元モデルを、被合成三次元モデルに設定する(ステップS106)。
【0072】
一方、制御部210は、撮像回数カウンタNが1ではない、つまり、最初の撮像の直後ではないと判別すると(ステップS105:NO)、カメラ位置推定処理を実行する(ステップS107)。カメラ位置推定処理については、図6のフローチャートを参照して説明する。なお、カメラ位置推定処理においては、最初の撮像時のステレオカメラ1000の位置に対する、今回の撮像時のステレオカメラ1000の相対的な位置が求められる。なお、この相対的な位置が求められることは、今回の撮像により得られた三次元モデルの座標を、最初の撮像により得られた三次元モデルの座標系の座標に変換する座標変換パラメータが求められることと同様である。
【0073】
まず、制御部210は、被合成三次元モデルおよび合成三次元モデルの双方から三次元空間上の特徴点を取得する(ステップS301)。例えば、制御部210は、被合成三次元モデル(もしくは、合成三次元モデル)の特徴点のうち、コーナー強度が高く、ステレオマッチングの一致度が高いものを選択する。または、制御部210は、ペア画像間でエピ線拘束を考慮した上で、SURF(Speeded−Up Robust Features)特徴量によるマッチングを実行することで、特徴点を取得するようにしてもよい。
【0074】
制御部210は、ステップS301の処理を完了すると、被合成三次元モデルから3つの特徴点を選択する(ステップS302)。ここで、選択される3つの特徴点は、以下に示す(A)および(B)の条件を満たすものが選択される。(A)の条件は、3つの特徴点を頂点とする三角形の面積が小さすぎないことであり、(B)の条件は、3つの特徴点を頂点とする三角形が極端に鋭角な角を持たないことである。例えば、制御部210は、上記(A)および(B)の条件を満たす3つの特徴点が選択されるまで、ランダムに3つの特徴点を選択する。
【0075】
制御部210は、ステップS302の処理を完了すると、合成三次元モデルが有する3つの特徴点を3つの頂点とする三角形の中から、ステップS302において選択された3つの特徴点を3つの頂点とする三角形と合同な三角形を探索する(ステップS303)。例えば、3辺の長さがほぼ等しい場合、2つの三角形は合同であると判別される。ステップS303の処理は、合成三次元モデルの特徴点のうち、ステップS302において被合成三次元モデルから選択された3つの特徴点に対応すると考えられる3つの特徴点を探索する処理と考えることもできる。なお、制御部210は、特徴点や周辺の色情報、またはSURF特徴量などで三角形の候補をあらかじめ絞ることで、探索を高速化してもよい。探索された三角形を示す情報(典型的には、当該三角形の頂点を構成する3つの特徴点の三次元空間上の座標を示す情報。)は、例えば、記憶部250に記憶される。合同な三角形が複数ある場合、全ての三角形を示す情報が、記憶部250に記憶される。
【0076】
制御部210は、ステップS303の処理を完了すると、ステップS303において、少なくとも1つの合同な三角形が探索されたか否かを判別する(ステップS304)。なお、探索された合同な三角形が多すぎる場合、合同な三角形が探索されなかったものとみなされてもよい。
【0077】
制御部210は、少なくとも1つの合同な三角形が探索されたと判別すると(ステップS304:YES)、合同な三角形を一つ選択する(ステップS305)。一方、制御部210は、合同な三角形が1つも探索されなかったと判別すると(ステップS304:NO)、ステップS302に処理を戻す。
【0078】
制御部210は、ステップS305の処理を完了すると、座標変換パラメータ取得処理を実行する(ステップS306)。座標変換パラメータ取得処理については、図7に示すフローチャートを参照して、詳細に説明する。なお、座標変換パラメータ取得処理は、合成三次元モデルの座標を被合成三次元モデルの座標系の座標に変換するための、座標変換パラメータを取得する処理である。なお、座標変換パラメータ取得処理は、ステップS302において選択された3つの特徴点と、ステップS305において選択された合同な三角形と、の組み合わせ毎に実行される。ここで、座標変換パラメータは、式(1)および(2)で与えられる対応点ペア(特徴点ペア、頂点ペア)に対して、式(3)を満たす回転行列Rと移動ベクトルtとを求める処理である。式(1)および(2)のpとp’とは、各々のカメラ視線から見た三次元空間上の座標を持つ。なお、Nは、対応点ペアのペア数である。
【数1】

【数2】

【数3】

【0079】
まず、制御部210は、式(4)および(5)に示すように、対応点ペアを設定する(ステップS401)。ここで、c1とc2とは、対応する列ベクトルが対応点の座標になる行列である。この行列から回転行列Rと移動ベクトルtとを直接求めることは難しい。しかしながら、pとp’との分布がほぼ等しいことから、対応点の重心を合わせてから回転すれば、対応点を重ね合わせることができる。このことを利用して、回転行列Rと移動ベクトルtとを求める。
【数4】

【数5】

【0080】
つまり、制御部210は、式(6)および(7)を用いて、特徴点の重心である重心t1およびt2を求める(ステップS402)。
【数6】

【数7】

【0081】
次に、制御部210は、式(8)および(9)を用いて、特徴点の分布である分布d1およびd2を求める(ステップS403)。ここで、上述したように、分布d1と分布d2との間には、式(10)の関係がある。
【数8】

【数9】

【数10】

【0082】
次に、制御部210は、式(11)および(12)を用いて、分布d1およびd2の特異値分解を実行する(ステップS404)。特異値は、降順に並べられているものとする。ここで、記号*は複素共役転置を表す。
【数11】

【数12】

【0083】
次に、制御部210は、分布d1およびd2が二次元以上であるか否かを判別する(ステップS405)。特異値は、分布の広がり具合に対応している。従って、最大の特異値とそれ以外の特異値との比率や、特異値の大きさを用いて判定がなされる。例えば、2番目に大きい特異値が、所定値以上かつ最大の特異値との比率が所定範囲内である場合に、分布が二次元以上と判定される。
【0084】
制御部210は、分布d1およびd2が二次元以上でないと判別すると(ステップS405:NO)、回転行列Rを求めることができないので、エラー処理を実行し(ステップS413)、座標変換パラメータ取得処理を終了する。
【0085】
一方、制御部210は、分布d1およびd2が二次元以上であると判別すると(ステップS405:YES)、関連付けKを求める(ステップS406)。式(10)〜(12)から、回転行列Rは、式(13)のように表すことができる。ここで、関連付けKを、式(14)のように定義すると、回転行列Rは、式(15)のようになる。
【数13】

【数14】

【数15】

【0086】
ここで、固有ベクトルUは、分布d1およびd2の固有ベクトルに相当し、関連付けKにより関連付けられる。関連付けKの要素は、固有ベクトルが対応する場合は1か−1が、そうでない場合は0が与えられる。ところで、分布d1およびd2が等しいことから、特異点も等しい。つまり、Sも等しい。実際には、分布d1と分布d2とには誤差が含まれているので、誤差を丸める。以上を考慮すると、関連付けKは、式(16)のようになる。つまり、制御部210は、ステップS406において、式(16)を計算する。
【数16】

【0087】
制御部210は、ステップS406の処理を完了すると、回転行列Rを計算する(ステップS407)。具体的には、制御部210は、式(15)と式(16)とに基づいて、回転行列Rを計算する。計算により得られた回転行列Rを示す情報は、例えば、記憶部250に記憶される。
【0088】
制御部210は、ステップS407の処理を完了すると、分布d1およびd2が二次元であるか否かを判別する(ステップS408)。例えば、最小の特異値が、所定値以上または最大の特異値との比率が所定範囲内である場合、分布d1およびd2は二次元であると判別される。
【0089】
制御部210は、分布d1およびd2が二次元ではないと判別すると(ステップS408:NO)、移動ベクトルtを計算する(ステップSS414)。ここで、分布d1およびd2が二次元ではないことは、分布d1およびd2が三次元であることを示す。ここで、pとp’とは、式(17)の関係を満たす。式(17)を変形すると、式(18)のようになる。式(18)と式(3)との対応から、移動ベクトルtは式(19)のようになる。
【数17】

【数18】

【数19】

【0090】
一方、制御部210は、分布d1およびd2が二次元であると判別すると(ステップS408:YES)、回転行列Rを検証し、回転行列Rが正常であるか否かを判別する(ステップS409)。分布が二次元の場合、特異値の1つが0になるので、式(14)から分かるように、関連付けが不定になる。つまり、Kの3行3列目の要素が1か−1のどちらかであるが、式(16)では正しい符号を割り当てる保証がない。そこで、回転行列Rの検証が必要になる。検証は、回転行列Rの外積関係の確認や式(10)による検算などである。ここでいう外積関係の確認とは、回転行列Rの列ベクトル(および、行ベクトル)が座標系による制約を満たすことの確認である。右手座標系では、1列目のベクトルと2列目のベクトルの外積は、3列目のベクトルに等しくなる。
【0091】
制御部210は、回転行列Rが正常であると判別すると(ステップS409:YES)、移動ベクトルtを計算し(ステップS414)、座標変換パラメータ取得処理を終了する。
【0092】
一方、制御部210は、回転行列Rが正常ではないと判別すると(ステップS409:NO)、関連付けKを修正する(ステップS410)。ここでは、関連付けKの3行3列目の要素の符号を反転する。
【0093】
制御部210は、ステップS410の処理を完了すると、修正された関連付けKを用いて回転行列Rを計算する(ステップS411)。
【0094】
制御部210は、ステップS411の処理を完了すると、念のため、再度、回転行列Rが正常であるか否かを判別する(ステップS412)。
【0095】
制御部210は、回転行列Rが正常であると判別すると(ステップS412:YES)、移動ベクトルtを計算する(ステップS414)。なお、制御部210は、ステップS414の処理を完了すると、座標変換パラメータ取得処理を終了する。
【0096】
一方、制御部210は、回転行列Rが正常ではないと判別すると(ステップS412:NO)、エラー処理を実行し(ステップS413)、座標変換パラメータ取得処理を終了する。
【0097】
制御部210は、座標変換パラメータ取得処理(ステップS306)を終了すると、取得された座標変換パラメータを用いて、座標系を合わせる(ステップS307)。具体的には、式(3)を用いて、合成三次元モデルの特徴点の座標を、被合成三次元モデルの座標系の座標に変換する。
【0098】
制御部210は、ステップS307の処理を終了すると、特徴点ペアを記憶する(ステップS308)。ここで、特徴点ペアは、被合成三次元モデルの特徴点と、座標変換後の合成三次元モデルの特徴点のうち、当該被合成三次元モデルの特徴点との距離が所定値以下かつ最近傍である特徴点と、から構成される。ここで、特徴点ペアの数が多いほど、ステップS302における3つの特徴点の選択、ならびに、ステップS305における合同な三角形の選択が適切であったと推定される。なお、特徴点ペアは、座標変換パラメータの取得条件(ステップS302における3つの特徴点の選択、ならびに、ステップS305における合同な三角形の選択)とともに、記憶部250などに記憶される。
【0099】
制御部210は、ステップS308の処理を終了すると、ステップS303において探索された全ての合同な三角形が、ステップS305において選択されたか否かを判別する(ステップS309)。
【0100】
制御部210は、いずれかの合同な三角形が選択されていないと判別すると(ステップS309:NO)、ステップS305に処理を戻す。
【0101】
一方、制御部210は、全ての合同な三角形が選択されたと判別すると(ステップS309:YES)、終了条件を満たすか否かを判別する。本実施形態では、終了条件は、所定個数以上の条件について座標変換パラメータを取得したこととする。
【0102】
制御部210は、終了条件を満たしていないと判別すると(ステップS310:NO)、ステップS302に処理を戻す。
【0103】
一方、制御部210は、終了条件を満たしていると判別すると(ステップS310:YES)、最適な座標変換パラメータを特定する(ステップS311)。具体的には、特徴点ペアが最も多く取得された座標変換パラメータが特定される。言い換えれば、ステップS302における3つの特徴点の選択、ならびに、ステップS305における合同な三角形の選択が最適であるものが特定される。なお、座標変換パラメータは、回転行列Rと移動ベクトルtとである。
【0104】
制御部210は、ステップS311の処理を終了すると、カメラ位置推定処理を終了する。
【0105】
制御部210は、カメラ位置推定処理(ステップS107)を終了すると、三次元モデル合成処理を実行する(ステップS108)。三次元モデル合成処理については、図8のフローチャートを参照して説明する。
【0106】
まず、制御部210は、座標変換パラメータを用いて、全ての三次元モデルを重ねる(ステップS501)。例えば、2回目の撮像の場合、1回目に撮像されたペア画像に基づいて生成された被合成三次元モデルに、2回目に撮像されたペア画像に基づいて生成された座標変換後の合成三次元モデルが重ねられる。また、3回目の撮像の場合、1回目に撮像されたペア画像に基づいて生成された被合成三次元モデルに、2回目に撮像されたペア画像に基づいて生成された座標変換後の合成三次元モデルが重ねられ、さらに、3回目に撮像されたペア画像に基づいて生成された座標変換後の合成三次元モデルが重ねられる。
【0107】
制御部210は、ステップS501の処理を完了すると、各特徴点の重なり具合から信頼性の低い特徴点を除去する(ステップS502)。例えば、ある三次元モデルの注目特徴点に対する、他の三次元モデルの最近傍の特徴点の分布から、当該注目特徴点のマハラノビス距離が計算され、このマハラノビス距離が所定値以上の場合は当該注目特徴点の信頼性が低いと判別される。なお、注目特徴点からの距離が所定値以上の特徴点は、最近傍の特徴点に含めないようにしても良い。また、最近傍の特徴点の数が少ない場合、信頼性が低いものと見なされてもよい。なお、特徴点を実際に除去する処理は、全ての特徴点に対して、除去するか否かが判別された後に、実行されるものとする。
【0108】
制御部210は、ステップS502の処理を完了すると、同一と見なせる特徴点を統合する(ステップS503)。例えば、所定距離以内の特徴点は、全て同一の特徴点を表すグループに属するものとして扱われ、これらの特徴点の重心が新たな特徴点とされる。
【0109】
制御部210は、ステップS503の処理を完了すると、ポリゴンメッシュを再構成する(ステップS504)。つまり、ステップS503において求められた新たな特徴点に基づいて、ポリゴンが生成される。制御部210は、ステップS504の処理を完了すると、三次元モデル合成処理を終了する。
【0110】
なお、三次元モデル生成処理(ステップS104)において生成された三次元モデルを示す情報(典型的には、特徴点の座標情報)は、シャッターボタン331が押圧されている間は、全撮像分(全視線分)保持され、基本的に変更されない。つまり、三次元モデル合成処理(ステップS108)においては、全撮像分の三次元モデルに基づいて、表示用もしくは保存用の高精細な三次元モデルを別途作成する処理である。
【0111】
制御部210は、ステップS108の処理を完了すると、撮像回数カウンタNの値を1つ増加させる(ステップS109)。
【0112】
制御部210は、ステップS106もしくはステップS109の処理を完了すると、合成後の三次元モデルを表示する(ステップS110)。具体的には、制御部210は、三次元モデル合成処理(ステップS108)において取得された三次元モデルを、表示部310に表示する。これにより、ユーザは、現在までの撮像に置いて、どの程度正確な三次元モデルが生成されているかを知ることができる。
【0113】
制御部210は、ステップS110の処理を終了すると、シャッターボタン331が離されたか否かを判別する(ステップS111)。制御部210は、シャッターボタン331が離されたと判別すると(ステップS111:YES)、合成語の三次元モデルを外部記憶部260などに保存した後(ステップS112)、三次元モデリング処理を完了する。一方、制御部210は、シャッターボタン331が離されていないと判別すると(ステップS111:NO)、ステップS103に処理を戻す。
【0114】
本実施形態に係るステレオカメラ1000によれば、複数の三次元モデルが合成されるので、形状情報の欠損を抑えつつ、高精度な三次元モデリングが可能になる。また、本実施形態に係るステレオカメラ1000によれば、信頼性が低いと考えられる特徴点が除去され、さらに、同一の見なせる特徴点が統合されて、三次元モデリングがなされるため、適切な三次元モデリングが可能となる。さらに、本実施形態に係るステレオカメラ1000は、同時に様々な角度から被写体を撮像する構成ではないため、小型化が可能である。また、ユーザは、表示部310に表示されたポリゴンを見ることで、どの程度正確な三次元モデルが生成されているかを知ることができる。従って、ユーザは、十分に三次元モデリングがなされたか、あるいは、十分な三次元モデリングのために、どのような角度から撮像する必要があるかなどを判断することができる。
【0115】
(変形例)
本発明は、上記実施形態に開示したものに限られない。
【0116】
上記実施形態では、ステップS310において、終了条件を、所定個数以上の条件において、座標変換パラメータを取得したことにする例を示した。しかし、終了条件は、この例に限られない。例えば、終了条件を、特徴点ペア数が所定個数以上である座標変換パラメータが得られたことにすることができる。
【0117】
上記実施形態では、ステップS311において、特徴点ペアが最も多く取得された座標変換パラメータが特定される例を示した。しかし、特徴点ペアの平均距離が最も小さくなる座標変換パラメータが特定されてもよい。
【0118】
上記実施形態では、合成三次元モデルの座標を、被合成三次元モデルの座標系の座標に合わせる例を示した。しかし、被合成三次元モデルの座標を、合成三次元モデルの座標系の座標に合わせてもよい。
【0119】
上記実施形態では、被合成三次元モデルから3つの特徴点が選択され、合成三次元モデルから当該3つの特徴点に対応する3つの特徴点が選択される例を示した。しかし、合成三次元モデルから3つの特徴点が選択され、被合成三次元モデルから当該3つの特徴点に対応する3つの特徴点が選択されてもよい。
【0120】
本発明は、撮像装置を有していない機器(例えば、パーソナルコンピュータ)に適用することもできる。この場合、あらかじめ用意された複数のペア画像に基づいて、三次元モデルの合成が実行される。なお、複数のペア画像のうち、最も良好に被写体が写っているペア画像を、基準とするペア画像(キーフレーム)に割り当てても良い。
【0121】
なお、本発明に係る三次元モデリング装置は、専用のシステムによらず、通常のコンピュータシステムを用いても実現可能である。例えば、コンピュータに、上記動作を実行するためのプログラムを、フレキシブルディスク、CD−ROM(Compact Disk Read−Only Memory)、DVD(Digital Versatile Disk)、MO(Magneto Optical Disk)などのコンピュータ読み取り可能な記録媒体に記憶して配布し、これをコンピュータシステムにインストールすることにより、上述の処理を実行する三次元モデリング装置を構成しても良い。
【0122】
さらに、インターネット上のサーバ装置が有するディスク装置等にプログラムを記憶しておき、例えば、搬送波に重畳させて、コンピュータにダウンロード等するものとしてもよい。
【符号の説明】
【0123】
11・・・受付部、12・・・生成部、13・・・選択部、14・・・抽出部、15・・・取得部、16・・・変換部、17・・・合成部、100A・・・第1撮像部、100B・・・第2撮像部、110A,110B・・・光学装置、111A,111B・・・レンズ、120A,120B・・・イメージセンサ部、200・・・データ処理部、210・・・制御部、220・・・画像処理部、230・・・画像メモリ、240・・・画像出力部、250・・・記憶部、260・・・外部記憶部、300・・・インターフェース部、310・・・表示部、320・・・外部インターフェース部、330・・・操作部、331・・・シャッターボタン、332・・・操作キー、333・・・電源キー、400・・・ストロボ発光部、1000・・・ステレオカメラ

【特許請求の範囲】
【請求項1】
一度の撮像により一組の画像を取得するステレオカメラを用いて、被写体を異なる角度から複数回撮像することにより得られる複数の画像の組の入力を受け付ける受付手段と、
前記受け付けられた複数の画像の組のそれぞれに基づいて、前記被写体の三次元モデルを複数生成する生成手段と、
前記生成された複数の三次元モデルの中から、被合成三次元モデルと当該被合成三次元モデルに合成する合成三次元モデルとを選択する選択手段と、
前記選択された被合成三次元モデルから複数の第1特徴点を抽出するとともに、前記選択された合成三次元モデルから複数の第2特徴点を抽出する抽出手段と、
前記抽出された複数の第1特徴点と複数の第2特徴点とに基づいて、当該合成三次元モデルの座標を当該被合成三次元モデルの座標系の座標に変換する座標変換パラメータを取得する取得手段と、
前記取得された座標変換パラメータを用いて、前記合成三次元モデルの座標を前記被合成三次元モデルの座標系の座標に変換する変換手段と、
前記座標変換後の合成三次元モデルを前記被合成三次元モデルに合成する合成手段と、を備える、
ことを特徴とする三次元モデリング装置。
【請求項2】
前記取得手段は、前記抽出された複数の第1特徴点の中から3つの第1特徴点を選択し、前記抽出された複数の第2特徴点の中から、当該選択された3つの第1特徴点を3つの頂点とする三角形と合同な三角形の3つの頂点を構成する3つの第2特徴点を選択し、当該選択された3つの第2特徴点の座標を当該選択された3つの第1特徴点の座標に合わせる座標変換パラメータを取得する、
ことを特徴とする請求項1に記載の三次元モデリング装置。
【請求項3】
前記取得手段は、前記抽出された複数の第1特徴点の中から3つの第1特徴点をランダムに選択して座標変換パラメータを取得する処理を複数回実行し、当該複数回の処理により得られた複数の座標変換パラメータの中から1つの座標変換パラメータを選択する、
ことを特徴とする請求項2に記載の三次元モデリング装置。
【請求項4】
前記取得手段は、前記複数の座標変換パラメータの中から、前記変換手段による座標変換後の前記複数の第2特徴点の座標が、前記複数の第1特徴点の座標と最も合致する1つの座標変換パラメータを選択する、
ことを特徴とする請求項3に記載の三次元モデリング装置。
【請求項5】
前記選択手段は、前記生成された複数の三次元モデルの中から、前記被合成三次元モデル以外の全ての三次元モデルを前記合成三次元モデルとして選択し、
前記取得手段は、前記選択された、前記被合成三次元モデル以外の全ての三次元モデルについて、前記座標変換パラメータを取得し、
前記変換手段は、前記選択された、前記被合成三次元モデル以外の全ての三次元モデルについて、前記座標変換を実行し、
前記合成手段は、前記選択された、前記被合成三次元モデル以外の全ての三次元モデルについて、前記合成を実行する、
ことを特徴とする請求項1乃至4のいずれか1項に記載の三次元モデリング装置。
【請求項6】
前記合成手段は、前記複数の第1特徴点と前記複数の第2特徴点とを、対応する特徴点同士が同じグループに属するように複数のグループにグループ化し、当該複数のグループのそれぞれについて重心を求め、求められた複数の重心を新たな複数の特徴点として、新たな三次元モデルを生成する、
ことを特徴とする請求項5に記載の三次元モデリング装置。
【請求項7】
受付手段、生成手段、選択手段、抽出手段、取得手段、変換手段、合成手段を備える三次元モデリング装置が実行する三次元モデリング方法であって、
前記受付手段が、一度の撮像により一組の画像を取得するステレオカメラを用いて、被写体を異なる角度から複数回撮像することにより得られる複数の画像の組の入力を受け付ける受付ステップと、
前記生成手段が、前記受け付けられた複数の画像の組のそれぞれに基づいて、前記被写体の三次元モデルを複数生成する生成ステップと、
前記選択手段が、前記生成された複数の三次元モデルの中から、被合成三次元モデルと当該被合成三次元モデルに合成する合成三次元モデルとを選択する選択ステップと、
前記抽出手段が、前記選択された被合成三次元モデルから複数の第1特徴点を抽出するとともに、前記選択された合成三次元モデルから複数の第2特徴点を抽出する抽出ステップと、
前記取得手段が、前記抽出された複数の第1特徴点と複数の第2特徴点とに基づいて、当該合成三次元モデルの座標を当該被合成三次元モデルの座標系の座標に変換する座標変換パラメータを取得する取得ステップと、
前記変換手段が、前記取得された座標変換パラメータを用いて、前記合成三次元モデルの座標を前記被合成三次元モデルの座標系の座標に変換する変換ステップと、
前記合成手段が、前記座標変換後の合成三次元モデルを前記被合成三次元モデルに合成する合成ステップと、を備える、
ことを特徴とする三次元モデリング方法。
【請求項8】
コンピュータを、
一度の撮像により一組の画像を取得するステレオカメラを用いて、被写体を異なる角度から複数回撮像することにより得られる複数の画像の組の入力を受け付ける受付手段、
前記受け付けられた複数の画像の組のそれぞれに基づいて、前記被写体の三次元モデルを複数生成する生成手段、
前記生成された複数の三次元モデルの中から、被合成三次元モデルと当該被合成三次元モデルに合成する合成三次元モデルとを選択する選択手段、
前記選択された被合成三次元モデルから複数の第1特徴点を抽出するとともに、前記選択された合成三次元モデルから複数の第2特徴点を抽出する抽出手段、
前記抽出された複数の第1特徴点と複数の第2特徴点とに基づいて、当該合成三次元モデルの座標を当該被合成三次元モデルの座標系の座標に変換する座標変換パラメータを取得する取得手段、
前記取得された座標変換パラメータを用いて、前記合成三次元モデルの座標を前記被合成三次元モデルの座標系の座標に変換する変換手段、
前記座標変換後の合成三次元モデルを前記被合成三次元モデルに合成する合成手段、として機能させる、
ことを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate