特許第6541590号(P6541590)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ クラリオン株式会社の特許一覧

<>
  • 特許6541590-カメラキャリブレーション装置 図000002
  • 特許6541590-カメラキャリブレーション装置 図000003
  • 特許6541590-カメラキャリブレーション装置 図000004
  • 特許6541590-カメラキャリブレーション装置 図000005
  • 特許6541590-カメラキャリブレーション装置 図000006
  • 特許6541590-カメラキャリブレーション装置 図000007
  • 特許6541590-カメラキャリブレーション装置 図000008
  • 特許6541590-カメラキャリブレーション装置 図000009
  • 特許6541590-カメラキャリブレーション装置 図000010
  • 特許6541590-カメラキャリブレーション装置 図000011
  • 特許6541590-カメラキャリブレーション装置 図000012
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6541590
(24)【登録日】2019年6月21日
(45)【発行日】2019年7月10日
(54)【発明の名称】カメラキャリブレーション装置
(51)【国際特許分類】
   H04N 5/232 20060101AFI20190628BHJP
   G06T 7/80 20170101ALI20190628BHJP
   G06T 7/20 20170101ALI20190628BHJP
【FI】
   H04N5/232
   G06T7/80
   G06T7/20 100
【請求項の数】9
【全頁数】20
(21)【出願番号】特願2016-18717(P2016-18717)
(22)【出願日】2016年2月3日
(65)【公開番号】特開2017-139600(P2017-139600A)
(43)【公開日】2017年8月10日
【審査請求日】2018年3月28日
(73)【特許権者】
【識別番号】000001487
【氏名又は名称】クラリオン株式会社
(74)【代理人】
【識別番号】110002365
【氏名又は名称】特許業務法人サンネクスト国際特許事務所
(74)【代理人】
【識別番号】100149157
【弁理士】
【氏名又は名称】関根 創史
(72)【発明者】
【氏名】坂野 盛彦
【審査官】 吉川 康男
(56)【参考文献】
【文献】 特開2006−195790(JP,A)
【文献】 特開2013−186816(JP,A)
【文献】 特開2000−268179(JP,A)
【文献】 特開2014−101075(JP,A)
【文献】 特開2011−189803(JP,A)
【文献】 特開2003−256806(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 5/232
G06T 7/20
G06T 7/80
H04N 5/225
(57)【特許請求の範囲】
【請求項1】
車両に搭載されるカメラが異なる時刻に撮影して得られた複数の画像が入力される画像取得部と、
前記画像取得部に入力されるそれぞれの画像から特徴点を抽出する特徴点抽出部と、
前記複数の画像間で前記特徴点を追跡する特徴点追跡部と、
前記車両の運動に関する情報を取得する車両運動取得部と、
前記車両運動取得部が取得する情報に基づき、前記車両の移動に応じた前記特徴点の軌跡を推定する軌跡推定部と、
前記特徴点追跡部が追跡した前記特徴点の軌跡と、前記軌跡推定部が推定した前記特徴点の軌跡とに基づき前記カメラの内部パラメータを推定する内部パラメータ推定部とを備えるカメラキャリブレーション装置。
【請求項2】
請求項1に記載のカメラキャリブレーション装置であって、
前記内部パラメータは、前記カメラが備えるレンズの歪みに応じたレンズ歪み係数を含み、
前記内部パラメータ推定部は、前記特徴点追跡部が追跡した前記特徴点の軌跡を前記レンズ歪み係数を用いて変換した特徴点の軌跡と、前記軌跡推定部が推定した前記特徴点の軌跡との差を最小とするように前記レンズの歪みのパラメータを算出するカメラキャリブレーション装置。
【請求項3】
請求項2に記載のカメラキャリブレーション装置であって、
前記特徴点追跡部が追跡した前記特徴点の軌跡を多項式を用いて近似する軌跡近似部と、
前記軌跡近似部が第1の特徴点の軌跡を近似した多項式の係数と、前記軌跡近似部が第2の特徴点の軌跡を近似した多項式の係数との差に基づいて、前記第1の特徴点の軌跡と前記第2の特徴点の軌跡とが一致するか否かを判断する一致判定部とをさらに備え、
前記内部パラメータ推定部は、前記一致判定部が一致すると判断した前記第1の特徴点の軌跡と前記第2の特徴点の軌跡とを用いて前記カメラの内部パラメータを推定するカメラキャリブレーション装置。
【請求項4】
請求項2に記載のカメラキャリブレーション装置であって、
前記内部パラメータ推定部は、前記特徴点追跡部が追跡した前記特徴点の軌跡が前記画像を分割した複数の領域の全てに含まれる場合に、前記カメラの内部パラメータを推定するカメラキャリブレーション装置。
【請求項5】
請求項2に記載のカメラキャリブレーション装置であって、
前記軌跡推定部は、前記車両が直進している場合に、前記特徴点の軌跡を直線と推定するカメラキャリブレーション装置。
【請求項6】
請求項2に記載のカメラキャリブレーション装置であって、
前記軌跡推定部は、前記車両が直進していない場合に、前記カメラの外部パラメータおよび前記車両運動取得部が取得する情報を用いて、前記特徴点の軌跡を推定するカメラキャリブレーション装置。
【請求項7】
請求項1に記載のカメラキャリブレーション装置であって、
前記特徴点抽出部は、前記車両の進行方向、および前記車両の進行方向に対する前記カメラの撮影方向に基づき、前記特徴点を抽出する前記画像中の領域を決定するカメラキャリブレーション装置。
【請求項8】
請求項1に記載のカメラキャリブレーション装置であって、
前記特徴点追跡部は、前記複数の画像のうち先の時刻に撮影された第1の画像において、前記特徴点抽出部により特徴点が抽出された位置、および前記車両運動取得部が取得する情報を用いて、前記複数の画像のうち前記第1の画像よりも後の時刻に撮影された第2の画像において前記特徴点を追跡する領域を決定するカメラキャリブレーション装置。
【請求項9】
請求項1に記載のカメラキャリブレーション装置であって、
前記内部パラメータは、前記カメラが備えるレンズの焦点距離を含み、
前記特徴点の第1の時刻における位置と前記カメラとの距離である第1距離を前記焦点距離に応じて算出する第1距離算出部と、
前記特徴点の第2の時刻における位置と前記カメラとの距離である第2距離を前記焦点距離に応じて算出する第2距離算出部と、
前記車両運動取得部が取得する情報に基づき、前記第1の時刻から前記第2の時刻までに前記車両が移動した距離である移動距離を算出する移動距離算出部とをさらに備え、
前記内部パラメータ推定部は、前記第1距離と前記第2距離との差である第3距離が、前記移動距離と等しくなるように前記焦点距離を算出するカメラキャリブレーション装置。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、カメラキャリブレーション装置に関する。
【背景技術】
【0002】
近年、安全装備としてカメラの自動車への搭載が進んでいる。カメラは周囲の俯瞰映像の運転者への提示、車線逸脱の防止、歩行者や車両の認識に基づく警報出力、衝突回避など、種々のアプリケーションで用いられ、自動車の安全性と利便性の向上に寄与している。これらのアプリケーションにおいてカメラと被写体との位置関係を算出するためには、カメラの外部パラメータと内部パラメータが必要となる。
外部パラメータとは、車両とカメラの関係を表すパラメータであり、たとえば車両に対するカメラの取り付け位置および姿勢を示すパラメータである。内部パラメータとは、カメラ内部の光学系に関するパラメータであり、たとえば焦点距離やレンズの歪みを示すパラメータである。レンズの生産時にあらかじめ歪みに関するパラメータが測定され、その測定結果を内部パラメータとして用いることもできるが、車載カメラは車内温度の変化や基板の発熱でカメラ筐体が伸縮しレンズの歪み特性が変化する。すなわち、あらかじめ求めた内部パラメータをそのまま用いると不都合が生じる。たとえば、カメラで撮影した画像と内部パラメータを用いて被写体までの距離を算出した場合に、その距離に無視できない誤差が生じる。そのため、車両の走行中の内部パラメータのキャリブレーションが求められる。
特許文献1には、路面の白線を用いて内部パラメータを推定するカメラキャリブレーション装置が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2011−185753号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に記載されている発明では、路面に白線がなければ内部パラメータのキャリブレーションができない。
【課題を解決するための手段】
【0005】
本発明の第1の態様によると、カメラキャリブレーション装置は、車両に搭載されるカメラが異なる時刻に撮影して得られた複数の画像が入力される画像取得部と、前記画像取得部に入力されるそれぞれの画像から特徴点を抽出する特徴点抽出部と、異なる時刻に撮影された画像から抽出された特徴点を追跡する特徴点追跡部と、前記車両の運動に関する情報を取得する車両運動取得部と、前記車両運動取得部が取得する情報に基づき、路面上の特徴点が前記カメラに撮影される軌跡を推定する軌跡内部パラメータ推定部と、前記特徴点追跡部が追跡した特徴点の軌跡と、前記軌跡内部パラメータ推定部が推定した軌跡とに基づき前記カメラの内部パラメータを推定する内部パラメータ推定部とを備える。
【発明の効果】
【0006】
本発明によれば、路面に白線がなくても内部パラメータのキャリブレーションができる。
【図面の簡単な説明】
【0007】
図1】カメラキャリブレーション装置100を備える車両1の構成を示すブロック図
図2】内部パラメータキャリブレーションプログラムの機能ブロック図
図3】追跡点情報102Aの一例を示す図
図4】特徴点抽出部202の動作を表すフローチャート
図5】特徴点追跡部203の動作を表すフローチャート
図6】特徴点軌跡蓄積部205の動作を表すフローチャート
図7図7(a)は、特徴点軌跡の属する画像中のエリア例を示す図、図7(b)は、追跡された特徴点を接続する線分を1つの曲線で近似する例を示す図
図8】内部パラメータ推定部206の動作を表すフローチャート
図9図8のステップS604における処理の詳細を示すサブルーチン
図10】第2の実施の形態における内部パラメータキャリブレーションプログラムの機能ブロック図
図11】第2の実施の形態における焦点距離推定部の動作を表すフローチャート
【発明を実施するための形態】
【0008】
(第1の実施の形態)
以下、図1図9を参照して、本発明にかかるカメラキャリブレーション装置の第1の実施の形態を説明する。
図1は、本発明にかかるカメラキャリブレーション装置100、およびカメラキャリブレーション装置100を備える車両1の構成を示すブロック図である。
車両1は、カメラキャリブレーション装置100と、車両1の前方を撮影するカメラ111と、カメラキャリブレーション装置100の出力に基づき運転者へ情報を提示する表示装置104と、車両1の速度を測定する車速センサ105と、車両1の地面までの高さを測定する車高センサ107と、車両1の3軸の角速度を測定するジャイロセンサ108と、運転者が操作入力を行う入力部109とを備える。カメラ111、車速センサ105、車高センサ107、ジャイロセンサ108、および入力部109が取得した情報は、カメラキャリブレーション装置100に送信される。
本実施の形態では、車両1が接地している路面の勾配は一定であり、少なくともカメラ111により撮影される範囲の路面の勾配は車両が設置している路面の勾配と一致するとする。すなわち、たとえば広い水平面を走行中、または勾配が一定の坂道の中腹を走行中として以下説明を続ける。
【0009】
カメラ111は、車両1の前方に取り付けられ、光軸は車両1の正面であって水平方向よりも下に固定される。カメラ111の車両1との位置・姿勢関係は、外部パラメータとして後述するフラッシュメモリ112に格納される。カメラ111の車両1への取り付けにずれが生じることは避けられないので、既知のキャリブレーション手法により適宜補正される。カメラ111はレンズおよび撮像素子を備え、これらの特性、たとえばレンズの歪みを示すパラメータであるレンズ歪み係数、光軸中心、焦点距離、撮像素子の画素数および寸法が内部パラメータ初期値としてROM103に格納される。また、後述するキャリブレーションプログラムにより算出されたレンズ歪み係数を含む内部パラメータがフラッシュメモリ112に保存される。
【0010】
カメラキャリブレーション装置100は、演算を行うCPU101と、RAM102と、ROM103と、フラッシュメモリ112とを備える。
CPU101は、RAM102、RAM103、およびフラッシュメモリ112と信号線により接続される。CPU101は、ROM103に格納されるプログラムをRAM102に展開して実行する。
RAM102には、後述するプログラムが利用する追跡点情報102A、および作業テーブル102Bが格納される。追跡点情報102Aの構造は後述する。作業テーブル102Bは、追跡点情報102Aの一部を複製して加工したものであり、後述する処理により作成される。
【0011】
ROM103には、内部パラメータキャリブレーションプログラム103Aと、内部パラメータ初期値103Bと、カメラ利用プログラム103Cと、不図示の外部パラメータ初期値とが格納される。内部パラメータキャリブレーションプログラム103Aの動作は、後にフローチャートを用いて説明する。カメラ利用プログラム103Cとは、カメラ111を利用するプログラムであり、たとえばカメラ111が撮影して得られた画像を用いて周囲の車両との距離を算出し、その距離が所定の距離以下の場合は表示装置104に警告を表示する。カメラ利用プログラム103Cは、実行のためにカメラ111の外部パラメータおよび内部パラメータを必要としており、これらをフラッシュメモリ112から読み込む。ただし、フラッシュメモリ112に外部パラメータおよび内部パラメータが保存されていない場合はROM103に保存されている内部パラメータ初期値103Bおよび外部パラメータ初期値を用いる。
【0012】
フラッシュメモリ112は不揮発性記憶媒体であり、フラッシュメモリ112には内部パラメータキャリブレーションプログラム103Aが出力するレンズ歪み係数を含む内部パラメータ112Aと、不図示の外部パラメータとが格納される。
入力部109は、スイッチやボタンなどから構成され、ユーザーの操作を受け付ける。キャリブレーション機能のオン/オフ、キャリブレーション結果の初期化、キャリブレーション方法の変更などに利用する。
【0013】
(機能ブロックと処理の概要)
図2は、CPU101が実行する内部パラメータキャリブレーションプログラム103Aが有する機能を機能ブロックとして表し、機能ブロック同士、および機能ブロックとRAM102とのデータの流れを示す図である。
内部パラメータキャリブレーションプログラム103Aは、機能ブロックとして画像取得部201と、特徴点抽出部202と、特徴点追跡部203と、車両運動取得部204と、特徴点軌跡蓄積部205と、内部パラメータ推定部206と、を備える。画像取得部201、特徴点抽出部202、および特徴点追跡部203は、カメラ111が画像を撮影するたびに実行される。
【0014】
カメラ111は、車両1の走行中は連続して高い頻度、たとえば毎秒60回撮影する。カメラ111が撮影して得られた画像(以下、撮影画像)は、カメラキャリブレーション装置100に送信される。
画像取得部201は、カメラ111から撮影画像を受信し、受信した撮影画像を特徴点抽出部202と特徴点追跡部203とに出力する。カメラ111は、車両1の走行中は連続して高い頻度、たとえば毎秒60回撮影しており、画像取得部201はカメラ111から撮影画像を受信するたびに、換言するとカメラ111から撮影画像が入力されるたびに特徴点抽出部202と特徴点追跡部203とに撮影画像を出力する。
【0015】
特徴点抽出部202は、画像取得部201から入力される撮影画像に対して画像処理を施して特徴点を抽出する。ここでいう特徴点とは、例えば画像中の壁の角、縁石の角、破線の角などのエッジの交点、すなわちコーナー特徴点である。コーナー特徴点は、たとえば公知の技術であるハリスオペレータを適用することにより抽出できる。特徴点抽出部202により抽出された特徴点は、たとえばカメラ111の撮影画像における座標により特定することができる。本実施の形態では、図7(b)に示すように撮影画像の左上を原点とし、右をX軸の正方向、下をY軸の正方向と定義する。特徴点抽出部202により抽出された特徴点は、RAM102に保存される。
【0016】
特徴点追跡部203は、RAM102から読み込む情報であって直前の撮影画像から得られた特徴点を対象として、画像取得部201から入力される最新の撮影画像、および車両運動取得部204から入力される運動情報を用いて追跡処理を行う。特徴点の追跡には、既知の追跡手法であるSAD(Sum of Absolute Difference)やSSD(Sum of Squared Difference)、LK(Lucas‐Kanade)法などを用いることができる。そして、追跡した特徴点に関する情報を特徴点軌跡蓄積部205に出力する。
【0017】
車両運動取得部204は、車速センサ105およびジャイロセンサ108の出力に基づき車両1の運動情報、たとえば車両1の走行軌跡や速度を算出して特徴点追跡部203、および特徴点軌跡蓄積部205に出力する。
特徴点軌跡蓄積部205は、特徴点追跡部203によって得られた特徴点の軌跡をRAM102の追跡点情報102Aに格納する。ここでは、誤った特徴点軌跡を排除したり、信頼度の高い特徴点軌跡のみを残したり、キャリブレーション精度が高くなるものを選定するなどを行う。
内部パラメータ推定部206は、特徴点軌跡蓄積部205がRAM102に格納した追跡点情報102Aを用いてレンズ歪み係数を推定し、フラッシュメモリ112に書きこむ。このとき、ROM103からレンズ歪み係数以外の内部パラメータを読み込み、フラッシュメモリ112にあわせて描き込む。
【0018】
図3は、RAM102に保存される追跡点情報102Aの一例を示す図である。図3の行は個別の特徴点を表し、列は撮影時刻t1〜t5における特徴点の撮影画像上の座標、特徴点軌跡の状態、特徴点軌跡が属するエリア、特徴点軌跡の近似式を表す。順番に説明する。
特徴点に付した番号、すなわち1001、1002などは、抽出された順番に付した番号である。図3は、時刻t1に撮影された撮影画像からは特徴点が2つ抽出されたことを示しており、同様に時刻t2、t3に撮影された撮影画像からは4つ、時刻t4に撮影された撮影画像からは3つ、時刻t5に撮影された撮影画像からは1つ特徴点が抽出されたことが示されている。時刻t2、t3の撮影画像から抽出された4つの特徴点のうち2つ、すなわち特徴点1001と特徴点1002は、時刻t1から追跡が継続されていることを表している。時刻t4に撮影された撮影画像からは、特徴点1001が抽出されなかったので図3では「x」マークを付している。なお図3に示す例では時刻t1〜t5のみを表示しているが、時刻はこれに限定されない。
【0019】
追跡点情報102Aの「状態」の列は、特徴点を内部パラメータのキャリブレーションに使用するか否かを判断する際に参照される。この列には、特徴点の追跡が継続している場合には「未」、車両1の動きと特徴点の軌跡が整合しない場合は「不整合」、他に類似する特徴点の軌跡が存在しない場合は「ペアなし」と記入され、それ以外の場合は「OK」と記入される。追跡点情報102Aの「エリア」の列は、特徴点の軌跡が属するエリアが示される。追跡点情報102Aの「多項近似」の列は、特徴点の軌跡を多項式で近似した式を示す。
【0020】
以下、各機能ブロックが行う処理をフローチャートを用いて説明する。以下に説明する各フローチャートの実行主体は、カメラキャリブレーション装置100のCPU101である。
(特徴点抽出部の動作)
図4は特徴点抽出部202の動作を表すフローチャートである。特徴点抽出部202は、画像取得部201から撮影画像が送信されるたびに以下の動作を実行する。
ステップS301では、車両1の進行方向、および車両1の進行方向に対するカメラ111の撮影方向に基づき特徴点抽出部202が特徴点を抽出する撮影画像中の領域を決定する。例えば車両1が前方に進む場合は、カメラ111は車両1の前方に取り付けられているので、車両1に近い位置で特徴点を抽出してもすぐにカメラ111の画角から特徴点が外れてしまうため追跡できる時間が短い。処理領域は広ければ広いほど、計算処理に時間がかかるため、リアルタイム処理で計算するためには、このような無駄な部分の計算処理負荷を低減する必要がある。そこで、車両から離れた場所の特徴点を抽出するように処理領域を設定する。なお、カメラ111が車両の後方を撮影するように取り付けられている場合は、車両が前方に進行する際に車両に近い側に処理領域を設定する。次にステップS302に進む。
【0021】
ステップS302では、ステップS301において設定した特徴点抽出領域を対象として特徴点を抽出する。特にエッジの交点であるコーナー特徴点を抽出することが好ましい。ステップS301において設定された領域に対して、ハリスオペレータなどを適用してコーナー特徴点を抽出し、ステップS303に進む。
ステップS303では、ステップS302において抽出された特徴点の座標をRAM102に出力し、図4のフローチャートを終了する。
【0022】
(特徴点追跡部の動作)
図5は、特徴点追跡部203の動作を表すフローチャートである。特徴点追跡部203は、画像取得部201から撮影画像が送信されるたびに以下の動作を実行する。
ステップS401では、特徴点の追跡処理の対象とする処理領域を設定する。すなわち、カメラ111により直前に撮影された撮影画像において、特徴点抽出部202により特徴点が抽出された座標、および車両運動取得部204が取得する車両1の運動情報を用いて、直前の撮影画像において抽出された特徴点が移動する方向および距離を推定する。そして特徴点が移動すると推定した方向および距離に対応する領域を、特徴点追跡部203が特徴点を追跡する撮影画像中の領域として決定する。次にステップS402に進む。ただし、特徴点が移動する方向および距離を推定するために用いる撮影画像は直前の撮影画像に限定されず、複数の撮影画像を用いて推定してもよいし、直前以外の撮影画像に用いて推定してもよい。すなわち、より早い時間に撮影された撮影画像を用いて特徴点が移動する方向および距離を推定する。
【0023】
次に説明するステップS402〜S405は、直前の撮影画像において抽出された特徴点に対応する回数だけ繰り返し実行される。
ステップS402では、前述のSADやLK法などの公知の手法により、追跡対象であるRAM102から読み込んだ直前の撮影画像における特徴点の追跡を行い、ステップS403に進む。
ステップS403では、追跡対象である直前の撮影画像における特徴点の追跡が継続できたか否かを判断する。たとえば、SADなどによる照合度が予め定めた閾値以下であれば、カメラの画角から外れたなどの理由で追跡ができないと判断する。追跡が継続できたと判断する場合はステップS404に進み、追跡が継続できなかったと判断する場合はステップS405に進む。
【0024】
ステップS404では、追跡点情報102Aにおける処理対象の特徴点の行であって、処理対象の撮影画像が撮影された時刻の列に、追跡した特徴点の座標を記録する。
ステップS405では、追跡点情報102Aにおける処理対象の特徴点の行であって、処理対象の撮影画像が撮影された時刻の列に、追跡が終了したマーク、たとえば「x」を記録する。
ステップS404またはステップS405の実行が完了すると、直前の撮影画像において抽出された特徴点についてステップS402〜S405が実行されたか否かを判断し、未処理の特徴点がある場合はステップS402に戻り、全ての特徴点について処理が完了したと判断する場合は図5のフローチャートを終了する。
【0025】
(特徴点軌跡蓄積部の動作)
図6は、特徴点軌跡蓄積部205の動作を表すフローチャートである。
ステップS501では、RAM102から追跡点情報102Aを読み込み、車両運動取得部204が出力する運動情報と整合しない特徴点軌跡の「状態」の列に「不整合」と記録する。例えば、車両が時速60kmで走行しているにもかかわらず特徴点軌跡が滞留していたり、進行方向とは逆の軌跡を描いている場合は、その軌跡は路面上の特徴点の軌跡ではないと判断できる。画像処理で特徴点の追跡を行う場合、日照条件の変化や天候の変化、自車両や他車両の影などによって、誤追跡は避けられない。誤追跡結果をキャリブレーションに利用すると、正しいキャリブレーションが行えないため、このような追跡結果をこのステップS501の処理により排除する。次にステップS502に進む。
【0026】
ステップS502では、特徴点抽出部202により抽出された特徴点のそれぞれ、すなわち特徴点の軌跡が属するエリアを特定する。カメラ111が撮影して得られる撮影画像は後述するように複数のエリアに分割されており、本ステップでは特徴点軌跡がいずれのエリアに属するかを特定する。内部パラメータの推定に用いる特徴点の軌跡が撮影画像の一部だけに局在している場合は、内部パラメータの推定精度が低くなるため、画像全体にわたって特徴が得られてからキャリブレーションを実施することが望ましい。そのため、本処理によって、特徴点軌跡が撮影画像中のいずれのエリアに属するか判断する。
【0027】
図7(a)は、特徴点軌跡の属する撮影画像中のエリアを示す例である。ここでは、丸のマーカーで示す第1の特徴点軌跡801と、三角のマーカーで示す第2の特徴点軌跡802が追跡点情報102Aに格納されていたとする。たとえばカメラ111の撮影画像を図7(a)のように(ア)〜(エ)の4つのエリアに分類する。このとき、特徴点軌跡801はエリア(ア)とエリア(ウ)に属し、特徴点軌跡802はエリア(エ)に属する。すなわち、図7(a)に示す例ではエリア(イ)に属する特徴点軌跡は存在しない。ただしここでは特徴点軌跡とは、追跡された特徴点同士を直線で接続した線分とする。次にステップS503に進む。
【0028】
ステップS503では、追跡された特徴点を接続する複数の直線を、1つの多項式を用いて近似する。たとえば、次の式(1)により表される5次式で近似し、a〜eのパラメータを求める。
Y=ax^5+bx^4+cx^3+dx^2+ex+f・・・・(1)
図7(b)は、追跡された特徴点を接続する線分を1つの曲線で近似する例を示す図である。図7(b)に図示する特徴点の軌跡は、図7(a)に示す特徴点の軌跡と同一である。図7(b)では、複数の線分で表された特徴点軌跡801を1つの曲線801aで近似し、同様に特徴点軌跡802を曲線802aで近似している。次にステップS504に進む。
【0029】
ステップS504では、ステップS502において算出したそれぞれの特徴点軌跡が属するエリアと、ステップS503において算出した特徴点軌跡を近似する多項式を追跡点情報102Aに保存してステップS505に進む。
ステップS505では、追跡点情報102Aに記録されている近似式のうち、互いに略一致するものがあるか否かを判断し、略一致する多項式が他に存在する場合は追跡点情報102Aの「状態」列に「OK」を記入し、略一致する多項式が他に存在しない場合は同様に「ペアなし」と記入してステップS506に進む。
【0030】
多項式が略一致するか否かは、多項式の係数の差が所定値以内であるか否かにより判断することができる。たとえば、ある2つの特徴点軌跡がそれぞれ次の式(2)、式(3)で近似されるとする。
Y=ax^5+bx^4+cx^3+dx^2+ex+f・・(2)
Y=ax^5+bx^4+cx^3+dx^2+ex+f・・(3)
このとき、(a−a)<th_a、(b−b)<th_b、(c−c)<th_c、(d−d)<th_d、(e−e)<th_e、(f−f)<th_fを全て満たす場合に2つの特徴点軌跡が略一致すると判断する。ただし、th_a、th_b、th_c、th_d、th_e、およびth_fは所定の閾値である。
【0031】
ステップS506では、追跡点情報102Aを参照し、略一致する特徴点軌跡が所定数以上存在するか否かを判断する。換言すると、追跡点情報102Aの「状態」の列における「OK」の数が所定数以上であるか否かを判断する。当該条件を満たすと判断するとステップS507に進み、当該条件を満たさないと判断すると図6に示す処理を終了する。
【0032】
ステップS507では、追跡点情報102Aを参照し、追跡点情報102Aの「状態」の列が「OK」である特徴点軌跡の「エリア」の列に着目し、全てのエリアにわたって少なくとも1つ以上の特徴点軌跡が存在するか否かを判断する。すなわち本ステップでは、内部パラメータの推定に用いる特徴点軌跡が、カメラ111の撮影画像において広い範囲に分布しているか否かを判断している。当該条件を満たすと判断するとステップS508に進み、当該条件を満たさないと判断すると図6に示す処理を終了する。
ステップS508では、内部パラメータ推定部206に実行指令を出力し、図6に示す処理を終了する。
【0033】
(内部パラメータ推定部の動作)
図8は、内部パラメータ推定部206の動作を表すフローチャートである。内部パラメータ推定部206は、特徴点軌跡蓄積部205から実行指令を受信すると動作を開始する。本フローチャートでは、後述する目的関数を最小にするレンズ歪み係数を繰り返し計算により求める。図8、および次に説明する図9では繰り返し計算の過程で仮に設定するレンズ歪み係数を「仮パラメータ」と呼ぶ。
【0034】
ステップS601では、追跡点情報102Aに記録されている特徴点軌跡であって「状態」の列が「OK」である特徴点軌跡に、平行性の評価が可能な特徴点の組み合わせが存在するか否か、換言すると連続する複数の撮影画像においてY座標が略同一である1組以上の特徴点が存在するか否かを判断する。条件を満たす特徴点が存在すると判断する場合はステップS602に進み、条件を満たす特徴点が存在しないと判断する場合はステップS603に進む。
ステップS602では、後述する目的関数を共線性と平行性に基づいて算出することとし、ステップS604に進む。
【0035】
ステップS601において否定判定されると実行されるステップS603では、後述する目的関数を共線性のみに基づいて算出することとし、ステップS604に進む。
ステップS604では、フラッシュメモリ112に保存されている内部パラメータ112Aのレンズ歪み係数を仮パラメータとして読み込む。ただし、初回実行時などフラッシュメモリ112に内部パラメータ112Aが保存されていない場合は、ROM103から内部パラメータ初期値103Bを読み込む。次にステップS605に進む。
【0036】
ステップS605では、仮パラメータ、車両運動取得部204が出力する運動情報、追跡点情報102Aに格納された特徴点の軌跡、およびステップS602またはステップS603において決定した観点で目的関数を算出する。すなわち共線性と平行性に基づく目的関数、または共線性のみに基づく目的関数を算出する。詳しくは図9を用いて説明する。本ステップにより、目的関数の評価値であるスカラー値が得られる。次にステップS606に進む。
【0037】
ステップS606では、目的関数が収束したか否か、すなわち前回の目的関数と今回の目的関数の差が予め定めた値以下であるか否かを判断する。目的関数が収束したと判断する場合はステップS608に進み、目的関数が収束していないと判断する場合はステップS607に進む。ただし、初回実行時には収束したか否かを判断することが不可能なので、本ステップは否定判断を行うこととする。
ステップS607では、仮パラメータを更新してステップS605に戻る。たとえば、公知の技術であるレーベンバーグ・マーカート法などを用いることで、目的関数が減少するように仮パラメータを更新することができる。
ステップS608では、目的関数が収束した際のパラメータを出力し、図8に示す処理を終了する。
【0038】
(目的関数算出のフローチャート)
図9は、図8のステップS605における処理の詳細を示すサブルーチンである。
ステップS701において、追跡点情報102Aに記載された特徴点軌跡であって、「状態」の列が「OK」である特徴点の軌跡をRAM102に作業テーブル102Bとして複製する。さらに、作業テーブル102Bに記載されている特徴点の座標を、仮パラメータを用いて座標変換する。図9に示すフローチャートでは、以下、作業テーブル102Bに記載された座標変換後の特徴点を用いて計算を行う。次にステップS702に進む。
ステップS702では、目的関数の評価値とする変数evalにゼロを代入して初期化し、ステップS703に進む。
【0039】
次に説明するステップS703〜S705は、作業テーブル102Bに記載されたそれぞれの特徴点について実行される。
ステップS703では、処理対象の特徴点のもっとも古い時刻での座標を始点として、運動情報に基づく車両1の走行に応じた理想的な特徴点の軌跡を算出する。理想的な特徴点の軌跡とは、カメラ111のレンズに歪みがない場合の特徴点の軌跡、すなわちカメラ111のレンズ歪みの影響を内部パラメータにより完全に除去できた場合の特徴点の軌跡である。たとえば、車両運動取得部204が出力する運動情報に基づき車両1が直進していると判断する場合には、理想的な特徴点の軌跡は直線と推定できる。一方、運動情報に基づき車両1が直進していない、すなわち旋回していると判断する場合は、カメラ111の外部パラメータおよび運動情報を用いて路面上の特徴点がカメラ111に撮影される軌跡を算出する。次にステップS704に進む。
【0040】
ステップS704では、ステップS703において算出した理想的な軌跡と、作業テーブル102Bに記載された軌跡を用いて、共線性の評価値を算出する。ここで、本実施の形態では目的関数を最小とすることを目的としているので、共線性の評価は理想的な軌跡と作業テーブル102Bに記載された軌跡との距離が短いほど小さな値となるようにする。たとえば、共線性の評価値は、理想的な軌跡に対する作業テーブル102Bに記載されたそれぞれの特徴点座標との距離の和である。次にステップS705に進む。
【0041】
ステップS705では、変数evalにステップS704において算出した共線性の評価値を加算する。作業テーブル102Bに記載の全ての特徴点についてステップS703〜S705の実行が終了していればステップS706に進み、まだ実行が完了していない特徴点があればステップS703に戻る。
ステップS706では、平行性も評価するか否か、すなわちステップS601において肯定判定されたか否かを判断する。肯定判定されたと判断する場合はステップS707に進み、否定判定されたと判断する場合はステップS710に進む。
【0042】
次に説明するステップS707〜S709は、作業テーブル102Bにおいて平行と判断されているそれぞれの特徴点の組み合わせに対して実行される。
ステップS707では、平行であると判断された特徴点について、同一時刻の特徴点座標を結ぶ線分を生成し、ステップS708に進む。
ステップS708では、ステップS707において生成した複数の線分の平行性を、車両1の運動情報を考慮して評価する。ここで、本実施の形態では目的関数を最小とすることを目的としているので、平行性の評価は線分同士が平行でないほど大きな値となるようにする。たとえば、線分同士のなす角度から車両の回転角を除いた値を評価値とする。次にステップS709に進む。
【0043】
ステップS709では、変数evalにステップS708において算出した平行性の評価値を加算する。作業テーブル102Bに記載の全ての平行な特徴点の組み合わせについてステップS707〜S709の実行が終了していればステップS710に進み、まだ実行が完了していない特徴点があればステップS707に戻る。
ステップS710では、変数evalを目的関数の値として出力し、作業テーブル102BをRAM102から削除して図9のフローチャートを終了する。
【0044】
上述した第1の実施の形態によれば、次の作用効果が得られる。
(1)カメラキャリブレーション装置100は、車両1に搭載されるカメラ111が異なる時刻に撮影して得られた複数の画像が入力される画像取得部201と、画像取得部201に入力されるそれぞれの画像から特徴点を抽出する特徴点抽出部202と、複数の画像間で特徴点を追跡する特徴点追跡部203と、車両の運動に関する情報を取得する車両運動取得部204と、車両運動取得部204が取得する情報に基づき、車両1の移動に応じた特徴点の軌跡を推定する軌跡定部(図9のステップS703)と、特徴点追跡部203が追跡した特徴点の軌跡と、軌跡定部が推定した特徴点の軌跡とに基づきカメラ111の内部パラメータ、すなわちレンズの歪みを示すパラメータであるレンズ歪み係数を推定する内部パラメータ推定部206とを備える。
カメラキャリブレーション装置100をこのように構成したので、路面に描かれた道路標示などから特徴点を抽出し、レンズ歪み係数のキャリブレーションを行う。換言すると、路面に描かれた線、記号、または文字を利用するので、路面に白線がなくてもレンズ歪み係数のキャリブレーションができる。
【0045】
(2)内部パラメータは、カメラ111が備えるレンズの歪みに応じたレンズ歪み係数を含む。内部パラメータ推定部206は、特徴点追跡部203が追跡した特徴点の軌跡をレンズの歪み係数を用いて変換した特徴点の軌跡(図9のステップS701)と、軌跡定部(図9のステップS703)が推定した特徴点の軌跡との差を最小とするようにレンズ歪み係数を算出する。
すなわち、カメラ111の撮影画像における路面に描かれた道路標識から抽出された特徴点の位置を車両1の運動情報を用いて推定することで、カメラ111のレンズ歪み係数を推定することができる。
【0046】
(3)カメラキャリブレーション装置100は、特徴点追跡部203が追跡した特徴点の軌跡を多項式を用いて近似する軌跡近似部(図6のステップS503)と、軌跡近似部が第1の特徴点の軌跡を近似した多項式の係数と、軌跡近似部が第2の特徴点の軌跡を近似した多項式の係数との差に基づいて、第1の特徴点の軌跡と第2の特徴点の軌跡とが一致するか否かを判断する一致判定部(図6のステップS505)とを備える。内部パラメータ推定部206は、一致判定部が一致すると判断した第1の特徴点の軌跡と第2の特徴点の軌跡とを用いてカメラ111のレンズ歪み係数を推定する。
似ている特徴点軌跡が得られるほど、その特徴点の軌跡はノイズの軌跡ではなく路面の道路標示の軌跡と考えられ信頼度が高い。そのため、近似式が略同一である特徴点軌跡を用いることで、カメラ111のレンズ歪み係数を高精度に算出できる。
【0047】
(4)内部パラメータ推定部206は、特徴点追跡部203が追跡した特徴点の軌跡が画像を分割した複数の領域の全てに含まれる場合に、カメラ111の内部パラメータを推定する(図6のステップS507)。
特徴点軌跡が撮影画像の一部だけに局在している場合は、レンズ全面の歪みの情報が得られておらず十分なキャリブレーションの精度が得られない。そのため、特徴点が撮影画像の広い範囲に分布していることを内部パラメータ推定の実行条件とすることで、キャリブレーションの精度低下を防止する。
【0048】
(5)内部パラメータ推定部206は、運動情報に基づき車両1が直進していると判断する場合に、特徴点の軌跡を直線と推定する。
そのため、車両1が直進する状況に限定すれば、外部パラメータを用いることなく内部パラメータのキャリブレーションを行うことができる。
(6)内部パラメータ推定部206は、運動情報に基づき車両1が直進していないと判断する場合に、カメラ111の外部パラメータおよび車両運動取得部204が取得する運動情報を用いて、特徴点の軌跡を推定する。
そのため、車両1が旋回している状況であっても、外部パラメータと運動情報を用いて内部パラメータのキャリブレーションを行うことができる。
【0049】
(7)特徴点抽出部202は、車両1の進行方向、および車両1の進行方向に対するカメラ111の撮影方向に基づき特徴点を抽出する画像中の領域を決定する。
そのため、追跡を前提として特徴点を抽出するので、仮に抽出してもすぐに追跡が不可能になる領域を処理領域から除外することにより、特徴点抽出部202の負荷を軽減することができる。特徴点抽出部202は、カメラ111が撮影を行うたびに実行され、次にカメラ111が撮影を行う前に処理が完了する必要がある。そのため、特徴点抽出部202の負荷が増加するとカメラキャリブレーション装置100のCPU101の処理能力を増強する必要がある。換言すると、特徴点抽出部202の負荷を軽減することによりカメラキャリブレーション装置100のCPU101に処理能力の低い安価な製品を使用することができる。
【0050】
(8)特徴点追跡部203は、複数の画像のうち先の時刻に撮影された第1の画像において、特徴点抽出部202により特徴点が抽出された位置、および車両運動取得部204が取得する情報を用いて、複数の画像のうち第1の画像よりも後の時刻に撮影された第2の画像において特徴点を追跡する領域を決定する。
そのため、特徴点追跡部203の処理領域を限定し、特徴点追跡部203の負荷を軽減することができる。特徴点追跡部203は、カメラ111が撮影を行うたびに実行され、次にカメラ111が撮影を行う前に処理が完了する必要がある。そのため、特徴点追跡部203の負荷が増加するとカメラキャリブレーション装置100のCPU101の処理能力を増強する必要がある。換言すると、特徴点追跡部203の負荷を軽減することによりカメラキャリブレーション装置100のCPU101に処理能力の低い安価な製品を使用することができる。
【0051】
(変形例1)
上述した第1の実施の形態では、特徴点追跡部203により追跡が完了した特徴点、すなわち次の撮影画像では特徴点の追跡ができず、追跡点情報102Aには「x」が記録された特徴点のみを内部パラメータのキャリブレーションに用いた。しかし、追跡が完了していない特徴点も内部パラメータのキャリブレーションに用いてもよい。
【0052】
(変形例2)
上述した第1の実施の形態では、車両1は1台のカメラ111のみを備えた。しかし、車両1はカメラを複数台備えてもよい。車両1がカメラを複数台備える場合は、カメラキャリブレーション装置100をカメラと同数用意してもよいし、カメラキャリブレーション装置100を1台のみ備えて複数のカメラの内部パラメータを順番にキャリブレーションしてもよい。
なお、車両が備えるカメラの取付け位置およびカメラの撮影方向によらず、第1の実施の形態において説明した内部パラメータキャリブレーションプログラム103Aを適用することができる。
【0053】
(変形例3)
カメラ111が撮像素子にCMOSセンサーを使用し、シャッターにローリングシャッター方式を採用する場合には、カメラ111と被写体の相対速度が大きい場合に撮影画像に歪みが生じる。この場合は、カメラキャリブレーション装置100が以下のように撮影画像を補正する歪み補正部をさらに備え、歪み補正部が補正した撮影画像を用いて特徴点抽出部202や特徴点追跡部203が処理を行ってもよい。
【0054】
CMOSセンサーはマトリクス状に配置された複数のフォトダイオードを備え、このフォトダイオードが行ごとに順次露光され読み出される。この行ごとの露光・読み出し時間の差は既知であり、カメラ111を搭載する車両1の運動情報は車両運動取得部204から得られる。そこで歪み補正部は、CMOSセンサーの行ごとの露光・読み出し時間の差、車両1の運動情報、およびカメラ111の外部パラメータに基づき、カメラ111の撮影画像から歪みを除去して特徴点抽出部202および特徴点追跡部203に出力する。
この変形例3によれば、メカニカルシャッターを備えることなくCMOSセンサーの読み出し方式に起因する撮影画像の歪みを除去することができる。
【0055】
(変形例4)
上述した第1の実施の形態では、車両1が接地している路面の勾配は一定としたが、カメラ111により撮影される範囲の路面の勾配が車両が接地している路面の勾配と一致しない場合にも本発明を適用することができる。その場合は、後述する手段により車両1の姿勢に対する撮影範囲の路面の勾配を推定し、理想的な特徴点の軌跡を算出する処理(図9のステップS703)において、路面の勾配の変化が撮影画像における特徴点軌跡の位置へ及ぼす影響を考慮することにより対応することができる。
車両1の姿勢に対する撮影範囲の路面の勾配を推定する手段は、たとえば衛星測位システムによる車両1の位置および向きと道路勾配の情報を含む地図情報の組み合わせを用いることもできるし、路面に沿って存在する直線状の物体、たとえば白線やガードレール、道路沿いの建物の水平方向のエッジ、道路を走行する他の車両の傾きなどを用いることもできる。
【0056】
(変形例5)
上述した第1の実施の形態では、内部パラメータのキャリブレーションは常時実行されたが、温度や時間の条件を満たす場合のみ実行してもよい。
たとえば車両1が温度計をさらに備え、内部パラメータのキャリブレーションが行われた際の温度を記録し、その温度から所定の温度以上、たとえば5度以上変化した場合に内部パラメータのキャリブレーションを再度行ってもよい。この場合は温度計が測定する温度はカメラ111の温度や外気の温度を測定してもよいし、車両1の乗員室の温度を測定してもよい。また一定時間ごとに内部パラメータのキャリブレーションを行ってもよい。
【0057】
(変形例6)
上述した第1の実施の形態では、図6のステップS502において撮影画像を4つのエリアに分割し、特徴点軌跡がいずれのエリアに属するかを判断した。しかし、エリアの分割数および分割方法はこれに限定されない。エリアの分割数は少なくとも2あればよい。エリアの分割はマトリクス状に限定されず、X方向のみに分割してもよいしY方向のみに分割してもよい。さらに、エリアは矩形に限定されず円や不定型でもよくランダムに分割されてもよい。
【0058】
(変形例7)
上述した第1の実施の形態では、内部パラメータ推定部206を動作させる条件の1つを、撮影画像中の全てのエリアに少なくとも1つの特徴点の軌跡が存在することとした(図6のステップS507)。しかし、当該条件における特徴点の軌跡の数は1に限定されず、2や3以上であってもよい。
【0059】
(第2の実施の形態)
図10図11を参照して、本発明にかかるカメラキャリブレーション装置の第2の実施の形態を説明する。以下の説明では、第1の実施の形態と同じ構成要素には同じ符号を付して相違点を主に説明する。特に説明しない点については、第1の実施の形態と同じである。本実施の形態では、主に、レンズ歪みに加えてレンズの焦点距離もキャリブレーションの対象とする点で、第1の実施の形態と異なる。
【0060】
第2の実施の形態におけるカメラキャリブレーション装置100のハードウエア構成は第1の実施の形態と同様である。第2の実施の形態ではROM103に格納される内部パラメータキャリブレーションプログラム103Aの動作が異なる。
図10は、第2の実施の形態における内部パラメータキャリブレーションプログラム103Aが有する機能を機能ブロックとして表した図である。内部パラメータキャリブレーションプログラム103Aの内部パラメータ推定部206Aは、レンズ歪み係数に加えて焦点距離のキャリブレーションも行う。
【0061】
(焦点距離のキャリブレーション)
図11は、内部パラメータ推定部206Aによる焦点距離のキャリブレーション動作を表すフローチャートである。
ステップS801では、ROM103からカメラ111の内部パラメータの1つである撮像素子サイズ、および外部パラメータを読み込み、ステップS802に進む。
ステップS802では、追跡点情報102Aを読み込み、ステップS803に進む。
次に説明するステップS803〜S807は、作業テーブル102Bの「状態」列が「OK」であるそれぞれの特徴点について実行される。
ステップS803では、当該特徴点の追跡が開始された撮影時刻(以下、時刻ts)、および追跡が終了した撮影時刻(以下、時刻te)を特定する。たとえば、図3に示す例において特徴点1001を処理対象とする場合は、追跡が開始された撮影時刻が「t1」であり、追跡が終了した撮影時刻は「t3」である。次にステップS804に進む。
【0062】
ステップS804では、ステップS803において特定した時刻tsにおける処理対象である特徴点とカメラ111との距離を焦点距離fの関数として算出する。カメラ111の撮像素子サイズは既知なので焦点距離fを用いてカメラ111の画角を表すことができ、さらに既知である外部パラメータ、すなわち車両に対するカメラ111の取付け位置および取付け姿勢を用いることで、処理対象である特徴点とカメラ111との距離を焦点距離fの関数として算出することができる。以下ではこの距離をdtsと呼ぶ。次にステップS805に進む。
【0063】
ステップS805では、ステップS803において特定した時刻teにおける処理対象である特徴点とカメラ111との距離を焦点距離fの関数として算出する。算出方法はステップS804と同様である。以下ではこの距離をdteと呼ぶ。次にステップS806に進む。
ステップS806では、車両運動取得部204が出力する運動情報を用いて、時刻tsから時刻teの間に、車両1が移動した直線距離を算出する。以下ではこの直線距離をdts−teと呼ぶ。次にステップS807に進む。
【0064】
ステップS807では、fの一次式であるdts−dte=dts−teを満たす焦点距離fを求め、算出結果をRAM102に保存する。作業テーブル102Bに記載された全ての特徴点について処理が完了している場合はステップS808に進み、いずれかの特徴点について処理が完了していない場合はステップS803に戻る。
ステップS808では、RAM102に保存された複数の焦点距離fの平均値を算出し、ステップS809に進む。
ステップS809では、ステップS808において算出した焦点距離fをフラッシュメモリ112に内部パラメータとして保存し、図11のフローチャートを終了する。
【0065】
上述した第2の実施の形態によれば、次の作用効果が得られる。
(1)カメラキャリブレーション装置100は、車両1に搭載されるカメラ111が異なる時刻に撮影して得られた複数の画像が入力される画像取得部201と、画像取得部201に入力されるそれぞれの画像から特徴点を抽出する特徴点抽出部202と、複数の画像間で特徴点を追跡する特徴点追跡部203と、車両の運動に関する情報を取得する車両運動取得部204と、車両運動取得部204が取得する情報に基づき、車両1の移動に応じた特徴点の軌跡を推定する軌跡定部(図9のステップS703)と、特徴点追跡部203が追跡した特徴点の軌跡と、軌跡定部が推定した特徴点の軌跡とに基づきカメラ111の内部パラメータ、すなわちレンズ歪み係数および焦点距離を推定する内部パラメータ推定部206とを備える。
カメラキャリブレーション装置100をこのように構成したので、路面に描かれた道路標示などから特徴点を抽出し、レンズ歪み係数および焦点距離のキャリブレーションを行う。換言すると、路面に描かれた線、記号、または文字を利用するので、路面に白線がなくてもレンズ歪み係数および焦点距離のキャリブレーションができる。
【0066】
(2)内部パラメータは、カメラが備えるレンズの焦点距離を含む。カメラキャリブレーション装置100は、特徴点の第1の時刻tsにおける位置とカメラ111との距離である第1距離dtsを焦点距離fに応じて算出する第1距離算出部(図11のステップS804)と、特徴点追跡部203が追跡する特徴点の第2の時刻teにおける位置とカメラ111との距離である第2距離dteを焦点距離fに応じて算出する第2距離算出部(図11のステップS805)と、車両運動取得部204が取得する情報に基づき、第1の時刻tsから第2の時刻teまでに車両が移動した距離である移動距離dts−teを算出する移動距離算出部(図11のステップS806)とを備える。内部パラメータ推定部、すなわち内部パラメータ推定部206Aは、第1距離dtsと第2距離dteとの差である第3距離(dts−dte)が、移動距離dts−teと等しくなるようにカメラ111が備えるレンズの焦点距離fを算出する。
そのため、白線に限定されない路面上の道路標示を用いて焦点距離fを算出することができる。
【0067】
なお、以上説明した第2の実施の形態では、特徴点の追跡が開始された時刻t5と、追跡が終了した時刻teにおける特徴点の位置とカメラ111の距離を算出したが、他の時刻における特徴点の位置とカメラ111の距離を算出し、焦点距離fを算出してもよい。
【0068】
上述した各実施の形態および変形例は、それぞれ組み合わせてもよい。
上記では、種々の実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
【符号の説明】
【0069】
1 … 車両、100 … カメラキャリブレーション装置、102A … 追跡点情報、103A … 内部パラメータキャリブレーションプログラム、111 … カメラ、112 … フラッシュメモリ、112A … 内部パラメータ、201 … 画像取得部、202 … 特徴点抽出部、203 … 特徴点追跡部、204 … 車両運動取得部、205 … 特徴点軌跡蓄積部、206、206A … 内部パラメータ推定部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11