以下、図面を参照して、本発明の実施形態を詳細に説明する。なお、図面の説明において同一の要素には同一の符号を付し、重複する説明を省略する。また、図面の寸法比率は、説明の都合上誇張されており、実際の比率とは異なる場合がある。また、以下の説明において、路面とは、道路上に限定するものではない。たとえば、道路以外の駐車場、荷捌き場、さらには遊歩道、広場、公園などの車や人の通行する場所、そのほかの特定の用途に限定されない地面などを含む。
図1は、本実施形態の路面状態検出システムを示すブロック図である。
路面状態検出システム1は、ライダー10と、サーマルカメラ20と、制御部30と、出力部40とを有する。以下各部について説明する。
ライダー10(LiDAR:Light Detection And Ranging)は、レーザーレーダーとも称されている。ライダー10の基本動作は、監視対象となる領域の空間に向けてレーザー光を出射して、その反射光が返ってくるまでの時間から領域内に存在する物体までの距離を計測する。得られた距離は、ライダー10の設置位置から物体までの距離(以下、距離値という)であり、その集合となる点群データによって物体の大きさや形状などがわかる。ライダー10はレーザー光を走査しつつ出射し、その反射光から得られる1フレーム分の距離値の分布からなる画像を得ることができる。このような画像を距離画像と称し(ライダー画像とも称されている)、一つひとつの距離値が距離画像の中の画素ということになる。このような距離画像は3次元座標系を有しており、物体の位置が3次元座標系における座標値として得られる。
なお、本実施形態では、後述する信号処理部が1パルスのレーザー光に対する反射光の信号をリアルタイムで処理する。信号処理部は、1パルスのレーザー光の垂直および水平方向の出射角度と共に、そのときの反射光の受光信号から得られる距離値と信号強度を制御部30へ出力する。そして、制御部30が1フレーム分の3次元座標系の距離画像を作成する。
このような動作をするライダー10においては、路面方向にレーザー光を出射すると、そこからの反射光は様々な形態を示す。たとえば、路面が凍結している場合は、路面へ向けられたレーザー光が凍結部分で全反射してしまいライダー10の方へ返ってこない。また、雪が積もると、乾燥した路面からの反射よりも信号強度(後述)が高くなる。本実施形態では、後述するサーマルカメラ20からの温度情報と共に、このようなライダー10における反射光の違いを用いて路面状態を判定している。
ライダー10の構成を説明する。図2は、ライダーの構成を示すブロック図である。
ライダー10は、信号処理部100と、駆動回路101と、発光素子102と、光学部品103と、窓材104と、受光素子105と、IV変換回路106と、増幅回路107と、ハイパスフィルター(HPF(High Pass Filter))108と、コンパレーター109と、デジタル−アナログコンバーター(DAC(Digital to Analog Converter))110と、を備える。
発光素子102(発信素子)はレーザーダイオード(LD(Laser Diode))を用いている。信号処理部100の制御に従い駆動回路101が発光素子102に駆動電流を印加し、発光素子102がパルス発光して信号を発信する。発光素子102が発信した信号は、レンズ、走査ミラー等の光学部品103を経て、さらに窓材104を介して外部に出射される。
受光素子105(受信素子)はアバランシェ・フォト・ダイオード(APD(Avalanche Photodiode))を用いている。受光素子105は、発光素子102から外部へ照射されて、物体に反射したレーザー光が、窓材104を透過し、レンズ、走査ミラー等の光学部品103を経て入射する。
受光素子105は、入射した光の強度に応じて電気信号に変換して出力する。受光素子105が出力する信号は、IV(電流−電圧)変換回路で電圧信号に変換され、増幅回路107で増幅され、外乱となる低周波成分を除去するHPF108を通って、コンパレーター109に入力される。
コンパレーター109は、入力された信号をコンパレーター閾値により分離する。コンパレーター閾値はDAC110から供給される。このコンパレーター閾値は、受光した反射光を矩形波の受光信号とするためであり、ここではコンパレーター閾値以上の信号成分はカットして、矩形波に成形して出力する。
信号処理部100は、一定のタイミングで駆動回路101に対しレーザー光の出射を指令し、レーザー光の出射時刻と反射光を受光したときの時刻、および光の速度から、物体までの距離値を算出する。このような距離算出をタイムオブフライト(ToF(Time of Flight))方式という。
レーザー光の垂直および水平方向の出射角度は、あらかじめ決められている。たとえば、走査ミラーとして多面体のポリゴンミラーを使用する場合、各ミラーの設置角度からレーザー光の垂直方向の出射角度がわかり、ポリゴンミラーの回転角度からレーザー光の水平方向の出射角度がわかる。信号処理部100は、このようなレーザー光を出射したときの各パルスの垂直および水平角度もパルス毎に制御部30へ出力している。
また、信号処理部100は、コンパレーター109からの信号をデジタルデータ(たとえば8ビットデータ)に変換する(二値化)。変換後の信号は、反射光の受光信号となるデジタルデータであり、制御部30へ出力される。
このような信号処理部100は、たとえばFPGA(Field−Programmable Gate Array)などの集積回路が用いられる。FPGAは、周知のとおり、あらかじめ処理に必要なプログラムが組み込まれた一種のコンピューターであり、所定の処理を高速で実行する。
なお、本実施形態では、信号処理部100から、デジタルデータとして受光信号を制御部30へ出力しているが、これはデジタル処理のためであり、このような信号形態に限定されない。たとえば、ライダーからは、受光素子が受光した反射光のレベルに応じたアナログの信号を制御部30へ出力させて、制御部において処理してもよい。
サーマルカメラ20は、赤外線カメラなどとも称されており、撮影する領域から放射されている赤外線によって、その領域の温度分布に応じた2次元画像を出力する。サーマルカメラ20の撮影範囲は、少なくとも路面状態を判定する領域を含み、かつ、ライダー10の走査領域とも重なっている。このサーマルカメラ20は、路面の凍結や積雪の状態を検出するためにライダー10と共に使用されるため、検出温度範囲は、少なくとも水が氷結する温度である0℃を含む。また、凍結防止剤の散布状態を検出するためには、さらに−10〜0℃の範囲を含むことが好ましく、さらに寒冷地などの仕向け先の温度を考慮した場合−30〜0℃を含むことが好ましい。
図3は、制御部の構成を示すブロック図である。
制御部30はコンピューターである。制御部30は、CPU(Central Processing Unit)301、ROM(Read Only Memory)302、RAM(Random Access Memory)303、HDD(Hard Disk Drive)304などを有する。CPU301は、HDDから処理内容に応じたプログラムを呼び出して、ライダー10およびサーマルカメラ20からの情報から、路面状態を判定し、その結果を出力部40に出力する。
HDD304はRAM303と共に記憶部となり、各処理に必要なプログラムやデータ、後述する路面の判定結果などを記憶する。なお、図1ではHDD304を用いているが、HDD304に代えて、たとえばフラッシュメモリーなどの不揮発性の半導体メモリーを使用してもよい。
また、制御部30は、タッチパネル、ボタン、マウスなどの入力装置305を備えている。また、制御部30は、たとえばサーバー等の外部機器を接続するためのネットワークインターフェース306(NIF:Network Interface)を備えている。路面状態検出システム1は、このネットワークインターフェース306を介して、出力部40へ路面状態の検出結果を出力する。
出力部40は、たとえばディスプレイであり、また、ネットワークインターフェース306を介して接続された外部のネットワークで接続された道路管理センターであり、さらに、接点/シリアル通信/ネットワーク経由などで接続された標識や、道路情報表示板、または警報灯、警告灯などである。出力部40は、制御部30からの路面状態の判定結果、警報や警告、さらにそのほかの情報の表示などを行う。
なお、制御部30は、必要に応じて、たとえば背景差分法などを用いて物体検出を行う。背景差分法による物体検出を行う場合、背景情報は、たとえば、検出する物体のない状態でライダー10が走査した距離画像などである。このような背景情報となる距離画像は背景画像と称し、ライダー設置位置から背景となる物体(路面なども含む)までの3次元座標系の座標値を含む。
背景差分法は、背景情報として記憶されている座標値の情報と、現時点でライダー10から取得した座標値とを比較し、背景情報にはない座標値が現時点であった場合に、物体があると検出する。なお、本実施形態においてはこのような物体検出機能はなくてもよいが、後述するように、背景差分法は路面状態を判定する際に、その位置情報を得るために用いている。
路面状態検出の動作について説明する。
本実施形態では、ライダー10およびサーマルカメラ20を固定設置する。たとえば、道路(路面)を斜め上方から見下ろす(俯瞰する)位置に設置する。ライダー10とサーマルカメラ20の設置位置は異なっていてもよいが、ライダー10の走査領域とサーマルカメラ20の撮影領域が重なる領域において路面状態の検出を行う。
ライダー10およびサーマルカメラ20を設置後、この路面状態検出システム1は、初期設定として、ライダー10による背景画像の登録(記憶)と、ライダー10の距離画像とサーマルカメラ20の赤外線画像との座標合わせを行う。
図4は、ライダー10の距離画像の例を説明するための画像例図である。図示するように、ライダー10の距離画像は、既に説明したように、ライダー設置位置から物体までの距離値の集合である。このため、路面ro上の位置が座標としてわかる。本実施形態では凍結部位などがあればそれらの位置(座標値)がわかる。この距離画像では、水平横方向をX軸、垂直方向をY軸、水平奥行き方向をZ軸とする3次元直交座標系とした。なお、直交座標系に限定されず、極座標系を用いてもよい。
初期設定では、ライダー10によるこのような距離画像を、乾燥路面を走査することで取得し、これを背景画像としてHDD304に記憶する。この背景画像は、後述する凍結判定のときの位置の特定に使用する。また、背景画像を登録する際は、合わせて画像内での路面の位置(範囲)を示す座標値を指定して、一緒に登録しておく(詳細後述)。これにより路面上を限定して、路面状態を判定することができる。なお、背景画像の取得と、その登録はライダー10を設置時に行うが、乾燥路面であっても、経時変化があったり、そのほかの物体が配置されるなどして変わることもあるので、定期的に取得し直すことが好ましい。
図5は、サーマルカメラ20の赤外線画像の例を説明するための画像例図である。サーマルカメラ20の赤外線画像は、そのままでは画像内における3次元的な位置はわからない。そこで、赤外線画像内で位置がわかるマップを作成して割り当る。マップの作成は、たとえば、サーマルカメラ20の撮影範囲内に、サーマルカメラ設置位置からの距離がわかるように、赤外線を発する目印を置いて、サーマルカメラ20で撮影する。目印は複数設置してもよいし、1つ(または複数)の目印を移動させつつ何度かに分けて撮影してもよい。赤外線を発する目印とは、たとえば、赤外線LEDである。また、人も赤外線を発する目印となる。そのほか赤外線を発するものであればどのようなものでもよい。撮影後の赤外線画像に写っている目印を赤外線画像に割り当てればマップとなる(目印のない部分はその間を適宜補完する)。このようなマップを割り当てた赤外線画像例が図5である。なお、図5においては、画像の中心を通る線をX軸(左右方向)の0mとしている。赤外線画像では2次元座標系のため、ここではZ軸が奥行き方向を示している(ここでは、ライダー10の3次元座標系における軸方向と同じとなるように、赤外線画像の2次元直交座標系を、水平方向をX軸、奥行き方向をZ軸とした)。
このような初期設定後、路面状態の検出を行う。
図6および7は、路面状態を検出する処理手順を示すメインルーチンフローチャートであり、図8は、この処理手順の中の凍結防止剤散布判定(S40)のサブルーチンフローチャートである。この処理手順は制御部30が実行する。
まず、制御部30は、サーマルカメラ20からの赤外線画像を取得して、RAM303などに記憶する(S11)。なお、以下の説明において、記憶とは、様々なデータを記憶する処理であり、たとえば高速処理が必要なデータはRAM303に記憶し、不揮発記憶とする場合は、いったんRAM303に記憶してからHDD304に記憶する。このような記憶の処理は通常のコンピューターの処理である。
続いて、制御部30は、ライダー10からの信号を取得し、座標値を算出して、信号強度と共に記憶する(S12)。ライダー10からの信号には、1パルスのレーザー光に対する反射光から得られた距離値、レーザー光の出射角度(垂直および水平、以下同様)、および信号強度が含まれている。制御部30は、距離値、レーザー光の出射角度から座標値を算出する。また、信号強度は座標値と共に記憶する。なお、信号強度が低すぎて距離値が得られていない場合は、座標値を算出できないので、その部分は距離値不明で信号強度のみ記憶しておく。
続いて、制御部30は、ライダー10からの信号を1フレーム分取得したか否かを判断する(S13)。ここで、1フレーム分に達していれなければ(S13:NO)、1フレーム分に達するまでS12に戻り信号取得を続ける。一方、1フレーム分に達したなら、制御部30は1フレーム分の距離画像を作成する(S14)。制御部30は、作成した1フレーム分の距離画像を記憶する。なお、距離画像は、HDD304に、一定時間間隔、たとえば、数分〜数時間、さらには数日分など記憶(蓄積)しておいて、後から見られるようにしてもよい。その場合はS11で取得した赤外線画像も同様に記憶するとよい。
続いて、制御部30は、距離画像の中に信号強度が第1閾値未満の部分(画素)があるか否かを判断する(S15)。第1閾値の詳細は後述するが、凍結状態を判定するための判定閾値の1つである。第1閾値は、たとえば反射光が返ってこないときの値(すなわち信号強度0)としてもよいし、実験により凍結路面を複数回計測して得られた反射光の信号強度の値としてもよい。なお、本実施形態ではレーザー光の反射光が返ってこないほどの遠方は、距離画像の範囲外となっている。しかし仮に、距離画像内に反射光が返ってこない遠方を含む場合には、このS14では、そのような遠方を除外した範囲で信号強度(後述)が第1閾値未満の部分があるか否かを判断すればよい。
このS15においては、レーザー光1パルス分、すなわち距離画像内の1画素だけが第1閾値未満となっている場合にS15:YESとしてもよい。しかし、通常、凍結や積雪の路面は、1画素分のような狭い範囲ではない。そこで、距離画像内において隣接する複数画素が第1閾値未満となっている場合に、S15:YESとすることが好ましい。このS15:YESとするときの画素数は、特に限定されないが、たとえば、ライダーの検出誤差を考慮すると、最大1%の誤差があるとすれば、1フレーム当たり、数千パルス出射するので、10〜100パルスに相当する画素数が隣接している場合に、S15:YESとすることが好ましい。
ここで信号強度が第1閾値未満の部分(画素)がない場合は(S15:NO)、S21へ進む(後述)。信号強度が第1閾値未満の部分(画素)がある場合は(S15:YES)、続いて、制御部30は、信号強度が第1閾値未満となっている部分(画素)の位置を背景差分法により特定し、その位置を記憶する(S16)。
ここで、信号強度が第1閾値未満となっている部分(画素)の位置(座標値)の特定について説明する。
図9は、信号強度が第1閾値未満の部分(画素)が存在する距離画像の例を説明するための画像例図である。
図9の例では、1フレーム内に、反射光のない部分(無信号部分ns)が存在する。無信号部分nsは、距離値が得られていない。したがって、このままでは無信号部分nsの位置(三次元座標系の座標値)は特定できない。そこで、本実施形態では、既に説明した背景差分法を応用して無信号部分nsの位置(三次元座標系の座標値)を特定する。ここでは乾燥した路面状態のときにライダー10で走査し、得られた距離画像を背景画像として記憶しておく。そして、無信号部分nsが存在する距離画像と背景画像とを比較する。そうすると現時点での距離画像内の無信号部分nsに対応する背景画像では距離値(すなわち座標値)が存在する。したがって、背景画像内の無信号部分nsに対応する座標値がすなわち、無信号部分nsの座標値ということになる。そして、無信号部分nsに対応する座標値がわかれば、背景画像を登録したときに一緒に登録した路面roの位置と対比することで、路面roに相当する画素であるかもわかる。
なお、距離画像の全面において信号強度が第1閾値未満となっている場合もある。つまり、ライダー10の走査領域全面から反射光が得られない場合である。このような場合には、当然に、信号強度が第1閾値未満となっている部分の位置とは、走査領域全面ということになる。
フローチャートに戻り説明を続ける。
続いて、制御部30は、信号強度が第1閾値未満の部分(画素)が路面roに相当する画素であれば(S17:YES)以降の処理を行い、信号強度が第1閾値未満の部分(画素)が路面roに相当する画素でなければ(S17:NO)、S11へ戻り以降の処理を継続する。
続いて、制御部30は、S16で得られた位置(信号強度が第1閾値未満となっている部分の位置)を基に赤外線画像のマップを検索し、その部分の温度を調べる(S18)。
続いて、制御部30は、調べた温度が0℃以下か否かを判断する(S19)。この処理は凍結状態か否かを判断するための処理であり、ここでは判定温度を0℃として判断した。しかし、この判定温度は0℃に限定されない。たとえば、サーマルカメラ20の測定誤差(測定精度)を考慮して、測定誤差5℃の場合は、判定温度を−5℃としてもよい。逆に、部分的に凍結している可能性を考慮して5℃としてもよい。プラスの温度であっても、5℃程度は、サーマルカメラ20の誤差を考慮すると、反射光がない部分は凍結している可能性がある。
ここで、調べた温度が0℃以下でなければ(S19:NO)、S11へ戻り、以降の処理を継続する。調べた温度が0℃以下であれば(S19:YES)、制御部30は、信号強度が第1閾値未満の部分が凍結状態である判定し、判定結果を、その位置と共に記憶する(S20)。この判定結果は出力部40のディスプレイなどに出力される。また、ネットワークインターフェースを介して、たとえば道路管理センターへ通知することや、近隣の標識や、道路上の電光表示パネルなどに表示したり、警報、警告などを出したりしてもよい(以下他の判定結果が出た場合も同様である)。その後は、S11へ戻り、以降の処理を継続する。
次に図7を参照して、S21以降の処理(S15:NOの場合)を説明する。
制御部30は、距離画像の中に信号強度が第2閾値以上の部分がないか否かを判断する(S21)。第2閾値の詳細は後述するが、積雪状態を判定するための判定閾値の1つである。第2閾値は、たとえば乾燥した路面などからの反射光の信号強度よりも高い値とする。つまり第1閾値よりも高い。このような値は、実験により乾燥した路面などを複数回計測して得られた反射光の信号強度より高い値を設定する。ここでもS15同様に、複数画素(複数のパルスに対応)において信号強度が第2閾値以上の部分があればS21:YESとする。ここで信号強度が第2閾値以上の部分がない場合は、後述する凍結防止剤散布判定(S40)へ進む。
S21において信号強度が第2閾値以上の部分がある場合(S21:YES)は、続いて、制御部30は、信号強度が第2閾値以上となっている部分(画素)の位置(座標値)を特定して記憶する(S22)。信号強度が第2閾値以上ということは距離値が得られている。このため、その位置(画素)が路面roに相当する画素であるかもわかる。
続いて、制御部30は、信号強度が第2閾値以上の部分(画素)が路面roに相当する画素であれば(S23:YES)以降の処理を行い、信号強度が第2閾値以上の部分(画素)が路面roに相当する画素でなければ(S23:NO)、S40へ移行する。
続いて、制御部30は、S22の位置を基に、赤外線画像のマップを検索して、その位置の温度を調べる(S24)。
続いて、制御部30は、調べた温度が判定温度である0℃以下か否かを判断する(S25)。ここで、調べた温度が0℃以下でなければ(S25:NO)、S11へ戻る。この判定温度は、S19で用いた判定温度と同一である。一方、調べた温度が0℃以下であれば(S25:YES)、制御部30は、積雪状態であると判定し、その結果を位置と共に記憶する(S26)。その後は、S11へ戻り、以降の処理を継続する。
次に、図8を参照して、凍結防止剤散布判定の処理手順を説明する。凍結防止剤散布判定の処理は、凍結または積雪状態と判定された後に実施される。以下ではこれらの判定後の部分を既判定部分という。
凍結防止剤は、融氷剤、融雪剤などとも称されており、凍結防止剤が凍結面や積雪面などに散布されることで、氷や雪が溶ける。このとき、溶けた部分の温度が急速に下がる。このサブルーチンでは、急速に温度が下がる現象を捉えることで、凍結防止剤が散布されたか否かを判定する。
まず、続いて、制御部30は、この段階(S41)に入った時点で距離画像の中にある既判定部分(画素)において、信号強度が第3閾値(後述)以上になっているか否かを判断する(S41)。第3閾値は判定閾値の一つであり、凍結防止剤の散布状態を判定するための閾値である。ここで既判定部分の画素において信号強度が第3閾値以上でなければ(S41:NO)、メインルーチンへ戻る。
一方、既判定部分の位置において信号強度が第3閾値以上であれば(S41:YES)、制御部30は、所定時間経過毎に既判定部分の温度低下量と、基準点の温度低下量を求める(S42)。基準点の温度は、路面温度と対比するために使用する。既に説明したとおり、凍結防止剤の散布状態は急速な温度低下を検出することで判断している。しかし、既判定部分の温度をモニターしているだけでは、凍結防止剤が散布されたことで温度低下したのか、そのほかの要因、たとえば気温の変化で温度低下したのか判別できない。そこで、本実施形態では、凍結防止剤が散布されない部分の温度と既判定部分の温度を対比することとした。この対照となる、凍結防止剤が散布されない部分の温度を基準点の温度とする。
基準点は、凍結防止剤が散布されない部分の温度を測定できる位置に設定する。たとえば、通常、路面(道路)以外の部分には凍結防止剤は散布されないので、赤外線画像内における路面(道路)以外の部分を指定するとよい。また、赤外線画像の撮影範囲すべてに凍結防止剤が散布される可能性がある場合、たとえば、駐車場や、公園、広場などが監視対象の場合である。このような場合は、赤外線画像の撮影範囲内に気温センサーを設けて気温センサーの温度を基準点の温度としてもよい。
また、氷や雪は、凍結防止剤が散布されても一瞬で溶けるわけではなく、多少の時間を要する。このため、凍結防止剤によって氷や雪が溶ける時間を待つために所定時間経過毎の温度低下量を求めることとしている。この時間は、凍結防止剤の種類(塩化ナトリウム、塩化カルシウム、および塩化マグネシウム、炭酸カルシウムなど)、形態(固形物か液体かなど)、外気温、撒いた量などによって若干異なることもあるが、散布した凍結防止剤によって氷や雪が溶け始める時間は5〜15分程度である。そこで、所定時間は5〜15分程度、確実に判断するためには15〜30分程度を設定すればよい。
所定時間経過毎に温度低下量を求めるには、このS42に入る毎に、S41で取得した赤外線画像から(または温度センサー)、既判定部分の温度および基準点の温度を求める。そして、このS42に入る毎に求めた温度を所定時間分記憶しておいて、所定時間の経時開始時点と経時終了時点の温度をそれぞれ比較する。これにより所定時間経過による温度差が求められる。本処理手順は、既に説明しているとおり、必ずS11へ戻って、以降の処理を繰り返す処理である。このため、S42の処理は、所定時間の時間幅で温度低下量を求める処理を時間でシフトさせていることになる。なお、最初にこのS42に入ったときは、所定時間が経過していないため、そのままメインルーチンへ戻る。
続いて、制御部30は、所定時間内における、既判定部分の温度低下量が基準点の温度低下量より所定値以上大きいか否かを判断する(S43)。ここでの所定値は両者の温度低下量の差から凍結防止剤が散布されたか否かを判定するための温度低下量の判定値である。この所定値は、たとえば、1℃でもよい、これは、既に説明したように、凍結防止剤が散布された部分では、基準点の温度低下量に比べると急速に温度が低くなる。このため小さな値でも判別可能である。しかし、サーマルカメラの温度の測定誤差を考慮して、誤差5℃であれば、所定値はたとえば5℃を超える温度とすることが好ましい。
そして、既判定部分の温度低下量が基準点の温度低下量より所定値以上大きくなければ(S43:NO)、そのままメインルーチンへリターンする(実質的に処理はS11へ戻ることになる)。
一方、既判定部分の温度低下量が基準点の温度低下量より所定値以上大きければ(S43:YES)。凍結防止剤が散布されたと判定し、その位置と共に判定結果を記憶する(S44)。このとき、既判定結果(凍結および積雪の判定)は解除する。その後はメインルーチンへリターンする(実質的に処理はS11へ戻ることになる)。
なお、本処理手順は繰り返し処理である。このため、S44で凍結防止剤が散布されたと判定された後、S21へ入ることがある。このとき、信号強度が第2閾値より高ければS21:YESとなり、S25:YESとなれば、再び積雪状態と判定される。その後さらにS40のサブルーチンに入って、凍結防止剤が散布され、その効果が持続していれば、基準点の温度低下量よりも既判定部分の温度低下量が多いので、積雪状態の判定は解除されて凍結防止剤散布判定が行われることになる。一方、凍結防止剤の効果がなくなって、積雪が続いているようだと、基準点の温度低下量よりも既判定部分の温度低下量が多いという条件に合わなくなるので、再び行われた積雪状態の判定がそのまま生きることになる。一方、凍結防止剤の散布後、積雪がなければ積雪の嵩が減っているので、そもそも信号強度が第2閾値を超えることはない。なお、凍結防止剤の散布後、再氷結してしまったような場合は、S15〜19の処理によって凍結の判定が行われる。
次に、路面状態と信号強度について説明する。図10は乾燥路面の場合の信号強度について説明する説明図であり、(a)はレーザー光の反射を説明する図、(b)はコンパレーター109に入る前の信号を示すグラフ、(c)はライダー10から出力されるデジタル信号を示すグラフである。
この例では、図10(a)に示すように、ライダー10を、路面600を斜め上方から見下ろす位置に設置している。なお、図示していないが、このようにライダー10を設置する場合、サーマルカメラ20も同位置に設置してライダー10の走査領域と同じ領域を撮影できるようにする。他の路面例(後述図11および図12)においても同様である。
このように乾燥路面では、照射されたレーザー光501は、路面で乱反射し(乱反射光503)、その一部がライダー10の方向へ反射する(反射光502)。
反射光の受光量と時間(レーザー往復時間)を示したのが図10(b)である。図示するように、反射光を受光した信号は、1つのパルスとなっていて、乾燥路面では後述する他の路面状態よりもピークの立った波形となる。
この反射光の信号をコンパレーター109により、コンパレーター109の閾値で切り取ってデジタル化する。コンパレーター109の閾値は、おおむね乾燥路面における受光量(図10(b))の半分の位置に取っている。もちろん、このコンパレーター109の閾値は任意であるが、矩形波を得やすい値とすることが好ましい。このようなコンパレーター109を通すことで、反射光のパルス幅が明確になる。
このデジタル化した後の信号を示したグラフが図10(c)である。本実施形態において、度々説明に出てきた路面状態の判別に使用している信号強度は、このデジタル化後の信号波形におけるパルス幅である。パルス幅は後述するように、路面状態によって変化する。
図11は凍結路面の場合の信号強度について説明する説明図であり、(a)はレーザー光の反射を説明する図、(b)はコンパレーター109に入る前の信号を示すグラフ、(c)はライダー10から出力されるデジタル信号を示すグラフである。
凍結路面では、凍結部分601にレーザー光501が当たると、乱反射光は少なく、ほとんどが正反射してしまう(正反射光504)。このため、ライダー10方向に戻ってくる反射光も極めて少ない。
したがって、図11(b)に示すように、受光した信号はほとんどない。このため、図11(c)に示すように、デジタル化後の信号における信号強度も0である。このように信号強度が低い場合を凍結と判定する。この凍結状態を判断するための基準となる判定閾値が第1閾値である。したがって、第1閾値は、図10(c)に示した乾燥路面の信号強度より低く(パルス幅を狭く)設定する。凍結の場合、反射光はほとんど得られないことが多いので、第1閾値は0に近い値としてもよい。しかし、凍結といっても、凍結面の表面状態は様々である。そこで、実験によって、凍結状態を判断できる第1閾値を設定とすることが好ましい。
図12は積雪路面の場合の信号強度について説明する説明図であり、(a)はレーザー光の反射を説明する図、(b)はコンパレーター109に入る前の信号を示すグラフ、(c)はライダー10から出力されるデジタル信号を示すグラフである。
積雪路面では、積雪部分602にレーザー光501が当たると、乱反射光が強くなり、また積雪の表面だけでなく、降り積もった雪の中にまで一部のレーザー光501が入り、積雪の内部(深さ方向)からも反射する(乱反射光506)。そしてそれらの一部がライダー10方向に戻ってくる反射光505となる。
このため、積雪路面では、図12(b)に示すように、受光した信号は、様々な位置から戻ってくるため、往復時間が長くなる。このため、図12(c)に示すように、信号強度(デジタル化後の信号のパルス幅)は乾燥路面と比較して高くなる(パルス幅が広い)。
この信号強度によって積雪状態を判断する基準となる判定閾値が第2閾値である。したがって、第2閾値は、図10(c)に示した乾燥路面の信号強度より高く(パルス幅を広く)設定する。そこで、第1閾値同様に、実験によって、乾燥路面の信号強度より高い(パルス幅が広い)値を第2閾値とすることが好ましい。
次に、凍結防止剤が散布された後の状態は、上述した積雪状態の場合と同様の傾向であるので図示省略するが、信号強度は積雪状態と同様か低くなる場合が多い。これは、積雪の上に凍結防止剤が散布されたら積雪の嵩が減るので、積雪の内部からの乱反射成分が少なくなるためである。また、凍結路面に凍結防止剤が散布された場合は、氷が溶けてザクザクの状態からさらに表面に水分出てくる状態となる。このような状態も積雪の内部から乱反射成分がある場合と比較すれば信号強度は低い。
このようなことから、凍結防止剤の散布状態を判定する第3閾値は、第2閾値と同じ値としてもよいし、異なる値としてもよい。たとえば、実験などにより凍結防止剤が散布された後の路面状態からの信号強度を用いて、第2閾値とは別の第3閾値を決定することが好ましい。
このように路面状態に応じてレーザー光の反射状態が変化する。特に、ライダー10の信号を1つのパルスとして、レーザー光を出射して反射光が戻ってくるまでの時間軸方向のパルス幅が路面状態により変化するので、これを捉えることで、凍結、積雪をそれぞれ判定できる。もちろんこれらの判定は、既に説明したとおり、温度条件も加えて判定する。
なお、本実施形態では凍結と積雪を判定することとしたが、これら以外の判定を行うこともできる。たとえば、路面上の氷や雪が解けると、ザクザク路面になったり、車や人が通ることで圧雪状態になったりする。これらの状態の路面では、レーザー光は上述した凍結や積雪とは、また違った反射をする。そこで、凍結や積雪以外の路面状態において、実験などにより、レーザー光の反射によるパルス幅を測定し、これらを判定する閾値を設けることで、凍結や積雪以外の路面状態を判定することができる。
以上説明した本実施形態によれば、以下の効果を奏する。
本実施形態では、ライダーによるレーザー光の反射光の信号強度(パルス幅)と、サーマルカメラ20が撮影した赤外線画像から得られる温度から路面状態として、乾燥、凍結、および積雪のいずれであるかを判定することとした。このため、ライダー10の走査範囲全体の路面状態を一度に検出することができる。また、これにより、氷点下となっている路面に雨や雪が降って凍結するような、水の凍結過程を捉えることが難しい状況でも路面の凍結を検出できる。また、水の凍結過程を含まない雪が降り積もった積雪状態も確実に検出できる。
また、本実施形態では、凍結または積雪と判定された部分の温度と、比較対象とする基準点の温度とを監視して、時間の経過によって既判定部分の温度低下量が基準点の温度低下量より大きい場合に、凍結防止剤が散布されたものとした。これにより凍結や積雪の状態から、凍結防止剤が散布された状態になったことがわかる。
(変形例)
上述した処理手順においては、1フレーム分の距離画像を作成した後、すぐに路面状態を判定する段階を行っている。しかし、1フレーム分の距離画像だけだと、測定誤差(誤検出)が起こる可能性がある。本変形例は、誤検出を回避する手順を備えたものである。
本変形例は、上述した処理手順のうち、S14の段階に、誤検出を回避するための処理を追加する。このため本変形例はメインルーチン(図6)におけるS14のサブルーチンとなる。図13は、変形例の処理手順として実行される、図6中のS14のサブルーチンフローチャートである。
メインルーチンにおいて、S14に入ると、本変形例では、制御部30は、この時点まででライダー10から取得したデータから1フレーム分の距離画像を作成し、これを記憶する(S51)。
続いて、制御部30は、記憶したフレーム数をカウントする(S52)。
続いて、制御部30は、記憶した、前フレームの距離画像と現在フレームの距離画像と比較して、差のある部分(差分)を検索し、差分があればその差分における距離値の差を求める(S53)。この差分の検索は、既に説明した背景差分法と同様であり、比較対象が前フレームの距離画像と現在フレームの距離画像ということである。このS53では、両フレーム間で差分があれば、その部分の距離値の差(距離値差という)を求める。なお、手順として図示していないが、初めてこの段階に入った場合(たとえばライダー起動直後など)は、前フレームの距離画像は記憶されていないので、そのままS11へ戻る。
続いて、制御部30は、S53の検索の結果、前フレームの距離画像と現在フレームの距離画像に差分があり、その差分における距離値差が所定値以内か否かを判断する(S54)。
このS54は、後述するS55の処理と共に、誤検出の防止や路面変化を見極めるための処理である。たとえばライダー10の走査を1秒当たり10フレーム行うとすれば、路面状態は、連続する2フレーム分の時間で大きく変化するものではない。したがって、連続する2フレーム分の時間で距離値差が大きな部分があれば、どちらかのフレームに異常値のある可能性が高い。なお、異常値とは機器の故障に限らずレーザー光を遮る物体が路面状態を検出している領域に入った場合などにも発生する。
つまり、S54では、このような異常値を持つフレームを所定値により判別する。この所定値は、ライダー10の測定精度にもよるが、たとえば、測定精度1mmであれば、1〜10mm程度とする。もちろんこの所定値はこのような値に限定されない。しかし、あまり小さな値、すなわち前フレームと現在フレームの違いが全くない、とされる値にしてしまうと、徐々に変化している路面状態を捉えることができなくなってしまう。このため異常値検出の観点から、所定値は、上記のとおり測定精度を考慮して、1〜10mm程度とすることが好ましい。そして、この所定値を超えるほど差分の値が大きければ異常あり、すなわち、S54:NOとなる。ここでS54:NOであれば、制御部30は、フレーム数のカウントをリセット(0にする)して、S11へ戻る。
一方、差分における距離値差が所定値内であれば(S54:YES)、続いて、制御部30は、カウントしているフレーム数が所定フレーム数に達したか否かを判断する(S55)。
ここで所定フレーム数は、たとえば、誤検出を防止(または少なく)するためのフレーム数である。誤検出の原因として、たとえば、ライダー10の受光部に反射光以外の光成分が入ったり、物体からの反射光が戻らなかったりすることで起こる(これらを反射光の外乱成分という)。このような反射光の外乱成分は、通常、1フレームや2フレームなど極少ないフレーム数(短時間)で発生する。そこで、誤検出防止のためには、所定フレーム数は、1フレームや2フレーム、多くても10フレーム程度あれば十分である。
また、凍結のし始め(完全に凍結していない状態)や、雪の降り始めなどは検出する必要がないこともある。このような路面状態の変化のし始めを排除する場合は、所定フレーム数として、たとえば、時間にして10分程度のフレーム数となるようにしてもよい。したがって、10分待つための所定フレーム数は10フレーム(=1秒間)×600秒=6000フレームとなる。もちろん、ここで示した所定フレーム数はあくまでも一例であり、さらに多くてもよいし、逆に少なくてもよい。また、凍結のし始め(完全に凍結していない状態)や雪の降り始めなどを検出しようとする場合は、所定フレーム数を上記の誤検出防止のためのフレーム数としてもよいし、または本変形例の処理を行わないようにしてもよい。
S55において、カウントしているフレーム数が所定フレーム数に達していなければ(S55:NO)、S11へ戻り次のフレームを取得するために処理を継続する。
一方、カウントしているフレーム数が所定フレーム数に達したなら(S55:YES)、制御部30は、最後に記憶した距離画像を判定用距離画像に指定する(S56)。その後はメインルーチンへリターンする。
このように本変形例の処理手順では、繰り返し処理によって取得される1フレーム毎に現在のフレームと前のフレームと比較することで、それぞれの距離画像の中の距離値に差分があれば、その差分の値が所定値以内か否かを判定し、この判定を所定フレーム数分繰り返している。これはすなわち、連続する複数のフレームから得られる距離画像を深くし、同一画素における距離値の差分の値の最大値が所定値以内か否かを判定することと同じである。
したがって、上述のように1フレームずつ比較するのではなく、所定フレーム数分の距離画像をいったん記憶し、それら複数の距離画像の中の距離値の差分を一度に検索して、差分の最大値が所定値以内か否かを判定してもよい。
このように、変形例では、複数のフレームにわたる距離画像の中に、異常値がないことを確認したうえで、その後の路面状態判定のための処理へ進むこととしたので、路面状態の判定精度が向上する。
以上本発明を適用した実施形態を説明したが、本発明は、これら実施形態に限定されるものではない。
上述した実施形態(変形例を含む)では、ライダー10から取得した信号から距離画像を作成して処理を行っている。距離画像は、既に説明したとおり、ライダー10が反射光を受光した信号から得られる距離値の集合である。したがって、この距離画像内に凍結状態や積雪状態となった部分があれば、それらの状態の部分が、どこに有るかわかりやすくなる。
しかし、距離画像を用いることなく、制御部30がライダー10から反射光の受光信号を取得し、その反射光が返ってきている位置を求めて、赤外線画像と対比することで、その位置の温度を検索して、路面状態を判定してもよい。反射光が返ってきている位置は、路面からの反射であるので、あらかじめレーザー光の出射方向と角度から求めることができる。
変形例についても同様であり、複数フレームの距離画像を用いることで、従来からある背景差分法を応用することで容易に処理することができる。しかし、この変形例についても、距離画像を求めることなく、直接、ライダー10から、反射光の受光信号を複数回取得して、この複数回取得した受光信号の差が所定値以内である場合に以降の路面判定の処理を行うようにしてもよい。ここで受光信号の差は、たとえば、レーザー光の1つのパルスにおける出射から反射光受光までの時間(すなわち距離値)でもよいし、信号強度でもよい。
また、実施形態の処理手順では、凍結判定(S15〜S20)、積雪判定(S21〜S26)、および凍結防止剤散布判定(S40)をこの順で行うこととして説明したが、これらの各判定の順番は、どの順であってもよい。たとえば、S14の後に積雪判定(S21〜S26)を行うようにし、S21:NOの場合には、凍結判定(S15〜S20)へ移行し、S15:NOでS40に移行するなどの順番としてもよい。
また、凍結判定(S15〜S20)、積雪判定(S21〜S26)、および凍結防止剤散布判定(S40)のいずれか一つの判定処理だけを行ってもよいし、2つの判定処理を組み合わせて行ったりしてもよい。
また、実施形態の処理手順では、凍結防止剤散布判定(S40)内において、凍結または積雪の判定結果が出ている部分について、凍結防止剤が散布されたかどうかの判定を行っている(このためサブルーリンとして説明した)が、凍結防止剤散布判定(S40)は、単独で行うこともできる。この場合、ライダー10からの信号によって得られる距離画像の中に、信号強度が第3閾値以上のとなっている画素があれば、その画素に対応する路面部分の温度低下量を基準点の温度低下量と比較する。比較の結果、信号強度が第3閾値以上のとなっている画素の路面部分の温度低下量が、基準点の温度低下量より大きければ、凍結防止剤が散布されたものとする。このようにすることで、事前に凍結や積雪の状態を判定していなくても、凍結防止剤が散布されたことがわかる。
また、実施形態では、距離画像の中における路面の範囲内の状態を判定することとしているが、たとえば、これはライダー10の走査範囲に路面以外の部分が含まれる場合、路面以外の部分を判定処理から除外することで処理を高速化するためである。しかし、ライダー10の走査範囲全体が路面である場合、たとえば既に説明した路面として、広場や駐車場などにおける地面の状態を判定する場合は、距離画像の中における路面を示す座標値をあらかじめ背景画像と共に登録しておく必要はない。
さらに、本発明は特許請求の範囲に記載された構成に基づき様々な改変が可能であり、それらについても本発明の範疇である。