(57)【特許請求の範囲】
【請求項１】
多視点画像から三次元モデルを再構成する三次元再構成方法であって、
多視点画像から２枚のフレームを選択する選択ステップと、
前記２枚のフレームそれぞれの撮影時刻を算出する算出ステップと、
前記２枚のフレームのそれぞれの撮影時刻が一致するか否かに応じて、前記２枚のフレーム間の複数の特徴点対応方法から、特徴点対応方法を選択する選択ステップと、
前記選択ステップで選択された特徴点対応方法により対応する特徴点を算出する対応ステップと、
算出された対応する特徴点に基づき前記三次元モデルを生成する三次元モデル生成ステップとを含む
三次元再構成方法。
【請求項２】
前記撮影時刻が一致する場合は、２枚のフレーム間の全領域において対応する特徴点を算出し、前記撮影時刻が一致しない場合は、２枚のフレームをそれぞれ特徴量を持つ１つ以上の領域に分割し、特徴量が似ている領域においてのみ対応する特徴点を算出する
請求項１記載の三次元再構成方法。
【請求項３】
前記撮影時刻の一致とは、フレームが撮影された時刻差が任意の閾値より小さい、
請求項１又は２記載の三次元再構成方法。
【請求項４】
前記領域が持つ特徴量とは、領域内に少なくとも１つ存在する微小領域の時間方向の動きベクトルである、
請求項１〜３のいずれか１項に記載の三次元再構成方法。
【請求項５】
前記撮影時刻が一致しない場合の対応する特徴点の算出は、
前記２枚のフレームをそれぞれ微小領域に分割し、同一カメラで前時刻あるいは後時刻あるいは両方に撮影されたフレームを用いて微小領域の動きベクトルを推定する推定ステップと、
前記動きベクトルを用いて前記２枚のフレームをそれぞれ動領域と静止領域に分割する分割ステップと、
前記２枚のフレーム間で静止領域に存在する特徴点についてのみ対応する特徴点を算出する対応ステップを含む、
請求項２記載の三次元再構成方法。
【請求項６】
前記撮影時刻が一致しない場合の対応する特徴点の算出は、
前記２枚のフレームの特徴点の動きベクトルを推定する推定ステップと、
前記動きベクトルを用いて前記特徴点を動く点と静止点に分類する分類ステップと、
前記２枚のフレーム間で静止点についてのみ対応する特徴点を算出する対応ステップを含む、
請求項２記載の三次元再構成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、三次元再構成方法に関し、特に、複数の撮像装置により撮像された複数の動画像を用いて被写体の三次元モデルを再構成する三次元再構成方法に関する。
【背景技術】
【０００２】
コンピュータビジョンの分野における三次元再構成技術は、複数の二次元画像間で対応付けを行い、カメラの位置、向き、および被写体の三次元位置を推定する。
【０００３】
例えば、特許文献１では、単眼カメラからの入力動画像の初期数フレームにおいて、特徴点を抽出し、フレームマッチング処理により特徴点位置の対応付けを行う。後続のフレームでは、拡張カルマンフィルタを用いた時系列特徴点追跡により特徴点位置情報を取得する。対応付けられた特徴点を用いてＳｆＭ（Ｓｔｒｕｃｔｕｒｅ  ｆｒｏｍ  Ｍｏｔｉｏｎ）により三次元モデルを再構成している。
【０００４】
また、特許文献２では、ステレオカメラで同期撮影した２つの動画像から所定周期で取得したキーフレームで特徴点マッチングを行い、三次元モデルを再構成する。また、特徴点の時間方向の変化を用いて、キーフレームの間にあるフレームについても三次元モデルの再構成が可能となる。
【０００５】
さらに、特許文献３では、３台以上の複数カメラ間でキャリブレーションを行い、取得したカメラパラメータにより各カメラ座標系を任意視点の仮想カメラ座標系へ変換する。その仮想カメラ座標系において、座標変換後の画像間のブロックマッチングによる対応付けを行い、距離情報を推定する。推定した距離情報を基に仮想カメラ視点の画像を合成する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−２３７８４５号公報
【特許文献２】特開２０１２−１６０９３７号公報
【特許文献３】特開２０１０−２５０４５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記従来技術では、複数台の固定あるいは非固定あるいは両方のカメラを用いて、被写体の動きに関わらず撮影した動画像から時系列の三次元モデルを適切に再構成することが困難である。
【０００８】
すなわち、撮影環境において被写体が動いている場合、特許文献１のような単眼カメラからの時系列画像では、二次元画像間での対応付けが困難となる。また、特許文献３では、キャリブレーション時のみ同期撮影を行うため、特許文献１と同様に、動いている被写体を対象とした高精度の三次元位置推定は困難である。さらに、特許文献２では、２台のカメラ位置関係が固定であるステレオカメラを使用するため、カメラ位置に制約が生じる。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明の一態様に係る三次元再構成方法は、多視点画像から三次元モデルを再構成する三次元再構成方法であって、多視点画像から２枚のフレームを選択する選択ステップと、前記２枚のフレームそれぞれの撮影時刻を算出する算出ステップと、前記２枚のフレームのそれぞれの撮影時刻が一致するか否かに応じて前記２枚のフレーム間の複数の特徴点対応方法から、特徴点対応方法を選択する選択ステップと、前記選択ステップで選択された特徴点対応方法により対応する特徴点を算出する対応ステップと、算出された対応する特徴点に基づき前記三次元モデルを生成する三次元モデル生成ステップとを含む。
【発明の効果】
【００１０】
本開示における三次元再構成方法は、複数台の固定あるいは非固定あるいは両方のカメラを用いて、被写体の動きに関わらず撮影した動画像から時系列の三次元モデルを適切に再構成することができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、本発明に係る三次元再構成システムの全体構成を示す図である。
【図２】図２は、同期撮影映像と非同期撮影映像の一例を示す図である。
【図３】図３は、本発明に係る三次元再構成装置の処理フローを示す図である。
【図４】図４は、本発明に係る三次元再構成部の入力となる多視点フレームセットの一例を示す図である。
【図５】図５は、実施の形態１における三次元再構成部の構成図である。
【図６】図６は、実施の形態１における３枚の多視点フレームを用いた三次元再構成の一例を示す図である。
【図７】図７は、実施の形態１における三次元再構成部の処理フローを示す図である。
【図８】図８は、実施の形態１における対応部３１５の構成の一例を示す図である。
【図９】図９は、実施の形態１における特徴点対応の処理フローを示す図である。
【発明を実施するための形態】
【００１２】
まず、本発明における三次元再構成を定義する。実空間上に存在する被写体を複数のカメラにより異なる視点で撮影した映像を多視点映像といい、この多視点の二次元画像を用いて被写体を三次元空間に再構成することを三次元再構成という。また、三次元空間に再構成された被写体を三次元モデルという。この時、各カメラのパラメータは、あらかじめ取得したものを使用してもよいし、三次元モデルの作成と同時に推定してもよい。本実施の形態では、カメラパラメータは、三次元モデルの作成と同時に推定することを前提とする。
【００１３】
なお、カメラパラメータは、カメラの焦点距離、レンズの歪み係数、画像中心などからなる内部パラメータ、あるいはカメラの三次元位置、向きを示す外部パラメータのうち少なくとも１つを含む。
【００１４】
なお、被写体の三次元モデルは、多視点の二次元画像に映る被写体上の複数の点それぞれの三次元位置である。三次元位置は、例えば、ＸＹＺ軸からなる三次元座標空間のＸ成分、Ｙ成分、Ｘ成分からなる三値情報で表される。なお、三次元位置のみだけでなく、各点の色や各点およびその周辺の表面形状を表す情報を含んでもよい。
【００１５】
次に、本発明における同期撮影を定義する。カメラの撮影周期と露光時間の一例を図２に示す。図２は、横方向は時間を示し、矩形信号が立っている時間はカメラが露光していることを示す。カメラにより画像を取得する際、シャッタが開放されている時間を露光時間という。露光時間中、レンズを通して撮像素子にさらされたシーンが画像として得られる。図２（ａ）では、視点の異なる２台のカメラで撮影されたフレームでは、露光時間が重複している。これにより２台のカメラにより取得したフレームは、同一時刻のシーンを含んでいる同期フレームとなる。一方、図２（ｂ）では、２台のカメラで露光時間の重複が無いため、２台のカメラにより取得したフレームに、同一時刻のシーンは含まれない非同期フレームとなる。図２（ａ）のように、同期フレームを複数のカメラで撮影することを同期撮影という。
【００１６】
次に、本実施の形態に係る三次元再構成システムの全体構成を説明する。図１は、本実施の形態に係る三次元再構成システムの構成を示す図である。
【００１７】
本実施の形態に係る三次元再構成システムは、被写体、カメラ、および多視点映像が入力され映像処理を行う三次元再構成装置２００を備える。被写体は、たとえば、バスケットボールの試合シーンである。ｎ台の複数カメラ１００−１〜１００−ｎは被写体をそれぞれ異なる視点で撮影し、撮影した多視点映像を三次元再構成装置２００へ送信する。
【００１８】
なお、複数カメラ１００−１〜１００−ｎで撮影した多視点映像の三次元再構成処理装置２００への送信は、インターネットなどの公衆通信網、あるいは専用通信網のいずれを介してもよい。あるいは、一度ハードディスクドライブ（ＨＤＤ）やソリッドステートドライブ（ＳＳＤ）などの外部記憶装置にカメラから直接記憶して、必要な時に三次元再構成装置２００へ直接入力してもよい。あるいは、クラウドサーバ等の外部記憶装置に一旦ネットワークを介して送信、記憶し、必要な時に三次元再構成装置２００へ送信してもよい。
【００１９】
なお、多視点映像には、映像あるいはフレームのヘッダ情報として、撮影したカメラを特定するカメラＩＤなどのカメラ特定情報を付加してもよい。
【００２０】
なお、複数カメラを用いて、毎フレームで同じ時刻の被写体を撮影する同期撮影を行ってもよい。あるいは、複数カメラの内蔵時計のみ時刻を合わせ、同期撮影せずに、映像またはフレーム毎に撮影時刻情報を付加してもよし、撮影順序を示すインデックス番号を付加してもよい。
【００２１】
なお、多視点映像の映像セット、映像毎、あるいはフレーム毎に、同期撮影されたか、非同期撮影されたかを示す情報をヘッダ情報として付加してもよい。
【００２２】
三次元再構成装置２００は、受信部２１０、記憶部２２０、取得部２３０、三次元再構成部２４０、送信部２５０を備える。
【００２３】
受信部２１０は、ネットワークを介して、あるいは外部記憶装置より直接、複数カメラで撮影した多視点映像を受信し、記憶部２２０に入力する。
【００２４】
記憶部２２０は、受信部２１０が受信した多視点映像を記憶する。
【００２５】
取得部２３０は、記憶部２２０より多視点映像を取得し、映像をフレームに分割し、複数フレームからなる多視点フレームセットを三次元再構成部２４０へ入力する。
【００２６】
なお、多視点フレームセットは、全ての映像から１フレームずつ選択した複数フレームにより構成されてもよいし、全ての映像から少なくとも１フレーム選択した複数フレームにより構成されてもよいし、多視点映像のうち２つ以上の映像を選択し、選択された各映像から１フレームずつ選択した複数フレームにより構成されてもよいし、多視点映像のうち２つ以上の映像を選択し、選択された各映像から少なくとも１フレーム選択した複数フレームにより構成されてもよい。
【００２７】
なお、多視点フレームセットの各フレームにカメラ特定情報が付加されていない場合は、ここで、各フレームのヘッダ情報に個別に付加してもよいし、多視点フレームセットのヘッダ情報に一括して付加してもよい。
【００２８】
なお、多視点フレームセットの各フレームに撮影時刻あるいは撮影順を示すインデックス番号が付加されていない場合は、ここで、各フレームのヘッダ情報に個別に付加してもよいし、フレームセットのヘッダ情報に一括して付加してもよい。
【００２９】
三次元再構成部２４０は、取得部２３０より入力された多視点フレームセットを用いて、多視点フレームセットに含まれるフレームを撮影したカメラのカメラパラメータを推定し、各フレームに映る被写体の三次元モデルを再構成する。
【００３０】
送信部２５０は、三次元再構成部２４０で算出されたカメラパラメータあるいは三次元モデルあるいは両方を三次元再構成装置２００の外部にある記憶装置あるいは処理装置などへ送信する。
【００３１】
図３は、本実施の形態に係る三次元再構成システムの三次元再構成装置２００の処理フローである。
【００３２】
まず、受信部２１０は、複数カメラで撮影した多視点映像を受信し、記憶部２２０に入力する（Ｓ２１００）。
【００３３】
次に、記憶部２２０は、多視点映像を記憶する（Ｓ２２００）。
【００３４】
次に、取得部２３０は、記憶部２２０より多視点映像を取得し、映像をフレームに分割し、複数フレームからなる多視点フレームセット作成し、三次元再構成部２４０へ入力する（Ｓ２３００）。
【００３５】
なお、取得部２３０は、記憶部２２０ではなく、受信部２１０より受信した多視点映像を即座に取得してもよい。
【００３６】
次に、三次元再構成部２４０は、多視点フレームセットを用いて、各フレームを撮影したカメラのカメラパラメータを推定し、各フレームに映る被写体の三次元モデルを再構成する（Ｓ２４００）。
【００３７】
Ｓ２３００〜Ｓ２４００は、取得部２３０が作成する多視点フレームセットが無くなる、あるいはユーザから停止命令が与えられるまで繰り返される。
【００３８】
次に、送信部２５０は、カメラパラメータ、被写体の三次元モデル、あるいはその両方を外部へ送信する（Ｓ２５００）。
【００３９】
以下、実施の形態について、図面を用いて詳細に説明する。なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示す。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置および接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【００４０】
（実施の形態１）
まず、本実施の形態において、三次元再構成部２４０の入力となる多視点フレームセットについて説明する。図４は、５台の多視点カメラから１フレームずつを選択し、フレームセットを構成する一例を示す図である。
【００４１】
ここでは、多視点カメラは同期撮影されていることを仮定しており、各フレームのヘッダ情報には、撮影されたカメラを特定するカメラＩＤがそれぞれ１００−１〜１００−５として付与されている。また、各カメラ内で撮影順序を示すフレーム番号００１〜Ｎが付与されており、カメラ間で同じフレーム番号を持つフレームは同時刻の被写体が撮影されていることを示す。
【００４２】
取得部２３０は、フレームセット２００−１〜２００−ｎを三次元再構成部２４０へ順次入力し、三次元再構成部２４０は、繰り返し処理によりフレームセット２００−１〜２００−ｎを用いて、順次三次元再構成を行う。
【００４３】
フレームセット２００−１は、カメラ１００−１のフレーム番号００１、カメラ１００−２のフレーム番号００１、カメラ１００−３のフレーム番号００１、カメラ１００−４のフレーム番号００１、カメラ１００−５のフレーム番号００１の５枚のフレームから構成される。多視点映像の最初のフレームの集合として三次元再構成部２４０の繰り返し処理１で使用することにより、撮影環境の初期状態の三次元再構成が可能である。フレームセット２００−２は、フレームセット２００−１に対し、カメラ１００−１のフレームのみ次の時刻のフレーム番号００２に更新される。これを繰り返し処理２で使用することにより、フレーム番号００１を撮影した時刻とフレーム番号００２を撮影した時刻が混在する三次元モデルが再構成される。以下、繰り返し処理３〜５も同様に１つのカメラのフレームを順次更新する。そして、フレームセット２００−６でフレームセット２００−１に対して全てのカメラでフレームが次の時刻に更新される。つまり、１時刻進んだ三次元モデルを再構成するためには、三次元再構成部２４０で５回の繰り返し処理を行う。このように、逐次的にフレームセット内のフレーム番号を更新することで、時刻が異なるが座標軸は一致した時系列の三次元モデルを再構成できる。
【００４４】
なお、取得部２３０は、同期撮影を前提とせず、取得した多視点映像を用いてフレームセットを作成することもできる。その場合、各フレームには撮影時刻が付与されており、その撮影時刻を基に取得部２３０は、同期フレームと非同期フレームを組み合わせたフレームセットを作成する。２台のカメラ間での撮影時刻を用いた同期フレームと非同期フレームの判定方法を説明する。
【００４５】
カメラ１００−１から選択したフレームの撮影時刻をＴ１、カメラ１００−２から選択したフレームの撮影時刻をＴ２とし、カメラ１００−１の露光時間をＴＥ１、カメラ１００−２の露光時間をＴＥ２とする。ここで、撮影時刻Ｔ１、Ｔ２は、図２の例で露光が開始された時刻、つまり矩形信号の立ち上がりの時刻を指しているとする。するとカメラ１００−１の露光終了時刻は、Ｔ１＋ＴＥ１である。この時、（式１）または（式２）が成立していれば、２台のカメラは、同じ時刻の被写体を撮影していることになり、２枚のフレームは同期フレームと言える。
【００４６】
【数１】
0006754992.tif 000002
【００４７】
【数２】
0006754992.tif 000003
【００４８】
図５は、本発明の三次元再構成部２４０の構造を示すブロック図である。
【００４９】
三次元再構成部２４０は、図１の三次元再構成装置２００の取得部２３０から入力された多視点フレームセットを用いて、カメラパラメータの推定し、三次元モデルを再構成する。図５に示すように、三次元再構成部２４０は、検出部３１０、抽出部３１１、制御部３１２、切替器３１３、対応部３１４、対応部３１５、選択部３１６、推定部３１７、復元部３１８、最適化部３１９を備える。
【００５０】
検出部３１０は、入力された多視点フレームセットの各フレームにおいて、特徴点を検出する。特徴点は、フレームに含まれる物体の輪郭、物体又は空間の角、フレーム平面において物体同士の交差点のような、点、エッジ、又は一定領域とその周囲との輝度又は色合いの差が大きい点、辺、又は一定領域のことを示す。
【００５１】
抽出部３１１は、検出部３１０で検出された特徴点の特徴ベクトルを抽出する。特徴ベクトルは、特徴点を含む特定領域に含まれる画素の輝度や色の勾配方向の分布をベクトルで表現したものである。なお、特徴点及び特徴ベクトルは、他の画像情報であって、例えばテクスチャ情報や周波数変換後の情報を用いて検出されるものでも構わない。
【００５２】
制御部３１２は、多視点フレームセットから２枚のフレームをフレームペアとして選択する。さらに、２枚のフレームそれぞれの画像情報をもちいて、２フレーム間で画像情報が一致するか判定し、一致する場合は切替器３１３を対応部３１４へ、一致しない場合は切替器３１３を対応部３１５へ切替え、フレームペア、特徴点、および特徴ベクトルを対応部３１４あるいは対応部３１５へ入力する。
【００５３】
ここで、画像情報とは、多視点フレームセット、あるいはフレーム毎のヘッダ情報に付加されたフレームの撮影時刻あるいはフレーム番号でもよいし、時間方向の変化量でもよい。時間方向の変化量は、フレームを分割した複数の微小領域の時間方向の変化量の平均値でもよいし、中央値でもよい。以下では、画像情報をフレームの撮影時刻として説明する。
【００５４】
対応部３１４は、２枚のフレームのフレーム間の全領域において、特徴ベクトルを用いて対応する特徴点を対応点として算出する。
【００５５】
対応部３１５は、２枚のフレームのそれぞれを１つ以上の特徴量を持つ画像領域に分割し、フレーム間で特徴量が似ている画像領域に存在する特徴点のみについて、特徴ベクトルを用いて対応する特徴点を対応点として算出する。
【００５６】
なお、対応点の算出は、例えば、フレームペアの一方のフレームの１つの特徴点ともう一方のフレームの全ての特徴点について特徴ベクトルの差分値を算出する。特徴ベクトルの差分値が最も小さい特徴点対を対応点の候補として選択し、さらに特徴ベクトルが任意のしきい値より小さい場合に対応点として決定する。特徴ベクトルの差分値は２つのベクトルの二乗誤差や絶対誤差を算出することにより取得する。
【００５７】
なお、画像領域の分割方法は、例えば、フレームを微小領域に分割し、微小領域毎に特徴量を算出し、特徴量が一致または類似する微小領域を統合する。微小領域は互いに重複してもよいし、隣接してもよいし、隙間が空いていてもよい。
【００５８】
選択部３１６は、未再構成のフレームの中から三次元再構成の対象となるフレームあるいはフレームペアを選択する。
【００５９】
推定部３１７は、選択部３１６により選択されたフレームペアあるいはフレームと再構成済みの三次元モデルの対応点を用いて、対象フレームを撮影したカメラのカメラパラメータを推定する。
【００６０】
復元部３１８は、推定部３１７で推定されたカメラパラメータを用いて、推定済みカメラで撮影された各フレームの特徴点を三次元座標上に逆投影することにより、被写体の三次元モデルを再構成する。
【００６１】
対応点を用いたカメラパラメータの推定方法および三次元モデルの再構成方法の一例として、エピポーラ幾何を拘束条件等して、世界座標系におけるカメラの座標および姿勢を算出し、さらに、カメラにより撮影した画像上の点の世界座標系における三次元位置を算出する。図６は、３枚の多視点フレームを用いて、カメラの内部パラメータを既知として、カメラの外部パラメータの推定し、被写体の三次元モデルを再構成する例を示した図である。
【００６２】
各カメラのカメラパラメータを取得するには、Ｏを原点とする世界座標系におけるカメラの回転行列Ｒ１、Ｒ２、Ｒ３および並進ベクトルＴ１、Ｔ２、Ｔ３を算出する必要がある。まず、画像１と画像２を撮影したカメラの回転行列および並進ベクトルを算出する方法を述べる。画像１上の点ｍ１＝（ｕ１，ｖ１，１）と画像２上の点ｍ２＝（ｕ２，ｖ２，１）が対応している時、両者には（式３）を満たすエピポーラ方程式が成り立つ。
【００６３】
【数３】
0006754992.tif 000004
【００６４】
ここで、ＦをＦｕｎｄａｍｅｎｔａｌ  ｍａｔｒｉｘ（Ｆ行列）と呼ぶ。各カメラの内部パラメータＫを用いて、（式４）の変換式よりそれぞれの点を各カメラ座標系の点
【数４】
0006754992.tif 000005
および
【数５】
0006754992.tif 000006
として取得でき、エピポーラ方程式を（式５）のように書き換えられる。
【００６５】
【数６】
0006754992.tif 000007
【００６６】
【数７】
0006754992.tif 000008
【００６７】
ここで、ＥをＥｓｓｅｎｔｉａｌ  ｍａｔｒｉｘ（Ｅ行列）と呼ぶ。複数の対応点を用いてＥ行列の各要素を算出できる。また、画像間の点ｍ１およびｍ２のような対応点を複数用いてＦ行列の各要素を算出した後、（式６）の変換式よりＥ行列を取得してもよい。
【００６８】
【数８】
0006754992.tif 000009
【００６９】
このＥ行列を分解することにより、世界座標系において画像１から画像２へ回転行列および並進ベクトルを取得できる。世界座標系におけるカメラ１の位置および世界座標系の各軸に対するカメラ１の傾きが既知の場合は、前記相対関係を用いて、世界座標系におけるカメラ１およびカメラ２の位置および姿勢を取得できる。世界座標系におけるカメラ１の位置および姿勢は、映像以外のカメラセンサ情報により算出してもよし、あらかじめ計測しておいてもよい。なお、カメラ１のカメラ座標系を世界座標系として、他のカメラの位置および姿勢を算出してもよい。
【００７０】
また、ここで使用した対応点は、画像１と画像２の回転行列および並進ベクトルを用いて形成される三角形により世界座標系上の三次元点Ｍを取得できる。
【００７１】
また、前記の幾何学的関係を３視点に拡張する。画像１と画像２に対し画像３を追加する例として具体的には、画像２と画像３、および画像１と画像３についてもそれぞれＥ行列を算出し、各カメラ間の相対的な回転行列および並進ベクトルを取得し、統合することにより、画像３のカメラの世界座標系における回転行列および並進ベクトルを算出できる。また、画像３と画像１、画像２のそれぞれで対応点から画像３の回転行列および並進ベクトルを算出してもよい。詳細には、画像１と画像３、および画像２と画像３で対応点を求める。ここで、画像１上のｍ１、および画像２上のｍ２に対応する画像３上のｍ３が得られたとすると、この対応点の三次元座標Ｍは取得できているため、画像３上の点と三次元空間内の座標の対応を取得できる。この時、（式７）が成り立つ。
【００７２】
【数９】
0006754992.tif 000010
【００７３】
ここで、ＰをＰｅｒｓｐｅｃｔｉｖｅ  ｍａｔｒｉｘ（Ｐ行列）とよぶ。Ｐ行列、Ｅ行列、内部行列は（式８）の関係が成り立つため、画像３のＥ行列を取得でき、これにより回転行列および並進ベクトルが求められる。
【００７４】
【数１０】
0006754992.tif 000011
【００７５】
なお、内部パラメータが未知の場合でも、Ｆ行列、あるいはＰ行列を算出した後、内部行列は上三角行列、Ｅ行列は正定値対称行列であるという制約の下にＦ行列、Ｐ行列を分割し、それぞれを求めることが可能である。
【００７６】
最適化部３１９は、カメラパラメータおよび被写体の三次元モデルを補正する。
【００７７】
推定部３１７で推定されたカメラパラメータや復元部３１８で再構成された被写体の三次元モデルは、特徴点の検出精度、あるいは対応点の算出精度により誤差を含む。最適化部３１９の最適化処理の一例として、再構成された被写体の三次元モデルの三次元点を各カメラのフレームに再投影し、元の２次元点位置との差分絶対値和あるいは差分二乗和を最小化するように、カメラパラメータおよび被写体の三次元点を微調整する。
【００７８】
図７は、三次元再構成部３００の処理フローを示す図である。
【００７９】
まず、検出部３１０は、フレームセットに含まれる全てのフレームについて、特徴点を検出する（Ｓ３１００）。
【００８０】
次に、抽出部３１１は、検出部３１０が検出した全ての特徴点について、その特徴点および周辺画素を用いて特徴ベクトルを算出する（Ｓ３１１０）。
【００８１】
次に、制御部３１２は、フレームセットから２枚のフレームをフレームペアとして選択し、フレームセットあるいは各フレームのヘッダ情報に付加された撮影時刻情報あるいはフレーム番号情報を用いて、２枚のフレームの撮影時刻が一致するかを判定し、一致する場合は切替器３１３を対応部３１４へ、一致しない場合は切替器を対応部３１５へ切り替え、順次、フレームペア、特徴点、および特徴ベクトルを対応部３１４あるいは対応部３１５へ入力する（Ｓ３１２０）。
【００８２】
なお、撮影時刻は完全に一致しなくてもよく、２枚のフレームの撮影時刻の時刻差が、任意の閾値より小さければ、一致すると判定してもよい。
【００８３】
Ｓ３１２０でＹｅｓの場合、対応部３１４は、抽出部３１１が抽出した特徴ベクトルを用いて、フレームペアのフレーム間の特徴点を対応付け、対応点を算出する（Ｓ３１３０）。
【００８４】
Ｓ３１２０でＮｏの場合、対応部３１５は、フレームペアのそれぞれを特徴量を持つ１つ以上の画像領域に分割し、フレーム間で特徴量が似ている画像領域に存在する特徴点のみ、抽出部３１１が抽出した特徴ベクトルを用いて、フレームペアのフレーム間の特徴点を対応付け、対応点を算出する（Ｓ３１４０）。
【００８５】
なお、Ｓ３１２０〜Ｓ３１４０は、フレームセット内の全てあるいは一部のフレームペアについて繰り返し行う。
【００８６】
次に、選択部３１６は、対応部３１４あるいは対応部３１５が算出した対応点および最適化部３１９が算出した三次元点を用いて、未再構成のフレームの中から三次元再構成の対象となるカメラあるいはカメラペアを選択する（Ｓ３１５０）。
【００８７】
次に、推定部３１７は、選択部３１６が選択したカメラあるいはカメラペアについて、対応部３１４あるいは対応部３１５が算出した対応点および最適化部３１９が算出した三次元点を用いて対象カメラのカメラパラメータを推定する（Ｓ３１６０）。
【００８８】
次に、復元部３１８は、推定部３１７が推定したカメラパラメータを用いて、対象カメラが撮像したフレーム内の特徴点を三次元点として再構成し、特徴点の三次元座標を算出する（Ｓ３１７０）。
【００８９】
次に、最適化部３１９は、再構成された三次元モデル全体が最適となるように、推定部３１７が推定したカメラパラメータおよび復元部３１８が算出した三次元点を補正する（Ｓ３１８０）。
【００９０】
なお、三次元モデルの最適化の一例は、カメラパラメータを用いて再構成した三次元点を各フレームに再投影して取得した二次元点位置と元の特徴点の二次元点位置の誤差を最小化する。
【００９１】
なお、Ｓ３１５０〜３１８０は、フレームセット内の全てあるいは一部のフレームが再構成されるまで繰り返し行う。
【００９２】
これにより、カメラあるいは被写体の動きに関わらず、各時刻において座標軸が合っている時系列の三次元モデルを再構成できる。
【００９３】
なお、Ｓ３１２０〜Ｓ３１４０を、Ｓ３１５０の直後に行っても構わない。このとき、選択部３１６で選択されたカメラペア、あるいはカメラについてフレームペアの対応点を決定する。選択部３１６でカメラペアが選択された場合、そのカメラペアの各カメラで撮影されたフレーム間でのみ対応点を決定する処理を実施する。つまり、図７におけるＳ３１２０〜Ｓ３１４０の処理は１回のみとなる。また、選択具３１６でカメラが選択された場合、そのカメラで撮影された対象フレームとその対象フレーム以外の全てのフレームとの間で対応点を結成する処理を実施する。つまり、入力されたフレーム数がＮ枚の場合、図７におけるＳ３１２０〜Ｓ３１４０の処理はＮ−１回となる。なお、この処理回数はＮ−１回に限らず、Ｓ３１５０を実施した時点で推定済みのカメラのフレームに対してのみ行ってもよいし、対象フレーム以外のフレームの中から少なくとも１枚を任意に選択しても構わない。
【００９４】
ここで、対応部３１５の内部構成の一例を詳細に説明する。
【００９５】
図８は、本実施の形態の対応部３１５の内部構成の一例を示した図である。
【００９６】
対応部３１５は、動き推定部４１０、分割部４１１、対応部４１２、記憶部４１３を備える。
【００９７】
動き推定部４１０は、フレームペアの各フレームを対象フレームとして、記憶部４１３に格納されている、対象フレームを撮影したカメラの前時刻あるいは後時刻あるいは両方のフレームを記憶部３２３より取得し、対象フレーム内の複数の微小領域に分割し、微小領域の特徴量として動きベクトルを推定する。
【００９８】
分割部４１１は、動き推定部４１０が推定した複数の微小領域の動きベクトルを用いて、動きベクトルが一致あるいは類似する微小領域を統合する。これにより、フレームが動領域と静止領域に分割される。
【００９９】
対応部４１２は、分割部４１１により分割された画像領域のうち静止領域内に存在する特徴点のみについて、抽出部３１１が抽出した特徴ベクトルを用いて、フレームペアのフレーム間の特徴点を対応付け、対応点を算出する。また、対象フレームを記憶部４１３に格納する。
【０１００】
図９は、本実施の形態の対応部３１５の処理フローを示す図である。
【０１０１】
まず、制御部３１２は、フレームペアの撮影時刻が一致しているか確認する（Ｓ３２００）。
【０１０２】
次に、Ｓ３２００で撮影時刻が一致する場合、切替器３１３を対応部３１４側へ切り替え、一致していない場合、切替器３１３を対応部３１５側へ切り替える（Ｓ３２１０）。
【０１０３】
（Ｓ３２１０で撮影時刻が一致する場合）
次に、場合対応部３１４は、検出部３１０で検出した全ての特徴点について、抽出部３１１で抽出した特徴ベクトルを用いて、フレーム間の対応点を決定する（Ｓ３２２０）。
【０１０４】
（Ｓ３２１０で撮影時刻が一致しない場合）
次に、動き推定部４１０は、フレームペアの各フレームについて、記憶部４１３に格納されている、同一カメラで撮影された前あるいは後あるいは両方の時刻のフレーム、および対象フレームを用いて、微小領域の動きベクトルを推定する（Ｓ３２３０）。
【０１０５】
例えば、対象フレームを１５×１５画素の微小領域に分割し、その中心画素の時間方向の動きベクトルを算出してもよい。
【０１０６】
なお、記憶部４１３から取り出したフレームを以降の処理で使用しない場合は、ここで削除してもよい。
【０１０７】
次に、分割部４１１は、動き推定部４１０が推定した微小領域の特徴量である動きベクトルを用いて、動きベクトルが一致あるいは類似する微小領域を統合することにより、対象フレームを動領域と静止領域に分割する（Ｓ３２４０）。
【０１０８】
具体的には、Ｓ３２３０で算出した動きベクトルの大きさとしきい値を比較し、しきい値以上の場合は動きベクトルを算出した微小領域を動領域とし、しきい値より小さい場合は静止領域とする。
【０１０９】
ここで算出する動きベクトル
【数１１】
0006754992.tif 000012
は、例えばＸ成分とＹ成分からなる２次元のベクトル（Ｘ１，Ｙ１）であり、（式９）により動きベクトルの大きさ
【数１２】
0006754992.tif 000013
を計算できる。
【０１１０】
【数１３】
0006754992.tif 000014
【０１１１】
なお、カメラが動くことを考慮して、カメラの動きによるフレーム全体の動きを表すグローバルベクトル
【数１４】
0006754992.tif 000015
を算出し、（式１０）および（式１１）のようにグローバルベクトルを用いて補正された動きベクトル
【数１５】
0006754992.tif 000016
により微小領域の動きを推定してもよい。
【０１１２】
【数１６】
0006754992.tif 000017
【０１１３】
【数１７】
0006754992.tif 000018
【０１１４】
次に、対応部４１２は、分割部４１１の静止領域に存在する特徴点について、抽出部３１１で抽出した特徴ベクトルを用いて、フレーム間の対応点を決定する。また、対象フレームを記憶部４１３に格納する（Ｓ３２５０）。
【０１１５】
なお、動き推定を行う複数の微小領域は、互いに領域が重複するように設定してもよいし、隣接するように設定してもよいし、隙間があるように離れて設定してもよい。
【０１１６】
なお、動き推定を行う微小領域の中心を特徴点と一致させてもよい。この時、微小領域と特徴点は同数となる。また、この時フレーム内の領域を分割する必要はなく、特徴点の動きベクトルを用いて特徴点を動く点と静止点に分類してもよい。
【０１１７】
なお、分割部４１１の分割結果を制御部３１２における切替部３１３の切替えに使用してもよい。具体的には、推定部４１０で推定した微小領域の動きベクトルを用いて、フレームを１つ以上の領域に分割する。フレームペアの両方で領域が１つであり、領域が持つ特徴量が一致あるいは類似する場合は、切替部３１３を対応部３１４に切り替え、それ以外の場合は、切替部３１３を対応部３１５に切り替える。この時、対応部３１５では、特徴量が一致あるいは類似する領域に存在する特徴点のみを用いて対応する特徴点を算出する。
【０１１８】
このように撮影時刻が同じフレーム間では全ての画像領域の特徴点を使用し、撮影時刻の異なるフレーム間では静止領域の特徴点のみを使用することで、撮影時刻の異なるフレーム間で動領域の対応点を使用して三次元再構成を行う場合、対応する２点の三次元位置が異なるため、精度の良いカメラパラメータ推定や三次元点の再構成が困難になるのを防ぐことができ、カメラあるいは被写体の動きに関わらず、座標軸が一致した時系列の三次元モデルを再構成できる。
【０１１９】
なお、本発明の１つまたは複数の態様に係る撮影方法などについて、上記各実施の形態および変形例に基づいて説明してきたが、本発明は、上記各実施の形態および変形例に限定されないのはもちろんである。また以下のような場合も本発明の１つまたは複数の態様に含まれる。
【０１２０】
（１）上記の各装置は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記ＲＡＭまたはハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【０１２１】
（２）上記の各装置を構成する構成要素の一部または全部は、１個のシステムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ：大規模集積回路）から構成されているとしてもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどを含んで構成されるコンピュータシステムである。前記ＲＡＭには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムＬＳＩは、その機能を達成する。
【０１２２】
（３）上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なＩＣカードまたは単体のモジュールから構成されているとしてもよい。前記ＩＣカードまたは前記モジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどから構成されるコンピュータシステムである。前記ＩＣカードまたは前記モジュールは、上記の超多機能ＬＳＩを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ＩＣカードまたは前記モジュールは、その機能を達成する。このＩＣカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
【０１２３】
（４）本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
【０１２４】
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ）、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
【０１２５】
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
【０１２６】
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
【０１２７】
また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【０１２８】
（５）上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【産業上の利用可能性】
【０１２９】
本発明は、三次元再構成装置、または、三次元再構成方法に有利に利用される。
【符号の説明】
【０１３０】
１００−１〜１００−ｎ  カメラ
２００                  三次元再構成装置
２１０                  受信部
２２０                  記憶部
２３０                  取得部
２４０                  三次元再構成部
２５０                  送信部
２００−１〜２００−ｎ  フレームセット
３１０                  検出部
３１１                  抽出部
３１２                  制御部
３１３                  切替器
３１４                  対応部
３１５                  対応部
３１６                  選択部
３１７                  推定部
３１８                  復元部
３１９                  最適化部
４１０                  動き推定部
４１１                  分割部
４１２                  対応部
４１３                  記憶部
【図１】
0006754992.tif 000019
【図２】
0006754992.tif 000020
【図３】
0006754992.tif 000021
【図４】
0006754992.tif 000022
【図５】
0006754992.tif 000023
【図６】
0006754992.tif 000024
【図７】
0006754992.tif 000025
【図８】
0006754992.tif 000026
【図９】
0006754992.tif 000027