以下、本発明の例示的な実施形態が開示される。以下に示される実施形態の構成、ならびに当該構成によってもたらされる作用、結果、および効果は、一例である。本発明は、以下の実施形態に開示される構成以外によっても実現可能であるとともに、基本的な構成に基づく種々の効果や、派生的な効果のうち、少なくとも一つを得ることが可能である。
図1は、実施形態の周辺監視装置を搭載する牽引車両10および牽引車両10に牽引される被牽引車両12が示された側面図である。図1では、紙面左方向を牽引車両10を基準とする前方、紙面右方向を牽引車両10を基準とする後方としている。図2は、図1に示す牽引車両10および被牽引車両12の上面図である。また、図3は、牽引車両10に搭載される周辺監視装置を含む周辺監視システム100の構成の例示的なブロック図である。
牽引車両10は、例えば、内燃機関(エンジン、図示されず)を駆動源とする自動車(内燃機関自動車)であってもよいし、電動機(モータ、図示されず)を駆動源とする自動車(電気自動車、燃料電池自動車等)であってもよいし、それらの双方を駆動源とする自動車(ハイブリッド自動車)であってもよい。牽引車両10は、図1に示されるようなスポーツ用多目的車両(Sport Utility Vehicle:SUV)であってもよいし、車両の後ろ側に荷台が設けられている、いわゆる「ピックアップトラック」であってもよい。また、一般的な乗用車であってもよい。牽引車両10は、種々の変速装置を搭載することができるし、内燃機関や電動機を駆動するのに必要な種々の装置(システム、部品等)を搭載することができる。また、牽引車両10における車輪14(前輪14F、後輪14R)の駆動に関わる装置の方式や、数、レイアウト等は、種々に設定することができる。
牽引車両10のリヤバンパ16の例えば車幅方向の中央部の下部からは、被牽引車両12を牽引するための牽引装置18(ヒッチ)が突出している。牽引装置18は牽引車両10の例えばフレームに固定されている。牽引装置18は、一例として、垂直方向(車両上下方向)に立設された先端部が球状のヒッチボール18a(連結部)を備え、このヒッチボール18aに、被牽引車両12に固定された連結部材20の先端部に設けられたカプラ20aが覆い被さる。その結果、牽引車両10と被牽引車両12とが連結されるとともに、牽引車両10に対して被牽引車両12が車幅方向に揺動(旋回)可能となっている。つまり、ヒッチボール18aは、被牽引車両12(連結部材20)に前後左右の動きを伝え、また加速や減速のパワーを受け止めることになる。
被牽引車両12は、例えば、図1に示すように、搭乗空間、居住区間、収納空間等のうち少なくとも一つを含む箱形タイプであってもよいし、荷物(例えば、コンテナやボート等)を搭載する荷台タイプであってもよい。図1に示す被牽引車両12は、一例として一対のトレーラ車輪22を備える。図1の被牽引車両12は、駆動輪や操舵輪を含まない従動輪を備える従動車両である。
牽引車両10の後側のリヤハッチ10aの下方の壁部には、撮像部24が設けられている。撮像部24は、例えば、CCD(Charge Coupled Device)やCIS(CMOS Image Sensor)等の撮像素子を内蔵するデジタルカメラである。撮像部24は、所定のフレームレートで動画データ(撮像画像データ)を出力することができる。撮像部24は、広角レンズまたは魚眼レンズを有し、水平方向には例えば140°~220°の範囲を撮像することができる。また、撮像部24の光軸は斜め下方に向けて設定されている。よって、撮像部24は、牽引車両10の後端部、連結部材20および被牽引車両12の少なくとも前端部を含む領域(例えば、二点鎖線で示す範囲、図1参照)を逐次撮影し、撮像画像データとして出力する。撮像部24によって撮像された撮像画像データは、被牽引車両12の認識および、牽引車両10と被牽引車両12の連結状態(例えば、連結角度、連結の有無等)の検出に用いることができる。この場合、専用の検出装置を搭載することなく、撮像部24の撮像した撮像画像データに基づき牽引車両10と被牽引車両12との連結状態や連結角度が取得できる。その結果、システム構成が簡略化できるとともに、演算処理や画像処理の負荷が軽減できる。
図3に示されるように、牽引車両10の車室内には、表示装置26や、音声出力装置28等が設けられている。表示装置26は、例えば、LCD(Liquid Crystal Display)や、OELD(Organic Electroluminescent Display)等である。音声出力装置28は、一例として、スピーカである。また、本実施形態では、一例として、表示装置26は、透明な操作入力部30(例えば、タッチパネル等)で覆われている。運転者(ユーザ)は、操作入力部30を介して表示装置26の画面に表示される映像(画像)を視認することができる。また、運転者は、表示装置26の画面に表示される映像(画像)に対応した位置で手指等により操作入力部30を触れたり押したり動かしたりして操作することで、操作入力(指示入力)を実行することができる。また、本実施形態では、一例として、表示装置26や、音声出力装置28、操作入力部30等は、ダッシュボードの車幅方向(左右方向)の中央部に位置されたモニタ装置32に設けられている。モニタ装置32は、スイッチや、ダイヤル、ジョイスティック、押しボタン等の操作入力部(図示されず)を有することができる。また、モニタ装置32とは異なる車室内の他の位置に音声出力装置(図示されず)を設けることができるし、モニタ装置32の音声出力装置28と他の音声出力装置から、音声を出力することができる。また、本実施形態では、一例として、モニタ装置32は、ナビゲーションシステムやオーディオシステムと兼用されているが、周辺監視装置用のモニタ装置を、これらシステムとは別に設けてもよい。
周辺監視システム100は、牽引車両10に被牽引車両12が連結されている場合、牽引車両10と被牽引車両12の連結角度を検出することができる。周辺監視システム100は、検出した連結角度に基づき、運転者に牽引車両10と被牽引車両12との連結状態を通知する。周辺監視システム100は、例えば、表示装置26において、被牽引車両12が連結されていることを示す、被牽引車両12に対応するトレーラアイコンを表示することができる。この場合、牽引車両10を示す自車アイコンと被牽引車両12を示すトレーラアイコンとを表示するとともに、牽引車両10と被牽引車両12との連結角度を自車アイコンとトレーラアイコンの連結状態によって表示してもよい。また、この表示と共に例えば、連結角度を数値として表示してもよい。また周辺監視システム100は、検出した連結角度に基づき、被牽引車両12が連結された牽引車両10が後退する場合に、被牽引車両12の移動方向(旋回方向)を推定することができる。この場合、周辺監視システム100は、表示装置26に被牽引車両12の移動予測線を表示したり、トレーラアイコンを移動予測位置に表示したりしてもよい。したがって、周辺監視システム100は、上述したように被牽引車両12の移動予測等を行うために、牽引車両10に対する被牽引車両12の連結角度を正確に検出する機能を備える。連結角度の検出の詳細は後述する。
牽引車両10の車室内には、表示装置26とは別の表示装置34が設けられていてもよい。表示装置34は、例えば、ダッシュボードの計器盤部に設けられてもよい。表示装置34の画面の大きさは、表示装置26の画面の大きさよりも小さくすることができる。表示装置34は、牽引車両10に連結された被牽引車両12が認識できた場合に表示される被牽引車両12を示すトレーラアイコンやマーク、メッセージを簡易的に表示したり、連結角度の詳細(例えば,数値)を表示したりすることができる。表示装置34で表示される情報量は、表示装置26で表示される情報量より少なくてもよい。表示装置34は、例えば、LCDや、OELD等である。また、表示装置34は、LED等で構成されてもよい。
また、周辺監視システム100(周辺監視装置)では、ECU36(Electronic Control Unit)や、モニタ装置32の他、舵角センサ38、シフトセンサ40、車輪速センサ42等が、電気通信回線としての車内ネットワーク44を介して電気的に接続されている。車内ネットワーク44は、例えば、CAN(Controller Area Network)として構成されている。ECU36は、車内ネットワーク44を介して、舵角センサ38、シフトセンサ40、車輪速センサ42等の検出結果や、操作入力部30等の操作信号等を受け取り、制御に反映させることができる。
ECU36は、例えば、CPU36a(Central Processing Unit)や、ROM36b(Read Only Memory)、RAM36c(Random Access Memory)、SSD36d(Solid State Drive、フラッシュメモリ)、表示制御部36e、音声制御部36f等を有している。CPU36aは、例えば、表示装置26,34で表示される画像に関連した表示処理や、牽引車両10に連結された被牽引車両12の認識(検出)処理、牽引車両10と被牽引車両12との連結角度の検出処理等の他、連結角度に基づくトレーラアイコンの表示処理等、各種の演算処理および制御を実行することができる。CPU36aは、ROM36b等の不揮発性の記憶装置にインストールされ記憶されたプログラムを読み出し、当該プログラムにしたがって演算処理を実行することができる。RAM36cは、CPU36aでの演算で用いられる各種のデータを一時的に記憶する。また、表示制御部36eは、ECU36での演算処理のうち、主として、表示装置26,34で表示される画像データの合成等を実行する。また、音声制御部36fは、ECU36での演算処理のうち、主として、音声出力装置28で出力される音声データの処理を実行する。また、SSD36dは、書き換え可能な不揮発性の記憶部であって、ECU36の電源がオフされた場合にあってもデータを記憶することができる。なお、CPU36aや、ROM36b、RAM36c等は、同一パッケージ内に集積されうる。また、ECU36は、CPU36aに替えて、DSP(Digital Signal Processor)等の他の論理演算プロセッサや論理回路等が用いられる構成であってもよい。また、SSD36dに替えてHDD(Hard Disk Drive)が設けられてもよいし、SSD36dやHDDは、ECU36とは別に設けられてもよい。
舵角センサ38は、例えば、牽引車両10のステアリングホイール等の操舵部の操舵量(牽引車両10の舵角)を検出するセンサである。舵角センサ38は、例えば、ホール素子などを用いて構成される。ECU36は、運転者による操舵部の操舵量や、自動操舵時の各車輪14の操舵量等を、舵角センサ38から取得して各種制御を実行する。なお、舵角センサ38は、操舵部に含まれる回転部分の回転角度を検出する。
シフトセンサ40は、例えば、変速操作部(例えば、シフトレバー)の可動部の位置を検出するセンサである。シフトセンサ40は、可動部としての、レバーや、アーム、ボタン等の位置を検出することができる。シフトセンサ40は、変位センサを含んでもよいし、スイッチとして構成されてもよい。周辺監視システム100は、牽引車両10と被牽引車両12との連結角度を通知する際に、牽引車両10の状態として、操舵角を表示したり、現在の状態が前進時の状態か、後進時に状態かを併せて表示してもよい。この場合、ユーザに牽引車両10及び被牽引車両12の状態をより詳細に認識させることができる。
車輪速センサ42は、車輪14の回転量や単位時間当たりの回転数を検出するセンサである。車輪速センサ42は、各車輪14に配置され、各車輪14で検出した回転数を示す車輪速パルス数をセンサ値として出力する。車輪速センサ42は、例えば、ホール素子などを用いて構成されうる。ECU36は、車輪速センサ42から取得したセンサ値に基づいて牽引車両10の移動量などを演算し、各種制御を実行する。CPU36aは、各車輪速センサ42のセンサ値に基づいて牽引車両10の車速を算出する場合、四輪のうち最も小さなセンサ値の車輪14の速度に基づき牽引車両10の車速を決定し、各種制御を実行する。また、CPU36aは、四輪の中で他の車輪14に比べてセンサ値が大きな車輪14が存在する場合、例えば、他の車輪14に比べて単位期間(単位時間や単位距離)の回転数が所定数以上多い車輪14が存在する場合、その車輪14はスリップ状態(空転状態)であると見なし、各種制御を実行する。なお、車輪速センサ42は、図示を省略したブレーキシステムに設けられている場合もある。その場合、CPU36aは、車輪速センサ42の検出結果をブレーキシステムを介して取得してもよい。車輪速センサ42のセンサ値によって取得される車速は、後述するオプティカルフローが取得できるか否かを判定する際にも利用される。
なお、上述した各種センサ等の構成や、配置、電気的な接続形態等は、一例であって、種々に設定(変更)することができる。
図4は、ECU36に含まれるCPU36aにおいて実現される周辺監視処理部50の構成を例示的かつ模式的に示すブロック図である。CPU36aは、牽引車両10に連結される被牽引車両12の連結角度を検出するためのモジュールとしての周辺監視処理部50をROM36b等の記憶装置にインストールされ記憶されたプログラムを読み出し、それを実行することで実現する。なお、周辺監視処理部50は、さらに詳細モジュールとして、取得部52、領域設定部54、検出部56、テンプレート処理部58、出力処理部60等を含む。
取得部52は、牽引車両10と被牽引車両12との連結角度を検出するために必要な各種情報の収集処理を実行する。取得部52は、例えば、画像取得部52a、車速取得部52b、情報取得部52c等を含む。
画像取得部52aは、牽引車両10の後部に設置された撮像部24が撮像する牽引車両10の後方画像(後方領域の画像)を取得する。また、画像取得部52aは、俯瞰画像生成部62を備える。俯瞰画像生成部62は、撮像部24が撮像した撮像画像データに周知の視点変換処理を施して、例えば、牽引車両10と被牽引車両12との間の領域を真上から見下ろしたような俯瞰画像(俯瞰画像データ)を生成する。
車速取得部52bは、車輪速センサ42から提供されるセンサ値(例えば、車輪速パルス数の積算値)に基づき牽引車両10(被牽引車両12)の車速を取得する。なお、別の実施形態では、車速を画像取得部52aが取得する撮像部24の撮像した後方画像、または他の位置、例えば牽引車両10の前方や側方に設置された撮像部の撮像した画像(前方画像や側方画像)に基づいて算出してもよい。したがって、車速取得部52bは、牽引車両10が移動していることを示す自車移動情報を取得する「自車移動状態取得部」の一例である。
情報取得部52cは、画像取得部52aが取得した画像データに基づき連結角度を検出するための類似点情報を取得したり、類似点情報の分類をしたりすることで、二次的な情報を取得する。情報取得部52cは、オプティカルフロー取得部64a、分類処理部64b等を含む。
オプティカルフロー取得部64aは、俯瞰画像生成部62により生成された俯瞰画像データに基づいて、一つ以上の局所領域において所定条件を満たす類似点情報であるオプティカルフローを取得(算出)する。オプティカルフローは、例えば、俯瞰図画に写っている物体(注目点、特徴点)の動きをベクトルで示した類似点情報である。被牽引車両12を連結した牽引車両10が走行している場合に、連結部材20および連結部材20の周辺のオプティカルフローを算出すると、牽引車両10と一体的に移動する被牽引車両12および連結部材20に対応する部分は実質的に停止状態を示す停止点情報としてのオプティカルフローが取得される。一方、牽引車両10、被牽引車両12、連結部材20以外の部分(動く部分である路面等)は、移動状態を示す移動点情報としてのオプティカルフローが取得される。したがって、オプティカルフローの状態を検出することで、連結部材20の存在する位置、すなわち、ヒッチボール18aを基準とする牽引車両10と被牽引車両12との連結角度を検出することができる。
なお、被牽引車両12(連結部材20)は、ヒッチボール18aを中心として旋回可能である。したがって、被牽引車両12が旋回している場合や路面状態等に基づく振動等が発生している場合に、連結部材20が旋回方向に移動する場合がある。この場合、牽引車両10と被牽引車両12とが、同様な挙動を示す場合、いわゆる、「釣合状態」である場合を除いて、オプティカルフローは、旋回方向のベクトルを示すことになる。つまり、ヒッチボール18aを中心とする同心円軌道上で円周方向に長さを有する移動点情報としてのオプティカルフローが算出される場合もある。本実施形態においては、ヒッチボール18a(連結部)を中心とする同心円軌道上に沿って所定長以下の移動を示すオプティカルフロー(移動点情報)も、実質的に停止状態であることを示すオプティカルフロー(停止時点情報)と同様に、連結部材20が存在する位置を示すオプティカルフローとして認識するものとする。なお、この場合、所定長とは、オプティカルフローを算出する場合に、比較する俯瞰画像データの取得間隔(時間)で周方向に移動する長さを基準として決めることができる。
分類処理部64bは、オプティカルフロー取得部64aが算出したオプティカルフローのうち、同心円軌道に沿う方向のオプティカルフローをさらに分類することで、連結角度の検出に関連しない、いわゆるノイズフローを排除する。つまり、分類処理部64bは、連結部材20が存在位置を推定する場合の検出処理の効率化および高精度化を行う。前述したように、被牽引車両12が旋回している場合、連結部材20が存在する位置に対応するオプティカルフローは、ヒッチボール18aを中心とする同心円軌道上で円周方向に向くベクトルを示す。前述したように、オプティカルフロー取得部64aは、俯瞰画像生成部62により生成された最新の俯瞰画像データと、過去(例えば100ms前)に生成した俯瞰画像データとを比較して、オプティカルフローを算出する。このとき、円周方向には向くが、旋回方向とは異なる方向を向くノイズフローが含まれる場合がある。ノイズフローは、例えば、路面上の異なる特徴点を同じ特徴点と誤認識した場合等に生じる。このような、ノイズフローの向きは様々であり一定しない。逆に、旋回する連結部材20に対応するオプティカルフローは、ほぼ同じ方向を向く。したがって、同じ方向を向くオプティカルフローの数(存在数)を計数して、最も計数値の大きな方向のオプティカルフローを連結角度の検出処理対象とすることでノイズフローの排除ができるとともに、検出処理の効率化および高精度化が行える。
領域設定部54は、牽引車両10と被牽引車両12との連結角度を検出する際にオプティカルフローの数等の計数を行う場合の処理対象領域である旋回探索領域の設定を行う。領域設定部54は、例えば、探索領域設定部54a、詳細探索領域設定部54b、分割設定部54c、領域幅設定部54d等を含む。
探索領域設定部54aは、オプティカルフロー取得部64aで算出されたオプティカルフローに基づいて牽引車両10と被牽引車両12との連結角度を検出する際に、ヒッチボール18aを中心として旋回方向に所定間隔(例えば、±80°の範囲で、1°間隔)で複数設定される、例えば矩形の旋回探索領域(関心領域:ROI)を設定する。所定間隔で複数設定される旋回探索領域の中から停止状態のオプティカルフロー(停止点情報)および同心円軌道上で周方向に向く所定長以下のオプティカルフロー(移動点情報)が最も多く含まれる旋回探索領域を選ぶことで、連結部材20の存在する位置、すなわち連結角度を取得することができる。
詳細探索領域設定部54bは、探索領域設定部54aで設定された旋回探索領域に基づいて検出された連結角度の精度をさらに向上させる補正処理のため、検出された連結角度を基準として、探索領域設定部54aで設定される旋回探索領域よりさらに細かい間隔の詳細旋回探索領域を複数設定する。詳細探索領域設定部54bは、例えば、探索領域設定部54aで設定された旋回探索領域を用いて検出された連結角度が「20°」であった場合、この「20°」を基準とする詳細旋回探索領域を、ヒッチボール18aを中心として、例えば、0.1°間隔で、連結部材20°±5°の範囲に設定する。そして、複数の詳細旋回探索領域の中から一つの詳細旋回探索領域を選択することで、さらに高精度の連結角度の検出を可能にする。
分割設定部54cは、俯瞰画像生成部62で生成された俯瞰画像に各詳細旋回探索領域を重ねた場合に、各詳細旋回探索領域で規定される探索対象画像を第1分割画像と第2分割画像に分割する設定を行う。分割設定部54cは、例えば、ヒッチボール18a(連結部)を通り詳細旋回探索領域の長手方向に延びる分割線で第1分割画像と第2分割画像に分割する。牽引車両10と被牽引車両12を連結する連結部材20(連結バー)は、牽引バランスを考慮して左右対称に形成される場合が多い。したがって、詳細旋回探索領域の分割線と連結部材20との長手方向の中心線とが一致する場合、第1分割画像と第2分割画像とは、同じ形状である可能性が高い。つまり、第1分割画像と第2分割画像とを比較し、その左右対称性(類似性)を評価し、対称性を示す対称性評価値が最大になるような詳細旋回探索領域を検出することで、その詳細旋回探索領域に対応する角度が牽引車両10に対する被牽引車両12の連結角度(詳細連結角度)であると推定することができる。なお、類似性の判定は、周知の類似度計算方法である、例えば、SSD(画素値の差分の二乗和を用いる手法)、SAD(画素値の差分の絶対値の和を用いる手法)、NCC(正規化相互相関)等の手法を用いることができる。
領域幅設定部54dは、詳細探索領域設定部54bで設定する詳細旋回探索領域の領域幅を、ヒッチボール18a(連結部)を中心とする同心円軌道方向に複数種類設定する。牽引車両10に連結する被牽引車両12は、前述したように用途に応じて箱形タイプや荷台タイプ等があると共に、被牽引車両12の大きさや形状も様々であり、被牽引車両12応じて連結部材20の形状や大きさも異なる。したがって、分割設定部54cで詳細旋回探索領域を第1分割画像と第2分割画像とに分割した場合に、対象となる連結部材20の幅方向について画像を詳細旋回探索領域に収めることが望ましい。連結部材20の画像が詳細旋回探索領域に収まることで、第1分割画像と第2分割画像との対称性の判定の精度を向上することができる。
検出部56は、オプティカルフローの算出結果や左右対称性の評価結果に基づき、牽引車両10と被牽引車両12との連結角度や被牽引車両12の連結の有無等を検出する。検出部56は、例えば、計数部56a、角度検出部56b、詳細角度検出部56c、連結判定部56d等を含む。
計数部56aは、オプティカルフロー取得部64aが算出したオプティカルフローに対して、探索領域設定部54aが設定する旋回探索領域を適用し、各旋回探索領域に連結部材20を示すオプティカルフローが幾つ存在するか計数する。すなわち、停止状態を示すオプティカルフロー(停止点情報)およびヒッチボール18aを中心とする同心円軌道上を周方向に移動することを示す所定長以下のオプティカルフロー(移動点情報)の数を計数する。また、計数部56aは、分割設定部54cにより分割された第1分割画像と第2分割画像とを比較し、左右対称性を示す対称性評価値(対称点、評価マーク)の数を計数する。
角度検出部56bは、計数部56aにより計数された、連結部材20を示すオプティカルフローの数に基づき、最も計数値の大きい旋回探索領域を抽出する。そして、抽出された旋回探索領域に対応する角度を牽引車両10に対する被牽引車両12の連結角度として決定する。
また、詳細角度検出部56cは、計数部56aが計数した、対称性評価値(対称点、評価マーク)の数が最大になる詳細旋回探索領域に対応する角度を牽引車両10に対する被牽引車両12の詳細連結角度として決定する。すなわち、角度検出部56bが決定した連結角度をさらに細分化された詳細旋回探索領域に基づく角度によって補正して、より詳細な連結角度を検出する。
連結判定部56dは、計数部56aより計数されたオプティカルフローの計数値が複数の旋回探索領域のいずれにおいても、所定閾値以下の場合、牽引車両10に対して被牽引車両12が未連結であると判定する。つまり、専用のセンサ等を設けることなく、牽引車両10と被牽引車両12との連結角度の検出処理過程で、被牽引車両12の未連結を件検出することができる。
テンプレート処理部58は、今回の連結角度の検出の結果、すなわち、連結部材20(連結バー)の連結角度を示す旋回探索領域に写っている連結部材20の画像(形状)をテンプレートとして、例えば、RAM36cやSSD36d等の記憶部に登録する。連結角度の検出処理は、短周期で連続して実行されるため、今回の検出処理で検出された連結角度と次回の検出処理で検出される連結角度との差は僅かであると見なせる。したがって、次回の連結角度の検出処理を実行する際に角度検出部56bは、新たに探索領域設定部54aで設定された旋回探索領域に写り込んでいる連結部材20の画像と、記憶した前回の検出結果に基づくテンプレートに写り込んでいる連結部材20の画像とのマッチング処理を行い、最も類似度の高い旋回探索領域を選択する。そして、選択した旋回探索領域に対応する角度を、最新の連結角度とする。このように、テンプレートを用いたマッチング処理を行うことにより、オプティカルフローを利用することなく、同様な精度で連結角度の検出が可能になり、処理負荷の軽減が可能になる。なお、テンプレート処理部58は、テンプレートを用いて連結角度を検出した場合、連結角度を検出した際の旋回探索領域に写り込んでいる連結部材20の画像(形状)を新たなテンプレートとして、ROM36bやSSD36d等の登録を更新する。そして、角度検出部56bは、次回の連結角度の検出処理で最新のテンプレートを利用するようにする。
出力処理部60は、検出部56で検出された連結角度を車載の他の制御部や制御システム等に出力する。例えば、出力処理部60は、自車アイコンに対するトレーラアイコンの向き(傾き)を表示する場合やリアルタイムで被牽引車両12の連結状態を表示する場合に、連結角度情報を表示制御部36eに提供する。また、出力処理部60は、被牽引車両12が、いわゆる「ジャックナイフ」状態になる場合に、連結角度情報を音声制御部36fに提供する。
上述した取得部52、領域設定部54、検出部56、テンプレート処理部58、出力処理部60等のモジュールは、機能ごとに便宜上分類したものであり、さらに詳細に分類してもよいし、幾つかのモジュールを統合してもよい。同様に、画像取得部52a、車速取得部52b、情報取得部52c、探索領域設定部54a、詳細探索領域設定部54b、分割設定部54c、領域幅設定部54d、計数部56a、角度検出部56b、詳細角度検出部56c、連結判定部56d等は、機能ごとに便宜上分類したものであり、さらに詳細に分類してもよいし、幾つかのモジュールを統合してもよい。
以上のように構成される周辺監視処理部50の各構成の動作を図5~図13を用いて、さらに詳細に説明する。
画像取得部52aは、牽引車両10の後部に設置された撮像部24が撮像する牽引車両10の後方画像(後方領域の画像)を取得する。撮像部24は、牽引車両10の後部に固定され、撮像方向や撮像範囲が固定されている。そのため、図5に示すように、撮像部24が撮像する画像Pの所定位置(図5の場合、下端側領域)には、牽引車両10のリヤバンパ16、牽引装置18(ヒッチボール18a)等が写ることになる。また、被牽引車両12が牽引車両10に連結されている場合、画像Pにおいて、リヤバンパ16等を基準に所定の領域に被牽引車両12の前方部の一部および連結部材20(カプラ20a)が写ることになる。なお、図5は、牽引車両10に対して被牽引車両12が真後ろに位置している状態が示されている。
画像取得部52aは、俯瞰画像生成部62を用いて、撮像部24から取得した撮像画像データに対して、視点変換処理を施して、例えば、図6や図7に示すような牽引車両10と被牽引車両12との間の領域を真上から見下ろしたような俯瞰画像(俯瞰画像データ)を生成する。そして、画像取得部52aは、連結角度の検出用のデータとして、他のモジュールに提供する。俯瞰画像生成部62は、俯瞰画像データを生成する場合、例えば、ヒッチボール18aの高さを基準とする俯瞰画像データを生成する。ヒッチボール18aの高さを基準とする俯瞰画像データを生成することで、検知対象である被牽引車両12の連結部材20の高さにおけるオプティカルフローの算出が可能になる。その結果、オプティカルフローの向く方向や移動の大きさを正確に判定可能になり、連結角度の検知精度を向上することができる。また、撮像部24がヒッチボール18aの直上に設置されていない場合、例えば、車幅方向のいずれかの方向に片寄って設置されていた場合、検知対象である連結部材20を斜視することになる。この場合、例えば、俯瞰画像データを路面基準で生成した場合、連結部材20が路面に投影されることになり、画像上の連結角度と実際の連結角度がずれてしまう場合がある。一方、俯瞰画像データをヒッチボール18aの高さ基準で生成した場合、画像上の連結角度と実際の連結角度とがずれることが防止され、正確な連結角度の検出が可能になる。
なお、他の実施形態では、撮像部24から取得した撮像画像データに基づく画像P(図5のような実画像)を連結角度の検出用のデータとして、他のモジュールに提供してもよい。俯瞰画像データを利用する場合、実画像を利用する場合に比べて、処理負荷が高くなるが、オプティカルフロー(類似点情報)のベクトル方向や移動量をより正確に検出することが可能になり、連結角度の検出精度を向上することができる。
図6は、俯瞰画像生成部62が生成した俯瞰画像PFに対して、オプティカルフロー取得部64aが算出したオプティカルフロー70(類似点情報)の概念を示した例示的かつ模式的な図である。牽引車両10に被牽引車両12および連結部材20が連結されている場合、牽引車両10と被牽引車両12および連結部材20は、牽引車両10の走行方向の移動は規制されるため、図6に示されるように、連結部材20上のオプティカルフロー70は基本的には動かない。したがって、連結部材20(カプラ20a、メインバー20b、サイドバー20c,20d、ブラケット20e)上のオプティカルフロー70は、実質的に点または、所定長さ以下(所定量以内の移動量)のショートフロー70aとして算出される。一方、牽引車両10、被牽引車両12、連結部材20以外の部分のオプティカルフロー70、図6の場合、例えば、路面上のオプティカルフロー70は牽引車両10の移動方向に向く、牽引車両10の移動量に応じて長さのロングフロー70bとして表示される。つまり、ショートフロー70aが存在する位置に連結部材20が存在すると推定することができる。なお、図6においては、牽引車両10(リヤバンパ16)および被牽引車両12(本体)に対応する部分のオプティカルフローの表示は図示を省略している。
なお、図6に示す例の場合、俯瞰画像PFの全体に対してオプティカルフロー70の算出を行っている。他の実施形態では、オプティカルフロー取得部64aは、俯瞰画像PFのうち、特定の領域のみでオプティカルフロー70を算出するようにしてもよい。例えば、撮像部24は牽引車両10に固定されているため、俯瞰画像PFにおける牽引装置18(ヒッチボール18a)の位置は一定であり、ヒッチボール18aに連結される連結部材20の位置は、旋回範囲を考慮すれば、概ね推定できる。したがって、オプティカルフロー取得部64aは、連結部材20の旋回可能領域についてのみ、オプティカルフロー70を算出するようにしてもよい。また、別の実施形態では、オプティカルフロー取得部64aは、オプティカルフロー70の算出時にショートフロー70aのみを算出するようにしてもよい。ロングフロー70bは、牽引車両10の速度とオプティカルフローを算出する際に比較する2つ俯瞰画像データの時間的間隔に基づき、ベクトルの長さが推定できる。したがって、オプティカルフロー取得部64aは、オプティカルフロー70の算出時に所定長以上のオプティカルフロー70および牽引車両10の移動方向を向くオプティカルフロー70を除外するようにしてもよい。このように、算出するオプティカルフロー70を制限することにより、計数部56aの計数処理の負荷を軽減することができる。
このようにオプティカルフロー70が算出された俯瞰画像PFに対して、図7に示すように、探索領域設定部54aにより旋回探索領域72を複数設定する。そして、各旋回探索領域72に含まれるショートフロー70aの数を計数部56aが計数する。図7の場合、旋回探索領域72aが最も多くのショートフロー70aを含んでいる場合が示されている。したがって、角度検出部56bは、旋回探索領域72のうち旋回探索領域72aに対応する角度が連結部材20の存在する角度、すなわち連結部材20の連結角度θであると推定する。なお、この場合、連結角度θは、ヒッチボール18aを通る牽引車両10の前後方向に延びる車両中心線Mと連結部材20の長手方向に延びる部材中心線Nとが形成する鋭角の角度である。図7に示す旋回探索領域72の間隔は、図示の都合上粗く示しているが、例えば「1°」間隔で連結部材20の左右の旋回可能範囲で設定するものとする。
前述したように、被牽引車両12が旋回中の場合や被牽引車両12が振動により左右に移動している場合、ショートフロー70aは、ヒッチボール18aを中心とする同心円軌道上で周方向に向くベクトルとして示される。この場合、上述したように、連結部材20に対応する部分以外にショートフロー70aと類似するノイズフローが存在する場合がある。ノイズフローは、様々な方向を向くため、分類処理部64bは、例えば、図7に示すような、角度区分でショートフロー70aを複数の方向群に分類する。図7に示す例の場合、方区群として、45deg間隔で、区分0deg、区分45deg、区分90deg、区分135deg、区分180deg、区分225deg、区分270deg、区分315degの8区分に分類する例を示している。したがって、特定の方向を向くショートフロー70aが最も多く存在する区分に属するショートフロー70aが、ノイズフロー以外の連結部材20の連結角度を検出するために参照するべきオプティカルフローであると推定することができる。図8は、図7の区分にしたがって、ショートフロー70aを分類した例を示すヒストグラムである。図9の場合、45degの方向を向くショートフロー70aが最も多く、区分45degに含まれるショートフロー70aが連結部材20の連結角度を検出する場合に有効なショートフロー70aであることを示している。
計数部56aは、探索領域設定部54aが設定する複数の旋回探索領域ごとに、区分45degに含まれるショートフロー70a(例えば45deg)の数を計数する。そして、角度検出部56bは、最も多くのショートフロー70aを含む旋回探索領域に対応する角度を連結部材20の連結角度として検出する。このように、ショートフロー70aを角度区分によって分類することで、計数対象となるショートフロー70aの絞り込みが可能になり、計数部56aの処理負荷の軽減ができると共に、ノイズフローの排除により、計数値の信頼性、つまり、連結角度の信頼性の向上に寄与することができる。
なお、前述したように、オプティカルフローは、極短い時間間隔(例えば100ms)で取得した2つの撮像画像データ(俯瞰画像データ)の比較により算出しているため、方向分類精度にばらつきが生じる場合がある。このような場合に対応するため、計数部56aは、方向群(区分)に含まれる移動方向の数が多い上位所定数の方向群(区分)に含まれるショートフロー70a(移動点情報)を計数の対象としてもよい。図9の場合、例えば、最も多い区分45degと2番目に多い区分90degを計数の対象とする。その結果、ノイズフローを排除しつつ、ショートフロー70aの計数による連結角度の検出精度を向上に寄与することができる。なお、計数対象とする方向群(区分)の数は適宜変更可能であり、3区分以上でもよいし、1区分でもよい。
次に、図10~図12を用いて、詳細探索領域設定部54bが設定する詳細旋回探索領域74を用いて、探索領域設定部54aが設定した旋回探索領域に基づいて検出された連結角度の精度をさらに向上させる補正処理について説明する。
探索領域設定部54aで設定する旋回探索領域72は、オプティカルフロー70の計数の都合上、角度間隔を例えば、1°間隔等のように比較的粗く設定している。つまり、検出される連結角度も1°単位なる。そこで、図10に示すように、詳細角度検出部56cは、探索領域設定部54aが設定した旋回探索領域72の角度間隔(例えば、1°)より細かい角度間隔(例えば、0.1°)で詳細旋回探索領域74を設定する。そして、設定した詳細旋回探索領域74を分割設定部54cにより分割して、画像の左右対象性を判定することで詳細連結角度の検出(連結角度の補正)を行う。
図10は、詳細探索領域設定部54bによる詳細旋回探索領域74を俯瞰画像PFにおいて、旋回探索領域72を用いて角度検出部56bが検出した連結角度を基準として、ヒッチボール18aを中心として設定した例示的かつ模式的な図である。なお、図10に示す詳細旋回探索領域74の間隔は、図示の都合上粗く示しているが、例えば、「0.1°」間隔等で設定していると共に、設定範囲は、角度検出部56bが検出した連結角度に対して、例えば、±5°の範囲で設定されるものとする。
図11は、図10に示される詳細旋回探索領域74に対応した探索対象画像76を例示的かつ模式的に示す図である。分割設定部54cは、俯瞰画像PFに各詳細旋回探索領域74を重ねた場合に、各詳細旋回探索領域74で規定される探索対象画像76を、ヒッチボール18a(連結部)を通り詳細旋回探索領域74の長手方向に延びる分割線78で第1分割画像80aと第2分割画像80bに分割する。図11は、図示の都合上、図10に示す詳細旋回探索領域74(74a~74e)に対応する探索対象画像76(76a~76e)をのみを示している。実際には、例えば、「0.1°」間隔で詳細旋回探索領域74の設定数に対応した複数の探索対象画像76が評価対象となる。
図11は、第1分割画像80aと第2分割画像80bの左右対象性の評価の一例として、分割設定部54cが詳細旋回探索領域74を第1分割画像80aと第2分割画像80bとに分割する際に、第1分割画像80aと第2分割画像80bのいずれか一方を分割線78を軸として反転させている。前述したように、牽引車両10と被牽引車両12を連結する連結部材20(連結バー)は、牽引バランスを考慮して左右対称に形成される場合が多い。したがって、探索対象画像76の分割線78と連結部材20との長手方向の中心線とが一致する場合、第1分割画像80aと第2分割画像80bとは、同じ形状である可能性が高い。つまり、第1分割画像80aと第2分割画像80bの類似性(対称性)が高いと判定できる。
例えば、探索対象画像76cにおいて、第1分割画像80aに含まれるカプラ20a、メインバー20b、ブラケット20eおよびサイドバー20cに対応する部分と、第2分割画像80b含まれるカプラ20a、メインバー20b、ブラケット20eおよびサイドバー20dに対応する部分とで、類似性(対称性)の高い内容が示されている。それに対し、探索対象画像76bの第1分割画像80aには、サイドバー20cが表れているが、第2分割画像80bには、サイドバー20cに対する対称位置にサイドバー20dは表れていない(ずれている)。また、第2分割画像80bに表れているブラケット20eは第1分割画像80aに表れていない。つまり、第1分割画像80aと第2分割画像80bの類似性(対称性)は低いと判定できる。
図12は、詳細角度検出部56cが、反転させた一方の画像(第2分割画像80b)と非反転の他方の画像(第1分割画像80a)との対称性を評価して、対称性ありと評価された位置に評価マーク82を付した例を示している。上述したように、探索対象画像76cは、第1分割画像80aと第2分割画像80bとで対称性の高い部分が多く、評価マーク82が多数付される。一方、探索対象画像76c以外は、第1分割画像80aと第2分割画像80bとで対称性の高い部分が少なく評価マーク82が少ない。つまり、詳細角度検出部56cは、評価マーク82の計数値の最も高い探索対象画像76cが、分割線78と連結部材20の長手方向の中心線とが一致している可能性が高く、この探索対象画像76cに対応する探索対象画像74cの角度が連結部材20の連結角度であると推定することができる。したがって、詳細角度検出部56cは、角度検出部56bが検出した、例えば1°単位の連結角度を0.1°単位の詳細連結角度に補正して検出していることになる。なお、類似性の判定は、周知の類似度計算方法である、例えば、SSD、SAD、NCC等の手法を用いて実行可能である。
前述した、オプティカルフローを用いて連結角度を検出する場合、連結部材20にハンドル等の左右非対称の付属物が付いていた場合、その部分にもショートフロー70aが表れ、評価の対象になり評価精度の低下を招く場合がある。一方、左右対称性を用いて連結角度の検出を行う場合には、上述のような非対称の付属物の影響を排除または軽減することができる。したがって、より信頼性の高い連結角度の詳細検出が可能になる。
なお,図11に示すように、第1分割画像80aと第2分割画像80bとの対称性の比較を行う場合、比較対象となる連結部材20の幅方向の画像が探索対象画像76、つまり詳細旋回探索領域に収まることが望ましい。したがって、領域幅設定部54dは、図13に示すように、連結部材20の幅方向にサイズの異なる複数の詳細旋回探索領域84、例えば、4種類の詳細旋回探索領域84a~84dを連結部材20の種類等に応じて設定する。その結果、探索対象画像76の連結部材20に対応する画像が収まり易くなり、第1分割画像80aと第2分割画像80bとの対称性の判定の精度向上を行うことができる。
以上のように構成される周辺監視処理部50による連結角度の検出処理の手順を図14~図16のフローチャートに基づき説明する。
被牽引車両12の連結状態を監視する周辺監視システム100は、通常状態において停止モードであり(S100)、運転者等のユーザによりトレーラガイド機能を有効にする要求操作が、例えば操作入力部30等を介して実行された場合(S102のYes)、待機モードに移行する(S104)。待機モードでは、例えば、表示装置26の表示領域の表示が、停止モードで通常表示されているナビゲーション画面やオーディオ画面から、撮像部24が撮像する牽引車両10の後方を示す実画像を表示する画面に切り替わる。なお、要求操作が行われない場合(S102のNo)、停止モードが維持され、表示装置26には、ナビゲーション画面やオーディオ画面が表示されたままとなる。
待機モードにおいて、車速が所定の閾値A未満の場合(S106のNo)、例えば、車速が2km/h未満の場合、S104に戻り待機モードが維持される。一方、車速が所定の閾値A以上の場合(S106のYes)、周辺監視処理部50は、連結角度の検出を行う探知モードに移行する(S108)。この場合、表示装置26の表示領域は、例えば2分割され、待機モードで表示していた実画像を片方の分割画面(メイン画面)に表示するとともに、自車アイコンやトレーラアイコンを表示する俯瞰画像を他方の分割画面(サブ画面)に表示する。その結果、ユーザは、現在、被牽引車両12の連結の有無や連結角度の検出処理が実行されていることを視覚的に認識し易くなる。周辺監視処理部50は、検知モードに移行すると、主としてオプティカルフローを用いた連結角度の検知を開始する。前述したようにオプティカルフローを用いた連結角度の検出条件として、牽引車両10が移動していることが必要になる。そして、連結角度の検出が特に必要になるのは、牽引車両10(被牽引車両12)が後退しているときであり、低速で走行している場合が多い。したがって、周辺監視処理部50は、オプティカルフローを用いる初期検知モード処理の開始に先立ち、再度車速が閾値A以上か否か確認し、車速が閾値A未満になった場合や停止した場合(S110のNo)、S104に移行し、待機モードに戻る。
S110において、車速が閾値A以上で維持されていれば(S110のYes)、周辺監視処理部50は、連結角度の初期検知モード処理を開始する(S112)。初期検知モード処理の詳細を図15のフローチャートを用いて説明する。
まず、画像取得部52aは、撮像部24が撮像した牽引車両10の後方を示す撮像画像データを逐次取得し、俯瞰画像生成部62で俯瞰画像データを逐次生成する(S200)。続いて、オプティカルフローによる連結角度の検知処理を開始する(S202)。すなわち、図6に示すように、オプティカルフロー取得部64aは、生成された複数の俯瞰画像データを用いてオプティカルフローを算出する。そして、探索領域設定部54aは、複数の旋回探索領域72を設定し、計数部56aは、ショートフロー70aの数を計数する。計数部56aの計数結果に基づき、角度検出部56bは、ショートフロー70aの計数値が最も多い旋回探索領域72の角度を牽引車両10と被牽引車両12との連結角度として検知(検出)する。連結角度の検知に成功しなかった場合(S204のNo)、例えば、ショートフロー70aの計数値が所定閾値以下であった場合、例えば、ショートフロー70aの数が20点以下であった場合、検出エラーとして失敗回数をカウントする。そして、この失敗回数が所定の閾値B未満(例えば、5回未満)の場合(S206No)、このフローを一旦終了する。一方、失敗回数が所定の閾値B(例えば5回)以上になった場合(S206のYes)、角度検出部56bは、牽引車両10に被牽引車両12が未連結であると判定し(S208)、このフローを一旦終了する。この場合、角度検出部56bは、出力処理部60に被牽引車両12の未連結情報を通知し、出力処理部60は、表示制御部36eを介して表示装置26に、被牽引車両12が未連結であることを通知するアイコンやメッセージを表示させる。また、出力処理部60は、音声制御部36fを介して、音声出力装置28から被牽引車両12が未連結であることを通知する通知音や音声メッセージを出力するようにしてもよい。なお、S202の角度検知処理において、図7、図8で説明した方向群に分類したショートフロー70aを集計したヒストグラムを用いることで、処理負荷の軽減や、検出精度の向上に寄与することができる。
S204において、オプティカルフローによる連結角度の検知に成功した場合(S204のYes)、周辺監視処理部50は、図9~図11で説明したような左右対称性による角度補正を実行する(S210)。すなわち、詳細探索領域設定部54bは、S202で検知した連結角度を中心として、例えば±5°の範囲に、0.1°間隔の詳細旋回探索領域74を設定する。そして、分割設定部54cが各詳細旋回探索領域74を第1分割画像80aと第2分割画像80bとに分割する処理を実行して探索対象画像76を生成する。計数部56aは、生成された各探索対象画像76の評価マーク82の計数を行い、詳細角度検出部56cは、最も計数値の多い探索対象画像76に対応する詳細旋回探索領域74の示す角度を牽引車両10と被牽引車両12との連結角度(詳細連結角度)として検知する(S212)。詳細角度検出部56cは、検知した連結角度(詳細連結角度)を出力処理部60に提供する。そして、テンプレート処理部58は、詳細角度検出部56cが検知した連結角度(詳細連結角度)に対応する詳細旋回探索領域74に写り込んでいる連結部材20の画像をテンプレートとして、RAM36cやSSD36dに登録して(S214)、このフローを一旦終了する。
図14のフローチャートに戻り、S112の初期検知モード処理が終了し、テンプレート処理部58によりテンプレートの登録が済んでいる場合(S114のYes)、今回の検知処理で検知された連結角度の信頼性の確認を行う。例えば、過去の検知処理で検知した連結角度に対して、今回の検知処理で検知した連結角度の変化量が所定の閾値Cを超えている場合(S116のNo)、S112に戻る。例えば、牽引車両10に被牽引車両12を連結させる場合、通常は、検知処理の処理周期に対応する期間内で連結角度が極端に大きく変化することはない。したがって、今回の検知処理で検知した連結角度と前回の検知処理(例えば、1フレーム前の画像を用いた処理)で検知した連結角度との変化量が閾値C(例えば10°)を超えている場合、検出した連結角度の信頼性が低いと判定し、オプティカルフローを用いた初期検知モード処理をやり直す。
S116において、今回の検知処理で検知した連結角度と前回の検知処理で検知した連結角度との変化量が所定の閾値C以下の場合(S116のYes)、周辺監視処理部50は、初期検知モード処理により検出された連結角度は、信頼性があると判定する。そして、周辺監視処理部50は、次の処理タイミングで連結角度の検知処理を初期検知モード処理により検出された連結角度を用いた簡略化した追跡検知モード処理を開始する(S118)。
追跡検知モード処理の詳細を図16のフローチャートを用いて説明する。まず、画像取得部52aは、撮像部24が撮像した牽引車両10の後方を示す撮像画像データを逐次取得し、俯瞰画像生成部62で俯瞰画像データを逐次生成する(S300)。続いて、探索領域設定部54aは、生成された俯瞰画像データに基づく俯瞰画像に、複数の旋回探索領域72を順次重ね合わせる。そして、角度検出部56bは、テンプレート処理部58がRAM36cやSSD36dに登録した最新のテンプレートを読出し、各旋回探索領域72に写り込んでいる画像とテンプレートとのマッチングを実施する(S302)。前述したように、連結角度の検出処理周期は、例えば100ms等のように短いため、初期検知モード処理で、検知された連結部材20の連結角度の状態と、次の処理タイミングにおける連結部材20の連結角度の状態変化は僅かであると見なすことができる。したがって、複数の旋回探索領域72の中からテンプレートとして登録された連結部材20の画像と最も類似する画像を含む旋回探索領域72を選択することで、今回の検出処理における連結部材20の連結角度を検出することが可能になる。なお、テンプレートマッチングにおける類似性の判定は、周知の類似度計算方法である、例えば、SSD、SAD、NCC等の手法を用いて実行可能である。角度検出部56bは、所定値以上の類似度が得られた旋回探索領域72の中から最も類似度の高い旋回探索領域72を選択する。
テンプレートマッチングが成功した場合(S304)、周辺監視処理部50は、図9~図11で説明したような左右対称性による角度補正を実行する(S306)。すなわち、詳細探索領域設定部54bは、S304でマッチングに成功した旋回探索領域72の角度を中心として、例えば±5°の範囲に、0.1°間隔の詳細旋回探索領域74を設定する。そして、分割設定部54cが各詳細旋回探索領域74を第1分割画像80aと第2分割画像80bとに分割する処理を実行して探索対象画像76を生成する。計数部56aは、生成された各探索対象画像76の評価マーク82の計数を行い、詳細角度検出部56cは、最も計数値の多い探索対象画像76に対応する詳細旋回探索領域74の示す角度を牽引車両10と被牽引車両12との連結角度(詳細連結角度)として検知する(S308)。詳細角度検出部56cは、検知した連結角度(詳細連結角度)を出力処理部60に提供する。テンプレート処理部58は、詳細角度検出部56cが検知した連結角度(詳細連結角度)に対応する詳細旋回探索領域74に写り込んでいる連結部材20の画像を最新のテンプレートとして、RAM36cやSSD36dに登録(更新)して(S310)、このフローを一旦終了する。
S304において、テンプレートマッチングに成功しなかった場合(S304のNo)、例えば、今回の処理で生成されている俯瞰画像に対して設定された複数の旋回探索領域72とのマッチングで、所定値以上の類似度が得られない場合、マッチングエラーとして失敗回数をカウントする。そして、この検知失敗回数が所定の閾値D未満(例えば、5回未満)の場合(S3126No)、一旦、このフローを終了する。一方、失敗回数が所定の閾値D(例えば5回)以上になった場合(S312のYes)、周辺監視処理部50は、初期検知モード処理へ移行して初期検知をやり直すため移行フラグをONにする(S314)。この場合、例えば、周辺監視処理部50は、前回処理で登録したテンプレートが適切でない、例えば、連結角度の検出に失敗している可能性があると判定し、テンプレートの取得をやり直す。また、他の可能性として、周辺監視処理部50は、例えば、連結部材20の連結角度が急激に変化し、現在のテンプレートが適用できない可能性があると判定して、テンプレートの取得をやり直す。
このように、前回処理で検出した連結角度に対応する探索対象画像76に写り込んでいる画像に基づくテンプレートを、今回の検出処理で旋回探索領域72の選択に利用することで、オプティカルフローを用いる初期検知モード処理を省略することができるとともに、初期検知モード処理に比べ、処理負荷の軽減ができる。また、処理時間の短縮にも寄与できる。
図14のフローチャートに戻り、追跡探知モード処理において初期検知モード処理への移行フラグがONになっている場合(S120のYes)、S112に移行する。一方、S120において、初期検知モード処理移行フラグがONになっていない場合(S120のNo)、周辺監視処理部50はトレーラガイド機能の要求が継続されているか否かを判定する(S122)。そして、トレーラガイド機能の要求が継続されている場合(S122のYes)、S118に移行し、次の連結角度の検出処理タイミングで追跡探知モード処理を実行する。一方、トレーラガイド機能の要求が継続していない場合(S122のNo)、例えば、ユーザが操作入力部30等を介して、トレーラガイド機能の中止操作を行った場合、このフローを終了する。
なお、上述した初期検知モード処理や追跡探知モード処理において、採用される左右対称性による角度補正を行う場合、第1分割画像80aと第2分割画像80bとの対称性を評価して、対称性ありと評価された位置に評価マーク82を付した。そして、詳細角度検出部56cは、評価マーク82の計数値の最も高い探索対象画像76cが、分割線78と連結部材20との長手方向の中心線とが一致している可能性が高く、探索対象画像76cに対応する探索対象画像74cの角度が連結部材20の連結角度であると推定した。この場合、例えば、連結部材20からケーブル等の付属物が延びていて、その付属物が偶然左右対称の位置に移動していた場合、その部分にも評価マーク82が付されて計数されてしまう場合がる。その結果、評価マーク82の計数に基づく連結角度の検出に誤差が生じてしまう場合がある。
図17、図18は、上述のような誤差が生じる場合とその対策例を示す例示的かつ模式的な図である。図17に示す比較パターン86Aは、詳細旋回探索領域74に連結部材20が斜めに写り込んでいる例である。つまり、図17の詳細旋回探索領域74は、連結部材20の連結角度を示す旋回探索領域ではないと見なすことができる例である。一方、図18に示す比較パターン86Bは、詳細旋回探索領域74に連結部材20が真っ直ぐに写り込んでいる例である。つまり、図18の詳細旋回探索領域74は、連結部材20の連結角度を示す旋回探索領域と見なすことができる例である。なお、図17、図18の場合、連結部材20の付属部として、車幅方向に複数の非固定のケーブル88が延びている例である。また、詳細旋回探索領域74は、分割線78により第1分割画像80aおよび第2分割画像80bに分割されているが、この場合、第2分割画像80bは反転処理されていない例である。したがって、詳細角度検出部56cは、分割線78を挟んで左右対称の位置において類似性を評価し、対称性ありと評価された位置に評価マーク82を付すことになる。
図17の場合、第1分割画像80aと第2分割画像80bとで類似性評価を行った場合に、分割線78を挟んで5対の類似点82L,82Rが検出されている例である。この場合、計数部56aは評価マーク82の計数を「5」とする。一方、図18の場合、第1分割画像80aと第2分割画像80bとで類似性評価を行った場合に、分割線78を挟んで4対の類似点82L,82Rが検出されている例である。この場合、計数部56aは評価マーク82の計数を「4」とする。その結果、詳細角度検出部56cは、図17に示す詳細旋回探索領域74が連結部材20の連結角度を示すものであると誤判定してしまう。
このような誤判定が発生する状況を解析した。その結果、連結部材20が左右対称となる角度、すなわち、詳細旋回探索領域74に対して連結部材20が真っ直ぐに写り込み、連結角度を示す場合、連結部材20の形状に拘わらず、類似点82L,82Rは、分割線78が延びる方向に並ぶ傾向があった。一方、それ以外の詳細旋回探索領域74において、ケーブル88や影などが原因で表れる類似点82L,82Rは、分割線78と直交する方向に並ぶ傾向があった。
そこで、詳細角度検出部56cは、対称性評価値として、評価マーク82の計数値ではなく、まず、第1分割画像80aと第2分割画像80bとにおいて類似する部分が存在する位置を示す類似点82L,82Rを検出する。そして、その類似点82L,82Rを通り分割線78と直交する方向の評価ラインの数を検出する。図17の場合、類似点82L,82Rに基づく評価マーク82の数は、「5」であるが、評価ラインの数は、評価ラインa~評価ラインcの「3本」となる。一方、図18の場合、類似点82L,82Rに基づく評価マーク82の数は、「4」であるが、評価ラインの数は、評価ラインa~評価ラインdの「4本」となる。したがって、詳細角度検出部56cは、評価ラインの本数が最大になる詳細旋回探索領域74に対応する角度を牽引車両10に対する被牽引車両12の詳細連結角度として検出することで、上述したような誤検出の軽減が可能になる。なお、この判定は、第2分割画像80bを反転させた場合にも適用可能であり同様の効果を得ることができる。
このように、本実施形態の周辺監視処理部50(周辺監視システム100)によれば、被牽引車両12の連結角度を検出するための準備作業、例えば、目標マーク等の追加設置を必要とすることなく、また、検出対象の汚れ等を考慮することなく、直接被牽引車両12の連結部材20について、その連結角度の検出処理を高精度に実施することができる。
なお、上述した例では、撮像部24が撮像した撮像画像データを俯瞰画像データに変換してから各検出処理(判定処理)を行うことで、検出精度の高精度化を図る例を示した。別の例では、撮像部24が撮像した実画像をそのまま利用してもよく、同様に検出処理(判定処理)を行うことが可能である。この場合、処理負荷の軽減を行うことができる。
なお、上述した実施形態においては、オプティカルフローによる角度検知処理を実行する場合、牽引車両10(被牽引車両12)が所定速度以上で移動していることを検知処理実行の条件とする例を示した。牽引車両10(被牽引車両12)が所定速度以上で移動している場合、移動点情報および停止点情報の識別がより明確になり、安定した角度検知処理を実現できて、検知精度の向上にも寄与できる。他の実施形態においては、撮像画像において、連結部材20以外の領域(例えば、路面領域)が所定の条件を満たす場合、牽引車両10(被牽引車両12)の停止中(停車中)においてもオプティカルフローによる角度検知処理を実行することができる。例えば、連結部材20の背景となる路面が均一な平面であり、例えば凹凸差や輝度差等による模様等が実質的にないような場合には、時系列で取得された複数の画像を比較することにより連結部材20の類似点情報(停止点情報、特徴点情報)を取得できる場合がある。このような場合、上述した実施形態と同様に、類似点情報の存在数を計数することか可能になり、連結角度の検出が可能になり、同様の効果を得ることができる。
本実施形態のCPU36aで実行される周辺監視プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、フレキシブルディスク(FD)、CD-R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
さらに、周辺監視プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施形態で実行される周辺監視プログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
本発明の実施形態及び変形例を説明したが、これらの実施形態及び変形例は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。