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

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

▶ トヨタ リサーチ インスティテュート,インコーポレイティドの特許一覧

特許7493032未知の関連付けを有する2Dから3Dラインに基づいた位置合わせ
<>
  • 特許-未知の関連付けを有する2Dから3Dラインに基づいた位置合わせ 図1
  • 特許-未知の関連付けを有する2Dから3Dラインに基づいた位置合わせ 図2
  • 特許-未知の関連付けを有する2Dから3Dラインに基づいた位置合わせ 図3
  • 特許-未知の関連付けを有する2Dから3Dラインに基づいた位置合わせ 図4
  • 特許-未知の関連付けを有する2Dから3Dラインに基づいた位置合わせ 図5
  • 特許-未知の関連付けを有する2Dから3Dラインに基づいた位置合わせ 図6A
  • 特許-未知の関連付けを有する2Dから3Dラインに基づいた位置合わせ 図6B
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-22
(45)【発行日】2024-05-30
(54)【発明の名称】未知の関連付けを有する2Dから3Dラインに基づいた位置合わせ
(51)【国際特許分類】
   G06T 7/35 20170101AFI20240523BHJP
   G06T 7/00 20170101ALI20240523BHJP
   G06T 7/80 20170101ALI20240523BHJP
【FI】
G06T7/35
G06T7/00 C
G06T7/80
【請求項の数】 18
(21)【出願番号】P 2022516219
(86)(22)【出願日】2020-09-14
(65)【公表番号】
(43)【公表日】2022-11-21
(86)【国際出願番号】 US2020050706
(87)【国際公開番号】W WO2021051073
(87)【国際公開日】2021-03-18
【審査請求日】2023-09-11
(31)【優先権主張番号】62/900,102
(32)【優先日】2019-09-13
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】16/834,466
(32)【優先日】2020-03-30
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】518102470
【氏名又は名称】トヨタ リサーチ インスティテュート,インコーポレイティド
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【弁理士】
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100092624
【弁理士】
【氏名又は名称】鶴田 準一
(74)【代理人】
【識別番号】100147555
【弁理士】
【氏名又は名称】伊藤 公一
(74)【代理人】
【識別番号】100123593
【弁理士】
【氏名又は名称】関根 宣夫
(74)【代理人】
【識別番号】100133835
【弁理士】
【氏名又は名称】河野 努
(72)【発明者】
【氏名】スティーブン エー.パーキソン
(72)【発明者】
【氏名】ジェフェリー エム.ウォールズ
(72)【発明者】
【氏名】ライアン ダブリュ.ウォルコット
(72)【発明者】
【氏名】モハマド サード
(72)【発明者】
【氏名】ライアン エム.ユースティス
【審査官】山田 辰美
(56)【参考文献】
【文献】米国特許出願公開第2013/0121564(US,A1)
【文献】特開2012-013660(JP,A)
【文献】特表2018-515825(JP,A)
【文献】高地 伸夫 Nobuo Kochi,三次元エッジに基づく点群と画像の融合処理による三次元モデリングとその建築物への応用 3D Modeling by Integrating Point Cloud and 2D Images through 3D Edge-Matching and Its Application to Architecture Modeling,電気学会論文誌C Vol.133 No.6 IEEJ,日本,一般社団法人電気学会 The Institute of Electrical Engineers of Japan,第133巻
【文献】榊原 静 Shizu Sakakibara,混合整数線形計画問題を用いた階層的な距離画像の位置合わせ Hierarchical Registration of Range Images using Mixed Integer Linear Programming,情報処理学会研究報告 Vol.2007 No.86 IPSJ SIG Technical Reports,日本,社団法人情報処理学会 Information Processing Society of Japan,第2007巻
【文献】STEFFEN GOEBBELS et al,line-based registration of photogrammetric point clouds with 3D city models by means of mixed integer linear programming,Proceedings of the 13th international joint conference on computer vision, imaging and computer graphics theory and applications,米国,IEEE,2018年,volume 4,299-306
【文献】P. David, et al,Simultaneous pose and correspondence determination using line features,2003 IEEE Computer Society Conference on Computer Vision and Pattern Recognition, 2003. Proceedings.,米国,IEEE,2003年,https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1211499
【文献】椛島 佑樹 Yuuki Kabashima,幾何学的整合性に基づくレンジデータとカラー画像の位置合わせ Mapping textures on 3D geometric model using geometrical constraints,情報処理学会研究報告 Vol.2006 No.25 IPSJ SIG Technical Reports,日本,社団法人情報処理学会 Information Processing Society of Japan,第2006巻
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00-7/90
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
システムであって、
環境の画像データをキャプチャするように構成された第1センサと、
前記環境のポイントクラウドデータをキャプチャするように構成された第2センサと、
前記第1センサ及び前記第2センサに通信自在に結合された演算装置と、
を有し、
前記演算装置は、
前記第1センサからの前記画像データ及び前記第2センサからの前記ポイントクラウドデータを受け取り、
前記画像データから1つ又は複数の2Dラインをパラメータ化し、
前記ポイントクラウドデータから1つ又は複数の3Dラインをパラメータ化し、
射影変換ベクトル及びデータ関連付けセットについて同時に解くために混合整数線形計画として定式化された位置合わせ問題を解くことにより、前記1つ又は複数の2Dラインを前記1つ又は複数の3Dラインとアライメントし、且つ、
前記射影変換ベクトルに基づいて前記ポイントクラウドデータとアライメントされた前記画像データを有するデータメッシュを生成するように、
構成されており
前記混合整数線形計画として定式化された前記位置合わせ問題を解くことは、L 1 ノルムを極小化するステップを有する、システム。
【請求項2】
前記演算装置は、
前記第1センサ及び前記第2センサ用の較正値を受け取り、前記第1センサが較正済みのセンサとなり、
前記第1センサ用の前記較正値及び前記射影変換ベクトルに基づいて前記第2センサ用の予想較正値を生成し、
前記第2センサ用の前記較正値が予め定義されたエラーのマージン内において前記予想較正値とマッチングしているかどうかを判定し、且つ、
前記第2センサ用の前記較正値が前記予め定義されたエラーのマージン内において前記予想較正値とマッチングしていないと判定することに応答して、前記第2センサが前記較正済みの第1センサを基準として較正されり、前記射影変換ベクトルに基づいて前記第2センサ用の前記較正値を更新するように、
更に構成されている、請求項1に記載のシステム。
【請求項3】
前記演算装置は、
前記第1センサ及び前記第2センサ用の較正値を受け取り、前記第2センサが較正済みのセンサとなり、
前記第2センサ用の前記較正値及び前記射影変換ベクトルに基づいて前記第1センサ用の予想較正値を生成し、
前記第1センサ用の前記較正値が、予め定義されたエラーのマージン内において前記予想較正値とマッチングしているかどうかを判定し、
前記第1センサ用の前記較正値が前記予め定義されたエラーのマージン内において前記予想較正値とマッチングしていないという判定に応答して、前記第1センサが前記較正済みの第2センサを基準として較正され、前記射影変換ベクトルに基づいて前記第1センサ用の前記較正値を更新するように、
更に構成されている、請求項1に記載のシステム。
【請求項4】
前記較正値は、外因性パラメータ及び内因性パラメータを含む、請求項3に記載のシステム。
【請求項5】
前記1つ又は複数の2Dラインと前記1つ又は複数の3Dラインの間のデータ関連付けは、前記データ関連付け及びニアレストネイバーヒューリスティックを定義する対応性に関する初期推測が前記位置合わせ問題を解くために適用されるように、当初既知ではない請求項1に記載のシステム。
【請求項6】
前記環境の前記画像データ内においてキャプチャされた前記環境の視野及び前記環境の前記ポイントクラウドデータ内においてキャプチャされた前記環境の視野は、オーバーラップした前記環境の視野の少なくとも一部分を含む、請求項1に記載のシステム。
【請求項7】
前記第2センサは、LIDARセンサ、RADARセンサ、又はRGB-Dカメラの少なくとも1つを有する、請求項1に記載のシステム。
【請求項8】
システムであって、
環境を定義するデータをキャプチャするように構成された第1センサであって、前記データは、画像データ又はポイントクラウドデータの少なくとも1つを有する、第1センサと、
前記第1センサに通信自在に結合された演算装置と、
を有し、
前記演算装置は、
前記第1センサからデータを受け取り、
前記環境のマップデータを取得し、
前記第1センサから受け取られた前記データから1つ又は複数の第1のラインをパラメータ化し、前記パラメータ化された1つ又は複数の第1のラインは2Dライン又は3Dラインであり、
前記マップデータから1つ又は複数の第2のラインをパラメータ化し、前記パラメータ化された1つ又は複数の第2のラインは前記パラメータ化された1つ又は複数の第1のラインが3Dラインのときは2Dラインであり、前記パラメータ化された1つ又は複数の第2のラインは前記パラメータ化された1つ又は複数の第1のラインが2Dラインのときは3Dラインであり、
射影変換ベクトル及びデータ関連付けセットについて同時に解くために混合整数線形計画として定式化された位置合わせ問題を解くことにより、前記第1センサから受け取られた前記データからパラメータ化された前記1つ又は複数の第1のラインを前記マップデータからパラメータ化された前記1つ又は複数の第2のラインとアライメントし、且つ、
前記射影変換ベクトルに基づいて前記マップデータとアライメントされた前記第1センサから受け取られた前記データを有するデータメッシュを生成するように、
構成されており
前記混合整数線形計画として定式化された前記位置合わせ問題を解くことは、L 1 ノルムを極小化するステップを有する、システム。
【請求項9】
前記演算装置は、
前記マップデータに対応するナビゲーション座標を受け取り、且つ、
前記環境の前記第1センサからの前記データがキャプチャされた座標を判定し、これにより、前記環境内の前記第1センサをローカライズするために、前記射影変換ベクトルを前記ナビゲーション座標に対して適用するように、
更に構成されている、請求項に記載のシステム。
【請求項10】
前記マップデータに対応する前記ナビゲーション座標は、前記第1センサからのデータとアライメントされた前記環境の観点の経度、緯度、高度を定義している、請求項に記載のシステム。
【請求項11】
前記第1センサは、カメラであり、且つ、前記データは、前記環境の画像データである、請求項に記載のシステム。
【請求項12】
前記第1センサによってキャプチャされた前記データは、前記環境の前記ポイントクラウドデータである、請求項に記載のシステム。
【請求項13】
前記マップデータは、前記環境の少なくとも1つの観点の画像データを含む、請求項に記載のシステム。
【請求項14】
前記マップデータは、前記環境の3Dモデルを含み、前記3Dモデルは、前記環境内の複数の場所からキャプチャされた画像データ又は前記ポイントクラウドデータの少なくとも1つを有する、請求項に記載のシステム。
【請求項15】
システムであって、
演算装置を有し、
前記演算装置は、
環境のカメラによってキャプチャされた画像データを取得し、
前記環境のポイントクラウドデータを取得し、
前記画像データから1つ又は複数の2Dラインをパラメータ化し、
前記ポイントクラウドデータからの1つ又は複数の3Dラインをパラメータ化し、
射影変換ベクトル及びデータ関連付けセットを同時に解くために混合整数線形計画として定式化された位置合わせ問題を解くことにより、前記画像データからパラメータ化された前記1つ又は複数の2Dラインを前記ポイントクラウドデータからパラメータ化された1つ又は複数の3Dラインとアライメントし、且つ、
前記射影変換ベクトルに基づいて前記ポイントクラウドデータとアライメントされた前記画像データを有するデータメッシュを生成するように、
構成されており
前記混合整数線形計画として定式化された前記位置合わせ問題を解くことは、L 1 ノルムを極小化するステップを有する、システム。
【請求項16】
前記画像データからパラメータ化された前記1つ又は複数の2Dラインと前記ポイントクラウドデータからパラメータ化された前記1つ又は複数の3Dラインの間のデータ関連付けは、前記データ関連付け及びニアレストネイバーヒューリスティックを定義する対応性に関する初期推測が前記位置合わせ問題を解くために適用されるように、当初既知ではない、請求項15に記載のシステム。
【請求項17】
前記環境の前記画像データ内においてキャプチャされた前記環境の視野及び前記環境の前記ポイントクラウドデータ内においてキャプチャされた前記環境の視野は、オーバーラップする前記環境の視野の少なくとも一部分を含む、請求項15に記載のシステム。
【請求項18】
前記環境に対応するデータをキャプチャするための1つ又は複数のセンサを有する車両を更に有し、前記1つ又は複数のセンサは、前記1つ又は複数のセンサによってキャプチャされたデータが前記演算装置に送信され且つこれによって処理される能力を有するように、前記演算装置に通信自在に結合されている、請求項15に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2019年9月13日付けで出願された米国仮特許出願第62/900,102号の利益又はこれに対する優先権を主張する2020年3月30日付けで出願された米国仮特許出願第16/834,466号の利益又はこれに対する優先権を主張するものであり、これらの特許文献のそれぞれのものの内容は、引用により、そのすべてが本明細書に包含される。
【0002】
本明細書は、一般に、既知の又は未知のデータ関連付けを有する2Dデータと3Dデータの間の剛体変換を判定するシステム及び方法に関する。更に詳しくは、本明細書は、2D及び3Dラインに基づいた位置合わせ(registration)を利用して環境内においてセンサを較正及び/又はローカライズ(localizing)するシステム及び方法を開示している。
【背景技術】
【0003】
2D画像データと3Dポイントクラウドデータの間の剛体変換の判定は、センサの較正及び以前のマップ内へのローカライゼーション(localization)を含む移動ロボット工学における用途を有する。2D-3D位置合わせに対する一般的な方式は、2Dラインと3Dラインデータの間の既知のデータ関連付けを仮定した最小二乗ソルバを使用しており、これらは、しばしば、ヒューリスティックフロントエンドによって提供されている。2D画像及び3Dポイントクラウドデータは、環境の相補的な表現を提供している。3Dポイントクラウドは、重要なメトリック情報を提供している一方で、2D画像は、環境の豊富な視覚的表現を報告している。撮像及びポイントクラウドセンサの間の剛体変換は、そのデータに対する幾何学的推論を効果的に実行するために正確に既知でなければならない。2Dから3Dへの位置合わせは、この変換の判定を追求する問題である。この問題に対する正確な解決策に依存するタスクは、カメラと光検出及び測距(LIDAR)センサの間の外因性較正を判定するステップと、カメラを3Dマップ内にローカライズするステップと、を含む。この問題は、2つの入力間の変換を推定する更に大きな位置合わせ問題のサブセットである。
【0004】
位置合わせ問題を解決する際には、剛体変換変数と2Dデータの部分と3Dデータの部分の間のデータ関連付けを表す変数という一般的に検討される2つの変数が存在している。データ関連付けは、位置合わせ問題に対するほとんどの方式において大きな役割を演じている潜在変数である。従来の方法は、既知のデータ関連付けの組によって位置合わせ問題を解決している。但し、変換又は関連付けとの関係における信頼性の高い知識が入手不能である際の状況においては、この仮定が問題となり得る。RANSAC(Random Sample Consensus)又はSoftPOSIT(Soft assine Pose from Orthography and Scaling with ITeration)アルゴリズムなどの未知の関連付けを取り扱うためのいくつかの問題が存在している一方で、これらの方法は、十分な正常値が見出される時点まで可能な関連付けをランダムにサンプリングすること又はそれぞれ最良の関連付けを見出すことと最良の変換を見出すことの間において反復的に切り替えることに依存している。
【0005】
従って、既知の又は未知の初期データ関連付けを有する2D及び3Dラインに基づいた位置合わせを利用することにより、マップデータによって定義された環境内においてセンサを較正する且つ/又はセンサをローカライズするシステム及び方法に対するニーズが存在している。
【発明の概要】
【0006】
一実施形態において、システムは、環境の画像データをキャプチャするように構成された第1センサと、環境のポイントクラウドデータをキャプチャするように構成された第2センサと、第1センサ及び第2センサに通信自在に結合された演算装置と、を含む。演算装置は、第1センサからの画像データ及び第2センサからのポイントクラウドデータを受け取るように、画像データから1つ又は複数の2Dラインをパラメータ化するように、ポイントクラウドデータから1つ又は複数の3Dラインをパラメータ化するように、射影変換ベクトル及びデータ関連付けセットについて同時に解くために混合整数線形計画として定式化された位置合わせ問題を解くことにより、1つ又は複数の2Dラインを1つ又は複数の3Dラインとアライメントするように、且つ、射影変換ベクトルに基づいてポイントクラウドデータとアライメントされた画像データを有するデータメッシュを生成するように、構成されている。
【0007】
いくつかの実施形態において、システムは、環境を定義するデータをキャプチャするように構成された第1センサを含み、この場合に、データは、画像データ又はポイントクラウドデータの少なくとも1つを有しており、且つ、演算装置は、第1センサに通信自在に結合されている。演算装置は、第1センサからデータを受け取るように、環境のマップデータを取得するように、第1センサから受け取られたデータから1つ又は複数のラインをパラメータ化するように、マップデータから1つ又は複数のラインをパラメータ化するように、射影変換ベクトル及びデータ関連付けセットについて同時に解くために混合整数線形計画として定式化された位置合わせ問題を解くことにより、第1センサから受け取られたデータからパラメータ化された1つ又は複数のラインをマップデータからパラメータ化された1つ又は複数のラインとアライメントするように、且つ、射影変換ベクトルに基づいてマップデータとアライメントされた第1センサから受け取られたデータを有するデータメッシュを生成するように、構成されている。
【0008】
いくつかの実施形態において、システムは、環境のカメラによってキャプチャされた画像データを取得するように、環境のポイントクラウドデータを取得するように、画像データから1つ又は複数のラインをパラメータ化するように、ポイントクラウドデータから1つ又は複数のラインをパラメータ化するように、射影変換ベクトル及びデータ関連付けセットについて同時に解くために混合整数線形計画として定式化された位置合わせ問題を解くことにより、画像データからパラメータ化された1つ又は複数のラインをポイントクラウドデータからパラメータ化された1つ又は複数のラインとアライメントするように、且つ、射影変換ベクトルに基づいてポイントクラウドデータとアライメントされた画像データを有するデータメッシュを生成するように、構成された演算装置を含む。
【0009】
本明細書において記述されている実施形態によって提供されるこれらの及び更なる特徴については、図面との関連における以下の詳細な説明に鑑み、更に十分に理解することができよう。
【0010】
図面において記述されている実施形態は、その特性が例示及び例証を目的としており、且つ、請求項によって定義されている主題を限定することを意図したものではない。例示用の実施形態に関する以下の詳細な説明は、以下の図面との関連において参照された際に理解することが可能であり、これらの図面においては、同一の構造が同一の参照符号によって示されており、且つ、図は、以下のとおりである。
【図面の簡単な説明】
【0011】
図1図1は、本明細書において図示及び記述されている1つ又は複数の実施形態による2D画像データ及び3Dポイントクラウドデータを取得し且つ2D画像データと3Dポイントクラウドデータの間の剛体変換を判定する例示用のシステムを示す。
【0012】
図2図2は、本明細書において図示及び記述されている1つ又は複数の実施形態による2D画像データと3Dポイントクラウドデータの間の剛体変換を判定する演算装置の例示用の概略図を示す。
【0013】
図3図3は、本明細書において図示及び記述されている1つ又は複数の実施形態による2D及び3Dデータの間の剛体変換を判定するシステムを実装する車両の例示用の概略図を示す。
【0014】
図4図4は、本明細書において図示及び記述されている1つ又は複数の実施形態によるカメラ、LIDARセンサ、又はRADARセンサを較正するために使用され得る射影変換ベクトルを生成するために2D画像データと3Dポイントクラウドデータの間の剛体変換を判定する例示用の方法のフロー図を示す。
【0015】
図5図5は、本明細書において図示及び記述されている1つ又は複数の実施形態によるカメラ、LIDARセンサ、又はRADARセンサをローカライズするために使用され得る射影変換ベクトルを生成するために2D画像データ及び3Dポイントクラウドデータの間の剛体変換を判定する例示用の方法のフロー図を示す。
【0016】
図6A図6Aは、Pribylにおいて記述されている方式に基づいた2D画像データからのパラメータ化されたラインと3Dポイントクラウドデータからのパラメータ化されたラインのアライメントの例示用の表現を示す。
【0017】
図6B図6Bは、本明細書において図示及び記述されている1つ又は複数の実施形態による2D画像データからのパラメータ化されたラインと3Dポイントクラウドデータからのパラメータ化されたラインのアライメントの例示用の表現を示す。
【発明を実施するための形態】
【0018】
本開示の実施形態は、2D画像データと3Dポイントクラウドデータの間の剛体変換の判定を対象としている。本明細書において記述されている2D画像データと3Dポイントクラウドデータの間の剛体変換を判定するシステム及び方法は、移動ロボット工学、自律型車両、自動化機器、製造組立ライン、及びこれらに類似したものなどの用途において実装することができる。2D画像データと3Dポイントクラウドデータの間の剛体変換を判定するプロセスは、センサ較正及び/又はマップデータによって定義された環境内におけるローカライゼーションなどの動作のためにこれらの用途によって利用することができる。
【0019】
更に詳しくは、本開示は、2D及び3Dデータの間の正しい変換及びデータ関連付けについて同時に解くために混合整数線形計画(MILP)として定式化された安定したラインに基づいた2D-3D位置合わせアルゴリズムを対象としている。本明細書において定式化されているラインに基づいた2D-3D位置合わせアルゴリズムは、異常値に対して安定しており、既成の線形問題プログラムソルバが使用され得ることから実装において多様性を供給しており、且つ、2Dラインと3Dラインの間の関連付けが未知である際に動作する能力を有する。更には、以下において更に詳細に記述されているように、2D画像データと3Dポイントクラウドの間の剛体変換を判定する本システム及び方法は、ラインに基づいた位置合わせに対するその他の方式よりも性能が優れていることが実証されている。
【0020】
本明細書において記述されている実施形態は、環境から2D画像データ及び3Dポイントクラウドデータをキャプチャするように構成されたシステム及び方法を含む。2D画像データ及び3Dポイントクラウドデータは、運転環境、建物内部、又はロボット装置又はシステムが実装され得るその他の場所から収集することができる。いくつかの実施形態において、システムは、2D画像データ及び3Dポイントクラウドデータから1つ又は複数のラインを判定するように構成されたパラメータ化ロジックを含む。パラメータ化ロジックによって判定されたラインを使用することにより、システムは、位置合わせ問題を定式化し且つ/又は解くように構成されたアライメントロジックを実装することができる。位置合わせ問題は、射影変換ベクトル及びデータ関連付けセットが判定され得るように、MILPとして定式化されている。本明細書において開示されている方式は、関連付けが線形問題におけるバイナリ変数として定式化される方法を含んでおり、これは、位置合わせ問題がMILPに変換されることを許容している。位置合わせ問題、パラメータ化ロジック、及びアライメントロジックについては、本明細書において更に詳細に説明する。更には、アライメントロジックは、射影変換ベクトルに基づいて3Dポイントクラウドデータとアライメントされた2D画像データを有するデータメッシュを生成している。本明細書において使用されている「データメッシュ」は、位置合わせ問題に対する解に基づいて3Dポイントクラウドとの2D画像データのアライメントを定義するデータ表現又はデータフォーマットの任意の形態を有することができる。即ち、データメッシュは、3Dポイントクラウドデータとの2D画像データのアライメントを表すモデル、行列、その内部において注釈が付与された深さデータを有する画像、又はこれらに類似したものであってよい。
【0021】
射影変換ベクトル及びデータ関連付けセットは、データを2つのモード(2Dライン及び3Dライン)間において最も一貫性を有する状態にする変換を定義している。本明細書において開示されている射影動作の固有の側面は、動作がラインを保持しているという点にある。これは、3Dポイントクラウド空間内の任意の3つの共線点が射影動作の後においても共線性を有していることを意味している。これに加えて、本開示の別の固有の側面は、データ関連付けが未知である際に(即ち、画像データからの2Dラインと3Dポイントクラウドデータからの3Dラインの間の関連付けが未知である際に)、システムがニアレストネイバーヒューリスティックを実装し得るという点にある。
【0022】
いくつかの実施形態において、射影ベクトル及びデータ関連付けセットは、カメラ、LIDARセンサ、RADARセンサ、又はこれらに類似したものなどのセンサに対して較正動作を実行するために使用することができる。更には、射影変換ベクトル及びデータ関連付けセットは、環境内においてセンサをローカライズするために使用することもできる。例えば、カメラによってキャプチャされた2D画像データと3Dポイントクラウドデータを有するマップデータの間の射影変換ベクトル及びデータ関連付けセットを判定することにより、カメラ(並びに/或いは、カメラに結合された車両)の場所を環境内においてローカライズすることができる。即ち、3Dポイントクラウドデータに対する2D画像データのアライメント動作のために3Dポイントクラウドデータの初期の既知の視点を使用することにより、結果的に得られる射影変換ベクトルは、3Dポイントクラウドデータの初期の既知の視点からマップデータ内において表現されている環境の2D画像データがキャプチャされた場所までの平行運動及び回転運動を付与している。いくつかの例において、環境のマップデータは、環境の3Dモデルを定義する3Dポイントクラウドであってよい。2D画像データ及び3Dポイントクラウドの間の剛体変換を判定するシステム及び方法の少なくともこれらの実装形態については、本明細書において更に詳細に説明する。
【0023】
次に、図面を参照して更に詳細にこれらのシステム及び方法について以下において説明するが、これらの図面においては、同一の参照符号が同一の構造を参照している。
【0024】
図1を参照すれば、2D画像データ及び3Dポイントクラウドデータを取得し且つ2D画像データと3Dポイントクラウドデータの間の剛体変換を判定する例示用のシステム100が示されている。図1は、ネットワーク160を介して電子コントローラ130及びカメラ142、LIDARセンサ144、及び/又はRADARセンサ146などの1つ又は複数のセンサに通信自在に結合された演算装置102を含むシステム100を示している。電子コントローラ130、カメラ142、LIDARセンサ144、及びRADARセンサ146は、ネットワークインターフェイスハードウェア150を介してネットワーク160に通信自在に結合することができる。図1は、ネットワーク160を介してその他のコンポーネントに通信自在に結合された演算装置102を示しているが、これは一例に過ぎない。いくつかの実施形態において、演算装置102は、例えば、通信経路120を介してその他のコンポーネントに通信自在に直接的に結合されている。即ち、いくつかの実施形態においては、演算装置102、電子コントローラ130、カメラ142、LIDARセンサ144、及びRADARセンサ146は、それぞれ、車両、ロボット、又はその他の装置内において実装することができる。
【0025】
通信経路120は、例えば、導電性ワイヤ、導電性トレース、光導波路、又はこれらに類似したものなどの信号を送信する能力を有する任意の媒体から形成することができる。また、通信経路120は、電磁放射及びその対応する電磁波が伝播する空間をも意味し得る。更には、通信経路120は、信号を送信する能力を有する媒体の組合せから形成することもできる。一実施形態において、通信経路120は、プロセッサ、メモリ、センサ、入力装置、出力装置、及び通信装置などのコンポーネントへの電気データ信号の送信を許容するように協働する導電性トレース、導電性ワイヤ、コネクタ、及びバスの組合せを有する。従って、通信経路120は、バスを有し得る。これに加えて、「信号」という用語は、媒体を通じて移動する能力を有するDC、AC、正弦波、三角波、方形波、振動、及びこれらに類似したものなどの波形(例えば、電気的、光学的、磁気的、機械的、又は電磁的なもの)を意味していることに留意されたい。通信経路120は、システム100の様々なコンポーネントを通信自在に結合している。本明細書において使用されている「通信自在に結合される」という用語は、結合されたコンポーネントが、例えば、導電性媒体を介した電気信号、空気を介した電磁信号、光導波路を介した光信号、及びこれらに類似したものなどの信号を互いに交換する能力を有することを意味している。
【0026】
更に図1を参照すれば、演算装置102は、ディスプレイ102a、処理ユニット102b(例えば、少なくともプロセッサ及びメモリを有するもの)、及び入力装置102cを含んでいてもよく、これらのそれぞれは、1つに且つ/又はネットワーク160に通信自在に結合することができる。演算装置102は、2D画像データと3Dポイントクラウドデータの間の剛体変換を判定するプロセスを実行するように構成することができる。演算装置102については、図2を参照して更に詳細に説明する。
【0027】
電子コントローラ130は、車両ECU又はロボット制御装置であってよい。電子コントローラ130は、プロセッサ132と、一時的ではないコンピュータ可読メモリ134と、を含む。従って、プロセッサ132は、制御ユニット、集積回路、マイクロチップ、コンピュータ、又は任意のその他の演算装置であってよい。プロセッサ132は、通信経路120によってシステム100のその他のコンポーネントに通信自在に結合されている。従って、通信経路120は、任意の数のプロセッサ132を互いに通信自在に結合することができると共に通信経路120に結合されたコンポーネントが分散演算環境内において動作することを許容することができる。具体的には、コンポーネントのそれぞれは、データを送信及び/又は受信し得るノードとして動作することができる。図1に示されている実施形態は、単一のプロセッサ132を含むが、その他の実施形態は、複数のプロセッサ132を含み得る。
【0028】
システム100の一時的ではないコンピュータ可読メモリ134は、通信経路120に結合され、且つ、プロセッサ132に通信自在に結合されている。一時的ではないコンピュータ可読メモリ134は、RAM、ROM、フラッシュメモリ、ハードドライブ、或いは、機械可読命令がプロセッサ132によってアクセス及び実行可能となるように機械可読命令を保存する能力を有する任意の一時的はないメモリ装置を有することができる。機械可読命令セットは、例えば、プロセッサ132によって直接的に実行され得る機械言語或いは機械可読命令にコンパイル又はアセンブルされ得る且つ一時的ではないコンピュータ可読メモリ134内において保存され得るアセンブリ言語、オブジェクト指向のプログラミング(OOP)、スクリプティング言語、マイクロコード、などのような任意の世代(例えば、1GL、2GL、3GL、4GL、又は5GL)の任意のプログラミング言語において記述された1つ又は複数のロジック又はアルゴリズムを有することができる。或いは、この代わりに、機械可読命令セットは、フィールドプログラム可能なゲートアレイ(FPGA)構成又は用途固有の集積回路(ASIC)、或いは、これらの均等物を介して実装されたロジックなどのように、ハードウェア記述言語(HDL)において記述することもできる。従って、本明細書において記述されている機能は、事前プログラミングされたハードウェア要素として、或いは、ハードウェア及びソフトウェアコンポーネントの組合せとして、任意の従来のコンピュータプログラミング言語において実装することができる。図1において示されている実施形態は、単一の一時的ではないコンピュータ可読メモリ134を含むが、その他の実施形態は複数のメモリモジュールを含み得る。
【0029】
電子コントローラ130は、カメラ142に通信自在に結合することができる。カメラ142は、紫外波長帯域、可視光波長帯域、及び/又は赤外波長帯域において放射を検出する能力を有する検知装置のアレイを有する任意の装置であってよい。カメラ142は、任意の分解能を有し得る。カメラ142は、全方向性カメラ又はパノラマカメラであってよい。いくつかの実施形態において、ミラー、魚眼レンズ、又は任意のその他のタイプのレンズなどの1つ又は複数の光学コンポーネントをカメラ142のそれぞれに光学的に結合することができる。いくつかの実施形態において、カメラ142は、Intel(登録商標) RealSense(商標) Depth CameraなどRGB-Dタイプカメラであってもよく、或いは、環境内の深さ計測値をキャプチャする且つ画像データに基づいて環境内の深さを判定するために分析される能力を有する画像をキャプチャする能力を有する類似の装置であってもよい。本明細書において記述されている実施形態において、カメラ142は、環境の2D画像データをキャプチャすることができる。例えば、カメラ142は、車両の周りの環境の2D画像データをキャプチャするために、図3を参照して図示及び記述されているように、車両に結合することができる。
【0030】
また、システム100は、光検出及び測距(LIDAR)センサ144を含むこともできる。LIDARセンサ144は、通信経路120に、且つ、ネットワークインターフェイスハードウェア150を介して演算装置102に、通信自在に結合されている。LIDARセンサ144は、LIDARセンサ144からパルス化レーザー光を反射する物体までの距離を計測するためにパルス化レーザー光を使用している。LIDARセンサ144は、そのプリズム様の動作が従来の回転LIDARセンサ144と関連する重量及びサイズの複雑さを伴うことなしに広い視野を許容している光学フェーズドアレイ装置として構成されたものを含む少ない数の可動部分を有する又は可動部分をまったく有していない半導体装置として製造することができる。LIDARセンサ144は、飛行時間を計測するために特に適しており、この場合に、飛行時間は、LIDARセンサ144の視野内に存在している物体に伴う距離計測と相関し得る。LIDARセンサ144によって放出されたパルス化レーザー光の様々な波長の戻りの時間差を算出することにより、ターゲット又は環境のデジタル3D表現(例えば、ポイントクラウド表現)を生成することができる。LIDARセンサ114によって放出されるパルス化レーザー光は、一形態においては、電磁スペクトルの赤外線レンジ内において又はこの近傍において動作させることができるが、この場合に、一例は、約905ナノメートルの放射を放出している。LIDARセンサ144などのセンサは、車両の周りの環境に関する詳細な3D空間情報のみならず、特に、GPSシステム又はジャイロスコープに基づいた慣性ナビゲーションユニット(INU、図示されてはいない)などの地理参照装置或いは関係する推測航法システムのみならず、一時的ではないコンピュータ可読メモリ134(その独自の又は電子コントローラ130及び/又は演算装置102のメモリ)との関連において使用されている際に、車両のマッピング、ナビゲーション、及び自律型動作のためのシステムのサービスにおけるこのような情報の使用法を提供するために、車両によって使用することができる。
【0031】
いくつかの実施形態において、システム100の1つ又は複数のセンサは、RADARセンサ146を含むことができる。RADARセンサ146は、通信経路120及び電子コントローラ130及び/又は演算装置102に通信自在に結合されている。RADARセンサ146は、物体の距離、角度、及び相対速度を判定するために高周波を使用する方法を利用したシステムである。いくつかの実施形態において、RADARセンサ146は、ターゲット又は環境のデジタル3D表現(例えば、ポイントクラウド表現)を生成することができる。RADARセンサ146は、車両の環境に関する情報を取得するためにカメラ142、LIDARセンサ144、及び/又はその他のセンサとの関連において使用することができる。
【0032】
RADARセンサ146は、一般に、規制されていない狭帯域及び極広帯域のスペクトルの両方において24GHz帯域内の周波数を利用している。但し、新しいスペクトル規制は、24GHz帯域の使用を節減しており、且つ、従って、いくつかのシステムは、いまや、77~81GHz帯域内の周波数を利用することができる。これらの帯域は、一般に、自動車のRADARセンサにおいて使用されているが、本明細書において記述されているシステム及び方法の範囲は、これらの周波数レンジに限定されるものではない。一般に、RADARセンサ146は、高エネルギーのピングを放出し、且つ、自身が反射を受け取るのに所要する時間を計測している。但し、いくつかのシステムは、システムの帯域幅に跨る周波数掃引である「チャープ」を送信する周波数変調された連続波を実装している。この結果、信号の経路内の物体は、このチャープを反射して戻す。トランスミッタから外に放出されたチャープの周波数と受け取られた反射信号の周波数の間の差は、任意の一時点におけるトランスミッタから物体までの距離に対して線形の関係を有する。
【0033】
RADARセンサ146を使用するローカライゼーションは、この距離計測の分解能及び精度に部分的に依存している。分解能は、物体が2つの物体として弁別可能となる前に物体がどれだけ離隔する必要があるかを決定し得る。精度は、単に距離計測の精度である。距離計測の誤差及び最小分解可能距離は、チャープの帯域幅に反比例している。利用可能な周波数の幅に起因して、例えば、24GHzから77GHzへの移動は、距離分解能及び精度における20倍だけ良好な性能を実現することができる。77GHzシステムの距離分解能は、24GHzレーダーの場合に75cmであるのに対して、4cmであることが可能であり、これは、1つに近接した複数の物体の相対的に良好な検出を許容し得る。
【0034】
図1は、RADARセンサ146を示しているが、本明細書において記述されているいくつかのシステム100は、RADARセンサ146を含んでいなくてもよい。或いは、この代わりに、システム100は、様々な視野内の車両の環境内の物体を検出するために車両上の様々な場所において位置決めされた複数のRADARセンサ146を含むこともできる。これに加えて、「センサ」に対する本明細書における参照は、上述のセンサ、カメラ142、LIDARセンサ144、RADARセンサ146、又は当業者に既知の任意のその他のセンサの任意のものを参照し得ることを理解されたい。
【0035】
更に図1を参照すれば、システム100は、通信経路120に結合された且つ電子コントローラ130に通信自在に結合されたネットワークインターフェイスハードウェア150を含むことができる。ネットワークインターフェイスハードウェア150は、ネットワーク160を介してデータを送信及び/又は受信する能力を有する任意の装置であってよい。従って、ネットワークインターフェイスハードウェア150は、任意の有線又は無線通信を送信及び/又は受信する通信トランシーバを含み得る。例えば、ネットワークインターフェイスハードウェア150は、アンテナ、モデム、LANポート、Wi-Fiカード、WiMaxカード、モバイル通信ハードウェア、近距離通信ハードウェア、衛星通信ハードウェア、及び/又はその他のネットワーク及び/又は装置と通信するために任意の有線又は無線ハードウェアを含むことができる。一実施形態において、ネットワークインターフェイスハードウェア150は、Bluetooth(登録商標)無線通信プロトコルに従って動作するように構成されたハードウェアを含む。別の実施形態において、ネットワークインターフェイスハードウェア150は、Bluetooth通信をネットワーク160との間において送信及び受信するBluetooth送信/受信モジュールを含むことができる。
【0036】
いくつかの実施形態において、システム100は、ネットワーク160を介して近傍の車両、その他のロボット、及び/又はその他の演算装置(例えば、演算装置102などの遠隔配置された装置)に通信自在に結合することができる。いくつかの実施形態において、ネットワーク160は、システム100と近傍の車両を通信自在に結合するためにBluetooth技術を利用するパーソナルエリアネットワークである。その他の実施形態において、ネットワーク160は、1つ又は複数のコンピュータネットワーク(例えば、パーソナルエリアネットワーク、ローカルエリアネットワーク、又はワイドエリアネットワーク)、セルラーネットワーク、衛星ネットワーク、及び/又は全地球測位システム、並びに、これらの組合せを含み得る。従って、システム100は、ワイヤを介して、ワイドエリアネットワークを介して、ローカルエリアネットワークを介して、パーソナルエリアネットワークを介して、セルラーネットワークを介して、衛星ネットワークを介して、或いは、これらに類似したものを介して、ネットワーク160に通信自在に結合することができる。適切なローカルエリアネットワークは、有線Ethernet、並びに/或いは、例えば、Wi-Fiなどの無線技術を含み得る。適切なパーソナルエリアネットワークは、例えば、IrDA、Bluetooth、Wireless USB、Z-Wave、ZigBee(登録商標)、及び/又はその他の近距離通信プロトコルなどの無線技術を含むことができる。同様に、適切なパーソナルエリアネットワークも、例えば、USB及びFireWire(登録商標)などの有線コンピュータバスを含むことができる。適切なセルラーネットワークは、限定を伴うことなしに、LTE、WiMAX、UMTS、CDMA、及びGSMなどの技術を含む。
【0037】
次に図2を参照すれば、2D画像データ238Aと3Dポイントクラウドデータ238Bの間の剛体変換を判定する演算装置102の例示用の概略図が示されている。演算装置102は、車両、ロボットシステム、又はこれらに類似したものなどの共通装置内において統合されていてもよく、或いは、遠隔配置されていてもよく、且つ、カメラ142、LIDARセンサ144、RADARセンサ146、及び/又はこれらに類似したものなどのセンサに通信自在に結合されていてもよい。演算装置102は、ローカルインターフェイス220を介して通信自在に結合されたいくつかのコンポーネントを含むことができる。図1を参照して開示及び記述されている通信経路120と同様に、ローカルインターフェイス220は、演算装置102のコンポーネントの間における通信を促進するためにバス又はその他のインターフェイスとして実装することができる。
【0038】
演算装置102は、プロセッサ232、メモリモジュール234、2D画像データ238A及び/又は3Dポイントクラウドデータ238Bを保存し得るデータストレージコンポーネント236、入出力ハードウェア240、及びネットワークインターフェイスハードウェア242を含むことができる。メモリモジュール234は、機械可読メモリであってよい(これらは、一時的ではないプロセッサ可読メモリとも呼称され得る)。メモリモジュール234は、揮発性及び/又は不揮発性メモリとして構成されてもよく、且つ、従って、ランダムアクセスメモリ(SRAM、DRAM、及び/又はその他のタイプのランダムアクセスメモリを含む)、フラッシュメモリ、レジスタ、コンパクトディスク(CD)、デジタルバーサタイルディスク(DVD)、及び/又はその他のタイプのストレージコンポーネントを含むことができる。メモリモジュール234は、図1を参照して開示及び記述されている一時的ではないコンピュータ可読メモリ134に類似したコンポーネントであってよい。これに加えて、メモリモジュール234は、オペレーティングロジック234A、2Dパラメータ化ロジック234B、3Dパラメータ化ロジック234C、アライメントロジック234D、較正ロジック234E、及び/又はローカライゼーションロジック234Fを保存するように構成することができる(これらのそれぞれは、一例として、コンピュータプログラム、ファームウェア、又はハードウェアとして実施することができる)。
【0039】
プロセッサ232は、(データストレージコンポーネント136及び/又はメモリモジュール234などから)プログラミング命令を受け取り且つ実行するように構成された1つ又は複数の任意の処理コンポーネントを含むことができる。プロセッサ232は、図1を参照して開示及び記述されているプロセッサ132に類似したコンポーネントであってよい。命令は、データストレージコンポーネント236及び/又はメモリモジュール234内において保存されている機械可読命令セットの形態を有することができる。入出力ハードウェア240は、モニタ、キーボード、マウス、プリンタ、カメラ、マイクロフォン、スピーカ、及び/又はデータを受け取り、送信し、且つ/又は提示するその他の装置を含むことができる。ネットワークインターフェイスハードウェア242は、モデム、LANポート、Wi-Fiカード、WiMaxカード、モバイル通信ハードウェア、及び/又はその他のネットワーク及び/又は装置と通信するその他のハードウェアなどの任意の有線又は無線ネットワーキングハードウェアを含むことができる。ネットワークインターフェイスハードウェア242は、図1を参照して開示及び記述されているネットワークインターフェイスハードウェア150に類似したコンポーネントであってよい。
【0040】
データストレージコンポーネント236は、演算装置102の近くにおいて又はこれから離れた状態において存在していてもよく、且つ、演算装置102及び/又はその他のコンポーネントによるアクセスのためにデータの1つ又は複数の断片を保存するように構成され得ることを理解されたい。図1に示されているように、データストレージコンポーネント236は、2D画像データ238A及び3Dポイントクラウドデータ238Bを保存することができる。2D画像データ238Aは、カメラ142などのシステム100の1つ又は複数のセンサからキャプチャされた環境の画像を含むことができる。3Dポイントクラウドデータ238Bは、空間内のデータポイントの1つ又は複数の組を含むことができる。ポイントクラウドは、一般に、その周りの物体の外部表面上の多くのポイントを計測する3Dスキャナによって生成されている。例えば、3Dスキャナは、LIDARセンサ144、RADARセンサ146、RGB-Dカメラシステム、又はその他のセンサを含むことができる。いくつかの実施形態において、2D画像データ238A及び/又は3Dポイントクラウドデータ238Bは、データセット内において注釈が付与されたパラメータ化されたライン基準を含むことができる。いくつかの実施形態において、3Dポイントクラウドデータ238Bは、環境の3Dモデル又はマップデータを表すことができる。
【0041】
いくつかの実施形態において、2D画像データ238A及び/又は3Dポイントクラウドデータ238Bは、環境を観察しているセンサ(例えば、カメラ142、LIDARセンサ144、及び/又はRADARセンサ146)から受け取られている。本明細書において更に詳しく説明するように、システム100は、2D画像データ238Aをその対応する3Dポイントクラウドデータ238Bとアライメントすることを追及している。また、アライメントプロセスは、2D画像データ238Aと3Dポイントクラウドデータ238Bの間における変換とも呼称されている。通常、変換は、例えば、2D画像データ238Aをその対応する3Dポイントクラウドデータ238Bとアライメントするなどのように、データの1つの組を別のものとアライメントする平行運動及び/又は回転運動値を提供する位置合わせ問題に対する解を判定するステップを含む。また、いくつかの実施形態において、アライメントプロセスは、データをスケーリングするステップを含むこともできる。例えば、2D画像データ238Aは、対応する3Dポイントクラウドデータ238Bのものよりも大きな倍率でキャプチャされる場合がある。従って、アライメントを実現するために、データの両方の組の1つのスケーリングが必要となり得る。
【0042】
次にメモリモジュール234を参照すれば、メモリモジュール234は、演算装置102及び/又はシステム100内において動作を実行するロジックを含む。また、いくつかのケースにおいては、メモリモジュール234は、2D画像データ238A及び/又は3Dポイントクラウドデータ238Bなどのデータを保存することもできる。例えば、メモリモジュール234は、オペレーティングロジック234A、2Dパラメータ化ロジック234B、3Dパラメータ化ロジック234C、アライメントロジック234D、較正ロジック234E、及び/又はローカライゼーションロジック234Fを含むことができる。オペレーティングロジック234Aは、システム及び/又は電子コントローラ130のコンポーネントを管理し且つこれらとインターフェイスしているオペレーティングシステム及び/又はその他のソフトウェアを含むことができる。
【0043】
2Dパラメータ化ロジック234Bは、2D画像データ238A内のラインをパラメータ化するロジックを含む。例えば、2D画像データ238A内のラインをパラメータ化することは、エッジ(即ち、相対的に別個のグレーレベルを有する領域の間の境界)を識別する方法を含み得る。その他の方法は、入力画像内の細いラインの画像記述を生成する畳み込みに基づいた技法を含み得る。例えば、畳み込みカーネルは、特定の幅及び/又は向きのラインの存在を検出するようにチューニングすることができる。画像データから2Dラインをパラメータ化するために実装されている方法とは無関係に、2Dパラメータ化ロジック234Bは、3Dポイントクラウドデータ238Bからのパラメータ化されたラインとのアライメントプロセスにおいて使用される画像を表す複数のラインを生成している。
【0044】
3Dパラメータ化ロジック234Cは、3Dポイントクラウドデータ238B内のラインをパラメータ化するロジックを含む。例えば、限定を伴うことなしに、3Dパラメータ化ロジック234Cは、3Dポイントクラウドデータ238Bからのパラメータ化されたラインLがプリュッカー座標によって表される方式を実装することができる。例えば、psが3Dラインセグメントの開始を表す3次元空間
【数1】
内のポイントであり、且つ、peが終端である場合には、対応するプリュッカー座標は、
【数2】
として演算することが可能であり、この場合に、pe×psは、ラインの法線を表し、且つ、pe-psは、ラインの方向である。プリュッカー座標を変換するために、以下の6×6ライン変換行列τABが使用されており、ここで、
【数3】
であり、ここで、Rは、回転行列を表し、且つ、[・]xは、
【数4】
における平行運動を歪対称行列に変換する動作を表している。従って、3Dパラメータ化ロジック234Bは、2D画像データ238Aからのパラメータ化されたラインとのアライメントプロセスにおいて使用される3Dポイントクラウドデータ238Bを表す複数のラインを生成している。
【0045】
更に図2を参照すれば、アライメントロジック234Dは、2D及び3Dパラメータ化されたラインデータを取得するように、且つ、平行運動及び/又は回転運動値を判定するように、且つ、任意選択により、2D及び3Dラインデータの間のデータ関連付けを判定するように、構成されている。また、上述のように、アライメントプロセスは、2D画像データ238Aと3Dポイントクラウドデータ238Bの間における変換とも呼称されている。通常、変換は、例えば、2D画像データ238Aをその対応する3Dポイントクラウドデータ238Bとアライメントするなどのように、データの1つの組を別のものとアライメントする平行運動値及び/又は回転運動値を提供する位置合わせ問題に対する解を判定するステップを含んでいる。本開示においては、アライメントロジック234Dは、カメラ内部行列Kによって提供される3Dから2Dへの射影が付与された場合に、基準フレーム
【数5】
内の3Dポイントの組
【数6】
を2Dピクセルの組
【数7】
の基準フレームAに変換する正しい変換TABを判定するように構成されている。問題の次元を低減するために、相対的に疎らな特徴を変換のために使用することができる。これに加えて、射影動作とも呼称され得るアライメント動作は、ラインを保持している。これは、
【数8】
内の任意の3つの共線点が射影演算子の後にも共線性を有していることを意味している。
【0046】
換言すれば、アライメントロジック234Dは、以下の式1として表現される固有の位置合わせ問題を解くことを追及しており、
【数9】
ここで、pは射影変換ベクトルを表し、Iはデータ関連付けセットを表し、nは3Dラインを表し、且つ、mは2Dラインを表し、且つ、Mは計測マトリックスを表している。
【0047】
例えば、プリュッカー座標の第1の半分として入手可能である画像ライン法線と3Dラインの法線の間の距離を極小化することを追及するラインに基づいた位置合わせに対する方式に鑑み、変換行列は、以下の式2として表現することができる。
AB=[R[t]xR] 式2
【0048】
以下の式3の等式表現を踏襲することにより、且つ、行列Pをpにベクトル化することにより、3Dライン
【数10】
と2Dライン
【数11】
の間の関連付けについて、以下の式4として構造化された18×2計測行列M{n,m}が実現される。
【数12】
【0049】
関連付けが既知である実施形態においては、これらは、組Aとして入力され、これが上述の式1として表現された位置合わせ問題を生成している。但し、組が提供されない場合にも、ニアレストネイバーヒューリスティックを使用することにより、射影変換P用の初期推測を生成することができる。いずれの場合にも、アライメントロジック234Dは、P又はIの以前のものが利用不能である際には、式1を極小化するように構成されている。
【0050】
式1における位置合わせの定式化に対する利点は、残差(即ち、結果におけるエラー)が射影パラメータとの関係において線形であるという点にある。いくつかの方式は、M{n,m}を単一の行列に組み立て且つ組み合わせられた計測行列のヌル空間を見出すべくSVD分解を実行することにより、L2ノルムについてこの問題を解くステップを含み得る一方で、本明細書において教示されている相対的に安定した方式は、式1のL1ノルムを極小化するというものである。
【0051】
更には、アライメントロジック234Dが射影変換ベクトルp及びデータ関連付けセットIについて解くためには、ラインLm及びlnが関連付けられているかどうかを通知するバイナリ変数Smnが必要とされていると判定された。即ち、ラインが関連付けられている場合には、値は0である。最後に、L1に等しいスラック変数αを追加することにより、以下の式6として表現される混合整数線形計画を生成することができる。
【数13】
【0052】
いくつかの実施形態において、任意の異常値状況を取り扱うべく、等式
【数14】
は、sのその他の次元にわたる加算に対する類似の変更を伴って、
【数15】
に変更することができる。更には、いくつかの例におけるアライメントロジック234Dは、視野制約を活用するように更に構成することができる。例えば、3DラインLmについてマッチングが存在している場合には、そのある程度の部分が画像プレーン内に射影されているはずである。これは、以下の式である式7及び式8により、近似することができる。
【数16】
【0053】
いくつかの実施形態において、アライメントロジック234Dは、MILPがSE(2)に制約されるように構成されている。これは、問題の次元を低減し且つ解を見出すプロセスを加速させる。例えば、平行運動は、y軸及びz軸に沿って制約されることが可能であり、且つ、回転は、3Dポイントクラウドデータ238B及び2D画像データ238Aを定義する座標空間のx軸を中心として制約されることが可能である。これは、式9において以下に示されているように、変換行列Pに対して制約を追加することにより、実現することができる。
【数17】
【0054】
更に図2を参照すれば、アライメントロジック234Dは、2D及び3Dパラメータ化されたラインデータを取得するように、且つ/又は、平行運動及び/又は回転運動値を判定するように、且つ、任意選択により、2D及び3Dラインデータの間のデータ関連付けを判定するように、構成されている。上述の式は、(例えば、平行運動及び回転運動値を定義している)射影変換ベクトル及びデータ組合せセットを取得するためにアライメントロジック234Dによって実装されており、これは、3Dラインに対応する2Dラインを識別している。上述のように、射影変換ベクトル及び2D及び3Dラインデータの間のデータ関連付けを判定する方法は、MILPとして位置合わせ問題を構成し且つ解くことにより、実現されている。MILPとして定式化された位置合わせ問題を解くことに対するいくつかの利点は、データ関連付けが定式化の前に判明している必要がなく、MILP用の制約の構成を簡単な方式で実行することが可能であり、結果を維持又は改善しつつ、MILPを実装時間を低減し得る容易に入手可能なソルバを使用して解くことができると共に、結果をセンサの較正及びローカライゼーション動作のために使用することができるという点にある。
【0055】
アライメントロジック234Dがシステム100によって実行されたら、演算装置102は、射影変換ベクトルに基づいて較正動作又はローカライゼーション動作を更に実行することができる。較正動作は、別のセンサ用の較正パラメータを判定するために射影変換ベクトルと共に1つの較正済みのセンサのデータを利用するように構成された較正ロジック234Eによって定義することができる。例えば、図3を参照すれば、車両110は、カメラ142及びLIDARセンサ144を含むことができる。カメラ142は、環境の2D画像データ238Aをキャプチャするように構成されている。LIDARセンサ144は、同一の環境の3Dポイントクラウドデータ238B又は車両110の周りの環境の少なくともオーバーラップした部分をキャプチャするように構成されている。カメラ142又はLIDARセンサ144が較正されているが、その他の較正が検証及び/又は更新される必要があるケースが存在し得る。カメラ142が較正されている、即ち、カメラ142の外因性及び/又は内因性較正値が判明しているケースにおいては、較正ロジック234Eは、LIDARセンサ144の外因性及び/又は内因性較正値を較正(即ち、検証及び/又は更新)するように実装することができる。カメラ142及びLIDARセンサ144は、いずれも、環境の個々のデータをキャプチャし、且つ、2D画像データ238A及び3Dポイントクラウドデータ238Bをシステム100に入力している。システム100は、例えば、図2を参照して記述されているように、電子コントローラ130を通じて且つ/又は演算装置102を通じて、例えば、図4を参照して記述及び図示されているように、方法を実装しており、これについては、本明細書において更に詳細に説明する。射影変換ベクトルが、それぞれ、カメラ142及びLIDARセンサ144によってキャプチャされた2D画像データ238A及び3Dポイントクラウドデータ238Bに基づいて判定されたら、較正ロジック234Eは、LIDARセンサ144の較正を検証及び更新するために射影変換ベクトルにおいて判定された値を利用している。換言すれば、2D画像データ238Aと3Dポイントクラウドデータ238Bの間に平行運動及び/又は回転運動が存在していると射影変換ベクトルが判定した場合には、平行運動及び/又は回転運動値は、将来の3Dポイントクラウドデータ238Bがカメラ142によってキャプチャされた2D画像データ238Aとアライメントするように、LIDARセンサ144内において実装することができる。また、LIDARセンサ144の較正が既知であり、且つ、カメラ142の較正が検証及び/又は更新される必要がある場合には、反対の動作を実行することができる。
【0056】
いくつかの実施形態において、2D画像データ238Aと3Dポイントクラウドデータ238Bの間における剛体変換を判定するシステム及び方法は、環境内の環境の2D画像又は3Dポイントクラウドをキャプチャするセンサをローカライズするために使用することができる。本明細書において記述されているローカライゼーション動作は、ナビゲーション座標により且つ視覚的に(例えば、2D画像データ238Aにより)且つ/又は空間的に(例えば、3Dポイントクラウドデータ238Bにより)環境を定義している以前のマップデータを使用することができる。例えば、車両110(図3)は、環境の2D画像データ238A又は3D画像データをキャプチャするカメラ142及び/又はLIDARセンサ144を含むことができる。図5を参照して更に詳細に記述されるローカライゼーション動作は、キャプチャされた2D画像データ238A又は3Dポイントクラウドデータ238Bと以前のマップデータの間の射影変換ベクトルを判定するためにローカライゼーションロジック234Fを実装している。以前のマップデータは、ナビゲーション座標によって定義された既知の場所からの環境の2D画像データ238Aであってよい(例えば、ナビゲーション座標は、経度、緯度、高度、ロール、ピッチ、及び/又はヨーを含み得る)。ローカライゼーションロジック234Fは、射影変換ベクトルを以前のマップデータのナビゲーション座標に適用することによって(即ち、例えば、平行運動及び/又は回転運動値を適用することによって)2D画像データ238A又は3Dポイントクラウドデータ238Bがキャプチャされた場所からナビゲーション座標を判定している。換言すれば、以前のマップデータのナビゲーション座標及び射影変換ベクトルにおいて定義されている平行運動及び回転運動値が付与された場合に、2D画像データ238A又は3Dポイントクラウドデータ238Bがキャプチャされた座標を判定することができる。従って、車両、ロボット、又はその他のシステムのローカライゼーションを判定することができる。
【0057】
上述のロジックモジュールについては、本明細書の図4及び図5との関係において更に詳細に説明する。但し、以上において開示されているロジックモジュールは、独立したユニットとして記述されているが、実施形態は、それぞれのものの様々な組合せ及び一部分を含み得ることに留意されたい。更には、ロジックモジュールは、演算装置102を参照して記述されているが、類似のロジックモジュールは、電子コントローラ130によって実装することもできる。
【0058】
次に図3を参照すれば、2D及び3Dデータの間における剛体変換を判定するシステム100を実装した車両110の例示用の概略図が示されている。示されているように、例えば、限定を伴うことなしに、カメラ142は、ウィンドシールドの上方において配設され、且つ、車両110の前面において環境を観察するように位置決めされている。但し、1つ又は複数のカメラ142が、車両110の周りの環境の2D画像データ238Aをキャプチャするために車両110上において実装され得ることから、これは、一例に過ぎない。車両110は、1つ又は複数のLIDARセンサ144を更に含むことができる。図示のように、LIDARセンサ144は、ヘッドランプアレイを有するように実装されているが、LIDARセンサ144のLIDARセンサは、車両110の周りの環境の3Dポイントクラウドデータ238Bをキャプチャするために車両110上の様々な場所において実装され得ることから、これもまた、一例に過ぎない。車両110は、1つ又は複数のRADARセンサ146及びシステムを更に含むことができる。図示のように、RADARセンサ146は、ヘッドランプアレイを有するように実装されているが、RADARセンサ146のRADARセンサは、車両110の周りの環境の3Dポイントクラウドデータ238Bをキャプチャするために車両110上の様々な場所において実装され得ることから、これもまた、一例に過ぎない。また、車両110は、車両110上の1つ又は複数のセンサからデータをキャプチャするように、演算装置102などのネットワークインターフェイスハードウェア150を介して外部演算リソースと通信するように、且つ/又は、本明細書において記述されているように較正及び/又はローカライゼーション動作を実行するように、構成された電子コントローラ130を含むこともできる。即ち、いくつかの実施形態において、電子コントローラ130は、本明細書において記述されている方法の1つ又は複数を実装することができる。車両110は、自律型車両又は半自律型車両であってよい。これに加えて、図3は、車両110を示しているが、いくつかの実施形態は、モバイルロボット、自動化機器、製造組立ライン、及びこれらに類似したものであってもよい。
【0059】
システム100及び射影変換ベクトルを生成するために2D画像データ238Aと3Dポイントクラウドデータ238Bの間の剛体変換を判定することに基づいたシステム100によって実行される動作についての理解と共に、関係する方法について更に十分に説明するために図4及び図5を参照されたい。2つの例示用の方法について説明する前に、これらの方法のそれぞれは、2D画像データ238A及び3Dポイントクラウドデータ238Bからパラメータ化されたラインを判定すること、射影変換ベクトル及び/又はデータ関連付けセットについて同時に解くために混合整数線形計画として定式化された位置合わせ問題を解くことにより、2D画像データ238A及び3Dポイントクラウドデータ238Bからのパラメータ化されたラインをアライメントすること、及び射影変換ベクトルに基づいて3Dポイントクラウドデータ238Bとアライメントされた2D画像データ238Aを有するデータメッシュを生成及び/又は出力すること、という本明細書において記述されている固有の方式に基づいていることを理解されたい。更には、2D画像データ238A及び3Dポイントクラウドデータ238Bは、リアルタイム又はほぼリアルタイムにおいて収集されてもよく、或いは、過去の時点からキャプチャされたデータセットのコピーを保持するデータストレージから取得されてもよいことを理解されたい。
【0060】
図4を参照すれば、カメラ142、LIDARセンサ144、又はRADARセンサ146を較正するために使用され得る射影変換ベクトルを生成するための2D画像データ238A(図2)及び3Dポイントクラウドデータ238B(図2)の間の剛体変換を判定する例示用の方法のフロー図400が示されている。方法を示すフロー図400は、図1及び図2を参照して図示及び記述されているシステム100によって実装することができる。
【0061】
フロー図400を参照すれば、ブロック402において、カメラ142(図1)又はその他の画像検知装置は、環境の2D画像データ238Aをキャプチャするように構成することができる。カメラ142によってキャプチャされた2D画像データ238Aは、データストレージコンポーネント236又は類似の装置内において保存することができる。ブロック404において、システム100は、例えば、2D画像データ238Aから1つ又は複数の2Dラインをパラメータ化するために2Dラインパラメータ化ロジック234Bを実装している。ブロック406において、LIDARセンサ144(図1)又はRADARセンサ146(図1)などのセンサは、環境の3Dポイントクラウドデータ238B(図2)をキャプチャするように構成することができる。センサによってキャプチャされた3Dポイントクラウドデータ238B(図2)は、データストレージコンポーネント236又は類似の装置内において保存することができる。ブロック408において、システム100は、例えば、3Dポイントクラウドデータ238Bから1つ又は複数の3Dラインをパラメータ化するために3Dラインパラメータ化ロジック234C(図2)を実装している。「2Dライン」及び「3Dライン」という用語は、それぞれ、2D画像データ238A及び3Dポイントクラウドデータ238Bからのパラメータ化されたラインに対する参照であり、且つ、必ずしもラインとの関係における次元の意味を内包してはいないことを理解されたい。即ち、2D画像データ238Aからのパラメータ化されたラインは、2次元空間又は3次元空間内において定義することができる。同様に、3Dポイントクラウドデータ238Bからのパラメータ化されたラインも、2次元空間又は3次元空間内において定義され得るが、相対的に頻繁に、3次元空間内において定義されることになる。
【0062】
剛体変換の判定を要するデータの2つの組(例えば、2D画像データ238A及び3Dポイントクラウドデータ238B)についてパラメータ化されたラインが生成されたら、システム100は、ブロック410において、アライメントロジック234Dを実装している。即ち、システム100は、ブロック410において、射影変換ベクトル及びデータ関連付けセットについて同時に解くために混合整数線形計画として定式化された位置合わせ問題を解くことにより、1つ又は複数の2Dラインを1つ又は複数の3Dラインとアライメントしている。更に詳細に上述されているように、1つ又は複数の2Dラインを1つ又は複数の3Dラインとアライメントするプロセスは、式6のL1ノルムを極小化するステップを含むことができる。位置合わせ問題を解く、即ち、1つ又は複数の2Dラインを1つ又は複数の3Dラインとアライメントする、ことの結果として、システム100は、射影変換ベクトル及びデータ関連付けセットを生成している。射影変換ベクトルは、2Dラインを3Dラインとアライメントするための平行運動及び回転運動値を定義している。データ関連付けセットは、2Dラインと3Dラインの間の対応性を識別している。
【0063】
いくつかの実施形態において、データ関連付けは、パラメータ化プロセスが完了した後に未知である。このような例においては、データ関連付けを定義する対応性について初期推測が実施されてもよく、且つ、位置合わせ問題を解く際に使用されるデータ関連付けを確立するために、ニアレストネイバーヒューリスティックが提供されてもよい。
【0064】
いくつかの実施形態において、ブロック410において、射影変換ベクトルがアライメントステップによって判定されたら、システム100は、1つ又は複数の3Dラインとの間の1つ又は複数の2Dラインのアライメントから判定された射影変換ベクトルから平行運動値又は回転運動値の少なくとも1つを出力することができる。いくつかの実施形態において、射影変換ベクトルは、システム100内のセンサ用の較正動作を実行するために更に利用されている。従って、ブロック420において、システム100は、較正済みのセンサの較正値を取得又は受領することができる。較正済みのセンサは、2D画像データ238Aを生成したセンサ(例えば、カメラ142)又は3Dポイントクラウドデータ238Bを生成したセンサ(例えば、LIDARセンサ144又はRADARセンサ146)であってよい。ブロック430において、システム100は、その他のセンサの較正値を取得又は受領してもよく、この場合に、センサは、較正値の検証及び/又は更新を要するものである。ブロック440において、システム100は、較正済みのセンサからの較正値及び射影変換ベクトルに基づいて、検証対象のセンサ用の予想較正値を生成することができる。換言すれば、射影変換ベクトルは、2つのセンサ(即ち、較正済みのセンサ及び検証対象のセンサ)が将来においてアライメントされる2D画像データ238A及び3Dポイントクラウドデータ238Bを生成するように、較正済みのセンサの較正済みの値が調節されるべき方式について有用な情報を提供している。
【0065】
例えば、カメラ142は、車両を基準として特定の位置(例えば、x座標、y座標、z座標、ロール、ピッチ、及びヨー)から環境を観察するように車両110上において位置決めすることができる。また、LIDARセンサ144も、カメラの視野のものと少なくとも部分的にオーバーラップした車両の周りの環境のエリアを観察するように車両110上において実装することができる。較正済みの環境において、両方のセンサは、その視野がオーバーラップしている場合に、空間内の同一のポイントに対するデータを生成することになる。但し、設置の際に又は時間に伴って、LIDARセンサ144は、較正されていない状態になる場合があり、或いは、フィールドにおける使用に起因してその較正について検証を必要とする場合がある。同一の内容は、カメラ142についても当て嵌まり得るが、この例を目的とした場合には、カメラ142が較正済みのセンサであり、且つ、LIDARセンサ144が検証及び/又は更新対象のセンサである。
【0066】
ブロック440を更に参照すれば、システム100は、予想された較正値が検証対象のセンサの較正値にマッチングしているかどうかを判定している。値が、例えば、エラーの予め定義されたマージン内にあると検証された場合には、検証が完了しており、且つ、システム100は、較正のプロセスを完了している。但し、予想された較正値が、検証対象のセンサの実施の較正値との比較の際に予め定義されたエラーのマージンを充足していない際には、システム100は、ブロック460において、検証対象のセンサの較正値を更新している。更新は、射影変換ベクトルに基づいて検証対象のセンサの現時点の較正値を調節するステップを含み得る。調節され得る較正値は、内因性及び外因性値を含む。いくつかの例において、センサの較正が調節可能となり得ない場合には、システム100は、データ変換プロセスを実装してもよく、この場合には、センサによって収集されたデータが、後から射影変換ベクトルに基づいて変換されている。
【0067】
次に図5を参照すれば、カメラ142(図1)、LIDARセンサ144(図1)、又はRADARセンサ146(図1)をローカライズするために使用され得る射影変換ベクトルを生成するための2D画像データ238A(図2)と3Dポイントクラウドデータ238B(図2)の間の剛体変換を判定する例示用の方法のフロー図500が示されている。ブロック502において、システム100は、環境の2D画像データ238A又は3Dポイントクラウドデータ238Bを生成するために、カメラ142、LIDARセンサ144、RADARセンサ146、又はこれらに類似したものなどのセンサを使用してデータをキャプチャしている。環境の2D画像データ238A又は3Dポイントクラウドデータ238Bは、データストレージコンポーネント236(図2)又は類似の装置内において保存することができる。ブロック504において、システム100は、例えば、2D画像データ238Aから1つ又は複数の2Dラインをパラメータ化するために2Dラインパラメータ化ロジック234B(図2)を実装し、或いは、3Dポイントクラウドデータ238Bから1つ又は複数の3Dラインをパラメータ化するために3Dラインパラメータ化ロジック234C(図2)を実装している。
【0068】
ブロック506において、システム100は、環境のマップデータを受領又は取得している。マップデータは、環境を定義する3Dポイントクラウドデータ238B又は2D画像データ238Aの編集物であってよい。マップデータは、本明細書においては、マップデータがローカライゼーションの動作の前のなんらかの時点において生成され得るという事実を参照し、「以前のマップデータ」と呼称されている場合がある。いくつかの実施形態において、マップデータは、複数の斜視図が選択され得る環境の3Dモデルである。斜視図は、それぞれ、経度、緯度、高度、ロール、ピッチ、及び/又はヨーなどのナビゲーション座標によって定義することができる。システム100は、センサがデータ(例えば、2D画像又は3Dポイントクラウド)をキャプチャした際に環境内においてセンサが配置されている場所を判定するために、センサによってキャプチャされたデータと位置合わせするようにマップデータ内の斜視図を選択することができる。この動作は、本明細書においては、ローカライゼーションと呼称されている。
【0069】
いくつかの実施形態において、例えば、ブロック502及び506においてキャプチャされたデータは、2つのステージにおいて完了させることができる。第1ステージにおいては、車両がルートを走行し、且つ、全地球測位システム(GPS)、慣性計測ユニット(IMU)、LIDARセンサ144、及びカメラ142からのデータが収集され、且つ、環境の3Dライン特徴のマップを生成するためにオフライン同時ローカライゼーション及びマッピング(SLAM)システム内において組み合わせられている。第2ステージにおいては、車両は、評価において使用するための2Dライン特徴検出を収集するために、ルートを再度走行している。
【0070】
ブロック508において、システム100は、例えば、マップデータのフォーマット(即ち、2D画像データ238Aであるのか又は3Dポイントクラウドデータ238Bであるか)に応じて、マップデータから1つ又は複数の2Dラインをパラメータ化するために2Dラインパラメータ化ロジック234B(図2)を実装するか、或いは、マップデータから1つ又は複数の3Dラインをパラメータ化するために3Dラインパラメータ化ロジック234C(図2)を実装している。パラメータ化されたラインが、剛体変換の判定対象のデータの2つの組(例えば、マップデータ及び2D画像データ238A又は3Dポイントクラウドデータ238B)について生成されたら、システム100は、ブロック510において、アライメントロジック234Dを実装している。
【0071】
即ち、システム100は、ブロック510において、射影変換ベクトル及びデータ関連付けセットについて同時に解くために混合整数線形計画として定式化された位置合わせ問題を解くことにより、2D画像データ238A又は3Dポイントクラウドデータ238Bから得られた1つ又は複数のラインをマップデータから得られた1つ又は複数のラインとアライメントしている。更に詳細に上述されているように、アライメントするプロセスは、式6のL1ノルムを極小化するステップを含む。位置合わせ問題を解いた結果として、システム100は、射影変換ベクトル及びデータ関連付けセットを生成している。射影変換ベクトルは、2D画像データ238A又は3Dポイントクラウドデータ238Bから得られたラインをマップデータから得られたラインとアライメントするための平行運動及び回転運動値を定義している。
【0072】
いくつかの実施形態においては、ブロック510において、射影変換ベクトルがアライメントステップによって判定されたら、システム100は、1つ又は複数の2Dラインを1つ又は複数の3Dラインとアライメントすることから判定された射影変換ベクトルから平行運動値又は回転運動値の少なくとも1つを出力することができる。いくつかの実施形態において、射影変換ベクトルは、環境内のセンサのローカライゼーション動作を実行するために更に利用されている。従って、ブロック520において、システム100は、センサデータとの間のアライメントのために使用されるマップデータの観点のナビゲーション座標を取得又は受領することができる。例えば、観点は、マップデータ(例えば、予め定義された場所からの環境の3Dポイントクラウド)の場所(例えば、経度、緯度、及び/又は高度)及び視点(例えば、ロール、ピッチ、及び/又はヨー)を記述することができる。
【0073】
ブロック530において、システム100は、ローカライゼーションロジック234F(図2)を実装することができる。ローカライゼーションロジック234Fは、環境内の2D画像データ238A又は3Dポイントクラウドデータ238Bをキャプチャするセンサの場所を判定している。ローカライゼーションロジック234Fは、射影変換ベクトルをセンサデータとのマップデータのアライメントのために使用される以前のマップデータの観点に対応するナビゲーション座標に適用することにより(例えば、平行運動及び/又は回転運動値を適用することにより)、これを実現することができる。換言すれば、マップデータのナビゲーション座標及び射影変換ベクトル内において定義された平行運動及び回転運動値が付与された際に、環境の2D画像データ238A又は3Dポイントクラウドデータ238Bがキャプチャされた座標を判定することができる。従って、環境内の車両、ロボット、又はその他のシステムのローカライゼーションを判定することができる。
【0074】
上述のプロセスのステップは、本開示の目的を依然として実現しつつ、省略されてもよく、或いは、様々な順序において実行されてもよいことを理解されたい。本明細書において記述されている機能ブロック及び/又はフローチャート要素は、機械可読命令に変換することができる。非限定的な例として、機械可読命令は、(例えば、ハイパーテキストマークアップ言語、拡張可能マークアップ言語、などのような)解析対象の記述的テキスト、(ii)アセンブリ言語、(iii)コンパイラによってソースコードから生成されたオブジェクトコード、(iv)インタープリタによる実行のために任意の適切なプログラミング言語からの構文を使用して記述されたソースコード、(v)ジャストインタイムコンパイラによるコンパイル及び実行用のソースコード、などのような任意のプログラミングプロトコルを使用して記述することができる。或いは、この代わりに、機械可読命令は、フィールドプログラム可能なゲートアレイ(FPGA)構成、又は用途固有の集積回路(ASIC)、又はこれらの均等物を介して実装されたロジックなどのように、ハードウェア記述言語(HDL)において記述することもできる。従って、本明細書において記述されている機能は、事前プログラミングされたハードウェア要素として、或いは、ハードウェア及びソフトウェアコンポーネントの組合せとして、任意の従来のコンピュータプログラミング言語において実装することができる。
【0075】
更には、上述の2つの方法は、一般に、較正プロセス及びローカライゼーションプロセスを参照しているが、2D画像データ238A及び3Dポイントクラウドデータ238Bからラインをパラメータ化し、且つ、次いで、射影変換ベクトル及びデータ関連付けセットについて同時に解くために混合整数線形計画として定式化された位置合わせ問題を解くことにより、1つ又は複数の2Dラインを1つ又は複数の3Dラインとアライメントする基礎をなす概念は、全般的に同一である。
【0076】
混合整数線形計画として定式化された位置合わせ問題を利用して2D画像データと3Dポイントクラウドデータの間の剛体変換を判定する本概念によって提供されている改善との関係における更なる理解のために、本明細書において開示されている方式とProceedings of the British Machine Vision Conference in 2016において公開された「Camera pose estimation from lines using Plucker coordinates」という名称のPribyl他(以下においては、「Pribyl」と呼称する)において記述されている方式の間において評価を実施した。図6A及び図6Bは、3Dポイントクラウドデータからのパラメータ化されたラインとの間の2D画像データからのパラメータ化されたラインの、位置合わせとも呼称される、アライメントの例示用の表現を提供している。具体的には、図6Aは、Pribylにおいて記述されている方式に基づいた2D画像データからのパラメータ化されたライン及び3Dポイントクラウドデータからのパラメータ化されたラインのアライメントの例示用の表現を提供している。図6Bは、本明細書において記述されているシステム及び方法に基づいた2D画像データからのパラメータ化されたライン及び3Dポイントクラウドデータからのパラメータ化されたラインのアライメントの例示用の表現を提供している。同時に観察された際に、本明細書において記述されているシステム及び方法は、2D画像データからのパラメータ化されたラインと3Dポイントクラウドデータからのパラメータ化されたラインの間の改善されたアライメントを供給していることが明白である。
【0077】
図6A及び図6Bにおいて、短破線は、2D画像データからのパラメータ化されたラインを表し、且つ、長破線は、3Dポイントクラウドデータからのパラメータ化されたラインを表している。これに加えて、実線の太い線は、2D画像データからのパラメータ化されたラインと3Dポイントクラウドデータからのパラメータ化されたラインの間の変換又はデータ関連付けを表している。上述のように、目的は、2D画像データからのパラメータ化されたラインと3Dポイントクラウドデータからのパラメータ化されたラインをアライメントすることにある。
【0078】
本明細書において記述されているシステム及び方法並びにPribylにおいて開示されている方式の性能を評価するために、公的に入手可能なデータセットOxford VGG Multiview Dataset (URL: https://www.robots.ox.ac.uk/~vgg/data/mview/)を利用した。Oxfordの「Corridor」Datasetを本方式及びPribylにおける方式を利用して処理した。Pribylは、L2ノルムを極小化することにより、その費用関数を解いている一方で、本方式は、Pribylとは異なる費用関数である、その費用関数のL1ノルムを極小化している(例えば、混合整数線形計画、式6)。本明細書において記述されているシステム及び方法を使用してアライメントされたパラメータ化されたライン710のアライメントと共にパラメータ化されたライン610のアライメントを観察することにより、パラメータ化されたライン710が、パラメータ化されたライン610よりも緊密にアライメントされていることが明白である。これに加えて、本明細書において記述されているシステム及び方法を使用してアライメントされたパラメータ化されたライン720のアライメントと共にパラメータ化されたライン620のアライメントを観察することにより、パラメータ化されたライン720が、パラメータ化されたライン620よりも緊密にアライメントされていることが明白である。更には、本明細書において記述されているシステム及び方法を使用してアライメントされたパラメータ化されたライン730のアライメントと共にパラメータ化されたライン630のアライメントを観察することにより、パラメータ化されたライン730が、パラメータ化されたライン630よりも緊密にアライメントされていることが明白である。これらは、Pribylにおける方式との比較において本明細書において記述されているシステム及び方法を通じて実現される相対的に良好なアライメントのいくつかの例であるに過ぎない。
【0079】
以下の表1は、図6A及び図6Bにおいて示されている評価の結果を更に示している。
【表1】
【0080】
従って、本明細書において記述されている実施形態は、2D画像データと3Dポイントクラウドデータの間の剛体変換を判定するシステム及び方法を対象としていることを理解されたい。本明細書において記述されている2D画像データと3Dポイントクラウドデータの間の剛体変換を判定するシステム及び方法は、移動ロボット工学、自律型車両、自動化機器、製造組立ライン、及びこれらに類似したものなどの用途において実装することができる。2D画像データ及び3Dポイントクラウドデータの間の剛体変換を判定するプロセスは、以前のマップの環境におけるセンサ較正及び/又はローカライゼーションなどの動作のためのこれらの用途によって利用することができる。実施形態において、システム及び方法は、2D画像データ及び3Dポイントクラウドデータからパラメータ化されたラインを判定するステップと、射影変換ベクトル及び/又はデータ関連付けセットについて同時に解くために混合整数線形計画として定式化された位置合わせ問題を解くことにより、2D画像データ及び3Dポイントクラウドデータからのパラメータ化されたラインをアライメントするステップと、射影変換ベクトルに基づいて3Dポイントクラウドデータとアライメントされた2D画像データを有するデータメッシュを生成及び/又は出力するステップと、を含む。
【0081】
「ほぼ(substantially)」及び「約(about)」という用語は、本明細書においては、定量的比較、値、計測値、又はその他の表現に帰せられ得る不確実性の固有の程度を表すために利用され得ることに留意されたい。また、これらの用語は、定量的表現が、対象の主題の基本的機能における変化を結果的にもたらすことなしに記述された基準から変化し得る程度を表すために本明細書において利用されている。
【0082】
特定の実施形態が本明細書において図示及び記述されているが、様々なその他の変更及び変形が、特許請求された主題の精神及び範囲を逸脱することなしに、実施され得ることを理解されたい。更には、特許請求された主題の様々な態様が本明細書において記述されているが、このような態様は、組合せにおいて利用される必要はない。従って、添付の請求項は、特許請求された主題の範囲に含まれているすべてのこのような変更及び変形をカバーすることが意図されている。
上述の実施形態は下記のようにも記載され得るが下記には限定されない。
[構成1]
システムであって、
環境の画像データをキャプチャするように構成された第1センサと、
前記環境のポイントクラウドデータをキャプチャするように構成された第2センサと、
前記第1センサ及び前記第2センサに通信自在に結合された演算装置と、
を有し、
前記演算装置は、
前記第1センサからの前記画像データ及び前記第2センサからの前記ポイントクラウドデータを受け取り、
前記画像データから1つ又は複数の2Dラインをパラメータ化し、
前記ポイントクラウドデータから1つ又は複数の3Dラインをパラメータ化し、
射影変換ベクトル及びデータ関連付けセットについて同時に解くために混合整数線形計画として定式化された位置合わせ問題を解くことにより、前記1つ又は複数の2Dラインを前記1つ又は複数の3Dラインとアライメントし、且つ、
前記射影変換ベクトルに基づいて前記ポイントクラウドデータとアライメントされた前記画像データを有するデータメッシュを生成するように、
構成されている、システム。
[構成2]
前記演算装置は、
前記第1センサ及び前記第2センサ用の較正値を受け取り、前記第1センサが較正済みのセンサとなり、
前記第1センサ用の前記較正値及び前記射影変換ベクトルに基づいて前記第2センサ用の予想較正値を生成し、
前記第2センサ用の前記較正値が予め定義されたエラーのマージン内において前記予想較正値とマッチングしているかどうかを判定し、且つ、
前記第2センサ用の前記較正値が前記予め定義されたエラーのマージン内において前記予想較正値とマッチングしていないと判定することに応答して、前記第2センサが前記較正済みの第1センサを基準として較正されり、前記射影変換ベクトルに基づいて前記第2センサ用の前記較正値を更新するように、
更に構成されている、構成1に記載のシステム。
[構成3]
前記演算装置は、
前記第1センサ及び前記第2センサ用の較正値を受け取り、前記第2センサが較正済みのセンサとなり、
前記第2センサ用の前記較正値及び前記射影変換ベクトルに基づいて前記第1センサ用の予想較正値を生成し、
前記第1センサ用の前記較正値が、予め定義されたエラーのマージン内において前記予想較正値とマッチングしているかどうかを判定し、
前記第1センサ用の前記較正値が前記予め定義されたエラーのマージン内において前記予想較正値とマッチングしていないという判定に応答して、前記第1センサが前記較正済みの第2センサを基準として較正され、前記射影変換ベクトルに基づいて前記第1センサ用の前記較正値を更新するように、
更に構成されている、構成1に記載のシステム。
[構成4]
前記較正値は、外因性パラメータ及び内因性パラメータを含む、構成3に記載のシステム。
[構成5]
前記混合整数線形計画として定式化された前記位置合わせ問題を解くことは、L 1 ノルムを極小化するステップを有する、構成1に記載のシステム。
[構成6]
前記1つ又は複数の2Dラインと前記1つ又は複数の3Dラインの間のデータ関連付けは、前記データ関連付け及びニアレストネイバーヒューリスティックを定義する対応性に関する初期推測が前記位置合わせ問題を解くために適用されるように、当初既知ではない構成1に記載のシステム。
[構成7]
前記環境の前記画像データ内においてキャプチャされた前記環境の視野及び前記環境の前記ポイントクラウドデータ内においてキャプチャされた前記環境の視野は、オーバーラップした前記環境の視野の少なくとも一部分を含む、構成1に記載のシステム。
[構成8]
前記第2センサは、LIDARセンサ、RADARセンサ、又はRGB-Dカメラの少なくとも1つを有する、構成1に記載のシステム。
[構成9]
システムであって、
環境を定義するデータをキャプチャするように構成された第1センサであって、前記データは、画像データ又はポイントクラウドデータの少なくとも1つを有する、第1センサと、
前記第1センサに通信自在に結合された演算装置と、
を有し、
前記演算装置は、
前記第1センサからデータを受け取り、
前記環境のマップデータを取得し、
前記第1センサから受け取られた前記データから1つ又は複数のラインをパラメータ化し、
前記マップデータから1つ又は複数のラインをパラメータ化し、
射影変換ベクトル及びデータ関連付けセットについて同時に解くために混合整数線形計画として定式化された位置合わせ問題を解くことにより、前記第1センサから受け取られた前記データからパラメータ化された前記1つ又は複数のラインを前記マップデータからパラメータ化された前記1つ又は複数のラインとアライメントし、且つ、
前記射影変換ベクトルに基づいて前記マップデータとアライメントされた前記第1センサから受け取られた前記データを有するデータメッシュを生成するように、
構成されている、システム。
[構成10]
前記演算装置は、
前記マップデータに対応するナビゲーション座標を受け取り、且つ、
前記環境の前記第1センサからの前記データがキャプチャされた座標を判定し、これにより、前記環境内の前記第1センサをローカライズするために、前記射影変換ベクトルを前記ナビゲーション座標に対して適用するように、
更に構成されている、構成9に記載のシステム。
[構成11]
前記マップデータに対応する前記ナビゲーション座標は、前記第1センサからのデータとアライメントされた前記環境の観点の経度、緯度、高度を定義している、構成10に記載のシステム。
[構成12]
前記第1センサは、カメラであり、且つ、前記データは、前記環境の画像データである、構成9に記載のシステム。
[構成13]
前記第1センサによってキャプチャされた前記データは、前記環境の前記ポイントクラウドデータである、構成9に記載のシステム。
[構成14]
前記マップデータは、前記環境の少なくとも1つの観点の画像データを含む、構成9に記載のシステム。
[構成15]
前記マップデータは、前記環境の3Dモデルを含み、前記3Dモデルは、前記環境内の複数の場所からキャプチャされた画像データ又は前記ポイントクラウドデータの少なくとも1つを有する、構成9に記載のシステム。
[構成16]
システムであって、
演算装置を有し、
前記演算装置は、
環境のカメラによってキャプチャされた画像データを取得し、
前記環境のポイントクラウドデータを取得し、
前記画像データから1つ又は複数のラインをパラメータ化し、
前記ポイントクラウドデータからの1つ又は複数のラインをパラメータ化し、
射影変換ベクトル及びデータ関連付けセットを同時に解くために混合整数線形計画として定式化された位置合わせ問題を解くことにより、前記画像データからパラメータ化された前記1つ又は複数のラインを前記ポイントクラウドデータからパラメータ化された1つ又は複数のラインとアライメントし、且つ、
前記射影変換ベクトルに基づいて前記ポイントクラウドデータとアライメントされた前記画像データを有するデータメッシュを生成するように、
構成されている、システム。
[構成17]
前記混合整数線形計画として定式化された前記位置合わせ問題を解くステップは、L 1 ノルムを極小化するステップを有する、構成16に記載のシステム。
[構成18]
前記画像データからパラメータ化された前記1つ又は複数のラインと前記ポイントクラウドデータからパラメータ化された前記1つ又は複数のラインの間のデータ関連付けは、前記データ関連付け及びニアレストネイバーヒューリスティックを定義する対応性に関する初期推測が前記位置合わせ問題を解くために適用されるように、当初既知ではない、構成16に記載のシステム。
[構成19]
前記環境の前記画像データ内においてキャプチャされた前記環境の視野及び前記環境の前記ポイントクラウドデータ内においてキャプチャされた前記環境の視野は、オーバーラップする前記環境の視野の少なくとも一部分を含む、構成16に記載のシステム。
[構成20]
前記環境に対応するデータをキャプチャするための1つ又は複数のセンサを有する車両を更に有し、前記1つ又は複数のセンサは、前記1つ又は複数のセンサによってキャプチャされたデータが前記演算装置に送信され且つこれによって処理される能力を有するように、前記演算装置に通信自在に結合されている、構成16に記載のシステム。
図1
図2
図3
図4
図5
図6A
図6B