(57)【要約】【課題】カメラ視点に関する運動と外界の３次元情報を同時に、かつ、雑音にロバストに復元する。計算コストも下げる。【解決手段】全方位画像を蓄積した時系列データベース１、各画像における特徴点の座標値を測定する特徴点計測部２、この計測部で得た画像座標値をｕｖ画像に変換する計測行列変換部３、ｕｖ座標値を行列要素とする行列を初期値として与える計測行列入力部４、これらの入力データから因子分解法によりカメラの運動と外界の３次元情報を復元する因子分解法処理部５から構成される。因子分解法処理部５は、平面運動・３次元情報復元部５Ａ、Ｚ軸運動復元部５Ｂ、回転運動復元部５Ｃから構成される。【選択図】  図１
2005078554.tif 000002
【特許請求の範囲】
【請求項１】
魚眼カメラなどの画像入力装置で取得した時系列の全方位画像または広視野画像中において、対象とする画像に配置した特徴点に関する画像座標値の時間的変化量から、時系列におけるカメラ視点の運動、並びに、外界の物体形状を構成する３次元情報を復元する方法であって、
外界の３次元座標値を、視点を中心とした球面に投影した座標値において、カメラの進行方向の直交方向成分を高さ方向成分で割った値、及びカメラの進行方向成分を高さ方向成分で割った値を、それぞれをｕ座標及びｖ座標とし、時系列の全方位画像または広視野画像に設定した特徴点座標系において、各画像における特徴点の画像座標値を得て、各画像座標値から算出される位相角と仰角により、その特徴点のｕｖ座標値を求める計測行列測定ステップと、
前記計測行列測定ステップで得た全ｕｖ座標値を用いて、復元処理するための行列分解データを生成し、この行列分解データを特異値分解し、雑音除去を行って運動情報を表す行列データと３次元情報を表す行列データを得て、その運動情報において、運動を規定するために設定した条件を満足する変換行列を求め、運動情報を表す行列データにこの変換行列を作用させてカメラ視点に関する光軸になるＺ軸周りの回転運動と二軸のＸＹ軸方向の並進運動を復元し、並びに、３次元情報を表す行列データにこの変換行列の逆行列を作用させて物体形状を構成する３次元情報を復元する平面運動・３次元情報復元ステップと、
前記平面運動・３次元情報復元ステップで得た平面運動と３次元情報から各特徴点に関するｕｖ座標系での再投影座標値を求め、この再投影座標値と前記計測行列測定ステップで得た各特徴点のｕｖ座標値との間の誤差と、前記平面運動・３次元情報復元ステップで得た各特徴点のＺ座標値を使って、カメラ視点のＺ軸方向の並進運動を復元するＺ軸運動復元ステップと、
前記行列分解データの中から、光軸以外の他の軸周りの回転運動に寄与する成分を取り出し、それらの成分と前記平面運動・３次元情報復元ステップとＺ軸運動復元ステップで復元した運動、並びに３次元情報を使って、光軸以外の他軸周りの回転運動を復元する回転運動復元ステップと、
前記Ｚ軸運動復元ステップで求めた誤差がある一定値以下に収束しているかどうかを判断し、もし、収束していないならば、平面運動と３次元情報の復元ステップで得たカメラ視点のＸＹ並進成分と３次元情報、並びに、光軸以外のＸＹ軸周りの回転角を使って、ｕｖ座標値を変形させる係数εを求め、前記平面運動と３次元情報の復元ステップで得た各特徴点の高さ情報と前記Ｚ軸並進運動復元ステップで得た各視点のＺ軸上の位置を使って、ｕｖ座標値をスケール変換する係数δを求め、係数εを前記計測行列測定ステップで得た計測行列の各行列要素にそれぞれ掛け合わせて得た値と、前記計測行列測定ステップで得た計測行列の各行列要素から交点座標値を差し引いた各座標値に係数δをそれぞれ掛け合わせて得た値を合わせた新たな行列要素とする行列分解データを生成し、前記情報復元ステップに戻り、誤差が一定値以下に収束するまで反復して、カメラ運動と３次元情報を復元することを特徴とする魚眼カメラ運動と３次元情報の復元方法。
【請求項２】
魚眼カメラなどの画像入力装置で取得した時系列の全方位画像または広視野画像中において、対象とする画像に配置した特徴点に関する画像座標値の時間的変化量から、時系列におけるカメラ視点の運動、並びに、外界の物体形状を構成する３次元情報を復元する方法であって、
画像入力装置が取得した全方位画像または広視野画像に対して、各画像座標値から得られる位相角と仰角により、各画像座標値をｕｖ座標値に変換して各画素値をそのｕｖ座標値に対応付けるように時系列ｕｖ画像を生成し、このｕｖ画像に設定した特徴点座標系において各画像における特徴点のｕｖ座標値を測定するｕｖ計測行列測定ステップと、
前記ｕｖ計測行列測定ステップで得た各ｕｖ座標値に対して、復元処理するための行列分解データを生成し、この行列分解データを特異値分解し、雑音除去を行って運動情報を表す行列データと３次元情報を表す行列データを得て、その運動情報において、運動を規定するために設定した条件を満足する変換行列を求め、運動情報を表す行列データにこの変換行列を作用させてカメラ視点に関する光軸となるＺ軸周りの回転運動と二軸のＸＹ軸方向の並進運動、並びに、３次元情報を表す行列データにこの変換行列の逆行列を作用させて物体形状を構成する３次元情報を復元する平面運動・３次元情報復元ステップと、
前記平面運動・３次元情報復元ステップで得た平面運動と３次元情報から各特徴点に関するｕｖ座標系での再投影値を求め、この再投影値と前記ｕｖ計測行列測定ステップで得た各特徴点のｕｖ座標値との間の誤差と、前記平面運動・３次元情報復元ステップで得た各特徴点のＺ座標値を使って、カメラ視点のＺ軸方向の並進運動を復元するＺ軸運動復元ステップと、
前記行列分解データの中から、光軸以外の他の軸周りの回転運動に寄与する成分を取り出し、それらの成分と、前記平面運動・３次元情報復元ステップとＺ軸運動復元ステップで復元した運動、並びに３次元情報を使って、光軸以外の他軸周りの回転運動を復元する回転運動復元ステップと、
前記Ｚ軸運動復元ステップで求めた誤差がある一定値以下に収束しているかどうかを判断し、もし、収束していないならば、平面運動と前記３次元情報の復元ステップで得たカメラ視点のＸＹ並進成分と３次元情報、並びに、光軸以外のＸＹ軸周りの回転角を使って、ｕｖ座標値を変形させる係数εを求め、前記平面運動と３次元情報の復元ステップで得た各特徴点の高さ情報と前記Ｚ軸並進運動復元ステップで得た各視点のＺ軸上の位置を使って、ｕｖ座標値をスケール変換する係数δを求め、前記係数εを計測行列測定ステップで得た計測行列の各行列要素にそれぞれ掛け合わせて得た値と、前記計測行列測定ステップで得た計測行列の各行列要素から交点座標値を差し引いた各座標値に前記係数δをそれぞれ掛け合わせて得た値を合わせた新たな行列要素とする行列分解データを生成し、前記情報復元ステップに戻り、誤差が一定値以下に収束するまで反復して、カメラ運動と３次元情報を復元することを特徴とする魚眼カメラ運動と３次元情報の復元方法。
【請求項３】
前記計測行列測定ステップにおいて、計測行列を特異値分解して得る特異値成分において、その成分から運動を表す判定値を算出し、その判定値がある一定値未満の場合は、平面運動と見なして光軸周りの回転とその光軸に垂直な平面上の運動からなる自由度３の平面運動と３次元情報を復元する処理を行い、判定値がある一定値以上の場合は、カメラに関する回転と並進運動からなる自由度６の運動と外界の３次元情報を復元することを特徴とする請求項１または２に記載の魚眼カメラ運動と３次元情報の復元方法。
【請求項４】
前記ｕｖ計測行列測定ステップにおいて、計測行列を特異値分解して得る特異値成分において、その成分から運動を表す判定値を算出し、その判定値がある一定値未満の場合は、平面運動と見なして光軸周りの回転とその光軸に垂直な平面上の運動からなる自由度３の平面運動と３次元情報を復元する処理を行い、判定値がある一定値以上の場合は、カメラに関する回転と並進運動からなる自由度６の運動と外界の３次元情報を復元することを特徴とする請求項１または２に記載の魚眼カメラ運動と３次元情報の復元方法。
【請求項５】
魚眼カメラなどの画像入力装置で取得した時系列の全方位画像または広視野画像中において、対象とする画像に配置した特徴点に関する画像座標値の時間的変化量から、時系列におけるカメラ視点の運動、並びに、外界の物体形状を構成する３次元情報を復元する装置であって、
外界の３次元座標値を、視点を中心とした球面に投影した座標値において、カメラの進行方向の直交方向成分を高さ方向成分で割った値、及びカメラの進行方向成分を高さ方向成分で割った値を、それぞれをｕ座標及びｖ座標とし、時系列の全方位画像または広視野画像に設定した特徴点座標系において、各画像における特徴点の画像座標値を得て、各画像座標値から算出される位相角と仰角により、その特徴点のｕｖ座標値を求める計測行列測定手段と、
前記計測行列測定手段で得た全ｕｖ座標値を用いて、復元処理するための行列分解データを生成し、この行列分解データを特異値分解し、雑音除去を行って運動情報を表す行列データと３次元情報を表す行列データを得て、その運動情報において、運動を規定するために設定した条件を満足する変換行列を求め、運動情報を表す行列データにこの変換行列を作用させてカメラ視点に関する光軸になるＺ軸周りの回転運動と二軸のＸＹ軸方向の並進運動を復元し、並びに、３次元情報を表す行列データにこの変換行列の逆行列を作用させて物体形状を構成する３次元情報を復元する平面運動・３次元情報復元手段と、
前記平面運動・３次元情報復元手段で得た平面運動と３次元情報から各特徴点に関するｕｖ座標系での再投影座標値を求め、この再投影座標値と前記計測行列測定手段で得た各特徴点のｕｖ座標値との間の誤差と、前記平面運動・３次元情報復元手段で得た各特徴点のＺ座標値を使って、カメラ視点のＺ軸方向の並進運動を復元するＺ軸運動復元手段と、
前記行列分解データの中から、光軸以外の他の軸周りの回転運動に寄与する成分を取り出し、それらの成分と前記平面運動・３次元情報復元手段とＺ軸運動復元手段で復元した運動、並びに３次元情報を使って、光軸以外の他軸周りの回転運動を復元する回転運動復元手段と、
前記Ｚ軸運動復元手段で求めた誤差がある一定値以下に収束しているかどうかを判断し、もし、収束していないならば、平面運動と３次元情報の復元手段で得たカメラ視点のＸＹ並進成分と３次元情報、並びに、光軸以外のＸＹ軸周りの回転角を使って、ｕｖ座標値を変形させる係数εを求め、前記平面運動と３次元情報の復元手段で得た各特徴点の高さ情報と前記Ｚ軸並進運動復元手段で得た各視点のＺ軸上の位置を使って、ｕｖ座標値をスケール変換する係数δを求め、係数εを前記計測行列測定手段で得た計測行列の各行列要素にそれぞれ掛け合わせて得た値と、前記計測行列測定手段で得た計測行列の各行列要素から交点座標値を差し引いた各座標値に係数δをそれぞれ掛け合わせて得た値を合わせた新たな行列要素とする行列分解データを生成し、前記情報復元手段に戻り、誤差が一定値以下に収束するまで反復して、カメラ運動と３次元情報を復元することを特徴とする魚眼カメラ運動と３次元情報の復元装置。
【請求項６】
魚眼カメラなどの画像入力装置で取得した時系列の全方位画像または広視野画像中において、対象とする画像に配置した特徴点に関する画像座標値の時間的変化量から、時系列におけるカメラ視点の運動、並びに、外界の物体形状を構成する３次元情報を復元する装置であって、
画像入力装置が取得した全方位画像または広視野画像に対して、各画像座標値から得られる位相角と仰角により、各画像座標値をｕｖ座標値に変換して各画素値をそのｕｖ座標値に対応付けるように時系列ｕｖ画像を生成し、このｕｖ画像に設定した特徴点座標系において各画像における特徴点のｕｖ座標値を測定するｕｖ計測行列測定手段と、
前記ｕｖ計測行列測定手段で得た各ｕｖ座標値に対して、復元処理するための行列分解データを生成し、この行列分解データを特異値分解し、雑音除去を行って運動情報を表す行列データと３次元情報を表す行列データを得て、その運動情報において、運動を規定するために設定した条件を満足する変換行列を求め、運動情報を表す行列データにこの変換行列を作用させてカメラ視点に関する光軸となるＺ軸周りの回転運動と二軸のＸＹ軸方向の並進運動、並びに、３次元情報を表す行列データにこの変換行列の逆行列を作用させて物体形状を構成する３次元情報を復元する平面運動・３次元情報復元手段と、
前記平面運動・３次元情報復元手段で得た平面運動と３次元情報から各特徴点に関するｕｖ座標系での再投影値を求め、この再投影値と前記ｕｖ計測行列測定手段で得た各特徴点のｕｖ座標値との間の誤差と、前記平面運動・３次元情報復元手段で得た各特徴点のＺ座標値を使って、カメラ視点のＺ軸方向の並進運動を復元するＺ軸運動復元手段と、
前記行列分解データの中から、光軸以外の他の軸周りの回転運動に寄与する成分を取り出し、それらの成分と、前記平面運動・３次元情報復元手段とＺ軸運動復元手段で復元した運動、並びに３次元情報を使って、光軸以外の他軸周りの回転運動を復元する回転運動復元手段と、
前記Ｚ軸運動復元手段で求めた誤差がある一定値以下に収束しているかどうかを判断し、もし、収束していないならば、平面運動と前記３次元情報の復元手段で得たカメラ視点のＸＹ並進成分と３次元情報、並びに、光軸以外のＸＹ軸周りの回転角を使って、ｕｖ座標値を変形させる係数εを求め、前記平面運動と３次元情報の復元手段で得た各特徴点の高さ情報と前記Ｚ軸並進運動復元手段で得た各視点のＺ軸上の位置を使って、ｕｖ座標値をスケール変換する係数δを求め、前記係数εを計測行列測定手段で得た計測行列の各行列要素にそれぞれ掛け合わせて得た値と、前記計測行列測定手段で得た計測行列の各行列要素から交点座標値を差し引いた各座標値に前記係数δをそれぞれ掛け合わせて得た値を合わせた新たな行列要素とする行列分解データを生成し、前記情報復元手段に戻り、誤差が一定値以下に収束するまで反復して、カメラ運動と３次元情報を復元することを特徴とする魚眼カメラ運動と３次元情報の復元装置。
【請求項７】
前記計測行列測定手段において、計測行列を特異値分解して得る特異値成分において、その成分から運動を表す判定値を算出し、その判定値がある一定値未満の場合は、平面運動と見なして光軸周りの回転とその光軸に垂直な平面上の運動からなる自由度３の平面運動と３次元情報を復元する処理を行い、判定値がある一定値以上の場合は、カメラに関する回転と並進運動からなる自由度６の運動と外界の３次元情報を復元することを特徴とする請求項５または６に記載の魚眼カメラ運動と３次元情報の復元装置。
【請求項８】
前記ｕｖ計測行列測定手段において、計測行列を特異値分解して得る特異値成分において、その成分から運動を表す判定値を算出し、その判定値がある一定値未満の場合は、平面運動と見なして光軸周りの回転とその光軸に垂直な平面上の運動からなる自由度３の平面運動と３次元情報を復元する処理を行い、判定値がある一定値以上の場合は、カメラに関する回転と並進運動からなる自由度６の運動と外界の３次元情報を復元することを特徴とする請求項５または６に記載の魚眼カメラ運動と３次元情報の復元装置。
【請求項９】
上記の請求項１〜４のいずれか１項に記載の魚眼カメラ運動と３次元情報の復元方法を、コンピュータで実行可能に記載したプログラムを記録したことを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、魚眼レンズを装着したカメラ（魚眼カメラ）を使って取得した車載画像または室内画像、船上からの海上画像、空撮などの時系列画像全般、さらに、魚眼カメラまたは魚眼レンズを装着したカメラを用いて手動撮影して取得した時系列画像から、魚眼カメラの視点に関するロール、ピッチ、ヨー回転から構成される三軸（ＸＹＺ）周りの回転運動、三軸（ＸＹＺ）方向の並進運動、並びに、時系列画像に写っている外界の３次元形状、すなわち、被写体（物体）の外観形状を構成する３次元情報を復元する方法および装置に関する。
【背景技術】
【０００２】
コンピュータビジョン分野では、時系列画像データから、対象物の形状を計測または獲得する手法には、ステレオ計測やエピポーラ面解析を用いた３次元解析手法がある。この手法によれば、物体が撮影されている複数の時系列画像から、空間形状または空間構造に関する３次元位置情報、並びに、カメラ視点に関する運動を復元することができる。しかし、移動手段などを利用して撮影カメラを動かしながら撮影した時系列映像においては、撮影時の環境、撮影カメラの微小な動きによりシームレスに映像取得が困難であり、時系列映像中にランダム性の雑音が混入し、カメラ運動や物体形状を正確に復元することが困難な場合がある。
【０００３】
このような問題に対して、画像面を平面とした直交座標系で表現できる画像座標値から、ユークリッド空間でのカメラ運動と物体形状を同時に、かつ、ロバストに復元する手法がある。例えば、取得する画像において特徴点をつけ、この特徴点を時系列に追跡して得た画像座標値から、カメラ運動と３次元情報を復元する手法がある（例えば、非特許文献１、２参照）。
【０００４】
これら文献（以下、文献［１］、［２］と呼ぶ）の方法では、式（Ａ１）に示すように、画像上において取得した時系列のｘｙ画像座標値（式（Ａ１）左辺）から、カメラ運動に関する行列（右辺の左側の行列、時系列に変換する行列要素）と３次元情報（Ｘ，Ｙ，Ｚ）に関する行列（右辺の右側の行列、時系列に不変的な行列要素）に分解する手法であり、この分解には特異値分解なる数学的手法が使われている。式（Ａ１）左辺は、文献［１］、［２］では、計測行列と呼ばれており、行方向は特徴点の数を、列方向にフレーム数を表す。（ｘij，ｙij）は第ｉフレームの第ｊ番目の特徴点の画像座標値となっている。
【０００５】
【数１】
2005078554.tif 000003
【０００６】
上記の文献［１］、［２］による方法では、式（Ａ１）左辺は画像から得られる２次元情報（あらかじめ各フレームの重心座標値を引いた２次元座標値としている）だけになっており、式（Ａ１）右辺の行列により行列演算する（線形演算する）ことで左辺の画像座標値が得られるという投影モデルに基づいている。
【０００７】
上記の方法には欠点もある。つまり、式（Ａ１）のように左辺で得られる画像座標値が右辺で表されるという形式、すなわち、投影モデルとはならない場合は、文献［１］、［２］を応用してカメラ運動と３次元情報を同時に復元することは難しい。さらに、有限画角のカメラを使用する場合、カメラの微小な回転運動を復元することが困難であり、文献［１］、［２］を応用しても並進と回転運動の判別が暖味となり、魚眼カメラの正確なカメラ運動と正確な３次元情報の復元ができない場合もある。
【０００８】
一方、有限画角の問題を回避するため、一度に３６０度の景観を取得する手段として、全方位カメラによる撮像が考えられる。全方位カメラは、そのカメラ光軸を鉛直上向きに設置して利用することが多く、全方位カメラ視点の姿勢推定や外界に関する空間計測には適する。また、全方位カメラの利用により、その微小な回転運動の復元も可能であり、並進運動と回転運動を双方とも正確に復元する点で優れている（例えば、非特許文献３、特許文献４を参照）。
【０００９】
全方位カメラにはミラーを双曲面に変形した反射光学系、または、錘体状に設計した反射光学系を利用したカメラが多い。これに対して、魚眼カメラは魚眼レンズ単体で全方位の画像を取得することができ、光学投影の関係も線形的であるという特長がある。このため、上記の非特許文献３、特許文献４（以下、文献［３］、［４］と呼ぶ）による復元方法ではカメラ運動と３次元情報の復元において、魚眼カメラの利用は計算コストを低減させる点で優れている。
【非特許文献１】C.Tomasi&T.Kanade;“Shapeand Motion from Image Streams Under Orthography:A Factorization Method"、International Journal of Computer Vision,Vol.9,No.2.1992
【非特許文献２】C.J.Poelman & T.Kanade;“A Paraperspective Factorization Method for Shape and Motion Recovery"、IEEE Trans.Pattern Anal.& Mach.Intell,Vol.19,No.3,pp.206-218.1997
【非特許文献３】宮川、若林、有川；“全方位投影型因子分解法による全方位画像からの運動と形状復元”、パターン認識・メディア理解（ＰＲＭＵ）研究会、June,2002
【特許文献４】宮川、小澤、若林、有川：“全方位カメラ視点運動並びに物体形状復元方法、装置、全方位カメラ視点運動並びに物体形状復元方法プログラム、及び、該プログラムを記録した記録媒体”、特願2002-71623
【発明の開示】
【発明が解決しようとする課題】
【００１０】
移動手段を使って、全方位カメラのような一度に３６０度の景観を映像化する撮影環境で取得した時系列画像において、ステレオ視の原理を応用した計測方法により、外界の物体の空間情報を獲得、復元できる。しかし、様々な撮影環境の中での移動撮影においては、カメラが微小に動くため、容易にシームレスな時系列画像を取得できず、ランダム性雑音の影響も大きく、常に、安定的に、カメラの動きと物体の形状を、同時に、かつ、高精度に復元することは困難である。
【００１１】
例えば、全方位カメラ（魚眼カメラ）で取得した時系列画像において、文献［３］［４］の手法を適用した場合、図１０に示すように、カメラの光軸回転（ヨー回転）以外にロール回転、ピッチ回転、さらには、Ｚ軸方向の並進運動が加わることで、正確な運動と３次元形状の復元は困難となる。
【００１２】
つまり、図１０に示すように、カメラは光軸を鉛直上向きに設置した姿勢で用いることが多く、このため、ヨー回転とＸＹ並進運動からなる自由度３の平面運動を復元することに主眼が置かれていた。
【００１３】
しかし、実環境においては、このような平面運動以外に、ロール回転、ピッチ回転、Ｚ軸並進運動を含む場合、カメラによる簡便な計算が使えず、カメラ運動と３次元形状を復元するための計算が複雑になり、上記のような全方位カメラに関する微小なカメラ姿勢変化を雑音と混在してしまい、正確に、かつ、ロバストに復元できない。これを魚眼カメラの投影モデルを例にして説明する。
【００１４】
魚眼レンズを装着したカメラを使って外界を撮像し、その得られた画像系列からカメラ視点の運動と３次元情報を復元しようとするとき、魚眼カメラの視点に関する運動と対象物の３次元座標値は、図１０の状況において、式（Ａ２）で関係付けられる。
【００１５】
【数２】
2005078554.tif 000004
【００１６】
式（Ａ２）の（ｘ'ij，ｙ'ij，ｚ'ij）は視点を原点とした単位球面座標値である。魚眼カメラの画像上へ投影されて得られる対象物（特徴点）の画像座標値として、式（Ｂ１）に示す（ｘij，ｙij）が観測できる。ｆは魚眼レンズの焦点距離であり、ＤはＤ＝πｆ／２Ｒで決まる定数（Ｒはイメージサークルの半径）、（Ｃｘ，Ｃｙ）は投影中心Ｃの画像座標値である。
【００１７】
式（Ａ２）の左辺には、画像座標値から直接得られないλijがあるが、時系列に依存する成分（サフィックスがｉのもの）と時系列に依存しない成分（サフィックスがｊのもの）に分離できないため、左辺においてある。右辺は４つの行列からなっているが、３つの回転行列を展開して１つの行列にして、式（Ａ１）右辺のカメラ運動に対応する行列とすることもできるが、式（Ａ２）そのものから分かるように、式（Ａ１）のように左辺だけに画像座標値から得た情報、右辺にはカメラ運動に対応する情報（サフィックスがｉのもの）と３次元情報に対応する情報（サフィックスがｊのもの）から、式（Ａ１）に示すような線形行列計算を行い、左辺の画像座標値を構成することは、投影モデルが複雑すぎて容易ではない。言い換えれば、式（Ａ２）に前記の文献［１］、［２］、［３］、［４］を応用してカメラ運動と３次元情報を復元することはできない。
【００１８】
さらに、これまでの監視カメラや画像計測などのアプリケーションでは、全方位カメラの利用形態が限られていた。通常、全方位カメラ（魚眼カメラ）は、図１０のように光軸を鉛直上向きの姿勢で使われることが多い。この図では、光軸とほぼ平行となる線分として、屋外では建物の高さ方向の垂直線分（室内では床から天井までの垂直線分）を画像中から抽出する（図１１参照）。この線分は、ロール回転、ピッチ回転がある程度の角度範囲の限定の下で、ある１点（交点Ａ）で交わるという性質を利用して、ロール回転・ピッチ回転に比例した座標値（Ｄｘ，Ｄｙ）を得ることができる。
【００１９】
しかし、屋外において魚眼カメラを使う場合、図１２に示すように、街路樹などの遮蔽物が映り込む場合がある。この図では、交点を求めるための線分を全画像において検出することは難しく、また、線分抽出において雑音が付加されると、交点の検出にも影響する。例えば、屋外では街路樹や信号機などがカメラの視点を遮るため、求める交点に寄与する直線だけを自動的に抽出することは難しい。特に市街地での撮影では、このような遮蔽物を無視することはできない。
【００２０】
このように、本発明が解決しようとする課題は、式（Ａ２）に示す投影モデルにおいて文献［３］、［４］を利用して、カメラ運動と３次元情報を同時に、かつ、ロバストに復元することと、図１１のようにロール回転とピッチ回転を反映した交点Ａを直線検出などの画像処理手法で求めず、画像中に設定した特徴点（遮蔽物についた特徴点も含む）の時間的動きだけから、ロール回転、ピッチ回転を求めるとともに、カメラ視点に関する運動と外界の３次元情報を同時に、かつ、雑音にロバストに復元することである。
【００２１】
また、計算アルゴリズムの点からも、時系列画像から運動と３次元情報を復元するには計算コストが高いという問題を本発明は解決することにある。
【課題を解決するための手段】
【００２２】
本発明は、文献［１］、［２］、［３］、［４］を応用することを前提に、式（Ａ２）においてカメラ運動に対して制限をつけ、その条件付きのカメラ運動で撮像した投影モデルを前提とする。すなわち、魚眼レンズを装着したカメラにおいて、式（Ａ２）においてｉ＝１，２，…，Ｆ；ｊ＝１，２，…，Ｐに行列展開した投影モデルにおいて、ロール回転、ピッチ回転が微小なとき、すなわち、ｃｏｓψ≒１、ｓｉｎψ≒ψ、ｃｏｓω≒１、ｓｉｎω≒ωとして、式（Ａ３）に変形すると、
【００２３】
【数３】
2005078554.tif 000005
【００２４】
となる。式（Ａ３）での（ｕij，ｖij）は本発明で定義しているｕｖ座標値であり、ｕij＝ｘij／ｚij、ｖij＝ｙij／ｚijである。この投影モデルでは、式（Ａ３）右辺を見るとわかるように、右辺左側の行列は時系列に依存する情報（カメラの運動に関する情報）であり、右辺右側の行列は時系列に依存しない不変な情報（外界の３次元情報）となっている。つまり、式（Ａ３）左辺は画像から得られる情報以外に、カメラ運動と３次元情報に関する情報がかかわっており、上記のカメラ運動を制限した場合においても、投影モデルは煩雑すぎて文献［１］、［２］、［３］、［４］を安易に応用し、カメラ運動と３次元情報を同時に復元することはできない。
【００２５】
本発明では、式（Ａ３）の投影モデルに基づき、ロール回転ωi、ピッチ回転ψi、ヨー回転θi、ＸＹＺ並進運動（Ｔｘi，Ｔｙi，Ｔｚi）；ｉ＝１，２，…，Ｆ（本発明が復元するカメラパラメータであり、単にカメラ運動と称する場合もある）、並びに外界の３次元情報（Ｘj，Ｙj，Ｚj）；ｊ＝１，２，…，Ｐ（以下、３次元情報とは、Ｐ個の特徴点に関する３次元座標値を指す）を復元するための復元処理方式とするものである。ただし、文献［１］、［２］、［３］、［４］を強制的に、式（Ａ３）の投影モデルに応用しない。
【００２６】
本発明では、式（Ａ３）を解くために、段階的な復元を繰り返し行うことで、近似的に、式（Ａ３）の投影モデルに基づいたカメラ運動と３次元情報を復元する。ここで、式（Ａ３）の投影モデルでは簡単にカメラ運動と３次元情報を復元することは困難なので、式（Ａ３）において初期化を行い、簡略化したモデルを使ってカメラ運動と３次元情報を復元する。まず、ロール回転、ピッチ回転を無視して、εij＝０，ｉ＝１,２,…,Ｆ、ｊ＝１,２,…,Ｐ、並びに（ζi,ηi）＝（０,０），ｉ＝１,２,…,Ｆとする。すると、
【００２７】
【数４】
2005078554.tif 000006
【００２８】
と簡略化できる。ところが、式（Ａ４）左辺にはＴｚi；ｉ＝１，２，…，ＦというＺ軸並進運動の成分とＺj；ｊ＝１，２，…，Ｐという３次元情報の高さ情報が含まれている。したがって、ｕｖ座標値からなる計測行列だけから式（Ａ４）右辺のようにカメラ運動と３次元情報に相当する情報を得ることができない。
【００２９】
本発明の平面運動・３次元情報復元手法では、式（Ａ４）において、まず、Ｚ軸並進運動が無いと見なした投影モデルを使って運動と３次元情報を復元する処理をする。つまり、文献［３］、［４］を応用するため、投影モデルを、
【００３０】
【数５】
2005078554.tif 000007
【００３１】
とする。式（Ａ５）は後に示す式（５ｂ）において後に示す式（６）の初期化を行うと、平面運動と３次元情報を復元するために処理する行列分解データとなる。この行列データ（計測行列）は計測行列測定ステップにて得られるものである。式（Ａ５）の左辺のｕｖ座標値（画像から求められる情報）からなる計測行列から、式（Ａ５）の投影モデルに基づき、式（Ａ５）右辺を文献［３］、［４］を応用して、カメラ運動（式（Ａ５）右辺の左側の行列は各フレームにおけるヨー回転、すなわち，図１０のＺ軸（光軸）周りの回転θと，図１０でのＸＹ並進運動（Ｔｘ,Ｔｙ）の成分を含んでおり、この自由度３の運動を平面運動と称する）と３次元情報を復元することができる。
【００３２】
式（Ａ５）は、文献［３］、［４］が利用している投影モデルであり、この場合、カメラは平面運動をすることを前提としている。つまり、ある面に対してカメラがロール回転、ピッチ回転、Ｚ軸並進の運動をしないことを前提とした投影モデルである。
【００３３】
本発明は、文献［３］、［４］を利用して、平面運動と３次元情報を復元し、式（Ａ５）と式（Ａ４）の間の誤差からＺ軸並進運動を復元し、さらに、これまでに復元したカメラ運動、３次元情報と、式（Ａ３）の投影モデルとの誤差からロール回転、ピッチ回転を復元する。このような処理を繰り返す中で，線形演算主体の文献［３］、［４］を利用して、式（Ａ３）の投影モデルに従って魚眼カメラのカメラ運動（図１０のロール回転、ピッチ回転、ヨー回転，ＸＹＺ並進運動）と外界の３次元情報（ＸＹＺ）を同時に、かつ、ロバストに復元する。
【００３４】
以上のことから、本発明は以下の方法、装置、および記録媒体を特徴とする。
【００３５】
（方法の発明）
（１）魚眼カメラなどの画像入力装置で取得した時系列の全方位画像または広視野画像中において、対象とする画像に配置した特徴点に関する画像座標値の時間的変化量から、時系列におけるカメラ視点の運動、並びに、外界の物体形状を構成する３次元情報を復元する方法であって、
外界の３次元座標値を、視点を中心とした球面に投影した座標値において、カメラの進行方向の直交方向成分を高さ方向成分で割った値、及びカメラの進行方向成分を高さ方向成分で割った値を、それぞれをｕ座標及びｖ座標とし、時系列の全方位画像または広視野画像に設定した特徴点座標系において、各画像における特徴点の画像座標値を得て、各画像座標値から算出される位相角と仰角により、その特徴点のｕｖ座標値を求める計測行列測定ステップと、
前記計測行列測定ステップで得た全ｕｖ座標値を用いて、復元処理するための行列分解データを生成し、この行列分解データを特異値分解し、雑音除去を行って運動情報を表す行列データと３次元情報を表す行列データを得て、その運動情報において、運動を規定するために設定した条件を満足する変換行列を求め、運動情報を表す行列データにこの変換行列を作用させてカメラ視点に関する光軸になるＺ軸周りの回転運動と二軸のＸＹ軸方向の並進運動を復元し、並びに、３次元情報を表す行列データにこの変換行列の逆行列を作用させて物体形状を構成する３次元情報を復元する平面運動・３次元情報復元ステップと、
前記平面運動・３次元情報復元ステップで得た平面運動と３次元情報から各特徴点に関するｕｖ座標系での再投影座標値を求め、この再投影座標値と前記計測行列測定ステップで得た各特徴点のｕｖ座標値との間の誤差と、前記平面運動・３次元情報復元ステップで得た各特徴点のＺ座標値を使って、カメラ視点のＺ軸方向の並進運動を復元するＺ軸運動復元ステップと、
前記行列分解データの中から、光軸以外の他の軸周りの回転運動に寄与する成分を取り出し、それらの成分と前記平面運動・３次元情報復元ステップとＺ軸運動復元ステップで復元した運動、並びに３次元情報を使って、光軸以外の他軸周りの回転運動を復元する回転運動復元ステップと、
前記Ｚ軸運動復元ステップで求めた誤差がある一定値以下に収束しているかどうかを判断し、もし、収束していないならば、平面運動と３次元情報の復元ステップで得たカメラ視点のＸＹ並進成分と３次元情報、並びに、光軸以外のＸＹ軸周りの回転角を使って、ｕｖ座標値を変形させる係数εを求め、前記平面運動と３次元情報の復元ステップで得た各特徴点の高さ情報と前記Ｚ軸並進運動復元ステップで得た各視点のＺ軸上の位置を使って、ｕｖ座標値をスケール変換する係数δを求め、係数εを前記計測行列測定ステップで得た計測行列の各行列要素にそれぞれ掛け合わせて得た値と、前記計測行列測定ステップで得た計測行列の各行列要素から交点座標値を差し引いた各座標値に係数δをそれぞれ掛け合わせて得た値を合わせた新たな行列要素とする行列分解データを生成し、前記情報復元ステップに戻り、誤差が一定値以下に収束するまで反復して、カメラ運動と３次元情報を復元することを特徴とする。
【００３６】
（２）魚眼カメラなどの画像入力装置で取得した時系列の全方位画像または広視野画像中において、対象とする画像に配置した特徴点に関する画像座標値の時間的変化量から、時系列におけるカメラ視点の運動、並びに、外界の物体形状を構成する３次元情報を復元する方法であって、
画像入力装置が取得した全方位画像または広視野画像に対して、各画像座標値から得られる位相角と仰角により、各画像座標値をｕｖ座標値に変換して各画素値をそのｕｖ座標値に対応付けるように時系列ｕｖ画像を生成し、このｕｖ画像に設定した特徴点座標系において各画像における特徴点のｕｖ座標値を測定するｕｖ計測行列測定ステップと、
前記ｕｖ計測行列測定ステップで得た各ｕｖ座標値に対して、復元処理するための行列分解データを生成し、この行列分解データを特異値分解し、雑音除去を行って運動情報を表す行列データと３次元情報を表す行列データを得て、その運動情報において、運動を規定するために設定した条件を満足する変換行列を求め、運動情報を表す行列データにこの変換行列を作用させてカメラ視点に関する光軸となるＺ軸周りの回転運動と二軸のＸＹ軸方向の並進運動、並びに、３次元情報を表す行列データにこの変換行列の逆行列を作用させて物体形状を構成する３次元情報を復元する平面運動・３次元情報復元ステップと、
前記平面運動・３次元情報復元ステップで得た平面運動と３次元情報から各特徴点に関するｕｖ座標系での再投影値を求め、この再投影値と前記ｕｖ計測行列測定ステップで得た各特徴点のｕｖ座標値との間の誤差と、前記平面運動・３次元情報復元ステップで得た各特徴点のＺ座標値を使って、カメラ視点のＺ軸方向の並進運動を復元するＺ軸運動復元ステップと、
前記行列分解データの中から、光軸以外の他の軸周りの回転運動に寄与する成分を取り出し、それらの成分と、前記平面運動・３次元情報復元ステップとＺ軸運動復元ステップで復元した運動、並びに３次元情報を使って、光軸以外の他軸周りの回転運動を復元する回転運動復元ステップと、
前記Ｚ軸運動復元ステップで求めた誤差がある一定値以下に収束しているかどうかを判断し、もし、収束していないならば、平面運動と前記３次元情報の復元ステップで得たカメラ視点のＸＹ並進成分と３次元情報、並びに、光軸以外のＸＹ軸周りの回転角を使って、ｕｖ座標値を変形させる係数εを求め、前記平面運動と３次元情報の復元ステップで得た各特徴点の高さ情報と前記Ｚ軸並進運動復元ステップで得た各視点のＺ軸上の位置を使って、ｕｖ座標値をスケール変換する係数δを求め、前記係数εを計測行列測定ステップで得た計測行列の各行列要素にそれぞれ掛け合わせて得た値と、前記計測行列測定ステップで得た計測行列の各行列要素から交点座標値を差し引いた各座標値に前記係数δをそれぞれ掛け合わせて得た値を合わせた新たな行列要素とする行列分解データを生成し、前記情報復元ステップに戻り、誤差が一定値以下に収束するまで反復して、カメラ運動と３次元情報を復元することを特徴とする。
【００３７】
（３）前記計測行列測定ステップにおいて、計測行列を特異値分解して得る特異値成分において、その成分から運動を表す判定値を算出し、その判定値がある一定値未満の場合は、平面運動と見なして光軸周りの回転とその光軸に垂直な平面上の運動からなる自由度３の平面運動と３次元情報を復元する処理を行い、判定値がある一定値以上の場合は、カメラに関する回転と並進運動からなる自由度６の運動と外界の３次元情報を復元することを特徴とする。
【００３８】
（４）前記ｕｖ計測行列測定ステップにおいて、計測行列を特異値分解して得る特異値成分において、その成分から運動を表す判定値を算出し、その判定値がある一定値未満の場合は、平面運動と見なして光軸周りの回転とその光軸に垂直な平面上の運動からなる自由度３の平面運動と３次元情報を復元する処理を行い、判定値がある一定値以上の場合は、カメラに関する回転と並進運動からなる自由度６の運動と外界の３次元情報を復元することを特徴とする。
【００３９】
（装置の発明）
（５）魚眼カメラなどの画像入力装置で取得した時系列の全方位画像または広視野画像中において、対象とする画像に配置した特徴点に関する画像座標値の時間的変化量から、時系列におけるカメラ視点の運動、並びに、外界の物体形状を構成する３次元情報を復元する装置であって、
外界の３次元座標値を、視点を中心とした球面に投影した座標値において、カメラの進行方向の直交方向成分を高さ方向成分で割った値、及びカメラの進行方向成分を高さ方向成分で割った値を、それぞれをｕ座標及びｖ座標とし、時系列の全方位画像または広視野画像に設定した特徴点座標系において、各画像における特徴点の画像座標値を得て、各画像座標値から算出される位相角と仰角により、その特徴点のｕｖ座標値を求める計測行列測定手段と、
前記計測行列測定手段で得た全ｕｖ座標値を用いて、復元処理するための行列分解データを生成し、この行列分解データを特異値分解し、雑音除去を行って運動情報を表す行列データと３次元情報を表す行列データを得て、その運動情報において、運動を規定するために設定した条件を満足する変換行列を求め、運動情報を表す行列データにこの変換行列を作用させてカメラ視点に関する光軸になるＺ軸周りの回転運動と二軸のＸＹ軸方向の並進運動を復元し、並びに、３次元情報を表す行列データにこの変換行列の逆行列を作用させて物体形状を構成する３次元情報を復元する平面運動・３次元情報復元手段と、
前記平面運動・３次元情報復元手段で得た平面運動と３次元情報から各特徴点に関するｕｖ座標系での再投影座標値を求め、この再投影座標値と前記計測行列測定手段で得た各特徴点のｕｖ座標値との間の誤差と、前記平面運動・３次元情報復元手段で得た各特徴点のＺ座標値を使って、カメラ視点のＺ軸方向の並進運動を復元するＺ軸運動復元手段と、
前記行列分解データの中から、光軸以外の他の軸周りの回転運動に寄与する成分を取り出し、それらの成分と前記平面運動・３次元情報復元手段とＺ軸運動復元手段で復元した運動、並びに３次元情報を使って、光軸以外の他軸周りの回転運動を復元する回転運動復元手段と、
前記Ｚ軸運動復元手段で求めた誤差がある一定値以下に収束しているかどうかを判断し、もし、収束していないならば、平面運動と３次元情報の復元手段で得たカメラ視点のＸＹ並進成分と３次元情報、並びに、光軸以外のＸＹ軸周りの回転角を使って、ｕｖ座標値を変形させる係数εを求め、前記平面運動と３次元情報の復元手段で得た各特徴点の高さ情報と前記Ｚ軸並進運動復元手段で得た各視点のＺ軸上の位置を使って、ｕｖ座標値をスケール変換する係数δを求め、係数εを前記計測行列測定手段で得た計測行列の各行列要素にそれぞれ掛け合わせて得た値と、前記計測行列測定手段で得た計測行列の各行列要素から交点座標値を差し引いた各座標値に係数δをそれぞれ掛け合わせて得た値を合わせた新たな行列要素とする行列分解データを生成し、前記情報復元手段に戻り、誤差が一定値以下に収束するまで反復して、カメラ運動と３次元情報を復元することを特徴とする。
【００４０】
（６）魚眼カメラなどの画像入力装置で取得した時系列の全方位画像または広視野画像中において、対象とする画像に配置した特徴点に関する画像座標値の時間的変化量から、時系列におけるカメラ視点の運動、並びに、外界の物体形状を構成する３次元情報を復元する装置であって、
画像入力装置が取得した全方位画像または広視野画像に対して、各画像座標値から得られる位相角と仰角により、各画像座標値をｕｖ座標値に変換して各画素値をそのｕｖ座標値に対応付けるように時系列ｕｖ画像を生成し、このｕｖ画像に設定した特徴点座標系において各画像における特徴点のｕｖ座標値を測定するｕｖ計測行列測定手段と、
前記ｕｖ計測行列測定手段で得た各ｕｖ座標値に対して、復元処理するための行列分解データを生成し、この行列分解データを特異値分解し、雑音除去を行って運動情報を表す行列データと３次元情報を表す行列データを得て、その運動情報において、運動を規定するために設定した条件を満足する変換行列を求め、運動情報を表す行列データにこの変換行列を作用させてカメラ視点に関する光軸となるＺ軸周りの回転運動と二軸のＸＹ軸方向の並進運動、並びに、３次元情報を表す行列データにこの変換行列の逆行列を作用させて物体形状を構成する３次元情報を復元する平面運動・３次元情報復元手段と、
前記平面運動・３次元情報復元手段で得た平面運動と３次元情報から各特徴点に関するｕｖ座標系での再投影値を求め、この再投影値と前記ｕｖ計測行列測定手段で得た各特徴点のｕｖ座標値との間の誤差と、前記平面運動・３次元情報復元手段で得た各特徴点のＺ座標値を使って、カメラ視点のＺ軸方向の並進運動を復元するＺ軸運動復元手段と、
前記行列分解データの中から、光軸以外の他の軸周りの回転運動に寄与する成分を取り出し、それらの成分と、前記平面運動・３次元情報復元手段とＺ軸運動復元手段で復元した運動、並びに３次元情報を使って、光軸以外の他軸周りの回転運動を復元する回転運動復元手段と、
前記Ｚ軸運動復元手段で求めた誤差がある一定値以下に収束しているかどうかを判断し、もし、収束していないならば、平面運動と前記３次元情報の復元手段で得たカメラ視点のＸＹ並進成分と３次元情報、並びに、光軸以外のＸＹ軸周りの回転角を使って、ｕｖ座標値を変形させる係数εを求め、前記平面運動と３次元情報の復元手段で得た各特徴点の高さ情報と前記Ｚ軸並進運動復元手段で得た各視点のＺ軸上の位置を使って、ｕｖ座標値をスケール変換する係数δを求め、前記係数εを計測行列測定手段で得た計測行列の各行列要素にそれぞれ掛け合わせて得た値と、前記計測行列測定手段で得た計測行列の各行列要素から交点座標値を差し引いた各座標値に前記係数δをそれぞれ掛け合わせて得た値を合わせた新たな行列要素とする行列分解データを生成し、前記情報復元手段に戻り、誤差が一定値以下に収束するまで反復して、カメラ運動と３次元情報を復元することを特徴とする。
【００４１】
（７）前記計測行列測定手段において、計測行列を特異値分解して得る特異値成分において、その成分から運動を表す判定値を算出し、その判定値がある一定値未満の場合は、平面運動と見なして光軸周りの回転とその光軸に垂直な平面上の運動からなる自由度３の平面運動と３次元情報を復元する処理を行い、判定値がある一定値以上の場合は、カメラに関する回転と並進運動からなる自由度６の運動と外界の３次元情報を復元することを特徴とする。
【００４２】
（８）前記ｕｖ計測行列測定手段において、計測行列を特異値分解して得る特異値成分において、その成分から運動を表す判定値を算出し、その判定値がある一定値未満の場合は、平面運動と見なして光軸周りの回転とその光軸に垂直な平面上の運動からなる自由度３の平面運動と３次元情報を復元する処理を行い、判定値がある一定値以上の場合は、カメラに関する回転と並進運動からなる自由度６の運動と外界の３次元情報を復元することを特徴とする。
【００４３】
（記録媒体の発明）
（９）上記の（１）〜（４）のいずれか１項に記載の魚眼カメラ運動と３次元情報の復元方法を、コンピュータで実行可能に記載したプログラムを記録したことを特徴とする。
【発明の効果】
【００４４】
本発明によれば、魚眼カメラを使って取得した時系列画像全般（移動手段を利用して撮影した車載画像、海上画像、空撮画像、屋内画像、さらには、魚眼カメラや魚眼レンズを装着したカメラを手動撮影により取得した時系列画像）から、対象物に関する物体形状を高精度に獲得、復元することが可能となる。また、これまでの測量技術並の高精度な３次元計測が可能である。
【００４５】
また、本発明は、車載カメラなどは走行中の振動がある状態においても雑音にロバストに、カメラ姿勢の微小な変動（三軸周り回転運動）、並びに、ＧＰＳなどのリモートセンサを補間する精度の三軸方向の並進運動を正確に計測することが可能となる。
【００４６】
また、本発明では、利用する計算処理が大半が線形演算で構成されるため、コンピュータ言語での実装が容易である。
【００４７】
また、本発明では、全方位カメラを使った画像計測などのアプリケーションにおいて、魚眼カメラの光軸を鉛直上向きにした姿勢を前提としてない。つまり、魚眼カメラを鉛直上向きの姿勢に向けずに用いる場合（図１３）で取得した時系列画像にも適用でき、カメラの運動（三軸周りの回転と三軸方向の並進運動）と３次元情報を同時に、かつ、ロバストに復元することができる。
【発明を実施するための最良の形態】
【００４８】
（実施形態１）
図１は請求項１等の発明に関する基本構成図である。本実施形態では、等距離投影（光軸からの入射角に比例した投影）で光学的に設計された魚眼レンズを使用した魚眼カメラ（以降、カメラ）の場合で説明するが、他の投影（立体角投影、等立体角投影）で設計された魚眼レンズを使用した魚眼カメラ撮像装置で取得した時系列画像に対しても適用可能である。
【００４９】
図１０において、本発明で復元する対象の空間中の点Ｐ（Ｘj，Ｙj，Ｚj）と、カメラの運動、すなわち、ロール回転（ωi）、ピッチ回転（ψi）、ヨー回転（θi）、並びに、並進運動Ｔi（Ｔｘi，Ｔｙi，Ｔｚi）を説明する。図１０は、カメラと対象物（被写体）との位置関係を表しており、説明の都合上、カメラが進行する軸をＹ軸とする。カメラは、並進運動（Ｔｘi，Ｔｙi，Ｔｚi）で移動しながら、ロール回転（ωi）、ピッチ回転（ψi）、ヨー回転（θi）の回転をする。このとき、カメラ光軸をＺ軸方向とする。
【００５０】
また、投影中心Ｃの位置（視点位置Ｔi）は運動の中心であり、第ｉフレームでの並進運動をＴi（Ｔｘi，Ｔｙi，Ｔｚi）の位置とする。さらに、進行軸周りの回転をロール回転（Ｙ軸周りの回転）、カメラ光軸周りの回転をヨー回転（Ｚ軸周りの回転）、カメラ光軸と進行軸で張られる面の法線周りの回転をピッチ回転（Ｘ軸周りの回転）とする。
【００５１】
一方、空間中の点Ｐ（Ｘj，Ｙj，Ｚj）は、イメージサークル内の画像面において画像座標値（ｘij，ｙij）へ投影されるとする。式（１）は等距離投影と呼ばれる光学的投影であり、図１０の位相角ρijは、画像座標値（ｘij，ｙij）から、式（２）を使って得ることができる。式（１）において、ｆは魚眼レンズの焦点距離であり、Ｄは、Ｄ＝πｆ／（２Ｒ）で決まる定数である。ただし、Ｒは図１０に示すイメージサークルの半径である。また、図１０では画像面での投影中心Ｃの画像座標値を（Ｃｘ、Ｃｙ）としている。
【００５２】
【数６】
2005078554.tif 000008
【００５３】
次に、図１の基本構成について説明する。本発明は、全方位画像を蓄積した時系列データベース１、各画像における特徴点の座標値を測定する特徴点計測部２、この計測部で得た画像座標値をｕｖ画像に変換する計測行列変換部３、ｕｖ座標値を行列要素とする行列を初期値として与える計測行列入力部４、これらの入力データから因子分解法によりカメラの運動と外界の３次元情報を復元する因子分解法処理部５から構成される。因子分解法処理部５は、平面運動・３次元情報復元部５Ａ、Ｚ軸運動復元部５Ｂ、回転運動復元部５Ｃから構成される。
【００５４】
この構成において、時系列画像データベース１には、ハードディスク、ＲＡＩＤ装置、ＣＤ−ＲＯＭなどの記録媒体を利用する、または、ネットワークを介したリモートなデータ資源を利用する形態でもどちらでも構わない。さらに、また、図１ａは画像入力部１Ａを有してリアルタイムで処理する場合の処理構成図であり、本発明は必ずしも各データベース部などの記憶装置を必要としない。
【００５５】
まず、特徴点計測部２において、景観を撮影した全方位画像を時系列画像データベース１から取り出し、全方位画像上に特徴点を設定する。この特徴点設定には、濃淡の１次元的、または、２次元的変化による勾配値が大きくなる画素の検出（エッジ検出など）、Ｃａｎｎｙオペレータ、ハフ変換などの画像処理手法により特徴点を自動的に発生させる。または、作業者が介在して適当に特徴点をマークするなどして初期画像上に特徴点を配置しても構わない。
【００５６】
このとき配置する特徴点の数をＰ個（ｊ＝１，２，…，Ｐ）とし、配置したときの特徴点の２次元座標値として、図１０での画像座標系での原点からの座標値（ｘ1j，ｙ1j）；ｊ＝１，２，…，Ｐを記録しておく。次に、初期画像に続く時系列画像をデータベースから１枚ずつ読み込み、初期画像に配置した特徴点を、時系列画像間の濃淡の変化に着目した手法、特徴点を中心とした画素パターンを各フレーム間で追跡する方法（例えば、ＫＬＴ法：Ｋａｎａｄｅ−Ｌｕｃａｓ−Ｔｏｍａｓｉ法）、または、全方位画像特有の投影歪みを考慮した手法を駆使して追跡し、各時系列画像（初期画像から第ｉ番目の画像）の特徴点の画像座標値として、図１０での画像座標系での原点からの２次元座標値（ｘ1j，ｙ1j）を記録する。時系列画像を読み出し続けた場合、特徴点が画像間で消失やオクルージョンにより消失してしまったときは追跡を停止し、特徴点追跡を終了する。特徴点追跡が終了した時点で、読み出した時系列画像の数は、初期画像を含めてＦ枚とする（ｉ＝１，２，…，Ｆ）。特徴点計測部２では、各時系列画像における特徴点の時間的な画像座標的配置の変化量は式（３）のデータ形式に配列して、計測行列［Ａ］を保持しておく。
【００５７】
【数７】
2005078554.tif 000009
【００５８】
次に、計測行列変換部３では、特徴点計測部２で取得した画像座標値を要素とする計測行列［Ａ］から、第ｉフレームでの第ｊ番目の特徴点の画像座標値（ｘij，ｙij）を取り出する。さらに、投影中心（Ｃｘ，Ｃｙ）を原点とした相対的な画像座標値に一時変換し、式（１）（２）を使って位相角ρijと仰角φijを求める。この位相角と仰角から式（４）の変換により座標変換し、ｕｖ座標値（ｕij，ｖij）を得る。
【００５９】
【数８】
2005078554.tif 000010
【００６０】
ここで、本発明におけるｕｖ変換とｕｖ座標値の物理的意味を説明しておく。外界の３次元座標値（Ｘ，Ｙ，Ｚ）を視点Ｔｉを中心とした半径１の半球面に投影すると（Ｘ'，Ｙ'，Ｚ'）＝（ｃｏｓ（Φ）ｃｏｓ（ρ）、ｃｏｓ（Φ）ｓｉｎ（ρ），ｓｉｎ（Φ））と表される。ただし、球面座標系では図１０においてＺ軸からの角をΦとして（ｓｉｎ（Φ）ｃｏｓ（ρ）、ｓｉｎ（Φ）ｓｉｎ（ρ），ｃｏｓ（Φ））と表すが、本実施形態では、図１０での視点から３次元座標値（Ｘ，Ｙ，Ｚ）を見上げたときの仰角をΦとして、（ｓｉｎ（π／２−Φ）ｃｏｓ（ρ），ｓｉｎ（π／２−Φ）ｓｉｎ（ρ），ｃｏｓ（π／２−Φ））＝（ｃｏｓ（Φ）ｃｏｓ（ρ），ｃｏｓ（Φ）ｓｉｎ（ρ），ｓｉｎ（Φ））と表している。
【００６１】
ｕｖ座標値はこの単位球面座標値（Ｘ'，Ｙ'，Ｚ'）から、（ｕ,ｖ）＝（Ｘ’／Ｚ’，Ｙ’／Ｚ’）で得られる。また、図１４に、魚眼カメラが撮像した画像の例を挙げる。これを図４に従ってｕｖ座標値に変換して、図５に示したｕｖ画像を生成した例を図１５に示す。図１５に示すように、本座標変換では、仰角Φが小さい特徴点（建物の底辺に近い点）ほどｖ軸から遠ざかる点に、測定誤差が強調されて変換される。すなわち、同じ操作により特徴点を測定した場合、ｘｙ画像平面上では分かりづらい誤差などがｕｖ平面ではより正確に把握できるようになる。したがって、この強調された誤差が最小となるようにカメラ視点の運動および３次元座標値を求めれば、やはり高精度に計測ができる。さらに、ｕｖ平面において、ロール回転運動はｕ方向の座標移動、ピッチ回転運動はｖ方向の座標移動、Ｚ軸並進運動はｕｖ座標系におけるスケール変換に簡略的に換算できるため、ｘｙ平面よりもロール回転、ピッチ回転、Ｚ軸並進運動の判別が比較的容易となる。この判別の容易性を利用して、本発明では反復的に変形係数を使ってｕｖ座標値を変形させて、繰り返しカメラ運動と３次元座標値の復元を続けることで、より高精度なカメラ運動と３次元座標値を復元することが可能となっている。
【００６２】
このように、全方位画像において雑音の影響などにより正確に運動と３次元形状を復元できなかったという問題に対して、全方位画像をｕｖ座標値で表される画像に変換することで、画像雑音の影響をより鮮明に浮き立たせる効果があり、雑音に埋もれることなく、この変換を行うことで、微小なカメラの回転運動を含むカメラ運動、並びに、３次元情報の復元がし易くなるように好適に作用する。
【００６３】
上記のｕｖ変換を全フレーム、全特徴点に対して行う。変換後のデータ形式として、式（５ａ）に示す要素形式の行列［Ｂ］を、計測行列入力部において行列［Ｂ］の初期値として保持しておく。行列［Ｂ］の行列形式（行列要素の配置）は、文献［３］、［４］に用いられる計測行列と呼ばれる行列である。
【００６４】
【数９】
2005078554.tif 000011
【００６５】
次に、因子分解法処理部５における処理概要を説明する。この処理部は３つの処理部から構成（平面運動・３次元情報復元部５Ａ、Ｚ軸運動復元部５Ｂ、回転運動復元部５Ｃ）されている。図２はこの処理部における処理フローとなっている。まず、係数εij、δijを式（６）に従って初期化し、並びに、（ζi，ηi）＝（０，０），ｉ＝１，２，…，Ｆと初期化する。次に、初期値の行列［Ｂ］から、式（５ｂ）に示す行列分解データを生成しておき、これを改めて行列［Ｂ］として保持しておく（計測行列入力部４に保持してある初期値の行列［Ｂ］は上書きせず、図２の処理が終了するまで保持しておく）。これが図２での行列分解データである。
【００６６】
【数１０】
2005078554.tif 000012
【００６７】
【数１１】
2005078554.tif 000013
【００６８】
平面運動・３次元情報復元ステップでは、特異値分解では式（７）に示す３つの行列［Ｕ］、［Ｗ］、［Ｖ］に行列分解する。ここで、［Ｕ］は２Ｆ×Ｐサイズの行列、［Ｗ］はＰ×Ｐサイズの対角行列、［Ｖ］はＰ×Ｐサイズの行列である。
【００６９】
【数１２】
2005078554.tif 000014
【００７０】
さらに、図２の雑音除去において、式（８）の第二項に示すように、ランク４以上の各行列の成分を削除する。
【００７１】
【数１３】
2005078554.tif 000015
【００７２】
この削除のときは、行列［Ｕ］を取り出し、この行列の要素において第４から第Ｐ列目までを削除し、残りの成分からなる行列を保持し、行列［Ｗ］を取り出し、この行列の要素において第４から第Ｐ行目並びに第４から第Ｐ列目までを削除し、残りの成分からなる行列を保持し、行列［Ｖ］を取り出し、この行列の要素において第４から第Ｐ行目までを削除し、残りの成分からなる行列をそれぞれ保持する（式（９））。
【００７３】
【数１４】
2005078554.tif 000016
【００７４】
次に、第４から第Ｐ行目並びに第４から第Ｐ列目までを削除した行列［Ｗ］の対角要素の平方をとった行列から、式（１０）（１１）に示す行列［Ｕ'］と行列［Ｖ'］を得る。
【００７５】
【数１５】
2005078554.tif 000017
【００７６】
【数１６】
2005078554.tif 000018
【００７７】
図２の次処理の変換行列算出では、保持してある行列［Ｕ'］を取り出し、式（１２ａ）〜（１２ｃ）で得られる値を行列要素にもつ式（１３）で示す行列［Ｄ］を準備し、この行列［Ｄ］と式（１４）に示す計算を行い値ａ，ｂ，ｃ，ｄ，ｅ，ｆを求める。なお、式（１４）の右辺の最後の行列は１の値を上から２Ｆ個、続けて０の値をＦ個並べた３Ｆ×１の列ベクトルである。
【００７８】
【数１７】
2005078554.tif 000019
【００７９】
【数１８】
2005078554.tif 000020
【００８０】
【数１９】
2005078554.tif 000021
【００８１】
上記の値ａ，ｂ，ｃ，ｄ，ｅ，ｆを式（１５）に示す要素に入れた行列［Ｃ］を用意し、この行列［Ｃ］を式（１６）に示すように固有値分解する。ここで、固有値行列の平方と固有値行列から、式（１７）の行列［Ｃ'］を生成し、この行列要素を成分にもつ行列［Ｑ］を式（１８）に従って算出する。
【００８２】
【数２０】
2005078554.tif 000022
【００８３】
【数２１】
2005078554.tif 000023
【００８４】
【数２２】
2005078554.tif 000024
【００８５】
【数２３】
2005078554.tif 000025
【００８６】
次に、式（Ａ５）の投影モデル式に基づいて、式（Ａ５）右辺左側の行列を式（１９）で得られる行列［Ｍ'］に，式（Ａ５）右辺右側の行列を式（２２）で得られる行列［Ｓ'］とする。この対応付けにより、式（１９）の行列成分から，式（２０）の計算によりヨー回転角θを、式（２１）からＸＹ並進運動を復元することができる。
【００８７】
【数２４】
2005078554.tif 000026
【００８８】
【数２５】
2005078554.tif 000027
【００８９】
一方，式（Ａ５）右辺右側の行列と行列［Ｓ'］の対応付けにより、式（２２）にしたがってユークリッド空間での３次元情報（Ｘ，Ｙ，Ｚ）を復元することができる。すなわち、求めた行列［Ｑ］と保持しておいた行列［Ｕ'］から、式（１９）の行列演算により行列［Ｍ'］を計算する．行列［Ｍ'］から各フレーム（第ｉフレーム）の行列要素（ｍix,ｎix）または（ｍiy,ｎiy）を取り出し，式（２０）を使って、ヨー回転θi，ｉ＝１，２，…，Ｆを復元する。また、行列［Ｍ'］から各フレーム（第ｉフレーム）の行列要素（Ｔiu,Ｔiv）を取り出す。この（Ｔiu，Ｔiv）から、式（２１）を使って第ｉフレームにおけるユークリッド空間でのＸＹ並進運動（Ｔｘi,Ｔｙi），ｉ＝１，２，…，Ｆを計算する。
【００９０】
一方、３次元情報復元では，先に保持しておいた行列［Ｖ'］と、変換行列算出で得られた行列［Ｑ］から、式（２２）に示す行列演算を行い，行列［Ｓ'］を求める。次に、行列［Ｓ'］の要素に対して、式（２３）に示す計算を行い，これを要素とする行列を［Ｐ］とする。行列を［Ｐ］の列ベクトルは、それぞれ第ｊ番目の特徴点のユークリッド空間での３次元座標直（Ｘj，Ｙj，Ｚj）になっている。
【００９１】
【数２６】
2005078554.tif 000028
【００９２】
ここまでの処理では、式（Ａ５）の投影モデルを使って平面運動と３次元情報を復元しているため、式（Ａ４）の投影モデルで処理する場合と比べて、Ｚ軸並進運動成分（Ｔｚi）が式（９）の処理の段階で雑音成分と見なされ削除されている、つまり、ロール回転、ピッチ回転、Ｚ軸並進運動は“無いと見なして”、平面運動と３次元情報だけを復元している。
【００９３】
次のＺ軸運動復元ステップでは、εij，ｉ＝１，２，…，Ｆ；ｊ＝１，２，…，Ｐ並びに、（ζi，ηi）＝（０，０），ｉ＝１，２，…，Ｆとして、ロール回転とピッチ回転を無視して、式（Ａ４）の投影モデルを使って、まだ復元しないＺ軸並進運動（Ｔｚi）を復元する。そこで、式（９）で削除したランク４以降の成分、すなわち、
【００９４】
【数２７】
2005078554.tif 000029
【００９５】
を含めて，このステップでは、式（Ａ４）の投影モデルに戻ってＺ軸並進運動を復元する。これが実現できる原理について，以下に数式を交えて説明する。
【００９６】
式（Ａ５）だけを使って（Ｚ軸並進運動を無視して）平面運動と３次元情報を復元すると、式（２４）、（２５）に示す成分の誤差が発生する。この誤差の中から式（Ａ４）でのＺ軸の並進成分を抽出する。
【００９７】
【数２８】
2005078554.tif 000030
【００９８】
式（Ａ４）において、ｉフレームのｊ番目の特徴点に関する投影モデルだけを抜き出すと、
【００９９】
【数２９】
2005078554.tif 000031
【０１００】
と表される。つまり、Ｚ軸並進運動Ｔｚi，ｉ＝１，２，…，Ｆに関する成分は式（Ａ７）の右辺の誤差として現れる。これを、さらに以下の式に変形することができる。
【０１０１】
【数３０】
2005078554.tif 000032
【０１０２】
式（Ａ８）をｉ＝１，２，…，Ｆ；ｊ＝１，２，…，Ｐに対して行列展開すると，
【０１０３】
【数３１】
2005078554.tif 000033
【０１０４】
となる。したがって、式（Ａ５）だけを使って平面運動と３次元情報を復元したとき、式（２４）に示す誤差を使って、式（Ａ９）に示す連立方程式を、式（２６）により計算し、Ｚ軸並進運動を復元することができる。
【０１０５】
【数３２】
2005078554.tif 000034
【０１０６】
したがって、Ｚ軸運動復元ステップの処理フローでは、式（２４）（２５）に示す誤差を、全フレーム、並びに、全特徴点について計算する（ｕｖ座標系での再投影誤差）。これらの再投影誤差と先に求めた各特徴点のＺ座標値（Ｚj,ｊ＝１，２，…，Ｐ）を使って、式（２６）の計算を行い，各フレーム（第ｉフレーム）でのＺ軸の並進運動Ｔｚi，ｉ＝１，２，…，Ｆを復元することができる。
【０１０７】
Ｚ軸運動復元ステップの段階で、まだロール回転とピッチ回転を復元していない。つまり、式（Ａ３）の投影モデルに基づいて運動と３次元情報を復元しておらず、式（Ａ４）の投影モデルに従って運動と３次元情報を復元した。
【０１０８】
次の回転運動復元ステップでは、式（Ａ３）において、これまでに復元したカメラ運動、３次元情報からなる行列成分と、まだ復元していないロール回転とピッチ回転に付随する行列成分に分離し、ロール回転とピッチ回転に関連する成分だけを抽出し、この成分からロール回転とピッチ回転を復元する。これを実現する原理を数式を交えて以下に説明する。
【０１０９】
説明の簡単のために、式（Ａ３）からｉフレームのｊ番目の特徴点に関する投影モデルだけを取り出すと、
【０１１０】
【数３３】
2005078554.tif 000035
【０１１１】
となる。ここで、未だ復元していないロール回転，ピッチ回転を未知数とする方程式に変形すると、
【０１１２】
【数３４】
2005078554.tif 000036
【０１１３】
が得られる。ここで、
【０１１４】
【数３５】
2005078554.tif 000037
【０１１５】
と置き、全特徴点（ｊ＝１，２，…，Ｐ）に展開すると、
【０１１６】
【数３６】
2005078554.tif 000038
【０１１７】
となる。式（Ａ１３）に示す誤差ΔＵij、ΔＶijは式（Ａ４）の投影モデルで復元したときに発生する誤差であり、この誤差を式（Ａ１３）の計算で抽出し全特徴点に対して連立した方程式（式（Ａ１４））を式（２７）〜（３２）に従って解くことで、ロール回転角、ピッチ回転を得ることができる。式（３２）の処理は各フレームに対して行い、全時系列のロール回転角ωi（ｉ＝１，２，…，Ｆ）、ピッチ回転ψi（ｉ＝１，２，…，Ｆ）を復元するできる。
【０１１８】
【数３７】
2005078554.tif 000039
【０１１９】
【数３８】
2005078554.tif 000040
【０１２０】
【数３９】
2005078554.tif 000041
【０１２１】
したがって、回転運動復元ステップでは、式（５ａ）に示すデータ形式の行列分解データと、係数δij、並びに、上記で復元した平面運動と３次元情報から、式（２７）に示す誤差を計算する。さらに、式（２８）〜（３１）の値を計算し、これらの各値と式（２７）に示す誤差から、式（３２）に示す計算式によりロール回転（ωi）、ピッチ回転（ψi）を復元する。これを全フレーム（ｊ＝１，２，…，Ｆ）にわたり求める。このとき、同時に、式（３３）の計算により各フレームでの（ζi、ηi）、ｉ＝１，２，…，Ｆを求め、以前の（ζi、ηi）、ｉ＝１，２，…，Ｆを更新する。
【０１２２】
【数４０】
2005078554.tif 000042
【０１２３】
以上の処理フローにしたがって、ロール回転、ピッチ回転、ヨー回転、ＸＹＺ並進、並びに、３次元情報を復元できるが、式（Ａ３）の投影モデルに対して段階的な処理（平面運動・３次元情報復元ステップ、Ｚ軸運動復元ステップ、回転運動復元ステップ）を行ってこれらの情報を復元することができる。すなわち、式（Ａ５）に基づく平面運動と３次元情報の復元、式（Ａ４）に基づいたＺ軸並進の復元、式（Ａ３）に基づくロール回転、ピッチ回転の復元を順番に実行している。
【０１２４】
ここで、画像から観測したｕｖ座標値、これまでの処理で復元したカメラ運動と３次元情報、並びに、この段階での変形係数（εij，δij）を用いて、モデルの適合度を表す式（３４）を計算して式（３５）に示す誤差を求めると誤差は大きい。なぜなら、初期段階（これまでの段階）では、式（Ａ３）において、εij＝０、並びに、（ζi，ηi）＝（０，０）；ｉ＝１，２，…，Ｆとして、これまでの処理が実行されてきたからである。つまり、平面運動・３次元情報復元部では、ロール回転、ピッチ回転、ヨー回転、ＸＹＺ並進運動からなるカメラ運動により投影された（実際の全方位画像における）ｕｖ座標値に対して、近似的に平面運動のカメラ運動により投影されたｕｖ座標値と見なして、平面運動と３次元情報を復元している。
【０１２５】
【数４１】
2005078554.tif 000043
【０１２６】
【数４２】
2005078554.tif 000044
【０１２７】
そこで，回転運動復元ステップに続く処理フローでは、これまでの処理において、εij＝０、並びに、（ζi，ηi）＝（０，０）；ｉ＝１，２，…，Ｆと置いた値を、これまでの処理で得た情報を使って更新して，これまでの同様の処理を繰り返す。つまり、εijを、これまでに復元したロール回転角ωi、ピッチ回転ψi，３次元情報（Ｘj，Ｙj，Ｚj）、並びにＸＹ並進運動（Ｔｘi，Ｔｙi）を式（３６）の最初の式に代入して更新する。同様に、Ｚ軸並進運動Ｔｚiと３次元情報の高さＺjを式（３６）の二番目の式に代入してδijを更新する。さらに、更新した変形係数（εij，δij）を使って、式（５ｂ）に従って、行列分解データとなる新たな行列［Ｂ］を準備する。これ以降は、これまでと同様に、新たに得た計測行列［Ｂ］から、平面運動・３次元情報復元ステップにおいてヨー回転、ＸＹ並進、並びに、３次元情報を復元し、次に、Ｚ軸運動復元ステップにおいてＺ軸並進運動を復元し、さらに、回転運動復元ステップにおいて、ロール回転、ピッチ回転を復元する。
【０１２８】
【数４３】
2005078554.tif 000045
【０１２９】
すべてのカメラ運動と３次元情報が復元できると、この段階での式（３４）、式（３５）で得られる誤差を求めて、この誤差が１つ前の段階での誤差と比較して変化がない（誤差が一定）、または、許容値以下と判定したとき、処理を停止し、この段階でのカメラ運動と３次元情報を出力する。そうでないときいは、これまでの処理で得たカメラ運動と３次元情報から変形係数（εij，δij）を更新し、平面運動・３次元情報復元ステップ、Ｚ軸運動復元ステップ、回転運動復元ステップでの処理を繰り返す。このような反復処理を行うことで、式（Ａ３）に示す投影モデルを平面運動・３次元情報復元ステップ、Ｚ軸運動復元ステップ、回転運動復元ステップと段階的に処理を行っても、誤差が均等に配分されて、カメラ運動と３次元情報の精度に偏りがなく、雑音にロバストに復元することができる。言い換えれば、魚眼カメラの投影モデル式（Ａ３）に対して本発明は、雑音にロバストに、かつ、高精度にカメラ運動と３次元情報を同時に復元することができる。
【０１３０】
以上、本発明の実施形態により、画像系列における特徴点の時間的動きから、カメラ視点の運動、すなわち、三軸周りの回転運動と三軸方向の並進運動、並びに、物体形状を構成する３次元情報を復元することができる。
【０１３１】
（実施形態２）
図３は請求項２等に関する基本構成図である。本実施形態では、実施形態１に対して、時系列画像データベースから取り出した画像に対して、画像変換処理部６で変形画像（ｕｖ画像）を生成する点が異なり、この処理部について説明する。
【０１３２】
本実施形態は、全方位画像を蓄積した時系列データベース１、各画像をｕｖ画像に変換する画像変換処理部６、各画像における特徴点の座標値を測定する特徴点計測部２、ｕｖ座標値を行列要素とする行列を初期値として与える計測行列入力部４、これらの入力データから因子分解法によりカメラの運動と外界の３次元情報を復元する因子分解法処理部５から構成される。
【０１３３】
この構成において、時系列画像データベース１には、ハードディスク、ＲＡＩＤ装置、ＣＤ−ＲＯＭなどの記録媒体を利用する、または、ネットワークを介したリモートなデータ資源を利用する形態でもどちらでも構わない。さらに、また、図３ａはリアルタイムで処理する場合の処理構成図であり、本発明は必ずしも各データベース部などの記憶装置を必要としない。
【０１３４】
本実施形態では、時系列画像データベースから取り出した画像に対して、図３の画像変換処理部においてｕｖ画像を生成する。ｕｖ画像を生成するのに、ｕｖ座標値を指定して、これに該当するｘｙ座標値を算出し、その座標値の画素値を抽出してｕｖ画素とする（図５参照）。
【０１３５】
この処理フローを図４に示す。まず、ｕｖ画像におけるｕ方向、ｖ方向の単位画素あたりの重み付けを行う。ｕｖ画像の画像サイズをＵ×Ｖ画素とし、並びに、仰角φについてφmin≦φ≦９０度の範囲と決めたとする。これにより、ｕ方向、ｖ方向の単位画素あたりの重み付けを式（３７）に従い決定する。また、ｕｖ画像のｕｖ座標値範囲は画像の中心を原点（０，０）として、ｕ方向に−Ｕ／２から＋Ｕ／２，ｖ方向に−Ｖ／２から＋Ｖ／２とする。ｕ方向、ｖ方向の各座標値を表す整数ｍ，ｎ（−Ｍ≦ｍ≦Ｍ、−Ｎ≦ｎ≦Ｎ，Ｍ：整数、Ｎ：整数、ＭとＮは同じ、すなわちｕｖ画像が正方形でもよい）を使って、ｕｖ座標値を式（３７）に従って求める。整数ｍ，ｎを−Ｍ≦ｍ≦Ｍ、−Ｎ≦ｎ≦Ｎの範囲で変化させながら、式（３８）に従ってその（ｕ，ｖ）座標値に対応する位相角ρと仰角φを求める。次に、式（３９）により画像座標値を算出する。この画像座標値を四捨五入で整数化したものを（ｘ，ｙ）とする（式４０）。
【０１３６】
【数４４】
2005078554.tif 000046
【０１３７】
次に、画像座標値（ｘ，ｙ）に対応する画素値を取り出し、ｕｖ画像上でのｕｖ座標値に該当する座標値にその画素値を埋め込む。これを全ｕｖ座標値に対して行うことで、ｕｖ画像を生成する。さらに、対象とする全時系列画像を逐次、この変換を行って時系列のｕｖ画像を生成する。これ以降は実施形態１と同様の処理手順により、画像系列における特徴点の時間的動きから、カメラ視点の運動、すなわち、三軸周りの回転運動と三軸方向の並進運動、並びに、物体形状を構成する３次元情報を復元することができる。
【０１３８】
（実施形態３）
図６は請求項３の発明に関する基本構成図である。本実施形態では、実施形態１に対して、時系列画像データベースから取り出した画像に対して、特徴点計測部２により得た特徴点の画像座標値を計測行列変換部３においてｕｖ座標値に変換したとき、復元処理判定部７でカメラ運動と３次元情報を復元するための処理を判定する点が異なるため、この点だけについて説明する。
【０１３９】
本実施形態は、時系列画像データベース１には、ハードディスク、ＲＡＩＤ装置、ＣＤ−ＲＯＭなどの記録媒体を利用する、または、ネットワークを介したリモートなデータ資源を利用する形態でもどちらでも構わない。さらに、また、図６ａはリアルタイムで処理する場合の処理構成図であり、本発明は必ずしも各データベース部などの記憶装置を必要としない。
【０１４０】
図６の特徴点計測部２により得た特徴点の画像座標値から、図６の計測行列変換部３においてｕｖ座標値に変換して計測行列［Ｂ］を保持する。この計測行列［Ｂ］は式（５ａ）の形式となっている。
【０１４１】
次に、図６の復元処理判定部７での処理を行う。この処理部での処理フローは図７である。この行列［Ｂ］に対して、式（８）に示すように特異値分解を行い、特異値行列［Ｗ］を得る。特異値行列［Ｗ］は対角要素であり、その各要素である特異値は昇降順の並びで、かつ、全て正の実数となっている。この特異値の中からの行列要素Ｗ33と行列要素Ｗ44の特異値を取り出す。ランク検出では、式（４１ａ）または式（４１ｂ）に示す計算を行い判定量Ｅｗを得る。
【０１４２】
【数４５】
2005078554.tif 000047
【０１４３】
判定量Ｅｗがある許容値δW未満であるか、または、判定量Ｅｗが許容値δW以上かを判定する。この許容値δWは特定の一定値であり、作業者が逐次、値を設定することもできる。もし、判定量Ｅｗがある許容値δW未満の場合は、カメラ運動が平面運動をしたと判断して処理Ａに進み、判定量Ｅｗがある許容値δW以上の場合は、カメラ運動が一般運動（平面運動以外）をしたと判断して処理Ｂに進む。処理Ｂとは実施形態１の処理を行って、画像系列における特徴点の時間的動きから、カメラ視点の運動、すなわち、三軸周りの回転運動と三軸方向の並進運動、並びに、物体形状を構成する３次元情報を復元する処理である。そのため、以降では、処理Ａについて説明する。
【０１４４】
図６における因子分解法処理部（実質、実施形態１の平面運動・３次元情報復元部の処理内容と同じ）での処理を処理Ａとし、この処理フローを図８に示す。図６の復元処理判定部において行った特異値分解により式（７）の３つの行列［Ｕ］、［Ｗ］、［Ｖ］に行列分解した各行列データを入力する。ここで、［Ｕ］は２Ｆ×Ｐサイズの行列、［Ｗ］はＰ×Ｐサイズの対角行列、［Ｖ］はＰ×Ｐサイズの行列である。
【０１４５】
まず、図８の雑音除去において、式（８）の第二項に示すように、ランク４以上の各行列の成分を削除する。この削除のときは、行列［Ｕ］を取り出し、この行列の要素において第４から第Ｐ列目までを削除し、残りの成分からなる行列を保持し、行列［Ｗ］を取り出し、この行列の要素において第４から第Ｐ行目並びに第４から第Ｐ列目までを削除し、残りの成分からなる行列を保持し、行列［Ｖ］を取り出し、この行列の要素において第４から第Ｐ行目までを削除し、残りの成分からなる行列をそれぞれ保持する（式（９））。
【０１４６】
次に、第４から第Ｐ行目並びに第４から第Ｐ列目までを削除した行列［Ｗ］の対角要素の平方をとった行列から、式（１０）（１１）に示す行列［Ｕ'］と行列［Ｖ'］を得る。
【０１４７】
図２の次処理の変換行列算出では、保持してある行列［Ｕ'］を取り出し、式（１２ａ）〜（１２ｃ）で得られる値を行列要素にもつ式（１３）で示す行列［Ｄ］を準備し、この行列［Ｄ］と式（１４）に示す計算を行い、値ａ，ｂ，ｃ，ｄ，ｅ，ｆを求める。なお、式（１４）の右辺の最後の行列は１の値を上から２Ｆ個、続けて０の値をＦ個並べた３Ｆ×１の列ベクトルである。値ａ，ｂ，ｃ，ｄ，ｅ，ｆを式（１５）に示す要素に入れた行列［Ｃ］を用意し、この行列［Ｃ］を式（１６）に示すように固有値分解する。ここで、固有値行列の平方と固有値行列から、式（１７）の行列［Ｃ'］を生成し、この行列要素を成分にもつ行列［Ｑ］を式（１８）に従って算出する。
【０１４８】
さらに、式（Ａ５）右辺左側の行列を式（１９）で得られる行列［Ｍ］に、式（Ａ５）右辺右側の行列を式（２２）で得られる行列［Ｓ'］とする。この対応付けにより、式（１９）の行列成分から、式（２０）の計算によりヨー回転角θを、式（２１）からＸＹ並進運動を復元することができる。
【０１４９】
一方、式（Ａ５）右辺右側の行列と行列［Ｓ'］の対応付けにより、式（２２）にしたがってユークリッド空間での３次元情報（ｘ，ｙ，ｚ）を復元することができる。すなわち、求めた行列［Ｑ］と、保持しておいた行列［Ｕ'］から、式（１９）の行列演算により行列［Ｍ'］を計算する。行列［Ｍ'］から各フレーム（第ｉフレーム）の行列要素（ｍix，ｎix）または（ｍiy，ｎiy）を取り出し、式（２０）を使って、ヨー回転θi，ｉ＝１，２，…，Ｆを復元する。また、行列［Ｍ'］から各フレーム（第ｉフレーム）の行列要素（Ｔiu，Ｔiv）を取り出す。この（Ｔiu，Ｔiv）から、式（２１）を使って第ｉフレームにおけるユークリッド空間での、ＸＹ並進運動（Ｔｘi，Ｔｙi），ｉ＝１，２，…，Ｆを計算する。
【０１５０】
一方、３次元情報復元では、先に保持しておいた行列［Ｖ'］と、変換行列算出で得られた行列［Ｑ］から、式（２２）に示す行列演算を行い、行列［Ｓ'］を求める。次に、行列［Ｓ'］の要素に対して、式（２３）に示す計算を行い、これを要素とする行列を［Ｐ］とする。行列を［Ｐ］の列ベクトルは、それぞれ第ｊ番目の特徴点のユークリッド空間での３次元座標値（Ｘj，Ｙj，Ｚj）になっている。
【０１５１】
処理Ａは図６の復元処理制定部において平面運動と判定して処理が行われるため、画像系列における特徴点の時間的動きから、カメラ視点の運動、すなわち、光軸周りの回転と二軸方向（ＸＹ）の並進運動、並びに、物体形状を構成する３次元情報を復元する。
【０１５２】
なお、図６の復元処理判定部において一般運動と判定した場合は、実施形態１と同様に、画像系列における特徴点の時間的動きから、カメラ視点の運動、すなわち、三軸周りの回転運動と三軸方向の並進運動、並びに、物体形状を構成する３次元情報を復元することができる。
【０１５３】
（実施形態４）
図９は請求項４の発明に関する基本構成図である。本実施形態では、実施形態２に対して、画像変換処理部６から入力されるｕｖ画像において、特徴点計測部２により得た特徴点のｕｖ座標値からなる行列分解データを用いて、復元処理判定部７でカメラ運動と３次元情報を復元する処理を判定する点が異なるため、この点だけについて説明する。
【０１５４】
本実施形態は、時系列画像データベース１には、ハードディスク、ＲＡＩＤ装置、ＣＤ−ＲＯＭなどの記録媒体を利用する、または、ネットワークを介したリモートなデータ資源を利用する形態でもどちらでも構わない。さらに、また、図９ａはリアルタイムで処理する場合の処理構成図であり、本発明は必ずしも各データベース部などの記憶装置を必要としない。
【０１５５】
図９の特徴点計測部により得た特徴点のｕｖ座標値を行列要素とする計測行列［Ｂ］を保持する。この計測行列［Ｂ］は式（５ａ）の形式となっている。次に、図６の復元処理判定部での処理を行う。この処理部での処理フローは図７である。この行列［Ｂ］に対して、式（８）に示すように特異値分解を行い、特異値行列［Ｗ］を得る。特異値行列［Ｗ］は対角行列であり、その各要素である特異値は昇降順の並びで、かつ、全て正の実数となっている。この特異値の中から行列要素Ｗ33と行列要素Ｗ44の特異値を取り出す。ランク検出では、式（４１ａ）または式（４１ｂ）に示す計算を行い判定量ＥWを得る。判定量ＥWがある許容値δW未満であるか、または、判定量ＥWが許容値δW以上かを判定する。この許容値δWは特定の一定値であり、作業者が逐次、値を設定することもできる。もし、判定量ＥWがある許容値δW未満の場合は、カメラ運動が平面運動をしたと判断して処理Ａに進み、判定量ＥWがある許容値δW以上の場合は、カメラ運動が一般運動（平面運動以外）をしたと判断して処理Ｂに進む。
【０１５６】
処理Ｂとは実施形態１の処理を行って、画像系列における特徴点の時間的動きから、カメラ視、点の運動、すなわち、三軸周りの回転と三軸方向の並進運動、並びに、物体形状を構成する３次元情報を復元する処理である。なお、処理Ａについては実施形態３の処理Ａと同じであるため説明を省く。
【図面の簡単な説明】
【０１５７】
【図１】請求項１等の画像蓄積型の基本構成図。
【図１ａ】請求項１等のリアルタイム処理型の基本構成図。
【図２】請求項１等の処理フロー図。
【図３】請求項２等の画像蓄積型の某本構成図。
【図３ａ】請求項２等のリアルタイム処理型の基本構成図。
【図４】ｕｖ画像変換の処理フロー。
【図５】ｕｖ画像生成を説明する図。
【図６】請求項３等の画像蓄積型の基本構成図。
【図６ａ】請求項３等のリアルタイム処理型の基本構成図。
【図７】復元処理判定部での処理フロー。
【図８】処理Ａの処理フロー。
【図９】請求項４等の画像蓄積型の基本構成図。
【図９ａ】請求項４等のリアルタイム処理型の基本構成図。
【図１０】全方位カメラと復元する空間情報とカメラ座標系を示す図。
【図１１】画像から垂直線分を検出し、交点Ａを求めることを説明する図。
【図１２】街路樹などの遮蔽物により、画像から検出した垂直線分で交点Ａが求められないことを示す図。
【図１３】カメラ運動と３次元情報を復元するとき、カメラ光軸を鉛直向きに向けない利用形態。
【図１４】魚眼カメラが撮像した屋外映像における建物に付随するエッジラインを示す図。
【図１５】図１４のエッジをｕｖ画像として変換した結果を示す図。
【符号の説明】
【０１５８】
１  時系列画像データベース
１Ａ  画像入力部
２  特徴点計測部
３  計測行列変換部
４  計測行列入力部
５  因子分解法処理部
５Ａ  平面運動・３次元情報復元部
５Ｂ  Ｚ軸運動復元部
５Ｃ  回転運動復元部
６  画像変換処理部
７  復元処理判定部
【図１】
2005078554.tif 000048
【図１ａ】
2005078554.tif 000049
【図２】
2005078554.tif 000050
【図３】
2005078554.tif 000051
【図３ａ】
2005078554.tif 000052
【図４】
2005078554.tif 000053
【図５】
2005078554.tif 000054
【図６】
2005078554.tif 000055
【図６ａ】
2005078554.tif 000056
【図７】
2005078554.tif 000057
【図８】
2005078554.tif 000058
【図９】
2005078554.tif 000059
【図９ａ】
2005078554.tif 000060
【図１０】
2005078554.tif 000061
【図１１】
2005078554.tif 000062
【図１２】
2005078554.tif 000063
【図１３】
2005078554.tif 000064
【図１４】
2005078554.tif 000065
【図１５】
2005078554.tif 000066