(57)【特許請求の範囲】
【請求項１】
カメラにより撮影された複数の画像フレームを貼り合わせる画像処理装置であって、
撮影に使用したカメラにより投影平面上の各点に投影される光線ベクトルをカメラ・モデルを基に求める光線ベクトル算出手段と、
隣接する画像フレーム間で対応する特徴点における光線ベクトルに基づく情報の誤差が最小となるように画像の貼り合わせを最適化する最適化手段を具備し、
前記光線ベクトル算出手段は、カメラの投影平面を無数のポリゴンに分割するとともに、ポリゴンの各頂点の投影平面上の座標とこれに対応する光線ベクトルの対応関係を記述したメッシュ・カメラをあらかじめ生成しておき、
前記最適化手段は、ポリゴンの頂点における光線ベクトルを基にポリゴン内の各点についての投影平面上の座標値を光線ベクトルへ変換する変換関数を求めて、該変換関数を用いて特徴点における光線ベクトルを算出する、
ことを特徴とする画像処理装置。
【請求項２】
前記最適化手段は、特徴点から光線ベクトルへの変換関数をポリゴン単位で計算して、該変換関数を固定したまま各特徴点における光線ベクトルに基づく情報の誤差が最小となるように画像フレーム単位での最適化処理を行う、
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記最適化手段は、特徴点から光線ベクトルへの変換関数をポリゴン単位で計算するとともに、該変換関数を可変にして各特徴点における光線ベクトルに基づく情報の誤差が最小となるようにポリゴン単位で最適化処理を行う、
ことを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記最適化手段は、各画素が持つ光強度と、各画素が持つ信頼性と、出力フォーマット面上で各画素が持つ立体角とを考慮して、各画素における光線ベクトルに基づく情報の誤差が最小となるように画素単位で最適化処理を行う、
ことを特徴とする請求項１に記載の画像処理装置。
【請求項５】
カメラにより撮影された複数の画像フレームを貼り合わせる画像処理方法であって、
撮影に使用したカメラにより投影平面上の各点に投影される光線ベクトルをカメラ・モデルを基に求める光線ベクトル算出ステップと、
隣接する画像フレーム間で対応する特徴点における光線ベクトルに基づく情報の誤差が最小となるように画像の貼り合わせを最適化する最適化ステップを具備し、
前記光線ベクトル算出ステップでは、カメラの投影平面を無数のポリゴンに分割するとともに、ポリゴンの各頂点の投影平面上の座標とこれに対応する光線ベクトルの対応関係を記述したメッシュ・カメラをあらかじめ生成しておき、
前記最適化ステップでは、ポリゴンの頂点における光線ベクトルを基にポリゴン内の各点についての投影平面上の座標値を光線ベクトルへ変換する変換関数を求めて、該変換関数を用いて特徴点における光線ベクトルを算出する、
ことを特徴とする画像処理方法。
【請求項６】
前記最適化ステップでは、特徴点から光線ベクトルへの変換関数をポリゴン単位で計算して、該変換関数を固定したまま各特徴点における光線ベクトルに基づく情報の誤差が最小となるように画像フレーム単位での最適化処理を行う、
ことを特徴とする請求項５に記載の画像処理方法。
【請求項７】
前記最適化ステップでは、特徴点から光線ベクトルへの変換関数をポリゴン単位で計算するとともに、該変換関数を可変にして各特徴点における光線ベクトルに基づく情報の誤差が最小となるようにポリゴン単位で最適化処理を行う、
ことを特徴とする請求項５に記載の画像処理方法。
【請求項８】
前記最適化ステップでは、各画素が持つ光強度と、各画素が持つ信頼性と、出力フォーマット面上で各画素が持つ立体角とを考慮して、各画素における光線ベクトルに基づく情報の誤差が最小となるように画素単位で最適化処理を行う、
ことを特徴とする請求項５に記載の画像処理方法。
【請求項９】
カメラにより撮影された複数の画像フレームを貼り合わせる処理をコンピュータ上で実行するように記述されたコンピュータ・ソフトウェアをコンピュータ可読形式で物理的に格納した記憶媒体であって、前記コンピュータ・ソフトウェアは、前記コンピュータに対し、
撮影に使用したカメラにより投影平面上の各点に投影される光線ベクトルをカメラ・モデルを基に求める光線ベクトル算出手順と、
隣接する画像フレーム間で対応する特徴点における光線ベクトルに基づく情報の誤差が最小となるように画像の貼り合わせを最適化する最適化手順を実行させ、
前記光線ベクトル算出手順では、カメラの投影平面を無数のポリゴンに分割するとともに、ポリゴンの各頂点の投影平面上の座標とこれに対応する光線ベクトルの対応関係を記述したメッシュ・カメラをあらかじめ生成しておき、
前記最適化手順では、ポリゴンの頂点における光線ベクトルを基にポリゴン内の各点についての投影平面上の座標値を光線ベクトルへ変換する変換関数を求めて、該変換関数を用いて特徴点における光線ベクトルを算出する、
ことを特徴とする記憶媒体。
【請求項１０】
カメラにより撮影された複数の画像フレームを貼り合わせる処理をコンピュータ上で実行するように記述されたコンピュータ・プログラムであって、前記コンピュータに対し、
撮影に使用したカメラにより投影平面上の各点に投影される光線ベクトルをカメラ・モデルを基に求める光線ベクトル算出手順と、
隣接する画像フレーム間で対応する特徴点における光線ベクトルに基づく情報の誤差が最小となるように画像の貼り合わせを最適化する最適化手順を実行させ、
前記光線ベクトル算出手順では、カメラの投影平面を無数のポリゴンに分割するとともに、ポリゴンの各頂点の投影平面上の座標とこれに対応する光線ベクトルの対応関係を記述したメッシュ・カメラをあらかじめ生成しておき、
前記最適化手順では、ポリゴンの頂点における光線ベクトルを基にポリゴン内の各点についての投影平面上の座標値を光線ベクトルへ変換する変換関数を求めて、該変換関数を用いて特徴点における光線ベクトルを算出する、
ことを特徴とするコンピュータ・プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の撮影画像を貼り合わせる画像処理装置及び画像処理方法、記憶媒体、並びにコンピュータ・プログラムに係り、特に、複数のカメラを用いて空間上の隣接する領域を撮影した画像同士を貼り合わせる画像処理装置及び画像処理方法、記憶媒体、並びにコンピュータ・プログラムに関する。
【０００２】
さらに詳しくは、本発明は、レンズ歪みやカメラ・モデルが異なるさまざまなカメラの撮影画像を貼り合わせ処理する画像処理装置及び画像処理方法、記憶媒体、並びにコンピュータ・プログラムに係り、特に、画像の劣化を抑えて複数の撮影画像を貼り合わせ処理する画像処理装置及び画像処理方法、記憶媒体、並びにコンピュータ・プログラムに関する。
【０００３】
【従来の技術】
ユーザの周囲の風景画像を提供する装置として全方位カメラが知られている。この種の全方位映像システムは、例えば、空間中のある１つの点が視点として周囲の画像を撮影するように複数台のカメラが設置して構成される。複数のカメラからなる全方位映像システムは、隣り合うカメラの撮像画像の境界同士をうまく貼り合わせることによって、個々のカメラの視野よりもはるかに広い領域の画像を、あたかも単一の広角度カメラで撮像したかのような画像を生成する画像処理を行う。
【０００４】
視野角の広いレンズを用いればカメラは広範囲を撮像することができるが、その分だけ解像度が低下して細部が見えづらくなる。これに対し、全方位映像システムによれば、広範囲の撮像画像を高解像度のまま提供することができる。
【０００５】
このような全方位型の映像を用いることにより、視点自由形の映像を視聴することができる。例えば、キャラクタ（登場人物）が空間を自由に動き回るようなテレビ・ゲームにおいて、任意の視点からの背景画面を表示させることができるので、より現実的な映像を介してゲームを楽しむことができ、エンターティンメント性が高まる。
【０００６】
また、全方位映像は、通常の映像に比し大容量であるが、インタラクティブ性に優れていることから、ブロードバンド・ネットワーク時代の新しいコンテンツとして有望である。
【０００７】
ところで、実在するカメラの多くは、ピンホールカメラ・モデルによる中心投影を理想とする。中心投影とは、投影中心と３次元物体表面の点とを結ぶ直線（「視線」とも言う）とカメラの投影スクリーンとの交点に物体表面の点の色濃度値を配置していくことで、投影画像を形成する。中心投影では、同じ大きさの物体であっても、カメラの投影中心に近づくにつれて大きな像として投影され、逆に、投影中心から遠ざかるにつれて小さく投影される性質を持つ。
【０００８】
また、理想的なピンホールカメラ・モデルでは、同じ視線上の点は、カメラの投影中心からの距離の遠近に拘らず、投影スクリーン（すなわち撮像面）上の同じ位置に投影される性質を持つ。したがって、隣り合うカメラの撮像画像を、互いのカメラの投影中心が一致するように配設することによって、各カメラ間で視線を共有することになる。この結果、異なるカメラを用いながら、事実上、単一のカメラで同じ場所から眺めていることに等しくなる。すなわち、隣り合うカメラにおいて重なり合う撮像領域において、任意の場所を画像間の境界として指定しても、撮像画像同士は滑らかに貼り合わされる。
【０００９】
例えば、Yalin Xiong，Ken Turowski共著の論文"Registration, Calibration and Blending in Creating High Quality panoramas"（Fourth IEEE Workshop on Applications of Computer Vision, pp.69-74,1998）や、Heung-Yeung Shum及びRichard Szeliski共著の論文"Construction of Panoramic mosaics with global and local alignment"（International Journal of Computer Vision, 36(2):101-130, 2000）、並びに、米国特許第６，１５７，７４７号明細書などには、理想的なピンホール・カメラを用いて撮影した隣接画像をつなぎ合わせる技術について提案されている。また、Satyan Coorg及びSeth Teller共著の論文"Spherical Mosaics with Quaternions and Dense Correlation"（International Journal of Computer Vision, 37(3):259-273，2000）には、レンズ歪みを無視して多数の撮像画像を貼り合わせる技術について提案されている。
【００１０】
しかしながら、現実には、理想的なピンホール・カメラはあまり存在せず、レンズは通常無視し難い歪みを持っている。また、カメラは一般に容積を持つので、撮像中心がただ１つの点に集中するように複数のカメラを配設することはそもそも物理的に不可能である。また、３以上のカメラの撮像中心が３次元空間上で一致するように組み立てることも、極めて困難な作業を必要とする。
【００１１】
例えばR. Swaminathan及びS. Nayar共著の論文" Non-Metric Calibration of Wide Angle Lenses and Polycameras"（IEEE Journal on Pattern Analysis and Machine Intelligence, pp.1171-1178,2000）には、直径方向並びに接線方向にレンズ歪みを持つカメラ・モデルにおける、上述した画像貼り合わせの問題を解くために、各カメラの撮影画像を一旦ピンホール画像に変換してから貼り合わせることを提案している。しかしながら、この場合、複数の画像フレームをつなぎ合わせた全方位映像を完成させるために、ピンホール画像への変換時及び画像貼り合わせ時、すなわち合計２回も画素補間を行わなければならず、画像の劣化が激しくなる。
【００１２】
なお、Y.Xiong及びK.Turkowski共著の論文"Creating image-based VR using a self-calibrating fisheye lens"（IEEE Computer Society Conference on Computer Vision and Pattern Recognition, pp.237-243, 1997）には、ピンホール・レンズ以外のレンズとして魚眼レンズによる撮影画像の貼り合わせ技術について提案されている。
【００１３】
また、R. Y. Tsai著の論文"A versatile Camera Calibration Technique for High Accuracy 3D Machine Vision Metrology Using Off-the-Shelf TV Cameras and Lenses"（IEEE Journal of Robotics and Automation, Vol. RA-3, No. 4, pp.323-344, 1987）には、さまざまなカメラ・モデル画持つレンズの歪みパラメータを高速で且つ高精度に計算する技術について提案されている。
【００１４】
【発明が解決しようとする課題】
複数のカメラからの撮影画像を貼り合せて全方位画像を構築するためには、各カメラは理想的なピンホール・カメラであることが好ましい。このため、各カメラからの入力画像に対して、レンズ歪み除去並びにピンホール画像への変換を行った後に貼り合わせる必要があるが、画素補間を２回以上繰り返すことになり画質の劣化が激しくなる。また、ピンホール・カメラの視野角はせいぜい１８０゜でしかない。
【００１５】
また、内部パラメータや歪みパラメータの異なるカメラ画像同士はうまく貼り合わせることができないので、貼り合わせる元画像を同じレンズ・モデルのカメラからの撮影画像のみで統一させる必要がある。言い換えれば撮影システムのデザイン構成上の融通性が効かない。
【００１６】
カメラ画像の貼り合せ易さを考慮して、全方位映像を１つのカメラで数ヶ所を撮影した複数の映像のみで構成することも可能である。例えば、S.E.Chen著の論文"QuickTime VR - an image- based approach to virtual environment navigation"（Computer Graphics (SIGGRAPH '95), pp.29-38, Aug. 1995）には、１つのカメラで数ヶ所を撮影した複数の映像のみで全方位映像を構成する技法について記載されている。しかしながら、これではリアルタイムで各撮影方向の映像を同時に撮影し供給するような場合には対応できない。
【００１７】
本発明は上述したような技術的課題を勘案したものであり、その主な目的は、複数のカメラを用いて空間上の隣接する領域を撮影した画像同士を好適に貼り合わせることができる、優れた画像処理装置及び画像処理方法、記憶媒体、並びにコンピュータ・プログラムを提供することにある。
【００１８】
本発明の更なる目的は、レンズ歪みやカメラ・モデルが異なるさまざまなカメラの撮影画像を好適に貼り合わせ処理することができる、優れた画像処理装置及び画像処理方法、記憶媒体、並びにコンピュータ・プログラムを提供することにある。
【００１９】
本発明の更なる目的は、レンズ歪みやカメラ・モデルが異なるさまざまなカメラの撮影画像を、ピンホール・カメラなど他のカメラモデルの撮影画像に変換したりして画像を劣化させることなく貼り合わせ処理することができる、優れた画像処理装置及び画像処理方法、記憶媒体、並びにコンピュータ・プログラムを提供することにある。
【００２０】
【課題を解決するための手段及び作用】
本発明は、上記課題を参酌してなされたものであり、その第１の側面は、カメラにより撮影された複数の画像フレームを貼り合わせる画像処理装置又は画像処理方法であって、
撮影に使用したカメラにより投影平面上の各点に投影される光線ベクトルをカメラ・モデルを基に求める光線ベクトル算出手段又はステップと、
隣接する画像フレーム間で対応する特徴点における光線ベクトルに基づく情報の誤差が最小となるように画像の貼り合わせを最適化する最適化手段又はステップと、
を具備することを特徴とする画像処理装置又は画像処理方法である。
【００２１】
本発明の第１の側面に係る画像処理装置又は画像処理方法によれば、２枚の画像間で画素値が一致しているかではなく、投影平面上の対応点に対する光線ベクトルに基づく情報の誤差が最小となるように画像の貼り合わせを行う。したがって、カメラ・モデル及びカメラの歪みパラメータをも考慮して光線ベクトルを生成することにより、同じカメラ・レンズや歪みパラメータを持つカメラを用いる必要がなく、異なるカメラ・モデルの撮影画像同士を貼り合わせることができる。
【００２２】
なお、ここで言う光線ベクトルに基づく情報の誤差とは、例えば、２つの光線ベクトルのなす角を表したり、あるいは、各光線ベクトルが指し示す画素の輝度又は画素値の相違などのことを意味する。
【００２３】
また、本発明の第１の側面に係る画像処理装置又は画像処理方法によれば、画素値の比較ではなく対応画素間での光線ベクトルに基づく情報の誤差が最小となるように画像を貼り合わせるので、撮影画像をピンホール画像などに一旦変換する必要はない。また、元の撮影画像から直接貼り合せていくことができるので、画素の劣化を抑制することができる。
【００２４】
ここで、前記光線ベクトル算出手段又はステップは、カメラの投影平面を無数のポリゴンに分割するとともに、ポリゴンの各頂点の投影平面上の座標とこれに対応する光線ベクトルの対応関係を記述した「メッシュ・カメラ」をあらかじめ生成しておくようにしてもよい。
【００２５】
このような場合、前記最適化手段又はステップは、ポリゴンの頂点における光線ベクトルを基にポリゴン内の各点についての投影平面上の座標値を光線ベクトルへ変換する変換関数を求めて、該変換関数を用いて特徴点における光線ベクトルを算出することができる。
【００２６】
また、前記最適化手段又はステップは、最適化の第１段階として、特徴点から光線ベクトルへの変換関数をポリゴン単位で計算して、該変換関数を固定したまま各特徴点における光線ベクトルに基づく情報の誤差が最小となるように画像フレーム単位を回転させて、撮影画像の投影平面上ではなく光線座標系で最適化処理を行うようにしてもよい。
【００２７】
また、前記最適化手段又はステップは、最適化の第２段階として、特徴点から光線ベクトルへの変換関数をポリゴン単位で計算するとともに、該変換関数を可変にして各特徴点における光線ベクトルに基づく情報の誤差が最小となるようにポリゴン単位で最適化処理を行うようにしてもよい。
【００２８】
また、前記最適化手段又はステップは、最適化の第３段階として、各画素が持つ光強度と、各画素が持つ信頼性と、出力フォーマット面上で各画素が持つ立体角とを考慮して、各画素における光線ベクトルに基づく情報の誤差が最小となるように画素単位で最適化処理を行うようにしてもよい。
【００２９】
また、本発明の第２の側面は、カメラによって撮影された画像フレームにおいて画素値が既知の複数の頂点で囲まれた点についての画素値を補間する画像処理装置又は画像処理方法であって、
撮影に使用したカメラによる投影平面上の補間対象点及びこれを囲む各頂点に投影される光線ベクトルを算出する光線ベクトル算出手段又はステップと、
各頂点の光線ベクトルを使って補間対象点の画素値を補間する画素値補間補間手段又はステップと、
を具備することを特徴とする画像処理装置又は画像処理方法である。
【００３０】
一般に、整数以外の点における画素値などは、線形補間などにより画素値が既知の複数の画素を利用して補間処理が行われる。このとき、撮影画像の投影平面上で補間を行うと、使用したカメラ・モデルＣやその歪みパラメータの影響を受けることになる。これに対し、本発明の第２の側面に係る画像処理装置又は画像処理方法のように光線ベクトルを用いて補間を行うことにより、これらからの影響を排除することができる。
【００３１】
また、本発明の第３の側面は、カメラにより撮影された複数の画像フレームを貼り合わせる処理をコンピュータ・システム上で実行するように記述されたコンピュータ・ソフトウェアをコンピュータ可読形式で物理的に格納した記憶媒体であって、前記コンピュータ・ソフトウェアは、
撮影に使用したカメラにより投影平面上の各点に投影される光線ベクトルをカメラ・モデルを基に求める光線ベクトル算出ステップと、
隣接する画像フレーム間で対応する特徴点における光線ベクトルに基づく情報の誤差が最小となるように画像の貼り合わせを最適化する最適化ステップと、
を具備することを特徴とする記憶媒体である。
【００３２】
また、本発明の第４の側面は、カメラによって撮影された画像フレームにおいて画素値が既知の複数の頂点で囲まれた点についての画素値を補間する処理をコンピュータ・システム上で実行するように記述されたコンピュータ・ソフトウェアをコンピュータ可読形式で物理的に格納した記憶媒体であって、前記コンピュータ・ソフトウェアは、
撮影に使用したカメラによる投影平面上の補間対象点及びこれを囲む各頂点に投影される光線ベクトルを算出する光線ベクトル算出ステップと、
各頂点の光線ベクトルを使って補間対象点の画素値を補間する画素値補間補間ステップと、
を具備することを特徴とする記憶媒体である。
【００３３】
本発明の第３及び第４の各側面に係る記憶媒体は、例えば、さまざまなプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ・ソフトウェアをコンピュータ可読な形式で提供する媒体である。このような媒体は、例えば、ＤＶＤ（Digital Versatile Disc）、ＣＤ（Compact Disc）やＦＤ（Flexible Disk）、ＭＯ（Magneto-Optical disc）などの着脱自在で可搬性の記憶媒体である。あるいは、ネットワーク（ネットワークは無線、有線の区別を問わない）などの伝送媒体などを経由してコンピュータ・ソフトウェアを特定のコンピュータ・システムに提供することも技術的に可能である。
【００３４】
本発明の第３及び第４の各側面に係る記憶媒体は、コンピュータ・システム上で所定のコンピュータ・ソフトウェアの機能を実現するための、コンピュータ・ソフトウェアと記憶媒体との構造上又は機能上の協働的関係を定義したものである。換言すれば、本発明の第３及び第４の各側面に係る記憶媒体を介して所定のコンピュータ・ソフトウェアをコンピュータ・システムにインストールすることによって、コンピュータ・システム上では協働的作用が発揮され、本発明の第１及び第２の各側面に係る画像処理装置又は画像処理方法と同様の作用効果を得ることができる。
【００３５】
また、本発明の第５の側面は、カメラにより撮影された複数の画像フレームを貼り合わせる処理をコンピュータ・システム上で実行するように記述されたコンピュータ・プログラムであって、
撮影に使用したカメラにより投影平面上の各点に投影される光線ベクトルをカメラ・モデルを基に求める光線ベクトル算出ステップと、
隣接する画像フレーム間で対応する特徴点における光線ベクトルに基づく情報の誤差が最小となるように画像の貼り合わせを最適化する最適化ステップと、
を具備することを特徴とするコンピュータ・プログラムである。
【００３６】
また、本発明の第６の側面は、カメラによって撮影された画像フレームにおいて画素値が既知の複数の頂点で囲まれた点についての画素値を補間する処理をコンピュータ・システム上で実行するように記述されたコンピュータ・プログラムであって、
撮影に使用したカメラによる投影平面上の補間対象点及びこれを囲む各頂点に投影される光線ベクトルを算出する光線ベクトル算出ステップと、
各頂点の光線ベクトルを使って補間対象点の画素値を補間する画素値補間補間ステップと、
を具備することを特徴とするコンピュータ・プログラムである。
【００３７】
本発明の第５及び第６の各側面に係るコンピュータ・プログラムは、コンピュータ・システム上で所定の処理を実現するようにコンピュータ可読形式で記述されたコンピュータ・プログラムを定義したものである。換言すれば、本発明の第３の側面に係るコンピュータ・プログラムをコンピュータ・システムにインストールすることによって、コンピュータ・システム上では協働的作用が発揮され、本発明の第１及び第２の各側面に係る画像処理装置又は画像処理方法と同様の作用効果を得ることができる。
【００３８】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【００３９】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施形態について詳解する。
【００４０】
本発明は、複数のカメラを用いて撮影された空間上の隣接する領域の撮影画像同士を貼り合せていくものであり、例えば、空間中のある１つの点が視点として周囲の画像を撮影するように複数台のカメラが設置して構成される全方位カメラ・システムにおいて各カメラの撮影画像を貼り合せていくような処理に適用することができる。
【００４１】
本発明では、２枚の画像間で画素値が一致しているかではなく、投影平面上の対応点に対する光線ベクトルに基づく情報の誤差を用いて画像の貼り合わせを行う。カメラ・モデル及びカメラの歪みパラメータをも考慮して光線ベクトルを生成することにより、同じカメラ・レンズや歪みパラメータを持つカメラを用いる必要がなく、異なるカメラ・モデルの撮影画像同士を貼り合わせるすることができる。勿論、画素値の比較ではなく対応画素間での光線ベクトルに基づく情報の誤差が最小となるように画像を貼り合わせるので、撮影画像をピンホール画像などに一旦変換する必要はなく、元の撮影画像から直接貼り合せていくことができるので、画素の劣化を抑制することができる。ここで言う光線ベクトルに基づく情報の誤差とは、例えば、２つの光線ベクトルのなす角を表したり、あるいは、各光線ベクトルが指し示す画素の輝度又は画素値の相違などのことを意味する。
【００４２】
図１には、本発明に係る画像処理の処理手順全体を概略的に示している。同図に示すように、この処理手順は、複数のカメラによる画像入力と、撮影画像の加工と、メッシュ・カメラ（後述）の作成と、画像の貼り合わせ、並びに画像保存で構成される。画像保存に際しては、画像の貼り合わせ時に使用したパラメータも合わせて保存しておく。
【００４３】
図２には、空間上の複数の領域を並行して撮影するカメラ・システムの一例としての全方位撮影装置の外観構成を示している。この全方位撮影装置は、所定の円周方向に略等間隔に配列された８台のカメラと、各カメラ毎にその視線方向に配設された８枚の平面鏡が８角錐上に配設された反射部とで構成される。ここで、各カメラの投影中心が全方位撮影装置の中央付近でほぼ一致するように、且つ、各カメラの視線方向が１つの水平面上で所定角度間隔を置くように、各カメラが配設されている。各平面鏡で反射された周囲の情景を、反射方向に向けられたカメラで撮影することにより、全方位撮影装置全体としては、水平方向３６０度の映像の鏡像を撮影することができる。各カメラの映像を反転、貼り合わせなどの処理を行うことにより、水平方向の全方位画像が得られる。本実施形態では、各カメラが同じカメラ・モデルであることや同じパラメータを共有することは必須ではない。
【００４４】
また、図２２には、他の実施形態に係る全方位撮影装置の外観構成を示している。この全方位撮影装置は、１２個の略正５角形の構成面からなる略正十二面体（Dodecahedron）形状のフレームと、該フレームの各面上に１台ずつ配備された１１台のカメラ…で構成される。各カメラは、周囲の風景のうち、それぞれが担当する領域を撮像して周囲画像の一部として供給することができる。台座の一側面からは、各カメラによる撮像画像データを外部出力するためのケーブル類が接続されている。各カメラの映像を貼り合わせることにより、全天球型の全方位画像が得られる。各カメラは、投影中心を持つピンホール・タイプのカメラであることが好ましいが、本実施形態では、カメラのモデルや歪みパラメータは任意でよい。勿論、正十二面体の各構成面上に配設されたカメラがすべて同じカメラ・モデルを持つ必要はない。
【００４５】
また、図３には、図２又は図２２に示したような全方位撮影装置から同時・並行して出力される複数の画像フレームを処理する全方位画像処理装置の構成を模式的に示している。同図に示すように、各カメラにそれぞれＶＴＲを接続することにより、合計８本の映像（及び音声）ストリームを記録することができる。これら記録された映像ストリームを、切換器を介してビデオ・キャプチャリングして、コンピュータ・データ（ビットマップ・ファイル）として、全方位画像処理装置に取り込むことができる。
【００４６】
この全方位画像処理装置内では、撮影画像の加工と、メッシュ・カメラの構築と、画像の貼り合わせ、画像保存などの画像処理が行われる。
【００４７】
撮影画像の加工とは、それぞれの撮影画像を、後続の画像処理工程で扱い易くするような加工・前処理を行う。例えば、図２に示したような撮影装置の場合、各カメラは反射ミラーによる反転画像を捕捉するようになっているので、それをさらに反転処理して元の画像に再現する。また、カラー、露出、コントラストなどの特性を量子化する。また、焦点、詳細部、端縁部の向上を図るとともに、高周波成分やその他の人工的な成分の除去、ガンマ色補正などを行う。
【００４８】
メッシュ・カメラは、画素値の比較ではなく、画素に投影される光線ベクトルの一致度で画像の貼り合わせ処理を行うために、本発明者によって新しく導入された概念である。メッシュ・カメラは、カメラの投影平面を無数のポリゴンに分割するとともに、ポリゴンの各頂点（ｘ，ｙ）とこれに対応する光線ベクトル（θφ極座標系で表すことにする）の対応関係で構成される。メッシュ・カメラはカメラ・モデル毎に構成が異なる（この場合のカメラ・モデルには、カメラの歪みパラメータを含んで扱うようにしてもよい）。メッシュ・カメラの具体的な構築方法については後述に譲る。
【００４９】
なお、メッシュ・カメラにおいては、ポリゴンの頂点以外の点については、投影平面上の位置（ｘ，ｙ）と対応する光線ベクトル（θ，φ）との関係は定義されない。頂点以外の点については、その点が含まれているポリゴンの各頂点を用いて補間処理される（後述）。
【００５０】
隣接する画像同士の貼り合せは、例えば、手動又は自動で各画像フレーム中から複数の特徴点を抽出して、特徴点の対応がとれているか否かに応じて処理がなされる。例えば、本出願人に既に譲渡されている特開２０００−２１５３１７号公報には、オーバーラップする２枚の画像フレームから対応する特徴点を自動的に抽出する画像処理方法及び画像処理装置について開示されている。すなわち、画像処理装置１０は、２以上の画像のそれぞれについての特徴点を抽出し、２以上の画像のうち、一の画像と他の画像との特徴点を比較してマッチングを行い、このマッチングの結果に基づいて、一の画像と他の画像との位置関係を変化させるように演算を行い、２以上の画像を合成する。
【００５１】
従来、画像フレーム間での特徴点の比較は、画素値を基に行うのが一般的であった。これに対し、本発明では、メッシュ・カメラを用いて特徴点の光線ベクトルを求め、対応点間で光線ベクトルに基づく情報の誤差が最小となるように貼り合せていくことを特徴とする。ここで言う光線ベクトルに基づく情報の誤差とは、例えば、２つの光線ベクトルのなす角を表したり、あるいは、各光線ベクトルが指し示す画素の輝度又は画素値の相違などのことを意味する。
【００５２】
撮影画像の投影平面上の画素値で特徴点を比較する場合には、カメラの歪みパラメータの影響を除去していなければ意味がなく、また、カメラ・モデルが相違する場合には画像同士を比較することさえ困難である。これに対し、本発明によれば、特徴点同士を光線ベクトルで比較しているので、画像の３次元的な位置関係を取り戻すことができ、カメラ・モデルの相違に影響されない。また、歪みパラメータの影響を考慮してメッシュ・カメラを構築することによって、歪みパラメータの影響を除去することができる。
【００５３】
図２１には、全方位画像処理装置として適用されるコンピュータ・システム１００の構成を模式的に示している。以下、この図を参照しながら、コンピュータ・システム１００について説明する。
【００５４】
システム１００のメイン・コントローラであるＣＰＵ（Central Processing Unit）１０１は、オペレーティング・システム（ＯＳ）の制御下で、各種のアプリケーションを実行する。ＣＰＵ１０１は、例えば、複数のカメラによる撮像画像の貼り合わせを行うための、各カメラのカメラ・モデルやレンズ歪みに基づくメッシュ・カメラの生成や、メッシュ・カメラを用いた画像貼り合わせの最適化処理などの画像処理を行うアプリケーション・プログラムを実行することができる。図示の通り、ＣＰＵ１０１は、バス１０８によって他の機器類（後述）と相互接続されている。
【００５５】
メモリ１０２は、ＣＰＵ１０１において実行されるプログラム・コードを格納したり、実行中の作業データを一時保管するために使用される記憶装置である。同図に示すメモリ１０２は、ＲＯＭなどの不揮発性メモリ及びＤＲＡＭなどの揮発性メモリの双方を含むものと理解されたい。
【００５６】
ディスプレイ・コントローラ１０３は、ＣＰＵ１０１が発行する描画命令を実際に処理するための専用コントローラである。ディスプレイ・コントローラ１０３において処理された描画データは、例えばフレーム・バッファ（図示しない）に一旦書き込まれた後、ディスプレイ１１１によって画面出力される。
【００５７】
入力機器インターフェース１０４は、キーボード１１２やマウス１１３などのユーザ入力機器をコンピュータ・システム１００に接続するための装置である。
【００５８】
ネットワーク・インターフェース１０５は、Ｅｔｈｅｒｎｅｔなどの所定の通信プロトコルに従って、システム１００をＬＡＮ（Local Area Network）などの局所的ネットワーク、さらにはインターネットのような広域ネットワークに接続することができる。
【００５９】
ネットワーク上では、複数のホスト端末（図示しない）がトランスペアレントな状態で接続され、分散コンピューティング環境が構築されている。ネットワーク上では、ソフトウェア・プログラムやデータ・コンテンツなどの配信サービスを行うことができる。例えば、複数のカメラによる撮像画像の貼り合わせを行うための、各カメラのカメラ・モデルやレンズ歪みに基づくメッシュ・カメラの生成や、メッシュ・カメラを用いた画像貼り合わせの最適化処理などの画像処理を行うアプリケーションを、ネットワーク経由でダウンロードすることができる。また、このような画像処理アプリケーションによって生成された全方位画像などの画像データや、最適化処理に用いるメッシュ・カメラに関するデータやその他のライブラリをネットワーク経由で配信することもできる。
【００６０】
外部機器インターフェース１０７は、ハード・ディスク・ドライブ（ＨＤＤ）１１４やメディア・ドライブ１１５などの外部装置をシステム１００に接続するための装置である。
【００６１】
ＨＤＤ１１４は、記憶担体としての磁気ディスクを固定的に搭載した外部記憶装置であり（周知）、記憶容量やデータ転送速度などの点で他の外部記憶装置よりも優れている。ソフトウェア・プログラムを実行可能な状態でＨＤＤ１１４上に置くことをプログラムのシステムへの「インストール」と呼ぶ。通常、ＨＤＤ１１４には、ＣＰＵ１０１が実行すべきオペレーティング・システムのプログラム・コードや、アプリケーション・プログラム、デバイス・ドライバなどが不揮発的に格納されている。
【００６２】
例えば、複数のカメラによる撮像画像の貼り合わせを行うための、各カメラのカメラ・モデルやレンズ歪みに基づくメッシュ・カメラの生成や、メッシュ・カメラを用いた画像貼り合わせの最適化処理などの画像処理を行うアプリケーション・プログラムを、ＨＤＤ１１４上にインストールすることができる。また、このような画像処理アプリケーションの処理対象となる撮影画像や、所定の出力フォーマットに貼り合わせられた画像、最適化処理に用いるメッシュ・カメラに関するデータやその他のライブラリをＨＤＤ１１４上に保存することもできる。
【００６３】
メディア・ドライブ１１５は、ＣＤ（Compact Disc）やＭＯ（Magneto-Optical disc）、ＤＶＤ（Digital Versatile Disc）などの可搬型メディアを装填して、そのデータ記録面にアクセスするための装置である。
【００６４】
可搬型メディアは、主として、ソフトウェア・プログラムやデータ・ファイルなどをコンピュータ可読形式のデータとしてバックアップすることや、これらをシステム間で移動（すなわち販売・流通・配布を含む）する目的で使用される。例えば、複数のカメラによる撮像画像の貼り合わせを行うための、各カメラのカメラ・モデルやレンズ歪みに基づくメッシュ・カメラの生成や、メッシュ・カメラを用いた画像貼り合わせの最適化処理などの画像処理を行うアプリケーションを、これら可搬型メディアを利用して複数の機器間で物理的に流通・配布することができる。また、このような画像処理アプリケーションの処理対象となる撮影画像や、所定の出力フォーマットに貼り合わせられた画像、最適化処理に用いるメッシュ・カメラに関するデータやその他のライブラリを、これら可搬型メディアを利用して複数の機器間で物理的に流通・配布することができる。
【００６５】
ビデオ・キャプチャ・カード１０９は、全方位撮影装置１１からの入力信号、すなわち切り換え器を介して接続される各ＶＴＲから再生されるビデオ信号をコンピュータ・データ（ビットマップ・ファイル）としてコンピュータ内に取り込むための装置である。
【００６６】
なお、図２１に示すようなコンピュータ１００の一例は、米ＩＢＭ社のパーソナル・コンピュータ"ＰＣ／ＡＴ（Personal Computer/Advanced Technology）"の互換機又は後継機である。勿論、他のアーキテクチャを備えたコンピュータを、本実施形態に係るコンピュータ１００として適用することも可能である。
【００６７】
メッシュ・カメラの構築
メッシュ・カメラは、画像の３次元的な位置関係を基に画素に投影される光線ベクトルの一致度により画像貼り合わせの最適化処理を行うために新しく導入された概念である。メッシュ・カメラは、カメラの投影平面を無数のポリゴンに分割するとともに、ポリゴンの各頂点（ｘ，ｙ）とこれに対応する光線ベクトル（θφ極座標系で表すことにする）の対応関係で構成される。
【００６８】
図４には、メッシュ・カメラを生成するための処理手順をフローチャートの形式で示している。
【００６９】
まず、ステップＳ１において、カメラ・モデルＣを取得する。カメラ・モデルＤの定義とは、投影平面上の点（ｘ，ｙ）に投影される光線ベクトル（θφ極座標系で表すことにする）を求めるＩｍａｇｅＴｏＲａｙ関数と、光線ベクトルθφから投影平面に投影される位置（ｘ，ｙ）を求めるＲａｙＴｏＩｍａｇｅ関数を定義することである。
【００７０】
次いで、ステップＳ２では、カメラの投影平面上にｋ１×ｋ２個の格子点からなるポリゴンを生成する。この結果、２（ｋ１−１）×（ｋ２−１）個の三角形とｋ１×ｋ２個の頂点が生成されたことになる。
【００７１】
次いで、ステップＳ３では、各頂点（ｉ，ｊ）について、ＩｍａｇｅＴｏＲａｙ関数を用いて対応する光線ベクトル（θ，φ）を逐次算出していく。
【００７２】
そして、ステップＳ４では、カメラの投影平面上の個々の頂点（ｘ，ｙ）とそのθφ極座標系で記述された光線ベクトル（φ，θ）との対応関係を記述したデータ（ｘ，ｙ，θ，φ）を生成する。このようにしてできた（ｘ，ｙ）⇔（θ，φ）対応表がメッシュ・カメラとなる。
【００７３】
メッシュ・カメラを用いることにより、カメラの投影平面上の任意の点における光線ベクトルを比較的高速に求めることができる。すなわち、メッシュ・カメラを用いることにより、２つの画像フレーム間で対応する点を光線ベクトルに基づく情報の誤差から求めることができるようになる。ここで言う光線ベクトルに基づく情報の誤差とは、例えば、２つの光線ベクトルのなす角を表したり、あるいは、各光線ベクトルが指し示す画素の輝度又は画素値の相違などのことを意味する。
【００７４】
メッシュ・カメラはカメラ・モデル毎に構成が異なる。メッシュ・カメラを定義することにより、多数の異なるカメラ・システム間で撮影画像の貼り合わせが可能となる。
【００７５】
メッシュ・カメラは、カメラ・モデルＣの定義であるＩｍａｇｅＴｏＲａｙ及びＲａｙＴｏＩｍａｇｅ関数を用いて計算することができる。以下では、幾つかのカメラ・モデルについてのＩｍａｇｅＴｏＲａｙ関数及びＲａｙＴｏＩｍａｇｅ関数について説明する。
【００７６】
ピンホール・カメラ
ピンホール・カメラは中心投影を基本とするので、焦平面（但し、焦点距離をｆとする）上の点（ｘ，ｙ，ｆ）と任意の投影平面上の対応点（Ｘ，Ｙ，Ｚ）との間には、下式が成立する。但し、投影中心を原点Ｏとする（図５を参照のこと）。
【００７７】
【数１】
0003975736.tif 000002
【００７８】
また、投影中心から点（ｘ，ｙ，ｆ）へ向かう光線ベクトルをθφ極座標表示したとき、θ及びφは下式のように書くことができる（図６を参照のこと）。
【００７９】
【数２】
0003975736.tif 000003
【００８０】
したがって、ピンホール・カメラにおいては、投影平面上の点（ｘ，ｙ）に投影される光線ベクトルを求めるＩｍａｇｅＴｏＲａｙ関数と、光線ベクトルθφから投影平面に投影される位置（ｘ，ｙ）を求めるＲａｙＴｏＩｍａｇｅ関数は、それぞれ下式のように書き表される。
【００８１】
【数３】
0003975736.tif 000004
【００８２】
魚眼レンズ
魚眼レンズの場合、レンズ中心を（Ｃx，Ｃy）とし、投影平面上の点（ｘ，ｙ）とレンズ中心の間の距離をｒとして（図７を参照のこと）、ｒの関数Ｆ（ｒ）を定義すると、投影平面上の点（ｘ，ｙ）に投影される光線ベクトルを求めるＩｍａｇｅＴｏＲａｙ関数と、光線ベクトルθφから投影平面に投影される位置（ｘ，ｙ）を求めるＲａｙＴｏＩｍａｇｅ関数は、それぞれ下式のように書き表される。
【００８３】
【数４】
0003975736.tif 000005
【００８４】
関数Ｆは下式のように定義される。
【００８５】
【数５】
0003975736.tif 000006
【００８６】
Ｔｓａｉのカメラ・モデル
Ｔｓａｉのカメラ・モデルは、レンズ歪みを考慮したレンズであり、すべてのカメラ・パラメータ、すなわち内部パラメータ、外部パラメータ、歪みパラメータを同時に算出することを可能とするものである（例えば、Roger Y. Tsai著の論文"An Efficient and Accurate Camera Calibration Technique for 3D Machine Vision"（1986,IEEE）を参照のこと）。
【００８７】
Ｔｓａｉのカメラ・モデルは、レンズの中心位置（Ｃx，Ｃy）と、投影平面のアスペクト比ａyと、半径方向の歪み係数κで定義される。これに対し、歪みのない理想的なピンホール・カメラのカメラ・モデルは、主点（ｐx，ｐy）と、ＸＹ各軸方向の焦点位置（ｆx，ｆy）で定義される。
【００８８】
図８には、Ｔｓａｉのカメラ・モデルにおけるＩｍａｇｅＴｏＲａｙ関数を求めるための処理手順をフローチャートの形式で示している。
【００８９】
まず、投影平面上において理想的なピンホールによって投影された点とＴｓａｉレンズによって投影された点（ｘ，ｙ）との関係を求める（ステップＳ１１）。なお、このステップでは、Ｔｓａｉモデルの投影平面上の点からピンホール画像上の対応座標を計算するが、ピンホール画像への画像変換を行う訳ではないので、画質劣化を生じない。
【００９０】
【数６】
0003975736.tif 000007
【００９１】
次いで、３次元上の単位球において光線ベクトルＰθ,φを設定する（ステップＳ１２）。３次元θφ極座標系の光線ベクトルＰθ,φをＸＹＺ直交座標系と同次座標で表現すると下式のようになる。
【００９２】
【数７】
0003975736.tif 000008
【００９３】
そして、点Ｐφ,θを基に、Ｔｓａｉのカメラ・モデルによる投影平面上の点（ｘ，ｙ）に対する光線ベクトルをθφ極座標系で表すことができる（ステップＳ１３）。
【００９４】
【数８】
0003975736.tif 000009
【００９５】
また、図９には、Ｔｓａｉのカメラ・モデルにおけるＲａｙＴｏＩｍａｇｅ関数を求めるための処理手順をフローチャートの形式で示している。
【００９６】
まず、光線ベクトルの単位球面上の極座標値（θ，φ）を３次元直交座標系上の位置Ｐθ,φに変換する（ステップＳ２１）。
【００９７】
【数９】
0003975736.tif 000010
【００９８】
次いで、この光線ベクトルＰθ,φを、以下の式に示すような理想的なピンホール座標値に変換する（ステップＳ２２）。
【００９９】
【数１０】
0003975736.tif 000011
【０１００】
そして、所定の多次元方程式を解くことによって、理想的なピンホール画像上の点からＴｓａｉモデルの原画像の座標（ｘ，ｙ）を計算する（ステップＳ２３）。なお、このステップでは、ピンホール画像上の座標位置Ｔｓａｉモデルの投影平面上の対応点を計算するが、ピンホール画像からの画像変換を行う訳ではないので、画質劣化を生じない。
【０１０１】
【数１１】
0003975736.tif 000012
【０１０２】
これは、以下の多次元方程式を解くことに相当する。
【０１０３】
【数１２】
0003975736.tif 000013
【０１０４】
多次元方程式の解が複数ある場合には、理想的な半径により近いものを選択する。次式には、選択された解を示している。
【０１０５】
なお、上記の式［数１２］では、歪みパラメータをκ１つで表しているが、使用したカメラが複数の歪みを持つ場合には、歪みパラメータの個数を増やすとともに、さらに高次の方程式を立てるようにしてもよい。
【０１０６】
【数１３】
0003975736.tif 000014
【０１０７】
変換関数（Transfer Function）ＷT
上述したメッシュ・カメラは、カメラ・モデルＣの投影平面上に設定された無数のポリゴンの各頂点位置（ｘ，ｙ）においては、其処へ投影する光線のベクトル（θ，φ）を求めたり、カメラ・モデルＣの光線ベクトルθφを与えると投影平面上の投影位置（ｘ，ｙ）を求めることができる。すなわち、メッシュ・カメラは、投影位置（ｘ，ｙ）と光線ベクトル（θ，φ）との対応表である。
【０１０８】
但し、メッシュ・カメラは、ポリゴンの頂点以外のデータを持たないので、頂点以外で特徴点が抽出される多くの場合にはメッシュ・カメラからその光線ベクトルを直接求めることはできない。このような場合には、特徴点を含むポリゴンの各頂点が持つ光線ベクトルを用いて、その内部の点についての光線ベクトルの幾何学的な補間処理を行う。
【０１０９】
例えば、図１０に示すように３つの頂点Ｖ1（ｘ1，ｙ1），Ｖ2（ｘ2，ｙ2），及びＶ3（ｘ3，ｙ3）からなるポリゴンＴの中に特徴点（ｘ，ｙ）が含まれているとする（すなわち、（ｘ，ｙ）∈Ｔ）。
【０１１０】
ここで、各頂点Ｖ1，Ｖ2，及びＶ3においてメッシュ・カメラにより定義されている光線ベクトルを３次元ＸＹＺ直交座標系でそれぞれＰ1（Ｘ1，Ｙ1，Ｚ1），Ｐ2（Ｘ2，Ｙ2，Ｚ2），Ｐ3（Ｘ3，Ｙ3，Ｚ3）とおく。但し、Ｐ1，Ｐ2，Ｐ3は、正規化された単位ベクトルであるとする。ここで、各光線ベクトルＰ1，Ｐ2，及びＰ3から各頂点Ｖ1，Ｖ2，及びＶ3のＸＹ座標をに変換することができる変換関数ＷTが近似的に成立すると仮定する。すなわち、
【０１１１】
【数１４】
0003975736.tif 000015
【０１１２】
このような場合、各式を足し合わせることにより、次式が導き出される。
【０１１３】
【数１５】
0003975736.tif 000016
【０１１４】
ここで、ＷTは、このポリゴンＴに属するすべての点（ｘ，ｙ）（∈Ｔ）を光線ベクトルＰθ,φから近似的に変換する変換関数である。変換関数ＷTは、例えば下式により求まる。
【０１１５】
【数１６】
0003975736.tif 000017
【０１１６】
また、ポリゴンＴ内の点（ｘ，ｙ）の光線ベクトルＰθ,φは、下式により求められる。
【０１１７】
【数１７】
0003975736.tif 000018
【０１１８】
画像の貼り合わせ（Ｒｅｇｉｓｔｒａｔｉｏｎ）
上述のようにして求められたメッシュ・カメラを用いて画像の貼り合わせを行う。
【０１１９】
画像の貼り合わせは、貼り合わせる２枚の画像フレームの各々から複数の特徴点を抽出するとともに、それぞれ対応する特徴点が持つ光線ベクトルに基づく情報の誤差が最小となるように最適化処理（Ｏｐｔｉｍｉｚａｔｉｏｎ）を行う。ここで言う光線ベクトルに基づく情報の誤差とは、例えば、２つの光線ベクトルのなす角を表したり、あるいは、各光線ベクトルが指し示す画素の輝度又は画素値の相違などのことを意味する。
【０１２０】
また、最適化処理は、▲１▼特徴点から得られる光線ベクトルを固定して、画像フレーム単位で行う第１の最適化と、▲２▼光線ベクトルすなわち変換関数ＷTも可変として、ポリゴン単位で行う第２の最適化と、▲３▼画像貼り合わせ後の出力フォーマットを考慮した画素単位で行う第３の最適化という、３段階の最適化を行う。
【０１２１】
まず、最初に最適化の原理について簡単に説明する。
【０１２２】
例えば図１１に示すように、所定の撮影空間上で隣接する画像フレームＩA及びＩBがあり、且つ、各画像フレームＩA及びＩBの各々から、複数の特徴点ａ1，ａ2，…及びｂ1，ｂ2，…が抽出されているとする。ここでは、説明の便宜上、特徴点ａ1，ａ2，…及びｂ1，ｂ2，…は、画像フレーム上のｘｙ２次元直交座標ではなく、特徴点における光線ベクトルであるとする。また、光線同じ添え字を持つ特徴点ａj及びｂjが対応しているとする。
【０１２３】
光線ベクトルａj及びｂjのなす角をαjとおくと、αjは光線ベクトルａj及びｂjの誤差に応じた大きさとなる（図１２を参照のこと）。例えば、特徴点ａjとｂjが正確に一致する場合には、αjはゼロになる。
【０１２４】
αjは下式により計算することができる。
【０１２５】
【数１８】
0003975736.tif 000019
【０１２６】
したがって、上式を評価関数とし、このαjが最小となるように画像をすり合わせることが最適化処理となる。
【０１２７】
また、隣接する画像フレームＩA及びＩB間で設定又は入力された特徴点がｆj個ある場合には、各特徴点毎に求められたαjの総和が最小となるように画像フレームＩA及びＩBをすり合わせることが最適化処理となる。下式では、正負の符号の影響をなくすために、２乗平均をとったものを評価関数としている。
【０１２８】
【数１９】
0003975736.tif 000020
【０１２９】
また、実際の全方位画像の撮影装置においては、３台以上のカメラすなわち画像フレームがあり、各画像フレームは、それぞれの辺毎に隣接画像フレームを持つ。図１３には、１０台のカメラＣ1，Ｃ2，…，Ｃ10からなる全方位画像の撮影装置において、各カメラの撮影画像フレームＩ1，Ｉ2，…，Ｉ10間での隣接関係を示している。
【０１３０】
同図において、実線で結ばれている画像フレーム同士が隣接関係にある。例えば、カメラＣ1の撮影画像フレームＩ1は、カメラＣ2の撮影画像フレームＩ2、カメラＣ3の撮影画像フレームＩ3、カメラＣ4の撮影画像フレームＩ4、及び、カメラＣ5の撮影画像フレームＩ5と隣接している。したがって、全方位画像を生成するためには、画像フレームＩ1は、隣接する他の４枚の画像フレームＩ2，Ｉ3，Ｉ4，Ｉ5の各々との間で画像すり合わせの最適化処理を行う必要がある。勿論、他のカメラＣ2…の撮影画像フレームＩ2…に関しても同様に、すべての隣接画像フレームとの間で最適化処理を行う必要がある。
【０１３１】
ここで、画像Ｉがｎ枚の画像フレーム｛Ｉ1，…，Ｉn｝からなり、画像Ｉはｍ個の境界Ｅ＝｛Ｅ1，…，Ｅm｝においてすり合わせを行う必要があり、また、各境界iＥにおいてｆj個の特徴点ですり合わせを行う場合には（iＥ＝｛iａj，iｂj｝ｆi）、上記の［数１９］で示した評価式ｃは、以下のように一般化される。
【０１３２】
【数２０】
0003975736.tif 000021
【０１３３】
上記の評価式ｃの最小値を求めるには、例えば、Ｌｅｖｅｍｂｅｒｇ−Ｍａｒｑｕａｄｔ最小化法を適用することができる（Levemberg-Marquadt最小化法に関しては、例えば、J. More著"The levemberg-marquadt algorithm, implementation and theory"（In G. A. Watson, editor, Numerical Analysis, Lecture Notes in Mathematics 630. Springer-Verlag, 1977）を参照されたい）。
【０１３４】
図１４には、隣接画像を貼り合わせるための画像貼り合わせの最適化処理手順をフローチャートの形式で示している。この最適化処理手順は、▲１▼特徴点から得られる光線ベクトルを固定して、画像フレーム単位で行う第１の最適化と、▲２▼光線ベクトルすなわち変換関数ＷTも可変として、ポリゴン単位で行う第２の最適化と、▲３▼画像貼り合わせ後の出力フォーマットを考慮した画素単位で行う第３の最適化という３段階の最適化に区分される。
【０１３５】
メッシュ・カメラを作成した後（前述）、まず、画像貼り合わせのための特徴点の入力を行う（ステップＳ３１）。特徴点の入力は自動又は手動のいずれでもよい。特徴点は、例えば、画素比較を行い易い高域成分の領域から選び出される。
【０１３６】
次いで、抽出された各特徴点についての光線ベクトルを算出する（ステップＳ３２）。この段階では、メッシュ・カメラの頂点以外の特徴点に関しては、特徴点を囲う複数の頂点においてメッシュ・カメラで定義されている光線ベクトルを基に算出された変換関数ＷTを用いて、特徴点の投影平面上のｘｙ座標値から直接求める。変換関数ＷTに関しては図１０及び［数１４］〜［数１７］を参照されたい。
【０１３７】
次いで、ステップＳ３３では、第１段階の最適化処理を行う。すなわち、隣接する各画像フレーム間で、対応する特徴点毎の光線ベクトルの誤差すなわち光線ベクトルのなす角αjを算出するとともに、それらの２乗平均を求めて、［数２０］に示したような評価式を形成する。そして、Levemberg-Marquadt最小化法などを用いて、評価式が最小となるように最適化を行う。
【０１３８】
但し、この第１段階の最適化処理では、ポリゴンの各頂点の光線ベクトルを固定して扱う。この結果、特徴点における光線ベクトルを求める変換関数ＷTを固定して、最適化が行われる。このことは、画像フレームが剛体として取り扱われることを意味し、画像フレーム単位で最適化処理を行うことに等しい。
【０１３９】
図２３には、水平方向の全方位撮影装置（図２を参照のこと）で撮影した複数の画像フレームをメッシュ・カメラを用いて画像フレーム単位で最適化処理して貼り合わせてできた３６０度の全方位画像を示している。但し、同図に示す例では、全方位画像を外側から眺望している。また、図２４には、図２３に示した全方位画像のうち所定の視野角で内側から眺望した様子を示している。また、図２５には、全天球型の全方位撮影装置（図２２を参照のこと）で撮影した複数の画像フレームをメッシュ・カメラを用いて画像フレーム単位で最適化処理して貼り合せてできた全天球型の画像を示している。
【０１４０】
次いで、ステップＳ３４では、第２段階の最適化処理を行う。この第２段階の最適化では、ポリゴンの各頂点の光線ベクトルを可変として取り扱い、ポリゴン単位で変換関数ＷTを変更することを許容する。このことは、ポリゴン単位で回転する成分を考慮することを意味し、ポリゴン単位で最適化処理を行うことに等しい。
【０１４１】
ステップＳ３４では、ステップＳ３３と同様に［数２０］を評価式に用いる。但し、ステップＳ３４では、画像フレーム全体の回転Ｒに加えて、ポリゴンの各頂点に定義されたパラメータθ及びφを変化させて、ポリゴン単位で各変換関数ＷTを変更するため、未知数が増大するので、Levemberg-Marquadt最小化法に代えて、Bundle Adjustment法を適用することが好ましいと思料する。なお、Bundle Adjustment法に関しては、例えばB. Triggs, P. McLauchlan, R. Hartley, A. Fitsgibbon共著の"Bundle Adjustment -- A Modern Synthesis"（Vision Algorithms: Theory and Practice, Springer Verlag, LNCS, pp.298-375, 2000）を参照されたい。
【０１４２】
次いで、ステップＳ３５では、第３段階の最適化処理を行う。この第３段階の最適化では、画素単位で最適化を行うことと、画像貼り合わせ後の出力フォーマットを考慮して最適化処理することを特徴とする。
【０１４３】
画素単位では画素値などのデータを持たないので、頂点データを基に補間を行う必要がある。一般には、投影平面上で画素補間を行うが、本実施形態では、投影平面ではなく光線ベクトルを用いて補間処理を行う。この補間処理のために"Ｉｎｔｅｒｐｏｌａｔｅ"という関数を用意する。Ｉｎｔｅｒｐｏｌａｔｅ関数は、投影平面上の座標値（ｘ，ｙ）及び使用するカメラ・モデルＣを引数とし、θφ極座標空間上で補間処理を行って、結果をθφ極座標値で返す。
【０１４４】
図１５には、Ｉｎｔｅｒｐｏｌａｔｅ関数の処理手順を簡潔にフローチャートの形式でまとめている。まず、カメラ・モデルＣを用いて画素位置（ｘ，ｙ）並びにその隣接画素の位置をθφ極座標空間に変換する（ステップＳ４１）。そして、θφ回転空間（単位球面）上でθ及びφの補間を行う（ステップＳ４２）。
【０１４５】
投影平面上で補間を行うと、使用したカメラ・モデルＣやその歪みパラメータの影響を受けるが、これに対し光線ベクトルを用いて補間を行うことにより、これらからの影響を排除することができる。
【０１４６】
図１６には、ピンホール・カメラの場合を例にとって光線ベクトルの補間を行う様子を示している。同図において、投影平面上において補間の対象となる位置（ｘ，ｙ）をＰx,yとし、これに隣接する各頂点をそれぞれＰX,Y、ＰX+1,Y、ＰX,Y+1、ＰX+1,Y+1とおく。このような場合、内分比αx及びαyは、下式のように表される。但し、主点を（ｐｘ，ｐｙ）とし、焦点距離を（ｆｘ，ｆｙ）とする。
【０１４７】
【数２１】
0003975736.tif 000022
【０１４８】
ここで、ＰX,Y及びＰX+1,Yを用いて補間した光線ベクトルＰYは、αxを用いて下式のように表される。
【０１４９】
【数２２】
0003975736.tif 000023
【０１５０】
また、ＰX,Y+1及びＰX+1,Y+1を用いて補間した光線ベクトルＰY+1は、αxを用いて下式のように表される。
【０１５１】
【数２３】
0003975736.tif 000024
【０１５２】
そして、これらＰY及びＰY+1、並びに内分比αyを用いて、光線ベクトルＰx,yを下式のように表すことができる。
【０１５３】
【数２４】
0003975736.tif 000025
【０１５４】
Ｐx,yをＲａｙＴｏＩｍａｇｅ関数を用いて投影平面上の画素位置（ｘ，ｙ）に変換することができる。
【０１５５】
出力フォーマットとは、複数の画像フレームを貼り合せてなる画像データをマッピングするフォーマットのことを意味する。例えば、全方位型の撮影装置が例えば図２に示したような１８０度の全周囲画像を撮影するタイプである場合には、円筒の表面を出力フォーマットにしてもよい。あるいは全点球型の画像を撮影するタイプである場合には、球面を出力フォーマットとすることができる。勿論、出力フォーマットが撮影装置の入力フォーマットと同じである必要は必ずしもない。
【０１５６】
図１７〜図２０には、同様の全方位画像の出力フォーマットを、それぞれ正四面体の表面、正２０面体の表面、正１２面体の表面、並びに球の表面とした場合のテクスチャ・マッピング例を示している。
【０１５７】
図１７〜図２０からも判るように、出力フォーマットは任意の非平面であり、原画像の画素位置に応じてマッピング後の立体角Ωは相違する。また、原画像の時点でも各画素が持つ信頼性ｗは区々である。
【０１５８】
そこで、本実施形態では、第３段階の最適化処理過程において、画素単位で最適化を行うに際して、ＩｍａｇｅＴｏＲａｙ関数を用いて画素位置（ｘ，ｙ）を光線ベクトルｒに変換して取り扱う。また、各画素ｒが持つ光強度を関数ｌ（ｒ）とし、各画素が持つ信頼性をｗ（ｒ）とする。この場合の評価式は、下式のように表すことができる。但し、出力フォーマットは、ｗ×ｈ画素サイズであり、原画像（カメラの台数）はｎとする。
【０１５９】
【数２５】
0003975736.tif 000026
【０１６０】
この評価式は、隣接画像フレーム間での対応する光ベクトルが持つ光強度の誤差の２乗を求めるものであり、計算に際して、各画素が持つ信頼性と、出力フォーマットに依存する出力フォーマットの原点と各画素で構成される立体角Ωi,jを考慮している。この評価式の最小値を求めることにより、画像のすり合わせの最適化を画素単位で行うことができる。
【０１６１】
なお、上記の評価式の最適化処理には、Levemberg-Marquadt最小化法（前述）を適用することができる。
【０１６２】
［追補］
以上、特定の実施形態を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【０１６３】
【発明の効果】
以上詳記したように、本発明によれば、複数のカメラを用いて空間上の隣接する領域を撮影した画像同士を好適に貼り合わせることができる、優れた画像処理装置及び画像処理方法、記憶媒体、並びにコンピュータ・プログラムを提供することができる。
【０１６４】
また、本発明によれば、レンズ歪みやカメラ・モデルが異なるさまざまなカメラの撮影画像を好適に貼り合わせ処理することができる、優れた画像処理装置及び画像処理方法、記憶媒体、並びにコンピュータ・プログラムを提供することができる。
【０１６５】
また、本発明によれば、レンズ歪みやカメラ・モデルが異なるさまざまなカメラの撮影画像を、ピンホール・カメラなど他のカメラモデルの撮影画像に変換したりして画像を劣化させることなく貼り合わせ処理することができる、優れた画像処理装置及び画像処理方法、記憶媒体、並びにコンピュータ・プログラムを提供することができる。
【図面の簡単な説明】
【図１】  本発明に係る画像処理の処理手順全体を概略的に示した図である。
【図２】  水平方向の全方位映像を得る全方位撮影装置の外観構成を示した図である。
【図３】  全方位撮影装置から同時・並行して出力される複数の画像フレームを処理する全方位画像処理装置の構成を模式的に示した図である。
【図４】  メッシュ・カメラを生成するための処理手順を示したフローチャートである。
【図５】  ピンホール・カメラのカメラ・モデルの定義を説明するための図である。
【図６】  ピンホール・カメラのカメラ・モデルの定義を説明するための図である。
【図７】  魚眼レンズのカメラ・モデルの定義を説明するための図である。
【図８】  Ｔｓａｉのカメラ・モデルにおけるＩｍａｇｅＴｏＲａｙ関数を求めるための処理手順を示したフローチャートである。
【図９】  Ｔｓａｉのカメラ・モデルにおけるＲａｙＴｏＩｍａｇｅ関数を求めるための処理手順を示したフローチャートである。
【図１０】  変換関数ＷTの算出方法を説明するための図である。
【図１１】  画像貼り合わせの最適化処理の原理を説明するための図である。
【図１２】  画像貼り合わせの最適化処理の原理を説明するための図である。
【図１３】  全方位画像の撮影装置における各撮影画像フレーム間での隣接関係を表した図である。
【図１４】  画像貼り合わせの最適化処理手順を示したフローチャートである。
【図１５】  Ｉｎｔｅｒｐｏｌａｔｅ関数の処理手順を簡潔にまとめたフローチャートである。
【図１６】  光線ベクトルの補間を行う様子を示した図である。
【図１７】  正四面体の表面を全方位画像の出力フォーマットにした場合のマッピング例を示した図である。
【図１８】  正２０面体の表面を全方位画像の出力フォーマットにした場合のマッピング例を示した図である。
【図１９】  正１２面体の表面を全方位画像の出力フォーマットにした場合のマッピング例を示した図である。
【図２０】  球の表面を全方位画像の出力フォーマットにした場合のマッピング例を示した図である。
【図２１】  全方位画像処理装置として適用されるコンピュータ・システム１００の構成を模式的に示した図である。
【図２２】  全天球型の全方位映像を得る全方位撮影装置の外観構成を示した図である。
【図２３】  水平方向の全方位撮影装置で撮影した複数の画像フレームをメッシュ・カメラを用いて画像フレーム単位で最適化処理して貼り合わせてできた３６０度の全方位画像を示した図である。
【図２４】  水平方向の全方位撮影装置で撮影した複数の画像フレームをメッシュ・カメラを用いて画像フレーム単位で最適化処理して貼り合わせてできた画像を示した図である。
【図２５】  全天球型の全方位撮影装置で撮影した複数の画像フレームをメッシュ・カメラを用いて画像フレーム単位で最適化処理して貼り合わせてできた全天球型の全方位画像を示した図である。
【図１】
0003975736.tif 000027
【図２】
0003975736.tif 000028
【図３】
0003975736.tif 000029
【図４】
0003975736.tif 000030
【図５】
0003975736.tif 000031
【図６】
0003975736.tif 000032
【図７】
0003975736.tif 000033
【図８】
0003975736.tif 000034
【図９】
0003975736.tif 000035
【図１０】
0003975736.tif 000036
【図１１】
0003975736.tif 000037
【図１２】
0003975736.tif 000038
【図１３】
0003975736.tif 000039
【図１４】
0003975736.tif 000040
【図１５】
0003975736.tif 000041
【図１６】
0003975736.tif 000042
【図１７】
0003975736.tif 000043
【図１８】
0003975736.tif 000044
【図１９】
0003975736.tif 000045
【図２０】
0003975736.tif 000046
【図２１】
0003975736.tif 000047
【図２２】
0003975736.tif 000048
【図２３】
0003975736.tif 000049
【図２４】
0003975736.tif 000050
【図２５】
0003975736.tif 000051