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