(57)【要約】【課題】撮影画像を利用して撮影装置の不具合を検出する際、不具合の種別も検出する。【解決手段】不具合検出装置は、撮影装置で撮影された複数の画像データを取得する取得部（１１）と、複数の画像データから、重複領域を検出する重複検出部（１２）と、複数の画像データの重複領域から、同一の特徴点で形成されるベクトルを特定するベクトル特定部（１３）と、ベクトルを行列に変換する行列変換部（１４）と、一の画像データの重複領域から選択された点を行列によって他の画像データ空間上に投影した投影点と、ベクトルにおいて前記選択された点に対応する点との誤差である再投影誤差を算出する誤差算出部（１５）と、再投影誤差を用いて、撮影装置の不具合を判定する判定部（１６）とを備える。【選択図】図１
2020188334.tif 000002
【特許請求の範囲】
【請求項１】
撮影装置で撮影された複数の画像データを取得する取得部と、
前記複数の画像データから、重複領域を検出する重複検出部と、
前記複数の画像データの前記重複領域から、同一の特徴点で形成されるベクトルを特定するベクトル特定部と、
前記ベクトルを行列に変換する行列変換部と、
一の画像データの前記重複領域から選択された点を前記行列によって他の画像データ空間上に投影した投影点と、前記ベクトルにおいて前記選択された点に対応する点との誤差である再投影誤差を算出する誤差算出部と、
前記再投影誤差の結果に応じて、前記撮影装置の不具合を判定する判定部と、
を備える不具合検出装置。
【請求項２】
前記取得部は、複数の前記撮影装置で同時に撮影された複数の画像データを取得する
請求項１に記載の不具合検出装置。
【請求項３】
前記撮影装置として、第１の撮影装置、第２の撮影装置及び第３の撮影装置と接続され、
前記第１の撮影装置及び前記第２の撮影装置がそれぞれ撮影する画像データは第１の重複領域を含み、
前記第２の撮影装置及び前記第３の撮影装置がそれぞれ撮影する画像データは第２の重複領域を含む、
前記第１の撮影装置及び前記第３の撮影装置がそれぞれ撮影する画像データは重複領域を含まない場合であって、
前記判定部は、前記第１の重複領域と、前記第２の重複領域とのいずれもに不具合がある場合、第１重複領域及び第２の重複領域を撮影する第２の撮影装置を不具合が発生した箇所であると判定する
請求項２に記載の不具合検出装置。
【請求項４】
前記判定部は、前記誤差算出部で算出した複数の再投影誤差が第１閾値未満である割合が所定以下である場合、撮影装置の不具合を故障と判定する
請求項１乃至３のいずれか１に記載の不具合検出装置。
【請求項５】
前記判定部は、前記誤差算出部で算出した複数の再投影誤差が第１閾値未満である割合が所定以下でなく、正常時に取得された画像データを用いて前記行列変換部で得られた第１行列と、新たに取得された画像データを用いて前記行列変換部で得られた第２行列との差が、第２閾値以上であるとき前記撮影装置の不具合を位置姿勢ずれと判定する
請求項１乃至４のいずれか１に記載の不具合検出装置。
【請求項６】
前記行列変換部は、射影変換行列、基礎行列又は基本行列に変換する
請求項１乃至５のいずれか１に記載の不具合検出装置。
【請求項７】
請求項１乃至６のいずれか１に記載の不具合検出装置を備える移動体。
【請求項８】
撮影装置で撮影された複数の画像データを取得するステップと、
前記複数の画像データから、重複領域を検出するステップと、
前記複数の画像データの前記重複領域から、同一の特徴点で形成されるベクトルを特定するステップと、
前記ベクトルを行列に変換するステップと、
一の画像データの前記重複領域から選択された点を前記行列によって他の画像データ空間上に投影した投影点と、前記ベクトルにおいて前記選択された点に対応する点との誤差である再投影誤差を算出するステップと、
前記再投影誤差を用いて、前記撮影装置の不具合を判定するステップと、
を有する不具合検出方法。
【請求項９】
請求項８に記載の方法をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、撮影装置の不具合を検出する不具合検出装置、移動体、不具合検出方法及びプログラムに関する。
【背景技術】
【０００２】
特許文献１は、複数の撮像装置で撮像された撮像画像の重複領域の画像特徴の類似を判定し、類似していない場合に撮像装置が故障していると判定する故障検出装置が記載される。この特許文献１に記載の技術では、別々の撮像装置から得られた画像において、同様の画像特徴を有する確率が高いことを利用して故障を検出する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第６１８３３０５号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本開示は、撮影画像を利用して撮影装置の不具合を検出する、不具合検出装置、移動体、不具合検出方法及びプログラムを提供する。
【課題を解決するための手段】
【０００５】
本開示の不具合検出装置は、撮影装置で撮影された複数の画像データを取得する取得部と、複数の画像データから、重複領域を検出する重複検出部と、複数の画像データの重複領域から、同一の特徴点で形成されるベクトルを特定するベクトル特定部と、ベクトルを行列に変換する行列変換部と、一の画像データの重複領域から選択された点を行列によって他の画像データ空間上に投影した投影点と、ベクトルにおいて前記選択された点に対応する点との誤差である再投影誤差を算出する誤差算出部と、再投影誤差を用いて、撮影装置の不具合を判定する判定部とを備える。
【０００６】
これらの概括的かつ特定の態様は、システム、方法、及びコンピュータプログラム、並びに、それらの組み合わせにより、実現されてもよい。
【発明の効果】
【０００７】
本開示の不具合検出装置、移動体、不具合検出方法及びプログラムによれば、撮影装置の不具合を検出する際、不具合の種別も検出することができる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態１に係る不具合検出装置の構成を示すブロック図である。
【図２】画像の射影変換と再投影について説明する概念図である。
【図３Ａ】図１の不具合検出装置が取得する画像の一例である。
【図３Ｂ】図３Ａの画像と共に図１の不具合検出装置が取得する画像の一例である。
【図３Ｃ】図３Ａ及び図３Ｂの画像から求めたフローベクトルの一例である。
【図４Ａ】図３Ｃのフローベクトルから求めた再投影誤差の特徴を説明するグラフである。
【図４Ｂ】図３Ｃのフローベクトルから求めた射影変換行列の特徴を説明するグラフである。
【図５Ａ】図１の不具合検出装置が取得する画像の一例である。
【図５Ｂ】図５Ａの画像と共に図１の不具合検出装置が取得する画像の一例である。
【図５Ｃ】図５Ａ及び図５Ｂの画像から求めたフローベクトルの一例である。
【図６】図５Ｃのフローベクトルから求めた再投影誤差の特徴を説明するグラフである。
【図７Ａ】図１の不具合検出装置が取得する画像の一例である。
【図７Ｂ】図７Ａの画像と共に図１の不具合検出装置が取得する画像の一例である。
【図７Ｃ】図７Ａ及び図７Ｂの画像から求めたフローベクトルの一例である。
【図８Ａ】図７Ｃのフローベクトルから求めた再投影誤差の特徴を説明するグラフである。
【図８Ｂ】図７Ｃのフローベクトルから求めた射影変換行列の特徴を説明するグラフである。
【図９】実施の形態１に係る不具合検出方法を説明するフローチャートである。
【図１０】実施の形態１に係る不具合検出方法の射影変換行列の推定を説明するフローチャートである。
【図１１Ａ】射影変換行列Ｈtmpの推定対象に利用する点を含む第１画像データの一例である。
【図１１Ｂ】射影変換行列Ｈtmpの推定対象に利用する点を含む第２画像データの一例である。
【図１２Ａ】図１１Ａの第１画像データから抽出する点を示す一例である。
【図１２Ｂ】図１１Ｂの第２画像データから抽出する点を示す一例である。
【図１３Ａ】図１１Ａの第１画像データから抽出する点を示す他の例である。
【図１３Ｂ】図１１Ｂの第２画像データから抽出する点を示す他の例である。
【図１４】実施の形態２に係る不具合検出装置の構成を示すブロック図である。
【図１５Ａ】実施の形態２に係る不具合検出装置と接続される撮影装置の設置位置と不具合箇所の一例を示す概念図である。
【図１５Ｂ】実施の形態２に係る不具合検出装置と接続される撮影装置の設置位置と不具合箇所の他の例を示す概念図である。
【図１５Ｃ】実施の形態２に係る不具合検出装置と接続される撮影装置の設置位置と不具合箇所の他の例を示す概念図である。
【図１５Ｄ】実施の形態２に係る不具合検出装置と接続される撮影装置の設置位置と不具合箇所の他の例を示す概念図である。
【図１６】実施の形態２に係る不具合検出方法を説明するフローチャートである。
【図１７】実施の形態２に係る不具合検出方法の不具合箇所の特定を説明するフローチャートである。
【図１８】図１７の処理において不具合のある１台の撮影装置の特定を説明するフローチャートである。
【図１９】図１７の処理において不具合のある２台の撮影装置の特定を説明するフローチャートである。
【図２０】実施の形態３に係る不具合検出装置で利用する画像データの組について説明する図である。
【図２１】実施の形態３に係る不具合検出方法を説明するフローチャートである。
【図２２Ａ】撮影データの重複領域を説明する一例である。
【図２２Ｂ】図２２Ａと対応する撮影データの重複領域を説明する一例である。
【図２３Ａ】図２３Ａの重複領域の視点変換を説明する一例である。
【図２３Ｂ】図２３Ｂの重複領域の視点変換を説明する一例である。
【発明を実施するための形態】
【０００９】
［本開示の基礎となった知見］
自動車等の車両の周辺情報をドライバに提供するシステムとして、撮影装置で取得した映像を提供するカメラモニタリングシステム（ＣＭＳ）がある。ドライバは、このＣＭＳで提供される映像をもとに車両制御を行う。そのため、撮影装置による撮影に不具合が検出された場合、その不具合をドライバに通知する必要がある。
【００１０】
ここで、撮影装置の不具合には、撮影装置自体の故障と、撮影装置のずれがある。撮影装置の不具合が、撮影装置自体の故障であるのかずれであるのかを特定することは、不具合を早期に解決するために重要である。ところが、不具合が撮影装置自体の故障であるのかずれであるのかを特定することが困難であった。例えば、特許文献１に記載の技術では、撮影装置の故障のみを検出する。したがって、撮影装置自体の故障とともに、撮影装置のずれについても不具合として検出することが望まれる。
【００１１】
本開示は、所定の場所に設置される撮影装置について、撮影画像を用いて不具合の有無を検出する。また、不具合が撮影装置自体の故障であるのかを撮影装置のずれであるのかを特定することを可能とする。
【００１２】
［実施形態］
以下に、図面を参照して実施形態に係る不具合検出装置、移動体、不具合検出方法及びプログラムについて説明する。ただし、詳細な説明において、従来技術および実質的に同一の構成に関する説明のうち不必要な部分は省略されることもある。これは、説明を簡単にするためである。また、以下の説明および添付の図面は、当業者が本開示を充分に理解できるよう開示されるのであって、特許請求の範囲の主題を限定することを意図されていない。
【００１３】
本開示において「不具合」は、「撮影装置自体の故障」および「撮影装置の位置姿勢ずれ」である。本開示において、撮影装置の故障または位置姿勢ずれが生じた場合に、不具合が生じたとする。「撮影装置自体の故障」は、例えば、撮影装置の制御系、光学系等のいずれかの構成で異常が発生して正常に動作しなくなり、撮影される画像に何らかの影響が生じる状態をいう。また、「撮影装置の位置ずれ」は、例えば、撮影装置が初期の設置状態と比較して、撮影装置の設置場所又は座標が変化し、撮影範囲が変化した状態をいう。さらに、「撮影装置の姿勢ずれ」は、撮影装置が初期の設置状態と比較して、撮影装置の設置された方向が変化したことにより、光軸が移動し撮影範囲に変更が生じた状態をいう。
【００１４】
本開示において「フローベクトル」は、異なる画像を用いて、同一の特徴点で形成されるベクトルをいう。例えば、異なる視点から同時に撮影された重複領域を含む２つの画像データがあるとき、この重複領域に含まれる同一の特徴点で形成されるベクトルをフローベクトルとする。
【００１５】
また、以下では、一部において、不具合検出装置が不具合の検出対象とする撮影装置が車両に設置される車載カメラである例を挙げて説明するが、撮影装置が設置されるのは、車両に限定されない。例えば、不具合検出装置が不具合の検出対象とする撮影装置は、物体を検出する監視カメラ等であってもよい。また、不具合検出装置が不具合の検出対象とする撮影装置は、車両以外の移動体、例えば、船、電車、飛行体等の移動体に設置されるものであってもよい。
【００１６】
〈実施の形態１〉
図１に示すように、実施の形態１に係る不具合検出装置１Ａは、取得部１１と、重複検出部１２と、視点変換部１３と、ベクトル特定部１４と、行列変換部１５と、誤差算出部１６と、行列決定部１７と、判定部１８と、通知部１９とを備える。不具合検出装置１Ａは、例えば、制御部１０、記憶部２０及び出力部２１を備える情報処理装置によって実現することができる。また、不具合検出装置１Ａは、複数の撮影装置２ａ，２ｂと接続される。
【００１７】
撮影装置２ａ，２ｂは、車載カメラであって、例えば、車両の前方を撮影する前方カメラ、車両の後方を撮影する後方カメラ、車両の左側を撮影する左方カメラ、車両の右側を撮影する右方カメラである。撮影装置２ａ及び撮影装置２ｂは、車両において異なる場所に設置されるが、重複する範囲を撮影することができるものとする。なお、以下の説明において、第１の撮影装置２ａと第２の撮影装置２ｂを区別なく説明する場合には、単に撮影装置２とする。また、第１の撮影装置２ａで撮影された画像データを第１画像データＩ１とし、第２の撮影装置２ｂで撮影された画像データを第２画像データＩ２とする。
【００１８】
制御部１０は、情報処理装置全体の制御を司るコントローラである。例えば、制御部１０は、記憶部２０に格納された不具合検出プログラムを読み出して実行することにより、取得部１１、重複検出部１２、視点変換部１３、ベクトル特定部１４、行列変換部１５、誤差算出部１６、行列決定部１７、判定部１８及び通知部１９としての処理を実行する。なお、制御部１０は、ハードウェアとソフトウェアの協働により所定の機能を実現するものに限定されず、所定の機能を実現する専用に設計されたハードウェア回路でもよい。すなわち、制御部１０は、ＣＰＵ、ＭＰＵ、ＧＰＵ、ＦＰＧＡ、ＤＳＰ、ＡＳＩＣ等、種々のプロセッサで実現することができる。
【００１９】
記憶部２０は、ＲＡＭ、ＲＯＭ、フラッシュメモリ、ＳＳＤ（Solid State Device）、ハードディスク、その他の記憶デバイス又はそれらを適宜組み合わせて実現される。記憶部２０には、制御部１０が実行する不具合検出プログラムの他、例えば不具合検出装置１Ａと接続される撮影装置２ａ，２ｂで撮影された画像データＩ１，Ｉ２を記憶する。また、記憶部２０は、不具合検出に利用する重複データＤ１を記憶する。
【００２０】
出力部２１は、不具合検出の結果を出力するものであり、例えば、文字や画像を表示するディスプレイ、ビープ音や音声を出力するスピーカ、光を出力するランプ等である。
【００２１】
取得部１１は、撮影装置２で撮影された複数の画像データを取得する。また、取得部１１は、撮影装置２から取得した画像データＩ１，Ｉ２を記憶部２０に記憶させる。ここで、取得部１１は、同時に撮影された複数の画像データを取得する。
【００２２】
重複検出部１２は、複数の画像データＩ１，Ｉ２から、重複領域を検出する。具体的には、重複検出部１２は、第１画像データＩ１と、第１画像データＩ１とは異なる第２画像データＩ２との重複領域を検出する。第１の撮影装置２ａと第２の撮影装置２ｂが設置されると、通常、その位置は固定される。例えば、不具合検出装置１Ａは、撮影装置２ａ，２ｂの設置時に、その設置場所や傾き等から、撮影される第１画像データＩ１と第２画像データＩ２の重複領域が特定され、重複データＤ１として記憶部２０に記憶される。重複検出部１２は、この重複データを利用することで、画像データＩ１，Ｉ２の重複領域を検出することができる。
【００２３】
視点変換部１３は、異なる撮影装置２ａ，２ｂでそれぞれ撮影された画像データＩ１，Ｉ２から後段のベクトル特定部１４で正確にベクトルを特定するために重複領域の視点を変換する。視点変換の一例としては、鳥瞰変換する例が挙げられる。具体的には、第１の撮影装置２ａで図２２Ａに示すような画像データＩ１が撮影され、第２の撮影装置２ｂで図２２Ｂに示すような画像データＩ２が撮影されたとする。また、図２２Ａと図２２Ｂに示す各画像データＩ１，Ｉ２において、重複する領域を破線部分とする。図２２Ａ及び図２２Ｂに示す状態では、視点が異なるため、特徴の対応を特定しにくい。したがって、例えば、図２３Ａ及び図２３Ｂに示すように、視点変換部１３により、画像データＩ１，Ｉ２の重複部分について視点を変換することで、特徴の対応を特定しやすくする。図２３Ａは、図２２Ａに示した画像データＩ１の重複領域の視点を変換した例であり、図２３Ｂは、図２２Ｂに示した画像データＩ２の重複領域の視点を変換した例である。具体的には、視点変換部１３は、重複検出部１２によって検出された重複領域の視点を変換する処理を実行する。視点変換には、既存の方法を利用するため、ここでは説明を省略する。
【００２４】
ベクトル特定部１４は、複数の画像データＩ１，Ｉ２の重複領域から、同一の特徴点で形成されるフローベクトルを特定する。具体的には、ベクトル特定部１４は、（１）“Harrisのコーナー検出法”や“Shi-Tomasiのコーナー検出法”等により検出した特徴点に対して“Lucas-Kanade法”や“ブロックマッチング法”等を適用してトラッキングする、いわゆる「特徴点トラッキング」を用いてフローベクトルを特定することができる。また、ベクトル特定部１４は、（２）“Harrisのコーナー検出法”や“Shi-Tomasiのコーナー検出法”等により検出した特徴点に対して“ORB”等の特徴量を計算して特徴量の類似度が高いものを対応させる、いわゆる「特徴点マッチング」を用いてフローベクトルを特定することができる。
【００２５】
行列変換部１５は、フローベクトルを行列に変換する。具体的には、行列変換部１５は、ベクトル特定部１４で特定されたフローベクトルから任意の４点を選択し、以下の式（１）により、射影変換行列（ホモグラフィ行列）Ｈtmpを推定する。
【数１】
2020188334.tif 000003
【００２６】
射影変換では、図２に示すように、ある三次元平面上の任意の点ｐを２つの撮影装置２ａ，２ｂで撮影したとき、それぞれの画像データＩ１，Ｉ２上の投影点ｍ、ｍ’は、式（１）の関係が成立する。Ｈの自由度は、８であるため、ベクトル特定部１４で特定した４組のフローベクトルを利用して、射影変換行列Ｈtmpを推定する。なお、具体的な処理については後述するが、最終的な射影変換行列Ｈの推定のため、行列変換部１５は、射影変換行列Ｈtmpを求め、求めた射影変換行列Ｈtmpに対するアウトライアの割合に応じて射影変換行列Ｈを特定する。また、撮影装置２で故障が生じている場合、射影変換行列Ｈを特定することができず、射影変換行列Ｈは不定となる。ここでは「不定」とは、射影変換行列Ｈtmpを用いて誤差算出部１６で求める再投影誤差がアウトライアとなる割合が高く、一の射影変換行列Ｈとして特定することができないことをいう。
【００２７】
不具合検出装置１Ａは、この行列変換部１５で求める射影変換行列Ｈを、撮影装置２の位置姿勢ずれの判定に利用する。具体的には後述するが、行列変換部１５が求めた射影変換行列Ｈtmpが、正常な場合に求めた初期値の射影変換行列Ｈ0と比較して差が大きいとき、判定部１８は、少なくともいずれかの撮影装置２ａ，２ｂで位置姿勢ずれしていると判定する。
【００２８】
誤差算出部１６は、フローベクトルから再投影誤差を算出する。具体的には、誤差算出部１６は、第１画像データＩ１から特定したフローベクトルから行列変換部１５における射影変換行列Ｈtmpの推定で選択されていない点をランダムに抽出する（以下、抽出した点を「抽出点」とする）。また、誤差算出部１６は、第２画像データＩ２から特定したフローベクトルから抽出点と対応する点（以下、「対応点」とする）を抽出する。また、誤差算出部１６は、抽出点ｍ、対応点ｍ’、行列変換部１５で求めた射影変換行列Ｈtmp、ｓを用いて式（２）によって再投影誤差ｄを求める。ここで、例えば、誤差算出部１４は、４組の抽出点ｍと対応点ｍ’を対応サンプルとして抽出し、この対応サンプルについて再投影誤差ｄiを算出する。ここで、ｉは、サンプルの識別符号である。
【数２】
2020188334.tif 000004
【００２９】
行列決定部１７は、誤差算出部１６で算出した再投影誤差ｄiを用いて、撮影装置２の不具合の判定に利用する現在の射影変換行列Ｈを決定する。具体的には、行列決定部１７は、再投影誤差ｄiが第１閾値ｄt1より小さい場合をインライア、第１閾値ｄt1より大きい場合をアウトライア（外れ値）とする。また、全ての再投影誤差ｄiにおけるインライアの割合が所定割合ｒt以上であるとき、具体的には、第１閾値ｄt1未満の再投影誤差ｄiが所定割合ｒt以上であるとき、行列変換部１５で得られた行列Ｈtmpを現在の射影変換行列Ｈとする。一方、全ての再投影誤差ｄiにおけるインライアの割合が所定割合ｒt以上でない場合であっても、行列変換部１５での任意の点の選択で誤りがある場合を避けるため、所定回に至るまでは、行列変換部１５で新たな行列の変換をリクエストして処理を繰り返す。
【００３０】
判定部１８は、行列決定部１７で決定された射影変換行列Ｈを用いて、撮影装置２の不具合を判定する。具体的には、判定部１８は、撮影装置２がいずれも「正常である」、いずれかに「不具合が発生している」ことを判定する。また、判定部１８は、不具合の種別として「故障」または「位置姿勢ずれ」が発生していることを判定する。
【００３１】
以下に、撮影装置２が「正常」である場合、「故障」している場合、「位置姿勢ずれ」している場合における、判定部１８での判定について具体的に説明する。なお、判定部１８で使用する閾値等の各値は、判定データＤ２として記憶部２０に記憶される。
【００３２】
（撮影装置が正常の判定）
判定部１８は、射影変換行列Ｈが決定され、射影変換行列Ｈと初期値の射影変換行列Ｈ0との差分が所定の第２閾値ｄt2未満で安定しているとき、撮影装置２に不具合が無いと判定する。ここで、初期値の射影変換行列Ｈ0は、撮影装置２の設置時等の異常が無い状態で予め求められ、判定データＤ２として記憶部２０に記憶されたものである。
【００３３】
図３Ａ及び図３Ｂに、撮影装置２の故障及び位置姿勢ずれがない場合に、ある被写体を撮影した第１画像データＩ１及び第２画像データＩ２の一例を示す。撮影装置２の故障及び位置姿勢ずれがない場合、ベクトル特定部１４で特定される複数のフローベクトルは、図３Ｃに示すように求められる。
【００３４】
図４Ａは、複数の異なるタイミングでそれぞれ得られた画像データから求めた対応サンプルについて求めた再投影誤差ｄiについてのアウトライアの割合を示すグラフである。図４Ａにおいて、横軸は時間（画像を撮影した時間）、縦軸はアウトライアの割合とする。図４Ａに示すように、撮影装置２の故障及び位置姿勢ずれがない場合、異なる複数のタイミングで、それぞれ第１及び第２画像データＩ１，Ｉ２を取得し、複数のサンプルから再投影誤差ｄを求めたとしても、それらのうち所定の割合ｒt（例えば９０％）以上が第１閾値ｄt1以内となる。すなわち、インライアの割合が高くなるため、アウトライアの割合は低くなる。
【００３５】
図４Ｂは、第１及び第２画像データＩ１，Ｉ２から複数の射影変換行列Ｈを求め、初期値の射影変換行列Ｈ0との差分を求めた一例である。図４Ｂにおいて、横軸は時間（画像を撮影した時間）、縦軸は差分とする。図４Ｂに示すように、異なる複数のタイミングで、それぞれ第１及び第２画像データＩ１，Ｉ２を取得し、射影変換行列Ｈを求めたとしても、撮影装置２が正常である場合、それらの射影変換行列Ｈと初期値の射影変換行列Ｈ0との差分はそれぞれ第２閾値ｄt2以内となる。なお、図４Ａ及び図４Ｂに示す例では、アナログ的なグラフで示されているが実際は離散的なグラフになる。また、後述する他のグラフも同様である。
【００３６】
（撮影装置の故障の判定）
判定部１８は、射影変換行列Ｈが不定で特定することができないとき、撮影装置２に不具合があると判定する。
【００３７】
図５Ａに、正常な第１の撮影装置２ａである被写体を撮影した第１画像データＩ１の一例を示し、図５Ｂに、位置姿勢ずれは生じていないが、故障した第２の撮影装置２ｂで同一の被写体を撮影した第２画像データＩ２の一例を示す。撮影装置２ａ，２ｂのいずれかが故障した場合、同一の被写体を撮影したとしても、例えば、図５Ａに示す第１画像データＩ１と図５Ｂに示す画像データＩ２のように、撮影される画像の特徴が異なるものとなる。したがって、各フローベクトルは、図５Ｃに示すように求められる。
【００３８】
撮影装置２ａ，２ｂのいずれかが故障した場合、図６に示すように、複数のサンプルから再投影誤差ｄiを求めたとき、それらのうち所定の割合ｒt（例えば９０％）以上が第１閾値ｄt1以上となる。すなわち、射影変換行列Ｈに対する複数の再投影誤差ｄiについてアウトライアの割合が、第１閾値ｄt1以上となる。
【００３９】
（撮影装置の位置姿勢ずれの判定）
判定部１８は、射影変換行列Ｈが不定ではないが、射影変換行列Ｈと初期値の射影変換行列Ｈ0との差分が所定の第２閾値ｄt2以上であるとき、撮影装置２に位置姿勢ずれが発生したと判定する。
【００４０】
図７Ａに、正常な第１の撮影装置２ａである被写体を撮影した第１画像データＩ１の一例を示し、図７Ｂに、故障していないが、位置姿勢ずれが生じた第２の撮影装置２ｂで同一の被写体を撮影した第２画像データＩ２の一例を示す。撮影装置２，２ｂが故障した場合、同一の被写体を撮影したとしても、例えば、図７Ａに示す第１画像データＩ１と図７Ｂに示す画像データＩ２のように、撮影される被写体の角度が異なる等の事態が生じる。したがって、各フローベクトルは、図７Ｃに示すように求められる。
【００４１】
撮影装置２ａ，２ｂのいずれかに位置姿勢ずれが生じ場合、図８Ａに示すように、複数のサンプルから再投影誤差ｄiを求めたとき、それらのうち所定の割合ｒt（例えば９０％）以上は、第１閾値ｄt1以内となる。すなわち、複数の再投影誤差ｄiについてアウトライアの割合が、第１閾値ｄt1以内となる。
【００４２】
また、図８Ｂは、撮影装置２ａ，２ｂは故障していないが、いずれかに位置姿勢ずれが生じた状態で、異なる複数のタイミングでそれぞれ第１及び第２画像データＩ１，Ｉ２を取得し、複数の射影変換行列Ｈを求め、初期値の射影変換行列Ｈ0との差分を求めた一例である。図８Ｂに示すように、撮影装置２ａ，２ｂは故障していないが、いずれかに位置姿勢ずれが生じた状態で撮影された第１及び第２画像データＩ１，Ｉ２から求めた射影変換行列Ｈと初期値の射影変換行列Ｈ0との差分は、不安定ではないが、第２閾値ｄt2以上となる。
【００４３】
通知部１９は、判定部１８による判定結果を出力部２１に出力する。ここで、通知部１９は、判定結果のうち、撮影装置２の「故障」及び「位置姿勢ずれ」のみを通知すればよく、「正常」である場合には、判定結果を出力しなくてもよい。すなわち、正常であることが一般的であるため、正常の場合には通知しなくてもよい。例えば、不具合が発生した場合にのみ、通知することで不具合が発生した場合に利用者に気づかせやすくすることができる。
【００４４】
このように、上述した不具合検出装置１Ａによれば、撮影装置の不具合の有無を検出することができる。また、不具合検出装置１Ａによれば、不具合の種別も検出することができる。このように、不具合の種別を通知することで、利用者は、不具合に対して速やかに対応することができる。例えば、撮影装置２が車両に設置される車載カメラであって、利用者がドライバである場合、利用者であるドライバはこの通知によって直ちに撮影装置２の不具合を改善することが可能となり、運転の安全性を確保することができる。
【００４５】
《不具合検出方法》
続いて、図９及び図１０に示すフローチャートと、図１１乃至図１３に示す画像データの例を用いて、不具合検出装置１Ａで実行される不具合検出方法について説明する。
不具合検出装置１Ａは、撮影装置２で撮影された画像データＩ１，Ｉ２を取得する（Ｓ０１）。不具合検出装置１Ａは、取得する画像データを記憶部２０に記憶させる。
【００４６】
その後、不具合検出装置１Ａは、ステップＳ０１で取得した画像データＩ１，Ｉ２を用いて、射影変換行列の推定の処理を実行する（Ｓ０２）。ステップＳ０２の射影変換行列の推定の処理について、図１０に示すフローチャートを用いて具体的に説明する。
【００４７】
図１０に示すように、まず、不具合検出装置１Ａは、ステップＳ０１で取得した第１画像データＩ１と第２画像データＩ２の重複領域を検出する（Ｓ１１）。
また、不具合検出装置１Ａは、ステップＳ１１で検出した重複領域について視点変換を実行する（Ｓ１２）。
その後、不具合検出装置１Ａは、ステップＳ１２で視点変換した重複領域を用いてフローベクトルを特定する（Ｓ１３）。
【００４８】
不具合検出装置１Ａは、第１画像データＩ１と第２画像データＩ２とから任意の対応する点を４点抽出し、射影変換行列Ｈtmpを求める（Ｓ１４）。対応する点とは、ステップＳ１２で得られた各フローベクトルを構成する点である。
【００４９】
図１１Ａに、第１画像データＩ１（以下、必要に応じて、「フレームｆ」という。）の一例を示し、図１１Ｂに、第２画像データＩＢ（以下、必要に応じて、「フレームｆ’」という。）の一例を示す。第１画像データＩ１の点ｍ0〜ｍ11と、第２画像データＩ２の点ｍ0’〜ｍ11 ’とがそれぞれ対応する点として選択された（以下、必要に応じて「対応サンプル」とする）ものとする。ここで、黒丸（●）で示される対応サンプル（ｍ0，ｍ0’）、（ｍ1，ｍ1’）、（ｍ3，ｍ3’）、（ｍ5，ｍ5’）、（ｍ6，ｍ6’）、（ｍ7，ｍ7’）、（ｍ8，ｍ8’）、（ｍ9，ｍ9’）、（ｍ10，ｍ10’）、（ｍ11，ｍ11’）は対応する点として正しいが、白丸（○）で示される対応サンプル（ｍ2，ｍ2’）、（ｍ4，ｍ4’）は誤っているものとする。
【００５０】
仮に、ステップＳ１４において、不具合検出装置１Ａは、第１画像データＩ１から図１２Ａに示すように、（ｍ2，ｍ4，ｍ5，ｍ8）を抽出し、第２画像データＩ２から図１２Ｂに示すように、（ｍ2’，ｍ4’，ｍ5’，ｍ8’）を抽出したとする。このように対応サンプルが抽出された場合、誤った対応サンプルが含まれるものとなる。不具合検出装置１Ａは、図１２Ａ及び図１２Ｂのように選択された対応サンプルを用いて、式（３．１）〜（３．４）の連立方程式を解いて射影変換行列Ｈtmpを求める。
【数３】
2020188334.tif 000005
【００５１】
不具合検出装置１Ａは、再投影誤差ｄiを算出する（Ｓ１５）。具体的には、不具合検出装置１Ａは、第１画像データＩ１からステップＳ１４で抽出していない点を抽出点として抽出し、ステップＳ１３で求めた射影変換行列Ｈtmpを用いて第２画像データＩ２への投影点を求める。また、第２画像データＩ２から抽出点と対応する対応点を選択し、対応点と投影点との差分を再投影誤差ｄiとして求める。
【００５２】
具体的には、再投影誤差ｄiは、式（４）を用いて求める。
【数４】
2020188334.tif 000006
【００５３】
なお、式（４）により、ステップＳ１４で抽出されなかった対応サンプル（ｍ0，ｍ0’）、（ｍ1，ｍ1’）、（ｍ3，ｍ3’）、（ｍ6，ｍ6’）、（ｍ7，ｍ7’）、（ｍ9，ｍ9’）、（ｍ10，ｍ10’）、（ｍ11，ｍ11’）を用いて、式（５．１）〜（５．８）に示すように、再投影誤差ｄ0〜ｄ11を求める。なお、下記の式（５．１）〜（５．８）の後ろに付される「閾値以上」又は「閾値未満」の文字は、後述するステップでの説明に利用するものである。
【数５】
2020188334.tif 000007
【００５４】
不具合検出装置１Ａは、ステップＳ１５で算出した第１閾値未満の再投影誤差が所定割合以上であるか否かを判定する（Ｓ１６）。ここで、不具合検出装置１Ａは、再投影誤差を複数求めて判定することを規定している。したがって、不具合検出装置１Ａは、第１閾値未満の再投影誤差が所定割合以上（例えば、５０％以上）であるか否かを判定する。
【００５５】
第１閾値未満の再投影誤差が所定割合以上でない場合（Ｓ１６でＮＯ）、不具合検出装置１Ａは、ステップＳ１４〜Ｓ１６の処理をＮ回以上行ったか否かを判定する（Ｓ１７）。
ステップＳ１４〜Ｓ１６の処理を実行した回数がＮ回未満であるとき（Ｓ１７でＮＯ）、ステップＳ１４に戻り、不具合検出装置１Ａは、ステップＳ１４〜Ｓ１６の処理を繰り返す。仮に、上述した式（５．１）〜（５．８）が１回目の処理であって、Ｎが「３」であったとき、ステップＳ１４〜Ｓ１６の処理を実行した回数が「３」回未満であるからステップＳ１４に戻る。
【００５６】
これにより、ステップＳ１４で射影変換行列Ｈtmpを求めた際にたまたま誤ったサンプルを採用していた場合、射影変換行列Ｈを直ちに不定と判断することを防ぐことができる。すなわち、上述した式（５．１）〜（５．８）で求めた例では、再投影誤差ｄ0，ｄ1，ｄ3，ｄ7，ｄ9，ｄ11が第１閾値以上であって、再投影誤差ｄ6，ｄ10が第１閾値未満である。仮に、所定割合を「５０％」とした場合、この例では、「２５％」であるから、ステップＳ１７に進む。具体的には、上述した図１２Ａ及び図１２Ｂの例では、抽出した４組の対応サンプルのうち、２組の対応サンプルが対応を誤ったものであるため、再投影誤差が閾値未満のサンプルが少なくなった例である。
【００５７】
２回目のステップＳ１４では、第１画像データＩ１から図１３Ａに示すように、（ｍ0，ｍ3，ｍ7，ｍ9）を抽出し、第２画像データＩ２から図１３Ｂに示すように、（ｍ0’，ｍ3’，ｍ7’，ｍ9’）を抽出したとする。このように対応サンプルが抽出された場合、誤った対応サンプルは含まれない。不具合検出装置１Ａは、図１３Ａ及び図１３Ｂのように選択された対応サンプルを用いて、式（６．１）〜（６．４）の連立方程式を解いて射影変換行列Ｈtmpを求める。
【数６】
2020188334.tif 000008
【００５８】
また、２回目のステップＳ１５では、ステップＳ１４で抽出されなかった対応サンプル（ｍ1，ｍ1’）、（ｍ2，ｍ2’）、（ｍ4，ｍ4’）、（ｍ5，ｍ5’）、（ｍ6，ｍ6’）、（ｍ8，ｍ8’）、（ｍ10，ｍ10’）、（ｍ11，ｍ11’）を用いて、式（７．１）〜（７．８）に示すように、再投影誤差ｄ0〜ｄ11を求める。図１３Ａ及び図１３Ｂの場合、抽出した４組のサンプルがすべて正しい対応であるため、再投影誤差が閾値未満のサンプルが６組となった例である。
【数７】
2020188334.tif 000009
【００５９】
上述した式（７．１）〜式（７．８）で求めた例では、再投影誤差ｄ2，ｄ4のみが第１閾値以上であって、再投影誤差ｄ1，ｄ5，ｄ6，ｄ8，ｄ10，ｄ11が第１閾値未満である。仮に、所定割合を「５０％」とした場合、この例では、「７５％」であるから、ステップＳ１８に進む。
【００６０】
ステップＳ１４〜Ｓ１６の処理を実行した回数がＮ回以上であるとき（Ｓ１７でＹＥＳ）、不具合検出装置１Ａは、現在の射影変換行列Ｈは不定として、射影変換行列の推定の処理を終了する（Ｓ１８）。
【００６１】
また、第１閾値ｄt1未満の再投影誤差ｄiが所定割合以下である場合（Ｓ１６でＹＥＳ）、不具合検出装置１Ａは、ステップＳ１４で算出した射影変換行列Ｈtmpを現在の射影変換行列Ｈとして、射影変換行列の推定の処理を終了する（Ｓ１９）。具体的には、仮に、上述した図１３Ａ及び図１３Ｂの例では、不具合検出装置１Ａは、ステップＳ１８において、式（６．１）〜式（６．４）を用いて求めた射影変換行列Ｈtmpを現在の射影変換行列Ｈとする。
【００６２】
射影変換行列の推定の処理が終了すると、図９のフローチャートに示すように、不具合検出装置１Ａは、ステップＳ０２で推定された射影変換行列Ｈが不定である場合（Ｓ０３でＹＥＳ）、撮影装置２ａ，２ｂのいずれかが故障したと検出する（Ｓ０５）。
【００６３】
射影変換行列Ｈが不定でないとき（Ｓ０３でＮＯ）、不具合検出装置１Ａは、ステップＳ０２で推定された射影変換行列Ｈと初期値の射影変換行列Ｈ0との差分が第２閾値以上であるか否かを判定する（Ｓ０４）。
差分が、第２閾値以上であるとき（Ｓ０４でＹＥＳ）、不具合検出装置１Ａは、撮影装置２ａ，２ｂのいずれかで位置姿勢ずれが発生したと検出する（Ｓ０６）。
一方、差分が第２閾値以上でないとき（Ｓ０４でＮＯ）、不具合検出装置１Ａは、撮影装置２ａ，２ｂのいずれも不具合がないと検出する（Ｓ０７）。
【００６４】
また、不具合検出装置１Ａは、ステップＳ０５〜Ｓ０７の結果を通知する（Ｓ０８）。
【００６５】
このように、実施の形態１に係る不具合検出装置１Ａ及び不具合検出方法では、異なる２台の撮影装置２ａ，２ｂで同時に撮影された画像の特徴点から求めるフローベクトルを利用して、撮影装置の不具合の有無を検出することができる。また、不具合検出装置１Ａ及び不具合検出方法では、不具合の種別を検出することができる。
【００６６】
〈実施の形態２〉
図１４を用いて、実施の形態２に係る不具合検出装置１Ｂについて説明する。図１を用いて上述した実施の形態１に係る不具合検出装置１Ａと接続される撮影装置２の数は２台であった。これに対し、図１４に示すように、実施の形態２に係る不具合検出装置１Ｂは、４台の撮影装置２ａ〜２ｄと接続される。例えば、この４台の撮影装置２ａ〜２ｄで撮影される画像は、隣接する撮影装置２との間に重複領域を含むものとする。また、不具合検出装置１Ｂは、判定部１８の判定結果を入力信号とする特定部２２を備える。これにより、不具合検出装置１Ｂは、不具合の有無を検出する際、種別とともに、不具合が発生する撮影装置２を特定することができる。すなわち、不具合検出装置１Ｂは、重複領域について、不具合の有無を検出し、その検出結果を用いて、不具合が発生する撮影装置２を特定する。
【００６７】
図１５Ａは、車両Ｍに４台の撮影装置２を設置した様子を示す概念図である。図１５Ａに示す例では、車両Ｍの右側に第１の撮影装置２ａ、後方に第２の撮影装置２ｂ、左側に第３の撮影装置２ｃ、前側に第４の撮影装置２ｄが設置される。また、第１及び第２の撮影装置２ａ，２ｂによって撮影される画像の重複部分を第１の重複領域Ａ１、第２及び第３の撮影装置２ｂ，２ｃによって撮影される画像の重複部分を第２の重複領域Ａ２、第３及び第４の撮影装置２ｃ，２ｄによって撮影される画像の重複部分を第３の重複領域Ａ３、第１及び第４の撮影装置２ａ，２ｄによって撮影される画像の重複部分を第４の重複領域Ａ４とする。
【００６８】
具体的には、重複検出部１２は、第１〜第４の重複領域Ａ１〜Ａ４を特定する。視点変換部１３は、各重複領域Ａ１〜Ａ４について、視点が統一するように変換する。ベクトル特定部１４は、視点変換された各重複領域Ａ１〜Ａ４についてフローベクトルを特定する。行列変換部１５は、各重複領域Ａ１〜Ａ４について、射影変換行列Ｈtmpを求める。誤差算出部１６は、各重複領域Ａ１〜Ａ４について、再投影誤差を求める。行列決定部１７は、現在の射影変換行列を決定する。判定部１８は、各重複領域Ａ１〜Ａ４に関する射影変換行列から撮影装置２の不具合の有無を判定する。そして、特定部２２は、いずれかの撮影装置２で不具合が発生したと検出されると、不具合の発生した撮影装置２を特定する。
【００６９】
図１５Ａに示すように、例えば、全ての撮影装置２ａ〜２ｄで不具合が発生していないとき、全ての画像の重複領域Ａ１〜Ａ４において異常は検出されない。これに対し、図１５Ｂに示すように、いずれかの撮影装置２ａ〜２ｄにおいて不具合が発生したとき、不具合が発生した撮影装置２ａ〜２ｄで撮影される画像を利用する重複領域Ａ１〜Ａ４において異常が検出される。図１５Ｂに示す例では、第３及び第４の重複領域Ａ３，Ａ４において不具合が検出された例である。この場合、第３の重複領域Ａ３は、第３の撮影装置２ｃで撮影された第３画像データＩ３及び第４の撮影装置２ｄで撮影された第４画像データＩ４から得られる。また、第４の画像領域Ａ４は、第４の撮影装置２ｄで撮影された第４画像データＩ４及び第１の撮影装置２ａで撮影された第１画像データＩ１から得られる。この場合、特定部２２は、第３の重複領域Ａ３と第４の重複領域Ａ４との両方を撮影した第４の撮影装置２ｄで不具合が発生したと特定する。すなわち、特定部２２は、不具合ありの重複領域に挟まれる撮影装置２において不具合が発生したと特定する。
【００７０】
仮に、図１５Ｃに示すように、第１及び第２の重複領域Ａ１，Ａ２で不具合が発生したと判定されると、特定部２２は、第１及び第２の重複領域Ａ１，Ａ２に挟まれる第２の撮影装置２ｂで不具合が発生したと特定する。同様に、図１５Ｄに示すように、第１、第３及び第４の重複領域Ａ１，Ａ３，Ａ４で不具合が発生したと判定されると、特定部２２は、第１及び第２の重複領域Ａ１，Ａ２に挟まれる第１の撮影装置２ａと第３及び第４の重複領域Ａ３，Ａ４に挟まれる第４の撮影装置２ｄで不具合が発生したと特定する。なお、全ての重複領域に不具合が検出された場合には、不具合の発生した撮影装置２を特定することはできない。
【００７１】
このように、上述した不具合検出装置１Ｂによれば、撮影装置２の不具合の有無を検出することができる。また、不具合検出装置１Ｂによれば、不具合の種別も検出し、さらに不具合の発生箇所も特定することができる。このように、不具合の種別及び不具合の発生箇所の通知も可能とすることで、利用者は、不具合に対して速やかに対応することができる。例えば、撮影装置２が車両に設置される車載カメラであって、利用者がドライバである場合、利用者であるドライバはこの通知によって直ちに撮影装置２の不具合を改善することが可能となり、運転の安全性を確保することができる。
【００７２】
《不具合検出方法》
続いて、図１６乃至図１９に示すフローチャートを用いて、不具合検出装置１Ｂで実行される不具合検出方法について説明する。なお、図９及び図１０のフローチャートで説明した処理と同一の処理については、同一の符号を付して説明を省略する。
まず、図１６に示すように、不具合検出装置１Ｂは、各撮影装置２ａ〜２ｄで同時に撮影された画像データＩ１〜Ｉ４を取得する（Ｓ０１）。
【００７３】
また、不具合検出装置１Ｂは、重複領域の抽出の対象となる各組合せについて、ステップＳ０２〜Ｓ０７の処理を実行する（Ｓ２１）。具体的には、図１５Ａに示す例では、「第１：第１及び第２の撮影装置２ａ，２ｂの画像データＩ１，Ｉ２の組み合わせ」、「第２：第２及び第３の撮影装置２ｂ，２ｃの画像データＩ２，Ｉ３の組み合わせ」、「第３：第３及び第４の撮影装置２ｃ，２ｄの画像データＩ３，Ｉ４の組み合わせ」、「第４：第１及び第４の撮影装置２ａ，２ｄの画像データＩ１，Ｉ４の組み合わせ」について、射影変換行列の推定から不具合の判定までの処理を繰り返す。
【００７４】
その後、不具合検出装置１Ｂは、各組合せの画像データに関するステップＳ０５〜Ｓ０７の判定結果を用いて、不具合箇所の特定を実行する（Ｓ２２）。ステップＳ２２の不具合箇所の特定の処理について、図１７に示すフローチャートを用いて具体的に説明する。
【００７５】
図１７に示すように、まず、不具合検出装置１Ｂは、ステップＳ０５又はＳ０６で不具合のある重複領域が検出されたか否かを判定する（Ｓ２１）。
【００７６】
ステップＳ２１において不具合のある重複領域がないと判定されたとき（Ｓ３１でＮＯ）、不具合検出装置１Ｂは、全ての撮影装置２において不具合はないと特定する（Ｓ３２）。
【００７７】
ステップＳ２１において不具合のある領域があると判定され（Ｓ３１でＹＥＳ）、また、不具合のある重複領域が２つあると判定されたとき（Ｓ３３でＹＥＳ）、不具合検出装置１Ｂは、不具合のある１台の撮影装置２を特定する処理を実行する（Ｓ３４）。ステップＳ３４における具体的な処理については、図１８に示すフローチャートを用いて後述する。
【００７８】
また、不具合のある領域が２つでないと判定されたとき（Ｓ３３でＮＯ）、不具合検出装置１Ｂは、不具合のある重複領域が３つであるか否かを判定する（Ｓ３５）。
不具合のある重複領域が３つであるとき（Ｓ３５でＹＥＳ）、不具合検出装置１Ｂは、不具合のある２台の撮影装置２を特定する処理を実行する（Ｓ３６）。ステップＳ３６における具体的な処理については、図１９に示すフローチャートを用いて後述する。
【００７９】
一方、不具合のある重複領域は３つでないとき（Ｓ３５でＮＯ）、不具合検出装置１Ｂは、不具合のある撮影装置２を特定できないと判定する（Ｓ３７）。
不具合検出装置１Ｂは、このように、不具合箇所を特定し、ステップＳ０５及びステップＳ０６で特定された不具合の種別と、ステップＳ３２及びＳ３６で特定された不具合の撮影装置２を含む判定結果を通知する（Ｓ０８）。
【００８０】
図１８に示すフローチャートを用いて、図１７のフローチャートのステップＳ３４の処理の一例について説明する。なお、ここでは、図１５Ａに示すように、車両Ｍの前後左右にそれぞれ４台の撮影装置２ａ〜２ｄが配置されるものとして説明する。
【００８１】
まず、不具合検出装置１Ｂは、不具合のある重複領域が右前（第４の重複領域Ａ４）と左前（第３の重複領域Ａ３）であるか否かを判定する（Ｓ３４１）。
【００８２】
不具合のある重複領域が右前と左前であるとき（Ｓ３４１でＹＥＳ）、不具合検出装置１Ｂは、車両Ｍの前方に設置される第４の撮影装置２ｄに不具合があると特定する（Ｓ３３２）。
【００８３】
不具合のある重複領域が右前と左前でないとき（Ｓ３４１でＮＯ）、不具合検出装置１Ｂは、不具合のある重複領域が右前（第４の重複領域Ａ４）と右後（第１の重複領域Ａ１）であるか否かを判定する（Ｓ３４３）。
【００８４】
不具合のある重複領域が右前と右後であるとき（Ｓ３４３でＹＥＳ）、不具合検出装置１Ｂは、車両Ｍの右方に設置される第１の撮影装置２ａに不具合があると特定する（Ｓ３３４）。
【００８５】
不具合のある重複領域が右前と右後でないとき（Ｓ３４３でＮＯ）、不具合検出装置１Ｂは、不具合のある重複領域が右後（第１の重複領域Ａ１）と左後（第２の重複領域Ａ２）であるか否かを判定する（Ｓ３４５）。
【００８６】
不具合のある重複領域が右後と左後であるとき（Ｓ３４５でＹＥＳ）、不具合検出装置１Ｂは、車両Ｍの後方に設置される第２の撮影装置２ｂに不具合があると特定する（Ｓ３４６）。
【００８７】
不具合のある重複領域が右後と左後でないとき（Ｓ３４５でＮＯ）、不具合検出装置１Ｂは、車両の左方に設置される第３の撮影装置２ｃに不具合があると特定する（Ｓ３４７）。
例えば、不具合のある撮影装置２が１台である場合、不具合検出装置１Ｂは、このように不具合を検出する。
【００８８】
図１９に示すフローチャートを用いて、図１７のフローチャートのステップＳ３６の処理の一例について説明する。なお、ここでも、図１５Ａに示すように、車両Ｍの前後左右にそれぞれ４台の撮影装置２ａ〜２ｄが配置されるものとして説明する。
【００８９】
まず、不具合検出装置１Ｂは、不具合のある重複領域が左前（第３の重複領域Ａ３）、右前（第４の重複領域Ａ４）及び右後（第１の重複領域Ａ１）であるか否かを判定する（Ｓ３６１）。
【００９０】
不具合のある重複領域の組み合わせが左前、右前及び右後であるとき（Ｓ３６１でＹＥＳ）、不具合検出装置１Ｂは、車両Ｍの前方に設置される第４の撮影装置２ｄ及び右方に設置される第１の撮影装置２ａに不具合があると特定する（Ｓ３６２）。
【００９１】
不具合のある重複領域の組み合わせが左前、右前及びでないとき（Ｓ３３１でＮＯ）、不具合検出装置１Ｂは、不具合のある重複領域が右前（第４の重複領域Ａ４）、右後（第１の重複領域Ａ１）及び左後（第２の重複領域Ａ２）であるか否かを判定する（Ｓ３６３）。
【００９２】
不具合のある重複領域の組み合わせが右前、右後及び左後であるとき（Ｓ３６３でＹＥＳ）、不具合検出装置１Ｂは、車両Ｍの右方に設置される第１の撮影装置２ａ及び後方に設置される第２の撮影装置２ｂに不具合があると特定する（Ｓ３６４）。
【００９３】
不具合のある重複領域の組み合わせが右前、右後及び左後でないとき（Ｓ３６３でＮＯ）、不具合検出装置１Ｂは、不具合のある重複領域が右後（第１の重複領域Ａ１）、左後（第２の重複領域Ａ２）及び左前（第３の重複領域Ａ３）であるか否かを判定する（Ｓ３６５）。
【００９４】
不具合のある重複領域の組み合わせが右後、左後及び左前であるとき（Ｓ３６５でＹＥＳ）、不具合検出装置１Ｂは、車両Ｍの後方に設置される第２の撮影装置２ｂ及び左方に設置される第３の撮影装置２ｃに不具合があると特定する（Ｓ３６６）。
【００９５】
不具合のある重複領域の組み合わせが右後、左後及び左前でないとき（Ｓ３６５でＮＯ）、不具合検出装置１Ｂは、車両Ｍの左方に設置される第３の撮影装置２ｃ及び前方に設置される第４の撮影装置２ｄに不具合があると特定する（Ｓ３３７）。
例えば、不具合のある撮影装置２が２台である場合、不具合検出装置１Ｂは、このように不具合を検出する。
【００９６】
このように、実施の形態２に係る不具合検出装置１Ｂ及び不具合検出方法では、異なる２台以上の撮影装置２ａ〜２ｄで同時に撮影された画像の特徴点から求めるフローベクトルを利用して、撮影装置の不具合の有無及び不具合の種別を検出することができる。
【００９７】
また、各撮影装置２がそれぞれ２台以上の他の撮影装置２と重複領域を撮影することで、実施の形態２に係る不具合検出装置１Ｂ及び不具合検出方法では、不具合の発生する撮影装置を検出することができる。なお、図１４に示す例では、４台の撮影装置２と接続される例で説明したが、各撮影装置が他の２台以上の撮影装置との間に重複領域を撮影することが可能であれば、不具合検出装置において不具合の検出対象となる撮影装置の数は限定されない。
【００９８】
〈実施の形態３〉
上述した実施の形態１及び２に係る不具合検出装置１Ａ及び１Ｂでは、１組の画像データを用いて不具合を検出する。これに対し、実施の形態３の不具合検出装置では、複数組の画像データを用いて不具合を検出する。なお、構成は、上述した不具合検出装置１Ａ及び１Ｂと同一であるため、図１を参照して説明する。
【００９９】
実施の形態３に係る不具合検出装置１Ａでは、取得部１１は、異なるタイミングで撮影された複数組の画像データを取得する。以下では、図２０に示すように、タイミングＡ〜Ｄにおいて、第１の撮影装置２ａで撮影された第１画像データＩ１−Ａ〜Ｉ１−Ｄと、第２の撮影装置２ｂで撮影された第２画像データＩ２−Ａ〜Ｉ２−Ｄとの４組の画像データを使用する例で説明する。
【０１００】
図２０に示す例では、重複検出部１２は、同一のタイミングにおいて異なる撮影装置２で撮影された画像データの重複領域を抽出する。例えば、重複検出部１２は、タイミングＡで撮影された第１画像データＩ１−Ａと第２画像データＩ２−Ａの重複領域を抽出する。同様に、重複検出部１２は、タイミングＢ〜Ｄで撮影された画像データからも、同様に重複領域を抽出する。
【０１０１】
視点変換部１３は、抽出された重複領域を視点変換する。例えば、重複検出部１２は、タイミングＡで撮影された第１画像データＩ１−Ａと第２画像データＩ２−Ａの重複領域の視点が統一するように変換する。同様に、視点変換部１３は、タイミングＢ〜Ｄで撮影された画像データから抽出された重複領域についても、同様に視点変換する。
【０１０２】
ベクトル特定部１４は、同一のタイミングで撮影された画像データの重複領域からフローベクトルを特定する。したがって、図２０の例では、ベクトル特定部１４は、タイミングＡ〜Ｄのそれぞれ４組のフローベクトルを特定する。
【０１０３】
行列変換部１５は、同一のタイミングで撮影された画像データから特定されたフローベクトルから射影変換行列Ｈtmpを算出する。したがって、図２０の例では、行列変換部１５は、４つの射影変換行列Ｈtmpを算出する。
誤差算出部１６は、同一のタイミングで撮影された画像データから得られた射影変換行列から、再投影誤差を算出する。したがって、図２０の例では、誤差算出部１６は、４つの再投影誤差を算出する。
【０１０４】
行列決定部１７は、各タイミングの射影変換行列Ｈを決定する。したがって、図２０の例では、行列決定部１７は、４つの射影変換行列Ｈを決定する。
【０１０５】
判定部１８は、行列決定部１７で決定された複数の射影変換行列Ｈを用いて、不具合を検出する。
【０１０６】
このように、上述した不具合検出装置１Ａによれば、撮影装置の不具合の有無を検出することができる。また、不具合検出装置１Ａによれば、不具合の種別も特定することができる。このように、不具合の種別の通知も可能とすることで、利用者は、不具合に対して速やかに対応することができる。例えば、撮影装置２が車両に設置される車載カメラであって、利用者がドライバである場合、利用者であるドライバはこの通知によって直ちに撮影装置２の不具合を改善することが可能となり、運転の安全性を確保することができる。
【０１０７】
《不具合検出方法》
続いて、図２１に示すフローチャートを用いて、実施の形態３に係る不具合検出装置１Ａで実行される不具合検出方法について説明する。なお、図９のフローチャートで説明した処理と同一の処理については、同一の符号を付して説明を省略する。
まず、不具合検出装置１Ａは、取得部１１によって異なるタイミングで撮影された複数組の画像データを取得する（Ｓ０１）。
【０１０８】
その後、不具合検出装置１Ａは、各組の画像データについて、ステップＳ０２の射影変換行列の推定の処理を実行する（Ｓ４１）。図２１の例では、各タイミングＡ〜Ｄに撮影された組の画像データについて射影変換行列の推定の処理を実行する。なお、射影変換行列の推定の処理は、図１０を用いて上述した処理であるため、説明を省略する。
【０１０９】
各組のデータについてステップＳ０２で射影変換行列が求められると、不具合検出装置１Ａは、ステップＳ０２で推定された射影変換行列Ｈの所定割合以上（例えば、６０％以上）が不定である場合（Ｓ４２でＹＥＳ）、撮影装置２ａ，２ｂのいずれかが故障したと検出する（Ｓ０５）。このように、複数組の画像データから推定された複数の射影変換行列を利用することで、故障の検出の精度を向上させることができる。
【０１１０】
射影変換行列Ｈの所定割合以上が不定でないとき（Ｓ４２でＮＯ）、不具合検出装置１Ａは、ステップＳ０２で推定された射影変換行列Ｈと初期値の射影変換行列Ｈ0の差分の所定割合ｒt2以上（例えば、６０％以上）が、第２閾値ｄt2以上であるか否かを判定する（Ｓ４３）。このように、複数組の画像データから得られた複数の差分を利用することで、位置姿勢ずれの検出の精度を向上させることができる。
【０１１１】
所定割合以上の差分が、第２閾値以上であるとき（Ｓ４３でＹＥＳ）、不具合検出装置１Ａは、撮影装置２ａ，２ｂのいずれかで位置姿勢ずれが発生したと検出する（Ｓ０６）。
一方、所定割合以上の差分が、第２閾値以上でないとき（Ｓ４３でＮＯ）、不具合検出装置１Ａは、撮影装置２ａ，２ｂのいずれも不具合がないと検出する（Ｓ０７）。
【０１１２】
また、不具合検出装置１Ａは、ステップＳ０５〜Ｓ０７の結果を通知する（Ｓ０８）。
【０１１３】
このように、実施の形態３に係る不具合検出装置１Ａ及び不具合検出方法では、各撮影装置２で異なるタイミングで撮影された画像の特徴点から求める複数組のフローベクトルを利用して、撮影装置の不具合の有無及び不具合の種別を検出することで、不具合の検出精度を向上させることができる。
【０１１４】
なお、ここでは、図１を参照して２台の撮影装置と接続される不具合検出装置の場合の例で説明したが、不具合検出装置と接続される撮影装置の数は限定されない。図１４に示すように、各撮影装置が２台以上の他の撮影装置と重複領域を撮影可能である場合であっても、複数組の画像データを撮影することで、不具合の検出及び不具合箇所の特定の精度を向上させることができる。
【０１１５】
〈効果及び補足〉
以上のように、本出願において開示する技術の例示として、上記実施形態を説明した。しかしながら、本開示における技術は、これに限定されず、適宜、変更、置き換え、付加、省略などを行った実施形態にも適用可能である。
【０１１６】
《他の実施形態》
上述した例では、行列変換部１５で利用する行列は射影変換行列であったが、他の方法を利用してもよい。例えば、フローベクトルから任意の８組の対応する点を抽出し、基礎行列を用いて変換行列を生成し、再投影誤差を求めてもよい。また例えば、フローベクトルから任意の５組の対応する点を抽出し、基本行列を用いて変換行列を生成し、再投影誤差を求めてもよい。
【０１１７】
《実施形態の概要》
（１）本開示の不具合検出装置は、撮影装置で撮影された複数の画像データを取得する取得部と、複数の画像データから、重複領域を検出する重複検出部と、複数の画像データの重複領域から、同一の特徴点で形成されるベクトルを特定するベクトル特定部と、ベクトルを行列に変換する行列変換部と、一の画像データの重複領域から選択された点を行列によって他の画像データ空間上に投影した投影点と、ベクトルにおいて前記選択された点に対応する点との誤差である再投影誤差を算出する誤差算出部と、再投影誤差を用いて、撮影装置の不具合を判定する判定部とを備える。
【０１１８】
これにより、撮影装置で撮影された画像の特徴点から求めるフローベクトルを利用して、撮影装置の不具合の有無及び不具合の種別を検出することで、不具合の検出精度を向上させることができる。
【０１１９】
（２）（１）の不具合検出装置において、取得部は、複数の撮影装置で同時に撮影された複数の画像データを取得してもよい。
【０１２０】
これにより、複数の撮影装置のみから画像データを取得する場合に、撮影装置の不具合の有無及び種別を検出することができる。
【０１２１】
（３）（１）の不具合検出装置において、撮影装置として、第１の撮影装置、第２の撮影装置及び第３の撮影装置と接続され、第１の撮影装置及び第２の撮影装置がそれぞれ撮影する画像データは第１の重複領域を含み、第２の撮影装置及び第３の撮影装置がそれぞれ撮影する画像データは第２の重複領域を含む、第１の撮影装置及び第３の撮影装置がそれぞれ撮影する画像データは重複領域を含まない場合であって、判定部は、第１の重複領域と、第２の重複領域とのいずれもに不具合がある場合、第１重複領域及び第２の重複領域を撮影する第２の撮影装置を不具合が発生した箇所であると判定してもよい。
【０１２２】
これにより、３台以上の撮影装置が接続される場合に、不具合の発生した撮影装置を特定することができる。
【０１２３】
（４）（１）の不具合検出装置において、判定部は、誤差算出部で算出した複数の再投影誤差が第１閾値未満である割合が所定以下である場合、撮影装置の不具合を故障と判定してもよい。
【０１２４】
これにより、撮影装置の不具合の種別として故障の発生を特定することができる。
【０１２５】
（５）（１）の不具合検出装置において、判定部は、誤差算出部で算出した複数の再投影誤差が第１閾値未満である割合が所定以下でなく、正常時に取得された画像データを用いて行列変換部で得られた第１行列と、新たに取得された画像データを用いて前記行列変換部で得られた第２行列との差が、第２閾値以上であるとき撮影装置の不具合を位置姿勢ずれと判定してもよい。
【０１２６】
これにより、撮影装置の不具合の種別として位置姿勢ずれの発生を特定することができる。
【０１２７】
（６）（１）の不具合検出装置において、行列変換部は、射影変換行列、基礎行列又は基本行列に変換してもよい。
【０１２８】
これにより、撮影装置の不具合の有無及び種別を検出することができる。
【０１２９】
（７）本開示の移動体は、（１）の不具合検出装置を備える。
【０１３０】
これにより、移動体に備えられる撮影装置の不具合の有無及び不具合の種別を検出することができる。
【０１３１】
（８）本開示の不具合検出方法において、撮影装置で撮影された複数の画像データを取得するステップと、複数の画像データから、重複領域を検出するステップと、複数の画像データの重複領域から、同一の特徴点で形成されるベクトルを特定するステップと、ベクトルを行列に変換するステップと、一の画像データの重複領域から選択された点を行列によって他の画像データ空間上に投影した投影点と、ベクトルにおいて選択された点に対応する点との誤差である再投影誤差を算出するステップと、変換された行列及び再投影誤差を用いて、撮影装置の不具合を判定するステップとを有する。
【０１３２】
これにより、撮影装置の不具合の有無及び不具合の種別を検出することができる。
【０１３３】
本開示の全請求項に記載のプログラム更新システム、制御システム、移動体、プログラム更新方法及びプログラムは、ハードウェア資源、例えば、プロセッサ、メモリ、及びプログラムとの協働などによって、実現される。
【産業上の利用可能性】
【０１３４】
本開示の不具合検出装置、移動体、不具合検出方法及びプログラムは、例えば、移動体に備えられる撮影装置、監視カメラ等の撮影装置の不具合の検出及び不具合の種別の特定に有用である。
【符号の説明】
【０１３５】
１Ａ，１Ｂ，１Ｃ  不具合検出装置
１０  制御部
１１  取得部
１２  重複検出部
１３  視点変換部
１４  ベクトル特定部
１５  行列変換部
１６  誤差算出部
１７  行列決定部
１８  判定部
１９  通知部
２２  特定部
２０  記憶部
Ｉ１〜Ｉ４画像データ
Ｄ１  重複データ
Ｄ２  判定データ
Ｐ  不具合検出プログラム
２（２ａ〜２ｄ）  撮影装置
【図１】
2020188334.tif 000010
【図２】
2020188334.tif 000011
【図３Ａ】
2020188334.tif 000012
【図３Ｂ】
2020188334.tif 000013
【図３Ｃ】
2020188334.tif 000014
【図４Ａ】
2020188334.tif 000015
【図４Ｂ】
2020188334.tif 000016
【図５Ａ】
2020188334.tif 000017
【図５Ｂ】
2020188334.tif 000018
【図５Ｃ】
2020188334.tif 000019
【図６】
2020188334.tif 000020
【図７Ａ】
2020188334.tif 000021
【図７Ｂ】
2020188334.tif 000022
【図７Ｃ】
2020188334.tif 000023
【図８Ａ】
2020188334.tif 000024
【図８Ｂ】
2020188334.tif 000025
【図９】
2020188334.tif 000026
【図１０】
2020188334.tif 000027
【図１１Ａ】
2020188334.tif 000028
【図１１Ｂ】
2020188334.tif 000029
【図１２Ａ】
2020188334.tif 000030
【図１２Ｂ】
2020188334.tif 000031
【図１３Ａ】
2020188334.tif 000032
【図１３Ｂ】
2020188334.tif 000033
【図１４】
2020188334.tif 000034
【図１５Ａ】
2020188334.tif 000035
【図１５Ｂ】
2020188334.tif 000036
【図１５Ｃ】
2020188334.tif 000037
【図１５Ｄ】
2020188334.tif 000038
【図１６】
2020188334.tif 000039
【図１７】
2020188334.tif 000040
【図１８】
2020188334.tif 000041
【図１９】
2020188334.tif 000042
【図２０】
2020188334.tif 000043
【図２１】
2020188334.tif 000044
【図２２Ａ】
2020188334.tif 000045
【図２２Ｂ】
2020188334.tif 000046
【図２３Ａ】
2020188334.tif 000047
【図２３Ｂ】
2020188334.tif 000048