JP2020201586A - 撮像装置、車両及びプログラム - Google Patents

撮像装置、車両及びプログラム Download PDF

Info

Publication number
JP2020201586A
JP2020201586A JP2019106319A JP2019106319A JP2020201586A JP 2020201586 A JP2020201586 A JP 2020201586A JP 2019106319 A JP2019106319 A JP 2019106319A JP 2019106319 A JP2019106319 A JP 2019106319A JP 2020201586 A JP2020201586 A JP 2020201586A
Authority
JP
Japan
Prior art keywords
orientation
image
feature points
control unit
images
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.)
Pending
Application number
JP2019106319A
Other languages
English (en)
Inventor
教志 篠▲崎▼
Noriyuki Shinozaki
教志 篠▲崎▼
正敏 奥富
Masatoshi Okutomi
正敏 奥富
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.)
Kyocera Corp
Original Assignee
Kyocera Corp
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 Kyocera Corp filed Critical Kyocera Corp
Priority to JP2019106319A priority Critical patent/JP2020201586A/ja
Publication of JP2020201586A publication Critical patent/JP2020201586A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Studio Devices (AREA)
  • Image Analysis (AREA)

Abstract

【課題】改善された、撮像装置、車両及びプログラムを提供する。【解決手段】撮像装置は、相対的な位置姿勢が定められた左カメラ及び右カメラと、制御部とを備える。制御部は、位置姿勢が未推定である画像等に基づいて、該未推定である画像に対応する位置姿勢を推定し、該対応する特徴点を復元して復元点を取得する追加の推定処理をする。制御部は、追加の推定処理を繰り返し実行した後、バンドル調整により該推定済みの位置姿勢を最適化し、最適化後の位置姿勢に基づいて、左カメラと右カメラとの間の相対的な位置姿勢の推定処理をする。制御部は、追加の推定処理において、新たに位置姿勢が推定された画像に含まれる復元済みの特徴点に対応する特徴点の位置と、該復元済みの特徴点により復元された復元点の該画像への再投影点の位置との間の距離が閾値以上である場合、位置姿勢の推定処理において、該復元点を、該画像に対応する復元点として扱わない。【選択図】図6

Description

本開示は、撮像装置、車両及びプログラムに関する。
近年、先進運転支援システム(ADAS;Advance Driving Assistant System)のセンサの1つとして、ステレオカメラが利用されている。このようなステレオカメラをキャリブレーションする方法が知られている(例えば、非特許文献1)。
洞山 慶太、他2名、"2時刻間のカメラ運動推定を伴うステレオセルフキャリブレーション"、第24回画像センシングシンポジウム(SSII2018)、pp.SO1−IS1−29−1−3、2018年6月
従来のステレオカメラには、改善の余地がある。
かかる点に鑑みてなされた本開示の目的は、改善された、撮像装置、車両及びプログラムを提供することにある。
本開示の一実施形態に係る撮像装置は、
相対的な位置姿勢が定められた左カメラ及び右カメラと、制御部とを備え、
前記制御部は、
移動中の前記左カメラ及び前記右カメラが時系列的に生成した複数の画像から特徴点を抽出し、前記複数の画像において対応する特徴点を特定し、
前記複数の画像の中の2つの画像に含まれる前記特徴点の一部に基づいて前記2つの画像に対応する位置姿勢を推定し、推定した前記位置姿勢に基づいて前記2つの画像に含まれる前記特徴点を復元して復元点を取得する1回目の推定処理をし、
位置姿勢が未推定である前記画像と、該未推定である画像に含まれる前記復元した特徴点に対応する特徴点の少なくとも一部とに基づいて、該未推定である画像に対応する位置姿勢を推定し、推定した位置姿勢に基づいて該対応する特徴点を復元して復元点を取得する追加の推定処理をし、
前記追加の推定処理を繰り返し実行した後、前記複数の画像の少なくとも一部の画像に対応する推定済みの位置姿勢と、該少なくとも一部の画像に対応する前記復元点とに基づいて、バンドル調整により該推定済みの位置姿勢を最適化し、最適化後の位置姿勢に基づいて、前記左カメラと右カメラとの間の相対的な位置姿勢の推定処理をし、
前記追加の推定処理において、新たに位置姿勢が推定された画像に含まれる復元済みの特徴点に対応する特徴点の位置と、該復元済みの特徴点により復元された復元点の該画像への再投影点の位置との間の距離が閾値以上である場合、該復元点を、前記位置姿勢の推定処理において、該画像に対応する復元点として扱わない。
本開示の一実施形態に係る車両は、上述の撮像装置を備える。
上述したように本開示の解決手段を装置として説明してきたが、本開示は、これらを含む態様としても実現し得るものであり、また、これらに実質的に相当する方法、プログラム、プログラムを記録した記憶媒体としても実現し得るものであり、本開示の範囲にはこれらも包含されるものと理解されたい。
本開示の一実施形態に係るプログラムは、
移動中の相対的な位置姿勢が定められた左カメラ及び右カメラが時系列的に生成した複数の画像から特徴点を抽出し、前記複数の画像において対応する特徴点を特定するステップと、
前記複数の画像の中の2つの画像に含まれる前記特徴点の一部に基づいて前記2つの画像に対応する位置姿勢を推定し、推定した前記位置姿勢に基づいて前記2つの画像に含まれる前記特徴点を復元して復元点を取得する1回目の推定処理をするステップと、
位置姿勢が未推定である前記画像と、該未推定である画像に含まれる前記復元した特徴点に対応する特徴点の少なくとも一部とに基づいて、該未推定である画像に対応する位置姿勢を推定し、推定した位置姿勢に基づいて該対応する特徴点を復元して復元点を取得する追加の推定処理をするステップと、
前記追加の推定処理をするステップを繰り返し実行した後、前記複数の画像の少なくとも一部の画像に対応する推定済みの位置姿勢と、該少なくとも一部の画像に対応する前記復元点とに基づいて、バンドル調整により該推定済みの位置姿勢を最適化し、最適化後の位置姿勢に基づいて、前記左カメラと右カメラとの間の相対的な位置姿勢の推定処理をするステップと、
前記追加の推定処理をするステップにおいて、新たに位置姿勢が推定された画像に含まれる復元済みの特徴点に対応する特徴点の位置と、該復元済みの特徴点により復元された復元点の該画像への再投影点の位置との間の距離が閾値以上である場合、該復元点を、前記位置姿勢の推定処理において、該画像に対応する復元点として扱わないステップと、を装置に実行させる。
本開示の一実施形態によれば、改善された、撮像装置、車両及びプログラムが提供され得る。
本開示の第1実施形態に係る車両の機能ブロック図である。 本開示の第1実施形態に係る特徴点の一例を示す図である。 本開示の第1実施形態に係る対応する特徴点の一例を示す図である。 本開示の第1実施形態に係る撮像装置の処理の流れを示すフローチャートである。 本開示の第2実施形態に係る被写体の一例を示す図である。 本開示の第2実施形態に係る対応する特徴点の一例を示す図である。 本開示の第2実施形態に係る画像に対応する復元点の一例を示す図である。 本開示の第2実施形態に係る撮像装置の処理の流れを示すフローチャートである(その1)。 本開示の第2実施形態に係る撮像装置の処理の流れを示すフローチャートである(その2)。
ステレオカメラは、相対的な位置姿勢が互いに定められた、複数のカメラを含む。本開示において「カメラの位置姿勢」とは、ワールド座標系において、基準となる位置に対するカメラの位置、及び、基準となる方向に対するカメラの傾き(姿勢)を意味する。カメラの位置姿勢は、外部パラメータともいう。本開示において「ワールド座標系」とは、ステレオカメラの外部の三次元空間に基づいて設定された座標系を意味する。
ステレオカメラは、相対的な位置姿勢が互いに定められた複数のカメラにより、被写体を異なる方向から、同時に撮像可能である。つまり、ステレオカメラは、被写体を異なる方向から同時に撮像して複数の画像を生成可能である。この複数の画像から求めた視差と、複数のカメラ間の相対的な位置姿勢とを用いた、三角測量の原理を利用することにより、被写体までの方向及び距離が測定され得る。
ステレオカメラを先進運転支援システムのセンサの1つとして用いる場合、ステレオカメラは、車両に搭載される。ステレオカメラを車両に搭載させる場合、ステレオカメラに含まれる複数のカメラ間の相対的な位置姿勢は、車両の走行時の振動、温度及び経年劣化により、ずれる場合がある。そのため、ステレオカメラを車両に搭載させる場合、ステレオカメラを定期的にキャリブレーションすることが求められる。本開示において「キャリブレーション」とは、ステレオカメラに含まれる複数のカメラ間の実際の相対的な位置姿勢を推定することである。ステレオカメラに含まれる複数のカメラ間の実際の相対的な位置姿勢を推定することにより、推定した位置姿勢に基づいて、複数のカメラが生成した複数の画像から求めた視差を補正することができる。
ここで、ステレオカメラをキャリブレーションする方法の一例として、オフラインキャリブレーション及びセルフキャリブレーション等が挙げられる。
オフラインキャリブレーションでは、チャッカーボード等の専用器具を用いて、複数のカメラ間の相対的な位置姿勢が推定される。オフラインモードでは専用器具を用いる必要があるため、オフラインキャリブレーションを車両に搭載されたステレオカメラに対して実行する場合、その際の作業は煩雑となり得る。
これに対し、セルフキャリブレーションでは、移動中にステレオカメラが生成した複数の画像を用いて、複数のカメラ間の相対的な位置姿勢が推定される。つまり、ステレオカメラを車両に搭載させる場合、セルフキャリブレーションでは、車両の走行中にステレオカメラが生成した複数の画像を、移動中にステレオカメラが生成した複数の画像として用い、複数のカメラ間の相対的な位置姿勢を推定することができる。そのため、セルフキャリブレーションは、車両に搭載されたステレオカメラに対して、比較的容易に実行され得る。
本開示では、ステレオカメラに含まれる複数のカメラ間の相対的な位置姿勢を、より精度良く推定可能な、セルフキャリブレーションを実行する撮像装置及び車両を提供する。複数のカメラ間の相対的な位置姿勢をより精度良く推定可能なセルフキャリブレーションを実行する撮像装置及び車両を提供することにより、本開示は、被写体までの方向及び距離をより精度良く測定することができる。従って、本開示によれば、改善された、撮像装置及び車両が提供され得る。以下、本開示の一実施形態について、図面を参照して説明する。
(第1実施形態)
図1に示すように、車両1は、電子機器2と、撮像装置3とを備える。車両1は、限定ではないが、自動車、鉄道車両、産業車両又は生活車両等であってよい。
電子機器2は、車両1に搭載される機器である。電子機器2は、ECU(Electronic Control Unit)であってよい。電子機器2は、撮像装置3と通信可能である。電子機器2は、撮像装置3から、他車両及び歩行者等の被写体までの方向及び距離を取得する。電子機器2は、取得した被写体までの方向及び距離に基づいて、ブレーキを制御する信号等を生成してよい。
撮像装置3は、車両1の外部の被写体を撮像可能な位置に設置され得る。撮像装置3は、限定ではないが、車両1の前方の周辺領域を撮像可能な位置に搭載されてよい。撮像装置3は、先進運転支援システムのセンサの1つとして、車両1に搭載されてよい。撮像装置3は、電子機器2と通信可能である。
撮像装置3は、左カメラ10と、右カメラ11と、記憶部12と、通信部13と、制御部14とを備える。以下、左カメラ10と右カメラ11とを特に区別しない場合、左カメラ10及び右カメラ11は、単に「カメラ」とも記載する。撮像装置3は、2台のカメラを備える。ただし、撮像装置3は、3台以上のカメラを備えてよい。
左カメラ10は、車両1の前方に向かって左側に位置する。右カメラ11は、車両1の前方に向かって右側に位置する。左カメラ10及び右カメラ11の各々は、制御部14の制御に基づいて、被写体を撮像して画像を生成する。左カメラ10及び右カメラ11の各々は、生成した画像を、制御部14に出力する。左カメラ10及び右カメラ11の各々は、光学系及び撮像素子を含んで構成されてよい。光学系は、レンズ等を含んで構成され得る。光学系は、被写体の像を結像可能である。撮像素子は、CCD(Charge Coupled Device)撮像素子又はCMOS(Complementary Metal Oxide Semiconductor)撮像素子等を含んでよい。撮像素子は、光学系が結像した像に相当する撮像画像(画像)を出力する。
左カメラ10及び右カメラ11は、例えば互いに固定されることにより、相対的な位置姿勢が互いに定められている。本実施形態では、左カメラ10の位置姿勢[R|t]を基準として、右カメラ11の位置姿勢[R|t]が定められている。R及びRの各々は、ワールド座標系における左カメラ10及び右カメラ11の各々の姿勢である。t及びtの各々は、ワールド座標系における左カメラ10及び右カメラ11の各々の位置である。例えば、右カメラ11の位置姿勢[R|t]は、左カメラ10の位置姿勢[R|t]を基準として、式(1)によって定められる。
α=R
β=t 式(1)
式(1)において、変換式αは、左カメラ10から右カメラ11への回転の変換式である。変換式βは、左カメラ10から右カメラ11への並進の変換式である。本実施形態では、回転の変換式αと並進の変換式βとによって、左カメラ10と右カメラ11との間の互いに定められた相対的な位置姿勢が示される。変換式α及び変換式βの初期値は、撮像装置3の設計時又は撮像装置3の製造時におけるオフラインキャリブレーション時に、与えられ得る。本実施形態では、左カメラ10と右カメラ11との間の相対的な位置関係として、変換式α及び変換式βを用いることにより、被写体までの方向及び距離が測定され得る。
左カメラ10と右カメラ11との間の相対的な位置姿勢すなわち式(1)の変換式α及び変換式βは、車両1の走行時の振動、温度及び経年劣化により、初期値から、ずれる場合がある。左カメラ10と右カメラ11との間の相対的な位置姿勢がずれると、被写体までの方向及び距離を精度良く測定できなくなる。本実施形態に係る撮像装置3は、後述のセルフキャリブレーションを実行することにより、左カメラ10及び右カメラ11の現在の位置姿勢を推定して、新たな変換式α及び変換式βを取得する。本実施形態に係る撮像装置3は、新たな変換式α及び変換式βを取得することにより、被写体までの方向及び距離を精度良く測定することができる。
記憶部12は、例えば、RAM(Random Access Memory)及びROM(Read Only Memory)等、任意の記憶デバイスを含む。記憶部12は、制御部14を機能させる多様なプログラム及び制御部14が用いる多様な情報を記憶する。
記憶部12は、式(1)の変換式α及び変換式βを記憶する。記憶部12は、左カメラ10及び右カメラ11の内部パラメータを記憶する。本開示において「カメラの内部パラメータ」は、カメラの焦点距離、及び、カメラが生成した画像における二次元座標(以下、「画像座標系」ともいう)の画像中心を含んでよい。本実施形態では、左カメラ10及び右カメラ11の内部パラメータは、固定値である。
通信部13は、有線又は無線により、電子機器2と通信可能である。通信部13は、無線により、サーバ等の外部機器と通信可能であってよい。通信部13は、物理コネクタ及び無線通信モジュールを含んで構成されてよい。物理コネクタは、電気信号による伝送に対応した電気コネクタ、光信号による伝送に対応した光コネクタ、及び、電磁波による伝送に対応した電磁コネクタを含んでよい。無線通信モジュールは、Bluetooth(登録商標)及びIEEE802.11を含む各規格に準拠するものであってよい。無線通信モジュールは、少なくとも1つのアンテナを含み得る。
制御部14は、一以上のプロセッサ及びメモリを含む。プロセッサは、特定のプログラムを読み込ませて特定の機能を実行する汎用のプロセッサ、及び、特定の処理に特化した専用のプロセッサを含んでよい。専用のプロセッサは、特定用途向けIC(ASIC;Application Specific Integrated Circuit)を含んでよい。プロセッサは、プログラマブルロジックデバイス(PLD;Programmable Logic Device)を含んでよい。PLDは、FPGA(Field-Programmable Gate Array)を含んでよい。制御部14は、1つ又は複数のプロセッサが協働するSoC(System-on-a-Chip)及びSiP(System In a Package)の何れかであってもよい。
制御部14は、通信部13によって外部機器又は電子機器2から、被写体までの方向及び距離の測定指令を取得する。制御部14は、測定指令を取得すると、左カメラ10及び右カメラ11に、被写体の画像を同時に生成させる。制御部14は、これらの画像から被写体の視差及び画像座標系における被写体の位置を取得する。制御部14は、取得した視差及び画像座標系における被写体の位置と、式(1)の変換式α,βと、カメラの外部パラメータと、後述の内部パラメーラとに基づいて、被写体までの方向及び距離を測定する。制御部14は、測定した被写体までの方向及び距離を、通信部13によって外部機器又は電子機器2に、出力する。
[セルフキャリブレーション]
制御部14は、通信部13によって外部機器又は電子機器2から、キャリブレーション指令を取得し得る。キャリブレーション指令は、外部機器又は電子機器2から、撮像装置3へ例えば定期的に送信され得る。なお、制御部14は、キャリブレーション指令を取得する代わりに、自身の機能により定期的にキャリブレーションを実行してよい。本実施形態では、制御部14は、SfM(Structure from Motion)を利用して、セルフキャリブレーションを実行する。SfMとは、複数の画像を用いて、後述の復元点の三次元座標及びカメラの位置姿勢を推定する手法である。
制御部14は、キャリブレーション指令を取得すると、通信部13によって電子機器2から、車両1の移動情報を取得する。車両1の移動情報は、電子機器2が測定した車両1の速度等を含んでよい。制御部14は、車両1の移動情報に基づいて、車両1が移動中であるか否か判定する。例えば、制御部14は、電子機器2から取得した車両1の速度が、所定値を超えると判定するとき、車両1が移動中であると判定する。又は、制御部14は、車両1の移動情報の代わりに、車両1が移動中であることを示す情報を、通信部13によって電子機器2から取得してよい。車両1が移動中であることを示す情報は、電子機器2が測定した車両1の速度に基づいて電子機器2のECUが判断した車両1が移動中であることを示す情報である。
制御部14は、車両1が移動中であると判定すると、左カメラ10及び右カメラ11に、複数の画像を時系列的に生成させる。本実施形態では、制御部14は、左カメラ10及び右カメラ11に、所定フレーム数の画像を、複数の画像として生成させる。制御部14は、左カメラ10及び右カメラ11に、被写体までの方向及び距離の測定時と同一又は異なる所定フレームレート(fps;frames per second)で画像を生成させてよい。制御部14は、左カメラ10及び右カメラ11が生成した各画像を識別する番号を付加する。
制御部14は、移動中の左カメラ10及び右カメラ11が時系列的に生成した複数の画像から、特徴点を抽出する。本開示において「特徴点」とは、画像に写された被写体の部分のうち、隣接する他の部分から際立っており、例えば画素値の比較等により抽出可能な部分を意味する。特徴点の一例として、画像に写された被写体の輪郭上の一点、及び、画像において画素値が極大又は極小となる点が挙げられる。制御部14は、特徴点を抽出する任意のアルゴリズムを用いてよい。特徴点を抽出するアルゴリズムの一例として、AKAZE(Accelerated KAZE)等が挙げられる。
図2に、本開示の第1実施形態に係る特徴点の一例を示す。第1画像20は、カメラによって生成された画像である。第1画像20には、被写体として、車両1が走行する道路、及び、住宅が写っている。制御部14は、第1画像20に写された住宅の輪郭上の一点を、特徴点21,22,23として抽出する。
制御部14は、複数の画像において、対応する特徴点を特定する。本開示において「対応する特徴点」とは、異なる画像間において同一の対象点を示す特徴点を意味する。本開示において「対象点」とは、三次元空間上の被写体のうち、特徴点として画像から抽出された部分を意味する。制御部14は、抽出した特徴点に対して任意のマッチング処理を実行することにより、対応する特徴点を特定してよい。マッチング処理の一例として、ブルート・フォーズ(brute-force)等が挙げられる。
図3に、本開示の第1実施形態に係る対応する特徴点の一例を示す。第1画像20、第2画像30、第3画像40及び第4画像50は、各々異なる位置姿勢のカメラによって生成された複数の画像の一部である。図3では、第1画像20、第2画像30、第3画像40及び第4画像50は、説明の簡易化のために、位置姿勢が大きく異なるカメラによって生成された画像として描画されている。ただし、これらの画像は、位置姿勢が実際には微小に異なるカメラによって生成された画像であってよい。カメラの位置姿勢は、例えば、移動中において異なる時刻にカメラが画像を生成することにより異なり得る。また、カメラの位置姿勢は、例えば、画像を生成させるカメラが左カメラ10又は右カメラ11であるかによって異なり得る。
例えば、第1画像20では、三次元空間上の対象点61,62,63が、各々特徴点21,22,23として抽出される。また、第2画像30では、三次元空間上の対象点61,62,64が、各々特徴点31,32,34として抽出される。また、第3画像40では、三次元空間上の対象点61,62,63,64が、各々特徴点41,42,43,44として抽出される。また、第4画像50では、三次元空間上の対象点62,64が、各々特徴点52,54として抽出される。なお、図3には、便宜上、第1画像20、第2画像30、第3画像40及び第4画像50から抽出される特徴点の一部のみを示す。
制御部14は、対応する特徴点として、異なる画像間で同一の対象点61を示す特徴点21,31,41を特定する。また、制御部14は、対応する特徴点として、異なる画像間で同一の対象点62を示す特徴点22,32,42を特定する。また、制御部14は、対応する特徴点として、異なる画像間で同一の対象点63を示す特徴点23,43を特定する。また、制御部14は、対応する特徴点として、異なる画像間で同一の対象点64を示す特徴点34,44,54を特定する。
ここで、上述のように、カメラは、移動中である。そのため、生成された時刻の差が大きい画像同士には、異なる物体が写っている可能性が高い。異なる物体が写っている画像から抽出した特徴点に対してマッチング処理を実行すると、対応する特徴点を精度良く特定できない場合がある。そこで、制御部14は、対応する特徴点を特定する際、所定時間内に生成された画像からすなわちフレームの間隔が所定間隔となる画像から抽出した特徴点に対して、マッチング処理を実行してよい。このような処理により、対応する特徴点が精度良く特定され得る。所定時間は、車両1の速度等を考慮して適宜設定されてよい。
制御部14は、対応を特定した特徴点から、任意のアルゴリズムを用いて、外れ値を除去してよい。外れ値を除去するアルゴリズムの一例として、8点アルゴリズムを利用したRANSAC(Random Sampling Consensus)等が挙げられる。
<1回目の推定処理>
制御部14は、複数の画像の中から、2つの画像を選択する。制御部14は、2つの画像として、左カメラ10及び右カメラ11が同時刻に生成した画像を選択してよい。又は、制御部14は、複数の画像の中から、対応する特徴点を最も多く含む2つの画像を選択してよい。例えば、制御部14は、2つの画像として、第1画像20及び第2画像30を選択する。
制御部14は、選択した2つの画像に対応する位置姿勢を推定する。本開示において「画像に対応する位置姿勢」とは、当該画像を生成したカメラの、当該画像を生成したときの位置姿勢を意味する。制御部14は、2つの画像に含まれる対応する特徴点の一部に基づいて、画像に対応する位置姿勢を推定してよい。例えば、制御部14は、2つの画像に含まれる対応する特徴点に対して、5点アルゴリズム及びRANSACを実行することにより、2つの画像の各々に対応する位置姿勢を推定してよい。例えば、制御部14は、1回目の推定処理では、第1画像20に対応する位置姿勢と、第2画像30に対応する位置姿勢を推定する。
制御部14は、推定した位置姿勢に基づいて、2つの画像に含まれる対応する特徴点に三次元空間にて対応する点を、復元点とみなして復元する。制御部14は、復元点のワールド座標系における三次元座標を取得する。なお、画像に含まれるノイズ等の影響により、復元点のワールド座標系における三次元座標と、当該復元点に対応する対象点のワールド座標系における三次元座標との間には、ずれが生じる場合がある。制御部14は、推定した位置姿勢(すなわち外部パラメータ)と、カメラの内部パラメータとを用いた、三角測量の原理を利用することにより、2つの画像に含まれる対応する特徴点を復元してよい。
例えば、図3に示すように、制御部14は、第1画像20に対応する位置姿勢と、第2画像30に対応する位置姿勢とに基づいて、特徴点21,31を復元することにより、復元点71のワールド座標系における三次元座標を取得する。制御部14は、第1画像20に対応する位置姿勢と、第2画像30に対応する位置姿勢とに基づいて、特徴点22,33を復元することにより、復元点72のワールド座標系における三次元座標を取得する。
制御部14は、復元した特徴点に基づいて、推定した位置姿勢をバンドル調整により最適化する。バンドル調整とは、復元点のワールド座標系の三次元座標と、当該復元点に対応する対象点のワールド座標系の三次元座標との間のずれが最小化されるように、推定した位置姿勢及び復元点の三次元座標の少なくとも何れかを調整して最適化する処理である。上述のように、例えば画像に含まれるノイズ等の影響により、復元点のワールド座標系における三次元座標と、当該復元点に対応する対象点のワールド座標系における三次元座標との間には、ずれが生じ得る。例えば、図3に示すように、復元点71と対象点61との間にずれが生じ、復元点72と対象点62との間にずれが生じている。バンドル調整では、このようなずれが最小化されるように、推定した位置姿勢及び復元点の三次元座標の少なくとも何れかを調整して最適化する。本実施形態のバンドル調整では、復元点を画像の画像座標系に再投影させて得られる点(以下、「再投影点」ともいう)の二次元座標と、当該復元点に対応する特徴点の二次元座標との間のずれが最小化されるように、推定した位置姿勢等を調整する。例えば、制御部14は、再投影点の二次元座標と特徴点の二次元座標との誤差を示すコスト関数Eが最小化されるように、推定した位置姿勢及び復元点の三次元座標の少なくとも何れかを調整して最適化する。コスト関数Eは、式(2)によって表される。
Figure 2020201586
式(2)において、iは、画像を識別する番号である。nは、バンドル調整に用いられる画像の枚数である。jは、特徴点を識別する番号である。mは、バンドル調整に用いられる特徴点の数である。x は、i番の画像から抽出したj番の特徴点の二次元座標である。Xは、特徴点xに対応する復元点の三次元座標である。Pは、i番の画像の射影行列(Projection matrix)である。つまり、Pは、復元点Xを番号iで識別される画像の画像座標系に再投影させて得られる再投影点である。式(2)における射影行列Pは、以下の式(3)によって表される。
Figure 2020201586
ここで、式(3)のA及び[R|t]は、以下のように表される。
Figure 2020201586
式(3)において、行列Aは、カメラの内部パラメータ行列である。f,fは、カメラの焦点距離である。c,cは、カメラの画像座標系の中心座標である。上述のように、左カメラ10及び右カメラ11の内部パラメータは、固定値である。そのため、行列Aは、固定値となる。行列[R|t]は、カメラの外部パラメータ行列である。つまり、行列[R|t]は、推定された位置姿勢である。
制御部14は、式(2)の復元点Xの値及び射影行列Pの値を調整することにより、式(2)のコスト関数Eを最小化させるように調整してよい。この場合、上述のように行列Aは固定値であるため、制御部14は、式(2)の復元点Xの値と、射影行列Pの一成分である式(3)の行列[R|t]の値とを調整することにより、式(2)のコスト関数Eを最小化させるように調整する。又は、制御部14は、式(2)の復元点Xを固定し、射影行列Pの一成分である式(3)の行列[R|t]の値を調整することにより、式(2)のコスト関数Eを最小化させるように調整してよい。
<追加の推定処理>
制御部14は、複数の画像の中から、位置姿勢が未推定である画像を1つ選択する。制御部14は、復元済みの特徴点に対応する特徴点を最も多く含む画像を優先して選択してよい。
例えば、1回目の推定処理が終了した直後では、第3画像40及び第4画像50に対応する位置姿勢は、未推定である。第3画像40は、復元済みの特徴点21,31に対応する特徴点41と、復元済みの特徴点22,32に対応する特徴点42とを含む。つまり、第3画像40は、復元済みの特徴点に対応する特徴点を2つ含む。これに対し、第4画像50は、復元済みの特徴点22,32に対応する特徴点52を含む。つまり、第4画像50は、復元済みの特徴点に対応する特徴点を1つ含む。この場合、制御部14は、第3画像40及び第4画像50のうち、復元済みの特徴点に対応する特徴点を最も多く含む画像として、第3画像40を優先して選択する。
制御部14は、選択した位置姿勢が未推定である画像と、当該画像に含まれる特徴点の少なくとも一部とに基づいて、当該画像に対応する位置姿勢を推定する。制御部14は、当該画像に含まれる特徴点の少なくとも一部として、当該画像に含まれる特徴点のうち、復元済みの特徴点に対応する特徴点を用いる。例えば、制御部14は、第3画像40に含まれる特徴点41〜44のうち、復元済みの特徴点21,31に対応する特徴点41、及び、復元済みの特徴点22,32に対応する特徴点42を含む少なくとも3点以上の特徴点を用いる。制御部14は、PnP問題(perspective n-Point Problem)を解くことにより、位置姿勢が未推定である画像に対応する位置姿勢を推定してよい。例えば、制御部14は、第3画像40と、特徴点41,42を含む3点以上の特徴点等とに基づいて、第3画像40に対応する位置姿勢を推定する。
制御部14は、新たに推定した位置姿勢をバンドル調整により最適化する。制御部14は、当該バンドル調整として、ローカルバンドル調整を実施してよい。ローカルバンドル調整とは、1つの位置姿勢のみを最適化する処理である。つまり、制御部14は、新たに推定した位置姿勢のみを最適化の対象として、ローカルバンドル調整を実施してよい。例えば、制御部14は、第3画像40に対応する位置姿勢のみを最適化の対象として、ローカルバンドル調整を実施してよい。
ローカルバンドル調整では、制御部14は、最適化の対象となる位置姿勢が推定された画像に含まれる復元済みの特徴点に対応する特徴点の二次元座標と、当該復元済みの特徴点により復元された復元点の当該画像への再投影点の二次元座標との間のずれが最小化されるように、最適化の対象となる位置姿勢を調整して最適化する。例えば、制御部14は、第3画像40の特徴点41,42の各々の二次元座標と、復元点71,72の各々の第3画像40への再投影点の各々の二次元座標との間のずれが最小化されるように第3画像40に対応する位置姿勢を調整して最適化する。式(2)のコスト関数Eを用いる場合、iには、第3画像40を識別する番号のみが代入される。jには、図3に示す特徴点41,42を識別する番号の各々が代入される。つまり、x には、図3に示す特徴点41,42の二次元座標の各々が代入される。Xには、図3に示す復元点71,72の三次元座標の各々が代入される。また、射影行列Pの一成分である式(3)の行列[R|t]は、第3画像40に対応する位置姿勢が代入される。ローカルバンドル調整では、式(2)の復元点Xを固定し、式(3)の行列[R|t]の値を調整することにより、式(2)のコスト関数Eが最小化させるように調整する。
制御部14は、ローカルバンドル調整後、未復元の特徴点の中で、新たに推定した位置姿勢によって復元可能な特徴点を、復元する。例えば、制御部14は、新たに推定した位置姿勢と、推定済みの位置姿勢と、カメラの内部パラメータとを用いた、三角測量の原理を利用することにより、未復元の特徴点の中で、復元可能な特徴点を復元する。
例えば、第3画像40に対応する位置姿勢は、追加の推定処理にて、新たに推定された位置姿勢である。また、第1画像20及び第2画像30に対応する位置姿勢は、1回目の推定処理にて既に推定された、推定済みの位置姿勢である。第1画像20の特徴点23と第3画像40の特徴点43は、第1画像20に対応する位置姿勢及び第3画像40に対応する位置姿勢を用いた三角測量の原理により、復元可能である。制御部14は、第1画像20の特徴点23及び第3画像40の特徴点43を復元することにより、復元点73のワールド座標系における三次元座標を取得する。また、第2画像30の特徴点34と第3画像40の特徴点44は、第2画像30に対応する位置姿勢及び第3画像40に対応する位置姿勢を用いた三角測量の原理により、復元可能である。制御部14は、第2画像の特徴点34及び第3画像40の特徴点44を復元することにより、復元点74のワールド座標系における三次元座標を取得する。
<相対的な位置姿勢の推定処理>
制御部14は、上述の追加の推定処理を繰り返し実行する。制御部14は、複数の画像の中で、位置姿勢が未推定である画像が存在しないと判定するまで、上述の追加の推定処理を繰り返してよい。
制御部14は、上述の追加の推定処理を繰り返し実行した後、複数の画像の少なくとも一部に対応する推定した位置姿勢をバンドル調整により最適化する。制御部14は、複数の画像の全てに対応する推定した位置姿勢を、バンドル調整により最適化してよい。制御部14は、当該バンドル調整として、グローバルバンドル調整を実施してよい。
グローバルバンドル調整では、制御部14は、複数の画像の各々において、画像に含まれる特徴点の二次元座標と、当該特徴点に対応する復元点の当該画像への再投影点の二次元座標との間のずれが最小化されるように、推定した位置姿勢及び復元点の三次元座標を調整して最適化する。式(2)のコスト関数Eを用いる場合、グローバルバンドル調整では、式(2)の復元点Xの値と、射影行列Pの一成分である式(3)の行列[R|t]の値を調整することにより、コスト関数Eが最小化されるように調整する。
制御部14は、推定した位置姿勢に対して拘束条件を適用して、グローバルバンドル調整を実施してよい。拘束条件は、セルフキャリブレーションを実行する程度の短時間では、左カメラ10と右カメラ11との間の相対的な位置姿勢が一定であるとの条件であってよい。つまり、式(1)の変換式α,βが、セルフキャリブレーションを実行する程度の短時間では、変化しないとの条件であってよい。式(2)のコスト関数Eに、式(1)を適用することにより、式(2)のコスト関数Eに含まれるパラメータが複雑化する蓋然性が低減され得る。パラメータが複雑化する蓋然性が低減されることで、コスト関数Eを最小化させる精度が向上され得る。
例えば、式(2)の射影行列Pの一成分である式(3)の行列[R|t]は、左カメラ10の位置姿勢[R|t]及び右カメラ11の位置姿勢[R|t]の何れかに対応する。制御部14は、式(2)のコスト関数Eに含まれる行列[R|t]に、式(1)による[Rα|tβ]を代入する。この場合、制御部14は、コスト関数Eに含まれる行列[R|t]に関するパラメータに関しては、コスト関数Eが最小化されるように、パラメータ(R,t,Rα,tβ)を調整する。又は、制御部14は、式(2)のコスト関数Eに含まれる行列[R|t]に、式(1)による[R/α|t/β]を代入してよい。この場合、制御部14は、コスト関数Eに含まれるパラメータに関しては、コスト関数Eが最小化されるように、パラメータ(R,t,R/α,t/β)を調整する。
制御部14は、グローバルバンドル調整により最適化された位置姿勢に基づいて、左カメラ10と右カメラ11との間の相対的な位置姿勢を推定する。例えば、制御部14は、上述の拘束条件を適用したグローバルバンドル調整を実行した場合、上述のように、位置姿勢を最適化するために、パラメータの1つとして変換式α,βを調整する。この場合、制御部14は、左カメラ10と右カメラ11との間の相対的な位置姿勢として、調整後の変換式α,βを取得する。又は、制御部14は、上述の拘束条件を適用しないグローバルバンドル調整を実行した場合、最適化後の左カメラ10の位置姿勢[R|t]及び右カメラ11の位置姿勢[R|t]を取得する。さらに、制御部14は、最適化後の位置姿勢[R|t]及び位置姿勢[R|t]を式(1)代入することにより、回転の変換式α及び並進の変換式βを取得する。
制御部14は、セルフキャリブレーション後、通信部13によって外部機器又は電子機器2から被写体までの方向及び距離の測定指令を取得すると、新たに取得した変換式α,βを用いて、被写体までの方向及び距離を測定する。新たに取得した変換式α,βを用いることにより、被写体までの方向及び距離がより精度良く測定され得る。
図4は、本開示の第1実施形態に係る撮像装置3の処理の流れを示すフローチャートである。制御部14は、通信部13によって外部機器又は電子機器2から、キャリブレーション指令を取得すると、図4に示す処理を開始する。
制御部14は、車両1が移動中であるか否か判定する(ステップS10)。制御部14は、車両1が移動中であると判定するとき(ステップS10:Yes)、ステップS11の処理に進む。一方、制御部14は、車両1が移動中であると判定しないとき(ステップS10:No)、ステップS10の処理を再び実行する。
制御部14は、移動中の左カメラ10及び右カメラ11に、複数の画像を時系列的に生成させる(ステップS11)。
制御部14は、移動中の左カメラ10及び右カメラ11が時系列的に生成した複数の画像から、特徴点を抽出する(ステップS12)。
制御部14は、複数の画像において、対応する特徴点を特定する(ステップS13)。制御部14は、対応を特定した特徴点から、外れ値を除去する(ステップS14)。
制御部14は、複数の画像の中から、2つの画像を選択する(ステップS15)。制御部14は、選択した2つの画像に対応する位置姿勢を推定する(ステップS16)。制御部14は、推定した位置姿勢に基づいて、2つの画像に含まれる対応する特徴点に三次元空間にて対応する点を、復元点とみなして復元する(ステップS17)。制御部14は、復元した特徴点に基づいて、推定した位置姿勢をバンドル調整により最適化する(ステップS18)。
制御部14は、複数の画像の中から、位置姿勢が未推定である画像を1つ選択する(ステップS19)。制御部14は、ステップS19の処理で選択した位置姿勢が未推定である画像と、当該画像に含まれる特徴点の少なくとも一部とに基づいて、当該画像に対応する位置姿勢を推定する(ステップS20)。
制御部14は、新たに推定した位置姿勢を、ローカルバンドル調整により最適化する(ステップS21)。制御部14は、新たに位置姿勢を推定すると、未復元の特徴点の中で、新たに推定した位置姿勢によって復元可能な特徴点を、復元する(ステップS22)。
制御部14は、ステップS11の処理で取得した複数の画像の中で、位置姿勢が未推定である画像が存在するか否か判定する(ステップS23)。制御部14は、位置姿勢が未推定である画像が存在すると判定するとき(ステップS23:Yes)、ステップS19からステップS23までの処理を繰り返し実行する。制御部14は、位置姿勢が未推定である画像が存在しないと判定するとき(ステップS23:No)、ステップS24の処理に進む。
ステップS24の処理では、制御部14は、ステップS11の処理で取得した複数の画像の少なくとも一部に対応する推定した位置姿勢を、グローバルバンドル調整により最適化する。ステップS24の処理では、制御部14は、推定した位置姿勢に対して拘束条件を適用して、グローバルバンドル調整を実施してよい。
制御部14は、グローバルバンドル調整により最適化された位置姿勢に基づいて、左カメラ10と右カメラ11との間の相対的な位置姿勢を推定する(ステップS25)。
以上のように、第1実施形態では、制御部14は、推定した位置姿勢に対して拘束条件を適用して、グローバルバンドル調整を実施することができる。推定した位置姿勢に対して拘束条件を適用してグローバルバンドル調整を実施することにより、式(2)のコスト関数Eに含まれるパラメータが複雑化する蓋然性が低減され得る。パラメータが複雑化する蓋然性が低減されることで、コスト関数Eを最小化させる精度が向上され得る。コスト関数Eを最小化させる精度が向上することにより、左カメラ10と右カメラ11との間の相対的な位置姿勢をより精度良く推定することができる。このような構成により、第1実施形態では、被写体までの方向及び距離をより精度良く測定することができる。従って、第1実施形態によれば、改善された、撮像装置3及び車両1が提供され得る。
(第2実施形態)
第2実施形態に係る撮像装置の構成には、第1実施形態に係る撮像装置3の構成を採用することができる。従って、第2実施形態に係る撮像装置の構成については、図1を参照して説明する。
SfMでは、三次元空間上の被写体の一部である対象点が動かないとの前提の元、三角測量の原理を利用して、復元点の三次元座標及びカメラの位置姿勢を推定する。それ故、SfMでは、対象点が突如動き出したりすると、復元点の三次元座標及びカメラの位置姿勢の推定精度が低下する。
本実施形態では、撮像装置3は、車両1に搭載される。車両1に搭載される撮像装置3の被写体は、図2に示すような住宅に加えて、車両1の前を走行する先行車両、及び、車両1の近辺を歩行する歩行者を含み得る。住宅は、地上に固定されているため、動かない。ただし、先行車両及び歩行者等は、突如、動き出したり、停止したりする場合がある。つまり、本実施形態では、撮像装置3の被写体に先行車両及び歩行者等が含まれる場合、被写体の一部である対象点が、突如、動き出したり、停止したりする場合がある。対象点が突如動き出したり停止したりすると、復元点の三次元座標及びカメラの位置姿勢の推定精度が低下する。復元点の三次元座標及びカメラの位置姿勢の推定精度が低下すると、キャリブレーションを精度良く実行できない場合がある。
第2実施形態では、対象点が突如動き出したり停止したりしても、後述の処理により、キャリブレーションを精度良く実行することができる。以下、第2実施形態に係るセルフキャリブレーションについて説明する。
[セルフキャリブレーション]
第1実施形態と同様に、制御部14は、通信部13によって外部機器又は電子機器2から、キャリブレーション指令を取得し得る。第1実施形態と同様に、制御部14は、キャリブレーション指令を取得すると、通信部13によって電子機器2から、車両1の移動情報を取得する。第1実施形態と同様に、制御部14は、車両1の移動情報に基づいて、車両1が移動中であるか否か判定する。第1実施形態と同様に、制御部14は、車両1が移動中であると判定すると、左カメラ10及び右カメラ11に、時系列的に複数の画像を生成させる。
図5に、本開示の第2実施形態に係る被写体の一例を示す。車両4は、撮像装置3の被写体の1つである。車両4は、車両1の前を走行する先行車両である。車両4は、時刻T1で、停止する。車両4は、時刻T1が経過した時点で、突如、動き出す。車両4は、時刻T1が経過した時点から時刻T2まで、前方に進む。車両4は、時刻T2が経過した時点で、突如、停止する。車両4は、時刻T2が経過した時点から、時刻T3まで、停止する。車両4の後方のコーナ部は、対象点65となり得る。便宜的に、時刻T2〜T3における車両4のコーナ部は、対象点65aとも記載する。車両4が突如動き出したり停止したりすることにより、対象点65も突如動き出したり停止したりする。
第1実施形態と同様に、制御部14は、移動中の左カメラ10及び右カメラ11が時系列的に生成した複数の画像から、特徴点を抽出する。第1実施形態と同様に、制御部14は、複数の画像において、対応する特徴点を特定する。第1実施形態と同様に、制御部14は、対応する特徴点を特定する際、所定時間内に生成された画像からすなわちフレームの間隔が所定間隔となる画像から抽出した特徴点に対して、マッチング処理を実行してよい。第1実施形態と同様に、制御部14は、対応を特定した特徴点から、任意のアルゴリズムを用いて、外れ値を除去してよい。
図6に、本開示の第2実施形態に係る対応する特徴点の一例を示す。第1右画像20R、第1左画像30L、第2右画像40R及び第3右画像50Rは、各々異なる位置姿勢のカメラによって生成された複数の画像の一部である。図6では、第1右画像20R、第1左画像30L、第2右画像40R及び第3右画像50Rは、説明の簡易化のために、位置姿勢が大きく異なるカメラによって生成された画像として描画されている。ただし、これらの画像は、位置姿勢が実際には微小に異なるカメラによって生成された画像であってよい。第1右画像20R、第2右画像40R及び第3右画像50Rは、右カメラ11によって生成された画像である。第1左画像30Lは、左カメラ10によって生成された画像である。第1右画像20R及び第1左画像30Lは、時刻T1に生成された画像である。第2右画像40R及び第3右画像50Rの各々は、時刻T2及び時刻T3の各々に生成された画像である。
例えば、第1右画像20Rでは、三次元空間上の対象点61,62,65が、各々特徴点21,22,25として抽出される。また、第1左画像30Lでは、三次元空間上の対象点61,62,64,65が、各々特徴点31,32,34,35として抽出される。また、第2右画像40Rでは、三次元空間上の対象点61,62,64,65aが、各々特徴点41,42,44,45aとして抽出される。また、第3右画像50Rでは、三次元空間上の対象点62,64,65aが、各々特徴点52,54,55aとして抽出される。ここで、対象点61,62,64は、図2に示すような被写体としての住宅の一部であり得る。対象点65,65aは、図5に示すような被写体としての車両4の後方のコーナ部である。なお、図6には、便宜上、第1右画像20R、第1左画像30L、第2右画像40R及び第3右画像50Rから抽出される特徴点の一部のみを示す。
制御部14は、対応する特徴点として、異なる画像間で同一の対象点61を示す特徴点21,31,41を特定する。制御部14は、対応する特徴点として、異なる画像間で同一の対象点62を示す特徴点22,32,42,52を特定する。制御部14は、対応する特徴点として、異なる画像間で同一の対象点64を示す特徴点34,44,54を特定する。ここで、図5に示すように、対象点65の三次元空間における位置と、対象点65aの三次元空間における位置とは、車両4が動き出すことにより、異なる。だたし、図5に示すように、対象点65及び対象点65aは、車両4の後方のコーナ部分すなわち被写体の同一部分である。そのため、制御部14は、対応する特徴点として、異なる画像間で、被写体の同一部分を示す特徴点25,35,45a,55aを特定する。
<1回目の推定処理>
第1実施形態と同様に、制御部14は、複数の画像の中から、2つの画像を選択する。第1実施形態と同様に、制御部14は、複数の画像の中から、対応する特徴点を最も多く含む2つの画像を選択してよい。
第2実施形態では、2つの画像として、左カメラ10及び右カメラ11が同時刻に生成した画像を選択してよい。例えば、制御部14は、2つの画像として、第1右画像20R及び第1左画像30Lを選択する。同時刻に生成された2つの画像を選択することにより、当該2つの画像において対応する特徴点が示す対象点は、停止している点となり得る。例えば、第1右画像20R及び第1左画像30Lにおいて対応する特徴点25及び特徴点35が示す対象点65は、停止している点となる。2つの画像において対応する特徴点が示す対象点が停止している点となることで、後述の処理において、2つの画像に対応する位置姿勢をより精度良く推定することができる。
第1実施形態と同様に、制御部14は、選択した2つの画像に対応する位置姿勢を推定する。第1実施形態と同様に、制御部14は、推定した位置姿勢に基づいて、2つの画像に含まれる対応する特徴点に三次元空間にて対応する点を、復元点とみなして復元する。さらに、制御部14は、復元点のワールド座標系における三次元座標を取得する。
例えば、制御部14は、第1右画像20Rに対応する位置姿勢及び第1左画像30Lに対応する位置姿勢を推定する。制御部14は、図6に示すように、特徴点21,31を復元することにより、復元点71の三次元座標を取得する。また、制御部14は、図6に示すように、特徴点22,32を復元することにより、復元点72の三次元座標を取得する。また、制御部14は、図6に示すように、特徴点25,35を復元することにより、復元点75の三次元座標を取得する。
第1実施形態と同様に、制御部14は、復元した特徴点に基づいて、推定した位置姿勢をバンドル調整により最適化する。
<追加の推定処理>
第1実施形態と同様に、制御部14は、複数の画像の中から、位置姿勢が未推定である画像を1つ選択する。第1実施形態と同様に、制御部14は、復元済みの特徴点に対応する特徴点を最も多く含む画像を優先して選択してよい。第1実施形態と同様に、制御部14は、選択した位置姿勢が未推定である画像と、当該画像に含まれる特徴点の少なくとも一部とに基づいて、当該画像に対応する位置姿勢を推定する。
例えば、1回目の推定処理が終了した直後では、第2右画像40R及び第3右画像50Rに対応する位置姿勢は、未推定である。第2右画像40Rは、復元済みの特徴点21,31に対応する特徴点41と、復元済みの特徴点22,32に対応する特徴点42と、復元済みの特徴点25,35に対応する特徴点45aを含む。つまり、第2右画像40Rは、復元済みの特徴点に対応する特徴点を3つ含む。これに対し、第3右画像50Rは、復元済みの特徴点22,32に対応する特徴点52を含む。つまり、第3右画像50Rは、復元済みの特徴点に対応する特徴点を1つ含む。この場合、制御部14は、第2右画像40R及び第3右画像50Rのうち、復元済みの特徴点に対応する特徴点を最も多く含む画像として、第2右画像40Rを優先して選択する。制御部14は、第2右画像40Rに対応する位置姿勢を推定する。
第2実施形態では、制御部14は、新たに位置姿勢が推定された画像に含まれる復元済みの特徴点に対応する特徴点の位置と、当該復元済みの特徴点により復元された復元点の当該画像への再投影点の位置との間の距離を算出する。例えば、制御部14は、新たに推定した位置姿勢[R|t]を式(3)に代入して算出される射影行列Pと、復元点Xの三次元座標とを乗算させることにより、再投影点の座標を算出する。さらに、制御部14は、特徴点の座標及び算出した再投影点の座標に基づいて、特徴点の位置と再投影点の位置との間の距離を算出する。制御部14は、算出した距離が閾値以上であるか否か判定する。制御部14は、算出した距離が閾値以上であると判定するとき、当該復元点を、当該画像に対応しない復元点と決定する。本開示において「画像に対応しない復元点」とは、当該復元点に対応する対象点が、例えば動き出したことにより、当該画像が生成された時刻に、当該復元点の位置に存在している可能性が低いと推定される復元点を意味する。一方、制御部14は、算出した距離が閾値未満であると判定するとき、当該復元点を、当該画像に対応する復元点と決定する。本開示において「画像に対応する復元点」とは、当該復元点に対応する対象点が、例えば停止していることにより、当該画像が生成された時刻に、当該復元点の位置に存在している可能性が高いと推定される復元点を意味する。閾値は、車両1の速度等に基づいて、適宜設定されてよい。
例えば、第2右画像40Rは、当該追加の推定処理にて、新たに位置姿勢が推定された画像である。再投影点91は、復元済みの特徴点21,31により復元された復元点71の第2右画像40Rへの再投影点である。再投影点92は、復元済みの特徴点22,32により復元された復元点72の第2右画像40Rへの再投影点である。再投影点95は、復元済みの特徴点25,35により復元された復元点75の第2右画像40Rへの再投影点である。
再投影点91の位置と、復元済みの特徴点21,31に対応する第2右画像40Rの特徴点41の位置との間の距離は、閾値未満であるものとする。制御部14は、再投影点91の位置と特徴点41の位置との間の距離が閾値未満であると判定し、復元点71を、第2右画像40Rに対応する復元点と決定する。
再投影点92の位置と、復元済みの特徴点22,32に対応する第2右画像40Rの特徴点42の位置との間の距離は、閾値未満であるものとする。制御部14は、再投影点92の位置と特徴点42の位置との間の距離が閾値未満であると判定し、復元点72を、第2右画像40Rに対応する復元点と決定する。
再投影点95の位置と、復元済みの特徴点25,35に対応する特徴点45aの位置との間の距離は、閾値以上であるものとする。制御部14は、再投影点91と特徴点45aの位置との間の距離が閾値以上であると判定し、復元点75を、第2右画像40Rに対応しない復元点と決定する。このような処理により、対象点65に対応する復元点75は、時刻T2に生成された第2右画像40Rに対応しないと決定される。
なお、本実施形態では、特徴点の位置と再投影点の位置との間の距離が閾値以上であるか否かの判定処理を行わない画像及び復元点については、当該復元点を、当該画像に対応する復元点として扱う。例えば、制御部14は、復元点71を、第1右画像20Rに対応する復元点として扱う。
第1実施形態と同様に、制御部14は、新たに推定した位置姿勢をバンドル調整により最適化する。制御部14は、当該バンドル調整として、ローカルバンドル調整を実施してよい。ただし、第2実施形態では、制御部14は、画像に対応しないと決定した復元点を、ローカルバンドル調整の最小化の対象から除外してよい。例えば、制御部14は、復元点75の第2右画像40Rへの再投影点95と、特徴点45aとの間の誤差を、ローカルバンドル調整の最小化の対象から除外してよい。
第1実施形態と同様に、制御部14は、ローカルバンドル調整後、未復元の特徴点の中で、新たに推定した位置姿勢によって復元可能な特徴点を、復元する。例えば、第2右画像40Rに対応する位置姿勢は、追加の推定処理にて新たに推定された位置姿勢である。また、第1左画像30Lに対応する位置姿勢は、1回目の推定処理にて既に推定された、推定済みの位置姿勢である。制御部14は、図6に示すように、第1左画像30Lの特徴点34と第2右画像40Rの特徴点44を復元することにより、復元点74のワールド座標系における三次元座標を取得する。
制御部14は、当該追加の推定処理を終了すると、次の追加の推定処理を実行する。例えば、制御部14は、第2右画像40Rに対する追加の推定処理を終了すると、第3右画像50Rに対する追加の推定処理を実行する。第3右画像50Rに対する追加の推定処理において、制御部14は、第3右画像50Rに対応する位置姿勢を推定する。さらに、第3右画像50Rに対する追加の推定処理において、制御部14は、復元点72を、第3右画像50Rに対応する復元点と決定する。また、制御部14は、復元点74を、第3右画像50Rに対応する復元点と決定する。また、制御部14は、復元点75を、第3右画像50Rに対応しない復元点と決定する。加えて、第3右画像50Rに対する追加の推定処理において、制御部14は、第2右画像40Rに対応する位置姿勢及び第3右画像50Rに対応する位置姿勢を用いた三角測量の原理により、図6に示すように、特徴点45a,55aを復元する。制御部14は、特徴点45a,55aを復元して、復元点75aのワールド座標系における三次元座標を取得する。
図7に、本開示の第2実施形態に係る画像に対応する復元点の一例を示す。図7には、第3右画像50Rに対する追加の推定処理が終了した時点の結果を示す。第1右画像20Rに対応する復元点は、復元点71,72,75となる。第1左画像30Lに対応する復元点は、復元点71,72,74,75となる。第2右画像40Rに対応する復元点は、復元点71,72,74,75aとなる。第3右画像50Rに対応する復元点は、復元点72,74,75aとなる。
上述のように、時刻T1での対象点65の三次元空間における位置と、時刻T2及び時刻T3での対象点65aの三次元空間における位置とは、車両4が動き出すことにより、異なる。上述の処理により、図7に示すように、対象点65に対応する復元点75は、時刻T1に生成された第1右画像20R及び第1左画像30Lに対応すると決定される。また、対象点65aに対応する復元点75aは、時刻T2及び時刻T3に各々生成された第2右画像40R及び第3右画像50Rに対応すると決定される。
<相対的な位置姿勢の推定処理>
第1実施形態と同様に、制御部14は、上述の追加の推定処理を繰り返し実行する。第1実施形態と同様に、制御部14は、複数の画像の中で、位置姿勢が未推定である画像が存在しないと判定するまで、上述の追加の推定処理を繰り返してよい。
制御部14は、上述の追加の推定処理を繰り返し実行した後、複数の画像の少なくとも一部の画像に対応する推定済みの位置姿勢と、当該少なくとも一部の画像に対応する復元点とに基づいて、グローバルバンドル調整により当該推定済みの位置姿勢を最適化する。
具体的には、制御部14は、上述の追加の推定処理において画像に対応すると決定した復元点については、当該画像に対応する推定済みの位置姿勢と、当該画像に対応する復元点とに基づいて、当該復元点の当該画像への再投影点の二次元座標を算出する。さらに、制御部14は、算出した再投影点の二次元座標と、当該画像に含まれる当該復元点に対応する特徴点の二次元座標との間のずれを算出する。加えて、制御部14は、算出したずれを、グローバルバンドル調整における最小化の対象にする。
これに対し、制御部14は、上述の追加の推定処理において画像に対応しないと決定した復元点ついては、当該画像に対応する当該復元点として扱わない。つまり、制御部14は、当該復元点の当該画像への再投影点の二次元座標を算出しない。より詳細には、制御部14は、当該復元点の当該画像への再投影点の二次元座標と、当該画像に含まれる当該復元点に対応する特徴点の二次元座標との間のずれを、グローバルバンドル調整における最小化の対象としない。
例えば、複数の画像の少なくとも一部の画像として、第1右画像20R、第1左画像30L、第2右画像40R及び第3右画像50Rが用いられるものとする。また、画像と復元点との対応関係としては、図7に示すような対応関係が用いられるものとする。式(2)のiに第2右画像40Rを識別する番号を代入する際、制御部14は、式(2)の特徴点x に特徴点41,42,44,45aの二次元座標を各々代入し、式(2)の復元点Xに復元点71,72,74,75aの三次元座標を代入する。さらに、制御部14は、式(2)のPに、式(3)の[R|t]に第2右画像40Rに対応する位置姿勢を代入することにより算出された射影行列を代入する。ここで、制御部14は、上述の追加の推定処理にて第2右画像40Rに対応しないと決定した復元点75については、式(2)の復元点Xに代入しない。つまり、制御部14は、図6に示すような、復元点75の第2右画像40Rへの再投影点95と、復元点75に対応する特徴点45aとの間のずれを、グローバルバンドル調整の最小化の対象としない。
第1実施形態と同様に、制御部14は、推定した位置姿勢に対して拘束条件を適用してグローバルバンドル調整を実施してよい。
第1実施形態と同様に、制御部14は、グローバルバンドル調整により最適化された位置姿勢に基づいて、左カメラ10と右カメラ11との間の相対的な位置姿勢を推定する。
図8は、本開示の第2実施形態に係る撮像装置3の処理の流れを示すフローチャートである(その1)。図9は、本開示の第2実施形態に係る撮像装置3の処理の流れを示すフローチャートである(その2)。制御部14は、通信部13によって外部機器又は電子機器2から、キャリブレーション指令を取得すると、図8に示す処理を開始する。
制御部14は、図4に示すステップS10〜S18の処理と同様にして、ステップS30〜S38の処理を実行する。制御部14は、図8に示すステップS38の処理の終了後、図9に示す処理に進む。
制御部14は、図4に示すステップS19〜S20の処理と同様にして、ステップS39〜S40の処理を実行する。
制御部14は、ステップS40の処理で新たに位置姿勢が推定された画像に含まれる復元済みの特徴点に対応する特徴点の位置と、当該復元済みの特徴点により復元された復元点の当該画像への再投影点の位置との間の距離を算出する(ステップS41)。
制御部14は、ステップS41の処理で算出した距離が閾値以上であるか否か判定する(ステップS42)。制御部14は、ステップS41の処理で算出した距離が閾値未満であると判定するとき(ステップS42:No)、ステップS43の処理に進む。ステップS43の処理では、制御部14は、ステップS41の処理で用いた復元点を、ステップS40の処理で新たに位置姿勢が推定された画像に対応する復元点と決定する。一方、制御部14は、ステップS41の処理で算出した距離が閾値以上であると判定するとき(ステップS42:Yes)、ステップS44の処理に進む。ステップS44の処理では、制御部14は、ステップS41の処理で用いた復元点を、ステップS40の処理で新たに位置姿勢が推定された画像に対応しない復元点と決定する。
制御部14は、ステップS40の処理で新たに位置姿勢が推定された画像に含まれる復元済みの特徴点に対応する特徴点の全てに対して、ステップS41〜S44の処理を実行してよい。
制御部14は、図4に示すステップS21,S22の処理と同様にして、ステップS45,S46の処理を実行する。
制御部14は、図8に示すステップS31の処理で取得した複数の画像の中で、位置姿勢が未推定である画像が存在するか否か判定する(ステップS47)。制御部14は、位置姿勢が未推定である画像が存在すると判定するとき(ステップS47:Yes)、ステップS39〜S47までの処理を繰り返し実行する。制御部14は、位置姿勢が未推定である画像が存在すると判定しないとき(ステップS47:No)、ステップS48の処理に進む。
ステップS48の処理では、制御部14は、複数の画像の少なくとも一部の画像に対応する推定済みの位置姿勢と、当該少なくとも一部の画像に対応する復元点とに基づいて、グローバルバンドル調整により当該推定済みの位置姿勢を最適化する。ステップS48の処理では、制御部14は、ステップS43の処理で画像に対応しないと決定した復元点ついては、当該画像に対応する復元点として扱わない。
制御部14は、図4に示すステップS25の処理と同様にして、ステップS49の処理を実行する。
以上のように、第2実施形態では、制御部14は、追加の推定処理にて、画像に対応しない復元点を決定する。ここで、上述のように、画像に対応しない復元点は、当該復元点に対応する対象点が、例えば動き出したことにより、当該画像が生成された時刻に、当該復元点の位置に存在している可能性が低いと推定されるものである。このような処理により、動き出したと推定される対象点に対応する復元点は、グローバルバンドル調整から除外され得る。動き出したと推定される対象点に対応する復元点がグローバルバンドル調整から除外されることにより、本実施形態によれば、グローバルバンドル調整により、推定した位置姿勢を精度良く最適化することができる。推定した位置姿勢が精度良く最適化されることにより、本実施形態では、セルフキャリブレーションを精度良く実行することができる。
さらに、第2実施形態では、追加の推定処理にて、位置姿勢を推定する新たな画像を追加する毎に、画像に対応しない復元点を決定する。このような処理により、本実施形態では、復元点に対応する対象点が動き出したことにより、当該復元点が画像に対応しなくなった時点で、当該復元点を当該画像に対応しないものとして扱うことができる。このような処理により、グローバルバンドル調整において利用可能な復元点の数が大幅に減る蓋然性が低減され得る。
本開示に係る実施形態について、諸図面及び実施例に基づき説明してきたが、当業者であれば本開示に基づき種々の変形又は修正を行うことが容易であることに注意されたい。従って、これらの変形又は修正は本開示の範囲に含まれることに留意されたい。例えば、各構成部等に含まれる機能等は論理的に矛盾しないように再配置可能であり、複数の構成部等を1つに組み合わせたり、或いは、分割したりすることが可能である。
例えば、上述の実施形態では、式(1)で示されるような、左カメラ10から右カメラ11への変換式を用いた。つまり、上述の実施形態では、式(1)で示されるように、右カメラの位置姿勢[R|t]が、左カメラ10の位置姿勢[R|t]と、回転の変換式α及び並進の変換式βとによって表されていた。ただし、右カメラ11から左カメラ10への変換式を用いてもよい。つまり、左カメラ10の位置姿勢[R|t]が、右カメラ10の位置姿勢[R|t]と、右カメラ10から左カメラ11への回転の変換式及び並進の変換式とによって表されてよい。この構成では、制御部14は、推定した位置姿勢に対して拘束条件を適用して、グローバルバンドル調整を実施する際、式(2)のコスト関数Eに含まれる行列[R|t]に、行列[R|t]と、右カメラ10から左カメラ11への回転の変換式及び並進の変換式とによって表される行列[R|t]を代入してよい。
1,4 車両
2 電子機器
3 撮像装置
10 左カメラ
11 右カメラ
12 記憶部
13 通信部
14 制御部
20 第1画像
30 第2画像
40 第3画像
50 第4画像
20R 第1右画像
30L 第1左画像
40R 第2右画像
50R 第3右画像
21,22,23,25,31,32,34,35,41,42,43,44,45a,52,54,55a 特徴点
61,62,63,64,65,65a 対象点
71,72,73,74,75,75a 復元点
91,92,95 再投影点

Claims (8)

  1. 相対的な位置姿勢が定められた左カメラ及び右カメラと、制御部とを備え、
    前記制御部は、
    移動中の前記左カメラ及び前記右カメラが時系列的に生成した複数の画像から特徴点を抽出し、前記複数の画像において対応する特徴点を特定し、
    前記複数の画像の中の2つの画像に含まれる前記特徴点の一部に基づいて前記2つの画像に対応する位置姿勢を推定し、推定した前記位置姿勢に基づいて前記2つの画像に含まれる前記特徴点を復元して復元点を取得する1回目の推定処理をし、
    位置姿勢が未推定である前記画像と、該未推定である画像に含まれる前記復元した特徴点に対応する特徴点の少なくとも一部とに基づいて、該未推定である画像に対応する位置姿勢を推定し、推定した位置姿勢に基づいて該対応する特徴点を復元して復元点を取得する追加の推定処理をし、
    前記追加の推定処理を繰り返し実行した後、前記複数の画像の少なくとも一部の画像に対応する推定済みの位置姿勢と、該少なくとも一部の画像に対応する前記復元点とに基づいて、バンドル調整により該推定済みの位置姿勢を最適化し、最適化後の位置姿勢に基づいて、前記左カメラと右カメラとの間の相対的な位置姿勢の推定処理をし、
    前記追加の推定処理において、新たに位置姿勢が推定された画像に含まれる復元済みの特徴点に対応する特徴点の位置と、該復元済みの特徴点により復元された復元点の該画像への再投影点の位置との間の距離が閾値以上である場合、該復元点を、前記位置姿勢の推定処理において、該画像に対応する復元点として扱わない、
    撮像装置。
  2. 請求項1に記載の撮像装置において、
    前記制御部は、前記1回目の推定処理において、前記複数の画像の中で、対応する特徴点が最も多い2つの画像を選択し、該2つの画像に対応する前記位置姿勢を推定する、撮像装置。
  3. 請求項1又は2に記載の撮像装置において、
    前記制御部は、前記追加の推定処理において、位置姿勢が未推定である前記複数の画像の中で、復元済みの前記特徴点に対応する前記特徴点を最も多く含む画像を優先して位置姿勢を推定する、撮像装置。
  4. 請求項1から3までの何れか一項に記載の撮像装置において、
    前記制御部は、前記追加の推定処理を、複数の画像の中で、位置姿勢が未推定である画像が存在しないと判定するまで、実行する、撮像装置。
  5. 請求項1から4までの何れか一項に記載の撮像装置において、
    前記制御部は、前記相対的な位置姿勢の推定処理において、前記複数の画像の全ての画像に対応する推定済みの位置姿勢と、該全ての画像に対応する前記復元点とに基づいて、バンドル調整により該推定済みの位置姿勢を最適化する、撮像装置。
  6. 請求項1から5までの何れか一項に記載の撮像装置において、
    前記制御部は、前記追加の推定処理において、前記位置姿勢の推定からバンドル調整までの間に、未復元である特徴点の中で復元可能な特徴点を復元する、撮像装置。
  7. 請求項1から6までの何れか一項に記載の撮像装置を搭載した車両。
  8. 移動中の相対的な位置姿勢が定められた左カメラ及び右カメラが時系列的に生成した複数の画像から特徴点を抽出し、前記複数の画像において対応する特徴点を特定するステップと、
    前記複数の画像の中の2つの画像に含まれる前記特徴点の一部に基づいて前記2つの画像に対応する位置姿勢を推定し、推定した前記位置姿勢に基づいて前記2つの画像に含まれる前記特徴点を復元して復元点を取得する1回目の推定処理をするステップと、
    位置姿勢が未推定である前記画像と、該未推定である画像に含まれる前記復元した特徴点に対応する特徴点の少なくとも一部とに基づいて、該未推定である画像に対応する位置姿勢を推定し、推定した位置姿勢に基づいて該対応する特徴点を復元して復元点を取得する追加の推定処理をするステップと、
    前記追加の推定処理をするステップを繰り返し実行した後、前記複数の画像の少なくとも一部の画像に対応する推定済みの位置姿勢と、該少なくとも一部の画像に対応する前記復元点とに基づいて、バンドル調整により該推定済みの位置姿勢を最適化し、最適化後の位置姿勢に基づいて、前記左カメラと右カメラとの間の相対的な位置姿勢の推定処理をするステップと、
    前記追加の推定処理をするステップにおいて、新たに位置姿勢が推定された画像に含まれる復元済みの特徴点に対応する特徴点の位置と、該復元済みの特徴点により復元された復元点の該画像への再投影点の位置との間の距離が閾値以上である場合、該復元点を、前記位置姿勢の推定処理において、該画像に対応する復元点として扱わないステップと、を装置に実行させる、
    プログラム。
JP2019106319A 2019-06-06 2019-06-06 撮像装置、車両及びプログラム Pending JP2020201586A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019106319A JP2020201586A (ja) 2019-06-06 2019-06-06 撮像装置、車両及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019106319A JP2020201586A (ja) 2019-06-06 2019-06-06 撮像装置、車両及びプログラム

Publications (1)

Publication Number Publication Date
JP2020201586A true JP2020201586A (ja) 2020-12-17

Family

ID=73742729

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019106319A Pending JP2020201586A (ja) 2019-06-06 2019-06-06 撮像装置、車両及びプログラム

Country Status (1)

Country Link
JP (1) JP2020201586A (ja)

Similar Documents

Publication Publication Date Title
JP4814669B2 (ja) 3次元座標取得装置
US9967463B2 (en) Method for camera motion estimation and correction
US9589326B2 (en) Depth image processing apparatus and method based on camera pose conversion
JP5311016B2 (ja) ステレオカメラユニット及びステレオマッチング方法
JP6395506B2 (ja) 画像処理装置および方法、プログラム、並びに撮像装置
JP6110256B2 (ja) 対象物推定装置および対象物推定方法
WO2015198930A1 (ja) 測距装置および補正パラメータを用いた測距補正装置
JP2014074632A (ja) 車載ステレオカメラの校正装置及び校正方法
JP2007256029A (ja) ステレオ画像処理装置
JP7212486B2 (ja) 位置推定装置
WO2021070813A1 (ja) 誤差推定装置、誤差推定方法、誤差推定プログラム
JP2021106025A5 (ja)
KR102268094B1 (ko) 동적 입체 캘리브레이션을 위한 시스템 및 방법
JP2015179499A (ja) 視差値導出装置、機器制御システム、移動体、ロボット、視差値導出方法、およびプログラム
CN107945166B (zh) 基于双目视觉的待测物体三维振动轨迹的测量方法
JP2020201587A (ja) 撮像装置、車両及びプログラム
JP2021193340A (ja) 自己位置推定装置
JP2021051347A (ja) 距離画像生成装置及び距離画像生成方法
JP2020201586A (ja) 撮像装置、車両及びプログラム
JP2020035158A (ja) 姿勢推定装置およびキャリブレーションシステム
US10726528B2 (en) Image processing apparatus and image processing method for image picked up by two cameras
JP6459487B2 (ja) 画像処理装置、画像処理方法およびプログラム
WO2019058487A1 (ja) 3次元復元画像処理装置、3次元復元画像処理方法及び3次元復元画像処理プログラムを記憶したコンピュータ読み取り可能な記憶媒体
KR102479253B1 (ko) 차량용 카메라 영상 기반 공차 보정 방법
WO2014192061A1 (ja) 画像処理装置、画像処理方法及び画像処理プログラム