以下、本発明を実施するための形態の一例として、測距装置と測距装置が行う測距方法について図面を参照しながら説明する。
<用語について>
アンダーシュートとは、何らかの検出対象の検出により検出前より大きくなった信号が検出前の値に戻る際に検出前の値よりも小さくなることをいう。検出前の値がゼロであればアンダーシュートによりマイナスの値になる。反転処理と称される場合もある。
測距装置は、後述するレーザレーダ測距部とステレオカメラ部を有することから測距システムと称してもよい。この他、距離測定装置、測距部などと呼ばれてもよい。
<測距装置の外観構成及び取り付け例>
まず、図1を用いて、測距装置の外観構成及び取り付け例について説明する。図1は、測距装置の外観構成及び取り付け例を説明する図の一例である。
測距装置100は、ステレオカメラ部110と、レーザレーダ測距部120とを有する。ステレオカメラ部110は、右カメラ(第1の撮像装置)111と左カメラ(第2の撮像装置)112とを備え、レーザレーダ測距部120は、右カメラ112と左カメラ111との間に配置される。レーザレーダ測距部120とステレオカメラ部110との測定結果を統合(フュージョン)することで、周囲環境の3次元情報をより高精度に取得することが可能になる。
右カメラ112と左カメラ111は、所定のフレーム周期で同期を取りそれぞれが撮像を行い、撮像画像を生成する。
レーザレーダ測距部120は、レーザ光を照射しその反射光を受光することで、TOF(Time Of Flight)方式で照射位置(照射方向にある物体)までの距離を測定する。
測距装置100は、例えば、車両140のフロントウィンドウの内側の天井よりの中央部分に取り付けられる。このとき、ステレオカメラ部110及びレーザレーダ測距部120は、いずれも車両140の前方方向に向かって取り付けられる。つまり、車両140において、測距装置100は、ステレオカメラ部110の光軸と、レーザレーダ測距部120のレーザ光の照射方向の中心とが、同じ方向になるように取り付けられる。
なお、図1の取り付け位置は一例に過ぎず、車両のダッシュボード、ルーフ、又は、バンパ内などに取り付けられてもよい。また、図1の取り付け位置は車両の前方の3次元情報を取得するためのものであり、車両の右側方、左側方、又は後方の3次元情報を取得できるように取り付けられてもよい。
<測距装置のハードウェア構成>
続いて、図2に基づき測距装置100の全体的な構成例について説明する。図2は、測距装置100の全体的な構成図の一例を示す図である。
測距装置100は、レーザレーダ測距部120とステレオカメラ部110とが相互に必要な情報を送受信できるように構成される。ステレオカメラ部110は上記のように右カメラと左カメラに加え、基準画像と比較画像を処理して距離画像を出力するステレオカメラ部110を有している。
レーザレーダ測距部120は後述するようにステレオカメラ部110から処理範囲を取得して、処理範囲で物体を絞り込み、絞り込みで得た照射方向ごとの距離情報をステレオカメラ部110に出力する。ステレオカメラ部110は照射方向ごとの距離情報を使って詳細な距離画像を生成し、ECU190(Electronic Control Unit:電子制御ユニット)に出力する。このように、レーザレーダ測距部120とステレオカメラ部110がフュージョンされることでより高精度な3次元情報の取得が可能になる。
図2では一例として、距離画像と基準画像がECU190に送出されている。ECU190は車両の電子制御ユニットである。なお、車載された測距装置100を車載装置という。ECU190は、測距装置100が出力する距離画像と基準画像を用いて各種の運転支援を行う。基準画像については種々のパターンマッチングを行い先行車両、歩行者、白線、信号機の状態の認識等を行う。
運転支援は車両によって様々であるが、例えば、対象物の横位置が自車両の車幅と重なる場合、距離と相対速度から算出されるTTC(Time To Collision)に応じて警報や制動などを行う。また、衝突までの停止が困難な場合、衝突を回避する方向にステアリングを操舵する。
また、ECU190は、車速に応じた車間距離で先行車に追従走行する全車速車間距離制御を行う。先行車が停車したら自車両も停車させ、先行車が発進したら自車両も発進する。また、ECU190が白線認識などを行う場合、走行レーンの中央を走行するように操舵するレーンキーピング制御や走行レーンから逸脱するおそれがあると走行方向を走行レーンに向けて変更する逸脱防止制御等を行うことができる。
また、停車時に進行方向に障害物がある場合、急発進を抑制することができる。例えば、シフトレバーの操作位置により判断される進行方向に障害物があり、かつ、アクセルペダルの操作量が大きい場合、エンジン出力を制限したり警報したりすることで被害を軽減する。
図3は、測距装置100のハードウェア構成例を示す図である。測距装置100は、センサステイ201と制御基板収納部202とを有する。センサステイ201には、左カメラ111、右カメラ112及びレーザレーダ測距部120が取り付けられている。左カメラ111と右カメラ112に挟まれるこれらの直線上にレーザレーダ測距部120が配置されることで、測距装置100の小型化及び低コスト化を実現している。左カメラ111と右カメラ112の間隔を基線長というが、基線長が長い方が視差を稼ぎやすい。測距装置100を小型化するには基線長を短くする必要があり、基線長を短くしながら精度を損なわないことが求められる。
制御基板収納部202には、レーザ信号処理部240、ステレオ画像演算部250、メモリ260、及び、MPU(Micro Processing Unit)270が収納されている。レーザ信号処理部240をレーザレーダ測距部120とは別体に構成することで、レーザレーダ測距部120のサイズを小さくすることができる。これにより、本実施形態では、左カメラ111と右カメラ112との間への、レーザレーダ測距部120の配置を実現している。
なお、図3の例では、レーザ信号処理部240とステレオ画像演算部250とを、別の回路基板として構成しているが、レーザ信号処理部240とステレオ画像演算部250とは、共通の回路基板により構成してもよい。回路基板の枚数を削減することで、低コスト化を図ることが可能となるからである。
続いて、センサステイ201側の各部について説明する。図3に示すように、左カメラ111は、カメラレンズ211と、撮像素子212と、センサ基板213とを備える。カメラレンズ211を介して入射された外部の光は、撮像素子212に受光され、所定のフレーム周期で光電変換される。光電変換されることで得た信号は、センサ基板213において処理され、1フレームごとの撮像画像が生成される。生成された撮像画像は、比較画像として、順次、ステレオ画像演算部250に送信される。
なお、右カメラ112も、左カメラ111と同様の構成を有しており、同期制御信号に基づいて左カメラ111と同期して撮像する。撮像画像は、基準画像として、順次、ステレオ画像演算部250に送信される。
レーザレーダ測距部120は、光源駆動回路231と、レーザ光源232と、照射レンズ233とを備える。光源駆動回路231は、レーザ信号処理部240からの同期制御信号に基づいて動作し、レーザ光源232に対して変調電流(光源発光信号)を印加する。これにより、レーザ光源232ではレーザ光を照射する。レーザ光源232より照射されたレーザ光は、照射レンズ233を介して外部に照射される。
なお、本実施形態では、レーザ光源232として、赤外半導体レーザダイオード(LD:Laser Diode)が用いられ、レーザ光として波長800nm~950nmの近赤外光が照射されるものとする。また、レーザ光源232は、光源駆動回路231により印加された変調電流(光源発光信号)に応じて、パルス状の波形を有するレーザ光を周期的に照射するものとする。更に、レーザ光源232は、数ナノ秒から数百ナノ秒程度の短いパルス幅を有するパルス状のレーザ光を周期的に照射するものとする。ただし、レーザ光の波長やパルス幅をこれら限定するものではない。
レーザ光源232から照射されたパルス状のレーザ光は、照射レンズ233を介して照射ビームとして外部に照射された後、レーザ光の照射方向にある物体に照射される。なお、レーザ光源232から照射されるレーザ光は、照射レンズ233によって略平行光にコリメートされているため、照射された物体(オブジェクト)における照射範囲は、予め設定された微小面積に抑えられる。
レーザレーダ測距部120は、更に、受光レンズ234と、受光素子235と、受光信号増幅回路236とを備える。照射方向の物体に照射されたレーザ光は、一様な方向に散乱する。そして、レーザレーダ測距部120から照射されたレーザ光と同じ光路をたどって反射してくる光成分のみが、反射光として受光レンズ234を介して受光素子235に導かれる。
本実施形態では、受光素子235として、シリコンPINフォトダイオードやアバランシェフォトダイオードが用いられる。受光素子235は、反射光を光電変換することで反射信号を生成し、受光信号増幅回路236は、生成された反射信号を増幅した後、レーザ信号処理部240に送信する。
続いて、制御基板収納部202側の各部について説明する。レーザ信号処理部240は、レーザレーダ測距部120より送信された反射信号に基づいて、照射方向の物体までの距離を算出し、算出した距離情報をステレオ画像演算部250に送信する。
ステレオ画像演算部250は、例えば、FPGA(Field-Programmable gate array)や、ASIC(Application Specific Integrated Circuit)等の専用の集積回路により構成される。ステレオ画像演算部250は、左カメラ111、右カメラ112及びレーザ信号処理部240に対して、撮像タイミング及びレーザ光の投受光タイミングを制御するための同期制御信号を出力する。
また、ステレオ画像演算部250は、左カメラ111より送信された比較画像、右カメラ112より送信された基準画像、レーザ信号処理部240より送信された距離情報に基づいて、視差画像を生成する。ステレオ画像演算部250は、生成した視差画像をメモリ260に格納する。
メモリ260は、ステレオ画像演算部250にて生成された視差画像を格納する。また、メモリ260は、ステレオ画像演算部250及びMPU270が各種処理を実行する際のワークエリアを提供する。
MPU270は、制御基板収納部202に収納された各部を制御すると共に、メモリ260に格納された視差画像を解析する解析処理を行う。
<ステレオカメラによる測距原理>
図4を用いて、ステレオカメラによる測距原理について説明する。図4は、三角測量により比較画像と基準画像から物体に対する視差値を導き出し、視差値によって測距装置100から物体までの距離を測定する原理について説明する図である。
まず、右カメラ112,左カメラ111が平行等位に設置されているものとする。3次元空間内の物体E上のS点は、右カメラ112,左カメラ111の同一水平線上の位置に写像される。すなわち、各画像中のS点は、比較画像Ia中の点Sa(x,y)及び基準画像Ib中の点Sb(x',y)において撮像される。このとき、視差値dは、Sa(x,y)とSb(x',y)とを用いて、式(1)のように表される。
d=x'-x 式(1)
図4に示すように、比較画像Ia中の点Sa(x,y)と右カメラ112から撮像面上におろした垂線の交点との距離をΔaにし、基準画像Ib中の点Sb(x',y)と左カメラ111から撮像面上におろした垂線の交点との距離をΔbにすると、視差値Δ=Δa+Δbとなる。
また、視差値Δを用いることで、右カメラ112、左カメラ111と物体Eとの間の距離Zを導き出すことができる。具体的には、距離Zは、カメラレンズ211の焦点位置とカメラレンズ221の焦点位置とを含む面から物体E上の特定点Sまでの距離である。カメラレンズ211及びカメラレンズ221の焦点距離f、カメラレンズ211及びカメラレンズ221の間の長さである基線長B、及び視差値dを用いて、式(2)により、距離Zを算出することができる。
Z=(B×f)/d 式(2)
この式(2)により、視差値dが大きいほど距離Zは小さく、視差値dが小さいほど距離Zは大きくなる。式(2)から明らかなように、カメラが小さくなるほど(基線長Bが小さくなるほど)、1整数視差に対応する距離が大きくなる。
図5は、視差値と距離の対応をグラフ形式で示す図である。図5では、基線長B=80mm、焦点距離f=5mm、撮像素子212、222のセルサイズ(画素ピッチ)=3umとした。図5から明らかなように、視差値dが小さくなると1整数視差の変化で距離が急激に大きくなる。このことは、遠方になるほど(視差値dが小さくなるほど)距離分解が急激に悪化することを意味する。
<<ブロックマッチングによる整数視差の演算>>
続いて、図6を用いて視差値の算出方法を説明する。図6はブロックマッチングによる整数視差の算出を説明する図の一例である。図6は、右カメラ112により撮像された比較画像Iaと左カメラ111により撮像された基準画像Ibにおける、注目している画素p=(Px3,Py5)のコストとして、SAD(Sum of Absolute Difference)を算出する例を示した図である。
基準画像Ibと比較画像Iaは撮像位置が異なるため、撮像画像上の同じ位置の注目している画素p=(Px3,Py5)であっても、同じ物体を指し示すことはなく、左右方向にずれた位置を指し示すことになる。このため、ブロックサイズを1×1画素とし、基準画像Ib上の注目している画素p=(Px3,Py5)の輝度値と、比較画像Ia上の注目している画素p=(Px3,Py5)の輝度値との差分値は、大きな値となる。
次に、比較画像Ia上の注目している画素pを1画素分、右方向にシフトさせる。つまり、視差d=1としたときのSADを算出する。具体的には、比較画像Ia上の注目している画素p=(Px3+1,Py5)の輝度値と、基準画像Ib上の注目している画素p=(Px3,Py5)の輝度値との差分値を算出する。
以下、同様に、d=2、3、・・・と変化させていき、それぞれにおいてSADを算出する。図6の例では、d=3の場合に、基準画像Ibの注目している画素p=(Px3,Py5)が指し示す物体と比較画像Iaの注目している画素p=(Px3+3,Py5)が指し示す物体とが同じとなるものとする。このため、d=3とした場合のSADは、d=3とした場合以外のSADと比べて小さくなる。算出されたSADはコストと呼ばれ、ある決まった探索幅(例えば64画素)においてd=1,2、3、・・・と変化させたコストのうち最小のコストを示す視差が求める視差値(整数視差)となる。この後、パラボラフィッティングや高次多項式などにより小数視差が求められる。
<レーザ信号処理部による時間計測>
次に、図7を用いてレーザ信号処理部240による時間計測の原理を説明する。図7は照射されたレーザ光が物体で反射して受光されるまでの時間tの測定を模式的に示す図である。図7(A)はアナログ信号を模式的に示し、図7(B)はデジタル信号を模式的に示す。図7(A)に示すように、ある時刻にパルス状のレーザ光が照射され、時間tだけ後にパルス状の反射光が受光される。したがって、時刻tに空気中の光の速度を乗じることで照射方向の物体までの距離を算出することができる。
図7(B)は同様の原理を2値化された照射光と反射光で示している。レーザレーダ測距部120は反射光以外のノイズを受光するため、図7(A)のように反射光のみが明確に得られることは少ない。そこで、レーザレーダ測距部120が受光する信号と閾値とを比較し、閾値を超えた信号を反射信号として検出する処理を行うことが一般的である。レーザ信号処理部240は閾値により受光する信号を2値化するので、図7(B)に示すように0又は1の信号が得られる。
<レーザ信号処理部の構成例>
次に、図8を用いてレーザレーダ測距部120とレーザ信号処理部240の構成例を説明する。図8はレーザレーダ測距部120とレーザ信号処理部240の機能をブロック状に示す機能ブロック図の一例である。
測距装置100は、一例として、移動体である車両に搭載され、レーザ光を照射し、物体(例えば先行車両、停車車両、障害物、歩行者等)で反射(散乱)された光を受光して該物体の有無や、該物体までの距離等の物体に関する情報(以下では「物体情報」という場合がある)を検出する。レーザ信号処理部は、例えば車両のバッテリ(蓄電池)から電力の供給を受ける。
レーザレーダ測距部120とレーザ信号処理部240は、照射系10、受光光学系30、検出系40、時間計測部45、同期系50、測定制御部46などを備えている。照射系10は、光源としてのLD(レーザダイオード)、LD駆動部12、照射光学系20を含む。本実施例では、光源としてLD11を用いているが、これに限られない。例えば、VCSEL(面発光レーザ)、有機EL素子、LED(発光ダイオード)等の他の発光素子を用いてもよい。
LD11はレーザ光源232に対応し、LD駆動部12により駆動され、周期的にパルス状のレーザ光を照射する。LD駆動部12は、測定制御部46から出力されるLD駆動信号(矩形パルス信号)を用いてLD11を点灯(発光)させる。LD駆動部12は、一例として、LD11に電流を供給可能に接続されたコンデンサ、該コンデンサとLD11との間の導通/非導通を切り替えるためのトランジスタ、該コンデンサを充電可能な充電手段等を含む。
本実施例では例えば、反射ミラーを回転させて光ビームを走査する。同期系50は、この操作方法を利用して、LD11からの光ビームを、ある所定の角度のときの反射ミラーで反射した光ビームの光路上に配置された同期検知用PD54と、該同期検知用PD54の出力電流(光電流)に基づく電圧信号(受光信号)を検出するPD出力検出部56と、を含む。同期検知用PDの信号によって、反射ミラーの角度を検出でき、システムの走査方向の同期を取ることができる。つまり、同期信号が得られた時の反射ミラーの角度を基準に各レーザ光の照射方向を決定している。
検出系40は、照射レンズ233に相当する照射光学系20から照射され、物体で反射及び散乱された光を、受光レンズ234に相当する受光光学系30を介して受光する時間計測用PD42(フォトダイオード)と、該時間計測用PD42の出力電流(光電流)に基づく電圧信号(受光信号)を検出するPD出力検出部44と、を含む。受光素子としては、PD(photodiode)やAPD(avalanche photodiode)、ガイガーモードAPDであるSPAD(single photon avalanche diode)などを用いても良い。
時間計測用PD42は、受光素子駆動部により駆動される。時間計測用PD42は受光素子235に相当する。
PD出力検出部44、時間計測部45及び測定制御部46はレーザ信号処理部240に相当する。PD出力検出部44は、時間計測用PD42からのアナログ信号(出力電圧)を、必要に応じて増幅し、閾値電圧を基準に二値化し、その二値化信号(デジタル信号)を時間計測部45に出力する。なお、二値化とは反射信号を閾値と比較して1又は0の信号に変換することをいう。PD出力検出部44は本実施形態の特徴的な構成を有するものであり、後に詳細に説明される。
時間計測部45は、該二値化信号から、該受光タイミングとLD駆動信号の立ち上がりタイミングに基づいて該物体までの往復時間を計測し、時間計測結果として測定制御部46に出力する。すなわち、時間計測部45はレーザ光を照射してから反射信号のピークを検出するまでの時間を物体までの距離情報に変換する。
測定制御部46は、車載装置からの測定制御信号(測定開始信号や測定停止信号)を受けて測定開始や測定停止を行う。同期信号に基づいてLD駆動信号を生成し、LD駆動部12及び時間計測部45に出力する。また、時間計測部45からの時間計測結果を距離に変換することで物体までの往復距離を算出し、該往復距離の1/2を物体までの距離情報としてステレオ画像演算部250に出力する。
<ステレオ画像演算部の機能について>
図9は、ステレオ画像演算部250の機能をブロック状に示す機能ブロック図の一例である。図9に示すように、ステレオ画像演算部250は、歪み補正部13、及び、距離演算部14を有する。右カメラ112及び左カメラ111によりステレオカメラが形成されている。なお、本実施形態において、右カメラ112により撮像される撮像画像を基準画像として用い、左カメラ111により撮像される撮像画像を比較画像として用いる。
歪み補正部13、及び、距離演算部14は専用の電子回路を用いて実現してもよいし、各部を実現するためのプログラムがCPU(コンピュータ)によって実行されることで実現されてもよい。したがって、ステレオ画像演算部250は情報処理装置の機能を有する。また、画像を処理するという点から画像処理装置でもある。
歪み補正部13は、基準画像と比較画像に一般的な歪み補正を行う。この画像補正により、基準画像と比較画像は視差以外の差異が生じないように補正される。画像補正は事前のキャリブレーションにより可能になる。左カメラ111と右カメラ112は設置される際に、例えば、校正用の被写体(例えば市松模様のチャート)を撮像する。2つの画像を比較して、カメラのレンズ歪み、光軸ずれ、焦点距離ずれ及び撮像素子歪み等のハード的な内部誤差要因が最小になるように画像データを変換する幾何変換用のLUT(Look Up Table)が生成されている。歪み補正部13はこのようなLUTを参照して画像補正を行う。
距離演算部14は基準画像と比較画像にブロックマッチングやSGM伝播方式などのアルゴリズムを適用して視差を算出する。また、詳細は後述するが距離演算部14は、距離画像を出力する際に、レーザレーダ測距部120が出力する距離情報から算出した画素ごとのコストとステレオマッチングコストとを重み付けして最終的なコストを算出する。
なお、図9の構成は一例にすぎず、レーザ信号処理部240とステレオ画像演算部250が一体に構成されていてもよい。また、ECU190がステレオ画像演算部250の機能を有していてもよい。
<TOF方式の測距方法の課題>
レーザ信号処理部240が行うTOF方式の測距方法では、式(3)のような形で信号が受信される。レーザを照射したときから、この反射光を受光した時点までの時間によって、距離が計測できる。式(3)をみると分かるように、時間計測用PD42が受信する信号Prの強さは、距離の2乗で小さくなる。たとえば、ターゲットの反射率Rtgtや、Ssndなどが同じ物体であるとし、距離Lが2倍になったとき(たとえば10〔m〕の場合と20〔m〕の場合)では、信号レベルは1/4になってしまう。
一方、距離レンジをかせぐためには、Poを強化する、TFGを向上させる、又は、Srcvを大きくするなどの対策がとられるが、Poを強化した場合、近距離部で信号が強すぎてサチュレーションを起こし、ピークがわからなくなって誤差が発生する可能性があるし、コストもかかる。Srcvを大きくするとモジュールが大きくなる、TFGを向上するにも劇的な向上は見込めない、などの不都合がある。
L: 検出距離
S
Rcv: レシーバ光学系の面積
η: APD面に集光される光のうちAPDに入力される割合
S
Snd: ターゲット上での照射ビーム面積
R
Tgt: ターゲット反射率
P
O: 光源出力
T
FG: 光利用効率
図10は、近傍と遠方での受信される信号レベルの違いの一例を説明する図である。図10(a)は、近傍の物体からの反射信号を示す。反射信号は信号Prのうちピークを示す部分であり、それ以外はノイズである。図10(a)に示すように、近傍の物体の信号レベルは強くノイズと区別して検出可能である。反射信号を検出した時点までの時間によって距離が算出される。信号Prからどのようにして反射信号を決定するかについては、種々の方法がある。たとえば、最大ピーク位置を検出する、又は、閾値以上の位置を複数検出する(マルチ検出)などの方法がある。
図10(b)は遠方の物体からの反射信号を示す。遠方の物体は信号レベルが弱く、反射信号がノイズの強さとほとんど変わらない状況では、最大ピーク位置を検出する方法、又は、閾値以上の信号レベルを検出する方法のいずれの手法を使っても、反射信号の検出が難しい。
一般的には、近い距離から順に閾値以上の信号Prを反射信号としたり、ピーク位置を検出したりする方法が用いられる。しかし、図10(b)の例では、実質的な反射信号の強さは、その前に検出されているノイズと同様のレベルであり、全体的に見て反射信号を検出することは困難である。レーザレーダ測距部120は原理的にこの様な課題を抱えている。そこで、ステレオ画像演算部250は処理範囲を算出して、レーザレーダ測距部120が遠方の物体からの反射信号を検出することを可能にする。
<ステレオ画像演算部の機能>
図11は、ステレオ画像演算部250の機能を詳細に説明する機能ブロック図の一例である。なお、図11では、ステレオ画像演算部250の機能構成のうち、視差演算に関する処理を実現するための機能構成についてのみ示し、その他の機能構成(例えば、同期制御信号を送信するための機能等)については省略してある。
ステレオ画像演算部250は、処理範囲算出部710と視差画像生成部720とを有する。処理範囲算出部710は、更に、第1コスト算出部711、第1合成コスト算出部712、第1視差演算部713、範囲決定部714を有する。
また、視差画像生成部720は、更に、第2コスト算出部721、第2合成コスト算出部722、第2視差演算部723を有する。以下、処理範囲算出部710及び視差画像生成部720の各部の詳細について説明する。
<<処理範囲算出部の各部の詳細>>
はじめに、処理範囲算出部710の各部の詳細について説明する。まず、第1コスト算出部711は、すでに図6で説明したようにブロックマッチングによりコストを算出する。このコストを第1コストという。
第1合成コスト算出部712は、第1コスト算出部711より通知された各画素領域のコストC(p,d)を合成することで第1合成コストSを算出し、合成結果を得る。第1合成コスト算出部712は、例えば、SGM(Semi-Global Matching)等の処理方法を用いて、複数の第1経路コストLrを算出し、それぞれの第1経路コストLrを、基準画素領域pに集約させることで、第1合成コストSを算出する。
図12は、第1合成コスト算出部の機能構成の詳細を示す図である。図12に示すように、第1合成コスト算出部712は、第1経路コスト計算部1001と、第1合成コストS計算部1002とを有する。第1経路コスト計算部1001は、第1コスト算出部711よりコストC(p,d)を取得すると、下式(4)に基づいて、第1経路コストLr(p,d)を算出する。
ここで、上式(4)は、SGMを用いた経路コストLrの一般的な式である。また、上式(4)においてP1、P2は固定のパラメータである。
上式(4)のもと、第1経路コスト計算部1001では、基準画素領域pのコストC(p,d)に、図13に示されているr方向の各画素領域における第1経路コストLrの最小値を加算することで、第1経路コストLr(p,d)を求める。なお、図13は、第1経路コストLr(p,d)の算出におけるr方向を示す図である。
図13に示すように、第1経路コスト計算部1001では、基準画素領域pのr方向(例えば、r135方向)の一番端の画素領域において第1経路コストLr(例えば、Lr135(p-2r,d))を求める。続いて、第1経路コスト計算部1001では、r方向に沿って第1経路コストLr(Lr135(p-r,d))を求める。本実施形態において、第1経路コスト計算部1001は、これらの処理を繰り返すことで得られる第1経路コストLr(例えば、Lr135(p,d))を、8方向について算出し、第1経路コストLr0(p,d)~Lr315(p,d)を得る。
第1合成コストS計算部1002は、第1経路コスト計算部1001において求めた8方向の第1経路コストLr0(p,d)~Lr315(p,d)に基づいて、下式(5)により第1合成コストS(p,d)を算出する。
第1合成コストS計算部1002は、算出した第1合成コストS(p,d)を、第1視差演算部713に通知する。
第1視差演算部713は、第1合成コスト算出部712により算出された第1合成コストS(p,d)に基づいて、基準画素領域pに対応する比較画像Ia内の対応画素領域
を抽出し、基準画素領域pの視差を演算する。なお、第1コスト算出部711及び第1合成コスト算出部712は、基準画像Ib内の他の基準画素領域についても同様の処理を行う。そして、第1視差演算部713では、各基準画素領域について、それぞれの視差(第1視差)を演算し、演算結果を範囲決定部714に通知する。
範囲決定部714は、第1視差演算部713より通知された視差(第1視差)の演算結果のうち、基準画素領域p及びその周辺の画素領域の視差を抽出し、処理範囲を決定する。図14を参照しながら、具体的に説明する。
図14は、範囲決定部による処理範囲の決定方法を説明するための図であり、基準画像Ibのうち、レーザレーダ測距部120によりレーザ光が照射された照射位置(点530)及びその周辺の画素領域を示している。
図14に示すように、基準画像Ibのうち、点530の座標(xl,yl)により特定される位置に対応する実空間の物体にレーザ光が照射されたとする。なお、座標(xl,yl)は、基準画素領域pの座標(x,y)と一致していてもよいし、多少ずれていてもよい。
このような場合、範囲決定部714では、照射位置(xl,yl)を中心として、横方向に±1/2a画素分、縦方向に±b画素分の画素領域を抽出する。
範囲決定部714は、更に、第1視差演算部713において演算されたそれぞれの視差のうち、抽出した画素領域について演算された視差を抽出する。なお、図14の例は、紙面の都合上、範囲決定部714が抽出した画素領域について演算された視差のうち、左上の画素領域、右上の画素領域、左下の画素領域、右下の画素領域についてそれぞれ演算された視差のみを示している。
範囲決定部714は、更に、抽出した視差の中から、演算頻度が最大の視差を抽出する。そして、範囲決定部714は、演算頻度が最大の視差±1画素に相当する距離を、レーザ信号処理部240がレーザ受光信号を処理する際の処理範囲として決定する。
具体的には、範囲決定部714は、抽出した視差のうち、演算頻度が最大の視差+1画素に相当する最小距離から、演算頻度が最大の視差-1画素に相当する最大距離までの範囲を、レーザ受光信号を処理する際の処理範囲に決定する。なお、視差から距離への変換には式(2)を使用する。
更に、範囲決定部714は、決定した処理範囲をレーザ信号処理部240に通知する。これにより、レーザ信号処理部240は、レーザ受光信号のうち、通知された処理範囲を対象として、物体での反射を示す信号を検出し、例えば、点530の距離情報を算出する。なお、レーザ信号処理部240は、通知された処理範囲を規定する最小距離と最大距離とをそれぞれ光速で除算することで時間範囲に変換した処理範囲を対象として、物体での反射を示す信号を検出する。
図15は、範囲決定部714により決定された処理範囲を示す図である。図15において、横軸は、レーザ光を照射してから受光するまでの応答時間を表し、縦軸は、レーザ受光信号の信号強度を表している。図15において、処理範囲1310、1320は、範囲決定部714により決定された処理範囲(時間範囲に変換した処理範囲)である。
図15(a)は、レーザ光が照射される物体までの距離Lが短い場合のレーザ受光信号の一例を示している。図15(a)に示すように、レーザ光が照射される物体までの距離Lが短い場合、処理範囲1310において、物体での反射を示す信号の信号強度(611)と、物体以外での反射を示す信号の信号強度(1312)との差は更に大きくなる。このため、物体での反射を示す信号の検出が更に容易になる。
また、図15(b)は、レーザ光が照射される物体までの距離Lが長い場合のレーザ受光信号の一例を示している。図15(b)に示すように、レーザ光が照射される物体までの距離Lが長い場合であっても(例えば、点530についても)、処理範囲1320によれば、信号強度(621)と信号強度(1322)との差を大きくすることができる。つまり、物体での反射を示す信号の信号強度と、物体以外での反射を示す信号の信号強度との差を大きくすることができる。このため、物体での反射を示す信号を容易に検出することが可能となり、物体以外での反射を示す信号を、物体での反射を示す信号と誤検出してしまう可能性を低減させることができる。
なお、上記説明では、範囲決定部714が抽出した視差のうち、演算頻度が最大の視差±1画素に相当とする距離を処理範囲に決定する場合について説明したが、処理範囲の決定方法はこれに限定されない。例えば、範囲決定部714は、下式(6)に基づいて算出される視差に相当する処理範囲を決定するようにしてもよい。
式(6)において、dmodeは、基準画素領域p及びその周辺の画素領域について演算された視差のうち、演算頻度が最大の視差である。wは、演算頻度が最大の視差から、標準偏差に対して、どれくらいの幅をもたせるかを示す係数である。n'は、基準画素領域p及びその周辺の画素領域について演算された整数の視差のうち、演算頻度が最大の視差に対して、±1画素以内に入っている視差の数を表している。d'は、基準画素領域p及びその周辺の画素領域について演算された整数の視差のうち、演算頻度が最大の視差に対して、±1画素以内に入っている視差を表している。
式(6)によれば、視差のばらつきが大きい場合に、処理範囲を広くし、視差のばらつきが小さい場合に、処理範囲を狭くすることができる。
<<視差画像生成部の各部の詳細>>
続いて、視差画像生成部720の各部の詳細について説明する。
図16は、第2コスト算出部の機能構成の詳細を示す図である。第2コスト算出部721は、基準画像取得部1401、比較画像取得部1402、コストC計算部1403、コストC調整部1404を有する。また、第2コスト算出部721は、距離情報取得部1411、コストCl計算部1412、重み付け加算部1420を有する。
基準画像取得部1401は、右カメラ112から基準画像Ibを取得する。また、取得した基準画像Ibから、基準画素領域pを抽出する。比較画像取得部1402は、左カメラ111から比較画像Iaを取得する。
コストC計算部1403は、基準画素領域pのコストC(p,d)を算出する。なお、コストC(p,d)の算出方法は、図6を用いて説明済みである。
コストC調整部1404は、コストC計算部1403により算出された基準画素領域pのコストC(p,d)を、信頼度に基づいて調整する。コストC調整部1404は、下式(7)を用いて調整することで、調整後のコストC'(p,d)を得る。
ここで、Dは、シフト量(視差)の最大値を表している。kはシフト量のカウント値を表している。また、Q(p)は、基準画素領域pのコストC(p,d)の信頼度を示している。信頼度Q(p)は、例えば、下式(8)を用いて算出される。
ここで、Cmin1、Cmin2は、所定範囲(0~D)でシフト量dを変化させることで算出されたそれぞれのコストC(p,d)のうち、最も低いコストと2番目に低いコストを表している。なお、上式(6)に基づいて算出される信頼度Q(p)は、Cmin1、Cmin2に基づいて算出した値を、0~1.0未満に正規化し、信頼度が高いほど1.0に近づくよう補正したうえで、上式(7)に用いられるものとする。
コストC調整部1404により調整された調整後のコストC'(p,d)は、例えば、テクスチャが少ない領域(隣り合う画素領域間の画素値の変化が少ない領域)に基準画素領域pがあり、信頼度Q(p)が低い場合には、より大きな値となる。
距離情報取得部1411は、レーザ信号処理部240より距離情報を取得する。レーザ信号処理部240より取得する距離情報は、処理範囲を限定したことで誤検出の可能性が低減された距離情報である。ここでは、レーザ信号処理部240より取得した距離情報を、Zlとおく。距離情報取得部1411は、取得した距離情報ZlをコストCl計算部1412に通知する。
コストCl計算部1412は、距離情報取得部1411より通知された距離情報Zlに基づいて、コストClを算出する。コストClとは、取得した距離情報Zlに基づいて導出される位置にある比較画像Ia内の画素領域と、基準画素領域pとの非類似度を示すパラメータである。
具体的には、コストCl計算部1412では、まず、距離情報Zlに基づいて、下式(9)を用いてシフト量dlを算出する。これにより、距離情報Zlに基づいて導出される位置にある比較画像Ia内の画素領域が抽出される。
上式(9)において、Bは、カメラレンズ211とカメラレンズ221との間の基線長である。fは、カメラレンズ211、カメラレンズ221の焦点距離である。
コストCl計算部1412は、続いて、シフト量dlにおけるコストCl(p,dl)を算出する。上記したコストC(p,d)の算出と同様に、コストCl計算部1412では、シフト量dlの位置における画素領域511の画素値と基準画素領域pの画素値との非類似度として、コストCl(p,dl)を算出する。
重み付け加算部1420は、コストC調整部1404において調整された調整後のコストC'(p,d)と、コストCl計算部1412において算出されたコストCl(p,dl)とを用いて、下式(10)に基づいて重み付け加算し、重み付けコストを算出する。
ここで、wdは、コストC調整部1404により調整された調整後のコストC'(p,d)と、コストCl計算部1412により算出されたコストCl(p,dl)のいずれを優先するかを示す重み係数である。コストC調整部1404により調整された調整後のコストC'(p,d)を優先させる場合には、wdの値を大きくする。一方、コストCl計算部1412により算出されたコストCl(p,dl)を優先させる場合には、wdの値を小さくする。
具体的には、シフト量d≠dlの場合、wdの値を大きくする。これにより、比較画像Ia内の画素領域511のうち、シフト量d≠dlの画素領域の重み付けコストをより大きくすることができる。なお、調整後のコストC'(p,d)は、例えば、テクスチャが少ない領域等においてより大きな値となっており、wdの値を大きくして調整後のコストC'(p,d)を優先させることで、シフト量d≠dlの画素領域の重み付けコストはより大きな値となる。
一方、シフト量d=dlの場合、wdの値を小さくする。これにより、比較画像Ia内の画素領域511のうち、シフト量d=dlの画素領域の重み付けコストをより小さくすることができる。なお、コストCl計算部1412により算出されたコストCl(p,dl)は、コストC調整部1404により算出された調整後のコストC'(p,d)よりも小さい値となっている。このため、wdの値を小さくしてコストCl計算部1412により算出されたコストCl(p,dl)を優先させることで、シフト量d=dlの画素領域の重み付けコストはより小さな値となる。
つまり、上式(10)によれば、シフト量d=dlの画素領域とそれ以外の画素領域との間のコストの差を、重み付けコストとして、より顕在化させることができる。
この結果、第2合成コスト算出部722により算出される第2合成コストS'から対応画素領域を抽出する際に、比較画像Ia内のd=dlの画素領域が抽出しやすくなる。つまり、基準画素領域pに対応する対応画素領域の位置512を精度よく抽出することが可能となる。
なお、上式(10)において、wdの値は、固定値であってもよいし、距離情報Zlの値に応じて変更してもよい。あるいは、周囲環境に応じて(例えば、日中か夜間かに応じて)変更するように構成してもよい。
重み付け加算部1420は、上式(10)に基づいて算出した重み付けコストを、第2合成コスト算出部722に通知する。
図17は、第2合成コスト算出部の機能構成の詳細を示す図である。図17に示すように、第2合成コスト算出部722は、第2経路コスト計算部1501と、第2合成コストS'計算部1502とを有する。
第2合成コスト算出部722は、第2コスト算出部721より通知された各画素領域の重み付けコストを合成することで第2合成コストS'を算出し、合成結果を得る。第2合成コスト算出部722は、例えば、SGM(Semi-Global Matching)等の処理方法を用いて、複数の第2経路コストLr'を算出し、それぞれの第2経路コストLr'を、基準画素領域pに集約させることで、第2合成コストS'を算出する。
第2合成コスト算出部722は重み付けコストを取得すると、下式(11)に基づいて、第2経路コストLr'(p,d)を算出する。
ここで、式(11)は、SGMを用いた経路コストの一般的な式において、コストC(p,d)を、重み付けコストに置き換えたものである。また、上式(11)においてP1、P2は固定のパラメータである。
式(11)によれば、第2合成コスト算出部722は、基準画素領域pの重み付けコストに、r方向の各画素領域における第2経路コストLr'の最小値を加算することで、r方向の第2経路コストLr'(p,d)を求める。なお、第2合成コスト算出部722は、r0~r315方向それぞれについて、第2経路コストを算出することで、第2経路コストLr0'(p,d)~Lr315'(p,d)を得る。
第2合成コスト算出部722は、8方向の第2経路コストLr0'(p,d)~Lr315'(p,d)に基づいて、下式(12)により第2合成コストS'(p,d)を算出する。
第2視差演算部723は、第2合成コスト算出部722により算出された第2合成コストS'に基づいて、基準画素領域pに対応する比較画像Ia内の対応画素領域を抽出し、基準画素領域pの視差を再演算する。
図18は、基準画素領域pにおける第2合成コストS'の算出結果を示す図である。第2視差演算部723は、所定範囲(0~D)において、第2合成コストS'(p,d)が最小となるシフト量dminを算出することで、比較画像Iaより対応画素領域を抽出する。これにより、第2視差演算部723では、抽出した対応画素領域と基準画素領域との視差(第2視差)として、シフト量dminを取得できる。
なお、第2視差演算部723は、基準画像Ib内の他の基準画素領域についても同様の処理を行い視差(第2視差)の再演算結果を取得することで、視差画像を生成し、生成した視差画像をメモリ260に格納する。
<反射信号が極めて微弱な場合に備えたアンダーシュート処理>
処理範囲から反射信号を検出することで、レーザ信号処理部240は受光信号における反射信号の検出精度を上げることができる。しかし、そもそも反射信号が極めて弱い場合には処理範囲から反射信号を検出することが困難になる。図19を用いて説明する。
図19は、遠方が撮像された画像データとこのような遠方の物体からの反射信号の一例を示す図である。図19(a)は例えば右カメラ112が撮像した基準画像の全体であり、図19(b)は図19(a)の一部を拡大した画像である。図19(a)では143〔m〕先にレーザ光の反射率が低い物体(黒い幕)が置かれており、図19(b)はレーザ光の反射率が低い物体(黒い幕)を示す。
また、図19(c)はレーザ光の反射率が低い物体(黒い幕)を照射方向とするレーザ光の反射信号である。レーザ光の反射率が低い物体(黒い幕)は143〔m〕先にあるため、往復の時間を考慮すると照射してから約1×10-6秒に反射信号のピークが現れる。図19(c)では丸701で囲んだ部分がレーザ光の反射率が低い物体からの反射信号を示す。
図19(c)に示すように、この反射信号は周囲のノイズに紛れているため、予めピークがどこにあるかを知っていなければ人間が見た場合でも判断が付かないほど小さい信号レベルになっている。
距離による減衰に加えて、進行方向の前方から太陽光が差し込む逆光の状況では(車載用途では容易に起こる)、太陽光によってノイズも非常に大きくなってしまい、更に状況が悪化する。この様な状況であっても、物体からの反射信号を強調する技術について説明する。
図20は、物体からの反射信号を強調するPD出力検出部44の構成例を示す。図20のPD出力検出部44は、電流電圧変換器44a、信号増幅器44b、及び、二値化回路44cを含む。時間計測用PD42で受光された物体からの反射信号は、時間計測用PD42が電流値に変換し、該電流値が出力電流としてPD出力検出部44に入力される。
電流電圧変換器44aは、入力された電流値を電圧値に変換する。該電圧値が信号増幅器44bで増大され、出力電圧(反射信号)として出力される。この際、信号増幅器44bは負帰還の機能を有する、例えばオペアンプOAを含む非反転増幅回路(負帰還回路)を用い、その増幅度を小さくとることにより、帰還が強くかかり、受光信号にアンダーシュート及びオーバーシュートが生じる。物体からの反射光パルスは、発光パルスと略同一の波形を有しており、そのパルス幅は上記のように10ns~数十nsである。この反射光パルスに十分速く応答できること(高速応答性)がPD出力検出部44には望まれる。
アンダーシュート、オーバーシュートが起きる原理は、質点、ばね、減衰器で構成される位置制御の系において、ばね定数を大きくしすぎる(帰還を強くかけすぎる)と、定常位置から行き過ぎたり(オーバーシュート)戻ったり(アンダーシュート)を繰り返し、減衰振動をしながら定常位置に落ち着く、という現象と同様の原理である。
なお、図20の構成は一例に過ぎず、PD出力検出部44は信号増幅器44bの出力の高周波数成分を出力するハイパスフィルタを含むなどの構成であってもよい。
図21(A)には比較例1の受光信号波形が示され、図21(B)には本実施形態の受光信号波形が示されている。図21(A)に示される比較例1の受光信号波形は、アンダーシュートを発生させない場合に、ノイズが乗った5つの受光信号の波形と、受光信号毎に計測される受光時刻2(該受光信号の立下りが閾値電圧と一致するタイミング)のシミュレーション結果である。アンダーシュートを発生させない場合、受光信号(出力電圧)の立下りが遅く(緩やかであり)、ノイズに起因するゆらぎにより、受光時刻2の計測誤差が大きくなることがわかる。
負帰還を用いた増幅回路において、増幅率を大きくしすぎたり入力信号に対して回路の帯域を狭くしすぎたりすると帰還が弱くなりアンダーシュートが起こらない。増幅率を小さくしすぎて且つ回路の帯域を広く取るとアンダーシュート後のリンギングが大きくなってしまい信号立下り後に再び閾値を超えてしまう。信号立下り後に再び受光信号が閾値を超えてしまった場合、時間計測回路によって二つ目の物体として認識されてしまい、パルスの誤検出という問題が起こる。このパルス誤検出を防ぐためにリンギングそのものを抑えると、アンダーシュートの効果が弱くなる恐れがある。
図21(B)に示される実施例1の受光信号波形は、アンダーシュートを発生させた場合に、ノイズが乗った5つの受光信号の波形と、受光信号毎に計測される受光時刻2のシミュレーション結果である。結果として、実施例1では、比較例1と比較して、受光信号の立下りが速く(急であり)、ノイズに起因するゆらぎを抑制でき、受光時刻2の計測誤差を小さくできることがわかる。比較例1では、5回の測定での測定誤差が11ns(距離に換算すると1.6m)であるのに対し、実施例1の場合には、5回の測定での測定誤差は3ns(距離に換算すると0.5m)となる。
比較例1、実施例1の受光信号波形は、それぞれ図22(A)(B)に示される負帰還回路44b-1、44b-2を、信号増幅器44bとして用いた場合をシミュレートした結果である。各負帰還回路44b-2は、一端が接地され又は該一端にバイアス電圧が印加され、他端がオペアンプOAの-(マイナス)の入力端に接続された抵抗R1と、オペアンプOAにそれぞれ並列に接続された抵抗R2及びコンデンサC1と、オペアンプの出力側のコンデンサC3と、コンデンサC3を設置する抵抗R3とを有している。
オペアンプOAの+の入力端には、電流電圧変換器44aからの電圧値が入力される。なお、各負帰還回路において、コンデンサC1は、必須ではない。実施例1では、C1=1pF、R1=1kΩ、R2=3kΩ、C2=30pF、R3=500Ωとされているが、数値は一例に過ぎない。
図23は、アンダーシュート処理された1つの反射信号を示す。本実施形態では、図23に示す反射信号のように、アンダーシュート後にリンギングが収まるのにかかる時間(整定時間R:リンギングの振幅が受光信号の最大振幅の5%以下になるのにかかる時間)よりもグラウンドレベル(ゼロ)に復帰するのにかかる時間の方が長い波形を実現することで、パルスの誤検出の防止とアンダーシュートによる距離測定精度の向上を同時に実現している。
このような受光波形は、例えば図22(B)に示した信号増幅器44bを用い、半値全幅11〔ns〕の釣鐘型パルスを入力することで実現される。負帰還回路でアンダーシュートを起こした後に時定数の大きいハイパスフィルタでグラウンドへの放電を妨げることで図23の受光波形を実現することができる。
<アンダーシュート処理された反射信号からのピークの検出>
図24を用いて、アンダーシュート処理された反射信号の一例を説明する。図24は、レーザ光の反射率が低い物体(黒い幕)からの反射信号を説明する図の一例である。図24(a)はアンダーシュート処理された反射信号を示し、図24(b)は図24(a)から物体までの距離に対応する一部の反射信号(拡大したもの)を示す。
図24(b)に示すように、アンダーシュートを起こした反射信号のうち前半の20〔ns〕の山部分が物体でレーザ光が反射したことを示す反射信号の周期である。後半の40〔ns〕の谷部分がアンダーシュート幅(アンダーシュート部分の周期)である。
物体からの反射による周期は発光パルス幅と受光素子駆動部の応答速度の関係で決まる。すなわち、受光素子駆動部が十分に早く応答できればレーザ光のパルス幅と同等になり、受光素子駆動部の応答速度が遅ければ受光素子駆動部の応答速度により長くなる。また、アンダーシュート幅は信号増幅器44bの素子の値を変更することで、設計することができる。
本実施形態では、アンダーシュートの幅Δt_uが反射信号の幅Δt_rよりも大きく設定されることが特徴の1つとなっている。換言すると、アンダーシュートの周波数f_uが反射信号の周波数f_rよりも低く設定される。これによりパルスの誤検出を防止してかつアンダーシュートによりパルスを相対的に大きくすることができる。
Δt_u > Δt_r
f_u < f_r
反射信号の幅20〔ns〕を周期とする周波数は25〔Mhz〕であり、アンダーシュートの幅40〔ns〕を周期とする周波数は12.5〔Mhz〕である。これらの周期の信号を反射信号から取り出すことを考えると、12.5~25〔Mhz〕以下の信号を通過させるローパスフィルタを用いられる。
図25は、物体からの反射信号を強調するPD出力検出部44の構成例を示す。図25のPD出力検出部44は、図20の構成に加えLPF44dを有している。LPF44dのカットオフ周波数fcは、
f_u < f_r < f_c
の関係を満たす。図25に示すように、カットオフ周波数fcを反射信号の周波数f_r以上に設定したLPF44dを反射信号に通過させる。
このようなLPF44dによれば、まず、ノイズとなる高周波数成分をカットすること(フィルタリング処理)ができる。また、LPF44dはカットオフ周波数fcが上記の関係を満たすように調整されているので、物体に対応するピークの周波数よりも周波数が低いアンダーシュートを付随させることができる。このアンダーシュートの恩恵で、反射信号の振幅を相対的に大きくすることができる。すなわち、LPF44dは反射信号を強調することができる。
特許文献1(特開2017-062169号公報)においてアンダーシュートの量を大きく確保するのは「ピークを強調する」ためではなく、「ピークの立下りを早くして、立下り時刻を遅延なく得る」ためである。本実施形態のLPF44dは「ピークを強調すること」が目r的であり、アンダーシュート処理を施す第1の処理回路とは別にLPF44d(フィルタ回路)を備えている点で相違している。
なお、二値化回路44cにはステレオカメラ部110から送出された処理範囲が入力され、二値化回路44cは処理範囲の反射信号を二値化する。これにより、反射信号が極めて微弱でも物体に対応する時刻の反射信号のピークを検出可能になる。
図24(c)は図24(a)の反射信号の低周波数成分がLPF44dでカットされた反射信号を示す。図24(c)では、物体受光信号幅Δt_r=20[ns] (周波数f_r=25[MHz])、アンダーシュート幅Δt_u=40[ns] (周波数f_u=12.5[MHz])で、LPF44dのカットオフ周波数f_c=30[MHz]と設定した例を示す。
図24(c)に示すように、適切なカットオフ周波数のLPF44dを適用することで、物体までの距離に相当する時刻に明確なピークを確認できるようになる。したがって、ステレオ画像演算部250からの処理範囲を使って、PD出力検出部44が物体までの距離に対応する時刻を絞り込めば、反射信号が極めて微弱な場合でも反射信号のピークを検出可能になる。
なお、図24で用いた周期や周波数は一例に過ぎず、「f_u,f_r,f_cがf_u< f_r<f_c」の関係を満たしていればよい。
例えば、LDからの発光パルス幅が12[ns]の場合であるが、PDの駆動部の応答性が十分でなく、物体受光信号幅が膨らんでしまい48[ns]になってしまったとしても、48[ns]に対応する周波数をf_rとし、アンダーシュートの周波数はそれより低く、カットオフ周波数はそれより高く設定することで、同様の効果を得ることができる。
また、図24ではLPF44dを通過させて得られる効果について説明したが、本実施形態はLPF44dに限られるものではなく、f_rよりも低周波数側の周波数をカットすればよい。例えば、いわゆるBPF(バンドパスフィルター)を採用することもできる。この場合、高周波数側のカットオフ周波数をf_cH、低周波数側のカットオフ周波数をf_cLとして、
f_cL <f_u < f_r <f_cH
の関係を満たすようなフィルタリング処理を行えばよい。
例えば、ショットノイズや逆光によるホワイトノイズのうち低周波数成分をカットすることで、物体反射信号を更に検出しやすくしたり、何らかの低周波数の特徴的なノイズを効果的に除去できたりするなどの効果を期待できる。
<アンダーシュート処理により生じる不都合>
しかしながら、反射信号にアンダーシュート信号を発生させた場合、隊列被写体の検出に不都合が生じる。隊列被写体とは、複数の物体(例えば人と車)がレーザレーダ測距部120から見て同じ方向に列を成すように並んでいる状態の被写体をいう。
図26は、隊列被写体の一例を示す。図26では、車両の手前に歩行者が存在しているため、レーザレーダ測距部120から見て歩行者811と車両810が列をなしている。隊列被写体の複数の物体の距離が近い場合、手前の物体の反射信号のアンダーシュート部分と、奥の物体の反射信号が重なってしまい、結果として反射信号の形がひずんでしまうという不都合が生じる。
図27は、アンダーシュート処理された隊列被写体の反射信号の一例を示す。なお、図27は実際の反射信号ではなくアンダーシュート処理された反射信号の不都合を説明するための信号例である。図27に示すように、車の反射信号のピーク703と人の反射信号704のアンダーシュート部分が打ち消しあい、車の反射信号のピーク703が消失している。すなわち、奥の物体である車の反射信号のピーク703が完全に消えてしまい、実際に得られる反射信号702の形状が期待しているものとは大きく違ってしまっている。
この不都合を回避するために、本実施形態ではアンダーシュートありの反射信号とアンダーシュートなしの反射信号の両方を取得する構成を採用する。図28を用いて説明する。
図28はPD出力検出部44の一例の構成図を示す。図28のPD出力検出部44は3つの処理系統を有している。
処理系統1:アンダーシュートなし
処理系統2:アンダーシュートあり+LPF
処理系統3:アンダーシュートなし
処理系統1はアンダーシュート処理がないため、極めて微弱な反射信号から物体までの距離を検出する処理には向かないが、隊列被写体に含まれる複数の物体の反射信号から各物体に対応したピークを検出できる。
処理系統2はアンダーシュート処理とLPF44dにより、隊列被写体に含まれる複数の物体の距離の検出には向かないが、反射信号が極めて微弱な場合にも物体までの距離を検出できる。処理系統1の信号増幅器44bと処理系統2の信号増幅器44bは、抵抗及びコンデンサの値が異なっており、処理系統1の信号増幅器44bは増幅機能を有するがアンダーシュート処理は行わない。処理系統2の信号増幅器44bは増幅機能を有すると共にアンダーシュート処理を行う。処理系統3については後述する。
なお、アンダーシュートなしとは、全くアンダーシュートがないことまでは必要なく、反射信号がわずかにアンダーシュートすることも含んでよい。すなわち、隊列被写体の各物体の分離が可能であればわずかなアンダーシュートは許容される。
時間計測部45は、3つの処理系統の信号(デジタル信号になっている)のそれぞれから物体までの時間を測定する。したがって、遠方の物体(反射信号が極めて微弱な物体)及び隊列被写体の各物体までの時間(距離)を測定できる。
<動作手順>
図29は、ステレオ画像演算部とレーザ信号処理部による視差画像生成処理の流れを示すフローチャートである。図29に示すフローチャートは、レーザレーダ測距部120によりレーザ光が照射された照射位置に対応する1の基準画素領域pについての視差を演算する処理を示したものである。したがって、視差画像の生成にあたり、ステレオ画像演算部250とレーザ信号処理部240は同様の各基準画素領域について図29に示すフローチャートを実行する。
まず、ステレオ画像演算部の処理について説明する。基準画像取得部801は、基準画像Ibを取得し、基準画素領域pを抽出する(ステップS-10)。
次に、コストC計算部803は、比較画像取得部802にて取得された比較画像Ia内のシフト量dの位置における画素領域511の画素値と、基準画素領域pの画素値とに基づいて、コストC(p,d)を算出する(ステップS-20)。
次に、第1経路コスト計算部1001は、コストC(p,d)に基づいて、各第1経路コストLr(p,d)を算出する(ステップS-30)。
第1合成コストS計算部1002は、各第1経路コストLr(p,d)に基づいて、第1合成コストS(p,d)を算出する(ステップS-40)。
第1視差演算部713は、第1合成コストS(p,d)が最小となるシフト量(第1視差)を算出する(ステップS-50)。これにより、第1視差演算部713は、比較画像Iaより対応画素領域を抽出すると共に、抽出した対応画素領域と基準画素領域pとの視差(第1視差)の演算結果を取得する。
なお、より高速又はラフに計算するためにブロックマッチングだけで済ませてもよい(ステップS-20までの処理で留める)。あるいは、高速又はラフに計算するために機械学習(ディープラーニング)を用いてもよい。
範囲決定部714は、レーザ信号処理部240がレーザ受光信号を処理する際の処理範囲を、視差の演算結果に基づいて決定する(ステップS-60)。また、範囲決定部714は、決定した処理範囲を、レーザ信号処理部240に通知する。
これにより、レーザ信号処理部240は、物体での反射を示す信号を検出し、距離情報Zlを算出する。
次に、コストC計算部1403は、比較画像取得部1402にて取得された比較画像Ia内のシフト量dの位置における画素領域511の画素値と、基準画素領域pの画素値とに基づいて、コストC(p,d)を算出する(ステップS-70)。
コストC調整部1404は、算出されたコストC(p,d)を信頼度Q(p)に基づいて調整し、調整後のコストC'(p,d)を算出する(ステップS-80)。
距離情報取得部1411は、基準画素領域pの位置に対応する実空間の物体までの距離を示す距離情報Zlを、レーザ信号処理部240より取得する(ステップS-90)。
コストCl計算部1412は、距離情報取得部1411において取得された距離情報Zlに基づいて、コストClを算出する(ステップS-100)。
重み付け加算部1420は、コストC調整部1404において調整された調整後のコストC'(p,d)と、コストCl計算部1412において算出されたコストCl(p,d)とを重み付け加算し、重み付けコストを算出する(ステップS-110)。
第2経路コスト計算部1501は、重み付けコストを用いて各第2経路コストLr'(p、d)を算出する(ステップS-120)。
第2合成コストS'計算部1502は、各第2経路コストLr'(p,d)に基づいて、第2合成コストS'(p,d)を算出する(ステップS-130)。
第2視差演算部723は、第2合成コストS'(p,d)が最小となるシフト量(dmin)を算出することで、比較画像Iaより対応画素領域を抽出する(ステップS-140)。これにより、第2視差演算部723は、抽出した対応画素領域と基準画素領域pとの視差(第2視差)の再演算結果を取得する。
次に、ステレオ画像演算部250の処理について説明する。まず、照射光学系20がレーザ光のパルスを照射する(ステップL-10)。受光光学系30が反射信号を受光する(ステップL-20)。
次に、PD出力検出部44の処理系統1と2が並行して反射信号を処理する。処理系統1の電流電圧変換器44aは反射信号の電流を電圧に変換し、信号増幅器44bが反射信号を増幅する(ステップL-30)。処理系統1の信号増幅器44bはアンダーシュートを起こさせないか又は起こさせてもわずかである。
処理系統2の電流電圧変換器44aは反射信号の電流を電圧に変換し、信号増幅器44bが反射信号を増幅すると共にアンダーシュートさせる(ステップL-40)。
そして、LPF44dがアンダーシュート処理された反射信号にフィルタリング処理を施し高周波数成分を低減する(ステップL-50)。
次に、レーザ信号処理部240はステレオ画像演算部250から処理範囲を取得し、二値化回路44cが処理系統1と処理系統2の反射信号の処理範囲をそれぞれ二値化する(ステップL-60)。
次に、時間計測部45は計測された時間を距離情報Z1に変換する(ステップL-70)。レーザ信号処理部240はこの距離情報Z1とレーザ光の照射方向をステレオ画像演算部250に送出する。
なお、LiDARの検知結果を視差に反映させる方法については、図29に記載の方法以外の方法を採用してよい。これらについては図31,図32に説明する。
<路面の凹凸、路肩の検出等>
処理系統3を用いた路面の凹凸、路肩の検出等について説明する。処理系統3では、アンダーシュートなしの反射信号がA/D変換回路44eに入力されている。このA/D変換回路44eは比較的遅い回路でよい。A/D変換回路44eでサンプリングしたデジタルデータにおいて、その大域的な傾きを見ることで測定制御部46は路面推定(路面の凹凸や傾きを検出する)を行う。局所的な山を見ることで、路肩や白線の検出が可能となる。
図30は、A/D変換回路44eにより変換した反射信号の大域的な解析を説明する図の一例である。図30(a)は測距装置100が検出する車両前方の状況を示し、図30(b)は図30(a)の状況で検出される反射信号を示す。図30(a)に示すように、測距装置100の前方には凹部分852、凸部分853、及び、物体854が存在する。レーザ光860は凹部分852、凸部分853、及び、物体854を含む縦長の形状で照射された。
図30(a)の反射信号について説明する。近くの路面ほど大きくレーザ光を反射するので、反射信号は立ち上がり部850aを有する。その後、時間と共に遠方の路面からの反射信号が受光されるが、遠方ほど反射信号が弱まるため、反射信号は式(3)より距離の2乗に反比例する傾き851aで減衰する。したがって、傾き851aに生じる凹凸は路面の凹凸や物体の存在を示唆する。
図30では、傾き851aに凹部分852a及び凸部分853aが確認される。路面が平らな場合、照射光は連続的に路面に当たるが、路面に凹部分852があると照射面が不連続に変化する。不連続点では反射信号が一瞬落ち込むため、反射信号の凹部分852aにより凹部分852があることが推定される。凸部分853aは、凸部ではLiDARに対する正対成分が大きくなり反射信号が大きくなるので路面が高くなっていることが推定される。すなわち、路面に凸部分853があると推定される。更に、反射信号が急激に大きくなる物体部分854aは、路面に物体854があると推定される。このように、A/D変換回路44eが路面を含む反射信号をデジタルデータに変換することで、測定制御部46は路面推定(路面の凹凸や傾きを検出する)を行うことができる。
このような路面推定を行なうために、レーザレーダ測距部120はレーザを大口径にして、路面に広く当たるように照射する。レーザは大口径でよく、A/D変換回路44eも比較的遅いサンプリングレートのものでよいため、レーザを絞ることにかかるコストや、A/D変換回路にかかるコストも抑えることができるため、レーザレーダ測距部120のコスト増を抑制できる。
<LiDARの検知結果を視差に反映させる方法の他の例>
図31は、距離空間をベースにして視差を算出する方法を説明する図の一例である。
(1)図29のステップS-60で処理範囲を決定した後、レーザ信号処理部240は該当範囲に存在するLiDARのアナログ信号の山を人為的に大きくする。
(2)レーザ信号処理部240はアナログ信号を反転する。
(3)ステレオ画像演算部250は、ステレオ画像から算出された視差空間のコストC(p,d)を、距離空間のコストC(p、z)に変換する。
(4) ステレオ画像演算部250は、(2)のアナログ信号と(3)のコストC(p、z)を足し合わせた合成コストを得る。
合成コストの最小値を探すことで視差を得ることができる。
図32は、距離空間をベースにして視差を簡易的に算出する方法を説明する図の一例である。
(1)ステレオ画像演算部250は、ステレオ画像から算出された視差空間のコストC(p,d)を、距離空間のコストC(p,z)に変換する。
(2)レーザ信号処理部240は、図29のステップS60で処理範囲を決定した後、該当範囲のLiDARのアナログ信号のピーク部分を特定する。
(3)ステレオ画像演算部250は、ピーク部分に対応するコストC(p,z)のコスト値を予め定めた値だけ小さくして改変コストを得る。
改変コストの最小値を探すことで、視差を得ることができる。
<まとめ>
以上説明したように、本実施形態の測距装置100は、ステレオカメラから得られる物体までの距離情報を用いて処理範囲を設定し、反射信号における着目領域を絞ることで、反射信号のノイズを物体として取ってしまうことを抑制しやすくなる。
反射信号が外乱光などによるノイズと同程度以下になってしまうほど微弱であるため、処理範囲を絞っても物体に対応するピークを検出しにくくなる状況に対応するため、反射信号にアンダーシュートを意図的に発生させ、反射信号の周波数帯域とアンダーシュート幅の周波数帯域にあわせて設計したLPF又はBPFを通過させることで、反射信号のピークを強調できる(アンダーシュートにより信号強度を相対的に大きくできる)。したがって、「遠方の微弱信号の検出精度を向上させる」ことができる。
また、アンダーシュートを意図的に発生させると、隊列被写体の複数の物体の分離が困難になるという不都合が生じる。これに対応するため、本実施形態の測距装置100は、反射信号にアンダーシュート処理を施す処理系統と、施さない処理系統を用意し、隊列被写体の複数の物体の分離を可能にすることができる。つまり、アンダーシュートありの反射信号は遠方の微弱信号の検出用として用い、アンダーシュートなしの反射信号は隊列被写体の複数の物体の距離を算出するために使用する。したがって、「隊列被写体の分離を可能としながら」「遠方の微弱信号の検出精度を向上させる」ことができる。
また、本実施形態の測距装置100は、大口径レーザを照射し、その反射信号の大域的な傾きを見ることによって、路面推定(路面の凹凸や傾き)を行い、局所的な山を見ることで路肩や白線の検出を行うことができる。
大口径レーザを照射するので、レーザを絞ることに関するコストを抑えることができ、また路面推定に関しては比較的遅いサンプリングレートのA/D変換でよいため、A/D変換機のコストも抑えることができる。
<その他の適用例>
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
上記実施形態では、画素領域についてコストCを算出する場合について説明したが、コストCの算出は、1画素ごとに行うように構成してもよい。つまり、上記実施形態に記載の"画素領域"には、1又は複数の画素が含まれるものとする。
また、上記実施形態では、ステレオカメラ部110とレーザレーダ測距部120とが一体的に構成される場合について示したが、ステレオカメラ部110とレーザレーダ測距部120とは、別体により構成されてもよい。
また、上記実施形態では、レーザ信号処理部240では主にアナログ信号からピークを取りだし、ステレオ画像演算部250ではデジタル信号を扱っていたが、受光素子235が反射信号を受光した直後にレーザ信号処理部240がデジタル信号に変換して、デジタル信号からピークを取り出してもよい。
また、上記実施形態では、レーザ信号処理部240とステレオ画像演算部250が、専用の集積回路により構成されるものとして説明した。しかしながら、例えば、レーザ信号処理部240、ステレオ画像演算部250の機能を実現するソフトウェアのプログラムコードが記録された記憶媒体を情報処理装置が実行することで本実施形態の機能を実現してもよい。
また、上記実施形態では、レーザ信号処理部240により算出された距離情報を、ステレオ画像演算部250に入力し、視差の再演算に用いるものとして説明したが、視差の再演算以外の用途に用いてもよい。
また、上記実施形態では、測距装置100を車両140に取り付ける場合について説明した。しかしながら、測距装置100の取り付け先は車両140に限定されず、バイク、自転車、車椅子、農業用の耕運機等であってもよい。あるいは、自律移動ロボット等の移動体であってもよい。あるいは、ドローンなどの飛行体でもよい。あるいは、FA(Factory Automation)において固定設置される工業用ロボット等であってもよい。
なお、ステレオ画像演算部250は画像処理部の一例であり、照射系10は照射部の一例であり、時間計測用PD42は受光部の一例であり、処理系統2の信号増幅器44bは第1の処理回路の一例であり、LPF44dはフィルタ回路の一例であり、二値化回路44cは取得手段の一例であり、時間計測部45は変換手段の一例である。処理系統1の信号増幅器44bは第2の処理回路の一例であり、第2視差演算部723は再演算手段の一例である。範囲決定部714が処理範囲を決定するための距離は第1の距離情報の一例であり、測定制御部46が算出する距離は第2の距離情報の一例である。コストCl計算部1412が算出するコストClは第1のコストの一例であり、コストC計算部1403が算出するコストC(p,d)は第2のコストの一例であり、重み付け加算部1420が算出する重み付けコストは第3のコストの一例である。