説明

車載カメラの校正装置

【課題】自動調整の結果、不合格となった場合であっても簡単に追加の調整を実施して校正を完了させることが可能な車載カメラの校正装置を提供する。
【解決手段】自動調整部30による調整の完了時のカメラパラメータを用いて演算された、射影面における校正点の理論上の座標の位置を撮影画像上において明示する確認マーカを撮影画像に重畳させて表示部に表示させる表示制御部201と、表示部に表示された画像上において確認マーカを移動させることが可能な調整指示入力を受けて移動する確認マーカの移動量に対応する校正点の理論上の座標の変化量に基づいて、カメラパラメータを調整する手動調整部60と、自動調整部30及び手動調整部60による最新の調整完了時の未確定カメラパラメータを確定指示入力を受けてカメラパラメータとして確定させるカメラパラメータ設定部19とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車載カメラを車両に取り付けた際の取り付け誤差を調整して車載カメラを校正する車載カメラの校正装置に関する。
【背景技術】
【0002】
近年、ドライバーの視野を補ったり、運転支援のための画像処理の入力情報としたりするために、車両周辺の情景を撮影するカメラが車両に搭載されることが増えている。カメラにより撮影された画像が駐車支援装置などに利用される場合には、カメラによる撮影画像の座標系と、画像処理に用いる画像の座標系との相関関係が精度良く整合している必要がある。しかし、実際には、カメラ自体の生産上の精度や、車両にカメラを取り付ける際の取り付け精度などにより、両座標系の相関関係は、設計上の理想的な相関関係とはならないことが多い。従って、車両の生産工程においてカメラの校正を行い、両座標系の整合が図られている。
【0003】
特開2001−245326号公報(特許文献1)や、特開2005−77107号公報(特許文献2)には、上述したような、車両の生産工程においてカメラの校正を行う技術が開示されている。これらには、作業者による調整ボタンの操作により、ディスプレイ画面上において、カメラにより撮影された校正指標と、撮影画像に重畳表示された調整枠とを所定の基準のもとに一致させてカメラの校正を行う技術が記載されている。調整枠は、3次元直交座標系におけるロール・チルト・パンに対応して3種設けられる。順次、これらの調整枠に校正指標が収まるように調整ボタンを操作することによって、カメラパラメータが変更される。3つの軸に対する調整が全て完了すると、変更されたカメラパラメータがメモリに記録される。
【0004】
特許文献1や特許文献2に記載された技術は、簡単な構成でカメラを校正することができる優れたものである。しかし、カメラの回転に対応する3軸に対する調整を、作業者がディスプレイ画面を見ながら手動で調整ボタンを操作して行うため、校正に時間を要する。また、作業者によって校正精度が安定せず、校正が不充分な製品が後工程に送られる可能性もある。そこで、特開2008―131250号公報(特許文献3)に示すように、カメラの回転行列を演算して、カメラパラメータ(投影パラメータ)を求める技術が提案されている。これによれば、基準座標において所定の位置に配置された校正点の基準座標系における座標に基づいて第1行列が演算される。また、カメラの撮影画像から特定された校正点の画像座標系の座標に基づいて第2行列が演算される。そして、第1行列と第2行列とからカメラの回転行列(第3行列)が演算される。また、特許文献3では、自動計算によって校正を実施するため、校正結果の合否を判定する合否判定部が備えられている。そして、合否判定部が校正結果を不合格と判定した場合には、校正が不十分な製品が後工程に送られることがないように、次の工程への移行が制限される。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2001−245326号公報(第22〜23段落、第34〜44段落、図6等)
【特許文献2】特開2005−77107号公報(第43〜63段落等)
【特許文献3】特開2008−131250号公報(第54〜96、100〜102段落、図20、図21等)
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献3に記載された技術は、特許文献1や2のように「視覚的に合わせ込む」のではなく、カメラの回転行列を求めることによって理想的にカメラを校正する優れたものである。しかし、自動調整の結果に対して、合否判定部が不合格と判定した場合には、次の工程への移行が制限される。わずかに合格基準に達しなかった場合でも、一律に不合格とされると、生産ラインから排除される仕掛かり品が増加して生産性を低下させる可能性がある。
【0007】
本発明は、上記課題に鑑みて創案されたもので、自動調整の結果、不合格となった場合であっても簡単に追加の調整を実施して校正を完了させることが可能な車載カメラの校正装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するための本発明に係る車載カメラの校正装置の特徴構成は、
車両に取り付けられた車載カメラにより、異なる複数箇所の所定位置に配置された校正指標を視界内に含んで撮影された撮影画像を取得する画像取得部と、
前記撮影画像において前記校正指標の中のそれぞれの校正点を特定する校正点特定部と、
特定された前記校正点を用いて、前記車載カメラのカメラパラメータを自動調整する自動調整部と、
前記自動調整の完了時の前記カメラパラメータを用いて演算された前記校正点の理論上の座標の位置を前記撮影画像上において明示する確認マーカをグラフィック画像として前記撮影画像に重畳させて表示部に表示させる表示制御部と、
前記表示部に表示された画像上において前記確認マーカを移動させることが可能な調整指示入力を受け付ける指示入力受付部と、
前記確認マーカの移動量に対応する前記校正点の前記理論上の座標の変化量に基づいて、前記自動調整した前記カメラパラメータを手動調整する手動調整部と、
前記自動調整部及び前記手動調整部による最新の調整完了時の前記カメラパラメータである未確定カメラパラメータを、前記指示入力受付部により受け付けられる確定指示入力に基づいて前記カメラパラメータとして設定するカメラパラメータ設定部と、を備える点にある。
【0009】
この構成によれば、自動調整部による調整が完了した時点では、演算されたカメラパラメータが未確定カメラパラメータとして設定され、この未確定カメラパラメータを用いて校正点の理論上の座標の位置が演算される。そして、この理論上の座標の位置を明示する確認マーカがグラフィック画像として撮影画像に重畳表示されるので、作業者は容易に自動調整の結果を確認することができる。そして、自動調整が不充分な場合には、作業者は、表示部に表示された画像上において確認マーカを移動させることが可能な調整指示入力を与えて正しい位置へ確認マーカを移動させることができる。さらに、手動調整部が、確認マーカの移動量に対応する校正点の前記理論上の座標の変化量に基づいて、カメラパラメータを調整する。自動調整部及び手動調整部による最新の調整完了時のカメラパラメータである未確定カメラパラメータは、作業者が、確定指示入力を与えるとカメラパラメータとして設定され、良好に校正が完了する。このように、本特徴構成によれば、自動調整の結果に対する合否判定により不合格となった場合であっても、簡単に手動調整などの追加の調整を実施して校正を完了させることが可能な車載カメラの校正装置を提供することが可能となる。つまり、本構成によれば、完全な自動調整ではなく、自動調整結果の作業者による目視確認や目視確認後の手動調整を含んだ「半自動調整」を合理的に実現できる。自動校正を含むことによって、校正作業に要する時間を短縮しつつ、目視確認によって、出荷される製品に不良品が混入することを防止できる。また、自動調整による校正が充分ではない場合には、手動調整によりさらに校正を続けることができ、生産ラインから不良として製品が排除される確率を減らして生産性を向上させることができる。
【0010】
また、本発明に係る車載カメラの校正装置の前記確認マーカは、前記撮影画像上における前記校正指標を所定のマージンを有して内包する大きさの確認枠であると好適である。
【0011】
人間工学的には、十字の交差点で示されたような確認マーカと校正点との一致を確認するよりも、枠などの中央に目標物が入っていることの確認の方が容易と言われている。また、人間工学的には、点に対して点を合わせるよりも、囲いの中央に目標物を納める方が容易と言われている。従って、確認マーカを枠形状とした方が確認の際の視認性も向上し、手動調整の際の作業性も向上する。本発明の校正装置では、確認マーカの外形枠を手動調整の目安としても良好に使用することができる。校正指標の外形形状は既知であるから、所定のマージンを有して撮影画像上の校正指標を内包する適切な確認マーカを表示させることで、高い作業性を確保することができる。車載カメラの搭載姿勢などによって、撮影画像上における校正指標の外形形状は、歪みを有するので、これを考慮して、撮影画像上において歪む外形形状の相似形状の確認マーカを表示させるとよい。例えば、校正指標の外形形状が方形の場合は、撮影画像上で平行四辺形に近い形となる校正指標の外形形状に相似形状の確認マーカとすると好適である。また、校正指標の外形形状が円形の場合には、撮影画像上で楕円となる校正指標の外形形状に相似形状の確認マーカとすると好適である。
【0012】
また、本発明に係る車載カメラの校正装置は、好適な一形態として、
車両に取り付けられた車載カメラにより、3次元の基準座標系の異なる複数箇所の所定位置に配置された校正指標を視界内に含んで撮影された撮影画像を取得する画像取得部と、
前記車載カメラの3次元のカメラ座標系の射影面である前記撮影画像において前記校正指標の中のそれぞれの校正点を特定する校正点特定部と、
特定された前記校正点を用いて、前記基準座標系に対して前記カメラ座標系を規定するカメラパラメータを自動調整する自動調整部と、
前記自動調整の完了時のカメラパラメータを用いて演算された、前記射影面における前記校正点の理論上の座標の位置を前記撮影画像上において明示する確認マーカをグラフィック画像として前記撮影画像に重畳させて表示部に表示させる表示制御部と、
前記表示部に表示された画像上において前記確認マーカを移動させることが可能な調整指示入力を受け付ける指示入力受付部と、
前記確認マーカの移動量に対応する前記校正点の前記理論上の座標の変化量に基づいて、前記自動調整した前記カメラパラメータを手動調整する手動調整部と、
前記自動調整部及び前記手動調整部による最新の調整完了時の前記カメラパラメータである未確定カメラパラメータを、前記指示入力受付部により受け付けられる確定指示入力に基づいて前記カメラパラメータとして設定するカメラパラメータ設定部と、を備えて構成される。上述した本発明の概要、並びに本発明のさらなる特徴及び特性は、下記に示す添付図面を参照して以下に述べる詳細な説明より明らかになるであろう。
【図面の簡単な説明】
【0013】
【図1】校正用マーカと車両との配置関係の一例を示す説明図
【図2】校正用マーカの一例を示す説明図
【図3】本発明の車載カメラの校正装置を含む車両内のシステム構成の一例を模式的に示すブロック図
【図4】ワールド座標系とカメラ座標系との関係を示す説明図
【図5】カメラ座標系と画像座標系との関係を示す説明図
【図6】本発明の車載カメラの校正装置の構成の一例を模式的に示すブロック図
【図7】モニタ装置の一例を示す正面図
【図8】関心領域を示す枠をモニタ装置へ表示する例を示す図
【図9】関心領域の設定原理を示す説明図
【図10】エッジ検出後の画像の一例を示す説明図
【図11】直線検出の一例を示す説明図
【図12】校正点検出の一例を示す説明図
【図13】Nベクトルを示す説明図
【図14】カメラ回転に関する基本定理を説明する説明図
【図15】第1行列の元となるNベクトルを示す説明図
【図16】第2行列の元となるNベクトルを示す説明図
【図17】カメラの校正が成功した時のモニタ装置への表示例を示す図
【図18】カメラの校正が成功しなかった時のモニタ装置への表示例を示す図
【図19】確認マーカの他の例を示す図
【図20】校正装置起動時の表示部への表示例を示す図
【発明を実施するための形態】
【0014】
以下、車両90の後方の情景を撮影するカメラ1(車載カメラ)を校正する場合を例として、本発明の校正装置の実施形態を図面に基づいて説明する。カメラ1(車載カメラ)は、車両90の後方のナンバープレートの上方に車軸から側方へオフセットした位置に、光軸を下方(例えば水平から30°下方)に向けて設置される。カメラ1は、例えば視野角110〜120°の広角レンズを備えて構成され、後方約8m程度までの領域を撮影可能である。このカメラ1は、車両の生産工場等で車両90に取り付けられる際に取り付け誤差を吸収するべく校正される。また、修理工場などにおいて、走行による振動の累積や衝撃などによるカメラ1のずれを修正するべく校正される。
【0015】
図1に示すように、マーカ80(校正指標)は、カメラ1の視野範囲内において2箇所に配置される。また、マーカ80は、ワールド座標系(基準座標系)においてその座標が既知となるように所定位置に配置される。本例において、マーカ80は、図2に示すように白黒の市松模様のパターンを有している。パターン中央の点Qが校正点であり、カメラ1の校正の基準となる。つまり、マーカ80は、ワールド座標系においてこの校正点Qの座標が既知となるように配置される。尚、ここでは白の矩形2個、黒の矩形2個の計4個の矩形により校正指標8が校正される例を示したが、合計4個以上の矩形によってマーカ80が構成されても良く、その数を限定するものではない。また、マーカ80は複数箇所であれば、3箇所以上に配置されてもよく、校正点Qも3つ以上の異なる座標に配置されてもよい。
【0016】
図1に示す例では、2つのマーカ80はワールド座標系におけるYWW平面に相当する床上に、ワールド座標系のZW軸に相当する車両の主軸に対して左右対称に配置されている(D1=D2、W1=W2)。ただし、常に左右対称である必要はなく、カメラ1の視野内であって、座標値が既知であればその配置は自由である。マーカ80は、異なる工場等であっても、共通に配置されると校正装置を共通化することができて好ましい。但し、マーカ80の配置の差異は、プログラムやパラメータの変更によって容易に対応できることも多い。従って、工場において確保できる広さや他の設備との関係によってマーカ80は任意に配置されることが可能である。
【0017】
マーカ80の寸法は、カメラ1の分解能や校正装置が備える画像処理機能の性能、マーカの配置位置などに応じて、精度良く校正点Qを検出できるように適切に定められる。一例として、D1やD2が1〜2m、W1やW2が1.5m程度である場合には、図2に示すように、各白黒が10〜15cm四方、全体が20〜30cm四方のマーカ80が利用される。
【0018】
尚、マーカ80は、壁面や衝立などの垂直面上に設置されてもよい。この場合も、校正点Qのワールド座標(XW,YW,ZW)を正確に把握することが可能である。つまり、マーカ80は、カメラ1の視野内であれば、床面及び壁面を含む任意の面に配置可能である。本実施形態では、カメラ1を下方に向けて車両に搭載しているため、天井面にマーカ80を配置することは適切ではない。しかし、天井面がカメラ1の視野に入る場合には勿論天井面に配置されてもよい。また、マーカ80は、ワールド座標(XW,YW,ZW)の軸に対して、垂直に配置される必要はない。当然、2つのマーカ80の一方が床面上、他方が衝立上に配置されるなど、異なる面上に配置されてもよい。重要であるのは校正点Qであり、マーカ80はどのような面に配置されても構わない。つまり、ワールド座標系において校正点Qが正確に配置され、カメラ1の撮影画像から校正点Qが良好に検出可能であればマーカ80の設置方向は任意である。
【0019】
本実施形態において、車両90は駐車支援装置を搭載しており、カメラ1により撮影された車両90の周辺の情景はこの駐車支援装置に利用される。この駐車支援装置は、車庫入れ駐車や縦列駐車における後退時に、ドライバーが設定したり、駐車支援装置により自動設定されてドライバーによって確認されたりした駐車位置に車両90を誘導する。この誘導は、例えば、ドライバーにより操作されるステアリングの操舵角を検出して、車両90の予想進路を撮影画像に重畳表示させるものである。また、別の誘導は、たとえば、駐車位置に対して車両90を移動させるべく、自動的に操舵制御を行うものである。
【0020】
図3は、このような駐車支援装置40を搭載する車両90のシステム構成の一例を模式的に示すブロック図である。駐車支援装置40には、後述するように画像認識などの高度な画像処理を行い、駐車支援装置40の中核を担うCPU(central processing unit)5が備えられている。CPU5は、プログラムメモリ6に格納されたプログラムや、パラメータメモリ7に格納されたパラメータを利用して各種処理を実行する。ここでは、プログラムメモリ6やパラメータメモリ7は、CPU5とは別の不揮発性メモリであるが、CPU5と同一のパッケージ内に集積されていてもよい。駐車支援装置40は、CPU5やメモリ、その他の周辺回路と共に、駐車支援ECU(electronic control unit)9として構成される。本例では、CPU5を中核としたが、駐車支援装置40は、DSP(digital signal processor)など、他の論理演算プロセッサや論理回路を中核として構成されてもよい。
【0021】
図3に示すように、カメラ1により撮影された画像は、スーパーインポーズ部2a、グラフィック描画部2b、フレームメモリ2cなどを有する画像処理モジュール2を介して、モニタ装置4に表示される。カメラ1は、CCD(charge coupled device)やCIS(CMOS image sensor)などの撮像素子を用いて、毎秒15〜30フレームの2次元画像を撮影し、デジタル変換して動画データを出力するデジタルカメラである。各フレームの2次元画像は、フレームメモリ2cに格納され、フレームごとに画像処理やグラフィックの重畳を施されることが可能である。グラフィック描画部2bへの描画指示や、スーパーインポーズ部2aへのグラフィック重畳指示は、CPU5から発せられる。
【0022】
モニタ装置4は、ナビゲーションシステムのモニタ装置が兼用されている。図3に示すように、モニタ装置4は、表示部4aと、表示部4aに形成されたタッチパネル4bと、スピーカ4cとを有している。表示部4aは、画像処理モジュール2から提供されるカメラ1の撮影画像や、グラフィック画像、それらが合成された合成画像などを表示する。一例として、表示部4aは液晶ディスプレイによって構成される。タッチパネル4bは、表示部4aと共に形成され、指などによる接触位置をロケーションデータとして出力することができる感圧式や静電式の指示入力装置である。図3においては、スピーカ4cは、モニタ装置4に備えられている場合を例示しているが、スピーカ4cはドアの内側など、他の場所に備えられても良い。スピーカ4cは、CPU5の指示に応じて音声処理モジュール3から提供される音声を出力する。尚、CPU5は、単純にブザー8を介して報知音を鳴らす場合もある。
【0023】
CPU5は、図3において符号50で示す車内ネットワークを介して種々のシステムやセンサと通信可能に接続されている。本実施形態においては、車内ネットワークとしてCAN(controller area network)50を例示している。図3に示すように、駐車支援装置40(CPU5)は、車内のパワーステアリングシステム31やブレーキシステム37と接続される他、外部接続用端子などを介して外部システム33と接続される。これら各システムは、駐車支援装置40と同様にCPUなどの電子回路を中核として構成され、駐車支援ECU9と同様に周辺回路と共にECUを有して構成される。
【0024】
パワーステアリングシステム31は、アクチュエータ41によりステアリングホイールにアシストトルクを付加したり、ステアリングホイールや操舵輪を駆動したりする電動パワーステアリング(EPS : electric power steering)システムである。ブレーキシステム37は、アクチュエータ47を用いてブレーキ力を増強させるブレーキアシスト、ブレーキのロックを抑制するABS(anti lock braking system)などを有した電動ブレーキシステムである。外部システム33は、車両90の生産時や点検、整備の際に使用される検査システムや調整システム、ディーラーやユーザーが接続コネクタなどを介して取り付けるオプションシステムである。
【0025】
駐車支援装置40は、各種センサと連携し、これら各種センサの検出結果に基づいて駐車支援制御を実行する。図3において、各種センサの一例として、ステアリングセンサ21や車輪速センサ23、シフトレバースイッチ25、アクセルセンサ29がCAN50に接続されている。また、ステアリングのトルクセンサ22、ブレーキセンサ27などは、パワーステアリングシステム31やブレーキシステム37を介してCAN50に接続されている。
【0026】
ステアリングセンサ21は、ステアリングホイールの操舵量(回転角度)を検出するセンサであり、例えばホール素子などを用いて構成される。トルクセンサ22は、ドライバーのステアリングホイールに対する操作トルクを検出する。車輪速センサ23は、車両90の車輪の回転量や単位時間当たりの回転数を検出するセンサであり、例えばホール素子などを用いて構成される。ブレーキセンサ27は、ブレーキペダルの操作量を検出するセンサである。シフトレバースイッチ25は、シフトレバーの位置を検出するセンサ又はスイッチであり、変位センサなどを用いて構成される。
【0027】
図3に示す各種システムやセンサ、これらの接続形態については一例であり、他の構成や接続形態が採用されてもよい。また、上述したように、センサは直接CAN50に接続されても良いし、種々のシステムを介して接続されてもよい。
【0028】
上述したように、駐車支援装置40は、CPU5を中核として構成され、プログラムメモリ6に格納されたプログラム(ソフトウェア)と協働して駐車支援のための種々の演算を実施する。上述したような駐車支援を実施する際には、カメラ1による撮影画像の座標系と、画像処理に用いる画像の座標系との相関関係が精度良く整合されている必要がある。しかし、実際には、カメラ1自体の光学系の精度や、カメラ1を車両90に取り付ける際の取り付け精度などにより、両座標系の相関関係は、設計上の理想的な関係とはならないことが多い。このため、駐車支援装置40は、両座標系の相関関係を整合するためにカメラパラメータが格納されたパラメータメモリ7を有している。つまり、駐車支援装置40は、CPU5のハードウェアと、プログラムメモリ6に格納されたプログラム(ソフトウェア)と、パラメータメモリ7に格納されたカメラパラメータとの協働によって機能する。
【0029】
カメラパラメータは、カメラ1の車両90への取り付け状態によって変動する値である。従って、車両90の生産工程においてカメラ1の校正を行い、両座標系の整合を図ってカメラパラメータを決定する必要がある。つまり、基準座標系とカメラ1のカメラ座標系との関係をカメラパラメータにより特定することによってカメラ1を校正する必要がある。また、車両90の整備工場において、定期的にカメラ1の校正が可能であったり、車両90に過度の衝撃が加わった後の点検や整備において、カメラ1の校正が可能であったりすることが好ましい。このため、車両90には、カメラ1を校正する校正装置10が搭載される。あるいは、車両90に校正装置10が接続可能に構成される。また、パラメータメモリ7は、書き換え可能な記憶媒体により構成され、校正により決定されたカメラパラメータに更新される。
【0030】
1つの形態として、駐車支援装置40を構成するCPU5及びプログラムメモリ6を校正装置10として利用することが可能である。あるいは、駐車支援装置40を構成するプリグラムメモリ6とは別のプログラムメモリとCPU5とによって、校正装置10が構成されてもよい。また、外部システム33として、校正装置10が構成されてもよい。本実施形態においては、駐車支援装置40を構成するCPU5、プログラムメモリ6、パラメータメモリ7を校正装置10として利用する場合を例として説明する。
【0031】
まず、カメラパラメータや座標系について説明する。カメラ1により撮影される画像は2次元であるが、実際の空間は3次元である。従って、駐車支援装置40においては、2次元空間と3次元空間との間の相互変換が必要であり、その変換のためには、全てのカメラパラメータが精度良く設定されていることが好ましい。
【0032】
カメラパラメータには、大きく分けて内部パラメータと外部パラメータとがある。カメラの内部パラメータとは、カメラの内部の光学系に関するパラメータである。デジタルカメラの場合には、撮像素子とレンズの中心との間の距離(焦点距離)、撮像素子の大きさや画素数、画素の縦配列と横配列との角度などを元にして設定されるパラメータである。厳密には、内部パラメータも一定ではなくカメラごとに異なるが、車両90へのカメラ1の取り付け精度の差に比べれば非常に小さい差と考えてもよく、ここでは内部パラメータは精度良く設定されているものとする。
【0033】
外部パラメータは、基準座標系(ワールド座標系)に対するカメラの位置や姿勢に関するパラメータである。本実施形態では、カメラ1の車両90への取り付け精度に依存するパラメータに相当する。外部パラメータには、カメラの位置に関する並進パラメータと、カメラの姿勢に関する回転パラメータとがある。図1及び図4に示すように、3次元空間の座標系であるワールド座標系(XW,YW,ZW)の1点を座標中心OCとしてカメラ座標系(XC,YC,ZC)が存在する。つまり、カメラ1は、基準座標系であるワールド座標系における所定座標を座標中心OCとするカメラ座標系を形成するような位置及び姿勢で車両90に設置される。カメラ1が設置される規定位置とは、カメラ座標系の座標中心OCのワールド座標系における座標によって定義される。
【0034】
カメラ1が設置される位置、つまり、カメラ座標系の位置は、3次元直交座標系であるワールド座標系の各軸に対してそれぞれ平行な並進成分T(TX,TY,TZ)により定義される。一般的には、並進成分Tは3行1列の行列により定義される。定義される位置と実際にカメラ1が設置される位置との間にずれが生じることは、外部パラメータにおける並進成分Tの誤差となる。但し、並進成分Tの誤差が、撮影画像を見るドライバーに与える違和感は比較的少ない。また、この設置位置の誤差は、カメラ1から被写体までの距離にほとんど依存することがないので、画像処理に与える影響も少ない。つまり、カメラ1の設置位置に関して、生産工程において適正な公差が設定され、適正に公差管理されていれば、並進パラメータは精度良く設定されているものと考えてもほとんど問題はない。
【0035】
カメラ1の設置時の姿勢、つまり、カメラ座標系の回転は、3次元直交座標系であるカメラ座標系の各直交軸を中心とする回転成分Rにより定義される。一般的には、回転成分は、3行3列の行列により定義される。例えば、図4に示すように、ZC軸を中心としてカメラ1が回転するロール(Roll)が生じた場合には、撮影画像が傾くことから、撮影画像を見るドライバーに与える違和感は大きくなる。また、XC軸を中心としてカメラ1が回転するパン(Pan)や、YC軸を中心としてカメラ1が回転するチルト(Tilt)が生じた場合には、カメラ1から被写体までの距離が変動する。このため、撮影画像における被写体の位置が大きく変動し、画像処理に与える影響も大きくなる。従って、カメラ1が車両90に取り付けられた姿勢に応じて回転パラメータを精度良く調整し、カメラ1を校正することが重要である。
【0036】
上述したように、カメラパラメータには、内部パラメータと並進パラメータTと回転パラメータRとがあるが、この内、外部パラメータの1つである回転パラメータRを精度良く調整することが重要である。図1や図4からも理解できるように、カメラ1が誤差無く車両90に設置されたとしても、カメラ座標系はワールド座標系に対して回転している。従って、カメラ1が理想的な位置に理想的な姿勢で取り付けられた場合の回転パラメータRは、設計値として一義的に設定される。本発明の校正装置10は、この回転パラメータRを、カメラ1の実際の取り付け姿勢に応じて調整することによってカメラ1を校正する。
【0037】
ここで、3次元のカメラ座標系(XC,YC,ZC)と、2次元の画像座標系(x,y)との関係について説明する。画像座標系(x,y)は、図5に示すようにカメラ1の光軸に一致するカメラ座標系のZC軸に垂直な2次元射影空間(射影面Π)に存在する2次元直交座標系である。射影面Πは、カメラ座標系のZC軸方向にカメラ座標の原点OCからカメラ1の焦点距離fだけ離れて存在する。図5において、u軸はカメラ1の撮像素子の画素の縦配列の方向を示し、v軸はカメラ1の撮像素子の画素の横配列の方向を示す。理想的には、u軸及びv軸は、それぞれ画像座標系のx軸及びy軸に一致する。また、u軸とv軸とのなす角は、理想的には画像座標系のx軸とy軸とのなす角と同様に90度である。角は、上述した内部パラメータの1つであるが、上述したように、ここでは理想的な90度であるとする。
【0038】
カメラ座標系とワールド座標系との整合が取れていれば、図5に示すように、ワールド座標系において座標Mに存在する点は、画像座標系において座標mに存在するものとしてカメラ座標系から画像座標系へ座標変換される。逆に、撮影画像、つまり画像座標系の座標mにおいて検出された点は、床上に存在するなどの一定条件の下で、カメラ座標系を経てワールド座標系の座標Mにある点として座標変換されることが可能である。
【0039】
一方、カメラ座標系とワールド座標系との整合が取れていない場合には、図5に示すように、実際のカメラ1のカメラ座標系の射影面Π’と、理想通りのカメラ座標系の射影面Πとは異なる平面となる。このため、実際に車両90に取り付けられたカメラ1のカメラ座標系とワールド座標系との整合が取れなくなる。例えば、ワールド座標系において座標Mに存在する点は、実際のカメラ1のカメラ座標系の射影面Π’において、座標m’に存在するものとして検出される。そして、この座標m’が理想通りのカメラ座標系の射影面Πの座標として扱われ、カメラ座標系を経てワールド座標系に座標変換される。つまり、ワールド座標系において座標Mに存在する点は、図5に示すように、ワールド座標系において座標M’に存在する点として座標変換されることになる。
【0040】
このような誤差が生じると、駐車支援装置40は精度良く駐車支援を行うことができない。校正装置10は、このような誤差を抑制するべく、回転パラメータRを調整し、ワールド座標系や理想的なカメラ座標系と、実際に車両90に取り付けられたカメラ1のカメラ座標系との関係を定義する。これをカメラ1の校正という。回転パラメータRの調整には、理想的な回転パラメータRをカメラ1の取り付け姿勢に応じて補正する調整パラメータを求める方法や、回転パラメータR自体をカメラ1の取り付け姿勢に応じて算出する方法などがある。本実施形態では、回転パラメータR自体、いわゆる回転行列をカメラ1の取り付け姿勢に応じて算出することによって、カメラ1を校正する。
【0041】
上述したように、本実施形態においては、駐車支援装置40を構成するCPU5、プログラムメモリ6、パラメータメモリ7を校正装置10として利用する。校正装置10は、主にCPU5などのハードウェア及びプログラムメモリ6などに格納されたソフトウェア(プログラム)が協働することによって、図6に示すような複数の機能部を有して構成される。図6に示すように、校正装置10は、画像取得部11と、校正点特定部12と、第1行列演算部13と、第2行列演算部14と、第3行列演算部15と、回転角演算部16と、カメラパラメータ演算部17と、座標変換部18と、カメラパラメータ設定部19と、HMI制御部20とを有して構成される。HMI制御部20は、表示制御部201及び指示入力受付部202を有して構成される。また、第1行列演算部13と、第2行列演算部14と、第3行列演算部15と、回転角演算部16と、カメラパラメータ演算部17と、座標変換部18とは、自動調整部30を構成する。自動調整部30は、校正点特定部12において検出された校正点に基づいて、ワールド座標系に対してカメラ座標系を規定するカメラパラメータを自動調整する機能部である。また、校正装置10は、自動調整部30の他、手動調整部60を有して構成される。
【0042】
画像取得部11は、3次元のワールド座標系の異なる複数箇所の所定位置に配置された校正指標80を視界内に含んで、車両90に取り付けられたカメラ1により撮影された撮影画像を取得する機能部である。校正点特定部12は、この撮影画像において校正指標80の中のそれぞれの校正点Qを検出し、撮影画像の2次元の画像座標系におけるそれぞれの校正点Qの座標を実座標として特定する機能部である。校正点特定部12は、後述するように、校正点分布範囲設定部121と、校正指標分布範囲設定部(画像処理対象領域設定部)122と、校正点検出部123とを有して校正される。これら各機能部の詳細については、後述する。
【0043】
第1行列演算部13は、ワールド座標系における校正指標80の校正点Qの座標に基づいて、カメラ1の光学中心OC(カメラ座標系の原点OC)から見た校正点Q及び校正点Qを通る直線に関するベクトルを示す第1行列を演算する機能部である。第2行列演算部14は、校正点特定部12により特定された撮影画像上の校正点Qの座標に基づいて、カメラ1の光学中心OCから見た校正点Q及び校正点Qを通る直線に関するベクトルを示す第2行列を演算する機能部である。第3行列演算部15は、第1行列及び第2行列に基づいて、ワールド座標系におけるカメラ1の回転状態を示す回転行列を演算する機能部である。これら各機能部の詳細については後述する。
【0044】
回転角演算部16は、回転行列を、3次元空間上で互いに直交する3軸に対する3つの回転角度成分に分解する機能部である。カメラパラメータ演算部17は、回転行列に基づいて、カメラ1のカメラパラメータを演算する機能部である。座標変換部18は、カメラパラメータに基づいて、校正点Qのワールド座標系の3次元座標値を2次元の射影面Π上の座標値に変換する。つまり、座標変換部18は、カメラパラメータに基づいて、理論上の校正点Qの座標値を演算する機能部である。これら各機能部の詳細については後述する。
【0045】
カメラパラメータ設定部19は、自動調整部30及び手動調整部60による最新の調整完了時のカメラパラメータである仮のカメラパラメータ(未確定カメラパラメータ)をカメラパラメータとして設定する機能部である。カメラパラメータ設定部19は、指示入力受付部202により受け付けられる確定指示入力に基づいてカメラパラメータを設定する。詳細については後述する。
【0046】
HMI制御部20は、視覚的効果や聴覚的効果により、ユーザー(校正の作業者)に対する報知を行ったり、ユーザーから与えられる操作指示を受け取って各機能部へ伝達したりするインターフェースを行う機能部である。例えば、HMI制御部20は、画像処理モジュール2に対して撮影画像に重畳させるグラフィックの指定や重畳の指示を行ったり、音声処理モジュール3に対してスピーカ4cから出力させたりする。また、タッチパネル4bを介してユーザーより与えられた指示を受け取って、指示に対応する機能部を働かせる。図6に示すように、HMI制御部20は、表示制御部201と指示入力受付部202とを有して構成される。表示制御部201及び指示入力受付部202の具体的な機能については後述する。
【0047】
本実施形態においては、駐車支援装置40を構成するCPU5、プログラムメモリ6、パラメータメモリ7を校正装置10として利用する。また、駐車支援装置40のモニタ装置4は、ナビゲーションシステムのモニタ装置が兼用されている。従って、モニタ装置4は、校正装置10のモニタ装置としても兼用される。モニタ装置4の前面パネルには、図7に示すような様々なスイッチが設けられている。符号4dは、地図の縮尺を変更するボタンである。符号4eは、目的地を設定するための画面を表示させるボタンである。符号4fは、車両90の現在位置を表示させるボタンである。符号4gは、音量の調節ボタンである。符号4hは、システムの各種設定を行うための画面を表示させるシステム設定ボタンである。図7においては、車両90の現在位置と共に地図が表示されている場合を例示している。
【0048】
生産工場や修理工場において、作業者は、システム設定ボタン4hを操作して、表示部4aに設定画面を表示させ、タッチパネル4bの所定のタッチボタンを操作する。HMI制御部20の指示入力受付部202は、タッチボタンの指示を受け付け、CPU5は、カメラ校正プログラムを起動して校正装置10として機能する。尚、生産工程においては、初期画面をカメラ校正モードとしておき、カメラ1の校正が完了した後に所定の操作を行うことで、初期画面がナビゲーションシステムの画面となるように構成されていてもよい。
【0049】
〔画像取得工程〕
カメラ校正プログラムが起動されると、つまり、校正装置10によりカメラ校正が開始されると、まず、画像取得部11により、カメラ1により撮影された動画像がキャプチャされる。キャプチャされた画像は、画像処理モジュール2を介して、図8に示すようにモニタ装置4に表示される。
【0050】
〔校正点特定工程/関心領域設定工程(画像処理領域設定工程)〕
校正点特定部12は、キャプチャされた画像から、校正点Qを検出し、画像座標系における校正点Qの座標を実座標として設定する。校正点Qの検出に先立って、画像処理の対象となる領域が関心領域(ROI : region of interest)として射影面Πに設定される。つまり、校正点を検出するための画像処理が実施される画像処理対象領域が、関心領域ROIとして設定される。校正点特定部12は、画像処理領域設定部としても機能する。この関心領域ROIは、公差の平均値による画像上(射影面Π上)の位置を基準として、カメラ1の取り付け公差と画像処理のためのマージンを考慮して定められた位置とサイズに基づいて設定される。関心領域ROIは、例えば、経験上の一般的な公差やマージンに基づいて、大まかに設定することができる。撮影画像に対して関心領域ROIは狭いので、画像処理の演算負荷は軽減される。また、以下のように精度良く関心領域ROIを設定してもよい。
【0051】
〔校正点特定工程/関心領域設定工程/校正点分布範囲設定工程〕
1つの好適な例としては、カメラ1が規定位置に規定の姿勢で取り付けられた際の回転パラメータに基づいて、校正点Qが存在する理論上の座標値が演算される。そして、カメラ1がカメラ座標系の各軸を中心としてそれぞれ所定角度回転した際に理論上の座標値が分布する範囲が校正点分布範囲となる。校正点分布範囲設定部121が、このようにして求められた校正点分布範囲を画像座標系に設定すると好適である。
【0052】
〔校正点特定工程/関心領域設定工程/校正指標分布範囲設定工程〕
次に、校正点分布範囲に基づいて、画像座標系においてマーカ80が分布する範囲が校正指標分布範囲として、校正指標分布範囲設定部122によって画像座標系に設定される。本実施形態においては、この校正指標分布範囲が、関心領域ROIに相当する。具体的には、図9に示すように、カメラ1の光軸が設計値通りの方向を向いている場合に対して、それぞれ±3度〜5度のずれが発生しても、マーカ80が必ず含まれるように、つまり、回転パラメータRの誤差を加味して関心領域ROIが設定される。また、この際、カメラの光学中心(カメラ座標系の原点)のずれ、つまり、並進パラメータTのずれも加味して関心領域ROIが設定されると好適である。校正指標分布範囲は、実質的に校正点を検出するための画像処理を実施する画像処理対象領域に対応する。従って、校正指標分布範囲設定部122は、画像処理対象領域設定部としても機能する。
【0053】
表示制御部201は、画像処理モジュール2を介して、画像処理対象領域や校正指標分布範囲をグラフィック画像によるROI枠(領域枠)Fとして撮影画像に重畳させて撮影画像と共に表示部4aに表示させる(領域枠表示工程)。ROI枠Fは、例えば緑色で表示部4aにおいて撮影画像に重畳表示される。ROI枠Fは、カメラ1が理想的に取り付けられた場合、即ち、規定位置に規定の姿勢で取り付けられたと仮定した場合に、所定位置に配置された校正指標80が中央にくるように、射影面Πに設定される。図2に示すように、校正点Qは、校正指標80の中央に設定されているので、図9に示すように、理想的な校正点QはROI枠Fの中央となる。
【0054】
撮影画像上にROI枠Fが表示されることにより、作業者は下記に示す自動調整工程が実行されている最中であっても、カメラ1の調整作業(校正作業)に参加することができる。自動調整と作業者による目視確認とを併用した半自動調整(半自動校正)ということもできる。作業者は、マーカ80がROI枠Fから外れているなど、非常に大きな誤差を有してカメラ1が車両90に取り付けられていることを容易に確認することができる。作業者は、図8に示すように表示制御部121によりタッチパネル4bに表示されたキャンセルボタンを介して指示入力を与えることによって、校正を中断してカメラ1の設置状態を確認したり、校正を中止して不良として生産ラインから車両90を排除したりすることができる。タッチパネル4bを操作することによって、自動調整工程の中断や中止を指示することができるので、指示入力受付部202や、これを含むHMI制御部20は、調整中断部(調整中断手段)として機能するといえる。カメラ1が大きな誤差を有して設置されていた場合に、調整作業の初期において、調整を中断したり中止したりすることができるので、生産性が向上する。CPU5は、切れ目なく校正点特定工程から自動調整工程へと処理を続けていくので、作業者による確認のためのROI枠Fは、自動調整工程の間も継続して表示されると好適である。また、同様に調整の中止や中断の指示入力を与えるためのタッチボタンも、自動調整工程の間も継続して表示されると好適である。
【0055】
尚、画像処理の対象となる関心領域ROIと、校正指標分布範囲とは、必ずしも一致している必要はない。余裕をみて、校正指標分布範囲よりも広域な関心領域ROIが設定されてもよい。また、上記においては、撮影画像上に表示されるROI枠Fが、画像処理の対象となる関心領域ROIに一致する場合を例として説明した。しかし、校正指標分布範囲よりも広域な関心領域ROIが設定されるような場合において、ROI枠Fが、校正指標分布範囲に一致して重畳表示されてもよい。また、関心領域ROIが設定されず、撮影画像の全域に亘って画像処理が実施される場合も同様である。このような場合、作業者は、マーカ80がROI枠Fから外れていることによって、設計値に対して非常に大きな誤差を有してカメラ1が車両90に取り付けられていることを容易に確認することができる。画像処理の対象領域である関心領域ROIとROI枠Fとは一致していることが好ましいが、このように一致していない場合であっても、同様の効果が得られる。従って、校正指標分布範囲がグラフィック画像によるROI枠(領域枠)Fとして撮影画像に重畳され、表示部4aに表示されることも非常に有用である。
【0056】
〔校正点特定工程/校正点検出工程〕
次に、校正点特定部12は、関心領域ROIの範囲内を画像処理対象として、校正点Qの特定を行う。校正点Qを特定するために、校正点検出部123は、マーカ80の中心点である校正点Qの撮影画像上における座標を検出する。つまり、画像座標系における座標を検出する。この座標は、現実に車両90に設置されたカメラ1により撮影された画像に基づいて検出されるので、校正点Qの「実座標」に相当する。本実施形態のように、マーカ80として市松模様が使用される場合、公知のコーナ検出器を用いて校正点Qを検出することが可能である。
【0057】
本実施形態では、ガウシアンフィルタ(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検出器や、ハリス検出器など、他の方法を用いてエッジ検出を行ってもよい。
【0058】
上述したように、カメラ1は広角レンズを有して構成されており、撮影画像は歪みを有している。校正点Qを検出するためには、後述するように直線認識が必要となる。そこで、エッジ検出後の画像データに対して歪み補正処理が施される。尚、当然ながら、エッジ検出を行う前、つまり、関心領域ROIの範囲内の元画像に対して歪み補正を実施してもよいし、撮影画像全体に対して歪み補正を実施してもよい。しかし、撮影画像や撮影画像中の関心領域ROIの範囲内の画像は、カラーグレイ画像データであるので、データ量が多く演算負荷も大きくなる。本実施形態では、エッジ検出後のデータは、図10に示すようにエッジ点群Eにより構成されたモノクロ2値データとなっているので、データ量が圧倒的に少なく演算負荷が軽くなる。図10(a)は、歪み補正処理を施された後のマーカ80aのエッジ点群E、図10(b)は、歪み補正処理を施された後のマーカ80bのエッジ点群Eを示している。
【0059】
続いて、これらエッジ点群Eに対して、直線検出処理(直線当てはめ処理)が実施される。直線検出処理には、最小自乗法やハフ変換などを利用することも可能であるが、これらは演算負荷が大きい処理である。本実施形態では、これらの手法よりも遙かに演算量の少ないRANSAC(RANdom SAmple Consensus)手法を用いて直線の当てはめを行うことによって直線検出を行う。RANSAC手法では、直線や曲線の当てはめに必要な最小点数の点がエッジ点群Eから選択され、フィッティングモデルが設定される。直線の場合の最小点数は2点であり、ランダムに選択された2点を結ぶ直線が直線モデルとして設定される。そして、エッジ点群Eの他の点がこの直線モデルに対してどの程度当てはまるかについて評価される。順次、2点を選んで所定回数、評価を繰り返し、最も適合度の高い直線モデルが直線として決定される。図11は、図10に示すエッジ点群Eに対して直線Gを当てはめた例を示している。
【0060】
直線Gが当てはめられると、次に、当てはめられた直線Gの交点の座標が算出される。直線Gは一次関数であるから簡単な計算により、図12に示すように、画像座標系における交点座標(校正点Q)を特定することができる。尚、この座標は、車両90に取り付けられたカメラ1のカメラ座標系の射影面における座標(実座標)であるから、カメラ1が完全に誤差無く取り付けられていない限り、理想的なカメラ座標系の射影面における座標とは異なる。
【0061】
〔自動調整工程〕
カメラ1が規定位置に規定の姿勢で完全に誤差なく取り付けられたと仮定した場合、つまり、理想的なカメラ座標系の射影面において、それぞれの校正点が特定される理論上の座標を「初期座標」とする。つまり、カメラ座標系とワールド座標系とが理想的な関係を満たす際に、ワールド座標系に対してカメラ座標系を規定するカメラパラメータの初期値により射影面において校正点が特定される座標が「初期座標」である。この「初期座標」と上記「実座標」とはカメラ1が完全に誤差無く取り付けられていない限り異なるものである。以下、カメラパラメータの外部パラメータの内の回転パラメータを、実際のカメラ1の取り付け姿勢に応じて求め、カメラパラメータを更新してカメラ1を構成する手順を詳述する。
【0062】
本実施形態では、自動調整工程においてNベクトルを用いたベクトル演算を実施して回転パラメータを求める。始めにNベクトルについて説明する。図13に示すように、直交座標系を持つ画像面を2次元射影空間(射影面Π)とみなすと、点や直線は、全てがゼロではない3個の実数からなる同次座標で表される。同次座標は、画像処理における計算上の問題を解決する上で好適なものである。解決のための最も簡単な手段は、同次座標の3要素が常に単位ベクトルとなるようにしておくことである。正規化した同次座標の組を単位ベクトルとして表したものをNベクトルと称する。
【0063】
図13において、点Pは、射影面Π上の点であり、fは焦点距離であり、視点OC(カメラ座標系の原点OCに相当)から射影面までの距離を示す。3次元直交座標のZC軸は射影面Πに直交し、XCC平面は射影面Πと平行である。Nベクトルmは、視点OCを始点として点Pを指し示す単位ベクトルである。Nベクトルnは、点Pを通る直線Lと、視点OCとによって定まる平面FPに垂直な単位法線ベクトルである。つまり、Nベクトルnは、直線Lを表すベクトルである。尚、ベクトルlは、Nベクトルではなく、直線Lの向きを表す単位ベクトルである。
【0064】
ここで、図13に示すカメラの光学中心である視点(カメラ座標系の原点)OCを固定してカメラが回転したと仮定する。カメラの回転により、射影面Π上の点P及び直線Lの座標は変化し、Nベクトルも変化する。つまり、回転前の射影面上の点P及び点Pを通る直線Lと、回転後の射影面上の点P’及び点P’を通る直線L’とが与えられる。この時、点P’を点Pに一致させ、直線L’を直線Lに向きを含めて一致させるようなカメラ回転行列Rは、下記の式(1)のように一意的に定められる。ここで、l’は直線L’の向きを表す単位ベクトル、m’は点P’を表すNベクトル、n’は直線L’を表すNベクトルである。
【0065】
【数1】

【0066】
つまり、図14に示すように、ワールド座標系を基準とした回転前後の2つの画像から車両に搭載されたカメラ1の回転ベクトルRを求めることができる。ただし、本発明の校正装置では、車両90及びカメラ1は固定されるので、カメラ1から入力される画像は1つである。複数の画像を得るために車両90やカメラ1を動かすことは、校正時間を増やし、また校正精度の上からも好ましくない。
【0067】
しかし、上記原理の本質は、{l,m,n}による定まる座標系から、{l’,m’,n’}により定まる座標系の回転行列を求めれば、それがカメラ1の回転行列Rと一致することにある。つまり、{l,m,n}を回転前の座標系から求め、{l’,m’,n’}を回転後の座標系から求めれば足りる。そこで、回転前の座標系は、ワールド座標系において、カメラ1の光学中心OCまで純粋に並進したのみのカメラ座標系(第1のカメラ座標系)と考える。また、回転後の座標系は、第1のカメラ座標系が光学中心OCを中心として回転したカメラ座標系(第2のカメラ座標系)と考える。
【0068】
〔第1行列演算工程〕
第1のカメラ座標系は、ワールド座標系の原点OWを基準として純粋に並進した回転成分のない座標系である。図15に示すように光学中心OCからマーカ80の校正点Qを示す点P1、P2へのNベクトルを求める。尚、当然ながら第1行列演算工程では、カメラ1による撮影画像及び撮影画像から得られる各種情報は不要である。本工程は、図6に示す第1行列演算部13において実行されるが、カメラ1による撮影画像は用いない。
【0069】
本実施形態では、マーカ80が床面上に配置されているので、XW軸方向の座標は実質ゼロであるが、点P1の座標をP1(X1,Y1,Z1)、点P2の座標をP2(X2,Y2,Z2)とする。直線Lは、点P1から点P2へ向かう直線とする。光学中心OCから点P1の方向にはNベクトルm1がある。光学中心OCから点P2の方向にはNベクトルm2がある。説明を容易にするために図18にはNベクトルm1で代表させている。Nベクトルmは、下記の式(2)のようになる。また、Nベクトルnは面OC12の単位法線ベクトルとして、次の式(3)のようになる。
【0070】
【数2】

【0071】
直線Lの向きlは、下記の式(4)のようにmとnとの外積として得られ、回転行列R1は下記の式(5)のようになる。
【0072】
【数3】

【0073】
このようにして、第1行列演算部13は、ワールド座標系(基準座標系)におけるマーカ80の校正点Q(P1、P2)の座標に基づいて、カメラ1の光学中心OCから見た校正点P1、P2及び校正点P1、P2を通る直線Lに関するベクトルを示す第1行列R1を演算する。
【0074】
〔第2行列演算工程〕
第2のカメラ座標系は、第1のカメラ座標系が光学中心OCを中心として回転した回転成分のある座標系である。第1行列演算工程とは異なり、カメラ1による撮影画像が用いられる。図16に示すように、床面上に配置された校正点Q(P1、P2)は、射影面Π上の点p1、p2に相当する。点p1、p2の射影面Π上での座標値は、既に説明したように、校正点特定部12において特定されている。従って、図6に示すように、本工程は校正点特定部12の結果を受けて第2行列演算部14において実行される。
【0075】
ここで、光学中心OCから射影面Π上の点p1(x1,y1)、p2(x2,y2)へのNベクトルを考える。尚、(xi,yi)は射影面Π上(撮影画像上)の座標である。直線Lに相当する直線lは、点p1から点p2へ向かう直線とする。光学中心OCから点p1の方向にはNベクトルm1’がある。光学中心OCから点p2の方向にはNベクトルm2’がある。説明を容易にするために図19にはNベクトルm1’で代表させている。この結果、Nベクトルm’は、下記の式(6)のようになる。また、Nベクトルn’は面OC12の単位法線ベクトルとして、次の式(7)のようになる。
【0076】
【数4】

【0077】
直線Lの向きl’は、下記の式(8)のようにm’とn’との外積として得られ、回転行列R2は下記の式(9)のようになる。
【0078】
【数5】

【0079】
このようにして、第2行列演算部14は、校正点特定部12により特定された射影面Π(撮影画像)上の校正点校正点Q(p1、p2)の座標に基づいて、カメラ1の光学中心OCから見た校正点p1、p2及び校正点p1、p2を通る直線Lに関するベクトルを示す第2行列R2を演算する
【0080】
〔第3行列演算工程〕
第3行列演算部15は、上記のようにして得られた第1行列R1及び第2行列R2に基づいて、ワールド座標系におけるカメラ1の回転状態を示す回転行列Rを演算する。つまり、上述した式(1)と同様に下記に示す式(10)に従って回転行列Rを演算する。
【0081】
【数6】

【0082】
〔回転角演算工程〕
カメラ1は、ピンホールカメラに代表される透視カメラモデル(perspective camera model)である。透視カメラモデルのカメラ行列は、カメラの内部パラメータ行列と、外部パラメータ行列とから構成される。内部パラメータ行列は、上述したように、焦点距離fなどのカメラ内部のパラメータ行列である。外部パラメータ行列は、並進行列T及び上記で求めた回転行列Rである。射影カメラモデル(projective camera model)は、透視カメラモデルのカメラ行列を一般化して表したものである。射影カメラモデルでは、上記で求めた回転行列Rが得られれば、3次元空間からの投影が可能である。しかし、透視カメラモデルでは、回転行列Rをさらに3次元直交座標の各軸の回転角パン・チルト・ロールに分解する必要がある。回転角演算部16は、以下に示す手順で各軸の回転角を演算する。
【0083】
式(10)で求めた回転行列Rは、次式(11)のように書くことができる。ここで、θはチルト角、φはロール角、ψはパン角である。
【0084】
【数7】

【0085】
下記に示す式(12)により、φを消去することができ、下記式(13)を得る。
【0086】
【数8】

【0087】
式(13)には解が2つ存在し、「-r31」が「-sinθ」であるので、θは下記に示す式(14)のようになる。
【0088】
【数9】

【0089】
ここで、cosθ≠0とおける場合には、ロール角φとパン角ψとは、それぞれ、下記に示す式(15)及び式(16)のようになる。
【0090】
【数10】

【0091】
ここで、カメラ1の車両90への搭載方法(下向き約30[deg]=-30[deg])に基づいて、下記式(17)の拘束条件を適用する。
-90[deg] < チルト角θ < +90[deg] ・・・(17)
この拘束条件により、チルト角θのcosの値がゼロとなる場合を無視することができ、一意の回転角θ、φ、ψを求めることができる。まず、拘束条件より、「cosθ>0」なので、負の値を考慮することなく、式(14)は次式(18)となり、チルト角θが定まる。
【0092】
【数11】

【0093】
同様に、「cosθ>0」であるので、ロール角φとパン角ψは式(11)より、式(19)、式(20)に示すように容易に得られる。
【0094】
【数12】

【0095】
〔カメラパラメータ演算工程〕
以上、説明したようにカメラ1の外部パラメータとしての3次元直交座標の各軸に対する回転成分が求められた。外部パラメータの内の並進成分T(TX,TY,TZ)は、光軸中心OCの座標としてワールド座標系において既知である。また、内部パラメータはカメラ1の特性として既知である。従って、カメラパラメータ演算部17は、カメラ1のカメラパラメータ(投影パラメータ)の全てを整えることができる。この時点において、外部パラメータの1つである回転パラメータRは、まだ確定されたものではなく、仮の回転パラメータ(未確定回転パラメータ)である。従って、この仮の回転パラメータを含むカメラパラメータも、仮のカメラパラメータ(未確定カメラパラメータ)である。
【0096】
〔座標変換工程〕
カメラ1の仮のカメラパラメータが整うと、座標変換部18は、校正点Q(P1、P2)のワールド座標系の3次元座標値を2次元の射影面Π上の座標値に変換する。つまり、自動調整の完了時の仮のカメラパラメータ(未確定カメラパラメータ)を用いて求められた理論上の校正点の座標値が確認座標として演算される。
【0097】
〔調整完了確認工程〕
HMI制御部20の表示制御部201は、図17に示すように、画像処理モジュール2を介してモニタ装置4の表示部4aに、グラフィック画像としてマーカ枠H(確認マーカ)やタッチボタンを撮影画像に重畳表示させる。マーカ枠Hは、自動調整部30による調整、即ち回転パラメータの値が正しく計算されていた場合に、その枠内にマーカ80が表示される位置に設定されている。
【0098】
このとき、座標変換部18により仮のカメラパラメータに基づいて求められた理論上の校正点(確認座標)がマーカ枠Hの中央の座標となると好適である。マーカ枠Hの各辺は、マーカ80がマーカ枠Hの中央にある場合に、画像座標系においてマーカ80の各辺と2〜5画素の余裕を持つように設定されることができる。つまり、マーカ枠Hは、回転パラメータRに与えられた許容差に相当する分の余裕を持った大きさに設定される。マーカ枠Hは、例えば緑色で表示されるROI枠Fとの混同を避けるために、ROI枠Fとは異なる色、例えば赤色で表示されると好適である。
【0099】
尚、ここでは、確認マーカとして方形のマーカ枠Hを例示しているが、図19に示すような十字型マーカJを用いることも可能である。確認マーカが十字型マーカJの場合には、図19に示すように確認座標において交差するような十字が描画される。人間工学的には、マーカ80の中央の点と、十字型マーカJの十字の交差点との一致を確認するよりも、枠内にマーカ80が入っていることを確認する方が容易と言われている。従って、本実施形態では、確認マーカとしてマーカ枠Hを用いている。作業者は、画面を目視により確認し、マーカ枠Hの中にマーカ80が入っている場合には、カメラ1の校正が良好に完了したと判断して、タッチパネル4bの完了ボタンを操作する。タッチパネル4bへの操作は、HMI制御部20の指示入力受付部202を介して自動調整部30やカメラパラメータ設定部19へ伝達される。
【0100】
〔カメラパラメータ設定工程〕
上記、調整完了確認工程におけるタッチパネル4bへの操作は、仮カメラ調整値をカメラ調整値として確定させる確定指示入力である。指示入力受付部202を介して、この確定指示入力を受け取ったカメラパラメータ設定部19は、自動調整部30において演算された回転パラメータRを含む仮のカメラパラメータ(未確定カメラパラメータ)をカメラパラメータとして設定する。具体的には、図3に示すように、CPU5に接続されたパラメータメモリ7に記憶されるカメラパラメータが、CPU5によって書き換えられる。上述したように、パラメータメモリ7は、書き換え可能な不揮発性メモリや、バックアップ電源を有したその他のメモリによって構成されている。好適には、フラッシュメモリやE2PROMを用いるとよい。
【0101】
仮のカメラパラメータは、CPU5のレジスタやRAM(random access memory)など、ワークエリアに一時記憶されている。カメラパラメータ設定工程において、レジスタなどのワークエリアに一時記憶された調整済みのカメラパラメータが、パラメータメモリ7に書き込まれ、更新されることによってカメラ1の校正が完了する。例えば、生産工場におけるカメラ1の校正作業が完了する。校正装置10の全ての処理が完了し、モニタ装置4の表示部4aには、図7と同様に、例えば、ナビゲーションシステムの地図画面が表示される。
【0102】
〔再調整工程(手動調整工程)〕
調整完了確認工程において、図18に示すように、マーカ枠Hの中にマーカ80が入っていない場合には、作業者は、カメラ1の校正が完了していないと判断する。このとき、表示制御部201は、マーカ枠Hや十字型マーカJを上記とは異なる表示形態で表示させる。例えば、マーカ枠Hや十字型マーカJを点滅させたり、異なる表示色で表示させたりする。また、表示制御部201は、ROI枠Fを校正点検出部12により校正点が検出される際とは異なる表示形態で表示させる。上述したように、CPU5は、切れ目なく校正点特定工程から自動調整工程へと処理を続けていくので、作業者による確認のためのROI枠Fは、自動調整工程の間も継続して表示されると好適である。従って、ROI枠Fが継続して表示されていた場合には、表示制御部201は、ROI枠Fの表示形態を変化させる。例えば、ROI枠Fの表示色を緑色から赤色に変化させたり、点滅させたりすることによって、作業者に注意喚起する。連続して表示されていたROI枠Fの表示形態を変化させるので作業者に対する視認性が向上する。
【0103】
CPU5は、座標変換部18により求められた理論上の校正点(確認座標)の座標値からマーカ枠Hの中にマーカ80が入っていないことを認識可能である。具体的には、CPU5は、実座標と確認座標との差が所定の確定しきい値以上であるとき、自動調整の結果が不充分であると判定することができる。従って、表示制御部201は、確認マーカ(マーカ枠Hや十字型マーカJ)や領域枠(ROI枠F)の表示形態を良好に制御することが可能である。
【0104】
このような場合には、表示制御部201は、図18に示すように、手動調整のための矢印ボタンをタッチパネル4bに表示させる。作業者は、タッチパネル4bの矢印ボタンを操作して、引き続き、手動でカメラ1の再調整を行う。上述したように、マーカ枠Hの中央の座標は、理論上の校正点の座標に相当する。作業者は、必要に応じてタッチパネル4bの矢印ボタンを操作し、特許文献1や特許文献2のように、画面上における回転角度や上下左右の位置を調整することによって、マーカ枠Hにマーカ80が収まるように手動で校正を行う。尚、手動調整に際しては、2つの確認マーカH(J)を結ぶ線(確認座標を結ぶ線)を表示部4aに表示させると、作業性の向上が期待できる。CPU5は、特許文献1や特許文献2と同様に、タッチパネル4bに表示されたタッチボタンの操作量に応じて、自動調整部30において算出されたカメラパラメータを補正する。補正されたカメラパラメータは、仮のカメラパラメータ(未確定カメラパラメータ)である。
【0105】
本実施形態では、確認マーカとしてマーカ枠Hを用いている。上述したように、人間工学的には、マーカ80の中央の点と、十字型マーカJの交差点との一致を確認するよりも、枠内にマーカ80が入っていることの確認の方が容易と言われている。従って、このような手動調整を実施する場合にも、マーカ枠Hを用いる方が高い作業性を得られる。本実施形態においては、マーカ枠H(確認マーカ)は、校正点の理論上の座標の位置を中心として、撮影画像上におけるマーカ80(校正指標)を所定のマージンを有して内包する大きさの枠である。上述したように、マーカ80は、方形状に構成されており、マーカ枠Hも方形状である。従って、調整完了確認工程においても再調整工程(手動調整工程)においても、マーカ80の外形形状とマーカ枠Hとして表示される外枠とを良好に比較することができる。
【0106】
〔カメラパラメータ設定工程〕
マーカ枠Hにマーカ80が収まると、作業者は、タッチパネル4bの完了ボタンを操作する。タッチパネル4bへの操作は、HMI制御部20の指示入力受付部202を介して自動調整部30や手動調整部60、カメラ調整値設定部19へ伝達される。そして、手動調整完了後の仮のカメラパラメータがパラメータメモリ7に書き込まれる。校正装置10の全ての処理が完了し、モニタ装置4の表示部4aには、図7と同様に、例えば、ナビゲーションシステムの地図画面が表示される。
【0107】
〔調整完了確認工程及びカメラパラメータ設定工程の特殊例〕
尚、表示制御部201は、上述した調整完了確認工程において、確認座標と実座標との差が所定の確定しきい値未満であっても、確認マーカ(マーカ枠Hや十字型マーカJ)や領域枠(ROI枠F)の表示形態を変化させることがある。表示制御部201は、自動調整完了時のカメラパラメータと、カメラパラメータの初期値とが同一の値であるとき、確定しきい値による判定結果に拘わらず、校正点検出部12により校正点が検出される際の関心領域ROIを示す領域枠Fとは異なる表示形態で領域枠Fを表示させる。また、表示制御部201は、確認マーカH(J)を異なる表示形態で表示させてもよい。
【0108】
例えば、表示制御部201は、カメラ1が規定位置に規定の姿勢で取り付けられた際の回転パラメータRと、自動調整部30による演算の完了時の仮の回転パラメータRとが同一の値であるとき、確認マーカH(J)や領域枠Fの表示形態を変化させると好適である。この際、回転パラメータRが有するパン、チルト、ロールの内の何れか1つ又は2つが同一の値である場合に、確定しきい値による判定結果に拘わらず、確認マーカや領域枠の表示形態を変化させてもよい。
【0109】
回転パラメータRの誤差は、一般的な自然現象と同様に正規分布する。しかし、その中央値は回転パラメータRが理想的な場合とはならない。回転パラメータの誤差につながる全ての部品が理想的な設計値になる確率は非常に低いため、正規分布の中央値が理想的な回転パラメータとなることは稀である。また、カメラ1を車両90に設置する際の生産上の最頻姿勢も、理想的な回転パラメータRとなる姿勢ではないと考えられる。従って、理想的な回転パラメータRと、仮のカメラパラメータRとが同一の値となるのは稀なことともいえる。
【0110】
このようなケースでは、校正演算が正しく実行されずに回転パラメータRが初期値のままであったことも考えられる。従って、画面上で作業者に目視確認を促すために、再調整工程と同様に、表示制御部201は、確認マーカ(マーカ枠Hや十字型マーカJ)や領域枠(ROI枠F)の表示形態を変化させる。つまり、作業者に注意を喚起する。
【0111】
また、カメラ調整値設定部19は、このような状態でパラメータメモリ7にカメラパラメータを書き込んだことを作業ログに記録しておく。例えば、CAN50を介して生産管理用コンピュータ等に記録を伝送する。又は、駐車支援ECU9内部のダイアグノーシスメモリ等に記録しておく。つまり、パラメータメモリ7が未校正で初期状態のままであるのではなく、校正されて初期値と同一の値が再書込されたものであることを記録として残しておく。これにより、後にカメラ1の光軸にずれが発見された際に、後天的なものであるか、生産不良であるのかなどを追跡することが可能となる。
【0112】
〔他の実施形態〕
(1)上述した本実施形態では、作業者がモニタ装置4のシステム設定ボタン4hを操作して、表示部4aに設定画面を表示させ、タッチパネル4bの所定のタッチボタンを操作することで、校正装置10を起動させた。また、校正装置10は、基本的に自動調整を行い、確認工程において手動調整が必要な場合に作業者が手動で調整を実施した。しかし、生産工場や修理工場ごとに設備が異なる場合もあり、全ての生産工場や修理工場において自動調整が可能であるとは限らない。そこで、校正装置10の起動時においては、図20に示すように、自動調整と手動調整とが選択可能に構成されていると好適である。
【0113】
上述したように、生産工場や修理工場において、作業者は、図7に示すシステム設定ボタン4hを操作して、表示部4aに設定画面を表示させる。表示部4aには、図20の上段に示すように、車両90の現在位置と共に地図が表示されているが、図20の中断に示すような設定画面(第1設定画面)が表示される。ここで、タッチパネル4bの「カメラ調整」ボタンを作業者が選択すると、HMI制御部20の指示入力受付部202は、タッチボタンの指示を受け付け、CPU5は、カメラ校正プログラムを起動する。ここまでは、上記実施形態と同様であり、上記実施形態においては上述したような自動調整演算が実行される。
【0114】
本実施形態においては、図20の下段に示すように、さらに選択画面が表示される。ここで、タッチパネル4bの「自動調整」ボタンを作業者が選択すると、HMI制御部20の指示入力受付部202は、タッチボタンの指示を受け付け、CPU5は、自動調整プログラムを起動する。この自動調整プログラムは、上述した実施形態のカメラ校正プログラムと同様である。選択画面において、タッチパネル4bの「手動調整」ボタンを作業者が選択すると、HMI制御部20の指示入力受付部202は、タッチボタンの指示を受け付け、CPU5は、手動調整プログラムを起動する。手動調整が選択された場合には、特許文献1や特許文献2と同様の手動調整演算を実行するカメラ校正プログラムが起動される。
【0115】
(2)関心領域ROIの設定や、このROI枠Fを表示部4aに重畳させることは、カメラ校正方法に依らず可能である。手動調整の場合を含め、上記実施形態とは異なる演算手法によってカメラの校正を行う場合においても可能である。また、確認マーカとして方形のマーカ枠Hを用いる点についても、カメラ校正方法に依らず可能である。つまり、手動調整の場合を含め、上記実施形態とは異なる演算手法によってカメラの校正を行う場合においても可能である。
【0116】
(3)また、上記実施形態では、マーカ80が2つの場合を例示したが、3つ以上のマーカ80を用いることによって精度の向上を図ってもよい。また、上記実施形態においては、車両90の後方を撮影するカメラ1の校正を行う場合を例示したが、前方や側方を撮影するカメラの校正にも本発明の校正装置を適用することが可能である。
【0117】
(4)上記実施形態では、カメラの内部パラメータ及び外部パラメータの内の並進パラメータは調整せず、外部パラメータの内の回転パラメータのみを調整する場合を例示した。しかし、本発明は、内部パラメータや並進パラメータを含めてカメラパラメータを調整して、カメラを校正する場合においても適用することができる。また、カメラの校正は、内部パラメータや外部パラメータ自体を求めるものに限定されない。本発明は、理論上のパラメータと実際のパラメータとの差を調整する調整パラメータや、理論上のパラメータを実際のパラメータに補正する補正パラメータを求めてカメラを校正する場合においても適用することができる。
【0118】
以上説明したように、本発明によって、自動調整の結果、不合格となった場合であっても簡単に追加の調整を実施して校正を完了させることが可能な車載カメラの校正装置を提供することが可能となる。また、校正環境に依存されることなく、簡単な構成で、校正の可否の判定を早期に確実に行うことのできる車載カメラの校正装置を提供することが可能となる。つまり、本発明によれば、完全な自動調整ではなく、自動調整結果の作業者による目視確認や目視確認後の手動調整を含んだ半自動調整を合理的に実現できる。自動校正を含むことによって、校正作業に要する時間を短縮しつつ、確認によって、出荷される製品に不良品が混入することを防止できる。また、自動調整による校正が充分ではない場合には、手動調整によりさらに校正を続けることができ、生産ラインから不良として製品が排除される確率を減らして生産性を向上させることができる。
【符号の説明】
【0119】
1:カメラ(車載カメラ)
4a:表示部
10:校正装置
11:画像取得部
12:校正点特定部
19:カメラパラメータ設定部
30:自動調整部
60:手動調整部
80:マーカ80(校正指標)
90:車両
201:表示制御部
202:指示入力受付部
H:マーカ枠(確認マーカ、確認枠)
J:十字型マーク(確認マーカ)
Q、Q1、Q2:校正点
Π:射影面

【特許請求の範囲】
【請求項1】
車両に取り付けられた車載カメラにより、異なる複数箇所の所定位置に配置された校正指標を視界内に含んで撮影された撮影画像を取得する画像取得部と、
前記撮影画像において前記校正指標の中のそれぞれの校正点を特定する校正点特定部と、
特定された前記校正点を用いて、前記車載カメラのカメラパラメータを自動調整する自動調整部と、
前記自動調整の完了時の前記カメラパラメータを用いて演算された前記校正点の理論上の座標の位置を前記撮影画像上において明示する確認マーカをグラフィック画像として前記撮影画像に重畳させて表示部に表示させる表示制御部と、
前記表示部に表示された画像上において前記確認マーカを移動させることが可能な調整指示入力を受け付ける指示入力受付部と、
前記確認マーカの移動量に対応する前記校正点の前記理論上の座標の変化量に基づいて、前記自動調整した前記カメラパラメータを手動調整する手動調整部と、
前記自動調整部及び前記手動調整部による最新の調整完了時の前記カメラパラメータである未確定カメラパラメータを、前記指示入力受付部により受け付けられる確定指示入力に基づいて前記カメラパラメータとして設定するカメラパラメータ設定部と、
を備える車載カメラの校正装置。
【請求項2】
前記確認マーカは、前記撮影画像上における前記校正指標を所定のマージンを有して内包する大きさの確認枠である請求項1に記載の車載カメラの校正装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate


【公開番号】特開2010−239408(P2010−239408A)
【公開日】平成22年10月21日(2010.10.21)
【国際特許分類】
【出願番号】特願2009−85478(P2009−85478)
【出願日】平成21年3月31日(2009.3.31)
【出願人】(000000011)アイシン精機株式会社 (5,421)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【Fターム(参考)】