(57)【要約】【課題】簡単な構成で、短時間で精度良く車載カメラを校正することができる生産性の高い車載カメラの校正装置を提供する。【解決手段】理想的な校正点の座標を確定前のカメラ調整値を用いて変換座標に変換する座標変換部１３と、撮影画像に基づいてカメラ座標系の射影面上で特定された実座標及び変換座標に基づいて、カメラ座標系の３つの軸の内の１つ又は２つの軸を中心とする回転角に対応する調整値を演算してカメラ調整値を更新する第１調整部１４と、変換座標及び実座標に基づいて、カメラ座標系の残りの軸を中心とする回転角に対応する調整値を演算してカメラ調整値を更新する第２調整部１５と、所定の完了条件を満たした場合に、第１調整部及び第２調整部により演算されて更新されたカメラ調整値を確定させるカメラ調整値設定部１９とを備える。【選択図】図６
2010239412.tif 000002
【特許請求の範囲】
【請求項１】
３次元直交座標系の基準座標系における規定位置に規定の姿勢で車両に取り付けられた車載カメラの３次元直交座標系のカメラ座標系と前記基準座標系との関係を前記車載カメラの実際の取り付け姿勢に応じて定義して、前記車載カメラを校正する車載カメラの校正装置であって、
前記車載カメラにより、前記基準座標系の異なる２箇所の所定位置に配置された校正指標を視界内に含んで撮影された撮影画像を取得する画像取得部と、
前記カメラ座標系の射影面である前記撮影画像において前記校正指標の中のそれぞれの校正点を検出し、前記射影面に設定される２次元直交座標系においてそれぞれの前記校正点の座標を実座標として特定する校正点特定部と、
前記車載カメラが前記規定位置に前記規定の姿勢で取り付けられた際の前記カメラ座標系と前記基準座標系との関係を定義するカメラパラメータに基づいて前記射影面においてそれぞれの前記校正点が特定される座標である初期座標を、当該カメラパラメータを前記車載カメラの実際の取り付け姿勢に応じて補正するカメラ調整値の確定前の値を用いて変換座標に変換する座標変換部と、
前記変換座標及び前記実座標に基づいて、前記カメラ座標系の３つの軸の内の１つ又は２つの軸を中心とする回転角に対応する前記規定の姿勢からの変位量であり、前記カメラ調整値を構成する調整値の１つ又は２つの調整値を演算して、前記カメラ調整値を更新する第１調整部と、
前記第１調整部により更新された前記カメラ調整値を用いて前記座標変換部により座標変換された変換座標及び前記実座標に基づいて、前記カメラ座標系の３つの軸の内、前記第１調整部で調整された軸を除く残りの２つ又は１つの軸を中心とする回転角に対応する前記規定の姿勢からの変位量であり、前記カメラ調整値を構成する調整値の内、前記第１調整部で演算された調整値を除く残りの２つ又は１つの調整値を演算して、前記カメラ調整値を更新する第２調整部と、
前記第１調整部及び前記第２調整部における調整時の前記変換座標と前記実座標との変位量がそれぞれ所定の基準変位量未満である場合に、前記カメラ調整値の調整が完了したと判定する調整完了判定部と、
前記調整完了判定部による調整完了の判定結果に基づいて、前記第１調整部及び前記第２調整部において演算された調整値により更新された前記カメラ調整値を確定させるカメラ調整値設定部と、
を備える車載カメラの校正装置。
【請求項２】
前記第１調整部で演算された調整値は、前記第１調整部による調整後の前記第２調整部による調整により再調整誤差を生じ、前記第２調整部で演算された調整値は、前記第２調整部による調整後の前記第１調整部による調整により再調整誤差を生じるものであり、
前記第１調整部で演算された調整値に生じる再調整誤差が、前記第２調整部で演算された調整値に生じる再調整誤差よりも小さくなるように、前記第１調整部において調整される１つ又は２つの軸が設定される請求項１に記載の車載カメラの校正装置。
【請求項３】
前記第１調整部は、
前記射影面において、２つの前記実座標を結ぶ直線である実直線と２つの前記変換座標を結ぶ直線である変換直線との成す角度を、前記射影面に直交する前記カメラ座標系の１つの軸を中心とするロール回転におけるロール角の差分値として演算すると共に、
当該ロール角の差分値に基づいて前記ロール回転における前記規定の姿勢からの変位量であり、前記カメラ調整値を構成する調整値の１つであるロール調整値を演算して前記カメラ調整値を更新し、
前記第２調整部は、
前記カメラ座標系において、前記カメラ座標系の原点と前記射影面上の２つの前記実座標の中点とを結ぶ直線である第２実直線と、当該原点と前記射影面上の２つの前記変換座標の中点とを結ぶ直線である第２変換直線との成す角度を、前記射影面に平行な前記カメラ座標系の一方の軸を中心とするパン回転におけるパン角の差分値、及び他方の軸を中心とするチルト回転におけるチルト角の差分値の少なくとも一方の差分値として演算すると共に、
当該パン角の差分値に基づいて求められ、前記パン回転における前記規定の姿勢からの変位量であり、前記カメラ調整値を構成する調整値の１つであるパン調整値、及び当該チルト角の差分値に基づいて求められ、前記チルト回転における前記規定の姿勢からの変位量であり、前記カメラ調整値を構成する調整値の１つであるチルト調整値、の少なくとも一方の調整値を演算して前記カメラ調整値を更新し、
前記調整完了判定部は、前記第１調整部及び前記第２調整部において演算された差分値が、それぞれ所定の完了しきい値未満である場合に、前記カメラ調整値の調整が完了したと判定する請求項１又は２に記載の車載カメラの校正装置。
【請求項４】
前記第２調整部は、
前記第２実直線と前記第２変換直線との成す角度の有する成分の内、前記射影面に設定される２次元直交座標系の一方の軸方向の角度成分を前記パン角の差分値として演算すると共に、当該パン角の差分値に基づいて前記パン調整値を演算するパン調整部と、
前記第２実直線と前記第２変換直線との成す角度の有する成分の内、当該２次元直交座標系の他方の軸方向の角度成分を前記チルト角の差分値として演算すると共に、当該チルト角の差分値に基づいて前記チルト調整値を演算するチルト調整部と、
を備えて構成される請求項３に記載の車載カメラの校正装置。
【請求項５】
前記パン調整部及び前記チルト調整部は、前記第１調整部により前記ロール調整値が更新された後の、同じ前記カメラ調整値を用いて前記座標変換部により座標変換された前記変換座標に基づいて演算する請求項４に記載の車載カメラの校正装置。
【請求項６】
３次元直交座標系の基準座標系における規定位置に規定の姿勢で車両に取り付けられた車載カメラの３次元直交座標系のカメラ座標系と前記基準座標系との関係を前記車載カメラの実際の取り付け姿勢に応じて定義して、前記車載カメラを校正する車載カメラの校正方法であって、
前記車載カメラにより、前記基準座標系の異なる２箇所の所定位置に配置された校正指標を視界内に含んで撮影された撮影画像を取得する画像取得工程と、
前記カメラ座標系の射影面である前記撮影画像において前記校正指標の中のそれぞれの校正点を検出し、前記射影面に設定される２次元直交座標系においてそれぞれの前記校正点の座標を実座標として特定する校正点特定工程と、
前記車載カメラが前記規定位置に前記規定の姿勢で取り付けられた際の前記カメラ座標系と前記基準座標系との関係を定義するカメラパラメータに基づいて前記射影面においてそれぞれの前記校正点が特定される座標である初期座標を、当該カメラパラメータを前記車載カメラの実際の取り付け姿勢に応じて補正するカメラ調整値の確定前の値を用いて第１変換座標に変換する第１座標変換工程と、
前記第１変換座標及び前記実座標に基づいて、前記カメラ座標系の３つの軸の内の１つ又は２つの軸を中心とする回転角に対応する前記規定の姿勢からの変位量であり、前記カメラ調整値を構成する調整値の１つ又は２つの調整値を演算して、前記カメラ調整値を更新する第１調整工程と、
前記第１調整工程において更新された確定前の前記カメラ調整値を用いて前記初期座標を第２変換座標に変換する第２座標変換工程と、
前記第２変換座標及び前記実座標に基づいて、前記カメラ座標系の３つの軸の内、前記第１調整工程において調整された軸を除く残りの２つ又は１つの軸を中心とする回転角に対応する前記規定の姿勢からの変位量であり、前記カメラ調整値を構成する調整値の内、前記第１調整工程において演算された調整値を除く残りの２つ又は１つの調整値を演算して、前記カメラ調整値を更新する第２調整工程と、
前記第１調整工程及び前記第２調整工程において、前記第１変換座標と前記実座標との変位量、及び、前記第２変換座標と前記実座標との変位量がそれぞれ所定の基準変位量未満であったことを前記カメラ調整値の調整の完了条件として判定を行い、当該完了条件を満たさない場合は、前記第１座標変換工程、前記第１調整工程、前記第２座標変換工程、前記第２調整工程を繰り返し行わせ、当該完了条件を満たす場合は、これらの工程の繰り返しを完了させて次工程に移行させる調整完了判定工程と、
前記調整完了判定工程において前記完了条件を満たした場合に移行され、前記第１調整工程及び前記第２調整工程において演算された調整値により更新された前記カメラ調整値を確定させるカメラ調整値設定工程と、
を備える車載カメラの校正方法。
【請求項７】
３次元直交座標系の基準座標系における規定位置に規定の姿勢で車両に取り付けられた車載カメラの３次元直交座標系のカメラ座標系と前記基準座標系との関係を前記車載カメラの実際の取り付け姿勢に応じて定義して、前記車載カメラを校正するための機能をコンピュータに実行させる車載カメラの校正プログラムであって、
前記車載カメラにより、前記基準座標系の異なる２箇所の所定位置に配置された校正指標を視界内に含んで撮影された撮影画像を取得する画像取得機能と、
前記カメラ座標系の射影面である前記撮影画像において前記校正指標の中のそれぞれの校正点を検出し、前記射影面に設定される２次元直交座標系においてそれぞれの前記校正点の座標を実座標として特定する校正点特定機能と、
前記車載カメラが前記規定位置に前記規定の姿勢で取り付けられた際の前記カメラ座標系と前記基準座標系との関係を定義するカメラパラメータに基づいて前記射影面においてそれぞれの前記校正点が特定される座標である初期座標を、当該カメラパラメータを前記車載カメラの実際の取り付け姿勢に応じて補正するカメラ調整値の確定前の値を用いて第１変換座標に変換する第１座標変換機能と、
前記第１変換座標及び前記実座標に基づいて、前記カメラ座標系の３つの軸の内の１つ又は２つの軸を中心とする回転角に対応する前記規定の姿勢からの変位量であり、前記カメラ調整値を構成する調整値の１つ又は２つの調整値を演算して、前記カメラ調整値を更新する第１調整機能と、
前記第１調整機能の実行により更新された確定前の前記カメラ調整値を用いて前記初期座標を第２変換座標に変換する第２座標変換機能と、
前記第２変換座標及び前記実座標に基づいて、前記カメラ座標系の３つの軸の内、前記第１調整機能の実行により調整された軸を除く残りの２つ又は１つの軸を中心とする回転角に対応する前記規定の姿勢からの変位量であり、前記カメラ調整値を構成する調整値の内、前記第１調整機能の実行により演算された調整値を除く残りの２つ又は１つの調整値を演算して、前記カメラ調整値を更新する第２調整機能と、
前記第１調整機能及び前記第２調整機能が実行された際に、前記第１変換座標と前記実座標との変位量、及び、前記第２変換座標と前記実座標との変位量がそれぞれ所定の基準変位量未満であったことを前記カメラ調整値の調整の完了条件として判定を行い、当該完了条件を満たさない場合は、前記第１座標変換機能、前記第１調整機能、前記第２座標変換機能、前記第２調整機能を繰り返し実行させ、当該完了条件を満たす場合は、これらの機能の繰り返し実行を完了させて次の機能を実行させる調整完了判定機能と、
前記調整完了判定機能の実行により前記完了条件を満たしたと判定された場合に実行され、前記第１調整機能及び前記第２調整機能の実行により演算された調整値により更新された前記カメラ調整値を確定させるカメラ調整値設定機能と、
を有する車載カメラの校正プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車載カメラを車両に取り付けた際の取り付け誤差を調整して車載カメラを校正する車載カメラの校正装置に関する。
【背景技術】
【０００２】
近年、ドライバーの視野を補ったり、運転支援のための画像処理の入力情報としたりするために、車両周辺の情景を撮影するカメラが車両に搭載されることが増えている。カメラにより撮影された画像が駐車支援装置などに利用される場合には、カメラによる撮影画像の座標系と、画像処理に用いる画像の座標系との相関関係が精度良く整合されている必要がある。しかし、実際には、カメラ自体の生産上の精度や、車両にカメラを取り付ける際の取り付け精度などにより、両座標系の相関関係は、設計上の理想的な相関関係とはならないことが多い。従って、車両の生産工程においてカメラの校正を行い、両座標系の整合が図られている。
【０００３】
特開２００１−２４５３２６号公報（特許文献１）や、特開２００５−７７１０７号公報（特許文献２）には、上述したような、車両の生産工程においてカメラの校正を行う技術が開示されている。これらには、作業者による調整ボタンの操作により、ディスプレイ画面上において、カメラにより撮影された校正指標と、撮影画像に重畳表示された調整枠とを所定の基準のもとに一致させてカメラの校正を行う技術が記載されている。調整枠は、三次元直交座標系におけるロール・チルト・パンに対応して３種設けられる。順次、これらの調整枠に校正指標が収まるように調整ボタンを操作することによって、カメラパラメータが変更される。３つの軸に対する調整が全て完了すると、変更されたカメラパラメータがメモリに記録される。
【０００４】
特許文献１や特許文献２に記載された技術は、簡単な構成でカメラを校正することができる優れたものである。しかし、カメラの回転に対応する３軸に対する調整を、作業者がディスプレイ画面を見ながら手動で調整ボタンを操作して行うため、校正に時間を要する。また、作業者によって校正精度が安定せず、校正が不充分な製品が後工程に送られる可能性もある。そこで、特開２００８―１３１１７７号公報（特許文献３）に示すように、カメラの回転行列を演算して、カメラパラメータ（投影パラメータ）を求める技術が提案されている。これによれば、基準座標において所定の位置に配置された校正点の基準座標系における座標に基づいて第１行列が演算される。また、カメラの撮影画像から特定された校正点の画像座標系の座標に基づいて第２行列が演算される。そして、第１行列と第２行列とからカメラの回転行列（第３行列）が演算される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００１−２４５３２６号公報（第２２〜２３段落、第３４〜４４段落、図５等）
【特許文献２】特開２００５−７７１０７号公報（第４３〜６３段落等）
【特許文献３】特開２００８−１３１１７７号公報（第６０〜１０２段落等）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献３に記載された技術は、特許文献１や２のように「視覚的に合わせ込む」のではなく、カメラの回転行列を求めることによって理想的にカメラを校正する優れたものである。しかし、現実の生産現場では様々な誤差要因が存在することから、しばしば、求められた回転行列にも誤差が生じる。この場合には、校正後においても視覚的にずれが生じることになる。このため、特許文献３の技術においても、第１０６段落に記載されているように、校正の成否を判定する成否判定工程が設けられている。成否判定工程において校正ができていないと判定されると、再度、校正を行う必要があり、結果として生産性を低下させることになる。校正指標の数を増やし、詳細な演算を実施すれば回転行列の精度も高くなるが、生産設備を増やし、また演算時間も増大することから、好ましくはない。
【０００７】
本発明は、上記課題に鑑みて創案されたもので、簡単な構成で、短時間で精度良く車載カメラを校正することができる生産性の高い車載カメラの校正装置を提供することを目的とする。また、本発明は、同様の車載カメラの校正方法、並びに車載カメラの校正機能をコンピュータに実行させるための車載カメラの校正プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題に鑑み創案された本発明に係る車載カメラの校正装置の特徴構成は、
３次元直交座標系の基準座標系における規定位置に規定の姿勢で車両に取り付けられた車載カメラの３次元直交座標系のカメラ座標系と前記基準座標系との関係を前記車載カメラの実際の取り付け姿勢に応じて定義して、前記車載カメラを校正する車載カメラの校正装置であって、
前記車載カメラにより、前記基準座標系の異なる２箇所の所定位置に配置された校正指標を視界内に含んで撮影された撮影画像を取得する画像取得部と、
前記カメラ座標系の射影面である前記撮影画像において前記校正指標の中のそれぞれの校正点を検出し、前記射影面に設定される２次元直交座標系においてそれぞれの前記校正点の座標を実座標として特定する校正点特定部と、
前記車載カメラが前記規定位置に前記規定の姿勢で取り付けられた際の前記カメラ座標系と前記基準座標系との関係を定義するカメラパラメータに基づいて前記射影面においてそれぞれの前記校正点が特定される座標である初期座標を、当該カメラパラメータを前記車載カメラの実際の取り付け姿勢に応じて補正するカメラ調整値の確定前の値を用いて変換座標に変換する座標変換部と、
前記変換座標及び前記実座標に基づいて、前記カメラ座標系の３つの軸の内の１つ又は２つの軸を中心とする回転角に対応する前記規定の姿勢からの変位量であり、前記カメラ調整値を構成する調整値の１つ又は２つの調整値を演算して、前記カメラ調整値を更新する第１調整部と、
前記第１調整部により更新された前記カメラ調整値を用いて前記座標変換部により座標変換された変換座標及び前記実座標に基づいて、前記カメラ座標系の３つの軸の内、前記第１調整部で調整された軸を除く残りの２つ又は１つの軸を中心とする回転角に対応する前記規定の姿勢からの変位量であり、前記カメラ調整値を構成する調整値の内、前記第１調整部で演算された調整値を除く残りの２つ又は１つの調整値を演算して、前記カメラ調整値を更新する第２調整部と、
前記第１調整部及び前記第２調整部における調整時の前記変換座標と前記実座標との変位量がそれぞれ所定の基準変位量未満である場合に、前記カメラ調整値の調整が完了したと判定する調整完了判定部と、
前記調整完了判定部による調整完了の判定結果に基づいて、前記第１調整部及び前記第２調整部において演算された調整値により更新された前記カメラ調整値を確定させるカメラ調整値設定部と、
を備える点にある。
【０００９】
３次元のカメラ座標系の誤差を２次元の撮影画像を用いて調整しなければならないが、第１調整部と第２調整部とを用いて２段階で調整することによって、簡単な構成によりカメラの校正装置を構築することができる。第１調整部による調整結果によりカメラ調整値は更新され、そのカメラ調整値を用いて座標変換された変換座標を利用して第２調整部による調整が実施される。従って、第１調整部と第２調整部とは、所定の順序でカメラ調整値の調整を行うことになる。但し、２次元の撮影画像上で検出された校正点に基づいて、３次元のカメラ座標系の３軸の何れかを調整すると、他の軸に対する調整結果に影響を与える可能性がある。従って、この影響を踏まえて第１調整部及び第２調整部のそれぞれにおいて調整対象となるカメラ座標系の軸が設定される。その上で、第１調整部と、第１調整部の結果を用いて調整を実施する第２調整部とによって、カメラ調整値が調整される。従って、短時間で精度良く車載カメラを校正することができる生産性の高い車載カメラの校正装置が提供される。
【００１０】
また、本発明に係る車載カメラの校正装置は、
前記第１調整部で演算された調整値が、前記第１調整部による調整後の前記第２調整部による調整により再調整誤差を生じ、前記第２調整部で演算された調整値が、前記第２調整部による調整後の前記第１調整部による調整により再調整誤差を生じるものであり、
前記第１調整部で演算された調整値に生じる再調整誤差が、前記第２調整部で演算された調整値に生じる再調整誤差よりも小さくなるように、前記第１調整部において調整される１つ又は２つの軸が設定されると好適である。
【００１１】
上述したように、２次元座標系で特定された校正点に基づいて、３次元のカメラ座標系の３軸の何れかを調整すると、他の軸に対する調整結果に影響を与える可能性がある。また、１つの軸の調整が、他の軸の調整結果に与える影響の大きさは、３つの軸において共通ではない。つまり、調整により他の軸の調整結果に与える影響が相対的に大きい軸が存在する。第２調整部は、第１調整部の調整結果を反映されて実行されるので、第２調整部による調整によって第１調整部による調整結果が大きな影響を受けると、第１調整部による調整が無駄になってしまう。第１調整部と第２調整部とに繰り返し調整を行わせても、カメラ調整値が収束できない可能性も生じる。従って、第１調整部による調整が第２調整部の調整結果に与える影響の方が、第２調整部による調整が第１調整部の調整結果に与える影響よりも相対的に大きくなるように、第１調整部と第２調整部とが調整する軸が設定されると好適である。
【００１２】
また、本発明に係る車載カメラの校正装置は、
前記第１調整部が、
前記射影面において、２つの前記実座標を結ぶ直線である実直線と２つの前記変換座標を結ぶ直線である変換直線との成す角度を、前記射影面に直交する前記カメラ座標系の１つの軸を中心とするロール回転におけるロール角の差分値として演算すると共に、
当該ロール角の差分値に基づいて前記ロール回転における前記規定の姿勢からの変位量であり、前記カメラ調整値を構成する調整値の１つであるロール調整値を演算して前記カメラ調整値を更新し、
前記第２調整部が、
前記カメラ座標系において、前記カメラ座標系の原点と前記射影面上の２つの前記実座標の中点とを結ぶ直線である第２実直線と、当該原点と前記射影面上の２つの前記変換座標の中点とを結ぶ直線である第２変換直線との成す角度を、前記射影面に平行な前記カメラ座標系の一方の軸を中心とするパン回転におけるパン角の差分値、及び他方の軸を中心とするチルト回転におけるチルト角の差分値の少なくとも一方の差分値として演算すると共に、
当該パン角の差分値に基づいて求められ、前記パン回転における前記規定の姿勢からの変位量であり、前記カメラ調整値を構成する調整値の１つであるパン調整値、及び当該チルト角の差分値に基づいて求められ、前記チルト回転における前記規定の姿勢からの変位量であり、前記カメラ調整値を構成する調整値の１つであるチルト調整値、の少なくとも一方の調整値を演算して前記カメラ調整値を更新し、
前記調整完了判定部が、前記第１調整部及び前記第２調整部において演算された差分値が、それぞれ所定の完了しきい値未満である場合に、前記カメラ調整値の調整が完了したと判定すると好適である。
【００１３】
３次元のカメラ座標系の回転に関するずれは、３つの直交座標軸を中心とする３つの回転によって規定することができる。また、射影面はカメラ座標系の３つの直交軸の内の１つに直交し、カメラ座標系の残る２つの直交軸に平行である。従って、射影面に直交するカメラ座標系の１つの軸の誤差は、射影面に相当する撮影画像の回転量を把握することによって調整できる。また、射影面に平行なカメラ座標系の２つの軸の誤差は、射影面に相当する撮影画像上の上下左右の移動量を把握することによって調整できる。本特徴構成によれば、回転量に基づいて調整を行う第１調整部と、移動量に基づいて調整を行う第２調整部とが備えられているので、良好に車載カメラを校正することができる。また、第１調整部及び第２調整部は、共に２つの直線の成す角度により調整を行う。従って、比較的簡単な線形計算によって調整を行うことができ、演算負荷が軽いので簡単且つ安価に校正装置を構成することができる。また、演算負荷が軽いので、校正装置は短時間で車載カメラを校正することができる。また、第１調整部及び第２調整部において演算された差分値が所定の完了しきい値未満となったときに、カメラ調整値が確定されるので、精度良く車載カメラを校正することができる。尚、ロール角の調整が、パン角及びチルト角の変位量に与える影響の方が、パン角及びチルト角の調整がロール角の変位量に与える影響よりも大きい場合に、この構成は非常に有効である。
【００１４】
また、本発明に係る車載カメラの校正装置の前記第２調整部は、
前記第２実直線と前記第２変換直線との成す角度の有する成分の内、前記射影面に設定される２次元直交座標系の一方の軸方向の角度成分を前記パン角の差分値として演算すると共に、当該パン角の差分値に基づいて前記パン調整値を演算するパン調整部と、
前記第２実直線と前記第２変換直線との成す角度の有する成分の内、当該２次元直交座標系の他方の軸方向の角度成分を前記チルト角の差分値として演算すると共に、当該チルト角の差分値に基づいて前記チルト調整値を演算するチルト調整部と、を備えて構成されると好適である。
【００１５】
上述したように、射影面に平行なカメラ座標系の２つの軸の誤差は、射影面に相当する撮影画像上の上下左右の移動量を把握することによって調整できる。従って、第２調整部は、それぞれの軸に対応して調整が可能なように、それぞれの軸に対応する機能部を有して構成されると好ましい。
【００１６】
また、本発明に係る車載カメラの校正装置の前記パン調整部及び前記チルト調整部は、前記第１調整部により前記ロール調整値が更新された後の、同じ前記カメラ調整値を用いて前記座標変換部により座標変換された前記変換座標に基づいて演算すると好適である。
【００１７】
射影面上における移動量、つまり、射影面上の位置ずれは、２次元直交座標系では、２つの軸方向へのそれぞれの移動量によって表すことができる。２つの軸方向へのそれぞれの移動量をベクトルで表せば、２つのベクトルの和が射影面における移動量となる。ベクトル和には、交換法則が成り立つので、何れの軸への移動量を先に求めても問題はなく、得られる結果は同じである。但し、３次元のカメラ座標系の校正を２次元の射影面上の座標値を用いて行っていることになるので、厳密には交換法則は成り立たない。しかし、多少の誤差は生じたとしても、概ね、交換法則が成り立つと考えても問題はない。また、異なるカメラ調整値を用いた座標変換の頻度を増やすよりも、座標系の違いにより生じる誤差を踏まえて全体の演算を複数回実施する方が、結果として演算負荷が軽くなり、演算時間も短くなることが期待できる。
【００１８】
また、上記課題に鑑み創案された本発明に係る車載カメラの校正方法の特徴構成は、
３次元直交座標系の基準座標系における規定位置に規定の姿勢で車両に取り付けられた車載カメラの３次元直交座標系のカメラ座標系と前記基準座標系との関係を前記車載カメラの実際の取り付け姿勢に応じて定義して、前記車載カメラを校正する車載カメラの校正方法であって、
前記車載カメラにより、前記基準座標系の異なる２箇所の所定位置に配置された校正指標を視界内に含んで撮影された撮影画像を取得する画像取得工程と、
前記カメラ座標系の射影面である前記撮影画像において前記校正指標の中のそれぞれの校正点を検出し、前記射影面に設定される２次元直交座標系においてそれぞれの前記校正点の座標を実座標として特定する校正点特定工程と、
前記車載カメラが前記規定位置に前記規定の姿勢で取り付けられた際の前記カメラ座標系と前記基準座標系との関係を定義するカメラパラメータに基づいて前記射影面においてそれぞれの前記校正点が特定される座標である初期座標を、当該カメラパラメータを前記車載カメラの実際の取り付け姿勢に応じて補正するカメラ調整値の確定前の値を用いて第１変換座標に変換する第１座標変換工程と、
前記第１変換座標及び前記実座標に基づいて、前記カメラ座標系の３つの軸の内の１つ又は２つの軸を中心とする回転角に対応する前記規定の姿勢からの変位量であり、前記カメラ調整値を構成する調整値の１つ又は２つの調整値を演算して、前記カメラ調整値を更新する第１調整工程と、
前記第１調整工程において更新された確定前の前記カメラ調整値を用いて前記初期座標を第２変換座標に変換する第２座標変換工程と、
前記第２変換座標及び前記実座標に基づいて、前記カメラ座標系の３つの軸の内、前記第１調整工程において調整された軸を除く残りの２つ又は１つの軸を中心とする回転角に対応する前記規定の姿勢からの変位量であり、前記カメラ調整値を構成する調整値の内、前記第１調整工程において演算された調整値を除く残りの２つ又は１つの調整値を演算して、前記カメラ調整値を更新する第２調整工程と、
前記第１調整工程及び前記第２調整工程において、前記第１変換座標と前記実座標との変位量、及び、前記第２変換座標と前記実座標との変位量がそれぞれ所定の基準変位量未満であったことを前記カメラ調整値の調整の完了条件として判定を行い、当該完了条件を満たさない場合は、前記第１座標変換工程、前記第１調整工程、前記第２座標変換工程、前記第２調整工程を繰り返し行わせ、当該完了条件を満たす場合は、これらの工程の繰り返しを完了させて次工程に移行させる調整完了判定工程と、
前記調整完了判定工程において前記完了条件を満たした場合に移行され、前記第１調整工程及び前記第２調整工程において演算された調整値により更新された前記カメラ調整値を確定させるカメラ調整値設定工程と、
を備える点にある。
【００１９】
また、上記課題に鑑み創案された本発明に係る車載カメラの校正プログラムの特徴構成は、
３次元直交座標系の基準座標系における規定位置に規定の姿勢で車両に取り付けられた車載カメラの３次元直交座標系のカメラ座標系と前記基準座標系との関係を前記車載カメラの実際の取り付け姿勢に応じて定義して、前記車載カメラを校正するための機能をコンピュータに実行させる車載カメラの校正プログラムであって、
前記車載カメラにより、前記基準座標系の異なる２箇所の所定位置に配置された校正指標を視界内に含んで撮影された撮影画像を取得する画像取得機能と、
前記カメラ座標系の射影面である前記撮影画像において前記校正指標の中のそれぞれの校正点を検出し、前記射影面に設定される２次元直交座標系においてそれぞれの前記校正点の座標を実座標として特定する校正点特定機能と、
前記車載カメラが前記規定位置に前記規定の姿勢で取り付けられた際の前記カメラ座標系と前記基準座標系との関係を定義するカメラパラメータに基づいて前記射影面においてそれぞれの前記校正点が特定される座標である初期座標を、当該カメラパラメータを前記車載カメラの実際の取り付け姿勢に応じて補正するカメラ調整値の確定前の値を用いて第１変換座標に変換する第１座標変換機能と、
前記第１変換座標及び前記実座標に基づいて、前記カメラ座標系の３つの軸の内の１つ又は２つの軸を中心とする回転角に対応する前記規定の姿勢からの変位量であり、前記カメラ調整値を構成する調整値の１つ又は２つの調整値を演算して、前記カメラ調整値を更新する第１調整機能と、
前記第１調整機能の実行により更新された確定前の前記カメラ調整値を用いて前記初期座標を第２変換座標に変換する第２座標変換機能と、
前記第２変換座標及び前記実座標に基づいて、前記カメラ座標系の３つの軸の内、前記第１調整機能の実行により調整された軸を除く残りの２つ又は１つの軸を中心とする回転角に対応する前記規定の姿勢からの変位量であり、前記カメラ調整値を構成する調整値の内、前記第１調整機能の実行により演算された調整値を除く残りの２つ又は１つの調整値を演算して、前記カメラ調整値を更新する第２調整機能と、
前記第１調整機能及び前記第２調整機能が実行された際に、前記第１変換座標と前記実座標との変位量、及び、前記第２変換座標と前記実座標との変位量がそれぞれ所定の基準変位量未満であったことを前記カメラ調整値の調整の完了条件として判定を行い、当該完了条件を満たさない場合は、前記第１座標変換機能、前記第１調整機能、前記第２座標変換機能、前記第２調整機能を繰り返し実行させ、当該完了条件を満たす場合は、これらの機能の繰り返し実行を完了させて次の機能を実行させる調整完了判定機能と、
前記調整完了判定機能の実行により前記完了条件を満たしたと判定された場合に実行され、前記第１調整機能及び前記第２調整機能の実行により演算された調整値により更新された前記カメラ調整値を確定させるカメラ調整値設定機能と、
を有する点にある。
【００２０】
また、本発明に係る車載カメラの校正プログラムは、好適な一形態として、
前記第１調整機能が、
前記射影面において、２つの前記実座標を結ぶ直線である実直線と２つの前記変換座標を結ぶ直線である変換直線との成す角度を、前記射影面に直交する前記カメラ座標系の１つの軸を中心とするロール回転におけるロール角の差分値として演算する第１差分値演算機能と、
当該ロール角の差分値に基づいて前記ロール回転における前記規定の姿勢からの変位量であり、前記カメラ調整値を構成する調整値の１つであるロール調整値を演算して前記カメラ調整値を更新する第１調整値演算機能と、を有し、
前記第２調整機能が、
前記カメラ座標系において、前記カメラ座標系の原点と前記射影面上の２つの前記実座標の中点とを結ぶ直線である第２実直線と、当該原点と前記射影面上の２つの前記第２変換座標の中点とを結ぶ直線である第２変換直線との成す角度を、前記射影面に平行な前記カメラ座標系の一方の軸を中心とするパン回転におけるパン角の差分値、及び他方の軸を中心とするチルト回転におけるチルト角の差分値の少なくとも一方の差分値として演算する第２差分値演算機能と、
当該パン角の差分値に基づいて求められ、前記パン回転における前記規定の姿勢からの変位量であり、前記カメラ調整値を構成する調整値の１つであるパン調整値、及び当該チルト角の差分値に基づいて求められ、前記チルト回転における前記規定の姿勢からの変位量であり、前記カメラ調整値を構成する調整値の１つであるチルト調整値、の少なくとも一方の調整値を演算して前記カメラ調整値を更新する第２調整値演算機能と、を有し、
前記調整完了判定機能が、前記第１差分値演算機能及び前記第２差分値演算機能の実行により演算された差分値が、それぞれ所定の完了しきい値未満であることを前記カメラ調整値の調整の完了条件として判定を行い、当該完了条件を満たさない場合は、前記第１座標変換機能、前記第１差分値演算機能、前記第１調整値演算機能、前記第２座標変換機能、前記第２差分値演算機能、前記第２調整値演算機能を繰り返し実行させ、当該完了条件を満たす場合は、これらの機能の繰り返し実行を完了させて次の機能を実行させる機能であるプログラムとすることができる。
【００２１】
これら、車載カメラの校正方法や、車載カメラの校正プログラムもまた、上述した車載カメラの校正装置と同様の作用効果を有する。また、変換座標と実座標との差が所定の完了しきい値未満となるまで、繰り返しカメラ調整値が調整されるので、精度良く車載カメラを校正することができる。この際、第１調整及び第２調整の内の一方の調整が他方の調整結果に与える影響に鑑みて、第１調整と第２調整との順序が設定されている。従って、演算の繰り返しによりカメラ調整値を早期に収束させることが可能となる。
【図面の簡単な説明】
【００２２】
【図１】校正用マーカと車両との配置関係の一例を示す説明図
【図２】校正用マーカの一例を示す説明図
【図３】本発明の車載カメラの校正装置を含む車両内のシステム構成の一例を模式的に示すブロック図
【図４】ワールド座標系とカメラ座標系との関係を示す説明図
【図５】カメラ座標系と画像座標系との関係を示す説明図
【図６】本発明の車載カメラの校正装置の構成の一例を模式的に示すブロック図
【図７】モニタ装置の一例を示す正面図
【図８】関心領域を示す枠をモニタ装置へ表示する例を示す図
【図９】関心領域の設定原理を示す説明図
【図１０】エッジ検出後の画像の一例を示す説明図
【図１１】直線検出の一例を示す説明図
【図１２】校正点検出の一例を示す説明図
【図１３】カメラ調整値の演算手順を模式的に示すフローチャート
【図１４】実直線と変換直線との校正前の関係を示す説明図
【図１５】回転調整の原理を示す説明図
【図１６】位置調整の原理を示す説明図
【図１７】水平位置調整の原理を示す説明図
【図１８】垂直位置調整の原理を示す説明図
【図１９】カメラの校正が成功した時のモニタ装置への表示例を示す図
【図２０】カメラの校正が成功しなかった時のモニタ装置への表示例を示す図
【図２１】確認マーカの他の例を示す図
【図２２】校正装置起動時の表示部への表示例を示す図
【発明を実施するための形態】
【００２３】
以下、車両９０の後方の情景を撮影するカメラ１（車載カメラ）を校正する場合を例として、本発明の校正装置の実施形態を図面に基づいて説明する。カメラ１（車載カメラ）は、車両９０の後方のナンバープレートの上方に車軸から側方へオフセットした位置に、光軸を下方（例えば水平から３０°下方）に向けて設置される。カメラ１は、例えば視野角１１０〜１２０°の広角レンズを備えて構成され、後方約８ｍ程度までの領域を撮影可能である。このカメラ１は、車両の生産工場等で車両９０に取り付けられる際に取り付け誤差を吸収するべく校正される。また、修理工場などにおいて、走行による振動の累積や衝撃などによるカメラ１のずれを修正するべく校正される。
【００２４】
図１に示すように、本実施形態においてマーカ８０（校正指標）は、カメラ１の視野範囲内において２箇所に配置される。また、マーカ８０は、ワールド座標系（基準座標系）においてその座標が既知となるように所定位置に配置される。本例において、マーカ８０は、図２に示すように白黒の市松模様のパターンを有している。パターン中央の点Ｑが校正点であり、カメラ１の校正の基準となる。つまり、マーカ８０は、ワールド座標系においてこの校正点Ｑの座標が既知となるように配置される。
【００２５】
尚、ここでは白の矩形２個、黒の矩形２個の計４個の矩形により校正指標８が構成される例を示したが、合計４個以上の矩形によってマーカ８０が構成されても良く、その数を限定するものではない。また、マーカ８０は複数箇所であれば、３箇所以上に配置されてもよく、校正点Ｑも３つ以上の異なる座標に配置されてもよい。また、白と黒とに限定されることなく、他の色彩を用いてマーカ８０が着色されていてもよい。さらに、マーカ８０の外形形状は方形状に限定されるものではなく、円形などの他の形状であってもよい。即ち、パターン中央の点Ｑが良好に検出可能であれば、種々の形状を採用することが可能である。
【００２６】
図１に示す例では、２つのマーカ８０はワールド座標系におけるＹWＺW平面に相当する床上に、ワールド座標系のＺW軸に相当する車両の主軸に対して左右対称に配置されている（Ｄ1＝Ｄ2、Ｗ1＝Ｗ2）。ただし、常に左右対称である必要はなく、カメラ１の視野内であって、座標値が既知であればその配置は自由である。マーカ８０は、異なる工場等であっても、共通に配置されると校正装置を共通化することができて好ましい。但し、マーカ８０の配置の差異は、プログラムやパラメータの変更によって容易に対応できることも多い。従って、工場において確保できる広さや他の設備との関係によってマーカ８０は任意に配置されることが可能である。
【００２７】
マーカ８０の寸法は、カメラ１の分解能や校正装置が備える画像処理機能の性能、マーカの配置位置などに応じて、精度良く校正点Ｑを検出できるように適切に定められる。一例として、Ｄ1やＤ2が１〜２ｍ、Ｗ1やＷ2が１．５ｍ程度である場合には、図２に示すように、各白黒が１０〜１５ｃｍ四方、全体が２０〜３０ｃｍ四方のマーカ８０が利用される。
【００２８】
尚、マーカ８０は、壁面や衝立などの垂直面上に設置されてもよい。この場合も、校正点Ｑのワールド座標（ＸW，ＹW，ＺW）を正確に把握することが可能である。つまり、マーカ８０は、カメラ１の視野内であれば、床面及び壁面を含む任意の面に配置可能である。本実施形態では、カメラ１を下方に向けて車両に搭載しているため、天井面にマーカ８０を配置することは適切ではない。しかし、天井面がカメラ１の視野に入る場合には勿論天井面に配置されてもよい。また、マーカ８０は、ワールド座標（ＸW，ＹW，ＺW）の軸に対して、垂直に配置される必要はない。当然、２つのマーカ８０の一方が床面上、他方が衝立上に配置されるなど、異なる面上に配置されてもよい。重要であるのは校正点Ｑであり、マーカ８０はどのような面に配置されても構わない。つまり、ワールド座標系において校正点Ｑが正確に配置され、カメラ１の撮影画像から校正点Ｑが良好に検出可能であればマーカ８０の設置方向は任意である。
【００２９】
本実施形態において、車両９０は駐車支援装置を搭載しており、カメラ１により撮影された車両９０の周辺の情景はこの駐車支援装置に利用される。この駐車支援装置は、車庫入れ駐車や縦列駐車における後退時に、ドライバーが設定したり、駐車支援装置により自動設定されてドライバーによって確認されたりした駐車位置に車両９０を誘導する。この誘導は、例えば、ドライバーにより操作されるステアリングの操舵角を検出して、車両９０の予想進路を撮影画像に重畳表示させるものである。また、別の誘導は、たとえば、駐車位置に対して車両９０を移動させるべく、自動的に操舵制御を行うものである。
【００３０】
図３は、このような駐車支援装置４０を搭載する車両９０のシステム構成の一例を模式的に示すブロック図である。駐車支援装置４０には、後述するように画像認識などの高度な画像処理を行い、駐車支援装置４０の中核を担うＣＰＵ（central processing unit）５が備えられている。ＣＰＵ５は、プログラムメモリ６に格納されたプログラムや、パラメータメモリ７に格納されたパラメータを利用して各種処理を実行する。ここでは、プログラムメモリ６やパラメータメモリ７は、ＣＰＵ５とは別の不揮発性メモリであるが、ＣＰＵ５と同一のパッケージ内に集積されていてもよい。駐車支援装置４０は、ＣＰＵ５やメモリ、その他の周辺回路と共に、駐車支援ＥＣＵ（electronic control unit）９として構成される。本例では、ＣＰＵ５を中核としたが、駐車支援装置４０は、ＤＳＰ（digital signal processor）など、他の論理演算プロセッサや論理回路を中核として構成されてもよい。
【００３１】
図３に示すように、カメラ１により撮影された画像は、スーパーインポーズ部２ａ、グラフィック描画部２ｂ、フレームメモリ２ｃなどを有する画像処理モジュール２を介して、モニタ装置４に表示される。カメラ１は、ＣＣＤ（charge coupled device）やＣＩＳ（CMOS image sensor）などの撮像素子を用いて、毎秒１５〜３０フレームの２次元画像を撮影し、デジタル変換して動画データを出力するデジタルカメラである。各フレームの２次元画像は、フレームメモリ２ｃに格納され、フレームごとに画像処理やグラフィックの重畳を施されることが可能である。グラフィック描画部２ｂへの描画指示や、スーパーインポーズ部２ａへのグラフィック重畳指示は、ＣＰＵ５から発せられる。
【００３２】
モニタ装置４は、ナビゲーションシステムのモニタ装置が兼用されている。図３に示すように、モニタ装置４は、表示部４ａと、表示部４ａに形成されたタッチパネル４ｂと、スピーカ４ｃとを有している。表示部４ａは、画像処理モジュール２から提供されるカメラ１の撮影画像や、グラフィック画像、それらが合成された合成画像などを表示する。一例として、表示部４ａは液晶ディスプレイによって構成される。タッチパネル４ｂは、表示部４ａと共に形成され、指などによる接触位置をロケーションデータとして出力することができる感圧式や静電式の指示入力装置である。図３においては、スピーカ４ｃは、モニタ装置４に備えられている場合を例示しているが、スピーカ４ｃはドアの内側など、他の場所に備えられても良い。スピーカ４ｃは、ＣＰＵ５の指示に応じて音声処理モジュール３から提供される音声を出力する。尚、ＣＰＵ５は、単純にブザー８を介して報知音を鳴らす場合もある。
【００３３】
ＣＰＵ５は、図３において符号５０で示す車内ネットワークを介して種々のシステムやセンサと通信可能に接続されている。本実施形態においては、車内ネットワークとしてＣＡＮ（controller area network）５０を例示している。図３に示すように、駐車支援装置４０（ＣＰＵ５）は、車内のパワーステアリングシステム３１やブレーキシステム３７と接続される他、外部接続用端子などを介して外部システム３３と接続される。これら各システムは、駐車支援装置４０と同様にＣＰＵなどの電子回路を中核として構成され、駐車支援ＥＣＵ９と同様に周辺回路と共にＥＣＵを有して構成される。
【００３４】
パワーステアリングシステム３１は、電動パワーステアリング（EPS : electric power steering）システムやＳＢＷ（steer-by-wire）システムである。このシステムは、ドライバーにより操作されるステアリングホイールにアクチュエータ４１によりアシストトルクを付加する他、ステアリングホイールや操舵輪をアクチュエータ４１により駆動することによって自動操舵を行う。
【００３５】
ブレーキシステム３７は、ブレーキのロックを抑制するＡＢＳ（anti lock braking system）や、コーナリング時の車両の横滑りを抑制する横滑り防止装置（ESC : electronic stability control）、ブレーキ力を増強させるブレーキアシストなどを有した電動ブレーキシステムや、ＢＢＷ（brake-by-wire）システムである。このシステムは、アクチュエータ４７を介して車両９０に制動力を付加することができる。外部システム３３は、車両９０の生産時や点検、整備の際に使用される検査システムや調整システム、ディーラーやユーザーが接続コネクタなどを介して取り付けるオプションシステムである。
【００３６】
図３において、各種センサの一例として、ステアリングセンサ２１や車輪速センサ２３、シフトレバースイッチ２５、アクセルセンサ２９がＣＡＮ５０に接続されている。ステアリングセンサ２１は、ステアリングホイールの操舵量（回転角度）を検出するセンサであり、例えばホール素子などを用いて構成される。駐車支援装置４０は、ドライバーによるステアリングホイールの操舵量や、自動操舵時の操舵量をステアリングセンサ２１から取得して各種制御を実行する。
【００３７】
車輪速センサ２３は、車両９０の車輪の回転量や単位時間当たりの回転数を検出するセンサであり、例えばホール素子などを用いて構成される。駐車支援装置４０は、車輪速センサ２３から取得した情報に基づいて車両９０の移動量などを演算し、各種制御を実行する。車輪速センサ２３は、ブレーキシステム３７に備えられている場合もある。ブレーキシステム３７は、左右の車輪の回転差などからブレーキのロックや、車輪の空回り、横滑りの兆候などを検出して、各種制御を実行する。車輪速センサ２３がブレーキシステム３７に備えられている場合には、駐車支援装置４０は、ブレーキシステム３７を介して情報を取得する。ブレーキセンサ２７は、ブレーキペダルの操作量を検出するセンサであり、駐車支援装置４０は、ブレーキシステム３７を介して情報を取得する。駐車支援装置４０は、例えば、自動操舵中にブレーキペダルが踏み込まれたような場合に、自動操舵に不都合な環境下にあるとして自動操舵を中断したり中止したりする制御を行うことができる。
【００３８】
シフトレバースイッチ２５は、シフトレバーの位置を検出するセンサ又はスイッチであり、変位センサなどを用いて構成される。例えば、シフトがリバースにセットされた場合に、駐車支援装置４０は支援制御を開始したり、リバースから前進に変更された場合に支援制御を終了させたりすることができる。
【００３９】
また、ステアリングホイールへの操作トルクを検出するトルクセンサ２２は、ドライバーがステアリングホイールを握っているか否かについても検出することが可能である。駐車支援装置４０は、自動操舵中にドライバーがステアリングホイールを操作するために強く握った場合などに、自動操舵に不都合な環境下にあるとして自動操舵を中断したり中止したりする制御を行うことができる。また、自動操舵時には、一般的にエンジンのアイドリングによる車両９０のクリーピングが利用される。従って、ドライバーがアクセルを操作したことがアクセルセンサ２９により検出された場合、駐車支援装置４０は、自動操舵に不都合な環境下にあるとして自動操舵を中断したり中止したりする制御を行うことができる。
【００４０】
図３に示す各種システムやセンサ、これらの接続形態については一例であり、他の構成や接続形態が採用されてもよい。また、上述したように、センサは直接ＣＡＮ５０に接続されても良いし、種々のシステムを介して接続されてもよい。
【００４１】
上述したように、駐車支援装置４０は、ＣＰＵ５を中核として構成され、プログラムメモリ６に格納されたプログラム（ソフトウェア）と協働して駐車支援のための種々の演算を実施する。上述したような駐車支援を実施する際には、カメラ１による撮影画像の座標系と、画像処理に用いる画像の座標系との相関関係を規定する必要がある。駐車支援装置４０は、両座標系の相関関係を規定するためのカメラパラメータが格納されたパラメータメモリ７を有している。つまり、駐車支援装置４０は、ＣＰＵ５のハードウェアと、プログラムメモリ６に格納されたプログラム（ソフトウェア）と、パラメータメモリ７に格納されたカメラパラメータとの協働によって機能する。
【００４２】
カメラパラメータは、ワールド座標系とカメラ１のカメラ座標系との関係を定義する値である。カメラパラメータは、カメラ１自体の光学系の精度や、カメラ１を車両９０に取り付ける際の取り付け精度などにより、設計上の理想的な値とはならないことが多い。例えば、カメラ１は、３次元直交座標系のワールド座標系における規定位置に規定の姿勢で車両に取り付けられるが、取り付け誤差が存在する。後述するように特に姿勢に関する誤差が問題となる。このため、カメラ１の実際の取り付け姿勢に応じてカメラパラメータを補正することによって、ワールド座標系と実際のカメラ１のカメラ座標系との関係を定義する。カメラ調整値は、このカメラパラメータを補正するパラメータである。カメラ調整値は、カメラ１の車両９０への取り付け状態によって変動する値である。従って、車両９０の生産工程においてカメラ調整値を調整し、確定させることによってカメラ１の校正を行う必要がある。
【００４３】
また、車両９０の整備工場において、定期的にカメラ１の校正が可能であったり、車両９０に過度の衝撃が加わった後の点検や整備において、カメラ１の校正が可能であったりすることが好ましい。このため、車両９０には、カメラ１を校正する校正装置１０が搭載される。あるいは、車両９０に校正装置１０が接続可能に構成される。尚、上述したカメラ調整値も、パラメータメモリ７に記憶される。パラメータメモリ７は、書き換え可能な記憶媒体により構成され、校正により決定されたカメラ調整値に更新される。パラメータメモリ７には、カメラパラメータの初期値（設計値）とカメラ調整値とが格納され、使用時に調整されても良いし、これらに加えてカメラ調整値により補正されたカメラパラメータが格納されてもよい。また、補正されたカメラパラメータのみが更新されて格納される構成であってもよい。
【００４４】
１つの形態として、駐車支援装置４０を構成するＣＰＵ５及びプログラムメモリ６を校正装置１０として利用することが可能である。あるいは、駐車支援装置４０を構成するプリグラムメモリ６とは別のプログラムメモリとＣＰＵ５とによって、校正装置１０が構成されてもよい。また、外部システム３３として、校正装置１０が構成されてもよい。本実施形態においては、駐車支援装置４０を構成するＣＰＵ５、プログラムメモリ６、パラメータメモリ７を校正装置１０として利用する場合を例として説明する。
【００４５】
まず、カメラ調整値や座標系について説明する。カメラ１により撮影される画像は２次元であるが、実際の空間は３次元である。従って、駐車支援装置４０においては、２次元空間と３次元空間との間の相互変換が必要であり、その変換のためには、全てのカメラパラメータが精度良く設定されていることが好ましい。
【００４６】
カメラパラメータには、大きく分けて内部パラメータと外部パラメータとがある。カメラの内部パラメータとは、カメラの内部の光学系に関するパラメータである。デジタルカメラの場合には、撮像素子とレンズの中心との間の距離（焦点距離）、撮像素子の大きさや画素数、画素の縦配列と横配列との角度などを元にして設定されるパラメータである。厳密には、内部パラメータも一定ではなくカメラごとに誤差を有するが、車両９０へのカメラ１の取り付け精度の差に比べれば非常に小さい差と考えてもよく、ここでは内部パラメータは精度良く設定されているものとする。
【００４７】
外部パラメータは、基準座標系（ワールド座標系）に対するカメラの位置や姿勢に関するパラメータである。本実施形態では、カメラ１の車両９０への取り付け精度に依存するパラメータに相当する。外部パラメータには、カメラの位置に関する並進パラメータと、カメラの姿勢に関する回転パラメータとがある。図１及び図４に示すように、３次元空間の座標系であるワールド座標系（ＸW，ＹW，ＺW）の１点を座標中心ＯCとしてカメラ座標系（ＸC，ＹC，ＺC）が存在する。つまり、カメラ１は、基準座標系であるワールド座標系における規定座標を座標中心ＯCとするカメラ座標系を形成するような規定位置及び規定の姿勢で車両９０に設置される。
【００４８】
カメラ１が設置される規定位置とは、カメラ座標系の座標中心ＯCのワールド座標系における座標によって定義される。カメラ１が設置される位置、つまり、カメラ座標系の位置は、３次元直交座標系であるワールド座標系の各軸に対してそれぞれ平行な並進成分Ｔ（ＴX，ＴY，ＴZ）により定義される。一般的には、並進成分Ｔは３行１列の行列により定義される。定義される位置と実際にカメラ１が設置される位置との間にずれが生じることは、外部パラメータにおける並進成分Ｔの誤差となる。但し、並進成分Ｔの誤差が、撮影画像を見るドライバーに与える違和感は比較的少ない。また、この設置位置の誤差は、カメラ１の光軸の方向には影響しない。従って、カメラ１と被写体との距離や位置関係に拘わらず、画像処理に与える影響も少ない。つまり、カメラ１の設置位置に関して、生産工程において適正な公差が設定され、適正に公差管理されていれば、並進パラメータは精度良く設定されているものと考えてもほとんど問題はない。
【００４９】
カメラ１の設置時の姿勢、つまり、カメラ座標系の回転は、図４に示すように、３次元直交座標系であるカメラ座標系の各直交軸を中心とする回転成分により定義される。一般的には、回転成分は、３行３列の行列により定義される。定義される姿勢（回転）と実際にカメラ１が設置される姿勢との間にずれが生じることは、外部パラメータにおける回転成分の誤差となる。回転成分の誤差が撮影画像を見るドライバーに与える違和感は、並進成分Ｔの誤差に比べて大きい。
【００５０】
例えば、図５に示すように撮影画像に相当する射影面Πに対して直交するＺC軸を中心としてカメラ１が回転するロール（Roll）が生じた場合には、撮影画像が傾くことになる。従って、ロールが生じた場合には、撮影画像を見るドライバーに与える違和感は大きくなる。また、射影面Πに平行な軸の一方であるＸC軸を中心としてカメラ１が回転するパン（Pan）や、射影面Πに平行な軸の他方であるＹC軸を中心としてカメラ１が回転するチルト（Tilt）が生じた場合には、カメラ１の光軸の向きが変動する。従って、カメラ１と被写体との距離や位置関係に応じて、撮影画像における被写体の位置が大きく変動し、画像処理に与える影響も大きくなる。従って、カメラ１が車両９０に取り付けられた実際の姿勢に応じて回転パラメータを精度良く調整し、カメラ１を校正することが重要である。
【００５１】
上述したように、カメラパラメータには、内部パラメータと並進パラメータと回転パラメータとがあるが、この内、外部パラメータの１つである回転パラメータを精度良く調整することが重要である。図１や図４からも理解できるように、カメラ１が誤差無く車両９０に設置されたとしても、カメラ座標系はワールド座標系に対して回転している。従って、カメラ１が理想的な位置に理想的な姿勢で取り付けられた場合の回転パラメータは、設計値として一義的に設定される。本発明の校正装置１０は、この回転パラメータを、カメラ１の実際の取り付け姿勢に応じて調整するパラメータ（カメラ調整値）を求めて、回転パラメータを調整することによってカメラ１を校正する。
【００５２】
上述したように、カメラ１の回転は、撮影画像に対して次のような影響を与える。ロールは撮影画像の傾き（画像の回転）として現れる。パン及びチルトは、撮影画像における被写体の位置に対して影響を与える。従って、以下の説明において「回転の調整」と称した場合には、３軸全ての回転ではなく、狭義にロールの調整のみを指すことがある。また、以下の説明において「位置の調整」と称した場合には、並進成分の調整ではなく、狭義にパン及びチルトの調整を指すことがある。
【００５３】
ここで、３次元のカメラ座標系（ＸC，ＹC，ＺC）と、２次元の画像座標系（ｘ，ｙ）との関係について説明する。画像座標系（ｘ，ｙ）は、図５に示すようにカメラ１の光軸に一致するカメラ座標系のＺC軸に垂直な２次元射影空間（射影面Π）に存在する２次元直交座標系である。射影面Πは、カメラ座標系のＺC軸方向にカメラ座標の原点ＯCからカメラ１の焦点距離ｆだけ離れて存在する。図５において、ｕ軸はカメラ１の撮像素子の画素の縦配列の方向を示し、ｖ軸はカメラ１の撮像素子の画素の横配列の方向を示す。理想的には、ｕ軸及びｖ軸は、それぞれ画像座標系のｘ軸及びｙ軸に一致する。また、ｕ軸とｖ軸とのなす角φは、理想的には画像座標系のｘ軸とｙ軸とのなす角と同様に９０度である。角φは、上述した内部パラメータの１つであるが、上述したように、ここでは理想的な９０度であるとする。
【００５４】
カメラ座標系とワールド座標系との整合が取れていれば、図５に示すように、ワールド座標系において座標Ｍに存在する点は、画像座標系において座標ｍに存在するものとして、カメラ座標系から画像座標系へ座標変換される。逆に、撮影画像、つまり画像座標系の座標ｍにおいて検出された点は、床上に存在するなどの一定条件の下で、カメラ座標系を経てワールド座標系の座標Ｍにある点として座標変換されることが可能である。
【００５５】
一方、カメラ座標系とワールド座標系との整合が取れていない場合には、図５に示すように、実際のカメラ１のカメラ座標系の射影面Π’と、理想通りのカメラ座標系の射影面Πとは異なる平面となる。このため、実際に車両９０に取り付けられたカメラ１のカメラ座標系とワールド座標系との整合が取れなくなる。例えば、ワールド座標系において座標Ｍに存在する点は、実際のカメラ１のカメラ座標系の射影面Π’において、座標ｍ’に存在するものとして検出される。そして、この座標ｍ’が理想通りのカメラ座標系の射影面Πの座標として扱われ、カメラ座標系を経てワールド座標系に座標変換される。つまり、ワールド座標系において座標Ｍに存在する点は、図５に示すように、ワールド座標系において座標Ｍ’に存在する点として座標変換されることになる。
【００５６】
このような誤差が生じると、駐車支援装置４０は精度良く駐車支援を行うことができない。校正装置１０は、このような誤差を抑制するべく、カメラ調整値を求めて、実際に車両９０に取り付けられたカメラ１のカメラ座標系と、理想的なカメラ座標系との関係を定義する。つまり、カメラ調整値によりカメラ１の回転パラメータを補正して、実際に車両９０に取り付けられたカメラ１のカメラ座標系と理想的なカメラ座標系とを一致させるために、実際のカメラ１の姿勢に応じてカメラ調整値を調整する。ここでは、上述したようなワールド座標系において座標Ｍに存在する点の画像座標系におけるずれを利用してカメラ１を校正する。具体的には、ワールド座標系におけるマーカ８０の校正点Ｑ（Ｑ１、Ｑ２）の座標を座標Ｍに見立ててカメラ１を校正する。
【００５７】
上述したように、本実施形態においては、駐車支援装置４０を構成するＣＰＵ５、プログラムメモリ６、パラメータメモリ７を校正装置１０として利用する。校正装置１０は、主にＣＰＵ５などのハードウェア及びプログラムメモリ６などに格納されたソフトウェア（プログラム）が協働することによって、図６に示すような複数の機能部を有して構成される。図６に示すように、校正装置１０は、画像取得部１１と、校正点特定部１２と、座標変換部１３と、回転調整部（第１調整部）１４と、位置調整部（第２調整部）１５と、調整完了判定部１８と、カメラ調整値設定部１９と、ＨＭＩ制御部２０とを有して構成される。尚、回転調整部１４は、射影面Πの傾き（回転）、つまり、図４に示すロールの調整を行う機能部である。また、位置調整部１５は、並進成分の調整ではなく、図４に示すパン及びチルトの調整を行う機能部である。座標変換部１３、回転調整部１４と、位置調整部１５と、調整完了判定部１８は、調整部３０を構成する。
【００５８】
画像取得部１１は、３次元のワールド座標系の異なる２箇所の所定位置に配置されたマーカ８０を視界内に含んで、車両９０に取り付けられたカメラ１により撮影された撮影画像を取得する機能部である。校正点特定部１２は、この撮影画像においてマーカ８０の中のそれぞれの校正点Ｑを検出し、カメラ座標系の射影面Πに設定される２次元直交座標系（画像座標系）においてそれぞれの校正点Ｑの座標を実座標として特定する機能部である。校正点特定部１２は、後述するように、校正点分布範囲設定部１２１と、校正指標分布範囲設定部１２２と、校正点検出部１２３とを有して構成される。これら各機能部の詳細については、後述する。
【００５９】
座標変換部１３は、カメラ１が規定位置に規定の姿勢で取り付けられた際に、射影面Πにおいてそれぞれの校正点Ｑが特定される座標である初期座標を、確定前のカメラ調整値に基づいて変換座標に変換する機能部である。尚、後述するように、調整部３０は、カメラ調整値を修正しながら繰り返し演算を実行することによって、カメラ調整値を求める。従って、座標変換部１３が座標変換に用いる確定前のカメラ調整値は、調整の途上において随時修正され、様々な値を取り得るものである。
【００６０】
回転調整部１４及び位置調整部１５は、上述したカメラの外部パラメータの内の回転パラメータを調整する調整値（カメラ調整値）を演算する機能部である。回転調整部１４は、カメラ座標系のロール回転における差分値を求めて、ロール回転における規定の姿勢からの変位量であり、カメラ調整値を構成する調整値の１つであるロール調整値を演算して確定前のカメラ調整値を更新する機能部である。従って、回転調整部１４は、ロール調整部に相当する。位置調整部１５は、「パン回転における差分値を求めて、パン回転における規定の姿勢からの変位量であり、カメラ調整値を構成する調整値の１つであるパン調整値」及び「チルト回転における差分値を求めて、チルト回転における規定の姿勢からの変位量であり、カメラ調整値を構成する調整値の１つであるチルト調整値」の少なくとも一方の調整値を演算して確定前のカメラ調整値を更新する機能部である。
【００６１】
位置のずれは２次元のずれであり、直交座標系で考えれば、水平方向と垂直方向との２方向のずれによって定義することができる。このため、位置調整部１５は、水平位置調整部１６と垂直位置調整部１７とを有して構成される。水平位置調整部１６は、パン調整部に相当し、垂直位置調整部１７は、チルト調整部に相当する。水平位置調整部１６は、カメラ調整値を構成する調整値の１つであるパン調整値を演算する機能部である。また、垂直位置調整部１７は、カメラ調整値を構成する調整値の１つであるチルト調整値を演算する機能部である。
【００６２】
回転調整部（ロール調整部）１４、水平位置調整部（パン調整部）１６、垂直位置調整部（チルト調整部）１７は、それぞれ、ロール回転、パン回転、チルト回転における差分値を演算する差分値演算部１４ａ、１６ａ、１７ａと、求められた差分値に基づいて調整値を演算する調整値演算部１４ｂ、１６ｂ、１７ｂとを備えて構成される。詳細については、後述する。
【００６３】
調整完了判定部１８は、回転調整部１４及び位置調整部１５において演算された差分値が、それぞれ所定の完了しきい値未満である場合に、カメラ調整値の調整が完了したと判定する機能部である。座標変換部１３、回転調整部１４、位置調整部１５、調整完了判定部１８を有して構成される調整部３０は、カメラ調整値を修正しながら繰り返し演算を実行することによってカメラ調整値を調整する。調整完了判定部１８は、この繰り返し演算の途上の確定前のカメラ調整値を用いて初期座標が補正された補正座標と実座標との差が所定の距離未満に近づいた場合に繰り返し演算を完了させる。調整完了判定部１８の詳細については後述する。
【００６４】
尚、後述する回転調整しきい値や位置調整しきい値は、上記完了しきい値に相当する。また、上記における「カメラ調整値の調整が完了したとの判定」は、調整部３０による繰り返し演算の完了の判定に相当する。後述するように、調整完了判定部１８は、繰り返し演算を所定回数実行した場合にも、調整部３０による繰り返し演算が完了したと判定する。繰り返し演算の完了時には、その時点において最新であり、確定される前のカメラ調整値が仮カメラ調整値（未確定カメラ調整値）として設定されていると考えることができる。
【００６５】
カメラ調整値設定部１９は、調整完了判定部１８によるカメラ１の調整完了の判定結果に基づいて、回転調整部１４及び位置調整部１５において演算された調整値をカメラ調整値として確定させる機能部である。つまり、カメラ調整値設定部１９は、確定前のカメラ調整値である仮カメラ調整値をカメラ調整値として確定させる。カメラ調整値設定部１９は、ＨＭＩ制御部２０を介して与えられる指示入力に応じて仮カメラ調整値をカメラ調整値として設定することも可能である。詳細については後述する。
【００６６】
ＨＭＩ制御部２０は、視覚的効果や聴覚的効果により、ユーザー（校正の作業者）に対する報知を行ったり、ユーザーから与えられる操作指示を受け取って各機能部へ伝達したりするインターフェース機能を担う機能部である。例えば、ＨＭＩ制御部２０は、画像処理モジュール２に対して撮影画像に重畳させるグラフィックの指定や重畳の指示を行ったり、音声処理モジュール３に対してスピーカ４ｃから音声や音響を出力させたりする。また、タッチパネル４ｂを介してユーザーより与えられた指示を受け取って、指示に対応する機能部を働かせる。図６に示すように、ＨＭＩ制御部２０は、表示制御部２０１と指示入力受付部２０２とを有して構成される。表示制御部２０１及び指示入力受付部２０２の具体的な機能については後述する。
【００６７】
本実施形態においては、駐車支援装置４０を構成するＣＰＵ５を利用して校正装置１０が構成される。また、駐車支援装置４０のモニタ装置４は、ナビゲーションシステムのモニタ装置が兼用されている。従って、モニタ装置４は、校正装置１０のモニタ装置としても兼用される。モニタ装置４の前面パネルには、図７に示すような様々なスイッチが設けられている。符号４ｄは、地図の縮尺を変更するボタンである。符号４ｅは、目的地を設定するための画面を表示させるボタンである。符号４ｆは、車両９０の現在位置を表示させるボタンである。符号４ｇは、音量の調節ボタンである。符号４ｈは、システムの各種設定を行うための画面を表示させるシステム設定ボタンである。図７においては、車両９０の現在位置と共に地図が表示されている場合を例示している。
【００６８】
生産工場や修理工場において、作業者は、システム設定ボタン４ｈを操作して、表示部４ａに設定画面を表示させ、タッチパネル４ｂの所定のタッチボタンを操作する。ＨＭＩ制御部２０の指示入力受付部２０２は、タッチボタンの指示を受け付け、ＣＰＵ５は、プログラムメモリ６に格納されたカメラ校正プログラムに定義された各機能を実行することにより、校正装置１０として機能する。尚、生産工程においては、初期画面をカメラ校正モードとしておき、カメラ１の校正が完了した後に所定の操作を行うことで、初期画面がナビゲーションシステムの画面となるように構成されていてもよい。
【００６９】
〔画像取得工程〕
カメラ校正プログラムが起動され、校正装置１０によるカメラ校正が開始されると、ＣＰＵ５により画像取得機能が実行される。つまり、画像取得部１１により、カメラ１により撮影された動画像がキャプチャされる。キャプチャされた画像（撮影画像）は、画像処理モジュール２を介して、図８に示すようにモニタ装置４に表示される。
【００７０】
〔校正点特定工程／関心領域設定工程／校正点分布範囲設定工程〕
撮影画像が取得されると、ＣＰＵ５は校正点特定機能を実行する。つまり、校正点特定部１２は、キャプチャされた画像から、校正点Ｑを検出し、画像座標系における校正点Ｑの座標を実座標として設定する。校正点Ｑの検出に先立って、関心領域設定機能が実行され、画像処理の対象となる領域が関心領域（ROI ： region of interest）として射影面Πに設定される。つまり、撮影画像において校正点Ｑを検出するための画像処理が実施される画像処理対象領域が、関心領域ＲＯＩとして設定される。
【００７１】
この関心領域ＲＯＩは、公差の平均値による画像上（射影面Π上）の位置を基準として、カメラ１の取り付け公差の範囲と画像処理のためのマージンを考慮して定められた位置とサイズに基づいて設定される。関心領域ＲＯＩは、例えば、経験上の一般的な公差やマージンに基づいて、大まかに設定することができる。撮影画像に対して関心領域ＲＯＩは狭いので、画像処理の演算負荷は軽減される。また、以下のように精度良く関心領域ＲＯＩを設定してもよい。
【００７２】
１つの好適な例として、ＣＰＵ５により校正点分布範囲設定機能が実行される。つまり、校正点分布範囲設定部１２１により、カメラ１が規定位置に規定の姿勢で取り付けられた際の回転パラメータに基づいて、校正点Ｑが存在する理論上の座標値（初期座標）が演算される。そして、カメラ１がカメラ座標系の各軸を中心としてそれぞれ所定角度回転した際に理論上の座標値である初期座標が分布する範囲が校正点分布範囲として求められる。この際、カメラの光学中心（カメラ座標系の原点）のずれ、つまり、並進パラメータＴのずれも加味して関心領域ＲＯＩが設定されてもよい。
【００７３】
〔校正点特定工程／関心領域設定工程／校正指標分布範囲設定工程〕
次に、校正指標分布範囲設定機能が実行される。つまり、校正点分布範囲に基づいて、画像座標系においてマーカ８０が分布する範囲が校正指標分布範囲として、校正指標分布範囲設定部１２２により設定される。本実施形態においては、この校正指標分布範囲が、関心領域ＲＯＩに相当する。具体的には、図９に示すように、カメラ１の光軸が設計値通りの方向を向いている場合に対して、カメラ座標系の３軸それぞれに±３度〜５度のずれが発生しても、マーカ８０が必ず含まれるように、関心領域ＲＯＩが設定される。校正指標分布範囲は、実質的に校正点Ｑを検出するための画像処理を実施する画像処理対象領域に対応する。従って、校正指標分布範囲設定部１２２は、画像処理対象領域設定部としても機能する。
【００７４】
ここで、ＣＰＵ５が領域枠表示機能を実行すると好適である。つまり、表示制御部２０１が、画像処理モジュール２を介して、画像処理対象領域や校正指標分布範囲をグラフィック画像によるＲＯＩ枠（領域枠）Ｆとして撮影画像に重畳させて撮影画像と共に表示部４ａに表示させると好適である（領域枠表示工程）。ＲＯＩ枠Ｆは、例えば緑色で表示部４ａにおいて撮影画像に重畳表示される。ＲＯＩ枠Ｆは、カメラ１が理想的に取り付けられた場合、即ち、規定位置に規定の姿勢で取り付けられたと仮定した場合に、所定位置に配置されたマーカ８０が中央にくるように、射影面Πに設定される。図２に示すように、校正点Ｑは、マーカ８０の中央に設定されているので、図９に示すように、理想的な校正点ＱはＲＯＩ枠Ｆの中央となる。
【００７５】
作業者は、マーカ８０がＲＯＩ枠Ｆから外れているなど、非常に大きな誤差を有してカメラ１が車両９０に取り付けられていることを容易に確認することができる。作業者は、図８に示すようにタッチパネル４ｂに表示されたキャンセルボタンを操作することによって、校正を中断してカメラ１の設置状態を確認したり、不良として生産ラインから車両９０を排除したりすることができる。このように、撮影画像上にＲＯＩ枠Ｆが表示されることにより、ＣＰＵ５によって自動調整が行われている最中であっても、作業者がカメラ１の調整作業（校正作業）に参加することができる。自動調整と作業者による目視確認とを併用した半自動調整（半自動校正）ということもできる。
【００７６】
タッチパネル４ｂを操作することによって、ＣＰＵ５による自動調整を中断することができるので、指示入力受付部２０２や、これを含むＨＭＩ制御部２０は、調整中断部（調整中断手段）として機能するといえる。また、ＣＰＵ５は、受け付けた指示入力に基づいて調整中断機能を実行するともいえる。カメラ１が大きな誤差を有して車両９０に設置されていた場合に、調整作業の初期において、調整を中断したり中止したりすることができるので、生産性が向上する。ＣＰＵ５は、切れ目なく校正点特定工程から下記に詳述する調整工程へと処理を続けていく。従って、作業者による確認のためのＲＯＩ枠Ｆは、自動調整が実施されている間、つまり調整工程の間にも継続して表示されると好適である。また、同様に調整の中止や中断の指示入力を与えるためのタッチボタンも、自動調整が実施されている間、継続して表示されると好適である。
【００７７】
尚、画像処理の対象となる関心領域ＲＯＩと、校正指標分布範囲とは、必ずしも一致している必要はない。余裕をみて、校正指標分布範囲よりも広域な関心領域ＲＯＩが設定されてもよい。また、上記においては、撮影画像上に表示されるＲＯＩ枠Ｆが、画像処理の対象となる関心領域ＲＯＩに一致する場合を例として説明した。しかし、校正指標分布範囲よりも広域な関心領域ＲＯＩが設定されるような場合において、ＲＯＩ枠Ｆが、校正指標分布範囲に一致して重畳表示されてもよい。また、関心領域ＲＯＩが設定されず、撮影画像の全域に亘って画像処理が実施される場合も同様である。このような場合、作業者は、マーカ８０がＲＯＩ枠Ｆから外れていることによって、設計値に対して非常に大きな誤差を有してカメラ１が車両９０に取り付けられていることを容易に確認することができる。画像処理の対象領域である関心領域ＲＯＩとＲＯＩ枠Ｆとは一致していることが好ましいが、このように一致していない場合であっても、同様の効果が得られる。従って、校正指標分布範囲がグラフィック画像によるＲＯＩ枠（領域枠）Ｆとして撮影画像に重畳され、表示部４ａに表示されることも非常に有用である。
【００７８】
〔校正点特定工程／校正点検出工程／エッジ検出工程〕
関心領域ＲＯＩが設定されると、校正点検出機能が実行される。つまり、校正点検出部１２３は、関心領域ＲＯＩの範囲内を画像処理対象として、校正点Ｑを検出する。校正点Ｑを特定するために、校正点検出部１２３は、マーカ８０の中心点である校正点Ｑの撮影画像上における座標を検出する。つまり、画像座標系における座標を検出する。この座標は、現実に車両９０に設置されたカメラ１により撮影された画像に基づいて検出されるので、本発明における校正点Ｑの「実座標」に相当する。本実施形態のように、マーカ８０として市松模様が使用される場合、公知のコーナ検出器を用いて校正点Ｑを検出することが可能である。
【００７９】
本実施形態では、ガウシアンフィルタ（Gaussian filter）が組み込まれたCannyエッジ検出器を利用したエッジ検出機能が実行される。Cannyエッジ検出器は、エッジ特徴を保存すると共に、画像に含まれるノイズを除去する働きがあり、安定したエッジ検出が可能である。Cannyエッジ検出器に関しては、J.F.Canny "Finding edge and lines in images". Master's thesis, AITR-720. MIT, Cambridge, USA, 1983などに詳しいので、ここでは詳細な説明を省略する。尚、当然ながら、Cannyエッジ検出器に限らず、Tomasi-Kanade検出器や、ハリス検出器など、他の方法を用いてエッジ検出を行ってもよい。
【００８０】
〔校正点特定工程／校正点検出工程／歪み補正工程〕
上述したように、カメラ１は広角レンズを有して構成されており、撮影画像は歪みを有している。校正点Ｑを検出するためには、後述するように直線認識が必要となる。そこで、歪み補正機能が実行され、エッジ検出後の画像データに対して歪み補正処理が施される。尚、当然ながら、エッジ検出を行う前、つまり、関心領域ＲＯＩの範囲内の元画像に対して歪み補正を実施してもよいし、撮影画像全体に対して歪み補正を実施してもよい。しかし、撮影画像や撮影画像中の関心領域ＲＯＩの範囲内の画像は、カラーグレイ画像データであるので、データ量が多く演算負荷も大きくなる。本実施形態では、エッジ検出後のデータは、図１０に示すようにエッジ点群Ｅにより構成されたモノクロ２値データとなっているので、データ量が圧倒的に少なく演算負荷が軽くなる。図１０（ａ）は、歪み補正処理を施された後のマーカ８０ａのエッジ点群Ｅ、図１０（ｂ）は、歪み補正処理を施された後のマーカ８０ｂのエッジ点群Ｅを示している。
【００８１】
〔校正点特定工程／校正点検出工程／直線検出工程〕
続いて、直線検出機能が実行され、これらエッジ点群Ｅに対して、直線検出処理（直線当てはめ処理）が実施される。直線検出処理には、最小自乗法やハフ変換などを利用することも可能であるが、これらは演算負荷が大きい処理である。本実施形態では、これらの手法よりも遙かに演算量の少ないRANSAC（RANdom SAmple Consensus）手法を用いて直線の当てはめを行うことによって直線検出を行う。RANSAC手法では、直線や曲線の当てはめに必要な最小点数の点がエッジ点群Ｅから選択され、フィッティングモデルが設定される。直線の場合の最小点数は２点であり、ランダムに選択された２点を結ぶ直線が直線モデルとして設定される。そして、エッジ点群Ｅの他の点がこの直線モデルに対してどの程度当てはまるかについて評価される。順次、２点を選んで所定回数、評価を繰り返し、最も適合度の高い直線モデルが直線として決定される。図１１は、図１０に示すエッジ点群Ｅに対して直線Ｇを当てはめた例を示している。
【００８２】
〔校正点特定工程／校正点検出工程／交点演算工程〕
直線Ｇが当てはめられると、次に、交点演算機能が実行され、当てはめられた直線Ｇの交点の座標が算出される。直線Ｇは一次関数であるから簡単な計算により、図１２に示すように、画像座標系における交点座標（校正点Ｑ）を特定することができる。尚、この座標は、車両９０に取り付けられたカメラ１のカメラ座標系の射影面における座標（実座標）であるから、カメラ１が完全に誤差無く取り付けられていない限り、理想的なカメラ座標系の射影面における座標とは異なる。
【００８３】
〔調整工程〕
カメラ１が規定位置に規定の姿勢で完全に誤差なく取り付けられたと仮定した場合、つまり、理想的なカメラ座標系の射影面において、それぞれの校正点（後述するＰ１int、Ｐ２int）が特定される理論上の座標を「初期座標」とする。つまり、カメラ座標系とワールド座標系とが理想的な関係を満たす際に、ワールド座標系に対してカメラ座標系を規定するカメラパラメータ（特に回転パラメータ）の初期値により射影面において校正点が特定される座標が「初期座標」である。尚、一度校正されたカメラ１の再校正の場合には、前回の校正結果により確定されたカメラパラメータが初期値となることがある。従って、ここでいう「初期値」は、現時点における校正（調整）開始時のパラメータである。
【００８４】
上記「初期座標」と上記「実座標」とはカメラ１が完全に誤差無く取り付けられていない限り異なるものである。以下、繰り返し演算により、カメラ調整値を修正しながら調整して当該カメラ調整値を決定し、カメラ１を校正する手順を図１３のフローチャートも参照しながら詳述する。
【００８５】
初期座標は、理想的なカメラ座標系とワールド座標系との関係を規定する回転パラメータを用いて特定される。座標変換部３は、確定前のカメラ調整値を用いて、「初期座標」を「変換座標」へと変換する。正確には、カメラ調整値を用いて補正された回転パラメータにより、後述する校正点Ｐ（Ｐ１、Ｐ２）が射影面Π上において特定される座標が「変換座標」である。
【００８６】
従って、カメラ１が正しく校正され、確定前のカメラ調整値、つまり、調整前のカメラ調整値（初期値）が適正な値であれば、「変換座標」は、上記「実座標」に一致するものとなる。カメラ１が誤差を有して車両９０に取り付けられ、カメラ１の校正が完了しておらず、カメラ調整値が適正でなければ、「変換座標」と「実座標」とは一致しない。従って、以下に詳述するように、「変換座標」と「実座標」とが一致するように「カメラ調整値」を演算することによって、カメラ１が校正される。座標変換機能は、下記に詳述する調整工程において随時実行され、座標変換工程が設けられるので、詳細については都度説明する。
【００８７】
〔調整工程／初期化工程〕
ＣＰＵ５は、以下に説明する調整機能を実行することにより、カメラ調整値を調整する。始めに、初期化機能が実行される。カメラ調整値は、図４に示した３つの回転方向に対応して、Δroll、Δpan、Δtiltとして設定される。カメラ調整値の演算を行うに際して、ＣＰＵ５は、各種の演算変数を初期化する。図６のブロック図には不図示であるが、ＣＰＵ５とプログラムとによって、初期化演算部が構成されていてもよい。カメラ調整値は、修正されながら調整されていくので、演算変数の１つでもあり、演算を開始するに際して、下記式(1)に示すように、例えば各値がゼロの初期値に初期化される（図１３＃１）。
【００８８】
【数１】
2010239412.tif 000003
【００８９】
尚、生産工場において初めてカメラ１が校正されるような場合には、式(1)に示すように、各値が全てゼロであると好適である。しかし、修理工場や整備工場において再調整されるような場合には、前回の校正結果を踏まえたゼロではない値が初期値として設定されることも当然にあり得ることである。
【００９０】
初期化工程においては、上述したカメラ調整値の他にも、調整演算時の演算変数であるカメラ姿勢値（roll_in、pan_in、tilt_in）、調整演算時の差分値（roll_out、pan_out、tilt_out）なども、下記式(2)〜(3)に示すように初期化される（図１３＃１）。これら各変数の示す意味などは後述する。尚、本実施形態においては、カメラ調整値を含めて、これらの変数はロール回転、パン回転、チルト回転における回転角度を表すものとして説明する。
【００９１】
【数２】
2010239412.tif 000004
【数３】
2010239412.tif 000005
【００９２】
〔調整工程／回転調整工程（第１調整工程）／カメラ姿勢設定工程〕
初期化工程に続いて、調整工程が実施される。校正プログラムが有する調整機能には、回転調整機能と位置調整機能とがある。つまり、図１３のフローチャートに示すように、回転調整工程（第１調整工程）＃１０と、位置調整工程（第２調整工程）＃２０とがある。本実施形態では、まず、回転調整機能（第１調整機能）が実行される。回転調整機能の始めには、ＣＰＵ５によりカメラ姿勢設定機能が実行され、カメラ姿勢が設定される（図１３＃２）。カメラ姿勢設定機能は、下記に示す第１座標変換機能に含めてもよい。ここでは、回転調整部１４がカメラ姿勢を設定し、カメラ姿勢設定工程（＃２）が回転調整工程（＃１０）に含まれる場合を例示している。しかし、ＣＰＵ５とプログラムとによってカメラ姿勢を設定するカメラ姿勢設定部が構成されてもよい。下記式(4)は、カメラ姿勢の設計値（roll、pan、tilt）を示す。
【００９３】
【数４】
2010239412.tif 000006
【００９４】
これらは、カメラ１が設計値通りに理想的に車両９０に設置されていた場合の回転パラメータから求められるカメラ姿勢を示す値である。カメラ姿勢の設計値（roll、pan、tilt）も、それぞれ、θr、θp、θtとして角度によって定義される。これらは、ワールド座標系に基づく基準（ref_r、ref_p、ref_t）に対して設定される。つまり、カメラ１は、ワールド座標系に基づく基準（ref_r、ref_p、ref_t）に対して、ロール、パン、チルトの各成分においてθr、θp、θtの角度偏差を有した姿勢を「規定の姿勢」として取り付けられている。
【００９５】
カメラ１が理想的に設置されているとき、このカメラ設計値に基づけば、射影面Πにおける「初期座標」に存在する校正点（Ｐ１int、Ｐ２int）は、検出された校正点Ｑに一致する。しかし、実際には、カメラ１の姿勢には誤差が含まれることが多いため、下記式(5)〜(7)に示すように、カメラ姿勢の設計値（roll、pan、tilt）に、カメラ調整値（Δroll、Δpan、Δtilt）を加えて、カメラ姿勢値（roll_in、pan_in、tilt_in）が設定される（図１３＃２）。
【００９６】
【数５】
2010239412.tif 000007
【００９７】
ここで、カメラ調整値（Δroll、Δpan、Δtilt）の各変数は、初期値であるから、カメラ姿勢値は、下記式(8)〜(10)に示すように、それぞれ、カメラ姿勢の設計値θr、θp、θtに設定される。
【００９８】
【数６】
2010239412.tif 000008
【００９９】
〔調整工程／回転調整工程／校正点演算工程（第１座標変換工程）〕
次に、ＣＰＵ５は、上記式(5)〜(7)（(8)〜(10)）に基づき工程＃２において設定されたカメラ姿勢値に基づいて、校正点Ｐを演算する（図１３＃３）。つまり、ＣＰＵ５は、カメラ１が規定位置に規定の姿勢で取り付けられた際に、射影面Πにおいてそれぞれの校正点Ｑが特定される座標である初期座標を確定前のカメラ調整値を用いて変換座標（第１変換座標）に変換する第１座標変換機能を実行する。「初期座標」から「変換座標」への変換は座標変換部１３によって実行される。ここでは、カメラ調整値が初期値（＝ゼロ）であるので、「変換座標＝初期座標」となる。
【０１００】
座標変換される校正点は、校正点特定部１２によって特定された校正点Ｑ（Ｑ１、Ｑ２）と区別するため、校正点Ｐ（Ｐ１、Ｐ２）と称する。図１４には、校正点特定部１２によって特定された校正点Ｑ（Ｑ１、Ｑ２）と、座標変換部１３により変換された校正点Ｐ（Ｐ１、Ｐ２）が射影面Π（画像座標系）における点として示されている。校正点Ｑ１、Ｑ２の座標は、それぞれ「実座標」であり、校正点Ｐ１、Ｐ２の座標は「変換座標」である。図１４においては、カメラ調整値が初期値であるので、校正点Ｐ１、Ｐ２は「初期座標」に位置する理想校正点Ｐ１int、Ｐ２intでもある。尚、図１４に示すように、カメラ姿勢の設計値rollは、ワールド座標系に基づくロール基準(ref_r)に対して設定されている。
【０１０１】
〔調整工程／回転調整工程／第１差分値演算工程（回転差分値演算工程）〕
図１４に示すように、射影面Π上には、実座標である校正点Ｑ１とＱ２を結んで得られる直線である実直線Ｌtgtと、変換座標である校正点Ｐ１とＰ２とを結んで得られる直線である変換直線Ｌcnvとが得られる。図１４においては、カメラ調整値が初期値であるので、変換直線Ｌcnvが、初期直線Ｌintと一致する。ＣＰＵ５は、回転差分値演算機能（第１差分値演算機能、ロール差分値演算機能）を実行する。つまり、回転調整部１４の差分値演算部１４ａは、実直線Ｌtgtと変換直線Ｌcnvとの成す角度δrollを、射影面Πに直交するＺC軸を中心とするロール回転におけるロール角の差分値roll_outとして演算するロール差分値演算工程（第１差分値演算工程）を実施する（図１３＃４）。
【０１０２】
具体的には、差分値演算部１４ａは、変換直線Ｌcnv（校正点Ｐ１とＰ２とを結ぶ線分）の中点ＰCを中心として、実直線Ｌtgtと変換直線Ｌcnvとの成す角度δrollだけ変換直線Ｌcnvを回転させる。これにより、図１５（ａ）に示すように、実直線Ｌtgtと傾きが一致する補正直線Ｌansが得られる。２点の実座標（Ｑ１、Ｑ２）の射影面Πの両軸方向における差分は、図１５（ｂ）に示すように、補正直線において実座標に相当する２点の差分（ｘ1，ｙ1）に等しい。また、図１５（ｂ）に示すように、２点の変換座標（Ｐ１、Ｐ２）の射影面Πの両軸方向  における差分は（ｘ2，ｙ2）である。射影面Π上において、差分（ｘ1，ｙ1）により定義される補正直線Ｌansの傾きをａans（＝ｘ1／ｙ1）、差分（ｘ2，ｙ2）により定義される変換直線Ｌcnvの傾きをａcnv（＝ｘ2／ｙ2）とすれば、ロール角の差分値roll_outは下記式(11)によって算出される。尚、この差分値roll_outは、実直線Ｌtgtに一致させる前の変換直線Ｌcnvと実直線Ｌtgtとの成す角度δrollにほぼ等しい。
【０１０３】
【数７】
2010239412.tif 000009
【０１０４】
〔調整工程／回転調整工程／第１調整値演算工程（回転調整値演算工程）〕
ロール角の差分値roll_outが求まると、差分値roll_outに基づいてロール回転における規定の姿勢（ロールの角度偏差θr）からの変位量であり、カメラ調整値を構成する調整値の１つである回転調整値（ロール調整値）Δrollを演算してカメラ調整値を更新する回転調整値演算機能（第１調整値演算機能、ロール調整演算機能）が実行される。つまり、回転調整部１４を構成する調整値演算部１４ｂが、ロール調整値Δrollを演算するロール調整値演算工程を実施する。ロール調整値Δrollは、下記式(12)に示すように、初期化工程＃１において設定され、回転調整を実施する前のロール調整値Δrollに差分値roll_outを加算して、ロール調整値Δrollを更新することによって求められる（図１３＃５）。
【０１０５】
【数８】
2010239412.tif 000010
【０１０６】
上述したように、ロール調整値Δrollは、初期値（＝ゼロ）に設定されている。従って、この段階では、ロール調整値Δrollとして、差分値演算により求められた差分値roll_outが設定される。これにより、カメラ調整値（Δroll、Δpan、Δtilt）の各変数は、下記式(13)のように更新されることになる。
【０１０７】
【数９】
2010239412.tif 000011
【０１０８】
〔調整工程／位置調整工程（第２調整工程）／カメラ姿勢設定工程〕
ＣＰＵ５は、回転調整機能の実行に引き続き、位置調整機能（第２調整機能）を実行する。射影面Πと同一平面上における回転（ロール回転）を調整する回転調整工程に続いて、射影面Πと同一平面上での位置ずれを調整する位置調整工程が位置調整部１５によって行われる。位置調整に先立って、回転調整の結果を反映した座標変換（校正点演算）を行うためにカメラ姿勢値（roll_in、pan_in、tilt_in）が再び設定される（図１３＃６）。つまり、回転調整機能の実行開始時と同様に、位置調整機能の実行開始時には、ＣＰＵ５によりカメラ姿勢設定機能が実行され、カメラ姿勢が設定される。このカメラ姿勢設定機能は、下記に示す第２座標変換機能に含めてもよい。上述した式(8)〜(10)の内、位置ずれに関するカメラ調整値（pan_in、tilt_in）は、変更がないので再設定されず、回転調整値roll_outに関する式(8)のみが、式(14)のように再設定される。
【０１０９】
【数１０】
2010239412.tif 000012
【０１１０】
カメラ姿勢設定工程は、図１３の＃２の工程と同様に、不図示のカメラ姿勢設定部が行ってもよいし、位置調整部１５が行ってもよい。ここでは、位置調整部１５により行われ、カメラ姿勢設定工程（図１３＃６）が位置調整工程（図１３＃２０）に含まれる場合を例示している。
【０１１１】
〔調整工程／位置調整工程／校正点演算工程（第２座標変換工程）〕
次に、ＣＰＵ５は、上記式(14)、(9)、(10)に基づき工程＃６において再設定されたカメラ姿勢値（roll_in、pan_in、tilt_in）に基づいて、校正点Ｐ１及びＰ２を再計算する（図１３＃７）。つまり、ＣＰＵ５は、回転調整値演算機能の実行により更新された確定前のカメラ調整値を用いて初期座標を変換座標（第２変換座標）に変換する第２座標変換機能を実行する。この変換は、座標変換部１３によって実行される。図１６には、校正点特定部１２によって特定された校正点Ｑ（Ｑ１、Ｑ２）と、第２座標変換工程において求められた校正点Ｐ（Ｐ１、Ｐ２）とが射影面Π（画像座標系）における点として示されている。また、図１６には、校正点Ｐ１、Ｐ２を結んで得られた変換直線Ｌcnv及び実直線Ｌtgtも示されている。
【０１１２】
〔調整工程／位置調整工程／水平位置調整工程と垂直位置調整工程〕
射影面Πと同一平面上における位置ずれは、図５に示すように射影面Πの画像座標系が２次元であるので、２つの軸を用いて定義することができる。つまり、図１６に示すように、射影面Πにおけるｙ方向とｘ方向とのずれ量によって定義することができる。図１６において、点ＰCは変換直線の線分の中点、つまり変換座標（第２変換座標）の中点を示す。また、点ＱCは実直線の線分の中点、つまり実座標の中点を示す。例えば、傾きを維持したままで変換直線Ｌcnvをｘ軸のずれ量分だけ矢印Ａ方向へ移動させ、ｙ軸のずれ量分だけ矢印Ｂ方向へ移動させると、変換直線Ｌcnvは矢印Ｃ方向へ移動したことになり、実直線Ｌtgtと変換直線Ｌcnvとは一致する。
【０１１３】
位置調整工程（第２調整工程）において、一度に矢印Ｃ方向への移動を実施することも可能ではあるが、本実施形態では、矢印Ａ方向への移動と、矢印Ｂ方向への移動との２段階に分けて実施する。図１、図４、図５より明らかなように、水平方向は画像座標系のｙ軸方向であり、垂直方向は画像座標系のｘ軸方向である。本実施形態においては、図１３に示すように、位置調整工程（＃２０）を水平位置調整工程（＃８ａ、＃９ａ）と、垂直位置調整工程（＃８ｂ、＃９ｂ）とに分けて実施する。本実施形態においては、ＣＰＵ５は、図１３に破線矢印で示すように、水平位置調整機能を実行した後、垂直位置調整機能を実行する。当然ながら、垂直位置調整機能を実行した後に、水平位置調整機能を実行することも可能である。尚、水平（＃８ａ）及び垂直（＃８ｂ）の位置差分値演算機能（位置差分値演算工程（＃８））を実行した後に、水平（＃９ａ）及び垂直（＃９ｂ）の位置調整値演算機能（位置調整値演算工程（＃９））を実行することも可能である。
【０１１４】
校正装置１０の位置調整部１５は、水平位置調整部１６と垂直位置調整部１７とを有して構成されている。また、水平位置調整部１６は、回転調整部１４と同様に、差分値演算部１６ａと調整値演算部１６ｂとを有して構成されている。同様に、垂直位置調整部１７も、差分値演算部１７ａと調整値演算部１７ｂとを有して構成されている。水平位置調整部１６により水平位置調整工程が実施され、垂直位置調整部１７により垂直位置調整工程が実施される。
【０１１５】
上述したように、回転差分値演算工程（図１３＃４）において、中点ＰCを中心として変換直線Ｌcnvを回転させて補正直線Ｌansを演算した。従って、中点ＰCの座標は変動しておらず、変換直線Ｌcnvの中点ＰCは、初期直線Ｌintの中点と同一座標であるとも考えられる。但し、位置調整工程（＃２０）の冒頭において、ロール調整値Δrollを再設定して再度変換直線Ｌcnvを求めている。
【０１１６】
図５に示すように、カメラ姿勢値のロール成分roll_inは、画像座標系の原点ＯIを中心とする回転を規定する。図５における座標ｍを射影面Π上の校正点Ｐとして考えると、回転中心は、中点ＰCではなく、原点ＯIであるから、再度変換された変換直線Ｌcnvの中点は、初期直線Ｌintの中点と必ずしも同一座標とはならない。このため、位置調整工程（＃２０）において、点ＰCと点ＱCとを一致させた場合に、ロール回転の誤差を招く可能性がある。このように、回転調整工程（＃１０）と位置調整工程（＃２０）とは、相互に影響を及ぼし合う。従って、校正装置１０は、カメラ調整値を修正しながら、回転調整工程（＃１０）と位置調整工程（＃２０）とを繰り返し実施して、カメラ調整値を収束させていく。
【０１１７】
本実施形態では、回転調整工程（＃１０）の後に位置調整工程（＃２０）を実施するという所定の順序でカメラ調整値の調整を行っている。この順序は、調整により、他のパラメータに与える影響が大きいパラメータの調整を先に行うという条件の元に設定される。１つの軸の調整が、他の軸に対する変位量に与える影響の大きさは、３つの軸において共通ではない。
【０１１８】
第２調整部１５は、第１調整部１４の調整結果を反映されて実行される。従って、第２調整部１５による調整に起因して、第１調整部１４の調整結果が大きく変動すると、第１調整部１４による調整が無駄になってしまう。その結果、第１調整部１４と第２調整部１５とに繰り返し調整を行わせても、カメラ調整値が収束できない可能性も生じる。このため、第１調整部１４による調整が、第２調整部１５の調整結果に与える影響の方が相対的に大きくなるように、第１調整部１４と第２調整部１５とが調整する軸が設定されると好適である。即ち、第１調整部１４による調整後の第２調整部１５による調整により生じる再調整誤差が、第２調整部１５による調整後の第１調整部１４による調整により生じる再調整誤差よりも小さくなるように、第１調整部１４において調整される軸が設定されるとよい。
【０１１９】
本実施形態のような車輌に搭載されるカメラ１の場合には、ロールの調整が、パン、チルトに与える影響が大きい。上述したように、ロールの調整時には、変換直線Ｌcnvの中点ＰCを中心とした射影面Πの回転量を演算するが、実際には、ロールの変位量は画像座標系の原点ＯIを中心とした回転量であることも一因である。本実施形態においては、このような背景に鑑みて、第１調整部１４を回転調整部１４として、ロール角の調整を行い、第２調整部１５を位置調整部１５として、パン角及びチルト角の調整を行う。
【０１２０】
〔調整工程／位置調整工程／水平位置（パン）調整工程／差分値演算工程〕
上述したように、本実施形態では、ＣＰＵ５は、先に水平位置調整機能（パン調整機能）を実行する。ＣＰＵ５は、位置差分値演算機能（第２差分値演算機能）の１つである水平位置差分値演算機能（パン差分値演算機能）を実行する。  即ち、第２差分値演算工程の１つである水平位置差分値演算工程（パン差分値演算工程）が実施される（図１３＃８ａ）。
【０１２１】
図１７の上段には、図１６と同様に、射影面Πをカメラ座標系のＺC軸に沿った方向から見た場合、つまり、射影面Πに対向して見た場合の様子が示されている。カメラ座標系のＹC−ＸC平面における座標を示しているともいえる。図１７に示すように、水平位置調整部１６の差分値演算部１６ａは、実直線Ｌtgtの中点ＱCのｙ座標ｙtgtに変換直線Ｌcnvの中点ＰCのｙ座標ｙcnvを一致させる。これにより、図１７に示すように、実直線Ｌtgtとｙ座標が一致する補正直線Ｌansが得られる。補正直線Ｌansの中点ＲCのｙ座標ｙansは、実直線Ｌtgtの中点ＱCのｙ座標ｙtgtと一致する。
【０１２２】
図１７の下段には、射影面Πをカメラ座標系のＸC軸に沿った方向から見た場合、即ち、射影面Πの面方向に沿った方向から見た場合の様子が示されている。カメラ座標系のＹC−ＺC平面における座標を示しているともいえる。ここで、射影面Πは、画像座標系のｙ軸に相当する直線で示されており、校正点ＰやＱ、中点ＰC、ＱC、ＲCは、ｙ座標成分によって、射影面Πを示す直線上にプロットされている。また、射影面Πを示す直線上には、画像座標系における原点ＯIもプロットされている。
【０１２３】
図１７に示すように、カメラ座標系において、カメラ座標系の原点ＯCと射影面Π上の２つの実座標の中点ＱCとを結ぶ直線を第２実直線Ｌtgt2と称する。水平位置調整工程においては、水平方向のみに注目しているため、カメラ座標系のＹC−ＺC平面においては、補正直線Ｌansの中点ＲCとカメラ座標系の原点ＯCとを結ぶ直線Ｌans2は、第２実直線Ｌtgt2と一致する。また、カメラ座標系において、原点ＯCと射影面Π上の２つの変換座標（第２変換座標）の中点ＰCとを結ぶ直線を第２変換直線Ｌcnv2と称する。
【０１２４】
差分値演算部１６ａは、カメラ座標系のＹC−ＺC平面において、第２実直線Ｌtgt2と第２変換直線Ｌcnv2との成す角度を、射影面Πに平行なカメラ座標系の一方の軸であるＸｃ軸を中心とするパン回転におけるパン角の差分値pan_outとして演算する（図１３＃８ａ）。
【０１２５】
画像座標系における原点ＯIは、図５に示すように、カメラ座標系のＺC軸と射影面Πとが直交する点である。また、画像座標系の原点ＯIとカメラ座標系の原点ＯCとは、焦点距離ｆだけ離間している。画像座標系のｙ軸方向、つまり、撮像素子のｖ軸方向における単位長さ当たりの画素数をｋvとすると、焦点距離ｆを撮像素子のｖ方向の単位長さ当たりの画素数により換算したｙ軸のスケールファクターＳyは、下記式(15)に示すように、単位長さ当たりの画素数ｋvと焦点距離ｆとの積となる。
【０１２６】
【数１１】
2010239412.tif 000013
【０１２７】
水平位置調整部１６の差分値演算部１６ａは、画像座標系の原点ＯIのｙ座標ｙCと、変換直線Ｌcnvの中点ＰCのｙ座標ｙcnvと、実直線Ｌtgtの中点ＱCのｙ座標ｙtgt（補正直線Ｌansの中点ＲCのｙ座標ｙans）と、スケールファクターＳyとに基づいて、第２実直線Ｌtgt2と第２変換直線Ｌcnv2との成す角度をパン角の差分値pan_outとして演算する（図１３＃８ａ）。具体的には、下記式(16)に示す演算が実行され、パン角の差分値pan_outが算出される。
【０１２８】
【数１２】
2010239412.tif 000014
【０１２９】
〔調整工程／位置調整工程／水平位置調整工程／調整値演算工程〕
差分値pan_outが求まると、ＣＰＵ５は、位置調整値演算機能（第２調整値演算機能）の１つである水平位置調整値演算機能（パン調整値演算機能）を実行する。つまり、位置調整値演算工程（第２調整値演算工程）の１つである水平位置調整値演算工程（パン調整値演算工程）が行われる（図１３＃９ａ）。
【０１３０】
ＣＰＵ５は、差分値pan_outに基づいてパン回転における規定の姿勢（パンの角度偏差θp）からの変位量であり、カメラ調整値を構成する調整値の１つである位置調整値の内の水平位置調整値（パン調整値）Δpanを演算してカメラ調整値を更新する水平位置調整値演算機能を実行する。位置調整部１５を構成する水平位置調整部１６の調整値演算部１６ｂは、下記式(17)に示すように、水平位置調整を実施する前のパン調整値Δpanに差分値pan_outを加算して、パン調整値Δpanを更新する（図１３＃９ａ）。
【０１３１】
【数１３】
2010239412.tif 000015
【０１３２】
上述したように、パン調整値Δpanは、初期値（＝ゼロ）に設定されているので、この段階では、パン調整値Δpanとして、校正点演算時の差分値pan_outが設定される。これにより、カメラ調整値（Δroll、Δpan、Δtilt）の各変数は、下記式(18)のように更新されることになる。
【０１３３】
【数１４】
2010239412.tif 000016
【０１３４】
〔調整工程／位置調整工程／垂直位置（チルト）調整工程／差分値演算工程〕
水平位置調整に続いて、ＣＰＵ５は、位置調整機能（第２調整機能）の１つである垂直位置調整機能（チルト調整機能）を実行する。ＣＰＵ５は、位置差分値演算機能（第２差分値演算機能）の１つである垂直位置差分値演算機能（チルト差分値演算機能）を実行する。即ち、第２差分値演算工程の１つである垂直位置差分値演算工程（チルト差分値演算工程）が実施される（図１３＃８ｂ）。
【０１３５】
本実施形態では、垂直位置調整においても、水平位置調整の前に座標変換により設定された変換直線Ｌcnvが利用される場合を例として説明する。つまり、上記式(14)、(9)、(10)に基づき工程＃６において再設定されたカメラ姿勢値（roll_in、pan_in、tilt_in）に基づいて座標変換部１３によって演算された校正点Ｐ１及びＰ２を結んで得られた変換直線Ｌcnvが利用される。図１８の左側には射影面Πをカメラ座標系のＺC軸に沿った方向から見た図、つまり、射影面Πに対向して見た場合の様子が示されている。カメラ座標系のＹC−ＸC平面における座標を示しているともいえる。ここでは、変換直線Ｌcnvが破線で、実直線Ｌtgtが実線で示されている。
【０１３６】
図１６を利用して上述したように、射影面Πと同一平面上における位置ずれは射影面Πにおけるｙ方向とｘ方向とのずれ量によって定義することができる。本実施形態では、一度に図１６に示す矢印Ｃ方向への移動を実施せず、矢印Ａ方向への移動と、矢印Ｂ方向への移動との２段階に分けて実施している。矢印Ａ方向の移動は、画像座標系のｙ軸方向に沿った水平方向の移動であり、これは、上述したように水平位置調整工程において水平位置調整部１６により実行されている。従って、以下、垂直位置調整部１７により実施される垂直位置調整工程について説明する。
【０１３７】
図１８の左側に示すように、垂直位置調整部１７の差分値演算部１７ａは、実直線Ｌtgtの中点ＱCのｘ座標ｘtgtに変換直線Ｌcnvの中点ＰCのｘ座標ｘcnvを一致させる。これにより、図１８に示すように、実直線Ｌtgtとｘ座標が一致する補正直線Ｌansが得られる。補正直線Ｌansの中点ＲCのｘ座標ｘansは、実直線Ｌtgtの中点ＱCのｘ座標ｘtgtと一致する。
【０１３８】
尚、水平位置調整工程（図１３＃８ａ、＃９ａ）において中点のｘ座標ｘcnvは変更していない。従って、水平位置調整工程の補正直線Ｌansを垂直位置調整工程の変換直線Ｌcnvとして、ここから垂直位置調整工程の補正直線Ｌansを求めることも可能である。このようにすると、垂直位置調整工程における補正直線Ｌansの中点ＲCの座標（ｘans，yans）と、実直線Ｌtgtの中点ＱCの座標（ｘtgt，ytgt）とが一致する。つまり、垂直位置調整工程において補正直線Ｌansと実直線Ｌtgtとが一致することとなる。ここでは、理解を容易にするために、図１６に示す変換直線Ｌcnvを利用して垂直位置調整を実行する例を説明する。これにより、水平位置調整及び垂直位置調整の何れを先に実行しても問題が無いことが明らかとなる。
【０１３９】
尚、水平位置調整工程（＃８ａ、＃９ａ）の後、垂直位置調整工程（＃８ｂ、＃９ｂ）の前に再度、座標変換を行って、変換座標を求めておくこともできる。しかし、水平、垂直の位置調整を何れの順番に実施しても同様なことから明らかなように、ここで座標変換を実施する効果は高くない。従って、座標変換の頻度を増やすことなく、連続して水平、垂直の位置調整を実施する方が好適である。
【０１４０】
図１８の右側には、射影面Πをカメラ座標系のＹC軸に沿った方向から見た場合、即ち、射影面Πの面方向に沿った方向から見た場合の様子が示されている。カメラ座標系のＸC−ＺC平面における座標を示しているともいえる。ここで、射影面Πは、画像座標系のｘ軸に相当する直線で示されており、校正点ＰやＱ、中点ＰC、ＱC、ＲCは、ｘ座標成分によって、射影面Πを示す直線上にプロットされている。また、射影面Πを示す直線上には、画像座標系における原点ＯIもプロットされている。
【０１４１】
図１７に基づいて上述したように、図１８においても、カメラ座標系において、カメラ座標系の原点ＯCと射影面Π上の２つの実座標の中点ＱCとを結ぶ直線を第２実直線Ｌtgt2と称する。垂直位置調整工程においては、垂直方向のみに注目しているため、カメラ座標系のＸC−ＺC平面においては、補正直線Ｌansの中点ＲCとカメラ座標系の原点ＯCとを結ぶ直線Ｌans2は、第２実直線Ｌtgt2と一致する。また、カメラ座標系において、原点ＯCと射影面Π上の２つの変換座標（第２変換座標）の中点ＰCとを結ぶ直線を第２変換直線Ｌcnv2と称する。
【０１４２】
差分値演算部１７ａは、カメラ座標系のＸC−ＺC平面において、第２実直線Ｌtgt2と第２変換直線Ｌcnv2との成す角度を、射影面Πに平行なカメラ座標系の一方の軸であるＹｃ軸を中心とするチルト回転におけるチルト角の差分値tilt_outとして演算する（図１３＃８ｂ）。
【０１４３】
原点ＯIは、図５に示すように、カメラ座標系のＺC軸と射影面Πとが直交する点であり、カメラ座標系の原点ＯCと焦点距離ｆだけ離間している。画像座標系のｘ軸方向、つまり、撮像素子のｕ軸方向における単位長さ当たりの画素数をｋuとすると、焦点距離ｆを撮像素子のｕ方向の単位長さ当たりの画素数により換算したｘ軸のスケールファクターＳxは、下記式(19)に示すように、単位長さ当たりの画素数ｋuと焦点距離ｆとの積となる。
【０１４４】
【数１５】
2010239412.tif 000017
【０１４５】
垂直位置調整部１７の差分値演算部１７ａは、画像座標系の原点ＯIのｘ座標ｘCと、変換直線Ｌcnvの中点ＰCのｘ座標ｘcnvと、実直線Ｌtgtの中点ＱCのｘ座標ｘtgt（補正直線Ｌansの中点ＲCのｘ座標ｘans）と、スケールファクターＳxとに基づいて、第２実直線Ｌtgt2と第２変換直線Ｌcnv2との成す角度をチルト角の差分値tilt_outとして演算する（図１３＃８ｂ）。具体的には、下記式(20)に示す演算が実行され、チルト角の差分値tilt_outが算出される。
【０１４６】
【数１６】
2010239412.tif 000018
【０１４７】
〔調整工程／位置調整工程／垂直位置（チルト）調整工程／調整値演算工程〕
差分値tilt_outが求まると、ＣＰＵ５は、位置調整値演算機能（第２調整値演算機能）の１つである垂直位置調整値演算機能（チルト調整値演算機能）を実行する。つまり、図１３＃９ｂに示すように、位置調整値演算工程（第２調整値演算工程）の１つである垂直位置調整値演算工程（チルト調整値演算工程）が行われる。
【０１４８】
ＣＰＵ５は、チルト角の差分値tilt_outに基づいてチルト回転における規定の姿勢（チルトの角度偏差θt）からの変位量であり、カメラ調整値を構成する調整値の１つである位置調整値の内の垂直位置調整値（チルト調整値）Δtiltを演算してカメラ調整値を更新する垂直位置調整値演算機能を実行する。位置調整部１５を構成する垂直位置調整部１７の調整値演算部１７ｂは、下記式(21)に示すように、垂直位置調整を実施する前のチルト調整値Δtiltに差分値tilt_outを加算して、チルト調整値Δtiltを更新する（図１３＃９ｂ）。
【０１４９】
【数１７】
2010239412.tif 000019
【０１５０】
上述したように、チルト調整値Δtiltは、初期値（＝ゼロ）に設定されているので、この段階では、チルト調整値Δtiltとして、チルト角の差分値tilt_outが設定される。これにより、カメラ調整値（Δroll、Δpan、Δtilt）の各変数は、下記式(22)のように更新されることになる。
【０１５１】
【数１８】
2010239412.tif 000020
【０１５２】
尚、上記説明においては、水平位置差分値演算機能、水平位置調整値演算機能、垂直位置差分値演算機能、垂直位置調整値演算機能の順に実行される場合を例示した。しかし、水平位置差分値演算機能に続いて垂直位置差分値演算機能が実行されるように構成された位置差分値演算機能が実行され、それに続いて、水平位置調整値演算機能に続いて垂直位置調整値演算機能が実行されるように構成された位置調整値演算機能が実行されてもよい。また、水平方向と垂直方向の調整を別々に実施することなく、第２実直線Ｌtgt2と第２変換直線Ｌcnv2との成す３次元上の角度（立体角）を求め、立体角の成分を分解して、差分値pan_out及びtilt_outを演算する位置差分値演算機能が実行されてもよい。
【０１５３】
〔調整工程／調整完了判定工程〕
このように、カメラ調整値（Δroll、Δpan、Δtilt）の各変数が一通り演算されると、調整完了判定部１８は、カメラ１の調整が完了したか否かを判定する。上述したように、調整工程は、カメラ調整値を修正しながら繰り返し行われるので、調整完了判定部１８は、繰り返し演算を完了させるか否かを判定する。具体的には、調整完了判定部１８は、回転調整部１４及び位置調整部１５において演算された差分値（roll_out、pan_out、tilt_out）が、それぞれ所定の完了しきい値未満である場合に、カメラ調整値の調整が完了したと判定する。
【０１５４】
回転調整部１４において演算されるロール回転の差分値roll_outに対する完了しきい値は、ロール調整しきい値（回転調整しきい値）roll_thである。位置調整部１５において演算されるパン回転の差分値pan_outに対する完了調整しきい値は、位置調整しきい値の１つであるパン調整しきい値（水平位置調整しきい値）pan_thである。位置調整部１５において演算されるチルト回転の差分値tilt_outに対する完了調整しきい値は、位置調整しきい値の１つであるチルト調整しきい値（垂直位置調整しきい値）tilt_thである。これら３つのしきい値は、個別の値を設定可能であるが、当然、同一の値に設定されることを妨げるものではない。調整完了判定部１８は、下記に示す論理式(23)が真である場合に、カメラ１の調整が完了したと判定する（図１３＃３０）。
【０１５５】
【数１９】
2010239412.tif 000021
【０１５６】
尚、これら完了しきい値は、本発明の基準変位量に相当する。本発明の第１調整部に相当する回転調整部１４では、第１変換座標と実座標とを利用して、差分値roll_outを演算する。差分値roll_outは、第１変換座標と実座標との変位量をロール角によって表したものである。同様に、本発明の第２調整部に相当する位置調整部１５では、第２変換座標と実座標とを利用して、差分値pan_out、tilt_outを演算する。差分値pan_out、tilt_outは、第２変換座標と実座標との変位量をそれぞれパン角及びチルト角によって表したものである。差分値roll_out、pan_out、tilt_outに対する完了しきい値であるロール調整しきい値roll_th、パン調整しきい値pan_th、チルト調整しきい値tilt_thは、それぞれ本発明の基準変位量に相当する。従って、調整完了判定部１８は、第１調整部１４及び第２調整部１５における調整時の変換座標と実座標との変位量がそれぞれ所定の基準変位量未満である場合に、カメラ調整値（Δroll、Δpan、Δtilt）の調整が完了したと判定する機能部である。
【０１５７】
校正装置１０は、工程＃３０において「真」となるまで、図１３に示すフローチャートの工程＃２〜＃３０を繰り返し行ってカメラ１を校正する。図１３の＃３０の工程において「真」と判定されると繰り返しを完了して、ループを抜ける。例えば、図１４〜図１８を参照して上述した工程は、この繰り返し演算の最初の流れを模擬したものである。調整の開始時であるので、この時点における差分値roll_out、pan_out、tilt_outは、比較的大きい値であることが多い。従って、多くの場合、工程＃３０において「偽」の判定となり、２度目のルーチンが開始される。
【０１５８】
つまり、ＣＰＵ５は、回転差分値演算機能及び位置差分値演算機能の実行により演算された差分値（roll_out、pan_out、tilt_out）が、それぞれ所定の完了しきい値（roll_th、pan_th、tilt_th）未満であることをカメラ調整値の調整の完了条件として判定を行い、完了条件を満たさない場合は、ＣＰＵ５は、第１座標変換機能、回転差分値演算機能、回転調整値演算機能、第２座標変換機能、位置差分値演算機能、位置調整値演算機能を繰り返し実行させ、完了条件を満たす場合は、繰り返し実行を完了させて次の機能を実行させる調整完了判定機能を実行する。
【０１５９】
〔調整工程の繰り返し〕
工程＃３０において「偽」の判定となると、再び工程＃２が実行される。前回は、カメラ調整値（Δroll、Δpan、Δtilt）が式(1)に示すように、全てゼロであったので、校正点演算時のカメラ姿勢値（roll_in、pan_in、tilt_in）は、式(2)に示すように、カメラ姿勢の設計値（roll、pan、tilt）と等価であった。しかし、工程＃２の２回目以降の実行時には、下記式(24)〜(26)に示すように、前回までの一連の工程（工程＃１０及び工程＃２０）によって演算されたカメラ調整値（Δroll、Δpan、Δtilt）が用いられる。
【０１６０】
【数２０】
2010239412.tif 000022
【０１６１】
次に、工程＃３において、第１座標変換機能が実行される。上記式(24)〜(26)に示すように、１回目の調整を経た後の工程＃２において設定されたカメラ姿勢値（roll_in、pan_in、tilt_in）を用いて変換された変換座標Ｐは、１回目の変換座標Ｐよりも実座標Ｑに近づいているはずである。上述したように、１回目の一連の調整においても回転調整はなされているが、ロール回転の回転中心が異なることや、その後に位置調整が実行されることによって、再びロール回転の誤差が生じている場合がある。このため、変換座標Ｐは、１回目の調整により実座標Ｑに近づいてはいるが一致しているとは限らない。
【０１６２】
工程＃３に続いて工程＃４が実施され、ロール回転における差分値roll_outが式(11)に基づいて算出される。差分値roll_outが求まると、次に、工程＃５において、式(12)に示すように、現時点でのロール調整値Δrollに差分値roll_outを加算することによって新たなロール調整値Δrollが演算され、更新される。
【０１６３】
次に、工程＃６において新たなロール調整値Δrollを用いて、ロールに関するカメラ姿勢値roll_inが再設定される。新たなロール調整値をΔrollNEWとすると、カメラ姿勢値（roll_in、pan_in、tilt_in）は、下記式(27)及び上記式(25)、式(26)により定義されることになる。
【０１６４】
【数２１】
2010239412.tif 000023
【０１６５】
次に、工程＃７において、式(25)〜式(27)に基づいて定義されたカメラ姿勢値（roll_in、pan_in、tilt_in）に基づいて、校正点Ｐが算出される。さらに、工程＃８の位置調整が実施されて、位置調整時の差分値pan_out及びtilt_outが上記式(16)及び式(20)に基づいて算出される。また、これら差分値pan_out及びtilt_outを用いて工程＃９が実行され、上記式(17)及び式(21)に基づいて位置調整値Δpan、Δtiltが算出され、更新される。
【０１６６】
〔調整工程／調整完了判定工程〕
全てのカメラ調整値（Δroll、Δpan、Δtilt）が一通り再演算されると、調整完了判定部１８は、カメラ調整値の調整が完了したか否かを判定する。複数回、工程＃２〜＃９が繰り返されることによって、次第に実座標Ｑと変換座標Ｐとが近づいていく。従って、回転調整工程（＃１０）及び位置調整工程（＃２０）において算出される差分値roll_out、pan_out、tilt_outも、回数を重ねるごとに次第に小さくなり、収束していく。ここでは、２回の繰り返しによって、実座標Ｑと変換座標Ｐとが、ほぼ一致する程度まで近づいたとする。その結果、上記論理式(23)は「真」となり、次の工程へ移行する。尚、図１３のフローチャートには図示していないが、工程＃３０が「偽」であっても、所定回数にわたって繰り返し演算が実行された場合には、プログラムの無限ループを抑制するために、調整完了判定部１８は調整完了と判定し、次の工程へ移行させる。
【０１６７】
〔確認座標演算工程〕
調整完了判定部１８により、繰り返し演算の完了が判定された時点におけるカメラ調整値（Δroll、Δpan、Δtilt）は、初期値から修正を加えられてきたものであり、随時、回転調整工程や位置調整工程において使用されてきた。しかし、これらのカメラ調整値（Δroll、Δpan、Δtilt）は、確定された値ではなく、確定前の仮カメラ調整値（未確定カメラ調整値）である。つまり、ＣＰＵ５内の所定のレジスタやＲＡＭ（random access memory）などのワークエリアに一時記憶されている値である。
【０１６８】
ここで、ＣＰＵ５は、仮カメラ調整値を用いて初期座標を確認座標に補正する確認座標演算機能を実行すると好適である。つまり、座標変換部１３は、仮カメラ調整値を用いて補正されたカメラパラメータ（回転パラメータ）により、校正点Ｑのワールド座標系の３次元座標値を２次元の射影面Π上の座標値に変換する。これにより、自動調整の完了時の仮のカメラパラメータ（未確定カメラパラメータ）を用いて求められた理論上の校正点Ｑの座標値が確認座標として演算される。
【０１６９】
〔調整完了確認工程〕
確認座標が演算されると、ＣＰＵ５は、確認座標の位置を撮影画像上において明示する確認マーカをグラフィック画像として撮影画像に重畳させて表示部に表示させる調整完了確認機能を実行する。つまり、ＨＭＩ制御部２０の表示制御部２０１は、図１９に示すように、画像処理モジュール２を介してモニタ装置４の表示部４ａに、グラフィック画像としてマーカ枠Ｈ（確認マーカ）やタッチボタンを撮影画像に重畳表示させる。マーカ枠Ｈは、調整が正しく完了していた場合に、その枠内にマーカ８０が表示される位置に設定されている。確認座標は、マーカ枠Ｈの中央の座標となる。マーカ枠Ｈの各辺は、マーカ８０がマーカ枠Ｈの中央にある場合に、画像座標系においてマーカ８０の各辺と２〜５画素の余裕を持つように設定されると好適である。マーカ枠Ｈは、カメラ調整値（Δroll、Δpan、Δtilt）に与えられた調整の許容差に相当する分の余裕を持った大きさに設定されることができる。マーカ枠Ｈは、例えば緑色で表示されるＲＯＩ枠Ｆとの混同を避けるために、ＲＯＩ枠Ｆとは異なる色、例えば黄色で表示されると好適である。
【０１７０】
尚、ここでは、確認マーカとして方形のマーカ枠Ｈを例示しているが、図２１に示すような十字型マーカＪを用いることも可能である。確認マーカが十字型マーカＪの場合には、図２１に示すように校正点Ｐが確認座標において交差するような十字が描画される。人間工学的には、十字の交差点で示されたような確認マーカと校正点との一致を確認するよりも、枠などの中央に目標物が入っていることを確認する方が容易と言われている。また、人間工学的には、点に対して点を合わせるよりも、囲いの中央に目標物を納める方が容易と言われている。従って、マーカ８０の中央の点と、十字型マーカＪの十字の交差点との一致を確認するよりも、マーカ枠Ｈの枠内にマーカ８０が入っていることを確認する方が容易といえる。このため、本実施形態では、確認マーカとしてマーカ枠Ｈを用いている。
【０１７１】
本実施形態のようにマーカ８０の外形形状が方形の場合は、図１９に示すように、撮影画像上で平行四辺形に近い形となるマーカ８０の外形形状に相似形状の確認マーカとすると好適である。また、マーカ８０の外形形状が円形の場合には、撮影画像上で楕円に近い形となるマーカ８０の外形形状に相似形の楕円を確認マーカとすると好適である。マーカ８０の外形形状は既知であるから、所定のマージンを有して撮影画像上のマーカ８０を内包する適切な確認マーカを表示させることが可能である。
【０１７２】
作業者は、画面を目視により確認し、マーカ枠Ｈの中にマーカ８０が入っている場合には、カメラ１の校正が良好に完了したと判断して、タッチパネル４ｂの完了ボタンを操作する。タッチパネル４ｂへの操作は、ＨＭＩ制御部２０の指示入力受付部２０２を介して調整部３０やカメラ調整値設定部１９へ伝達される。
【０１７３】
〔カメラ調整値設定工程〕
上記、調整完了確認工程におけるタッチパネル４ｂへの操作は、仮カメラ調整値をカメラ調整値として確定させる確定指示入力である。確定指示入力を受け取ったＣＰＵ５は、回転調整値演算機能及び位置調整値演算機能の実行により演算された仮カメラ調整値（Δroll、Δpan、Δtilt）をカメラ調整値として確定させるカメラ調整値設定機能を実行する。つまり、指示入力受付部２０２を介して、この確定指示入力を受け取ったカメラ調整値設定部１９は、ロール調整値Δrollとパン調整値Δpanとチルト調整値Δtiltとをカメラ調整値として確定させる。
【０１７４】
具体的には、図３に示すように、ＣＰＵ５に接続されたパラメータメモリ７に記憶されるカメラ調整値が、ＣＰＵ５によって書き換えられる。上述したように、パラメータメモリ７は、書き換え可能な不揮発性メモリや、バックアップ電源を有したその他のメモリによって構成されている。好適には、フラッシュメモリやＥ2ＰＲＯＭを用いるとよい。カメラ調整値設定工程において、ＣＰＵ５のワークエリアに一時記憶された調整済みの仮カメラ調整値が、パラメータメモリ７に書き込まれ、更新されることによってカメラ１の校正が完了する。例えば、生産工場におけるカメラ１の校正作業が完了する。校正装置１０の全ての処理が完了すると、モニタ装置４の表示部４ａには、図７と同様に、例えば、ナビゲーションシステムの地図画面が表示される。
【０１７５】
尚、上記においては、調整完了判定工程において完了条件を満たしたと判定され、さらに、調整完了確認工程を経て、カメラ調整値設定工程が実施されたが、調整完了判定工程の後に、カメラ調整値設定工程が実施されてもよい。調整完了判定部１８が、回転調整部１４及び位置調整部１５において演算された差分値（roll_out、pan_out、tilt_out）が、それぞれ所定の完了しきい値（roll_th、pan_th、tilt_th）未満であることをカメラ調整値の調整の完了条件として判定を行い、完了条件が満たされていれば、必ずしも確認は必要ではない。従って、調整完了判定工程の後に、直ちにカメラ調整値が、パラメータメモリ７に書き込まれてもよい。調整完了判定工程の後、直ちにカメラ調整値設定工程が実施されても、調整完了判定工程の後、調整完了確認工程などの他の工程を経て、カメラ調整値設定工程が実施されても、調整完了判定の結果に基づいて、仮カメラ調整値をカメラ調整値として確定させることに変わりはない。また、調整完了確認工程などの他の工程が、調整完了判定工程又はカメラ調整値設定工程に含まれると考えることもできる。従って、調整完了判定の結果に基づいて、仮カメラ調整値をカメラ調整値として確定させることに変わりはない。
【０１７６】
尚、カメラパラメータの使用時に、確定されたカメラ調整値により、カメラパラメータが調整される場合には、パラメータメモリ７に、カメラパラメータの初期値（設計値）と確定されたカメラ調整値とが格納されればよい。この場合、カメラ調整値設定工程において、パラメータメモリ７には、カメラ調整値が書き込まれる。しかし、パラメータメモリ７には、予め、カメラ調整値により調整されたカメラパラメータが格納されてもよい。従って、カメラ調整値設定工程は、パラメータメモリ７に、カメラ調整値により調整されたカメラパラメータが書き込まれることを含む。いずれによせ、カメラ調整値設定工程において、調整を完了した仮カメラ調整値が確定されることに変わりはない。
【０１７７】
〔再調整工程（手動調整工程）〕
調整完了確認工程において、図２０に示すように、マーカ枠Ｈの中にマーカ８０が入っていない場合には、作業者は、カメラ１の校正が完了していないと判断する。上述したように、所定回数に亘って調整を繰り返しても、上記論理式(23)が「真」とならない場合にも、カメラ調整値設定工程（図１３＃４０）へ移行して調整が完了することがある。この場合、図２０のように、マーカ枠Ｈの中にマーカ８０が入らない可能性がある。このとき、表示制御部２０１は、マーカ枠Ｈや十字型マーカＪを上記とは異なる表示形態で表示させる。例えば、マーカ枠Ｈや十字型マーカＪを点滅させたり、上述した黄色とは異なる表示色である赤色で表示させたりする。
【０１７８】
また、表示制御部２０１は、校正点検出部１２により校正点が検出される際とは異なる表示形態でＲＯＩ枠Ｆを表示させる。上述したように、ＣＰＵ５は、切れ目なく校正点特定工程から調整工程（＃１０、＃２０）へと処理を続けていくので、作業者による確認のためのＲＯＩ枠Ｆは、調整工程の間も継続して表示されると好適である。従って、ＲＯＩ枠Ｆが継続して表示されていた場合には、表示制御部２０１は、ＲＯＩ枠Ｆの表示形態を変化させる。例えば、ＲＯＩ枠Ｆの表示色を緑色から赤色に変化させたり、点滅させたりすることによって、作業者に注意喚起する。連続して表示されていたＲＯＩ枠Ｆの表示形態を変化させるので作業者に対する視認性が向上する。これらもまた、ＣＰＵ５により実行される調整完了確認機能の１つの機能である。
【０１７９】
上記論理式(23)が「真」となることなく校正が完了したことはＣＰＵ５が認識可能である。具体的には、ＣＰＵ５は、調整部３０による自動調整の完了時の仮カメラ調整値を用いて求められた確認座標と実座標との差が所定の確定しきい値以上であるとき、自動調整による調整結果が不充分であると判定する自動調整結果判定機能を実行することができる。従って、この判定結果に基づいて、表示制御部２０１は、確認マーカ（マーカ枠Ｈや十字型マーカＪ）や領域枠（ＲＯＩ枠Ｆ）の表示形態を良好に制御することが可能である。
【０１８０】
このような場合、表示制御部２０１は、さらに、図２０に示すようにタッチパネル４ｂに矢印ボタンを表示させる。作業者は、タッチパネル４ｂの矢印ボタンを操作して、引き続き、手動でカメラ１の再調整を行う。つまり、ＣＰＵ５は、手動調整機能を実行する。マーカ枠Ｈの中央の確認座標は、自動調整における最後の補正直線Ｌans上の校正点の位置に相当する。従って、図２０に仮想線で示すように、撮影画像上には補正直線Ｌansが存在することになる。
【０１８１】
作業者は、必要に応じてタッチパネル４ｂの矢印ボタンを操作し、補正直線Ｌansの回転角度や上下左右の位置を調整することによって、マーカ枠Ｈにマーカ８０が収まるように手動で校正を行う。ここでは、補正直線Ｌansを表示部４ａには表示されない仮想線として例示したが、明示的に表示させると作業性の向上が期待できる。ＣＰＵ５（手動調整部６０）は、特許文献１や特許文献２と同様に、タッチパネル４ｂに表示されたタッチボタンの操作量に応じて、上記において算出されたカメラ調整値を補正する。手動調整により補正されたカメラ調整値は、ＣＰＵ５のワークエリアに一時記憶される仮カメラ調整値（未確定カメラ調整値）である。
【０１８２】
本実施形態では、確認マーカとしてマーカ枠Ｈを用いている。上述したように、人間工学的には、点と点とを一致させるよりも、囲いの中に対象物を収める方が容易と言われている。従って、このような手動調整を実施する場合にも、マーカ枠Ｈを用いる方が高い作業性を得ることができる。本実施形態においては、マーカ枠Ｈ（確認マーカ）は、校正点の理論上の座標の位置である確認座標を中心として、撮影画像上におけるマーカ８０を所定のマージンを有して内包する大きさの枠である。上述したように、マーカ８０は、方形状に構成されており、マーカ枠Ｈも方形状である。従って、調整完了確認工程においても再調整工程（手動調整工程）においても、マーカ８０の外形形状とマーカ枠Ｈとして表示される外枠とを良好に比較することができる。
【０１８３】
〔カメラ調整値設定工程〕
マーカ枠Ｈにマーカ８０が収まると、作業者は、タッチパネル４ｂの完了ボタンを操作する。タッチパネル４ｂへの操作は、ＨＭＩ制御部２０の指示入力受付部２０２を介して調整部３０や手動調整部６０、カメラ調整値設定部１９へ伝達される。そして、手動調整後の仮カメラ調整値（未確定カメラ調整値）がパラメータメモリ７に書き込まれ、カメラ調整値として確定される。校正装置１０の全ての処理が完了し、モニタ装置４の表示部４ａには、図７と同様に、例えば、ナビゲーションシステムの地図画面が表示される。
【０１８４】
〔調整完了確認工程及びカメラ調整値設定工程の特殊例〕
尚、表示制御部２０１は、上述した調整完了確認工程において、確認座標と実座標との差が所定の確定しきい値未満であっても、確認マーカ（マーカ枠Ｈや十字型マーカＪ）や領域枠（ＲＯＩ枠Ｆ）の表示形態を変化させることがある。具体的には、表示制御部２０１は、カメラ１が規定位置に規定の姿勢で取り付けられた際の回転パラメータと、調整部３０による繰り返し演算の完了時の仮カメラ調整値を用いて調整された回転パラメータとが同一の値であるとき、確定しきい値による判定結果に拘わらず、確認マーカや領域枠を異なる表示形態で表示させる。又は、カメラ調整値（Δroll、Δpan、Δtilt）が全て初期値であるゼロであった場合に、確認マーカや領域枠を異なる表示形態で表示させる。
【０１８５】
この際、回転パラメータが有するロール、パン、チルトの内の何れか１つが同一の値である場合に、確定しきい値による判定結果に拘わらず、確認マーカや領域枠を異なる表示形態で表示させてもよい。当然ながら、カメラ調整値（Δroll、Δpan、Δtilt）の内の少なくとも１つが、ゼロとなる場合に認マーカや領域枠を異なる表示形態で表示させてもよい。
【０１８６】
回転パラメータの誤差は、一般的な自然現象と同様に正規分布する。しかし、その中央値は回転パラメータが理想的な場合とはならない。つまり、カメラ調整値（Δroll、Δpan、Δtilt）がゼロとなる点が正規分布の中央値とはならない。回転パラメータの誤差につながる全ての部品が理想的な設計値になる確率は非常に低いため、正規分布の中央値が理想的な回転パラメータとはなることは稀である。また、カメラ１を車両９０に設置する際の生産上の最頻姿勢も、理想的な回転パラメータＲとなる姿勢ではないと考えられる。従って、カメラ調整値（Δroll、Δpan、Δtilt）の全てがゼロとなり、理想的な回転パラメータと、仮カメラ調整値を用いて調整された回転パラメータとが同一の値となるのは稀なことともいえる。
【０１８７】
このようなケースでは、ＣＰＵ５による演算が正しく実行されずにカメラ調整値（Δroll、Δpan、Δtilt）初期値のままであったことも考えられる。従って、画面上で作業者に目視確認を促し、注意を喚起するために、再調整工程と同様に、表示制御部２０１は、確認マーカ（マーカ枠Ｈや十字型マーカＪ）や領域枠（ＲＯＩ枠Ｆ）を異なる表示形態で表示させると好適である。
【０１８８】
また、カメラ調整値設定部１９は、このような状態でパラメータメモリ７にカメラ調整値（Δroll、Δpan、Δtilt）を書き込んだことを作業ログに記録しておくと好適である。例えば、ＣＡＮ５０を介して生産管理用コンピュータ等に記録を伝送する。又は、駐車支援ＥＣＵ９内部のダイアグノーシスメモリ等に記録しておく。つまり、パラメータメモリ７が未校正で初期状態のままであるのではなく、校正されて初期値と同一の値が再書込されたものであることを記録として残しておく。これにより、後にカメラ１が所望の姿勢に対してずれて設置されていること発見された際に、使用上生じたものであるか、生産不良により生じたものであるのかなどの追跡や解析が容易となる。
【０１８９】
〔他の実施形態〕
（１）上述した本実施形態では、作業者がモニタ装置４のシステム設定ボタン４ｈを操作して、表示部４ａに設定画面を表示させ、タッチパネル４ｂの所定のタッチボタンを操作することで、校正装置１０を起動させた。また、校正装置１０は、基本的に自動調整を行い、確認工程において手動調整が必要な場合に作業者が手動で調整を実施した。しかし、生産工場や修理工場ごとに設備が異なる場合もあり、全ての生産工場や修理工場において自動調整が可能であるとは限らない。そこで、校正装置１０の起動時においては、図２２に示すように、自動調整と手動調整とが選択可能に構成されていると好適である。
【０１９０】
上述したように、生産工場や修理工場において、作業者は、図７に示すシステム設定ボタン４ｈを操作して、表示部４ａに設定画面を表示させる。表示部４ａには、図２２の上段に示すように、車両９０の現在位置と共に地図が表示されているが、図２２の中断に示すような設定画面（第１設定画面）が表示される。ここで、タッチパネル４ｂの「カメラ調整」ボタンを作業者が選択すると、ＨＭＩ制御部２０の指示入力受付部２０２は、タッチボタンの指示を受け付け、ＣＰＵ５は、カメラ校正プログラムを起動する。ここまでは、上記実施形態と同様であり、上記実施形態においては上述したような自動調整演算が実行される。
【０１９１】
本実施形態においては、図２２の下段に示すように、さらに選択画面が表示される。ここで、タッチパネル４ｂの「自動調整」ボタンを作業者が選択すると、ＨＭＩ制御部２０の指示入力受付部２０２は、タッチボタンの指示を受け付け、ＣＰＵ５は、自動調整プログラムを起動する。この自動調整プログラムは、上述した実施形態のカメラ校正プログラムと同様である。選択画面において、タッチパネル４ｂの「手動調整」ボタンを作業者が選択すると、ＨＭＩ制御部２０の指示入力受付部２０２は、タッチボタンの指示を受け付け、ＣＰＵ５は、手動調整プログラムを起動する。手動調整が選択された場合には、特許文献１や特許文献２と同様の手動調整演算を実行するカメラ校正プログラムが起動される。
【０１９２】
（２）上記実施形態においては、車両９０の後方を撮影するカメラ１の校正を行う場合を例示したが、前方や側方を撮影するカメラの校正にも本発明の校正装置を適用することが可能である。
【０１９３】
（３）上記実施形態においては、第１調整部が回転調整部１４であり、第２調整部が位置調整部１５である場合を例として説明した。しかし、これに限定されることなく、校正対象のカメラの構造や、その取り付け方法によっては、第１調整部が位置調整部１５であり、第２調整部が回転調整部１４であってもよい。
【０１９４】
（４）カメラ１の取り付け精度の公差管理において上述したパン回転、又はチルト回転の何れか一方が高精度に管理可能である場合、位置調整部１５は、水平位置調整部１６又は垂直位置調整部１７の何れか一方のみにより構成されてもよい。位置調整工程（＃２０）や、位置調整機能についても同様である。
【０１９５】
（５）関心領域ＲＯＩの設定や、このＲＯＩ枠Ｆを表示部４ａに重畳させることは、カメラ校正方法に依らず可能である。手動調整の場合を含め、上記実施形態とは異なる演算手法によってカメラの校正を行う場合、例えば特許文献３に記載したようなアルゴリズムを用いる場合においても可能である。また、確認マーカとして方形のマーカ枠Ｈを用いる点についても、カメラ校正方法に依らず可能である。つまり、手動調整の場合を含め、上記実施形態とは異なる演算手法によってカメラの校正を行う場合、例えば特許文献３に記載したようなアルゴリズムを用いる場合においても可能である。
【０１９６】
以上説明したように、本発明によって、簡単な構成で、短時間で精度良く車載カメラを校正することができる生産性の高い車載カメラの校正装置を提供することが可能となる。
【符号の説明】
【０１９７】
１：カメラ（車載カメラ）
１０：校正装置
１１：画像取得部
１２：校正点特定部
１３：座標変換部
１４：回転調整部、ロール調整部（第１調整部）
１５：位置調整部（第２調整部）
１６：水平位置調整部（パン調整部）
１７：垂直位置調整部（チルト調整部）
１８：調整完了判定部
１９：カメラ調整値設定部
８０：マーカ（校正指標）
９０：車両
pan_out：パン回転の差分値
pan_th：パン調整しきい値（完了しきい値）
roll_out：ロール回転の差分値
roll_th：ロール調整しきい値（完了しきい値）
tilt_out：チルト回転の差分値
tilt_th：チルト調整しきい値（完了しきい値）
Ｌtgt：実直線
Ｌcnv：変換直線
Ｌtgt2：第２実直線
Ｌcnv2：第２変換直線
ＯC：カメラ座標の原点
ＰC：変換直線の中点
Ｑ、Ｑ１、Ｑ２、Ｐ、Ｐ１、Ｐ２、Ｐ１int、Ｐ２int：校正点
ＱC：実直線の中点
Π：射影面
Δroll：ロール調整値、回転調整値、カメラ調整値
Δpan：パン調整値、水平位置調整値、位置調整値、カメラ調整値
Δtilt：チルト調整値、垂直位置調整値、位置調整値、カメラ調整値
（ｘcnv，ｙcnv）：変換直線の中点の座標
（ｘtgt，ｙtgt）：実直線の中点の座標
（ｘans，yans）：補正直線の中点の座標
【図１】
2010239412.tif 000024
【図２】
2010239412.tif 000025
【図３】
2010239412.tif 000026
【図４】
2010239412.tif 000027
【図５】
2010239412.tif 000028
【図６】
2010239412.tif 000029
【図７】
2010239412.tif 000030
【図８】
2010239412.tif 000031
【図９】
2010239412.tif 000032
【図１０】
2010239412.tif 000033
【図１１】
2010239412.tif 000034
【図１２】
2010239412.tif 000035
【図１３】
2010239412.tif 000036
【図１４】
2010239412.tif 000037
【図１５】
2010239412.tif 000038
【図１６】
2010239412.tif 000039
【図１７】
2010239412.tif 000040
【図１８】
2010239412.tif 000041
【図１９】
2010239412.tif 000042
【図２０】
2010239412.tif 000043
【図２１】
2010239412.tif 000044
【図２２】
2010239412.tif 000045