(57)【特許請求の範囲】
【請求項１】
ｎを６以上の整数とし、それぞれの撮影領域がオーバーラップし、それぞれの画角が１８０°のｎ個のカメラを使用して３６０°の画角の全周囲画像を撮影する画像撮影装置の故障カメラ検出方法であって、
前記ｎ個のカメラにおいて同時に撮影し、前記ｎ個のカメラそれぞれにより撮影されたｎ枚の個別画像を取得し、
前記ｎ枚の個別画像の内の少なくとも１枚の個別画像を順番に不使用とし、残りの個別画像を使用してｎ枚の合成画像を生成し、
生成された前記ｎ枚の合成画像に対して画像マッチングを行い、類似する複数の一致合成画像と、前記複数の一致合成画像とは異なる不一致合成画像を分離し、
前記不一致合成画像が１つの時は、当該不一致合成画像の生成時に不使用としたカメラを故障カメラとして検出する、
ことを特徴とする故障カメラ検出方法。
【請求項２】
前記ｎ枚の個別画像の内の１枚の個別画像を順番に不使用とし、残りのｎ−１枚の個別画像を使用して前記ｎ枚の合成画像を生成する、
ことを特徴とする請求項１に記載の故障カメラ検出方法。
【請求項３】
前記不一致合成画像が複数の時は、前記ｎ個のカメラの内の複数のカメラが故障していることを検出する、
ことを特徴とする請求項１または請求項２に記載の故障カメラ検出方法。
【請求項４】
前記不一致合成画像が複数の時に、前記ｎ個のカメラの内の隣接しない位置に設けられた２個のカメラによって撮影された個別画像を順番に不使用とし、残りの個別画像を使用して新たな合成画像を生成し、当該新たな合成画像に対して画像マッチングを行う、
ことを特徴とする請求項３に記載の故障カメラ検出方法。
【請求項５】
さらに、
前記故障カメラが検出された時、前記故障カメラによって撮影された個別画像を除いて生成した合成画像を、前記全周囲画像として使用する、
ことを特徴とする請求項１乃至請求項４のいずれか１項に記載の故障カメラ検出方法。
【請求項６】
演算処理装置を含み、ｎを６以上の整数とし、それぞれの撮影領域がオーバーラップし、それぞれの画角が１８０°のｎ個のカメラを使用して３６０°の画角の全周囲画像を撮影する画像撮影装置の故障カメラ検出プログラムであって、
前記演算処理装置に、
前記ｎ個のカメラにおいて同時に撮影し、前記ｎ個のカメラそれぞれにより撮影されたｎ枚の個別画像を取得し、
前記ｎ枚の個別画像の内の少なくとも１枚の個別画像を順番に不使用とし、残りの個別画像を使用してｎ枚の合成画像を生成し、
生成された前記ｎ枚の合成画像に対して画像マッチングを行い、類似する複数の一致合成画像と、前記複数の一致合成画像とは異なる不一致合成画像を分離し、
前記不一致合成画像が１つの時は、当該不一致合成画像の生成時に不使用としたカメラを故障カメラとして検出する、処理を実行させる、
ことを特徴とする故障カメラ検出プログラム。
【請求項７】
ｎを６以上の整数とし、それぞれの撮影領域がオーバーラップし、それぞれの画角が１８０°のｎ個のカメラを使用して３６０°の画角の全周囲画像を撮影する画像撮影装置の画像処理装置であって、
前記ｎ個のカメラにおいて同時に撮影し、前記ｎ個のカメラそれぞれにより撮影されたｎ枚の個別画像を取得するビデオキャプチャユニットと、
前記ｎ枚の個別画像の内の少なくとも１枚の個別画像を順番に不使用とし、残りの個別画像を使用してｎ枚の合成画像を生成し、生成された前記ｎ枚の合成画像に対して画像マッチングを行い、類似する複数の一致合成画像と、前記複数の一致合成画像とは異なる不一致合成画像を分離し、前記不一致合成画像が１つの時は、当該不一致合成画像の生成時に不使用としたカメラを故障カメラとして検出する演算処理装置と、を有する、
ことを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書で言及する実施例は、画像撮影装置の故障カメラ検出方法および故障カメラ検出プログラム、並びに、画像処理装置に関する。
【背景技術】
【０００２】
近年、例えば、自動車に対して、画角がオーバーラップする複数のカメラを搭載し、その複数のカメラによる画像(映像)を合成処理し、運転者が自動車の周囲全体を確認しながら縦列駐車や車庫入れを行うようにした全周囲モニタが実用化されている。
【０００３】
このような複数のカメラによる画像の合成処理は、自動車に車載される全周囲モニタ(マルチアングル全周囲モニタ)に限定されず、例えば、列車、船舶、航空機または建物に搭載され、或いは、監視カメラや家電製品または玩具等にも適用され得る。
【０００４】
ところで、従来、複数のカメラによる画像を合成処理する装置において、故障検出を行う技術としては、様々な提案がなされている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−０５１３３１号公報
【特許文献２】特開２００７−１５８６４２号公報
【特許文献３】特開２００７−０８９０８２号公報
【特許文献４】特開２０１１−２２３０７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述したように、例えば、画角がオーバーラップする複数のカメラによる合成画像を利用することは、自動車を始めとして様々な分野での利用が期待されている。
【０００７】
ところで、複数のカメラを使用して全周囲の合成画像を生成する時、例えば、１個のカメラが故障しても全周囲の合成画像が生成可能な場合でも、その故障した１個のカメラを特定することが求められる。
【０００８】
特に、合成画像を生成するために使用するカメラの個数が多くなると、故障したカメラを検出するのが難しくなる。このように、故障したカメラが存在すると、残りのカメラにより生成された合成画像の品質が低下することになるため、早期に故障カメラを検出するのが好ましい。
【０００９】
なお、本明細書において、カメラの故障とは、配線の切断や撮像素子の不良といった電気的なものだけではなく、例えば、撮影用レンズに泥が付着して撮影の障害になるといった不良も含むものとする。
【課題を解決するための手段】
【００１０】
一実施形態によれば、ｎを６以上の整数とし、それぞれの撮影領域がオーバーラップし、それぞれの画角が１８０°のｎ個のカメラを使用して３６０°の画角の全周囲画像を撮影する画像撮影装置の故障カメラ検出方法が提供される。前記方法は、前記ｎ個のカメラにおいて同時に撮影し、前記ｎ個のカメラそれぞれにより撮影されたｎ枚の個別画像を取得し、前記ｎ枚の個別画像の内の少なくとも１枚の個別画像を順番に不使用とし、残りの個別画像を使用してｎ枚の合成画像を生成する。
【００１１】
さらに、前記方法は、生成された前記ｎ枚の合成画像に対して画像マッチングを行い、類似する複数の一致合成画像と、前記複数の一致合成画像とは異なる不一致合成画像を分離し、前記不一致合成画像が１つの時は、当該不一致合成画像の生成時に不使用としたカメラを故障カメラとして検出する。
【発明の効果】
【００１２】
開示の画像撮影装置の故障カメラ検出方法および故障カメラ検出プログラム、並びに、画像処理装置は、故障カメラの検出を容易に行うことができるという効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】図１は、画像撮影装置の一例を示すブロック図である。
【図２】図２は、図１に示す画像撮影装置における画像処理装置による合成画像の生成処理の一例を説明するためのフローチャートである。
【図３】図３は、本実施例の画像処理装置による合成画像の生成処理の一例を説明するためのフローチャートである。
【図４】図４は、図３に示すフローチャートにおける故障カメラの検出処理をより詳細に説明するためのフローチャートである。
【図５】図５は、本実施例の故障カメラ検出方法が適用される全周囲モニタの一例を説明するための図である。
【図６】図６は、故障カメラ検出方法の第１実施例を説明するための図である。
【図７】図７は、故障カメラ検出方法の第２実施例を説明するための図である。
【図８】図８は、故障カメラ検出方法の第３実施例を説明するための図である。
【発明を実施するための形態】
【００１４】
まず、本実施例の画像撮影装置の故障カメラ検出方法および故障カメラ検出プログラム、並びに、画像処理装置を詳述する前に、図１および図２を参照して、画像撮影装置および画像処理装置の一例およびその問題点を説明する。
【００１５】
図１は、画像撮影装置の一例を示すブロック図である。図１に示されるように、画像撮影装置は、画像処理装置(画像合成ＬＳＩ)１，ＤＲＡＭ(Dynamic Random Access Memory)２，フラッシュメモリ３，カメラ４ａ〜４ｆおよびディスプレイ５を含む。
【００１６】
ここで、ＤＲＡＭ(フレームメモリ)２としては、例えば、ＤＤＲ４ＳＤＲＡＭ(Double-Data-Rate4 Synchronous DRAM)が適用され、また、フラッシュメモリ３としては、例えば、ＮＡＮＤ型フラッシュメモリが適用される。
【００１７】
図１に示されるように、画像処理装置１は、ＣＰＵ(演算処理装置)１１，ビデオキャプチャユニット１２ａ〜１２ｆ，グラフィックエンジン１３，ディスプレイコントローラ１４およびメモリコントローラ１５を含む。
【００１８】
画像処理装置１は、カメラ４ａ〜４ｆからの画像(映像)を受け取って合成画像を生成するもので、生成された合成画像は、ディスプレイ５に表示される。メモリコントローラ１５は、揮発性のメモリであるフレームメモリ２および不揮発性メモリであるフラッシュメモリ３との間でデータの遣り取りを制御する。
【００１９】
図２は、図１に示す画像撮影装置における画像処理装置による合成画像の生成処理の一例を説明するためのフローチャートであり、複数のカメラによる画像を合成して合成画像を生成する処理の一例を説明するためのものである。
【００２０】
すなわち、図２に示されるように、合成画像の生成処理が開始すると、ステップＳＴ０１において、各カメラ４ａ〜４ｆからの画像データを、対応するビデオキャプチャユニット１２ａ〜１２ｆを経由してフレームメモリ(ＤＲＡＭ)２に入力する。
【００２１】
次に、ステップＳＴ０２に進み、個々のカメラ４ａ〜４ｆの画像をチェックし、例えば、自動車の全周囲モニタの場合には、停車前後の合成画像を比較して故障カメラを検出し、カメラの状態を示す情報(故障カメラ情報)をフレームメモリ２に格納する。
【００２２】
さらに、ステップＳＴ０３に進んで、ＣＰＵ１１は、例えば、フレームメモリ２に格納された故障カメラ情報、並びに、フラッシュメモリ３に格納されたキャリブレーション情報を使用して合成画像を生成し、フレームメモリ２に格納する。
【００２３】
すなわち、ＣＰＵ１１は、フレームメモリ２上のカメラ画像(故障カメラの画像を除く)に対して、グラフィックエンジン(2D/3D Graphics Engine)１３による２Ｄ(二次元)または３Ｄ(三次元)処理を行わせ、合成画像を生成してフレームメモリ２に格納する。
【００２４】
そして、ステップＳＴ０４に進んで、フレームメモリ２上の合成画像を、メモリコントローラ１５を経由してディスプレイ５に出力し、処理を終了する。これにより、例えば、自動車の全周囲モニタの場合、自動車の運転者は、ディスプレイ５に表示された自動車の全周囲の画像を確認して、縦列駐車や車庫入れ等の運転操作を適切に行うことが可能になる。
【００２５】
ところで、上述したような撮影領域がオーバーラップする複数個(６個)のカメラを使用して合成画像を生成する画像処理装置において、故障カメラの検出は、ステップＳＴ０２において行っている。
【００２６】
すなわち、自動車の全周囲モニタの場合には、停車前後の合成画像を比較している。しかしながら、これは、例えば、自動車を駐車場に停車する前後でしか行うことができず、走行中における故障カメラの検出は困難である。これは、例えば、搭載する対象が建物のように停止している場合には有効であるが、対象が自動車等の場合には、時間経過による合成画像の変化では故障カメラの検出は困難である。
【００２７】
また、故障カメラを検出するには、他に様々な手法が考えられるが、十分なものとは言えないのが現状である。すなわち、各カメラ画像により故障カメラを検出する場合、例えば、輝度不良などの微妙な画像劣化を検出するのが困難である。
【００２８】
さらに、隣接するカメラによるオーバーラップ画像を比較することも考えられるが、画像のどこの座標がオーバーラップしているかを知るための情報が求められ、また、比較アルゴリズムが複雑になるため、搭載する対象ごとに個別のカスタマイズが求められる。また、各カメラの出力信号(電源も含む)を監視することにより、故障カメラの検出を行う場合には、専用の検出回路を新たに設けることになり、コスト増を招くことになる。
【００２９】
以下、本実施例の画像撮影装置の故障カメラ検出方法および故障カメラ検出プログラム、並びに、画像処理装置を、添付図面を参照して詳述する。まず、本実施例の画像処理装置としては、例えば、図１を参照して説明した画像撮影装置における画像処理装置を適用することができる。
【００３０】
ここで、フレームメモリ２は、例えば、各カメラ４ａ〜４ｆの画像を格納するエリア(領域)、合成画像を格納するエリア、カメラ状態の情報(故障カメラの情報)を格納するエリア、および、画像マッチングで使用するワークエリアを含む。
【００３１】
合成画像格納エリアは、例えば、６個のカメラ４ａ〜４ｆのうち１個のカメラを使わない時の合成画像(残りの５個のカメラを使用した合成画像)を格納するエリア、および、全てのカメラを使用した合成画像(出力画像)を格納するエリアを含む。
【００３２】
フラッシュメモリ３は、例えば、合成画像を生成するためのキャリブレーション情報を格納するエリア、並びに、後に詳述する本実施例の故障カメラ検出プログラムを格納するエリアを含む。なお、フラッシュメモリ３に格納された本実施例の故障カメラ検出プログラムは、例えば、演算処理装置(ＣＰＵ)１１で実行され、以下に詳述する故障カメラの検出が行われることになる。
【００３３】
キャリブレーション情報は、例えば、６個のカメラ４ａ〜４ｆのうち１個または２個のカメラによる画像を使わない時の合成画像を生成するための情報、並びに、全てのカメラによる画像を使用して合成画像を生成するための情報を含む。
【００３４】
なお、カメラが６個で３６０°(全周囲)の合成画像を取得する場合、後述するように、使用しない２個のカメラによる画像は、隣接しない位置に設けられた２個のカメラの画像になる。これは、使用しない２個のカメラの画像は、残りの４個のカメラによる画像を合成すれば、ほぼ全周囲の合成画像を取得できることが条件になるためである。
【００３５】
すなわち、例えば、隣接する２個のカメラによる画像を不使用とすると、全周囲の合成画像が得られず、また、３つ以上のカメラによる画像を使用しない場合も、全周囲の合成画像が得られないためである。なお、キャリブレーション情報は、例えば、通信を介して、外部からＤＲＡＭ２に格納することも可能である。
【００３６】
図１において、ビデオキャプチャユニット１２ａ〜１２ｆは、６個のカメラ(Ａカメラ〜Ｆカメラ)４ａ〜４ｆに対応して６つ設けられているが、ビデオキャプチャユニットおよびカメラの数は、６個に限定されるものではない。また、フレームメモリ２およびフラッシュメモリ３としては、他の様々なメモリデバイスを適用することができるのはいうまでもない。
【００３７】
図３は、本実施例の画像処理装置による合成画像の生成処理の一例を説明するためのフローチャートである。図３と前述した図２の比較から明らかなように、本実施例の画像処理装置による合成画像の生成処理は、図２に示す処理におけるステップＳＴ０２が異なっている。
【００３８】
すなわち、図３に示されるように、本実施例の合成画像の生成処理が開始すると、ステップＳＴ１において、各カメラ４ａ〜４ｆからの画像データを、対応するビデオキャプチャユニット１２ａ〜１２ｆを経由してフレームメモリ２に入力する。
【００３９】
次に、ステップＳＴ２に進み、各カメラ４ａ〜４ｆを使わない時のキャリブレーション情報に基づいて複数の合成画像を生成し、それらの合成画像を比較してカメラ状態の情報をフレームメモリに格納する。なお、このステップＳＴ２の処理は、図４以降を参照して、後に詳述する。
【００４０】
さらに、ステップＳＴ３に進んで、ＣＰＵ１１は、例えば、フレームメモリ２に格納された故障カメラ情報、並びに、フラッシュメモリ３に格納されたキャリブレーション情報を使用して合成画像を生成し、フレームメモリ２に格納する。すなわち、ＣＰＵ１１は、フレームメモリ２上のカメラ画像(故障カメラの画像を除く)に対して、グラフィックエンジン１３による２Ｄまたは３Ｄ処理を行わせ、合成画像を生成してフレームメモリ２に格納する。
【００４１】
そして、ステップＳＴ４に進んで、フレームメモリ２上の合成画像を、メモリコントローラ１５を経由してディスプレイ５に出力し、処理を終了する。これにより、例えば、自動車の全周囲モニタの場合、自動車の運転者は、ディスプレイ５に表示された自動車の全周囲の画像を確認して、縦列駐車や車庫入れ等の運転操作を適切に行うことが可能になる。
【００４２】
図４は、図３に示すフローチャートにおける故障カメラの検出処理をより詳細に説明するためのフローチャートであり、ステップＳＴ２を詳述するためのものである。図４に示されるように、故障カメラの検出処理が開始すると、ステップＳＴ２１において、各カメラを使わない時のキャリブレーション情報に基づいて複数の合成画像を生成する。
【００４３】
すなわち、Ａカメラ(４ａ)による画像を使わない時の合成画像，Ｂカメラ(４ｂ)による画像を使わない時の合成画像，Ｃカメラ(４ｃ)による画像を使わない時の合成画像，…，Ｆカメラ(４ｆ)による画像を使わない時の合成画像をそれぞれ生成する。
【００４４】
次に、ステップＳＴ２２に進んで、ＣＰＵ１１による画像マッチング処理により合成画像同士を比較することで、１つの不一致合成画像を見つける。ここで、画像マッチング処理としては、一般的なテンプレートマッチングアルゴリズムで実現可能である。具体的に、SAD(Sum of Absolute Differences)，SSD(Sum of Squared Differences)，NCC(Normalized Cross Correlation)，ZNCC(Zero-mean Normalized Cross-Correlation)およびPOC(Phase-Only Correlation)等のアルゴリズムを適用することができる。
【００４５】
さらに、画像マッチング処理を高速化するためには、例えば、SIFT(Scale-Invariant Feature Transform)やSURF(Speeded-Up Robust Features)といった特徴ベースマッチング技術を適用するのも有効である。
【００４６】
そして、ステップＳＴ２３に進んで、不一致合成画像の生成において、使わなかったカメラが故障しているカメラであるとして検出し、故障カメラの情報をフレームメモリ２に格納して処理を終了する。
【００４７】
図５は、本実施例の故障カメラ検出方法が適用される全周囲モニタの一例を説明するための図である。図５において、参照符号９は、全周囲モニタ(画像処理装置)が搭載(設置)される設置対象物を示し、４ａ〜４ｆはカメラを示す。
【００４８】
ここで、設置対象物９としては、例えば、自動車，列車，船舶および航空機等の移動物、住宅，ビルおよび橋といった建造物、都市や店舗または山，川および海の監視カメラ、或いは、家電製品や玩具等の様々なものがあり得る。
【００４９】
また、本明細書では、画像処理装置の実施例として３６０°の画角を有するものを説明するが、本実施例は、撮影領域(画角)がオーバーラップする複数(３個以上)のカメラを使用して合成画像を生成する画像処理装置に対して幅広く適用することが可能である。
【００５０】
図５に示されるように、全周囲モニタは、例えば、自動車に相当する設置対象物９の周囲に設けられた６個のカメラ４ａ〜４ｆを含む。ここで、それぞれのカメラ４ａ〜４ｆは、１８０°の画角を有しているものとする。
【００５１】
すなわち、図５に示す全周囲モニタは、６個のカメラ４ａ〜４ｆのうち、任意の１個のカメラが故障した場合、並びに、隣接しない位置の２個のカメラが故障した場合に、３６０°の合成画像が得られるようになっている。
【００５２】
ところで、故障に対する一般的な手法としてシステムの二重化があり、例えば、全周囲モニタのカメラを二重化することが考えられる。これに対して、本実施例では、カメラの数を増加させるに従って合成画像の品質を向上させることができるため、単なるカメラ(システム)の二重化とは、その効果は大きく異なる。
【００５３】
図６は、故障カメラ検出方法の第１実施例を説明するための図である。ここで、図６(a)〜図６(f)は、カメラ４ｆが故障している場合を示し、図６(a)はカメラ４ａの画像(個別画像)を不使用とした時，図６(b)はカメラ４ｂの画像を不使用とした時，…，図６(f)はカメラ４ｆの画像を不使用とした時を示す。
【００５４】
第１実施例の故障カメラ検出方法は、まず、６個のカメラ４ａ〜４ｆの全てを同時撮影し、それぞれのカメラにより撮影された６枚の個別画像(画像)を取得して、フレームメモリ２に格納する。そして、図６(a)〜図６(f)に示されるように、６枚の画像から１個のカメラ４ａ〜４ｆによる画像を順番に除いて、残りの５枚の画像を使用して６枚の合成画像を生成する。
【００５５】
すなわち、図６(a)では、カメラ４ａによる画像を不使用とし、残りのカメラ４ｂ〜４ｆによる５枚の画像を使用して合成画像を生成する。また、図６(b)では、カメラ４ｂによる画像を不使用とし、残りのカメラ４ａ，４ｃ〜４ｆによる５枚の画像を使用して合成画像を生成する。
【００５６】
さらに、図６(c)では、カメラ４ｃによる画像を不使用とし、残りのカメラ４ａ，４ｂ，４ｄ〜４ｆによる５枚の画像を使用して合成画像を生成する。そして、図６(f)では、カメラ４ｆによる画像を不使用とし、残りのカメラ４ａ〜４ｅによる５枚の画像を使用して合成画像を生成する。
【００５７】
次に、５枚の画像を使用して生成された合成画像(図６(a)〜図６(f))に対して画像マッチングを行い、一致する複数の合成画像(図６(a)〜図６(e))と一致しない合成画像(図６(f))を分離する。
【００５８】
すなわち、図６の例では、カメラ４ｆが故障しており、図６(a)〜図６(e)では、その故障カメラ４ｆによる画像を使用して合成画像を生成しているため、図６(a)〜図６(e)のそれぞれの合成画像には、故障カメラ４ｆの画像による影響が反映されることになる。
【００５９】
これに対して、図６(f)では、故障カメラ４ｆによる画像そのものを使用しないで合成画像を生成するため、図６(a)〜図６(e)の合成画像とは明らかに異なるものになる。すなわち、図６(f)の合成画像には、故障カメラ４ｆの画像による影響が反映されないため、他の図６(a)〜図６(e)の合成画像とは一致しないことになる。
【００６０】
このように、例えば、１個のカメラによる個別画像を順番に除いて生成した６枚の合成画像において、一致しない合成画像が１つの時は、その合成画像に使用しなかったカメラを故障カメラとして検出することができる。
【００６１】
なお、故障カメラが検出された時、故障カメラによる個別画像を除いて生成した合成画像を、例えば、ディスプレイ５に表示して使用する。さらに、故障カメラが検出された時、例えば、音声や光学手段を利用した警報を出力して運転者等に故障カメラが検出されたことを伝えるのが好ましい。
【００６２】
また、設置対象物９に対してカメラ４ａ〜４ｆの撮影位置や撮影方向を変化させることが可能な場合等には、例えば、検出された故障カメラの画角をカバーするように、隣接するカメラの撮影位置や撮影方向を制御することも可能である。
【００６３】
上述したように、本第１実施例によれば、６個のカメラ４ａ〜４ｆの全てを同時撮影し、それぞれにより撮影された６枚の個別画像を処理するだけでよいため、例えば、自動車の走行中であっても故障カメラを検出することが可能である。
【００６４】
また、本第１実施例によれば、例えば、輝度不良などの微妙な画像劣化を検出することもでき、また、複雑な比較アルゴリズムも不要であり、さらに、専用の検出回路を新たに設けることが不要なためコスト増を招くこともない。これらの効果は、以下に説明する第２および第３実施例でも同様に発揮され得る。
【００６５】
図７は、故障カメラ検出方法の第２実施例を説明するための図である。図６を参照して説明した第１実施例では、６個のカメラのうち１つの故障カメラを検出したが、図７に示す第２実施例は、２つの故障カメラ(ただし、隣接しない位置のもの)を検出することができるようになっている。
【００６６】
なお、図７に示す処理は、例えば、図６を参照して説明した６個のカメラ４ａ〜４ｆのうち１個のカメラによる画像を使わない合成画像において、一致しない合成画像が複数の時に、図６の処理に続く次の処理として行うことができる。
【００６７】
ここで、図７(a)〜図７(i)は、カメラ４ｂおよび４ｆが故障している場合を示す。そして、図７(a)はカメラ４ａおよび４ｃの個別画像(画像)を不使用とした時，図７(b)はカメラ４ｃおよび４ｅの画像を不使用とした時，…，図７(i)はカメラ４ｆおよび４ｂの画像を不使用とした時を示す。
【００６８】
また、図７に示す処理を行う場合、例えば、６個のカメラ４ａ〜４ｆにより撮影された６枚の個別画像は、既に、フレームメモリ２に格納されている。そして、図７(a)〜図７(i)に示されるように、６枚の個別画像から２個のカメラ４ａ〜４ｆによる個別画像を順番に不使用とし、残りの４枚の個別画像を使用して合成画像を生成する。
【００６９】
次に、４枚の画像を使用して生成された合成画像(図７(a)〜図７(i))に対して画像マッチングを行い、一致する複数の合成画像(図７(a)〜図７(h))と一致しない合成画像(図７(i))を分離する。
【００７０】
すなわち、図７の例では、カメラ４ｂおよび４ｆが故障しており、図７(a)〜図７(d)では、その故障カメラ４ｂおよび４ｆによる画像を使用して合成画像を生成している。そのため、図７(a)〜図７(d)のそれぞれの合成画像には、故障カメラ４ｂおよび４ｆの画像による影響が反映されることになる。
【００７１】
また、図７(e)および図７(f)では、故障カメラ４ｆによる画像を使用して合成画像を生成しているため、図７(e)および図７(f)のそれぞれの合成画像には、故障カメラ４ｆの画像による影響が反映されることになる。さらに、図７(g)および図７(h)では、故障カメラ４ｂによる画像を使用して合成画像を生成しているため、図７(g)および図７(h)のそれぞれの合成画像には、故障カメラ４ｂの画像による影響が反映されることになる。
【００７２】
これに対して、図７(i)では、故障カメラ４ｂおよび４ｆによる画像そのものを使用しないで合成画像を生成するため、図７(a)〜図７(g)の合成画像とは明らかに異なるものになる。すなわち、図７(i)の合成画像には、故障カメラ４ｂおよび４ｆの画像による影響が反映されないため、他の図７(a)〜図７(g)の合成画像とは一致しないことになる。
【００７３】
このように、例えば、２個のカメラによる個別画像を順番に除いて生成した複数の合成画像において、一致しない合成画像が１つの時は、その合成画像に使用しなかった２個のカメラ(４ｂ，４ｆ)を故障カメラとして検出することができる。
【００７４】
図８は、故障カメラ検出方法の第３実施例を説明するための図であり、カメラの数が７個(４ａ〜４ｇ)で、そのうち、２個のカメラ４ｂおよび４ｇが故障している場合を示す。すなわち、図８(a)はカメラ４ａおよび４ｄの個別画像(画像)を不使用とした時，図８(b)はカメラ４ａおよび４ｆの画像を不使用とした時，…，図８(m)はカメラ４ｇおよび４ｂの画像を不使用とした時を示す。
【００７５】
なお、図８に示す処理は、例えば、図７に示す処理と同様に、７個のカメラ４ａ〜４ｇのうち１個のカメラによる画像を使わない合成画像において、一致しない合成画像が複数の時の処理として行うことができる。また、図８に示す処理を行う場合、例えば、７個のカメラ４ａ〜４ｇにより撮影された７枚の個別画像は、既に、フレームメモリ２に格納されている。
【００７６】
そして、図８(a)〜図８(m)に示されるように、７枚の個別画像から２個のカメラ４ａ〜４ｇによる個別画像を順番に不使用とし、残りの５枚の個別画像を使用して合成画像を生成する。
【００７７】
さらに、５枚の画像を使用して生成された合成画像(図８(a)〜図８(m))に対して画像マッチングを行い、一致する複数の合成画像(図８(a)〜図８(l))と一致しない合成画像(図８(m))を分離する。
【００７８】
すなわち、図８の例では、カメラ４ｂおよび４ｇが故障しており、図８(a)〜図８(f)では、その故障カメラ４ｂおよび４ｇによる画像を使用して合成画像を生成している。そのため、図８(a)〜図８(f)のそれぞれの合成画像には、故障カメラ４ｂおよび４ｇの画像による影響が反映されることになる。
【００７９】
また、図８(g)〜図８(i)では、故障カメラ４ｇによる画像を使用して合成画像を生成しているため、図８(g)〜図８(i)のそれぞれの合成画像には、故障カメラ４ｇの画像による影響が反映されることになる。さらに、図８(j)〜図８(l)では、故障カメラ４ｂによる画像を使用して合成画像を生成しているため、図８(j)〜図８(l)のそれぞれの合成画像には、故障カメラ４ｂの画像による影響が反映されることになる。
【００８０】
これに対して、図８(m)では、故障カメラ４ｂおよび４ｇによる画像そのものを使用しないで合成画像を生成するため、図８(a)〜図８(l)の合成画像とは明らかに異なるものになる。すなわち、図８(m)の合成画像には、故障カメラ４ｂおよび４ｇの画像による影響が反映されないため、他の図８(a)〜図８(l)の合成画像とは一致しないことになる。
【００８１】
このように、例えば、２個のカメラによる個別画像を順番に除いて生成した複数の合成画像において、一致しない合成画像が１つの時は、その合成画像に使用しなかった２個のカメラ(４ｂ，４ｇ)を故障カメラとして検出することができる。
【００８２】
このように、本実施例に係る画像撮影装置の故障カメラ検出方法および故障カメラ検出プログラム、並びに、画像処理装置は、カメラの個数が６個だけでなく、７個であっても適用することができ、さらに、８個以上であっても適用可能なのが理解されるであろう。
【００８３】
さらに、本実施例は、例えば、自動車に搭載される全周囲モニタ等の全周囲の合成画像を生成するものに限定されず、撮影領域がオーバーラップする３個以上のカメラを使用して合成画像を生成する画像処理装置に対して幅広く適用可能である。そして、本実施例は、自動車に車載される全周囲モニタに限定されず、例えば、列車、船舶、航空機または建物に搭載され、或いは、監視カメラや家電製品または玩具といった様々なものに適用することができる。
【００８４】
以上、実施形態を説明したが、ここに記載したすべての例や条件は、発明および技術に適用する発明の概念の理解を助ける目的で記載されたものであり、特に記載された例や条件は発明の範囲を制限することを意図するものではない。また、明細書のそのような記載は、発明の利点および欠点を示すものでもない。発明の実施形態を詳細に記載したが、各種の変更、置き換え、変形が発明の精神および範囲を逸脱することなく行えることが理解されるべきである。
【００８５】
以上の実施例を含む実施形態に関し、さらに、以下の付記を開示する。
（付記１）
ｎを３以上の整数とし、撮影領域がオーバーラップするｎ個のカメラを使用する画像撮影装置の故障カメラ検出方法であって、
前記ｎ個のカメラにおいて同時に撮影し、前記ｎ個のカメラそれぞれにより撮影されたｎ枚の個別画像を取得し、
前記ｎ枚の個別画像の内の少なくとも１枚の個別画像を順番に不使用とし、残りの個別画像を使用してｎ枚の合成画像を生成し、
生成された前記ｎ枚の合成画像間において画像マッチングを行い、一致する複数の合成画像と一致しない合成画像を分離し、
前記一致しない合成画像が１つの時は、当該合成画像の生成時に不使用としたカメラを故障カメラとして検出する、
ことを特徴とする故障カメラ検出方法。
【００８６】
（付記２）
前記ｎ枚の個別画像の内の１枚の個別画像を順番に不使用とし、残りのｎ−１枚の個別画像を使用して前記ｎ枚の合成画像を生成する、
ことを特徴とする付記１に記載の故障カメラ検出方法。
【００８７】
（付記３）
前記一致しない合成画像が複数の時に、前記ｎ個のカメラの内の隣接しない位置に設けられた２個のカメラによって撮影された個別画像を順番に不使用とし、残りの個別画像を使用して新たな合成画像を生成し、当該新たな合成画像に対して画像マッチングを行う、
ことを特徴とする付記１に記載の故障カメラ検出方法。
【００８８】
（付記４）
さらに、
前記故障カメラが検出された時、前記故障カメラによって撮影された個別画像を除いて合成した前記一致しない合成画像を、前記所定画角の画像として使用する、
ことを特徴とする付記１乃至付記３のいずれか１項に記載の故障カメラ検出方法。
【００８９】
（付記５）
さらに、
前記故障カメラが検出された時、前記故障カメラに隣接するカメラによりオーバーラップする撮影領域を増大する、
ことを特徴とする付記４に記載の故障カメラ検出方法。
【００９０】
（付記６）
前記画像撮影装置は、６個のカメラを使用して３６０°の画角の全周囲画像を撮影する、
ことを特徴とする付記１乃至付記５のいずれか１項に記載の故障カメラ検出方法。
【００９１】
（付記７）
検出する前記故障カメラは、前記６個のカメラにおけるいずれか１個のカメラ、或いは、前記６個のカメラにおける隣接しない位置のいずれか２個のカメラである、
ことを特徴とする付記６に記載の故障カメラ検出方法。
【００９２】
（付記８）
前記故障カメラの検出は、前記画像撮影装置が使用されている時にリアルタイムで行われ、前記故障カメラが検出された時は、警報が出力される、
ことを特徴とする付記１乃至付記７のいずれか１項に記載の故障カメラ検出方法。
【００９３】
（付記９）
ｎを３以上の整数とし、撮影領域がオーバーラップするｎ個のカメラを使用する演算処理装置を有する画像撮影装置の故障カメラ検出プログラムであって、
前記演算処理装置に、
前記ｎ個のカメラにおいて同時に撮影し、前記ｎ個のカメラそれぞれにより撮影されたｎ枚の個別画像を取得し、
前記ｎ枚の個別画像の内の少なくとも１枚の個別画像を順番に不使用とし、残りの個別画像を使用してｎ枚の合成画像を生成し、
生成された前記ｎ枚の合成画像間において画像マッチングを行い、一致する複数の合成画像と一致しない合成画像を分離し、
前記一致しない合成画像が１つの時は、当該合成画像の生成に不使用としたカメラを故障カメラとして検出する、のを実行させる、
ことを特徴とする故障カメラ検出プログラム。
【００９４】
（付記１０）
ｎを３以上の整数とし、撮影領域がオーバーラップするｎ個のカメラを使用する画像処理装置であって、
前記ｎ個のカメラにおいて同時に撮影し、前記ｎ個のカメラそれぞれにより撮影されたｎ枚の個別画像を取得するビデオキャプチャユニットと、
前記ｎ枚の個別画像の内の少なくとも１枚の個別画像を順番に不使用とし、残りの個別画像を使用してｎ枚の合成画像を生成し、生成された前記ｎ枚の合成画像間において画像マッチングを行い、一致する複数の合成画像と一致しない合成画像を分離し、前記一致しない合成画像が１つの時は、当該合成画像の生成時に不使用としたカメラを故障カメラとして検出する演算処理装置と、を有する
ことを特徴とする画像処理装置。
【符号の説明】
【００９５】
１    画像処理装置(画像合成ＬＳＩ)
２    ＤＲＡＭ(フレームメモリ)
３    フラッシュメモリ
４ａ〜４ｇ    カメラ
５    ディスプレイ
１１    ＣＰＵ(演算処理装置)
１２ａ〜１２ｆ    ビデオキャプチャユニット
１３    グラフィックエンジン
１４    ディスプレイコントローラ
１５    メモリコントローラ
【図１】
0006432206.tif 000002
【図２】
0006432206.tif 000003
【図３】
0006432206.tif 000004
【図４】
0006432206.tif 000005
【図５】
0006432206.tif 000006
【図６】
0006432206.tif 000007
【図７】
0006432206.tif 000008
【図８】
0006432206.tif 000009