(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-08
(45)【発行日】2024-07-17
(54)【発明の名称】ラインセンサカメラのキャリブレーション装置及びキャリブレーション方法
(51)【国際特許分類】
G06T 7/80 20170101AFI20240709BHJP
H04N 23/60 20230101ALI20240709BHJP
【FI】
G06T7/80
H04N23/60
(21)【出願番号】P 2021008589
(22)【出願日】2021-01-22
【審査請求日】2023-08-30
(73)【特許権者】
【識別番号】000006105
【氏名又は名称】株式会社明電舎
(74)【代理人】
【識別番号】110002077
【氏名又は名称】園田・小林弁理士法人
(72)【発明者】
【氏名】小井手 孝徳
(72)【発明者】
【氏名】川畑 匠朗
(72)【発明者】
【氏名】山本 大樹
【審査官】藤原 敬利
(56)【参考文献】
【文献】特開2020-038550(JP,A)
【文献】特開2012-191380(JP,A)
【文献】国際公開第2019/049421(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00- 7/90
G06V 10/00-20/90
H04N 23/60
(57)【特許請求の範囲】
【請求項1】
ラインセンサカメラの撮像範囲となる2次元平面上での2次元平面座標が既知の複数の検出点を有する立体マーカを前記ラインセンサカメラでレンズを介して撮像した複数の画像に基づいて、前記ラインセンサカメラのキャリブレーション用の内部パラメータ及び外部パラメータを算出するラインセンサカメラのキャリブレーション装置であって、
前記レンズに応じて複数のレンズモデルのいずれかを選択するレンズモデル選択部と、
位置及び姿勢が各々異なる前記立体マーカの前記画像が各々入力される画像入力部と、
前記立体マーカの前記検出点の前記画像上の1次元画像座標を前記画像毎に算出する計測座標算出部と、
前記2次元平面座標から前記1次元画像座標へ変換する前記ラインセンサカメラの数式モデルに基づいて求めた変換行列について、前記変換行列における初期の内部パラメータとして既知の初期値を入力し、線形解法により前記変換行列から初期の外部パラメータを前記画像毎に算出する外部パラメータ算出部と、
前記数式モデルに基づいて求めたレンズ歪みを考慮した誤差関数について、前記誤差関数に前記初期の内部パラメータ及び前記初期の外部パラメータを入力し、前記検出点の全数及び前記画像の全数についての前記誤差関数の総和が最小となる前記内部パラメータ及び前記外部パラメータを、反復計算を用いた非線形解法により算出する非線形最小二乗計算部とを有し、
前記非線形最小二乗計算部は、前記レンズの歪みを補正する歪み補正計算部を有する
ことを特徴とするラインセンサカメラのキャリブレーション装置。
【請求項2】
請求項1に記載のラインセンサカメラのキャリブレーション装置において、
前記立体マーカは、L字型の形状であり、L字型に折れ曲がった内側の面に前記複数の検出点が配置されていることを特徴とするラインセンサカメラのキャリブレーション装置。
【請求項3】
請求項1又は請求項2に記載のラインセンサカメラのキャリブレーション装置において、
前記数式モデルは、魚眼レンズモデルを用いたものであることを特徴とするラインセンサカメラのキャリブレーション装置。
【請求項4】
ラインセンサカメラの撮像範囲となる2次元平面上での2次元平面座標が既知の複数の検出点を有する立体マーカを、レンズを介して前記ラインセンサカメラで撮像した複数の画像に基づいて、前記ラインセンサカメラのキャリブレーション用の内部パラメータ及び外部パラメータを算出するラインセンサカメラのキャリブレーション方法であって、
前記レンズに応じて複数のレンズモデルのいずれかを選択するレンズモデル選択工程と、
位置及び姿勢が各々異なる前記立体マーカの前記画像が各々入力される画像入力工程と、
前記立体マーカの前記検出点の前記画像上の1次元画像座標を前記画像毎に算出する計測座標算出工程と、
前記2次元平面座標から前記1次元画像座標へ変換する前記ラインセンサカメラの数式モデルに基づいて求めた変換行列について、前記変換行列における初期の内部パラメータとして既知の初期値を入力し、線形解法により前記変換行列から初期の外部パラメータを前記画像毎に算出する外部パラメータ算出工程と、
前記レンズの歪みを補正する歪み補正計算処理工程と、
前記数式モデルに基づいて求めたレンズ歪みを考慮した誤差関数について、前記誤差関数に前記初期の内部パラメータ及び前記初期の外部パラメータを入力し、前記検出点の全数及び前記画像の全数についての前記誤差関数の総和が最小となる前記内部パラメータ及び前記外部パラメータを、反復計算を用いた非線形解法により算出する非線形最小二乗計算工程とを有する
ことを特徴とするラインセンサカメラのキャリブレーション方法。
【請求項5】
請求項4に記載のラインセンサカメラのキャリブレーション方法において、
前記立体マーカとして、L字型の形状であって、L字型に折れ曲がった内側の面に前記複数の検出点が配置されているものを用いることを特徴とするラインセンサカメラのキャリブレーション方法。
【請求項6】
請求項4又は請求項5に記載のラインセンサカメラのキャリブレーション方法において、
前記数式モデルとして、魚眼レンズモデルを用いることを特徴とするラインセンサカメラのキャリブレーション方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ラインセンサカメラのキャリブレーション装置及びキャリブレーション方法に関する。
【背景技術】
【0002】
従来技術の一例である非特許文献1には、カメラのキャリブレーション方法として、エリアカメラで平面マーカを様々な位置及び姿勢で撮影することにより、撮影毎の外部パラメータ及びカメラの内部パラメータを求める技術が開示されている。
【0003】
従来技術の一例である特許文献1には、キャリブレーション用マーカを用いてラインセンサカメラの内部パラメータを校正するラインセンサカメラのキャリブレーション装置及びキャリブレーション方法が開示されている。
【0004】
なお、従来技術の一例である非特許文献2は、後述するレンズの歪みについて説明する文献である。
【先行技術文献】
【特許文献】
【0005】
【非特許文献】
【0006】
【文献】Z. Zhang. "A Flexible New Technique for Camera Calibration", IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 22, No. 11, 2000年, pp.1330-1334.
【文献】Richard Szeliski,玉木 徹 他,“コンピュータビジョン‐アルゴリズムと応用‐”,共立出版,2013年, pp.51
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、上記の従来技術は、ピンホールカメラモデルを用いており、歪みの大きいレンズ(例えば魚眼レンズ)を備えたラインセンサカメラには適用することが困難である。
【0008】
本発明は、上記に鑑みてなされたものであって、歪みの大きいレンズを備えたラインセンサカメラのキャリブレーションを可能にすることを目的とする。
【課題を解決するための手段】
【0009】
上述の課題を解決して目的を達成する本発明の一態様は、ラインセンサカメラの撮像範囲となる2次元平面上での2次元平面座標が既知の複数の検出点を有する立体マーカを前記ラインセンサカメラでレンズを介して撮像した複数の画像に基づいて、前記ラインセンサカメラのキャリブレーション用の内部パラメータ及び外部パラメータを算出するラインセンサカメラのキャリブレーション装置であって、前記レンズに応じて複数のレンズモデルのいずれかを選択するレンズモデル選択部と、位置及び姿勢が各々異なる前記立体マーカの前記画像が各々入力される画像入力部と、前記立体マーカの前記検出点の前記画像上の1次元画像座標を前記画像毎に算出する計測座標算出部と、前記2次元平面座標から前記1次元画像座標へ変換する前記ラインセンサカメラの数式モデルに基づいて求めた変換行列について、前記変換行列における初期の内部パラメータとして既知の初期値を入力し、線形解法により前記変換行列から初期の外部パラメータを前記画像毎に算出する外部パラメータ算出部と、前記数式モデルに基づいて求めたレンズ歪みを考慮した誤差関数について、前記誤差関数に前記初期の内部パラメータ及び前記初期の外部パラメータを入力し、前記検出点の全数及び前記画像の全数についての前記誤差関数の総和が最小となる前記内部パラメータ及び前記外部パラメータを、反復計算を用いた非線形解法により算出する非線形最小二乗計算部とを有し、前記非線形最小二乗計算部は、前記レンズの歪みを補正する歪み補正計算部を有することを特徴とするラインセンサカメラのキャリブレーション装置である。
【0010】
上記構成のラインセンサカメラのキャリブレーション装置において、前記立体マーカは、L字型の形状であり、L字型に折れ曲がった内側の面に前記複数の検出点が配置されていることが好ましい。
【0011】
上記構成のラインセンサカメラのキャリブレーション装置において、前記数式モデルは、魚眼レンズモデルを用いたものとすることができる。
【0012】
又は、上述の課題を解決して目的を達成する本発明の一態様は、ラインセンサカメラの撮像範囲となる2次元平面上での2次元平面座標が既知の複数の検出点を有する立体マーカを、レンズを介して前記ラインセンサカメラで撮像した複数の画像に基づいて、前記ラインセンサカメラのキャリブレーション用の内部パラメータ及び外部パラメータを算出するラインセンサカメラのキャリブレーション方法であって、前記レンズに応じて複数のレンズモデルのいずれかを選択するレンズモデル選択工程と、位置及び姿勢が各々異なる前記立体マーカの前記画像が各々入力される画像入力工程と、前記立体マーカの前記検出点の前記画像上の1次元画像座標を前記画像毎に算出する計測座標算出工程と、前記2次元平面座標から前記1次元画像座標へ変換する前記ラインセンサカメラの数式モデルに基づいて求めた変換行列について、前記変換行列における初期の内部パラメータとして既知の初期値を入力し、線形解法により前記変換行列から初期の外部パラメータを前記画像毎に算出する外部パラメータ算出工程と、前記レンズの歪みを補正する歪み補正計算処理工程と、前記数式モデルに基づいて求めたレンズ歪みを考慮した誤差関数について、前記誤差関数に前記初期の内部パラメータ及び前記初期の外部パラメータを入力し、前記検出点の全数及び前記画像の全数についての前記誤差関数の総和が最小となる前記内部パラメータ及び前記外部パラメータを、反復計算を用いた非線形解法により算出する非線形最小二乗計算工程とを有することを特徴とするラインセンサカメラのキャリブレーション方法である。
【0013】
上記構成のラインセンサカメラのキャリブレーション方法において、前記立体マーカとして、L字型の形状であって、L字型に折れ曲がった内側の面に前記複数の検出点が配置されているものを用いることが好ましい。
【0014】
上記構成のラインセンサカメラのキャリブレーション方法において、前記数式モデルとして、魚眼レンズモデルを用いることができる。
【発明の効果】
【0015】
本発明によれば、歪みの大きいレンズを備えたラインセンサカメラのキャリブレーションを行うことができる。
【図面の簡単な説明】
【0016】
【
図1】
図1は、実施形態におけるラインセンサカメラ及びL字マーカを示す図である。
【
図2】
図2は、魚眼レンズの歪みモデルを示す図である。
【
図3】
図3は、実施形態に係るラインセンサカメラのキャリブレーション装置の構成を示す図である。
【
図4】
図4は、本実施形態に係るラインセンサカメラのキャリブレーション方法を示すフローチャートである。
【発明を実施するための形態】
【0017】
以下、添付図面を参照して、本発明を実施するための形態について説明する。
ただし、本発明は、以下の実施形態の記載によって限定解釈されるものではない。
【0018】
<実施形態>
カメラを用いた計測を行う際、カメラの焦点距離、主点座標、歪み係数などといったカメラパラメータを事前に求めることは必須であり、これを求めることをカメラキャリブレーションという。
なお、以下の説明では、カメラキャリブレーションを、単に、キャリブレーションと呼ぶ。
【0019】
本実施形態においては、非特許文献1に記載された方法のように、ラインセンサカメラのキャリブレーションに、マーカの複数回撮影と非線形最適化手法によるカメラパラメータ算出を導入する。
しかしながら、非特許文献1ではエリアカメラを前提としているため、この方法をそのままラインセンサカメラのキャリブレーションに導入することはできない。
例えば、ラインセンサカメラでは、次元数が少ないため、回転行列の直交性を活用することができず、又、ラインセンサカメラがキャリブレーション用の平面マーカをチェスボード状に撮影できないため、焦点距離と外部パラメータ算出が不安定になることが問題となる。
そこで、本実施形態においては、キャリブレーション用として、立体マーカを用いている。
【0020】
また、本実施形態では、カメラモデルとして、ピンホールカメラモデル及び魚眼レンズモデルを用いる。
ただし、本実施形態では、ラインセンサカメラを使うため、撮像範囲の2次元平面が1次元画像となる。
そして、撮像範囲の2次元平面上に立体マーカを設置することで、求める外部パラメータについて、回転を1軸、平行移動を2次元とすることができる。
【0021】
また、下記の説明の式中において、ボールド体(太字)ではないアルファベットはスカラーであり、ボールド体(太字)の小文字のアルファベットはベクトルであり、ボールド体(太字)の大文字のアルファベットは行列である。
なお、文書中においては、ボールド体(太字)を使用できないので、通常の書式とし、該当するアルファベットの直後に“(ボールド体)”と付記する。
【0022】
図1は、本実施形態におけるラインセンサカメラ10及びL字マーカ20を示す図である。
図1において、ラインセンサカメラ10は1ラインしか撮像を行わないため、撮像範囲は3次元空間上では2次元平面11となる。
2次元平面11上のL字マーカ20のオブジェクト座標系(2次元平面座標系)は、X軸及びY軸で表現されている。
ラインセンサカメラ10のカメラ座標系(1次元画像座標系)は、ラインセンサカメラ10の光軸方向の軸wに直交し、撮像範囲の2次元平面11と平行なu軸で表現される。
画像座標系の座標をuと定義し、カメラ座標系の座標を(x,y)と定義すると、カメラ座標系から画像座標系への変換式は、以下の式(1)で表される。
【0023】
【0024】
ここで、sはスケーリング係数であり、fは焦点距離であり、cは主点座標である。
オブジェクト座標系の座標を(X,Y)と定義すると、オブジェクト座標系からカメラ座標系への変換式は下記の式(2)で表される。
【0025】
【0026】
【0027】
また、オブジェクト座標系とカメラ座標系との間の回転行列をR(ボールド体)(回転軸は1軸であり、その角度はθ)、並進ベクトルをt(ボールド体)(2次元ベクトルであり、その要素はt
1,t
2)とする。
ここで、
図1に示す構成におけるピンホールモデルの数式モデルは、下記の式(4)で表される。
【0028】
【0029】
なお、uは実際に観測されたカメラ座標系における位置(ピクセル座標における計測座標)であり、X、Yはオブジェクト座標系における位置(L字マーカ20の実空間(2次元平面11)上における真値座標)である。
【0030】
上記の式(4)は、L字マーカ20のオブジェクト座標(2次元平面座標)からラインセンサカメラ10のカメラ座標(1次元画像座標)へ変換する数式モデルとなっている。
ただし、上記の式(4)では、ラインセンサカメラ10のレンズの歪みが考慮されていない。
そこで、上記の式(2)のように(x,y)を定義すると、下記の式(5),(6),(7)のように歪みを表すことができる。
なお、k1~k3は半径歪み係数である。
また、レンズの歪みについては、非特許文献2(特に、51頁)を参考にしている。
【0031】
【0032】
【0033】
【0034】
ここで、式(7)にx’をそのまま代入することができないため、下記の式(8)を上記の式(6)に代入する。
また、式(2),(4),(5)についても式(6)に代入すると、下記の式(9)が得られる。
【0035】
【0036】
【0037】
このカメラモデルでキャリブレーションを行う場合には、単位焦点距離面での誤差最小化を行うことになり、下記の式(10)が最小となるように、レーベンバーグマーカート法により、内部パラメータ及び外部パラメータが求められる。
【0038】
【0039】
上記の式(10)において、Mは画像の撮影回数であり、Nは各撮影において取得される特徴点数(白黒帯23の検出点数)である。
上記の式(10)は、上記の式(9)に基づく誤差関数を、撮像した画像の全数M及び検出点の全数Nについて総和したものとなる。
【0040】
ここで、立体マーカを用いて実際にキャリブレーションを行ってみると、立体マーカを用いるのみでは、解が不安定になることを完全には防げないことが分かった。
ここで、不安定というのは「焦点距離はレンズに定められた初期値から大きくは変化しないはずだ」、「レンズの歪み係数k1,k2,k3は極端に大きな値にはならず、またレンズの歪み係数k1,k2,k3は一般的にk1>k2>k3となることが多い」というカメラキャリブレーションを行う熟練者であれば知っている一般的な知識から大きく外れることを指す。
【0041】
すなわち、上記の式(10)が最小になるパラメータを最適化処理で求めると、パラメータが非現実的な値になるおそれがある。
そこで、本実施例では、上記の式(9)に基づく誤差関数に、「焦点距離fはレンズの規定値f0から大きくは変わらない」、「主点座標cは(カメラによるが)画像中心c0の近くである」、「レンズの歪み係数k1,k2,k3は極端に大きな数字にはならない」、「レンズの歪み係数の大きさはk1>k2>k3となることが多い」等の専門家の知識を導入した評価関数である下記の式(11)が最小となるように、レーベンバーグマーカート法により内部パラメータ及び外部パラメータを求める。
【0042】
【0043】
上記の式(11)において、wfは焦点距離の正則化項の重み係数であり、wcは主点座標の正則化項の重み係数であり、c0は主点座標の既定値であり、wk1は歪み係数k1の正則化項の重み係数であり、wk2は歪み係数k2の正則化項の重み係数であり、wk3は歪み係数k3の正則化項の重み係数である。
【0044】
上記の式(11)を用いることで、誤差が小さいのみならず、焦点距離の大きさ、主点座標の位置及び歪み係数の大きさ等の内部パラメータを考慮したキャリブレーションを行うことができる。
また、各内部パラメータ(ここでは、焦点距離の大きさ、主点座標の位置及び歪み係数の大きさ)に重み付けをすることで、焦点距離の大きさ、主点座標の位置及び歪み係数の大きさのうち、どのパラメータを重要視するかを必要に応じて設定することができ、これにより、設計者及び専門家の知識を導入することができる。
なお、上記の式(11)ではL2ノルムと呼ばれる二乗の指標を用いたが、L1ノルムと呼ばれる絶対値指標を使用することも有効である。
【0045】
<魚眼レンズモデルの説明>
図2は、魚眼レンズの歪みモデルを示す図である。
魚眼レンズの歪みモデルはピンホールモデルとは異なり、カメラ光軸の入射角φを用いて以下の式(12)で表される。
なお、ここでは歪みのない画像から歪みのある画像を作成するようなモデルとなっているが、歪みのある画像から歪みのない画像を作成するモデルを利用することも可能である。
【0046】
【0047】
カメラ光軸の入射角φは、正規化座標系における座標位置x’との関係から下記の式となる。
【0048】
【0049】
そして、魚眼レンズの場合、上記の式(8)及び(12)から下記の式(14)が得られる。
【0050】
【0051】
従って、求める内部パラメータ及び外部パラメータは、下記の式(15)の誤差最小化を行うことにより求められる。
【0052】
【0053】
<X,Yの算出>
次に、上述した内部パラメータ及び外部パラメータが全て校正済み(キャリブレーション済み)の場合に、計測座標uが得られた時のX,Yについて求める。
これは、上記の式(8)をX,Yについて解けばよいが、上記の式(8)にはX,Yの双方が含まれているため、このままでは解くことができない。
そこで、L字マーカ20の検出点では、X,Yの2次元平面11上の真値座標のいずれか、すなわち、X,Yの真値のいずれかが0であることを利用して、真値座標が0となる方向で得られたパラメータによって算出される値も0であると仮定すると、下記の式(16)が得られる。
ここで、x’及びx’dは上記の式(5),(6),(7)で定義された値である。
【0054】
【0055】
次に、外部パラメータを撮影毎に求める方法について述べる。
並進と回転を表す変換行列を下記の式(17)とすると、上記の式(4)に基づいて、変換行列は下記の式(18)で表すことができる。
【0056】
【0057】
【0058】
これを展開、整理すると、ピンホールモデルでは、下記の式(19)となる。
【0059】
【0060】
<魚眼レンズの場合>
魚眼レンズの場合においては、下記の式(20)をXについて解けばよい。
【0061】
【0062】
しかしながら、上記の式(20)には、X,Yの双方が含まれているため、このままでは解くことができない。
そこで、L字マーカでは、X,Yの真値のいずれかが0であることを利用して、真値が0となる方向では得られたパラメータによって算出される値も0であると仮定すると上記の式(16)が得られる。
【0063】
ここで、正規化画像座標x’は、上記の式(5)をφについて解き、下記の式(21)に代入することで求められる。
【0064】
【0065】
上述のように、ピンホールモデルにおいても、魚眼レンズにおいても、解析的にX,Yの値が求められる。
【0066】
<魚眼レンズにおける初期値の外部パラメータ>
ここで、魚眼レンズにおいて、初期値の外部パラメータを、撮影毎に求める方法について述べる。
通常、ピンホールモデルでは歪みが微小なため、歪みを無視し、すなわち歪みのない状態のモデルを仮定して、外部パラメータが求められる。
しかし、魚眼レンズでは歪みが大きく無視することができない。
そのため、下記の式(22)のような既知の値で構成された歪みモデルのいずれかを利用することで初期値の外部パラメータを算出する。
【0067】
【0068】
例えば、正射影方式モデルを利用する場合、上記の式(22)の正射影の式を上記の式(8)に代入すると下記の式(23)になる。
【0069】
【0070】
上記の式(23)、式(20)及び式(21)を用いると、下記の式(24)が得られる。
【0071】
【0072】
上記の式を特異値分解することで、初期値外部パラメータが得られる。
【0073】
ここで、スケールが次数を1つ減らせる性質を利用し、3本以上の同時方程式を立てることで変換行列を解くことができる。
実際には、L字マーカ20の座標は3点以上あるが、この場合、方程式と未知数の数が一致しないので、最小二乗法を用いる。
二乗誤差をE、各計測点で生じる誤差ベクトルをe(ボールド体)とすると、下記の式(25)が得られる。
なお、“T”は、転置行列を表す記号である。
【0074】
【0075】
二乗誤差Eを最小化するためのベクトルは、BTB(ボールド体)の最小の固有値に対応する固有ベクトルとなる。
そこで、解となる固有ベクトルを求めるため、特異値分解を用いると、下記の式(26)の2つの上式が得られる。
ここで、U(ボールド体)は左特異行列、V(ボールド体)は右特異行列であり、Σ(ボールド体)は特異値行列であり、I(ボールド体)は単位行列である。
これにより、BTB(ボールド体)は下記の式(26)の下式で表すことができる。
【0076】
【0077】
この結果より、固有ベクトルが右特異行列V(ボールド体)の右特異ベクトルと同じになり、固有値が特異値の二乗と同じになることが分かる。
このことから、特異値分解を用いることで、変換行列を求めることができる。
【0078】
実際の外部パラメータとするには、スケール不定及びt2>0のため、t2で正規化を行い、回転行列の性質より、(cosθ)2+(sinθ)2=1を使用して、回転と並進のパラメータを求める。
【0079】
このように、ラインセンサカメラであっても、計測座標u、真値座標X,Y、焦点距離f及び主点座標cが得られると、線形解法で解を求めることができる。
実際には、焦点距離f及び主点座標cは、最初には分からないため、適当な値を入力することで、初期の外部パラメータを求める。
そして、最終的に、この初期の外部パラメータを初期値として、上記の式(11)をレーベンバーグマーカート法によって解くことで、最終的な内部パラメータ及び外部パラメータを得ることができる。
【0080】
次に、上述した計算を行う本発明に係るラインセンサカメラのキャリブレーション装置及びキャリブレーション方法について、
図4及び
図3を参照して以下に説明する。
【0081】
図3は、本実施形態に係るラインセンサカメラのキャリブレーション装置30の構成を示す図である。
図3に示すキャリブレーション装置30は、ラインセンサカメラ10のキャリブレーション装置であり、記憶部31、画像入力部32、計測座標算出部33、外部パラメータ算出部34、非線形最小二乗計算部35及びレンズモデル選択部36を有する。
非線形最小二乗計算部35は、歪み補正計算部350を有する。
【0082】
ラインセンサカメラ10は、CCD(Charge-Coupled Device)などの撮像素子が1次元の線状に配置され、1次元の線状に撮像対象物の画像を撮像するカメラである。
【0083】
L字マーカ20は、L字型の形状の立体マーカであり、その中央21で90°に折れ曲がり、折れ曲がった内側の面22に白黒帯23を有する剛体である。
白黒帯23は、中央21を中心に対称的に配置されると共に、内側の面22の長手方向に沿って交互に白黒となるように配置され、白黒帯23の白黒の幅が既知、つまり、白黒帯23による複数の検出点が2次元平面11上における2次元平面座標で既知である。
上述した非特許文献1の方法のように、平面マーカを用いる場合には焦点距離が不安定になるが、本実施形態では、L字マーカ20をキャリブレーションに用いており、焦点距離を正確に算出可能である。
【0084】
なお、本実施形態では、キャリブレーションのマーカとしてL字型の立体マーカを用いているが、複数の検出点に奥行きを持たせることができ、且つ、全ての検出点の2次元平面11上のX、Yの真値座標のどちらかを必ず0とすることができるのであれば、キャリブレーションのマーカは、L字型の立体マーカに限定されるものではない。
例えば、直方体又は直角三角柱において、直角を挟む2辺の外面に
図1に示す白黒帯23が設けられていてもよい。
【0085】
記憶部31は、後述するように、選択したレンズモデル、ラインセンサカメラ10からの画像データ、各撮影でのL字マーカ20の白黒帯23の画像上の計測座標データ(計測座標u)、レンズ初期値、L字マーカ20の白黒帯23の真値座標X,Y、ラインセンサカメラ10の内部パラメータ(焦点距離f、主点座標c及び歪み係数k1~k3)及び各撮影でのラインセンサカメラ10の外部パラメータ(回転θ、並進t1、t2)を記憶する。
なお、歪み係数は、ピンホールカメラモデルと魚眼レンズモデルとで相違する。
記憶部31としては、RAM(Random Access Memory)、HDD(Hard Disk Drive)、SSD(Solid State Drive)などの記憶装置を例示することができる。
【0086】
レンズモデル選択部36は、上記の式(22)の複数のレンズモデルのいずれかを選択し、選択されたレンズモデルを記憶部31に記憶する。
【0087】
画像入力部32は、ラインセンサカメラ10で取得したL字マーカ20の画像データを入力とし、入力された画像データを記憶部31に記憶する。
【0088】
計測座標算出部33は、ラインセンサカメラ10で撮像した画像データからL字マーカ20の白黒帯23(検出点)を検出し、各撮影でのL字マーカ20の白黒帯23(検出点)の画像上の計測座標u(1次元画像座標)を求め、計測座標データとして記憶部31に記憶する。
なお、L字マーカ20の白黒帯23(検出点)の画像上の座標は、2値化処理又はエッジ検出といった画像処理により検出される。
【0089】
外部パラメータ算出部34は、計測座標算出部33で算出した各撮影における計測座標u、レンズ初期値、L字マーカ20の白黒帯23(検出点)の真値座標X,Yから、上述した式を用いて、各撮影でのラインセンサカメラ10の外部パラメータを求め、記憶部31に記憶する。
【0090】
非線形最小二乗計算部35は、計測座標算出部33で算出した各撮影での計測座標u、レンズ初期値、L字マーカ20の白黒帯23(検出点)の真値座標X,Y及び外部パラメータ算出部34で求めた各撮影でのラインセンサカメラ10の外部パラメータを用い、最終的なラインセンサカメラ10の内部パラメータ及び各撮影でのラインセンサカメラ10の外部パラメータについて、上述した式(11)をレーベンバーグマーカート法により算出し、記憶部31に記憶する。
なお、非線形最小二乗計算部35の歪み補正計算部350は、上述のように魚眼レンズにおいては歪みを無視できないため、歪みを補正する計算を行う。
【0091】
図4は、本実施形態に係るラインセンサカメラのキャリブレーション方法を示すフローチャートである。
【0092】
(ステップS1)
レンズモデル選択工程においては、レンズモデル選択部36によって上記の式(22)の複数のレンズモデルのいずれかが選択されて、選択されたレンズモデルが記憶部31に記憶される。
【0093】
(ステップS2)
画像入力工程においては、画像入力部32によって、位置が固定されたL字マーカ20に対し、ラインセンサカメラ10が様々な位置及び姿勢(w軸周りの回転角θ及びu軸及びv軸に平行な向きの位置t1,t2の少なくともひとつが異なり、且つ立体マーカ全体が撮影できる位置及び姿勢)になるように設置されて、それぞれの位置及び姿勢での画像が撮像され、記憶部31に記憶される。
L字マーカ20は、位置が固定されているので、設置誤差は含まれないようになっている。
【0094】
(ステップS3)
計測座標算出工程においては、計測座標算出部33によって、撮影した画像毎に、L字マーカ20の白黒帯23(検出点)の検出処理が行われ、L字マーカ20の白黒帯23(検出点)の画像上の計測座標u(1次元画像座標)が算出され、計測座標データとして記憶部31に記憶される。
【0095】
(ステップS4)
外部パラメータ算出工程においては、外部パラメータ算出部34によって、ラインセンサカメラ10の初期の内部パラメータとなるレンズ初期値として、焦点距離fをメーカの公表値とし、主点座標cを総画素数の半分とし、歪み係数k1~k3を全て0とし、撮影した画像毎に、上述した式を用いて、線形解法により初期の外部パラメータが算出され、記憶部31に記憶される。
なお、歪み係数は、ピンホールカメラモデルと魚眼レンズモデルとで相違する。
【0096】
(ステップS5)
歪み補正計算処理工程においては、上述したように魚眼レンズでは歪みを無視できないため、歪み補正計算部350によって、レンズの歪みを補正する計算が行われる(歪み補正計算部350)。
【0097】
(ステップS6)
非線形最小二乗計算工程においては、非線形最小二乗計算部35によって、上述した初期の内部パラメータ及びステップS4で算出した初期の外部パラメータを初期値として、撮影した画像毎に、上述した式(11)を用いて、レーベンバーグマーカート法で最終的な内部パラメータ及び外部パラメータが算出され、記憶部31に記憶する。
【0098】
本実施形態は、1台のラインセンサカメラ10と1つのL字マーカ20を用い、以上の手順により、ラインセンサカメラ10の焦点距離f、主点座標c及び歪み係数k1~k3といった内部パラメータを求めると共に、撮影毎のL字マーカ20の回転θ、平行移動t1,t2といった外部パラメータを求めることが可能となる。
なお、歪み係数は、ピンホールカメラモデルと魚眼レンズモデルとで相違する。
【0099】
以上説明したように、本実施形態によれば、例えば魚眼レンズのように歪みの大きいレンズを備えたラインセンサカメラのキャリブレーションを行うことができる。
【0100】
なお、本発明は、上述の実施形態に限定されるものではなく、上述の構成に対して、構成要素の付加、削除又は転換を行った様々な変形例も含むものとする。
【符号の説明】
【0101】
10 ラインセンサカメラ
11 2次元平面
20 L字マーカ
21 中央
22 内側の面
23 白黒帯
30 キャリブレーション装置
31 記憶部
32 画像入力部
33 計測座標算出部
34 外部パラメータ算出部
35 非線形最小二乗計算部
36 レンズモデル選択部
350 歪み補正計算部