(57)【要約】【課題】撮影画像の座標のずれをより高精度に補正する画像処理装置及びプログラムを提供する。【解決手段】本発明の画像処理装置は、第２撮影部により撮影された第２撮影画像の特徴点毎に、第１撮影部により撮影された第１撮影画像の特徴点（ｘ，ｙ）を対応させることにより、視差の縦成分ｄｙと横成分ｄｘとを計算する計算部と、視差の縦成分ｄｙを、ｘの１次の項とｙの１次の項と視差の横成分ｄｘの項とを含む多項式で表す視差多項式に近似する近似部と、ｘの１次の項または前記ｙの１次の項の係数を表す第１係数と視差の横成分ｄｘの項の係数を表す第２係数とから、第１撮影画像の座標を変換する第１多項式の係数と、第２撮影画像の座標を変換する第２多項式の係数とを決定する決定部と、第１多項式により第１撮影画像を補正し、第２多項式により第２撮影画像を補正する補正部とを備える。【選択図】図１
2014138332.tif 000002
【特許請求の範囲】
【請求項１】
第２撮影部により撮影された第２撮影画像の特徴点毎に、第１撮影部により撮影された第１撮影画像の特徴点（ｘ，ｙ）を対応させることにより、視差の縦成分ｄｙと横成分ｄｘとを計算する計算部と、
前記視差の縦成分ｄｙを、前記ｘの１次の項と前記ｙの１次の項と前記視差の横成分ｄｘの項とを含む多項式で表す視差多項式に近似する近似部と、
前記ｘの１次の項または前記ｙの１次の項の係数を表す第１係数と前記視差の横成分ｄｘの項の係数を表す第２係数とから、前記第１撮影画像の座標を変換する第１多項式の係数と、前記第２撮影画像の座標を変換する第２多項式の係数とを決定する決定部と、
前記第１多項式により前記第１撮影画像を補正し、前記第２多項式により前記第２撮影画像を補正する補正部と
を備える画像処理装置。
【請求項２】
前記決定部は、
前記第１係数から、前記第１撮影部の基線と水平方向との角度と、前記第２撮影部の基線と水平方向との角度との角度差を表す両眼角度差を算出し、前記第２係数から、前記第１撮影部の基線と水平方向との角度を表す基線角度差を算出し、前記両眼角度差と前記基線角度差とを使用して前記第１多項式の係数と前記第２多項式の係数とを決定する
請求項１に記載の画像処理装置。
【請求項３】
前記近似部は、
最小二乗法により前記縦成分ｄｙを前記視差多項式に近似する
請求項１又は２に記載の画像処理装置。
【請求項４】
前記近似部は、
前記第１撮影画像を複数の区画に区分し、前記区画に第１閾値以上の個数の前記特徴点（ｘ，ｙ）があるか否かにより、前記特徴点（ｘ，ｙ）が均一に分布しているか否かを判定し、前記特徴点（ｘ，ｙ）が均一に分布していると判定すると、前記視差多項式に近似する処理を開始する
請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記近似部は、
前記第１撮影画像を複数の区画に区分し、前記区分に含まれる前記特徴点（ｘ，ｙ）における視差の値が、第２閾値以上の前記特徴点（ｘ，ｙ）の個数と、第２閾値より小さい前記特徴点（ｘ，ｙ）の個数とが、それぞれ第３閾値以上あるか否かにより、前記視差の値の範囲が均一であるか否かを判定し、前記視差の範囲が均一に分布していると判定すると、前記視差多項式に近似する処理を開始する
請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項６】
前記近似部は、
前記第１撮影画像を複数の区画に区分し、前記区分に第１閾値以上の個数の前記特徴点（ｘ，ｙ）があるか否かにより、前記特徴点（ｘ，ｙ）が均一に分布しているか否かを判定し、前記区分に含まれる前記特徴点（ｘ，ｙ）における視差の値が、第２閾値以上の前記特徴点（ｘ，ｙ）の個数と、第２閾値より小さい前記特徴点（ｘ，ｙ）の個数が、それぞれ第３閾値以上あるか否かにより、前記視差の値の範囲が均一であるか否かを判定し、前記特徴点（ｘ，ｙ）と前記視差の範囲とが均一に分布していると判定すると、前記視差多項式に近似する処理を開始する
請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項７】
前記視差多項式は、前記ｘ又はｙの２次以上の項を含む
請求項１乃至６のいずれか１項に記載の画像処理装置。
【請求項８】
コンピュータを、
第２撮影部により撮影された第２撮影画像の特徴点毎に、第１撮影部により撮影された第１撮影画像の特徴点（ｘ，ｙ）を対応させることにより、視差の縦成分ｄｙと横成分ｄｘとを計算する計算部と、
前記視差の縦成分ｄｙを、前記ｘの１次の項と前記ｙの１次の項と前記視差の横成分ｄｘの項とを含む多項式で表す視差多項式に近似する近似部と、
前記ｘの１次の項または前記ｙの１次の項の係数を表す第１係数と前記視差の横成分ｄｘの項の係数を表す第２係数とから、前記第１撮影画像の座標を変換する第１多項式の係数と、前記第２撮影画像の座標を変換する第２多項式の係数とを決定する決定部と、
前記第１多項式により前記第１撮影画像を補正し、前記第２多項式により前記第２撮影画像を補正する補正部と
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及びプログラムに関する。
【背景技術】
【０００２】
被写体の距離を計測できるステレオカメラが利用されている。例えば、自動車に搭載されたステレオカメラ（以下「車載ステレオカメラ」という。）により、車両前方の被写体までの距離を計測して、自動車を制御する技術が実用化されている。例えば、車載ステレオカメラが計測した距離は、自動車の衝突防止や車間距離の制御等の目的で、運転者への警告、ブレーキ及びステアリング等の制御に利用されている。
【０００３】
ステレオカメラにより、被写体までの距離を正しく計測するためには、２つのカメラが正確に配置されていなければならない。しかしながら、カメラの組み付け公差もなく、２つのカメラを厳密に平行に配置することは非常に困難である。そのため、ステレオカメラが撮影した撮影画像を、画像処理により補正する技術が利用されている。
【０００４】
撮影画像を補正する技術に関する文献としては、特許文献１が知られている。特許文献１には、ステレオカメラの経時的な光軸のずれを、測距制度に及ぼす影響が無視できる早期の段階から稼動状態のまま自動的に調整することのできるステレオカメラの調整装置が開示されている。特許文献１のステレオカメラの調整装置は、撮影画像内の３つの特徴点から算出された式によりステレオカメラの経時的な光軸のずれを補正している。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、撮影画像の複数の特徴点における視差を利用して、より高精度に撮影画像の座標のずれを補正することができなかった。
【０００６】
本発明は、上記に鑑みてなされたものであって、撮影画像の座標のずれをより高精度に補正する画像処理装置及びプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明の画像処理装置は、第２撮影部により撮影された第２撮影画像の特徴点毎に、第１撮影部により撮影された第１撮影画像の特徴点（ｘ，ｙ）を対応させることにより、視差の縦成分ｄｙと横成分ｄｘとを計算する計算部と、前記視差の縦成分ｄｙを、前記ｘの１次の項と前記ｙの１次の項と前記視差の横成分ｄｘの項とを含む多項式で表す視差多項式に近似する近似部と、前記ｘの１次の項または前記ｙの１次の項の係数を表す第１係数と前記視差の横成分ｄｘの項の係数を表す第２係数とから、前記第１撮影画像の座標を変換する第１多項式の係数と、前記第２撮影画像の座標を変換する第２多項式の係数とを決定する決定部と、前記第１多項式により前記第１撮影画像を補正し、前記第２多項式により前記第２撮影画像を補正する補正部とを備える。
【０００８】
また、本発明のプログラムは、コンピュータを、第２撮影部により撮影された第２撮影画像の特徴点毎に、第１撮影部により撮影された第１撮影画像の特徴点（ｘ，ｙ）を対応させることにより、視差の縦成分ｄｙと横成分ｄｘとを計算する計算部と、前記視差の縦成分ｄｙを、前記ｘの１次の項と前記ｙの１次の項と前記視差の横成分ｄｘの項とを含む多項式で表す視差多項式に近似する近似部と、前記ｘの１次の項または前記ｙの１次の項の係数を表す第１係数と前記視差の横成分ｄｘの項の係数を表す第２係数とから、前記第１撮影画像の座標を変換する第１多項式の係数と、前記第２撮影画像の座標を変換する第２多項式の係数とを決定する決定部と、前記第１多項式により前記第１撮影画像を補正し、前記第２多項式により前記第２撮影画像を補正する補正部として機能させる。
【発明の効果】
【０００９】
本発明によれば、撮影画像の座標のずれをより高精度に補正する画像処理装置及びプログラムを提供することができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、第１の実施の形態の画像処理装置の構成の一例を示す図である。
【図２】図２は、撮影装置の第１撮影部及び第２撮影部の一例を説明するための図である。
【図３】図３は、撮影画像の座標のずれの一例を説明するための図である。
【図４】図４は、第１の実施の形態の画像処理装置が撮影画像の特徴点を検出する方法の一例を説明するための図である。
【図５】図５は、撮影装置の理想の位置状態の一例を説明するための図である。
【図６】図６は、撮影装置の両眼角度差θが０でない状態の一例を説明するための図である。
【図７】図７は、撮影装置の基線角度差φが０でない状態の一例を説明するための図である。
【図８】図８は、第１の実施の形態の画像処理装置の補正部の構成の一例を示す図である。
【図９】図９は、第１の実施の形態の画像処理装置が視差画像を生成する方法の一例を説明するためのフローチャートである。
【図１０】図１０は、第１の実施の形態の画像処理装置が撮影画像を補正する方法の一例を説明するためのフローチャートである。
【図１１】図１１は、第２の実施の形態の画像処理装置が撮影画像を補正する方法の一例を説明するためのフローチャートである。
【図１２】図１２は、第２の実施の形態の画像処理装置が撮影画像の領域を区分する場合の一例を説明するための図である。
【図１３】図１３は、第１及び第２の実施の形態の画像処理装置のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下に添付図面を参照して、画像処理装置及びプログラムの実施の形態を詳細に説明する。
【００１２】
（第１の実施の形態）
図１は、第１の実施の形態の画像処理装置２０の構成の一例を示す図である。画像処理装置２０は、計算部２１、近似部２２、決定部２３、補正部２４及び記憶部２５を備える。記憶部２５は、第１撮影画像３１、第２撮影画像３２、視差画像３３、視差多項式３４、第１多項式３５、第２多項式３６、第１補正画像３７及び第２補正画像３８を記憶する。画像処理装置２０は、撮影装置１０と通信路３０により接続されている。通信路３０の通信方式は、有線であっても無線であってもよい。撮影装置１０は、第１撮影部１及び第２撮影部２を備える。画像処理装置２０は、第１撮影部１及び第２撮影部２の位置ずれに起因する撮影画像の座標のずれを補正する。なお、図１の例では、撮影装置１０及び画像処理装置２０を別々の装置としているが、画像処理装置２０の一部又は全部の機能ブロックを、撮影装置１０に持たせてもよい。第１撮影画像３１は、第１撮影部１が撮影した撮影画像である。第２撮影画像３２は、第２撮影部２が撮影した撮影画像である。以下、第１撮影画像３１及び第２撮影画像３２を区別しない場合は、単に「撮影画像」という。視差画像３３、視差多項式３４、第１多項式３５、第２多項式３６、第１補正画像３７及び第２補正画像３８の詳細については後述する。
【００１３】
まず、撮影装置１０について説明する。第１撮影部１及び第２撮影部２は、被写体を撮影するステレオカメラである。撮影装置１０は、撮影タイミングを同期して第１撮影部１及び第２撮影部２により、同一の被写体を撮影することができる。
【００１４】
ここで、第１撮影部１及び第２撮影部２によるステレオカメラ及びステレオカメラの距離計測原理について説明する。図２は、撮影装置１０の第１撮影部１及び第２撮影部２の一例を説明するための図である。
【００１５】
図２の例では、焦点距離ｆ、光学中心Ｏ０、撮像面Ｓ０の第１撮影部１がＺ軸を光軸方向として配置されている。また、焦点距離ｆ、光学中心Ｏ１、撮像面Ｓ１の第２撮影部２がＺ軸を光軸方向として配置されている。第１撮影部１及び第２撮影部２は、Ｘ軸に対して平行に、距離Ｂ（基線長）だけ離れた位置に配置される。
【００１６】
第１撮影部１の光学中心Ｏ０から光軸方向に距離ｄだけ離れた位置にある被写体Ａは、直線Ａ−Ｏ０と撮像面Ｓ０の交点であるＰ０に像を結ぶ。一方、第２撮影部２では、同じ被写体Ａが、撮像面Ｓ１上の位置Ｐ１に像を結ぶ。
【００１７】
ここで、第２撮影部２の光学中心Ｏ１を通り、直線Ａ−Ｏ０と平行な直線と、撮像面Ｓ１との交点をＰ０’とする。また、Ｐ０’とＰ１の距離をｐとする。距離ｐは、同じ被写体の像を２台のカメラで撮影した画像上での位置のずれ量（以下、「視差」という。）を表す。三角形Ａ−Ｏ０−Ｏ１と、三角形Ｏ１−Ｐ０’−Ｐ１は相似である。そのため、ｄ＝Ｂ×ｆ／ｐである。すなわち、基線長Ｂ、焦点距離ｆ及び視差ｐから、被写体Ａまでの距離ｄを求めることができる。
【００１８】
以上が、ステレオカメラによる距離計測原理である。被写体Ａまでの距離ｄを正確に求めるには、第１撮影部１及び第２撮影部２が正確に配置されていなければならない。しかしながら、第１撮影部１（第２撮影部２）は、Ｘ軸、Ｙ軸又はＺ軸周りに回転する方向に位置がずれる可能性がある。これにより、第１撮影画像３１（第２撮影画像３２）の座標は、およそ上下左右にずれを生じる。更に厳密には、平行移動の座標のずれだけではなく、台形歪みも同時に発生する。組み付け公差なく２台のカメラを厳密に平行に配置することは非常に困難であるため、画像処理装置２０は、信号処理により撮影画像を補正する。
【００１９】
ここで、撮影画像の座標のずれについて説明する。図３は、撮影画像の座標のずれの一例を説明するための図である。図３の（ａ）は、撮影画像の理想状態を表している。以下、（ａ）と比較して撮影画像の座標のずれの一例について説明する。（ａ）〜（ｃ）の太線は、同じ被写体を表している。図３の（ｂ）は、撮影画像の全体に渡って、撮影画像の座標が上に同じ長さａだけ平行移動する方向にずれていることを示している。図３の（ｃ）は、更に台形歪みが生じていることを示している。（ｃ）の台形歪みの例では、撮影画像の上半分は拡大され、撮影画像の下半分は縮小されている。そのため、撮影画像中央のずれａに比べ、撮影画像の上下端のずれｂ及びｃが大きくなっている。このような台形歪みは、透視変換によるもので、アフィン変換（１次多項式による座標変換）の範囲では補正することができない。しかしながら、回転角度が微小な場合は台形歪みも微小なので、補正に使用する多項式に２次項を付加する事で近似的に補正できる。多項式による座標変換の説明については後述する。
【００２０】
図１に戻り、計算部２１は、第１撮影部１により撮影された第１撮影画像３１の特徴点（ｘ，ｙ）毎に、第２撮影部２により撮影された第２撮影画像３２の特徴点を対応させることにより、視差ｄの縦成分ｄｙと横成分ｄｘとを計算する。以下、第１撮影部１により撮影された第１撮影画像３１の特徴点（ｘ，ｙ）毎に、第２撮影部２により撮影された第２撮影画像３２の特徴点を対応させる処理を、対応点（ｘ，ｙ）を探索するという。
【００２１】
ここで、本実施の形態の画像処理装置２０が撮影画像の特徴点を検出する方法の一例について説明する。図４は、第１の実施の形態の画像処理装置２０が撮影画像の特徴点を検出する方法の一例を説明するための図である。撮影装置１０は、テストチャート５０を撮影する。テストチャート５０は、市松格子やランダムパターン等、画像処理装置２０による対応点（ｘ，ｙ）の探索に都合のよい外観を持つ。また、テストチャート５０は、前後に移動させることができる。これにより、撮影装置１０は、テストチャート５０との距離を変えて、テストチャート５０を複数回撮影できる。画像処理装置２０は、外部インタフェースを介して、通信路３０により撮影装置１０と接続される。撮影装置１０は、テストチャート５０を撮影した撮影画像を通信路３０により画像処理装置２０に送信する。
【００２２】
なお、テストチャート５０は、近距離にガラスなど透明な被写体を用いたり、または、視野の一部だけ隠す等により、撮影装置１０による一度の撮影で、近距離及び遠距離の被写体を同時に撮影してもよい。
【００２３】
図１に戻り、近似部２２は、視差ｄの縦成分ｄｙを、ｘの１次の項とｙの１次の項と視差の横成分ｄｘの項とを含む多項式で表す視差多項式３４に近似する。視差多項式３４は、両眼角度差θ及び基線角度差φの情報を含む多項式である。ここで、両眼角度差θは、第１撮影部１の基線と水平方向との角度と、第２撮影部２の基線と水平方向との角度との角度差を表す。また、基線角度差φは、第１撮影部１の基線と水平方向との角度を表す。
【００２４】
ここで、両眼角度差θ及び基線角度差φについて説明する。図５は、撮影装置１０の理想の位置状態の一例を説明するための図である。参照画像（左）は、第１撮影画像３１である。基準画像（右）は、第２撮影画像３２である。基準画像（右）は、視差を計算するための座標の基準をとる画像である。参照画像（左）は、視差の計算に使用する画像である。図５の例は、撮影装置１０の両眼角度差θ及び基線角度差φが０である理想状態を表している。理想状態では、無限遠点にある被写体は、両眼の撮影画像（参照画像及び基準画像）上で同じ位置に写る。すなわち、ＡＲ＝ＡＬとなる。被写体が、基準画像（右）上の像の座標ＡＲが同じまま（ｚ軸方向からの移動のみ）撮影装置１０に近づくと、参照画像（左）上の像の座標ＡＬは座標ＡＬ１に移動する。すなわち、基線方向の視差を生じる。理想状態では、参照画像（左）及び基準画像（右）の基線方向と水平方向が全て一致している。
【００２５】
図６は、撮影装置１０の両眼角度差θが０でない状態の一例を説明するための図である。図６は、第２撮影部２がｚ軸周りにθだけ回転した状態を表している。つまり、図６は、基線角度差φは０だが、両眼角度差θが０でない場合の一例を表している。このとき、点ＢＲの座標（ｘＢＲ，ｙＢＲ）と点ＡＲの座標（ｘＡＲ，ｙＡＲ）との関係は、次式（１）で表すことができる。
【００２６】
【数１】
2014138332.tif 000003
【００２７】
また、視差ｄのｘ成分ｄｘとｙ成分ｄｙは、式（１）及び（ｘＢＬ，ｙＢＬ）＝（ｘＡＬ，ｙＡＬ）＝（ｘＡＲ，ｙＡＲ）により、次式（２）で表すことができる。
【００２８】
【数２】
2014138332.tif 000004
【００２９】
被写体と撮影装置１０との距離が近づくときに生じる視差は、基線方向によって決まるため、参照画像（左）上の被写体の像の移動は、点ＢＬの水平方向に限られる。
【００３０】
図７は、撮影装置１０の基線角度差φが０でない状態の一例を説明するための図である。図７は、第１撮影部１及び第２撮影部２が、共にｚ軸周りにφだけ回転した状態を表している。つまり、図７は、両眼角度差θは０だが、基線角度差φが０でない場合の一例を表している。この場合、両方の座標系は同じだけ傾いているため、無限遠点の被写体の像ＣＲ及びＣＬの座標は同じになる。一方、被写体が撮影装置１０に近づくとき、像ＣＬは第１撮影部１の基線方向に移動する。そのため、視差ｄは、参照画像（左）が理想状態のときの座標系では、水平成分（ｘ軸方向）だけではなく、垂直成分（ｙ軸方向）も持つことになる。この視差ｄの垂直成分ｄｙは、第１撮影部１の基線方向と、参照画像（左）の理想状態の水平方向との角度差による。そのため、視差ｄの垂直成分ｄｙは、像ＣＬの座標には依存せず、視差ｄの大きさに比例して拡大する。すなわち、視差ｄの垂直成分ｄｙは、次式（３）により求めることができる。
【００３１】
ｄｙ＝ｔａｎ（φ）ｄｘ  ・・・（３）
【００３２】
このように、二つの角度差（基準角度差φ及び両眼角度差θ）の影響は、視差の垂直成分ｄｙの分布状況に違いを生じる。そのため、視差の垂直成分ｄｙの画面内の分布を調べることにより、基準角度差φ、両眼角度差θを分離して計測することができる。具体的には、撮影装置１０からの様々な方向、及び距離に存在する多数の被写体（特徴点）について、両眼画像（第１撮影画像３１及び第２撮影画像３２）上の対応点を探索する。そして、参照画像（左）上の被写体の像の座標（ｘｉ，ｙｉ）と、視差の水平成分ｄｘｉ、及び垂直成分ｄｙｉを収集する。近似部２２は、被写体の像の座標（ｘｉ，ｙｉ）の視差の縦成分ｄｙｉを、ｘｉの項とｙｉの項と視差の横成分ｄｘｉの項とを含む多項式で表す視差多項式３４に近似する。次式（４）は、視差多項式３４の一例である。
【００３３】
ｄｙｉ＝ａ＋ｂｘｉ＋ｃｙｉ＋ｄｄｘｉ  ・・・（４）
【００３４】
式（２）、（３）及び（４）により、次式（５）及び（６）を得る。
θ＝−ａｒｃｓｉｎ（ｂ）  ・・・（５）
φ＝ａｒｃｔａｎ（ｄ）  ・・・（６）
【００３５】
決定部２３は、式（５）及び（６）により、両眼角度差θ及び基準角度差φを求めることができる。なお、式（５）はｘの１次の項の係数であるｂを用いてθを求めるものであるが、ｙの１次の項の係数であるｃを用いて、θ＝ａｒｃｃｏｓ（ｃ＋１）としてθを求めてもよい。
【００３６】
なお、式（４）には、次数が２次以上の項が含まれていないため、撮影画像に台形歪みがある場合が考慮されていない。そこで、式（４）の代わりに２次多項式モデルを利用した次式（７）を視差多項式３４として使用することにより、台形歪みを補正することを考える。
【００３７】
ｄｙｉ＝ａ＋ｂｘｉ＋ｃｙｉ＋ｄｄｘｉ＋ｅｘｉ２＋ｆｘｉｙｉ＋ｇｙｉ２ 
・・・（７）
【００３８】
式（７）では、２次の項の係数ｅ、ｆ及びｇがあるため、撮影画像に台形歪みがある場合にも対応できる。撮影画像に台形歪みがない場合には、ｅ＝ｆ＝ｇ＝０となり、式（４）と同じになる。すなわち、式（７）は、式（４）を一般化した式である。式（７）の係数ｂ及びｄは、基準角度差φ及び両眼角度差θと式（５）及び（６）の関係を持つ。
【００３９】
これにより、本実施の形態の画像処理装置２０は、撮影装置１０のＺ軸周りの回転による撮影画像の縦横方向の座標のずれと、Ｘ軸又はＹ軸周りの回転による撮影画像の縦方向（基線垂直方向）の座標のずれを補正できる。
【００４０】
次に、視差多項式３４から、撮影画像の座標のずれを補正する多項式の係数を導く方法の一例について説明する。以下、視差多項式３４の係数ｂまたはｃを「第１係数」という。また、視差多項式３４の係数ｄを「第２係数」という。
【００４１】
図１に戻り、決定部２３は、第１係数と第２係数とから、第１撮影画像３１の座標を変換する多項式（第１多項式３５）の係数と、第２撮影画像３２の座標を変換する多項式（第２多項式３６）の係数を決定する。以下、具体的な方法について説明する。まず、決定部２３は、第１係数から、式（５）により両眼角度差θを算出する。また、決定部２３は、第２係数から、式（６）により基準角度差φを算出する。
【００４２】
基準角度差φは、第１撮影部１（参照カメラ）の基線と水平方向の角度がφであることを示している。また、両眼角度差θは、第２撮影部２（基準カメラ）と、第１撮影部１（参照カメラ）との角度がθであることを示している。したがって、決定部２３は、第１撮影画像３１の座標を、−φだけ回転させる変換を行う多項式の係数を決定する。また、決定部２３は、第１撮影画像３１の座標を、−φ−θだけ回転させる変換を行う多項式の係数を決定する。
【００４３】
決定部２３は、まず、第１撮影画像３１（参照画像）の回転の座標変換式を次式（８）及び（９）により設定する。
【００４４】
ｘｌ’＝ｃｏｓ（−φ）ｘｌ−ｓｉｎ（−φ）ｙｌ  ・・・（８）
ｙｌ’＝ｓｉｎ（−φ）ｘｌ＋ｃｏｓ（−φ）ｙｌ  ・・・（９）
【００４５】
ただし、（ｘｌ，ｙｌ）は、参照画像上の変換前の座標である。また、（ｘｌ’，ｙｌ’）は、参照画像上の変換後の座標である。
【００４６】
また、決定部２３は、第２撮影画像３２（基準画像）の回転の座標変換式を次式（１０）及び（１１）により設定する。
【００４７】
ｘｒ’＝ｃｏｓ（−φ−θ）ｘｒ−ｓｉｎ（−φ−θ）ｙｒ  ・・・（１０）
ｙｒ’＝ｓｉｎ（−φ−θ）ｘｒ＋ｃｏｓ（−φ−θ）ｙｒ  ・・・（１１）
【００４８】
ただし、（ｘｒ，ｙｒ）は、基準画像上の変換前の座標である。また、（ｘｒ’，ｙｒ’）は、基準画像上の変換後の座標である。
【００４９】
さらに、並進や、台形歪みによる撮影画像の縦方向の座標のずれに対応するため、参照画像用の多項式（９）は、式（７）の多項式近似結果の係数ａ、ｅ、ｆ及びｇの項を加えた次式（１２）に置き換える。
【００５０】
ｙｌ”＝ａ＋ｓｉｎ（−φ）ｘｌ＋ｃｏｓ（−φ）ｙｌ
＋ｅｘｌ２＋ｆｘｌｙｌ＋ｇｙｌ２  ・・・（１２）
【００５１】
本来は、これらの項は、φだけ回転する前の座標系でのずれ量ではあるが、φの絶対値が小さい場合には、近似的にそのまま加算してもよい。
【００５２】
ここで、本実施の形態の画像処理装置２０の座標変換を表す多項式について説明する。本実施の形態の画像処理装置２０では、座標変換を表す多項式を次式（１３）及び（１４）の多項式で表現する。
【００５３】
ｘ１＝ａ０＋ａ１ｘ０＋ａ２ｙ０＋ａ３ｘ０２＋ａ４ｘ０ｙ０＋ａ５ｙ０２ 
・・・（１３）
ｙ１＝ｂ０＋ｂ１ｘ０＋ｂ２ｙ０＋ｂ３ｘ０２＋ｂ４ｘ０ｙ０＋ｂ５ｙ０２ 
・・・（１４）
【００５４】
ただし、（ｘ０，ｙ０）は、撮影画像の変換前の座標を表す。また、（ｘ１，ｙ１）は、撮影画像の変換後の座標を表す。本実施の形態の画像処理装置２０は、式（１３）及び（１４）の係数を補正パラメータとして管理する。すなわち、補正パラメータは、（ａ０，ａ１，ａ２，ａ３，ａ４，ａ５，ｂ０，ｂ１，ｂ２，ｂ３，ｂ４，ｂ５）の計１２個の係数である。
【００５５】
以上により、第１撮影画像３１（参照画像）の補正パラメータは、次式（１５）で表すことができる。また、第２撮影画像３２（基準画像）の補正パラメータは、次式（１６）で表すことができる。
【００５６】
（ａ０，ａ１，ａ２，ａ３，ａ４，ａ５，ｂ０，ｂ１，ｂ２，ｂ３，ｂ４，ｂ５）
＝（０，ｃｏｓ（−φ），−ｓｉｎ（−φ），０，０，０，ａ，ｓｉｎ（−φ），ｃｏｓ（−φ），ｅ，ｆ，ｇ）  ・・・（１５）
（ａ０，ａ１，ａ２，ａ３，ａ４，ａ５，ｂ０，ｂ１，ｂ２，ｂ３，ｂ４，ｂ５）
＝（０，ｃｏｓ（−φ−θ），−ｓｉｎ（−φ−θ），０，０，０，０，ｓｉｎ（−φ−θ），ｃｏｓ（−φ−θ），０，０，０）  ・・・（１６）
【００５７】
ここでは、ｘの０次の項及び２次の項ａ３、ａ４及びａ５は計測できないため、すべて０とした。他の計測方法によってａ３、ａ４及びａ５を決定すれば、より精度を向上させることができる。以下、式（１５）の補正パラメータにより決定される多項式を「第１多項式」という（第１多項式３５）。また、式（１６）の補正パラメータにより決定される多項式を「第２多項式」という（第２多項式３６）。
【００５８】
補正部２４は、第１多項式３５により第１撮影画像３１を補正することにより、第１補正画像３７を生成する。また、補正部２４は、第２多項式３６により第２撮影画像３２を補正することにより、第２補正画像３８を生成する。
【００５９】
図８は、第１の実施の形態の画像処理装置２０の補正部２４の構成の一例を示す図である。補正部２４は、変換部４１、補間部４２及び画像メモリ４３を備える。変換部４１は、第１撮影画像３１の座標の１つを表す座標情報４４を読み込む。そして、変換部４１は、第１多項式３５により、読み込まれた座標を変換する。なお、図８は、撮影画像が第１撮影画像の場合について記載されているが、第２撮影画像３２の場合でも同様である。ただし、変換部４１は、第２撮影画像３２の場合は、第２多項式３６を使用して座標を変換する。以下の説明では、撮影画像が第１撮影画像３１である場合を例にして説明する。
【００６０】
一般に、変換部４１による変換後の座標の値は整数になるとは限らない。そのため、補間部４２が、変換後の座標の画素値を、第１撮影画像３１の周囲の整数の座標の画素値を使用して補間する。補間部４２は、画像メモリ４３に保存された第１撮影画像３１を参照して、例えば、双一次補間等により画素値を補間する。補正部２４は、第１撮影画像３１の全ての座標について、変換部４１及び補間部４２の処理を繰り返すことにより、第１補正画像３７を生成する。
【００６１】
次に、計算部２１が、撮影画像の各座標での視差の情報を含む画像（視差画像３３）を生成する方法の一例について説明する。図９は、第１の実施の形態の画像処理装置２０が視差画像３３を生成する方法の一例を説明するためのフローチャートである。計算部２１は、視差を２つの目的で計算する。撮影画像の補正の目的及び補正後の撮影画像を使用した正しい距離の計測の目的である。以下では、計算部２１が、撮影画像（第１撮影画像３１及び第２撮影画像３２）から視差画像３３を生成する場合（撮影画像の補正）について説明する。なお、計算部２１は、正しい距離を計測する場合は、補正後の撮影画像（第１補正画像３７及び第２補正画像３８）から視差画像３３を生成する。
【００６２】
計算部２１は、撮影画像（第１撮影画像３１及び第２撮影画像３２）を読み込む（ステップＳ１）。計算部２１は、撮影画像（第１撮影画像３１及び第２撮影画像３２）の特徴点を抽出する（ステップＳ２）。特徴点の抽出は、例えば、計算部２１が、基準画像（第２撮影画像３２）から、濃淡変化の激しい１以上の特徴点を抽出する。計算部２１は、基準画像（第２撮影画像３２）の特徴点毎に、参照画像（第１撮影画像３１）の特徴点（ｘ，ｙ）を対応させる（ステップＳ３）。例えば、計算部２１は、基準画像（第２撮影画像３２）上の各特徴点の近傍領域（ブロック）と同じ被写体の移っている参照画像（第１撮影画像３１）の特徴点を探索する。計算部２１は、例えば、対応点を探索する際に、ＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）やＰＯＣ（位相限定相関）等を利用する。計算部２１は、第１撮影画像３１と第２撮影画像３２とを使用して、各特徴点の視差を計算する（ステップＳ４）。計算部２１は、撮影画像の各座標での視差の情報を含む視差画像３３を出力する（ステップＳ５）。例えば、視差の情報は、視差画像３３内の各座標の画素値で表すことができる。計算部２１は、以上の処理を定期的に繰返し実行することで、常に、第１撮影部１及び第２撮影部２の前方の被写体の視差画像を出力し続ける。
【００６３】
次に、画像処理装置２０による撮影画像（第１撮影画像３１及び第２撮影画像３２）の補正処理の流れについて説明する。図１０は、第１の実施の形態の画像処理装置２０が撮影画像を補正する方法の一例を説明するためのフローチャートである。
【００６４】
撮影装置１０は、テストチャート５０を撮影する（ステップＳ１１）。テストチャート５０は、撮影装置１０との距離を変えながら撮影される。これは、視差ｄに変化をつけるためである。補正処理では、被写体までの正確な距離は必要なく、テストチャート５０の移動量は厳密に設定しなくても構わない。テストチャート５０の移動量は、視差ｄの変化を大きく取るため、例えば、撮影装置１０の最短撮影距離と、その２倍の距離等に設定する。これにより、視差ｄは最大値と、その半分程度になる。
【００６５】
画像処理装置２０の計算部２１は、通常の視差画像３３の生成と同様に、基準カメラ画像（第２撮影画像３２）の特徴点を抽出し、その周囲の画像内容と相関の高い参照カメラ画像（第１撮影画像３１）上の座標を求める（ステップＳ１２）。ただし、通常の視差画像生成とは異なり、上下左右２次元的に対応点を探索し、縦横２次元方向の対応点の差（ｄｘ，ｄｙ）を、各特徴点について求める。
【００６６】
画像処理装置２０の近似部２２は、ｄｙを式（７）の視差多項式で最小二乗法により近似することにより係数ａ〜ｇを求める（ステップＳ１３）。決定部２３は、係数ｂまたはｃ（第１係数）及びｄ（第２係数）から、上述の式（１５）及び（１６）により表される補正パラメータを決定する（ステップＳ１４）。決定部２３は、当該補正パラメータを記憶部２５に記憶する（ステップＳ１５）。なお、当該補正パラメータの記憶場所は、撮影装置１０でもよい。
【００６７】
第１の実施の形態の画像処理装置２０によれば、撮影画像の複数の特徴点における視差ｄを利用して算出した補正パラメータにより、撮影画像の座標のずれをより高精度に補正することができる。
【００６８】
（第２の実施の形態）
第１の実施の形態の画像処理装置２０は、特定のテストチャート５０を被写体に使用して、撮影画像を補正した。すなわち、第１の実施の形態の説明は、ステレオカメラ（撮影装置１０）を、車両等に搭載する製造工程等で、画像処理装置２０を使用することを想定している。本実施の形態の画像処理装置２０の説明では、撮影装置１０の実運用中に、任意の被写体を撮影した撮影画像に基づいて、撮影画像を補正する場合について説明する。
【００６９】
図１１は、第２の実施の形態の画像処理装置２０が撮影画像を補正する方法の一例を説明するためのフローチャートである。計算部２１は、撮影画像（第１撮影画像３１及び第２撮影画像３２）を読み込む（ステップＳ２１）。計算部２１は、基準画像（第２撮影画像３２）の特徴点毎に、参照画像（第１撮影画像３１）の特徴点（ｘ，ｙ）を対応させる（ステップＳ２２）。なお、本実施の形態では、第１の実施の形態と異なり、撮影画像に、常に理想的な特徴点が存在するとは限らない。例えば、読み込んだ撮影画像が、特徴点のない画像（暗闇や平坦な壁等）である可能性がある。また、撮影画像に特徴点が存在していても、画面の一部に偏って存在している可能性がある。例えば、撮影画像下部だけに存在する特徴点を使って、撮影画像全体の回転量を求めようとすると、近似誤差が非常に大きくなることが予想できる。そのため、本実施の形態の画像処理装置２０は、次のステップＳ２３を行う。
【００７０】
近似部２２は、対応点の評価を２つの視点から行う（ステップＳ２３）。１つ目の視点の評価として、近似部２２は、参照画像（第１撮影画像３１）を複数の区画に区分し、当該区分に第１閾値以上の個数の特徴点があるか否かにより、特徴点が均一に分布しているか否かを判定する。また、２つ目の視点の評価として、近似部２２は、当該区分に含まれる特徴点の視差ｄが、第２閾値以上の特徴点の個数と、第２閾値より小さい特徴点の個数が、それぞれ第３閾値以上あるか否かにより、視差ｄの値の範囲が均一であるか否かを判定する。第１閾値は、例えば１０である。第２閾値は、例えば、視差の計測範囲の最大値の１／２である。第３閾値は、例えば１０である。なお、近似部２２は、特徴点の分布と視差ｄの値の範囲とのうち、いずれか一方の評価のみを行ってもよい。
【００７１】
ここで、ステップＳ２３の詳細について説明する。近似部２２が、視差ｄの垂直成分ｄｙを視差多項式（式（４）又は（７））により近似する際には、撮影画像全体に渡って特徴点が分布していることが望ましい。また、視差ｄのとる範囲についても、広い範囲に分布していることが望ましい。近似部２２は、撮影画像を複数の区画に区分して特徴点及び視差ｄの値の範囲を判定する。
【００７２】
図１２は、第２の実施の形態の画像処理装置２０が撮影画像の領域を区分する場合の一例を説明するための図である。図１２の例では、水平方向及び垂直方向をそれぞれ３分割した場合の例である。したがって、近似部２２は、撮影画像の領域を９つの区画（０，０〜２，２）に分割している。近似部２２は、各特徴点の個数が、各区画に第１閾値以上あるか否かにより、特徴点が均一に分布しているか否かを判定する。
【００７３】
近似部２２は、視差ｄの値の範囲については、視差ｄの範囲を所定の閾値（第２閾値）で２分割することにより判定する。例えば、計算部２１が、算出する視差の範囲が０から６４画素であるとする。このとき、近似部２２は、第２閾値を３２にする。すなわち、近似部２２は、０以上３２画素未満の視差ｄを持つ特徴点と、３２画素以上の視差ｄを持つ特徴点に分類する。
【００７４】
近似部２２は、特徴点の分布と視差ｄの値の範囲とに応じて、特徴点を１８個の集合に分類する。特徴点の個数が、１８個の集合にそれぞれ第３閾値以上ある場合は、視差ｄの座標と、当該座標の視差ｄの大きさとが、撮影画像上で偏ることなく均一に分布していると判定する。
【００７５】
図１１に戻り、特徴点の分布及び視差ｄの値の範囲が均一であると判定する場合（ステップＳ２３、Ｙｅｓ）は、近似部２２は、視差多項式（式（４）又は（７））に近似する処理を開始する（ステップＳ２４）。特徴点の分布及び視差ｄの値の範囲が均一でないと判定する場合（ステップＳ２３、Ｎｏ）は、ステップＳ２１に戻る。これにより、特徴点のデータを蓄積し、後続のフレームの撮影画像から得られる特徴点を合算する。
【００７６】
ステップＳ２５及びステップＳ２６については、図１０のステップＳ１４及びステップＳ１５と同様であるため、説明を省略する。なお、画像処理装置２０は、ステップＳ２６の処理を行った後、ステップＳ２１に戻り一連の処理を繰り返す。これにより、温度や振動等により、経時的に変化する撮影画像の座標のずれに常に対応することが可能となる。
【００７７】
第２の実施の形態の画像処理装置２０は、特徴点の分布及び視差ｄの値の範囲が均一であると判定した場合に、撮影画像の複数の特徴点における視差ｄを利用して補正パラメータを算出する。これにより、撮影画像の座標のずれをより高精度に補正することができる。
【００７８】
次に、第１及び第２の実施の形態の画像処理装置２０のハードウェア構成の一例について説明する。図１３は、第１及び第２の実施の形態の画像処理装置２０のハードウェア構成の一例を示す図である。
【００７９】
第１及び第２の実施の形態の画像処理装置２０は、制御部６１、主記憶部６２、補助記憶部６３、表示部６４、入力部６５及び通信Ｉ／Ｆ６６を備える。制御部６１、主記憶部６２、補助記憶部６３、表示部６４、入力部６５及び通信Ｉ／Ｆ６６は、バス６７を介して互いに接続されている。
【００８０】
制御部６１は、補助記憶部６３から主記憶部６２に読み出されたプログラムを実行する。主記憶部６２は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等のメモリである。補助記憶部６３は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）や光学ドライブ等である。表示部６４は、画像処理装置２０の状態等を表示する画面である。表示部６４は、例えば液晶ディスプレイである。入力部６５は、画像処理装置２０を操作するためのインタフェースである。入力部６５は、例えばキーボードやマウス等である。通信Ｉ／Ｆ６６は、ネットワークに接続するためのインタフェースである。
【００８１】
第１及び第２の実施の形態の画像処理装置２０で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、メモリカード、ＣＤ−Ｒ及びＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録されてコンピュータ・プログラム・プロダクトとして提供される。
【００８２】
また、第１及び第２の実施の形態の画像処理装置２０で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、第１及び第２の実施の形態の画像処理装置２０で実行されるプログラムをインターネット等のネットワーク経由で提供、又は配布するように構成してもよい。
【００８３】
また、第１及び第２の実施の形態の画像処理装置２０のプログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【００８４】
第１及び第２の実施の形態の画像処理装置２０で実行されるプログラムは、上述した各機能ブロック（計算部２１、近似部２２、決定部２３及び補正部２４）を含むモジュール構成となっている。当該各機能ブロックは、実際のハードウェアとしては、制御部６１が上記記憶媒体からプログラムを読み出して実行することにより、上記各機能ブロックが主記憶部６２上にロードされる。すなわち、上記各機能ブロックは、主記憶部６２上に生成される。
【００８５】
なお、上述した各部（計算部２１、近似部２２、決定部２３及び補正部２４）の一部、又は全部を、ソフトウェアにより実現せずに、ＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）等のハードウェアにより実現してもよい。また、記憶部２５は、例えば、補助記憶部６３である。なお、補助記憶部６３により実現する記憶部２５のデータを、主記憶部６２に展開してもよい。
【００８６】
第１及び第２の実施の形態の画像処理装置２０によれば、撮影画像の複数の特徴点における視差ｄを利用して、撮影画像の座標のずれをより高精度に補正することができる。
【符号の説明】
【００８７】
１  第１撮影部
２  第２撮影部
１０  撮影装置
２０  画像処理装置
２１  計算部
２２  近似部
２３  決定部
２４  補正部
２５  記憶部
３０  通信路
３１  第１撮影画像
３２  第２撮影画像
３３  視差画像
３４  視差多項式
３５  第１多項式
３６  第２多項式
３７  第１補正画像
３８  第２補正画像
４１  変換部
４２  補間部
４３  画像メモリ
４４  座標情報
５０  テストチャート
６１  制御部
６２  主記憶部
６３  補助記憶部
６４  表示部
６５  入力部
６６  通信Ｉ／Ｆ
６７  バス
【先行技術文献】
【特許文献】
【００８８】
【特許文献１】特許第４１７２５５４号公報
【図１】
2014138332.tif 000005
【図２】
2014138332.tif 000006
【図３】
2014138332.tif 000007
【図４】
2014138332.tif 000008
【図５】
2014138332.tif 000009
【図６】
2014138332.tif 000010
【図７】
2014138332.tif 000011
【図８】
2014138332.tif 000012
【図９】
2014138332.tif 000013
【図１０】
2014138332.tif 000014
【図１１】
2014138332.tif 000015
【図１２】
2014138332.tif 000016
【図１３】
2014138332.tif 000017