(57)【要約】【課題】被写体を適切に三次元モデリングする。【解決手段】受付部１１は、ステレオカメラを用いて、被写体を異なる角度から複数回撮像することにより得られる複数の画像の組の入力を受け付ける。生成部１２は、受け付けられた複数の画像の組のそれぞれに基づいて、被写体の三次元モデルを複数生成する。選択部１３は、被合成三次元モデルと合成三次元モデルとを選択する。抽出部１４は、被合成三次元モデルから複数の第１特徴点を抽出するとともに、合成三次元モデルから複数の第２特徴点を抽出する。取得部１５は、当該合成三次元モデルの座標を当該被合成三次元モデルの座標系の座標に変換する座標変換パラメータを取得する。変換部１６は、合成三次元モデルの座標を被合成三次元モデルの座標系の座標に変換する。合成部１７は、座標変換後の合成三次元モデルを被合成三次元モデルに合成する。【選択図】図３
2011209815.tif 000002
【特許請求の範囲】
【請求項１】
一度の撮像により一組の画像を取得するステレオカメラを用いて、被写体を異なる角度から複数回撮像することにより得られる複数の画像の組の入力を受け付ける受付手段と、
前記受け付けられた複数の画像の組のそれぞれに基づいて、前記被写体の三次元モデルを複数生成する生成手段と、
前記生成された複数の三次元モデルの中から、被合成三次元モデルと当該被合成三次元モデルに合成する合成三次元モデルとを選択する選択手段と、
前記選択された被合成三次元モデルから複数の第１特徴点を抽出するとともに、前記選択された合成三次元モデルから複数の第２特徴点を抽出する抽出手段と、
前記抽出された複数の第１特徴点と複数の第２特徴点とに基づいて、当該合成三次元モデルの座標を当該被合成三次元モデルの座標系の座標に変換する座標変換パラメータを取得する取得手段と、
前記取得された座標変換パラメータを用いて、前記合成三次元モデルの座標を前記被合成三次元モデルの座標系の座標に変換する変換手段と、
前記座標変換後の合成三次元モデルを前記被合成三次元モデルに合成する合成手段と、を備える、
ことを特徴とする三次元モデリング装置。
【請求項２】
前記取得手段は、前記抽出された複数の第１特徴点の中から３つの第１特徴点を選択し、前記抽出された複数の第２特徴点の中から、当該選択された３つの第１特徴点を３つの頂点とする三角形と合同な三角形の３つの頂点を構成する３つの第２特徴点を選択し、当該選択された３つの第２特徴点の座標を当該選択された３つの第１特徴点の座標に合わせる座標変換パラメータを取得する、
ことを特徴とする請求項１に記載の三次元モデリング装置。
【請求項３】
前記取得手段は、前記抽出された複数の第１特徴点の中から３つの第１特徴点をランダムに選択して座標変換パラメータを取得する処理を複数回実行し、当該複数回の処理により得られた複数の座標変換パラメータの中から１つの座標変換パラメータを選択する、
ことを特徴とする請求項２に記載の三次元モデリング装置。
【請求項４】
前記取得手段は、前記複数の座標変換パラメータの中から、前記変換手段による座標変換後の前記複数の第２特徴点の座標が、前記複数の第１特徴点の座標と最も合致する１つの座標変換パラメータを選択する、
ことを特徴とする請求項３に記載の三次元モデリング装置。
【請求項５】
前記選択手段は、前記生成された複数の三次元モデルの中から、前記被合成三次元モデル以外の全ての三次元モデルを前記合成三次元モデルとして選択し、
前記取得手段は、前記選択された、前記被合成三次元モデル以外の全ての三次元モデルについて、前記座標変換パラメータを取得し、
前記変換手段は、前記選択された、前記被合成三次元モデル以外の全ての三次元モデルについて、前記座標変換を実行し、
前記合成手段は、前記選択された、前記被合成三次元モデル以外の全ての三次元モデルについて、前記合成を実行する、
ことを特徴とする請求項１乃至４のいずれか１項に記載の三次元モデリング装置。
【請求項６】
前記合成手段は、前記複数の第１特徴点と前記複数の第２特徴点とを、対応する特徴点同士が同じグループに属するように複数のグループにグループ化し、当該複数のグループのそれぞれについて重心を求め、求められた複数の重心を新たな複数の特徴点として、新たな三次元モデルを生成する、
ことを特徴とする請求項５に記載の三次元モデリング装置。
【請求項７】
受付手段、生成手段、選択手段、抽出手段、取得手段、変換手段、合成手段を備える三次元モデリング装置が実行する三次元モデリング方法であって、
前記受付手段が、一度の撮像により一組の画像を取得するステレオカメラを用いて、被写体を異なる角度から複数回撮像することにより得られる複数の画像の組の入力を受け付ける受付ステップと、
前記生成手段が、前記受け付けられた複数の画像の組のそれぞれに基づいて、前記被写体の三次元モデルを複数生成する生成ステップと、
前記選択手段が、前記生成された複数の三次元モデルの中から、被合成三次元モデルと当該被合成三次元モデルに合成する合成三次元モデルとを選択する選択ステップと、
前記抽出手段が、前記選択された被合成三次元モデルから複数の第１特徴点を抽出するとともに、前記選択された合成三次元モデルから複数の第２特徴点を抽出する抽出ステップと、
前記取得手段が、前記抽出された複数の第１特徴点と複数の第２特徴点とに基づいて、当該合成三次元モデルの座標を当該被合成三次元モデルの座標系の座標に変換する座標変換パラメータを取得する取得ステップと、
前記変換手段が、前記取得された座標変換パラメータを用いて、前記合成三次元モデルの座標を前記被合成三次元モデルの座標系の座標に変換する変換ステップと、
前記合成手段が、前記座標変換後の合成三次元モデルを前記被合成三次元モデルに合成する合成ステップと、を備える、
ことを特徴とする三次元モデリング方法。
【請求項８】
コンピュータを、
一度の撮像により一組の画像を取得するステレオカメラを用いて、被写体を異なる角度から複数回撮像することにより得られる複数の画像の組の入力を受け付ける受付手段、
前記受け付けられた複数の画像の組のそれぞれに基づいて、前記被写体の三次元モデルを複数生成する生成手段、
前記生成された複数の三次元モデルの中から、被合成三次元モデルと当該被合成三次元モデルに合成する合成三次元モデルとを選択する選択手段、
前記選択された被合成三次元モデルから複数の第１特徴点を抽出するとともに、前記選択された合成三次元モデルから複数の第２特徴点を抽出する抽出手段、
前記抽出された複数の第１特徴点と複数の第２特徴点とに基づいて、当該合成三次元モデルの座標を当該被合成三次元モデルの座標系の座標に変換する座標変換パラメータを取得する取得手段、
前記取得された座標変換パラメータを用いて、前記合成三次元モデルの座標を前記被合成三次元モデルの座標系の座標に変換する変換手段、
前記座標変換後の合成三次元モデルを前記被合成三次元モデルに合成する合成手段、として機能させる、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、被写体を適切に三次元モデリングするのに好適な三次元モデリング装置、三次元モデリング方法、ならびに、これらをコンピュータ上で実現するためのプログラムに関する。
【背景技術】
【０００２】
人間、動物、あるいは、美術品などの被写体を、右眼用撮像部と左目用撮像部とを備えるステレオカメラを用いて撮像し、撮像により得られた右眼用画像と左眼用画像とに基づいて、被写体の三次元モデルを生成する技術が知られている。
【０００３】
具体的には、右眼用画像と左眼用画像とに対してステレオマッチングが実施され、被写体上の同じ点を表している対応点が求められる。次に、求められた対応点と、右眼用撮像部と左眼用撮像部との間隔と、に基づいて、三角測量の要領で、ステレオカメラと対応点との距離（奥行き）が求められる。そして、求められた距離から対応点の三次元座標が求められ、さらに被写体の三次元モデルが構築される。このような技術は、例えば、特許文献１や非特許文献１に開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第２９５３１５４号公報
【非特許文献】
【０００５】
【非特許文献１】デジタル画像処理、２００６年３月１日発行、ＣＧ−ＡＲＴＳ協会
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１や非特許文献１に開示されている技術は、互いに近い位置から同時に撮像することにより得られた、右眼用画像と左眼用画像とに基づいて、三次元モデリングを実行する技術である。従って、充分な精度で三次元モデリングを実現することができなかった。そこで、充分な精度で三次元モデリングを実現することが可能な技術が望まれている。
【０００７】
本発明は、このような状況に鑑みてなされたものであり、被写体を適切に三次元モデリングするのに好適な三次元モデリング装置、三次元モデリング方法、ならびに、これらをコンピュータ上で実現するためのプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明の第１の観点に係る三次元モデリング装置は、
一度の撮像により一組の画像を取得するステレオカメラを用いて、被写体を異なる角度から複数回撮像することにより得られる複数の画像の組の入力を受け付ける受付手段と、
前記受け付けられた複数の画像の組のそれぞれに基づいて、前記被写体の三次元モデルを複数生成する生成手段と、
前記生成された複数の三次元モデルの中から、被合成三次元モデルと当該被合成三次元モデルに合成する合成三次元モデルとを選択する選択手段と、
前記選択された被合成三次元モデルから複数の第１特徴点を抽出するとともに、前記選択された合成三次元モデルから複数の第２特徴点を抽出する抽出手段と、
前記抽出された複数の第１特徴点と複数の第２特徴点とに基づいて、当該合成三次元モデルの座標を当該被合成三次元モデルの座標系の座標に変換する座標変換パラメータを取得する取得手段と、
前記取得された座標変換パラメータを用いて、前記合成三次元モデルの座標を前記被合成三次元モデルの座標系の座標に変換する変換手段と、
前記座標変換後の合成三次元モデルを前記被合成三次元モデルに合成する合成手段と、を備える、
ことを特徴とする。
【０００９】
前記取得手段は、前記抽出された複数の第１特徴点の中から３つの第１特徴点を選択し、前記抽出された複数の第２特徴点の中から、当該選択された３つの第１特徴点を３つの頂点とする三角形と合同な三角形の３つの頂点を構成する３つの第２特徴点を選択し、当該選択された３つの第２特徴点の座標を当該選択された３つの第１特徴点の座標に合わせる座標変換パラメータを取得してもよい。
【００１０】
前記取得手段は、前記抽出された複数の第１特徴点の中から３つの第１特徴点をランダムに選択して座標変換パラメータを取得する処理を複数回実行し、当該複数回の処理により得られた複数の座標変換パラメータの中から１つの座標変換パラメータを選択してもよい。
【００１１】
前記取得手段は、前記複数の座標変換パラメータの中から、前記変換手段による座標変換後の前記複数の第２特徴点の座標が、前記複数の第１特徴点の座標と最も合致する１つの座標変換パラメータを選択してもよい。
【００１２】
前記選択手段は、前記生成された複数の三次元モデルの中から、前記被合成三次元モデル以外の全ての三次元モデルを前記合成三次元モデルとして選択し、
前記取得手段は、前記選択された、前記被合成三次元モデル以外の全ての三次元モデルについて、前記座標変換パラメータを取得し、
前記変換手段は、前記選択された、前記被合成三次元モデル以外の全ての三次元モデルについて、前記座標変換を実行し、
前記合成手段は、前記選択された、前記被合成三次元モデル以外の全ての三次元モデルについて、前記合成を実行してもよい。
【００１３】
前記合成手段は、前記複数の第１特徴点と前記複数の第２特徴点とを、対応する特徴点同士が同じグループに属するように複数のグループにグループ化し、当該複数のグループのそれぞれについて重心を求め、求められた複数の重心を新たな複数の特徴点として、新たな三次元モデルを生成してもよい。
【００１４】
上記目的を達成するために、本発明の第２の観点に係る三次元モデリング方法は、
受付手段、生成手段、選択手段、抽出手段、取得手段、変換手段、合成手段を備える三次元モデリング装置が実行する三次元モデリング方法であって、
前記受付手段が、一度の撮像により一組の画像を取得するステレオカメラを用いて、被写体を異なる角度から複数回撮像することにより得られる複数の画像の組の入力を受け付ける受付ステップと、
前記生成手段が、前記受け付けられた複数の画像の組のそれぞれに基づいて、前記被写体の三次元モデルを複数生成する生成ステップと、
前記選択手段が、前記生成された複数の三次元モデルの中から、被合成三次元モデルと当該被合成三次元モデルに合成する合成三次元モデルとを選択する選択ステップと、
前記抽出手段が、前記選択された被合成三次元モデルから複数の第１特徴点を抽出するとともに、前記選択された合成三次元モデルから複数の第２特徴点を抽出する抽出ステップと、
前記取得手段が、前記抽出された複数の第１特徴点と複数の第２特徴点とに基づいて、当該合成三次元モデルの座標を当該被合成三次元モデルの座標系の座標に変換する座標変換パラメータを取得する取得ステップと、
前記変換手段が、前記取得された座標変換パラメータを用いて、前記合成三次元モデルの座標を前記被合成三次元モデルの座標系の座標に変換する変換ステップと、
前記合成手段が、前記座標変換後の合成三次元モデルを前記被合成三次元モデルに合成する合成ステップと、を備える、
ことを特徴とする。
【００１５】
上記目的を達成するために、本発明の第３の観点に係るプログラムは、
コンピュータを、
一度の撮像により一組の画像を取得するステレオカメラを用いて、被写体を異なる角度から複数回撮像することにより得られる複数の画像の組の入力を受け付ける受付手段、
前記受け付けられた複数の画像の組のそれぞれに基づいて、前記被写体の三次元モデルを複数生成する生成手段、
前記生成された複数の三次元モデルの中から、被合成三次元モデルと当該被合成三次元モデルに合成する合成三次元モデルとを選択する選択手段、
前記選択された被合成三次元モデルから複数の第１特徴点を抽出するとともに、前記選択された合成三次元モデルから複数の第２特徴点を抽出する抽出手段、
前記抽出された複数の第１特徴点と複数の第２特徴点とに基づいて、当該合成三次元モデルの座標を当該被合成三次元モデルの座標系の座標に変換する座標変換パラメータを取得する取得手段、
前記取得された座標変換パラメータを用いて、前記合成三次元モデルの座標を前記被合成三次元モデルの座標系の座標に変換する変換手段、
前記座標変換後の合成三次元モデルを前記被合成三次元モデルに合成する合成手段、として機能させる、
ことを特徴とする。
【発明の効果】
【００１６】
本発明によれば、被写体を適切に三次元モデリングするのに好適な三次元モデリング装置、三次元モデリング方法、ならびに、これらをコンピュータ上で実現するためのプログラムを提供することができる。
【図面の簡単な説明】
【００１７】
【図１】（Ａ）は、本発明の実施形態に係るステレオカメラの前面の様子を表す外観図である。（Ｂ）は、本発明の実施形態に係るステレオカメラの背面の様子を表す外観図である。
【図２】本発明の実施形態に係るステレオカメラの構成を示すブロック図である。
【図３】本発明の実施形態に係るステレオカメラの主要部の構成を示すブロック図である。
【図４】本発明の実施形態に係るステレオカメラが実行する三次元モデリング処理を示すフローチャートである。
【図５】図４に示す三次元モデル生成処理を示すフローチャートである。
【図６】図４に示すカメラ位置推定処理を示すフローチャートである。
【図７】図６に示す座標変換パラメータ取得処理を示すフローチャートである。
【図８】図４に示す三次元モデル合成処理を示すフローチャートである。
【発明を実施するための形態】
【００１８】
以下、図面を参照して、本発明の実施形態に係る三次元モデリング装置について説明する。
【００１９】
（実施形態）
本実施形態においては、本発明を、デジタル式のステレオカメラに適用する例を示す。本実施形態においては、ステレオカメラは、シャッターボタンが押圧されてから、当該シャッターボタンが離されるまでの間、被写体を撮像する処理と、当該被写体の三次元モデルを合成する処理と、を繰り返し実行する。まず、図１（Ａ）、（Ｂ）を参照して、本発明の実施形態に係るステレオカメラ１０００の外観について説明する。
【００２０】
図１（Ａ）に示すように、ステレオカメラ１０００の前面には、レンズ１１１Ａと、レンズ１１１Ｂと、ストロボ発光部４００と、が設けられている。また、図１（Ａ）に示すように、ステレオカメラ１０００の上面には、シャッターボタン３３１が設けられている。さらに、図１（Ｂ）に示すように、ステレオカメラ１０００の背面には、表示部３１０と、操作キー３３２と、電源キー３３３と、が設けられている。
【００２１】
レンズ１１１Ａとレンズ１１１Ｂとは、所定の間隔を隔てて、平行に設けられている。
【００２２】
表示部３１０は、電源キー、操作キー、電子ビューファインダーとして機能するＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）から構成される。
【００２３】
シャッターボタン３３１は、被写体の撮像がなされている間、継続して押圧されるべきボタンである。つまり、ステレオカメラ１０００は、シャッターボタン３３１が押圧されている間、被写体の撮像を繰り返す。
【００２４】
操作キー３３２は、ユーザから各種の操作を受け付ける。操作キー３３２は、十字キーや決定キーを含み、モード切替や表示切替等の操作に用いられる。
【００２５】
電源キー３３３は、ステレオカメラ１０００の電源をオン・オフする際に押圧されるべきキーである。
【００２６】
ストロボ発光部４００は、被写体に向けてストロボ光を照射する。ストロボ発光部４００の構成については、後述する。
【００２７】
ここで、図２を参照して、ステレオカメラ１０００の電気的構成について説明する。
【００２８】
図２に示すように、ステレオカメラ１０００は、第１撮像部１００Ａと、第２撮像部１００Ｂと、データ処理部２００と、インターフェース部３００と、ストロボ発光部４００と、を備える。なお、図面において、適宜、インターフェース部のことをＩ／Ｆ部と表記する。
【００２９】
第１撮像部１００Ａと第２撮像部１００Ｂとは、被写体を撮像する部分である。ステレオカメラ１０００は、ステレオカメラであるため、第１撮像部１００Ａと第２撮像部１００Ｂとの２つの撮像部を有する構成であるが、第１撮像部１００Ａと第２撮像部１００Ｂとは同一の構成である。なお、第１撮像部１００Ａについての構成には参照符号の末尾に「Ａ」を付し、第２撮像部１００Ｂについての構成には参照符号の末尾に「Ｂ」を付す。
【００３０】
図２に示すように、第１撮像部１００Ａは、光学装置１１０Ａとイメージセンサ部１２０Ａとを備え、第２撮像部１００Ｂは、光学装置１１０Ｂとイメージセンサ部１２０Ｂとを備える。光学装置１１０Ｂは、光学装置１１０Ａと同様の構成であり、イメージセンサ部１２０Ｂはイメージセンサ部１２０Ａと同様の構成である。従って、以下、光学装置１１０Ａおよびイメージセンサ部１２０Ａの構成についてのみ説明する。
【００３１】
光学装置１１０Ａは、例えば、レンズ１１１Ａ、絞り機構、シャッタ機構、などを含み、撮像にかかる光学的動作を行う。すなわち、光学装置１１０Ａの動作により、入射光が集光されるとともに、焦点距離、絞り、シャッタスピードなどといった、画角やピント、露出などにかかる光学的要素の調整がなされる。なお、光学装置１１０Ａに含まれるシャッタ機構はいわゆるメカニカルシャッタであり、イメージセンサ部１２０Ａの動作のみでシャッタ動作がなされる場合には、光学装置１１０Ａにシャッタ機構が含まれていなくてもよい。また、光学装置１１０Ａは、後述する制御部２１０による制御によって動作する。
【００３２】
イメージセンサ部１２０Ａは、光学装置１１０Ａによって集光された入射光に応じた電気信号を生成する。例えば、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ：電荷結合素子）やＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｌｌｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ：相補型金属酸化物半導体）などのイメージセンサから構成される。イメージセンサ部１２０Ａは、光電変換をおこなうことで、受光に応じた電気信号を発生し、データ処理部２００に出力する。
【００３３】
なお、上述したように、第１撮像部１００Ａと第２撮像部１００Ｂとは同一の構成である。従って、レンズの焦点距離ｆやＦ値、絞り機構の絞り範囲、イメージセンサのサイズや画素数、配列、画素面積などの仕様は、すべて同一である。
【００３４】
このような第１撮像部１００Ａと第２撮像部１００Ｂとを有するステレオカメラ１０００は、図１（Ａ）に示すように、光学装置１１０Ａに構成されたレンズ１１１Ａと光学装置１１０Ｂに構成されたレンズ１１１Ｂとが、ステレオカメラ１０００の外面における同一平面上に形成された構成とする。ここでは、シャッターボタン３３１が上になる方向でステレオカメラ１０００を水平にした場合に、中心位置が水平方向に伸びる同一の線上となるように２つのレンズ（受光部）が配置されるものとする。つまり、第１撮像部１００Ａと第２撮像部１００Ｂとを同時に動作させた場合、同一被写体についての２つの画像（以下、適宜「ペア画像」という。）が撮像されることになるが、各画像における光軸位置は、横方向にずれることになる。ステレオカメラ１０００は、いわゆる平行ステレオカメラの構成である。
【００３５】
データ処理部２００は、第１撮像部１００Ａおよび第２撮像部１００Ｂによる撮像動作によって生成された電気信号を処理し、撮像された被写体の画像を示すデジタルデータを生成するとともに、当該画像に対する画像処理等を行う。図２に示すように、データ処理部２００は、制御部２１０、画像処理部２２０、画像メモリ２３０、画像出力部２４０、記憶部２５０、外部記憶部２６０などから構成される。
【００３６】
制御部２１０は、例えば、ＣＰＵ(Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：中央演算処理部）などのプロセッサや、ＲＡＭ(Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ)などの主記憶装置(メモリ)、などから構成され、後述する記憶部２５０などに格納されているプログラムを実行することで、ステレオカメラ１０００の各部を制御する。
【００３７】
画像処理部２２０は、例えば、ＡＤＣ（Ａｎａｌｏｇ−Ｄｉｇｉｔａｌ  Ｃｏｎｖｅｒｔｅｒ：アナログ・デジタル変換器）、バッファメモリ、画像処理用のプロセッサ（いわゆる、画像処理エンジン）などから構成され、イメージセンサ部１２０Ａおよび１２０Ｂによって生成された電気信号に基づいて、撮像された被写体の画像を示すデジタルデータ（以下、適宜「画像データ」という。）を生成する。
【００３８】
すなわち、ＡＤＣは、イメージセンサ部１２０Ａおよびイメージセンサ部１２０Ｂから出力されたアナログ電気信号を、デジタル信号に変換して順次バッファメモリに格納する。一方、画像処理部２２０は、バッファされたデジタルデータに対し、いわゆる現像処理などを行うことで、画質の調整やデータ圧縮などをおこなう。
【００３９】
画像メモリ２３０は、例えば、ＲＡＭやフラッシュメモリなどの記憶装置から構成され、画像処理部２２０によって生成された画像データや、制御部２１０によって処理される画像データなどを一時的に格納する。
【００４０】
画像出力部２４０は、例えば、ＲＧＢ信号の生成回路などから構成され、画像メモリ２３０に展開された画像データをＲＧＢ信号に変換して表示画面（後述する表示部３１０など）に出力する。
【００４１】
記憶部２５０は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やフラッシュメモリなどの記憶装置から構成され、ステレオカメラ１０００の動作に必要なプログラムやデータなどを格納する。本実施形態では、制御部２１０などが実行する動作プログラム、各処理に必要となるパラメータや演算式などが記憶部２５０に格納されているものとする。
【００４２】
外部記憶部２６０は、例えば、メモリカードなどといった、ステレオカメラ１０００に着脱可能な記憶装置から構成され、ステレオカメラ１０００が撮像した画像データ、三次元モデルを表すデータなどを格納する。
【００４３】
インターフェース部３００は、ステレオカメラ１０００とその使用者あるいは外部装置とのインターフェースにかかる構成である。図２に示すように、インターフェース部３００は、表示部３１０、外部インターフェース部３２０、操作部３３０などから構成される。
【００４４】
表示部３１０は、例えば、液晶表示装置などから構成され、ステレオカメラ１０００を操作するために必要な種々の画面や、撮像時のライブビュー画像、撮像された被写体の画像、などを表示する。本実施形態では、画像出力部２４０から供給された画像信号（ＲＧＢ信号）などに基づいて、撮像された被写体の画像や三次元モデル等を表示する。
【００４５】
外部インターフェース部３２０は、例えばＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）コネクタやビデオ出力端子などから構成され、外部のコンピュータ装置や外部のモニタ装置へ、画像データなどを出力する。
【００４６】
操作部３３０は、ステレオカメラ１０００の外面上に構成されている各種ボタンなどによって構成され、ステレオカメラ１０００の使用者による操作に応じた入力信号を生成して制御部２１０に供給する。操作部３３０には、例えば、シャッタ動作を指示するためのシャッターボタン３３１、ステレオカメラ１０００の動作モード等の指定や各種機能設定を行なう操作キー３３２、電源キー３３３、が含まれているものとする。
【００４７】
ストロボ発光部４００は、例えば、キセノンランプ（キセノンフラッシュ）により構成される。ストロボ発光部４００は、制御部２１０の制御に従って、被写体にフラッシュを照射する。
【００４８】
ステレオカメラ１０００は、図２に示す全ての構成を備えていなくても良いし、図２に示す構成以外の構成を備えていてもよい。
【００４９】
ここで、図３を参照して、ステレオカメラ１０００の動作のうち、三次元モデリングに係る動作について説明する。
【００５０】
図３は、ステレオカメラ１０００の主要部の構成、つまり、三次元モデリングに係る動作を実現するための構成、を示すブロック図である。
【００５１】
図３に示すように、ステレオカメラ１０００は、受付部１１、生成部１２、選択部１３、抽出部１４、取得部１５、変換部１６、合成部１７を備える。これらの要素は、例えば、制御部２１０により構成される。
【００５２】
受付部１１は、一度の撮像により一組の画像を取得するステレオカメラ１０００を用いて、被写体を異なる角度から複数回撮像することにより得られる複数の画像の組の入力を受け付ける。
【００５３】
生成部１２は、受け付けられた複数の画像の組のそれぞれに基づいて、被写体の三次元モデルを複数生成する。
【００５４】
選択部１３は、生成された複数の三次元モデルの中から、被合成三次元モデルと当該被合成三次元モデルに合成する合成三次元モデルとを選択する。
【００５５】
抽出部１４は、選択された被合成三次元モデルから複数の第１特徴点を抽出するとともに、選択された合成三次元モデルから複数の第２特徴点を抽出する。
【００５６】
取得部１５は、抽出された複数の第１特徴点と複数の第２特徴点とに基づいて、当該合成三次元モデルの座標を当該被合成三次元モデルの座標系の座標に変換する。
【００５７】
変換部１６は、取得された座標変換パラメータを用いて、合成三次元モデルの座標を被合成三次元モデルの座標系の座標に変換する。
【００５８】
合成部１７は、変換後の合成三次元モデルを当該被合成三次元モデルに合成する。
【００５９】
次に、図４に示すフローチャートを用いて、ステレオカメラ１０００が実行する三次元モデリング処理について説明する。ステレオカメラ１０００は、操作キー３３２などの操作により、動作モードが三次元モデリングモードに設定されると、図４に示す三次元モデリング処理を実行する。
【００６０】
本実施形態においては、シャッターボタン３３１が押圧されている間、被写体の撮像、三次元モデルの生成、生成された三次元モデルの合成、合成後の三次元モデルのプレビュー表示、などが、繰り返して実行される。ここで、最初の撮像により得られる三次元モデルであって、合成の基礎となる三次元モデルを、被合成三次元モデルという。また、２回目以降の撮像により得られる三次元モデルであって、被合成三次元モデルに合成される三次元モデルを、合成三次元モデルという。そして、三次元モデリング処理においては、撮像回数分の三次元モデルを合成して得られる三次元モデルが順次生成される。なお、被写体は、撮像毎に異なる角度から撮像されるものとする。
【００６１】
まず、制御部２１０は、シャッターボタン３３１が押圧されたか否かを判別する（ステップＳ１０１）。制御部２１０は、シャッターボタン３３１が押圧されていないと判別すると（ステップＳ１０１：ＮＯ）、再度、ステップＳ１０１の処理を実行する。一方、制御部２１０は、シャッターボタン３３１が押圧されたと判別すると（ステップＳ１０１：ＹＥＳ）、撮像回数カウンタＮを１に初期化する（ステップＳ１０２）。なお、撮像回数カウンタＮは、例えば、記憶部２５０に記憶される。
【００６２】
制御部２１０は、ステップＳ１０２の処理を完了すると、被写体５０１を撮像する（ステップＳ１０３）。制御部２１０により被写体が撮像されると、２枚の平行同位画像（ペア画像）が得られる。取得されたペア画像は、例えば、画像メモリ２３０に記憶される。なお、ペア画像のうち、第１撮像部１００Ａによる撮像により得られた画像を画像Ａ、第２撮像部１００Ｂによる撮像により得られた画像を画像Ｂとする。
【００６３】
制御部２１０は、ステップＳ１０３の処理を完了すると、画像メモリ２３０に記憶されているペア画像に基づいて、三次元モデル生成処理を実行する（ステップＳ１０４）。
【００６４】
ここで、図５に示すフローチャートを参照して、三次元モデル生成処理について説明する。なお、三次元モデル生成処理は、一組のペア画像に基づいて三次元モデルを生成する処理である。つまり、三次元モデル生成処理は、一つのカメラ位置から見た三次元モデルを生成する処理と考えることができる。
【００６５】
まず、制御部２１０は、特徴点の候補を抽出する（ステップＳ２０１）。例えば、制御部２１０は、画像Ａに対してコーナー検出を行う。コーナー検出においては、ハリスなどのコーナー特徴量が、所定閾値以上かつ所定半径内で最大になる点がコーナー点として選択される。従って、被写体の先端など、他の点に対して特徴のある点が特徴点として抽出される。
【００６６】
制御部２１０は、ステップＳ２０１の処理を完了すると、ステレオマッチングを実行し、画像Ａの特徴点に対応する点（対応点）を画像Ｂから探す（ステップＳ２０２）。具体的には、制御部２１０は、テンプレートマッチングにより類似度が所定閾値以上かつ最大のもの（相違度が所定閾値以下かつ最小のもの）を対応点とする。テンプレートマッチングには、例えば、残差絶対値和（ＳＡＤ）、残差平方和（ＳＳＤ）、正規化相関（ＮＣＣやＺＮＣＣ）、方向符号相関など、様々な既知の技法が利用可能である。
【００６７】
制御部２１０は、ステップＳ２０２の処理を完了すると、ステップＳ２０２において見つけられた対応点の視差情報、第１撮像部１００Ａおよび第２撮像部１００Ｂの画角、基線長などから、特徴点の位置情報を算出する（ステップＳ２０３）。生成された特徴点の位置情報は、例えば、記憶部２５０に記憶される。
【００６８】
制御部２１０は、ステップＳ２０３の処理を完了すると、ステップＳ２０３において算出された特徴点の位置情報をもとにドロネー三角形分割を実行し、ポリゴン化を実行する（ステップＳ２０４）。生成されたポリゴン情報は、例えば、記憶部２５０に記憶される。制御部２１０は、ステップＳ２０４の処理を完了すると、三次元モデル生成処理を終了する。
【００６９】
なお、特徴点の数が少ないと、被写体の形状情報が欠損し、被写体の忠実な三次元モデルが得られない。一方、より多くの特徴点が得られるように、特徴点の候補を抽出する条件やステレオマッチングの条件を緩くすると、不適切な点が特徴点の候補に含まれたり、ステレオマッチングで誤対応が発生したりして、位置精度が低下、つまり、モデリング精度が悪化する。このため、モデリング精度の悪化を防ぎつつ、被写体の忠実な三次元モデルを得ることができるように、適切な数の特徴点が抽出されるようにする必要がある。
【００７０】
また、三次元モデル（三次元情報）は、例えば、以下の３つの式を用いて、ペア画像から求められる。ペア画像から三次元情報を取得する方法の詳細については、例えば、非特許文献１、デジタル画像処理、２００６年３月１日発行、ＣＧ−ＡＲＴＳ協会、に開示されている。
Ｘ＝（ｂ＊ｕ）／（ｕ−ｕ’）
Ｙ＝（ｂ＊ｖ）／（ｕ−ｕ’）
Ｚ＝（ｂ＊ｆ）／（ｕ−ｕ’）
ここで、ｂは、光学装置１１０Ａと１１０Ｂとの間の距離で、基線長と呼ばれる。（ｕ，ｖ）は、光学装置１１０Ａにより撮像された被写体の画像上の座標を示し、（ｕ’，ｖ’）は光学装置１１０Ｂにより撮像された被写体の画像上の座標を示す。上記３つの式における（ｕ−ｕ’）は、光学装置１１０Ａと光学装置１１０Ｂとから、同じ被写体を撮像したときに得られる２つの画像上における被写体５０１の座標の差であり、視差と呼ばれる。ｆは、光学装置１１０Ａの焦点距離を示す。既に説明したとおり、光学装置１１０Ａと１１０Ｂとは同じ構成であり、焦点距離ｆも等しい。
【００７１】
制御部２１０は、三次元モデル生成処理（ステップＳ１０４）を終了すると、撮像回数カウンタＮが１であるか否かを判別する（ステップＳ１０５）。ここで、撮像回数カウンタＮが１であることは、最初の撮像の直後であることを示す。制御部２１０は、撮像回数カウンタＮが１であると判別すると（ステップＳ１０５：ＹＥＳ）、ステップＳ１０４において生成された三次元モデルを、被合成三次元モデルに設定する（ステップＳ１０６）。
【００７２】
一方、制御部２１０は、撮像回数カウンタＮが１ではない、つまり、最初の撮像の直後ではないと判別すると（ステップＳ１０５：ＮＯ）、カメラ位置推定処理を実行する（ステップＳ１０７）。カメラ位置推定処理については、図６のフローチャートを参照して説明する。なお、カメラ位置推定処理においては、最初の撮像時のステレオカメラ１０００の位置に対する、今回の撮像時のステレオカメラ１０００の相対的な位置が求められる。なお、この相対的な位置が求められることは、今回の撮像により得られた三次元モデルの座標を、最初の撮像により得られた三次元モデルの座標系の座標に変換する座標変換パラメータが求められることと同様である。
【００７３】
まず、制御部２１０は、被合成三次元モデルおよび合成三次元モデルの双方から三次元空間上の特徴点を取得する（ステップＳ３０１）。例えば、制御部２１０は、被合成三次元モデル（もしくは、合成三次元モデル）の特徴点のうち、コーナー強度が高く、ステレオマッチングの一致度が高いものを選択する。または、制御部２１０は、ペア画像間でエピ線拘束を考慮した上で、ＳＵＲＦ（Ｓｐｅｅｄｅｄ−Ｕｐ  Ｒｏｂｕｓｔ  Ｆｅａｔｕｒｅｓ）特徴量によるマッチングを実行することで、特徴点を取得するようにしてもよい。
【００７４】
制御部２１０は、ステップＳ３０１の処理を完了すると、被合成三次元モデルから３つの特徴点を選択する（ステップＳ３０２）。ここで、選択される３つの特徴点は、以下に示す（Ａ）および（Ｂ）の条件を満たすものが選択される。（Ａ）の条件は、３つの特徴点を頂点とする三角形の面積が小さすぎないことであり、（Ｂ）の条件は、３つの特徴点を頂点とする三角形が極端に鋭角な角を持たないことである。例えば、制御部２１０は、上記（Ａ）および（Ｂ）の条件を満たす３つの特徴点が選択されるまで、ランダムに３つの特徴点を選択する。
【００７５】
制御部２１０は、ステップＳ３０２の処理を完了すると、合成三次元モデルが有する３つの特徴点を３つの頂点とする三角形の中から、ステップＳ３０２において選択された３つの特徴点を３つの頂点とする三角形と合同な三角形を探索する（ステップＳ３０３）。例えば、３辺の長さがほぼ等しい場合、２つの三角形は合同であると判別される。ステップＳ３０３の処理は、合成三次元モデルの特徴点のうち、ステップＳ３０２において被合成三次元モデルから選択された３つの特徴点に対応すると考えられる３つの特徴点を探索する処理と考えることもできる。なお、制御部２１０は、特徴点や周辺の色情報、またはＳＵＲＦ特徴量などで三角形の候補をあらかじめ絞ることで、探索を高速化してもよい。探索された三角形を示す情報（典型的には、当該三角形の頂点を構成する３つの特徴点の三次元空間上の座標を示す情報。）は、例えば、記憶部２５０に記憶される。合同な三角形が複数ある場合、全ての三角形を示す情報が、記憶部２５０に記憶される。
【００７６】
制御部２１０は、ステップＳ３０３の処理を完了すると、ステップＳ３０３において、少なくとも１つの合同な三角形が探索されたか否かを判別する（ステップＳ３０４）。なお、探索された合同な三角形が多すぎる場合、合同な三角形が探索されなかったものとみなされてもよい。
【００７７】
制御部２１０は、少なくとも１つの合同な三角形が探索されたと判別すると（ステップＳ３０４：ＹＥＳ）、合同な三角形を一つ選択する（ステップＳ３０５）。一方、制御部２１０は、合同な三角形が１つも探索されなかったと判別すると（ステップＳ３０４：ＮＯ）、ステップＳ３０２に処理を戻す。
【００７８】
制御部２１０は、ステップＳ３０５の処理を完了すると、座標変換パラメータ取得処理を実行する（ステップＳ３０６）。座標変換パラメータ取得処理については、図７に示すフローチャートを参照して、詳細に説明する。なお、座標変換パラメータ取得処理は、合成三次元モデルの座標を被合成三次元モデルの座標系の座標に変換するための、座標変換パラメータを取得する処理である。なお、座標変換パラメータ取得処理は、ステップＳ３０２において選択された３つの特徴点と、ステップＳ３０５において選択された合同な三角形と、の組み合わせ毎に実行される。ここで、座標変換パラメータは、式（１）および（２）で与えられる対応点ペア（特徴点ペア、頂点ペア）に対して、式（３）を満たす回転行列Ｒと移動ベクトルｔとを求める処理である。式（１）および（２）のｐとｐ’とは、各々のカメラ視線から見た三次元空間上の座標を持つ。なお、Ｎは、対応点ペアのペア数である。
【数１】
2011209815.tif 000003
【数２】
2011209815.tif 000004
【数３】
2011209815.tif 000005
【００７９】
まず、制御部２１０は、式（４）および（５）に示すように、対応点ペアを設定する（ステップＳ４０１）。ここで、ｃ１とｃ２とは、対応する列ベクトルが対応点の座標になる行列である。この行列から回転行列Ｒと移動ベクトルｔとを直接求めることは難しい。しかしながら、ｐとｐ’との分布がほぼ等しいことから、対応点の重心を合わせてから回転すれば、対応点を重ね合わせることができる。このことを利用して、回転行列Ｒと移動ベクトルｔとを求める。
【数４】
2011209815.tif 000006
【数５】
2011209815.tif 000007
【００８０】
つまり、制御部２１０は、式（６）および（７）を用いて、特徴点の重心である重心ｔ１およびｔ２を求める（ステップＳ４０２）。
【数６】
2011209815.tif 000008
【数７】
2011209815.tif 000009
【００８１】
次に、制御部２１０は、式（８）および（９）を用いて、特徴点の分布である分布ｄ１およびｄ２を求める（ステップＳ４０３）。ここで、上述したように、分布ｄ１と分布ｄ２との間には、式（１０）の関係がある。
【数８】
2011209815.tif 000010
【数９】
2011209815.tif 000011
【数１０】
2011209815.tif 000012
【００８２】
次に、制御部２１０は、式（１１）および（１２）を用いて、分布ｄ１およびｄ２の特異値分解を実行する（ステップＳ４０４）。特異値は、降順に並べられているものとする。ここで、記号＊は複素共役転置を表す。
【数１１】
2011209815.tif 000013
【数１２】
2011209815.tif 000014
【００８３】
次に、制御部２１０は、分布ｄ１およびｄ２が二次元以上であるか否かを判別する（ステップＳ４０５）。特異値は、分布の広がり具合に対応している。従って、最大の特異値とそれ以外の特異値との比率や、特異値の大きさを用いて判定がなされる。例えば、２番目に大きい特異値が、所定値以上かつ最大の特異値との比率が所定範囲内である場合に、分布が二次元以上と判定される。
【００８４】
制御部２１０は、分布ｄ１およびｄ２が二次元以上でないと判別すると（ステップＳ４０５：ＮＯ）、回転行列Ｒを求めることができないので、エラー処理を実行し（ステップＳ４１３）、座標変換パラメータ取得処理を終了する。
【００８５】
一方、制御部２１０は、分布ｄ１およびｄ２が二次元以上であると判別すると（ステップＳ４０５：ＹＥＳ）、関連付けＫを求める（ステップＳ４０６）。式（１０）〜（１２）から、回転行列Ｒは、式（１３）のように表すことができる。ここで、関連付けＫを、式（１４）のように定義すると、回転行列Ｒは、式（１５）のようになる。
【数１３】
2011209815.tif 000015
【数１４】
2011209815.tif 000016
【数１５】
2011209815.tif 000017
【００８６】
ここで、固有ベクトルＵは、分布ｄ１およびｄ２の固有ベクトルに相当し、関連付けＫにより関連付けられる。関連付けＫの要素は、固有ベクトルが対応する場合は１か−１が、そうでない場合は０が与えられる。ところで、分布ｄ１およびｄ２が等しいことから、特異点も等しい。つまり、Ｓも等しい。実際には、分布ｄ１と分布ｄ２とには誤差が含まれているので、誤差を丸める。以上を考慮すると、関連付けＫは、式（１６）のようになる。つまり、制御部２１０は、ステップＳ４０６において、式（１６）を計算する。
【数１６】
2011209815.tif 000018
【００８７】
制御部２１０は、ステップＳ４０６の処理を完了すると、回転行列Ｒを計算する（ステップＳ４０７）。具体的には、制御部２１０は、式（１５）と式（１６）とに基づいて、回転行列Ｒを計算する。計算により得られた回転行列Ｒを示す情報は、例えば、記憶部２５０に記憶される。
【００８８】
制御部２１０は、ステップＳ４０７の処理を完了すると、分布ｄ１およびｄ２が二次元であるか否かを判別する（ステップＳ４０８）。例えば、最小の特異値が、所定値以上または最大の特異値との比率が所定範囲内である場合、分布ｄ１およびｄ２は二次元であると判別される。
【００８９】
制御部２１０は、分布ｄ１およびｄ２が二次元ではないと判別すると（ステップＳ４０８：ＮＯ）、移動ベクトルｔを計算する（ステップＳＳ４１４）。ここで、分布ｄ１およびｄ２が二次元ではないことは、分布ｄ１およびｄ２が三次元であることを示す。ここで、ｐとｐ’とは、式（１７）の関係を満たす。式（１７）を変形すると、式（１８）のようになる。式（１８）と式（３）との対応から、移動ベクトルｔは式（１９）のようになる。
【数１７】
2011209815.tif 000019
【数１８】
2011209815.tif 000020
【数１９】
2011209815.tif 000021
【００９０】
一方、制御部２１０は、分布ｄ１およびｄ２が二次元であると判別すると（ステップＳ４０８：ＹＥＳ）、回転行列Ｒを検証し、回転行列Ｒが正常であるか否かを判別する（ステップＳ４０９）。分布が二次元の場合、特異値の１つが０になるので、式（１４）から分かるように、関連付けが不定になる。つまり、Ｋの３行３列目の要素が１か−１のどちらかであるが、式（１６）では正しい符号を割り当てる保証がない。そこで、回転行列Ｒの検証が必要になる。検証は、回転行列Ｒの外積関係の確認や式（１０）による検算などである。ここでいう外積関係の確認とは、回転行列Ｒの列ベクトル（および、行ベクトル）が座標系による制約を満たすことの確認である。右手座標系では、１列目のベクトルと２列目のベクトルの外積は、３列目のベクトルに等しくなる。
【００９１】
制御部２１０は、回転行列Ｒが正常であると判別すると（ステップＳ４０９：ＹＥＳ）、移動ベクトルｔを計算し（ステップＳ４１４）、座標変換パラメータ取得処理を終了する。
【００９２】
一方、制御部２１０は、回転行列Ｒが正常ではないと判別すると（ステップＳ４０９：ＮＯ）、関連付けＫを修正する（ステップＳ４１０）。ここでは、関連付けＫの３行３列目の要素の符号を反転する。
【００９３】
制御部２１０は、ステップＳ４１０の処理を完了すると、修正された関連付けＫを用いて回転行列Ｒを計算する（ステップＳ４１１）。
【００９４】
制御部２１０は、ステップＳ４１１の処理を完了すると、念のため、再度、回転行列Ｒが正常であるか否かを判別する（ステップＳ４１２）。
【００９５】
制御部２１０は、回転行列Ｒが正常であると判別すると（ステップＳ４１２：ＹＥＳ）、移動ベクトルｔを計算する（ステップＳ４１４）。なお、制御部２１０は、ステップＳ４１４の処理を完了すると、座標変換パラメータ取得処理を終了する。
【００９６】
一方、制御部２１０は、回転行列Ｒが正常ではないと判別すると（ステップＳ４１２：ＮＯ）、エラー処理を実行し（ステップＳ４１３）、座標変換パラメータ取得処理を終了する。
【００９７】
制御部２１０は、座標変換パラメータ取得処理（ステップＳ３０６）を終了すると、取得された座標変換パラメータを用いて、座標系を合わせる（ステップＳ３０７）。具体的には、式（３）を用いて、合成三次元モデルの特徴点の座標を、被合成三次元モデルの座標系の座標に変換する。
【００９８】
制御部２１０は、ステップＳ３０７の処理を終了すると、特徴点ペアを記憶する（ステップＳ３０８）。ここで、特徴点ペアは、被合成三次元モデルの特徴点と、座標変換後の合成三次元モデルの特徴点のうち、当該被合成三次元モデルの特徴点との距離が所定値以下かつ最近傍である特徴点と、から構成される。ここで、特徴点ペアの数が多いほど、ステップＳ３０２における３つの特徴点の選択、ならびに、ステップＳ３０５における合同な三角形の選択が適切であったと推定される。なお、特徴点ペアは、座標変換パラメータの取得条件（ステップＳ３０２における３つの特徴点の選択、ならびに、ステップＳ３０５における合同な三角形の選択）とともに、記憶部２５０などに記憶される。
【００９９】
制御部２１０は、ステップＳ３０８の処理を終了すると、ステップＳ３０３において探索された全ての合同な三角形が、ステップＳ３０５において選択されたか否かを判別する（ステップＳ３０９）。
【０１００】
制御部２１０は、いずれかの合同な三角形が選択されていないと判別すると（ステップＳ３０９：ＮＯ）、ステップＳ３０５に処理を戻す。
【０１０１】
一方、制御部２１０は、全ての合同な三角形が選択されたと判別すると（ステップＳ３０９：ＹＥＳ）、終了条件を満たすか否かを判別する。本実施形態では、終了条件は、所定個数以上の条件について座標変換パラメータを取得したこととする。
【０１０２】
制御部２１０は、終了条件を満たしていないと判別すると（ステップＳ３１０：ＮＯ）、ステップＳ３０２に処理を戻す。
【０１０３】
一方、制御部２１０は、終了条件を満たしていると判別すると（ステップＳ３１０：ＹＥＳ）、最適な座標変換パラメータを特定する（ステップＳ３１１）。具体的には、特徴点ペアが最も多く取得された座標変換パラメータが特定される。言い換えれば、ステップＳ３０２における３つの特徴点の選択、ならびに、ステップＳ３０５における合同な三角形の選択が最適であるものが特定される。なお、座標変換パラメータは、回転行列Ｒと移動ベクトルｔとである。
【０１０４】
制御部２１０は、ステップＳ３１１の処理を終了すると、カメラ位置推定処理を終了する。
【０１０５】
制御部２１０は、カメラ位置推定処理（ステップＳ１０７）を終了すると、三次元モデル合成処理を実行する（ステップＳ１０８）。三次元モデル合成処理については、図８のフローチャートを参照して説明する。
【０１０６】
まず、制御部２１０は、座標変換パラメータを用いて、全ての三次元モデルを重ねる（ステップＳ５０１）。例えば、２回目の撮像の場合、１回目に撮像されたペア画像に基づいて生成された被合成三次元モデルに、２回目に撮像されたペア画像に基づいて生成された座標変換後の合成三次元モデルが重ねられる。また、３回目の撮像の場合、１回目に撮像されたペア画像に基づいて生成された被合成三次元モデルに、２回目に撮像されたペア画像に基づいて生成された座標変換後の合成三次元モデルが重ねられ、さらに、３回目に撮像されたペア画像に基づいて生成された座標変換後の合成三次元モデルが重ねられる。
【０１０７】
制御部２１０は、ステップＳ５０１の処理を完了すると、各特徴点の重なり具合から信頼性の低い特徴点を除去する（ステップＳ５０２）。例えば、ある三次元モデルの注目特徴点に対する、他の三次元モデルの最近傍の特徴点の分布から、当該注目特徴点のマハラノビス距離が計算され、このマハラノビス距離が所定値以上の場合は当該注目特徴点の信頼性が低いと判別される。なお、注目特徴点からの距離が所定値以上の特徴点は、最近傍の特徴点に含めないようにしても良い。また、最近傍の特徴点の数が少ない場合、信頼性が低いものと見なされてもよい。なお、特徴点を実際に除去する処理は、全ての特徴点に対して、除去するか否かが判別された後に、実行されるものとする。
【０１０８】
制御部２１０は、ステップＳ５０２の処理を完了すると、同一と見なせる特徴点を統合する（ステップＳ５０３）。例えば、所定距離以内の特徴点は、全て同一の特徴点を表すグループに属するものとして扱われ、これらの特徴点の重心が新たな特徴点とされる。
【０１０９】
制御部２１０は、ステップＳ５０３の処理を完了すると、ポリゴンメッシュを再構成する（ステップＳ５０４）。つまり、ステップＳ５０３において求められた新たな特徴点に基づいて、ポリゴンが生成される。制御部２１０は、ステップＳ５０４の処理を完了すると、三次元モデル合成処理を終了する。
【０１１０】
なお、三次元モデル生成処理（ステップＳ１０４）において生成された三次元モデルを示す情報（典型的には、特徴点の座標情報）は、シャッターボタン３３１が押圧されている間は、全撮像分（全視線分）保持され、基本的に変更されない。つまり、三次元モデル合成処理（ステップＳ１０８）においては、全撮像分の三次元モデルに基づいて、表示用もしくは保存用の高精細な三次元モデルを別途作成する処理である。
【０１１１】
制御部２１０は、ステップＳ１０８の処理を完了すると、撮像回数カウンタＮの値を１つ増加させる（ステップＳ１０９）。
【０１１２】
制御部２１０は、ステップＳ１０６もしくはステップＳ１０９の処理を完了すると、合成後の三次元モデルを表示する（ステップＳ１１０）。具体的には、制御部２１０は、三次元モデル合成処理（ステップＳ１０８）において取得された三次元モデルを、表示部３１０に表示する。これにより、ユーザは、現在までの撮像に置いて、どの程度正確な三次元モデルが生成されているかを知ることができる。
【０１１３】
制御部２１０は、ステップＳ１１０の処理を終了すると、シャッターボタン３３１が離されたか否かを判別する（ステップＳ１１１）。制御部２１０は、シャッターボタン３３１が離されたと判別すると（ステップＳ１１１：ＹＥＳ）、合成語の三次元モデルを外部記憶部２６０などに保存した後（ステップＳ１１２）、三次元モデリング処理を完了する。一方、制御部２１０は、シャッターボタン３３１が離されていないと判別すると（ステップＳ１１１：ＮＯ）、ステップＳ１０３に処理を戻す。
【０１１４】
本実施形態に係るステレオカメラ１０００によれば、複数の三次元モデルが合成されるので、形状情報の欠損を抑えつつ、高精度な三次元モデリングが可能になる。また、本実施形態に係るステレオカメラ１０００によれば、信頼性が低いと考えられる特徴点が除去され、さらに、同一の見なせる特徴点が統合されて、三次元モデリングがなされるため、適切な三次元モデリングが可能となる。さらに、本実施形態に係るステレオカメラ１０００は、同時に様々な角度から被写体を撮像する構成ではないため、小型化が可能である。また、ユーザは、表示部３１０に表示されたポリゴンを見ることで、どの程度正確な三次元モデルが生成されているかを知ることができる。従って、ユーザは、十分に三次元モデリングがなされたか、あるいは、十分な三次元モデリングのために、どのような角度から撮像する必要があるかなどを判断することができる。
【０１１５】
（変形例）
本発明は、上記実施形態に開示したものに限られない。
【０１１６】
上記実施形態では、ステップＳ３１０において、終了条件を、所定個数以上の条件において、座標変換パラメータを取得したことにする例を示した。しかし、終了条件は、この例に限られない。例えば、終了条件を、特徴点ペア数が所定個数以上である座標変換パラメータが得られたことにすることができる。
【０１１７】
上記実施形態では、ステップＳ３１１において、特徴点ペアが最も多く取得された座標変換パラメータが特定される例を示した。しかし、特徴点ペアの平均距離が最も小さくなる座標変換パラメータが特定されてもよい。
【０１１８】
上記実施形態では、合成三次元モデルの座標を、被合成三次元モデルの座標系の座標に合わせる例を示した。しかし、被合成三次元モデルの座標を、合成三次元モデルの座標系の座標に合わせてもよい。
【０１１９】
上記実施形態では、被合成三次元モデルから３つの特徴点が選択され、合成三次元モデルから当該３つの特徴点に対応する３つの特徴点が選択される例を示した。しかし、合成三次元モデルから３つの特徴点が選択され、被合成三次元モデルから当該３つの特徴点に対応する３つの特徴点が選択されてもよい。
【０１２０】
本発明は、撮像装置を有していない機器（例えば、パーソナルコンピュータ）に適用することもできる。この場合、あらかじめ用意された複数のペア画像に基づいて、三次元モデルの合成が実行される。なお、複数のペア画像のうち、最も良好に被写体が写っているペア画像を、基準とするペア画像（キーフレーム）に割り当てても良い。
【０１２１】
なお、本発明に係る三次元モデリング装置は、専用のシステムによらず、通常のコンピュータシステムを用いても実現可能である。例えば、コンピュータに、上記動作を実行するためのプログラムを、フレキシブルディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、ＭＯ（Ｍａｇｎｅｔｏ  Ｏｐｔｉｃａｌ  Ｄｉｓｋ）などのコンピュータ読み取り可能な記録媒体に記憶して配布し、これをコンピュータシステムにインストールすることにより、上述の処理を実行する三次元モデリング装置を構成しても良い。
【０１２２】
さらに、インターネット上のサーバ装置が有するディスク装置等にプログラムを記憶しておき、例えば、搬送波に重畳させて、コンピュータにダウンロード等するものとしてもよい。
【符号の説明】
【０１２３】
１１・・・受付部、１２・・・生成部、１３・・・選択部、１４・・・抽出部、１５・・・取得部、１６・・・変換部、１７・・・合成部、１００Ａ・・・第１撮像部、１００Ｂ・・・第２撮像部、１１０Ａ，１１０Ｂ・・・光学装置、１１１Ａ，１１１Ｂ・・・レンズ、１２０Ａ，１２０Ｂ・・・イメージセンサ部、２００・・・データ処理部、２１０・・・制御部、２２０・・・画像処理部、２３０・・・画像メモリ、２４０・・・画像出力部、２５０・・・記憶部、２６０・・・外部記憶部、３００・・・インターフェース部、３１０・・・表示部、３２０・・・外部インターフェース部、３３０・・・操作部、３３１・・・シャッターボタン、３３２・・・操作キー、３３３・・・電源キー、４００・・・ストロボ発光部、１０００・・・ステレオカメラ
【図１】
2011209815.tif 000022
【図２】
2011209815.tif 000023
【図３】
2011209815.tif 000024
【図４】
2011209815.tif 000025
【図５】
2011209815.tif 000026
【図６】
2011209815.tif 000027
【図７】
2011209815.tif 000028
【図８】
2011209815.tif 000029
【手続補正書】
【提出日】平成23年2月24日(2011.2.24)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】変更
【補正の内容】
【００１４】
上記目的を達成するために、本発明の第２の観点に係る三次元モデリング方法は、
三次元モデリング方法であって、
一度の撮像により一組の画像を取得するステレオカメラを用いて、被写体を異なる角度から複数回撮像することにより得られる複数の画像の組の入力を受け付ける受付ステップと、
前記受け付けられた複数の画像の組のそれぞれに基づいて、前記被写体の三次元モデルを複数生成する生成ステップと、
前記生成された複数の三次元モデルの中から、被合成三次元モデルと当該被合成三次元モデルに合成する合成三次元モデルとを選択する選択ステップと、
前記選択された被合成三次元モデルから複数の第１特徴点を抽出するとともに、前記選択された合成三次元モデルから複数の第２特徴点を抽出する抽出ステップと、
前記抽出された複数の第１特徴点と複数の第２特徴点とに基づいて、当該合成三次元モデルの座標を当該被合成三次元モデルの座標系の座標に変換する座標変換パラメータを取得する取得ステップと、
前記取得された座標変換パラメータを用いて、前記合成三次元モデルの座標を前記被合成三次元モデルの座標系の座標に変換する変換ステップと、
前記座標変換後の合成三次元モデルを前記被合成三次元モデルに合成する合成ステップと、を含む、
ことを特徴とする。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００８１
【補正方法】変更
【補正の内容】
【００８１】
次に、制御部２１０は、式（８）および（９）を用いて、特徴点の分布である分布ｄ１およびｄ２を求める（ステップＳ４０３）。ここで、上述したように、分布ｄ１と分布ｄ２との間には、式（１０）の関係がある。
【数８】
2011209815.tif 000030
【数９】
2011209815.tif 000031
【数１０】
2011209815.tif 000032
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００８６
【補正方法】変更
【補正の内容】
【００８６】
ここで、固有ベクトルＵは、分布ｄ１およびｄ２の固有ベクトルに相当し、関連付けＫにより関連付けられる。関連付けＫの要素は、固有ベクトルが対応する場合は１か−１が、そうでない場合は０が与えられる。ところで、分布ｄ１およびｄ２が等しいことから、特異値も等しい。つまり、Ｓも等しい。実際には、分布ｄ１と分布ｄ２とには誤差が含まれているので、誤差を丸める。以上を考慮すると、関連付けＫは、式（１６）のようになる。つまり、制御部２１０は、ステップＳ４０６において、式（１６）を計算する。
【数１６】
2011209815.tif 000033
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００８８
【補正方法】変更
【補正の内容】
【００８８】
制御部２１０は、ステップＳ４０７の処理を完了すると、分布ｄ１およびｄ２が二次元であるか否かを判別する（ステップＳ４０８）。例えば、最小の特異値が、所定値以下または最大の特異値との比率が所定範囲外である場合、分布ｄ１およびｄ２は二次元であると判別される。
【手続補正５】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
一度の撮像により一組の画像を取得するステレオカメラを用いて、被写体を異なる角度から複数回撮像することにより得られる複数の画像の組の入力を受け付ける受付手段と、
前記受け付けられた複数の画像の組のそれぞれに基づいて、前記被写体の三次元モデルを複数生成する生成手段と、
前記生成された複数の三次元モデルの中から、被合成三次元モデルと当該被合成三次元モデルに合成する合成三次元モデルとを選択する選択手段と、
前記選択された被合成三次元モデルから複数の第１特徴点を抽出するとともに、前記選択された合成三次元モデルから複数の第２特徴点を抽出する抽出手段と、
前記抽出された複数の第１特徴点と複数の第２特徴点とに基づいて、当該合成三次元モデルの座標を当該被合成三次元モデルの座標系の座標に変換する座標変換パラメータを取得する取得手段と、
前記取得された座標変換パラメータを用いて、前記合成三次元モデルの座標を前記被合成三次元モデルの座標系の座標に変換する変換手段と、
前記座標変換後の合成三次元モデルを前記被合成三次元モデルに合成する合成手段と、を備える、
ことを特徴とする三次元モデリング装置。
【請求項２】
前記取得手段は、前記抽出された複数の第１特徴点の中から３つの第１特徴点を選択し、前記抽出された複数の第２特徴点の中から、当該選択された３つの第１特徴点を３つの頂点とする三角形と合同な三角形の３つの頂点を構成する３つの第２特徴点を選択し、当該選択された３つの第２特徴点の座標を当該選択された３つの第１特徴点の座標に合わせる座標変換パラメータを取得する、
ことを特徴とする請求項１に記載の三次元モデリング装置。
【請求項３】
前記取得手段は、前記抽出された複数の第１特徴点の中から３つの第１特徴点をランダムに選択して座標変換パラメータを取得する処理を複数回実行し、当該複数回の処理により得られた複数の座標変換パラメータの中から１つの座標変換パラメータを選択する、
ことを特徴とする請求項２に記載の三次元モデリング装置。
【請求項４】
前記取得手段は、前記複数の座標変換パラメータの中から、前記変換手段による座標変換後の前記複数の第２特徴点の座標が、前記複数の第１特徴点の座標と最も合致する１つの座標変換パラメータを選択する、
ことを特徴とする請求項３に記載の三次元モデリング装置。
【請求項５】
前記選択手段は、前記生成された複数の三次元モデルの中から、前記被合成三次元モデル以外の全ての三次元モデルを前記合成三次元モデルとして選択し、
前記取得手段は、前記選択された、前記被合成三次元モデル以外の全ての三次元モデルについて、前記座標変換パラメータを取得し、
前記変換手段は、前記選択された、前記被合成三次元モデル以外の全ての三次元モデルについて、前記座標変換を実行し、
前記合成手段は、前記選択された、前記被合成三次元モデル以外の全ての三次元モデルについて、前記合成を実行する、
ことを特徴とする請求項１乃至４のいずれか１項に記載の三次元モデリング装置。
【請求項６】
前記合成手段は、前記複数の第１特徴点と前記複数の第２特徴点とを、対応する特徴点同士が同じグループに属するように複数のグループにグループ化し、当該複数のグループのそれぞれについて重心を求め、求められた複数の重心を新たな複数の特徴点として、新たな三次元モデルを生成する、
ことを特徴とする請求項５に記載の三次元モデリング装置。
【請求項７】
三次元モデリング方法であって、
一度の撮像により一組の画像を取得するステレオカメラを用いて、被写体を異なる角度から複数回撮像することにより得られる複数の画像の組の入力を受け付ける受付ステップと、
前記受け付けられた複数の画像の組のそれぞれに基づいて、前記被写体の三次元モデルを複数生成する生成ステップと、
前記生成された複数の三次元モデルの中から、被合成三次元モデルと当該被合成三次元モデルに合成する合成三次元モデルとを選択する選択ステップと、
前記選択された被合成三次元モデルから複数の第１特徴点を抽出するとともに、前記選択された合成三次元モデルから複数の第２特徴点を抽出する抽出ステップと、
前記抽出された複数の第１特徴点と複数の第２特徴点とに基づいて、当該合成三次元モデルの座標を当該被合成三次元モデルの座標系の座標に変換する座標変換パラメータを取得する取得ステップと、
前記取得された座標変換パラメータを用いて、前記合成三次元モデルの座標を前記被合成三次元モデルの座標系の座標に変換する変換ステップと、
前記座標変換後の合成三次元モデルを前記被合成三次元モデルに合成する合成ステップと、を含む、
ことを特徴とする三次元モデリング方法。
【請求項８】
コンピュータを、
一度の撮像により一組の画像を取得するステレオカメラを用いて、被写体を異なる角度から複数回撮像することにより得られる複数の画像の組の入力を受け付ける受付手段、
前記受け付けられた複数の画像の組のそれぞれに基づいて、前記被写体の三次元モデルを複数生成する生成手段、
前記生成された複数の三次元モデルの中から、被合成三次元モデルと当該被合成三次元モデルに合成する合成三次元モデルとを選択する選択手段、
前記選択された被合成三次元モデルから複数の第１特徴点を抽出するとともに、前記選択された合成三次元モデルから複数の第２特徴点を抽出する抽出手段、
前記抽出された複数の第１特徴点と複数の第２特徴点とに基づいて、当該合成三次元モデルの座標を当該被合成三次元モデルの座標系の座標に変換する座標変換パラメータを取得する取得手段、
前記取得された座標変換パラメータを用いて、前記合成三次元モデルの座標を前記被合成三次元モデルの座標系の座標に変換する変換手段、
前記座標変換後の合成三次元モデルを前記被合成三次元モデルに合成する合成手段、として機能させる、
ことを特徴とするプログラム。