"レンズと画像センサから構成されるカメラで撮像される画像を補正する画像補正方法であって、焦点距離、画像センサの並進量に加えて、画像センサの相対的傾きをパラメータとして、画像センサから得られた画像を補正する画像補正方法。前記画像センサの傾きを、画像センサ面の法線ベクトルで記述することを特徴とする請求項1記載の画像補正方法。レンズアレイと画像センサから構成されるカメラで撮像される画像を補正する画像補正方法であって、レンズアレイに対する画像センサの相対的傾きと並進、レンズアレイ内の各レンズ共通の歪み係数を補正パラメータとして、画像センサから得られた画像を補正することを特徴とする画像補正方法。レンズアレイと画像センサから構成されるカメラで撮像される画像を補正する画像補正方法であって、レンズアレイに対する画像センサの相対的傾きと並進、レンズアレイ内の各レンズ間の距離、各レンズ共通の歪み係数を補正パラメータとして、画像センサから得られた画像を補正することを特徴とする画像補正方法。前記画像センサの傾きを、画像センサ面の法線ベクトルおよび、レンズ光軸周りの回転角で表すことを特徴とする請求項3もしくは4記載の画像補正方法。前記画像センサの並進を,画像センサ面とレンズアレイ内のひとつのレンズ光軸との交点の座標および当該レンズと前記交点との距離で表すことを特徴とする請求項3もしくは4記載の画像補正方法。請求項1もしくは6のいずれか1項に記載の画像補正方法を実施する画像補正装置。本発明は、上記のような問題を解決するため、光軸と画像センサ面の傾きをカメラモデルに導入してカメラキャリブレーションを行い、カメラから得られた画像の高精度な補正を可能にすることを目的とする。また、本発明は、カメラがレンズアレイと画像センサから構成されている場合、簡易にカメラのキャリブレーションが行え、高精度の画像補正を可能にすることを目的とする。本発明は、レンズと画像センサから構成されるカメラの場合、焦点距離、画像センサの並進量に加えて、画像センサの相対的傾きをパラメータとして、画像センサから得られた画像を補正することを特徴とする。また、本発明は、レンズアレイと画像センサから構成されるレンズアレイステレオカメラの場合、レンズアレイに対する画像センサの相対的傾きと並進、レンズアレイ内の各レンズ共通の歪み係数を補正パラメータとして、画像センサから得られた画像を補正することを特徴とする。さらに、本発明は、レンズアレイと画像センサから構成されるレンズアレイステレオカメラの場合、レンズアレイに対する画像センサの相対的傾きと並進、レンズアレイ内の各レンズ間の距離、各レンズ共通の歪み係数を補正パラメータとして、画像センサから得られた画像を補正することを特徴とする。本発明は、光軸と画像センサ面の傾きをパラメータに加えることで、画像センサからの画像を高精度に補正することができる。また、レンズアレイステレオカメラでは、各カメラで共通のパラメータを拘束条件とすることで、簡易で精度のよい画像補正が可能になる。以下、本発明の実施の形態について図面を用いて詳しく説明する。本実施例では、光軸と画像センサ面の傾きをカメラモデルに導入してカメラキャブリレーションを行い、画像センサからの画像を補正する。<カメラモデル>図1はカメラモデルを示す。ワールド座標系で、被写体の座標PwXw,Yw,Zwとする。カメラの座標系から見た、被写体の座標PcXc,Yc,Zcは、カメラの外部パラメータであるところの回転行列Rc、並進行列Tcとすると、以下のようにあらわすことができる。ここで、Rcは3x3の行列、Tcは3x1の行列である。次に、ピンホールカメラのうちの、焦点距離が1である正規化カメラを導入する。すると、正規化カメラ上の座標点PnXn,Xn,Znは、次式であらわすことができる。さらに、レンズには半径方向の歪曲が存在するので、r2=Xn2Yn2とすると、歪曲を含んだ正規化カメラの座標Pdxd,yd,1は、distortを歪曲関数として、以下のようにあらわすことができる。また、従来からある歪曲モデルではk1,k2を歪曲パラメータとして、以下のようにあらわすこともできる。ここで、従来のピンホールカメラモデルであれば、カメラの焦点距離f、画像中心Ccx,cyとすると、内部パラメータ行列をとして、被写体が画像センサ面に映る座標をPixi,yi,ziとすると、次のようにあらわされる。画像センサ面は2次元であるのでzi=1の値はここでは計算の便宜上の値である。ところで、本実施例では、光軸と画像センサ面が垂直でないとするので光軸をZ軸として、画像センサ面の法線ベクトルをh=a,b,1とおく。光軸と画像センサ面が垂直である場合には、a=0,b=0である。このように定義すると、Pixi,yi,ziは、画像センサと光軸の交点座標画像中心をCcx,cy,0として、次式のように記述できる。ただしである。これにより、光軸と画像センサ面が垂直でなくてもより正確なカメラモデルが記述できるようになった。<画像補正方法>上記のモデルから正規化カメラの座標へ変換するための式を記述する。その手順を下に示す。1.逆行列を定義する2.逆行列から、正規化カメラ上での座標を得る3.歪み補正を行う4.焦点距離にあわせた画像スケーリング6式より、Pi=sA’PdC9とかけるので、Pd=1/sA’1Pi-C10と変形できる。さらに3式よりPnを次のように推定できる。Pn=distort1r’Pd11ここでr’2=x2dy2d,distort1r’は、distortrの逆関数である。最後に、歪み補正した座標Pnから、次式を用いて歪み補正を行った焦点距離fのピンホールカメラの画像の座標Pfxc,yc,zcを得る。図2及び図3は、歪み補正前の画像と歪み補正後の画像の関係を示す。実際には、画像センサから得られる画像はデジタル画像であるので、画素位置は整数に限られる。歪み補正を行った場合に、図2のように、歪み補正前の画像の整数の画素位置●印の位置が歪み補正後の画像の整数の画素位置に対応することはほとんどない。この場合は、歪み補正後の画像の整数の画素位置Aを囲む近傍4点□印のE,F,G,Hの画素位置への距離とその画素値に基づいて歪み補正後の画像の整数の画素位置における画素値を補間して求める必要がある。あるいは、図3のように、逆に歪み補正後の画像の整数の画素位置●印のBに対応する歪み補正前の画像の画素位置□印のCを求めて、その周囲の整数の画素位置である4点●印のI,J,K,Lの画素値を補間してCの位置に相当する画素値を求め、歪み補正後の画像の整数の画素位置Bにおける画素値とする。4点の画素補間に使用する補間アルゴリズムは公知技術のバイリニア補間法で可能である。図4に、上記の画像補正を行う画像補正装置の構成例を示すがある。式10を実行するには、行列加算器120および行列乗算器110を利用すれば可能である。また、式11は歪み補正演算器130で実行する。歪み補正演算器130にはあらかじめ、distort1r’関数を演算する演算器が組み込まれている。例えば多項式を演算する多項式演算器である。最後に式12を行列乗算器110が実行する。それにより、歪み補正後の画素位置が決定するので、画素補間器150は、歪み補正に必要な歪み補正前の画像の画素位置と対応する画素値を画像メモリ140から読み出し、前記した補間演算を行い、歪み補正後の画素値を取得する。最後に画素補間器150はその値を歪み補正後の画像の画素位置に対応した画像メモリ140の位置に書き出す。本画像補正装置の上記一連の動作は、CPU100が制御し、演算に必要なパラメータは内部パラメータメモリに格納されている値を読み出す。<キャリブレーション方法>内部パラメータを求める手順は以下のとおりである。1.格子チャートの撮影2.格子点検出3.初期パラメータ設定4.非線形最適化LevenbergMarquardt法5.内部パラメータ、外部パラメータ決定上記1,2の手順は、例えば、オープンソースの画像処理ライブラリであるOpenCVのユーティリティを使って実施することが可能である。また、上記3,4のカメラキャリブレーションにおいても、すでに公知の技術であり、ワールド座標系の格子点座標Pwから、更新中のパラメータを用いて算出した格子点座標Piと、手順2で検出した格子点座標との距離の二乗誤差を評価関数として、パラメータを更新していく。評価関数が極小値になれば収束したと判断して、手順5に移り内部パラメータ、外部パラメータを決定する。手順3,4についてもOpenCVのユーティリティを利用することが可能である。本実施例は、本実施例1の考えをレンズアレイを用いたステレオカメラに拡張し、各レンズで共通できるパラメータは共通化してキャリブレーションをするようにする。レンズアレイステレオカメラでは、レンズアレイが一枚の基板の上に構成されているので、各レンズが同じ方向を向いているし、各レンズの歪み特性も同一と考えてよい。このことは、普通の2台のカメラでステレオカメラを構成し、各々の内部パラメータと、カメラ間の外部パラメータとをキャリブレーションすることに比べて有利な点である。レンズが同じ方向を向いていること、各レンズの歪み特性が同一であることを拘束条件として、カメラキャリブレーションを行えば、簡易にステレオカメラのキャリブレーションが行え、従来より精度のよい画像補正が可能になる。<レンズアレイステレオカメラの概略>図5は、レンズアレイステレオカメラを正面から見た外観を図示している。レンズアレイステレオカメラは、センサ基板上に画像センサ、レンズ間のクロストークを防止する遮光壁、レンズアレイ、絞り板、筐体等が順に組み付けられて、それぞれが接着されて構成される。図5では、センサ基板10、レンズアレイ13、絞り板14、筐体15のみが示されている。図6に本レンズアレイステレオカメラのより詳しい図を示す。図6aは、カメラを正面から見た筐体部分を省略した図、図6bはカメラを横から見た図である。レンズアレイ13はサーフェス1S1、サーフェス2S2を持つ同一特性のレンズが二組あり、ひとつのガラスあるいはプラスチック基板上に形成されている。二組のレンズはそれぞれが左目、右目の役割を担う。レンズアレイ23と画像センサ11の間には異なるレンズを通った光が画像センサ11上で混じらないように遮光壁12が設けられている。レンズアレイ13の前面にはステンレスやアルミニウムなどの金属でできた絞り板14が配置されている。筐体15は、レンズアレイ13、遮光壁12、絞り板14を収める部材である。筐体15、絞り板14、レンズアレイ13、遮光壁12はそれぞれ接着されており、筐体15とセンサ基板10も接着されている。<共通の内部パラメータ、外部パラメータ>レンズアレイを用いたステレオカメラにおいては、図6に示すとおり、共通のレンズ基板や画像センサが用いられている。したがって、二つの独立したカメラをキャリブレーションするというのではなく、センサ共通の内部パラメータ、外部パラメータを持つ拘束条件のついた二つのカメラのキャリブレーションを行うということになる。レンズの基板が同じであるので、レンズの姿勢が等しい。すなわち、外部パラメータの回転行列Rcが共通である。二つのカメラでその位置が異なるので、並進行列Tcは異なる。レンズの特性が等しいので、レンズの歪み特性も等しくできてdistrotrは共通である。画像センサは、一枚であり、レンズアレイの光軸は平行であるので画像センサの法線ベクトルhも共通である。カメラの焦点距離fは、画像センサが傾いているかも知れないので異なる値を持つ可能性がある。また、画像中心Cは当然ながら異なる。よって、共通パラメータ、異なるパラメータは下のように整理される。i共通パラメータRc,distortr,hii異なるパラメータTc,f,C<キャリブレーション方法>レンズアレイステレオカメラのキャリブレーション手順は普通のカメラと大きく違わない。すなわち、以下のとおりりである。1.格子チャートの撮影2.格子点検出3.初期パラメータ設定4.非線形最適化LevenbergMarquardt法5.内部パラメータ、外部パラメータ決定図7に、レンズアレイステレオカメラで格子チャートを撮影したときの画像の一例を示す。手順1,2においては、画像センサからキャプチャした画像の中に遮光壁の内側に二つの同一サイズの画像が存在しており図7、それぞれで格子点検出を行い、検出した座標と格子チャートの中の格子点のワールド座標と対応づける。手順3では、更新するためのパラメータRc,disyortr,h,Tcl,fl,Cl,Tcr,fr,Crの初期値を設定する。ここで、Tcl,fl,Clはそれぞれ、左目の役割を担うカメラの並進行列、焦点距離、画像中心であり、Tcr,fr,Crはそれぞれ、右目の役割を担うカメラの並進行列、焦点距離、画像中心である。その後で、手順4,5において、非線形最適化方法を用いてパラメータを決定する。すなわち、外部パラメータ、内部パラメータを用いて、チャートの格子点のワールド座標から左目、右目カメラのそれぞれの画像座標Piへ投影し、その座標と手順2の格子点検出で求めた座標との距離の差分の二乗和を最小にする内部パラメータ、外部パラメータを決定する。<画像補正方法>レンズアレイステレオカメラにおいても、その画像補正方法は実施例1の画像補正方法と基本的には変わりなく、以下の手順を踏む。ただし、左右のカメラで焦点距離が異なる場合があるので、焦点距離が大きい方にあわせて画像スケーリングを行うと、左右の画像の範囲に画像がなくて対応点がないということがなくなるので、後の対応点探索の時の対応点がない場合の処理を省ける利点がある。1.逆行列を定義する2.逆行列から、正規化カメラ上での座標を得る3.歪み補正を行う4.大きい焦点距離にあわせた画像スケーリング10式より、左右のカメラに対して次の式がかける。ここで、Pil=xil,yil,1,Pir=xir,yir,1,Cl=cxl,cyl,0,Cl=cxr,cyr,0,Pdl=xdl,ydl,1,Pdr=xdr,ydr,1である。右下の添え字lrは左目、右目カメラに対応しているという意味である。ここで、A’l,A’rはそれぞれ次式であらわされる。さらに11式よりPnl=xnl,ynl,1,Pnr=xnr,ynr,1を推定できて、Pnl=distort1r’pdlPnr=distort1r’pdrここでr’2=x2dly2dlまたはr’2=x2dry2dr。distort1r’は、distortrの逆関数である。最後に、歪み補正した座標Pnl,Pnrから、次式を用いて歪み補正を行った焦点距離fc=maxfl,frのピンホールカメラの画像座標Pflxcl,ycl,zcl,Pfrxcr,ycr,zcrを得る。ここで、である。cxc,cycは、左目、右目カメラから得られる画像領域の中心座標を表す。図8に、上記のレンズアレイステレオカメラの画像補正を行う画像補正装置の構成例を示す。先の図4と異なる部分は画素位置判定器170が存在することである。画素位置判定器170は歪み補正前の画像の画素位置に応じて、内部パラメータメモリ160から左目用のパラメータを読み出すか、右目用のパラメータを読み出すかをコントロールする。それ以外の演算は、図4の画像補正装置と同様の処理を実行し、最後に歪み補正後の画像の補間した画素値を左目か右目かに応じて画像メモリ140の所定の位置に書き出す。以上のようにして、レンズアレイステレオカメラの高精度の画像補正を行い、被写体の距離を測定するための左右のカメラの画像を得ることができる。この二つの画像から画像マッチングを行って、対応点を検出し、距離を得る事が可能になる。本実施例は、レンズアレイを用いた薄型極小ステレオカメラのキャリブレーションについて、さらに拘束条件をつけてカメラモデルを構築し、ステレオカメラとしてより高精度のキャリブレーションおよび画像補正を行うものである。<レンズアレイステレオカメラの概略>図5、図6に示したレンズアレイステレオカメラと構成は等しいとする。<被写体のワールド座標から画像座標への変換と内部パラメータ、外部パラメータ>レンズアレイを用いたステレオカメラにおいては、図5、図6に示したとおり、共通のレンズ基板や画像センサが用いられている。ここで、図9のようにカメラ座標系を定義する。まず、カメラ座標系の原点をレンズアレイの中心におく。そしてカメラ座標系のX軸を左右のレンズの中心を通るように設定する。すると、レンズの中心間の距離B>0を用いて、左右のレンズ中心のカメラ座標系における座標をそれぞれ、-B/2,0,0,B/2,0,0と表現できる。また、このときのカメラ座標系とワールド座標系との関係はRc,Tcで表現する。すると、左右レンズの外部パラメータは、Rcが共通で、並進行列がそれぞれTcB/2,0,0,Tc-B/2,0,0となる。これを式で表すと、左のレンズの中心を原点とした座標系では、被写体の座標は18式で表される。また、右のレンズの中心を原点とした座標系では、被写体の座標は19式で表される。上記のように得られたXc,Yc,Zcは2,3式を用いて歪みを持った正規化カメラ上の座標xd,yd,1に変換される。次に、図10を使って、レンズアレイと画像センサのそれぞれの座標系とその関係を定義する。カメラ座標系の原点を新たにレンズアレイの左側のレンズの中心に設定する。そして、右のレンズ中心の方向にX軸、レンズアレイの面方向にY軸、画像センサの方向にZ軸を設定する。すると、右のレンズ中心の座標は、B,0,0であらわされる。また、画像センサ面の画像座標系をuv座標系と定義する。このuv座標系に垂直なベクトルは前記した画像センサ面の法線ベクトルh=a,b,1と平行であり、u軸はhに垂直で画像センサ面内に存在し、また、v軸はu軸、hそれぞれに垂直で画像センサ面内に存在する。u軸の単位ベクトル、v軸の単位ベクトルをそれぞれカメラ座標系において、eu=m,n,p,ev=g,j,kと定義すると、eu,evは以下のように書き表せる。左側のレンズの光軸と画像センサ面との交点のuv座標系における座標をCl=cul,cvl、右側のレンズの光軸と画像センサ面との交点のuv座標系における座標をCr=cur,cvrとする。そして、左側レンズの中心とClとの距離をfl、右側レンズの中心とCrとの距離をfrとする。以上のように定義すると、被写体上の点は、左のレンズを通り、画像センサ上のuv座標系の点Pil=uil,vilに投影され、歪みを持った正規化カメラ上の座標xd,yd,1を用いて次のように記述できる。同様に、被写体上の点は右のレンズを通り、画像センサ上のuv座標系の点Pir=uir,virに投影され、歪みを持った正規化カメラ上の座標xd,yd,1を用いて次のように記述できる。ただし、23式を斉次座標を使って書き直すと以下のように表せる。ここで、このようにして、被写体のワールド座標は、レンズアレイを使ったステレオカメラの画像座標に変換される。この変換における独立パラメータは下のように整理される。よって、独立パラメータは下のように整理される。ここで、hとθでレンズアレイに対する画像センサの回転、f1,C1でレンズアレイに対する画像センサの並進を表している。このようにあらわすことで、カメラの内部状態を記述することができ、撮像画像との関係を容易に把握することが可能になる。i独立パラメータRc:カメラ座標系の回転Tc:カメラ座標系の並進B:レンズアレイのレンズ間距離distortr:レンズの歪み関数h:画像センサ面のカメラ座標系での法線ベクトルθ:画像センサ面のZ軸周りの回転角f1:左レンズの中心と、左レンズの光軸と画像センサ面との交点を結ぶ距離左カメラの焦点距離Cl:左レンズの光軸と画像センサ面との交点の画像座標系での座標<キャリブレーション方法>ここでも、レンズアレイステレオカメラのキャリブレーション手順は普通のカメラと大きく違わない。1.格子チャートの撮影2.格子点検出3.初期パラメータ設定4.非線形最適化LevenbergMarquardt法5.内部パラメータ、外部パラメータ決定手順1,2においては、画像センサからキャプチャした画像の中に遮光壁の内側に二つの同一サイズの画像が存在しており図7参照、それぞれで格子点検出を行い、検出した座標と格子チャートの中の格子点のワールド座標と対応づける。手順3で、更新するためのパラメータRc,Tc,B,distortr,h,θ,fl,Clの初期値を設定する。その後、手順4,5で非線形最適化方法を用いてパラメータを決定する。パラメータを用いて、チャートの格子点のワールド座標から左目、右目カメラのそれぞれの画像座標Piへ投影し、その座標と手順2の格子点検出で求めた座標との距離の差分の二乗和を最小にするパラメータを決定する。<画像補正方法>本実施例のレンズアレイステレオカメラにおいてもその画像補正方法は既述の画像補正方法と基本的には変わりなく、以下の手順を踏む。ただし、左右のカメラで焦点距離が異なる場合があるので、焦点距離が大きい方にあわせて画像スケーリングを行うと、左右の画像の範囲に画像がなくて対応点がないということがなくなるので、後の対応点探索の時の対応点がない場合の処理を省ける利点がある。1.逆行列を定義する2.逆行列から、正規化カメラ上での座標を得る3.歪み補正を行う4.大きい焦点距離にあわせた画像スケーリング25式より、左右のカメラに対して次の式がかける。ここで、Pil=xil,yil,1,Pir=xir,yir,1,Cl=cul,cvl,0,Cr=cur,cvr,0,Pdl=xdl,ydl,1,Pdr=xdr,ydr,1である。右下の添え字lrは左目、右目カメラに対応しているという意味である。ここで、Al1,Ar1はそれぞれ2627式の逆行列である。さらに11式よりPnl=xnl,ynl,1,Pnr=xnr,ynr,1を推定できて、15式と同様にPnl=distort1r’PdlPnr=distort1r’Pdr30ここでr’2=x2dly2dlまたはr’2=x2dry2dr。distort1r’は、distortrの逆関数である。最後に、歪み補正した座標Pnl,Pnrから、式16と同様に次式を用いて焦点距離fc=maxfl,frのピンホールカメラの画像座標Pflxcl,ycl,zcl,Pflxcr,ycr,zcrを得る。ここで、である。cxc,cycは、左右カメラから得られる画像領域の中心座標を表す。図11に、上記のレンズアレイステレオカメラの画像補正を行う装置は画像補正装置の構成例を示す。図11は、図8とほぼ同等の機能を有する。画素位置判定器170は歪み補正前の画像の画素位置に応じて、パラメータメモリ160から左目用のパラメータを読み出すか、右目用のパラメータを読み出すかをコントロールする。それ以外の演算は図8の画像補正装置と同様の処理を実行し、最後に歪み補正後の画像の補間した画素値を左目か右目かに応じて画像メモリの所定の位置に書き出す。以上のようにして、レンズアレイステレオカメラの高精度の画像補正を行い、被写体の距離を測定するための左右のカメラの画像を得ることができた。この二つの画像から画像マッチングを行って、対応点を検出し、距離を得る事が可能になる。なお、レンズアレイステレオカメラは、レンズが二つの場合だけでなく、三つ以上のレンズアレイの場合にも同様に高精度の画像補正を行うことができる。これにより、高精度な距離測定を行うことも可能である。"