IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 株式会社日本自動車部品総合研究所の特許一覧 ▶ 株式会社デンソーの特許一覧 ▶ 学校法人トヨタ学園の特許一覧

特許7099832測距装置および較正パラメータの推定方法
<>
  • 特許-測距装置および較正パラメータの推定方法 図1
  • 特許-測距装置および較正パラメータの推定方法 図2
  • 特許-測距装置および較正パラメータの推定方法 図3
  • 特許-測距装置および較正パラメータの推定方法 図4
  • 特許-測距装置および較正パラメータの推定方法 図5
  • 特許-測距装置および較正パラメータの推定方法 図6
  • 特許-測距装置および較正パラメータの推定方法 図7
  • 特許-測距装置および較正パラメータの推定方法 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-07-04
(45)【発行日】2022-07-12
(54)【発明の名称】測距装置および較正パラメータの推定方法
(51)【国際特許分類】
   G01C 3/00 20060101AFI20220705BHJP
   G01C 3/06 20060101ALI20220705BHJP
【FI】
G01C3/00 120
G01C3/06 110V
G01C3/06 140
【請求項の数】 6
(21)【出願番号】P 2018034510
(22)【出願日】2018-02-28
(65)【公開番号】P2019148548
(43)【公開日】2019-09-05
【審査請求日】2020-12-14
(73)【特許権者】
【識別番号】000004695
【氏名又は名称】株式会社SOKEN
(73)【特許権者】
【識別番号】000004260
【氏名又は名称】株式会社デンソー
(73)【特許権者】
【識別番号】592032636
【氏名又は名称】学校法人トヨタ学園
(74)【代理人】
【識別番号】110000028
【氏名又は名称】弁理士法人明成国際特許事務所
(72)【発明者】
【氏名】石丸 和寿
(72)【発明者】
【氏名】大石 智之
(72)【発明者】
【氏名】テヘラニニキネジャド ホセイン
(72)【発明者】
【氏名】西 隆史
(72)【発明者】
【氏名】シュー ユーチュエン
(72)【発明者】
【氏名】三田 誠一
【審査官】眞岩 久恵
(56)【参考文献】
【文献】特開2016-200557(JP,A)
【文献】特開2012-075060(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01C 3/00-3/32
(57)【特許請求の範囲】
【請求項1】
測距装置(100)であって、
第1撮像装置(10)によって対象物が撮像された第1画像と、第2撮像装置(20)によって前記対象物が撮像された第2画像とを取得する画像取得部(30)と、
前記第1画像および前記第2画像を較正するための較正パラメータを、前記第1画像および前記第2画像に共通する特徴の対応点の位置に基づき推定する較正パラメータ推定部(40)と、
推定された前記較正パラメータに基づき前記第1画像および前記第2画像を較正する画像較正部(60)と、
較正された前記第1画像および前記第2画像を用いて前記対象物までの距離を算出する距離算出部(70)と、
を備え、
前記較正パラメータ推定部(40)は、
前記較正パラメータおよび前記対応点の位置を更新しながら、前記較正パラメータの更新前後の変化量を表す項と、前記対応点の位置の更新前後の変化量を表す項と、を含む評価関数から算出される評価値を、繰り返し算出して最適化することにより、前記較正パラメータの推定を行い、
前記較正パラメータ推定部は、前記較正パラメータとして、少なくとも回転パラメータと並進パラメータとを推定する、
測距装置(100)。
【請求項2】
請求項1に記載の測距装置であって、
前記評価関数は、前記第1撮像装置および前記第2撮像装置の位置の一致度を表す項を含む、測距装置。
【請求項3】
請求項1または請求項2に記載の測距装置であって、
前記較正パラメータ推定部は、前記較正パラメータの初期値として、前記測距装置の工場出荷時の値、前記較正パラメータの設計値、または、前記測距装置が搭載された車両の走行中に推定された較正パラメータの値、を用いる、測距装置。
【請求項4】
請求項1から請求項までのいずれか一項に記載の測距装置であって、
前記較正パラメータ推定部は、前記測距装置が搭載された車両が静止しているとき、または、前記測距装置が搭載された車両において前記距離算出部によって算出された前記距離が用いられる運転制御が実行されていない走行中に、前記較正パラメータの推定を実行する、測距装置。
【請求項5】
請求項1から請求項までのいずれか一項に記載の測距装置であって、
前記較正パラメータ推定部は、今回推定された較正パラメータと、前回推定された較正パラメータとの差が、予め定めた許容範囲外の場合に、今回推定された較正パラメータを破棄する、測距装置。
【請求項6】
測距装置における較正パラメータの推定方法であって、
(a)第1撮像装置によって対象物が撮像された第1画像と、第2撮像装置によって前記対象物が撮像された第2画像とを取得する工程と、
(b)前記第1画像および前記第2画像を較正するための較正パラメータを、前記第1画像および前記第2画像に共通する特徴の対応点の位置に基づき推定する工程と、を備え、
前記工程(b)では、
前記較正パラメータおよび前記対応点の位置を更新しながら、前記較正パラメータの更新前後の変化量を表す項と、前記対応点の位置の更新前後の変化量を表す項と、を含む評価関数から算出される評価値を、繰り返し算出して最適化することにより、前記較正パラメータの推定を行い、
前記較正パラメータとして、少なくとも回転パラメータと並進パラメータとを推定する、
推定方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、測距装置および較正パラメータの推定方法に関する。
【背景技術】
【0002】
近年、車両の自動運転制御において、複数の撮像装置を用いて対象物までの距離を測定する測距装置が用いられている。例えば、特許文献1には、2つの撮像装置によって撮像された2つの画像に基づき、カメラパラメータ(内部パラメータ、外部パラメータ、歪み係数)を較正(キャリブレーション)する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2012-75060号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
車両の自動運転制御では、測距された距離は、車両の緊急ブレーキや車間距離の調整等に利用されるため、測定誤差は小さい方が好ましい。そのため、測距装置に備えられた撮像装置を精度良く較正することのできる技術が求められている。このような課題は、自動運転制御用の測距装置に限らず、他の用途に用いられる測距装置にも共通した課題である。
【課題を解決するための手段】
【0005】
本開示は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態として実現することが可能である。
【0006】
本開示の一形態によれば、測距装置(100)が提供される。この測距装置(100)は、第1撮像装置(10)によって対象物が撮像された第1画像と、第2撮像装置(20)によって前記対象物が撮像された第2画像とを取得する画像取得部(30)と;前記第1画像および第2画像を較正するための較正パラメータを、前記第1画像および前記第2画像に共通する特徴の対応点の位置に基づき推定する較正パラメータ推定部(40)と;推定された前記較正パラメータに基づき前記第1画像および前記第2画像を較正する画像較正部(60)と;較正された前記第1画像および前記第2画像を用いて前記対象物までの距離を算出する距離算出部(70)と;を備える。そして、前記較正パラメータ推定部(40)は、前記較正パラメータおよび前記対応点の位置を更新しながら、前記較正パラメータの更新前後の変化量を表す項と、前記対応点の位置の更新前後の変化量を表す項と、を含む評価関数から算出される評価値を、繰り返し算出して最適化することにより、前記較正パラメータの推定を行い、前記較正パラメータ推定部は、前記較正パラメータとして、少なくとも回転パラメータと並進パラメータとを推定することを特徴とする。
【0007】
この形態の制御装置によれば、較正パラメータだけではなく、第1画像および第2画像に共通する対応点の位置を更新しながら評価値を最適化して較正パラメータを推定するので、第1撮像装置および第2撮像装置によって撮像された画像を精度よく較正することができる。そのため、対象物までの距離を正確に測定することができる。
【0008】
本開示は、測距装置以外の種々の形態で実現することも可能である。例えば、較正パラメータの推定方法や測距方法、それらの方法を実現するためのコンピュータプログラム、コンピュータプログラムを記録した一時的でない有形の記録媒体等の形態で実現できる。
【図面の簡単な説明】
【0009】
図1】測距装置のブロック図。
図2】較正パラメータ推定処理のフローチャート。
図3】比較例における回転パラメータ(ピッチ)の推定結果を示すグラフ。
図4】比較例における回転パラメータ(ロール)の推定結果を示すグラフ。
図5】比較例における回転パラメータ(ヨー)の推定結果を示すグラフ。
図6】実施形態における回転パラメータ(ピッチ)の推定結果を示すグラフ。
図7】実施形態における回転パラメータ(ロール)の推定結果を示すグラフ。
図8】実施形態における回転パラメータ(ヨー)の推定結果を示すグラフ。
【発明を実施するための形態】
【0010】
A.第1実施形態:
A1.装置構成:
図1に示すように、本開示の第1実施形態における測距装置100は、画像取得部30と、較正パラメータ推定部40と、較正パラメータ記憶部50と、画像較正部60と、距離算出部70とを備える。測距装置100には、第1撮像装置10および第2撮像装置20が接続されている。測距装置100は、車両に搭載され、緊急ブレーキや車間距離の調整といった自動運転制御に用いられる。
【0011】
測距装置100は、CPUやRAM、不揮発性メモリ等を備えるコンピュータによって構成されている。CPUは、不揮発性メモリに記憶された制御プログラムをRAMにロードして実行することによって、画像取得部30、較正パラメータ推定部40、画像較正部60、距離算出部70、として機能する。これらの機能部は、各種の回路によってハードウェア的に実現されてもよい。較正パラメータ記憶部50は、不揮発性メモリ内に確保された記憶領域である。
【0012】
画像取得部30は、対象物200を異なる位置から撮像して得られた第1画像および第2画像を取得する。本実施形態では、画像取得部30は、第1撮像装置10から第1画像を取得し、第2撮像装置20から第2画像を取得する。第1撮像装置10は、第2撮像装置20の左側に配置されており、左側の画像(第1画像)を撮像する。第2撮像装置は、第1撮像装置10の右側に配置されており、右側の画像(第2画像)を撮像する。第1撮像装置10のことを左カメラともいい、第2撮像装置20のことを右カメラともいう。第1撮像装置10と第2撮像装置20とをあわせてステレオカメラともいう。
【0013】
較正パラメータ推定部40は、第1画像および第2画像を較正するための較正パラメータを、第1画像および第2画像に共通する特徴の対応点の位置に基づき推定する。較正パラメータとは、第1画像および第2画像の視差に基づき対象物200までの距離を測定可能とするために、これらの画像を補正(較正)するためのパラメータである。本実施形態では、第1撮像装置10および第2撮像装置20の内部パラメータ(焦点距離、画像中心、アスペクト比、スキュー)および歪み係数は既知であるものとし、較正パラメータとして、外部パラメータを推定する。外部パラメータとは、撮像装置の回転パラメータおよび並進パラメータのことをいう。外部パラメータは、回転方向に3自由度、並進方向に3自由度の計6自由度を有するパラメータである。
【0014】
本実施形態では、較正パラメータ推定部40は、較正パラメータおよび対応点の位置を更新しながら、較正パラメータの更新前後の変化量を表す項と、対応点の位置の更新前後の変化量を表す項と、を含む評価関数から算出される評価値を、繰り返し算出して最適化することにより、較正パラメータを推定する。評価関数や最適化の詳細については後で詳しく説明する。推定された較正パラメータは、較正パラメータ記憶部50に記憶される。
【0015】
画像較正部60は、較正パラメータ記憶部50に記憶された較正パラメータに基づき第1画像および第2画像を較正する。本実施形態において、「第1画像および第2画像を較正する」とは、後述する距離算出部70が、画像中に撮像された対象物200までの距離を算出可能なように、較正パラメータを用いて第1画像および第2画像の少なくとも一方を補正することをいい、第1画像のみを補正することと、第2画像のみを補正することと、第1画像および第2画像の両方を補正することと、のいずれかを含む。
【0016】
距離算出部70は、画像較正部60によって較正された第1画像および第2画像を用いて、これらの画像に共通して撮像された対象物200までの距離を算出する。距離の算出は、三角測量法によって行われる。三角測量法は周知の技術であるため、説明は省略する。距離算出部70によって算出された距離は、車両のECU(Electronic Control Unit)に出力され、緊急ブレーキや車間距離の調整といった自動運転制御に用いられる。
【0017】
A2.処理内容:
図2は、測距装置100によって実行される較正パラメータ推定処理のフローチャートである。この処理は、測距装置100の動作中に所定の周期で繰り返し実行される処理である。
【0018】
較正パラメータ推定処理が開始されると、まず、測距装置100は、現在が、較正パラメータの更新タイミングであるか否かを判断する(ステップS10)。本実施形態において、測距装置100は、10分経過するごとに更新タイミングであると判断する。その他、例えば、測距装置100は、測距装置100が搭載された車両が静止したタイミングや、測距装置100が搭載された車両において距離が用いられる運転制御が実行されていない走行中のタイミングに、較正パラメータの更新タイミングであると判断してもよい。
【0019】
測距装置100は、現在が、較正パラメータの更新タイミングではないと判断した場合には(ステップS10:No)、当該較正パラメータ推定処理を終了する。一方、現在が、較正パラメータの更新タイミングであると判断した場合には(ステップS10:Yes)、測距装置100は、較正パラメータの初期値を較正パラメータ記憶部50から読み込む(ステップS20)。較正パラメータの初期値とは、当該較正パラメータ推定処理が過去に実行済みであれば、前回の較正パラメータ推定処理において推定された値である。これに対して、当該較正パラメータ推定処理が過去に一度も実行されたことがなければ、当該測距装置100の工場出荷時に較正パラメータ記憶部50に記憶された値である。なお、当該較正パラメータ推定処理が過去に一度も実行されたことがない場合、工場出荷時に記憶された値ではなく、較正パラメータの設計値や、測距装置100が搭載された車両の走行中に当該較正パラメータ推定処理と同様の処理を実行して推定した仮の較正パラメータの値を初期値として用いてもよい。
【0020】
較正パラメータの初期値を読み込むと、測距装置100の画像取得部30が、第1撮像装置10から第1画像を取得するとともに、第2撮像装置20から第2画像を取得する(ステップS30)。第1画像と第2画像とは、同一のタイミングで第1撮像装置10および第2撮像装置20により撮像された画像である。
【0021】
これら2つの画像を取得すると、測距装置100の較正パラメータ推定部40が、2つの画像において同じ特徴を有する対応点を特定する(ステップS40)。本実施形態では、較正パラメータとして、6つの自由度を有する外部パラメータの推定を行うため、少なくとも5つの対応点を特定する。較正パラメータ推定部40は、対応点の特定の際に、RANSAC(Random Sampling Consensus)等のロバスト推定によって外れ値を除去してもよい。特徴点の抽出および対応点の特定は、周知の種々のアルゴリズムを用いて行うことが可能であり、手法は特に限定されない。
【0022】
較正パラメータ推定部40は、2つの画像から対応点を特定すると、較正パラメータおよび対応点の位置を更新しながら以下の式(1)によって表される評価関数(コスト関数ともいう)を用いて評価値EVを算出する(ステップS50)。較正パラメータ推定部40は、本実施形態では勾配法を用いて、この評価値EVが小さくなるように、較正パラメータおよび対応点を次々に更新することによって評価値を最適化して較正パラメータを求める。つまり、本実施形態では、較正パラメータの推定にあたり、較正パラメータだけではなく、対応点の位置も更新しながら、較正パラメータの推定を行う。なお、他の実施形態では、勾配法ではなく、レーベンバーグ・マーカート法等の最適化手法を用いてもよい。
【0023】
EV=|(更新後の対応点の位置)-(特定された対応点の位置)|
+|(更新後の較正パラメータ)-(較正パラメータの初期値)|
+|(第1撮像装置および第2撮像装置の位置の一致度)| ・・・(1)
【0024】
上記式(1)において、右辺の第1項は、対応点の位置の更新前後の変化量を表し、第2項は、較正パラメータの更新前後の変化量を表す。右辺の第3項は、左右カメラの幾何拘束ともいう。式(1)の詳細、および、これを用いた最適化の手法については後で詳しく説明する。
【0025】
較正パラメータ推定部40は、評価値EVを算出すると、最適化が完了したか否かを判断する(ステップS60)。較正パラメータ推定部40は、評価値EVの最小値が探索された場合、評価値EVが所定の閾値よりも小さくなった場合、または、上記ステップS50およびステップS60を繰り返し実行している時間が予め定められた時間を経過した場合に、最適化が完了したと判断する。較正パラメータ推定部40は、最適化が完了していないと判断した場合には(ステップS60:No)、処理をステップS50に戻して、評価値EVが小さくなるように、較正パラメータおよび対応点を更新する。
【0026】
較正パラメータ推定部40は、最適化が完了したと判断した場合には(ステップS60:Yes)、最適化が完了した時点での較正パラメータ、つまり、今回推定された較正パラメータと、ステップS20で読み込んだ初期値(前回推定された較正パラメータ)とを比較して、その差が予め定めた許容範囲内であるか否かを判断する(ステップS70)。
【0027】
較正パラメータ推定部40は、今回と前回の較正パラメータの差が許容範囲外であると判断した場合には(ステップS70:No)、今回推定された較正パラメータを破棄する(ステップS80)。従って、この場合、較正パラメータ記憶部50には、過去に推定された較正パラメータがそのまま保存された状態になる。これに対して、較正パラメータ推定部40は、較正パラメータの変化が許容範囲内であると判断すれば(ステップS70:Yes)、較正パラメータ記憶部50に記憶されている過去の較正パラメータを消去して、最適化が完了した時点における較正パラメータを較正パラメータ記憶部50に保存する(ステップS90)。以上で説明した一連の処理によって較正パラメータ推定処理は終了する。
【0028】
A3.最適化の詳細:
以下では、上述した評価関数を用いた最適化について説明する。第1撮像装置10(左カメラ)のカメラ座標系の位置(u,v)と、実空間上の位置(X,Y,Z)との対応関係は、次の式(2)によって表される。Kは、第1撮像装置10の内部パラメータであり、本実施形態では定数である。また、Iは単位行列である。
【0029】
【数1】
【0030】
第2撮像装置20(右カメラ)のカメラ座標系の位置(u,u)と、実空間上の位置(X,Y,Z)との対応関係は、次の式(3)によって表される。Kは、第2撮像装置20の内部パラメータであり、本実施形態では定数である。このKは、第1撮像装置10のKと同じ値でもよいし、異なる値でもよい。[R,T]は外部パラメータであり、Rは、回転パラメータ(rx,ry,rz)を表し、Tは並進パラメータ(tx,ty,tz)を表す。なお、rxをピッチ、ryをヨー、rzをロールともいう。
【0031】
【数2】
【0032】
上記式(2)および上記(3)より、次の式(4)が求められ、式(4)は、式(5)のように表すことができる。
【0033】
【数3】
【0034】
【数4】
【0035】
そして、式(5)は、次の式(6)(7)として表される。
【0036】
【数5】
【0037】
ここで、左画像(第1画像)の座標と、右画像(第2画像)の座標との対応関係は、次の式(8)によって表される。本実施形態ではKは既知であるため、外部パラメータ[R,t]が決定されれば、距離算出部70は、対象物200の右画像における座標と左画像における座標から、その奥行き方向の位置Zを算出できる。
【0038】
(右画像の座標)=Z*K*[R,t]*(左画像の座標) ・・・(8)
【0039】
上記式(1)によって表される評価関数の右辺は、上記式(6)および式(7)により、以下の式(9)のように表すことができる。
【0040】
【数6】
【0041】
式(9)の第1項、第2項、第3項は、式(1)の右辺の第1項、第2項、第3項に対応する。つまり、第1項は、対応点の位置の更新前後の変化量を表し、第2項は、較正パラメータの更新前後の変化量を表し、第3項は、第1撮像装置および第2撮像装置の位置の一致度を表す。ただし、式(9)では、式(1)の評価関数における第3項の影響度を任意に設定可能とするため、任意の定数λを導入している。
【0042】
上記式(9)の第3項の括弧内をx座標とy座標とに分離して考える。x座標については、以下の式(10)によって、コスト関数cost1として表され、y座標については、以下の式(11)によって、コスト関数cost2として表される。
【0043】
cost1 = ty - v2*(tz + Z*v1*sin(rx) + Z*cos(rx)*cos(ry) - Z*u1*cos(rx)*sin(ry)) + Z*(sin(ry)*sin(rz) - cos(ry)*cos(rz)*sin(rx)) + Z*u1*(cos(ry)*sin(rz) + cos(rz)*sin(rx)*sin(ry)) + Z*v1*cos(rx)*cos(rz) ・・・(10)
【0044】
cost2 = Z*(cos(rz)*sin(ry) + cos(ry)*sin(rx)*sin(rz)) - u2*(tz + Z*v1*sin(rx) + Z*cos(rx)*cos(ry) - Z*u1*cos(rx)*sin(ry)) - tx + Z*u1*(cos(ry)*cos(rz) - sin(rx)*sin(ry)*sin(rz)) - Z*v1*cos(rx)*sin(rz) ・・・(11)
【0045】
x座標についての回転パラメータの傾き(grx1,gry1,grz1)および並進パラメータの傾き(gtx1,gty1,gtz1)は、以下のように表される。
【0046】
grx1 = Z*u1*cos(rx)*cos(rz)*sin(ry) - Z*cos(rx)*cos(ry)*cos(rz) - Z*v1*cos(rz)*sin(rx) - v2*(Z*v1*cos(rx) - Z*cos(ry)*sin(rx) + Z*u1*sin(rx)*sin(ry));
gry1 = Z*(cos(ry)*sin(rz) + cos(rz)*sin(rx)*sin(ry)) + v2*(Z*cos(rx)*sin(ry) + Z*u1*cos(rx)*cos(ry)) - Z*u1*(sin(ry)*sin(rz) - cos(ry)*cos(rz)*sin(rx));
grz1 = Z*(cos(rz)*sin(ry) + cos(ry)*sin(rx)*sin(rz)) + Z*u1*(cos(ry)*cos(rz) - sin(rx)*sin(ry)*sin(rz)) - Z*v1*cos(rx)*sin(rz);
gtx1 = 0;
gty1 =1;
gtz1 =-v2;
【0047】
また、y座標についての回転パラメータの傾き(grx2,gry2,grz2)および並進パラメータの傾き(gtx2,gty2,gtz2)は、以下のように表される。
【0048】
grx2 = Z*cos(rx)*cos(ry)*sin(rz) - u2*(Z*v1*cos(rx) - Z*cos(ry)*sin(rx) + Z*u1*sin(rx)*sin(ry)) + Z*v1*sin(rx)*sin(rz) - Z*u1*cos(rx)*sin(ry)*sin(rz);
gry2 = Z*(cos(ry)*cos(rz) - sin(rx)*sin(ry)*sin(rz)) + u2*(Z*cos(rx)*sin(ry) + Z*u1*cos(rx)*cos(ry)) - Z*u1*(cos(rz)*sin(ry) + cos(ry)*sin(rx)*sin(rz));
grz2 = - Z*(sin(ry)*sin(rz) - cos(ry)*cos(rz)*sin(rx)) - Z*u1*(cos(ry)*sin(rz) + cos(rz)*sin(rx)*sin(ry)) - Z*v1*cos(rx)*cos(rz);
gtx2 = -1;
gty2 = 0;
gtz2 = -u2;
【0049】
x座標についての対応点の傾きは、以下のように表される。
【0050】
g1u1 = Z*(cos(ry)*sin(rz) + cos(rz)*sin(rx)*sin(ry)) + Z*v2*cos(rx)*sin(ry);
g1v1 = Z*cos(rx)*cos(rz) - Z*v2*sin(rx);
g1u2 = 0;
g1v2 = Z*u1*cos(rx)*sin(ry) - Z*v1*sin(rx) - Z*cos(rx)*cos(ry) - tz;
【0051】
また、y座標についての対応点の傾きは、以下のように表される。
【0052】
g2u1 = Z*(cos(ry)*cos(rz) - sin(rx)*sin(ry)*sin(rz)) + Z*u2*cos(rx)*sin(ry);
g2v1 = - Z*u2*sin(rx) - Z*cos(rx)*sin(rz);
g2u2 = Z*u1*cos(rx)*sin(ry) - Z*v1*sin(rx) - Z*cos(rx)*cos(ry) - tz;
g2v2 = 0;
【0053】
対応点i毎の回転・並進パラメータの傾きは以下のように表される。ただし、lambda1は定数であり、rx0,ry0,rz0,tx0,ty0,tz0は、回転・並進パラメータの初期値(前回値)である。
【0054】
grx(i) = (grx1*cost1+grx2*cost2)/Z/Z+lambda1*(rx-rx0);
gry(i) = (gry1*cost1+gry2*cost2)/Z/Z+lambda1*(ry-ry0);
grz(i) = (grz1*cost1+grz2*cost2)/Z/Z+lambda1*(rz-rz0);
gtx(i) = (gtx1*cost1+gtx2*cost2)/abs(Z)+lambda1*(tx-tx0);
gty(i) = (gty1*cost1+gty2*cost2)/abs(Z)+lambda1*(ty-ty0);
gtz(i) = (gtz1*cost1+gtz2*cost2)/abs(Z)+lambda1*(tz-tz0);
【0055】
また、対応点i毎の位置の傾きは以下のように算出される。ただし、lambda2は定数であり、u10(i),v10(i),u20(i),v20(i)は、対応点iごとの位置の初期値(前回値)である。
【0056】
gu1(i) = (g1u1*cost1+g2u1*cost2)/abs(Z)+lambda2*(u1-u10(i));
gv1(i) = (g1v1*cost1+g2v1*cost2)/abs(Z)+lambda2*(v1-v10(i));
gu2(i) = (g1u2*cost1+g2u2*cost2)/abs(Z)+lambda2*(u2-u20(i));
gv2(i) = (g1v2*cost1+g2v2*cost2)/abs(Z)+lambda2*(v2-v20(i));
【0057】
こうして対応点毎に求めた傾きの平均値(mean())に定数lr1,lr2を乗じて、回転・並進パラメータと、対応点の位置とを更新する。ただし、fは焦点距離である。
【0058】
rx = rx-lr1*mean(grx);
ry = ry-lr1*mean(gry);
rz = rz-lr1*mean(grz);
tx = tx-lr1*mean(gtx)/10;
ty = ty-lr1*mean(gty)/10;
tz = tz-lr1*mean(gtz)/1000;
pt1(i,1) = pt1(i,1)-lr2./300*f.*gu1(i);
pt1(i,2) = pt1(i,2)-lr2./300*f.*gv1(i);
pt2(i,1) = pt2(i,1)-lr2./300*f.*gu2(i);
pt2(i,2) = pt2(i,2)-lr2./300*f.*gv2(i);
【0059】
なお、画像の左上が原点の座標であるpt1,pt2と、カメラの焦点中心が原点の座標であるu1,v1,u2,v2の関係は以下のとおりである。ただし、cx,cyは焦点中心の座標,fは焦点距離である。
【0060】
u1(i) = (pt1(i,1)-cx)/f;
v1(i) = (pt1(i,2)-cy)/f;
u2(i) = (pt2(i,1)-cx)/f;
v2(i) = (pt2(i,2)-cy)/f;
【0061】
本実施形態では、上記各計算式を用いて、回転・並進パラメータおよび対応点の位置を更新しつつ、上記式(9)を用いて評価値EVを最小化するように最適化していくことで、回転・並進パラメータおよび対応点の位置を真値に近づけるよう推定する。なお、上述した各式における定数(lambda1,lambda2,lr1,lr2)は、各パラメータの更新前後において値を大きく変動させないための定数であり、値は、実験に基づき任意に設定可能である。
【0062】
A4.実施形態の効果:
図3図5には、上記式(1)の評価関数から第1項を省略して回転パラメータをフレーム毎に推定した結果を比較例として示し、図6図8には、上記式(1)の評価関数を用いて回転パラメータをフレーム毎に推定した結果を示している。図3図6には、第1撮像装置10と第2撮像装置20とでピッチが一定値ずれている場合の推定結果を示し、図4,7には、第1撮像装置10と第2撮像装置20とでロールが一定値ずれている場合の推定結果を示している。また、図5,8には、第1撮像装置10と第2撮像装置20とでヨーが一定値ずれている場合の推定結果を示している。
【0063】
図3図5図6図8とを対比して明らかなように、式(1)の第1項、すなわち、対応点の位置の更新前後の変化量を評価関数に含めて回転パラメータを推定したところ、対応点の位置の更新前後の変化量を含めずに回転パラメータを推定した比較例よりも、推定値の変動が格段に小さくなった。これは、対応点の位置には特徴点の抽出過程や座標上の点とするための端数処理において誤差あるいはノイズが含まれることがあるが、本実施形態では、このような誤差やノイズを含む可能性のある対応点の位置についても真値になるように評価値が最適化されるため、較正パラメータを精度よく推定できるからである。
【0064】
以上で説明したように、本実施形態の測距装置100によれば、較正パラメータだけではなく、対応点の位置を更新しながら評価値を最適化して較正パラメータを推定するので、較正パラメータを精度よく求めることができる。そのため、第1撮像装置10および第2撮像装置20によって撮像された画像を精度よく較正することができ、対象物までの距離を正確に測定することができる。また、本実施形態では、第1撮像装置10および第2撮像装置20の位置の一致度をも用いて最適化を行うため、より精度よく較正パラメータを推定することができる。さらに、本実施形態では、推定された較正パラメータが許容範囲外である場合に、その値を破棄するため、より精度よく距離を測定することができる。
【0065】
B.他の実施形態:
本開示は、上述の実施形態に限られるものではなく、その趣旨を逸脱しない範囲において種々の形態で実現することができる。例えば、以下のような形態が可能である。
【0066】
(B-1)上記実施形態では、測距装置100は車両に搭載されるものとして説明したが、測距装置100は、車両に限らず、他の移動体や他の測定装置に搭載されてもよい。
【0067】
(B-2)上記実施形態では、較正パラメータとして外部パラメータの推定を行った。これに対して、較正パラメータ推定部40は、外部パラメータにとともに、内部パラメータや歪み係数を推定してもよく、画像較正部60はそれらのパラメータを用いて画像を較正してもよい。
【0068】
(B-3)上記実施形態において式(1)によって表される評価関数は、第1項~第3項以外にも他の項を含んでもよい。また、第1項~第3項のうち、例えば、第3項を省略してもよい。
【0069】
(B-4)上記実施形態では、較正パラメータ推定部40は、図2に示したステップS70~S80において、今回と前回の較正パラメータの差が許容範囲内でなければ、較正パラメータを破棄するものとした。しかし、この処理は省略可能である。また、例えば、較正パラメータ推定部40は、ステップS70~S80の処理を、初回の較正パラメータ推定処理のみスキップしてもよい。こうすることにより、初回の較正パラメータ推定処理では、工場出荷時の初期値から離れた値が推定された場合でも、その値により初期値を強制的に更新することができる。
【符号の説明】
【0070】
10 第1撮像装置、20 第2撮像装置、30 画像取得部、40 較正パラメータ推定部、50 較正パラメータ記憶部、60 画像較正部、70 距離算出部、100 測距装置、200 対象物
図1
図2
図3
図4
図5
図6
図7
図8