(57)【要約】【課題】撮像手段の位置を正しく推定し、好適な画像データの結合結果を得ることにある。【解決手段】制御部１０３は、カメラ１０１を移動させつつ、撮像処理を複数回実行させる。制御部１０３は、カメラ１０１により撮像された複数の画像データ間の重複領域を評価し、その評価結果に基づいて、複数の画像データの夫々に対応するカメラ１０１の位置を推定する。そして、制御部１０３は、推定してカメラ１０１の各位置に基づいて、複数の画像データの結合処理を実行する。【選択図】図１
2012118875.tif 000002
【特許請求の範囲】
【請求項１】
撮像手段が移動しつつ連続的に撮像した複数の画像データを結合する画像処理装置であって、
前記複数の画像データに対応する前記撮像手段に係る情報に基づいて、前記複数の画像データを３次元空間に配置する配置手段と、
前記配置手段により前記３次元空間に配置された前記複数の画像データを、前記３次元空間に仮定された平面に射影する射影手段と、
前記射影手段によって射影された前記複数の画像データ間の重複領域を評価する評価手段と、
前記評価手段による評価結果に基づいて、前記複数の画像データに対応する前記撮像手段の位置を推定する推定手段と、
前記推定手段により推定された前記撮像手段の各位置に基づいて、前記複数の画像データの結合処理を実行する結合手段とを有することを特徴とする画像処理装置。
【請求項２】
前記推定手段は、前記３次元空間における前記撮像手段の方向ベクトルとノルムとで前記撮像手段の位置を表現することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記評価手段は、前記撮像手段に係るレンズ収差補正処理及び前記結合手段に係るパース補正処理のうちの少なくとも何れか一方を考慮した評価関数を用いて、前記複数の画像データ間の重複領域を評価することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記複数の画像データのうち、最も撮影距離が近い画像データを基準画像データとし、前記推定手段は、前記基準画像データに近い画像データから順次、前記撮像手段の位置の推定処理を実行することを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記撮像手段に係る情報とは、前記撮像手段が設置される電動雲台の制御情報、及び、前記撮像手段の撮影時における設定情報のうちの少なくとも何れか一方を含むことを特徴とする請求項１乃至４の何れか１項に記載の画像処理装置。
【請求項６】
撮像手段が移動しつつ連続的に撮像した複数の画像データを結合する画像処理装置によって実行される画像処理方法であって、
前記複数の画像データに対応する前記撮像手段に係る情報に基づいて、前記複数の画像データを３次元空間に配置する配置ステップと、
前記配置ステップにより前記３次元空間に配置された前記複数の画像データを、前記３次元空間に仮定された平面に射影する射影ステップと、
前記射影ステップによって射影された前記複数の画像データ間の重複領域を評価する評価ステップと、
前記評価ステップによる評価結果に基づいて、前記複数の画像データに対応する前記撮像手段の位置を推定する推定ステップと、
前記推定ステップにより推定された前記撮像手段の各位置に基づいて、前記複数の画像データの結合処理を実行する結合ステップとを有することを特徴とする画像処理方法。
【請求項７】
撮像手段が移動しつつ連続的に撮像した複数の画像データを結合する画像処理装置によって実行される画像処理方法をコンピュータに実行させるためのプログラムであって、
前記複数の画像データに対応する前記撮像手段に係る情報に基づいて、前記複数の画像データを３次元空間に配置する配置ステップと、
前記配置ステップにより前記３次元空間に配置された前記複数の画像データを、前記３次元空間に仮定された平面に射影する射影ステップと、
前記射影ステップによって射影された前記複数の画像データ間の重複領域を評価する評価ステップと、
前記評価ステップによる評価結果に基づいて、前記複数の画像データに対応する前記撮像手段の位置を推定する推定ステップと、
前記推定ステップにより推定された前記撮像手段の各位置に基づいて、前記複数の画像データの結合処理を実行する結合ステップとをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、連続的に撮像された複数の画像データを結合する技術に関するものである。
【背景技術】
【０００２】
近年、電動雲台を駆動し、カメラの向きを変えながら複数枚の画像データを撮影し、撮影した画像データを結合することで、非常に多くの画素からなる画像データを生成するシステムが注目されている。このような撮影システムにおける一番大きな課題は、画像データ群の結合処理である。結合処理としては、画像データ端の類似度から隣り合う画像データを推定し、これを張り合わせる技術が知られている。しかしながら、被写体が均一な領域であったり、画像データの一部が平坦で画像データ間の差があまり無かったりする場合には、正しく隣接する画像データを特定することができず、好ましい結果を得ることができない。また、レンズ収差や被写体のパース等によって、単純な比較では対応点が取れない場合にも正しい結果にはならない可能性がある。
【０００３】
このような問題を解決するために、例えば特許文献１には次の手法が開示されている。即ち、特許文献１に開示される手法では、対象物とカメラとの相対的な回転角及びカメラの回転軸の位置が、複数の画像データを貼り合わせるための座標変換パラメータとして算出され、この座標変換パラメータに基づいて、複数の画像データが一つの座標系に変換されて画像データの合成が行われる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平７−１７４５３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に開示される手法では、隣接する画像データの重複領域における対応点を取り、画像データを貼り合わせる処理を行うので、例えば掛け軸の表装のような細かい繰り返しパターンがある場合に正しく結合できない可能性がある。一方、対応点を取らずに画像データを変形又は結合するためには、レンズの歪曲や周辺光量、倍率色収差の補正を適用することが必要となる。このようなレンズの収差は被写体距離によって様々に変化するため、特許文献１に開示されるように画像データ間の相対位置を算出するのではなく、正しいカメラの位置の推定が必要である。撮影時のカメラの位置を正しく推定することで、画像データ毎の被写体距離を正しく推定し、その距離に応じたレンズ補正処理を適用することが可能になる。また、撮影された画像データに対して回転又は平行移動等の座標変換を単純に適用しただけでは正しくパースを補正することはできない。正しくパースを補正するためにも、正しいカメラの位置の推定が必要となる。
【０００６】
そこで、本発明の目的は、撮像手段の位置を正しく推定し、好適な画像データの結合結果を得ることにある。
【課題を解決するための手段】
【０００７】
本発明の画像処理装置は、撮像手段が移動しつつ連続的に撮像した複数の画像データを結合する画像処理装置であって、前記複数の画像データに対応する前記撮像手段に係る情報に基づいて、前記複数の画像データを３次元空間に配置する配置手段と、前記配置手段により前記３次元空間に配置された前記複数の画像データを、前記３次元空間に仮定された平面に射影する射影手段と、前記射影手段によって射影された前記複数の画像データ間の重複領域を評価する評価手段と、前記評価手段による評価結果に基づいて、前記複数の画像データに対応する前記撮像手段の位置を推定する推定手段と、前記推定手段により推定された前記撮像手段の各位置に基づいて、前記複数の画像データの結合処理を実行する結合手段とを有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、撮像手段の位置を正しく推定し、好適な画像データの結合結果を得ることが可能になる。
【図面の簡単な説明】
【０００９】
【図１】実施形態に係る撮影システムの構成を示す図である。
【図２】図１の撮影システムの構成を詳細に示す図である。
【図３】撮影システムで生じ得る誤差を説明するための図である。
【図４】本実施形態における画像データの結合処理の概要について説明するための図である。
【図５】射影後画像データ群の一例を示す図である。
【図６】カメラの位置が異なる場合に撮影される被写体領域が異なることを説明するための図である。
【図７】第１の実施形態に係る撮影システムの処理を示すフローチャートである。
【図８】射影後画像データ群から画像データを選択する順序を説明するための図である。
【図９】評価値の算出方法の詳細について説明するための図である。
【図１０】第２の実施形態に係る撮影システムの処理を示すフローチャートである。
【図１１】第３の実施形態に係る撮影システムの処理を示すフローチャートである。
【図１２】重複領域の選択処理を示すフローチャートである。
【図１３】第４の実施形態における画像データの結合処理を示すフローチャートである。
【図１４】レンズ特性カーブの一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
【００１１】
先ず、第１の実施形態について説明する。図１は、第１の実施形態に係る撮影システムの構成を示す図である。図１において、１０１はカメラである。１０２は電動雲台である。これらの機材によって、カメラ１０１本体をＰＡＮ、ＴＩＬＴさせて被写体を撮影する。１０３はカメラ１０１の動作及び電動雲台１０２の回転動作を制御する制御部である。また、制御部１０３は、カメラ１０１が移動しながら連続的に撮影した画像データ群を結合処理し、超高解像度画像データを生成する処理を実行する。１０４は幅Ｗ、高さＨの大きさを持ち、カメラ１０１から距離Ｌの位置に設置された撮影対象の被写体である。なお、制御部１０３は、画像処理装置の適用例となる構成である。
【００１２】
図２は、図１の撮影システムの構成を詳細に示す図である。２０１は撮影光学系レンズである。２０２は結像した光学像を光電変換する撮像素子（ＣＣＤ等）である。２０３は撮像された電気信号に所定の処理を行うための信号処理部である。２０４は信号処理された画像データを記憶するための記憶部である。２０５は撮像された画像データ又は記憶された画像データを表示するための表示部（ＬＣＤ）である。２０６はカメラ１０１の動作を制御するカメラ制御部である。２０７はカメラ操作部である。２０８は電動雲台１０２を回転制御するためのステッピングモータである。２０９はモータドライバである。２１０はステッピングモータ２０８の回転動作を制御する雲台制御部である。２１１はホスト制御部（ホストコンピュータ）である。２１２はカメラ１０１への撮影指示や電動雲台１０２の回転角度を指定するためのホスト操作部である。２１３はホスト制御部における情報を表示するためのモニタである。２１４はカメラ１０１と制御部１０３とを繋ぐ通信ラインである。２１５は電動雲台１０２と制御部１０３とを繋ぐ通信ラインである。制御部１０３は、これら通信ラインを通して、カメラ１０１や電動雲台１０２へと制御信号を送ることで、これらの装置の動作制御を行う。なお、通信ライン２１４、２１５は有線でも無線でも構わない。
【００１３】
カメラ１０１において、撮影光学系レンズ２０１を介して撮像素子２０２上に結像した光学像は、信号処理部２０３により信号処理され、表示部２０５に表示される。カメラ操作部２０７によりシャッタ操作が行われるか、ホスト制御部２１１からシャッタコマンドが送られてくると、カメラ制御部２０６は現在撮像されている画像データを記憶部２０４に記憶させる。また、雲台制御部２１０は、ホスト制御部２１１より回転動作のコマンドが送られてくると、これに従って回転を行う。
【００１４】
本実施形態では、全ての画像データが隣接する画像データと重複するように電動雲台１０２を制御して複数回の撮影処理が行われる（以下、この撮影方法を分割撮影と称することがある）。本実施形態においては、このような分割撮影で得られる複数の画像データを結合することにより、撮影光学系レンズ２０１の画角に比べて大きい被写体を撮影することが可能となる。なお、電動雲台１０２のＰＡＮとＴＩＬＴとの角度がゼロの位置（ホームポジション）においても、カメラ１０１と被写体１０４とが正対するかどうかは保証されない。
【００１５】
図３は、このような撮影システムで生じ得る誤差を説明するための図である。誤差には大きく４つが考えられる。図３の（１）は、電動雲台１０２に対して指定された回転角度と実際の回転角度とのずれである。電動雲台１０２の駆動はギアを介して行われるが、バックラッシュ等により厳密に指定した角度分、カメラ１０１を駆動できる訳ではない。但し、電動雲台１０２に搭載するモータにエンコーダ等を設置することで、一定の精度で駆動することは可能である。
【００１６】
（２）は、電動雲台１０２に設置されたカメラ１０１の傾きである。特に、三脚座を使用してカメラ１０１を固定した場合、電動雲台１０２の旋回面に対して、カメラ１０１が撮影光学系レンズ２０１の光軸を中心として回転する方向に傾く可能性が高い。
【００１７】
（３）は、撮像素子２０２の中心と電動雲台１０２の回転中心とのずれである。電動雲台１０２にコンパクトカメラを備え付けた場合、コンパクトカメラの三脚のねじ穴位置と撮像素子の中心位置とに大きなずれは生じない。しかしながら、一眼レフカメラの場合、三脚座を使用してカメラを取り付ける場合があるため、大きくずれる可能性がある。（４）は、被写体１０４に対して正対となるカメラ１０１の位置とホームポジションにおけるカメラ１０１の位置とのずれである。
【００１８】
本実施形態では、上記のようなずれに対し、正しいカメラ１０１の位置を推定することで良好な画像データの結合結果を得るものである。まずカメラ１０１の位置の推定による画像データの結合処理の概要を図４、図５、図６を用いて説明し、その後に具体的な処理の流れを図７のフローチャートを用いて説明する。
【００１９】
先ず、図４を用いて、本実施形態における画像データの結合処理の概要について説明する。ここでは、説明の簡単のために、被写体を絵画のように平面で近似できるものとする。以下では被写体を近似した面を被写体面と称す。風景等、撮影距離が非常に大きい被写体についても同様に平面として扱うことができるため、本実施形態で述べる手法でそのまま対応可能である。また、予め被写体の形状が分かっている場合には、この形状に合わせた被写体面を構成してもよい。
【００２０】
被写体が平面であると仮定した場合、図４（ａ）のようなある３次元空間上に被写体を想定した被写体面４０１が設定され、この被写体面４０１上に画像データがマッピングされる。図４（ａ）では被写体面４０１と再構成平面４０２とが平行に描かれているが、必ずしも平行でなくても構わない。図４（ｂ）では説明の簡単のために、３次元空間をｚ軸方向から見た図を示している。被写体面４０１に配置された各画像データ５０１ａ〜ｅの被写体面４０１との角度は、撮影時のカメラ１０１の位置によって決まる。
【００２１】
以下、図４（ｂ）を用いて画像データの結合処理について説明する。例えば（Ａ）の位置から撮影した場合、ファインダ中心にピントが合うように撮影すると、撮影光学系レンズ２０１の画角から仮想ピント面Ｆａを設定することができる。ここで、仮想ピント面Ｆａ５０１ａはカメラ１０１によってピントを合わせた平面であり、カメラ１０１の位置から被写体を見た光景のうち、仮想ピント面Ｆａを含む領域が画像データに写り込むことになる。この場合、（Ａ）の位置にあるカメラ１０１は被写体面に対して正対していないため、実際に写る範囲は撮影範囲Ｒａ５０２の部分になる。
【００２２】
そこで、本実施形態では、図４（ａ）に示すような再構成平面４０２を設定し、被写体１０４から無限遠の位置、且つ視線方向を再構成平面４０２に正対した方向とするような視点からの被写体像を得るパース補正処理を施す。そして、パース補正処理後の画像データを並べることで結合された画像データを得る。以下、このようにして得られた画像データを射影後画像データと称す。例えば説明の簡単のため、撮影光学系レンズ２０１による歪みがないと仮定した場合、再構成平面４０２上の点Ｐａ’は、（Ａ）にあるカメラ１０１と被写体１０４との距離や撮影時の画角から、被写体面４０１上の点Ｐａの画素値となる。画像データはデジタル化されたビットマップデータであり、点Ｐａの座標は必ずしも整数値になるとはいえないが、整数値にならない場合には近傍画素を補間して画素値を算出する。ここで、図４（ｂ）の（Ｂ）のように、ＡＦに使用されたフレーム５０１ｄにおける焦点が当該フレームの中心にない場合には、焦点が被写体面４０１上に配置されるように仮想ピント面が設定される。
【００２３】
このようにして得られた射影後画像データ群の一例を図５（ａ）に示す。射影後画像データ間には重複領域が生じるが、この重複領域に対してブレンド処理を適用することで射影後画像データ間の境界部分に違和感の無い超解像度画像データを得ることが可能になる。
【００２４】
以上で述べたような方法により再構成平面４０２上に画像データを射影し、複数の画像データを結合することが可能になる。しかしながら、実際に撮影では図３に示したような誤差が生じる。そこで、本実施形態では、重複する射影後画像データ間の重複領域部分の誤差を評価し、この誤差が最小になるようなカメラ１０１の位置を推定する。例えば本実施形態では、図５（ｂ）に示すように、隣接する射影後画像データの重複領域について、画素値の平均二乗誤差（ＭＳＥ）を算出し、この値を誤差とする。
【００２５】
本実施形態では、重複領域の誤差を最小化するために、３次元空間上に配置した画像データの相対位置を直接変更するのではなく、カメラ１０１の位置を推定する。例えば図６に示すように、カメラ１０１の位置が異なる場合、撮影される被写体領域は異なる。図６（ａ）のＡ１はカメラ１０１の位置が（ａ１）の場合の仮想ピント面であり、Ａ２はカメラ１０１の位置が（ａ２）の場合の仮想ピント面である。この場合、被写体面４０１上での撮影領域はそれぞれＡ１’、Ａ２’となる。射影後画像データ同士の重複領域の誤差があるということは、撮影領域として想定した領域に誤差があるということなので、その原因となるカメラ１０１の位置を補正することで対応する。実際には撮影光学系レンズ２０１による像の歪み（歪曲収差、倍率色収差、周辺減光等）が生じるが、これらの特性は撮影距離Ｌ１、Ｌ２によって変化する。このような歪みが生じている場合、正しく誤差を評価することができなくなるので、撮影距離に応じたパラメータによるレンズ収差補正処理を適用する。なお、レンズ収差補正処理については、後述する。
【００２６】
カメラ１０１の位置は、撮影距離だけではなく、３次元空間上の位置と各軸に対する回転方向の６パラメータとで定義できる。例えば、図６（ｂ）に示すように、カメラ１０１の位置（ａ１）と位置（ａ３）のようにカメラ１０１の位置が異なると、それぞれの位置における被写体面４０１の撮影領域が大きく異なる。このような場合でも、撮影時のＡＦの際に使用したフレームにおける焦点を被写体面４０１上に配置するように限定することで、仮想ピント面の移動範囲を制限し、現実的な処理時間で最適な状態を探索できる。
【００２７】
以上説明した画像データの結合処理を実現するための処理の流れについて説明する。本実施形態では、射影後画像データ群の中からまず１枚、基準画像データを決定する。次に、基準画像データに近い順に画像データを選択し、選択した画像データに対するカメラ１０１の位置の推定処理を行う。基準画像データの決定方法にはいくつかの方法が考えられるが、例えば本実施形態では、ホームポジションで撮影された画像データを基準画像データとする。他の決定方法としては、カメラ１０１の位置情報から各画像データの撮影距離を得て、撮影距離が最小となる画像データを基準画像データとする方法も考えられる。
【００２８】
例えば図８に示すような射影後画像データ群について、画像データ８を基準画像データとした場合、基準画像データの中心に対して各射影後画像データの中心が近い順に画像データが選択される。図８に示す射影後画像データ群の場合、画像データ７、画像データ９、画像データ１１、画像データ５、画像データ１０、画像データ１２、・・・のように画像データが選択される。
【００２９】
上述したように、本実施形態においては、推定したカメラ１０１の位置の確からしさは隣接する画像データとの重複領域の差分によって評価される。但し、評価には、基準画像データ、あるいは既にカメラ１０１の位置の推定処理が終わった画像データとの重複領域のみが使用される。例えば、画像データ７についてカメラ１０１の位置の推定処理を適用する場合には、画像データ８との重複領域のみを用いて推定処理が実行される。また、画像データ５についてカメラ１０１の位置の推定処理を実行する場合には、画像データ７、画像データ８、画像データ９との重複領域を用いて推定処理が実行される。このように、基準画像データ、あるいは既にカメラ１０１の位置の推定処理が終わった画像データとの重複領域のみを使用して推定処理が実行されることで、画像データ群全体の推定処理に必要な計算量を低減することができる。
【００３０】
図７は、本実施形態に係る撮影システムの処理を示すフローチャートである。先ずステップＳ７０１において、制御部１０３は、基準画像データを選択する。ステップＳ７０２において、制御部１０３は、カメラ１０１の位置の推定処理を適用する画像データを選択する。画像データの選択方法は上述した通りである。ステップＳ７０３において、制御部１０３は、撮影時におけるカメラ１０１の設定情報や電動雲台１０２の制御情報に基づいて、カメラ１０１の位置の初期状態を決定する。ステップＳ７０４において、制御部１０３は、ステップＳ７０３で得たカメラ１０１の位置の初期状態に対応する撮影距離に基づいて、画像データに対してレンズ収差補正処理を実行し、カメラ１０１の位置に応じた再構成平面への射影処理を行う。レンズ収差補正処理の詳細については本発明の主眼ではないので説明を省略するが、例えば特開２００９−０４３０６０号公報に開示されている方法を適用することができる。この文献では、レンズ収差が撮影距離によっても変化することについて触れられていないが、実際には撮影距離によってもレンズの特性は変化することが知られている。そこで本実施形態では、レンズ特性値データベースを設ける。制御部１０３は、このレンズ特性値データベースから撮影距離、焦点距離、ｆ値、レンズの種類を用いてレンズ収差補正処理用ルックアップテーブルを検索し、検索によって得たルックアップテーブルに基づいて画像データを補正する。このうち、撮影距離はカメラ１０１の位置に応じて変化するので、撮影距離が変化した場合には、レンズ収差補正処理用ルックアップテーブルを再検索して正しい補正結果が得られるようにする必要がある。
【００３１】
ステップＳ７０５において、制御部１０３は、ステップＳ７０４で実行した射影処理の結果生じた重複領域の評価値を算出する。評価値は、重複領域の評価値の算出処理の詳細は後述する。ステップＳ７０６において、制御部１０３は、予め定められた処理に従ってカメラ１０１の位置を更新する。制御部１０３は、撮影時の状態を基準値とし、±１００段階でパラメータ値を変化させ、総当りで最適解を探索する。撮影時のカメラ１０１の位置は、３次元空間上での位置、及び、各軸を中心としたピッチ、ヨー、ロールで定義できる。本実施形態では、実空間で１ｍｍ刻み（±１０ｃｍ）、回転方向は０．０１度刻みで状態を変化させ、最適な位置を算出する。本実施形態では、総当りで最適位置を探索するが、遺伝的アルゴリズムやニューラルネットワークを用いて高速に最適解を探索してもよいことはいうまでもない。
【００３２】
ステップＳ７０７において、制御部１０３は、修正したカメラ１０１の位置に応じたレンズ収差補正処理、再構成平面への射影処理を実行する。ステップＳ７０８において、制御部１０３は、更新された重複領域に対してステップＳ７０５と同様に評価値を算出する。ステップＳ７０９において、制御部１０３は、算出した評価値が最小値であるか否かを判定する。評価値が最小値である場合、処理はステップＳ７１０に移行する。一方、評価値が最小値ではない場合、ステップＳ７１０をスキップして処理はステップＳ７１１に移行する。ステップＳ７１０において、制御部１０３は、最適カメラ位置情報を最小値の評価値に対応するカメラ１０１の位置に更新する。ステップＳ７１１において、制御部１０３は、推定処理の終了条件を満たしているか否かを判定する。推定処理の終了条件を満たしている場合、処理はステップＳ７１２に移行する。一方、推定処理の終了条件を満たしていない場合、処理はステップＳ７０６に戻り、制御部１０３は、カメラ１０１の位置を再度修正してカメラ１０１の位置の推定処理を再実行する。本実施形態では最適解を総当りで探索するため、終了条件は全てのパラメータ値の組み合わせについて実行したかどうか、ということになる。その他の終了条件としては、予め定めた誤差量を下回ったかどうかという条件も考えられる。
【００３３】
ステップＳ７１２の時点では、カメラ１０１の位置は最適化済みであるため、制御部１０３は、この最適化されたカメラ１０１の位置（最適カメラ位置情報）を用いて射影後画像データを求め、この画像データに対応するカメラ１０１の位置を確定する。ステップＳ７１３において、制御部１０３は、全ての画像データに対してカメラ１０１の位置の推定処理が完了したか否かを判定する。全ての画像データに対してカメラ１０１の位置の推定処理が完了した場合、処理を終了する。一方、カメラ１０１の位置の推定処理が完了していない画像データが存在する場合、制御部１０３は、ステップＳ７０２へ戻って処理を続行する。
【００３４】
次に、図９を用いて、評価値の算出方法の詳細について説明する。例えば２枚の射影後画像データＡ、Ｂが図９（ａ）のように配置されたとする。カメラ１０１の位置の微妙なずれやパースの影響を受けて再構成平面上に射影されるため、画像データＡ、Ｂの画素の中心位置は一致しない可能性が高い。それだけでなく、画素サイズ（隣接画素の中心間距離）が異なる場合もある。そこで、図９（ｂ）のように、画像データＡと画像データＢとの間に仮想重複領域を設定する。画像データＡ、Ｂは、同一の再構成平面上に射影されているので、図９（ｂ）に示したような空間がある訳ではないが、画像データＡと画像データＢとの間に仮想重複領域を設定することで、微妙にずれた画素を比較することが可能になる。仮想重複領域の解像度は任意に設定可能であるが、本実施形態では画像データＡと画像データＢとの画素サイズの平均となるような解像度に設定する。
【００３５】
例えば、図９（ｂ）の場合、仮想重複領域上の画素Ｐに対応する画像データＡ上の座標をＰＡ、画像データＢ上の座標をＰＢとする。座標ＰＡ及びＰＢは、各画像データ上の画素の中心とずれた位置に存在するため、近傍画素を補間して画素値が算出される。本実施形態では、図９（ｂ）に示したように４近傍画素を用いてバイリニア補間で画素値が決定される。さらに参照画素を増やしてバイキュービック補間等の補間処理を行ってもよいことはいうまでもない。
【００３６】
制御部１０３は、このようにして算出した画素ＰＡ、ＰＢの差を計算することで、仮想重複領域上の画素Ｐの誤差量を決定することができる。制御部１０３は、仮想重複領域を構成する全ての画素について、誤差量を算出して平均二乗誤差（ＭＳＥ；Mean Square Error）を求め、この値を評価値とする。そして、制御部１０３は、図７のフローチャートに示した処理により、カメラ１０１の位置を少しずつ変更しながら評価値が最小になるようなカメラ１０１の位置を探索する。これにより、正しいカメラ１０１の位置の推定に基づく画像データの結合処理を実現することができる。
【００３７】
本実施形態によれば、カメラ１０１の位置を正しく推定し、好適な画像データの結合結果を得ることが可能になる。
【００３８】
次に、第２の実施形態について説明する。第２の実施形態に係る撮影システムの構成も図１、図２に示した構成と同様であるため、図１、図２の符号を引用して第２の実施形態の説明を行うものとする。第１の実施形態では、基準画像データを設定し、これに近い画像データから順にカメラ１０１の位置の推定処理を実行することで、分割撮影によって得られた画像データ群を結合する処理について説明した。この方法を用いると、一回の推定処理に必要な計算量が少なくて済むので、トータルでの処理時間が短くて済むという利点がある。しかしながら、第１の実施形態のように個別にカメラ１０１の位置を確定していくと、ローカルミニマム（局所解）に陥る可能性が生じる。例えば、基準画像データから遠い位置にある画像データについては、誤差が蓄積された結果、どのようにカメラ１０１の位置を設定しても画像データが綺麗に結合できなくなる可能性がある。
【００３９】
そこで本実施形態では、画像データ全ての重複領域に関する総合評価値を算出し、この総合評価値を最小化することで、各画像データに対するカメラ１０１の位置の推定を実行する。このような方法を用いることで、指定された探索条件の中での最適解を得る。
【００４０】
図１０は、第２の実施形態に係る撮影システムの処理を示すフローチャートである。ステップＳ１００１において、制御部１０３は、各画像データについて、撮影時におけるカメラ１０１の設定情報や電動雲台１０２の制御情報に基づいて、カメラ１０１の位置の初期状態を推定する。そして、制御部１０３は、各画像データについて得られたカメラ１０１の位置の初期状態に対応する撮影距離に基づいて、各画像データに対してレンズ収差補正処理を実行し、カメラ１０１の位置に応じた再構成平面への射影処理を行うことにより画像データ群を結合する。ステップＳ１００２において、制御部１０３は、画像データ群を結合させた結果生じた各重複領域の評価値の平均値を、画像データ群全体の総合評価値として算出する。
【００４１】
ステップＳ１００３において、制御部１０３は、撮影時の状態を基準値とし、±１００段階でパラメータ値を変化させて、各画像データに対応するカメラ１０１の位置を更新する。ステップＳ１００４において、制御部１０３は、ステップＳ１００３で更新したカメラ１０１の位置に応じた各画像データの再構成平面への射影処理を行うことにより画像データ群を結合する。ステップＳ１００５において、制御部１０３は、画像データ群を結合させた結果生じた各重複領域の評価値を算出する。ステップＳ１００６において、制御部１０３は、各重複領域の評価値の平均値を、画像データ群全体の総合評価値として算出する。
【００４２】
ステップＳ１００７において、制御部１０３は、ステップＳ１００６にて算出した総合評価値がこれまでの処理過程のなかで最小値の総合評価値であるか否かを判定する。最小値の総合評価値である場合、処理はステップＳ１００８に移行する。一方、最小値の総合評価値でない場合、処理はステップＳ１００８をスキップしてステップＳ１００９に移行する。
【００４３】
ステップＳ１００８において、制御部１０３は各画像データに対応する最適なカメラの位置を、ステップＳ１００３で算出した各画像データに対応するカメラ１０１の位置に更新する。即ち、ここでは、最適カメラ位置情報が最小値の総合評価値に対応するカメラ１０１の位置に更新される。ステップＳ１００９において、制御部１０３は、カメラ１０１の位置の推定処理の終了条件を満たしているか否かを判定する。本実施形態では、総合評価値が予め定めた値よりも小さい値であることをカメラ１０１の位置の推定処理の終了条件とする。終了条件を満たしていない場合、処理はステップＳ１００３へ戻り、カメラ１０１の位置の推定処理が継続される。一方、終了条件を満たしている場合、処理はステップＳ１０１０に移行する。ステップＳ１０１０において、制御部１０３は、この時点における各画像データに対応する最適なカメラの位置（最適カメラ位置情報）を用いて画像データ群を再構成平面上に射影し、画像データ群を結合させる。
【００４４】
本実施形態によれば、画像データ群全体に関する総合評価値が最小になるようなカメラ１０の位置を探索することで、ローカルミニマムに陥らずに最適な結果を得ることが可能になる。
【００４５】
次に、第３の実施形態について説明する。第３の実施形態に係る撮影システムの構成も図１、図２に示した構成と同様であるため、図１、図２の符号を引用して第２の実施形態の説明を行うものとする。第２の実施形態では、分割撮影によって得た画像データ群全体について誤差を評価することで、画像データの位置に因らず好適な結合結果を得る方法について述べた。しかしながら、第２の実施形態では、計算量が非常に多くなり、現実的な時間では処理が終わらない可能性がある。
【００４６】
ここで、図３に示すような撮影システムで生じ得る誤差を見てみると、例えば（２）の電動雲台１０２に設置されたカメラ１０１の傾きについては、全ての画像データで同じ誤差となる可能性が高い。また、（３）の撮像素子２０２の中心と電動雲台１０２の回転中心とのずれについても、一回の分割撮影中で変化することは考えにくい。一方、図３の（１）で示した電動雲台１０２に対して指定された回転角度と実際の回転角度とのずれや、画像データ毎の撮影距離等、画像データ毎に異なる誤差もある。そこで、画像データ群全体で共通となるグローバルな誤差と、画像データ毎に異なるローカルな誤差とを分けて考える。具体的には、重複領域のいくつかを選択してグローバルな誤差に起因する第１のパラメータを推定し、画像データ全てについて補正処理を適用した後、ローカルな誤差に起因する第２のパラメータを推定し、画像データ毎に補正処理を適用する。このような処理により、複数ある誤差の組み合わせの数を低減し、計算量を低減することができる。例えば、ある重複領域について、パラメータが４つである場合に総当りで最適解を求めようとすると、約１６億回の評価値算出処理が必要になる。しかしながら、このうち１つのパラメータをグローバルな誤差として別に算出すると、残りの３つのパラメータについては８００万回の評価値算出処理を実行するだけでよく、大幅に演算量を低減することができる。
【００４７】
図１１は、第３の実施形態に係る撮影システムの処理を示すフローチャートである。本実施形態においては、第１のパラメータとしてカメラ１０１の傾き（図３の（２））を補正した後、第２のパラメータとして残りのパラメータを補正するものとする。
【００４８】
ステップＳ１１０１において、制御部１０３は、各画像データについて、撮影時におけるカメラ１０１の設定情報や電動雲台１０２の制御情報に基づいて、カメラ１０１の位置の初期状態を推定する。そして、制御部１０３は、各画像データについて得られたカメラ１０１の位置の初期状態に対応する撮影距離に基づいて、各画像データに対してレンズ収差補正処理を実行し、カメラ１０１の位置に応じた再構成平面への射影処理を行うことにより画像データ群を結合する。
【００４９】
ステップＳ１１０２において、制御部１０３は、この初期状態で得た重複領域のうち、特徴的な重複領域を最大ｎ箇所選択する。ステップＳ１１０３において、制御部１０３は、選択した重複領域の誤差が最小になるような第１のパラメータを推定する。ステップＳ１１０４において、制御部１０３は、ステップＳ１１０３で得た第１のパラメータによって、各画像データに対応するカメラ１０１の位置を補正する。例えば本実施形態では、この段階でカメラ１０１設置時におけるカメラ１０１の傾きを補正することができる。
【００５０】
ステップＳ１１０５において、制御部１０３は、残りの誤差に対応する第２のパラメータの推定を行う。ステップＳ１１０６において、制御部１０３は、ステップＳ１１０５で得た第２のパラメータによって、各画像データに対応するカメラ１０１の位置を補正する。ステップＳ１１０７において、制御部１０３は、各画像データに対応するカメラ１０１の位置に応じて画像データ群を再構成平面へ射影し、画像データ群の結合処理を実行する。
【００５１】
ここで、第１のパラメータは、全ての画像データの重複領域を用いて推定されるのではなく、一部の重複領域を選択して推定される。第１のパラメータは一括で全ての画像データに対応するカメラ１０１の位置に影響するので、ステップＳ１１０２において制御部１０３はできるだけ特徴的な重複領域を選択し、正しいカメラ１０１の位置の推定結果を得る必要がある。ここで、エッジ強度が大きい方が正しく誤差を推定できるが、例えば掛け軸の表装のような繰り返しパターンは誤判定の原因になることから、次のような条件を満たす重複領域が優先して選択される。
・エッジ強度が大きい
・一つの重複領域内で検出されるエッジ数が少ない
・一定以上の面積を持つ
【００５２】
図１２は、図１１のステップＳ１１０２の詳細を示すフローチャートである。ステップＳ１２０１において、制御部１０３は、重複領域のうちの一定サイズ以上の重複領域を抽出する。例えば幅、高さの両方が５０画素以上の重複領域が選択される。本実施形態では、重複領域のサイズを幅と高さとで評価したが、例えば画素数で評価してもよいことはいうまでもない。さらに、ここで重複領域が一つも選択されなかった場合、重複領域が選択されるまで条件を変えて繰り返し試行してもよいし、選択されなかった場合には通常の処理（例えば、第１、第２の実施形態で説明した処理）に切り替えるということも考えられる。
【００５３】
ステップＳ１２０２において、制御部１０３は、ステップＳ１２０１で選択した各重複領域についてエッジ検出処理を実行する。ステップＳ１２０３において、制御部１０３は、エッジ検出処理の結果に基づいて、各重複領域のエッジ評価値を算出する。本実施形態におけるエッジ評価値Ｅｉは、次の式１のように、エッジ強度値Ｖと検出エッジ数Ｎとで算出される値である。
Ｅｉ＝ｆ（Ｖ，Ｎ）・・・式１
【００５４】
例えば本実施形態では、エッジ検出処理にはソーベルフィルタが用いられる。先ず、制御部１０３は、ソーベルフィルタを適用して得られた各画素のエッジ強度値をソートして、上位１０％のエッジ強度値の平均値をエッジ強度値Ｖとする。検出エッジ数を得る処理は、例えばハフ変換を応用し、重複領域内の直線の数を得る方法が考えられる。しかしながら、検出エッジ数を算出する処理は比較的重い処理になるので、簡単のためにエッジ画素の割合で代用してもよい。例えば本実施形態では、重複領域中のエッジ画素の割合で定義する。エッジ画素かどうかの判定は、予め定めたエッジ強度値に対する閾値処理によって行われる。例えば本実施形態では、エッジ評価値Ｅｉを次の式２で定義する。
Ｅｉ＝Ｖ／Ｎ・・・式２
【００５５】
ステップＳ１２０４において、制御部１０３は、エッジ評価値Ｅｉによって重複領域をソートする。ステップＳ１２０５において、制御部１０３は、ソート結果の上位ｎ枚の重複領域を選択する。上述したように本実施形態ではｎ＝５とする。
【００５６】
本実施形態によれば、推定対象となるパラメータを２つに分けて処理することで、非常に高速にカメラ１０１の位置を推定し、画像データの結合処理を実行することが可能になる。
【００５７】
次に、第４の実施形態について説明する。第４の実施形態に係る撮影システムの構成も図１、図２に示した構成と同様であるため、図１、図２の符号を引用して第２の実施形態の説明を行うものとする。分割撮影によって得られる画像データの枚数に応じて、第１〜第３の実施形態のうちの何れの実施形態の方法で画像データ群を結合するか切り換えることも考えられる。例えば、分割撮影によって得られた画像データが水平方向にｎ枚以下、垂直方向にｎ枚以下の両方を満たす場合、第１の実施形態の方法で画像データを結合し、そうでない場合、第２又は第３の実施形態の方法で画像データを結合する、という処理等が考えられる。ここで、ｎの値は本実施形態では３とする。
【００５８】
図１３は、第４の実施形態における画像データの結合処理を示すフローチャートである。以下の説明においては、第１の実施形態のように基準画像データを設定し、これに近い画像データからカメラ１０１の位置の推定を行う処理を、局所最適化処理と称す。また、第２の実施形態のように、結合対象の画像データ全てに対応するカメラ１０１の位置が最適になるようにカメラ１０１の位置の推定処理を実行する方式を、全体最適化処理と称す。
【００５９】
ステップＳ１３０１において、制御部１０３は、分割撮影によって得られる画像データの枚数に応じて、局所最適化処理を実行するか、全体最適化処理を実行するかを判定する。即ち、分割撮影によって得られた画像データが水平方向に３枚以下、垂直方向に３枚以下の両方を満たす場合、処理はステップＳ１３０２に移行する。一方、そうでない場合、処理はステップＳ１３０３に移行する。ステップＳ１３０２において、制御部１０３は、局所最適化処理を実行する。ステップＳ１３０３において、制御部１０３は、全体最適化処理を実行する。本実施形態によれば、このように分割撮影によって得られる画像データの枚数に応じて、カメラ１０１の位置の推定処理を切り替えることにより、より短い時間で好適な画像データの結合処理を実行することが可能となる。
【００６０】
次に、第５の実施形態について説明する。第５の実施形態に係る撮影システムの構成も図１、図２に示した構成と同様である。第１〜第４の実施形態では、レンズ収差補正処理による画質劣化を考慮せずに重複領域の誤差を評価していた。画質劣化とは例えば、歪曲補正による局所的な拡大補間による解像度低下、周辺光量補正によるノイズ量増加等が挙げられる。特に周辺光量補正は画像周辺部のゲインを上げる処理であるため、同時にノイズ成分も強調してしまう。その結果、エッジを正しく検出できなかったり、正しく誤差を評価できなかったりする可能性がある。同様に、パース補正処理を適用した場合にも画素毎に補間処理が適用されるため、解像度が変化した結果、画質が劣化してしまう場合がある。
【００６１】
このような劣化に対応するため、本実施形態では、レンズ収差補正処理による画質劣化が考慮された誤差の評価関数を用いる。この評価関数を用いて大きく補正された画素の信頼度を下げることで、正しく重複領域の誤差を評価できるようにする。具体的には、評価値の計算を行う場合、単純なＭＳＥを用いるのではなく、レンズ収差補正量を考慮した評価関数を用いる。
【００６２】
図１４は、レンズ特性カーブの一例を示す図である。図１４（ａ）は歪曲特性であり、画像データ上での像高と理想像高との差を示している。図１４（ａ）の破線は、画像データ上での像高と理想像高とが一致する場合を示している。画像データ上の像高に対応する理想像高が高い場合、その画素は局所的に拡大補間されることになる。従って、理想像高と画像データ上の像高との差が大きいほど解像度が低下することになる。逆に理想像高が画像データ上の像高よりも小さい場合には局所的に縮小処理されることになり、解像度は増加する。
【００６３】
図１４（ｂ）は周辺光量特性であり、画像データ上での像高に対するゲインアップ量を示している。図１４（ｂ）の破線は、周辺光量補正による画素値のゲインアップが行われない場合を示している。ゲインアップ量に応じて画素値が大きくなるので、ノイズ量も大きくなる。一般的にレンズ収差補正処理では、図１４に示すレンズ特性値に加え、補正量を加味してレンズ収差補正処理を実行する。例えば、レンズ特性値に応じた値をそのまま補正する場合を補正量１００として、補正量が５０の場合、歪曲補正は画像データ上の像高と理想像高との中間を目標値とするような補正を適用する。従って、評価関数ではレンズの特性値以外に、その収差の補正量を考慮する必要がある。重複領域ｋの評価値をＥｋとすると、例えば、本実施形態における評価関数は、次の式３のようになる。
Ｅｋ＝１／Ｍ×Σ｛（Ｐ（ｉ，ｊ）−Ｓ（ｉ，ｊ））×（Ｐ（ｉ，ｊ）−Ｓ（ｉ，ｊ）／Ｌ（ｉ，ｊ））｝・・・式３
ここで、ｉ、ｊは重複領域を構成する画素に対応する座標であり、Ｍは重複領域の画素数とする。また、Ｐ（ｉ，ｊ）は重複領域の画素、Ｓ（ｉ，ｊ）は重複領域の画素の平均値とする。
【００６４】
式３のＬ（ｉ，ｊ）はレンズ収差補正係数であり、次の式４で表される。
Ｌ（ｉ，ｊ）＝α×（１＋Ｄａ／１００×（Ｄ（ｉ，ｊ）−１））×（１−α）（１００＋Ｖａ／１００×（Ｖ（ｉ，ｊ）−１００））／１００・・・式４
αは歪曲補正と周辺光量補正の重みであり、値域は［０，１］とする。αの値が大きいほど、歪曲補正による画質劣化を重視する。Ｄａは歪曲補正適用量（％）、Ｖａは周辺光量補正適用量（％）である。
【００６５】
また、座標（ｉ，ｊ）の像高をｌ、像高ｌの理想像高をＣ（ｌ）とすると、座標（ｉ，ｊ）の歪曲補正特性値Ｄ（ｉ，ｊ）は、次の式５で表される。
Ｄ（ｉ，ｊ）＝Ｃ（ｌ）／ｌ・・・式５
なお、Ｖ（ｉ，ｊ）は、座標（ｉ，ｊ）に対応する周辺光量補正特性値（ゲインアップ量（％））とする。本実施形態では説明の簡単のために、レンズ収差補正処理及びパース補正処理のうち、歪曲補正と周辺光量補正を挙げて説明したが、これにパース補正や倍率色収差補正が加わってもよいことはいうまでもない。特に倍率色収差補正は、ＲＧＢ信号のＧ信号の歪曲収差に対するＲとＢの倍率であるため、歪曲補正と同様の考え方で対応可能である。
【００６６】
本実施形態によれば、重複領域の誤差の評価においてレンズ特性値とレンズ収差補正量とを考慮することで、重複領域の誤差の評価を適切に行い、画像データの結合処理の精度を向上させることが可能になる。
【００６７】
なお、第５の実施形態においては、レンズ収差補正処理による画質劣化への対応処理について述べた。即ち、第５の実施形態では、誤差の評価関数で画質劣化量を考慮して対応したが、このような方法以外に、レンズ収差補正量に応じたフィルタを適用するという方法もある。このフィルタには２つの方針が考えられる。
【００６８】
１つ目の方針は、レンズ収差補正量に応じてぼかすフィルタを適用することが考えられる。例えば、周辺光量補正によるノイズの強調に対しては、このような方法が有効である。この方法を用いることで、レンズ収差補正処理による画質劣化に対応した重複領域の誤差評価が可能になる。
【００６９】
２つ目の方針は、画質劣化を復元するフィルタを適用する方法である。この方法は、予め撮像光学系やレンズ収差補正処理による画質劣化特性をデータ化しておき、この画質劣化特性データに基づいて像を補正する方法である。この画質劣化特性データには、例えば点像分布関数（ＰＳＦ；Point Spread Function）と呼ばれる方法で表すことができる。ＰＳＦは、点像がどのような広がりを持った像に写像されるかを示し、例えば暗黒下で体積が非常に小さい発光体を撮影した場合の像の二次元分布がＰＳＦに相当する。ＰＳＦを得る方法には、必ずしも実際に点光源を撮影する必要はなく、レンズ設計データや補正処理内容から計算で算出することが可能である。このようなＰＳＦを用いた補正処理では、サイズの大きい空間フィルタを適用する場合が多い。このような画質の劣化過程を考慮した補正処理を用いれば、単にレンズの収差補正による画質劣化に対応するだけでなく、光学系による解像度低下にも対応可能である。以上で述べた補正処理を画像データに適用することで、画質劣化のない状態で重複領域の比較処理を行うことができる。このようにレンズの特性値を用いることで、より高精度な画像データの結合処理を実行することが可能になる。
【００７０】
次に、第６の実施形態について説明する。第６の実施形態に係る撮影システムの構成も図１、図２に示した構成と同様であるため、図１、図２の符号を引用して第２の実施形態の説明を行うものとする。第１〜第５の実施形態では、全てのパラメータを独立に変化させてカメラ１０１の位置を推定した。しかしながら、ハードウェアの駆動精度を上げることで、計算量を削減することも可能である。例えば電動雲台１０２にエンコーダを付加することで、電動雲台１０２の回転方向を一定の精度で取得することが可能である。これにより、３次元空間上におけるカメラ１０１の位置と各軸の回転方向とによる６パラメータからパラメータ数を削減することが可能になる。
【００７１】
例えば本実施形態では、カメラ１０１の向きを示す方向ベクトルとそのノルム（つまり、撮影距離）とでカメラ１０１の３次元空間上における位置を表現する。この場合、推定されるパラメータは、撮影距離とカメラ１０１の姿勢であるヨー、ピッチ、ロールとの４パラメータとなる。各パラメータを±１００段階で変化させて総当りで最適解を探索すると仮定した場合、６パラメータの場合は６４兆回評価値を計算する必要があるが、４パラメータの場合は１６億回にまで削減することが可能になる。実際には総当りではなく、焼きなまし法や山登り法を使った探索を行うのが現実的であるが、この場合でも一回の誤差の評価値計算の演算量を大幅に低減することが可能になる。
【００７２】
本実施形態によれば、撮影システムに一定の機能を付加することにより、推定されるパラメータ数を削減し、処理を高速化することが可能である。特に回転方向を限定することで、３次元空間上におけるカメラ１０１の位置を方向ベクトルとノルムとに分解し、ノルムの推定だけを行うことで最適解の探索が可能になる。
【００７３】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2012118875.tif 000003
【図２】
2012118875.tif 000004
【図３】
2012118875.tif 000005
【図４】
2012118875.tif 000006
【図５】
2012118875.tif 000007
【図６】
2012118875.tif 000008
【図７】
2012118875.tif 000009
【図８】
2012118875.tif 000010
【図９】
2012118875.tif 000011
【図１０】
2012118875.tif 000012
【図１１】
2012118875.tif 000013
【図１２】
2012118875.tif 000014
【図１３】
2012118875.tif 000015
【図１４】
2012118875.tif 000016