ステレオカメラ装置、画像補整方法
【課題】行毎の撮影時刻が異なる撮像素子を利用したステレオカメラにおいて、光軸ずれによる画像の位置ずれだけでなく、動体歪みも補正することが可能なステレオカメラ装置を提供すること。
【解決手段】2つの画像の相関度から被写体との距離情報を検出するステレオカメラ装置100であって、行と列に配列された画素のうち行毎の撮影時刻が異なる撮像素子C0,C1が2つ配置された画像撮影手段200と、2つの撮像素子の相対的な位置ずれ量を検出する位置ずれ検出手段12と、前記位置ずれ検出手段が検出した垂直方向の前記位置ずれ量に応じて、2つの前記撮像素子の一方の撮影開始時刻を変更する開始時刻変更手段13と、2つの前記撮像素子が撮影した2つの画像の一方を、垂直方向の前記位置ずれ量と同程度、垂直方向に平行移動させる補正手段11と、を有することを特徴とする。
【解決手段】2つの画像の相関度から被写体との距離情報を検出するステレオカメラ装置100であって、行と列に配列された画素のうち行毎の撮影時刻が異なる撮像素子C0,C1が2つ配置された画像撮影手段200と、2つの撮像素子の相対的な位置ずれ量を検出する位置ずれ検出手段12と、前記位置ずれ検出手段が検出した垂直方向の前記位置ずれ量に応じて、2つの前記撮像素子の一方の撮影開始時刻を変更する開始時刻変更手段13と、2つの前記撮像素子が撮影した2つの画像の一方を、垂直方向の前記位置ずれ量と同程度、垂直方向に平行移動させる補正手段11と、を有することを特徴とする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、距離画像を撮影するステレオカメラ装置に関し、特に、左右の撮像素子の位置ずれを補正可能なステレオカメラ装置に関する。
【背景技術】
【0002】
画像処理技術の向上と高性能なカメラが比較的安価になってきたため、カメラの応用技術が実用化されるようになってきた。例えば、従来から、車両ではミリ波レーダで前方の障害物を検出し、衝突防止や車間距離制御のために運転者に警告を発したり、車両に制動を加えるなどの運転支援が行われている。これをカメラで実現する試みがある。カメラで実現する場合、車両にステレオカメラを搭載し、ステレオカメラが撮影した距離画像から画像処理部が障害物までの距離を計測する。距離が検出されれば、同様の運転支援が可能である。
【0003】
図1は平行配置したステレオカメラによる距離計測の原理を説明するための図である。
カメラC0とC1が距離Bだけ離れて設置されている。カメラC0とC1の焦点距離、光学中心、撮像面は下記のとおりである。
焦点距離:f、
光学中心:O0、O1
撮像面:s0、s1
カメラC0の光学中心O0から光軸方向に距離dだけ離れた位置にある被写体Aの像は、直線A−O0と撮像面s0との交点であるP0に像を結ぶ。一方カメラC1では、同じ被写体Aが、撮像面s1上の位置P1に像を結ぶ。ここで、カメラC1の光学中心O1を通り、直線A−O0と平行な直線と、撮像面s1との交点をP0'とし、点P0'とP1との距離をpとする。
【0004】
P0'は、カメラC0上の像P0と同じ位置であり、距離pは、同じ被写体の像の、二つ
のカメラで撮影した画像上での位置のずれ量を表し、これを視差と呼ぶ。
三角形:A-O0-O1、三角形O1- P0'-P1は相似なので、
d = Bf/p
が得られる。カメラC0とC1の距離B(基線長)と焦点距離fが既知ならば、視差pから距離dを求めることができる。
【0005】
このように、ステレオカメラによる距離計測は原理的に、2台のカメラの光軸が平行になっていることが前提となる。しかし、実機のステレオカメラは、機構的な公差、温度・振動による経時変化が避けられず、厳密な平行配置を維持することは困難である。そこで画像補正技術が重要になり、ステレオカメラの位置ずれを、画像を電子的に変形することによって補正する技術が考案されている(例えば、特許文献1参照。)。
【0006】
特許文献1には、ステレオカメラの視野内の基準マーカ(例えば車両ボンネット先端の特定位置)の初期位置を記憶しておき、距離計測時に撮影した画像中の基準マーカの位置ずれを補正するよう、画像を上下左右にシフトする画像補正装置が開示されている。
【0007】
ところで、カメラのシャッタ方式には、走査ラインごとに順次シャッタを切るローリングシャッタ方式、一画面分の走査ラインのシャッタを同時に切るグローバルシャッタ方式、がある。CMOS型の撮像素子を搭載したカメラの多くは、消費電力の低減が容易なローリングシャッタ方式を採用している。
【0008】
図2は、ローリングシャッタ方式の動作タイミングを説明する図の一例である。横軸が時間を示し、左から右へ時間が経過している。行と列は各画素の位置を示す。図に示すように、各行の各列の画素値が順番に読み出される。すなわち、CMOSイメージセンサは、最初に1行1列目の画素を露光して画素値を出力し、次に1行2列目の画素値を出力し、以降1行目の各列の画素の画素値を順に出力する。1行目のすべての画素を出力した後、2行目の画素を1列目から順に出力する。したがって、1行の画素数をM個とすると、1行目と2行目の同じ列の画素は、画素クロック×Mの時間だけ撮影時刻が異なることになる。
【0009】
このように行ごとに撮影時刻が異なるため、ローリングシャッタ方式のカメラでは、左右に高速に移動する物体を撮影すると画像が斜めに歪むことが知られている(以下、動体歪みという)。
【0010】
図3は、ローリングシャッタ方式による画像歪みの一例を示す図である。被写体が右方向に移動しているため、撮影された画像は1行毎に撮影時刻が異なる(被写体が移動しているため画像の下方向の行ほど右方向にずれる)画像となる。
【発明の概要】
【発明が解決しようとする課題】
【0011】
このような動体歪みも画像処理によって補正することが好ましいが、特許文献1に開示された補正方法では動体歪みの修正は困難である。
【0012】
図4は、動体歪みの補正における課題を説明する図の一例である。図4(a)は、ステレオカメラで撮影した補正前の2つの画像を示す。左右のカメラC0,C1に共通の被写体は矩形で示されている。図4では、右カメラが左カメラよりも若干上を向いて設置されているため、右カメラでは同じ被写体が、左カメラの画像に比べa行だけ下に写っている。
【0013】
図4(b)は、特許文献1に示されるような補正処理が施された画像の一例を示す。すなわち、補正により、右カメラの画像は、a行分だけ上に平行移動されるので、左右のカメラの画像で被写体は同じ高さに写るようになる。
【0014】
しかしながら、このような画像補正は、1枚の画像の全体が撮影された後に施されるものであり、各行の撮影時刻は変更されない。このため、図4(b)の画像では、左カメラの1行目の高さに対応する、右カメラの画像は (a+1) 行目にある。これは、左右のカメラが同時に撮影を開始したとすると、左の画像と右の補正後の対応する同じ行の画像にはa行分の時間差があることを意味する。すなわち、2つの画像に視差以外の相違が生じてしまう。
【0015】
このため、左右に移動する被写体を撮影した場合には、図3に示した動体歪みにより、計測される両眼視差に狂いが生じ、その結果、計測される距離に誤差が生じてしまう。
【0016】
本発明は、上記課題に鑑み、行毎の撮影時刻が異なる撮像素子を利用したステレオカメラにおいて、光軸ずれによる画像の位置ずれだけでなく、動体歪みも補正することが可能なステレオカメラ装置を提供することを目的とする。
【課題を解決するための手段】
【0017】
本発明は、2つの画像の相関度から被写体との距離情報を検出するステレオカメラ装置であって、行と列に配列された画素のうち行毎の撮影時刻が異なる撮像素子が2つ配置された画像撮影手段と、2つの撮像素子の相対的な位置ずれ量を検出する位置ずれ検出手段と、前記位置ずれ検出手段が検出した垂直方向の前記位置ずれ量に応じて、2つの前記撮像素子の一方の撮影開始時刻を変更する開始時刻変更手段と、2つの前記撮像素子が撮影した2つの画像の一方を、垂直方向の前記位置ずれ量と同程度、垂直方向に平行移動させる補正手段と、を有することを特徴とする。
【発明の効果】
【0018】
行毎の撮影時刻が異なる撮像素子を利用したステレオカメラにおいて、光軸ずれによる画像の位置ずれだけでなく、動体歪みも補正することが可能なステレオカメラ装置を提供することができる。
【図面の簡単な説明】
【0019】
【図1】平行配置したステレオカメラによる距離計測の原理を説明するための図である。
【図2】ローリングシャッタ方式の動作タイミングを説明する図の一例である。
【図3】ローリングシャッタ方式による画像歪みの一例を示す図である。
【図4】動体歪みの補正における課題を説明する図の一例である。
【図5】ステレオカメラ装置による光軸ずれの補正の概略を説明する図の一例である。
【図6】ステレオカメラ装置のハードウエア全体のブロック図の一例である。
【図7】カメラC0,C1の該略構成図の一例である。
【図8】CMOSイメージセンサの動作タイミングの一例を説明する図である。
【図9】2つの画像信号の位置ずれの検出を説明する図の一例である。
【図10】フレーム開始パルスの生成部のブロック図の一例である。
【図11】垂直方向の位置ずれの補正を模式的に示す図の一例である。
【図12】画像補整を模式的に説明する図の一例である。
【図13】光軸まわりのカメラの回転によるマーカの位置ずれを模式的に示す図の一例である。
【図14】歪曲収差の一例を模式的に示す図である。
【図15】距離情報の算出について説明する図の一例である。
【発明を実施するための形態】
【0020】
以下、本発明を実施するための形態について図面を参照しながら説明する。
図5は、本実施形態のステレオカメラ装置による光軸ずれの補正の概略を説明する図の一例である。
(1)ステレオカメラ装置は2つの画像から垂直方向に"a"の位置ずれがあることを検出する。
(2)ステレオカメラ装置は左右のCMOSイメージセンサの一方に供給するフレーム開始パルスを、aライン分だけ遅延させる。左側のカメラのフレーム開始パルスを遅延させたとすると、右側のCMOSイメージセンサはaライン分だけ先に読み出すことになる。このため、左の画像の1行目と右の画像のa+1行目が同じ時刻に読み出されるようになる。したがって、垂直方向に"a"行の位置ずれが生じていても、被写体の同じ画素はほぼ同じタイミングで読み出される。
(3)距離計測の前に右側の画像を垂直方向に"a"だけ補正しておけば、視差以外の差異がなくなるので、ステレオカメラ装置は距離を精度よく検出できる。
【0021】
本実施形態のステレオカメラ装置は、光軸のずれなど機械的な位置ずれを電子的な画像処理により補正するだけでなく、位置ずれ量に応じてCMOSイメージセンサの駆動タイミングを調整することにより、左右の画像で同じ被写体に生じていた読み出し時刻のずれも抑制することができる。したがって、距離情報の精度が向上する。
【0022】
〔構成〕
図6は、ステレオカメラ装置100のハードウエア全体のブロック図を示す。ステレオカメラ装置100は、
・画像を撮影する、平行配置された2台のカメラC0,C1
・2台のカメラC0,C1で撮影された画像を取得してカメラ間の位置ずれ(特に垂直方向)を検出するずれ検出部12
・ずれ検出部12が検出した位置ずれに応じて、2台のカメラC0,C1の一方の撮影タイミングを制御するカメラ制御部13、
・2台のカメラC0,C1で撮影された画像を取得して、ずれ検出部12で検出した位置ずれを補正して画像データを補正する画像補正部11
を有する。以下、各構成部について説明する。
【0023】
〔カメラC0,C1〕
図7は、カメラC0,C1の該略構成図の一例を示す。カメラC0,C1は同じレンズ21、絞り22、ローリングシャッタ方式のCMOSイメージセンサ23を有する。2つのレンズ21の光軸は平行であり、また、2つのCMOSイメージセンサ23の撮像面が同一平面になるように配置されている。ただし現実には平行度の精度には限界があり、微少な誤差を持つ。
【0024】
CMOSイメージセンサ23は、カメラ制御部13が出力する、画素クロックとフレーム開始パルスの二つの信号を入力として動作する。CMOSイメージセンサ23が出力した画像信号は、CDS24に出力され相関二重サンプリングによるノイズ除去が行われ、AGC25により信号強度に応じて利得制御され、A/D26によりA/D変換される。画像信号はCMOSイメージセンサ23の全体を記憶可能なフレームメモリ27に記憶される。
【0025】
フレームメモリ27に記憶された画像信号はデジタル信号処理部28により、距離の算出等が行われ、使用によってはフォーマット変換され液晶などの表示手段に表示される。デジタル信号処理部28は、DSP、CPU、ROM、RAMなどを備えたLSIである。画像補正部11及びずれ検出部12は例えばこのデジタル信号処理部28により、ハード的又はソフト的に提供される。カメラ制御部13をデジタル信号処理部28に配置してもよく、図示する構成は一例である。
【0026】
デジタル信号処理部28は、水平同期信号HD、垂直同期信号VD及びクロック信号の各パルスをカメラ制御部13に出力する。または、カメラ制御部13が水平同期信号HD及び垂直同期信号VDを生成することも可能である。
【0027】
カメラ制御部13は、タイミングジェネレータやクロックドライバを有し、HD,VD及びクロック信号からCMOSイメージセンサ23を駆動するための画素クロックやフレーム開始パルスなどのタイミングパルスを生成する。
【0028】
図8は、CMOSイメージセンサ23の動作タイミングの一例を説明する図である。フレーム開始パルスはフレームの開始を制御するパルスであり、画素クロックはCMOSイメージセンサ23の1つの画素の読み出しタイミングを制御するパルスである。フレーム開始パルスの立ち上がり後、最初の画素クロックに同期して、1行1列目の撮像素子が露光を開始し、あらかじめ決められた露光時間の後、光電変換された電荷量をCDS24等に出力する。
【0029】
また、画素クロックごとに、各画素が同様の動作を実行し、その結果、規定の露光時間が経過した後は、画素クロックごとに各撮像素子が一画素分の画素値の電荷量を順次出力する。
【0030】
撮像素子の1ライン分の露光開始時刻の差(Tline) は、(水平ブランクを含む) 画像幅(w:単位は画素数)、画素クロック1 画素分の時間(p) の積、から下記で表すことができる。
w*p
したがって、各行の撮影開始時刻はw*pずつ遅れていく。
【0031】
〔ずれ検出部〕
ずれ検出部12は、フレームメモリ27に記憶された2つの画像信号を用いて、2台のカメラC0,C1の微少な位置ずれを検出する。
【0032】
図9は2つの画像信号の位置ずれの検出を説明する図の一例である。車両メーカやカメラメーカなどが、カメラC0,C1の位置ずれを検出するため、自動車のボンネット上などの視野内に特定のマーカを配置しておく。マーカは、位置ずれ検出のための専用のシールなどとしてもよいが、ボンネットの一部(ボンネットの外縁)、視野内の突起物(ウォッシャ液の噴出口等)などをマーカとすることで意匠性の低下を防止できる。車両メーカやカメラメーカなどがカメラ部200を車両に取り付け光軸などを調整した際、車両メーカやカメラメーカは、カメラC0,C1それぞれが撮影した画像におけるマーカ位置をずれ検出部12に記憶しておく。また、位置だけでは位置ずれの補正のために実際に撮影された画像内のどの位置にマーカが撮影されているかが不明なので、ずれ検出部12はカメラC0,C1のそれぞれが撮影した基準元画像(1画面の全体又はマーカ部分だけ)を記憶しておく。
【0033】
ずれ検出部12は、例えば、定期的に(車両のイグニッションオンの後、毎週、毎月等)又はディーラによる定期点検時に、2台のカメラC0,C1が撮影した画像内のマーカ位置により位置ずれ量を検出する。
【0034】
図9(a)は、左右2台のカメラC0,C1が撮影した際のマーカ位置を示す。左側のカメラC0の画像上のマーカ位置を(xl,yl)、右側のカメラC1の画像上のマーカ位置を(xr, yr) として、黒丸で示す。
【0035】
なお、マーカの位置は、基準元画像のマーカ位置の所定サイズの画像をトリミングして(又は予めトリミングされているマーカ部分の画像)、これと、2台のカメラC0,C1が撮影した2つの画像における、基準元画像のマーカ位置の周辺の画像とパターンマッチングすることで特定される。
【0036】
図9(b) は、(xl, yl) と(xr, yr) を、同じ平面上に示す図である。
dx = xr - xl,
dy = yr - yl
により求められる(dx,dy)が平面内の左右マーカの位置のずれを表す。なお、図示するように水平方向は右方向が正、垂直方向は下方向が正である。よって、図の例ではdx、dyのいずれも負である。
【0037】
並行ステレオカメラとして視差が水平になるためには垂直方向のずれdy は、本来"0"でなければならない。したがってdy は垂直方向のずれ量である。
【0038】
水平方向のずれdx は、正確な平行ステレオカメラでも"0" にはならない。カメラ部200として校正時に得られた適切な視差からのずれが位置ずれ量をdxで表す。適切な視差はあらかじめ校正されており、ずれ検出部12に記憶されているカメラC0,C1それぞれが撮影した画像におけるマーカ位置から求められる。校正時のカメラC0,C1それぞれの画像におけるマーカ間の水平方向の距離をdx0、校正時のカメラC0,C1に対する現在のカメラC0,C1の水平方向の位置ずれをdx'とすると、dx'は以下のように表すことができる。
dx' = dxo−dx
なお、マーカを定めておかなくても、カメラC0,C1がそれぞれ撮影した画像同士をパターンマッチングすることで、ずれ検出部12はdx,dyを検出することができる。パターンマッチングにより2つの画像の画素値が最も一致するように相対移動した時の画像の移動量dx、dyが、平面内の左右マーカの位置のずれである。垂直方向のずれはdyそのものである。
【0039】
水平方向の位置ずれdxは、正確な平行ステレオカメラでも"0" にはならないので、ボンネットなど画像内に固定して撮影される領域を、校正時の左右の画像、距離計測時の左右の画像でパターンマッチングすることで、dx'を求める。以下、説明を容易にするため、dx'をdxと称す。
【0040】
ずれ検出部12は、検出した位置ずれ量を、画像補正部(水平方向dx、垂直方向dy)、及び、カメラ制御部(垂直方向dyのみ)へ出力する。
【0041】
なお、ずれ検出部12は、後述するように、平行方向の位置ずれだけでなく、光軸まわりのカメラC0,C1の回転など、経時変化によるその他のずれを検出しておく。
【0042】
〔カメラ制御部〕
カメラ制御部13は、垂直方向の位置ずれdyに応じて左右のカメラC0,C1のフレーム開始パルスを生成する。カメラ制御部13は、ずれ検出部12が検出した位置ずれdyに従い、左右のカメラC0,C1のフレームの撮影開始時刻を補正する。
【0043】
ここでは、カメラ制御部13が1 秒ごと30フレームの画像を出力するよう、1/30 秒ごとにフレーム開始パルスを出力するものとする。そのためカメラ制御部13の30Hz発振器133は30Hzのフレーム開始パルスを発信する。さらに、このフレーム開始パルスを、縦方向の画像補正量dyに合せて遅延する。
【0044】
図10は、カメラ制御部14におけるフレーム開始パルスの生成部のブロック図の一例を示す。カメラ制御部13はずれ検出部12が出力した垂直方向ずれ量dyを遅延量設定部132に設定する。
【0045】
遅延量設定部132は、垂直方向の位置ずれdyを遅延時間に変換して遅延回路131に設定するので、遅延回路131は設定された遅延時間が経過するとフレーム開始パルスを出力する。遅延量設定部132は、位置ずれdy が負の場合には左側の遅延回路131に遅延時間を設定し、左側のカメラ用のフレーム開始パルスをdy ライン分遅延させる(このとき右側のカメラ用フレーム開始パルスは遅延させない)。逆に、位置ずれdy が正の場合には右側の遅延回路131に遅延時間を設定し、右側のカメラ用のフレーム開始パルスをdy ライン分遅延させる。
【0046】
これにより、例えば図4のように、右画像が垂直方向上側に補正される場合には、左側のカメラC0のフレーム開始がaライン分だけ遅れることになる。すると、光軸がずれていても、左側のカメラC0の画像の1行目と、右側のカメラC1の像のa+1 行目が、同じ時刻に撮影されることになる。そのためローリングシャッタによる動体歪みが、距離計測に及ぼす悪影響を低減することができる。
【0047】
図11は、垂直方向の位置ずれの補正を模式的に示す図の一例である。図11(a)に示すように、右画像がdy下側にずれているので、カメラ制御部13は垂直方向の位置ずれdyを遅延量設定部132に設定する。遅延量設定部132は位置ずれdyに相当する遅延時間を左の遅延回路131に設定する。
【0048】
図11(b)に示すように、右側のカメラC1には先にフレーム開始パルスが出力され、1行目から画素値が順番に読み出される。右側のカメラC1がdyライン分読み出すと、カメラ制御部13は左側のカメラC1にフレーム開始パルスを出力する。これにより、左側のカメラC0の1行目と右側カメラC1のdy+1行目が同じ時刻に読み出される。
【0049】
図11(c)に示すように、フレームメモリ27には左側のカメラC0と右側のカメラC1がそれぞれ撮影したとおりの画像が記憶される。このずれは画像補正部11により補正される。
【0050】
図11(d)はローリングシャッタによる動体歪みの一例を示す図である。被写体が高速に移動した場合、図示するように動体歪みが生じるが、左側のカメラC0又は右側のカメラC1のフレーム開始パルスをdyライン遅延させることで、被写体の各ラインは同じ時刻に撮影されていることになる。よって、画像補正部11が垂直方向の位置ずれをdy補正することで、距離計測部14は動体歪みがあっても視差を精度よく検出でき、距離計測に及ぼす精度低下を低減することができる。
【0051】
〔画像補正部〕
画像補正部11はずれ検出部12が検出した水平方向の位置ずれdx、垂直方向の位置ずれdyに基づき、画像信号を水平方向及び垂直方向に水平移動して画像を補整する。画像補正部11は、参照カメラ(C0、C1のいずれでもよいが、ここではカメラC1が参照カメラとする。)の画像を、上下左右に平行移動する。垂直方向の位置ずれdyが負であれば、画像補正部11は右側のカメラC1の画像の全体をdyだけ上方向に移動し、dyが正であれば、画像補正部11は右側のカメラC1の画像の全体をdyだけ下方向に移動する。例えば、図9(b)のように、dy が負の場合、画像補正部11は右側のカメラC1の撮影画像をdy だけY 軸の負(上) 方向に移動する。
【0052】
水平方向の位置ずれについても同様に、水平方向の位置ずれdxが負であれば、画像補正部11は右側のカメラC1の画像の全体をdxだけ左方向に移動し、dxが正であれば、画像補正部11は右側のカメラC1の画像の全体をdxだけ右方向に移動する。dx、dy、の補正には、例えばアフィン変換を利用することができる。
【0053】
図12は画像補整を模式的に説明する図の一例である。垂直方向の位置ずれの補正においては、左右の被写体がほぼ同じ垂直位置になるように補正される。なお、画像補整の結果、フレームメモリ27の上側の画素値はオーバーフローし、フレームメモリ27の下側の画素値は足りなくなる。画像補正部11はオーバーフローした部分の画素値は削除し、画素値が足りない部分のフレームメモリ27のアドレスには所定値を(例えば、白:255、黒:0)を格納してもよいし、不定値のままとしてもよい。
【0054】
このような補正により、左右のカメラC0,C1の画像に視差以上の差異が生じないようにすることができる。
【0055】
また、画像補正部11は、画像信号からずれ検出部12が検出した位置ずれdx,dy以外に、各種の画像補整が可能である。例えば、このような平行方向の位置ずれだけでなく、光軸まわりのカメラC0,C1の回転、結像光学系の歪曲収差、なども補正することが望ましい。
【0056】
図13(a)(b)は光軸まわりのカメラC0,C1の回転によるマーカの位置ずれを模式的に示す図の一例である。光軸まわりのカメラC0,C1の回転は、左右のカメラC0,C1それぞれに生じうるが、左右のカメラC0,C1それぞれの回転の相対量を補正すればよい。
【0057】
回転による位置ずれは、左右の画像の回転量を検出することで求められる。後述する距離情報を求める手法とほぼ同様に、ずれ検出部12は、基準とする左側のカメラC0の画像から水平な2つ以上の領域を抽出し、これらと最も相関度の高い領域を右側の画像から特定する。回転による位置ずれはある程度の範囲に含まれるとしてよいので、図では右側の画像に点線で探索範囲を示した。ずれ検出部は探索範囲で最も相関の高い領域を決定する。
【0058】
図13(b)は右側の画像から決定された領域の一例を示す。ずれ検出部は、3つの領域の重心を通過する直線の傾きを最小二乗法により算出する。この傾きは、回転による位置ずれがなければゼロになるので、傾きθ(=arctan"傾き")が補正すべき回転量になる。
【0059】
画像補整部11は、アフィン変換のパラメータにθを代入して、回転による位置ずれを補正する。
【0060】
図14は歪曲収差の一例を模式的に示す図である。歪曲収差には糸巻型歪曲と樽型歪曲があるが、左右のカメラC0、C1は同種のレンズ21なので、生じる歪曲収差も同じとしてよい。
【0061】
また、このような歪曲収差は、経時変化によりあまり増減することはないので、レンズ21の特性としてレンズメーカなどから補正用パラメータが提供される。画像補正部11はこの補整パラメータに基づき左右の画像を補整する。補正パラメータには画素の座標に対応づけて移動先の座標が登録されているか、または、画素の座標を入力すると移動先の座標が出力される関数が登録されている。
【0062】
このように、ステレオカメラ装置100は、位置ずれdx、dyが含まれる画像を適切に補正することができる。
【0063】
〔距離計測〕
距離計測部14は、図1にて説明したように
d = Bf/p
から距離情報を算出する。BはカメラC0とC1の基線長、fは焦点距離、pが視差、dが距離である。
【0064】
図15は、距離情報の算出について説明する図の一例である。距離計測部14は、ずれ検出部12が検出した位置ずれdyに基づき、マッチング対象を限定する。すなわち、画像補整により所定値(白:255、黒:0)が埋め込まれた領域は画素値が一致しないので、距離計測部14はマッチング対象から除外する。本実施形態では左右の画像の最下部の行から位置ずれに相当するdy行だけマッチング対象から除外する。
【0065】
次に、距離計測部14は、左の画像信号を矩形の微少領域に区分する。そして、左の画像信号における左上の微小領域L(0,0)に着目し、微小領域L(0,0)に対応する、微小領域L(0,0)と同じサイズの右の画像信号における微小領域の画像相関値を求める。右の画像信号において着目する微小領域L(0,0)の位置を1画素ずつずらしながら、最も相関値の大きくなる右の画像信号における微小領域R(0,0)の位置を求める。画像補整により左右の画像に視差以外の差異はないので、距離計測部14が微小領域をずらす方向は水平方向のみでよい。
【0066】
微小領域L(0,0)と微小領域R(0,0)とのずれ量が微小領域L(0,0)における視差p(0,0)である。同様の手法で、左の画像全体の各微小領域L(1,0)、(2,0)、(3,0)、・・・・L(m,n)における視差p(1,0)、p(2,0)、p(3,0)、・・・・p(m,n)を求める。pの単位は、画素数なので、画素サイズから距離の単位に変換する。距離計測部14はこのようにして求めたpを上式に代入して、微小領域L(m,n)毎の距離d(m,n)を求めることができる。
【0067】
カメラ部200が車両に搭載されている場合、距離計測部14が距離情報を取得したいのは、前方車両、歩行者、障害物等なので、テンプレートマッチングなどで画像からこれらを予め抽出しておき、視差pを検出する微小領域Lを制限しておいてもよい。これにより、視差pの検出時間を短縮できる。
【0068】
デジタル信号処理部28は、車両のECU(Electronic Control Unit)に距離情報を出力するので、該ECUは衝突防止や車間距離制御のために、警報音を吹鳴したり、ブレーキアクチュエータを制御して車両に制動を加えるなどの運転支援を実行できる。
【0069】
以上説明したように、本実施形態のステレオカメラ装置100は、垂直方向に位置ずれが生じていても、左右のカメラC0,C1で被写体の同じ部位は同じ時刻に読み出すことができるので、ローリングシャッタ方式の撮像素子を使用しても、距離情報を精度よく算出することができる。
【符号の説明】
【0070】
11 画像補整部
12 ずれ検出部
13 カメラ制御部
14 距離計測部
21 レンズ
22 絞り
23 CMOSイメージセンサ
27 フレームメモリ
28 デジタル信号処理部
100 ステレオカメラ装置
200 カメラ部
【先行技術文献】
【特許文献】
【0071】
【特許文献1】特開平11−325890号公報
【技術分野】
【0001】
本発明は、距離画像を撮影するステレオカメラ装置に関し、特に、左右の撮像素子の位置ずれを補正可能なステレオカメラ装置に関する。
【背景技術】
【0002】
画像処理技術の向上と高性能なカメラが比較的安価になってきたため、カメラの応用技術が実用化されるようになってきた。例えば、従来から、車両ではミリ波レーダで前方の障害物を検出し、衝突防止や車間距離制御のために運転者に警告を発したり、車両に制動を加えるなどの運転支援が行われている。これをカメラで実現する試みがある。カメラで実現する場合、車両にステレオカメラを搭載し、ステレオカメラが撮影した距離画像から画像処理部が障害物までの距離を計測する。距離が検出されれば、同様の運転支援が可能である。
【0003】
図1は平行配置したステレオカメラによる距離計測の原理を説明するための図である。
カメラC0とC1が距離Bだけ離れて設置されている。カメラC0とC1の焦点距離、光学中心、撮像面は下記のとおりである。
焦点距離:f、
光学中心:O0、O1
撮像面:s0、s1
カメラC0の光学中心O0から光軸方向に距離dだけ離れた位置にある被写体Aの像は、直線A−O0と撮像面s0との交点であるP0に像を結ぶ。一方カメラC1では、同じ被写体Aが、撮像面s1上の位置P1に像を結ぶ。ここで、カメラC1の光学中心O1を通り、直線A−O0と平行な直線と、撮像面s1との交点をP0'とし、点P0'とP1との距離をpとする。
【0004】
P0'は、カメラC0上の像P0と同じ位置であり、距離pは、同じ被写体の像の、二つ
のカメラで撮影した画像上での位置のずれ量を表し、これを視差と呼ぶ。
三角形:A-O0-O1、三角形O1- P0'-P1は相似なので、
d = Bf/p
が得られる。カメラC0とC1の距離B(基線長)と焦点距離fが既知ならば、視差pから距離dを求めることができる。
【0005】
このように、ステレオカメラによる距離計測は原理的に、2台のカメラの光軸が平行になっていることが前提となる。しかし、実機のステレオカメラは、機構的な公差、温度・振動による経時変化が避けられず、厳密な平行配置を維持することは困難である。そこで画像補正技術が重要になり、ステレオカメラの位置ずれを、画像を電子的に変形することによって補正する技術が考案されている(例えば、特許文献1参照。)。
【0006】
特許文献1には、ステレオカメラの視野内の基準マーカ(例えば車両ボンネット先端の特定位置)の初期位置を記憶しておき、距離計測時に撮影した画像中の基準マーカの位置ずれを補正するよう、画像を上下左右にシフトする画像補正装置が開示されている。
【0007】
ところで、カメラのシャッタ方式には、走査ラインごとに順次シャッタを切るローリングシャッタ方式、一画面分の走査ラインのシャッタを同時に切るグローバルシャッタ方式、がある。CMOS型の撮像素子を搭載したカメラの多くは、消費電力の低減が容易なローリングシャッタ方式を採用している。
【0008】
図2は、ローリングシャッタ方式の動作タイミングを説明する図の一例である。横軸が時間を示し、左から右へ時間が経過している。行と列は各画素の位置を示す。図に示すように、各行の各列の画素値が順番に読み出される。すなわち、CMOSイメージセンサは、最初に1行1列目の画素を露光して画素値を出力し、次に1行2列目の画素値を出力し、以降1行目の各列の画素の画素値を順に出力する。1行目のすべての画素を出力した後、2行目の画素を1列目から順に出力する。したがって、1行の画素数をM個とすると、1行目と2行目の同じ列の画素は、画素クロック×Mの時間だけ撮影時刻が異なることになる。
【0009】
このように行ごとに撮影時刻が異なるため、ローリングシャッタ方式のカメラでは、左右に高速に移動する物体を撮影すると画像が斜めに歪むことが知られている(以下、動体歪みという)。
【0010】
図3は、ローリングシャッタ方式による画像歪みの一例を示す図である。被写体が右方向に移動しているため、撮影された画像は1行毎に撮影時刻が異なる(被写体が移動しているため画像の下方向の行ほど右方向にずれる)画像となる。
【発明の概要】
【発明が解決しようとする課題】
【0011】
このような動体歪みも画像処理によって補正することが好ましいが、特許文献1に開示された補正方法では動体歪みの修正は困難である。
【0012】
図4は、動体歪みの補正における課題を説明する図の一例である。図4(a)は、ステレオカメラで撮影した補正前の2つの画像を示す。左右のカメラC0,C1に共通の被写体は矩形で示されている。図4では、右カメラが左カメラよりも若干上を向いて設置されているため、右カメラでは同じ被写体が、左カメラの画像に比べa行だけ下に写っている。
【0013】
図4(b)は、特許文献1に示されるような補正処理が施された画像の一例を示す。すなわち、補正により、右カメラの画像は、a行分だけ上に平行移動されるので、左右のカメラの画像で被写体は同じ高さに写るようになる。
【0014】
しかしながら、このような画像補正は、1枚の画像の全体が撮影された後に施されるものであり、各行の撮影時刻は変更されない。このため、図4(b)の画像では、左カメラの1行目の高さに対応する、右カメラの画像は (a+1) 行目にある。これは、左右のカメラが同時に撮影を開始したとすると、左の画像と右の補正後の対応する同じ行の画像にはa行分の時間差があることを意味する。すなわち、2つの画像に視差以外の相違が生じてしまう。
【0015】
このため、左右に移動する被写体を撮影した場合には、図3に示した動体歪みにより、計測される両眼視差に狂いが生じ、その結果、計測される距離に誤差が生じてしまう。
【0016】
本発明は、上記課題に鑑み、行毎の撮影時刻が異なる撮像素子を利用したステレオカメラにおいて、光軸ずれによる画像の位置ずれだけでなく、動体歪みも補正することが可能なステレオカメラ装置を提供することを目的とする。
【課題を解決するための手段】
【0017】
本発明は、2つの画像の相関度から被写体との距離情報を検出するステレオカメラ装置であって、行と列に配列された画素のうち行毎の撮影時刻が異なる撮像素子が2つ配置された画像撮影手段と、2つの撮像素子の相対的な位置ずれ量を検出する位置ずれ検出手段と、前記位置ずれ検出手段が検出した垂直方向の前記位置ずれ量に応じて、2つの前記撮像素子の一方の撮影開始時刻を変更する開始時刻変更手段と、2つの前記撮像素子が撮影した2つの画像の一方を、垂直方向の前記位置ずれ量と同程度、垂直方向に平行移動させる補正手段と、を有することを特徴とする。
【発明の効果】
【0018】
行毎の撮影時刻が異なる撮像素子を利用したステレオカメラにおいて、光軸ずれによる画像の位置ずれだけでなく、動体歪みも補正することが可能なステレオカメラ装置を提供することができる。
【図面の簡単な説明】
【0019】
【図1】平行配置したステレオカメラによる距離計測の原理を説明するための図である。
【図2】ローリングシャッタ方式の動作タイミングを説明する図の一例である。
【図3】ローリングシャッタ方式による画像歪みの一例を示す図である。
【図4】動体歪みの補正における課題を説明する図の一例である。
【図5】ステレオカメラ装置による光軸ずれの補正の概略を説明する図の一例である。
【図6】ステレオカメラ装置のハードウエア全体のブロック図の一例である。
【図7】カメラC0,C1の該略構成図の一例である。
【図8】CMOSイメージセンサの動作タイミングの一例を説明する図である。
【図9】2つの画像信号の位置ずれの検出を説明する図の一例である。
【図10】フレーム開始パルスの生成部のブロック図の一例である。
【図11】垂直方向の位置ずれの補正を模式的に示す図の一例である。
【図12】画像補整を模式的に説明する図の一例である。
【図13】光軸まわりのカメラの回転によるマーカの位置ずれを模式的に示す図の一例である。
【図14】歪曲収差の一例を模式的に示す図である。
【図15】距離情報の算出について説明する図の一例である。
【発明を実施するための形態】
【0020】
以下、本発明を実施するための形態について図面を参照しながら説明する。
図5は、本実施形態のステレオカメラ装置による光軸ずれの補正の概略を説明する図の一例である。
(1)ステレオカメラ装置は2つの画像から垂直方向に"a"の位置ずれがあることを検出する。
(2)ステレオカメラ装置は左右のCMOSイメージセンサの一方に供給するフレーム開始パルスを、aライン分だけ遅延させる。左側のカメラのフレーム開始パルスを遅延させたとすると、右側のCMOSイメージセンサはaライン分だけ先に読み出すことになる。このため、左の画像の1行目と右の画像のa+1行目が同じ時刻に読み出されるようになる。したがって、垂直方向に"a"行の位置ずれが生じていても、被写体の同じ画素はほぼ同じタイミングで読み出される。
(3)距離計測の前に右側の画像を垂直方向に"a"だけ補正しておけば、視差以外の差異がなくなるので、ステレオカメラ装置は距離を精度よく検出できる。
【0021】
本実施形態のステレオカメラ装置は、光軸のずれなど機械的な位置ずれを電子的な画像処理により補正するだけでなく、位置ずれ量に応じてCMOSイメージセンサの駆動タイミングを調整することにより、左右の画像で同じ被写体に生じていた読み出し時刻のずれも抑制することができる。したがって、距離情報の精度が向上する。
【0022】
〔構成〕
図6は、ステレオカメラ装置100のハードウエア全体のブロック図を示す。ステレオカメラ装置100は、
・画像を撮影する、平行配置された2台のカメラC0,C1
・2台のカメラC0,C1で撮影された画像を取得してカメラ間の位置ずれ(特に垂直方向)を検出するずれ検出部12
・ずれ検出部12が検出した位置ずれに応じて、2台のカメラC0,C1の一方の撮影タイミングを制御するカメラ制御部13、
・2台のカメラC0,C1で撮影された画像を取得して、ずれ検出部12で検出した位置ずれを補正して画像データを補正する画像補正部11
を有する。以下、各構成部について説明する。
【0023】
〔カメラC0,C1〕
図7は、カメラC0,C1の該略構成図の一例を示す。カメラC0,C1は同じレンズ21、絞り22、ローリングシャッタ方式のCMOSイメージセンサ23を有する。2つのレンズ21の光軸は平行であり、また、2つのCMOSイメージセンサ23の撮像面が同一平面になるように配置されている。ただし現実には平行度の精度には限界があり、微少な誤差を持つ。
【0024】
CMOSイメージセンサ23は、カメラ制御部13が出力する、画素クロックとフレーム開始パルスの二つの信号を入力として動作する。CMOSイメージセンサ23が出力した画像信号は、CDS24に出力され相関二重サンプリングによるノイズ除去が行われ、AGC25により信号強度に応じて利得制御され、A/D26によりA/D変換される。画像信号はCMOSイメージセンサ23の全体を記憶可能なフレームメモリ27に記憶される。
【0025】
フレームメモリ27に記憶された画像信号はデジタル信号処理部28により、距離の算出等が行われ、使用によってはフォーマット変換され液晶などの表示手段に表示される。デジタル信号処理部28は、DSP、CPU、ROM、RAMなどを備えたLSIである。画像補正部11及びずれ検出部12は例えばこのデジタル信号処理部28により、ハード的又はソフト的に提供される。カメラ制御部13をデジタル信号処理部28に配置してもよく、図示する構成は一例である。
【0026】
デジタル信号処理部28は、水平同期信号HD、垂直同期信号VD及びクロック信号の各パルスをカメラ制御部13に出力する。または、カメラ制御部13が水平同期信号HD及び垂直同期信号VDを生成することも可能である。
【0027】
カメラ制御部13は、タイミングジェネレータやクロックドライバを有し、HD,VD及びクロック信号からCMOSイメージセンサ23を駆動するための画素クロックやフレーム開始パルスなどのタイミングパルスを生成する。
【0028】
図8は、CMOSイメージセンサ23の動作タイミングの一例を説明する図である。フレーム開始パルスはフレームの開始を制御するパルスであり、画素クロックはCMOSイメージセンサ23の1つの画素の読み出しタイミングを制御するパルスである。フレーム開始パルスの立ち上がり後、最初の画素クロックに同期して、1行1列目の撮像素子が露光を開始し、あらかじめ決められた露光時間の後、光電変換された電荷量をCDS24等に出力する。
【0029】
また、画素クロックごとに、各画素が同様の動作を実行し、その結果、規定の露光時間が経過した後は、画素クロックごとに各撮像素子が一画素分の画素値の電荷量を順次出力する。
【0030】
撮像素子の1ライン分の露光開始時刻の差(Tline) は、(水平ブランクを含む) 画像幅(w:単位は画素数)、画素クロック1 画素分の時間(p) の積、から下記で表すことができる。
w*p
したがって、各行の撮影開始時刻はw*pずつ遅れていく。
【0031】
〔ずれ検出部〕
ずれ検出部12は、フレームメモリ27に記憶された2つの画像信号を用いて、2台のカメラC0,C1の微少な位置ずれを検出する。
【0032】
図9は2つの画像信号の位置ずれの検出を説明する図の一例である。車両メーカやカメラメーカなどが、カメラC0,C1の位置ずれを検出するため、自動車のボンネット上などの視野内に特定のマーカを配置しておく。マーカは、位置ずれ検出のための専用のシールなどとしてもよいが、ボンネットの一部(ボンネットの外縁)、視野内の突起物(ウォッシャ液の噴出口等)などをマーカとすることで意匠性の低下を防止できる。車両メーカやカメラメーカなどがカメラ部200を車両に取り付け光軸などを調整した際、車両メーカやカメラメーカは、カメラC0,C1それぞれが撮影した画像におけるマーカ位置をずれ検出部12に記憶しておく。また、位置だけでは位置ずれの補正のために実際に撮影された画像内のどの位置にマーカが撮影されているかが不明なので、ずれ検出部12はカメラC0,C1のそれぞれが撮影した基準元画像(1画面の全体又はマーカ部分だけ)を記憶しておく。
【0033】
ずれ検出部12は、例えば、定期的に(車両のイグニッションオンの後、毎週、毎月等)又はディーラによる定期点検時に、2台のカメラC0,C1が撮影した画像内のマーカ位置により位置ずれ量を検出する。
【0034】
図9(a)は、左右2台のカメラC0,C1が撮影した際のマーカ位置を示す。左側のカメラC0の画像上のマーカ位置を(xl,yl)、右側のカメラC1の画像上のマーカ位置を(xr, yr) として、黒丸で示す。
【0035】
なお、マーカの位置は、基準元画像のマーカ位置の所定サイズの画像をトリミングして(又は予めトリミングされているマーカ部分の画像)、これと、2台のカメラC0,C1が撮影した2つの画像における、基準元画像のマーカ位置の周辺の画像とパターンマッチングすることで特定される。
【0036】
図9(b) は、(xl, yl) と(xr, yr) を、同じ平面上に示す図である。
dx = xr - xl,
dy = yr - yl
により求められる(dx,dy)が平面内の左右マーカの位置のずれを表す。なお、図示するように水平方向は右方向が正、垂直方向は下方向が正である。よって、図の例ではdx、dyのいずれも負である。
【0037】
並行ステレオカメラとして視差が水平になるためには垂直方向のずれdy は、本来"0"でなければならない。したがってdy は垂直方向のずれ量である。
【0038】
水平方向のずれdx は、正確な平行ステレオカメラでも"0" にはならない。カメラ部200として校正時に得られた適切な視差からのずれが位置ずれ量をdxで表す。適切な視差はあらかじめ校正されており、ずれ検出部12に記憶されているカメラC0,C1それぞれが撮影した画像におけるマーカ位置から求められる。校正時のカメラC0,C1それぞれの画像におけるマーカ間の水平方向の距離をdx0、校正時のカメラC0,C1に対する現在のカメラC0,C1の水平方向の位置ずれをdx'とすると、dx'は以下のように表すことができる。
dx' = dxo−dx
なお、マーカを定めておかなくても、カメラC0,C1がそれぞれ撮影した画像同士をパターンマッチングすることで、ずれ検出部12はdx,dyを検出することができる。パターンマッチングにより2つの画像の画素値が最も一致するように相対移動した時の画像の移動量dx、dyが、平面内の左右マーカの位置のずれである。垂直方向のずれはdyそのものである。
【0039】
水平方向の位置ずれdxは、正確な平行ステレオカメラでも"0" にはならないので、ボンネットなど画像内に固定して撮影される領域を、校正時の左右の画像、距離計測時の左右の画像でパターンマッチングすることで、dx'を求める。以下、説明を容易にするため、dx'をdxと称す。
【0040】
ずれ検出部12は、検出した位置ずれ量を、画像補正部(水平方向dx、垂直方向dy)、及び、カメラ制御部(垂直方向dyのみ)へ出力する。
【0041】
なお、ずれ検出部12は、後述するように、平行方向の位置ずれだけでなく、光軸まわりのカメラC0,C1の回転など、経時変化によるその他のずれを検出しておく。
【0042】
〔カメラ制御部〕
カメラ制御部13は、垂直方向の位置ずれdyに応じて左右のカメラC0,C1のフレーム開始パルスを生成する。カメラ制御部13は、ずれ検出部12が検出した位置ずれdyに従い、左右のカメラC0,C1のフレームの撮影開始時刻を補正する。
【0043】
ここでは、カメラ制御部13が1 秒ごと30フレームの画像を出力するよう、1/30 秒ごとにフレーム開始パルスを出力するものとする。そのためカメラ制御部13の30Hz発振器133は30Hzのフレーム開始パルスを発信する。さらに、このフレーム開始パルスを、縦方向の画像補正量dyに合せて遅延する。
【0044】
図10は、カメラ制御部14におけるフレーム開始パルスの生成部のブロック図の一例を示す。カメラ制御部13はずれ検出部12が出力した垂直方向ずれ量dyを遅延量設定部132に設定する。
【0045】
遅延量設定部132は、垂直方向の位置ずれdyを遅延時間に変換して遅延回路131に設定するので、遅延回路131は設定された遅延時間が経過するとフレーム開始パルスを出力する。遅延量設定部132は、位置ずれdy が負の場合には左側の遅延回路131に遅延時間を設定し、左側のカメラ用のフレーム開始パルスをdy ライン分遅延させる(このとき右側のカメラ用フレーム開始パルスは遅延させない)。逆に、位置ずれdy が正の場合には右側の遅延回路131に遅延時間を設定し、右側のカメラ用のフレーム開始パルスをdy ライン分遅延させる。
【0046】
これにより、例えば図4のように、右画像が垂直方向上側に補正される場合には、左側のカメラC0のフレーム開始がaライン分だけ遅れることになる。すると、光軸がずれていても、左側のカメラC0の画像の1行目と、右側のカメラC1の像のa+1 行目が、同じ時刻に撮影されることになる。そのためローリングシャッタによる動体歪みが、距離計測に及ぼす悪影響を低減することができる。
【0047】
図11は、垂直方向の位置ずれの補正を模式的に示す図の一例である。図11(a)に示すように、右画像がdy下側にずれているので、カメラ制御部13は垂直方向の位置ずれdyを遅延量設定部132に設定する。遅延量設定部132は位置ずれdyに相当する遅延時間を左の遅延回路131に設定する。
【0048】
図11(b)に示すように、右側のカメラC1には先にフレーム開始パルスが出力され、1行目から画素値が順番に読み出される。右側のカメラC1がdyライン分読み出すと、カメラ制御部13は左側のカメラC1にフレーム開始パルスを出力する。これにより、左側のカメラC0の1行目と右側カメラC1のdy+1行目が同じ時刻に読み出される。
【0049】
図11(c)に示すように、フレームメモリ27には左側のカメラC0と右側のカメラC1がそれぞれ撮影したとおりの画像が記憶される。このずれは画像補正部11により補正される。
【0050】
図11(d)はローリングシャッタによる動体歪みの一例を示す図である。被写体が高速に移動した場合、図示するように動体歪みが生じるが、左側のカメラC0又は右側のカメラC1のフレーム開始パルスをdyライン遅延させることで、被写体の各ラインは同じ時刻に撮影されていることになる。よって、画像補正部11が垂直方向の位置ずれをdy補正することで、距離計測部14は動体歪みがあっても視差を精度よく検出でき、距離計測に及ぼす精度低下を低減することができる。
【0051】
〔画像補正部〕
画像補正部11はずれ検出部12が検出した水平方向の位置ずれdx、垂直方向の位置ずれdyに基づき、画像信号を水平方向及び垂直方向に水平移動して画像を補整する。画像補正部11は、参照カメラ(C0、C1のいずれでもよいが、ここではカメラC1が参照カメラとする。)の画像を、上下左右に平行移動する。垂直方向の位置ずれdyが負であれば、画像補正部11は右側のカメラC1の画像の全体をdyだけ上方向に移動し、dyが正であれば、画像補正部11は右側のカメラC1の画像の全体をdyだけ下方向に移動する。例えば、図9(b)のように、dy が負の場合、画像補正部11は右側のカメラC1の撮影画像をdy だけY 軸の負(上) 方向に移動する。
【0052】
水平方向の位置ずれについても同様に、水平方向の位置ずれdxが負であれば、画像補正部11は右側のカメラC1の画像の全体をdxだけ左方向に移動し、dxが正であれば、画像補正部11は右側のカメラC1の画像の全体をdxだけ右方向に移動する。dx、dy、の補正には、例えばアフィン変換を利用することができる。
【0053】
図12は画像補整を模式的に説明する図の一例である。垂直方向の位置ずれの補正においては、左右の被写体がほぼ同じ垂直位置になるように補正される。なお、画像補整の結果、フレームメモリ27の上側の画素値はオーバーフローし、フレームメモリ27の下側の画素値は足りなくなる。画像補正部11はオーバーフローした部分の画素値は削除し、画素値が足りない部分のフレームメモリ27のアドレスには所定値を(例えば、白:255、黒:0)を格納してもよいし、不定値のままとしてもよい。
【0054】
このような補正により、左右のカメラC0,C1の画像に視差以上の差異が生じないようにすることができる。
【0055】
また、画像補正部11は、画像信号からずれ検出部12が検出した位置ずれdx,dy以外に、各種の画像補整が可能である。例えば、このような平行方向の位置ずれだけでなく、光軸まわりのカメラC0,C1の回転、結像光学系の歪曲収差、なども補正することが望ましい。
【0056】
図13(a)(b)は光軸まわりのカメラC0,C1の回転によるマーカの位置ずれを模式的に示す図の一例である。光軸まわりのカメラC0,C1の回転は、左右のカメラC0,C1それぞれに生じうるが、左右のカメラC0,C1それぞれの回転の相対量を補正すればよい。
【0057】
回転による位置ずれは、左右の画像の回転量を検出することで求められる。後述する距離情報を求める手法とほぼ同様に、ずれ検出部12は、基準とする左側のカメラC0の画像から水平な2つ以上の領域を抽出し、これらと最も相関度の高い領域を右側の画像から特定する。回転による位置ずれはある程度の範囲に含まれるとしてよいので、図では右側の画像に点線で探索範囲を示した。ずれ検出部は探索範囲で最も相関の高い領域を決定する。
【0058】
図13(b)は右側の画像から決定された領域の一例を示す。ずれ検出部は、3つの領域の重心を通過する直線の傾きを最小二乗法により算出する。この傾きは、回転による位置ずれがなければゼロになるので、傾きθ(=arctan"傾き")が補正すべき回転量になる。
【0059】
画像補整部11は、アフィン変換のパラメータにθを代入して、回転による位置ずれを補正する。
【0060】
図14は歪曲収差の一例を模式的に示す図である。歪曲収差には糸巻型歪曲と樽型歪曲があるが、左右のカメラC0、C1は同種のレンズ21なので、生じる歪曲収差も同じとしてよい。
【0061】
また、このような歪曲収差は、経時変化によりあまり増減することはないので、レンズ21の特性としてレンズメーカなどから補正用パラメータが提供される。画像補正部11はこの補整パラメータに基づき左右の画像を補整する。補正パラメータには画素の座標に対応づけて移動先の座標が登録されているか、または、画素の座標を入力すると移動先の座標が出力される関数が登録されている。
【0062】
このように、ステレオカメラ装置100は、位置ずれdx、dyが含まれる画像を適切に補正することができる。
【0063】
〔距離計測〕
距離計測部14は、図1にて説明したように
d = Bf/p
から距離情報を算出する。BはカメラC0とC1の基線長、fは焦点距離、pが視差、dが距離である。
【0064】
図15は、距離情報の算出について説明する図の一例である。距離計測部14は、ずれ検出部12が検出した位置ずれdyに基づき、マッチング対象を限定する。すなわち、画像補整により所定値(白:255、黒:0)が埋め込まれた領域は画素値が一致しないので、距離計測部14はマッチング対象から除外する。本実施形態では左右の画像の最下部の行から位置ずれに相当するdy行だけマッチング対象から除外する。
【0065】
次に、距離計測部14は、左の画像信号を矩形の微少領域に区分する。そして、左の画像信号における左上の微小領域L(0,0)に着目し、微小領域L(0,0)に対応する、微小領域L(0,0)と同じサイズの右の画像信号における微小領域の画像相関値を求める。右の画像信号において着目する微小領域L(0,0)の位置を1画素ずつずらしながら、最も相関値の大きくなる右の画像信号における微小領域R(0,0)の位置を求める。画像補整により左右の画像に視差以外の差異はないので、距離計測部14が微小領域をずらす方向は水平方向のみでよい。
【0066】
微小領域L(0,0)と微小領域R(0,0)とのずれ量が微小領域L(0,0)における視差p(0,0)である。同様の手法で、左の画像全体の各微小領域L(1,0)、(2,0)、(3,0)、・・・・L(m,n)における視差p(1,0)、p(2,0)、p(3,0)、・・・・p(m,n)を求める。pの単位は、画素数なので、画素サイズから距離の単位に変換する。距離計測部14はこのようにして求めたpを上式に代入して、微小領域L(m,n)毎の距離d(m,n)を求めることができる。
【0067】
カメラ部200が車両に搭載されている場合、距離計測部14が距離情報を取得したいのは、前方車両、歩行者、障害物等なので、テンプレートマッチングなどで画像からこれらを予め抽出しておき、視差pを検出する微小領域Lを制限しておいてもよい。これにより、視差pの検出時間を短縮できる。
【0068】
デジタル信号処理部28は、車両のECU(Electronic Control Unit)に距離情報を出力するので、該ECUは衝突防止や車間距離制御のために、警報音を吹鳴したり、ブレーキアクチュエータを制御して車両に制動を加えるなどの運転支援を実行できる。
【0069】
以上説明したように、本実施形態のステレオカメラ装置100は、垂直方向に位置ずれが生じていても、左右のカメラC0,C1で被写体の同じ部位は同じ時刻に読み出すことができるので、ローリングシャッタ方式の撮像素子を使用しても、距離情報を精度よく算出することができる。
【符号の説明】
【0070】
11 画像補整部
12 ずれ検出部
13 カメラ制御部
14 距離計測部
21 レンズ
22 絞り
23 CMOSイメージセンサ
27 フレームメモリ
28 デジタル信号処理部
100 ステレオカメラ装置
200 カメラ部
【先行技術文献】
【特許文献】
【0071】
【特許文献1】特開平11−325890号公報
【特許請求の範囲】
【請求項1】
2つの画像の相関度から被写体との距離情報を検出するステレオカメラ装置であって、
行と列に配列された画素のうち行毎の撮影時刻が異なる撮像素子が2つ配置された画像撮影手段と、
2つの撮像素子の相対的な位置ずれ量を検出する位置ずれ検出手段と、
前記位置ずれ検出手段が検出した垂直方向の前記位置ずれ量に応じて、2つの前記撮像素子の一方の撮影開始時刻を変更する開始時刻変更手段と、
2つの前記撮像素子が撮影した2つの画像の一方を、垂直方向の前記位置ずれ量と同程度、垂直方向に平行移動させる補正手段と、
を有することを特徴とするステレオカメラ装置。
【請求項2】
前記開始時刻変更手段は、2つの撮像素子のうち下方に位置ずれしている撮像素子と、反対側の撮像素子の撮影開始時刻のみを、垂直方向の位置ずれ量に応じた分だけ遅延させる、ことを特徴とする請求項1記載のステレオカメラ装置。
【請求項3】
前記補正手段は、予め得られている適切な水平方向の位置ずれ量と、前記位置ずれ検出手段が検出した水平方向の前記位置ずれ量との差分と同程度、2つの前記撮像素子が撮影した2つの画像の一方を水平方向に平行移動させる、
ことを特徴とする請求項1又は2記載のステレオカメラ装置。
【請求項4】
前記位置ずれ検出手段は、左右の撮像素子それぞれの視野内に固定されているマーカ被写体が、左右の画像で垂直方向にどれだけずれているかにより、垂直方向の前記位置ずれ量を検出する、
ことを特徴とする請求項1〜3いずれか1項記載のステレオカメラ装置。
【請求項5】
2つの前記撮像素子はローリングシャッタ方式の電子シャッタで露光時間が制御される、ことを特徴とする請求項1〜4いずれか1項記載のステレオカメラ装置。
【請求項6】
行と列に配列された画素のうち行毎の撮影時刻が異なる撮像素子が2つ配置された画像撮影手段を有し、2つの画像の相関度から被写体との距離情報を検出するステレオカメラの画像補正方法であって、
位置ずれ検出手段が、2つの撮像素子の相対的な位置ずれ量を検出するステップと、
開始時刻変更手段が、前記位置ずれ検出手段が検出した垂直方向の前記位置ずれ量に応じて、2つの前記撮像素子の一方の撮影開始時刻を変更するステップと、
補正手段が、2つの前記撮像素子が撮影した2つの画像の一方を、垂直方向の前記位置ずれ量と同程度、垂直方向に平行移動させるステップと、
を有する画像補正方法。
【請求項1】
2つの画像の相関度から被写体との距離情報を検出するステレオカメラ装置であって、
行と列に配列された画素のうち行毎の撮影時刻が異なる撮像素子が2つ配置された画像撮影手段と、
2つの撮像素子の相対的な位置ずれ量を検出する位置ずれ検出手段と、
前記位置ずれ検出手段が検出した垂直方向の前記位置ずれ量に応じて、2つの前記撮像素子の一方の撮影開始時刻を変更する開始時刻変更手段と、
2つの前記撮像素子が撮影した2つの画像の一方を、垂直方向の前記位置ずれ量と同程度、垂直方向に平行移動させる補正手段と、
を有することを特徴とするステレオカメラ装置。
【請求項2】
前記開始時刻変更手段は、2つの撮像素子のうち下方に位置ずれしている撮像素子と、反対側の撮像素子の撮影開始時刻のみを、垂直方向の位置ずれ量に応じた分だけ遅延させる、ことを特徴とする請求項1記載のステレオカメラ装置。
【請求項3】
前記補正手段は、予め得られている適切な水平方向の位置ずれ量と、前記位置ずれ検出手段が検出した水平方向の前記位置ずれ量との差分と同程度、2つの前記撮像素子が撮影した2つの画像の一方を水平方向に平行移動させる、
ことを特徴とする請求項1又は2記載のステレオカメラ装置。
【請求項4】
前記位置ずれ検出手段は、左右の撮像素子それぞれの視野内に固定されているマーカ被写体が、左右の画像で垂直方向にどれだけずれているかにより、垂直方向の前記位置ずれ量を検出する、
ことを特徴とする請求項1〜3いずれか1項記載のステレオカメラ装置。
【請求項5】
2つの前記撮像素子はローリングシャッタ方式の電子シャッタで露光時間が制御される、ことを特徴とする請求項1〜4いずれか1項記載のステレオカメラ装置。
【請求項6】
行と列に配列された画素のうち行毎の撮影時刻が異なる撮像素子が2つ配置された画像撮影手段を有し、2つの画像の相関度から被写体との距離情報を検出するステレオカメラの画像補正方法であって、
位置ずれ検出手段が、2つの撮像素子の相対的な位置ずれ量を検出するステップと、
開始時刻変更手段が、前記位置ずれ検出手段が検出した垂直方向の前記位置ずれ量に応じて、2つの前記撮像素子の一方の撮影開始時刻を変更するステップと、
補正手段が、2つの前記撮像素子が撮影した2つの画像の一方を、垂直方向の前記位置ずれ量と同程度、垂直方向に平行移動させるステップと、
を有する画像補正方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2012−198075(P2012−198075A)
【公開日】平成24年10月18日(2012.10.18)
【国際特許分類】
【出願番号】特願2011−61724(P2011−61724)
【出願日】平成23年3月18日(2011.3.18)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】
【公開日】平成24年10月18日(2012.10.18)
【国際特許分類】
【出願日】平成23年3月18日(2011.3.18)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】
[ Back to top ]