(57)【特許請求の範囲】
【請求項１】
車両の周囲の地面を撮影する車載カメラ（１０）が前記車両に対して取り付けられた取付角度を検出する取付角度検出装置（１２０、２２０）であって、
互いに平行で且つ等幅な２本の直線部分を有するターゲット図形が形成された前記地面の撮影画像を取得する撮影画像取得部（１０１）と、
前記車両に対する前記車載カメラの取付角度の設定値を取得して、前記車載カメラが前記設定値で取り付けられているものと仮定することによって、前記撮影画像を、前記撮影画像に写った前記地面をあたかも上方から見下ろした鳥瞰画像に鳥瞰変換する鳥瞰変換部（１０９）と、
前記鳥瞰変換に用いる前記取付角度の設定値を変更することで、前記鳥瞰画像中の前記ターゲット図形の前記２本の直線部分の平行度および前記２本の直線部分の幅の差が、何れも所定の許容範囲内となる前記取付角度を探索する取付角度探索部（１１０）と、
探索された前記取付角度を、前記車載カメラの前記車両に対する取付角度として決定する取付角度決定部（１１３）と
を備える取付角度検出装置。
【請求項２】
請求項１に記載の取付角度検出装置であって、
前記車載カメラは、前記車両の前方または後方に向けて搭載されており、
前記撮影画像取得部は、前記ターゲット図形の前記２本の直線部分の方向に沿って前記車両を直進させることによって異なる位置から撮影された複数の前記撮影画像を取得しており、
前記撮影画像から前記ターゲット図形中の２本の前記直線部分を検出して、前記直線部分を延長した２本の中心直線について、前記中心直線の傾きと、前記中心直線が前記撮影画像中の所定の一辺を横切る切片位置とを、前記２本の中心直線を識別した状態で検出する中心直線検出部（１０２）と、
前記複数の撮影画像の各々から検出された前記２本の中心直線についての前記傾きおよび前記切片位置を、前記２本の中心直線が識別された状態で記憶しておき、前記２本の中心直線の各々についての前記傾きおよび前記切片位置の偏差が所定の許容値以下であった場合に、前記ターゲット図形の前記２本の直線部分に対して前記車両が平行と判断する平行判断部（１０５）と
を備え、
前記取付角度探索部は、前記ターゲット図形の前記２本の直線部分に対して前記車両が平行と判断された場合に、前記取付角度を探索する
ことを特徴とする取付角度検出装置。
【請求項３】
請求項２に記載の取付角度検出装置であって、
前記撮影画像から前記ターゲット図形中で幅を有する２本の前記直線部分を検出して、前記２本の直線部分の内側および外側の直線を延長した４本の境界直線について、前記境界直線の傾きと、前記境界直線が前記撮影画像中の所定の一辺を横切る境界切片位置とを、前記４本の境界直線を識別した状態で検出する境界直線検出部（１０３）と、
前記複数の撮影画像の各々から検出された前記４本の境界直線についての前記傾きおよび前記境界切片位置を、前記４本の境界直線が識別された状態で記憶しておき、前記４本の境界直線の各々についての前記傾きおよび前記境界切片位置の偏差が所定の許容値以下であった場合に、前記ターゲット図形の前記２本の直線部分に対して前記車両が平行と判断する平行判断部（１０５）と
を備え、
前記取付角度探索部は、前記ターゲット図形の前記２本の直線部分に対して前記車両が平行と判断された場合に、前記取付角度を探索する
ことを特徴とする取付角度検出装置。
【請求項４】
請求項３に記載の取付角度検出装置（２２０）であって、
前記ターゲット図形の前記２本の直線部分に対して前記車両が平行と判断されると、前記複数の撮影画像の各々から前記４本の境界直線を抽出した結果に基づいて、前記４本の境界直線を代表する４本の代表境界直線を決定し、前記ターゲット図形の前記２本の直線部分を前記４本の代表境界直線で代表させることによって、前記複数の撮影画像を代表する代表撮影画像を生成する代表撮影画像生成部（２０１）と
を備え、
前記鳥瞰変換部は、前記代表撮影画像を鳥瞰変換することによって前記鳥瞰画像を生成する
ことを特徴とする取付角度検出装置。
【請求項５】
請求項２ないし請求項４の何れか一項に記載の取付角度検出装置であって、
前記撮影画像の取得中に、前記車両の操舵角を監視する車両監視部（１０６）と、
前記撮影画像の取得中に、前記車両が直進していない場合には警報を出力する警報出力部（１０７）と
を備える取付角度検出装置。
【請求項６】
車両の周囲の地面を撮影する車載カメラの前記車両に対する取付角度を較正する取付角度較正装置（１００、２００）であって、
互いに平行で且つ等幅な２本の直線部分を有するターゲット図形が形成された前記地面の撮影画像を取得する撮影画像取得部（１０１）と、
前記車両に対する前記車載カメラの取付角度の設定値を取得して、前記車載カメラが前記設定値で取り付けられているものと仮定することによって、前記撮影画像を、前記撮影画像に写った前記地面をあたかも上方から見下ろした鳥瞰画像に鳥瞰変換する鳥瞰変換部（１０９）と、
前記鳥瞰変換に用いる前記取付角度の設定値を変更することで、前記鳥瞰画像中の前記ターゲット図形の前記２本の直線部分の平行度および前記２本の直線部分の幅の差が、何れも所定の許容範囲内となる前記取付角度を探索する取付角度探索部（１１０）と、
探索された前記取付角度によって、前記車載カメラの前記車両に対する取付角度を較正する取付角度較正部（１１４）と
を備える取付角度較正装置。
【請求項７】
請求項６に記載の取付角度較正装置であって、
前記車載カメラは、前記車両の前方または後方に向けて搭載されており、
前記撮影画像取得部は、前記ターゲット図形の前記２本の直線部分の方向に沿って前記車両を直進させることによって異なる位置から撮影された複数の前記撮影画像を取得しており、
前記撮影画像から前記ターゲット図形中の２本の前記直線部分を検出して、前記直線部分を延長した２本の中心直線について、前記中心直線の傾きと、前記中心直線が前記撮影画像中の所定の一辺を横切る切片位置とを、前記２本の中心直線を識別した状態で検出する中心直線検出部（１０２）と、
前記複数の撮影画像の各々から検出された前記２本の中心直線についての前記傾きおよび前記切片位置を、前記２本の中心直線が識別された状態で記憶しておき、前記２本の中心直線の各々についての前記傾きおよび前記切片位置の偏差が所定の許容値以下であった場合に、前記ターゲット図形の前記２本の直線部分に対して前記車両が平行と判断する平行判断部（１０５）と
を備え、
前記取付角度探索部は、前記ターゲット図形の前記２本の直線部分に対して前記車両が平行と判断された場合に、前記取付角度を探索する
ことを特徴とする取付角度較正装置。
【請求項８】
車両の周囲の地面を撮影する車載カメラの前記車両に対する取付角度を検出する取付角度検出方法であって、
互いに平行で且つ等幅な２本の直線部分を有するターゲット図形が形成された前記地面の撮影画像を取得する撮影画像取得工程（Ｓ１０２）と、
前記車両に対する前記車載カメラの取付角度の設定値を取得する設定値取得工程（Ｓ１１５、Ｓ１５５）と、
前記設定値を取得すると、前記車載カメラが前記設定値で前記車両に取り付けられているものと仮定して、前記撮影画像を、前記撮影画像に写った前記地面をあたかも上方から見下ろした鳥瞰画像に鳥瞰変換する鳥瞰変換工程（Ｓ１１６、Ｓ１５６）と、
前記鳥瞰画像中の前記ターゲット図形の前記２本の直線部分の平行度、および前記２本の直線部分の幅の差を検出して、検出した前記２本の直線部分の平行度および前記幅の差が所定の許容範囲内にあるか否かを判断する判断工程（Ｓ１１７、Ｓ１１８、Ｓ１５７、Ｓ１５８）と、
検出した前記２本の直線部分の平行度および前記幅の差の何れかが、所定の許容範囲内に無かった場合には、前記車載カメラの取付角度の前記設定値を変更することによって、前記２本の直線部分の平行度および前記幅の差が、何れも前記許容範囲内に入る前記取付角度を探索する取付角度探索工程（Ｓ１１９、Ｓ１５９）と、
探索された前記取付角度を、前記車載カメラの前記車両に対する取付角度として決定する取付角度決定工程（Ｓ１２０、Ｓ１６０）と
を備える取付角度検出方法。
【請求項９】
前記車両の前方または後方の地面を撮影する前記車載カメラに適用される請求項８に記載の取付角度検出方法であって、
前記撮影画像取得工程は、前記ターゲット図形の前記２本の直線部分の方向に沿って前記車両を直進させることによって異なる位置から撮影された複数の前記撮影画像を取得する工程であり、
前記撮影画像から前記ターゲット図形中の２本の前記直線部分を検出して、前記直線部分を延長した２本の中心直線について、前記中心直線の傾きと、前記中心直線が前記撮影画像中の所定の一辺を横切る切片位置とを、前記２本の中心直線を識別した状態で検出して記憶しておく中心直線記憶工程（Ｓ１０３）と、
前記複数の撮影画像の各々から検出された前記２本の中心直線についての前記傾きおよび前記切片位置の偏差が所定の許容値以下であった場合に、前記ターゲット図形の前記２本の直線部分に対して前記車両が平行と判断する平行判断工程（Ｓ１１０、Ｓ１５０）と
を備え、
前記設定値取得工程は、前記ターゲット図形の前記２本の直線部分に対して前記車両が平行と判断された場合に、前記取付角度の設定値を取得する工程である
取付角度検出方法。
【請求項１０】
車両の周囲の地面を撮影する車載カメラの前記車両に対する取付角度を検出する機能を、コンピューターを用いて実現するためのコンピュータープログラムであって、
互いに平行で且つ等幅な２本の直線部分を有するターゲット図形が形成された前記地面の撮影画像を読み込む撮影画像読込機能（Ｓ１０２）と、
前記車両に対する前記車載カメラの取付角度の設定値を読み込む設定値読込機能（Ｓ１１５、Ｓ１５５）と、
前記設定値を読み込むと、前記車載カメラが前記設定値で前記車両に取り付けられているものと仮定して、前記撮影画像を、前記撮影画像に写った前記地面をあたかも上方から見下ろした鳥瞰画像に鳥瞰変換する鳥瞰変換機能（Ｓ１１６、Ｓ１５６）と、
前記鳥瞰画像中の前記ターゲット図形の前記２本の直線部分の平行度、および前記２本の直線部分の幅の差を検出して、検出した前記２本の直線部分の平行度および前記幅の差の何れかが、所定の許容範囲内にあるか否かを判断する判断機能（Ｓ１１７、Ｓ１１８、Ｓ１５７、Ｓ１５８）と、
検出した前記２本の直線部分の平行度および前記幅の差の何れかが、所定の許容範囲内に無かった場合には、前記車載カメラの取付角度の前記設定値を変更することによって、前記２本の直線部分の平行度および前記幅の差が、何れも前記許容範囲内に入る前記取付角度を探索する取付角度探索機能（Ｓ１１９、Ｓ１５９）と、
探索された前記取付角度を、前記車載カメラの前記車両に対する取付角度として決定する取付角度決定機能（Ｓ１２０、Ｓ１６０）と
を、コンピューターを用いて実現させるコンピュータープログラム。
【請求項１１】
前記車両の前方または後方の地面を撮影する車載カメラの取付角度を検出する機能を、コンピューターを用いて実現するための請求項１０にコンピュータープログラムであって、
前記撮影画像読込機能は、前記ターゲット図形の前記２本の直線部分の方向に沿って前記車両を直進させることによって異なる位置から撮影された複数の前記撮影画像を読み込む機能であり、
前記撮影画像から前記ターゲット図形中の２本の前記直線部分を検出して、前記直線部分を延長した２本の中心直線について、前記中心直線の傾きと、前記中心直線が前記撮影画像中の所定の一辺を横切る切片位置とを、前記２本の中心直線を識別した状態で検出して記憶しておく中心直線記憶機能（Ｓ１０３）と、
前記複数の撮影画像の各々から検出された前記２本の中心直線についての前記傾きおよび前記切片位置の偏差が所定の許容値以下であった場合に、前記ターゲット図形の前記２本の直線部分に対して前記車両が平行と判断する平行判断機能（Ｓ１１０、Ｓ１５０）と
を備え、
前記設定値読込機能は、前記ターゲット図形の前記２本の直線部分に対して前記車両が平行と判断された場合に、前記取付角度の設定値を読み込む機能である
コンピュータープログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両の周囲の地面を撮影する車載カメラの車両に対する取付角度を検出し、あるいは取付角度を較正する技術に関する。
【背景技術】
【０００２】
車載カメラで撮影した画像をモニター画面に表示することで、運転者が車両の周辺の状況を容易に確認可能とする種々の技術が実用化されている。例えば、車両の後部に車載カメラを搭載しておき、車両の後進時に後方の状況を撮影した画像をモニター画面に表示させて、その撮影画像に重ねて車両の予測進路を表示することにより、後進運転を支援する技術が実用化されている。
また、車両の前後左右に車載カメラを搭載しておき、それらで撮影した画像を変換して、あたかも上方から車両の周囲を見たような画像（すなわち、鳥瞰画像）としてモニター画面に表示することで、運転者が周囲の状況を容易に把握できるようにした技術も実用化されている。
【０００３】
これらの技術では、車載カメラが車両に対して、設計されたとおりの正しい角度で取り付けられていることが前提となる。仮に、取付角度が設計値からずれている場合、例えば、車両の後進時に後方の撮影画像に重ねて表示する予測進路と、実際の進路との間にずれが生じてしまう。あるいは、車両の前後左右の車載カメラの画像を鳥瞰画像に変換して、車両の周囲を上方から見たような画像として表示した時に、例えば、左の車載カメラの鳥瞰画像と、前の車載カメラの鳥瞰画像との間で位置ずれが生じてしまう。同様なことは、右の車載カメラと前の車載カメラとの間や、左の車載カメラと後の車載カメラとの間、右の車載カメラと後の車載カメラとの間でも生じ得る。
【０００４】
もちろん、車両に対する車載カメラの取付角度は、車両の工場出荷時に調整されているが、長い間に亘る使用によって取付角度にずれが生じたり、あるいは修理のために車載カメラを取り外したりして、車載カメラの取付角度を再度、調整しなければならない場合も生じ得る。
【０００５】
そこで、駐車枠のような既知の形状の枠内に車両を移動させて、車両の前後左右に搭載された車載カメラで撮影した画像を視線変換することによって、車両に対する取付角度を、車載カメラ毎に決定する技術が提案されている（特許文献１）。仮に、各車載カメラの取付角度が正しいのであれば、各車載カメラの撮影画像を変換して得られた鳥瞰画像は、画像の繋ぎ目部分でも位置ずれが生じない筈である。
提案の技術はこの点に着目して、各車載カメラの撮影画像を変換して得られた鳥瞰画像間で位置ずれが生じないように、各車載カメラの車両に対する取付角度を決定する。こうして、各車載カメラの取付角度を求めることができれば、取付角度が許容範囲に収まるように調整し、あるいは取付角度を較正することが可能となる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−１８２２３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、上記の提案の技術では、車両の前後左右に車載カメラが搭載されており、それらの車載カメラを用いて車両の全周の撮影画像が得られることを前提としている。このため、車両の前後左右の全てには車載カメラが搭載されていない場合（例えば車両の後方あるいは前方には車載カメラを搭載しているが、左右には車載カメラを搭載していない場合）には、車載カメラの車両に対する取付角度を検出して、正しい取付角度に較正することができないという問題があった。
【０００８】
この発明は、従来技術が有する上述した課題に鑑みてなされたものであり、前後左右の全てには車載カメラが搭載されていない車両でも、車載カメラの車両に対する取付角度を検出して、正しい取付角度に較正することが可能な技術の提供を目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決するために本発明の車載カメラの取付角度検出装置、取付角度較正装置、取付角度検出方法、取付角度較正方法、およびコンピュータープログラムは、互いに平行で且つ等幅な２本の直線部分を有するターゲット図形が形成された地面の撮影画像を取得して、鳥瞰画像に変換する。得られた鳥瞰画像中で、ターゲット図形の２本の直線部分が、互いに平行で且つ等幅となっているか否かを判断する。その結果、平行になっていないか、等幅でなかった場合には、鳥瞰変換に用いた取付角度が実際の取付角度ではないものと判断して、取付角度を変更することにより、ターゲット図形の２本の直線部分が、互いに平行で且つ等幅となるような取付角度を探索する。そして、そのような取付角度が得られたら、その取付角度を、車載カメラの車両に取り付けられている実際の取付角度として決定する。
【００１０】
こうすれば、前後左右の全てには車載カメラが搭載されていない車両でも、車載カメラの車両に対する取付角度を検出して、正しい取付角度に較正することが可能となる。
また、互いに平行で且つ等幅な２本の直線部分を有する図形であれば、ターゲット図形として用いることができる。このため、例えば、互いに平行で且つ等幅な２本の側線を有するが、側線に交差する横線を有さない駐車枠のような図形でも、ターゲット図形として用いて、車載カメラ１０の取付角度を検出し、正しい取付角度に較正することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】車載カメラ１０を搭載した車両１の大まかな構成を示す説明図である。
【図２】第１実施例の取付角度較正装置１００の内部構造を示したブロック図である。
【図３】第１実施例の取付角度較正装置１００が車載カメラ１０の取付角度を較正する第１実施例の取付角度較正処理の前半部分のフローチャートである。
【図４】第１実施例の取付角度較正処理の後半部分のフローチャートである。
【図５】駐車枠Ｔの側線に対して車両１を位置合わせした状態を示す説明図である。
【図６】駐車枠Ｔに対して車両１を直進させる様子を示す説明図である。
【図７】駐車枠Ｔの撮影画像から側線の中心直線および境界直線を検出した様子を示す説明図である。
【図８】複数枚の撮影画像から側線の中心直線および境界直線を検出した結果を蓄積した様子を示す説明図である。
【図９】側線の中心直線および境界直線の検出結果を蓄積することによって、車両１が側線に対して平行に向いているか否かを判断可能な理由を示す説明図である。
【図１０】鳥瞰画像中の駐車枠Ｔから検出した２本の側線の平行度および2本の側線の幅の差に着目して、取付角度を探索する様子を示す説明図である。
【図１１】取付角度を探索する前に、車両１の向きが駐車枠Ｔの側線ａ，ｂと平行になっていることを確認する理由についての説明図である。
【図１２】車体基準座標系とカメラ基準座標系との関係についての説明図である。
【図１３】車体基準座標系を解析用車体基準座標系に変換する方法についての説明図である。
【図１４】解析用車体基準座標系をカメラ基準座標系に変換する方法についての説明図である。
【図１５】カメラ基準座標系が撮影画像上での画像面座標系に変換される様子についての説明図である。
【図１６】鳥瞰変換についての説明図である。
【図１７】車載カメラ１０の駐車枠に対する角度を変えながら撮影画像を鳥瞰変換する様子についての説明図である。
【図１８】第１実施例の取付角度較正装置１００では、横線の無い駐車枠Ｔでも取付角度の較正が可能なことを示す説明図である。
【図１９】第２実施例の取付角度較正装置２００の内部構造を示したブロック図である。
【図２０】第２実施例の取付角度較正装置２００が車載カメラ１０の取付角度を較正する第２実施例の取付角度較正処理の後半部分のフローチャートである。
【図２１】第２実施例の取付角度較正装置２００が代表撮影画像を鳥瞰変換することによって取付角度を探索する様子を示した説明図である。
【図２２】駐車枠の２本の側線および側線の端点の位置に着目して、取付角度を探索する変形例についての説明図である。
【発明を実施するための形態】
【００１２】
以下では、上述した本願発明の内容を明確にするために実施例について説明する。
Ａ．第１実施例  ：
Ａ−１．装置構成  ：
図１には、車載カメラ１０を搭載した車両１の大まかな構成が示されている。図示した例では、車載カメラ１０は車両１の後部の位置に、斜め下向きに搭載されており、車両１の後方の状況を斜め上方から撮影することができる。そして、車載カメラ１０で撮影した撮影画像は、画像生成装置２０を介してモニター６に表示される。車両１の運転者は、モニター６に表示された画像から、車両１の後方の状況を確認することができる。
尚、以下では車両１の後部に車載カメラ１０が取り付けられているものとして説明するが、車載カメラ１０は車両１の前方に取り付けられていてもよい。
【００１３】
画像生成装置２０は、車載カメラ１０が斜め上方から撮影した画像を、車載カメラ１０の光学系の歪みを除去した見易い画像に変換してモニター６に表示する機能や、更にその画像を、あたかも真上から撮影した鳥瞰画像に鳥瞰変換して、モニター６に表示する機能を有している。光学系の歪みを除去するためのデータや、鳥瞰変換の際に使用する車載カメラ１０の取付角度のデータは、画像生成装置２０に内蔵された記憶部２１に記憶されている。画像生成装置２０は、車載カメラ１０が撮影した画像を取得すると、記憶部２１から読み出したデータを用いて画像を変換することによって、モニター６に表示する画像を生成する。運転者は、こうしてモニター６に表示された画像を視認することによって、車両１の周囲の状況を容易に把握することが可能となる。
【００１４】
ここで、詳細には後述するが、撮影画像を鳥瞰画像に鳥瞰変換する際には、車載カメラ１０が車両１に対して正しい角度で取り付けられていることが前提となる。もちろん、車両１の工場出荷時には、車載カメラ１０の取付角度は正しい角度に調整されているが、長い間の使用によって、あるいは何らかの理由で、車載カメラ１０の取付角度にずれが生じることが起こり得る。そして、取付角度にずれが生じると、鳥瞰変換によって得られた鳥瞰画像は歪んだ画像となってしまう。
【００１５】
そこで、車両１には、車載カメラ１０の車両１に対する取付角度を較正する取付角度較正装置１００が搭載されている。取付角度較正装置１００は、画像生成装置２０に接続されており、車載カメラ１０の光学系の歪みを除去した撮影画像を画像生成装置２０から取得すると、車載カメラ１０の適切な取付角度を探索する。取付角度を探索する方法については、後ほど詳しく説明する。そして、適切な取付角度が得られたら、画像生成装置２０の記憶部２１に記憶されている取付角度を、探索して得られた取付角度に変更することによって取付角度を較正する。
また、詳細な理由については後述するが、取付角度較正装置１００が取付角度を適切に探索するためには、車両１のハンドル２が操舵されていない直進状態のままで、車両１が適切な距離を移動することが必要となる。そこで、取付角度較正装置１００には、車両１のハンドル２の操舵角を検出する操舵角センサー３や、車両１の移動距離を検出する移動距離センサー４が接続されている。そして、車載カメラ１０の取付角度を較正する際には、ハンドル２が操舵されていない直進状態になっていることや、車両１の移動距離を監視する。その結果、ハンドル２が直進状態になっていなかったり、車両１が移動していなかったりした場合には、モニター６を用いて警告の画像を表示したり、スピーカー５を用いて警告の音声を出力したりすることによって、較正をやり直すようになっている。
【００１６】
Ａ−２．第１実施例の取付角度較正装置１００の内部構造  ：
図２には、第１実施例の取付角度較正装置１００の大まかな内部構造を示したブロック図が示されている。図示されるように第１実施例の取付角度較正装置１００は、撮影画像取得部１０１と、中心直線検出部１０２と、境界直線検出部１０３と、検出直線記憶部１０４と、平行判断部１０５と、車両監視部１０６と、警報出力部１０７と、設定値取得部１０８と、鳥瞰変換部１０９と、取付角度探索部１１０と、鳥瞰画像評価部１１１と、設定値変更部１１２と、取付角度決定部１１３と、取付角度更新部１１４とを備えている。また、取付角度較正装置１００の中で取付角度更新部１１４を除いた部分（図中の破線で囲った部分）は、第１実施例の取付角度検出装置１２０に対応する。
尚、これらの「部」は、車載カメラ１０の取付角度を検出して、取付角度を較正するために取付角度較正装置１００が備える機能に着目して、取付角度較正装置１００の内部を便宜的に分類した抽象的な概念である。従って、取付角度較正装置１００がこれらの「部」に物理的に区分されていることを表すものではない。これらの「部」は、ＣＰＵで実行されるコンピュータープログラムとして実現することもできるし、ＬＳＩやメモリーを含む電子回路として実現することもできるし、更にはこれらを組合せることによって実現することもできる。本実施例では、取付角度較正装置１００は、ＣＰＵやＲＯＭやＲＡＭなどを備えたマイクロコンピューターによって主に形成されており、従って上記の「部」はＣＰＵが実行するコンピュータープログラムによって主に実現されている。
【００１７】
撮影画像取得部１０１は、画像生成装置２０に接続されており、車載カメラ１０で撮影した画像から光学系の歪みが除去された状態の撮影画像を、画像生成装置２０から取得する。また、車載カメラ１０の取付角度を検出する際には、所定のターゲット図形が描かれた地面の画像を取得する。
ここで、ターゲット図形とは、互いに平行で且つ等幅な２本の直線部分を有する図形である。例えば、駐車場などで１台分の車両を駐車する範囲を示す駐車枠は、両側の車両との境界を示す側線を有しているから、代表的なターゲット図形として用いることができる。ターゲット図形の具体例については後述する。
【００１８】
中心直線検出部１０２は、撮影画像中のターゲット図形が有する２本の直線部分を検出して、それぞれの直線部分の中心線に相当する中心直線を検出する。ターゲット図形には２本の直線部分があるから、それぞれの直線部分について１本ずつ、合計で２本の中心直線を検出する。そして、検出した２本の中心直線は、検出直線記憶部１０４に記憶する。
また、境界直線検出部１０３は、撮影画像中のターゲット図形が有する２本の直線部分を検出すると、それぞれの直線部分について、両側の境界線に相当する境界直線を検出する。ターゲット図形には２本の直線部分があるから、それぞれの直線部分について２本ずつ、合計で４本の境界直線を検出する。そして、検出した４本の境界直線は、検出直線記憶部１０４に記憶する。
尚、ターゲット図形から２本の中心直線と４本の境界直線を検出する具体例については後述する。また、検出直線記憶部１０４には、複数枚の撮影画像から検出された複数本の中心直線および境界直線が記憶される。
【００１９】
平行判断部１０５は、検出直線記憶部１０４に記憶されている複数本の中心直線および境界直線を読み出して、それらを解析することによって、車両１の向きが、地面上に描かれたターゲット図形の２本の直線部分に対して平行になっているか否かを判断する。判断する方法については、別図を用いて後ほど詳しく説明する。
また、平行判断部１０５で、ターゲット図形の２本の直線部分に対する車両１の向きを正しく判断するためには、車両１が所定距離以上、直進している状態で、複数枚の撮影画像を取得する必要がある。
【００２０】
そこで、車両監視部１０６は、撮影画像取得部１０１が撮影画像を取得している間の車両１の状態を監視する。すなわち、車両監視部１０６は、ハンドル２の操舵角センサー３や、移動距離センサー４に接続されており、ハンドル２が直進状態になっていることや、車両１の移動距離を監視する。そして、複数枚の撮影画像を取得している間に、ハンドル２が操舵されたり、車両１の移動距離が十分でなかったりした場合には、撮影画像を取得し直す必要があるものと判断して、検出直線記憶部１０４に記憶された中心直線および境界直線の検出結果を消去する。更に、撮影画像を取得し直す必要がある旨を、警報出力部１０７に出力する。
警報出力部１０７は、スピーカー５やモニター６に接続されており、撮影画像を取得し直す必要がある旨の判断結果を車両監視部１０６から受け取ると、スピーカー５やモニター６を用いてその旨の警告を出力する。
【００２１】
また、平行判断部１０５で判断した結果が、ターゲット図形の２本の直線部分に対して車両１が平行になっていない旨の判断結果であった場合にも、平行判断部１０５は、検出直線記憶部１０４に記憶された検出結果を消去すると共に、撮影画像を取得し直す必要がある旨を警報出力部１０７に出力する。すると、警報出力部１０７は、スピーカー５やモニター６を用いてその旨の警告を出力する。
【００２２】
これに対して、平行判断部１０５の判断結果が、ターゲット図形の２本の直線部分に対して車両１が平行になっている旨の判断結果であった場合には、設定値取得部１０８が、画像生成装置２０から車載カメラ１０の取付角度を取得する。車載カメラ１０の取付角度は、画像生成装置２０に内蔵された記憶部２１に記憶されている。
また、平行判断部１０５によって、ターゲット図形の２本の直線部分に対して車両１が平行になっていると判断された場合には、鳥瞰変換部１０９は、次のようにして撮影画像を鳥瞰変換する。先ず、撮影画像取得部１０１が取得しておいた撮影画像を読み出す。この時に読み出す撮影画像は、撮影画像取得部１０１が取得した最新の撮影画像とすることができる。更に、車載カメラ１０の取付角度が記憶部２１から読み出した取付角度であるものとして、撮影画像を鳥瞰画像に変換する。
【００２３】
鳥瞰画像評価部１１１は、こうして得られた鳥瞰画像を解析して、ターゲット図形の２本の直線部分の平行度、および２本の直線部分の幅の差を評価する。そして、それらが何れも所定の許容範囲内になかった場合には、その旨を設定値変更部１１２に出力し、設定値変更部１１２は、設定値取得部１０８が記憶部２１から取得していた取付角度の値を変更する。
すると、鳥瞰変換部１０９は、変更された取付角度を用いて再び鳥瞰変換を行うことによって、新たな鳥瞰画像を生成する。鳥瞰画像評価部１１１は、この新たに得られた鳥瞰画像に対して、ターゲット図形の２本の直線部分の平行度、および２本の直線部分の幅の差を評価する。そして、それらが何れも所定の許容範囲内になかった場合には、設定値変更部１１２が、再び、取付角度の値を変更する。
このように、鳥瞰画像評価部１１１および設定値変更部１１２は、鳥瞰変換部１０９によって得られた鳥瞰画像の評価結果に基づいて取付角度を変更することによって、鳥瞰画像中のターゲット図形の２本の直線部分が所定の基準を満たすような取付角度を探索していることになる。従って、鳥瞰画像評価部１１１および設定値変更部１１２をまとめて、取付角度探索部１１０と把握することができる。
【００２４】
そして、鳥瞰画像評価部１１１によって、鳥瞰画像中のターゲット図形の２本の直線部分が所定の基準を満たすと判断されると、取付角度決定部１１３は、その時の鳥瞰変換に用いた取付角度を取得して、その取付角度を正しい取付角度として決定する。このようにして、車載カメラ１０の正しい取付角度を検出することができる。
また、取付角度更新部１１４は、取付角度決定部１１３が決定した正しい取付角度を取得して、画像生成装置２０の記憶部２１に書き込むことによって、記憶部２１が記憶している取付角度を正しい取付角度に更新する。こうすることによって、画像生成装置２０が画像を生成する際に用いる取付角度の較正が終了する。
【００２５】
以下では、上述した内部構造を有する第１実施例の取付角度較正装置１００が、車載カメラ１０の取付角度を較正する際に実行する処理について、具体例を用いて説明する。
【００２６】
Ａ−３．第１実施例の取付角度較正処理  ：
図３および図４には、第１実施例の取付角度較正装置１００が実行する取付角度較正処理のフローチャートが示されている。
図示されるように、取付角度較正処理では先ず始めに駐車枠Ｔの側線に対して車両１を平行に向けて、更にハンドル２を直進状態にする旨の指示を、スピーカー５およびモニター６から出力する（Ｓ１００）。
例えば、図５に示したように、同じ幅を有する２本の平行な側線ａおよび側線ｂと、これら側線ａ，ｂに直交する横線ｃとを備える駐車枠Ｔが地面に描かれていたとする。この場合、車両１の向きが２本の側線ａ，ｂに対して平行となるようにして、更にハンドル２を直進状態（すなわち、何れの方向にも操舵されていない状態）にする旨の音声をスピーカー５から出力すると共に、その旨を指示する画像をモニター６に表示する。
尚、本実施例では、駐車枠Ｔが、本発明の「ターゲット図形」に相当し、２本の側線ａ，ｂが、本発明の「ターゲット図形が備える直線部分」に相当する。また、ターゲット図形は、同じ幅を有する２本の平行な直線部分を有する図形であればよく、必ずしも図５に例示した駐車枠Ｔでなくても構わない。
また、車両１の運転者は、指示に従って、駐車枠Ｔの側線ａ．ｂに対して平行となるように車両１を移動させるが、この時に、厳密に平行とする必要は無く、目分量で平行となるようにしておけばよい。
【００２７】
このように、駐車枠Ｔの側線に対して車両１を平行にして、ハンドル２を直進状態とする旨を出力したら（図３のＳ１００）、今度は、所定距離Ｌ（例えば２メートル）、車両１を直進させる旨の指示を、スピーカー５およびモニター６を用いて出力する（Ｓ１０１）。車両１の運転者は、指示に従って、駐車枠Ｔに向けて車両１を所定距離Ｌ、直進させる。図６には、駐車枠Ｔに向けて車両１を所定距離Ｌ、直進させる様子が示されている。  尚、車両１を直進させる距離は、所定距離Ｌ以上であれば十分であり、厳密に所定距離Ｌである必要はない。
【００２８】
続いて、取付角度較正装置１００は、画像生成装置２０から駐車枠Ｔの撮影画像を取得する（図３のＳ１０２）。尚、画像生成装置２０から取得する撮影画像は、車載カメラ１０の光学系の歪みなどが取り除かれた画像となっている。
そして、取得した撮影画像を解析して駐車枠Ｔの２本の側線ａ，ｂの中心直線および境界直線を検出し、中心直線および境界直線の傾きや、中心直線の切片位置、境界直線の境界切片位置を記憶する（Ｓ１０３）。
【００２９】
図７には、撮影画像を解析して駐車枠Ｔの２本の側線ａ，ｂの中心直線および境界直線を検出する様子が示されている。図７（ａ）に例示されているように、撮影画像には、画像上で左側の側線ｂと、右側の側線ａと、奥側の横線ｃとが写っている。また、車載カメラ１０の光学系の歪みを除去した後の撮影画像では、左側の側線ｂおよび右側の側線ａは何れも、幅を有する直線となっている。
そこで、左側の側線ｂの中心線を延長した中心直線を検出する。また、右側の側線ａについても、側線ａの中心線を延長した中心直線を検出する。図７（ｂ）には、このようにして左側の側線ｂから検出した中心直線ｂｃと、右側の側線ａから検出した中心直線ａｃとが例示されている。
【００３０】
また、左側の側線ｂおよび右側の側線ａは何れも幅を有している。そこで、左側の側線ｂについて、駐車枠Ｔの内側の境界線および外側の境界線を延長した２本の境界直線を検出する。右側の側線ａについても同様に、駐車枠Ｔの外側の境界線および外側の境界線を延長した２本の境界直線を検出する。図７（ｂ）には、このようにして左側の側線ｂから検出した内側の境界直線ｂｉおよび外側の境界直線ｂｏと、右側の側線ａから検出した内側の境界直線ａｉおよび外側の境界直線ａｏ中心直線ａｃとが例示されている。
結局、１枚の撮影画像からは、左側の側線ｂについての中心直線ｂｃ、内側の境界直線ｂｉ、および外側の境界直線ｂｏの３本の直線と、右側の側線ａについての中心直線ａｃ、内側の境界直線ａｉ、および外側の境界直線ａｏの３本の直線、合計で６本の直線が検出されることになる。
【００３１】
こうして６本の直線を検出したら、それらの直線のそれぞれについて、直線の傾きを検出する。図７（ｂ）に示した例では、左側の側線ｂから検出された内側の境界直線ｂｉについて、直線の傾きｋｂｉを検出した様子が示されている。また、右側の側線ａから検出された内側の境界直線ａｉについては、直線の傾きｋａｉを検出した様子が示されている。更に、図７（ｂ）では図示を省略しているが、中心直線ｂｃや、境界直線ｂｏや、中心直線ａｃや、境界直線ａｏについても、それぞれの直線の傾きｋｂｃや、ｋｂｏ、ｋａｃ、ｋａｏを検出する。
【００３２】
更に、中心直線ｂｃ，ａｃについては、直線の切片位置を検出する。ここで「切片位置」とは、撮影画像中に設定した所定の一辺を中心直線が横切る座標位置である。図７（ｃ）に示した例では、撮影画像の下側の辺と上側の辺との間の位置に、下側の辺と平行な検査用の一辺（以下、検査用辺ＤＬ）が設定されている。そして、この検査用辺ＤＬを中心直線ｂｃが横切る座標位置を、中心直線ｂｃの切片位置ｐｂｃとして検出する。また、中心直線ａｃが検査用辺ＤＬを横切る座標位置を、中心直線ａｃの切片位置ｐａｃとして検出する。
また、４本の境界直線ｂｏ，ｂｉ，ａｏ，ａｉについては、境界切片位置を検出する。ここで「境界切片位置」とは、撮影画像中に設定した所定の検査用辺ＤＬを、境界直線が横切る座標位置である。図７（ｃ）に示されるように、それぞれの境界直線ｂｏ，ｂｉ，ａｏ，ａｉについて、境界切片位置ｐｂｏ，ｐｂｉ，ｐａｏ，ｐａｉを検出する。
【００３３】
尚、ここでは、検査用辺ＤＬは、撮影画像の下側の辺と平行な直線が設定されているものとして説明したが、これに限られるわけではない。例えば、撮影画像の左側の辺と右側の辺との間に位置に、左側あるいは右側の辺と平行に設定した直線を、検査用辺ＤＬとして用いても良い。あるいは、簡便には、撮影画像の上側の辺、下側の辺、左側の辺、右側の辺の何れかを選択して、検査用辺ＤＬとして用いても良い。更には、２本の中心直線や、４本の境界直線のそれぞれについて、別個に設定した検査用辺ＤＬを用いることもできる。
図３のＳ１０３では、このようにして、検出した２本の中心直線のそれぞれについて、直線の傾きや切片位置を検出し、更に４本の境界直線のそれぞれについて、直線の傾きや境界切片位置を検出して、検出した結果を、メモリー（図２の検出直線記憶部１０４に相当）に記憶する。
【００３４】
続いて、取付角度較正装置１００は、車両１のハンドル２が直進状態に保たれているか否かを判断する（Ｓ１０４）。Ｓ１００およびＳ１０２で前述したように、車両１の運転者には、ハンドル２を直進状態にして、車両１を直進させるように指示してあるので、運転者がハンドル２を操舵しない限り、Ｓ１０４では「ｙｅｓ」と判断される。
そして、Ｓ１０４では「ｙｅｓ」と判断された場合は、所定枚数分（例えば、１００枚分）の撮影画像に対して上述した処理（すなわち、撮影画像を解析して、中心直線の傾きおよび切片位置と、境界直線の傾きおよび境界切片位置とを検出し、それらの検出結果を記憶する処理）を行ったか否かを判断する（Ｓ１０７）。当然ながら、初めは１枚の撮影画像を処理しただけなので、Ｓ１０７では「ｎｏ」と判断される。
【００３５】
そこで、この場合（すなわち、Ｓ１０７：ｎｏの場合）は、車両１の移動距離が、所定距離Ｌに達したか否かを判断する（Ｓ１０８）。
その結果、まだ所定距離Ｌに達していない場合は（Ｓ１０８：ｎｏ）、再び、駐車枠Ｔの撮影画像を取得し（Ｓ１０２）、その撮影画像を解析することによって、中心直線の傾きおよび切片位置と、境界直線の傾きおよび境界切片位置とを検出して、検出結果を記憶する（Ｓ１０３）。
このようにすることで、取付角度較正装置１００のメモリーには、１枚の撮影画像を取得する度に、２本の中心直線ｂｃ，ａｃについての傾きｋｂｃ，ｋａｃおよび切片位置ｐｂｃ，ｐａｃと、４本の境界直線ｂｏ，ｂｉ，ａｏ，ａｉについての傾きｋｂｏ，ｋｂｉ，ｋａｏ，ｋａｉおよび境界切片位置ｐｂｏ，ｐｂｉ，ｐａｉ，ｐａｉとが蓄積されていく。図８には、取付角度較正装置１００のメモリーに、中心直線についての傾きおよび切片位置や、境界直線についての傾きおよび境界切片位置が蓄積される様子が、模式的に示されている。
【００３６】
また、このようにして中心直線および境界直線の検出結果を蓄積している間に、車両１の運転者によってハンドル２が操舵された場合には、ハンドル２が直進状態にないと判断される（Ｓ１０４：ｎｏ）。
そして、この場合は、取付角度較正装置１００のメモリーに蓄積されている中心直線および境界直線の検出結果（図８参照）を破棄した後（Ｓ１０５）、ハンドル２を直進状態に保持しなければならない旨の警告および指示を、スピーカー５およびモニター６を用いて出力する（Ｓ１０６）。
続いて、処理の先頭に戻って、駐車枠Ｔの側線に対して車両１を平行にして、ハンドル２を直進状態とする旨を再び出力した後（Ｓ１００）、続く上述した一連の処理（すなわち、Ｓ１０２〜Ｓ１０８）を繰り返す。こうすることによって、図８に示したように、中心直線および境界直線の検出結果が取付角度較正装置１００のメモリーに蓄積されていく。
【００３７】
また、取付角度較正装置１００のメモリーに、所定枚数分の撮影画像についての検出結果が蓄積される前に（Ｓ１０７：ｎｏ）、車両１に移動距離が所定距離Ｌに達した場合には（Ｓ１０８：ｙｅｓ）、車両１の進行方向を逆転させて、所定距離Ｌ直進させる旨の指示を、スピーカー５およびモニター６を用いて出力する（Ｓ１０９）。例えば、それまで車両１が後進していた場合には、ハンドル２を直進状態に保ったまま、今度は車両１を前進させることによって、所定距離Ｌ移動する旨を指示する。また逆に、車両１が前進していた場合には、ハンドル２を直進状態に保ったまま、車両１を後進させることによって、所定距離Ｌ移動する旨を指示する。
その後、再びＳ１０２に戻って、駐車枠Ｔの撮影画像を取得した後、撮影画像を解析して検出した中心直線および境界直線の蓄積を継続する（Ｓ１０３〜Ｓ１０８）。
このような操作を繰り返しながら、撮影画像から検出した中心直線および境界直線を蓄積していると、やがては、中心直線および境界直線を検出して蓄積した撮影画像の枚数が、所定枚数に達したと判断される（Ｓ１０７：ｙｅｓ）。
【００３８】
そして、所定枚数分の撮影画像から検出した中心直線および境界直線の蓄積が完了すると、駐車枠Ｔの２本の側線ａ，ｂに対する車両１の向きが、Ｓ１００で指示したとおりに平行になっていたか否かを判断することが可能となる。以下では、判断方法について説明するが、その準備として、判断するための基本的な考え方について説明する。
【００３９】
仮に、駐車枠Ｔの２本の側線ａ，ｂに対して、車両１の向きが平行になっていたとする。ハンドル２を直進状態に保ったまま車両１を移動させると、車両１と駐車枠Ｔとの相対的な位置関係が変化する。この位置関係の変化を、車両１の位置を基準として（すなわち車両１の位置を固定した状態で）、駐車枠Ｔの位置が変化したものとして表すと、図９（ａ）を得ることができる。
図９（ａ）に示されるように、車両１に対して駐車枠Ｔが移動しているが、この駐車枠Ｔの移動方向は、実際には車両１が移動する方向である。また、車両１はハンドル２を直進状態に保ったままで直進するから、車両１が移動する方向は、車両１の向きと同じとなる。そして、車両１の向きは、駐車枠Ｔの２本の側線ａ，ｂに対して平行となっているものとしているから、結局、図９（ａ）で駐車枠Ｔが移動する方向は、２本の側線ａ，ｂと同じ方向となる。従って、図９（ａ）に示されるように、車両１に対して駐車枠Ｔが移動すると、駐車枠Ｔの側線ａ，ｂは、それぞれ側線ａ，ｂの延長線上を移動する。
このことから、駐車枠Ｔの２本の側線ａ，ｂに対して、車両１の向きが平行になっている場合には、車両１を直進させながら取得した何れの撮影画像についても、側線ａから検出した中心直線ａｃは同じ直線となる筈である。同様に、側線ｂから検出した中心直線ｂｃも同じ直線となる筈である。また、側線ａから検出した外側の境界直線ａｏも同じ直線となり、内側の境界直線ａｉも同じ直線となる筈である。全く同様に、側線ｂから検出した外側の境界直線ｂｏも、内側の境界直線ｂｉも同じ直線となる筈である。
【００４０】
これに対して、駐車枠Ｔの２本の側線ａ，ｂに対して、車両１の向きが平行になっていなかったとする。この場合は、車両１の位置を基準として、駐車枠Ｔの位置が変化するものとして表示すると、図９（ｂ）が得られる。図９（ｂ）を見れば直ちに了解できるように、駐車枠Ｔの位置が変化するに伴って、車両１に対する側線ａ，ｂの位置が変化する。
従って、駐車枠Ｔの２本の側線ａ，ｂに対して、車両１の向きが平行になっていない場合には、車両１を直進させながら撮影画像を取得すると、撮影画像の側線ａから検出した中心直線ａｃや、側線ｂから検出した中心直線ｂｃは、撮影画像毎に異なる直線となる筈である。また、側線ａから検出した外側の境界直線ａｏや、内側の境界直線ａｉや、側線ｂから検出した外側の境界直線ｂｏや、内側の境界直線ｂｉも、撮影画像毎に異なる直線となる筈である。
【００４１】
このことから、複数枚の撮影画像から検出した中心直線ａｃ，ｂｃや、境界直線ａｏ，ａｉ，ｂｏ，ｂｉを記憶しておき、撮影画像間でそれらの直線が同じと見なせるのであれば、駐車枠Ｔの２本の側線ａ，ｂに対して、車両１の向きが平行になっていると判断して良いと考えられる。
図３および図４の取付角度較正処理では、このような原理に基づいて、駐車枠Ｔの２本の側線ａ，ｂに対して、車両１の向きが平行になっていると判断する。
【００４２】
すなわち、図３のＳ１０７に示すように、所定枚数分の撮影画像から検出した中心直線および境界直線の蓄積が完了したと判断したら（Ｓ１０７：ｙｅｓ）、蓄積しておいた中心直線の傾きおよび切片位置の分散が、所定の許容値以下に収まっているか否かを判断する（図４のＳ１１０）。
この判断は、次のようにして行う。先ず、図８を用いて前述したように、中心直線の傾きおよび切片位置は、中心直線ｂｃおよび中心直線ａｃのそれぞれについて蓄積されている。そこで、中心直線ｂｃについての傾きｋｂｃを読み出して、それらの分散σｋｂｃを算出し、中心直線ａｃについての傾きｋａｃを読み出して、それらの分散σｋａｃを算出する。
同様に、中心直線ｂｃについての切片位置ｐｂｃを読み出して、それらの分散σｐｂｃを算出し、中心直線ａｃについての切片位置ｐａｃを読み出して、それらの分散σｐａｃを算出する。
そして、求めた分散σｋｂｃ，σｋａｃ，σｐｂｃ，σｐａｃが、それぞれに設定された所定の許容値以下に収まっているか否かを判断する。
【００４３】
その結果、中心直線ｂｃ，ａｃの傾きｋｂｃ，ｋａｃ、および切片位置ｐｂｃ，ｐａｃの何れの分散σｋｂｃ，σｋａｃ，σｐｂｃ，σｐａｃについても、所定の許容値以内に収まっていると判断した場合は（図４のＳ１１０：ｙｅｓ）、今度は、境界直線の傾きおよび切片位置の分散が、所定の許容値以下に収まっているか否かを判断する（Ｓ１１１）。すなわち、境界直線ｂｏについての傾きｋｂｏを読み出して、それらの分散σｋｂｏを算出し、境界直線ｂｉについての傾きｋｂｉを読み出して、それらの分散σｋｂｉを算出する。同様に、境界直線ａｏについての傾きｋａｏ、および境界直線ａｉについての傾きｋａｉを読み出して、それぞれの分散σｋａｏ，σｋａｉを算出する。
更に、境界直線ｂｏの境界切片位置ｐｂｏ、境界直線ｂｉの境界切片位置ｐｂｉ、境界直線ａｏの境界切片位置ｐａｏ、境界直線ａｉの境界切片位置ｐａｉを読み出して、それぞれの分散σｐｂｏ，σｐｂｉ，σｐａｏ，σｐａｉを算出する。
そして、求めた分散σｋａｏ，σｋａｉ，σｐｂｏ，σｐｂｉ，σｐａｏ，σｐａｉが、それぞれに設定された所定の許容値以下に収まっているか否かを判断する。
【００４４】
その結果、分散σｋａｏ，σｋａｉ，σｐｂｏ，σｐｂｉ，σｐａｏ，σｐａｉが、所定の許容値以下に収まっていると判断した場合は（Ｓ１１１：ｙｅｓ）、撮影画像から検出した中心直線ｂｃ，ａｃや、境界直線ｂｏ，ｂｉ，ａｏ，ａｉが、撮影画像間で一致すると見なせる状態（すなわち、図９（ａ）に示した状態）と考えて良い。従って、この場合は、車両１の向きが、駐車枠Ｔの２本の側線ａ，ｂに対して平行になっていると判断できる。
【００４５】
これに対して、中心直線ｂｃ，ａｃの傾きｋｂｃ，ｋａｃや、切片位置ｐｂｃ，ｐａｃについての分散σｋｂｃ，σｋａｃ，σｐｂｃ，σｐａｃが所定の許容値以内に収まっていない場合は（Ｓ１１０：ｎｏ）、車両１の向きが、駐車枠Ｔの２本の側線ａ，ｂに対して平行になっていないと判断できる。
同様に、境界直線ｂｏ，ｂｉ，ａｏ，ａｉの傾きｋｂｏ，ｋｂｉ，ｋａｏ，ｋａｉや、境界切片位置ｐｂｏ，ｐｂｉ，ｐａｏ，ｐａｉについての分散σｋｂｏ，σｋｂｉ，σｋａｏ，σｋａｉ，σｐｂｏ，σｐｂｉ，σｐａｏ，σｐａｉが、所定の許容値以内に収まっていない場合（Ｓ１１１：ｎｏ）も、車両１の向きが、駐車枠Ｔの２本の側線ａ，ｂに対して平行になっていないと判断できる。
そこで、これらの場合（すなわち、Ｓ１１０：ｎｏあるいはＳ１１１：ｎｏ）は、駐車枠Ｔの側線ａ，ｂに対して車両１が平行になっていない旨を、スピーカー５およびモニター６を用いて出力する（Ｓ１１２）。そして、蓄積した所定枚数分の撮影画像の中心直線および境界直線の検出結果（図８参照）を破棄した後（Ｓ１１３）、処理の先頭に戻って、上述した一連の処理（すなわち、図３のＳ１００〜図４のＳ１１１の処理）を、始めからやり直す。
【００４６】
尚、以上では、中心直線の傾きおよび切片位置の分散が所定の許容値以下という条件と、境界直線の傾きおよび境界切片位置の分散が所定の許容値以下という条件の２つの条件を満たした場合に、車両１の向きが、駐車枠Ｔの側線ａ，ｂに対して平行になっていると判断した。しかし、何れか一方の条件を満たせば、車両１の向きと、駐車枠Ｔの側線ａ，ｂとが平行になっていると判断してもよい。
例えば、中心直線の傾きおよび切片位置の分散が所定の許容値以下であれば、車両１の向きと、駐車枠Ｔの側線ａ，ｂとが平行と判断することができる。そして、この場合は、中心直線の傾きおよび切片位置を蓄積すれば良く、従って、境界直線の傾きおよび境界切片位置は蓄積しなくても構わない。
また逆に、境界直線の傾きおよび境界切片位置の分散が所定の許容値以下であれば、車両１の向きと、駐車枠Ｔの側線ａ，ｂとが平行と判断することもできる。そして、この場合は、境界直線の傾きおよび境界切片位置を蓄積すれば良く、従って、中心直線の傾きおよび切片位置は蓄積しなくても構わない。
【００４７】
以上のようにして、駐車枠Ｔの２本の側線ａ，ｂに対して車両１の向きが平行になっていることが確認できたら（Ｓ１１１：ｙｅｓ）、撮影画像を取得する（Ｓ１１４）。このとき取得する撮影画像は、画像生成装置２０から新たな撮影画像を取得しても良いし、あるいは、中心直線および境界直線を蓄積するために取得した所定枚数分の撮影画像の中で、画像生成装置２０から最後に取得した撮影画像を流用しても良い。
【００４８】
続いて、画像生成装置２０のメモリーに記憶されている車載カメラ１０の取付角度の設定値を取得する（Ｓ１１５）。前述したように、画像生成装置２０は車載カメラ１０で撮影した撮影画像を鳥瞰変換して、鳥瞰画像をモニター６に出力する機能を有している。車載カメラ１０の撮影画像を鳥瞰変換するためには、車載カメラ１０が車両１に取り付けられている取付角度の値が必要となるので、画像生成装置２０のメモリーには車載カメラ１０の取付角度の設定値が記憶されている。そこで、Ｓ１１５では、この取付角度の設定値を画像生成装置２０から取得する。
【００４９】
その後、Ｓ１１４で取得した撮影画像を鳥瞰変換する（Ｓ１１６）。この時に、鳥瞰変換に際して使用する車載カメラ１０の取付角度は、Ｓ１１５で画像生成装置２０から取得した取付角度の設定値を使用する。
そして、得られた鳥瞰画像を解析することにより、鳥瞰画像に写った駐車枠Ｔの２本の側線ａ，ｂの平行度が許容範囲内にあるか否かを判断する（Ｓ１１７）。
例えば、図１０（ａ）に示すような撮影画像が得られており、この撮影画像を鳥瞰変換したところ、図１０（ｂ）のような鳥瞰画像が得られたものとする。図１０（ｂ）に示されるように、鳥瞰画像中の駐車枠Ｔは形状が歪んでいる。仮に、鳥瞰変換に用いた車載カメラ１０の取付角度が正しいのであれば、得られた鳥瞰画像中の駐車枠Ｔは、実際の駐車枠Ｔの形状、すなわち、等幅で互いに平行な２本の側線ａ，ｂを有する形状となっている筈である。従って、鳥瞰画像中の駐車枠Ｔの形状が歪むということは、鳥瞰変換に用いた車載カメラ１０の取付角度が、実際の取付角度とは異なっていることを意味している。
そこで、図４のＳ１１７では、Ｓ１１６で得られた鳥瞰画像を解析して、駐車枠Ｔの２本の側線ｂ，ａを検出し、更に、側線ｂの中心直線ｂｃと、側線ａの中心直線ａｃとを検出する。そして、側線ｂの中心直線ｂｃと、側線ａの中心直線ａｃとの平行度が、所定の許容範囲内にあるか否かを判断する。
【００５０】
その結果、側線ｂの中心直線ｂｃと、側線ａの中心直線ａｃとの平行度が許容範囲内になかった場合は（Ｓ１１７：ｎｏ）、鳥瞰画像中の駐車枠Ｔの形状が歪んでおり、従って、鳥瞰変換に用いた車載カメラ１０の取付角度が正しくないと判断できる。
そこで、取付角度の設定値を変更して（Ｓ１１９）、変更した取付角度を用いて再び撮影画像を鳥瞰変換し（Ｓ１１６）、鳥瞰画像中の駐車枠Ｔの２本の側線の中心直線を検出して、それらの中心直線の平行度が許容範囲内にあるか否かを判断する（Ｓ１１７）。
【００５１】
尚、詳細には後述するが、車載カメラ１０の取付角度には、ピッチ方向の取付角度（以下、ピッチ方向角度θｐ）と、ヨウ方向の取付角度（以下、ヨウ方向角度θｙ）と、ロール方向の取付角度（以下、ロール方向角度θｒ）とが存在する。ここで、ピッチ方向とは、車載カメラ１０の光軸が車両１に対して上下方向に角度を変えるような方向である。また、ヨウ方向とは、車載カメラ１０の光軸が車両１に対して左右方向に角度を変えるような方向である。更に、ロール方向とは、車載カメラ１０が、車載カメラ１０の光軸を中心軸として回転するような方向である。
Ｓ１１７で「ｎｏ」と判断されて、Ｓ１１９で車載カメラ１０の取付角度の設定値を変更する際には、車載カメラ１０の取付角度の中でピッチ方向角度θｐおよびヨウ方向角度θｙを中心に設定値を変更することが望ましい。
【００５２】
車載カメラ１０の取付角度を変更しながら、撮影画像の鳥瞰変換を繰り返しているうちに、例えば、図１０（ｃ）に示すような鳥瞰画像が得られたとする。図１０（ｃ）に示されるように、鳥瞰画像中の駐車枠Ｔは、側線ｂと側線ａとは平行となっているが、依然として駐車枠Ｔの形状が歪んでいる。また、側線ｂの幅ｗｂの方が、側線ａの幅ｗａよりも広くなっており、側線ｂと側線ａとは等幅になっていない。このことは、２本の側線ｂ，ａの平行度が許容範囲内にあったとしても、そのことをもって直ちに正しい取付角度が得られたと考えることはできないことを示している。
【００５３】
そこで、駐車枠Ｔの２本の側線ｂ，ａの平行度が許容範囲内にあったと判断した場合には（図４のＳ１１７：ｙｅｓ）、続いて、側線ｂの幅ｗｂと、側線ａの幅ｗａとを検出して、それらの幅の差が所定の許容範囲内か否かを判断する（Ｓ１１８）。
その結果、側線ｂ，ａの幅の差が許容範囲内になかった場合は（Ｓ１１８：ｎｏ）、鳥瞰変換に用いた車載カメラ１０の取付角度が、依然として正しくないと判断できるので、再び、取付角度の設定値を変更する（Ｓ１１９）。そして、変更した取付角度を用いて再び撮影画像を鳥瞰変換し（Ｓ１１６）、鳥瞰画像中の駐車枠Ｔの２本の側線を検出して、２本の側線の平行度が許容範囲内にあるか否か、および側線の差が許容範囲内にあるか否かを判断する（Ｓ１１７、Ｓ１１８）。
尚、Ｓ１１８で「ｎｏ」と判断されて、Ｓ１１９で車載カメラ１０の取付角度の設定値を変更する際には、車載カメラ１０の取付角度の中でロール方向角度θｒを中心に設定値を変更することが望ましい。
【００５４】
このようにして車載カメラ１０の取付角度を変更しながら、撮影画像の鳥瞰変換を繰り返しているうちに、図１０（ｄ）に示すような鳥瞰画像が得られたとする。図１０（ｄ）に示した鳥瞰画像では、駐車枠Ｔの２本の側線ｂ，ａは平行となっている。更に、側線ｂの幅ｗｂと、側線ａの幅ｗａとが等しくなっている。従って、駐車枠Ｔの形状は歪んでいないと考えて良い。そして、このことは、鳥瞰変換に用いた取付角度が、正しい角度、すなわち、車載カメラ１０の車両１に対する実際の取付角度であることを意味している。
そこで、駐車枠Ｔの側線の平行度が許容範囲内となり、且つ、駐車枠Ｔの側線の幅の差が許容範囲内となるような鳥瞰画像が得られたら（Ｓ１１７：ｙｅｓ、且つ、Ｓ１１８：ｙｅｓ）、その時の鳥瞰変換に用いた取付角度を、更新するべき正しい取付角度として決定する（Ｓ１２０）。
【００５５】
そして、決定した取付角度を、画像生成装置２０のメモリーに書き込むことによって、画像生成装置２０に記憶されている取付角度の設定値を更新した後（Ｓ１２１）、図３および図４に示す取付角度較正処理を終了する。
尚、上述した取付角度較正処理の中で、更新するべき正しい取付角度として決定するまでの処理（すなわち、図３のＳ１００〜図４のＳ１２０までの処理）は、車載カメラ１０の取付角度を検出する取付角度検出処理として把握することもできる。
【００５６】
以上に詳しく説明したように、上述した取付角度較正処理では、撮影画像を鳥瞰変換して正しい取付角度を探索する（図４のＳ１１６〜Ｓ１１９）に先立って、車両１が駐車枠Ｔの２本の側線ａ，ｂに対して平行になっていることを確認している（Ｓ１１１：ｙｅｓ）。そして、実はこのようにすることで、車両１に対する車載カメラ１０の正しい取付角度を簡単に検出することが可能となる。以下では、この点について補足して説明する。
【００５７】
図１０を用いて前述したように、取付角度較正処理では、図１０（ａ）に示すような撮影画像を鳥瞰変換して、図１０（ｄ）に示すような歪みのない駐車枠Ｔが得られるような取付角度を探索する。
実は、このようにして得られる取付角度は、駐車枠Ｔの２本の側線ａ，ｂに対して車載カメラ１０の光軸ＣＬがなす角度である。例えば、図１１に示すように、車載カメラ１０の光軸ＣＬが、駐車枠Ｔの側線ａ，ｂに対してヨウ方向に角度θ、傾いていたものとする。実際には傾いているにも拘わらず、傾いていないものとして鳥瞰変換したのでは、駐車枠Ｔの形状が歪んでしまう。そこで、歪みのない駐車枠Ｔが得られるように、ヨウ方向の角度を変更することによって、実際に傾いている角度θを探索する。
しかし、こうして求められた角度θは、車載カメラ１０の光軸ＣＬが、駐車枠Ｔの側線ａ，ｂに対して傾いている角度であって、車載カメラ１０が車両１に対して取り付けられている角度とは無関係である。すなわち、駐車枠Ｔの側線ａ，ｂに対して車載カメラ１０の光軸ＣＬがなす角度が分かっても、駐車枠Ｔの側線ａ，ｂに対して車両１がなす角度が分からなければ、車載カメラ１０の車両１に対する取付角度を求めることはできない。図１１で、車両１が破線で表示されているのは、車両１の向きが未確定であることを表している。
【００５８】
ところが、車両１の向きが、駐車枠Ｔの側線ａ，ｂに対して平行となっていることが保証されているものとする。この場合、車両１の向きと、駐車枠Ｔの側線ａ，ｂの向きとが同じ向きとなるから、車載カメラ１０の光軸ＣＬが駐車枠Ｔの側線ａ，ｂに対してなす角度は、そのまま、車両１に対してなす角度（すなわち、車両１に対する車載カメラ１０の取付角度）と読み替えることができる。このため、車載カメラ１０の車両１に対する取付角度を、簡単に求めることが可能となる。
このような理由から、上述した取付角度較正処理では、車両１が駐車枠Ｔの２本の側線ａ，ｂに対して平行になっていることを確認した上で（図４のＳ１１１：ｙｅｓ）、撮影画像を鳥瞰変換して正しい取付角度を探索（Ｓ１１６〜Ｓ１１９）しているのである。
【００５９】
また、上述した取付角度較正処理では、車載カメラ１０の取付角度を変更して、様々な取付角度で撮影画像の鳥瞰変換を実行可能なことが前提となっている。そこで以下では、このようなことが可能な理由について説明する。
【００６０】
先ず始めに、撮影画像を鳥瞰変換するために用いる各種の座標系について説明する。
図１２には、鳥瞰変換に用いる各種の座標系が示されている。鳥瞰変換では、車両１を基準とする直交座標系と、車載カメラ１０を基準とする直交座標系とを考える。また、車両１を基準とする直交座標系は、車両１の前後方向に対して直角かつ水平方向に取った座標軸（以下、Ｘｏ軸）と、車両１の前後方向に取った座標軸（以下、Ｙｏ軸）と、車両１の前後方向に対して直角かつ鉛直方向に取った座標軸（以下、Ｚｏ軸）とによって形成されているものとする。尚、以下では、このような車両１を基準とする直交座標系による座標を「車両基準座標」と称し、車両基準座標による座標値を（ｘｏ、ｙｏ、ｚｏ）と表すものとする。
また、車載カメラ１０を基準とする直交座標系については、車載カメラ１０の光軸に沿って取った座標軸（以下、ＣＹ軸）と、ＣＹ軸に直角で且つ水平方向に取った座標軸（以下、ＣＸ軸）と、ＣＹ軸およびＣＸ軸に対して直角且つ上向きに取った座標軸（以下、ＣＺ軸）とによって形成されているものとする。また、以下では、このような、車載カメラ１０を基準とする直交座標系による座標を「カメラ基準座標」と称し、カメラ基準座標による座標値を（ｃｘ、ｃｙ、ｃｚ）と表すものとする。
【００６１】
ここで、車両基準座標（ｘｏ、ｙｏ、ｚｏ）とカメラ基準座標（ｃｘ、ｃｙ、ｃｚ）との関係は、車両１に取り付けられた車載カメラ１０の位置によって変化する。そこで、鳥瞰変換を容易とするために、車両１を基準とする直交座標系の原点Ｏが、車載カメラ１０を基準とする直交座標系の原点ＣＯに一致するように、車両１を基準とする直交座標系を平行移動させた新たな直交座標系を考える。この新たな直交座標系の各座標軸の中で、Ｘｏ軸に平行な座標軸をＸ軸とし、Ｙｏ軸に平行な座標軸をＹ軸とし、Ｚｏ軸に平行な座標軸をＺ軸とする。また、この新たな直交座標系による座標は、以下では「解析用車両基準座標」と称し、解析用車両基準座標による座標値を（ｘ、ｙ、ｚ）と表すものとする。
このような解析用車両基準座標を考えると、車載カメラ１０のピッチ方向の回転はＸ軸周りの回転と考えることができ、車載カメラ１０のロール方向の回転はＹ軸周りの回転と、車載カメラ１０のヨウ方向の回転はＺ軸周りの回転と考えることができる。
【００６２】
更に、これら車両基準座標の座標値（ｘｏ、ｙｏ、ｚｏ）と、解析用車両基準座標の座標値（ｘ、ｙ、ｚ）とは、図１３に示す式（１）によって容易に変換することができる。尚、式（１）中のｔｘ、ｔｙ、ｔｚは、カメラ基準座標の原点ＣＯの車両基準座標でのｘｏ座標、ｙｏ座標、ｚｏ座標を表している。
このように、車両基準座標の座標値（ｘｏ、ｙｏ、ｚｏ）と、解析用車両基準座標の座標値（ｘ、ｙ、ｚ）とは相互に変換可能であり、また、解析にはもっぱら解析用車両基準座標の座標値（ｘ、ｙ、ｚ）が用いられる。
【００６３】
このような解析用車両基準座標の座標値（ｘ、ｙ、ｚ）と、カメラ基準座標の座標値（ｃｘ、ｃｙ、ｃｚ）とは、図１４中に示した式（２）によって関係づけられている。ここで、式（２）中の［Ｐ］は、解析用車両基準座標をピッチ方向に回転させるための回転行列である。また、式（２）中の［Ｒ］は、解析用車両基準座標をロール方向に回転させるための回転行列であり、［Ｙ］は、解析用車両基準座標をヨウ方向に回転させるための回転行列である。また、回転行列［Ｐ］中の角度θｐは、解析用車両基準座標に対するカメラ基準座標のピッチ方向の回転角度であり、回転行列［Ｒ］中の角度θｒは、解析用車両基準座標に対するカメラ基準座標のロール方向の回転角度である。更に、回転行列［Ｙ］中の角度θｐは、解析用車両基準座標に対するカメラ基準座標のヨウ方向の回転角度である。
地面に描かれた駐車枠Ｔの解析用車両基準座標による座標値（ｘ、ｙ、ｚ）は、図１４に示した式（２）によって、カメラ基準座標の座標値（ｃｘ、ｃｙ、ｃｚ）に変換される。
【００６４】
こうしてカメラ基準座標に変換された駐車枠Ｔの座標値（ｃｘ、ｃｙ、ｃｚ）は、撮影画像上での座標値（ｕ、ｖ）に変換することができる。尚、撮影画像上での座標値（ｕ、ｖ）を、以下では、画像面座標の座標値（ｕ、ｖ）と称するものとする。
図１５には、カメラ基準座標に変換された駐車枠Ｔの座標値（ｃｘ、ｃｙ、ｃｚ）を、画像面座標の座標値（ｕ、ｖ）に変換する方法が示されている。図示されるように、カメラ基準座標の原点ＣＯから適切な距離ＳＬに、車載カメラ１０の光軸（ここでは、座標軸ＣＹ）に直交する平面（以下、画像面と称する）を設定する。こうすれば、車載カメラ１０の撮影画像は、カメラ基準座標上の撮影対象を、画像面に投影したものと考えることができる。
従って、カメラ基準座標の座標軸ＣＹと画像面との交点を原点として、カメラ基準座標の座標軸ＣＸと平行に座標軸Ｕを取り、カメラ基準座標の座標軸ＣＺと平行に座標軸Ｖと取れば、地面に描かれた駐車枠Ｔの座標値（ｃｘ、ｃｙ、ｃｚ）は、図１５（ｃ）に示した式（３）によって、画像面上の座標値（ｕ、ｖ）に変換される。
【００６５】
図１６には、以上に説明した各座標値の関係がまとめて示されている。すなわち、車両基準座標の座標値（ｘｏ、ｙｏ、ｚｏ）と、解析用車両基準座標の座標値（ｘ、ｙ、ｚ）とは、図１３に示した式（１）によって相互に変換可能である。また、解析用車両基準座標の座標値（ｘ、ｙ、ｚ）は、図１４（ｂ）中の式（２）によってカメラ基準座標の座標値（ｃｘ、ｃｙ、ｃｚ）に変換され、更に、図１５（ｃ）中の式（３）によって画像面座標の座標値（ｕ、ｖ）に変換される。そして、この画像面座標の座標値（ｕ、ｖ）が撮影画像上での座標値に対応する。
このように、解析用車両基準座標の座標値（ｘ、ｙ、ｚ）と、画像面座標の座標値（ｕ、ｖ）とは一対一に対応しているから、図１６中に破線の矢印で示したように、画像面座標の座標値（ｕ、ｖ）を解析用車両基準座標の座標値（ｘ、ｙ、ｚ）に逆変換することも可能である。そして、鳥瞰画像は、解析用車両基準座標の画像をＺ軸方向から見た画像であるから、解析用車両基準座標の座標値（ｘ、ｙ、ｚ）のＺ軸成分を削除することによって得られる画像となる。
【００６６】
従って、画像面座標の座標値（ｕ、ｖ）を解析用車両基準座標の座標値（ｘ、ｙ、ｚ）に逆変換し、得られた解析用車両基準座標の座標値（ｘ、ｙ、ｚ）からＺ軸成分を削除するという一連の変換を行えば、撮影画像を鳥瞰変換することができる。更に、これらの一連の変換を合成した変換を実行する鳥瞰変換モジュールを形成することも可能である。
尚、車両基準座標の座標値（ｘ、ｙ、ｚ）のＺ軸成分を削除して得られる座標値（ｘ、ｙ）を、以下では、鳥瞰座標の座標値（ｘ、ｙ）と称することがあるものとする。
【００６７】
また、図１４（ｂ）の式（２）に示されるように、解析用車両基準座標の座標値（ｘ、ｙ、ｚ）からカメラ基準座標の座標値（ｃｘ、ｃｙ、ｃｚ）への変換は、車載カメラ１０のピッチ方向の角度θｐと、ロール方向の角度θｒと、ヨウ方向の角度θｙとに依存する。このことから当然に、撮像画像の画像面座標（ｕ、ｖ）を鳥瞰座標の座標値（ｘ、ｙ）に変換する鳥瞰変換も、車載カメラ１０のピッチ方向の角度θｐと、ロール方向の角度θｒと、ヨウ方向の角度θｙとに依存する。
そこで、図１７に示したように、車載カメラ１０のピッチ方向の角度θｐと、ロール方向の角度θｒと、ヨウ方向の角度θｙとを、鳥瞰変換モジュールの外部から設定可能としておく。
図４に示した取付角度調整処理のＳ１１６では、このような鳥瞰変換モジュールを用いて、撮影画像を鳥瞰画像に変換している。
【００６８】
尚、以上では、駐車枠Ｔが２本の側線ａ，ｂと、側線に直角な横線ｃとを有しているものとして説明した（図５参照）。しかし、上述したように、図３および図４に示した取付角度較正処理では、駐車枠Ｔの２本の側線ａ，ｂは利用するものの、駐車枠Ｔの横線ｃについては利用していない。従って、駐車枠Ｔが横線ｃを有していない場合でも、何ら問題なく、車載カメラ１０の取付角度を検出して、正しい取付角度に較正することができる。
すなわち、図１８（ａ）に示すように駐車枠Ｔが横線ｃを持たない場合には、図１８（ｂ）に例示するような撮影画像が得られる。このような場合でも、２本の側線ｂおよび側線ａを検出すれば、上述した取付角度較正処理を行うことによって、車載カメラ１０の取付角度を較正することが可能となる。
【００６９】
Ｂ．第２実施例  ：
上述した第１実施例では、画像生成装置２０から取得した撮影画像を鳥瞰変換して、得られた鳥瞰画像の中から駐車枠Ｔの２本の側線ａ，ｂを検出するものとして説明した。
しかし、上述したように、撮影画像を鳥瞰変換するに先立って、複数枚の撮影画像から検出した側線の中心直線および境界直線を蓄積することによって、駐車枠Ｔの２本の側線ａ，ｂに対して、車両１が平行になっていることを確認している。
そこで、画像生成装置２０から取得した撮影画像を鳥瞰変換するのではなく、蓄積した中心直線および境界直線を利用して、鳥瞰変換するための画像を生成しても良い。以下では、このような第２実施例について、第１実施例との相違点を中心に説明する。
【００７０】
Ｂ−１．第２実施例の取付角度較正装置２００の内部構造  ：
図１９には、第２実施例の取付角度較正装置２００の大まかな内部構造を示したブロック図が示されている。第２実施例の取付角度較正装置２００は、図２を用いて前述した第１実施例の取付角度較正装置１００に対して、代表撮影画像生成部２０１を備える点や、鳥瞰変換部１０９が、鳥瞰変換する画像を撮影画像取得部１０１からではなく、代表撮影画像生成部２０１から取得する点が大きく異なっている。以下、これらの相違点を中心として、第２実施例の取付角度較正装置２００の内部構造について簡単に説明する。
【００７１】
図示されるように第２実施例の取付角度較正装置２００も、前述した第１実施例の取付角度較正装置１００と同様に、撮影画像取得部１０１と、中心直線検出部１０２と、境界直線検出部１０３と、検出直線記憶部１０４と、平行判断部１０５と、車両監視部１０６と、警報出力部１０７と、設定値取得部１０８と、鳥瞰変換部１０９と、取付角度探索部１１０と、鳥瞰画像評価部１１１と、設定値変更部１１２と、取付角度決定部１１３と、取付角度更新部１１４とを備えている。これらに加えて、第２実施例の取付角度較正装置２００は、代表撮影画像生成部２０１も備えている。
尚、第２実施例の取付角度較正装置２００の中で取付角度更新部１１４を除いた部分（図中の破線で囲った部分）は、第２実施例の取付角度検出装置２２０に対応する。
【００７２】
撮影画像取得部１０１や、中心直線検出部１０２、境界直線検出部１０３、検出直線記憶部１０４、平行判断部１０５、車両監視部１０６、警報出力部１０７の機能は、前述した第１実施例と同様であるため、ここでは説明を省略する。
【００７３】
代表撮影画像生成部２０１は、平行判断部１０５の判断結果を取得する。そして、平行判断部１０５の判断結果が、ターゲット図形の２本の直線部分に対して車両１が平行になっている旨の判断結果であった場合には、検出直線記憶部１０４に記憶されている中心直線の検出結果や、境界直線の検出結果を読み出すことによって、代表撮影画像を生成する。代表撮影画像については後ほど詳しく説明するが、代表撮影画像には、複数枚の撮影画像から検出したターゲット図形の２本の直線部分を代表するような、２本の中心直線と４本の境界直線とが含まれている。
【００７４】
また、設定値取得部１０８は、第１実施例と同様に、平行判断部１０５から、ターゲット図形の直線部分に対して車両１が平行である旨の判断結果を受け取ると、画像生成装置２０から車載カメラ１０の取付角度を取得して、鳥瞰変換部１０９に出力する。
第２実施例の鳥瞰変換部１０９は、設定値取得部１０８から取付角度を受け取ると、代表撮影画像生成部２０１で生成した代表撮影画像に対して鳥瞰変換を行う。
【００７５】
第２実施例の鳥瞰画像評価部１１１は、代表撮影画像を鳥瞰変換して得られた鳥瞰画像を解析して、代表撮影画像に含まれる２本の中心直線や４本の境界直線が、ターゲット図形の直線部分を代表するような直線に正しく変換されているか否かを判断する。そして、正しく変換されていなかった場合は、前述した第１実施例と同様に、設定値変更部１１２は、設定値取得部１０８が記憶部２１から取得していた取付角度の値を変更する。
すると、鳥瞰変換部１０９は、変更された取付角度を用いて、再び代表撮影画像を鳥瞰変換することにより、新たな鳥瞰画像を生成する。
このように、第２実施例においても、鳥瞰画像評価部１１１および設定値変更部１１２をまとめて、取付角度探索部１１０と把握することができる。
【００７６】
そして、鳥瞰画像評価部１１１によって、代表撮影画像に含まれる２本の中心直線や４本の境界直線が正しく変換されたと判断されたら、第２実施例の取付角度決定部１１３および取付角度更新部１１４は、前述した第１実施例の取付角度決定部１１３および取付角度更新部１１４と同様な処理を行う。すなわち、取付角度決定部１１３は、その時の鳥瞰変換に用いた取付角度を取得して、その取付角度を正しい取付角度として決定する。また、取付角度更新部１１４は、取付角度決定部１１３が決定した正しい取付角度を、画像生成装置２０の記憶部２１に書き込むことによって、記憶部２１が記憶している取付角度を更新する。こうすることによって、画像生成装置２０が画像を生成する際に用いる取付角度の較正が終了する。
【００７７】
Ｂ−２．第２実施例の取付角度較正処理  ：
図２０には、第２実施例の取付角度較正処理の後半部分のフローチャートが示されている。尚、第２実施例の取付角度較正処理の前半部分のフローチャートは、図３に示した第１実施例の取付角度較正処理の前半部分のフローチャートと同様であるため、図示を省略している。以下では、処理の前半部分については、前述した図３を流用し、処理の後半部分については図２０を参照することによって、第２実施例の取付角度較正処理について簡単に説明する。
【００７８】
第２実施例の取付角度較正処理も、前述した第１実施例の取付角度較正処理と同様に、先ず始めに、駐車枠Ｔの側線に対して車両１を平行に向けて、ハンドル２を直進状態にする旨の指示を出力し、更に、車両１を所定距離Ｌ、直進させる旨の指示を出力する（図３のＳ１００およびＳ１０１に相当）。その後、画像生成装置２０から駐車枠Ｔの撮影画像を取得して、その撮影画像から、駐車枠Ｔの２本の側線ａ，ｂの中心直線および境界直線の傾きや、中心直線の切片位置、境界直線の境界切片位置を検出して記憶する（Ｓ１０２およびＳ１０３に相当）。
【００７９】
続いて、車両１のハンドル２が直進状態に保たれているか否か、あるいは所定枚数分の撮影画像の検出結果を記憶したか否か、更には、車両１の移動距離が所定距離Ｌに達したか否かを判断する（Ｓ１０４、Ｓ１０７、Ｓ１０８に相当）。この時、ハンドル２が直進状態に保たれていなかった場合は、それまでに検出して記憶しておいた中心直線および境界直線の検出結果を破棄して、ハンドル２が直進状態に保持する必要がある旨の警告および指示を出力した後（Ｓ１０５、Ｓ１０６に相当）、処理の始めからやり直す。また、車両１の移動距離が所定距離Ｌに達した場合には、車両１の移動方向を逆転させる旨の指示を出力した後（Ｓ１０９に相当）、新たな撮影画像を取得して、その撮影画像から検出した中心直線および境界直線を記憶する（Ｓ１０２、Ｓ１０３に相当）。
【００８０】
このようにして中心直線および境界直線の検出結果を蓄積している間に、中心直線および境界直線の検出結果を蓄積した撮影画像の枚数が所定枚数に達したら（Ｓ１０７：ｙｅｓに相当）、撮影画像から検出した中心直線および境界直線の蓄積が完了する。
【００８１】
続いて、蓄積した中心直線の傾きおよび切片位置の分散が、所定の許容値以下に収まっているか否かを判断する（図２０のＳ１５０）。この判断は、前述した図４のＳ１１０の判断と同じである。すなわち、図８を用いて前述したように、中心直線ｂｃについての傾きｋｂｃを読み出して、それらの分散σｋｂｃを算出し、中心直線ａｃについての傾きｋａｃを読み出して、それらの分散σｋａｃを算出する。同様に、中心直線ｂｃについての切片位置ｐｂｃを読み出して、それらの分散σｐｂｃを算出し、中心直線ａｃについての切片位置ｐａｃを読み出して、それらの分散σｐａｃを算出する。
そして、求めた分散σｋｂｃ，σｋａｃ，σｐｂｃ，σｐａｃが、それぞれに設定された所定の許容値以下に収まっているか否かを判断する。
【００８２】
その結果、中心直線の傾きおよび切片位置のそれぞれについての分散が、所定の許容値以内に収まっていた場合は（図２０のＳ１５０：ｙｅｓ）、今度は、境界直線の傾きおよび切片位置の分散が、所定の許容値以下に収まっているか否かを判断する（Ｓ１５１）。この判断も、前述した図４のＳ１１１の判断と同じである。すなわち、図８を用いて前述したように、境界直線ｂｏ，ｂｉ，ａｏ，ａｉのそれぞれについての傾きｋｂｏ，ｋｂｉ，ｋａｏ，ｋａｉを読み出して、それぞれについての分散σｋｂｏ，σｋｂｉ，σｋａｏ，σｋａｉを算出する。同様に、境界直線ｂｏ，ｂｉ，ａｏ，ａｉのそれぞれについての境界切片位置ｐｂｏ，ｐｂｉ，ｐａｏ，ｐａｉを読み出して、それぞれについての分散σｐｂｏ，σｐｂｉ，σｐａｏ，σｐａｉを算出する。
そして、求めた分散σｋｂｏ，σｋｂｉ，σｋａｏ，σｋａｉ，σｐｂｏ，σｐｂｉ，σｐａｏ，σｐａｉが、それぞれに設定された所定の許容値以下に収まっているか否かを判断する。
【００８３】
また、中心直線の傾きおよび切片位置のそれぞれについての分散が、所定の許容値以内に収まっていない場合や（Ｓ１５０：ｎｏ）、境界直線の傾きおよび境界切片位置のそれぞれについての分散が、所定の許容値以内に収まっていない場合は（Ｓ１５１：ｎｏ）、車両１の向きが、駐車枠Ｔの２本の側線ａ，ｂに対して平行になっていないと判断できる。
そこで、これらの場合（Ｓ１５０：ｎｏあるいはＳ１５１：ｎｏ）は、駐車枠Ｔの側線ａ，ｂに対して車両１が平行になっていない旨を出力し（Ｓ１５２）、更に、蓄積した所定枚数分の撮影画像の中心直線および境界直線の検出結果（図８参照）を破棄する（Ｓ１５３）。その後、処理の先頭（すなわち、図３のＳ１００に相当する処理）に戻って、上述した一連の処理を始めからやり直す。
【００８４】
これに対して、中心直線の傾きおよび切片位置の分散が許容値以下で（Ｓ１５０：ｙｅｓ）、且つ、境界直線の傾きおよび境界切片位置の分散が許容値以下であった場合は（Ｓ１５１：ｙｅｓ）、所定枚数分の撮影画像から検出した中心直線ｂｃ，ａｃや、境界直線ｂｏ，ｂｉ，ａｏ，ａｉが、撮影画像間で一致すると見なせる状態（すなわち、図９（ａ）に示した状態）と考えて良い。従って、この場合は、車両１の向きが、駐車枠Ｔの２本の側線ａ，ｂに対して平行になっていると判断できる。
【００８５】
前述した第１実施例の取付角度較正処理では、このようにして、車両１の向きが、駐車枠Ｔの側線ａ，ｂに対して平行になっていることが確認できた場合には（図４のＳ１１１：ｙｅｓ）、鳥瞰変換するための撮影画像を取得した（Ｓ１１４）。
これに対して第２実施例の取付角度較正処理では、鳥瞰変換するための代表撮影画像を生成する（図２０のＳ１５４）。ここで、代表撮影画像とは、車両１の向きが駐車枠Ｔの側線ａ，ｂに対して平行になっていることを確認するために用いた所定枚数の撮影画像を代表する画像である。以下、代表撮影画像について詳しく説明する。
【００８６】
車両１の向きが駐車枠Ｔの側線ａ，ｂに対して平行になっていることが確認されたと言うことは、所定枚数分の撮影画像から検出した中心直線ｂｃ，ａｃや、境界直線ｂｏ，ｂｉ，ａｏ，ａｉのそれぞれが、撮影画像間で重なっていると見なせるということである。
従って、所定枚数分の撮影画像から検出した中心直線ｂｃを代表する代表中心直線ｔｂｃや、所定枚数分の撮影画像から検出した中心直線ａｃを代表する代表中心直線ｔａｃを想定することができる。例えば、代表中心直線ｔｂｃについては、所定枚数分の中心直線ｂｃの傾きｋｂｃおよび切片位置ｐｂｃの平均値または中央値を、それぞれ傾きおよび切片位置とするような直線を求めて、代表中心直線ｔｂｃとすることができる。
同様にして、所定枚数分の境界直線ｂｏを代表する代表境界直線ｔｂｏや、所定枚数分の境界直線ｂｉを代表する代表境界直線ｔｂｉや、所定枚数分の境界直線ａｏを代表する代表境界直線ｔａｏや、所定枚数分の境界直線ａｉを代表する代表境界直線ｔａｉを決定することができる。
【００８７】
図２１（ａ）には、このようにして決定した代表中心直線ｔｂｃ，ｔａｃ、および代表境界直線ｔｂｏ，ｔｂｉ，ｔａｏ，ｔａｉが例示されている。また、このような代表中心直線ｔｂｃ，ｔａｃ、および代表境界直線ｔｂｏ，ｔｂｉ，ｔａｏ，ｔａｉは、所定枚数分の撮影画像に写った駐車枠Ｔの２本の側線ａ，ｂの部分を代表していると考えることができる。図２０のＳ１５４で生成する代表撮影画像とは、図２１（ａ）に示すような画像である。
【００８８】
尚、以上では、代表撮影画像は、２本の代表中心直線ｔｂｃ，ｔａｃ、および４本の代表境界直線ｔｂｏ，ｔｂｉ，ｔａｏ，ｔａｉを備えるものとして説明した。
しかし、代表撮影画像は、２本の代表中心直線ｔｂｃ，ｔａｃを除いて、４本の代表境界直線ｔｂｏ，ｔｂｉ，ｔａｏ，ｔａｉを備えるものとしても良い。この場合は、境界直線の傾きおよび境界切片位置を蓄積すれば良く、従って、中心直線の傾きおよび切片位置は蓄積しなくても構わない。
【００８９】
続いて、車載カメラ１０の取付角度の設定値を取得した後（図２０のＳ１５５）、Ｓ１５４で生成した代表撮影画像を鳥瞰変換する（Ｓ１５６）。図２１（ａ）に示したように、代表撮影画像は、２本の代表中心直線ｔｂｃ，ｔａｃ、および４本の代表境界直線ｔｂｏ，ｔｂｉ，ｔａｏ，ｔａｉを備えているから、鳥瞰変換することによって代表撮影画像は、図２１（ｂ）に示すような鳥瞰画像に変換される。
そして、得られた鳥瞰画像を解析することにより、鳥瞰変換後の駐車枠Ｔの２本の側線ａ，ｂの平行度が許容範囲内にあるか否かを判断する（Ｓ１５７）。この判断は、図２１（ｂ）に示した鳥瞰画像中の２本の代表中心直線ｔｂｃ，ｔａｃの平行度を求めて、得られた平行度が許容範囲内にあるか否かによって判断することができる。
あるいは、代表撮影画像に２本の代表中心直線ｔｂｃ，ｔａｃが含まれておらず、従って、鳥瞰画像にも２本の代表中心直線ｔｂｃ，ｔａｃが含まれていない場合には、鳥瞰画像中の４本の代表境界直線ｔｂｏ，ｔｂｉ，ｔａｏ，ｔａｉの平行度が許容範囲内にあるか否かを判断してもよい。
【００９０】
その結果、鳥瞰変換後の駐車枠Ｔの２本の側線ａ，ｂの平行度が許容範囲内にあると判断した場合は（Ｓ１５７：ｙｅｓ）、今度は、鳥瞰変換後の駐車枠Ｔの２本の側線ａ，ｂの幅の差が許容範囲内にあるか否かを判断する（Ｓ１５８）。この判断は、図２１（ｂ）に示した鳥瞰画像中の２本の代表境界直線ｔｂｏ，ｔｂｉの距離と、２本の代表境界直線ｔａｏ，ｔａｉの距離とを求めて、２つの距離の差が許容範囲内にあるか否かによって判断することができる。
【００９１】
また、鳥瞰変換後の駐車枠Ｔの２本の側線ａ，ｂの平行度が許容範囲内にないと判断した場合は（Ｓ１５７：ｎｏ）、鳥瞰変換に用いた車載カメラ１０の取付角度が正しくないと判断できる。あるいは、鳥瞰変換後の駐車枠Ｔの２本の側線ａ，ｂの幅の差が許容範囲内にないと判断した場合も（Ｓ１５８：ｎｏ）、鳥瞰変換に用いた車載カメラ１０の取付角度が正しくないと判断できる。
そこで、これらの場合（Ｓ１５７：ｎｏ、あるいはＳ１５８：ｎｏ）は、取付角度の設定値を変更して（Ｓ１５９）、変更した取付角度を用いて再び代表撮影画像を鳥瞰変換する（Ｓ１５６）。そして、得られた鳥瞰画像中の駐車枠Ｔの２本の側線の平行度が許容範囲内にあるか否か（Ｓ１５７）、あるいは２本の側線の幅の差が許容範囲内にあるか否か（Ｓ１５８）の判断を繰り返すことにより、正しい取付角度を探索する。
【００９２】
その結果、鳥瞰変換後の駐車枠Ｔの２本の側線ａ，ｂの平行度が許容範囲内にあると判断され（Ｓ１５７：ｙｅｓ）、且つ、鳥瞰変換後の駐車枠Ｔの２本の側線ａ，ｂの幅の差が許容範囲内にあると判断されたら（Ｓ１５８：ｙｅｓ）、その時の鳥瞰変換に用いた取付角度を、正しい取付角度として決定する（Ｓ１６０）。
そして、決定した取付角度を、画像生成装置２０のメモリーに書き込むことによって、画像生成装置２０に記憶されている取付角度の設定値を更新して（Ｓ１６１）、第２実施例の取付角度較正処理を終了する。
尚、上述した第２実施例の取付角度較正処理についても、更新するべき正しい取付角度として決定するまでの処理（すなわち、図３のＳ１００に相当する処理〜図２０のＳ１６０までの処理）は、車載カメラ１０の取付角度を検出する取付角度検出処理として把握することができる。
【００９３】
以上に説明した第２実施例の取付角度較正処理では、２本の代表中心直線、および４本の代表境界直線を含んだ代表撮影画像を鳥瞰変換するので、鳥瞰変換後の代表中心直線および代表境界直線を直接求めることができる。このため、鳥瞰画像中の駐車枠Ｔを検出し、駐車枠Ｔの２本の側線ａ，ｂを検出しなくても、２本の側線ａ，ｂが正しく鳥瞰変換されているか否かを、簡単に判断することが可能となる。
また、所定枚数の撮影画像を代表する代表撮影画像を鳥瞰変換するので、撮影画像に混入するノイズの影響を受けることなく、車載カメラ１０の正しい取付角度を安定して検出することが可能となる。
【００９４】
Ｃ．変形例  ：
上述した第１実施例および第２実施例には、以下のような変形例を考えることができる。すなわち、図１０を用いて前述したように、２本の側線ｂ，ａの幅が等しくない場合は、２本の側線ｂ，ａの端点の位置がずれている（図１０（ｃ）参照）。これに対して、２本の側線ｂ，ａの幅が等しくなると、２本の側線ｂ，ａの端点の位置はずれなくなる（図１０（ｄ）参照）。
このことから、２本の側線ｂ，ａの幅の差の代わりに、２本の側線ｂ，ａの端点の位置に着目して、車載カメラ１０の取付角度を探索しても良い。
【００９５】
例えば、図２２（ａ）に例示したような撮影画像が得られていたとする。この撮影画像を鳥瞰変換したところ、図２２（ｂ）に示すような鳥瞰画像が得られた場合には、鳥瞰画像中の側線ｂの中心直線ｂｃと、側線ａの中心直線ａｃとが平行ではないので、鳥瞰変換に用いた取付角度は正しくないと判断することができる。
そこで、取付角度の探索を継続したところ、図２２（ｃ）に示すような鳥瞰画像が得られたものとする。この場合には、鳥瞰画像中の側線ｂの中心直線ｂｃと、側線ａの中心直線ａｃとは平行であるが、側線ｂの端点Ｔｐｂの位置と、側線ａの端点Ｔｐａの位置とがずれているので、鳥瞰変換に用いた取付角度は正しくないと判断することができる。
そこで、更に、取付角度の探索を継続した結果、図２２（ｄ）に示すような鳥瞰画像が得られたものとする。この鳥瞰画像では、側線ｂの中心直線ｂｃと、側線ａの中心直線ａｃとが平行で、更に、側線ｂの端点Ｔｐｂの位置と、側線ａの端点Ｔｐａの位置とがずれていない。このような場合には、鳥瞰変換に用いた取付角度は正しいと判断することができる。
このことから、駐車枠Ｔの２本の側線ａ，ｂが平行となり、且つ、２本の側線ａ，ｂの端点の位置がずれない鳥瞰画像が得られるような取付角度を探索することで、正しい取付角度を決定することができる。
【００９６】
以上に説明した変形例の方法では、駐車枠Ｔの２本の側線ｂ，ａの平行度と、それぞれの側線ｂ，ａの端点の位置とに基づいて、車載カメラ１０の取付角度を探索する。従って、図１８を用いて前述したように、駐車枠Ｔが横線ｃを有さない場合でも、車載カメラ１０の取付角度を較正することが可能となる。
【００９７】
以上、各種の実施例および変形例について説明したが、本発明は上記の実施例および変形例に限られるものではなく、その要旨を逸脱しない範囲において種々の態様で実施することができる。
【符号の説明】
【００９８】
１…車両、      １０…車載カメラ、      ２０…画像生成装置、
１００…取付角度較正装置、    １０１…撮影画像取得部、
１０２…中心直線検出部、      １０３…境界直線検出部、
１０４…検出直線記憶部、    １０５…平行判断部、    １０６…車両監視部、
１０７…警報出力部、    １０８…設定値取得部、      １０９…鳥瞰変換部、
１１０…取付角度探索部、        １１１…鳥瞰画像評価部、
１１２…設定値変更部、  １１３…取付角度決定部、    １１４…取付角度更新部、
１２０…取付角度検出装置、      ２００…取付角度較正装置、
２０１…代表撮影画像生成部、    ２２０…取付角度検出装置。
【図１】
0006565769.tif 000002
【図２】
0006565769.tif 000003
【図３】
0006565769.tif 000004
【図４】
0006565769.tif 000005
【図５】
0006565769.tif 000006
【図６】
0006565769.tif 000007
【図７】
0006565769.tif 000008
【図８】
0006565769.tif 000009
【図９】
0006565769.tif 000010
【図１０】
0006565769.tif 000011
【図１１】
0006565769.tif 000012
【図１２】
0006565769.tif 000013
【図１３】
0006565769.tif 000014
【図１４】
0006565769.tif 000015
【図１５】
0006565769.tif 000016
【図１６】
0006565769.tif 000017
【図１７】
0006565769.tif 000018
【図１８】
0006565769.tif 000019
【図１９】
0006565769.tif 000020
【図２０】
0006565769.tif 000021
【図２１】
0006565769.tif 000022
【図２２】
0006565769.tif 000023