(57)【要約】【課題】車載カメラの取付け位置や角度のずれを適切に検出することができる技術を提供する。【解決手段】移動体に搭載されるカメラの取付けのずれを検出するカメラずれ検出装置は、前記カメラによって所定時間をおいて入力された２つの画像間における特徴点の動きであるオプティカルフローを前記特徴点ごと導出する導出部と、複数の前記オプティカルフローに基づいて前記カメラを搭載する移動体の移動量を推定する移動量推定部と、前記移動量推定部で得られた推定情報と、前記カメラ以外の外部センサから入力される前記移動体の移動に関わる実測情報とに基づいて前記カメラのずれを判定する判定部と、を備え、前記判定部は、前記外部センサに基づいて前記移動体が動いていると認識されるにもかかわらず前記推定情報により前記移動体が停止していると推定される異常状態が生じた場合に、前記カメラのずれ判定処理を停止する。【選択図】図１
2019121032.tif 000002
【特許請求の範囲】
【請求項１】
移動体に搭載されるカメラの取付けのずれを検出するカメラずれ検出装置であって、
前記カメラによって所定時間をおいて入力された２つの画像間における特徴点の動きであるオプティカルフローを前記特徴点ごと導出する導出部と、
複数の前記オプティカルフローに基づいて前記カメラを搭載する移動体の移動量を推定する移動量推定部と、
前記移動量推定部で得られた推定情報と、前記カメラ以外の外部センサから入力される前記移動体の移動に関わる実測情報とに基づいて前記カメラのずれを判定する判定部と、
を備え、
前記判定部は、前記外部センサに基づいて前記移動体が動いていると認識されるにもかかわらず前記推定情報により前記移動体が停止していると推定される異常状態が生じた場合に、前記カメラのずれ判定処理を停止する、カメラずれ検出装置。
【請求項２】
前記異常状態には、前記外部センサに基づいて前記移動体が動いていると認識されるにもかかわらず、前記導出部で導出された複数の前記オプティカルフローの中に動きが無いと判断される前記オプティカルフローが所定の割合以上存在する場合も含まれる、請求項１に記載のカメラずれ検出装置。
【請求項３】
前記判定部は、前記異常状態が少なくとも１回検出された場合に、前記移動体の進行方向が変化するまで前記ずれ判定処理の停止を継続する、請求項１又は２に記載のカメラずれ検出装置。
【請求項４】
前記移動体の進行方向が変化すると、前記進行方向の変化後に新たに取得された複数の前記オプティカルフローに基づいて、前記移動量推定部による移動量推定と前記判定部による前記ずれ判定処理とが行われる、請求項３に記載のカメラずれ検出装置。
【請求項５】
前記異常状態が生じた際に前記移動体の影の位置が認識できる場合には、前記ずれ判定処理が停止されず、前記影からずれた範囲に位置する前記特徴点を用いて導出される複数の前記オプティカルフローに基づいて、前記移動量推定部による移動量推定と前記判定部による前記ずれ判定処理とが行われる、請求項１から４のいずれか１項に記載のカメラずれ検出装置。
【請求項６】
前記カメラが複数あり、複数の前記カメラのうち一部の前記カメラについて前記異常状態が生じている場合には、
前記異常状態が生じていない残りの前記カメラについて、前記ずれ判定処理が行われる、請求項１から５のいずれか１項に記載のカメラずれ検出装置。
【請求項７】
前記移動体の影位置を推定する影位置推定部を更に備え、
前記導出部は、推定された前記影位置に基づいて前記特徴点の抽出範囲を設定する、請求項１から６のいずれか１項に記載のカメラずれ検出装置。
【請求項８】
移動体に搭載されるカメラの取付けずれを検出するカメラずれ検出方法であって、
前記カメラによって所定時間をおいて入力された２つの画像間における特徴点の動きであるオプティカルフローを前記特徴点ごとに導出する導出工程と、
複数の前記オプティカルフローに基づいて前記カメラを搭載する移動体の移動量を推定する推定工程と、
前記推定工程で得られた推定情報と、前記カメラ以外のセンサから入力される前記移動体の移動に関わる実測情報とに基づいて前記カメラのずれを判定する判定工程と、
を備え、
前記センサに基づいて前記移動体が動いていると認識されるにもかかわらず前記推定工程で前記移動体が停止していると推定される異常状態が生じた場合に、前記判定工程における前記カメラのずれ判定処理が停止される、カメラずれ検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カメラずれ検出装置およびカメラずれ検出方法に関する。
【背景技術】
【０００２】
従来、車両等の移動体に搭載されたカメラ（以下、車載カメラという）を用いて、例えば車両の駐車支援等の運転支援が行われている。車載カメラは、例えば、車両を工場から出荷する前に、車両に固定状態で取り付けられる。しかしながら、車載カメラは、例えば不意の接触や経年変化等によって、工場出荷時の取付け状態からずれを起こすことがある。車載カメラの取付け位置や角度がずれると、カメラ画像を利用して判断されるハンドルの操舵量等に誤差が生じるために、車載カメラの取付けのずれを検出することは重要である。
【０００３】
特許文献１には、複数の撮像手段同士間の光軸ずれを検出する技術が開示される。詳細には、２つのカメラの光軸の相対的な軸ずれに起因する視差オフセットは、自車両の直進状態で各カメラにより検知した適宜の静止対象物までの距離の所定時間での変化と、この所定時間でのナビゲーション装置等により検出された自車両の移動量との偏差に応じた値とされることが開示される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−１５３７７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１における光軸ずれ検出手段では、互いに光軸が平行に配置される２つのカメラ間の光軸ずれを検出することができる。しかしながら、当該光軸ずれ検出手段では、単独の車載カメラにおける、工場出荷時の取付け状態からのずれを検出することはできない。
【０００６】
本発明は、車載カメラの取付け位置や角度のずれを適切に検出することができる技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために本発明の、移動体に搭載されるカメラの取付けのずれを検出するカメラずれ検出装置は、前記カメラによって所定時間をおいて入力された２つの画像間における特徴点の動きであるオプティカルフローを前記特徴点ごと導出する導出部と、複数の前記オプティカルフローに基づいて前記カメラを搭載する移動体の移動量を推定する移動量推定部と、前記移動量推定部で得られた推定情報と、前記カメラ以外の外部センサから入力される前記移動体の移動に関わる実測情報とに基づいて前記カメラのずれを判定する判定部と、を備え、前記判定部は、前記外部センサに基づいて前記移動体が動いていると認識されるにもかかわらず前記推定情報により前記移動体が停止していると推定される異常状態が生じた場合に、前記カメラのずれ判定処理を停止する構成（第１の構成）になっている。
【０００８】
上記第１の構成のカメラずれ検出装置において、前記異常状態には、前記外部センサに基づいて前記移動体が動いていると認識されるにもかかわらず、前記導出部で導出された複数の前記オプティカルフローの中に動きが無いと判断される前記オプティカルフローが所定の割合以上存在する場合も含まれる構成（第２の構成）であってよい。
【０００９】
上記第１又は第２の構成のカメラずれ検出装置において、前記判定部は、前記異常状態が少なくとも１回検出された場合に、前記移動体の進行方向が変化するまで前記ずれ判定処理の停止を継続する構成（第３の構成）であることが好ましい。
【００１０】
上記第３の構成のカメラずれ検出装置において、前記移動体の進行方向が変化すると、前記進行方向の変化後に新たに取得された複数の前記オプティカルフローに基づいて、前記移動量推定部による移動量推定と前記判定部による前記ずれ判定処理とが行われる構成（第４の構成）であることが好ましい。
【００１１】
上記第１から第４のいずれかの構成のカメラずれ検出装置において、前記異常状態が生じた際に前記移動体の影の位置が認識できる場合には、前記ずれ判定処理が停止されず、前記影からずれた範囲に位置する前記特徴点を用いて導出される複数の前記オプティカルフローに基づいて、前記移動量推定部による移動量推定と前記判定部による前記ずれ判定処理とが行われる構成（第５の構成）であってよい。
【００１２】
上記第１から第５のいずれかの構成のカメラずれ検出装置において、前記カメラが複数あり、複数の前記カメラのうち一部の前記カメラについて前記異常状態が生じている場合には、前記異常状態が生じていない残りの前記カメラについて、前記ずれ判定処理が行われる構成（第６の構成）であることが好ましい。
【００１３】
上記第１から第６のいずれかの構成のカメラずれ検出装置は、前記移動体の影位置を推定する影位置推定部を更に備え、前記導出部は、推定された前記影位置に基づいて前記特徴点の抽出範囲を設定する構成（第７の構成）であることが好ましい。
【００１４】
上記目的を達成するために本発明の、移動体に搭載されるカメラの取付けずれを検出するカメラずれ検出方法は、前記カメラによって所定時間をおいて入力された２つの画像間における特徴点の動きであるオプティカルフローを前記特徴点ごとに導出する導出工程と、複数の前記オプティカルフローに基づいて前記カメラを搭載する移動体の移動量を推定する推定工程と、前記推定工程で得られた推定情報と、前記カメラ以外のセンサから入力される前記移動体の移動に関わる実測情報とに基づいて前記カメラのずれを判定する判定工程と、を備え、前記センサに基づいて前記移動体が動いていると認識されるにもかかわらず前記推定工程で前記移動体が停止していると推定される異常状態が生じた場合に、前記判定工程における前記カメラのずれ判定処理が停止される構成（第８の構成）になっている。
【発明の効果】
【００１５】
本発明によると、車載カメラの取付け位置や角度のずれを適切に検出することができる。
【図面の簡単な説明】
【００１６】
【図１】カメラずれ検出システムの構成を示すブロック図
【図２】車載カメラが車両に配置される位置を例示する図
【図３】カメラずれ検出装置によるカメラずれの検出フローの一例を示すフローチャート
【図４】特徴点を抽出する手法を説明するための図
【図５】オプティカルフローを導出する手法を説明するための図
【図６】座標変換処理を説明するための図
【図７】移動量推定部によって生成される第１ヒストグラムの一例を示す図
【図８】移動量推定部によって生成される第２ヒストグラムの一例を示す図
【図９】カメラずれが発生した場合のヒストグラムの変化を例示する図
【図１０】判定部によって行われるカメラずれ判定処理の一例を示すフローチャート
【図１１】車載カメラで撮影される撮影画像の模式図
【図１２】図３に示すカメラずれの検出フローとは異なる第１実施例を示すフローチャート
【図１３】図３に示すカメラずれの検出フローとは異なる第２実施例を示すフローチャート
【図１４】特徴点抽出範囲の変更処理について説明するための模式図
【図１５】カメラずれの再判定処理の一例について説明するための図
【図１６】カメラずれ検出装置によるカメラずれの検出フローの変形例を示すフローチャート
【図１７】変形例のカメラずれ検出装置の構成を示すブロック図
【図１８】変形例のカメラずれ検出装置によるカメラずれの検出フローの一例を示すフローチャート
【発明を実施するための形態】
【００１７】
以下、本発明の例示的な実施形態について、図面を参照しながら詳細に説明する。以下の説明では、移動体として車両を例にとり説明するが移動体であれば車両に限定されない。また以下の説明では、車両の直進進行方向であって、運転席からハンドルに向かう方向を「前方向」とする。また、車両の直進進行方向であって、ハンドルから運転席に向かう方向を「後方向」とする。また、車両の直進進行方向及び鉛直線に垂直な方向であって、前方向を向いている運転者の右側から左側に向かう方向を「左方向」とする。また、車両の直進進行方向及び鉛直線に垂直な方向であって、前方向を向いている運転者の左側から右側に向かう方向を「右方向」とする。
【００１８】
＜１．カメラずれ検出システム＞
図１は、本発明の実施形態に係るカメラずれ検出システムＳＹＳの構成を示すブロック図である。カメラずれ検出システムＳＹＳは、例えば車両の工場出荷時における取付け状態等、基準となる取付け状態からの車載カメラのずれを検出するシステムである。図１に示すように、カメラずれ検出システムＳＹＳは、カメラずれ検出装置１と、撮影部２と、入力部３と、センサ部４とを備える。
【００１９】
カメラずれ検出装置１は、車載カメラの取付けのずれを検出する装置である。取付けのずれには、取付け位置のずれや取付け角度のずれが含まれる。カメラずれ検出装置１は、車載カメラを搭載する各車両に備えられる。カメラずれ検出装置１は、撮影部２に含まれる車載カメラ２１〜２４で撮影された撮影画像、および、当該装置１の外部に設けられるセンサ部４からの情報を処理して、車載カメラ２１〜２４の取付け位置や取付け角度のずれを検出する。カメラずれ検出装置１の詳細については後述する。
【００２０】
なお、カメラずれ検出装置１は、不図示の表示装置や運転支援装置に処理情報を出力してよい。表示装置は、カメラずれ検出装置１から出力される情報に基づいて、適宜、警告等を画面に表示する。運転支援装置は、カメラずれ検出装置１から出力される情報に基づいて、適宜、運転支援機能を停止したり、撮影情報の補正を行って運転支援を行ったりする。運転支援装置は、例えば自動運転を支援する装置、自動駐車を支援する装置、緊急ブレーキを支援する装置等であってよい。
【００２１】
撮影部２は、車両周辺の状況を監視する目的で車両に設けられる。本実施形態では、撮影部２は、４つの車載カメラ２１〜２４を備える。各車載カメラ２１〜２４は、有線または無線によってカメラずれ検出装置１に接続される。図２は、車載カメラ２１〜２４が車両７に配置される位置を例示する図である。図２は、車両７を上から見た図である。
【００２２】
車載カメラ２１は車両７の前端に設けられる。このため、車載カメラ２１をフロントカメラ２１とも呼ぶ。フロントカメラ２１の光軸２１ａは車両７の前後方向に沿っている。フロントカメラ２１は車両７の前方向を撮影する。車載カメラ２２は車両７の後端に設けられる。このため、車載カメラ２２をバックカメラ２２とも呼ぶ。バックカメラ２２の光軸２２ａは車両７の前後方向に沿っている。バックカメラ２２は車両７の後方向を撮影する。フロントカメラ２１及びバックカメラ２２の取付け位置は、車両７の左右中央であることが好ましいが、左右中央から左右方向に多少ずれた位置であってもよい。
【００２３】
車載カメラ２３は車両７の左側ドアミラー７１に設けられる。このため、車載カメラ２３を左サイドカメラ２３とも呼ぶ。左サイドカメラ２３の光軸２３ａは車両７の左右方向に沿っている。左サイドカメラ２３は車両７の左方向を撮影する。車載カメラ２４は車両７の右側ドアミラー７２に設けられる。このため、車載カメラ２４を右サイドカメラ２４とも呼ぶ。右サイドカメラ２４の光軸２４ａは車両７の左右方向に沿っている。右サイドカメラ２４は車両７の右方向を撮影する。
【００２４】
各車載カメラ２１〜２４は魚眼レンズで構成され、水平方向の画角θは１８０°以上である。このため、車載カメラ２１〜２４によって、車両７の水平方向における全周囲を撮影することができる。なお、本実施形態では、車載カメラの数は４つであるが、この数は適宜変更されてよく、複数でも単数でもよい。例えば、車両７がバックで駐車することを支援する目的で車載カメラが搭載されている場合には、撮影部２が有する車載カメラは、バックカメラ２２、左サイドカメラ２３、右サイドカメラ２４の３つで構成されてよい。
【００２５】
図１に戻って、入力部３は、カメラずれ検出装置１に対する指示を入力可能とする。入力部３は、例えば、タッチパネル、ボタン、レバー等で構成されてよい。入力部３は、有線または無線によってカメラずれ検出装置１に接続される。
【００２６】
センサ部４は、車載カメラ２１〜２４が搭載される車両７に関する情報を検出する複数のセンサを有する。本実施形態では、センサ部４は、車速センサ４１と舵角センサ４２とを含む。車速センサ４１は、車両７の速度を検出する。舵角センサ４２は、車両７のステアリングホイール（ハンドル）の回転角を検出する。車速センサ４１および舵角センサ４２は、通信バス５０を介してカメラずれ検出装置１と繋がる。すなわち、車速センサ４１で取得された車両７の速度情報は、通信バス５０を介してカメラずれ検出装置１に入力される。舵角センサ４２で取得された車両７のステアリングホイールの回転角情報は、通信バス５０を介してカメラずれ検出装置１に入力される。なお、通信バス５０は、例えばＣＡＮ（Controller Area Network）バスであってよい。
【００２７】
＜２．カメラずれ検出装置＞
図１に示すように、カメラずれ検出装置１は、画像取得部１１と、制御部１２と、記憶部１３とを備える。
【００２８】
画像取得部１１は、４つの車載カメラ２１〜２４のそれぞれから、撮影画像を取得する。画像取得部１１は、アナログの撮影画像をデジタルの撮影画像に変換するＡ／Ｄ変換機能などの基本的な画像処理機能を有する。画像取得部１１は、取得した撮影画像に所定の画像処理を行い、処理後の撮影画像を制御部１２に入力する。
【００２９】
制御部１２は、例えばマイクロコンピュータであり、カメラずれ検出装置１の全体を統括的に制御する。制御部１２は、ＣＰＵ、ＲＡＭおよびＲＯＭ等を備える。記憶部１３は、例えば、フラッシュメモリ等の不揮発性のメモリであり、各種の情報を記憶する。記憶部１３は、ファームウェアとしてのプログラムや各種のデータを記憶する。
【００３０】
詳細には、制御部１２は、導出部１２１と、移動量推定部１２２と、判定部１２３とを備える。すなわち、カメラずれ検出装置１は、導出部１２１と、移動量推定部１２２と、判定部１２３とを備える。制御部１２が備えるこれら各部１２１〜１２３の機能は、例えば記憶部１３に記憶されるプログラムに従ってＣＰＵが演算処理を行うことによって実現される。
【００３１】
なお、制御部１１の導出部１２１、移動量推定部１２２、および、判定部１２３の少なくともいずれか１つは、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field Programmable Gate Array）等のハードウェアで構成されてもよい。また、導出部１２１、移動量推定部１２２、および、判定部１２３は、概念的な構成要素である。１つの構成要素が実行する機能を複数の構成要素に分散させたり、複数の構成要素が有する機能を１つの構成要素に統合したりしてよい。
【００３２】
導出部１２１は、車載カメラ２１〜２４によって所定時間をおいて入力された２つの画像間における特徴点の動きであるオプティカルフロー（動きベクトル）を特徴点ごとに導出する。なお、本実施形態では、車両７は４つの車載カメラ２１〜２４を有する。このために、導出部１２１は、各車載カメラ２１〜２４について、オプティカルフローを特徴点ごとに導出する。特徴点は、撮影画像中のエッジの交点など、撮影画像において際立って検出できる点である。特徴点は、例えば路面に描かれた白線のエッジ、路面上のひび、路面上のしみ、路面上の砂利等である。特徴点は、通常、１つの撮影画像の中に多数存在する。導出部１２１は、例えば、ハリスオペレータ等の公知の手法を用いて撮影画像の特徴点を導出する。
【００３３】
移動量推定部１２２は、複数のオプティカルフローに基づいて車載カメラ２１〜２４を搭載する車両７の移動量を推定する。詳細には、移動量推定部１２２は、統計処理を用いて車両７の移動量を推定する。なお、本実施形態では、車両７が４つの車載カメラ２１〜２４を有するために、移動量推定部１２２は、車載カメラ２１〜２４ごとに、車両７の移動量の推定値を求める。本実施形態では、移動量推定部１２２が行う統計処理は、ヒストグラムを用いた処理である。ヒストグラムを用いた移動量の推定処理の詳細については後述する。
【００３４】
判定部１２３は、移動量推定部１２２で得られた推定情報と、車載カメラ２１〜２４以外の外部センサから入力される車両７の移動に関わる実測情報とに基づいて車載カメラ２１〜２４のずれを判定する。なお、本実施形態では、車両７が４つの車載カメラ２１〜２４を有するために、判定部１２３は、車載カメラ２１〜２４ごとにカメラずれの判定を行う。
【００３５】
本実施形態では、判定部１２３は、移動量推定部１２２で得られた推定情報と、車速センサ４１から入力される車両７の速度情報とに基づいて車載カメラ２１〜２４のずれを判定する。すなわち、本実施形態においては、実測情報は、通信バス５０を介して判定部１２３に入力される車両７の速度情報を含む。これによれば、車両７の実際の移動量を簡単且つ正確に取得することができる。
【００３６】
なお、車両７の移動に関わる実測情報は、車速センサ４１から取得される車両７の速度情報に限定されない。例えば、車両７の移動に関わる実測情報は、ＧＰＳ（Global Positioning System）受信機から取得される車両７の移動距離情報（移動量情報）であってもよい。また、車両７の移動に関わる実測情報は、１つの情報ではなく、複数の情報であってよい。例えば、車両７の移動に関わる実測情報は、車速センサ４１から取得される車両７の速度情報と、舵角センサ４２から取得される車両７におけるステアリングホイールの回転角情報との２つの情報であってもよい。
【００３７】
本実施形態の構成によれば、カメラずれ検出装置１は、車載カメラ２１〜２４の撮影画像と、車速センサ４１等の車両７が既に備えるセンサを用いてカメラずれを検出することができるために、カメラずれを検出するための構成に要するコストを抑制することができる。また、本実施形態の構成では、撮影画像の大部分が路面であると想定することで、路面の特徴点のオプティカルフローを利用した統計処理によって、カメラずれを検出することができる。
【００３８】
図３は、カメラずれ検出装置１によるカメラずれの検出フローの一例を示すフローチャートである。なお、本実施形態では、４つの車載カメラ２１〜２４のそれぞれについて、図３に示すカメラずれの検出フローが実施される。重複説明を避けるために、ここでは、フロントカメラ２１の場合を代表例として、カメラずれの検出フローを説明する。
【００３９】
図３に示すように、まず、制御部１２は、フロントカメラ２１を搭載する車両７が直進しているか否かを確認する（ステップＳ１）。車両７が直進しているか否かは、例えば、舵角センサ４２から得られるステアリングホイールの回転角情報に基づいて判断することができる。例えば、ステアリングホイールの回転角がゼロの時に車両７が完全にまっすぐに進むとした場合に、回転角がゼロの場合だけなく、回転角がプラス方向とマイナス方向の一定範囲内の回転である場合を含めて、車両７が直進していると判断してよい。なお、直進には、前進方向の直進と、後退方向の直進との両方が含まれる。
【００４０】
制御部１２は、車両７が直進していると判断されるまで、ステップＳ１の確認を繰り返す。車両７が直進走行しない限り、カメラずれを判定するための情報が取得されない。換言すると、判定部１２３による車載カメラ（フロントカメラ）２１のずれ判定は、車載カメラ以外の外部センサ（ここでは舵角センサ４２）によって車両７が直進していると判断される場合に取得された情報を用いて行われる。これによれば、車両７の進行方向が曲がっている場合の情報を用いてカメラずれの判定が行われないために、カメラずれを判定するための情報処理が複雑になることを避けられる。
【００４１】
車両７が直進していると判断される場合（ステップＳ１でＹｅｓ）、制御部１２は、車両７の速度が所定速度範囲内であるか否かを確認する（ステップＳ２）。所定速度範囲は、例えば時速３ｋｍ以上時速５ｋｍ以下である。本実施形態では、車両７の速度は、車載カメラ２１〜２４以外の外部センサである車速センサ４１によって取得することができる。なお、ステップＳ１とステップＳ２とは、順番が入れ替わってもよい。また、ステップＳ１とステップＳ２とは同時に処理が行われてもよい。
【００４２】
制御部１２は、車両７の速度が所定速度範囲外である場合（ステップＳ２でＮｏ）、ステップＳ１に戻って車両７の直進判断を行う。車両７の速度が所定速度範囲内でない限り、カメラずれを判定するための情報が取得されない。換言すると、判定部１２３による車載カメラ（フロントカメラ）２１のずれ判定は、車載カメラ２１〜２４以外の外部センサ（ここでは車速センサ４１）によって車両７が所定速度範囲内で走行していると判断される場合に取得された情報を用いて行われる。例えば、車両７の速度が速すぎると、オプティカルフローの導出が不確かになり易くなる。一方で、車両７の速度が遅すぎると、車速センサ４１から取得される車両７の速度の信頼性が低下する。この点、本実施形態の構成によれば、車両７の速度が速すぎる場合や遅すぎる場合を除いてカメラずれの判定を行うことができるために、カメラずれの判定の信頼性を向上することができる。
【００４３】
なお、所定速度範囲は設定変更可能であることが好ましい。これによれば、所定速度範囲を各車両に適した値にすることができ、カメラずれの判定の信頼性を向上することができる。本実施形態では、所定速度範囲の設定は入力部３によって行うことができる。
【００４４】
車両７が所定速度範囲内で走行していると判断される場合（ステップＳ２でＹｅｓ）、導出部１２１によって特徴点の抽出が行われる（ステップＳ３）。換言すると、車両７が所定の低速で直進走行している場合に、導出部１２１によって特徴点の抽出が行われる。導出部１２１による特徴点の抽出は、例えば、停止している車両７が動き出す場合や、走行している車両７が止まる場合等に行われる。
【００４５】
図４は、特徴点ＦＰを抽出する手法を説明するための図である。図４は、フロントカメラ２１で撮影される撮影画像Ｐを模式的に示している。特徴点ＦＰは路面ＲＳ上に存在する。図４においては、特徴点ＦＰの数は２つとされているが、この数は便宜的なものであり、実際の数を示すものではない。通常、多数の特徴点が取得される。図４に示すように、導出部１２１は特徴点ＦＰを所定領域ＲＥ内で抽出する。所定領域ＲＥは、撮影画像Ｐの中心部Ｃを含む広範囲に設定される。これにより、特徴点ＦＰの発生箇所が均一でなく偏った範囲である場合でも、特徴点ＦＰを抽出することができる。なお、所定領域ＲＥは、車両７のボディＢＯが映る領域は避けて設定される。
【００４６】
特徴点ＦＰが抽出されると、導出部１２１は、抽出した特徴点ＦＰごとにオプティカルフローを導出する（ステップＳ４）。図５は、オプティカルフローＯＦを導出する手法を説明するための図である。図５は、図４と同様に便宜的に示された模式図である。図５は、図４に示す撮影画像（前フレームＰ）の撮影後、所定時間が経過した後にフロントカメラ２１で撮影された撮影画像（現フレームＰ´）である。図４に示す撮影画像Ｐの撮影後、所定時間が経過するまでの間に、車両７は後退している。図５に示す破線の丸印は、図４に示す撮影画像Ｐの撮影時点における特徴点ＦＰの位置を示す。
【００４７】
図５に示すように、車両７が後退すると、車両７の前方に存在する特徴点ＦＰは車両７から離れる。すなわち、特徴点ＦＰは、現フレームＰ´と前フレームＰとで異なる位置に現れる。導出部１１は、現フレームＰ´の特徴点ＦＰと前フレームＰの特徴点ＦＰとを、その近傍の画素値に基づいて対応付け、対応付けた特徴点ＦＰのそれぞれの位置に基づいてオプティカルフローＯＦを導出する。
【００４８】
オプティカルフローＯＦが導出されると、移動量推定部１２２は、カメラ座標系で得られた各オプティカルフローＯＦを、ワールド座標系のオプティカルフローに変換する（ステップＳ５）。図６は、座標変換処理を説明するための図である。図６に示すように、移動量推定部１２２は、フロントカメラ２１の位置（視点ＶＰ１）から見たオプティカルフローＯＦを、車両７が存在する路面の上方の視点ＶＰ２から見たオプティカルフローＯＦ_Ｃに変換する。移動量推定部１２２は、撮影画像Ｐにおける各オプティカルフローＯＦを、路面に相当する仮想平面ＲＳ_Ｖに投影することで、ワールド座標系のオプティカルフローＯＦ_Ｃに変換する。
【００４９】
次に、移動量推定部１２２は、ワールド座標系の各オプティカルフローＯＦ_Ｃに基づいてヒストグラムを生成する（ステップＳ６）。本実施形態では、移動量推定部１２２は、各オプティカルフローＯＦ_Ｃを前後方向と左右方向との２成分に分けて、第１ヒストグラムと第２ヒストグラムとを生成する。図７は、移動量推定部１２２によって生成される第１ヒストグラムＨＧ１の一例を示す図である。図８は、移動量推定部１２２によって生成される第２ヒストグラムＨＧ２の一例を示す図である。なお、図７および図８はカメラずれが発生していない場合に得られるヒストグラムを示す。
【００５０】
図７に示す第１ヒストグラムＨＧ１は、各オプティカルフローＯＦ_Ｃの前後方向成分に基づいて得られたヒストグラムである。第１ヒストグラムＨＧ１は、オプティカルフローＯＦ_Ｃの数を度数とし、前後方向への移動量（オプティカルフローＯＦ_Ｃの前後方向成分の長さ）を階級とするヒストグラムである。図８に示す第２ヒストグラムＨＧ２は、オプティカルフローＯＦ_Ｃの左右方向成分に基づいて得られたヒストグラムである。第２ヒストグラムＨＧ２は、オプティカルフローＯＦ_Ｃの数を度数とし、左右方向への移動量（オプティカルフローＯＦ_Ｃの左右方向成分の長さ）を階級とするヒストグラムである。
【００５１】
図７および図８は、カメラずれが発生しておらず、車両７が後方に直進した場合に得られるヒストグラムである。このために、第１ヒストグラムＨＧ１は、後退側の特定の移動距離（階級）に偏って度数が多くなっている。一方、第２ヒストグラムＨＧ２は、移動量ゼロの近傍の階級に偏って度数が多くなっている。
【００５２】
図９は、カメラずれが発生した場合のヒストグラムの変化を例示する図である。図９は、フロントカメラ２１がチルト方向（鉛直方向）に回転してずれた場合を例示する。図９において、上段（ａ）はカメラずれが発生していない場合（正常時）の第１ヒストグラムＨＧ１であり、下段（ｂ）はカメラずれが発生した場合の第１ヒストグラムＨＧ１である。フロントカメラ２１のチルト方向の回転ずれは、主にオプティカルフローＯＦ_Ｃの前後方向成分に影響を与える。図９に示す例では、フロントカメラ２１のチルト方向の回転ずれによって、度数が大きくなる階級が正常時に比べて前方側にずれている。
【００５３】
なお、フロントカメラ２１のチルト方向の回転ずれは、オプティカルフローＯＦ_Ｃの左右方向成分に対する影響は小さい。このために、図示は省略するが、第２ヒストグラムＨＧ２のカメラずれ前後の変化は、第１ヒストグラムＨＧ１の場合に比べて小さい。ただし、これは、フロントカメラ２１がチルト方向にずれた場合の話であり、フロントカメラ２１が、例えばパン方向（水平方向）やロール方向（光軸を中心とする回転方向）等にずれを生じた場合には、異なったヒストグラム変化が発生する。
【００５４】
移動量推定部１２２は、生成したヒストグラムＨＧ１、ＨＧ２によって車両７の移動量を推定する（ステップＳ７）。本実施形態では、移動量推定部１２２は、第１ヒストグラムＨＧ１によって、車両７の前後方向の移動量を推定する。移動量推定部１２２は、第２ヒストグラムＨＧ２によって、車両７の左右方向の移動量を推定する。すなわち、移動量推定部１２２で得られた推定情報には、車両７の前後方向および左右方向の移動量の推定値が含まれる。これによれば、車両７の前後方向および左右方向の移動量の推定値を用いてカメラずれの検出を行うことができるために、カメラずれの検出結果の信頼性を向上することができる。なお、本実施形態では、特定の条件下で抽出される特徴点が路面ＲＳ上に存在するとの前提の下に車両７の移動量を推定する。
【００５５】
本実施形態では、移動量推定部１２２は、第１ヒストグラムＨＧ１の中央値（メジアン）を前後方向の移動量の推定値とする。移動量推定部１２２は、第２ヒストグラムＨＧ２の中央値を左右方向の移動量の推定値とする。ただし、移動量推定部１２２による推定値の決定方法は、これに限定されない。移動量推定部１２２は、例えば、各ヒストグラムＨＧ１、ＨＧ２の度数が最大となる階級を移動量の推定値としてもよい。また、移動量推定部１２２は、例えば、各ヒストグラムＨＧ１、ＨＧ２において、平均値を移動量の推定値としてもよい。
【００５６】
なお、図９に示す例では、一点鎖線はフロントカメラ２１が正常である場合の前後方向の移動量の推定値を示し、二点鎖線はカメラずれが発生した場合の前後方向の移動量の推定値を示す。図９に示すように、カメラずれの発生によって、前後方向の移動量の推定値に差Δが生じていることがわかる。
【００５７】
移動量推定部１２２で車両７の移動量の推定値が得られると、判定部１２３はフロントカメラ２１のずれ判定を行う（ステップＳ８）。判定部１２３は、車両７の前後方向の移動量と、車両７の左右方向の移動量と、車両７の前後方向および左右方向の移動量に基づいて得られる特定量とのうち少なくともいずれか１つについて、移動量推定部１２２で得られた推定値と、車載カメラ２１〜２４以外の外部センサから入力される車両７の移動に関わる実測情報によって得られる値との差が所定の閾値以上になった場合に、車載カメラ（フロントカメラ）２１のずれが発生していると判定する。これによれば、車載カメラから得られる車両７の移動量の推定値と、外部センサを用いた実測情報から得られる車両７の移動量とを比較して、車載カメラのずれを適切に検出することができる。
【００５８】
本実施形態では、車載カメラ２１〜２４以外の外部センサから入力される車両７の移動に関わる実測情報は、車速センサ４１から入力される車両７の速度情報である。この速度情報から推定値と比較する車両７の移動量が算出される。詳細には、当該移動量は、オプティカルフローＯＦを導出するための２つの撮影画像の撮影時間間隔と、その間の車速センサ４１によって得られる車両７の速度とによって算出される。また、当該移動量は、移動量推定部１２２で得られる移動量の推定値が前後方向と左右方向との２つであることに対応して、前後方向と左右方向との２つの値が存在する。ただし、本実施形態では、車両７が前後方向に直進している場合にオプティカルフローＯＦを導出するための撮影画像を撮影する構成であるために、この間に車両７は左右方向に移動しておらず、速度情報から算出される左右方向の移動量は常にゼロになる。
【００５９】
図１０は、判定部１２３によって行われるカメラずれ判定処理の一例を示すフローチャートである。まず、判定部１２３は、前後方向の移動量について、移動量推定部１２２で推定された推定値と、車速センサ４１から得られる車両７の速度情報によって求められる値との差の大きさが第１閾値より小さいか否かを確認する（ステップＳ１１）。両者の差の大きさが第１閾値以上である場合（ステップＳ１１でＮｏ）、判定部１２３は、フロントカメラ２１の取付け状態が異常であり、カメラずれが生じていると判定する（ステップＳ１５）。一方、両者の差の大きさが第１閾値より小さい場合（ステップＳ１１でＹｅｓ）、判定部１２３は、前後方向の移動量からは異常が検出されないと判定する。
【００６０】
前後方向の移動量から異常が検出されない場合、判定部１２３は、左右方向の移動量について、移動量推定部１２２で推定された推定値と、車速センサ４１から得られる車両７の速度情報によって求められる値との差の大きさが第２閾値より小さいか否かを確認する（ステップＳ１２）。両者の差の大きさが第２閾値以上である場合（ステップＳ１２でＮｏ）、判定部１２３は、フロントカメラ２１の取付け状態が異常であり、カメラずれが生じていると判定する（ステップＳ１５）。一方、両者の差の大きさが第２閾値より小さい場合（ステップＳ１２でＹｅｓ）、判定部１２３は、左右方向の移動量からは異常が検出されないと判定する。
【００６１】
左右方向の移動量からも異常が検出されない場合、判定部１２３は、前後方向および左右方向の移動量に基づいて得られる特定量について、移動量推定部１２２で推定された推定値と、車速センサ４１から得られる車両７の速度情報によって求められる値との差の大きさが第３閾値より小さいか否かを確認する（ステップＳ１３）。本実施形態では、特定量は、前後方向の移動量を二乗して得られる値と、左右方向の移動量を二乗して得られる値との和の平方根値である。ただし、これは例示にすぎず、特定量は、例えば、前後方向の移動量を二乗して得られる値と、左右方向の移動量を二乗して得られる値との和であってもよい。
【００６２】
特定量の推定値と、速度情報によって求められる値との差の大きさが第３閾値以上である場合（ステップＳ１３でＮｏ）、判定部１２３は、フロントカメラ２１の取付け状態が異常であり、カメラずれが生じていると判定する（ステップＳ１５）。一方、両者の差の大きさが第３閾値より小さい場合（ステップＳ１３でＹｅｓ）、判定部１２３は、フロントカメラ２１の取付け状態は正常であると判定する（ステップＳ１４）。
【００６３】
本実施形態では、前後方向の移動量、左右方向の移動量、および、特定量のうち、いずれか１つでも、移動量推定部１２２で得られる推定値と、速度情報によって得られる値との比較により異常が認められると、カメラずれが発生していると判定する。これによれば、カメラずれが発生しているにもかかわらず、カメラずれが発生していないと判定する可能性を低減できる。ただし、これは例示である。例えば、前後方向の移動量、左右方向の移動量、および、特定量の全てにおいて、移動量推定部１２２で得られる推定値と、速度情報から得られる値との比較により異常が認められる場合に限って、カメラずれが発生していると判定する構成としてもよい。カメラずれの判定基準は、入力部３によって適宜変更することができることが好ましい。
【００６４】
本実施形態では、前後方向の移動量、左右方向の移動量、および、特定量について、推定値と速度情報から得られる値との比較を順番に行う構成としたが、これらの比較は同じタイミングで行われてもよい。また、前後方向の移動量、左右方向の移動量、および、特定量について、推定値と速度情報から得られる値との比較を順番に行う構成の場合、その順番は特に限定されず、図１０に示す順番とは異なる順番とされてもよい。なお、本実施形態では、移動量に基づいてカメラずれを判定したが、速度に基づいてカメラずれを判定してもよい。この場合、オプティカルフローから推定した移動量と、オプティカルフローの算出に使用したフレーム間の時間を基に前後方向および左右方向の速度を推定し、車速センサ４１から得られる車両７の速度と比較することでカメラずれを判定すればよい。この場合の車速センサ４１から得られる車両７の速度は前後方向の速度であり、左右方向の速度は０である。すなわち、本実施形態では、移動量と速度は同義である。
【００６５】
なお、カメラずれが検出された場合、カメラずれ検出装置１は、そのことを運転者等に報知するための処理を行うことが好ましい。また、カメラずれ検出装置１は、車載カメラ２１〜２４からの情報を用いて運転支援を行う運転支援装置に、カメラずれが発生していることを通知する処理を行うことが好ましい。本実施形態では、４つの車載カメラ２１〜２４が存在するが、４つの車載カメラ２１〜２４のうちの１つでもカメラずれが発生した場合には、上記報知処理及び通知処理を行うことが好ましい。
【００６６】
＜３．異常状態に関する処理＞
図１１は、車載カメラ２１〜２４で撮影される撮影画像Ｐの模式図である。図１１に示すように、車載カメラ２１〜２４で撮影される撮影画像Ｐには、車両７（自車両）の影ＳＨが映ることがある。例えば、日射方向が車両７の進行方向の後方から前方に向く場合、フロントカメラ２１に車両７の影ＳＨが映ることがある。図１１に示すように、影ＳＨが特徴点ＦＰを抽出する所定領域ＲＥ内に入ると、導出部１２１が影ＳＨに由来する特徴点ＦＰを抽出することがある。影ＳＨに由来する特徴点ＦＰは車両７とともに移動するために、当該特徴点ＦＰに基づくオプティカルフローＯＦの大きさはゼロとなり、車両７の動きを反映しない。
【００６７】
すなわち、上述したオプティカルフローＯＦを用いたカメラずれの検出方法においては、外部センサ（例えば車速センサ４１）に基づいて車両７が動いていると認識されるにもかかわらず移動量推定部１２２で取得される推定情報により車両７が停止していると推定される異常状態が生じる場合がある。この異常状態は、カメラずれが生じていない場合にも発生するために、カメラずれを誤検出する可能性がある。このために、判定部１２３は、異常状態が生じた場合に、車載カメラ２１〜２４のずれ判定処理を停止することが好ましい。これによれば、カメラずれが生じていないにもかかわらず、カメラずれが生じていると判定する誤判定の発生を抑制できる。
【００６８】
図１２は、図３に示すカメラずれの検出フローとは異なる第１実施例を示すフローチャートである。なお、４つの車載カメラ２１〜２４のそれぞれについて、図１２に示すカメラずれの検出フローが実施される。図１２に示す例では、ステップＳ１からステップＳ７までは、図３に示す例と同じ処理が行われる。これらの処理は上述した処理と同一であるために、説明を省略する。図１２に示す例では、ステップＳ７の移動量推定処理の後に、異常状態確認処理が行われる（ステップＳ２１）。異常状態確認処理は、例えば判定部１２３によって行われるが、これに限らず、例えば移動量推定部１２２によって行われてもよい。
【００６９】
判定部１２３は、例えば車速センサ４１から得られる速度情報に基づいて、オプティカルフローＯＦを導出するための２つの撮影画像の撮影時間間隔に、車両７が前後方向に移動したか否かを確認する。ただし、本実施形態では、オプティカルフローＯＦを導出するための撮影画像は、センサ部４から得られる情報によって車両７が前後方向に移動していることを検出した場合に行われるために、判定部１２３は、上述の車両７が前後方向に移動したか否かの確認は実質的に行われない。すなわち、判定部１２３は、移動量推定部１２２によって得られる前後方向の移動量推定値によって、車両７が停止していると推定されるか否かのみを確認する。判定部１２３は、車両７が停止していると推定される場合、異常状態を検出する。一方、判定部１２３は、車両７が停止していないと推定される場合、異常状態を検出しない。なお、前後方向の移動量推定値がゼロの場合のみならず、ゼロ近傍の場合にも、車両７が停止していると推定されてよい。
【００７０】
異常状態が検出されなかった場合（ステップＳ２１でＮｏ）、判定部１２３は、上述したステップＳ８のずれ判定処理を行う。一方、異常状態が検出された場合（ステップＳ２１でＹｅｓ）、判定部１２３は、ずれ判定処理を停止する（ステップＳ２２）。すなわち、判定部１２３は、ずれ判定処理を行わない。なお、本実施形態では、車載カメラ２１〜２４は複数である。複数の車載カメラ２１〜２４のうち一部の車載カメラについて異常状態が生じている場合には、異常状態が生じていない残りの車載カメラについて、ずれ判定処理が行われる。これにより、複数の車載カメラ２１〜２４のカメラずれについて、効率良く検出することができる。
【００７１】
カメラずれの判定処理が停止された後、ずれ判定処理の停止が継続されるか否かが確認される（ステップＳ２３）。当該確認処理は、例えば判定部１２３によって行われる。詳細には、判定部１２３は、舵角センサ４２から得られる情報によって車両７の進行方向を監視する。判定部１２３は、車両７の進行方向が一定である場合、ずれ判定処理の停止を継続すると判断する（ステップＳ２３でＹｅｓ）。判定部１２３は、車両７の進行方向が変わるまで、ステップＳ２３の確認処理を繰り返す。判定部１２３は、車両７の進行方向が変化した場合、ずれ判定処理の停止を継続しないと判断する（ステップＳ２３でＮｏ）。換言すると、判定部１２３は、車両７の進行方向が変化するまで、ずれ判定処理の停止を継続する。なお、判定部１２３は、例えば、舵角センサ４２から得られる情報によって車両７の進行方向が所定の角度以上変化したと判断される場合に、車両７が進行方向を変化したと判断する。
【００７２】
異常状態が車両７の影ＳＨによって発生している場合、車両７の進行方向が一定であれば、再判定を行っても、車両７の影ＳＨに起因する異常状態が再度検出される可能性が高い。このために、車両７の進行方向が変化するまで、ずれ判定処理の停止を継続することによって、異常状態が繰り返し検出されることを抑制できる。
【００７３】
なお、上記例では、異常状態が１回検出された時点で、ずれ判定処理が停止される構成である。しかし、異常状態が複数回続けて検出された場合に、ずれ判定処理が停止される構成としてもよい。すなわち、判定部１２３は、異常状態が少なくとも１回検出された場合に、車両７の進行方向が変化するまでずれ判定処理の停止を継続してもよい。
【００７４】
また、車両７の進行方向は、例えば、舵角センサ４２からの情報に替えてＧＰＳセンサからの情報を用いて監視されてもよい。また、車両７の進行方向は、例えば、舵角センサ４２からの情報に加えてＧＰＳセンサからの情報も用いて監視されてよい。
【００７５】
また、異常状態には、外部センサ（例えば車速センサ４１）に基づいて車両７が動いていると認識されるにもかかわらず、導出部１２１で導出された複数のオプティカルフローＯＦの中に動きが無いと判断されるオプティカルフローＯＦが所定の割合以上存在する場合も含まれてよい。所定の割合は、実験やシミュレーション等によって適宜決定されてよい。車両７が動いているにもかかわらず、導出部１２１で導出された複数のオプティカルフローＯＦの中に動きが無いと判断されるオプティカルフローＯＦが多数存在する場合、移動量推定部１２２の移動量推定値の信頼性が低下し、誤ってカメラずれを検出する可能性が高くなる。本構成によれば、車両７の移動量推定値の信頼性が低いと予想される範囲を広げてカメラずれの判定を停止することができるために、カメラずれに関する誤判定が発生する可能性を低減できる。
【００７６】
判定部１２３によってずれ判定処理の停止を継続しないと判断されると（ステップＳ２３でＮｏ）、ステップＳ１に戻って、所定のタイミングで撮影画像が取得されて導出部１２１によるオプティカルフローＯＦの導出処理が再開される。すなわち、車両７の進行方向が変化すると、進行方向の変化後に新たに取得された複数のオプティカルフローＯＦに基づいて、移動量推定部１２２による移動量推定と、判定部１２３によるずれ判定処理が行われる。これによれば、車両７の影ＳＨが映っていない撮影画像を用いてオプティカルフローＯＦを導出できる可能性が高く、カメラずれに関する誤判定が生じる可能性を低減することができる。なお、図１２に示す例では、新たに取得された複数のオプティカルフローＯＦに基づいて再度異常状態が検出された場合、ずれ判定処理は停止される。
【００７７】
図１３は、図３に示すカメラずれの検出フローとは異なる第２実施例を示すフローチャートである。なお、４つの車載カメラ２１〜２４のそれぞれについて、図１３に示すカメラずれの検出フローが実施される。図１３に示す例でも、図１２に示す例と同様に、ステップＳ１からステップＳ７までは、図３に示す例と同じ処理が行われる。また、図１３に示す例でも、図１２に示す例と同様に、ステップＳ７の移動量推定処理の後に、異常状態の確認処理が行われる（ステップＳ２１）。異常状態の確認処理は、上述した処理と同じであるために説明を省略する。また、異常状態が検出されなかった場合（ステップＳ２１でＮｏ）の処理（ステップＳ８）も、上述の処理と同じであるために説明を省略する。
【００７８】
図１３に示す例では、図１２に示す例とは異なり、異常状態が検出された場合に（ステップＳ２１でＹｅｓ）、判定部１２３によるずれ判定処理が即座に停止されるのではなく、ずれ判定処理が停止されるか否かが確認される（ステップＳ２４）。当該確認処理は、例えば判定部１２３によって行われる。
【００７９】
詳細には、判定部１２３は、車両７（自車両）の影ＳＨの位置が認識できるか否かを確認する。判定部１２３は、車両７の影ＳＨの位置が認識できない場合、ずれ判定処理の停止を行うと判断する（ステップＳ２４でＹｅｓ）。一方、判定部１２３は、車両７の影ＳＨの位置が認識できる場合、ずれ判定処理の停止を行わないと判断する（ステップＳ２４でＮｏ）。車両７の影ＳＨの位置は、例えば、オプティカルフローＯＦを取得するために撮影された撮影画像のコントラストに基づいて判断される。この他、車両７の影ＳＨの位置は、例えば、オプティカルフローＯＦを取得するために撮影された撮影画像の時刻、当該時刻における天気予報、通信バス５０を介して取得される車両情報（例えば進行方向）等の、単数又は複数の情報によって判断されてもよい。
【００８０】
ずれ判定処理を停止すると判断された場合（ステップＳ２４でＹｅｓ）、上述のステップＳ２３が行われる。当該処理は、上述の処理と同じであるために説明を省略する。一方、ずれ判定処理を停止しないと判断された場合（ステップＳ２４でＮｏ）、特徴点抽出範囲を変更する処理が行われる（ステップＳ２５）。
【００８１】
図１４は、特徴点抽出範囲ＲＥの変更処理について説明するための模式図である。上述のように、ずれ判定処理を停止しないと判断される場合には、車両７の影ＳＨの位置が認識できている。このために、オプティカルフローＯＦの導出にあたって、車両７の影ＳＨの影響を受けない位置を特定することができる。このために、図１４に示すように、車両７の影ＳＨからずれた位置（影ＳＨと重ならない位置）に、特徴点抽出範囲ＲＥ´が設定される。
【００８２】
特徴点抽出位置ＲＥ´が設定されると、ステップＳ３に戻って、新たに設定した抽出範囲でオプティカルフローＯＦが導出され、当該オプティカルフローＯＦに基づいて、移動量推定部１２２による移動量推定と判定部１２３によるずれ判定処理とが行われる。なお、オプティカルフローＯＦを導出する撮影画像は、先に異常状態を検出するために用いられた撮影画像と同じである。
【００８３】
以上に説明したように、図１３に示す例では、異常状態が生じた際に車両７の影ＳＨの位置が認識できる場合には、判定部１２３によるずれ判定処理を停止せず、影ＳＨからずれた範囲に位置する特徴点ＦＰを用いて導出される複数のオプティカルフローＯＦに基づいて、移動量推定部１２２による移動量推定と判定部１２３によるずれ判定処理とが行われる。これによれば、ずれ判定処理を停止することなく、カメラずれの判定を適切に行うことができる。すなわち、迅速にカメラずれを検出することができる。
【００８４】
＜４．変形例等＞
＜４−１．第１変形例＞
以上においては、判定部１２３によって、カメラずれが生じていると一度判定されただけで、カメラずれが発生しているとの判定を確定し、カメラずれを検出する構成としている。これに限らず、判定部１２３によってカメラずれが生じていると判定された場合に、少なくとも１回、再判定を行い、再判定によって更にカメラずれが生じていると判定された場合に、カメラずれが発生しているとの判定を確定してもよい。再判定は、単純に、図３に示すステップＳ１〜Ｓ８を少なくとも１回繰り返す構成であってよいが、別の構成であってもよい。再判定は、図１２や図１３に示す異常状態を検出する手順が追加されたフローにも適用可能である。
【００８５】
図１５は、カメラずれの再判定処理の一例について説明するための図である。図１５においては特徴点の記載は省略されている。図１５に示すように、判定部１２３は、画像の中心部Ｃを含む第１領域ＲＥ１内の特徴点のオプティカルフローを用いて推定された推定情報に基づいて車載カメラがずれていると判定した場合に、画像の中心部Ｃを含まない第２領域ＲＥ２内の特徴点のオプティカルフローを用いて求められた推定情報によって車載カメラのずれを再判定してよい。再判定で用いる画像は、先のカメラずれの判定に用いた画像と同じであってよいが、場合によっては、先のカメラずれの判定に用いた画像の撮影後に再度撮影された画像であってもよい。
【００８６】
第２領域ＲＥ２は、１つでもよいが複数であってもよい。図１５に示す例では、第２領域ＲＥ２は２つであるが３つ以上であってもよい。第２領域ＲＥ２が複数である場合、各第２領域ＲＥ２において、導出部１２１によるオプティカルフローＯＦの導出、移動量推定部１２２による移動量の推定情報の取得、および、判定部１２３によるカメラずれの判定が行われる。第２領域ＲＥ２は、第１領域ＲＥ１に比べて小さい領域であることが好ましい。
【００８７】
車載カメラ２１〜２４のカメラずれが生じた場合、画像の中心部Ｃよりも中心部Ｃから離れた領域の方が、移動量推定部１２２によって得られる車両７の移動量と、車速センサ４１等のセンサから得られる実測情報によって得られる車両７の移動量との差が大きくなり易い。このために、画像の中心部Ｃから離れて位置する第２領域ＲＥ２を用いた再判定を行うことによって、カメラずれの検出精度を向上することができる。
【００８８】
＜４−２．第２変形例＞
図１６は、カメラずれ検出装置１によるカメラずれの検出フローの変形例を示すフローチャートである。図１６に示すステップＳ１からステップＳ７の処理は、上述した図３に示す処理と同様であるために説明を省略する。本変形例では、ステップＳ７によって移動量の推定値を求めた後に、求めた移動量の推定値を先に求めた移動量の累積値に足し合わせる処理が行われる（ステップＳ９）。当該処理は、例えば移動量推定部１２２又は判定部１２３で行われてよい。なお、累積値算出処理は、前後方向の移動量の推定値、および、左右方向の移動量の推定値に対して行われる。また、第１回目の推定値が求められた際には、先に求めた累積値が無いために、累積値算出処理で得られる累積値は、ステップＳ７で取得した推定値そのものになる。
【００８９】
累積値の算出が行われると、車両７の移動量が所定の移動距離に到達したか否かが確認される（ステップＳ１０）。本変形例では、ここで言う車両７の移動量は、オプティカルフローＯＦを導出するための２つの画像の撮影時間間隔に車両７が前後方向に移動する量を積算したものである。車両７の前後方向の移動量は、車速センサ４１によって得られる速度情報から算出される。当該移動量の積算の開始は、推定値の累積処理の開始に合わせて行われる。車両７の前後方向の移動量が所定の移動距離に到達しない場合（ステップＳ１０でＮｏ）、ステップＳ１に戻って、ステップＳ１〜ステップＳ７およびステップＳ９が順次行われる。
【００９０】
一方、車両７の前後方向の移動量が所定の移動距離に到達すると（ステップＳ１０でＹｅｓ）、判定部１２３によってカメラずれの判定が行われる（ステップＳ８Ａ）。判定部１２３は、移動量の推定値として累積値を用いる。本実施形態では、累積値には、前後方向の累積値と、左右方向の累積値とが存在する。比較対象となる値は、オプティカルフローＯＦを導出するための２つの画像の撮影時間間隔に車両７が移動する量を積算したもので、車速センサ４１によって得られる速度情報から算出される。当該値には、前後方向の移動量と、左右方向の移動量とが存在する。ただし、本変形例では、車両７が前後方向に直進している場合にオプティカルフローＯＦを導出するための撮影画像を撮影する構成であるために、この間に車両７は左右方向に移動しておらず、左右方向の移動量（左右方向の累積値と比較する比較値）はゼロである。
【００９１】
本変形例では、車両７の移動量が所定距離に到達するまで移動量推定部１２２で得られた推定値を足し合わせて累積値を求める処理が行われ、判定部１２３は、車両の移動量が所定距離に到達した時点で累積値に基づいて車載カメラのずれを判定する。これによれば、カメラずれが生じている場合に、推定値と、実測情報から得られる値との差が明確に表れるタイミングでずれ判定を行うことができ、ずれ判定の信頼性を向上することができる。なお、本変形例の構成は、図１２や図１３に示す異常状態を検出する手順が追加されたフローにも適用可能である。
【００９２】
＜４−３．第３変形例＞  
図１７は、変形例のカメラずれ検出装置１Ａの構成を示すブロック図である。カメラずれ検出装置１Ａは、影位置推定部１２４を更に備える点で、以上に示した実施形態と異なる。影位置推定部１２４は、制御部１２のＣＰＵが記憶部１３に記憶されるプログラムに従ってＣＰＵが演算処理を行うことによって実現される機能部である。影位置推定部１２４は、車両７（自車両）の影位置を推定する。
【００９３】
なお、影位置の推定は、例えば、時刻、季節、天候、車両７の進行方向等に基づいて行われてよい。季節や天候に関する情報は、例えば、インターネット等を介してサーバ装置等から取得してよい。また、車両７の進行方向については、例えば通信バス５０を介して舵角センサ４２から得られる情報に基づいて取得してよい。
【００９４】
図１８は、変形例のカメラずれ検出装置１Ａによるカメラずれの検出フローの一例を示すフローチャートである。カメラずれ検出装置１Ａにおいても、図３に示した例と同様に、ステップＳ１とステップＳ２とが実行され、車両７が低速で直進走行する場合にオプティカルフローＯＦを導出するための撮影画像が撮影される。当該撮影画像が撮影されると、影位置推定部１２４によって影位置の推定が行われる（ステップＳ３１）。
【００９５】
影位置の推定が行われると、導出部１２１は、推定された影位置に基づいて特徴点ＦＰの抽出範囲を設定する（ステップＳ３１）。詳細には、導出部１２１は、推定された影位置からずれた位置（影位置と重ならない位置）に特徴点ＦＰの抽出範囲を設定する。この後、上述した図３、図１２、図１３、又は図１６で示すステップＳ３以降が実行される。
これによれば、影ＳＨによる影響によってオプティカルフローＯＦに基づく車両７の移動量推定値が不正確になる可能性を低減することができ、カメラずれの判定を迅速且つ適切に行うことができる。
【００９６】
＜４−４．その他＞
本明細書における実施形態や変形例の構成は、本発明の例示にすぎない。実施形態や変形例の構成は、本発明の技術的思想を超えない範囲で適宜変更されてもよい。また、複数の実施形態及び変形例は、可能な範囲で組み合わせて実施されてよい。
【００９７】
以上においては、車載カメラ２１〜２４のずれ判定に用いるデータは、車両７が直進走行している場合に収集される構成とした。ただし、これは例示であり、車載カメラ２１〜２４のずれ判定に用いるデータは、車両７が直進走行していない場合に収集されてもよい。車速センサ４１から得られる速度情報と舵角センサ４２から得られる情報とを用いれば、車両７の前後方向および左右方向の実際の移動量を正確に求めることができるために、車両７が直進走行していない場合でも上述のずれ判定を行うことができる。
【００９８】
また、以上においては、移動量推定部１２２は、前後方向の移動量の推定値と、左右方向の移動量の推定値とを求める構成としたが、いずれか一方だけを求める構成としてもよい。ただし、いずれか一方だけの推定値を求める構成とする場合には、移動量推定部１２２は、前後方向の移動量の推定値のみを求めることが好ましい。この場合、例えば、判定部１２３は、前後方向の移動量について、移動量推定部１２２で得られる推定値と、センサ部４で取得される実測情報から得られる値とを比較してカメラずれの判定を行ってよい。
【符号の説明】
【００９９】
１、１Ａ・・・カメラずれ検出装置
７・・・車両
２１・・・フロントカメラ（車載カメラ）
２２・・・バックカメラ（車載カメラ）
２３・・・左サイドカメラ（車載カメラ）
２４・・・右サイドカメラ（車載カメラ）
４１・・・車速センサ（外部センサ）
４２・・・舵角センサ（外部センサ）
１２１・・・導出部
１２２・・・移動量推定部
１２３・・・判定部
１２４・・・影位置推定部
ＦＰ・・・特徴点
ＯＦ・・・オプティカルフロー
【図１】
2019121032.tif 000003
【図２】
2019121032.tif 000004
【図３】
2019121032.tif 000005
【図４】
2019121032.tif 000006
【図５】
2019121032.tif 000007
【図６】
2019121032.tif 000008
【図７】
2019121032.tif 000009
【図８】
2019121032.tif 000010
【図９】
2019121032.tif 000011
【図１０】
2019121032.tif 000012
【図１１】
2019121032.tif 000013
【図１２】
2019121032.tif 000014
【図１３】
2019121032.tif 000015
【図１４】
2019121032.tif 000016
【図１５】
2019121032.tif 000017
【図１６】
2019121032.tif 000018
【図１７】
2019121032.tif 000019
【図１８】
2019121032.tif 000020