【解決手段】本開示の一実施の形態に係る画像処理装置は、それぞれが左画像および右画像を有する複数のステレオ画像に含まれる第1および第2のステレオ画像に基づいて、互いに対応する、第1のステレオ画像における第1の左画像点および第1の右画像点と第2のステレオ画像における第2の左画像点および第2の右画像点とを探索する対応点探索部と、第1の左画像点および第1の右画像点に基づいて第1の視差を算出し、第2の左画像点および第2の右画像点に基づいて第2の視差を算出し、進行距離、第1の視差、および第2の視差に基づいて第1の視差補正値を算出する視差補正値算出部と、第1の視差補正値に基づいて補正マップを生成する補正マップ生成部と、第3のステレオ画像および補正マップに基づいて第1の視差画像を生成する画像生成部とを備える。
それぞれが左画像および右画像を有し、自車両において互いに異なる撮像タイミングで撮像された複数のステレオ画像に含まれる第1のステレオ画像および第2のステレオ画像に基づいて、互いに対応する、前記第1のステレオ画像の前記左画像における第1の左画像点、前記第1のステレオ画像の前記右画像における第1の右画像点、前記第2のステレオ画像の前記左画像における第2の左画像点、および前記第2のステレオ画像の前記右画像における第2の右画像点を探索する対応点探索部と、
前記第1の左画像点および前記第1の右画像点に基づいて第1の視差を算出し、前記第2の左画像点および前記第2の右画像点に基づいて第2の視差を算出し、前記第1のステレオ画像の前記撮像タイミングと、前記第2のステレオ画像の前記撮像タイミングとの間に前記自車両が移動した進行距離、前記第1の視差、および前記第2の視差に基づいて第1の視差補正値を算出する視差補正値算出部と、
前記第1の視差補正値に基づいて補正マップを生成する補正マップ生成部と、
前記複数のステレオ画像に含まれる、前記第1のステレオ画像の前記撮像タイミングおよび前記第2のステレオ画像の前記撮像タイミングよりも後の前記撮像タイミングで撮像された第3のステレオ画像および前記補正マップに基づいて、前記第3のステレオ画像に応じた第1の視差画像を生成する画像生成部と
を備えた画像処理装置。
前記視差補正値算出部は、前記第1の左画像点、前記第1の右画像点、前記第2の左画像点、および前記第2の右画像点がエピポーラ幾何拘束に従う場合に、前記第1の視差補正値を算出する
請求項1から請求項3のいずれか一項に記載の画像処理装置。
前記対応点探索部は、さらに、互いに対応する、前記第1のステレオ画像の前記左画像における第3の左画像点、前記第1のステレオ画像の前記右画像における第3の右画像点、前記第2のステレオ画像の前記左画像における第4の左画像点、および前記第2のステレオ画像の前記右画像における第4の右画像点を探索し、
前記視差補正値算出部は、さらに、前記第3の左画像点および前記第3の右画像点に基づいて第3の視差を算出し、前記第4の左画像点および前記第4の右画像点に基づいて第4の視差を算出し、前記進行距離、前記第3の視差、および前記第4の視差に基づいて第3の視差補正値を算出し、
前記補正マップ生成部は、前記第1の視差補正値および前記第3の視差補正値に基づいて、前記補正マップを生成する
請求項1から請求項7のいずれか一項に記載の画像処理装置。
【発明を実施するための形態】
【0009】
以下、本開示の実施の形態について、図面を参照して詳細に説明する。
【0010】
<実施の形態>
[構成例]
図1は、一実施の形態に係る画像処理装置(画像処理装置1)の一構成例を表すものである。画像処理装置1は、ステレオカメラ11と、処理部20と、進行距離センサ12と、操舵角センサ13とを有している。画像処理装置1は、自動車等の車両10に搭載される。
【0011】
ステレオカメラ11は、車両10の前方を撮像することにより、互いに視差を有する一組の画像(左画像PLおよび右画像PR)を生成するように構成される。ステレオカメラ11は、左カメラ11Lと、右カメラ11Rとを有する。左カメラ11Lおよび右カメラ11Rのそれぞれは、レンズとイメージセンサとを含んでいる。左カメラ11Lおよび右カメラ11Rは、この例では、車両10の車両内において、車両10のフロントガラスの上部近傍に、車両10の幅方向に所定距離だけ離間して配置される。左カメラ11Lおよび右カメラ11Rは、互いに同期して撮像動作を行う。左カメラ11Lは左画像PLを生成し、右カメラ11Rは右画像PRを生成する。左画像PLおよび右画像PRは、ステレオ画像PICを構成する。左画像PLおよび右画像PRは互いに視差を有する。ステレオカメラ11は、所定のフレームレート(例えば60[fps])で撮像動作を行うことにより、一連のステレオ画像PICを生成するようになっている。
【0012】
進行距離センサ12は、車両10の進行距離Pを検出するように構成される。具体的には、進行距離センサ12は、ステレオカメラ11におけるある撮像タイミングから、次の撮像タイミングまでの時間において、車両10が進行した距離を検出する。例えば、ステレオカメラ11のフレームレートが60[fps]である場合には、進行距離センサ12は、16.7[msec.](=1/60[Hz])の間に車両10が進行した距離を検出する。そして、進行距離センサ12は、その検出結果を処理部20に供給するようになっている。
【0013】
操舵角センサ13は、車両10の操舵角を検出するように構成される。そして、操舵角センサ13は、その検出結果を処理部20に供給するようになっている。
【0014】
処理部20は、ステレオカメラ11から供給されたステレオ画像PICに基づいて、車両10の前方の物体を認識するように構成される。車両10では、例えば、処理部20が認識した物体についての情報に基づいて、例えば、車両10の走行制御を行い、あるいは、認識した物体についての情報をコンソールモニタに表示することができるようになっている。処理部20は、例えば、プログラムを実行するCPU(Central Processing Unit)、処理データを一時的に記憶するRAM(Random Access Memory)、プログラムを記憶するROM(Read Only Memory)などにより構成される。処理部20は、画像メモリ21と、画像補正部22と、視差画像生成部23と、物体認識部24と、エピポーラ幾何拘束演算部25と、補正値算出部30と、補正マップ生成部26とを有している。
【0015】
画像メモリ21は、ステレオ画像PICに含まれる左画像PLおよび右画像PRを一旦記憶するように構成される。そして、画像メモリ21は、記憶された左画像PLおよび右画像PRを、順次、画像補正部22、物体認識部24、エピポーラ幾何拘束演算部25、および補正値算出部30に供給するようになっている。
【0016】
画像補正部22は、補正マップ生成部26から供給された補正マップMに基づいて、左画像PLおよび右画像PRを補正するように構成される。
【0017】
図2は、画像補正部22に供給される情報の一例を表すものであり、(A)は左画像PLおよび右画像PRを示し、(B)は補正マップMの一例を示す。
【0018】
左画像PLおよび右画像PRのそれぞれは、
図2(A)に示したように、複数の画素値PVを有している。左画像PLにおける複数の画素値PVは、左カメラ11Lにおける複数の画素によりそれぞれ得られた値である。右画像PRにおける複数の画素値PVは、右カメラ11Rにおける複数の画素によりそれぞれ得られた値である。左画像PLにおける複数の画素値PVは、複数のサブ領域100(複数のサブ領域100L)に区分され、右画像PRにおける複数の画素値PVは、複数のサブ領域100(複数のサブ領域100R)に区分される。各サブ領域100は、複数(例えば16×16個)の画素値PVを含む。
【0019】
補正マップMは、
図2(B)に示したように、複数の視差補正値Aを含んでいる。複数の視差補正値Aは、複数のサブ領域100に対応してそれぞれ設けられている。視差補正値Aは、対応するサブ領域100における視差の補正値を示している。
【0020】
画像補正部22は、補正マップMに基づいて、左画像PLおよび右画像PRをサブ領域100単位で補正する。具体的には、画像補正部22は、補正マップMにおける各サブ領域100での視差補正値Aの分だけ、左画像PLにおけるそのサブ領域100(サブ領域100L)の画像、および右画像PRにおけるそのサブ領域100(サブ領域100R)の画像の間の視差を補正することにより、左画像PLおよび右画像PRを補正するようになっている。
【0021】
視差画像生成部23は、画像補正部22により補正された左画像PLおよび右画像PRに基づいて、ステレオマッチング処理やフィルタリング処理などを含む所定の画像処理を行うことにより、視差画像PDを生成するように構成される。視差画像PDは、複数の画素値を有している。複数の画素値のそれぞれは、各画素における視差についての値を示している。言い換えれば、複数の画素値のそれぞれは、3次元の実空間における、各画素に対応する点までの距離に対応している。
【0022】
物体認識部24は、画像メモリ21から供給された左画像PLおよび右画像PRと、視差画像生成部23により生成された視差画像PDとに基づいて、車両10の前方の物体を認識するように構成される。そして、物体認識部24は、その認識結果についての情報を出力するようになっている。
【0023】
エピポーラ幾何拘束演算部25は、ステレオ画像PICに基づいて、エピポーラ幾何拘束に基づく演算を行うことにより、各サブ領域100における視差補正値A1を算出するように構成される。すなわち、例えば、左カメラ11Lおよび右カメラ11Rを用いてステレオカメラ11を組み立てる際の組み立て精度などにより、左カメラ11Lにより得られた左画像PL、および右カメラ11Rにより得られた右画像PRの間には、視差の誤差が生じ得る。エピポーラ幾何拘束演算部25は、左画像PLおよび右画像PRに基づいて、この視差の誤差を補正する視差補正値A1をサブ領域100単位で生成する。そして、エピポーラ幾何拘束演算部25は、各サブ領域100における視差補正値A1を補正マップ生成部26に供給するようになっている。
【0024】
補正値算出部30は、互いに異なるタイミングで撮像された複数のステレオ画像PICおよび進行距離Pに基づいて、各サブ領域100における視差補正値δを算出するように構成される。すなわち、例えば、左カメラ11Lのレンズの歪み、右カメラ11Rのレンズの歪み、車両10のフロントガラスの歪みなどにより、左カメラ11Lにより得られた左画像PLと、右カメラ11Rにより得られた右画像PRの間には、視差の誤差が生じ得る。補正値算出部30は、左画像PLおよび右画像PRに基づいて、この視差の誤差を補正する視差補正値δをサブ領域100単位で生成する。そして、補正値算出部30は、各サブ領域100における視差補正値δを補正マップ生成部26に供給するようになっている。補正値算出部30は、画像範囲設定部31と、2点マッチング処理部32と、対応点バッファ33と、4点マッチング処理部34と、判定部35と、対応点バッファ36と、視差補正値算出部37とを有している。
【0025】
画像範囲設定部31は、左画像PLおよび右画像PRのそれぞれにおいて、2点マッチング処理部32がマッチング処理を行う画像範囲を設定するように構成される。2点マッチングでは、後述するように、左画像PLにおける複数のサブ領域100Lおよび右画像PRにおける複数のサブ領域100Rのうちの、互いに対応するサブ領域100が特定される。この2点マッチングにおいて、全てのサブ領域100を探索すると時間がかかってしまうので、画像範囲設定部31は、探索する画像範囲を設定するようになっている。
【0026】
2点マッチング処理部32は、各ステレオ画像PICにおいて、左画像PLおよび右画像PRに基づいてサブ領域100単位でマッチング処理(2点マッチング処理)を行うことにより、互いに対応する2つの画像点(対応点CP2)を特定するように構成される。具体的には、2点マッチング処理部32は、左画像PLにおける複数のサブ領域100L、および右画像PRにおける複数のサブ領域100Rのうち、ほぼ同じY座標を有し、かつ、同様の画像パターンを有するサブ領域100L,100Rを探索することにより、互いに対応する2つの画像点(対応点CP2)を特定するようになっている。2点マッチング処理部32は、例えばテンプレートマッチングにより対応点CP2を特定してもよいし、局所特徴量に基づく特徴量マッチングにより対応点CP2を特定してもよい。
【0027】
図3は、対応点CP2の一例を表すものであり、(A)は、ある撮像タイミングで得られたステレオ画像PIC(ステレオ画像PIC1)における対応点CP2の一例を示し、(B)は、その次の撮像タイミングで得られたステレオ画像PIC(ステレオ画像PIC2)における対応点CP2の一例を示す。
【0028】
例えば、ステレオ画像PIC1(
図3(A))では、左画像PLにおけるあるサブ領域100L(サブ領域101L)が、道路上の1つの標識を含んでおり、右画像PRにおけるあるサブ領域100R(サブ領域101R)が、その標識を含んでいる。よって、左画像PLにおけるサブ領域101Lおよび右画像PRにおけるサブ領域101Rは、互いに対応する画像点であり、対応点CP2を構成する。2点マッチング処理部32は、ステレオ画像PIC1の左画像PLにおける複数のサブ領域100Lおよび右画像PRにおける複数のサブ領域100Rについてこのような2点マッチング処理を行うことにより、ステレオ画像PIC1に係る複数の対応点CP2を特定するようになっている。
【0029】
同様に、ステレオ画像PIC2(
図3(B))では、左画像PLにおけるサブ領域102Lおよび右画像PRにおけるサブ領域102Rが、互いに対応する画像点であり、対応点CP2を構成する。2点マッチング処理部32は、ステレオ画像PIC2の左画像PLにおける複数のサブ領域100Lおよび右画像PRにおける複数のサブ領域100Rについてこのような2点マッチング処理を行うことにより、ステレオ画像PIC2に係る複数の対応点CP2を特定するようになっている。
【0030】
対応点バッファ33は、2点マッチング処理部32が特定した複数の対応点CP2についての情報を記憶するように構成される。具体的には、対応点バッファ33は、対応点CP2を構成するサブ領域100L,100Rのペアについての情報を記憶するようになっている。対応点バッファ33は、例えば、最新のステレオ画像PICにおける複数の対応点CP2についての情報、および一つ前のステレオ画像PICにおける複数の対応点CP2についての情報を記憶する。
図3の例では、対応点バッファ33が記憶する情報は、ステレオ画像PIC1に基づいて特定された1つの対応点CP2を構成するサブ領域101L,101Rについての情報と、ステレオ画像PIC2に基づいて特定された1つの対応点CP2を構成するサブ領域102L,102Rについての情報とを含んでいる。
【0031】
4点マッチング処理部34は、対応点バッファ33に記憶された、あるステレオ画像PICにおける複数の対応点CP2についての情報、およびそのステレオ画像PICの一つ前に得られたステレオ画像PICにおける複数の対応点CP2についての情報に基づいて、進行距離センサ12の検出結果および操舵角センサ13の検出結果を利用して、互いに対応する4つの画像点(対応点CP4)を特定するように構成される。
【0032】
図3の例では、ステレオ画像PIC1(
図3(A))におけるサブ領域101L,101Rが対応点CP2を構成し、ステレオ画像PIC2(
図3(B))におけるサブ領域102L,102Rが対応点CP2を構成する。サブ領域101L,101Rは、道路上の1つの標識を含んでおり、サブ領域102L,102Rは、その標識を含んでいる。よって、ステレオ画像PIC1(
図3(A))におけるサブ領域101L,101R、およびステレオ画像PIC2(
図3(B))におけるサブ領域102L,102Rは、互いに対応する画像点であり、対応点CP4を構成する。この例では、1つの対応点CP4について説明したが、4点マッチング処理部34は、ステレオ画像PIC1の左画像PLにおける複数のサブ領域100Lおよび右画像PRにおける複数のサブ領域100Rと、ステレオ画像PIC2の左画像PLにおける複数のサブ領域100Lおよび右画像PRにおける複数のサブ領域100Rとについて、このような4点マッチング処理を行うことにより、複数の対応点CP4を特定するようになっている。
【0033】
判定部35は、4点マッチング処理部34が特定した複数の対応点CP4のそれぞれをその後の演算で使用すべきかどうかを判定するように構成される。具体的には、判定部35は、例えば、進行距離センサ12の検出結果に基づいて、車両10の車速が所定の車速よりも速い場合には、4点マッチング処理部34が特定した複数の対応点CP4を使用すべきと判定し、車両10の車速が所定の車速よりも遅い場合には、4点マッチング処理部34が特定した複数の対応点CP4を使用すべきでないと判定する。すなわち、車両10の車速が所定の車速よりも遅い場合には、進行距離Pが短くなりすぎてしまい、後述する視差補正値算出部37における算出精度が低下するおそれがあるので、判定部35は、4点マッチング処理部34が特定した複数の対応点CP4を使用すべきでないと判定する。また、判定部35は、例えば、操舵角センサ13の検出結果に基づいて、車両10の操舵角が所定の操舵角よりも小さい場合には、4点マッチング処理部34が特定した複数の対応点CP4を使用すべきと判定し、車両10の操舵角が所定の操舵角よりも大きい場合には、4点マッチング処理部34が特定した複数の対応点CP4を使用すべきでないと判定する。すなわち、車両10の操舵角が所定の操舵角よりも大きい場合には、ステレオ画像PIC1、PIC2の間で画像の変化が大きくなりすぎてしまい、後述する視差補正値算出部37における算出精度が低下するおそれがあるので、判定部35は、4点マッチング処理部34が特定した複数の対応点CP4を使用すべきでないと判定する。また、判定部35は、4点マッチング処理部34が特定した複数の対応点CP4のそれぞれがエピポーラ幾何拘束に従うかどうかを確認し、対応点CP4がエピポーラ幾何拘束に従う場合には、その対応点CP4を使用すべきと判定し、対応点CP4がエピポーラ幾何拘束に従わない場合には、その対応点CP4を使用すべきでないと判定するようになっている。
【0034】
対応点バッファ36は、判定部35により使用すべきと判定された複数の対応点CP4についての情報を記憶するように構成される。具体的には、対応点バッファ36は、対応点CP4を構成するサブ領域100のグループについての情報と、進行距離Pについての情報を記憶するようになっている。
図3の例では、対応点バッファ36が記憶する情報は、ステレオ画像PIC1,PIC2に基づいて特定された1つの対応点CP4を構成するサブ領域101L,101R,102L,102Rについての情報と、ステレオ画像PIC1の撮像タイミングとステレオ画像PIC2の撮像タイミングの間の時間に車両10が進んだ進行距離Pについての情報を含んでいる。
【0035】
視差補正値算出部37は、対応点バッファ36に記憶された対応点CP4についての情報に基づいて、各サブ領域100における視差補正値δを算出するように構成される。以下に、視差補正値算出部37における視差補正値δの算出方法について詳細に説明する。
【0036】
図4は、互いに異なるタイミングt1,t2において1つの物体Oを撮像した場合における、ステレオカメラ11と物体Oと位置関係の一例を表すものである。
【0037】
この例では、車両10は、
図4の上方向に向かって進行している。タイミングt1はある撮像タイミングであり、タイミングt2は、その撮像タイミングの次の撮像タイミングである。ステレオカメラ11は、これらのタイミングt1,t2において、物体Oを撮像している。すなわち、タイミングt1におけるサブ領域100L,100R(サブ領域103L,103R)、およびタイミングt2におけるサブ領域100L,100R(サブ領域104L,104R)は、対応点CP4を構成する。
【0038】
タイミングt1とタイミングt2との間の時間において、車両10は、進行方向に進行距離Pだけ進行している。進行方向における物体Oとステレオカメラ11との間の距離の検出値(検出距離L)は、タイミングt1では検出距離L1であり、タイミングt2では検出距離L2である。検出距離L1,L2および進行距離Pは、次式を満たす。
【数1】
ここで、errは誤差であり、“0”になることが期待される。この式EQ1において、検出距離L1を視差D1を用いて表すとともに、検出距離L2を視差D2を用いて表すことにより、次式を得る。
【数2】
ここで、視差D1は、タイミングt1における視差であり、視差D2は、タイミングt2における視差である。言い換えれば、視差D1は、
図4に示したサブ領域103Lとサブ領域103RのX方向におけるずれに対応し、視差D2は、
図4に示したサブ領域104Lとサブ領域104RのX方向におけるずれに対応する。パラメータBFは、焦点距離(focal length)と基線長(base line length)の積を示すパラメータである。
【0039】
誤差errは、視差D1のずれおよび視差D2のずれに起因して生じている。よって、次式に示すように、この誤差errを“0”にするために、視差D1を視差補正値δ1で補正し、視差D2を視差補正値δ2で補正することができる。
【数3】
【0040】
視差補正値δ1は、サブ領域103L,103Rにおける視差D1のずれを補正するための補正値であり、視差補正値δ2は、サブ領域104L,104Rにおける視差D2のずれを補正するための補正値である。一般に、左カメラ11Lに係るサブ領域103Lおよびサブ領域104Lは、互いに近い領域であり、同様に、右カメラ11Rに係るサブ領域103Rおよびサブ領域104Rは、互いに近い領域である。よって、視差補正値δ1および視差補正値δ2の差は小さいと考えられる。そこで、視差補正値δ1,δ2は同じ値(視差補正値δ)であると仮定し、式EQ3を視差補正値δについて整理すると、次式を得る。
【数4】
【0041】
この式EQ4は、視差補正値δについての2次関数である。よって、以下の式により、視差補正値δを算出することができる。
【数5】
【0042】
視差補正値算出部37は、対応点バッファ36に記憶された対応点CP4についての情報に基づいて、式EQ5を用いて、各サブ領域100における視差補正値δを算出する。具体的には、
図3の例では、視差補正値算出部37は、対応点バッファ36に記憶された対応点CP4についての情報に含まれる、ステレオ画像PIC1(
図3(A))における2つの画像点(サブ領域101L,101R)に基づいて視差D1を算出するとともに、ステレオ画像PIC2(
図3(B))における2つの画像点(サブ領域102L,102R)に基づいて視差D2を算出する。そして、視差補正値算出部37は、算出した視差D1,D2、および対応点バッファ36に記憶された対応点CP4についての情報に含まれる進行距離Pに基づいて、式EQ5を用いて、サブ領域101L,101R,102L,102Rに対応するサブ領域100での視差補正値δを算出する。対応点バッファ36は、複数の対応点CP4についての情報を記憶しているので、視差補正値算出部37は、それらの複数の対応点CP4についての情報に基づいて、複数のサブ領域100での視差補正値δをそれぞれ算出するようになっている。
【0043】
このようにして、補正値算出部30は、各サブ領域100における視差補正値δを算出する。そして、補正値算出部30は、各サブ領域100における視差補正値δを、補正マップ生成部26に供給するようになっている。
【0044】
補正マップ生成部26は、エピポーラ幾何拘束演算部25により生成された、各サブ領域100での視差補正値A1、および補正値算出部30により生成された、各サブ領域100における視差補正値δに基づいて、
図2(B)に示した補正マップMを生成するように構成される。そして、補正マップ生成部26は、生成した補正マップMを画像補正部22に供給するようになっている。
【0045】
この構成により、画像処理装置1では、エピポーラ幾何拘束演算部25が、ステレオ画像PICに基づいて、各サブ領域100における視差補正値A1を算出し、補正値算出部30が、互いに異なるタイミングで撮像された複数のステレオ画像PICおよび進行距離Pに基づいて、各サブ領域100における視差補正値δを算出する。補正マップ生成部26は、各サブ領域100での視差補正値A1および視差補正値δに基づいて、補正マップMを生成する。画像補正部22は、この補正マップMに基づいて、左画像PLおよび右画像PRを補正する。視差画像生成部23は、画像補正部22により補正された左画像PLおよび右画像PRに基づいて、ステレオマッチング処理やフィルタリング処理などを含む所定の画像処理を行うことにより、視差画像PDを生成する。これにより、画像処理装置1では、ステレオカメラ11を組み立てる際の組み立て精度に起因する視差のずれや、ステレオカメラ11のレンズの歪みや車両10のフロントガラスの歪みに起因する視差のずれを効果的に補正することができる。その結果、画像処理装置1では、視差画像PDの精度を高めることができるようになっている。
【0046】
ここで、2点マッチング処理部32および4点マッチング処理部34は、本開示における「対応点探索部」の一具体例に対応する。視差補正値算出部37は、本開示における「視差補正値算出部」の一具体例に対応する。補正マップ生成部26は、本開示における「補正マップ生成部」の一具体例に対応する。画像補正部22および視差画像生成部23は、本開示における「視差補正値算出部」の一具体例に対応する。エピポーラ幾何拘束演算部25は、本開示における「演算部」の一具体例に対応する。
【0047】
ステレオ画像PIC1は、本開示における「第1のステレオ画像」の一具体例に対応する。サブ領域101Lは、本開示における「第1の左画像点」の一具体例に対応する。サブ領域101Rは、本開示における「第1の右画像点」の一具体例に対応する。視差D1は、本開示における「第1の視差」の一具体例に対応する。ステレオ画像PIC2は、本開示における「第2のステレオ画像」の一具体例に対応する。サブ領域102Lは、本開示における「第2の左画像点」の一具体例に対応する。サブ領域102Rは、本開示における「第2の右画像点」の一具体例に対応する。視差D2は、本開示における「第2の視差」の一具体例に対応する。視差補正値δは、本開示における「第1の視差補正値」の一具体例に対応する。視差補正値A1は、本開示における「第2の視差補正値」の一具体例に対応する。
【0048】
[動作および作用]
続いて、本実施の形態の画像処理装置1の動作および作用について説明する。
【0049】
(全体動作概要)
まず、
図1を参照して、画像処理装置1の全体動作概要を説明する。ステレオカメラ11は、車両10の前方を撮像することにより、左画像PLおよび右画像PRを含むステレオ画像PICを生成する。進行距離センサ12は、車両10の進行距離Pを検出する。操舵角センサ13は、車両10の操舵角を検出する。処理部20において、画像メモリ21は、ステレオ画像PICに含まれる左画像PLおよび右画像PRを一旦記憶する。エピポーラ幾何拘束演算部25は、ステレオ画像PICに基づいて、エピポーラ幾何拘束に基づく演算を行うことにより、各サブ領域100における視差補正値A1を算出する。補正値算出部30は、互いに異なるタイミングで撮像された複数のステレオ画像PICおよび進行距離Pに基づいて、各サブ領域100における視差補正値δを算出する。補正マップ生成部26は、エピポーラ幾何拘束演算部25により生成された、各サブ領域100での視差補正値A1、および補正値算出部30により生成された、各サブ領域100における視差補正値δに基づいて、補正マップMを生成する。視差画像生成部23は、画像補正部22により補正された左画像PLおよび右画像PRに基づいて、ステレオマッチング処理やフィルタリング処理などを含む所定の画像処理を行うことにより、視差画像PDを生成する。物体認識部24は、画像メモリ21から供給された左画像PLおよび右画像PRと、視差画像生成部23により生成された視差画像PDとに基づいて、車両10の前方の物体を認識する。
【0050】
(詳細動作)
補正値算出部30は、互いに異なるタイミングで撮像された複数のステレオ画像PICおよび進行距離Pに基づいて、各サブ領域100における視差補正値δを算出する。以下に、この補正値算出部30における動作について、詳細に説明する。
【0051】
まず、画像範囲設定部31は、左画像PLおよび右画像PRのそれぞれにおいて、2点マッチング処理部32がマッチング処理を行う画像範囲を設定する。
【0052】
そして、2点マッチング処理部32は、各ステレオ画像PICにおいて、左画像PLおよび右画像PRに基づいてサブ領域100単位でマッチング処理(2点マッチング処理)を行うことにより、互いに対応する2つの画像点(対応点CP2)を特定する。例えば、
図3(A)に示した例では、2点マッチング処理部32は、左画像PLにおけるサブ領域101Lおよび右画像PRにおけるサブ領域101Rを、互いに対応する2つの画像点(対応点CP2)として特定する。2点マッチング処理部32は、ステレオ画像PIC1の左画像PLにおける複数のサブ領域100Lおよび右画像PRにおける複数のサブ領域100Rについてこのような2点マッチング処理を行うことにより、ステレオ画像PIC1に係る複数の対応点CP2を特定する。同様に、
図3(B)に示した例では、2点マッチング処理部32は、左画像PLにおけるサブ領域102Lおよび右画像PRにおけるサブ領域102Rを、互いに対応する2つの画像点(対応点CP2)として特定する。2点マッチング処理部32は、ステレオ画像PIC2の左画像PLにおける複数のサブ領域100Lおよび右画像PRにおける複数のサブ領域100Rについてこのような2点マッチング処理を行うことにより、ステレオ画像PIC2に係る複数の対応点CP2を特定する。対応点バッファ33は、2点マッチング処理部32が特定した複数の対応点CP2についての情報を記憶する。
【0053】
4点マッチング処理部34は、対応点バッファ33に記憶された、あるステレオ画像PICにおける複数の対応点CP2についての情報、およびそのステレオ画像PICの一つ前に得られたステレオ画像PICにおける複数の対応点CP2についての情報に基づいて、進行距離センサ12の検出結果および操舵角センサ13の検出結果を利用して、互いに対応する4つの画像点(対応点CP4)を特定する。
図3の例では、4点マッチング処理部34は、ステレオ画像PIC1(
図3(A))におけるサブ領域101L,101R、および、ステレオ画像PIC2(
図3(B))におけるサブ領域102L,102Rを、互いに対応する4つの画像点(対応点CP4)として特定する。4点マッチング処理部34は、ステレオ画像PIC1の左画像PLにおける複数のサブ領域100Lおよび右画像PRにおける複数のサブ領域100Rと、ステレオ画像PIC2の左画像PLにおける複数のサブ領域100Lおよび右画像PRにおける複数のサブ領域100Rとについて、このような4点マッチング処理を行うことにより、複数の対応点CP4を特定する。
【0054】
判定部35は、4点マッチング処理部34が特定した複数の対応点CP4のそれぞれをその後の演算で使用すべきかどうかを判定する。具体的には、判定部35は、例えば、進行距離センサ12の検出結果に基づいて、車両10の車速が所定の車速よりも速い場合には、4点マッチング処理部34が特定した複数の対応点CP4を使用すべきと判定し、車両10の車速が所定の車速よりも遅い場合には、4点マッチング処理部34が特定した複数の対応点CP4を使用すべきでないと判定する。また、判定部35は、例えば、操舵角センサ13の検出結果に基づいて、車両10の操舵角が所定の操舵角よりも小さい場合には、4点マッチング処理部34が特定した複数の対応点CP4を使用すべきと判定し、車両10の操舵角が所定の操舵角よりも大きい場合には、4点マッチング処理部34が特定した複数の対応点CP4を使用すべきでないと判定する。また、判定部35は、4点マッチング処理部34が特定した複数の対応点CP4のそれぞれがエピポーラ幾何拘束に従うかどうかを確認し、対応点CP4がエピポーラ幾何拘束に従う場合には、その対応点CP4を使用すべきと判定し、対応点CP4がエピポーラ幾何拘束に従わない場合には、その対応点CP4を使用すべきでないと判定する。
【0055】
対応点バッファ36は、判定部35により使用すべきと判定された複数の対応点CP4についての情報を記憶する。判定部35が上述した判定を行うので、4点マッチング処理部34が特定した複数の対応点CP4のうちの一部が、その後の演算で使用すべきと判定され、対応点バッファ36に記憶される。そして、例えば、補正値算出部30が約1000枚程度のステレオ画像PICに基づく処理を行うことにより、対応点バッファ36には、ほぼ全てのサブ領域100における対応点CP4についての情報が蓄積される。
【0056】
視差補正値算出部37は、対応点バッファ36に記憶された対応点CP4についての情報に基づいて、式EQ5を用いて、各サブ領域100における視差補正値δを算出する。
図3の例では、視差補正値算出部37は、対応点バッファ36に記憶された対応点CP4についての情報に含まれる、ステレオ画像PIC1(
図3(A))における2つの画像点(サブ領域101L,101R)に基づいて視差D1を算出するとともに、ステレオ画像PIC2(
図3(B))における2つの画像点(サブ領域102L,102R)に基づいて視差D2を算出する。そして、視差補正値算出部37は、算出した視差D1,D2、および対応点バッファ36に記憶された対応点CP4についての情報に含まれる進行距離Pに基づいて、式EQ5を用いて、サブ領域101L,101R,102L,102Rに対応するサブ領域100での視差補正値δを算出する。対応点バッファ36は、複数の対応点CP4についての情報を記憶しているので、視差補正値算出部37は、それらの複数の対応点CP4についての情報に基づいて、複数のサブ領域100での視差補正値δをそれぞれ算出する。
【0057】
このようにして、補正値算出部30は、各サブ領域100における視差補正値δを算出する。そして、補正値算出部30は、各サブ領域100における視差補正値δを、補正マップ生成部26に供給する。
【0058】
その後、補正マップ生成部26は、エピポーラ幾何拘束演算部25により生成された、各サブ領域100での視差補正値A1、および補正値算出部30により生成された、各サブ領域100における視差補正値δに基づいて、補正マップMを生成する。画像補正部22は、補正マップ生成部26から供給された補正マップMに基づいて、左画像PLおよび右画像PRを補正する。そして、視差画像生成部23は、画像補正部22により補正された左画像PLおよび右画像PRに基づいて、ステレオマッチング処理やフィルタリング処理などを含む所定の画像処理を行うことにより、視差画像PDを生成する。
【0059】
このように、画像処理装置1では、互いに異なるタイミングで撮像された複数のステレオ画像PICおよび進行距離Pに基づいて視差補正値δを生成するようにした。具体的には、2点マッチング処理部32および4点マッチング処理部34は、互いに対応する、あるステレオ画像PICにおける2つの画像点(第1の左画像点および第1の右画像点)と、そのステレオ画像PICの次のステレオ画像PICにおける2つの画像点(第2の左画像点および第2の右画像点)とを探索し、視差補正値算出部37は、第1の左画像点および第1の右画像点に基づいて第1の視差を算出し、第2の左画像点および第2の右画像点に基づいて第2の視差を算出し、進行距離P、第1の視差、および第2の視差に基づいて視差補正値δを生成した。そして、画像処理装置1では、この視差補正値δに基づいて補正マップMを生成し、左画像PLおよび右画像PRに基づいて、この補正マップMを用いて視差画像PDを生成するようにした。これにより、画像処理装置1では、視差画像PDの精度を高めることができる。
【0060】
すなわち、ステレオカメラ11は、車両10の車両内において、車両10のフロントガラスの上部近傍に配置される。よって、ステレオカメラ11では、車両10のフロントガラスの歪みに起因する視差のずれが生じるおそれがある。特に、フロントガラスは、個体差が大きく、1枚1枚の歪み量が異なる傾向がある。また、ステレオカメラ11をフロントガラスの上部近傍に配置する際、その配置位置がずれた場合には、視差のずれが変化し得る。画像処理装置1では、互いに異なるタイミングで撮像された複数のステレオ画像PICおよび進行距離Pに基づいて、各サブ領域100における視差補正値δを生成し、この視差補正値δに基づいて補正マップMを生成するようにした。これにより、画像処理装置1では、この補正マップMを用いて視差画像PDを生成することができるので、例えば、フロントガラスに起因する視差のずれを補正することができるため、視差画像PDの精度を高めることができる。
【0061】
また、画像処理装置1では、エピポーラ幾何拘束演算部25が生成した視差補正値A1、および補正値算出部30が生成した視差補正値δに基づいて補正マップMを生成し、この補正マップMを用いて視差画像PDを生成するようにした。このように、エピポーラ幾何拘束演算部25が生成した視差補正値A1に基づいて視差画像PDを生成することにより、左カメラ11Lおよび右カメラ11Rを用いてステレオカメラ11を組み立てる際の組み立て精度に起因する視差のずれを補正することができる。そして、補正値算出部30が生成した視差補正値δに基づいて視差画像PDを生成することにより、左カメラ11Lのレンズの歪み、右カメラ11Rのレンズの歪み、車両10のフロントガラスの歪みなどに起因する視差のずれを補正することができる。その結果、画像処理装置1では、視差画像PDの精度を高めることができる。
【0062】
また、画像処理装置1では、車両10が走行している期間において、互いに異なるタイミングで撮像された複数のステレオ画像PICおよび進行距離Pに基づいて視差補正値δを生成し、この視差補正値δに基づいて補正マップMを生成するようにした。これにより、画像処理装置1では、車両10が走行している期間において、継続して、補正マップMを生成することができる。その結果、例えば、車両10の出荷前などに校正を行う必要がないので、製造工程をシンプルにすることができる。
【0063】
[効果]
以上のように本実施の形態では、互いに異なるタイミングで撮像された複数のステレオ画像および進行距離に基づいて視差補正値δを生成し、この視差補正値δに基づいて補正マップを生成するようにした。そして、左画像および右画像に基づいて、この補正マップを用いて視差画像を生成するようにした。これにより、例えば、フロントガラスに起因する視差のずれを補正することができるため、視差画像の精度を高めることができる。
【0064】
本実施の形態では、エピポーラ幾何拘束演算部が生成した視差補正値A1、および補正値算出部が生成した視差補正値δに基づいて補正マップを生成し、この補正マップを用いて視差画像を生成するようにしたので、様々な理由に起因する視差のずれを補正することができるため、視差画像の精度を高めることができる
【0065】
本実施の形態では、車両が走行している期間において、互いに異なるタイミングで撮像された複数のステレオ画像および進行距離に基づいて視差補正値δを生成し、この視差補正値δに基づいて補正マップを生成するようにしたので、例えば、車両の出荷前などに校正を行う必要がないので、製造工程をシンプルにすることができる
【0066】
[変形例1]
上記実施の形態では、
図1に示したように、画像補正部22が、補正マップMに基づいて左画像PLおよび右画像PRを補正したが、これに限定されるものではない。これに代えて、
図5に示す画像処理装置1Aのように、補正マップMに基づいて視差画像PDを補正してもよい。画像処理装置1Aは、処理部20Aを備えている。処理部20Aは、視差画像生成部23Aと、視差画像補正部27Aとを有している。視差画像生成部23Aは、画像メモリ21から供給された左画像PLおよび右画像PRに基づいて、ステレオマッチング処理やフィルタリング処理などを含む所定の画像処理を行うことにより、視差画像PDを生成するように構成される。視差画像補正部27Aは、補正マップ生成部26から供給された補正マップMに基づいて、視差画像PDを補正するように構成される。ここで、視差画像生成部23Aおよび視差画像補正部27Aは、本開示における「視差補正値算出部」の一具体例に対応する。このように構成しても、上記実施の形態の場合と同様の効果を得ることができる。
【0067】
[変形例2]
上記実施の形態では、補正マップ生成部26は、エピポーラ幾何拘束演算部25により生成された、各サブ領域100での視差補正値A1、および補正値算出部30により生成された、各サブ領域100における視差補正値δに基づいて、
図2(B)に示したように、各サブ領域100における視差補正値Aを生成することにより、補正マップMを生成するようにした。その際、補正マップ生成部26は、複数回にわたり視差補正値Aを生成し、それらの複数の視差補正値Aのヒストグラムを作成し、そのヒストグラムにおける視差補正値Aの最頻値に基づいて、補正マップMを生成してもよい。
【0068】
以上、いくつかの実施の形態および変形例を挙げて本技術を説明したが、本技術はこれらの実施の形態等には限定されず、種々の変形が可能である。
【0069】
例えば、上記実施の形態では、各サブ領域100は、例えば16×16個の画素値PVを含むようにしたが、これに限定されるものではなく、より少ない画素値PVを含んでいてもよいし、より多い画素値PVを含んでいてもよい。
【0070】
例えば、上記実施の形態では、ステレオカメラ11が車両10の前方を撮像するようにしたが、これに限定されるものではなく、例えば、車両10の側方や後方を撮像してもよい。
【0071】
なお、本明細書中に記載された効果はあくまで例示であって限定されるものではなく、また、他の効果があってもよい。