(57)【要約】【課題】広角なレンズや複雑な歪曲を持つレンズを使用するカメラで生じる映像の歪みを関数モデルで高精度に近似し、近似した関数モデルを用いて歪みの補正を高精度に行うこと。【解決手段】カメラキャリブレーション装置は、入力した映像に画像処理を用いて映像の歪みを検出し、映像の歪みを関数モデルで近似する関数モデル推定手段０１０４を備え、関数モデル推定手段は、映像の領域ごとに異なる関数モデルで映像の歪みを近似する。映像歪み補正装置は、歪み情報格納手段０６１１の格納する歪み情報を元に撮像手段の出力する映像を画像処理し映像の歪みを補正する歪み補正手段０６１２を備え、歪み情報格納手段は、歪み情報として、映像の歪みを領域ごとに異なる関数モデルで近似したときの関数モデルを格納し、歪み補正手段は、映像の領域ごとに応じた関数モデルに従って歪み補正を行う。【選択図】図１
2011049733.tif 000002
【特許請求の範囲】
【請求項１】
撮像映像を入力する映像入力手段と、
該映像入力手段から入力した映像に画像処理を用いて映像の歪みを検出し、映像の歪みを関数モデルで近似する関数モデル推定手段と、
を備え、
該関数モデル推定手段が、映像を複数の領域に分割し、領域ごとに異なる関数モデルで映像の歪みを近似すること、
を特徴とするカメラキャリブレーション装置。
【請求項２】
請求項１に記載のカメラキャリブレーション装置において、
前記関数モデル推定手段が、前記映像入力手段から入力した映像を中心からの距離に応じて複数の領域に分割し、分割した領域ごとに異なる関数モデルで映像の歪みを近似すること、
を特徴とするカメラキャリブレーション装置。
【請求項３】
請求項１または２いずれか一項に記載のカメラキャリブレーション装置において、
前記関数モデル推定手段が、領域ごとに推定した関数モデルの式または係数を出力すること、
を特徴とするカメラキャリブレーション装置。
【請求項４】
請求項１または３いずれか一項に記載のカメラキャリブレーション装置において、さらに、
前記関数モデル推定手段が、領域ごとに推定した関数モデルを元に、画像処理で歪み補正を行うためのルックアップテーブルを生成し出力するルックアップテーブル出力部を備えること、
を特徴とするカメラキャリブレーション装置。
【請求項５】
撮像映像を入力する映像入力手段と、
該映像入力手段から入力した映像の歪みを画像処理で補正するために必要な歪み情報を格納する歪み情報格納手段と、
該歪み情報格納手段の格納する歪み情報を元に、該撮像手段の出力する映像を画像処理し、映像の歪みを補正する歪み補正手段と、
を備える映像歪み補正装置であって、
該歪み情報格納手段が、歪み情報として、映像の歪みを領域ごとに異なる関数モデルで近似したときの関数モデルの式ないし係数を格納し、
該歪み補正手段が、映像の領域ごとに応じた関数モデルに従って歪み補正を行うこと、
を特徴とする映像歪み補正装置。
【請求項６】
請求項５に記載の映像歪み補正装置において、
前記歪み情報格納手段が、歪み情報として、映像の歪みを領域ごとに異なる関数モデルで近似したときの関数モデルの式ないし係数を格納し、該関数モデルの係数を元に画像処理で歪み補正を行うためのルックアップテーブルを生成し、
該歪み補正手段が、ルックアップテーブルに従って歪み補正を行うこと、
を特徴とする映像歪み補正装置。
【請求項７】
撮像手段と、
該撮像手段から出力した映像を入力する請求項５に記載の映像歪み補正装置と、
を備えることを特徴とする映像歪み補正機能付き撮像装置。
【請求項８】
第１の撮像映像を入力する第１の映像入力手段と、
第２の撮像映像を入力する第２の映像入力手段と、
該第１の映像入力手段から入力した映像と該第２の映像入力した映像に画像処理を行って映像の歪みおよび撮像手段に固有の光学特性を示すカメラ内部パラメータおよび撮像手段の幾何特性を示すカメラ外部パラメータを検出し、各々のパラメータを関数モデルで近似するステレオ関数モデル推定手段と、
を備え、
該ステレオ関数モデル推定手段が、映像を複数の領域に分割し、領域ごとに異なる関数モデルで映像の歪みを近似すること、
を特徴とするステレオカメラキャリブレーション装置。
【請求項９】
請求項８に記載のステレオカメラキャリブレーション装置において、
該ステレオ関数モデル推定手段が、映像の歪みについては領域ごとに異なる関数モデルで近似し、カメラ内部パラメータおよびカメラ外部パラメータについては領域に関わらず同一の関数モデルで近似すること、
を特徴とするステレオカメラキャリブレーション装置。
【請求項１０】
第１の撮像手段と、
第２の撮像手段と、
第１の撮像手段の出力する映像および第２の撮像手段の出力する映像の歪みや撮像手段間の光学特性のずれを画像処理で補正するために必要な画像補正情報を格納するステレオ画像補正情報格納手段と、
該ステレオ画像補正情報格納手段の格納する画像補正情報を元に、第１の撮像手段の出力する映像と該第２の撮像手段の出力する映像をそれぞれ画像処理し、画像の補正を行うステレオ画像補正手段と、
を備える映像補正機能つきステレオ撮像装置であって、
該ステレオ画像補正情報納手段が、映像の歪みを補正するための情報として、映像の歪みを領域ごとに異なる関数モデルで近似したときの関数モデルの式ないし係数を格納し、
該ステレオ画像補正手段が、映像の領域ごとに応じた関数モデルに従って画像補正を行うこと、
を特徴とする映像補正機能つきステレオ撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カメラで撮像した映像の歪みを検出するカメラキャリブレーション装置と、検出結果を元に画像処理を用いて歪みを補正する映像歪み補正装置に関する。
【背景技術】
【０００２】
本技術の背景分野として、例えばＺｈａｎｇの提案したカメラキャリブレーション手法（非特許文献１）がある。本手法では、カメラを放射方向のレンズ歪みを有するピンホールカメラモデルで近似し、レンズ歪みを補正す方法が開示されている。また、非特許文献１では、レンズ歪みを近似するために、Ｗｅｎｇらの提案したレンズ歪みモデル（非特許文献２）を用いている。これらの提案では、比較的歪曲の小さいレンズを使用したカメラを対象として想定している。
【０００３】
一方、歪曲の大きい広角レンズを使用したカメラについては、背景分野として、例えば特開２００６−１２７０８３号公報（特許文献１）がある。該公報には、「撮像した画像に対し、歪曲補正を含む画像処理を適切に行う方法及び装置を提供する」ことを目的とし、解決手段として、「撮像手段ＶＤによって撮像した画像に対し、ＭＭＦモデルによって歪曲補正する画像処理手段ＶＡを備える。更に、表示手段ＤＳを備えた態様では、撮像手段ＶＤによって撮像した画像に対し、ＭＭＦモデルによって歪曲補正した画像を表示する。背景画像、あるいは画像中の環境状況を表す対象に対する歪曲補正後の画像を表示することとしてもよい。」という技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−１２７０８３号公報
【非特許文献】
【０００５】
【非特許文献１】Z.Zhang, “A Flexible New Technique for Camera Calibration”, Technical Report MSR-TR-98-71, 1998
【非特許文献２】J.Weng, P.Cohen and M.Herniou, “Camera calibration with distortion models and accuracy evaluation”, pp.965-980, IEEE Transactions on Pattern Analysis and Machine Intelligence, 1992
【発明の概要】
【発明が解決しようとする課題】
【０００６】
近年、カメラから得た映像に画像処理し、特定の被写体の検出や追跡を行う画像認識技術が実用化されつつあるが、このような画像処理による物体認識を行う際には、高精度な認識のためにレンズ歪みを補正することが要求される。例えば、２つ以上のカメラの映像を元に被写体までの距離を演算するステレオカメラでは、被写体の画像中の幾何的な位置を用いるため、歪みが存在しないと近似できる精度までレンズ歪みを補正する必要がある。
【０００７】
上記非特許文献１では、カメラを放射方向のレンズ歪みを有するピンホールカメラと見なしてカメラの特性を関数モデルで近似し、近似した関数モデルを元にレンズ歪みを補正する方法が開示されている。本方法では、教示用の平面チャートを撮影し、撮影画像からチャート上の教示点の位置を検出して関数式に当てはめ、その係数を推定することで、レンズ歪みを含むカメラの特性を関数モデルに近似している。レンズ歪みの関数モデルとしては、上記非特許文献２に記載のＷｅｎｇらの提案したモデルを採用している。これらの技術では、比較的歪曲の小さいレンズを採用したカメラを対象として想定している。
【０００８】
一方で、車載や監視用途などを中心に、死角の低減や設置数の低減を目的とし、広角レンズや魚眼レンズなど広範な被写体を撮影可能なカメラが普及しつつある。これらのカメラでは、画像の中心部と周辺部で歪曲の度合いが異なり、特に周辺部で大きな歪曲を持つ。また、広角カメラの中には、視認性を向上するため画像の中心部の被写体を小さく、画像の周辺部の被写体を大きくするように設計された複雑な歪み特性を有するレンズを使用するものもある。上記非特許文献１および非特許文献２に記載の技術を広角レンズや魚眼レンズを有するカメラに適用した場合、関数モデルの近似精度が低く、レンズ歪みを十分に補正することができないという課題がある。
【０００９】
また、上記特許文献１では、広角レンズや魚眼レンズのレンズ歪みを精度良く近似するために、ＭＭＦ（Morgan-Mercer-Flodin）モデルと呼ばれる、曲線を扱うための関数モデルを採用している。しかし、レンズの特性によっては従来のレンズ歪みモデルと同様にＭＭＦモデルでも歪みを高精度に近似できない場合がある。特に画像の中心部の被写体を小さく、画像の周辺部の被写体を大きくするように設計されたレンズなどでは、レンズの歪曲の度合いが中心からの距離に対し連続的に変化しないため、１つの関数モデルでレンズ歪みを高精度に近似することが困難である。
【００１０】
そこで、本発明では、カメラで撮影した映像の歪みを、領域ごとに異なる関数モデルで近似する。これによりレンズ歪みを関数モデルに近似して、補正を高精度に行うことが可能となり、視認性の向上や、画像認識の精度向上を実現できる。また、本発明は、レンズ以外に起因して生じる複雑な特性の歪みについても適用可能である。
【課題を解決するための手段】
【００１１】
上記課題は、例えば特許請求の範囲に記載の発明により達成される。
【発明の効果】
【００１２】
本発明によれば、広角なレンズを使用するカメラのレンズ歪みを関数モデルで高精度に近似し、レンズ歪みの補正を高精度に行うことができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１実施例に係るカメラキャリブレーション装置を示す第１の模式図。
【図２】第１実施例に係る関数モデル推定の演算制御方法の一例を示す図。
【図３】第１実施例に係る関数モデル推定において関数モデルへの近似方法と近似精度の一例を示す図。
【図４】第１実施例に係るカメラキャリブレーション装置を示す第２の模式図。
【図５】第１実施例に係るルックアップテーブル生成方法の一例を示す図。
【図６】第１実施例に係る映像歪み補正装置を示す第１の模式図。
【図７】第１実施例に係る映像歪み補正装置を示す第２の模式図。
【図８】本発明の第２実施例に係る映像歪み補正機能付き撮像装置を示す模式図。
【図９】本発明の第３実施例に係るステレオカメラキャリブレーション装置を示す模式図。
【図１０】第３実施例に係る映像歪み補正機能付きステレオ撮像装置を示す模式図。
【発明を実施するための形態】
【００１４】
以下、図面を用いて本発明の実施例を説明する。
【実施例１】
【００１５】
図１は、本発明の第１実施例に係るカメラキャリブレーション装置を示す第１の模式図である。図１において、０１０１は映像入力部、０１０２は特徴点位置検出部、０１０３は歪み検出部、０１０４は関数モデル推定部、０１０５は特徴点情報格納部、０１０６は理想特徴点位置推定部、０１０７は関数モデル演算制御部、０１０８は出力部である。
【００１６】
図１に示したカメラキャリブレーション装置において、映像入力部０１０１は、カメラで撮影した映像をデジタルデータとして入力し、特徴点位置検出部０１０２に出力する。映像の入力方法としては、例えば、コンポーネントやコンポジット、ＨＤＭＩなどの入力端子でカメラと接続し、カメラで撮影している映像をオンラインでデジタルデータとして取り込む形態でも良いし、ＳＤカードやハードディスクなどの記憶媒体を介して予めデジタルデータとして保存済みのデータをオフラインで読み込む形態でも良い。入力する映像には、映像の歪みが検出できるように、空間内の位置が既知である特徴点が撮影されている必要がある。このような被写体として、例えば、円や矩形、格子などのパターンが印刷されたキャリブレーションチャートを用いることができる。
【００１７】
特徴点位置検出部０１０２は、映像入力部０１０１より入力した映像に対し画像処理またはユーザ入力による特徴点検出処理を行い、特徴点の画像上における位置を検出する。上記のキャリブレーションチャートを撮影した場合は、円マーカの中心や、格子マーカの交点、矩形マーカの頂点などの座標を特徴点位置として検出すれば良い。
【００１８】
歪み検出部０１０３は、特徴点位置検出部０１０２の検出した特徴点の画像上における位置と、理想特徴点位置推定部０１０６で推定した特徴点が本来画像上で映るべき位置とを比較し、そのずれから映像の歪みの量を検出する。ここで、映像の歪みとは、レンズの湾曲や、レンズと撮像面の非平行などによって生じる映像上の被写体の歪みを指す。また、プロジェクタからスクリーンに対して投射した映像を撮影したときの投射映像の台形歪みや、全方位カメラのようにミラーで映像を反射させることにより生じる映像の歪みなども同様に扱うことができる。
【００１９】
関数モデル推定部０１０４は、歪み検出部０１０３の検出した映像の歪みの量を元に映像の歪みを近似する関数モデルを推定する。ここで、関数モデルとは、レンズに起因する歪みの特性や焦点距離、レンズの中心を通る光軸と撮像面との交点の位置や入射角などの、種々のカメラ特性を関数で近似してモデル化したものである。前述の投射映像を撮影したときの台形歪みや、ミラーで映像を反射させることで生じる映像の歪みなどを、関数で近似してモデル化しても良い。適切な関数モデルを用いることで、特徴点の空間内の位置と画像上の位置や、映像の歪みがない場合に映る特徴点の画像上の位置と映像の歪みがある場合に映る特徴点の画像上の位置、などを対応付けることができる。
【００２０】
関数モデルとしては、例えば、非特許文献１に記載のピンホールカメラモデルや非特許文献２に記載のＷｅｎｇらの提案したレンズ歪みモデルなどが良く知られている。関数モデルにおいて、カメラ特性をどのように近似して表現するかは関数式から決定され、ばらつきを含めた個々のカメラにおける特性は、関数式の係数で決定される。そこで、関数モデル推定部０１０４は、関数モデル演算制御部０１０７より出力される制御情報を元に近似に用いる関数式を決定し、歪み検出部０１０３の検出した映像の歪みの量から関数式の係数を演算する。
【００２１】
特徴点情報格納部０１０５は、特徴点位置検出部０１０２で検出する特徴点の空間内の位置を予め格納する。理想特徴点位置推定部０１０６は、特徴点情報格納部０１０５に格納されている特徴点の空間内の位置と、関数モデル推定部０１０４で推定した関数モデルを元に、特徴点が本来画像上で映るべき位置を推定する。関数モデル推定部０１０４で推定した関数モデルのカメラ特性に対する近似精度が十分でない場合、特徴点の空間内の位置と、特徴点が本来画像上で映るべき位置のずれは大きく、近似精度が十分であればずれは小さくなる。近似精度が不十分であれば、歪み検出部０１０３で行う歪みの検出と、関数モデル推定部０１０４で行う関数モデルの推定と、理想特徴点位置推定部０１０６で行う特徴点が本来画像上で映るべき位置の推定を繰り返し行うことで、近似精度の十分な関数モデルを得ることができる。このとき、関数モデルの初期値としては、例えばカメラの仕様から関数式の係数を決定し、その値を使用すればよい。また、関数モデルの推定を繰り返し行うことで十分な近似精度が保証される場合は、関数式の係数に適当な値を使用しても良い。
【００２２】
関数モデル演算制御部０１０７は、関数モデル推定部０１０４が関数モデルを推定するときの演算方法を決定し、制御情報として出力する。歪みの大きい広角レンズや魚眼レンズを用いた場合や、広角で画像の中心部の被写体を小さく、画像の周辺部の被写体を大きくするように設計されたレンズなど、レンズの歪曲の度合いが中心からの距離に対し連続的に変化しないレンズなどでは、１つの関数式では画像全体の歪みを十分に近似することが困難である。この場合、画像の領域ごとに異なる関数モデルを用い、複数の関数モデルを組み合わせることで画像全体の歪みを高精度に近似することができる。そのため関数モデル演算制御部０１０７は、予め画像の領域の分割方法と、各領域で用いる関数式を格納しておき、制御情報として出力する。関数モデル推定部０１０４は、制御情報を元に領域ごとの関数式の係数を求めることで、画像全体について高精度に近似した関数モデルの推定を行うことができる。なお、関数モデル推定部０１０４で、映像の歪み特性を示す関数モデルと同時に、その他のカメラ特性を示す関数モデル、例えばピンホールカメラモデルを推定する場合は、映像の歪み特性を示す関数モデルを映像の領域ごとに推定し、その他のカメラ特性を示す関数モデルは映像全体を用いて推定することで演算処理の負荷低減を図っても良い。
【００２３】
出力部０１０８は、関数モデル推定部０１０４の推定した関数モデルとして、領域ごとの関数式または関数式の係数を出力する。このとき、領域の分割方法を各領域の座標や中心からの距離などの情報で出力しても良い。これにより、カメラの映像の歪みやその他のカメラ特性を高精度に近似した関数モデルを出力することができ、この関数モデルを映像の歪み補正などに利用することが可能となる。なお、図１に示したカメラキャリブレーション装置は、カメラと一体型の組み込み装置や、専用のＬＳＩを搭載したカメラとは独立なハードウェア装置、ＰＣ上のソフトウェアなどの形態をとることができ、各々の処理はカメラ内のマイコンや専用のＬＳＩ、あるいはＰＣ上のＣＰＵなどによって行われる。
【００２４】
図２は、第１実施例に係る関数モデル推定の演算制御方法の一例を示す図である。本実施例において、関数モデルの推定は関数モデル推定部０１０４で、関数モデル推定の演算制御は関数モデル演算制御部０１０７で行われる。図２において、映像Ａはレンズ歪みが生じていない場合の理想的な映像、映像Ｂはレンズに起因する放射方向の歪みが生じている実際の撮像映像である。なお、映像Ａおよび映像Ｂにおいて、点線０２０１はレンズ歪みの度合いを表現するために示した補助線であり、映像Ｂにおいて、破線０２０２は映像を２つの領域に分割した際の領域の境界を示した補助線である。
【００２５】
ここでは、レンズ歪みが生じていない場合の理想的な映像Ａにおけるある点（ｘ，ｙ）と、実際の撮像映像Ｂにおける（ｘ，ｙ）に対応する点（ｘ’，ｙ’）を対応付けるような関数モデルでレンズ歪みを近似している。このとき、実際の撮像映像Ｂにおいて、画像中心Ｏからの距離がｄ以下である領域１内の画像については、関数モデル
（ｘ’，ｙ’）＝ｆ（ｘ，ｙ）
を使用し、画像中心Ｏからの距離がｄより大きい領域２内の画像については、関数モデル
（ｘ’，ｙ’）＝ｇ（ｘ，ｙ）
を使用する。関数ｆおよびｇは全く別個の多項式でも良いし、係数の異なる同一の多項式でも良い。関数モデル演算制御部０１０７は制御情報として、領域１と領域２の範囲を定める定義、例えばここでは領域を分割する閾値ｄや、それぞれの関数ｆ，ｇの式を出力する。関数モデル推定部０１０４ではそれを元に関数ｆ，ｇの係数を推定することになる。
【００２６】
図３は、第１実施例に係る関数モデル推定において、関数モデルへの近似方法と近似精度の一例を示す図である。図３において、横軸は画像位置（中心からの距離）、縦軸は近似精度（近似誤差）を示す。広角なレンズを有し放射方向のレンズ歪みが生じるカメラにおいて、実線０３０１は画像全体のレンズ歪みを１つの関数モデルへ近似したときの近似精度、破線０３０２は図２で示した実際の撮像映像Ｂにおいて領域１内のレンズ歪みを関数モデルへ近似したときの近似精度、点線０３０３は図２で示した実際の撮像映像Ｂにおいて領域２内のレンズ歪みを関数モデルへ近似したときの近似精度である。ここで、３つの関数モデルはいずれも次数の同じ多項式であり、関数モデル推定部０１０４で推定した関数式の係数のみが異なる。なお、近似精度は、それぞれの関数モデルを使用した際に被写体が映っていると推定できる位置と、実際に映っている位置との誤差として測定することができる。
【００２７】
実線０３０１で示した、画像全体のレンズ歪みを１つの関数モデルへ近似したときの近似精度は画像全体で低く（近似誤差が大きく）、十分な近似ができていない。一方で、破線０３０２で示した領域１内のレンズ歪みを関数モデルへ近似したときの近似精度は領域１内では非常に良好であり、点線０３０３で示した領域２内のレンズ歪みを関数モデルへ近似したときの近似精度は領域２内では非常に良好である。このように、映像の領域を画像中心からの距離に応じて分割し、各々の領域において、レンズ歪みを異なる関数モデルで近似することで、画像全体を高精度に関数モデルに近似することが可能となる。なお、ここでは放射方向のレンズ歪みを考慮して、画像中心からの距離に応じて領域を分割し、各領域で係数の異なる同一の関数式を関数モデルとして用いたが、分割方法とそれぞれで用いる関数式の選択方法はこの限りではなく、映像に生じる歪みの特性に応じて決定すれば良い。
【００２８】
図４は、本発明の第１実施例に係るカメラキャリブレーション装置を示す第２の模式図である。図４において、０１０１は映像入力部、０１０２は特徴点位置検出部、０１０３は歪み検出部、０１０４は関数モデル推定部、０１０５は特徴点情報格納部、０１０６は理想特徴点位置推定部、０１０７は関数モデル演算制御部、０４０９はルックアップテーブル出力部である。この構成は、図１で示したカメラキャリブレーション装置の第１の模式図にルックアップテーブル出力部０４０９を追加した構成となっている。
【００２９】
ルックアップテーブル出力部０４０９は、関数モデル推定部０１０４の推定した関数モデル、すなわち領域ごとの関数式または関数式の係数と、関数モデル演算制御部０１０７の出力する関数モデル推定の制御情報、すなわち映像の各領域への分割方法を取得し、これらの情報を元に画像を補正するために必要なルックアップテーブルを生成して出力する。
【００３０】
図５は、本発明の第１実施例に係るルックアップテーブル生成方法の一例を示す図である。図５に示すルックアップテーブル生成処理はルックアップテーブル出力部０４０９で実行される。図５において、画像Ｃは歪み補正前の撮像画像、画像Ｄは歪み補正後の撮像画像、テーブルＥは歪み補正を行うためのルックアップテーブルである。画像Ｃに示す歪み補正前の撮像画像から画像Ｄに示す歪み補正後の撮像画像を画像処理で生成するためには、歪み補正前の撮像画像Ｃの座標（ｘ’，ｙ’）に対応する歪み補正後の撮像画像Ｄの座標（ｘ”，ｙ”）を推定する必要がある。ここで、図２で示したように、レンズ歪みが生じていない場合の理想的な映像Ａ上の座標（ｘ，ｙ）と歪み補正前の撮像画像Ｃにおける座標（ｘ’，ｙ’）の対応が関数モデルｆ，ｇを用いて取れている場合は、歪み補正後の座標（ｘ”，ｙ”）をその逆関数ｆ−１，ｇ−１を用いて表すことができる。すなわち、歪み補正前の撮像映像Ｃにおいて画像中心Ｏからの距離がｄ以下である領域１内の画素については、
（ｘ”，ｙ”）＝ｆ−１（ｘ’，ｙ’）
とし、画像中心Ｏからの距離がｄより大きい領域２内の画素については、
（ｘ”，ｙ”）＝ｇ−１（ｘ’，ｙ’）
とすることができる。
【００３１】
このとき、補正前後の対応する座標（ｘ’，ｙ’）と（ｘ”，ｙ”）をテーブルＥに示すような対応表、すなわちルックアップテーブルとして出力する。歪み補正を画像処理で行う際は、ルックアップテーブルを入力して参照することで、座標の対応を逐次計算する必要がなくなり、処理の高速化が図れる。また、記述のフォーマットを合わせることで、既存のルックアップテーブルを用いる映像歪み補正装置にも適用することができる。なお、本実施例ではルックアップテーブルを画素毎の補正前後の座標の対応表として記載しているが、生成方法はこの限りではなく、例えば三角パッチを用いた歪み補正処理装置では三角パッチの頂点座標の対応のみ記載すればよく、保存メモリ量の低減が図れる。
【００３２】
このように、キャリブレーションの結果をルックアップテーブルとして出力することで、歪み補正を行う際の処理の高速化や、既存の映像歪み補正装置への適用を図ることが可能となる。
【００３３】
図６は、本発明の第１実施例に係る映像歪み補正装置を示す第１の模式図である。図６において、０６１０は映像入力部、０６１１は歪み補正情報格納部、０６１２は映像歪み補正部、０６１３は補正映像出力部である。
【００３４】
図６に示した映像歪み補正装置において、映像入力部０６１０は、カメラで撮影した映像をデジタルデータとして入力し、映像歪み補正部０６１２に出力する。映像の入力方法としては、例えば、コンポーネントやコンポジット、ＨＤＭＩなどの入力端子でカメラと接続し、カメラで撮影している映像をオンラインでデジタルデータとして取り込む形態でも良いし、ＳＤカードやハードディスクなどの記録媒体を介して予めデジタルデータとして保存済みのデータをオフラインで読み込む形態でも良い。
【００３５】
歪み補正情報格納部０６１１は、図１で示したカメラキャリブレーション装置の出力部０１０８の出力するような、キャリブレーション結果を予め格納しておき、歪み補正情報として映像歪み補正部０６１２に出力する。キャリブレーション結果としては、映像の歪みを領域ごとに関数モデルで近似したときの領域ごとの関数式または関数式の係数や、領域の分割方法などがある。
【００３６】
映像歪み補正部０６１２は、歪み補正情報格納部０６１１の出力する映像歪み補正情報を元に、領域ごとに適切な関数モデルを用いて画像処理を行い、映像の歪みを補正する。映像の歪み補正を他の画像処理の前処理として行う場合などで、特定の領域のみ歪みを補正すれば十分な場合はその領域のみを選択して歪み補正を行っても良い。これにより処理負荷の低減を図ることができる。
【００３７】
補正映像出力部０６１３は、映像歪み補正部０６１２の生成した補正映像を表示モニタや画像処理装置などに出力したり、記憶媒体に保存したりする。これにより、カメラの映像の歪みやその他のカメラ特性を領域ごとに近似した関数モデルを元に、高精度な映像歪み補正を行うことができる。
【００３８】
なお、図６に示した映像歪み補正装置は、カメラと一体型の組み込み装置や、専用のＬＳＩを搭載したハードウェア、ＰＣ上のソフトウェアなどの形態をとることができ、各々の処理はカメラ内のマイコンや専用のＬＳＩ、あるいはＰＣ上のＣＰＵなどによって行われる。
【００３９】
図７は、本発明の第１実施例に係る映像歪み補正装置を示す第２の模式図である。図７において、０６１０は映像入力部、０６１１は歪み補正情報格納部、０７１４はルックアップテーブル生成部、０６１２は映像歪み補正部、０６１３は補正映像出力部である。この構成は、図６で示した映像歪み補正装置の第１の模式図に、ルックアップテーブル生成部０７１４を追加した構成となっている。
【００４０】
図７に示した映像歪み補正装置において、ルックアップテーブル生成部０７１４は、歪み補正情報格納部０６１１の出力する映像歪み補正情報を元に、映像の歪みを補正するためのルックアップテーブルを生成して出力する。ルックアップテーブルの生成方法については、図５に示したルックアップテーブル生成方法の一例と同様である。映像歪み補正部０６１２は、ルックアップテーブル生成部０７１４の出力したルックアップテーブルを参照して映像の歪み補正を行う。これにより、例えば、同一のカメラで撮影した複数の映像の歪みを補正する場合は、ルックアップテーブルを一度生成し、補正時は同じルックアップテーブルを参照することで関数モデルを用いる演算回数を低減し、処理コストの低減が図れる。また、ＲＯＭ領域に関数モデルの係数を格納し、歪み補正処理時にルックアップテーブルをＲＡＭ領域に展開することで、ＲＯＭ領域のメモリ低減を図ることもできる。
【００４１】
かように、本実施例によれば、カメラで撮影した映像に生じる歪みを、領域ごとに異なる関数モデルで近似することで、複雑な歪みを有する映像に対しても、映像全体の歪みを高精度に関数モデルに近似することが可能であり、また、近似した関数モデルを用いて映像の歪みを高精度に補正することができる。
【実施例２】
【００４２】
図８は、本発明の第２実施例に係る映像歪み補正機能付き撮像装置を示す模式図である。図８において、０８１５は撮像部、０６１１は歪み補正情報格納部、０６１２は映像歪み補正部、０６１３は補正映像出力部であり、図６で示した第１実施例に係る映像歪み補正装置を示す第１の模式図の映像入力部０６１０を撮像部０８１５に置き換えた構成となっている。
【００４３】
図８において、撮像部０８１５は、レンズ、アイリス、シャッタ、ＣＣＤまたはＣＭＯＳなどの撮像素子、ＣＤＳやＡＧＣ、ＡＤコンバータやカメラ信号処理ＤＳＰやタイミングジェネレータ等から構成され、撮像素子に受光した光学像を光電変換し、映像信号として出力する。
【００４４】
このように映像歪み補正機能を撮像部と一体とすることで、カメラ単体で映像に生じる歪みを補正し、補正映像を出力することが可能となる。各々の処理はカメラ内のマイコンやカメラ信号処理ＤＳＰ、あるいは専用のＬＳＩなどによって行われる。
【実施例３】
【００４５】
図９は、本発明の第３実施例に係るステレオカメラキャリブレーション装置を示す模式図である。図９において、０９０１＿１は第１の映像入力部、０９０１＿２は第２の映像入力部、０９０２は特徴点位置検出部、０９０３は歪み検出部、０９０４はステレオ関数モデル推定部、０９０５は特徴点情報格納部、０９０６は理想特徴点位置推定部、０９０７はステレオ関数モデル演算制御部、０９０８は出力部である。
【００４６】
図９に示したステレオカメラキャリブレーション装置において、第１の映像入力部０９０１＿１および第２の映像入力部０９０１＿２は、ステレオカメラで撮影した映像をデジタルデータとして入力し、特徴点位置検出部０９０２にステレオ映像として出力する。ここでステレオカメラとは同一の被写体を２つ以上の異なる視点から撮影することの可能なカメラを指し、複数の撮像部を持つカメラや、１つの撮像部で位置を変えて複数の視点から撮影する単眼ステレオ方式などを含む。また、１つの撮像部でミラーやプリズムを用いて同時に複数視点の撮影が可能なカメラを用いてもよく、この場合は、映像入力部は１つで構わない。映像の入力方法としては、例えば、コンポーネントやコンポジット、ＨＤＭＩなどの入力端子でカメラと接続し、カメラで撮影している映像をオンラインでデジタルデータとして取り込む形態でも良いし、ＳＤカードやハードディスクなどの記憶媒体を介して予めデジタルデータとして保存済みのデータをオフラインで読み込む形態でも良い。入力する映像には、映像の歪みが検出できるように、空間内の位置が既知である特徴点が撮影されている必要がある。このような被写体として、例えば、円や矩形、格子などのパターンが印刷されたキャリブレーションチャートを用いることができる。
【００４７】
特徴点位置検出部０９０２は、第１の映像入力部０９０１＿１および第２の映像入力部０９０１＿２より入力したステレオ映像に対し画像処理またはユーザ入力による特徴点検出処理を行い、特徴点の画像上における位置を検出する。上記のキャリブレーションチャートを撮影した場合は、円マーカの中心や、格子マーカの交点、矩形マーカの頂点などの座標を特徴点位置として検出すれば良い。
【００４８】
歪み検出部０９０３は、特徴点位置検出部０９０２の検出した特徴点の画像上における位置と、理想特徴点位置推定部０９０６で推定した特徴点が本来画像上で映るべき位置とを比較し、そのずれから映像の歪みの量を検出する。ここで、映像の歪みとは、レンズの湾曲や、レンズと撮像面の非平行などによって生じる映像上の被写体の歪みを指す。また、プロジェクタからスクリーンに対して投射した映像を撮影したときの投射映像の台形歪みや、全方位カメラのようにミラーで映像を反射させることにより生じる映像の歪みなども同様に扱うことができる。
【００４９】
ステレオ関数モデル推定部０９０４は、歪み検出部０９０３の検出した映像の歪みの量を元にステレオ関数モデルを推定する。ここで、ステレオ関数モデルとは、レンズに起因する歪みの特性や焦点距離、レンズの中心を通る光軸と撮像面との交点の位置や入射角などのカメラごとの光学特性を示すカメラ内部パラメータ、カメラ単体ないしカメラ間の空間内における幾何特性を示すカメラ外部パラメータといった、カメラ特性を関数で近似してモデル化したものである。前述の投射映像を撮影したときの台形歪みや、ミラーで映像を反射させることで生じる映像の歪みなどを関数で近似してモデル化しても良い。適切なステレオ関数モデルを用いることで、特徴点の空間内の位置と画像上の位置や、映像の歪みがない場合に映る特徴点の画像上の位置と映像の歪みがある場合に映る特徴点の画像上の位置、などを対応付けることができる。
【００５０】
カメラ内部パラメータやカメラ外部パラメータを近似するステレオ関数モデルとしては、例えば、非特許文献１に記載のピンホールカメラモデルが、レンズ歪みモデルを近似する関数モデルとしては非特許文献２に記載のＷｅｎｇらの提案したレンズ歪みモデルなどが良く知られている。ステレオ関数モデルにおいて、カメラ特性をどのように近似して表現するかは関数式から決定され、ばらつきを含めた個々のカメラにおける特性は、関数式の係数で決定される。そこで、ステレオ関数モデル推定部０９０４は、ステレオ関数モデル演算制御部０９０７より出力される制御情報を元に、近似に用いる関数式を決定し、歪み検出部０９０３の検出した映像の歪みの量から関数式の係数を演算する。
【００５１】
特徴点情報格納部０９０５は、特徴点位置検出部０９０２で検出する特徴点の空間内の位置を予め格納する。理想特徴点位置推定部０９０６は、特徴点情報格納部０９０５に格納されている特徴点の空間内の位置と、ステレオ関数モデル推定部０９０４で推定したステレオ関数モデルを元に、特徴点が本来画像上で映るべき位置を推定する。ステレオ関数モデル推定部０９０４で推定したステレオ関数モデルのカメラ特性に対する近似精度が十分でない場合、特徴点の空間内の位置と、特徴点が本来画像上で映るべき位置のずれは大きく、近似精度が十分であればずれは小さくなる。近似精度が不十分であれば、歪み検出部０９０３で行う歪みの検出と、ステレオ関数モデル推定部０９０４で行うステレオ関数モデルの推定と、理想特徴点位置推定部０９０６で行う特徴点が本来画像上で映るべき位置の推定を繰り返し行うことで、近似精度の十分なステレオ関数モデルを得ることができる。このとき、ステレオ関数モデルの初期値としては、例えばカメラの仕様からステレオ関数式の係数を決定し、その値を使用すればよい。また、ステレオ関数モデルの推定を繰り返し行うことで十分な近似精度が保証される場合は、関数式の係数に適当な値を使用しても良い。
【００５２】
ステレオ関数モデル演算制御部０９０７は、ステレオ関数モデル推定部０９０４がステレオ関数モデルを推定するときの演算方法を決定し、制御情報として出力する。歪みの大きい広角レンズや魚眼レンズを用いた場合や、広角で画像の中心部の被写体を小さく、画像の周辺部の被写体を大きくするように設計されたレンズなど、レンズの歪曲の度合いが中心からの距離に対し連続的に変化しないレンズなどでは、１つの関数式では画像全体の歪みを十分に近似することが困難である。この場合、画像の領域ごとに異なるステレオ関数モデルを用い、複数のステレオ関数モデルを組み合わせることで画像全体の歪みを高精度に近似することができる。そのためステレオ関数モデル演算制御部０９０７は、予め画像の領域の分割方法と、各領域で用いる関数式を格納しておき、制御情報として出力する。ステレオ関数モデル推定部０９０４は、制御情報を元に、領域ごとの関数式の係数を求めることで、画像全体について高精度に近似した関数モデルの推定を行うことができる。なお、関数モデル推定部０９０４において、映像の歪み特性を示す関数モデルについては映像の領域ごとに推定し、カメラ内部パラメータおよびカメラ外部パラメータを示すステレオ関数モデルは映像全体を用いて推定することで演算処理の負荷低減を図ることができる。
【００５３】
出力部０９０８は、ステレオ関数モデル推定部０９０４の推定したステレオ関数モデルとして、領域ごとの関数式または関数式の係数を出力する。このとき、領域の分割方法を各領域の座標や中心からの距離などの情報で出力しても良い。これにより、ステレオカメラの映像の歪みやその他のステレオカメラの特性を高精度に近似したステレオ関数モデルを出力することができ、このステレオ関数モデルを映像の歪み補正や平行化と呼ばれるカメラ間の特性の違いの補正などに利用することが可能となる。なお、図９に示したステレオカメラキャリブレーション装置は、ステレオカメラと一体型の組み込み装置や、専用のＬＳＩを搭載したステレオカメラとは独立なハードウェア装置、ＰＣ上のソフトウェアなどの形態をとることができ、各々の処理はカメラ内のマイコンや専用のＬＳＩ、あるいはＰＣ上のＣＰＵなどによって行われる。
【００５４】
図１０は、本発明の第３実施例に係る映像歪み補正機能付きステレオ撮像装置を示す模式図である。図１０において、１０１５＿１は第１の撮像部、１０１５＿２は第２の撮像部、１０１１はステレオ画像補正情報格納部、１０１２はステレオ画像補正部、１０１３は補正ステレオ映像出力部である。
【００５５】
図１０において、第１の撮像部１０１５＿１および第２の撮像部１０１５＿２は、レンズ、アイリス、シャッタ、ＣＣＤまたはＣＭＯＳなどの撮像素子、ＣＤＳやＡＧＣ、ＡＤコンバータやカメラ信号処理ＤＳＰやタイミングジェネレータ等から構成され、撮像素子に受光した光学像を光電変換し、映像信号として出力する。このとき、複数の撮像部を持たず、１つの撮像部でミラーやプリズムを用いて同時に複数視点の撮影が可能なカメラを用いてもよく、この場合は、撮像部は１つで構わない。
【００５６】
ステレオ画像補正情報格納部１０１１は、図９で示したステレオカメラキャリブレーション装置の出力部０１０８の出力するような、キャリブレーション結果を予め格納しておき、ステレオ画像補正情報として映像歪み補正部１０１２に出力する。キャリブレーション結果としては、映像の歪みを領域ごとに関数モデルで近似したときの領域ごとの関数式または関数式の係数、領域の分割方法、カメラ内部パラメータおよびカメラ外部パラメータを関数モデルで近似した時の関数式または関数式の係数などがある。
【００５７】
ステレオ画像補正部１０１２は、歪み補正情報格納部１０１１の出力するステレオ画像補正情報を元に、領域ごとに適切な映像歪みを近似した関数モデルを用いて画像処理を行い、映像の歪みを補正する。映像の歪み補正を他の画像処理の前処理として行う場合など、特定の領域のみ歪みを補正すれば十分な場合はその領域のみを選択して歪み補正を行っても良い。これにより処理負荷の低減を図ることができる。また、カメラ内部パラメータおよびカメラ外部パラメータを用いてカメラ間の特性の違いを補正する平行化処理を行っても良い。このとき、不図示のルックアップテーブル生成部を設けて、映像の歪み補正と平行化を同時に実現するようなルックアップテーブルを生成し、ステレオ画像補正部１０１２でルックアップテーブルを参照して画像補正を行うことで、処理負荷の低減を図っても良い。
【００５８】
補正ステレオ映像出力部１０１３は、ステレオ画像補正部１０１２の生成した補正後のステレオ映像を表示モニタや不図示のステレオ画像処理部装置に出力する。これにより、カメラの映像の歪みやその他のカメラ特性を領域ごとに近似した関数モデルを元に、高精度な映像歪み補正を行うことができ、ステレオ画像処理による距離計測を高精度に行うことが可能となる。
【００５９】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。
【００６０】
本発明は民生や監視や車載や業務用のデジタルビデオカメラおよびスチルカメラ、上記で構成されるステレオカメラ、ミラーを備えた全方位カメラ、カメラ付きプロジェクタなどに利用可能である。
【符号の説明】
【００６１】
０１０１  映像入力部
０１０２  特徴点位置検出部
０１０３  歪み検出部
０１０４  関数モデル推定部
０１０５  特徴点情報格納部
０１０６  理想特徴点位置推定部
０１０７  関数モデル演算制御部
０１０８  出力部
０４０９  ルックアップテーブル出力部
０６１０  映像入力部
０６１１  歪み補正情報格納部
０６１２  映像歪み補正部
０６１３  補正映像出力部
０７１４  ルックアップテーブル生成部
０８１５  撮像部
０９０１＿１  第１の映像入力部
０９０１＿２  第２の映像入力部
０９０２  特徴点位置検出部
０９０３  歪み検出部
０９０４  ステレオ関数モデル推定部
０９０５  特徴点情報格納部
０９０６  理想特徴点位置推定部
０９０７  ステレオ関数モデル演算制御部
０９０８  出力部
１０１１  ステレオ画像補正情報格納部
１０１２  ステレオ画像補正部
１０１３  補正ステレオ映像出力部
１０１５＿１  第１の撮像部
１０１５＿２  第２の撮像部。
【図１】
2011049733.tif 000003
【図２】
2011049733.tif 000004
【図３】
2011049733.tif 000005
【図４】
2011049733.tif 000006
【図５】
2011049733.tif 000007
【図６】
2011049733.tif 000008
【図７】
2011049733.tif 000009
【図８】
2011049733.tif 000010
【図９】
2011049733.tif 000011
【図１０】
2011049733.tif 000012