JP5299231B2 - キャリブレーション装置 - Google Patents

キャリブレーション装置 Download PDF

Info

Publication number
JP5299231B2
JP5299231B2 JP2009262358A JP2009262358A JP5299231B2 JP 5299231 B2 JP5299231 B2 JP 5299231B2 JP 2009262358 A JP2009262358 A JP 2009262358A JP 2009262358 A JP2009262358 A JP 2009262358A JP 5299231 B2 JP5299231 B2 JP 5299231B2
Authority
JP
Japan
Prior art keywords
jig
camera
link
angle
link structure
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2009262358A
Other languages
English (en)
Other versions
JP2011107990A (ja
Inventor
誠也 清水
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009262358A priority Critical patent/JP5299231B2/ja
Priority to EP10190732.7A priority patent/EP2339535B1/en
Priority to KR1020100113270A priority patent/KR101212419B1/ko
Priority to US12/947,660 priority patent/US8659660B2/en
Publication of JP2011107990A publication Critical patent/JP2011107990A/ja
Application granted granted Critical
Publication of JP5299231B2 publication Critical patent/JP5299231B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Processing (AREA)
  • Closed-Circuit Television Systems (AREA)
  • Studio Devices (AREA)
  • Image Analysis (AREA)

Description

この発明は、カメラのキャリブレーションを実行するキャリブレーション装置に関する。
近年、車両に単数または複数のカメラを設置して、車外を撮影した画像を運転手等へ提供する技術が実用化されている(例えば、アラウンドビューモニタ)。このようなカメラにおいては、カメラの設置方法によって撮影範囲にずれが生じるので、カメラのキャリブレーションを行う。キャリブレーションとは、カメラの座標、俯角、回転角、カメラパン角度などを求めることをいう。そして、この技術は、キャリブレーションの実行結果によって求められるカメラのパラメータに基づいて撮影範囲のずれを補正している。
従来、カメラのキャリブレーションを実行する場合には、例えば、格子状のターゲット装置を車両に対して支持具により固定し、車両とターゲット装置との間隔を所定の状態に保つことでカメラのキャリブレーションを実現している。
また、車両に搭載された各車載カメラにより撮影した画像を用いて、例えば、車両の周囲を映し出した俯瞰画像を作成する技術もある。このような技術では、各車載カメラのキャリブレーションを行って俯瞰画像を作成する。例えば、この技術は、各車載カメラごとに、上述したターゲット装置の路面投影像を取得する。そして、この技術は、取得した路面投影像について、例えば、4台の車載カメラであれば、32個のホモグラフィ行列のパラメータが最適となる組合せを探索し、探索したパラメータに基づいて俯瞰画像を作成する。
特開2001−285681号公報 特開2008−187566号公報
しかしながら、上述した従来の技術では、カメラのキャリブレーションを実行する場合に、ターゲット装置の取り付け位置に厳密性が要求されるので、ユーザにかかる負担が大きいという問題があった。また、上述した従来の技術では、パラメータの導出に要する処理時間が非常に大きくなってしまうという問題があった。
開示の技術は、上記に鑑みてなされたものであって、容易かつ短時間でカメラのキャリブレーションを実施することができるキャリブレーション装置を提供することを目的とする。
本願の開示する技術は、一つの態様において、車両に搭載された複数のカメラの撮影範囲が重なり合う車両周囲の所定位置に配置された複数の冶具であって、マーカ間の距離が既知である複数のマーカを有する前記複数の冶具のうち、隣り合う冶具の画像をキャリブレーション対象とする複数のカメラを用いてそれぞれ取得する画像取得部と、前記画像取得部により取得された各画像から冶具をそれぞれ特定し、特定された各冶具に共通する所定の代表点を、前記複数のカメラで撮影された同一の冶具について重ね合わせた仮想的なリンク構造を形成するリンク構造形成部と、前記リンク構造形成部により形成された前記リンク構造について任意のリンク角を設定して当該リンク構造の姿勢を決定し、同一の冶具が有する同一のマーカ間の距離の差分が最小となるときのリンク角を探索するリンク角探索部と、前記リンク角探索部により探索されたリンク角を用いて、カメラパン角度、x軸座標、y軸座標を算出するパラメータ算出部とを有する。
本願の開示する技術の一つの態様によれば、容易かつ短時間でカメラのキャリブレーションを実施できる。
図1は、実施例1に係るキャリブレーション装置を示す図である。 図2は、冶具の構成を示す図である。 図3は、車両に設置されたカメラと冶具との位置関係を示す図である。 図4は、カメラのパラメータを説明する図である。 図5は、カメラのパラメータを説明する図である。 図6は、カメラにより撮影された画像の一例を示す図である。 図7は、マーカの画像座標の特定結果を示す図である。 図8は、式(1)〜(3)の関係を示す図である。 図9は、カメラのパラメータψの算出方法を説明する図である。 図10は、カメラ座標軸系と車両ローカル座標軸系との関係を示す図である。 図11は、各カメラにより検出された冶具の頂点位置を示す図である。 図12は、実施例2に係るカメラ相互のパラメータ算出を説明する図である。 図13は、カメラ相互のパラメータ算出を説明する図である。 図14は、カメラ相互のパラメータ算出を説明する図である。 図15は、冶具頂点のずれを示す図である。 図16は、実施例2に係るキャリブレーション装置の構成を示す図である。 図17は、実施例2に係るキャリブレーション装置の処理の流れを示す図である。 図18は、実施例2に係るキャリブレーション装置の処理の流れを示す図である。 図19は、実施例2に係るキャリブレーション装置の処理の流れを示す図である。 図20は、実施例2に係るキャリブレーション装置の処理の流れを示す図である。 図21は、実施例2に係るキャリブレーション装置の処理の流れを示す図である。 図22は、キャリブレーション処理を実行するコンピュータの一例を示す図である。
以下に、図面を参照しつつ、本願の開示するキャリブレーション装置の一実施形態について詳細に説明する。なお、キャリブレーション装置の一実施形態として後述する以下の実施例により、本願が開示する技術が限定されるものではない。
図1は、実施例1に係るキャリブレーション装置を示す図である。同図に示すように、実施例1に係るキャリブレーション装置1は、画像取得部2と、リンク構造形成部3と、リンク角探索部4と、パラメータ算出部5とを有する。
なお、キャリブレーション対象とする複数の車載カメラが搭載された車両の周囲には、マーカ間の距離が既知である複数のマーカを有する複数の冶具が配置される。例えば、冶具は、隣り合う車載カメラの撮影範囲が重複する位置にそれぞれ一つずつ配置される。キャリブレーション対象となる車載カメラは、撮影範囲にある冶具の画像を撮影する。
画像取得部2は、キャリブレーション対象とする複数のカメラから冶具の画像をそれぞれ取得する。例えば、画像取得部2は、各車載カメラから、各車載カメラにより撮影された2つの冶具の画像を取得する。
リンク構造形成部3は、画像取得部2により取得された各画像から冶具をそれぞれ特定する。そして、リンク構造形成部3は、特定された各冶具に共通する所定の代表点を、複数のカメラで重複して撮影された同一の冶具について重ね合わせた仮想的なリンク構造を形成する。
リンク角探索部4は、リンク構造形成部3により形成されたリンク構造について任意のリンク角を設定してリンク構造の姿勢を決定する。そして、リンク角探索部4は、同一の冶具が有する同一のマーカ間の距離の差分2乗和が最小となるときのリンク角を探索する。
パラメータ算出部5は、リンク角探索部4により探索されたリンク角を用いて、カメラパン角度、x軸座標、y軸座標を算出する。
キャリブレーション装置1は、各画像から特定された各冶具に共通する所定の代表点(例えば、重心位置に対応する点)を、複数のカメラで重複して撮影された同一の冶具について重ね合わせた仮想的なリンク構造を形成する。これにより、キャリブレーション装置1は、カメラのパラメータ算出に必要となる他のパラメータの数を大幅に削減できる。このようなことから、キャリブレーション装置1は、容易かつ短時間でカメラのキャリブレーションを実施できる。
[実施例2の構成]
図2は、冶具の構成を示す図である。同図は、車両の周囲に配置された冶具を鉛直方向から見た時の冶具の構造を示す。同図に示すように、冶具10は、各頂点にマーカP〜Pを有しており、各マーカ間の距離がD(一定)に設定されている。そして、この冶具10は、車両に搭載されるカメラのキャリブレーションを実行する場合に、隣り合う車載カメラの撮影範囲が重複する車両周囲の所定位置に支持具により固定され、車両との間隔が所定の状態に保たれる。
図3は、車両に設置されたカメラと冶具との位置関係を示す図である。同図は、車両に設置されたカメラと冶具との関係を鉛直方向から見た状態を示す。同図に示すように、カメラ20〜23は、撮影範囲が隣り合うカメラの撮影範囲と重複するように車両7の前後左右に搭載される。
また、図3に示すように、カメラ20の撮影範囲とカメラ21の撮影範囲とが重なる領域に冶具11が設置される。また、同図に示すように、カメラ21の撮影範囲とカメラ22の撮影範囲とが重なる領域に冶具12が設置される。また、同図に示すように、カメラ22の撮影範囲とカメラ23の撮影範囲とが重なる領域に冶具13が配置される。また、同図に示すように、カメラ23の撮影範囲とカメラ20の撮影範囲とが重なる領域に冶具10が配置される。なお、冶具10〜13の構造は同一の構造を有する(図1参照)。なお、図3に示すように、冶具11は、各頂点にマーカP〜Pを有し、冶具12は、各頂点にマーカP〜Pを有し、冶具13は、各頂点にP10〜P12を有する。
図4および図5は、カメラのパラメータを説明する図である。車両に搭載されるカメラ20〜23のパラメータには、図4に示すように、カメラ座標軸系におけるカメラの俯角ψ、カメラの回転角φおよびカメラパン角度θが含まれる。また、図5に示すように、車両全体座標系におけるカメラの3次元座標(x、y、z)が含まれる。なお、カメラ座標軸系とは、カメラ内に設定した所定の基準点および基準軸を元に、カメラの俯角ψ、カメラの回転角φおよびカメラパン角度θが決定される座標系である。車両全体座標系は、図5に示すように、車両7を鉛直方向から見た場合に、鉛直方向に直交する平面内の水平方向をX軸および垂直方向をY軸とする座標系である。
以下、実施例2にキャリブレーション装置が、各カメラのパラメータ(ψ、θ、φ、x、y、z)を算出する方法について説明する。実施例2に係るキャリブレーション装置は、個々のカメラ20〜23についてのパラメータ(ψ、φ、z)を算出した後に、カメラ20〜23相互のパラメータ(θ、x、y)を算出する。
[カメラ個々のパラメータ(ψ、φ、z)の算出]
実施例2に係るキャリブレーション装置は、各カメラにより撮影された画像を取得し、取得した画像中に含まれる冶具のマーカの位置(画像上の座標;以下、画像座標と表記する)を特定するポインティング処理を行う。
なお、ポインティング処理は、画像処理により行ってもよいし、ユーザが、ポインティングデバイスを用いてインタラクティブに行なってもよい。また、ポインティング処理を画像処理により行う場合には、マーカの位置の特定が容易となるように、発光・点滅するLED(Light Emitting Diode)などをマーカとして用いることもできる。さらに、ポインティング処理を画像処理により行う場合に、近傍に同一発光パターンとなる点滅画素集合をまとめてマーカとして認識するようにしてもよい。
図6は、カメラにより撮影された画像の一例を示す図である。上述の図3に示すように、車両7の周辺に冶具10〜13を配置すると、カメラ20〜23ごとに2つの冶具が撮影される。例えば、図6に示すように、カメラ22では、冶具12および13が撮影される。なお、画像座標系とは、カメラの撮影方向に直交する平面内の水平方向をX軸および垂直方向をY軸とする座標系である。
実施例2に係るキャリブレーション装置は、マーカの画像座標を特定した後に、特定した画像座標(画像座標系におけるX,Y座標)をカメラ座標軸系の視線ベクトルに変換する。ここで、視線ベクトルとは、カメラの光学中心と冶具上のマーカとを結んだ線分の方向ベクトルであり、マーカから発せられた光がレンズへ入射する方向の逆方向となる。視線ベクトルの方向については、光学中心からマーカへの方向を正の方向とする。
マーカから発せられた光がレンズへ入射する方向と撮像位置との関係はカメラとレンズ系により固有であるので、ユーザは、画像座標と視線ベクトルの変換テーブルをあらかじめ作成できる。そこで、実施例2に係るキャリブレーション装置は、ユーザによりあらかじめ作成された変換テーブルを利用して、画像座標を視線ベクトルに変換する。
例えば、画像中の2個の冶具上のマーカをP(n=1〜6)、各マーカの視線ベクトルをv〜vとして、マーカP(n=1〜6)のカメラ座標系における位置をP CAMと表記するものとする。このとき、P CAMは、カメラ座標系の原点から視線ベクトル方向にあるので、以下に示す式(1)の関係が成り立つ。なお、kは正の定数値(未知量)である。
Figure 0005299231
図7は、マーカの画像座標の特定結果を示す図である。例えば、冶具12,13上のマーカをP〜Pとした場合に、同図に示すような画像座標の特定結果が得られる。例えば、同図に示すように、冶具12のマーカPの特定結果は、P1(−122,−36)となる。
また、冶具を配置した平面Rの法線ベクトルをn(npx、npy、npz)とし、カメラの設置高さをHとすると、カメラ座標軸系の原点から平面Rに下ろした垂線と平面Rの交点PCAM は、以下に示す式(2)で表すことができる。
Figure 0005299231
また、平面Rの方程式は、以下に示す式(3)となる。
Figure 0005299231
ここで、上述した式(1)〜(3)の関係を図示すると、図8のように表すことができる。図8は、式(1)〜(3)の関係を示す図である。
また、上述した式(1)および式(3)を用いることにより、kを以下に示す式(4)で表すことができる。
Figure 0005299231
そして、上述した式(4)を式(1)に代入すると、カメラ座標軸系におけるマーカの位置PCAM を以下に示す式(5)で表すことができる。
Figure 0005299231
つまり、上述した式(2)および式(5)より、冶具の各マーカ位置は、カメラの設置高さHと法線ベクトルnとを変数とする関数として表現できる。
上述の図2に示すように、同一の冶具上に存在するマーカ間(P〜P、P〜P、P〜P)の距離Dは一定であるので、カメラの設置高さHと法線ベクトルnとを引数とする評価関数Eを以下に示す式(6)のように定める。
Figure 0005299231
式(6)(評価関数E)は、Hおよびnが正しい値をとる場合に、0となる。従って、式(6)の値を最小化するHとnとを求めることでカメラ座標系における平面Rを決定できる。式(6)を最小化する適切な初期値(例えば、初期値は予めユーザが特定しておく)からの最急降下法などの数値解析を用いることでHとnとを求めることができる。個々のカメラのパラメータのうち「z」は、平面Rとカメラ座標系の原点との距離であるからHそのものである。
個々のカメラのパラメータのうち「ψ」、「φ」は、平面Rの法線ベクトルnとカメラ座標系各軸とのなす角度から算出する。図9は、実施例2に係るカメラのパラメータψの算出方法を説明する図である。同図に示すように、カメラ座標系のz軸を延長した平面R上の点をQとすると、カメラ座標系の原点OCAMと、Qと、P CAMとを結んだ三角形の法線ベクトルとカメラ座標系のx軸との成す角がφである。従って、カメラのパラメータ「φ」は、以下に示す式(7)で表すことができる。
Figure 0005299231
なお、式(7)において、V CAMはカメラ座標軸系上のz軸方向の法線ベクトル(0、0、1)である。V CAMはカメラ座標軸系上のx軸方向の法線ベクトル(1、0、0)である。Unit( )は、ベクトルを単位ベクトルに変換する関数である。
また、カメラ座標系上のz軸まわりに−φだけカメラ座標軸系を回転させると、ψは、回転後のy軸方向(カメラ座標軸系上のy座標方向)の法線ベクトルとnとの成す角度となる。従って、カメラのパラメータ「ψ」は、以下に示す式(8)で表すことができる。なお、以下に示す式(8)において、V CAMは、y軸方向の法線ベクトル(0、1、0)である。
Figure 0005299231
上述してきたように、実施例2に係るキャリブレーション装置は、上述の式(1)〜(8)を用いることにより、個々のカメラのパラメータ(ψ、φ、z)を算出することができる。
[カメラ相互のパラメータ(θ、x、y)の算出]
以下の説明において、カメラm(m=F,B,R,L)のパラメータをψ、φ、θ、x、y、zと表記する。なお、個々のカメラのパラメータの算出とは異なり、各冶具の頂点に設置されるマーカをP(n=1〜3)で表現する。なお、カメラF(Front)はカメラ20を表し、カメラB(Back)はカメラ22を表し、カメラR(Right)はカメラ21を表し、カメラL(Light)はカメラ23を表す。
図10は、実施例2に係るカメラ座標軸系と車両ローカル座標軸系との関係を示す図である。同図に示すように、車両ローカル座標軸系は、カメラ毎に設定されたP CAM−mを原点に持つ直交座標系である。そして、車両ローカル座標軸系の原点P CAM−mを、車両ローカル座標軸系のZ軸方向の高さHmの位置にカメラ座標軸系の原点が存在する。
また、カメラmのカメラ座標系における冶具の頂点(マーカ1〜3)の位置(例えば、P,P,P)に対応する車両ローカル座標軸系の平面R上の位置をP CAM−mと表す。各冶具の頂点(マーカ)は、となり合うカメラによって撮影されているので(図3参照)、例えば、カメラFにより撮影された冶具11のマーカ1は、P CAM−Fとなり、カメラRにより撮影された冶具12のマーカ1は、P CAM−Rとなる。
図11は、実施例2に係る各カメラにより検出された冶具の頂点位置を示す図である。同図には、カメラ座標系の原点位置に対応する車両ローカル座標軸系における平面R上の原点位置P CAM−mと、カメラにより検出された車両ローカル座標軸系における冶具の頂点位置との相対的な位置関係をカメラごとに示す。実施例2に係るキャリブレーション装置は、カメラ20〜23により撮影された冶具の画像から、冶具の頂点(マーカ1〜3)の車両ローカル座標軸系における位置を検出し、各カメラと冶具との相対的な位置関係を求める。
例えば、実施例2に係るキャリブレーション装置は、カメラ20(F)により検出された冶具10および11の頂点を同図の右上段に示すように検出する。また、キャリブレーション装置は、例えば、カメラ20(R)により検出された画像内の冶具11および12の頂点を同図の左上段に示すように検出する。また、キャリブレーション装置は、カメラ22(B)により検出された冶具12および13の頂点を同図の右下段に示すように検出する。また、キャリブレーション装置は、例えば、カメラ23(L)により検出された画像内の冶具10および13の頂点を同図の左下段に示すように検出する。そして、実施例2に係るキャリブレーション装置は、カメラ20〜23(F,B,R,L)ごとに検出した冶具の頂点(マーカ)の位置と、カメラ座標系の原点位置に対応する平面R上の位置P CAM−mとに基づいて、カメラと冶具との相対的な位置関係を求める。
各カメラと冶具との相対的な位置関係が求めた後、実施例2に係るキャリブレーション装置は、カメラと冶具との相対的な位置関係を維持したままで車両座標系(世界座標系)での最適化を行う。
例えば、実施例2に係るキャリブレーション装置は、冶具間で相互に対応する代表点として、例えば、重心位置に対応する点を決定する。キャリブレーション装置は、図11に示すように、冶具10の代表点として重心位置に対応する点Mを決定する。また、キャリブレーション装置は、同図に示すように、冶具11の代表点として重心位置に対応する点Mを決定する。また、キャリブレーション装置は、同図に示すように、冶具12の代表点として重心位置に対応する点Mを決定する。また、キャリブレーション装置は、同図に示すように、冶具13の代表点として重心位置に対応する点Mを決定する。
そして、実施例2に係るキャリブレーション装置は、カメラと冶具との相対的な位置関係(図11参照)を維持したままで、同一の冶具の代表点が必ず一致するような仮想的なリンク構造を算出する。例えば、対応する各代表点どうしの位置を車両座標系(世界座標系)上で一致させるように、図11の状態の各カメラ画像を平行移動や回転移動させる。例えば、図11の右上段の画像を基準にした場合、右上段の画像内の点Mと左下段画像内の点Mとの位置を一致させるように、左下段の画像を反時計周りに回転させるとともに平行移動させる。他の代表点についても同様に位置を一致させる。そのようにして、図11に示す4枚の画像を平行または回転移動させてリンク構造にした状態を、以下に説明する図12に示す。
図12は、実施例2に係るカメラ相互のパラメータ算出を説明する図である。例えば、同図に示すように、仮想的なリンク構造は、カメラ20(F)により撮影される冶具11の重心位置に対応する点Mと、カメラ21(R)により撮影される冶具11の重心位置に対応する点Mとが一致している。また、同図に示すように、仮想的なリンク構造は、カメラ21(R)により撮影される冶具12の重心位置に対応する点Mと、カメラ22(B)により撮影される冶具12の重心位置に対応する点Mとが一致している。また、同図に示すように、仮想的なリンク構造は、カメラ22(B)により撮影される冶具13の重心位置に対応する点Mと、カメラ23(L)により撮影される冶具13の重心位置に対応する点Mとが一致している。また、同図に示すように、仮想的なリンク構造は、カメラ23(L)により撮影される冶具10の重心位置に対応する点Mと、カメラ20(F)により撮影される冶具10の重心位置に対応する点Mとが一致している。
そして、上述した仮想的なリンク構造は、1個のリンク角の大きさに応じて姿勢が確定される。例えば、図12に示すように、この仮想的なリンク構造について、冶具10の重心位置に対応する点Mと、冶具11の重心位置に対応する点Mとの間のリンクの長さをLと表す。また、同図に示すように、冶具11の重心位置に対応する点Mと、冶具12の重心位置に対応する点Mとの間のリンクの長さをLと表す。また、同図に示すように、冶具12の重心位置に対応する点Mと、冶具13の重心位置に対応する点Mとの間のリンクの長さをLと表す。また、同図に示すように、冶具13の重心位置に対応する点Mと、冶具10の重心位置に対応する点Mとの間のリンクの長さをLと表す。点Mと点Mを結ぶ線分の長さ、点Mと点Mを結ぶ線分の長さ、点Mと点Mを結ぶ線分の長さ、点Mと点Mとを結ぶ線分の長さはそれぞれ変わることなく固定である。
そして、図12に示すように、この仮想的なリンク構造を表す四角形の一つの外角(車両ローカル座標軸系のX座標軸と点Mと点Mを結ぶ線分とが成す角度)をリンク構造の姿勢を確定させるリンク角αと表す。このとき、この仮想的なリンク構造は、例えば、リンク角αが小さくなると、リンク構造を表す四角形の内角M、Mが小さくなり、リンク角αが大きくなると、リンク構造を表す四角形の内角M、Mが小さくなるような構造である。すなわち、図12上で点Mと点Mを結ぶ線分Lの長さは図11の右上段に示す点Mと点Mを結ぶ線分の長さと等しい。また、点Mと点Mを結ぶ線分Lの長さは、図11の左上段に示す点Mと点Mを結ぶ線分の長さと等しい。また、点Mと点Mを結ぶ線分Lの長さは、図11の右下段に示す点Mと点Mを結ぶ線分の長さと等しい。また、点Mと点Mとを結ぶ線分Lの長さは図11の左下段に示す点Mと点Mとを結ぶ線分の長さと等しい。
実施例2に係るキャリブレーション装置は、上述した図12に示すような仮想的なリンク構造、すなわち、冶具10の点M、冶具11の点M、冶具12の点M、冶具13の点Mを頂点とし、リンク角がαである仮想的なリンク構造を算出する。なお、カメラが5台(M=5)以上の場合には、(M−3)個のリンク角を確定させることにより、車両座標系(世界座標系)におけるリンク構造の姿勢を一意に設定できる。
[リンク角をパラメータとするリンク構造の姿勢の決定]
続いて、実施例2に係るキャリブレーション装置は、仮想的なリンク構造のリンク角をαとしたときの各冶具の車両ローカル座標系における位置を算出する。
例えば、実施例2に係るキャリブレーション装置は、カメラ20(F)の車両ローカル座標軸系と車両座標系(世界座標系)とが一致しているものと仮定する。このとき、冶具10の重心位置に対応する点Mの座標、および冶具11の重心位置に対応する点Mの座標は既知の値として得られる。そして、キャリブレーション装置は、リンク角α(図12参照)を用いると、冶具12の重心位置に対応する点Mの座標は、以下に示す式(9)で表される。なお、L,L,L,Lは、カメラ座標系での重心間距離と一致するので既知の値となる。
Figure 0005299231
同様に、車両ローカル座標軸系のX座標軸とリンクLが成す角度を(β+γ)とすると、冶具13の重心位置に対応する点Mは、以下に示す式(10)で表される。
Figure 0005299231
また、角Mに該当する角度βは、以下に示す式(11)で表される。
Figure 0005299231
ここで、余弦定理より、L を以下の式(12)で表すことができ、cosγを以下の式(13)で表すことができるので、角Mに該当する角度γは、以下に示す式(14)で表される。
Figure 0005299231
Figure 0005299231
Figure 0005299231
そして、冶具10の重心位置に対応する点Mと、冶具11の重心位置に対応する点Mとの距離を以下に示す式(15)で表すことができる。
Figure 0005299231
このようにして、実施例2に係るキャリブレーション装置は、式(9)〜(15)により、仮想的なリンク構造(図12参照)のリンク角をαとしたときの各冶具の位置をそれぞれ算出できる。
[車両座標系における各冶具の頂点(マーカ)の座標の算出]
次に、実施例2に係るキャリブレーション装置は、上述したような仮想的なリンク構造(図12参照)において、特定のカメラにより検出された冶具の頂点(マーカ)の車両座標系における位置(座標)を算出する。
例えば、実施例2に係るキャリブレーション装置は、以下の説明において、カメラmから検出された冶具gのn番目の頂点の車両ローカル座標軸系における座標値を、Pg-n CAM-mと記述する。ここで、mはカメラの識別子(m=F,R,B,L)である。また、gは冶具の識別子(g=1,2,3,4)である。例えば、冶具10には識別子g=1を割り当て、冶具11には識別子g=2を割り当て、冶具12には識別子g=3を割り当て、冶具13には識別子g=4を割り当てる。また、nは冶具中の頂点(マーカ)の識別子(n=1,2,3)である。例えば、カメラ21(R)から検出された冶具11(割り当て識別子g=2)の1番目の頂点の車両ローカル座標軸系における座標値は、P2-1 CAM-Rと表される。
更に、実施例2に係るキャリブレーション装置は、以下の説明において、冶具gの重心位置をカメラmの車両ローカル座標軸系でM CAM-mと記述し、カメラmで検出された2つの三角形冶具の重心位置をつなぐ線分の方向単位ベクトルをqCAM-mと記述する。例えば、冶具11(割り当て識別子g=2)の重心位置は、カメラ21(R)の車両ローカル座標軸系でM CAM-Rと表される。また、例えば、カメラ21(R)で検出された2つの冶具11の重心位置M CAM-Rと、冶具12の重心位置M CAM-Rをつなぐ線分の方向単位ベクトルは、qCAM-Rと表される。
また、実施例2に係るキャリブレーション装置は、以下の説明において、カメラmにより検出された冶具の頂点(マーカ)の世界座標系における座標値を、Pm-g-n CARと記述する。
また、実施例2に係るキャリブレーション装置は、以下の説明において、カメラmにより検出された冶具の車両ローカル座標軸系の座標値を車両座標系(世界座標系)の座標値に変換する回転移動をRotZ(δ)と定義する。また、実施例2に係るキャリブレーション装置は、以下の説明において、カメラmにより検出された冶具の車両ローカル座標軸系の座標値を車両座標系(世界座標系)の座標値に変換する並行移動をTrans(ε)と定義する。
実施例2に係るキャリブレーション装置は、以下のような手順で、カメラにより検出された冶具の頂点(マーカ)の車両座標系における位置(座標)を算出する。すなわち、キャリブレーション装置は、各カメラで検出された冶具の位置を示す車両ローカル座標系の原点を一致させる。そして、キャリブレーション装置は、上述した仮想的なリンク構造(図12参照)となるように、各カメラで検出された冶具の重心位置を移動させるパラメータ(回転移動量および並行移動量)を算出する。
以下では、例えば、カメラ21(R)により検出された冶具の頂点(マーカ)の車両座標系における位置(座標)を算出する場合を例に挙げて説明する。まず、実施例2に係るキャリブレーション装置は、既に算出している車両座標系(世界座標系)における冶具の重心位置の座標から、冶具の重心位置間を結ぶ線分の方向単位ベクトルqCAR-mを計算する。例えば、図13に示すように、キャリブレーション装置は、カメラ21(R)で検出された2つの冶具11の重心位置M CAM-Rと、冶具12の重心位置M CAM-Rをつなぐ線分の方向単位ベクトルqCAM-Rとを計算する。図13は、実施例2に係るカメラ相互のパラメータ算出を説明する図である。
また、実施例2に係るキャリブレーション装置は、カメラ20(F)の車両ローカル座標軸系と車両座標系(世界座標系)とが一致しているものと仮定したことから、車両座標系における冶具の重心位置間を結ぶ方向単位ベクトルq CARを求めることができる。なお、mは、カメラを示す識別子(m=F,B,R,L)である。例えば、図14に示すように、キャリブレーション装置は、カメラ21(R)により検出された冶具の重心位置MとMとを結ぶ方向単位ベクトルq CARを算出できる。図14は、実施例2に係るカメラ相互のパラメータ算出を説明する図である。
そして、実施例2に係るキャリブレーション装置は、算出した方向単位ベクトルqCAM-mおよびq CARを用いて、上述した仮想的なリンク構造(図12参照)となるように、カメラ21(R)で検出された冶具11の重心位置Mを移動させる回転移動量δおよび平行移動量εを算出する。
すなわち、実施例2に係るキャリブレーション装置は、カメラ20(F)により検出された冶具の位置が投影されている車両ローカル座標軸系の原点と、カメラ21(R)により検出された冶具の位置が投影されている車両ローカル座標軸系の原点とを一致させる。そして、キャリブレーション装置は、上述した方向単位ベクトルqCAM-Rおよびq CARを目安として回転移動量δを算出する。すなわち、キャリブレーション装置は、上述した仮想的なリンク構造(図12)に一致させるように、カメラ21(R)により検出された冶具11の重心位置Mを回転移動させる回転移動量δ(図14のA参照)を算出する。例えば、キャリブレーション装置は、図14に示すR’上の方向単位ベクトルqCAM-Rと、図14に示すR上の方向単位ベクトルq CARとが並行となるような回転移動量δを算出する。
次に、キャリブレーション装置は、上述した方向単位ベクトルqCAM-Rおよびq CARを目安として平行移動量εを算出する。すなわち、キャリブレーション装置は、上述した仮想的なリンク構造(図12)に一致させるように、カメラ21(R)により検出された冶具11の重心位置Mを並行移動させる平行移動量ε(図14のB参照)を算出する。例えば、キャリブレーション装置は、回転移動後の方向単位ベクトルqCAM-Rと、図14に示すR上の単位ベクトルq CARとを一致させる平行移動量εを算出する。そして、キャリブレーション装置は、算出した回転移動量δおよび平行移動量εを用いて、カメラ21(R)により検出された冶具の頂点(マーカ)の車両座標系における位置(座標)を算出する。
なお、実施例2に係るキャリブレーション装置は、カメラ20(F)〜カメラ23(L)により検出された冶具の位置の全てについて、上述した操作(図14)と同様の操作を実行する。これにより、キャリブレーション装置は、車両座標系における冶具10〜冶具13の全ての頂点座標を算出する。
図14のAに示す回転移動量δは以下に示す式(16)で算出される。
Figure 0005299231
回転移動量δにより回転移動された後の冶具の重心位置のうちの1つ(M CAM-m)を示す座標値は、以下に示す式(17)で算出される。なお、回転移動後の座標値は、式(17)の左辺に該当する。
Figure 0005299231
Figure 0005299231
図14のBに示す平行移動量εは、以下に示す式(19)で算出される。
Figure 0005299231
車両座標系(世界座標系)における冶具の頂点(マーカ)の座標は、以下に示す式(20)および式(21)で算出される。
Figure 0005299231
Figure 0005299231
[評価関数の評価値が最小となるときのリンク角の算出]
カメラ20〜23で観測された冶具の頂点(マーカ)の車両座標系(世界座標系)における位置を導出後、実施例2に係るキャリブレーション装置は、評価関数の評価値が最小となるときのリンク角度αを算出する。
冶具の車両座標系(世界座標系)における重心位置は、どのカメラで観測された冶具についても一致している。しかしながら、図15に示すように、仮定したリンク構造上において、冶具が有する各頂点(マーカ)の位置は、必ずしも一致しているとは限らない。そこで、実施例2に係るキャリブレーション装置は、異なるカメラで観測された同一の冶具について同一の頂点の座標値を比較し、そのズレ量(距離)の差分として、例えば差分絶対値和を以下に示す式(23)により算出する。差分絶対値和の算出後、キャリブレーション装置は、式(23)により差分絶対値和を用いて、以下に示す式(22)のような評価値関数Eを算出する。そして、キャリブレーション装置は、式(22)に示す評価関数を用いて、評価関数の評価値が最小となるときのリンク角度αを算出する。なお、差分絶対和を用いる場合に限られるものではなく、例えば、差分そのものを用いた評価関数を算出してもよい。図15は、実施例2に係る冶具頂点のずれを示す図である。
Figure 0005299231
Figure 0005299231
なお、式(23)のパラメータm,mは、撮影範囲が重複するカメラ20〜23(F,B,R,L)のいずれかの識別子を示す。例えば、カメラ20(F)およびカメラ(R)で重複して撮影された冶具11の頂点間の差分2乗和を算出する場合であれば、m=F、m=Rとなる。
上述した式(22)に示す評価値関数Eの評価値が最小となるときのリンク角度αを求めた後、実施例2に係るキャリブレーション装置は、カメラ相互のパラメータ(θ、x、y)をそれぞれ求める。カメラ相互のパラメータ(θ、x、y)は、以下に示す式(24)〜(26)で表される。
Figure 0005299231
Figure 0005299231
Figure 0005299231
図16は、実施例2に係るキャリブレーション装置の構成を示す図である。同図に示すように、実施例2に係るキャリブレーション装置100は、カメラ20〜23に接続され、フレームバッファ110と、マーカ抽出部120と、第1パラメータ推定部130と、第2パラメータ推定部140と、パラメータ記憶部150とを有する。同図に示す冶具10〜13は、上述した図2に示す冶具に対応する。また、同図に示す冶具10〜13と、カメラ20〜23との位置関係は、上述したい図3に示す位置関係を有するものとする。
フレームバッファ110は、カメラ20〜23により撮影された画像(図6参照)をそれぞれ記憶する。
マーカ抽出部120は、フレームバッファ110から画像データを取得し、取得した画像データ上のマーカの画像座標を特定するポインティング処理を行う。例えば、マーカ抽出部120は、周知の画像処理技術を利用して、取得した画像データ上のマーカの画像を認識し、認識したマーカを抽出することによりポインティング処理を行うことができる。さらに、マーカ抽出部120は、ポインティング処理を行う場合に、同一発光パターンを示す近傍の点滅画素集合をまとめてマーカとして認識し、認識したマーカの座標を特定するようにしてもよい。マーカ抽出部120は、特定した画像座標のデータを各カメラの画像データごとに分類して、第1パラメータ推定部130に出力する。
また、マーカの位置の特定が容易となるように、発光・点滅するLED(Light Emitting Diode)などをマーカとして用いることもできる。なお、マーカ抽出部120は、タッチパネルなどのポインティングデバイスに画像を表示し、ユーザによるタッチペンの接触位置を検出することにより、マーカの画像座標を特定してもよい。
第1パラメータ推定部130は、上述したように、カメラ毎にパラメータ(ψ、φ、z)を算出する。例えば、第1パラメータ推定部130は、マーカ抽出部120から各マーカの画像座標のデータを取得した場合に、変換テーブルを用いて、各画像座標を視線ベクトルvに変換する。そして、第1パラメータ推定部130は、最急降下法などを用いて式(6)に示した評価関数Eの値が最小値をとなるH(z)とnとを求め、求めたnと式(7)および式(8)とを用いることにより、カメラのパラメータ(ψ、φ、z)を算出する。第1パラメータ推定部130は、カメラ毎に算出したパラメータ(ψ、φ、z)のデータおよび視線ベクトルのデータを第2パラメータ推定部140に出力する。
第2パラメータ推定部140は、上述したように、カメラ相互のパラメータ(θ、x、y)をカメラごとに算出する。例えば、カメラ20〜23により撮影された冶具の画像から、冶具の頂点(マーカ)の位置を検出することにより、カメラ座標系における各カメラと冶具との相対的な位置関係を求める。そして、第2パラメータ推定部140は、冶具間で相互に対応する代表点(例えば、重心位置に対応する点)を決定し、カメラと冶具との相対的な位置関係を維持したままで、各冶具の代表点が必ず一致するように串刺しにした仮想的なリンク構造を作成する。
リンク構造の作成後、第2パラメータ推定部140は、リンク構造の一つのリンク角をパラメータとしてリンク構造の姿勢を決定し、決定した姿勢時の各冶具の車両座標系における頂点座標を算出する(式(20)および(21))。そして、第2パラメータ推定部140は、車両座標系における頂点座標値から評価関数(式(22))を算出し、評価関数の評価値が最小となるリンク角を求める。例えば、第2パラメータ推定部140は、リンク角αの初期値を設定して所定の角度(Δα)刻みで最急降下法を行い、評価関数Eの評価値が減少する方向にαの値を動かす。そして、第2パラメータ推定部140は、評価関数Eが最小となるαを検出すると、Δαを1/2倍して、更に細かい刻みで評価関数Eの評価値が減少する方向への探索を行い、Δαが0.1度以下になったときにリンク角αの探索を終了する。
リンク角を求めた後、第2パラメータ推定部140は、求めたリンク角から、カメラ相互のパラメータ(θ、x、y)をカメラごとに算出する(式(24)〜(26))。
なお、第2パラメータ推定部140による処理の流れについては、後述する処理の流れの説明にて詳述する。
パラメータ記憶部150は、カメラ毎にパラメータ(ψ、θ、φ、x、y、z)を記憶する。パラメータ記憶部150に記憶されたカメラのパラメータは、各種のアプリケーションによって利用される。例えば、パラメータ記憶部150によりカメラ毎に記憶されたパラメータ(ψ、θ、φ、x、y、z)は、俯瞰画像を作成するためのアプリケーションによって利用される。
なお、パラメータ記憶部150は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(flash memory)などの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。
なお、第1パラメータ推定部130および第2のパラメータ推定部140は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA (Field Programmable Gate Array)などの集積回路である。また、第1パラメータ推定部130および第2パラメータ推定部140は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路である。
[実施例2による処理]
図17〜図20は、実施例2に係るキャリブレーション装置の処理の流れを示す図である。まず、図17を用いて、実施例2に係るキャリブレーション装置の処理の全体的な流れを説明する。同図に示すように、キャリブレーション装置100において、カメラ20〜23が画像を撮影し(ステップS1701)、フレームバッファ110が画像データを記憶する(ステップS1702)。
続いて、マーカ抽出部120が、画像データからマーカの画像座標を特定し(ステップS1703)、第1パラメータ推定部130が、カメラのパラメータ(ψ、φ、z)を算出する(ステップS1704)。
そして、第2パラメータ推定部140が、カメラのパラメータ(θ、x、y)を算出し(ステップS1705)、パラメータ記憶部150が、カメラのパラメータ(ψ、θ、φ、x、y、z)を記憶する(ステップS1706)。なお、ステップS1705の処理は、図18を用いて、以下で詳述する。
次に、図18を用いて、第2パラメータ推定部140によるリンク角αの探索処理の流れを説明する。例えば、第1パラメータ推定部130によるパラメータ(θ、x、y)の算出が完了すると、第2パラメータ推定部140は、リンク角αの探索処理を開始する。
すなわち、第2パラメータ推定部140は、同図に示すように、リンク角αの初期値(例えば、α=90deg)を設定し(ステップS1801)、最急降下法の探索処理におけるαの初期増分(例えば、Δα=1deg)を設定する(ステップS1802)。そして、第2パラメータ推定部140は、リンク角αのときの評価関数E(式22)の評価値E(α)を算出する(ステップS1803)。なお、ステップS1803の処理は、図19を用いて、以下に詳述する。
E(α)の算出後、第2パラメータ推定部140は、算出したE(α)を最小値(E min)に設定するとともに、リンク角αの初期値を最小値(α min)に設定する(ステップS1804)。そして、第2パラメータ推定部140は、リンク角αを初期増分だけ増加させたリンク角α+Δαのときの評価関数E(式22)の評価値E(α+Δα)を算出する(ステップS1805)。
E(α+Δα)の算出後、第2パラメータ推定部140は、算出したE(α+Δα)が最小値「E min」よりも小さいか否かを判定する(ステップS1806)。判定の結果、E(α+Δα)が「E min」よりも小さい場合には(ステップS1806肯定)、第2パラメータ推定部140は、E(α+Δα)を最小値(E min)に設定する(ステップS1807)。さらに、第2パラメータ推定部140は、リンク角α+Δαを最小値(α min)に設定する(ステップS1807)。そして、第2パラメータ推定部140は、リンク角αを初期増分だけ減少させたリンク角α−Δαのときの評価関数E(式22)の評価値E(α−Δα)を算出する(ステップS1808)。
ここで、ステップS1806の説明に戻る。判定の結果、E(α+Δα)が「E min」よりも小さくない場合には(ステップS1806否定)、第2パラメータ推定部140は、そのまま、上述したステップS1808の処理に移行する。
E(α−Δα)の算出後、第2パラメータ推定部140は、算出したE(α−Δα)が最小値「E min」よりも小さいか否かを判定する(ステップS1809)。判定の結果、E(α−Δα)が「E min」よりも小さい場合には(ステップS1809肯定)、第2パラメータ推定部140は、E(α−Δα)を最小値(E min)に設定する(ステップS1810)。さらに、第2パラメータ推定部140は、リンク角α−Δαを最小値(α min)に設定する(ステップS1810)。そして、第2パラメータ推定部140は、リンク角αと「α min」とが等しいか否かを判定する(ステップS1811)。
判定の結果、リンク角αと「α min」とが等しい場合には(ステップS1811肯定)、第2パラメータ推定部140は、Δαが、例えば、0.1度(deg)よりも小さいか否かを判定する(ステップS1812)。判定の結果、Δαが0.1度(deg)よりも小さい場合には(ステップS1812肯定)、第2パラメータ推定部140は、そのときの「α min」を出力して、リンク角αの探索処理を終了する。そして、第2パラメータ推定部140は、出力したリンク角αを用いて、カメラのパラメータ(θ、x、y)を算出する。
ここで、ステップS1811の説明に戻ると、判定の結果、リンク角αと「α min」とが等しくない場合には(ステップS1811否定)、第2パラメータ推定部140は、「α min」をαに設定して、上述したステップS1805の処理に戻る。
また、ステップS1812の説明に戻ると、判定の結果、Δαが0.1度(deg)よりも小さくない場合には(ステップS1812否定)、第2パラメータ推定部140は、Δαを2分の1倍して(ステップS1814)、上述したステップS1805の処理に戻る。
なお、上述したリンク角αの探索処理(図18)は、探索した角度と閾値との判定結果に応じて、その都度探索する角度を設定し、最小となるリンク角を探索する場合を説明した。しかしながら、これに限定されるものではなく、処理開始から、探索する角度を設定可能な最小値に設定して、最小となるリンク角を小刻みに探索するようにしてもよい。
続いて、図19を用いて、第2パラメータ推定部140による評価関数E(式22)の評価値E(α)の算出処理の流れを説明する。第2パラメータ推定部140は、仮に、カメラ20(F)の車両ローカル座標軸系と車両座標系(世界座標系)とが一致しているものと仮定する。そして、同図に示すように、第2パラメータ推定部140は、車両座標系(世界座標系)における冶具の重心位置の座標M(g=1,2,3,4)を算出する(ステップS1901)。なお、ステップS1901の処理は、図20を用いて、以下に詳述する。
(g=1,2,3,4)の算出後、第2パラメータ推定部140は、上述した式(16)および(18)を用いて、回転移動を表す行列RotZ(δ)(m=F,B,L,R)を算出する(ステップS1902)。すなわち、第2パラメータ推定部140は、方向単位ベクトルqCAM-mを用いて、カメラmにより検出された冶具の車両ローカル座標軸系の位置を車両座標系(世界座標系)の位置に変換するための回転移動を表す行列RotZ(δ)を算出する。
RotZ(δ)の算出後、第2パラメータ推定部140は、上述した式(17)を用いて、冶具が有する各頂点の位置を回転移動させたときの座標値を算出する(ステップS1903)。座標値の算出後、第2パラメータ推定部140は、上述した式(19)および(21)を用いて、平行移動を表す行列Trans(ε)を算出する(ステップS1904)。
Trans(ε)の算出後、第2パラメータ推定部140は、同一の冶具について、同一の頂点の座標値を比較し、そのズレ量(距離)の差分絶対値和(Esub)を、上述した式(23)を用いてそれぞれ算出する(ステップS1905〜S1908)。すなわち、第2パラメータ推定部140は、RotZ(δ)およびTrans(ε)を用いた上述の式(20)により、車両ローカル座標軸系における冶具の各頂点の位置を車両座標系(世界座標系)の位置に変換した座標値をそれぞれ算出する。そして、第2パラメータ推定部140は、算出した各座標値を用いて、上述した差分絶対値和(Esub)を算出する。なお、ステップS1905〜S1908の処理は、図21を用いて、以下に詳述する。
差分絶対値和の算出後、第2パラメータ推定部140は、差分絶対値和を評価関数として設定することにより、上述した式(22)に示す評価関数E(α)を算出する(ステップS1909)。
続いて、図20を用いて、第2パラメータ推定部140による冶具の重心位置の座標M(g=1,2,3,4)の算出処理の流れを説明する。同図に示すように、第2パラメータ推定部140は、冶具10の重心位置に対応する点Mの座標として、既知であるカメラ20(F)の車両ローカル座標軸系の値(M CAM-F)を設定する(ステップS2001)。同様に、第2パラメータ推定部140は、冶具11の重心位置に対応する点Mの座標として、カメラ20(F)の車両ローカル座標軸系の値(M CAM-F)を設定する(ステップS2002)。
次に、第2パラメータ推定部140は、重心間距離であるリンク長L(m=F,B,L,R)を算出する(ステップS2003)。そして、第2パラメータ推定部140は、車両ローカル座標軸系のX座標軸とリンクLとが成す角度αとして、上述した式(9)を用いて、冶具12の重心位置に対応する点Mの座標を算出する(ステップS2004)。
の座標を算出後、第2パラメータ推定部140は、上述した式(15)を用いて、冶具10の重心位置に対応する点Mと、冶具11の重心位置に対応する点Mとの距離D13を算出する(ステップS2005)。そして、第2パラメータ推定部140は、上述した式(14)を用いて、角M(図12参照)に該当する角度γを算出する(ステップS2006)。また、第2パラメータ推定部140は、上述した式(11)を用いて、角M(図12参照)に該当する角度βを算出する(ステップS2007)。
そして、第2パラメータ推定部140は、上述した式(10)に角度(β+γ)を代入することにより、冶具13の重心位置に対応する点Mの座標を求める(ステップS2008)。以後、第2パラメータ推定部140は、上述した図19に示すステップS1902の処理に移行する。
次に、図21を用いて、図19のステップS1905〜1908に示す差分絶対値和(Esub)の算出の流れを示す。図21に示すように、第2パラメータ推定部140は、上述した式(20)を用いて、各冶具の各頂点の車両座標系(世界座標系)における座標値をそれぞれ算出する(ステップS2101〜S2102)。そして、第2パラメータ推定部140は、上述した式(23)を用いて、各冶具ごとに、同一の冶具について同一の頂点間の距離の差分絶対値和(Esub)を算出する(ステップS2103)。以後、第2パラメータ推定部140は、図19に示すステップS1909の処理に移行する。
上述してきたように、実施例2に係るキャリブレーション装置100は、各マーカ間の距離が既知(例えば、D)である複数のマーカを有する冶具を、カメラ20〜23を用いて撮影する。そして、実施例2に係るキャリブレーション装置100は、撮影された画像から冶具が有するマーカの位置を特定することにより、カメラのパラメータ(ψ、θ、φ、x、y、z)を算出するので、従来技術のように、冶具とカメラとの配置位置に厳密性が要求されない。その結果、容易にカメラのキャリブレーションを実行することができ、ユーザの負担を軽減することができる。
また、実施例2に係るキャリブレーション装置100は、カメラと冶具との相対的な位置関係を維持したままで、各冶具の代表点が必ず一致するように串刺しにした仮想的なリンク構造を作成する。リンク構造の作成後、キャリブレーション装置100は、リンク構造の一つのリンク角をパラメータとしてリンク構造の姿勢を決定し、決定した姿勢時の各冶具の車両座標系における頂点座標を算出する。頂点座標の算出後、キャリブレーション装置100は、車両座標系における頂点座標値から評価関数を算出し、評価関数の評価値が最小となるリンク角を求める。リンク角を求めた後、キャリブレーション装置100は、カメラ相互の(カメラ間の相対的位置関係を考慮した)パラメータ(θ、x、y)を算出する。すなわち、キャリブレーション装置100は、リンク構造を一意に特定するリンク角の最適値を求めてリンク構造の姿勢を決定する。これにより、キャリブレーション装置100は、カメラ相互の3パラメータ(θ、x、y)について4カメラ分の全12パラメータの最適値の決定処理を、リンク角の1パラメータに置き換えて処理することができる。このようなことから、キャリブレーション装置100は、カメラ相互のパラメータ(θ、x、y)を算出するために必要な他のパラメータを大幅に削減でき、容易かつ短時間でカメラのキャリブレーションを実施できる。
なお、実施例2に係るキャリブレーション装置100は、隣り合うカメラの視野が重なる部分に配置された冶具を各カメラで撮影するので、カメラ間の相対位置関係の推定が可能となる。その結果、鳥瞰図や全周囲画像や360度パノラマ画像を生成するのに必要なカメラパラメータを一括取得できる。
また、カメラ20〜23と冶具10〜13との位置関係は、上述した図3の位置関係に限定されるものではない。具体的には、各カメラが撮影する1画面内に複数の冶具が撮影されており、かつ、画面中の冶具は、少なくとも2つのマーカを含む1冶具と、少なくとも3つのマーカを含む1冶具とを含むという条件、および同一の冶具が複数のカメラに撮影されるという条件を満たせば、カメラ20〜23、冶具10〜13の配置を変更してもよい。なお、冶具の形状は、図2に示す形状に限られるものではない、冶具間で共通の代表点を決定できる形状であれば、どのような形状の冶具を適用してもよい。
(1)装置構成
図16に示すキャリブレーション装置100の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、キャリブレーション装置100の分散・統合の具体的形態は図示のものに限られず、例えば、第1パラメータ推定部130と第2パラメータ推定部140とを機能的または物理的に統合してもよい。このように、キャリブレーション装置100の全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
(2)キャリブレーション処理をコンピュータに実行させるプログラム
また、上述の実施例2で説明したキャリブレーション装置100の各種の処理(例えば、図17〜図21参照)は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。
そこで、以下では、図22を用いて、上述の実施例2で説明したキャリブレーション装置100による処理と同様の機能を実現するキャリブレーションプログラムを実行するコンピュータの一例を説明する。図22は、キャリブレーション処理を実行するコンピュータの一例を示す図である。
図21に示すように、キャリブレーション装置100として機能するコンピュータ300は、入力装置301、モニタ302、RAM(Random Access Memory)303、ROM(Read Only Memory)304を有する。また、コンピュータ300は、画像(冶具を含んだ画像)を撮影するカメラ305、CPU(Central Processing Unit)306、HDD(Hard Disk Drive)307を有する。
そして、コンピュータ300は、入力装置301、モニタ302、RAM303、ROM304、カメラ305、CPU306およびHDD307をバス308で相互に接続する。
そして、HDD307には、上述したキャリブレーション装置100の機能と同様の機能を発揮するキャリブレーションプログラム307aが記憶されている。なお、このキャリブレーションプログラム307aを適宜分散させて、ネットワークを介して通信可能に接続された他のコンピュータの記憶部に記憶させておくこともできる。
そして、CPU306が、キャリブレーションプログラム307aをHDD307から読み出してRAM303に展開することにより、図21に示すように、キャリブレーションプログラム307aはキャリブレーションプロセス306aとして機能する。
すなわち、キャリブレーションプロセス306aは、カメラ305により取得された画像データ等の各種データ303aをRAM303において身に割り当てられた領域に展開し、この展開した各種データ303aに基づいて各種処理を実行する。
なお、キャリブレーションプロセス306aは、特に、図16に示したマーカ抽出部120、第1パラメータ推定部130、第2パラメータ推定部140において実行される処理に対応する。
なお、キャリブレーションプログラム307aについては、必ずしも最初からHDD307に記憶させておく必要はない。例えば、コンピュータ300に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ300がこれらから各プログラムを読み出して実行するようにしてもよい。
さらには、公衆回線、インターネット、LAN、WANなどを介してコンピュータ300に接続される「他のコンピュータ(またはサーバ)」などに各プログラムを記憶させておく。そして、コンピュータ300がこれらから各プログラムを読み出して実行するようにしてもよい。
1 キャリブレーション装置
2 画像取得部
3 リンク構造形成部
4 リンク角探索部
5 パラメータ算出部
7 車両
10,11,12,13 冶具
20,21,22,23 カメラ
100 キャリブレーション装置
110 フレームバッファ
120 マーカ抽出部
130 第1パラメータ推定部
140 第2パラメータ推定部
150 パラメータ記憶部
300 コンピュータ
301 入力装置
302 モニタ
303 RAM(Random Access Memory)
303a 各種データ
304 ROM(Random Only Memory)
305 カメラ
306 CPU(Central Processing Unit)
306a キャリブレーションプロセス
307 HDD(Hard Disk Drive)
307a キャリブレーションプログラム
308 バス

Claims (2)

  1. 車両に搭載された複数のカメラの撮影範囲が重なり合う車両周囲の所定位置に配置された複数の冶具であって、マーカ間の距離が既知である複数のマーカを有する前記複数の冶具のうち、隣り合う冶具の画像をキャリブレーション対象とする複数のカメラを用いてそれぞれ取得する画像取得部と、
    前記画像取得部により取得された各画像から冶具をそれぞれ特定し、特定された各冶具に共通する所定の代表点を、前記複数のカメラで撮影された同一の冶具について重ね合わせた仮想的なリンク構造を形成するリンク構造形成部と、
    前記リンク構造形成部により形成された前記リンク構造について任意のリンク角を設定して当該リンク構造の姿勢を決定し、同一の冶具が有する同一のマーカ間の距離の差分が最小となるときのリンク角を探索するリンク角探索部と、
    前記リンク角探索部により探索されたリンク角を用いて、カメラパン角度、x軸座標、y軸座標を算出するパラメータ算出部と
    を有することを特徴とするキャリブレーション装置。
  2. 前記画像取得部は、前記各画像内に前記冶具を複数含む画像を取得し、
    前記リンク構造形成部は、前記リンク構造として、一の前記画像上の複数の前記冶具の代表点間の距離に基づく長さの辺を有し、前記重ね合わせた代表点を頂点とする多角形であって、当該多角形がなす一つの外角に応じて姿勢が決定される仮想的なリンク構造を形成し、
    前記リンク角探索部は、前記リンク構造形成部により形成された前記リンク構造がなす外角の角度を表す任意の変数を設定して当該リンク構造の姿勢を決定した場合の、当該リンク構造内の同一の冶具が有する同一の頂点間の距離の差分と前記変数とに基づく評価関数を定義し、前記変数の値として任意の値を代入して算出される前記評価関数の評価値が最小となるときの変数の値を、前記代入する値を変更して前記評価値の算出を繰り返すことで算出することを特徴とする請求項1記載のキャリブレーション装置。
JP2009262358A 2009-11-17 2009-11-17 キャリブレーション装置 Active JP5299231B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2009262358A JP5299231B2 (ja) 2009-11-17 2009-11-17 キャリブレーション装置
EP10190732.7A EP2339535B1 (en) 2009-11-17 2010-11-10 Calibration apparatus and calibration method
KR1020100113270A KR101212419B1 (ko) 2009-11-17 2010-11-15 캘리브레이션 장치
US12/947,660 US8659660B2 (en) 2009-11-17 2010-11-16 Calibration apparatus and calibration method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009262358A JP5299231B2 (ja) 2009-11-17 2009-11-17 キャリブレーション装置

Publications (2)

Publication Number Publication Date
JP2011107990A JP2011107990A (ja) 2011-06-02
JP5299231B2 true JP5299231B2 (ja) 2013-09-25

Family

ID=43602759

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009262358A Active JP5299231B2 (ja) 2009-11-17 2009-11-17 キャリブレーション装置

Country Status (4)

Country Link
US (1) US8659660B2 (ja)
EP (1) EP2339535B1 (ja)
JP (1) JP5299231B2 (ja)
KR (1) KR101212419B1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112016003549T5 (de) 2015-08-05 2018-04-19 Denso Corporation Kalibrierungsvorrichtung, kalibrierungsverfahren und kalibrierungsprogramm

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2511137B1 (en) 2011-04-14 2019-03-27 Harman Becker Automotive Systems GmbH Vehicle Surround View System
EP2523163B1 (en) * 2011-05-10 2019-10-16 Harman Becker Automotive Systems GmbH Method and program for calibrating a multicamera system
US9160979B1 (en) * 2011-05-27 2015-10-13 Trimble Navigation Limited Determining camera position for a photograph having a displaced center of projection
EP2530647A1 (en) * 2011-06-01 2012-12-05 Harman Becker Automotive Systems GmbH Method of calibrating a vehicle vision system and vehicle vision system
EP2541498B1 (en) 2011-06-30 2017-09-06 Harman Becker Automotive Systems GmbH Method of determining extrinsic parameters of a vehicle vision system and vehicle vision system
EP2554434B1 (en) 2011-08-05 2014-05-21 Harman Becker Automotive Systems GmbH Vehicle surround view system
JP6029306B2 (ja) * 2012-03-29 2016-11-24 住友建機株式会社 作業機械用周辺監視装置
KR101331893B1 (ko) * 2012-04-13 2013-11-26 주식회사 이미지넥스트 차량 설치 카메라 외부 파라미터 추정 방법 및 장치
JP6141601B2 (ja) * 2012-05-15 2017-06-07 東芝アルパイン・オートモティブテクノロジー株式会社 車載カメラ自動キャリブレーション装置
JP6009894B2 (ja) * 2012-10-02 2016-10-19 株式会社デンソー キャリブレーション方法、及びキャリブレーション装置
JP6107081B2 (ja) 2012-11-21 2017-04-05 富士通株式会社 画像処理装置、画像処理方法及びプログラム
US20150042789A1 (en) * 2013-08-07 2015-02-12 Blackberry Limited Determining the distance of an object to an electronic device
US20160176343A1 (en) * 2013-08-30 2016-06-23 Clarion Co., Ltd. Camera Calibration Device, Camera Calibration System, and Camera Calibration Method
EP2858035B1 (en) * 2013-10-01 2020-04-22 Application Solutions (Electronics and Vision) Limited System, vehicle and method for online calibration of a camera on a vehicle
JP6403687B2 (ja) * 2013-12-10 2018-10-10 株式会社日立国際電気 監視システム
US9978146B2 (en) 2014-01-27 2018-05-22 Xylon d.o.o. Data-processing system and method for calibration of a vehicle surround view system
CN103871070A (zh) * 2014-04-03 2014-06-18 深圳市德赛微电子技术有限公司 车载全景成像***的自动标定方法
CN103871069A (zh) * 2014-04-03 2014-06-18 深圳市德赛微电子技术有限公司 车载全景***标定模板及标定现场建设方法
US9981605B2 (en) * 2014-05-16 2018-05-29 GM Global Technology Operations LLC Surround-view camera system (VPM) and vehicle dynamic
US9986173B2 (en) 2014-05-16 2018-05-29 GM Global Technology Operations LLC Surround-view camera system (VPM) online calibration
US9619894B2 (en) * 2014-05-16 2017-04-11 GM Global Technology Operations LLC System and method for estimating vehicle dynamics using feature points in images from multiple cameras
KR101610508B1 (ko) * 2014-09-19 2016-04-20 현대자동차주식회사 Avm 자동 보정 시스템 및 방법
DE102014014295A1 (de) * 2014-09-25 2016-03-31 Audi Ag Verfahren zur Überwachung einer Kalibrierung mehrerer Umgebungssensoren eines Kraftfahrzeugs und Kraftfahrzeug
JP6458439B2 (ja) 2014-10-09 2019-01-30 株式会社デンソー 車載カメラ較正装置、画像生成装置、車載カメラ較正方法、画像生成方法
JP6379967B2 (ja) 2014-10-09 2018-08-29 株式会社デンソー 画像生成装置および画像生成方法
US10091418B2 (en) * 2014-10-24 2018-10-02 Bounce Imaging, Inc. Imaging systems and methods
CN105981074B (zh) * 2014-11-04 2018-02-02 深圳市大疆创新科技有限公司 用于标定成像装置的***、方法和装置
FR3030091B1 (fr) * 2014-12-12 2018-01-26 Airbus Operations Procede et systeme de detection automatique d'un desalignement en operation d'un capteur de surveillance d'un aeronef.
EP3255603B1 (en) * 2015-02-05 2022-09-07 Ricoh Company, Limited Image processing device, image processing system, and image processing method
US9924103B2 (en) 2015-04-09 2018-03-20 The Boeing Company Automated local positioning system calibration using optically readable markers
KR101770668B1 (ko) * 2015-08-27 2017-08-24 ㈜베이다스 차량용 영상 정합을 위한 간소화 패턴 기반의 자동보정장치 및 그 방법
US10142544B1 (en) * 2016-01-27 2018-11-27 RAPC Systems, Inc. Real time wide angle video camera system with distortion correction
US10922559B2 (en) 2016-03-25 2021-02-16 Bendix Commercial Vehicle Systems Llc Automatic surround view homography matrix adjustment, and system and method for calibration thereof
KR101949358B1 (ko) * 2016-04-04 2019-02-18 엘지전자 주식회사 차량용 어라운드뷰 제공 장치 및 이를 구비한 차량
US10187629B2 (en) * 2016-04-06 2019-01-22 Facebook, Inc. Camera calibration system
JP6601352B2 (ja) * 2016-09-15 2019-11-06 株式会社デンソー 車両姿勢推定装置
US10911745B2 (en) * 2016-12-28 2021-02-02 Texas Instruments Incorporated Calibration of a surround view camera system
US10482626B2 (en) * 2018-01-08 2019-11-19 Mediatek Inc. Around view monitoring systems for vehicle and calibration methods for calibrating image capture devices of an around view monitoring system using the same
KR102044098B1 (ko) * 2018-05-30 2019-11-12 주식회사 와이즈오토모티브 Bsd 캘리브레이션 장치 및 방법
CN108665501A (zh) * 2018-07-12 2018-10-16 合肥晟泰克汽车电子股份有限公司 汽车环视***三维标定场景及采用该场景的标定方法
KR20200126540A (ko) * 2019-04-30 2020-11-09 주식회사 만도 카메라 보정 시스템 및 그 방법
JP7211891B2 (ja) * 2019-05-17 2023-01-24 株式会社キーエンス 三次元座標測定装置
KR102232136B1 (ko) * 2019-08-14 2021-03-25 한국전자통신연구원 자율주행 차량의 센서 캘리브레이션용 장치
US20210335007A1 (en) * 2020-04-27 2021-10-28 GM Global Technology Operations LLC Active targets for automatic optical sensor alignment
US11900631B2 (en) * 2021-01-22 2024-02-13 Lenovo (Singapore) Pte. Ltd. Operating mode change by image compare
CN113538594B (zh) * 2021-06-30 2022-04-22 东风汽车集团股份有限公司 基于方向传感器的车载摄像头标定方法
TWI796879B (zh) * 2021-12-20 2023-03-21 財團法人工業技術研究院 計算背對背相機之相對旋轉量和平移量的系統與方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5768443A (en) * 1995-12-19 1998-06-16 Cognex Corporation Method for coordinating multiple fields of view in multi-camera
JPH1079932A (ja) * 1996-09-04 1998-03-24 Osaka Gas Co Ltd 監視装置ならびに複数の画像のつなぎ合わせ方法および装置
JP3286306B2 (ja) * 1998-07-31 2002-05-27 松下電器産業株式会社 画像生成装置、画像生成方法
JP3551920B2 (ja) 1999-12-24 2004-08-11 アイシン精機株式会社 車載カメラの校正装置および校正方法
US6813371B2 (en) 1999-12-24 2004-11-02 Aisin Seiki Kabushiki Kaisha On-vehicle camera calibration device
US6542840B2 (en) 2000-01-27 2003-04-01 Matsushita Electric Industrial Co., Ltd. Calibration system, target apparatus and calibration method
JP3387911B2 (ja) 2000-01-27 2003-03-17 松下電器産業株式会社 キャリブレーションシステムおよびキャリブレーション方法
JP2003284059A (ja) * 2002-03-27 2003-10-03 Toshiba Lighting & Technology Corp カメラ画像による移動物体追跡装置およびカメラパラメータのキャリブレーション方法並びに装置
JP4147059B2 (ja) * 2002-07-03 2008-09-10 株式会社トプコン キャリブレーション用データ測定装置、測定方法及び測定プログラム、並びにコンピュータ読取可能な記録媒体、画像データ処理装置
JP4744823B2 (ja) 2004-08-05 2011-08-10 株式会社東芝 周辺監視装置および俯瞰画像表示方法
JP4681432B2 (ja) * 2005-11-28 2011-05-11 アルパイン株式会社 車載周辺画像表示装置
JP2008187564A (ja) 2007-01-31 2008-08-14 Sanyo Electric Co Ltd カメラ校正装置及び方法並びに車両
JP2008187566A (ja) * 2007-01-31 2008-08-14 Sanyo Electric Co Ltd カメラ校正装置及び方法並びに車両
JP2009104323A (ja) * 2007-10-22 2009-05-14 Alpine Electronics Inc マッピングテーブル生成装置、車両周辺画像生成装置およびマッピングテーブル生成方法
US20100097444A1 (en) * 2008-10-16 2010-04-22 Peter Lablans Camera System for Creating an Image From a Plurality of Images
JP4555876B2 (ja) * 2008-05-30 2010-10-06 株式会社日本自動車部品総合研究所 車載カメラのキャリブレーション方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112016003549T5 (de) 2015-08-05 2018-04-19 Denso Corporation Kalibrierungsvorrichtung, kalibrierungsverfahren und kalibrierungsprogramm

Also Published As

Publication number Publication date
EP2339535B1 (en) 2018-02-28
EP2339535A1 (en) 2011-06-29
US20110115922A1 (en) 2011-05-19
KR20110055412A (ko) 2011-05-25
KR101212419B1 (ko) 2012-12-13
JP2011107990A (ja) 2011-06-02
US8659660B2 (en) 2014-02-25

Similar Documents

Publication Publication Date Title
JP5299231B2 (ja) キャリブレーション装置
CN110377015B (zh) 机器人定位方法和机器人定位装置
JP4976756B2 (ja) 情報処理方法および装置
CN110033489A (zh) 一种车辆定位准确性的评估方法、装置及设备
JP5070435B1 (ja) 3次元相対座標計測装置およびその方法
KR102295809B1 (ko) 이동체의 전방향에 대한 거리 취득 장치 및 방법
JP4132068B2 (ja) 画像処理装置及び三次元計測装置並びに画像処理装置用プログラム
JP2014013146A5 (ja)
JP2006059202A (ja) 撮像装置及び画像補正方法
JP2012118666A (ja) 三次元地図自動生成装置
CN110849331B (zh) 基于三维点云数据库模型的单目视觉测量与地面试验方法
Yang et al. Infrared LEDs-based pose estimation with underground camera model for boom-type roadheader in coal mining
WO2018142533A1 (ja) 位置姿勢推定装置および位置姿勢推定方法
JP2019020778A (ja) 情報処理装置、情報処理方法
JP2015031601A (ja) 3次元計測装置及び方法並びにプログラム
JP6410231B2 (ja) 位置合わせ装置、位置合わせ方法及び位置合わせ用コンピュータプログラム
Moussa et al. A fast approach for stitching of aerial images
CN113034605B (zh) 目标对象的位置确定方法、装置、电子设备及存储介质
JP6922348B2 (ja) 情報処理装置、方法、及びプログラム
JP2009294109A (ja) キャリブレーション装置
Zhao et al. Homography-based camera pose estimation with known gravity direction for UAV navigation
JP2016148649A (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム
Pollini et al. Experimental evaluation of vision algorithms for formation flight and aerial refueling
JP5726024B2 (ja) 情報処理方法および装置
JP6109213B2 (ja) 情報処理装置および方法、プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120720

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130517

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130521

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130603

R150 Certificate of patent or registration of utility model

Ref document number: 5299231

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150