以下、本発明の例示的な実施形態が開示される。以下に示される実施形態の構成、並びに当該構成によってもたらされる作用、結果、及び効果は、一例である。本発明は、以下の実施形態に開示される構成以外によっても実現可能であるとともに、基本的な構成に基づく種々の効果や派生的な効果のうち、少なくとも一つを得ることが可能である。
図1は、実施形態にかかる距離情報生成装置1のハードウェア構成の一例を示す図である。距離情報生成装置1は、所定の基準点から物体までの距離を示す距離情報を生成する装置である。所定の基準点は特に限定されるべきものではないが、例えば、距離情報生成装置1の設置位置等であり得る。距離情報生成装置1は、距離情報を利用するあらゆるシステムや装置において利用され得る。例えば、距離情報生成装置1は、車両の乗員の状態を認識する乗員モニタリングシステム、車両周辺に存在する物体を認識して各種自動制御を行う運転支援システム等に利用され得る。
ここで例示する距離情報生成装置1は、照射装置11、拡散光学系12、受光装置13、集光光学系14、制御回路15、及び演算回路16を含む。
照射装置11は、所定のパルス幅を有するパルス光である照射光21を照射する。照射装置11の具体的構成は特に限定されるべきものではないが、例えばLED(Light Emitting Diode)、PWM(Pulse Width Modulation)回路等を利用して構成され得る。照射装置11は、制御回路15からの発光制御信号に応じて動作する。照射光21は、拡散光学系12により拡散され、測距対象となる物体(例えば車内の乗員、車両周辺の物体等)に向けて照射される。
受光装置13は、外部からの光を光電変換する装置であり、照射光21が物体に反射された反射光22の位相データ(アナログ)を生成する。受光装置13の具体的構成は特に限定されるべきものではないが、例えばフォトダイオード、スイッチング素子、キャパシタ等を利用して構成され得る。反射光22は、集光光学系14により集光された状態で受光装置13に受光される。受光装置13は、制御回路15からのシャッター制御信号に応じて動作する。
制御回路15は、照射装置11及び受光装置13を制御する制御信号を生成し、受光装置13により生成された位相データ(アナログ)をデジタル変換したRAWデータを生成する。制御回路15の具体的構成は特に限定されるべきものではないが、ASIC(Application Specific Integrated Circuit)、メモリ、各種論理回路等を利用して構成され得る。
演算回路16は、システム制御、通信制御、距離演算等を行う。演算回路16は、照射装置11から照射され受光装置13により受光された光の飛行時間に基づいて物体までの距離を算出するTOF法による距離演算を行う。本例では、制御回路15により生成されたRAWデータに基づいて距離演算を行う。演算回路16の具体的構成は特に限定されるべきものではないが、例えばプログラムに従って演算処理を行うプロセッサ、FPGA(Field Programmable Gate Array)、メモリ、各種論理回路等を利用して構成され得る。
図2及び図3は、TOF法による距離演算方法の一例を示している。図2は、TOF法における位相データの取得方法の一例を説明するためのタイミングチャートである。図3は、TOF法における距離演算方法の一例を説明するためのグラフである。
図2において、照射光21と反射光22との間に位相差φが生じている状態が示されている。また、照射光21の周期に同期して開閉する4種類のゲートQuad1〜4の動作が示されている。各ゲートQuad1〜4の作用により反射光22の光量に対応する4種類の蓄積電荷q1〜q4が取得される。そして、図3に示すように、取得された蓄積電荷q1〜q4を実軸と虚軸とからなる座標にプロットすることにより、物体までの距離を示すベクトル情報を取得することができる。
図4は、実施形態にかかる距離情報生成装置1の機能構成の一例を示すブロック図である。本実施形態にかかる距離情報生成装置1は、画像生成部101、記憶部102、及び補正部103を含む。
画像生成部101は、TOF法により測定された物体までの距離に対応(関連)する値を画素値とする画像を生成する。画像生成部101は、物体に反射された光の飛行時間に関する光飛行時間情報(例えば照射光21と反射光22との位相差に関する情報等)に基づいて距離を算出する。距離に対応する値とは、例えば、所定の基準点から物体までの距離を示す距離値、受光装置13により受光された反射光22の光量を示す光量値等であり得る。本実施形態にかかる画像生成部101が生成する画像には、距離値を画素値とする距離画像、及び光量値を画素値とする光量画像が含まれる。画像生成部101は、例えば、演算回路16等をより構成され得る。
記憶部102は、画像生成部101により生成された画像(距離画像及び光量画像)の画素値(距離値及び光量値)を経時的に記憶(蓄積)する。記憶部102により、過去に画素値を読み出すことができる。記憶部102は、演算回路16に含まれるメモリ等により構成され得る。
補正部103は、画像生成部101により生成された画像の画素値を、過去の画素値を用いて補正する。補正部103は、演算回路16等により構成され得る。
本実施形態にかかる補正部103は、グルーピング部111、有効性判定部112、時系列補正部113、フィルタ部114、及び係数設定部115を含む。
グルーピング部111は、画像生成部101が生成した画像において、物体に対応する物体領域を設定する。物体領域の具体的な設定手法は特に限定されるべきものではないが、例えば、公知のクラスタリング処理、物体認識処理等を利用して実現され得る。
有効性判定部112は、物体領域に含まれる各画素について、過去の画素値の有効性を判定する。有効性判定部112は、物体領域に含まれる注目画素における現在の画素値と過去の画素値との差に基づいて、過去の画素値の有効性を判定する有効性判定処理を行う。本実施形態にかかる有効性判定部112は、物体領域に含まれない画素については有効性判定処理を行わない。
時系列補正部113は、有効性判定部112により有効と判定された過去の画素値を用いて現在の画素値を補正する時系列補正処理を行う。時系列補正処理の具体的手法は特に限定されるべきものではないが、例えば、現在の画素値と過去の画素値との加算平均値を求める方法等であり得る。このとき、所定の条件に基づいて過去の画素値に対する重み付けを変化させる手法等を採用してもよい。
フィルタ部114は、物体領域に含まれる注目画素の周辺に位置する周辺画素の画素値に基づいて注目画素の画素値を補正する空間フィルタ処理を行う。空間フィルタ処理は、係数設定部115により設定されたフィルタ係数に基づいて行われる。フィルタ部114は、例えば、時系列補正処理後に、注目画素の光量値に応じて周辺画素の影響度(重み付け)を変えた空間フィルタ処理を行う。空間フィルタ処理は、例えば、光量値から標準偏差値を算出したバイラテラルフィルタ処理であってもよい。このとき、標準偏差値を変更することで、光量値が小さいときには強い補正(周辺画素の影響が大きい補正)を行い、光量値が大きいときには弱い補正(周辺画素の影響が小さい補正)を行うことが好ましい。
係数設定部115は、注目画素の画素値に基づいてフィルタ係数を設定する。係数設定部115は、例えば、注目画素の光量値が小さいほど周辺画素の影響が大きくなるように、且つ注目画素の光量値が大きいほど周辺画素の影響が小さくなるようにフィルタ係数を設定する。
上記構成によれば、過去の画素値の有効性を考慮して時系列補正処理が行われるため、距離の測定精度を向上させることができる。また、物体領域内の画素についてのみ補正処理が行われるため、処理負荷を軽減させることができる。また、注目画素の画素値に応じて空間フィルタ処理の特性が調整されるため、測定精度を向上させることができる。
図5は、実施形態に係る距離情報生成装置1における全体的な処理の一例を示すフローチャートである。画像生成部101が画像(距離画像及び光量画像)を生成すると、グルーピング部111は当該画像において物体毎にグルーピング(クラスタリング処理等)を行い、各物体に対応する物体領域を設定する(S101)。
物体領域を設定した後、全ての物体領域を対象として補正処理が開始され、当該補正処理が全ての物体領域について終了するまで繰り返される(S102:ループ3)。ループ3内において、注目している物体領域内の全ての画素を対象として補正処理が開始され、当該補正処理が全ての画素について終了するまで繰り返される(S103:ループ1)。ループ1内において、1つの注目画素について、時系列補正処理が定められた終了回数に達するまで繰り返される(S104:ループ2)。終了回数とは、時系列補正処理において過去の画素値をいくつ使用するかを示す値である。
ループ2内において、注目画素における過去の画素値は有効か否かを判定する処理(有効性判定処理)が行われる(S105)。過去の画素値が有効と判定された場合(S105:Yes)、当該過去の画素値を用いて注目画素の現在の画素値を補正する時系列補正処理が実行される(S106)。一方、過去の画素値が有効でない(無効である)と判定された場合(S105:No)、当該過去の画素値は時系列補正処理に使用されない。
上記のような処理が全ての注目画素に対して行われた後、注目している物体領域内の全ての画素を対象として空間フィルタ処理が開始され、当該空間フィルタ処理が全ての画素について終了するまで繰り返される(S107:ループ4)。ループ4内において、注目画素の画素値に基づいて注目画素毎にフィルタ係数を設定するフィルタ係数設定処理が行われる(S108)。その後、設定されたフィルタ係数に基づいて、注目画素に対して空間フィルタ処理が実行される(S109)。
上記のような処理が全て物体領域について終了したのち、補正後の画像が距離情報として所定のシステムに出力される。
図6は、実施形態に係る光量画像501において物体領域511,512を設定した状態の一例を示す図である。図6において、光量画像501内に2つの物体領域511,512が設定された状態が例示されている。なお、ここでは矩形の物体領域511,512が例示されているが、物体領域の形状はこれに限られるものではなく、例えば実際の物体の輪郭に沿った形状等であってもよい。また、ここでは光量画像501が例示されているが、距離画像においても同様に物体領域が設定される。
図7は、実施形態に係る有効性判定処理の一例を示すフローチャートである。有効性判定部112は、注目画素の現在及び過去の光量値を取得し(S201)、両光量値の差が閾値以下であるか否かを判定する(S202)。両光量値の差が閾値以下である場合(S202:Yes)、有効性判定部112は、注目画素の現在及び過去の距離値を取得し(S203)、両距離値の差が閾値以下であるか否かを判定する(S204)。そして、有効性判定部112は、両距離値の差が閾値以下である場合(S204:Yes)、注目画素の過去の画素値は有効であると判定する(S205)。有効と判定された過去の画素値は、現在の画素値を補正するための時系列補正に使用される。
一方、両光量値の差が閾値以下でない場合(S202:No)又は両距離値の差が閾値以下でない場合(S204:No)には、有効性判定部112は、注目画素の過去の画素値は無効であると判定する(S206)。無効と判定された過去の画素値は、時系列補正処理に使用されない。
図8は、実施形態に係る光量画像において過去の光量値の有効性を判定する際の状態の一例を示す図である。図8において、現在の光量画像501と、現在の光量画像501より以前に生成された第1の過去の光量画像501Aと、第1の過去の光量画像501Aより以前に生成された第2の過去の光量画像501Bとが例示されている。
ここでは、現在の光量画像501内の注目画素521の光量値が「255」であり、第1の過去の光量画像501A内の注目画素521Aの光量値が「200」であり、第2の過去の光量画像501B内の注目画素521Bの光量値が「100」である場合が例示されている。この場合、現在の注目画素521の光量値「255」と第1の過去の注目画素521Aの光量値「200」との差は「55」となる。また、現在の注目画素521の光量値「255」と第2の過去の注目画素521Bの光量値「100」との差は「155」となる。このとき、有効性判定処理における閾値を例えば「100」とすると、第1の過去の注目画素521Aの光量値「200」は、上記差が「55」であるため、図8におけるステップS202において「Yes」と判定される。一方、第2の過去の注目画素521Bの光量値「55」は、上記差が「155」であるため、図8におけるステップs202において「No」と判定される。
図9は、実施形態に係る距離画像において過去の距離値の有効性を判定する際の状態の一例を示す図である。図9において、現在の距離画像601と、現在の距離画像601より以前に生成された第1の過去の距離画像601Aと、第1の過去の距離画像601Aより以前に生成された第2の過去の距離画像601Bとが例示されている。
ここでは、現在の距離画像601内の注目画素621の距離値が「50」であり、第1の過去の距離画像601A内の注目画素621Aの距離値が「40」であり、第2の過去の距離画像601B内の注目画素621Bの距離値が「20」である場合が例示されている。この場合、現在の注目画素621の距離値「50」と第1の過去の注目画素621Aの距離値「40」との差は「10」となる。また、現在の注目画素621の距離値「50」と第2の過去の注目画素621Bの距離値「20」との差は「30」となる。このとき、有効性判定処理における閾値を例えば「20」とすると、第1の過去の注目画素621Aの距離値「40」は、上記差が「10」であるため、図8におけるステップS204において「Yes」と判定される。一方、第2の過去の注目画素621Bの距離値「20」は、上記差が「30」であるため、図8におけるステップS204において「No」と判定される。
図10は、実施形態に係るフィルタ係数設定処理の一例を示すフローチャートである。係数設定部115は、先ず、注目画素の時系列補正処理後の光量値を取得する(S301)。その後、係数設定部115は、取得した光量値が小さいほど周辺画素の影響が大きくなるようにフィルタ係数を設定する(S302)。
図11は、実施形態に係るフィルタ係数設定処理を実行する際の状態の一例を示す図である。図11において、光量画像501の物体領域511内に存在する2つの注目画素521,522が例示されている。ここでは、時系列補正後における第1の注目画素521の光量値が「230」、第2の注目画素522の光量値が「20」となっている。このような場合、第1の注目画素521に対するフィルタ係数は、空間フィルタの強度が比較的弱くなるように(周辺画素の画素値の影響が比較的小さくなるように)設定される。一方、第2の注目画素522に対するフィルタ係数は、空間フィルタの強度が比較的強くなるように(周辺画素の画素値の影響が比較的大きくなるように)設定される。
図12は、実施形態に係る空間フィルタ処理を実行する際の状態の一例を示す図である。図12において、距離画像601の物体領域611内に存在する2つの注目画素621,622が例示されている。距離画像601におけるこれらの注目画素621,622は、図11に示す光量画像501における注目画素521,522にそれぞれ対応している。ここでは、時系列補正後における第1の注目画素621の距離値が「45」、第2の注目画素622の距離値が「30」となっている。第1の注目画素621に対しては、比較的弱い強度の(周辺画素の距離値の影響が比較的小さい)空間フィルタ処理が実行される。第2の注目画素622に対しては、比較的強い強度の(周辺画素の距離値の影響が比較的大きい)空間フィルタ処理が実行される。
以上のように、本実施形態に係る距離情報生成装置1によれば、過去の画素値の有効性を考慮して時系列補正処理が行われるため、距離の測定精度を向上させることが可能となる。また、物体領域内の画素についてのみ補正処理が行われるため、処理負荷を軽減させることが可能となる。また、注目画素の画素値に応じて空間フィルタ処理の特性が調整されるため、測定精度を向上させることが可能となる。
なお、上記実施形態においては、時系列処理後のデータに対して空間フィルタ処理を実行する構成を例示したが、空間フィルタ処理は必ずしも実行されなければならないものではない。
以上、本発明の実施形態を例示したが、上記実施形態および変形例はあくまで一例であって、発明の範囲を限定することは意図していない。上記実施形態や変形例は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、組み合わせ、変更を行うことができる。また、各実施形態や各変形例の構成や形状は、部分的に入れ替えて実施することも可能である。