(57)【要約】【課題】  長いシーケンスの時系列画像からも安定して広域な三次元形状を復元することができる技術を提供する。【解決手段】  物体に対して相対的に移動する画像入力手段により取得した時系列画像データから、被写体の三次元形状を取得する装置であり、隣接するサブ時系列画像データで一部のフレームを重複させて、時系列画像データを複数個のサブ時系列画像データに分割する時系列画像分割手段１２、各サブ時系列画像データから、各フレーム毎にカメラ運動を計算するカメラ運動計算手段１３、カメラ運動を用いて三次元点群を計算する三次元点群計算手段１４、重複フレームを用いて、隣接するサブ時系列画像データの三次元点群を共通の座標系に統合する座標変換行列を計算する座標変換行列計算手段１５、座標変換行列を用いて隣接するサブ時系列画像データの三次元点群を共通の座標系に統合する三次元点群統合手段１６を有する。【選択図】  図１
2007004578.tif 000002
【特許請求の範囲】
【請求項１】
物体に対して相対的に移動する画像入力手段により取得した時系列画像データから被写体の三次元形状をコンピュータに取得させる方法であって、
前記コンピュータの制御部が、
隣接するサブ時系列画像データで一部のフレームを重複させて時系列画像データを複数個のサブ時系列画像データに分割し、
各サブ時系列画像データの被写体の三次元点群、各サブ時系列画像データのカメラ運動、及び前記重複フレームを用いて隣接するサブ時系列画像データの三次元点群を共通の座標系に統合する座標変換行列を計算し、
前記座標変換行列を用いて前記三次元点群を共通の座標系に統合して被写体の三次元形状データを取得することを特徴とする三次元形状取得方法。
【請求項２】
物体に対して相対的に移動する画像入力手段により取得した時系列画像データから、被写体の三次元形状を取得する方法であって、
時系列画像分割手段が隣接するサブ時系列画像データで一部のフレームを重複させて、時系列画像データを複数個のサブ時系列画像データに分割する時系列画像分割ステップと、
カメラ運動計算手段が前記分割した各サブ時系列画像データから、各サブ時系列データ内の各フレーム毎にカメラ運動を計算するカメラ運動計算ステップと、
三次元点群計算手段が前記カメラ運動を用いて各サブ時系列画像データの被写体の三次元点群を計算する三次元点群計算ステップと、
座標変換行列計算手段が隣接するサブ時系列画像データ間の重複フレームを用いて、隣接するサブ時系列画像データの三次元点群を共通の座標系に統合する座標変換行列を計算する座標変換行列計算ステップと、
三次元点群統合手段が前記座標変換行列を用いて隣接するサブ時系列画像データの三次元点群を共通の座標系に統合する三次元点群統合ステップと、を有することを特徴とする三次元形状取得方法。
【請求項３】
前記カメラ運動計算ステップは、
前記サブ時系列画像データ内の任意の１フレームにおける特徴点を抽出するステップと、
前記抽出した特徴点を前記サブ時系列画像データ内の複数フレームにわたって追跡するステップと、
前記追跡結果を用いて因子分解法によりカメラ運動を計算するステップと、を有することを特徴とする請求項２に記載の三次元形状取得方法。
【請求項４】
前記カメラ運動計算ステップは、
前記サブ時系列画像データの時間的に隣接するフレーム間で特徴点を対応付けるステップと、
前記対応付けられた特徴点を用いて逐次的に射影復元を行うステップと、
前記射影復元情報を最適化によりユークリッド空間へと昇格させてカメラ運動を計算するステップと、を有することを特徴とする請求項２に記載の三次元形状取得方法。
【請求項５】
前記三次元点群計算ステップでは、ステレオ法を用いることを特徴とする請求項２〜４いずれかに記載の三次元形状取得方法。
【請求項６】
前記座標変換行列計算ステップは、
第ｉ番目のサブ時系列画像データＮi及び第ｉ＋１番目のサブ時系列画像データＮi+1（ｉ＝１，２，・・・，ｎ−１，ｎは分割数）についての重複フレームを読み込むステップと、
第ｉ番目のサブ時系列画像データから得られた前記カメラ運動Ｍiを用いて前記重複フレームをステレオ処理するステップと、
第ｉ＋１番目のサブ時系列画像データから得られた前記カメラ運動Ｍi+1を用いて前記重複フレームをステレオ処理するステップと、
前記ステレオ処理の結果を用いて同一の三次元点が２つの座標系でどのように表されるかを示す対応点テーブルを作成するステップと、
前記対応点テーブルから座標間のスケール、並進運動、及び回転運動を求めるステップと、
前記座標間のスケール、並進運動、及び回転運動を用いて座標変換行列Ｔiを計算するステップと、を有することを特徴とする請求項２〜５いずれかに記載の三次元形状取得方法。
【請求項７】
物体に対して相対的に移動する画像入力手段により取得した時系列画像データから被写体の三次元形状を取得する装置であって、
時系列画像データを入力する入力部と、
隣接するサブ時系列画像データで一部のフレームを重複させて時系列画像データを複数個のサブ時系列画像データに分割し、
各サブ時系列画像データの被写体の三次元点群、各サブ時系列画像データのカメラ運動、及び前記重複フレームを用いて隣接するサブ時系列画像データの三次元点群を共通の座標系に統合する座標変換行列を計算し、
前記座標変換行列を用いて前記三次元点群を共通の座標系に統合して被写体の三次元形状データを取得する制御部と、を有することを特徴とする三次元形状取得装置。
【請求項８】
物体に対して相対的に移動する画像入力手段により取得した時系列画像データから、被写体の三次元形状を取得する装置であって、
隣接するサブ時系列画像データで一部のフレームを重複させて、時系列画像データを複数個のサブ時系列画像データに分割する時系列画像分割手段と、
前記分割した各サブ時系列画像データから、各サブ時系列データ内の各フレーム毎にカメラ運動を計算するカメラ運動計算手段と、
前記カメラ運動を用いて各サブ時系列画像データの被写体の三次元点群を計算する三次元点群計算手段と、
隣接するサブ時系列画像データ間の重複フレームを用いて、隣接するサブ時系列画像データの三次元点群を共通の座標系に統合する座標変換行列を計算する座標変換行列計算手段と、
前記座標変換行列を用いて隣接するサブ時系列画像データの三次元点群を共通の座標系に統合する三次元点群統合手段と、を有することを特徴とする三次元形状取得装置。
【請求項９】
前記座標変換行列計算手段は、
第ｉ番目のサブ時系列画像データＮi及び第ｉ＋１番目のサブ時系列画像データＮi+1（ｉ＝１，２，・・・，ｎ−１，ｎは分割数）についての重複フレームを読み込み、
第ｉ番目のサブ時系列画像データから得られた前記カメラ運動Ｍiを用いて前記重複フレームをステレオ処理し、
第ｉ＋１番目のサブ時系列画像データから得られた前記カメラ運動Ｍi+1を用いて前記重複フレームをステレオ処理し、
前記ステレオ処理の結果を用いて同一の三次元点が２つの座標系でどのように表されるかを示す対応点テーブルを作成し、
前記対応点テーブルから座標間のスケール、並進運動、及び回転運動を求め、
前記座標間のスケール、並進運動、及び回転運動を用いて座標変換行列Ｔiを計算する、ことを特徴とする請求項８に記載の三次元形状取得装置。
【請求項１０】
前記請求項１〜６いずれかに記載の三次元形状取得方法を実行させるプログラムの記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像入力装置（例えば、カメラ等）を使って取得した時系列画像から被写体の三次元形状を取得する技術に関するものである。
【背景技術】
【０００２】
コンピュータビジョン分野では時系列画像から物体の三次元形状を取得する研究が多くなされている。時系列画像からの三次元形状取得の代表的な手法に、因子分解法やステレオ法がある。
【０００３】
因子分解法は時系列画像上の任意の１フレームで発生した特徴点を他の複数のフレームに渡って追跡することで、ランダムノイズが混入するような、ビデオ映像などの時系列画像からカメラ運動（フレーム毎のカメラの姿勢と三次元位置）、及び被写体の三次元形状を高精度に復元できる。しかしながら、復元できる三次元形状が特徴点に限られるため、詳細な三次元形状が得られないこと、特徴点が追跡できた範囲でしかカメラ運動と三次元形状が得られないため、シーンの動きが激しい時系列画像では特徴点の追跡に失敗し、極めて短いシーケンスにしか対応できないといった問題があった。
【０００４】
ステレオ法は複数の視点（カメラと被写体が相対的に移動した時系列画像でも可）から得られた複数の画像から画像間の対応関係を得ることで幾何的な条件を用いて被写体の三次元形状を復元できる。画像間の対応関係は画像上の１画素毎に得られるため、非常に密な三次元形状を復元でき、これを利用して三次元モデルを生成することが可能である。しかしながら、カメラ運動を事前に必要とするため、予めキャリブレーションを行う必要があった。
【０００５】
また、逐次的に時系列画像間の特徴点の対応を求め、射影的な復元を行った後、ユークリッド座標系への変換を行うことで、カメラ運動を求め、ステレオ法を用いて密な三次元形状を取得する手法が提案されている（例えば、非特許文献１参照。）。しかし、射影的な復元は特徴点の誤対応による蓄積誤差が大きく、短いシーケンスの時系列画像にしか対応できないという問題があった。
【非特許文献１】Ｍ．Ｐｏｌｌｅｆｅｙｓ，Ｌ．Ｖａｎ  Ｇｏｏｌ，Ｍ．Ｖｅｒｇａｕｗｅｎ，Ｆ．Ｖｅｒｂｉｅｓｔ，Ｋ．Ｃｏｒｎｅｌｉｓ，Ｊ．Ｔｏｐｓ  ａｎｄ  Ｒ．Ｋｏｃｈ，“Ｖｉｓｕａｌ  ｍｏｄｅｌｉｎｇ  ｗｉｔｈ  ａ  ｈａｎｄ−ｈｅｌｄ  ｃａｍｅｒａ．”Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｊｏｕｒｎａｌ  ｏｆ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ，ｖｏｌ．５９，ｎｏ．３，ｐｐ．２０７−２３２，２００４．
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記技術では、短いシーケンスの時系列画像からしか三次元復元が安定して行えず、長いシーケンスの時系列画像を用いて広域的な三次元形状を復元することが不可能であった。
【０００７】
本発明は、上述のような従来技術の問題点を解決するためになされたものであり、長いシーケンスの時系列画像からも安定して広域な三次元形状を復元することができる技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
そこで、上記課題を解決するために、請求項１に記載の発明は、物体に対して相対的に移動する画像入力手段により取得した時系列画像データから被写体の三次元形状をコンピュータに取得させる方法であって、前記コンピュータの制御部が、隣接するサブ時系列画像データで一部のフレームを重複させて時系列画像データを複数個のサブ時系列画像データに分割し、各サブ時系列画像データの被写体の三次元点群、各サブ時系列画像データのカメラ運動、及び前記重複フレームを用いて隣接するサブ時系列画像データの三次元点群を共通の座標系に統合する座標変換行列を計算し、前記座標変換行列を用いて前記三次元点群を共通の座標系に統合して被写体の三次元形状データを取得することを特徴とする。
【０００９】
また、請求項２に記載の発明は、物体に対して相対的に移動する画像入力手段により取得した時系列画像データから、被写体の三次元形状を取得する方法であって、時系列画像分割手段が隣接するサブ時系列画像データで一部のフレームを重複させて、時系列画像データを複数個のサブ時系列画像データに分割する時系列画像分割ステップと、カメラ運動計算手段が前記分割した各サブ時系列画像データから、各サブ時系列データ内の各フレーム毎にカメラ運動を計算するカメラ運動計算ステップと、三次元点群計算手段が前記カメラ運動を用いて各サブ時系列画像データの被写体の三次元点群を計算する三次元点群計算ステップと、座標変換行列計算手段が隣接するサブ時系列画像データ間の重複フレームを用いて、隣接するサブ時系列画像データの三次元点群を共通の座標系に統合する座標変換行列を計算する座標変換行列計算ステップと、三次元点群統合手段が前記座標変換行列を用いて隣接するサブ時系列画像データの三次元点群を共通の座標系に統合する三次元点群統合ステップと、を有することを特徴とする。
【００１０】
また、請求項３に記載の発明は、前記カメラ運動計算ステップは、前記サブ時系列画像データ内の任意の１フレームにおける特徴点を抽出するステップと、前記抽出した特徴点を前記サブ時系列画像データ内の複数フレームにわたって追跡するステップと、前記追跡結果を用いて因子分解法によりカメラ運動を計算するステップと、を有することを特徴とする。
【００１１】
また、請求項４に記載の発明は、前記カメラ運動計算ステップは、前記サブ時系列画像データの時間的に隣接するフレーム間で特徴点を対応付けるステップと、前記対応付けられた特徴点を用いて逐次的に射影復元を行うステップと、前記射影復元情報を最適化によりユークリッド空間へと昇格させてカメラ運動を計算するステップと、を有する。
【００１２】
また、請求項５に記載の発明は、前記三次元点群計算ステップでは、ステレオ法を用いることを特徴とする。
【００１３】
また、請求項６に記載の発明は、前記座標変換行列計算ステップは第ｉ番目のサブ時系列画像データＮi及び第ｉ＋１番目のサブ時系列画像データＮi+1（ｉ＝１，２，・・・，ｎ−１，ｎは分割数）についての重複フレームを読み込むステップと、第ｉ番目のサブ時系列画像データから得られた前記カメラ運動Ｍiを用いて前記重複フレームをステレオ処理するステップと、第ｉ＋１番目のサブ時系列画像データから得られた前記カメラ運動Ｍi+1を用いて前記重複フレームをステレオ処理するステップと、前記ステレオ処理の結果を用いて同一の三次元点が２つの座標系でどのように表されるかを示す対応点テーブルを作成するステップと、前記対応点テーブルから座標間のスケール、並進運動、及び回転運動を求めるステップと、前記座標間のスケール、並進運動、及び回転運動を用いて座標変換行列Ｔiを計算するステップと、を有する。
【００１４】
また、請求項７に記載の発明は、物体に対して相対的に移動する画像入力手段により取得した時系列画像データから被写体の三次元形状を取得する装置であって、時系列画像データを入力する入力部と、隣接するサブ時系列画像データで一部のフレームを重複させて時系列画像データを複数個のサブ時系列画像データに分割し、各サブ時系列画像データの被写体の三次元点群、各サブ時系列画像データのカメラ運動、及び前記重複フレームを用いて隣接するサブ時系列画像データの三次元点群を共通の座標系に統合する座標変換行列を計算し、前記座標変換行列を用いて前記三次元点群を共通の座標系に統合して被写体の三次元形状データを取得する制御部と、を有することを特徴とする。
【００１５】
また、請求項８に記載の発明は、物体に対して相対的に移動する画像入力手段により取得した時系列画像データから、被写体の三次元形状を取得する装置であって、隣接するサブ時系列画像データで一部のフレームを重複させて、時系列画像データを複数個のサブ時系列画像データに分割する時系列画像分割手段と、前記分割した各サブ時系列画像データから、各サブ時系列データ内の各フレーム毎にカメラ運動を計算するカメラ運動計算手段と、前記カメラ運動を用いて各サブ時系列画像データの被写体の三次元点群を計算する三次元点群計算手段と、隣接するサブ時系列画像データ間の重複フレームを用いて、隣接するサブ時系列画像データの三次元点群を共通の座標系に統合する座標変換行列を計算する座標変換行列計算手段と、前記座標変換行列を用いて隣接するサブ時系列画像データの三次元点群を共通の座標系に統合する三次元点群統合手段と、を有することを特徴とする。
【００１６】
また、請求項９に記載の発明は、前記座標変換行列計算手段は、第ｉ番目のサブ時系列画像データＮi及び第ｉ＋１番目のサブ時系列画像データＮi+1（ｉ＝１，２，・・・，ｎ−１，ｎは分割数）についての重複フレームを読み込み、第ｉ番目のサブ時系列画像データから得られた前記カメラ運動Ｍiを用いて前記重複フレームをステレオ処理し、第ｉ＋１番目のサブ時系列画像データから得られた前記カメラ運動Ｍi+1を用いて前記重複フレームをステレオ処理し、前記ステレオ処理の結果を用いて同一の三次元点が２つの座標系でどのように表されるかを示す対応点テーブルを作成し、前記対応点テーブルから座標間のスケール、並進運動、及び回転運動を求め、前記座標間のスケール、並進運動、及び回転運動を用いて座標変換行列Ｔiを計算する、ことを特徴とする。
【００１７】
また、請求項１０に記載の発明は、前記請求項１〜６いずれかに記載の三次元形状取得方法を実行させるプログラムの記録媒体である。
【００１８】
請求項１及び７に記載の発明では、時系列画像データを分割する際に隣接するサブ時系列画像データで一部のフレームを重複させ、この重複フレーム、各サブ時系列画像データの三次元点群、及び各サブ時系列画像データのカメラ運動を用いて隣接するサブ時系列画像データの三次元点群を共通の座標系に統合する座標変換行列を計算し、この座標変換行列により三次元点群を共通の座標系に統合して被写体の三次元形状データを取得する。
【００１９】
請求項２及び８に記載の発明では、時系列画像データを分割する際に隣接するサブ時系列画像データで一部のフレームを重複させ、この重複フレームを用いて隣接するサブ時系列画像データの三次元点群を共通の座標系に統合する座標変換行列を計算し、この座標変換行列により三次元点群を共通の座標系に統合して被写体の三次元形状データを取得する。
【００２０】
請求項３に記載の発明では、カメラ運動計算ステップにおいて、サブ時系列画像データ内の１フレームを追跡し、因子分解法によりカメラ運動を計算する。
【００２１】
上記では、「因子分解法は復元できる三次元形状が特徴点に限られるため、詳細な三次元形状が得られないこと、特徴点が追跡できた範囲でしかカメラ運動と三次元形状が得られないため、シーンの動きが激しい時系列画像では特徴点の追跡に失敗し、極めて短いシーケンスにしか対応できないといった問題があった」と指摘した。しかし、請求項３に記載の発明では、時系列画像データをサブ時系列画像データに分割しており、このサブ時系列画像データのフレーム数を因子分解法に適した特徴点追跡が安定して行えるものに設定することで上記問題は請求項３では解決できる。
【００２２】
請求項４に記載の発明では、カメラ運動計算ステップにおいて、サブ時系列画像データ内の隣接するフレームで特徴点を対応付けて射影復元を行い、最適化によりユーグリッド空間へと昇格させてカメラ運動を計算する。
【００２３】
上記では、「射影的な復元は特徴点の誤対応による蓄積誤差が大きく、短いシーケンスの時系列画像にしか対応できないという問題があった」と指摘した。しかし、請求項４に記載の発明では、時系列画像データをサブ時系列画像データに分割しており、このサブ時系列画像データのフレーム数を短いシーケンスのものに設定することで上記問題は請求項４では解決できる。
【００２４】
請求項５に記載の発明では、三次元点群計算ステップにおいて、ステレオ法を用いる。
【００２５】
請求項６及び９に記載の発明では、座標変換行列計算ステップにおいて、隣接するサブ時系列画像データの重複フレームを読み込み、一つ目のサブ時系列画像データから得られたカメラ運動を用いて重複フレームをステレオ処理し、同様に二つ目のサブ時系列画像データから得られたカメラ運動を用いて重複フレームをステレオ処理し、ステレオ処理の結果を用いて同一の三次元点が２つの座標系でどのように表されるかを示す対応点テーブルを作成し、この対応点テーブルから座標間のスケール、並進運動、及び回転運動を求めて座標変換行列を計算する。
【発明の効果】
【００２６】
請求項１〜１０に記載の発明によれば、長いシーケンスの時系列画像からでも安定して広域な三次元形状を復元することが可能である。
【発明を実施するための最良の形態】
【００２７】
以下、実施形態について図面を参照して説明する。
【００２８】
(実施形態１)
図１により、実施形態１の三次元形状取得装置の構成例を示す。図１に示すように三次元形状取得装置は、時系列画像の取得手段１１、時系列画像の分割手段１２、カメラ運動の計算手段１３、三次元点群計算手段１４、座標変換行列計算手段１５、及び三次元点群統合手段１６で構成される。
【００２９】
時系列画像の取得手段１１は、映像を取得する手段であり、例えば映像を取得できるデジタルカメラ等が挙げられる。時系列画像の取得手段１１により時系列画像データ２１を得ることができる。
【００３０】
時系列画像の分割手段１２は、図２に示すように時系列画像をフレーム数ｄずつ重複させながらｎ個のサブ時系列画像データ２２｛Ｎ1，Ｎ2，・・・，Ｎn｝に分割することを実現する。
【００３１】
カメラ運動の計算手段１３は、各サブ時系列画像データ｛Ｎ1，Ｎ2，・・・，Ｎn｝を用いて各サブ時系列画像でのカメラ運動２３｛Ｍ1，Ｍ2，・・・，Ｍn｝を因子分解法などを用いて独立に計算することを実現する。
【００３２】
なおカメラ運動Ｍiは、図３のようにｉ番目のサブ時系列画像Ｎiを構成する各フレームを撮影した際のカメラの姿勢角（φ，θ，γ）及び三次元位置（Ｘ，Ｙ，Ｚ）の集合である。すなわちサブ時系列画像Ｎiがフレーム数Ｆで構成されている場合にはＦ個のカメラの姿勢角及び三次元位置で構成される。
【００３３】
このカメラの姿勢角（φ，θ，γ）及び三次元位置（Ｘ，Ｙ，Ｚ）は図４に示すように各サブ時系列画像に固有の座標系で表される。φ，θ，γはそれぞれサブ時系列画像に固有の座標系におけるＸ軸，Ｙ軸，Ｚ軸回りの回転角であり単位はラジアンである。
【００３４】
各サブ時系列画像内で三次元点群計算手段１４は、各サブ時系列画像データ｛Ｎ1，Ｎ2，・・・，Ｎn｝、及び各カメラ運動｛Ｍ1，Ｍ2，・・・，Ｍn｝を用いてステレオ法等により各サブ時系列画像データにおける密な三次元点群２４｛Ｐ1，Ｐ2，・・・，Ｐn｝を計算することを実現する。なお三次元点群とは画像から復元した被写体の三次元座標値（Ｘ，Ｙ，Ｚ）の集合で、各サブ時系列画像に特有の座標系で表される。
【００３５】
座標変換行列計算手段１５は、各サブ時系列画像データ２２の隣り合うサブ時系列画像データ間で重複しているｄフレーム及びカメラ運動｛Ｍ1，Ｍ2，・・・，Ｍn｝を用いて、隣り合うサブ時系列画像データから復元された三次元点群の座標間に存在するスケール、回転運動及び並進運動を計算し、４×４の座標変換行列２５｛Ｔ1，Ｔ2，・・・，Ｔn-1｝を求めることを実現する。
【００３６】
三次元点群統合手段１６は、三次元点群｛Ｐ1，Ｐ2，・・・，Ｐn｝及び座標変換行列｛Ｔ1，Ｔ2，・・・，Ｔn-1｝を用いて、共通の世界座標系へ三次元点群を変換することで、統一した三次元点群データとし、これを三次元形状２６とすることを実現する。
【００３７】
(実施形態２)
次に、時系列画像を２分割し、カメラ運動計算に因子分解法を利用し、三次元点群計算にステレオ法を利用して、時系列画像から被写体の三次元形状を復元する実施形態２について説明する。
【００３８】
図５は本実施形態の動作を示すフローチャートである。
【００３９】
処理が開始されると（Ｓ３００）、まず図１の時系列画像の取得手段１１により、時系列画像データを取得する（Ｓ３０１）。
【００４０】
この時系列画像データは静止している物体を移動している時系列画像の取得手段１１により取得する。又は移動している物体を静止している時系列画像の取得手段１１により取得してもよい。
【００４１】
次に図１の時系列画像の分割手段１２により全時系列画像データ｛Ｎ｝を同一フレーム数Ｆで、ｄフレーム重複させて、サブ時系列画像データ｛Ｎ1｝と｛Ｎ2｝とに分割する（Ｓ３０２）。すなわちサブ時系列データ｛Ｎ1｝の最後のｄフレームとサブ時系列データ｛Ｎ2｝の最初のｄフレームが重複しており、同一フレームとなっている。フレーム数Ｆはカメラ運動計算に因子分解法を用いる場合、特徴点追跡が安定して行えるフレーム数として決定する。
【００４２】
次に、図１のカメラ運動の計算手段１３により、サブ時系列画像データ｛Ｎ1｝において因子分解法を適用することでカメラ運動｛Ｍ1｝すなわち各フレームのカメラの姿勢及び三次元位置を計算する（Ｓ３０３）。
【００４３】
一方、サブ時系列画像データ｛Ｎ2｝においても、同様にして因子分解法を適用し、カメラ運動｛Ｍ2｝を計算する（Ｓ３０４）。
【００４４】
次に図１の三次元点群計算手段１４により、サブ時系列画像データ｛Ｎ1｝及びカメラ運動｛Ｍ1｝を用いて、サブ時系列画像データ｛Ｎ1｝の各フレーム間でステレオ処理を行い密な三次元点群｛Ｐ1｝を復元する（Ｓ３０５）。
【００４５】
同様にしてサブ時系列画像データ｛Ｎ2｝及びカメラ運動｛Ｍ2｝を用いて、サブ時系列画像データ｛Ｎ2｝の各フレーム間でステレオ処理を行い密な三次元点群｛Ｐ2｝を復元する（Ｓ３０６）。
【００４６】
このようにして得られた三次元点群｛Ｐ1｝及び｛Ｐ2｝はそれぞれ固有の座標系で表されており、統一した三次元形状を求めるために、図１の座標変換行列計算手段１５によって、それぞれの座標間に存在する回転運動及び並進を求め、座標変換行列｛Ｔ1｝を計算する（Ｓ３０７）。
【００４７】
次に図１の三次元点群統合手段１６により、４×４の座標変換行列｛Ｔ1｝を用いて三次元点群｛Ｐ1｝に含まれる全ての三次元点を変換する（Ｓ３０８）。変換前の三次元点の三次元座標値が（Ｘ，Ｙ，Ｚ）であるとすると、変換後の三次元座標値（Ｘn，Ｙn，Ｚn）は式（１）のようにして斉次座標系を用いることで行うことができる。
【００４８】
【数１】
2007004578.tif 000003
【００４９】
このようにして分割されたサブ時系列画像データから取得した三次元点群は、分割の際の重複フレームを糸口として共通の座標系へと座標変換が行われ、全時系列画像データからシームレスな三次元形状を取得することができる。
【００５０】
ここで座標変換行列計算処理について説明する。図６は図５の座標変換行列計算処理３０７の処理フローを示したものである。
【００５１】
時系列画像データを図１の時系列画像の分割手段１２において、２つのサブ時系列画像データ｛Ｎ1｝及び｛Ｎ2｝に分割した際に、｛Ｎ1｝の最後のｄフレームとサブ時系列データ｛Ｎ2｝の最初のｄフレームとを重複させてあり、同一フレームとなっている。この重複したｄフレームを入力として、２つのカメラ運動を用いて三次元点群を計算し、得られた２つの三次元点群集合から対応テーブルを作成し、対応する三次元点群が同じ座標値となるように座標間に存在するスケール、回転運動、及び並進運動を計算し、これを用いて座標変換行列｛Ｔ1｝を計算する。
【００５２】
処理が開始されると（Ｓ４００）、まず、２つのサブ時系列画像データ間で重複しているフレームを読み込む（Ｓ４０１）。
【００５３】
次にこの重複フレームの任意のあるフレームをステレオ処理の際の基準画像と決定し、その他のフレームを比較画像として決定する（比較画像は何枚あってもよい）。次にカメラ運動｛Ｍ1｝を用いて基準画像と比較画像との間でステレオ処理を画面全体で行い、基準画像の１ピクセル毎に三次元点を復元する（Ｓ４０２）。比較画像が複数ある場合には、１ピクセル毎に１つの三次元点となるように、例えば中間値をとるなどして統合しておく。
【００５４】
同様にしてカメラ運動｛Ｍ2｝を用いて基準画像と比較画像の間でステレオ処理を画面全体で行い、基準画像の１ピクセル毎に三次元点を復元する（Ｓ４０３）。
【００５５】
これにより基準画像の１ピクセル毎に三次元点を２つのサブ時系列画像に固有の座標系で表すことができる。すなわち図７に示すように基準画像の画像座標ｍ＝（ｕ，ｖ）をインデックスとして、図８に示すように２つの座標系で表された三次元点の１対１の対応点テーブルが作成できる（Ｓ４０４）。
【００５６】
ここで得られた対応点テーブルのように異なる座標系で表された２組の三次元点集合の１対１の対応関係を得ることができると、この対応関係を入力とし、下記の文献２の方法により４元数を利用することで、座標間に存在するスケールｓ、回転運動角（φ，θ，γ）、及び並進運動ベクトル（ｔｘ，ｔｙ，ｔｚ）を計算する（Ｓ４０５）。
【００５７】
(文献２)  Ｂ．Ｋ．Ｐ．Ｈｏｒｎ．Ｃｌｏｓｅｄ−ｆｏｒｍ  ｓｏｌｕｔｉｏｎ  ｏｆ  ａｂｓｏｌｕｔｅ  ｏｒｉｅｎｔａｔｉｏｎ  ｕｓｉｎｇ  ｕｎｉｔ  ｑｕａｔｅｒｎｉｏｎｓ．Ｊｏｕｒｎａｌ  ｏｆ  ｔｈｅ  Ｏｐｔｉｃａｌ  Ｓｏｃｉｅｔｙ  ｏｆ  Ａｍｅｒｉｃａ  Ａ，ｖｏｌ．〜４，ｐｐ．〜６２９--６４２，１９８７．
得られたスケールｓ、回転運動角（φ，θ，γ）、及び並進運動ベクトル（ｔｘ，ｔｙ，ｔｚ）より、カメラ運動｛Ｍ1｝を用いて求めた三次元点集合をカメラ運動｛Ｍ2｝を用いて求めた三次元点集合に一致させる座標変換行列｛Ｔ1｝を計算する（Ｓ４０６）。
【００５８】
具体的には｛Ｔ1｝は次のようにして計算する。まず回転運動角（φ，θ，γ）を用いて３×３の回転行列Ｒを計算する。Ｒは式２によって表される。
【００５９】
【数２】
2007004578.tif 000004
【００６０】
このＲのｉ行ｊ列成分をｒijと表すことにすると、Ｔ1は回転行列Ｒ、スケールｓ、及び並進運動ベクトル（ｔｘ，ｔｙ，ｔｚ）より式３のようにして計算することができる。
【００６１】
【数３】
2007004578.tif 000005
【００６２】
実施形態２ではカメラ運動計算に因子分解法を用いる例を説明したが、図１のカメラ運動の計算手段１３には例えば射影復元などを用いても構わない。射影復元を用いる場合には時系列画像を分割した各サブ時系列画像データのフレーム数Ｆは射影復元が安定して行えるフレーム数として決定すればよい。
【００６３】
実施形態２では図１の三次元点群計算手段１４にはステレオ法を用いる例を説明したが、視体積交差法やＥＰＩ解析などを用いても構わない。
【００６４】
実施形態２では、全時系列画像データを２分割にして、並列にカメラ運動計算、三次元点群計算を行い、分割されたデータで復元された三次元点群の間の座標変換行列を計算して、変換処理を行っているが、全時系列画像データをＮ分割した場合にも、隣接するサブ時系列画像データ間で逐次的に座標変換を行うことで、同様に実現できる。
【００６５】
実施形態２では、Ｓ４０５の処理において４元数を用いた文献２の方法を用いる例を説明したが、最小二乗近似を利用した方法などを用いても同様に実現できる。
【００６６】
なお図１で示した装置における各手段の一部又は全部の機能をコンピュータのプログラムで構成し、そのプログラムをコンピュータを用いて実行して上記実施形態を実現することができること、図１、図５で示した処理の手順をコンピュータのプログラムで構成し、そのプログラムをコンピュータに実行させることができることは言うまでもなく、コンピュータでその機能を実現するためのプログラムを、そのコンピュータが読み取り可能な記録媒体、例えばＦＤや、ＭＯ、ＲＯＭ、メモリカード、ＣＤ、ＤＶＤ、リムーバブルディスクなどに記録して、保存したり、配布したりすることが可能である。また、上記のプログラムをインターネットや電子メールなど、ネットワークを通して提供することも可能である。
【００６７】
(実施例１)
以下に、上述の三次元形状取得装置を用いて、デジタルカメラから得られた時系列画像を処理した結果を述べる。
【００６８】
図９は図１１に示すようにカメラを移動させながら、石垣を撮影して取得した時系列画像の一部であり、（１）が最初のフレーム、（３）が最後のフレーム、（２）がその間に位置するフレームである。（１）のフレームで見えていた部分は、（３）のフレームでは完全にフレームアウトしており、従来技術では三次元復元ができなかった。
【００６９】
図１０は石垣の三次元復元結果である。図１０において、（１）は正面右から、（２）は左上方から、（３）は真横、左からそれぞれ見たときの復元結果である。このように上記実施形態の三次元形状取得装置によれば上述したような長いシーケンスの時系列画像からもシームレスで密な三次元点群が復元できる。
【図面の簡単な説明】
【００７０】
【図１】三次元形状取得装置の構成を示す図。
【図２】全時系列画像データとサブ時系列画像データとの関係を示す図。
【図３】カメラ運動情報の例を示す図。
【図４】カメラ運動情報の座標系を示す図。
【図５】三次元形状取得方法の処理手順を示すフローチャート。
【図６】座標変換行列計算処理の処理手順を示すフローチャート。
【図７】２つの座標系で表された三次元点が基準画像の画像座標によるインデックスがついている状態を示す図。
【図８】対応点テーブルの例を示す図。
【図９】取得した石垣の時系列画像の一部を示す図。
【図１０】石垣の三次元復元結果を示す図。
【図１１】時系列画像取得の様子を示す図。
【符号の説明】
【００７１】
１１  時系列画像の取得手段
１２  時系列画像の分割手段
１３  カメラ運動の計算手段
１４  三次元点群計算手段
１５  座標変換行列計算手段
１６  三次元点群統合手段
２１  時系列画像情報
２２  サブ時系列画像情報
２３  カメラ運動情報
２４  三次元点群情報
２５  座標変換行列情報
２６  三次元形状情報
【図１】
2007004578.tif 000006
【図２】
2007004578.tif 000007
【図３】
2007004578.tif 000008
【図４】
2007004578.tif 000009
【図５】
2007004578.tif 000010
【図６】
2007004578.tif 000011
【図７】
2007004578.tif 000012
【図８】
2007004578.tif 000013
【図１１】
2007004578.tif 000014
【図９】
2007004578.tif 000015
【図１０】
2007004578.tif 000016