以下、本開示の実施の形態について図面を参照して例示説明する。各図中、同一符号は、同一又は同等の構成要素を示している。
本明細書では、「煽り運転」として、6種類の具体例を挙げて説明する。「煽り運転」とは、相手車両の運転者が何らかの原因又は目的で、自車両の運転者の運転を煽り、交通の円滑化を妨げる行為である。第1の煽り運転を、「自車両に対して相手車両が車間距離を詰める運転」とする。第2の煽り運転を、「自車両に対して相手車両がクラクションで威嚇する運転」とする。第3の煽り運転を、「自車両の後方で相手車両が蛇行する運転」とする。第4の煽り運転を、「自車両の後方で相手車両がパッシングする運転」とする。第5の煽り運転を、「自車両に対して相手車両が張り付き又は追廻する運転」とする。第6の煽り運転を、「自車両に対して相手車両が幅寄せする運転」とする。
<画像処理装置の構成>
図1を参照して、本実施形態に係る画像処理装置10の構成について説明する。図1は、本実施形態に係る画像処理装置10の構成の一例を示す図である。
図1に示すように、画像処理装置10は、移動体1(例えば、自車両)に搭載され、移動体1の周辺を撮像した周辺映像から他の移動体(例えば、相手車両)の状態を検出する。画像処理装置10は、検出した他の移動体の状態に基づき、移動体1に実行させる挙動を決定する。画像処理装置10は、移動体1に実行させる挙動を指示する情報を移動体1へと出力する。移動体1は、撮像装置1Aの他、例えば、車速センサ、測距センサ、マイク、レーダ、ソナー、及びライダーなど、を更に備える。
移動体1としては、例えば、自動運転機能を備える車両がある。本実施形態において、「自動運転」とは、車両を運転するユーザ操作の一部又は全部を自動化することを含む。例えば、自動運転は、SAE(Society of Automotive Engineers)において定義されるレベル1ないし5を含んでもよい。以下では、移動体1は、SAEで定義されるレベル4以上の全自動運転機能を備えるものとして説明する。
画像処理装置10は、出力部としての通信インターフェース12と、プロセッサ13と、記憶部14と、を備える。移動体1には、画像処理装置10と、入力部としての撮像部11と、を備える撮像装置1Aが搭載される。
撮像部11は、移動体1の周辺を撮像した周辺映像を取得し、取得した周辺映像をプロセッサ13へと出力する。撮像部11は、例えば、移動体1に搭載された車載カメラである。撮像部11は、移動体1に複数台搭載されてもよい。移動体1に4台の車載カメラが搭載される場合、例えば、1台目の車載カメラは、移動体1の前方の周辺領域と、移動体1の前側面の少なくとも一部と、を撮像可能な位置に配置される。例えば、2台目の車載カメラは、移動体1の後方の周辺領域と、移動体1の後側面の少なくとも一部と、を撮像可能な位置に配置される。例えば、3台目の車載カメラは、移動体1の左側方の周辺領域と、移動体1の左側面の少なくとも一部と、を撮像可能な位置に配置される。例えば、4台目の車載カメラは、移動体1の右側方の周辺領域と、移動体1の右側面の少なくとも一部と、を撮像可能な位置に配置される。撮像部11がこのように配置されることにより、撮像部11は、移動体1の四方の周辺領域を撮像することが可能になる。
撮像部11は、少なくとも撮像光学系と、撮像素子とを備える。
撮像光学系は、例えば、1個以上のレンズ及び絞りなどの光学部材を含む。撮像光学系が備えるレンズは、例えば、魚眼レンズなどの画角の広いレンズである。撮像光学系は、被写体像を撮像素子の受光面に結像させる。
撮像素子は、例えば、CCD(Charge Coupled Device)イメージセンサ又はCMOS(Complementary Metal-Oxide Semiconductor)イメージセンサなどを含む。撮像素子の受光面上には、複数の画素が配列されている。撮像素子は、受光面上に結像された被写体像を撮像して撮像画像を生成する。撮像部11は、撮像素子により生成された撮像画像を、有線又は無線を介して、プロセッサ13へと出力する。撮像部11は、移動体1に搭載されたECU(Electronic Control Unit)、ディスプレイ及びナビゲーション装置などの外部装置に撮像画像を出力してもよい。また、撮像部11は、撮像画像に対して、ホワイトバランス調整処理、露出調整処理及びガンマ補正処理などの所定の画像処理を施す機能を有していてもよい。
通信インターフェース12は、有線又は無線を介して、移動体1の各種制御系と通信を行うインターフェースである。通信インターフェース12は、移動体1の走行を制御する制御系、移動体1の走行以外(例えば、ライトの点灯・消灯、ウィンカの点滅、クラクションの鳴動、など)を制御する制御系、などと通信を行う。
記憶部14は、例えば、一次記憶装置又は二次記憶装置などを含む。記憶部14は、画像処理装置10の動作に必要な種々の情報及びプログラムなどを記憶する。
プロセッサ13は、例えば、DSP(Digital Signal Processor)などの専用のプロセッサ、又は、CPU(Central Processing Unit)などの汎用プロセッサを含む。プロセッサ13は、画像処理装置10全体の動作を制御する。例えば、プロセッサ13は、撮像部11が撮像した周辺映像から他の移動体の状態を検出し、検出した他の移動体の状態に基づき、移動体1の挙動を決定する挙動決定処理を行う。プロセッサ13が検出する他の移動体の状態としては、例えば、第1の状態、第2の状態、第3の状態などが挙げられる。
プロセッサ13は、他の移動体の第1の状態として、例えば、移動体1に対して車間距離を詰める状態、移動体1に対してクラクションで威嚇する状態、移動体1の後方で蛇行する状態、移動体1の後方でパッシングする状態、移動体1に対して張り付き又は追廻する状態、移動体1に対して幅寄せする状態、の何れかを検出する。プロセッサ13は、他の移動体の第2の状態として、例えば、第1の状態の継続、第1の状態の繰り返し、の何れかを検出する。プロセッサ13は、他の移動体の第3の状態として、例えば、第1の状態の継続、第1の状態の繰り返し、の何れかを検出する。
プロセッサ13は、通信インターフェース12を介して移動体1の各種制御系にアクセスし、移動体1の挙動を決定する。プロセッサ13が決定する移動体1の挙動としては、例えば、第1の挙動、第2の挙動、第3の挙動などが挙げられる。
プロセッサ13は、移動体1の第1の挙動として、例えば、法定速度での走行継続、車線変更、他の移動体に対する注意喚起のためのクラクションの鳴動、最寄のコンビニエンスストアへの退避、最寄のサービスエリア或いはパーキングエリアへの退避、の何れかを決定する。例えば、プロセッサ13は、移動体1の走行を制御する制御系にアクセスし、法定速度での走行継続、車線変更、最寄のコンビニエンスストアへの退避、最寄のサービスエリア或いはパーキングエリアへの退避、など移動体1における第1の挙動を決定する。例えば、プロセッサ13は、移動体1の走行以外を制御する制御系にアクセスし、他の移動体に対する注意喚起のためのクラクションの鳴動、など移動体1における第1の挙動を決定する。
プロセッサ13は、移動体1の第2の挙動として、例えば、警察への通報、停止、減速、最寄のコンビニエンスストアへの退避、最寄のサービスエリア或いはパーキングエリアへの退避、ドライブレコーダへの記録、周辺映像を所定のネットワークにアップロードする、他の移動体が危険運転を行っているという表示、の何れかを決定する。第2の挙動とは、移動体1が第1の挙動を行った後もなお、他の移動体によって第1の状態が継続或いは第1の状態が繰り返される際に、移動体1が行う挙動であり、「危険回避の挙動」ともいう。
例えば、プロセッサ13は、移動体1の走行を制御する制御系にアクセスし、停止、減速、最寄のコンビニエンスストアへの退避、最寄のサービスエリア或いはパーキングエリアへの退避、など移動体1における第2の挙動を決定する。例えば、プロセッサ13は、移動体1の走行以外を制御する制御系にアクセスし、ドライブレコーダへの記録、他の移動体が危険運転を行っているという表示、など移動体1における第2の挙動を決定する。
プロセッサ13は、移動体1の第3の挙動として、例えば、警察への通報、停止、最寄のコンビニエンスストアへの退避、最寄のサービスエリア或いはパーキングエリアへの退避、停止後のドアロック、の何れかを決定する。第3の挙動とは、移動体1が第2の挙動を行った後もなお、他の移動体によって第1の状態が継続或いは第1の状態が繰り返される際に、移動体1が行う挙動であり、「緊急避難の挙動」ともいう。
例えば、プロセッサ13は、移動体1の走行を制御する制御系にアクセスし、停止、最寄のコンビニエンスストアへの退避、最寄のサービスエリア或いはパーキングエリアへの退避、など移動体1における第3の挙動を決定する。例えば、プロセッサ13は、移動体1の走行以外を制御する制御系にアクセスし、停止後のドアロック、など移動体1における第3の挙動を決定する。
プロセッサ13は、挙動決定処理として、以下の動作を行う。プロセッサ13は、撮像部11が撮像した周辺映像から他の移動体の状態を検出し、検出した他の移動体の第1の状態に基づき、移動体1の第1の挙動を決定する。プロセッサ13は、決定した第1の挙動を指示する情報を通信インターフェース12を介して移動体1の制御系に出力する。
例えば、プロセッサ13は、移動体1の第1の挙動を決定し、法定速度での走行継続、車線変更、他の移動体に対する注意喚起のためのクラクションの鳴動、最寄のコンビニエンスストアへの退避、最寄のサービスエリア或いはパーキングエリアへの退避、などを指示する情報を、通信インターフェース12を介して移動体1に出力し、移動体1にこれらの動作を実行させる。
また、プロセッサ13は、移動体1による第1の挙動後に、撮像部11が撮像した周辺映像から他の移動体の状態を検出し、検出した他の移動体の第2の状態に基づき、他の移動体が危険運転を行っていると判定した場合、移動体1の第2の挙動を決定する。プロセッサ13は、決定した第2の挙動を指示する情報を通信インターフェース12を介して移動体1の制御系に出力する。
例えば、プロセッサ13は、移動体1の第2の挙動を決定し、警察への通報、停止、減速、最寄のコンビニエンスストアへの退避、最寄のサービスエリア或いはパーキングエリアへの退避、ドライブレコーダへの記録、周辺映像を所定のネットワークにアップロードする、他の移動体が危険運転を行っているという表示、などを指示する情報を、通信インターフェース12を介して移動体1に出力し、移動体1にこれらの動作を実行させる。
即ち、プロセッサ13は、移動体1の第1の挙動に対してもなお、他の移動体が危険運転を行っていると判定する場合、他の移動体が煽り運転を行っていると推定する。そして、プロセッサ13は、他の移動体が煽り運転を行っているか否かを、より正確に検出するために、移動体1の第2の挙動を決定する。
また、プロセッサ13は、移動体1による第2の挙動後に、撮像部11が撮像した周辺映像から他の移動体の状態を検出し、検出した他の移動体の第3の状態に基づき、他の移動体が危険運転を行っていると判定した場合、移動体1の第3の挙動を決定する。プロセッサ13は、決定した第3の挙動を指示する情報を通信インターフェース12を介して移動体1の制御系に出力する。
例えば、プロセッサ13は、移動体1の第3の挙動を決定し、警察への通報、停止、最寄のコンビニエンスストアへの退避、最寄のサービスエリア或いはパーキングエリアへの退避、停止後のドアロック、などを指示する情報を、通信インターフェース12を介して移動体1に出力し、移動体1にこれらの動作を実行させる。
即ち、プロセッサ13は、移動体1の第2の挙動に対してもなお、他の移動体が危険運転を行っていると判定する場合、他の移動体が煽り運転を行っていると推定する。そして、プロセッサ13は、他の移動体が煽り運転を行っているか否かを、より正確に検出するために、移動体1の第3の挙動を決定する。
上述のように、プロセッサ13は、移動体1による第1の挙動後に、撮像部11が撮像した周辺映像から検出した他の移動体の第2の状態に基づき、他の移動体が危険運転を行っていると判定した場合、移動体1の第2の挙動を決定する。更に、プロセッサ13は、移動体1による第2の挙動後に、撮像部11が撮像した周辺映像から検出した他の移動体の第3の状態に基づき、他の移動体が危険運転を行っていると判定した場合、移動体1の第3の挙動を決定する。
本実施形態に係る画像処理装置10によれば、移動体1の周辺を撮像した周辺映像から他の移動体の第1の状態を検出し、第1の状態に基づき、移動体1の第1の挙動を決定する。そして、移動体1の第1の挙動後、移動体1の周辺を撮像した周辺映像から他の移動体の第2の状態を検出し、第2の状態に基づき、他の移動体が危険運転を行っていると判定した場合、移動体1の第2の挙動を決定する。即ち、移動体1の第1の挙動後もなお、他の移動体が危険運転を行っているか否かを判定することで、他の移動体が移動体に対して、煽り運転を行っているか否かを正確に判定することができる。即ち、単純に他の移動体の状態を検出するのみで、他の移動体が移動体に対して、煽り運転を行っているか否かを判定していた従来と比較して、煽り運転の判定精度を高めることができる。これにより、移動体1は、煽り運転を実際に行っている他の移動体に対して適切な措置を取ることができるため、交通の円滑化を図ることができる。
<移動体1の挙動の具体例>
次に、図2乃至図7を参照して、他の移動体2が移動体1に対して煽り運転を行っている場合における移動体1の挙動の具体例について説明する。
〔第1の煽り運転の場合〕
図2Aに示すように、画像処理装置10は、移動体1の後方の周辺領域を撮像可能な位置に配置される撮像部11により、移動体1の後方の周辺領域を撮像する。また、画像処理装置10は、移動体1と他の移動体2との車間距離を算出する。
画像処理装置10は、移動体1の後方の周辺映像、及び移動体1と他の移動体2との車間距離に基づいて、他の移動体2が第1の煽り運転を行っていると推定する。この場合、図2Bに示すように、画像処理装置10は、移動体1の第1の挙動として、「車線変更」を決定し、当該第1の挙動を指示する情報を移動体1へと出力する。
その後、画像処理装置10は、移動体1の後方の周辺映像、及び移動体1と他の移動体2との車間距離に基づいて、移動体1の第1の挙動後もなお、他の移動体2による第1の煽り運転が継続していると判定した場合、移動体1の第2の挙動を決定する。この場合、図2Cに示すように、画像処理装置10は、移動体1の第2の挙動として、「最寄のコンビニエンスストアへの退避」を決定し、当該第2の挙動を指示する情報を移動体1へと出力する。
〔第2の煽り運転の場合〕
図3Aに示すように、画像処理装置10は、移動体1の後方の周辺領域を撮像可能な位置に配置される撮像部11により、移動体1の後方の周辺領域を撮像する。また、画像処理装置10は、移動体1に搭載されるマイクにより、他の移動体2のクラクションの鳴動を検出する。
画像処理装置10は、移動体1の後方の周辺映像、及び他の移動体2のクラクションの鳴動に基づいて、他の移動体2が第2の煽り運転を行っていると推定する。この場合、図3Bに示すように、画像処理装置10は、移動体1の第1の挙動として、「車線変更」を決定し、当該第1の挙動を指示する情報を移動体1へと出力する。
その後、画像処理装置10は、移動体1の後方の周辺映像、及び他の移動体2のクラクションの鳴動に基づいて、移動体1の第1の挙動後もなお、他の移動体2による第1の煽り運転が継続していると判定した場合、移動体1の第2の挙動を決定する。この場合、図3Cに示すように、画像処理装置10は、移動体1の第2の挙動として、「最寄のコンビニエンスストアへの退避」を決定し、当該第2の挙動を指示する情報を移動体1へと出力する。
〔第3の煽り運転の場合〕
図4Aに示すように、画像処理装置10は、移動体1の後方の周辺領域を撮像可能な位置に配置される撮像部11により、移動体1の後方の周辺領域を撮像する。また、画像処理装置10は、移動体1と他の移動体2との車間距離を算出する。
画像処理装置10は、移動体1の後方の周辺映像、及び移動体1と他の移動体2との車間距離に基づいて、他の移動体2が第3の煽り運転を行っていると推定する。この場合、図4Bに示すように、画像処理装置10は、移動体1の第1の挙動として、「車線変更」を決定し、当該第1の挙動を指示する情報を移動体1へと出力する。
その後、画像処理装置10は、移動体1の後方の周辺映像、及び移動体1と他の移動体2との車間距離に基づいて、移動体1の第1の挙動後もなお、他の移動体2による第1の煽り運転が継続していると判定した場合、移動体1の第2の挙動を決定する。この場合、図4Cに示すように、画像処理装置10は、移動体1の第2の挙動として、「最寄のコンビニエンスストアへの退避」を決定し、当該第2の挙動を指示する情報を移動体1へと出力する。
〔第4の煽り運転の場合〕
図5Aに示すように、画像処理装置10は、移動体1の後方の周辺領域を撮像可能な位置に配置される撮像部11により、移動体1の後方の周辺領域を撮像する。また、画像処理装置10は、移動体1と他の移動体2との車間距離を算出する。また、画像処理装置10は、撮像部11により撮像された周辺映像に基づいて、他の移動体2が移動体1の後方で前方灯を明滅させていること、或いは、他の移動体2が移動体1の後方で前方灯を高輝度の状態で上向きに点灯させていること、を検出する。
画像処理装置10は、移動体1の後方の周辺映像、移動体1と他の移動体2との車間距離、及び他の移動体2の前方灯の様子に基づいて、他の移動体2が第4の煽り運転を行っていると推定する。この場合、図5Bに示すように、画像処理装置10は、移動体1の第1の挙動として、「車線変更」を決定し、当該第1の挙動を指示する情報を移動体1へと出力する。
その後、画像処理装置10は、移動体1の後方の周辺映像、移動体1と他の移動体2との車間距離、及び他の移動体2の前方灯の様子に基づいて、移動体1の第1の挙動後もなお、他の移動体2による第1の煽り運転が継続していると判定した場合、移動体1の第2の挙動を決定する。この場合、図5Cに示すように、画像処理装置10は、移動体1の第2の挙動として、「最寄のコンビニエンスストアへの退避」を決定し、当該第2の挙動を指示する情報を移動体1へと出力する。
〔第5の煽り運転の場合〕
図6Aに示すように、画像処理装置10は、移動体1の後方の周辺領域を撮像可能な位置に配置される撮像部11により、移動体1の後方の周辺領域を撮像する。また、画像処理装置10は、移動体1と他の移動体2との車間距離を算出する。
画像処理装置10は、移動体1の後方の周辺映像、及び移動体1と他の移動体2との車間距離に基づいて、他の移動体2が第5の煽り運転を行っていると推定する。この場合、図6Bに示すように、画像処理装置10は、移動体1の第1の挙動として、「車線変更」を決定し、当該第1の挙動を指示する情報を移動体1へと出力する。
その後、画像処理装置10は、移動体1の後方の周辺映像、及び移動体1と他の移動体2との車間距離に基づいて、移動体1の第1の挙動後もなお、他の移動体2による第5の煽り運転が継続していると判定と判定した場合、移動体1の第2の挙動を決定する。この場合、図6Cに示すように、画像処理装置10は、移動体1の第2の挙動として、「最寄のコンビニエンスストアへの退避」を決定し、当該第2の挙動を指示する情報を移動体1へと出力する。
その後、画像処理装置10は、移動体1の周辺映像、及び移動体1と他の移動体2との車間距離に基づいて、移動体1の第2の挙動後もなお、他の移動体2による第5の煽り運転が継続していると判定した場合、移動体1の第3の挙動を決定する。この場合、図6Cに示すように、画像処理装置10は、移動体1の第3の挙動として、「ドアをロックして、警察への通報」を決定し、当該第3の挙動を指示する情報を移動体1へと出力する。
〔第6の煽り運転の場合〕
図7Aに示すように、画像処理装置10は、移動体1の後方の周辺領域、移動体1の後側面の少なくとも一部の領域、移動体1の右方の周辺領域、移動体1の右側面の少なくとも一部の領域、を撮像可能な位置に配置される撮像部11により、移動体1の後方、後側面、右方、右側面の周辺領域を撮像する。また、画像処理装置10は、移動体1と他の移動体2との車間距離を算出する。
画像処理装置10は、移動体1の後方の周辺映像、移動体1の右方の周辺映像、及び移動体1と他の移動体2との車間距離に基づいて、他の移動体2が第6の煽り運転を行っていると推定する。この場合、図7Bに示すように、画像処理装置10は、移動体1の第1の挙動として、「他の移動体に対する注意喚起のためのクラクションの鳴動」を決定し、当該第1の挙動を指示する情報を移動体1へと出力する。
その後、画像処理装置10は、移動体1の後方の周辺映像、移動体1の右方の周辺映像、及び移動体1と他の移動体2との車間距離に基づいて、移動体1の第1の挙動後もなお、他の移動体2による第6の煽り運転が継続していると判定した場合、移動体1の第2の挙動を決定する。この場合、図7Cに示すように、画像処理装置10は、移動体1の第2の挙動として、「車線変更、減速」を決定し、当該第2の挙動を指示する情報を移動体1へと出力する。
その後、画像処理装置10は、移動体1の後方の周辺映像、及び移動体1と他の移動体2との車間距離に基づいて、移動体1の第2の挙動後もなお、他の移動体2による第6の煽り運転が継続していると判定した場合、移動体1の第3の挙動を決定する。この場合、画像処理装置10は、第3の挙動として、「衝突回避の為の停止」を決定し、当該挙動を指示する情報を移動体1へと出力する。
表1は、一般道路の走行において、プロセッサ13により決定される移動体1の第1の挙動及び移動体1の第2の挙動、周辺映像などに基づいて、プロセッサ13により検出される他の移動体2の第1の状態及び他の移動体2の第2の状態をまとめた表である。
例えば、他の移動体2の第1の状態が、「他の移動体2が移動体1との車間距離を詰める」である場合、プロセッサ13は、移動体1の第1の挙動として、「法定速度を遵守し、走行を継続する」或いは「進路変更先の車線の安全を確認し、車線変更する」を決定する。
更に、他の移動体2の第2の状態が、「他の移動体2の第1の状態が継続している」或いは「他の移動体2が移動体1に張り付き、追い回す」である場合、プロセッサ13は、移動体1の第2の挙動として、「最寄のコンビニ等に立ち寄り、道を譲る」を決定する。
例えば、他の移動体2の第1の状態が、「他の移動体2が移動体1に対し、クラクションを鳴らす」である場合、プロセッサ13は、移動体1の第1の挙動として、「法定速度を遵守し、走行を継続する」或いは「進路変更先の車線の安全を確認し、車線変更する」を決定する。
更に、他の移動体2の第2の状態が、「他の移動体2の第1の状態が継続している」或いは「他の移動体2が移動体1に張り付き、追い回す」である場合、プロセッサ13は、移動体1の第2の挙動として、「最寄のコンビニ等に立ち寄り、道を譲る」を決定する。
例えば、他の移動体2の第1の状態が、「他の移動体2が移動体1後方で蛇行運転をする」である場合、プロセッサ13は、移動体1の第1の挙動として、「法定速度を遵守し、走行を継続する」或いは「進路変更先の車線の安全を確認し、車線変更する」を決定する。
更に、他の移動体2の第2の状態が、「他の移動体2の第1の状態が継続している」或いは「他の移動体2が移動体1に張り付き、追い回す」である場合、プロセッサ13は、移動体1の第2の挙動として、「最寄のコンビニ等に立ち寄り、道を譲る」を決定する。
例えば、他の移動体2の第1の状態が、「他の移動体2が移動体1に対し、パッシングする」である場合、プロセッサ13は、移動体1の第1の挙動として、「法定速度を遵守し、走行を継続する」或いは「進路変更先の車線の安全を確認し、車線変更する」を決定する。
更に、他の移動体2の第2の状態が、「他の移動体2の第1の状態が継続している」或いは「他の移動体2が移動体1に張り付き、追い回す」である場合、プロセッサ13は、移動体1の第2の挙動として、「最寄のコンビニ等に立ち寄り、道を譲る」を決定する。
例えば、他の移動体2の第1の状態が、「他の移動体2が移動体1に張り付き、追い回す」である場合、プロセッサ13は、移動体1の第1の挙動として、「最寄のコンビニ等に立ち寄り、道を譲る」或いは「進路変更先の車線の安全を確認し、車線変更する」を決定する。
更に、他の移動体2の第2の状態が、「他の移動体2の第1の状態が継続している」である場合、プロセッサ13は、移動体1の第2の挙動として、「最寄のコンビニ等に停車し、警察に通報する」を決定する。
例えば、他の移動体2の第1の状態が、「他の移動体2が移動体1に対し、幅寄せを行う」である場合、プロセッサ13は、移動体1の第1の挙動として、「他の移動体2に対し、注意喚起の為クラクションを鳴らす」を決定する。
更に、他の移動体2の第2の状態が、「他の移動体2が幅寄せ行為を止める」或いは「他の移動体2が幅寄せ行為を継続する」である場合、プロセッサ13は、移動体1の第2の挙動として、「走行を継続する」或いは「衝突回避の為、減速する」を決定する。
表2は、高速道路の走行において、プロセッサ13により決定される移動体1の第1の挙動及び移動体1の第2の挙動、周辺映像などに基づいて、プロセッサ13により検出される他の移動体2の第1の状態及び他の移動体2の第2の状態をまとめた表である。
例えば、他の移動体2の第1の状態が、「他の移動体2が移動体1との車間距離を詰める」である場合、プロセッサ13は、移動体1の第1の挙動として、「法定速度を遵守し、走行を継続する」或いは「進路変更先の車線の安全を確認し、車線変更する」を決定する。
更に、他の移動体2の第2の状態が、「他の移動体2の第1の状態が継続している」或いは「他の移動体2が移動体1に張り付き、追い回す」である場合、プロセッサ13は、移動体1の第2の挙動として、「一旦サービスエリア或いはパーキングエリアといった安全な場所に避難する」を決定する。
例えば、他の移動体2の第1の状態が、「他の移動体2が移動体1に対し、クラクションを鳴らす」である場合、プロセッサ13は、移動体1の第1の挙動として、「法定速度を遵守し、走行を継続する」或いは「進路変更先の車線の安全を確認し、車線変更する」を決定する。
更に、他の移動体2の第2の状態が、「他の移動体2の第1の状態が継続している」或いは「他の移動体2が移動体1に張り付き、追い回す」である場合、プロセッサ13は、移動体1の第2の挙動として、「一旦サービスエリア或いはパーキングエリアといった安全な場所に避難する」を決定する。
例えば、他の移動体2の第1の状態が、「他の移動体2が移動体1後方で蛇行運転をする」である場合、プロセッサ13は、移動体1の第1の挙動として、「法定速度を遵守し、走行を継続する」或いは「進路変更先の車線の安全を確認し、車線変更する」を決定する。
更に、他の移動体2の第2の状態が、「他の移動体2の第1の状態が継続している」或いは「他の移動体2が移動体1に張り付き、追い回す」である場合、プロセッサ13は、移動体1の第2の挙動として、「一旦サービスエリア或いはパーキングエリアといった安全な場所に避難する」を決定する。
例えば、他の移動体2の第1の状態が、「他の移動体2が移動体1に対し、パッシングする」である場合、プロセッサ13は、移動体1の第1の挙動として、「法定速度を遵守し、走行を継続する」或いは「進路変更先の車線の安全を確認し、車線変更する」を決定する。
更に、他の移動体2の第2の状態が、「他の移動体2の第1の状態が継続している」或いは「他の移動体2が移動体1に張り付き、追い回す」である場合、プロセッサ13は、移動体1の第2の挙動として、「一旦サービスエリア或いはパーキングエリアといった安全な場所に避難する」を決定する。
例えば、他の移動体2の第1の状態が、「他の移動体2が移動体1に張り付き、追い回す」である場合、プロセッサ13は、移動体1の第1の挙動として、「最寄のサービスエリア或いはパーキングエリアに入る」或いは「進路変更先の車線の安全を確認し、車線変更する」を決定する。
更に、他の移動体2の第2の状態が、「他の移動体2の第1の状態が継続している」である場合、プロセッサ13は、移動体1の第2の挙動として、「警察に通報する」或いは「最寄のサービスエリア或いはパーキングエリアに入り、警察に通報する」を決定する。
例えば、他の移動体2の第1の状態が、「他の移動体2が移動体1に対し、幅寄せを行う」である場合、プロセッサ13は、移動体1の第1の挙動として、「他の移動体2に対し、注意喚起の為クラクションを鳴らす」を決定する。
更に、他の移動体2の第2の状態が、「他の移動体2が幅寄せ行為を止める」或いは「他の移動体2が幅寄せ行為を継続する」である場合、プロセッサ13は、移動体1の第2の挙動として、「走行を継続する」或いは「衝突回避の為、減速する」を決定する。
上述のように、画像処理装置10は、移動体1の周辺を撮像した周辺映像から他の移動体22の第1の状態を検出し、第1の状態に基づき、移動体1の第1の挙動を決定する。そして、画像処理装置10は、移動体1の第1の挙動後、移動体1の周辺を撮像した周辺映像から他の移動体22の第2の状態を検出し、第2の状態に基づき、他の移動体22が危険運転を行っていると判定した場合、移動体1の第2の挙動を決定する。即ち、画像処理装置10が、移動体1の第1の挙動後もなお、他の移動体22が危険運転を行っているか否かを判定することで、他の移動体2が移動体に対して、煽り運転を行っているか否かを正確に判定することができる。これにより、移動体1は、煽り運転を実際に行っている他の移動体22に対して適切な措置を取ることができるため、交通の円滑化を図ることができる。
<画像処理装置の動作>
次に、図8を参照して、本実施形態に係る画像処理装置10における画像処理方法について説明する。図8は、本実施形態に係る画像処理装置10における画像処理方法の一例を示すフローチャートである。
ステップS0:プロセッサ13は、初期化処理を行う。
ステップS1:プロセッサ13は、第1の煽り運転判定処理を行う。プロセッサ13が、第1の煽り運転判定処理に使用する情報としては、例えば、移動体1の車速、移動体1の車速に応じた移動体1と他の移動体2との車間距離(表3参照)、移動体1の所定範囲内に他の移動体2が滞留する滞留時間、などが挙げられる。
例えば、プロセッサ13は、移動体1の所定範囲内に他の移動体2が3秒以上滞留する場合、他の移動体2が第1の煽り運転を行っていると判定する。例えば、プロセッサ13は、移動体1の所定範囲内に他の移動体2が3秒より短い時間滞留する場合、他の移動体2が第1の煽り運転を行っていないと判定する。
ステップS2:プロセッサ13は、第2の煽り運転判定処理を行う。プロセッサ13が、第2の煽り運転判定処理に使用する情報としては、例えば、移動体1の車速、移動体1の車速に応じた移動体1と他の移動体2との車間距離(表3参照)、他の移動体2のクラクションの鳴動回数及び鳴動音量、などが挙げられる。
例えば、プロセッサ13は、他の移動体2が1分間に5回以上、クラクションを鳴動させた場合、他の移動体2が第2の煽り運転を行っていると判定する。例えば、プロセッサ13は、他の移動体2が1分間に5回より少ない回数、クラクションを鳴動させた場合、他の移動体2が第2の煽り運転を行っていないと判定する。
ステップS3:プロセッサ13は、第3の煽り運転判定処理を行う。プロセッサ13が、第3の煽り運転判定処理に使用する情報としては、例えば、移動体1の車速、移動体1の車速に応じた移動体1と他の移動体2との車間距離(表3参照)、移動体1の所定範囲内に他の移動体2が滞留する滞留時間、他の移動体2における蛇行運転の振幅、他の移動体2における蛇行運転の周期、などが挙げられる。
例えば、プロセッサ13は、他の移動体2における蛇行運転の振幅が900mm以上であり、他の移動体2における蛇行運転の周期が1秒以上5秒以下である場合、他の移動体2が第3の煽り運転を行っていると判定する。例えば、プロセッサ13は、他の移動体2における蛇行運転の振幅が900mmより小さい場合、或いは、他の移動体2における蛇行運転の周期が5秒より長い場合、他の移動体2が第3の煽り運転を行っていないと判定する。なお、900mmとは、標準的な車両の幅である1800mmの略半分である。
ステップS4:プロセッサ13は、第4の煽り運転判定処理を行う。プロセッサ13が、第4の煽り運転判定処理に使用する情報としては、例えば、移動体1の車速、移動体1の車速に応じた移動体1と他の移動体2との車間距離(表3参照)、移動体1の所定範囲内に他の移動体2が滞留する滞留時間、他の移動体2における前方灯の照度、他の移動体2におけるパッシングの頻度、他の移動体2におけるパッシングの明暗周期、などが挙げられる。
例えば、プロセッサ13は、他の移動体2における前方灯の照度が10,000lx以上である場合、他の移動体2が第4の煽り運転を行っていると判定する。例えば、プロセッサ13は、他の移動体2における前方灯の照度が10,000lxより小さい場合、他の移動体2が第4の煽り運転を行っていないと判定する。
例えば、プロセッサ13は、他の移動体2におけるパッシングの明暗周期が500ミリ秒以上2秒以下である場合、他の移動体2が第4の煽り運転を行っていると判定する。例えば、プロセッサ13は、他の移動体2におけるパッシングの明暗周期が2秒より長い場合、他の移動体2が第4の煽り運転を行っていないと判定する。
ステップS5:プロセッサ13は、第5の煽り運転判定処理を行う。プロセッサ13が、第5の煽り運転判定処理に使用する情報としては、例えば、移動体1の車速、移動体1の車速に応じた移動体1と他の移動体2との車間距離(表3参照)、移動体1の所定範囲内に他の移動体2が滞留する滞留時間、他の移動体2が張り付き及び追廻を行う回数、などが挙げられる。
例えば、プロセッサ13は、移動体1が車線変更した後もなお、他の移動体2が張り付き及び追廻を2回以上繰り返して行う場合、他の移動体2が第5の煽り運転を行っていると判定する。例えば、プロセッサ13は、移動体1が車線変更した後、他の移動体2が張り付き及び追廻を行わない場合、他の移動体2が第5の煽り運転を行っていないと判定する。
ステップS6:プロセッサ13は、第6の煽り運転判定処理を行う。プロセッサ13が、第6の煽り運転判定処理に使用する情報としては、例えば、移動体1の車速、移動体1の車速に応じた移動体1と他の移動体2との車間距離(表3参照)、移動体1と他の移動体2との側面における距離、他の移動体2が幅寄せを行う回数、などが挙げられる。
例えば、プロセッサ13は、移動体1と他の移動体2との側面における距離が2mより短い場合、他の移動体2が第6の煽り運転を行っていると判定する。例えば、プロセッサ13は、移動体1と他の移動体2との側面における距離が2m以上である場合、他の移動体2が第6の煽り運転を行っていないと判定する。
例えば、プロセッサ13は、移動体1が車線変更した後もなお、他の移動体2が幅寄せを2回以上繰り返して行う場合、他の移動体2が第6の煽り運転を行っていると判定する。例えば、プロセッサ13は、移動体1が車線変更した後、他の移動体2が幅寄せを行わない場合、他の移動体2が第6の煽り運転を行っていないと判定する。
プロセッサ13は、上述のステップS1~ステップS6における煽り運転判定処理を、並行して実行する。プロセッサ13は、1つのステップのみで、煽り運転判定処理を実行してもよいし、複数のステップを組み合わせて、煽り運転判定処理を実行してもよい。複数のステップを組み合わせて、煽り運転判定処理を実行することで、他の移動体2が煽り運転を行っているか否かを、より正確に判定することが可能になる。
次に、図9を参照して、煽り判定状態フラグについて簡単に説明する。図9は、煽り判定状態フラグにおける状態遷移図の一例を示す図である。
図9に示すように、煽り判定状態フラグは、例えば、「無し」の状態、「仮確定」の状態、「確定」の状態、という3つの状態を有する。プロセッサ13は、煽り判定状態フラグを管理し、上述のステップS1~ステップS6のような煽り運転判定処理を実行する。
状態Aは、「無し」の状態、即ち、初期状態である。
状態Bは、「仮確定」の状態である。状態Bにおいて、プロセッサ13は、他の移動体2の第1の状態に基づき、煽り運転が行われていると推定すると、移動体1へとアクション指示を出力する。状態Bにおいて、プロセッサ13は、他の移動体2の第1の状態に基づき、煽り運転が行われていないと推定すると、移動体1へとアクション指示を出力しない(状態B→状態A)。
状態Cは、「確定」の状態である。状態Cにおいて、プロセッサ13は、他の移動体2の第2の状態に基づき、煽り運転が行われていると推定すると、移動体1へと危険回避行動指示を出力する。状態Cにおいて、プロセッサ13は、他の移動体2の第2の状態に基づき、煽り運転が行われていないと推定すると、移動体1へと危険回避行動指示を出力しない(状態C→状態A)。
本実施形態に係る画像処理方法によれば、煽り判定状態フラグが3つの状態を有し、例えば、「仮確定」の状態で、プロセッサ13が移動体1へとアクション指示を出力し、例えば、「確定」の状態で、プロセッサ13が移動体1へと危険回避行動指示を出力する。即ち、本実施形態に係る画像処理方法によれば、他の移動体2の第1の状態のみで、他の移動体2が移動体1に対して、煽り運転を行っているか否かを判定するのではなく、移動体1の第1の挙動後における他の移動体2の第2の状態を考慮して、他の移動体2が移動体1に対して、煽り運転を行っているか否かを判定する。これにより、煽り運転の誤判定を抑制し、移動体1と他の移動体2との間で、無駄な争いが発生する蓋然性を低減させることができるため、交通の円滑化を図ることができる。
<煽り運転判定処理の具体例>
次に、図10乃至図15を参照して、本実施形態に係る煽り運転判定処理の具体例について説明する。
〔第1の煽り運転判定処理〕
図10は、第1の煽り運転判定処理の一例を示すフローチャートである。第1の煽り運転判定処理は、画像処理装置10に搭載されるプロセッサ13により実行される。
ステップS11:プロセッサ13は、移動体1に搭載される車速センサから、移動体1の車速を取得する。
ステップS12:プロセッサ13は、表3に基づいて、移動体1と他の移動体2との適切な車間距離を算出する。即ち、プロセッサ13は、移動体1の車速に応じて、安全な車間距離、危険な車間距離を決定する。
ステップS13:プロセッサ13は、移動体1の周辺を撮像した周辺映像に基づいて、移動体1の所定範囲内に、他の移動体2が存在しているか否かを判定する。プロセッサ13は、移動体1の所定範囲内に、他の移動体2が存在していると判定した場合(ステップS13:Yes)、ステップS14の処理へと進む。プロセッサ13は、移動体1の所定範囲内に、他の移動体2が存在していないと判定した場合(ステップS13:No)、ステップS20の処理へと進む。
ステップS14:プロセッサ13は、移動体1の所定範囲内に他の移動体2が滞留する時間が、3秒以上であるか否かを判定する。プロセッサ13は、車両滞留時間が、3秒以上であると判定した場合(ステップS14:Yes)、ステップS15の処理へと進む。プロセッサ13は、車両滞留時間が、3秒より短いと判定した場合(ステップS14:No)、ステップS20の処理へと進む。
ステップS15:プロセッサ13は、第1の煽り判定フラグが、「無し」の状態であるか、「仮確定」の状態であるか、「確定」の状態であるか、を判定する。プロセッサ13は、第1の煽り判定フラグが、「確定」の状態であると判定した場合(ステップS15:「確定」)、ステップS17の処理へと進む。プロセッサ13は、第1の煽り判定フラグが、判定状態の「仮確定」であると判定した場合(ステップS15:「仮確定」)、ステップS16の処理へと進む。プロセッサ13は、第1の煽り判定フラグが、判定状態の「無し」の状態であると判定した場合(ステップS15:「無し」)、ステップS18の処理へと進む。
ステップS16:プロセッサ13は、第1の煽り判定フラグを、「仮確定」の状態から「確定」の状態へと切り替える。
ステップS17:プロセッサ13は、移動体1の挙動(第2の挙動)を指示する情報を、通信インターフェース12を介して移動体1に出力し、危険回避行動指示を移動体1に出力する。
ステップS18:プロセッサ13は、第1の煽り判定フラグを、「無し」の状態から「仮確定」の状態へと切り替える。
ステップS19:プロセッサ13は、移動体1の挙動(第1の挙動)を指示する情報を、通信インターフェース12を介して移動体1に出力し、アクション指示を移動体1に出力する。
ステップS20:プロセッサ13は、第1の煽り判定フラグを、「無し」の状態とする。即ち、プロセッサ13は、他の移動体2の運転者が煽り運転を行おうという意図を有していないと推定し、移動体1の全自動運転を継続させる。
〔第2の煽り運転判定処理〕
図11は、第1の煽り運転判定処理の一例を示すフローチャートである。第1の煽り運転判定処理は、画像処理装置10に搭載されるプロセッサ13により実行される。
ステップS21:プロセッサ13は、移動体1に搭載される車速センサから、移動体1の車速を取得する。
ステップS22:プロセッサ13は、表3に基づいて、移動体1と他の移動体2との適切な車間距離を算出する。即ち、プロセッサ13は、移動体1の車速に応じて、安全な車間距離、危険な車間距離を決定する。
ステップS23:プロセッサ13は、移動体1の周辺を撮像した周辺映像に基づいて、移動体1の所定範囲内に、他の移動体2が存在しているか否かを判定する。プロセッサ13は、移動体1の所定範囲内に、他の移動体2が存在していると判定した場合(ステップS23:Yes)、ステップS14の処理へと進む。プロセッサ13は、移動体1の所定範囲内に、他の移動体2が存在していないと判定した場合(ステップS23:No)、ステップS30の処理へと進む。
ステップS24:プロセッサ13は、移動体1に搭載されるマイクから、クラクションの鳴動が、連続検知されているか否かを判定する。プロセッサ13は、クラクションの鳴動が連続検知されていると判定した場合(ステップS24:Yes)、ステップS25の処理へと進む。プロセッサ13は、クラクション鳴動が連続検知されていないと判定した場合(ステップS24:No)、ステップS30の処理へと進む。
ステップS25:プロセッサ13は、第2の煽り判定フラグが、「無し」の状態であるか、「仮確定」の状態であるか、「確定」の状態であるか、を判定する。プロセッサ13は、第2の煽り判定フラグが、「確定」の状態であると判定した場合(ステップS25:「確定」)、ステップS27の処理へと進む。プロセッサ13は、第2の煽り判定フラグが、判定状態の「仮確定」であると判定した場合(ステップS25:「仮確定」)、ステップS26の処理へと進む。プロセッサ13は、第2の煽り判定フラグが、判定状態の「無し」の状態であると判定した場合(ステップS25:「無し」)、ステップS28の処理へと進む。
ステップS26:プロセッサ13は、第2の煽り判定フラグを、「仮確定」の状態から「確定」の状態へと切り替える。
ステップS27:プロセッサ13は、移動体1の挙動(第2の挙動)を指示する情報を、通信インターフェース12を介して移動体1に出力し、危険回避行動指示を移動体1に出力する。
ステップS28:プロセッサ13は、第2の煽り判定フラグを、「無し」の状態から「仮確定」の状態へと切り替える。
ステップS29:プロセッサ13は、移動体1の挙動(第2の挙動)を指示する情報を、通信インターフェース12を介して移動体1に出力し、アクション指示を移動体1に出力する。
ステップS30:プロセッサ13は、第2の煽り判定フラグを、「無し」の状態とする。即ち、プロセッサ13は、他の移動体2の運転者が煽り運転を行おうという意図を有していないと推定し、移動体1の全自動運転を継続させる。
〔第3の煽り運転判定処理〕
図12は、第3の煽り運転判定処理の一例を示すフローチャートである。第3の煽り運転判定処理は、画像処理装置10に搭載されるプロセッサ13により実行される。
ステップS31:プロセッサ13は、移動体1に搭載される車速センサから、移動体1の車速を取得する。
ステップS32:プロセッサ13は、表3に基づいて、移動体1と他の移動体2との適切な車間距離を算出する。即ち、プロセッサ13は、移動体1の車速に応じて、安全な車間距離、危険な車間距離を決定する。
ステップS33:プロセッサ13は、移動体1の周辺を撮像した周辺映像に基づいて、移動体1の所定範囲内に、他の移動体2が存在しているか否かを判定する。プロセッサ13は、移動体1の所定範囲内に、他の移動体2が存在していると判定した場合(ステップS33:Yes)、ステップS34の処理へと進む。プロセッサ13は、移動体1の所定範囲内に、他の移動体2が存在していないと判定した場合(ステップS33:No)、ステップS40の処理へと進む。
ステップS34:プロセッサ13は、移動体1の所定範囲内に他の移動体2が滞留する時間が、3秒以上であり、且つ、他の移動体2が蛇行行動をしているか否かを判定する。プロセッサ13は、車両滞留時間が、3秒以上であり、且つ、他の移動体2が蛇行行動をしていると判定した場合(ステップS34:Yes)、ステップS35の処理へと進む。プロセッサ13は、車両滞留時間が、3秒以上であり、且つ、他の移動体2が蛇行行動をしていると判定しない場合(ステップS34:No)、ステップS40の処理へと進む。プロセッサ13は、例えば、他の移動体2における蛇行の振幅が所定振幅以上であること、他の移動体2における蛇行の周期が所定周期に含まれていること、などに基づいて、他の移動体2が蛇行行動をしているか否かを判定する。
ステップS35:プロセッサ13は、第3の煽り判定フラグが、「無し」の状態であるか、「仮確定」の状態であるか、「確定」の状態であるか、を判定する。プロセッサ13は、第3の煽り判定フラグが、「確定」の状態であると判定した場合(ステップS35:「確定」)、ステップS37の処理へと進む。プロセッサ13は、第3の煽り判定フラグが、判定状態の「仮確定」であると判定した場合(ステップS35:「仮確定」)、ステップS36の処理へと進む。プロセッサ13は、第3の煽り判定フラグが、判定状態の「無し」の状態であると判定した場合(ステップS35:「無し」)、ステップS38の処理へと進む。
ステップS36:プロセッサ13は、第3の煽り判定フラグを、「仮確定」の状態から「確定」の状態へと切り替える。
ステップS37:プロセッサ13は、移動体1の挙動(第2の挙動)を指示する情報を、通信インターフェース12を介して移動体1に出力し、危険回避行動指示を移動体1に出力する。
ステップS38:プロセッサ13は、第3の煽り判定フラグを、「無し」の状態から「仮確定」の状態へと切り替える。
ステップS39:プロセッサ13は、移動体1の挙動(第3の挙動)を指示する情報を、通信インターフェース12を介して移動体1に出力し、アクション指示を移動体1に出力する。
ステップS40:プロセッサ13は、第3の煽り判定フラグを、「無し」の状態とする。即ち、プロセッサ13は、他の移動体2の運転者が煽り運転を行おうという意図を有していないと推定し、移動体1の全自動運転を継続させる。
〔第4の煽り運転判定処理〕
図13は、第4の煽り運転判定処理の一例を示すフローチャートである。第4の煽り運転判定処理は、画像処理装置10に搭載されるプロセッサ13により実行される。
ステップS41:プロセッサ13は、移動体1に搭載される車速センサから、移動体1の車速を取得する。
ステップS42:プロセッサ13は、表3に基づいて、移動体1と他の移動体2との適切な車間距離を算出する。即ち、プロセッサ13は、移動体1の車速に応じて、安全な車間距離、危険な車間距離を決定する。
ステップS43:プロセッサ13は、移動体1の周辺を撮像した周辺映像に基づいて、移動体1の所定範囲内に、他の移動体2が存在しているか否かを判定する。プロセッサ13は、移動体1の所定範囲内に、他の移動体2が存在していると判定した場合(ステップS43:Yes)、ステップS44の処理へと進む。プロセッサ13は、移動体1の所定範囲内に、他の移動体2が存在していないと判定した場合(ステップS43:No)、ステップS50の処理へと進む。
ステップS44:プロセッサ13は、移動体1の所定範囲内に他の移動体2が滞留する時間が、3秒以上であり、且つ、他の移動体2がパッシング行動をしているか否かを判定する。プロセッサ13は、車両滞留時間が、3秒以上であり、且つ、他の移動体2がパッシング行動をしていると判定した場合(ステップS44:Yes)、ステップS45の処理へと進む。プロセッサ13は、車両滞留時間が、3秒以上であり、且つ、他の移動体2がパッシング行動をしていると判定しない場合(ステップS44:No)、ステップS50の処理へと進む。プロセッサ13は、例えば、他の移動体2が移動体1の後方で前方灯を明滅させていること、或いは、他の移動体2が移動体1の後方で前方灯を高輝度の状態で点灯させていること、などに基づいて、他の移動体2が蛇行行動をしているか否かを判定する。
ステップS45:プロセッサ13は、第4の煽り判定フラグが、「無し」の状態であるか、「仮確定」の状態であるか、「確定」の状態であるか、を判定する。プロセッサ13は、第4の煽り判定フラグが、「確定」の状態であると判定した場合(ステップS45:「確定」)、ステップS47の処理へと進む。プロセッサ13は、第4の煽り判定フラグが、判定状態の「仮確定」であると判定した場合(ステップS45:「仮確定」)、ステップS46の処理へと進む。プロセッサ13は、第4の煽り判定フラグが、判定状態の「無し」の状態であると判定した場合(ステップS45:「無し」)、ステップS48の処理へと進む。
ステップS46:プロセッサ13は、第4の煽り判定フラグを、「仮確定」の状態から「確定」の状態へと切り替える。
ステップS47:プロセッサ13は、移動体1の挙動(第2の挙動)を指示する情報を、通信インターフェース12を介して移動体1に出力し、危険回避行動指示を移動体1に出力する。
ステップS48:プロセッサ13は、第4の煽り判定フラグを、「無し」の状態から「仮確定」の状態へと切り替える。
ステップS49:プロセッサ13は、移動体1の挙動(第4の挙動)を指示する情報を、通信インターフェース12を介して移動体1に出力し、アクション指示を移動体1に出力する。
ステップS50:プロセッサ13は、第4の煽り判定フラグを、「無し」の状態とする。即ち、プロセッサ13は、他の移動体2の運転者が煽り運転を行おうという意図を有していないと推定し、移動体1の全自動運転を継続させる。
〔第5の煽り運転判定処理〕
図14は、第5の煽り運転判定処理の一例を示すフローチャートである。第5の煽り運転判定処理は、画像処理装置10に搭載されるプロセッサ13により実行される。
ステップS51:プロセッサ13は、移動体1に搭載される車速センサから、移動体1の車速を取得する。
ステップS52:プロセッサ13は、表3に基づいて、移動体1と他の移動体2との適切な車間距離を算出する。即ち、プロセッサ13は、移動体1の車速に応じて、安全な車間距離、危険な車間距離を決定する。
ステップS53:プロセッサ13は、移動体1の周辺を撮像した周辺映像に基づいて、移動体1の所定範囲内に、他の移動体2が存在しているか否かを判定する。プロセッサ13は、移動体1の所定範囲内に、他の移動体2が存在していると判定した場合(ステップS53:Yes)、ステップS54の処理へと進む。プロセッサ13は、移動体1の所定範囲内に、他の移動体2が存在していないと判定した場合(ステップS53:No)、ステップS60の処理へと進む。
ステップS54:プロセッサ13は、移動体1の所定範囲内に他の移動体2が滞留する時間が、3秒以上であり、且つ、移動体1が車線変更した後も、他の移動体2が張り付き及び追廻を継続しているか否かを判定する。プロセッサ13は、移動体1の所定範囲内に他の移動体2が滞留する時間が、3秒以上であり、且つ、移動体1が車線変更した後も、他の移動体2が張り付き及び追廻を継続していると判定した場合(ステップS54:Yes)、ステップS55の処理へと進む。プロセッサ13は、移動体1の所定範囲内に他の移動体2が滞留する時間が、3秒以上であり、且つ、移動体1が車線変更した後も、他の移動体2が張り付き及び追廻を継続していると判定しない場合(ステップS54:No)、ステップS60の処理へと進む。
ステップS55:プロセッサ13は、第5の煽り判定フラグが、「無し」の状態であるか、「仮確定」の状態であるか、「確定」の状態であるか、を判定する。プロセッサ13は、第5の煽り判定フラグが、「確定」の状態であると判定した場合(ステップS55:「確定」)、ステップS57の処理へと進む。プロセッサ13は、第5の煽り判定フラグが、判定状態の「仮確定」であると判定した場合(ステップS55:「仮確定」)、ステップS56の処理へと進む。プロセッサ13は、第5の煽り判定フラグが、判定状態の「無し」の状態であると判定した場合(ステップS55:「無し」)、ステップS18の処理へと進む。
ステップS56:プロセッサ13は、第5の煽り判定フラグを、「仮確定」の状態から「確定」の状態へと切り替える。
ステップS57:プロセッサ13は、移動体1の挙動(第2の挙動)を指示する情報を、通信インターフェース12を介して移動体1に出力し、危険回避行動指示を移動体1に出力する。
ステップS58:プロセッサ13は、第5の煽り判定フラグを、「無し」の状態から「仮確定」の状態へと切り替える。
ステップS59:プロセッサ13は、移動体1の挙動(第5の挙動)を指示する情報を、通信インターフェース12を介して移動体1に出力し、アクション指示を移動体1に出力する。
ステップS60:プロセッサ13は、第5の煽り判定フラグを、「無し」の状態とする。即ち、プロセッサ13は、他の移動体2の運転者が煽り運転を行おうという意図を有していないと推定し、移動体1の全自動運転を継続させる。
〔第6の煽り運転判定処理〕
図15は、第6の煽り運転判定処理の一例を示すフローチャートである。第6の煽り運転判定処理は、画像処理装置10に搭載されるプロセッサ13により実行される。
ステップS61:プロセッサ13は、移動体1に搭載される車速センサから、移動体1の車速を取得する。
ステップS62:プロセッサ13は、表3に基づいて、移動体1と他の移動体2との適切な車間距離を算出する。即ち、プロセッサ13は、移動体1の車速に応じて、安全な車間距離、危険な車間距離を決定する。
ステップS63:プロセッサ13は、移動体1の周辺を撮像した周辺映像に基づいて、移動体1の所定範囲内に、他の移動体2が存在しているか否かを判定する。プロセッサ13は、移動体1の所定範囲内に、他の移動体2が存在していると判定した場合(ステップS63:Yes)、ステップS64の処理へと進む。プロセッサ13は、移動体1の所定範囲内に、他の移動体2が存在していないと判定した場合(ステップS63:No)、ステップS70の処理へと進む。
ステップS64:プロセッサ13は、移動体1の所定範囲内に他の移動体2が滞留する時間が、3秒以上であるか否かを判定する。プロセッサ13は、車両滞留時間が、3秒以上であると判定した場合(ステップS64:Yes)、ステップS65の処理へと進む。プロセッサ13は、車両滞留時間が、3秒より短いと判定した場合(ステップS64:No)、ステップS70の処理へと進む。
ステップS65:プロセッサ13は、第6の煽り判定フラグが、「無し」の状態であるか、「仮確定」の状態であるか、「確定」の状態であるか、を判定する。プロセッサ13は、第6の煽り判定フラグが、「確定」の状態であると判定した場合(ステップS65:「確定」)、ステップS67の処理へと進む。プロセッサ13は、第6の煽り判定フラグが、判定状態の「仮確定」であると判定した場合(ステップS65:「仮確定」)、ステップS66の処理へと進む。プロセッサ13は、第6の煽り判定フラグが、判定状態の「無し」の状態であると判定した場合(ステップS65:「無し」)、ステップS68の処理へと進む。
ステップS66:プロセッサ13は、第6の煽り判定フラグを、「仮確定」の状態から「確定」の状態へと切り替える。
ステップS67:プロセッサ13は、移動体1の挙動(第2の挙動)を指示する情報を、通信インターフェース12を介して移動体1に出力し、危険回避行動指示を移動体1に出力する。
ステップS68:プロセッサ13は、第6の煽り判定フラグを、「無し」の状態から「仮確定」の状態へと切り替える。
ステップS69:プロセッサ13は、移動体1の挙動(第6の挙動)を指示する情報を、通信インターフェース12を介して移動体1に出力し、アクション指示を移動体1に出力する。
ステップS70:プロセッサ13は、第6の煽り判定フラグを、「無し」の状態とする。即ち、プロセッサ13は、他の移動体2の運転者が煽り運転を行おうという意図を有していないと推定し、移動体1の全自動運転を継続させる。
上述のように、本実施形態に係る画像処理方法によれば、他の移動体2の第1の状態のみで、他の移動体2が移動体1に対して、煽り運転を行っているか否かを判定するのではなく、移動体1の第1の挙動後における他の移動体2の第2の状態を考慮して、他の移動体2が移動体1に対して、煽り運転を行っているか否かを判定する。これにより、煽り運転の誤判定を抑制し、移動体1と他の移動体2との間で、無駄な争いが発生する蓋然性を低減させることができるため、交通の円滑化を図ることができる。
<変形例>
本実施形態では、移動体1の第1の挙動として、法定速度での走行継続、車線変更、他の移動体に対する注意喚起のためのクラクションの鳴動、最寄のコンビニエンスストアへの退避、最寄のサービスエリア或いはパーキングエリアへの退避、などを一例に挙げて説明したが、これに限られるものではない。移動体1の第1の挙動は、これらの動作を適宜、組み合わせた挙動であってもよい。また、移動体1が音声出力機能を備える場合には、移動体1の第1の挙動には、音声出力が含まれてもよい。また、移動体1が地面などへの投影機能を備える場合には、移動体1の第1の挙動には、歩道などへのメッセージなどの所定の像の投影が含まれてもよい。
また、本実施形態では、移動体1の第2の挙動として、警察への通報、停止、減速、最寄のコンビニエンスストアへの退避、最寄のサービスエリア或いはパーキングエリアへの退避、ドライブレコーダへの記録、周辺映像を所定のネットワークにアップロードする、他の移動体が危険運転を行っているという表示、などを一例に挙げて説明したが、これに限られるものではない。また、移動体1が音声出力機能を備える場合には、移動体1の第2の挙動には、音声出力が含まれてもよい。また、移動体1が地面などへの投影機能を備える場合には、移動体1の第2の挙動には、歩道などへのメッセージなどの所定の像の投影が含まれてもよい。
また、本実施形態では、移動体1の第3の挙動として、警察への通報、停止、最寄のコンビニエンスストアへの退避、最寄のサービスエリア或いはパーキングエリアへの退避、停止後のドアロック、などを一例に挙げて説明したが、これに限られるものではない。また、移動体1が音声出力機能を備える場合には、移動体1の第3の挙動には、音声出力が含まれてもよい。また、移動体1が地面などへの投影機能を備える場合には、移動体1の第3の挙動には、歩道などへのメッセージなどの所定の像の投影が含まれてもよい。
例えば、プロセッサ13は、走行車線の端部で減速して走行を継続する、徐々に走行車線から外れる、路肩に停車する、などのように、他の移動体2の状態を避ける動作を順次行い、動作毎に、他の移動体2が危険運転を行っているか否かを判定してもよい。また、例えば、プロセッサ13は、所定回数だけ第1の挙動、第2の挙動、第3の挙動を繰り返しても、他の移動体2が危険運転を止めない場合、移動体1の全自動運転を解除するようにしてもよい。
また、本実施形態では、移動体1に搭載された画像処理装置10により、周辺映像からの他の移動体2の第1の状態、第2の状態、及び第3の状態の検出、他の移動体2の第1の状態に基づいた第1の挙動の決定、他の移動体2の第2の状態に基づいた第2の挙動の決定、他の移動体2の第3の状態に基づいた第3の挙動の決定、などを行う例を用いて説明したが、これに限られるものではない。例えば、主にプロセッサ13が備える、周辺映像からの他の移動体2の第1の状態、第2の状態、及び第3の状態の検出、他の移動体2の第1の状態に基づいた第1の挙動の決定、他の移動体2の第2の状態に基づいた第2の挙動の決定、他の移動体2の第3の状態に基づいた第3の挙動の決定、などの機能を、ネットワーク上のサーバなどが有していてもよい。この場合、移動体1はネットワークを介してサーバと通信可能であり、移動体1からは周辺映像をサーバに送信する。サーバは、移動体1から取得した周辺映像から他の移動体2の第1の状態、第2の状態、及び第3の状態の検出、或いは、他の移動体2の第1の状態に基づいた第1の挙動の決定、他の移動体2の第2の状態に基づいた第2の挙動の決定、他の移動体2の第3の状態に基づいた第3の挙動の決定、などを行い、決定した挙動を指示する情報を、ネットワークを介して移動体1に送信する。
また、本実施形態では、煽り判定状態フラグが、「無し」の状態、「仮確定」の状態、「確定」の状態、という3つの状態を有する場合を一例に挙げて説明したが、煽り判定状態フラグは、これに限られるものではない。また、本実施形態では、煽り判定状態フラグを用いて、煽り運転判定処理を行う場合を一例に挙げて説明したが、公知のアルゴリズムによって、煽り運転判定処理を行うことも可能である。
また、本実施形態では、プロセッサが、撮像部11により撮像された周辺映像に基づいて、他の移動体2の状態を検出する場合を一例に挙げて説明したが、この例に限定されない。プロセッサは、移動体1に搭載される各種センサに基づいて、他の移動体2の状態を検出してよい。例えば、プロセッサは、移動体1に搭載される測距センサにより、移動体1と他の移動体2との車間距離を検出してよい。例えば、プロセッサは、移動体1に搭載される照度センサにより、他の移動体2による前方灯の明滅を検出してよい。
また、本実施形態において「第1」、「第2」、「第3」、「第4」、「第5」、及び「第6」などの記載は、当該構成を区別するための識別子である。本開示における「第1」及び「第2」などの記載で区別された構成は、当該構成における番号を交換することができる。例えば、第1の煽り運転は、第2の煽り運転と識別子である「第1」と「第2」とを交換することができる。第2の煽り運転は、第3の煽り運転と識別子である「第2」と「第3」とを交換することができる。第3の煽り運転は、第4の煽り運転と識別子である「第3」と「第4」とを交換することができる。第4の煽り運転は、第5の煽り運転と識別子である「第4」と「第5」とを交換することができる。第5の煽り運転は、第6の煽り運転と識別子である「第5」と「第6」とを交換することができる。識別子の交換は同時に行われる。識別子の交換後も当該構成は区別される。識別子は削除してよい。識別子を削除した構成は、符号で区別される。本開示における「第1」、「第2」、「第3」、「第4」、「第5」、及び「第6」などの識別子の記載のみに基づいて、当該構成の順序の解釈、小さい番号の識別子が存在することの根拠に利用してはならない。
本開示の一実施形態を諸図面及び実施例に基づき説明してきたが、当業者であれば本開示に基づき種々の変形及び修正を行うことが容易であることに注意されたい。従って、これらの変形及び修正は本開示の範囲に含まれることに留意されたい。