(57)【要約】【課題】複数の撮像装置から取得した情報から三次元環境情報を容易に取得し、極めて簡単な操作のみで全ての撮像装置情報を一つの世界座標系に統合する三次元環境情報取得装置，三次元環境情報取得方法及びその方法を実現したプログラムを格納した記録媒体を提供する。【解決手段】複数の撮像装置を移動させながら観測した画像列を取得する手段１１，前記の取得した移動観測画像列の各フレームを撮影したときの撮像装置運動を推定する手段１２，その取得した撮像装置運動を用いて被写体の三次元点群を取得する手段１３，前記の移動観測画像列を用いて取得された三次元点群を統一された世界座標系に統合する手段１４，その統合された三次元点群から基準面領域を検出する手段１５，その検出された基準面領域の情報に基づいて、その統合された三次元点群からエラー点を除去する手段１６を有するものである。【選択図】図１
2007271408.tif 000002
【特許請求の範囲】
【請求項１】
被写体が撮像された画像を複数の撮像装置から取得し、その撮像された画像から該被写体に関する三次元環境情報を取得する三次元環境情報取得装置であって、
前記撮像装置を移動させながら前記被写体を撮像した移動観測画像列を取得する移動観測画像列の取得手段と、
その取得した移動観測画像列の各画像を撮影した時の撮像装置運動を推定する撮像装置運動推定手段と、
その取得した撮像装置運動に基づいて、その被写体に関する三次元点群を取得する三次元点群取得手段と、
その移動観測画像列を用いて取得された三次元点群を、統一された世界座標系に統合する三次元点群統合手段と、
その統合された三次元点群から基準面領域を検出する基準面検出手段と、
その検出された基準面領域に関する情報に基づいて、その統合された三次元点群からエラー点を除去するノイズ除去手段と、
を有することを特徴とする三次元環境情報取得装置。
【請求項２】
前記三次元点群取得手段は、
前記移動観測画像列からステレオ処理に利用する画像を選択し、
その選択された画像間でステレオ処理を行い、
そのステレオ処理の結果と、前記撮像装置運動推定ステップで求められた撮像装置運動と、を用いて三次元点を復元する、
ことを特徴とする請求項１に記載の三次元環境情報取得装置。
【請求項３】
前記基準面検出手段は、
前記統合された三次元点群から、三次元ハフ変換によって面積最大となる平面領域を検出し、その検出された平面領域を基準面領域と見做す、
ことを特徴とする請求項１または２に記載の三次元環境情報取得装置。
【請求項４】
前記ノイズ除去手段は、
前記検出された基準面領域に関する情報と前記三次元点群を用いて、投票処理を行い、その三次元点群からエラー点を除去する、
ことを特徴とする請求項１乃至３のいずれかに記載の三次元環境情報取得装置。
【請求項５】
被写体が撮像された画像を複数の撮像装置から取得し、その撮像された画像から該被写体に関する三次元環境情報を取得する三次元環境情報取得方法であって、
前記撮像装置を移動させながら前記被写体を撮像した移動観測画像列を取得する移動観測画像列の取得ステップと、
その取得した移動観測画像列の各画像を撮影した時の撮像装置運動を推定する撮像装置運動推定ステップと、
その取得した撮像装置運動に基づいて、その被写体に関する三次元点群を取得する三次元点群取得ステップと、
その移動観測画像列を用いて取得された三次元点群を、統一された世界座標系に統合する三次元点群統合ステップと、
その統合された三次元点群から、基準面領域を検出する基準面検出ステップと、
その検出された基準面領域に関する情報に基づいて、その統合された三次元点群からエラー点を除去するノイズ除去ステップと、
を有することを特徴とする三次元環境情報取得方法。
【請求項６】
前記撮像装置運動推定ステップが、
前記移動観測画像列中の任意の画像で発生した特徴点を、他の全ての画像に対し追跡処理を行い、その特徴点追跡の結果を用いて計測行列を作成し、因子分解法により撮像装置運動を求めるステップ、
前記移動観測画像列中の任意の画像で発生した特徴点を、他の全ての画像に対し追跡処理を行い、その特徴点追跡の結果を用いて逐次的に射影復元を行って撮像装置運動を求めるステップ、
のいずれかを含むことを特徴とする請求項５に記載の三次元環境情報取得方法。
【請求項７】
前記三次元点群取得ステップは、
前記移動観測画像列からステレオ処理に利用する画像を選択し、
その選択された画像間でステレオ処理を行い、
そのステレオ処理の結果と、前記撮像装置運動推定ステップで求められた撮像装置運動と、を用いて三次元点を復元する、
ことを特徴とする請求項５または６に記載の三次元環境情報取得方法。
【請求項８】
前記基準面検出ステップは、
前記統合された三次元点群から、三次元ハフ変換によって面積最大となる平面領域を検出し、その検出された平面領域を基準面領域と見做す、
ことを特徴とする請求項５乃至７のいずれかに記載の三次元環境情報取得方法。
【請求項９】
前記ノイズ除去ステップは、
前記検出された基準面領域に関する情報と前記三次元点群を用いて、投票処理を行い、その三次元点群からエラー点を除去する、
ことを特徴とする請求項５乃至８のいずれかに記載の三次元環境情報取得方法。
【請求項１０】
請求項５乃至９のいずれかに記載の三次元環境情報取得方法を、コンピュータで実行可能なコンピュータプログラムとして記述し、そのコンピュータプログラムを記録したことを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の撮像装置を使って取得した移動観測画像列から空間の三次元構造を取得する装置，方法及びその方法を記録した記録媒体に関するものである。
【背景技術】
【０００２】
実世界の三次元構造を表す三次元環境情報は、例えば、ヴァーチャルリアリティにおける仮想現実の世界を表現したり、ナビゲーション用途における地図と見做して扱ったり、環境情報を利用した映像監視、などに幅広く応用できることが知られている。
【０００３】
なお、三次元環境情報は、物体（例えば、静止した被写体あるいは物体，屋内にある物体）に関する三次元の絶対的な位置姿勢情報（直接観測できない箇所の位置姿勢情報も含む情報）である。
【０００４】
従来、このような三次元環境情報は、レンジファインダに代表されるような特殊な機器を利用したり、手作業によってＣＧ（Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ）モデルを作成する、ことによって取得されていた。
【０００５】
例えば、レンジファインダで獲得した三次元環境情報を用いて人物の頭の位置を頑健に追跡する方法（以後、人物追跡方法と称する）が提案されている（例えば、非特許文献１参照）。
【０００６】
また、画像入力装置を使って三次元環境情報を取得する技術では、ビデオカメラの校正方法（例えば、非特許文献２参照）、透視投影モデルに基づいた頑健なカメラ運動の推定方法（例えば、非特許文献３参照）、三次元点群の座標変換行列に関する変換方法（例えば、非特許文献４参照）、多視点画像からの３次元座標計算方法（例えば、非特許文献５参照）が知られている。
【非特許文献１】鈴木達也，岩崎慎介，小林貴訓，佐藤洋一，杉本晃宏，「環境モデルの導入による人物追跡の安定化」，電子情報通信学会論文誌，２００５（平成１７年），Ｄ−ＩＩｖｏｌ．Ｊ８８，Ｎｏ８，ｐ．１５９２−１６００。
【非特許文献２】Ｚ．Ｚｈａｎｇ，”Ａ  ｆｌｅｘｉｂｌｅ  ｎｅｗ  ｔｅｃｈｎｉｑｕｅ  ｆｏｒ  ｃａｍｅｒａ  ｃａｌｉｂｒａｔｉｏｎ”，ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｐａｔｔｅｒｎ  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｍａｃｈｉｎｅ  Ｉｎｔｅｌｌｉｇｅｎｃｅ，２０００（平成１２年），２２（１１）：ｐ．１３３０−１３３４．
【非特許文献３】Ｓ．Ｃｈｒｉｓｔｙ，Ｒ．Ｈｏｒａｕｄ，”Ｅｕｃｌｉｄｅａｎ  ｓｈａｐｅ  ａｎｄ  ｍｏｔｉｏｎ  ｆｒｏｍ  ｍｕｌｔｉｐｌｅ  ｐｅｒｓｐｅｃｔｉｖｅ  ｖｉｅｗｓ  ｂｙ  ａｆｆｉｎｅ  ｉｔｅｒａｔｉｏｎｓ”，ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｐａｔｔｅｒｎ  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｍａｃｈｉｎｅ  Ｉｎｔｅｌｌｉｇｅｎｃｅ，１９９６（平成８年），１８（１１）：ｐ．１０９８−１１０４．
【非特許文献４】Ｂ．Ｋ．Ｐ．Ｈｏｒｎ，”Ｃｌｏｓｅｄ−ｆｏｒｍ  ｓｏｌｕｔｉｏｎ  ｏｆ  ａｂｓｏｌｕｔｅ  ｏｒｉｅｎｔａｔｉｏｎ  ｕｓｉｎｇ  ｕｎｉｔ  ｑｕａｔｅｒｎｉｏｎｓ”，Ｊｏｕｒｎａｌ  ｏｆ  ｔｈｅ  Ｏｐｔｉｃａｌ  Ｓｏｃｉｅｔｙ  ｏｆ  Ａｍｅｒｉｃａ，１９８７（昭和６２年），Ａ，ｖｏｌ．４，ｐ．６２９−６４２．
【非特許文献５】辻三郎，徐剛，「３次元ビジョン」，共立出版，平成１０年，ｐ．９５−９６。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
前述のように、三次元環境情報を取得するためには、レンジファインダなどの非常に高価で特殊な機械を用いる方法か、手作業によってＣＧモデルを作成する方法を採らなければならなかった。そのため、ユーザが三次元環境情報を簡易に取得できなかった。
【０００８】
また、前記の方法を用いて三次元環境情報を取得しても、例えば、前述の人物追跡方法は、空間中に配置されたビデオカメラ（以後、単にカメラという）から得られる情報を用いて人物を追跡する場合、カメラ情報の座標系と三次元環境モデルの座標系を統一することが必要になる。
【０００９】
さらに、前述の人物追跡方法は、空間中に多数のマーカを配置して、各カメラでの対応関係を求めるなど、多大な労力を要するものとなっていた。
【００１０】
本発明は、前記課題に基づいてなされたものであって、空間中に配置されたビデオカメラから取得した情報から三次元環境情報を取得することによって、ユーザが容易に三次元環境情報を取得し、かつ、極めて簡単な操作のみで全てのカメラ情報を一つの世界座標系に統合（例えば、各カメラのカメラ座標系と世界座標系を変換）する三次元環境情報取得装置，三次元環境情報取得方法及びその方法を実現したプログラムを格納した記録媒体を提供することにある。
【課題を解決するための手段】
【００１１】
本発明は、前記課題の解決を図るために、請求項１記載の発明は、被写体が撮像された画像を複数の撮像装置から取得し、その撮像された画像から該被写体に関する三次元環境情報を取得する三次元環境情報取得装置であって、前記撮像装置を移動させながら前記被写体を撮像した移動観測画像列を取得する移動観測画像列の取得手段と、その取得した移動観測画像列の各画像を撮影した時の撮像装置運動を推定する撮像装置運動推定手段と、その取得した撮像装置運動に基づいて、その被写体に関する三次元点群を取得する三次元点群取得手段と、その移動観測画像列を用いて取得された三次元点群を、統一された世界座標系に統合する三次元点群統合手段と、その統合された三次元点群から基準面領域を検出する基準面検出手段と、その検出された基準面領域に関する情報に基づいて、その統合された三次元点群からエラー点を除去するノイズ除去手段と、を有することを特徴とする。
【００１２】
請求項２記載の発明は、請求項１記載の発明において、前記三次元点群取得手段は、前記移動観測画像列からステレオ処理に利用する画像を選択し、その選択された画像間でステレオ処理を行い、そのステレオ処理の結果と、前記撮像装置運動推定ステップで求められた撮像装置運動と、を用いて三次元点を復元する、ことを特徴とする。
【００１３】
請求項３記載の発明は、請求項１または２に記載の発明において、前記基準面検出手段は、前記統合された三次元点群から、三次元ハフ変換によって面積最大となる平面領域を検出し、その検出された平面領域を基準面領域と見做す、ことを特徴とする。
【００１４】
請求項４記載の発明は、請求項１乃至３のいずれかに記載の発明において、前記ノイズ除去手段は、前記検出された基準面領域に関する情報と前記三次元点群を用いて、投票処理を行い、その三次元点群からエラー点を除去する、ことを特徴とする。
【００１５】
請求項５記載の発明は、被写体が撮像された画像を複数の撮像装置から取得し、その撮像された画像から該被写体に関する三次元環境情報を取得する三次元環境情報取得方法であって、前記撮像装置を移動させながら前記被写体を撮像した移動観測画像列を取得する移動観測画像列の取得ステップと、その取得した移動観測画像列の各画像を撮影した時の撮像装置運動を推定する撮像装置運動推定ステップと、その取得した撮像装置運動に基づいて、その被写体に関する三次元点群を取得する三次元点群取得ステップと、その移動観測画像列を用いて取得された三次元点群を、統一された世界座標系に統合する三次元点群統合ステップと、その統合された三次元点群から、基準面領域を検出する基準面検出ステップと、その検出された基準面領域に関する情報に基づいて、その統合された三次元点群からエラー点を除去するノイズ除去ステップと、を有する。
【００１６】
請求項６記載の発明は、請求項５記載の発明において、前記撮像装置運動推定ステップが、前記移動観測画像列中の任意の画像で発生した特徴点を、他の全ての画像に対し追跡処理を行い、その特徴点追跡の結果を用いて計測行列を作成し、因子分解法により撮像装置運動を求めるステップ、前記移動観測画像列中の任意の画像で発生した特徴点を、他の全ての画像に対し追跡処理を行い、その特徴点追跡の結果を用いて逐次的に射影復元を行って撮像装置運動を求めるステップ、のいずれかを含むことを特徴とする。
【００１７】
請求項７記載の発明は、請求項５または６に記載の発明において、前記三次元点群取得ステップは、前記移動観測画像列からステレオ処理に利用する画像を選択し、その選択された画像間でステレオ処理を行い、そのステレオ処理の結果と、前記撮像装置運動推定ステップで求められた撮像装置運動と、を用いて三次元点を復元する、ことを特徴とする。
【００１８】
請求項８記載の発明は、請求項５乃至７のいずれかに記載の発明において、前記基準面検出ステップは、前記統合された三次元点群から、三次元ハフ変換によって面積最大となる平面領域を検出し、その検出された平面領域を基準面領域と見做す、ことを特徴とする。
【００１９】
請求項９記載の発明は、請求項５乃至８のいずれかに記載の発明において、前記ノイズ除去ステップは、前記検出された基準面領域に関する情報と前記三次元点群を用いて、投票処理を行い、その三次元点群からエラー点を除去する、ことを特徴とする。
【００２０】
請求項１０記載の発明は、記録媒体であって、請求項５乃至９のいずれかに記載の三次元環境情報取得方法を、コンピュータで実行可能なコンピュータプログラムとして記述し、そのコンピュータプログラムを記録したことを特徴とする。
【００２１】
前記の請求項１，５の発明によれば、移動観測画像列から統合された三次元点群を取得できる。
【００２２】
前記の請求項２，７の発明によれば、移動観測画像列からステレオ処理に関する対応点を取得できる。
【００２３】
前記の請求項３，８の発明によれば、統合された三次元点群から面積最大となる平面領域を取得できる。
【００２４】
前記の請求項４，９の発明によれば、基準面領域に関する投票処理によってエラー点を除去できる。
【００２５】
前記の請求項６の発明によれば、移動観測画像列から計測行列を作成し、因子分解法に基づいた撮像装置運動、または、移動観測画像列から逐次的に射影復元に基づいた撮像装置運動を取得できる。
【００２６】
前記の請求項１０の発明によれば、請求項７乃至１２のいずれかに記載の三次元環境情報取得方法をコンピュータプログラムとして記載できる。
【発明の効果】
【００２７】
以上示したように、請求項１，５の発明によれば、撮像装置に関する簡易な操作によって三次元環境情報を取得できる。
【００２８】
請求項２，７の発明によれば、撮像対象に関する三次元点を復元できる。
【００２９】
請求項３，８の発明によれば、統合された三次元点群から基準面を取得できる。
【００３０】
請求項４，９の発明によれば、密で精度の高い三次元点群を取得できる。
【００３１】
請求項６の発明によれば、撮像装置に関する簡易な操作によって撮像装置運動を取得できる。
【００３２】
請求項１０の発明によれば、三次元環境情報取得方法を実装したコンピュータプログラムを記録した記録媒体を取得できる。
【００３３】
これらを以ってコンピュータビジョン分野に貢献できる。
【発明を実施するための最良の形態】
【００３４】
以下、本発明の実施の形態における三次元環境情報取得装置，三次元環境情報取得方法及びその方法を実現したプログラムを格納した記録媒体を図面等に基づいて詳細に説明する。
【００３５】
本発明の基本方式は、複数の撮像装置（例えば、ビデオカメラなどのカメラ）によって観測される空間の三次元構造情報を表し、三次元環境情報を取得し、撮像装置によって取得された三次元点群を統一された世界座標系に統合し、この世界座標系と各撮像装置の撮像装置座標系との変換式を求めることである。
【００３６】
本発明の実施の形態は、複数の撮像装置から画像を取得し、三次元環境情報（または、実世界の三次元構造）を取得する三次元環境情報取得装置，三次元環境情報取得方法及びその方法を実現したプログラムを格納した記録媒体である。
【００３７】
即ち、前記の三次元環境情報取得装置，三次元環境情報取得方法及びその方法を実現したプログラムを格納した記録媒体は、撮像装置を移動させながら観測した画像列（即ち、移動観測画像列）を取得し、前記の取得した移動観測画像列の各フレーム（即ち、その画像列中の画像）を撮影したときの撮像装置運動（即ち、撮像装置の三次元位置と姿勢）を推定するものである。さらに、前記の取得した撮像装置運動を用いて被写体の三次元点群を取得し、前記の移動観測画像列を用いて取得された三次元点群を統一された世界座標系に統合し、その統合された三次元点群から基準面領域を検出し、その検出された基準面領域の情報に基づいて、その統合された三次元点群からエラー点を除去するものである。
【００３８】
本発明の実施の形態を図１乃至図６に基づいて以下に説明する。
【００３９】
図１は、本実施の形態における三次元環境情報取得装置の構成例を示す。三次元環境情報取得装置は、移動観測画像列の取得手段１１と、カメラ運動推定手段（即ち、撮像装置運動推定手段）１２と、三次元点群取得手段１３と、三次元点群統合手段１４と、床面検出手段１５と、ノイズ除去手段１６から構成される。
【００４０】
移動観測画像列の取得手段１１は、画像入力装置を移動させながら時系列画像データ（即ち、移動観測画像列）を取得する手段であって、例えば、スライド可能なカメラ雲台に取り付けたビデオカメラ等が挙げられる。また、取得した移動観測画像列は、移動観測画像列の取得手段１１よって、外部記憶装置（例えば、ハードディスク）に記憶され管理されても良い。
【００４１】
カメラ運動推定手段１２は、前記の移動観測画像列の各フレームを撮影した際のカメラの三次元位置（ｘ，ｙ，ｚ）と姿勢（φ，θ，γ）を推定する手段であって、例えば、因子分解法やエピポーラ幾何を用いて推定する方法を採用した手段である。
【００４２】
三次元点群取得手段１３は、前記の移動観測画像列およびカメラ運動を用いて被写体の三次元情報を復元する手段であって、例えば、ステレオ法や視体積交差法などを採用した手段である。
【００４３】
三次元点群統合手段１４は、複数の移動観測画像列の取得手段１１よって得られた複数の三次元点群データを統一された世界座標系に取得する手段である。
【００４４】
床面検出手段１５は、前記の世界座標系に統一された三次元点群から床面領域（即ち、基準面領域）を検出する手段である。
【００４５】
ノイズ除去手段１６は、前記の取得された床面領域に関する情報を用いて、床面が世界座標系におけるＸＹ平面に一致するように三次元点群を座標変換した後に、Ｚ方向で投票処理を行うことによって、三次元点群に含まれるエラー点を除去する手段である。
【００４６】
次に、本実施の形態における三次元環境情報取得方法を図２乃至図３に基づいて説明する。なお、図３は前記の三次元環境情報取得方法を示すフローチャートである。
【００４７】
本実施の形態における三次元環境情報取得方法では、図２のように二台のビデオカメラＣ１およびＣ２によって観測される空間の三次元構造（即ち、被写体）ＢＧに関する情報（即ち、三次元構造情報または三次元環境情報）を取得するものとする。
【００４８】
ビデオカメラ（以下、単にカメラという）Ｃ１およびＣ２のカメラ内部パラメータは、事前に校正を行っておくものとする。例えば、前述のビデオカメラの校正方法（非特許文献２参照）によって校正できる。
【００４９】
本実施の形態では、カメラ運動推定手段１２には因子分解法、三次元点群取得方法にはステレオ法を採用する。なお、カメラ運動推定手段１２には因子分解法、三次元点群取得方法にはステレオ法を用いる例で説明するが、これらに限定されるものではないことは明らかである。
【００５０】
本実施の形態における三次元環境情報取得方法に関する処理を次に説明する。
【００５１】
まず、処理が開始されると、移動観測画像列取得手段１１によって、カメラＣ１を移動させながら観測した移動観測画像列Ｉｍ1とカメラＣ２を移動させながら観測した移動観測画像列Ｉｍ2を取得する（Ｓ２０１）。
【００５２】
次に、カメラ運動推定手段１２によって、各移動観測画像列Ｉｍ1およびＩｍ2の各フレーム撮影時のカメラＣ１およびカメラＣ２の三次元位置と姿勢を推定する。なお、カメラの三次元位置と姿勢は各フレーム毎に求まり、移動観測画像列の第ｉフレームをＦＲi、第ｉフレームにおけるカメラの三次元位置を（ｘi，ｙi，ｚi）、姿勢を（φi，θi，γi）と表すことにする。
【００５３】
次に、取得した移動観測画像列Ｉｍ1およびＩｍ2に関して特徴点追跡を行う（Ｓ２０２）。なお、特徴点追跡とは、移動観測画像列中の任意のフレームで発生させた特徴点の画像座標値とその他の全てのフレームで対応する画像座標値を求めることである。即ち、この処理を移動観測画像列Ｉｍ1およびＩｍ2のそれぞれに対して行う。
【００５４】
次に、特徴点追跡の結果を用いて因子分解法を適用する（Ｓ２０３）。そのためには、特徴点を追跡した結果から計測行列を作成する。この計測行列は、移動観測画像列のフレーム数をＦ、特徴点数をＮとすると、以下の式１で表されるＦ行Ｎ列の行列となる。
【００５５】
【数１】
2007271408.tif 000003
【００５６】
ただし、（ｕij，ｖij）はｉフレーム目のｊ番目の特徴点の画像座標値を表す。
【００５７】
因子分解法は、式１で表される計測行列から、例えば、特異値分解などによって、各特徴点の三次元位置とカメラ運動（図４中のカメラ運動表Ｔ１で示される各フレーム毎の三次元位置（ｘi，ｙi，ｚi）、姿勢（φi，θi，γi））を求める方法であって、例えば、前述の透視投影モデルに基づいた頑健なカメラ運動の推定方法（非特許文献３参照）を用いれば透視投影モデルで頑健にカメラ運動を推定することが出来る。移動観測画像列Ｉｍ1およびＩｍ2のそれぞれに対し、因子分解処理を行って、カメラＣ１およびカメラＣ２のカメラ運動（Ｍ１，Ｍ２）を推定する。
【００５８】
次に、推定されたカメラ運動と移動観測画像列を用いて三次元点群取得手段１３により、被写体の三次元点群を取得する。
【００５９】
なお、移動観測画像列は複数の視点から得られた画像の集合であるため、視点の違いを利用して三角測量によって三次元計測を行う。即ち、三次元計測にはステレオ処理を適応できる。
【００６０】
ステレオ処理では、移動観測画像列の中からステレオ処理に利用する画像を選択する（Ｓ２０４）。この画像選択は、以下のような手順である。
【００６１】
まず、ステレオ処理の際の基準フレームを選択する。なお、基準フレームには任意のフレームを選択可能であり、複数のフレームを選択することも可能である。
【００６２】
次に、基準フレームを選択した後、その基準フレームに合わせて比較フレームを選択する。
【００６３】
なお、その比較フレームの選択に関して、移動観測画像列の時間的に隣り合うような２枚の画像をステレオ画像に選んでしまうと、カメラの移動量が小さいため、ステレオ処理の結果が不安定になる問題が発生する。
【００６４】
その問題の解決策として、フレームインターバルｄを決定し、基準フレームから時間軸上でｄフレーム以上離れたフレームの中から比較フレームを採用する。
【００６５】
上記の条件を満たしていた場合、一枚の基準フレームに対し比較フレームを複数枚選択する。
【００６６】
例えば、図５中の移動観測画像列５０３における基準フレーム５０１に対し、時系列で正方向、負方向の両方向でフレームインターバルｄの整数倍フレーム離れたフレームを比較フレーム５０２と見做すことができる。このように、一枚の基準フレーム５０１に対し、複数の比較フレーム５０２を使ってステレオ処理を行うため、一枚の比較フレームのみを使った場合に対して頑健な処理を行うことが可能である。
【００６７】
以上の選択処理を移動観測画像列Ｉｍ1およびＩｍ2それぞれに対し行う。
【００６８】
次に、基準フレームと比較フレームの選択処理が終った後、ステレオ処理を行う（Ｓ２０５）。
【００６９】
即ち、ステレオ処理とは、基準フレームの各画素と比較フレームの対応する画素を結びつける処理である。
【００７０】
基準フレームに対し、Ｋ枚の比較フレームがある場合、その基準フレームと全ての比較フレームの組み合わせＫ通りで、ステレオ処理を行うものとする。
【００７１】
なお、ステレオ処理では、例えば、一般的なエリアベースのマッチング手法を用いて、基準フレームの全画面に対して行い、対応点データを求めることとする。
【００７２】
また、マッチング手法における評価関数には、例えば、絶対値差ＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅｓ）関数や正規化相互相関関数など任意の関数を用いることが可能である。
【００７３】
ステレオ処理の結果、一枚の基準フレームに対し、Ｋ個の対応点データを得ることができる。なお、以後、ステレオ処理対象の一対の画像（フレーム）をステレオ画像対と称することとする。
【００７４】
次に、得られた対応点データから三次元点群を復元する（Ｓ２０６）。
【００７５】
即ち、一枚の基準フレームに対しＫ個の対応点データがある場合を考え、基準フレームの各画素毎に三次元点の計算を行う。
【００７６】
しかし、ステップＳ２０６までの処理を行った後のままでは、基準フレームの各画素毎にＫ通りの三次元点が計算されてしまうため、対応点データの統合を行う。この対応点データの統合は、例えば、基準フレームの各画素毎にＫ個対応点データのうちのいずれか１枚のデータを利用して三次元点を計算する、または、選択する、ことによって実現できる。
【００７７】
ステレオ処理では、基準フレーム撮影時のカメラ光学中心の位置と比較フレーム撮影時のカメラ光学中心の位置を結ぶ直線の距離（即ち、ベースライン）に関して、復元される三次元点の精度とステレオ処理自体の安定性の間におけるトレードオフが知られている。
【００７８】
即ち、前記のベースラインが短ければ、ステレオ処理は安定するが、正しく対応付けされたデータからでも復元される三次元点は精度が悪く。逆に、ベースラインが長ければ、ステレオ処理は不安定だが、正しく対応付けされたデータに関しては復元される三次元点の精度は良い。このようなトレードオフを利用して対応点データの選択を行うものとする。
【００７９】
まず、基準フレームの各画素毎にＫ枚の視差画像を用いて、Ｋ通りの三次元点を復元する。この三次元点の復元は、基準フレームの投影行列Ｐおよび比較フレームの投影行列Ｐ’と対応点データを用いて行う。なお、投影行列Ｐは、３行４列の行列であって、推定されたカメラ運動（三次元位置（ｘ，ｙ，ｚ）、姿勢（φ，θ，γ））とカメラ内部行列Ａから計算できる。
【００８０】
【数２】
2007271408.tif 000004
【００８１】
ただし、
【００８２】
【数３】
2007271408.tif 000005
【００８３】
また、Ａ行列の各要素は、カメラ校正によって既知である。
【００８４】
式２によって、基準フレームの投影行列Ｐおよび比較フレームの投影行列Ｐ’を計算する。
【００８５】
次に、対応点データと投影行列ＰおよびＰ’を使って三次元点を復元する。基準フレームの画像座標（ｕ，ｖ）と比較フレームの画像座標（ｕ’，ｖ’）が対応しているとすると、三次元点Ｍ（即ち、点（Ｘ，Ｙ，Ｚ））は、前述の多視点画像からの３次元座標計算方法に基づいて、以下の式３により復元される。
【００８６】
【数４】
2007271408.tif 000006
【００８７】
ただし、
【００８８】
【数５】
2007271408.tif 000007
【００８９】
であり、ｐijおよびｐ’ijはＰおよびＰ’のｉ行ｊ列の要素を表し、Ｂ+はＢ行列の疑似逆行列を表す。
【００９０】
式３を用いて基準フレームの全画素に対し、Ｋ個の対応点データを用いて三次元点を復元する。
【００９１】
次に、各画素毎に三次元点の統合を行う。
【００９２】
既に述べたように、Ｋ個の対応点データのうち、ベースラインが短いステレオ画像対から得られたものは、対応点データの精度は良いが、復元される三次元点の精度は悪い。逆に、ベースラインが長いステレオ画像対から得られたものは、対応点データには間違いも含まれるが、正しい対応点から復元される三次元点の精度は高い。
【００９３】
そこで、Ｋ個の対応点データの内でベースラインが一番短い対応点データから復元された三次元点を点（Ｘｂ，Ｙｂ，Ｚｂ）と見做したとき、以下の式４を満たす三次元点を復元した対応点データのうちで一番ベースラインが長い対応点データから復元された三次元点を、その画素の三次元点と見做す。
【００９４】
【数６】
2007271408.tif 000008
【００９５】
ただし、Ｅは閾値であって、任意に実験的に決めることが出来る。そのため、前記Ｅの値を入力する手段（例えば、キーボード装置などの値読み取り装置）を備えていても良い。
【００９６】
式４を全ての基準フレームの全画素に対し適応することによって、膨大な三次元点群を復元することが出来る。なお、復元された三次元点群は、移動観測画像の最初のフレームを撮影した際のカメラ座標系で表すことができる。
【００９７】
三次元点群の復元を移動観測画像列Ｉｍ1およびＩｍ2それぞれに対し適応することによって、それぞれのカメラＣ１およびカメラＣ２で観測された環境の三次元構造を取得できる。
【００９８】
次に、前記の各移動観測画像列から得られた三次元点群は座標系が異なっているため、三次元点群統合手段１４によって各カメラから得られた三次元点群を共通の世界座標系に統合を行う（Ｓ２０７）。
【００９９】
即ち、前記の世界座標系に統合は、一方の座標系に他方の座標系で表された三次元点群を変換してやることによって実現する。
【０１００】
本実施の形態では、移動観測画像列Ｉｍ1から復元した三次元点群３Ｄ1を、Ｉｍ2から復元した三次元点群３Ｄ2の座標系に変換することにする。
【０１０１】
また、三次元点群の座標変換行列Ｔ1の計算は、図６中の対応点テーブルＴ２のような異なる座標系で表された同一の三次元点の対応点テーブルを使って、例えば、前述の三次元点群の座標変換行列に関する変換方法によって、最低３つの三次元点を利用することによって実現できる。
【０１０２】
３Ｄ1は、Ｉｍ1の最初のフレームのカメラ座標系で表されており、３Ｄ2はＩｍ2の最初のフレームのカメラ座標系で表されている。そこで、選択する際に、Ｉｍ1の最初のフレームとＩｍ2の最初のフレームをステレオ処理の基準フレームと見做すこととする。
【０１０３】
ステレオ処理によって復元された三次元点は、基準フレームの各画素と復元された三次元点が一対一で対応しているため、Ｉｍ1の最初のフレームとＩｍ2の最初のフレームの画像上で対応点を取得し、三次元点の対応点テーブルを作成する。この三次元点の対応点テーブルを利用して座標変換行列４行４列のＴ1を計算し、式５によって３Ｄ1を全て変換する。
【０１０４】
【数７】
2007271408.tif 000009
【０１０５】
ただし、前記の点（Ｘ，Ｙ，Ｚ）は変換前の３Ｄ1に含まれる三次元点、点（Ｘn，Ｙn，Ｚn）は変換して３Ｄ2の座標系で表された三次元点、である。
【０１０６】
以上の変換処理によって、全ての三次元点群がＩｍ2撮影時のカメラ座標系で表されたことになる。
【０１０７】
次に、床面検出手段１５によって復元された三次元環境中の床面を表す三次元点の検出を行う。
【０１０８】
例えば、床面（即ち、基準面）は、復元された三次元点群が表す最大面積を有する平面として検出する。
【０１０９】
前記の最大面積を有する平面は、三次元ハフ変換を利用して計算できる（Ｓ２０８）。即ち、三次元ハフ変換を用いることによって、最大面積を有する平面の平面方程式（ａｘ＋ｂｙ＋ｃｚ＋ｄ＝０）を得ることが出来る。
【０１１０】
次に、ステップＳ２０９では、床面がＸＹ平面、高さ方向がＺ軸、となるような座標系に三次元点群を変換する。なお、床面に関する平面方程式は、ステップＳ２０８で前記の平面方程式（ａｘ＋ｂｙ＋ｃｚ＋ｄ＝０）と計算されているため、座標変換前における床面の法線ベクトルは、ベクトル（ａ，ｂ，ｃ）と見做す。
【０１１１】
床面がＸＹ平面、かつ、高さ方向がＺ軸、となる座標系に変換するためには、床面の法線ベクトルがベクトル（０，０，１）となるように変換する。即ち、この変換のための３行３列の変換行列Ｔpは、以下の式６によって計算できる。
【０１１２】
【数８】
2007271408.tif 000010
【０１１３】
Ｔpが計算できたら、三次元点を以下の式７を用いて変換する。
【０１１４】
【数９】
2007271408.tif 000011
【０１１５】
ただし、点（Ｘｃ，Ｙｃ，Ｚｃ）は三次元点（Ｘ，Ｙ，Ｚ）を変換行列Ｔpによって変換したものである。
【０１１６】
このようにして、復元された三次元点群が床面を、基準面と見做した座標系に変換される。
【０１１７】
次に、ノイズ除去手段１６によって復元された三次元点群からエラー点を除去する。
【０１１８】
一般に、ステレオ処理から膨大な三次元点群を得ることが出来る。その反面、復元された三次元点にエラーが混入してしまう。この混入したエラーを取り除くために投票処理を行う（Ｓ２１０）。
【０１１９】
例えば、環境中に存在する物体などは床面から特定の高さを持つ点の集合である、と考えられるため、高さ方向に関して投票処理を行うことによってエラー点を除去できる。具体的な投票処理は、次の通りである。
【０１２０】
単位立方格子を用いて空間を分割（即ち、ボクセル表現）し、復元された三次元点がどの単位立方格子に入るかを判定し、該当する立方格子に登録を行う。
【０１２１】
次に、全ての三次元点に対して前記の登録処理を終えた後、同じボクセル空間内で同じＸＹ座標値を持つ三次元点で、Ｚ座標の投票処理を行う。
【０１２２】
そして、最大得票数を得たＺ座標をそのＸＹ座標値におけるＺ座標値として採用し、その他の三次元点を削除する。
【０１２３】
全てのＸＹ座標値に対して前述の投票処理を行うことによって、前記の三次元点群からエラー点を除去できる。
【０１２４】
そして、復元された三次元環境情報とカメラ座標系を結び付けるために、カメラＣ１のカメラ座標系との関係を以下の式８で表す。
【０１２５】
【数１０】
2007271408.tif 000012
【０１２６】
なお、行列Ｔp’は、行列Ｔpに一行追加した以下の式９で表される行列である。
【０１２７】
【数１１】
2007271408.tif 000013
【０１２８】
カメラＣ２のカメラ座標系との関係は、以下の式９で表される。
【０１２９】
【数１２】
2007271408.tif 000014
【０１３０】
ただし、座標系（ＸCAM1，ＹCAM1，ＺCAM1）はカメラＣ１のカメラ座標系、座標系（ＸCAM2，ＹCAM2，ＺCAM2）はカメラＣ２のカメラ座標系、座標系（Ｘ3D，Ｙ3D，Ｚ3D）は三次元環境情報の座標系、をそれぞれ表す。
【０１３１】
以上のように、カメラＣ１のカメラ座標系と三次元環境情報の座標系（即ち、世界座標系）間の交換、カメラＣ２のカメラ座標系と三次元環境情報の座標系間の交換、を行うことができる。
【０１３２】
なお、図１中の三次元環境情報取得装置における各手段の一部もしくは全部の機能をコンピュータのプログラムで構成し、そのプログラムをコンピュータを用いて実行することによって、本実施の形態を実現できる。
【０１３３】
さらに、図３中の三次元環境情報取得方法における処理手順をコンピュータのプログラムで構成し、そのプログラムをコンピュータに実行させることができることは言うまでもない。
【０１３４】
また、コンピュータで前記の機能を実現するためのプログラムを、そのコンピュータが読み取り可能な記録媒体（例えば、ＦＤ（Ｆｌｏｐｐｙ(登録商標)  Ｄｉｓｋ），ＭＯ（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ  ｄｉｓｋ），ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ），メモリカード，ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ），ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ），リムーバブルディスクなど）に記録して、保存したり、配布したりできる。
【０１３５】
そして、上記のプログラムをネットワーク（例えば、インターネットや電子メールなど）を通して提供できる。
【０１３６】
以上のように、本実施の形態は、従来のように高価な機器を利用することなく、移動しながら画像を撮影するのみで、自動的に三次元環境を取得できる。
【０１３７】
また、取得した三次元環境情報からノイズ除去を行った結果、そのままポリゴン化できるほど、密で精度が高い三次元情報を取得できる。
【０１３８】
さらに、三次元環境情報取得に利用したカメラをそのまま使って人物追跡などの処理を行う場合、カメラと三次元環境情報間の座標系が既に校正済みであるため、従来のように、環境にマーカを設置して認識する必要がなく、大幅に省力化できる。
【０１３９】
次に、本実施の形態の実施例を図７乃至図１２に基づいて以下に説明する。
【０１４０】
より具体的に述べると、前述の三次元環境情報取得装置を用いて、２台のビデオカメラ（即ち、カメラＣ１およびカメラＣ２）から取得した移動観測画像を処理した結果に基づいて、図３中の処理フローを適応した例を説明するものである。
【０１４１】
まず、処理が開始されると、移動観測画像列の取得を行う（Ｓ２０１）。例えば、図７は、移動観測画像の取得に用いた鉛直方向に移動可能なカメラ雲台（即ち、符号７０１〜７０２の画像のようにカメラを移動できるカメラ雲台；以下、鉛直移動カメラ雲台と称する）７０と取得した移動観測画像列の一部（即ち、符号７０３〜７０５で示された画像）である。
【０１４２】
なお、前記の鉛直移動カメラ雲台７０は、カメラを鉛直方向に２０ｃｍ（センチメートル）程度移動できる。そして、符号７０１の画像のように鉛直移動カメラ雲台７０が一番高くなる状態から、符号７０２の画像のように一番低くなる状態まで動かしながら撮影を行った。
【０１４３】
カメラＣ１およびカメラＣ２を用いて上記のような撮影を行って、移動観測画像列Ｉｍ1およびＩｍ2（例えば、符号７０３〜７０５で示す画像）を取得する。
【０１４４】
次に、ステップＳ２０２では、特徴点の追跡処理を行う。
【０１４５】
図８は、特徴点を追跡した結果の一部（即ち、符号８０１〜８０３で示された画像）であって、符号８０１の画像から撮影した時系列順に並んでいるものとする。
【０１４６】
なお、中央の画像は、時系列順に並んだ移動観測画像列で中央に位置する画像であって、画像中の四角い枠の中にＨａｒｒｉｓ特徴を用いた特徴点を発生させた画像である。
【０１４７】
次に、発生した特徴点を時系列逆方向、順方向ともに追跡して、移動観測画像列の全てのフレームで対応付けを行う。
【０１４８】
そして、移動観測画像列Ｉｍ1およびＩｍ2に対して前記の特徴点の追跡処理を行う。
【０１４９】
次に、ステップＳ２０３では、ステップＳ２０２にて求めた特徴点追跡結果から計測行列を作成し、因子分解法によって、カメラ運動を推定する。
【０１５０】
次に、ステップＳ２０４では、ステレオ画像の選択を行う。即ち、本実施の形態における実施例では、鉛直移動カメラ雲台７０が一番近い位置で撮影したフレームの一枚を基準フレームと見做し、カメラ雲台が一番高い位置のフレームを比較フレームと見做し、その基準フレームと比較フレーム間のフレームでインターバルｄを設定して複数枚選択する。
【０１５１】
次に、ステップＳ２０５では、ステレオ処理を行って、対応点データを取得し、ステップＳ２０６で三次元点群を復元する。
【０１５２】
以上のステップＳ２０３からＳ２０６までの処理を移動観測画像列Ｉｍ1およびＩｍ2に対して行う。
【０１５３】
次に、ステップＳ２０７では、移動観測画像列Ｉｍ1およびＩｍ2からそれぞれ復元された三次元点群の統合を行う。
【０１５４】
なお、図９は、二つの三次元点群を世界座標系に統合した一例である。図９中の点群９０１はカメラＣ１を用いて復元した三次元点群、点群９０２はカメラＣ２を用いて復元した三次元点群、点群９０３は三次元点群９０１と三次元点群９０２を世界座標系で統合した三次元点群、である。
【０１５５】
次に、ステップＳ２０８では、ステップＳ２０７にて統合された三次元点群から床面を表す点群を、最大面積を有する平面として検出する。
【０１５６】
次に、ステップＳ２０９では、検出された床面がＸＹ平面、高さ方向がＺ軸となるような座標系に変換する。なお、図１０中の符号１００１で示される点群は、このような座標系に変換した後の三次元点群の一例である。
【０１５７】
そして、ステップＳ２１０では、高さ方向で投票処理を行ってノイズを除去する。なお、図１１中の符号１１０１で示される点群は、ノイズ除去された三次元点群（即ち、三次元環境）の一例である。
【０１５８】
前記のように、ノイズを除去した三次元環境情報に基づいて、例えば、隣接する点群を三角形のパッチで結び、ポリゴンデータ（あるいは、ポリゴンモデル）などを生成できる。なお、図１２中の符号１２０１及び１２０２は、取得した三次元環境情報からポリゴンモデルを生成した一例を示している。
【０１５９】
以上のように、本実施の形態における実施例では、三次元環境情報を簡易に自動的に構築できる。
【０１６０】
以上、本発明において、記載された具体例に対してのみ詳細に説明したが、本発明の技術思想の範囲で多彩な変形および修正が可能であることは、当業者にとって明白なことであり、このような変形および修正が特許請求の範囲に属することは当然のことである。
【０１６１】
例えば、本実施の形態では、次のような変形が考えられる。
【０１６２】
本実施の形態では、カメラ運動推定手段１３に因子分解法を用いる例を説明したが、移動観測画像からカメラ運動を推定する手段であれば、何を用いても実現可能であり、例えば、逐次射影復元を用いても実現可能である。
【０１６３】
本実施形態では、三次元点群の統合に復元した三次元点群を利用してクォータニオンを用いて統合を行ったが、単純にカメラ間の移動パラメータ（即ち、カメラ外部パラメータ）を予め校正しておいて、統合を行う方法を用いることも可能である。
【０１６４】
本実施形態では、利用するカメラ台数を２とした例で説明を行ったが、カメラの台数を増やしても基準となるカメラに対する変換行列を逐次求めることによって、同様に実現できる。
【図面の簡単な説明】
【０１６５】
【図１】本実施の形態における三次元環境情報取得装置の構成図。
【図２】本実施の形態における三次元環境情報取得対象のモデル図。
【図３】本実施の形態における三次元環境情報取得方法の処理手順を示すフローチャート。
【図４】本実施の形態におけるカメラ運動情報の一例を示す図。
【図５】本実施の形態における移動観測画像列からのステレオ画像の選択の方法の一例を示す図。
【図６】本実施の形態における異なる座標系で表された三次元点の対応点テーブルの例を示す図。
【図７】本実施の形態の一例における（Ａ）鉛直方向に移動可能なカメラ雲台と（Ｂ）取得した移動観測画像列の一部を示す図。
【図８】本実施例における移動観測画像列から特徴点を追跡した結果を示す図。
【図９】本実施例におけるカメラＣ１から復元した三次元点群，カメラＣ２から復元した三次元点群，それら二つの三次元点群を世界座標系に統合した三次元点群を示す図。
【図１０】本実施例における統合した三次元点群を床面をＸＹ平面とする座標系に変換した三次元点群を示す図。
【図１１】本実施の形態の一例における投票処理によって、ノイズを除去した三次元点群を示す図。
【図１２】本実施の形態の一例における三次元環境情報をポリゴンデータで表現した図。
【符号の説明】
【０１６６】
１１…移動観測画像列取得手段
１２…カメラ運動推定手段
１３…三次元点群取得手段
１４…三次元点群統合手段
１５…床面検出手段
１６…ノイズ除去手段
７０…鉛直移動カメラ雲台
５０１…基準フレーム
５０２…比較フレーム
５０３…移動観測画像列
７０１，７０２…鉛直移動カメラ雲台を撮像した画像
７０３，７０４，７０５…移動観測画像
８０１，８０２，８０３…特徴点を追跡した結果の画像
９０１…カメラＣ１を用いて復元した三次元点群
９０２…カメラＣ２を用いて復元した三次元点群
９０３…三次元点群９０１と三次元点群９０２を世界座標系で統合した三次元点群
１００１…座標系に変換した後の三次元点群
１１０１…ノイズ除去された三次元点群
１２０１，１２０２…三次元環境情報から生成したポリゴンモデル
ＢＧ…三次元構造
ｄ…フレームインターバル
Ｔ１…カメラ運動表
Ｔ２…対応点テーブル
【図１】
2007271408.tif 000015
【図２】
2007271408.tif 000016
【図３】
2007271408.tif 000017
【図４】
2007271408.tif 000018
【図５】
2007271408.tif 000019
【図６】
2007271408.tif 000020
【図７】
2007271408.tif 000021
【図８】
2007271408.tif 000022
【図９】
2007271408.tif 000023
【図１０】
2007271408.tif 000024
【図１１】
2007271408.tif 000025
【図１２】
2007271408.tif 000026