【文献】
Shuran Song et al.,"Deep Sliding Shapes for Amodal 3D Object Detection in RGB-D Images",2016 IEEE Conference on Computer Vision and Pattern Recognition,米国,IEEE,2016年 6月27日,pp.808-816
【文献】
Markus Braun et al.,"Pose-RCNN: Joint Object Detection and Pose Estimation Using 3D Object Proposals",2016 IEEE 19th International Conference on Intelligent Transportation Systems (ITSC),米国,IEEE,2016年11月 1日,pp.1546-1551
(58)【調査した分野】(Int.Cl.,DB名)
前記少なくとも1つの提案ボックスを生成することが、提案されたクラスタについての複数の提案ボックスを生成することを含み、各提案ボックスが、長さ、高さ、及び幅の異なる組み合わせを有する、請求項5に記載の方法。
3D畳み込みニューラルネットワークに基づいて、前記3Dポイントクラウドから第2の3D提案セットを決定することが、複数の畳み込み層及び少なくとも1つの最大プーリング層を適用して、前記第2の3D提案セットを含む畳み込み特徴マップを生成することを含む、請求項1に記載の方法。
2D畳み込みニューラルネットワークを使用して、前記画像に基づいて、前記第1の2D提案セットを決定することが、前記2D畳み込みニューラルネットワークを使用して、2D特徴マップを生成することを含む、請求項1に記載の方法。
前記投影された第1の3D提案セット及び前記第1の2D提案セットをプールして、2D候補セットを決定することが、各2D提案ボックスの固定された2D特徴ベクトルを抽出することを含む、請求項1に記載の方法。
前記3D候補セット及び前記2D候補セットをプールすることが、前記3D候補セットを表す3D特徴ベクトルと、前記2D候補セットを表す2D特徴ベクトルとの間の外積を計算して、マルチモーダル表現を生成することを含む、請求項1に記載の方法。
前記3D候補セット及び前記2D候補セットをプールすることが、前記マルチモーダル表現から前記3D提案ボックスのサイズ及び配向を回帰させることを含む、請求項11に記載の方法。
前記プロセッサが、複数の畳み込み層及び少なくとも1つの最大プーリング層を適用して、前記第2の3D提案セットを含む畳み込み特徴マップを生成することを行うように構成されている、請求項13に記載の車両。
前記プロセッサが、各2D提案ボックスについての固定された2D特徴ベクトルを抽出して、前記2D候補セットを決定するように構成されている、請求項13に記載の車両。
【発明を実施するための形態】
【0017】
以下は、本明細書で使用される選択された用語の定義を含む。定義は、用語の範囲内に含まれ、かつ実装に使用され得る、様々な実施例及び/又は構成要素の形態を含む。実施例は、限定することを意図するものではない。
【0018】
本明細書で使用される場合、「プロセッサ」という用語は、信号を処理し、一般的なコンピューティング及び演算機能を実行する。プロセッサによって処理された信号は、デジタル信号、データ信号、コンピュータ命令、プロセッサ命令、メッセージ、ビット、ビットストリーム、又は受信、送信、及び/若しくは検出され得る他のコンピューティングを含んでもよい。
【0019】
本明細書で使用される場合、「バス」という用語は、単一又は複数のシステム内のコンピュータ構成要素間でデータを転送するように動作可能に接続された、相互接続されたアーキテクチャを指す。バスは、とりわけ、メモリバス、メモリコントローラ、周辺バス、外部バス、クロスバースイッチ、及び/又はローカルバスであってもよい。バスはまた、とりわけ、コントローラエリアネットワーク(Controller Area network、CAN)、ローカル相互接続ネットワーク(Local Interconnect Network、LIN)などのプロトコルを使用して、車両内部の構成要素を相互接続する、車両バスであってもよい。
【0020】
本明細書で使用される場合、「メモリ」という用語は、揮発性メモリ及び/又は不揮発性メモリを含み得る。不揮発性メモリには、例えば、ROM(read only memory:読み取り専用メモリ)、PROM(programmable read only memory:プログラマブル読み取り専用メモリ)、EPROM(erasable PROM:消去可能なPROM)、及びEEPROM(electrically erasable PROM:電気的消去可能なPROM)が含まれ得る。揮発性メモリには、例えば、RAM(random access memory:ランダムアクセスメモリ)、同期RAM(synchronous RAM、SRAM)、ダイナミックRAM(dynamic RAM、DRAM)、シンクロナスDRAM(synchronous DRAM、SDRAM)、ダブルデータレートSDRAM(double data rate SDRAM、DDR SDRAM)、及び/又はダイレクトRAMバスRAM(direct RAM bus RAM、DRRAM)が含まれ得る。
【0021】
本明細書で使用するとき、「動作可能な接続」は、エンティティが「動作可能に接続される」接続を含み得、これは、信号、物理的通信、及び/又は論理的通信が、送信及び/又は受信され得るものである。動作可能な接続は、物理的インターフェース、データインターフェース、及び/又は電気インターフェースを含んでもよい。
【0022】
本明細書で使用される場合、「車両」という用語は、任意の形態のエネルギーによって電力供給される、任意の移動車両を指す。車両は、人間の乗員又は積荷を運び得る。「車両」という用語には、限定するものではないが、自動車、トラック、バン、ミニバン、SUV、オートバイ、スクーター、ボート、パーソナルウォータークラフト、及び航空機が含まれる。場合によっては、モータ車両は、1つ以上のエンジンを含む。
【0023】
2Dオブジェクト検出に関する最近の研究は、ディープ畳み込みニューラルネットワークの成功により大きな進歩を遂げてきた。しかしながら、画像から深さ情報を再構成することは、深さ情報が3Dオブジェクト検出に必要とされる可能性があるため、困難であることが知られている。本開示は、LiDARポイントクラウドデータ及び画像データを活用して、オブジェクトを3Dにローカライズするためのシステムを提供する。本開示は、運転シナリオにおいてマルチクラスオブジェクトを取り扱うための効果的な3Dオブジェクト提案アルゴリズムを提供する。本開示は、2D及び3D畳み込みニューラルネットワークを、2D及び3D関心領域(region of interest、ROI)プーリングと統合する、フレームワークを提供する。本開示は、画像及びポイントクラウドからの情報を組み込むために、小型バイリニアプーリングアルゴリズムを使用するマルチモーダルフレームワークを提供する。フレームワークは、KITTIデータセットなどの困難な現実世界のデータセットにおいて好ましい結果を示す。
【0024】
図1を参照すると、本開示の一態様による、3Dオブジェクト検出及び配向のためのオブジェクト検出システム110の例示的な動作環境100の概略図が提供される。オブジェクト検出システム110は、車両102内に存在してもよい。オブジェクト検出システム110の構成要素、並びに本明細書で考察される他のシステムの構成要素、ハードウェアアーキテクチャ、及びソフトウェアアーキテクチャは、組み合わされてもよく、省略されてもよく、又は様々な実装形態に編成されてもよい。
【0025】
車両102は、概して、複数の車両システムを動作可能に制御する、電子制御ユニット(electronic control unit、ECU)112を含むことができる。車両システムは、とりわけ、車両HVACシステム、車両オーディオシステム、車両ビデオシステム、車両インフォテインメントシステム、車両電話システムなどを含むマルチモーダル融合システム140を含む、オブジェクト検出システム110を含むことができるが、これらに限定されない。マルチモーダル融合システム140は、以下に更に詳細に記載されるように、ECU112に接続されて、車両102を取り囲む環境の画像をまた提供し得る、カメラ120又は他の画像捕捉デバイス(例えば、スキャナ)を含むことができる。マルチモーダル融合システム140はまた、3Dポイントクラウドを捕捉することができる、LiDARセンサ122を含んでもよい。オブジェクト検出システム110はまた、カメラ120、LiDARセンサ122、通信デバイス130及び自動運転システム132と通信する、プロセッサ114及びメモリ116を含んでもよい。
【0026】
ECU112は、内部処理メモリ、インターフェース回路、及びデータを転送し、コマンドを送信し、車両システムと通信するためのバスラインを含んでもよい。ECU112は、図示されていない内部プロセッサ及びメモリを含み得る。車両102はまた、オブジェクト検出システム110の様々な構成要素間でデータを内部的に送信するためのバスを含んでもよい。
【0027】
車両102は、車両102内の特徴及びシステムに関して、そして外部デバイスに関して内部で電子信号を送受信するために、様々なプロトコルを利用して、有線又は無線のコンピュータ通信を提供するための通信デバイス130(例えば、無線モデム)を更に含み得る。これらのプロトコルは、無線周波数(radio-frequency、RF)通信(例えば、IEEE 802.11(Wi−Fi)、IEEE 802.15.1(Bluetooth(登録商標)))、近距離通信システム(near field communication、NFC)(例えば、ISO 13157)、ローカルエリアネットワーク(local area network、LAN)、無線ワイドエリアネットワーク(wireless wide area network、WWAN)(例えば、セルラー)、及び/又はポイントツーポイントシステムを利用する、無線システムを含んでもよい。更に、車両102の通信デバイス130は、バス(例えば、CAN又はLINプロトコルバス)を介して、内部コンピュータ通信のために動作可能に接続されて、電子制御ユニット112と車両特徴及びシステムとの間のデータ入力及び出力を容易にすることができる。一態様では、通信デバイス130は、車対車間(vehicle-to-vehicle、V2V)通信用に構成されてもよい。例えば、V2V通信は、予約された周波数スペクトルにわたる無線通信を含み得る。別の実施例として、V2V通信は、Wi−Fi又はBluetooth(登録商標)を使用して設定された、車両間のアドホックネットワークを含んでもよい。
【0028】
車両102は、少なくとも1つのカメラ120を含んでもよい。カメラ120は、1つ以上の画像若しくは画像ストリームを捕捉することができるデジタルカメラであってもよく、又はスキャナなどの別の画像捕捉デバイスであってもよい。カメラ120は、車両102の直接的に前面の空間の画像を提供してもよい。他のカメラは、車両102を取り囲む他の空間の画像を提供してもよい。例えば、後方カメラは、車両のバンパーの上方に配置されてもよい。カメラ120は、マルチモーダル融合システム140の2Dブランチ146、及びマルチモーダル融合システム140の3Dブランチ144に、画像を提供してもよい。
【0029】
車両102は、少なくとも1つの光検出及び測距(LiDAR)センサ122を含んでもよい。LiDARセンサ122は、ある領域をレーザ光で照明し、後方散乱を検出することができる。LiDARセンサ122は、オブジェクトがレーザ光を反射する潜在的位置を示す、3Dポイントクラウドを生成することができる。LiDARセンサ122はまた、3Dポイントクラウドを、マルチモーダル融合システム140の3Dブランチ144及び3D提案モジュール142に提供し得る。
【0030】
車両102は、車両102を制御するための自動運転システム132を含んでもよい。自動運転システム132は、他のシステムの中でもとりわけ、車線維持支援システム、衝突警告システム、又は完全自律運転システムを含むことができる。自動運転システム132は、マルチモーダル融合システム140からオブジェクト位置及び配向情報を受信し得る。一態様では、マルチモーダル融合システム140は、自動運転システム132の構成要素であってもよい。
【0031】
図2は、マルチモーダル融合システムの全体的なフレームワークを示す概念
図200を示す。フレームワーク全体は、いくつかの部分、すなわち3Dオブジェクト提案モジュール142、3Dニューラルネットワークブランチ144、2Dニューラルネットワークブランチ146、並びに検出及び配向推定のためのマルチモーダル小型バイリニア(multimodal compact bilinear、MCB)プーリング層148から構成される。
【0032】
3Dオブジェクト提案モジュール142は、3D空間内に多くの前景オブジェクトを配置するために、3D候補ボックスの小さいセットを生成することができる。3Dオブジェクト提案モジュール142は、離散化された3Dグリッド下での占有率推定、及び未加工のポイントクラウドを用いた3D幾何学的分析を活用して、3D空間内の正確なオブジェクト提案を提案することができる。
図3は、例示的なLiDARポイントクラウド202を示す。(例えば、LiDARセンサ122からの)LiDARポイントクラウド202の単一フレームでは、LiDAR範囲の閉塞及び限界により、周囲の全てのオブジェクトを位置特定することは困難である。例えば、前景オブジェクトに当たるLiDAR光線は、別のオブジェクトを閉塞するであろう。別の実施例として、遠くのオブジェクトのためのLiDAR光線は、指数関数的なLiDAR電力がより長い距離で減少するために、疎になる可能性がある。しかしながら、LiDARは、周囲の良好な推定を得るために、単一フレームのLiDARポイントクラウドの最良の能力まで利用することができる。単一フレーム内の全てのLiDAR光線を追跡することにより、3Dオブジェクト提案モジュール142は、空間の占有確率を推定することができる。この方法は、バイナリ占有グリッドモデルと称されることがあり、バイナリ占有グリッド204を生成することができる。3D空間をボクセルに離散化した後、3Dオブジェクト提案モジュール142は、各ボクセルについて、占有又は未占有のバイナリ状態を仮定することができる。3Dオブジェクト提案モジュール142は、LiDAR光線によって横断される各ボクセルの占有率ログオッズを反復的に更新してもよい。例えば、ボクセルの占有率ログオッズを更新するための手順は、D.Maturana及びS.Scherer、「VoxNet:A 3D Convolutional Neural Network for Real−Time Object Recognition.」、IROS,2015に記載されており、これは参照により本明細書に組み込まれる。3Dオブジェクト提案モジュール142は、[0、1]の範囲の各ボクセルに対応する占有確率を生成し得る。LiDARのヒッティング表面(例えば、閉塞表面)の後ろにあるので手順が更新されていないボクセルについては、3Dオブジェクト提案モジュールは、それらを占有されていると仮定し、確率を1に設定し得、これは、Maturana及びSchererの手順とは異なる。離散化占有グリッドは、前景オブジェクトの可能な位置を狭めるLiDARのヒッティング表面を提供するだけでなく、エンドツーエンド融合ネットワークにおける更なる特徴抽出のために、3D入力のサイズも低減する。
【0033】
屋外運転シナリオの下で捕捉された単一フレームのLiDARポイントクラウド202は、同様のパターンを有し、未加工のLiDARポイントクラウドの幾何学的キューのみを考慮することにより、有意義なクラスタを抽出することが容易である。3Dオブジェクト提案モジュール142は、まず、例えば、プログレッシブ形態学的フィルタリングアルゴリズムを実行することができる、グラウンド除去モジュール220を使用して、グラウンドポイントを除去することができる。例示的なアルゴリズムは、K.Zhang,S.−C.Chen,D.Whitman,M.−L.Shyu,J.Yan及びC.Zhang、「A Progressive Morphological Filter for Removing Nonground Measurements From Airborne LIDAR Data.」IEEE TRANSACTIONS ON GEOSCIENCE AND REMOTE SENSING,41(4):872−882,2003に記載されており、これは参照により本明細書に組み込まれる。例示的なアルゴリズムは、グラウンドポイントを抽出するために一般的に使用され、道路上のバンプに対して堅牢である。グラウンドポイントがポイントクラウドから取り除かれた後、3Dオブジェクト提案モジュール142は、ユークリッドクラスタリングモジュール222を使用することができ、これは、ユークリッドクラスタリングアルゴリズムを実行して、残りのポイントクラウド202をクラスタ化し、可能なオブジェクトクラスタを取得することができる。クラスタc内のポイントpについて、3Dオブジェクト提案142モジュールは、Pとその最近傍との間のユークリッド距離を、d
1として表すことができる。距離d
1が閾値th以下である場合、最近傍は、クラスタ内に含まれる。屋外シーン内のオブジェクト間の距離が異なるので、粒度の異なるオブジェクトクラスタを抽出するために、異なる閾値thが選択されてもよい。
【0034】
3D幾何学的分析から取得されたオブジェクトクラスタは、周囲のオブジェクトの大まかな位置を示すことができるが、3Dオブジェクト提案モジュール142は、より正確な位置及びサイズを有する、3Dボックスを更に提案することができる。3Dオブジェクト提案モジュール142は、LiDAR座標系における3D提案ボックス226のサイズ(長さ、幅、及び高さ)及び中心(x、y、z)(メートル単位)である(l,w,h,x,y,z)によって、各3D提案ボックス226をパラメータ化するための3D提案生成モジュール224を含んでもよい。3Dオブジェクト提案モジュール142は、目標オブジェクトカテゴリの共通のアスペクト比に対応する、3D提案ボックス226についての小さいサイズのセットS
sizeを指定することができる。3Dオブジェクト提案生成のための例示的なアルゴリズムは、参照により本明細書に組み込まれる、X.Chen,H.Ma,J.Wan,B.Li及びT.Xia,「Multi−View 3D Object Detection Network for Autonomous Driving.」in CVPR,2017に記載されている。
【0035】
3Dオブジェクト提案モジュール142は、S
sizeを取得するために、平均シフトクラスタリングアルゴリズムを使用して、訓練セット内のグラウンドトルス(ground truth、GT)オブジェクトサイズをクラスタ化してもよい。3D幾何学的分析から取得された各オブジェクトクラスタについて、3Dオブジェクト提案モジュール142は、(l,w,h)∈S
sizeを有するボックスを提案してもよい。提案の配向は、LIDAR座標系の長軸と整列するように固定されてもよい。
【0036】
各3D提案ボックス226の位置に関して、ボックス中心のz座標は、3D幾何学的分析からのグラウンド高さ及びオブジェクト高さhに基づいて計算され得る。(x、y)を決定することは、占有グリッド204から導出された3D空間における占有推定を利用することができる。直感的に、周囲のオブジェクトは、LiDARのヒッティング表面の前方にあるべきではなく、自由空間をカバーするべきではないと仮定され得る。したがって、占有グリッド204からのLIDARのヒッティング表面キューを活用することによって、各アスペクト比について、3Dオブジェクト提案モジュール142は、同時にオブジェクトクラスタを囲み、最も占有されている空間をカバーすることができる、提案ボックス226を生成することができる。zが既に固定されているため、3Dオブジェクト提案モジュール142は、(x、y)を変化させて、最も占有されているボックスを見つけることができる。xy平面上のオブジェクトクラスタの境界は、(Obj
xmin,Obj
ymin,Obj
xmax,Obj
ymax)と表すことができる。提案サイズ(l,w)では、中心の可能な位置は、[Obj
xmax−l/2,Objxmin+l/2]×[Obj
ymax−w/2,Obj
ymin+w/2]の範囲である。中心の各可能な位置に対して、3Dオブジェクト提案モジュール142は、ボックス内の占有率オッズの合計を計算し、最後に最大の占有確率を有するものを選択することができる。オブジェクトクラスタが大きすぎてボックスで囲むことができない場合、これは、Obj
xmax−l/2>Obj
xmin+l/2又はObj
ymax−w/2>Objymin+w/2のときに起こり、その際、オブジェクトクラスタは必ずしも完全ではないので、3Dオブジェクト提案モジュール142は、x=(Obj
xmin+Obj
xmax)/2及びy=(Obj
ymin+Obj
ymax)/2でボックス226を生成することができる。最後に、S
sizeにN個の異なるサイズが存在し、3D幾何学的分析からK個のオブジェクトクラスタが存在する場合、NK個の異なる提案ボックスが存在であろう。3D幾何学的分析によるオブジェクトクラスタKの数が異なるため、提案数はポイントクラウドのフレームごとに異なるであろう。
【0037】
マルチモーダル融合システム140は、マルチモーダル情報から正確な3Dローカリゼーション及び分類結果を提供することができる。LiDARポイントクラウド202は、オブジェクトのより堅牢な3Dローカリゼーション(位置及び配向を含む)を提供することができるが、LiDARポイントクラウド202の分析は、疎なデータでは、オブジェクトをうまく認識することができない。一方、画像206は、赤−緑−青(red-green-blue、RGB)チャネルからの情報を有し、より高密度に構造化されたデータを提供するので、画像206は、オブジェクトを認識するためのはるかに優れた能力を有する。
図4は、
図3のポイントクラウド202と同じ環境の表現を示す、例示的な画像206を示す。したがって、マルチモーダル融合システム140は、3Dニューラルネットワークブランチ144及び2Dニューラルネットワークブランチ146を使用して、両方のデータセットからの利点を活用することができ、3Dオブジェクト提案を共同で分類し、3D提案ボックス回帰を行うことができる。
【0038】
マルチモーダル融合システム140の3Dブランチ144は、元の3DのLIDARポイントクラウド202をより低い解像度で表す占有グリッド204全体を、入力として取り得る。3Dブランチ144は、いくつかの3D畳み込み層210、214及び最大プーリング層212を使用して、特徴を抽出してもよい。3Dブランチ144は、3D提案ボックス226ごとに、3Dで畳み込み特徴マップを生成し得る。例示的な技術は、参照により本明細書に組み込まれる、R.Girshick,「Fast R−CNN」in ICCV,2015に記載されている。3Dブランチ144は、3D関心領域(ROI)プーリング層216を使用して、畳み込み層214によって出力された特徴マップから固定サイズ3D特徴ベクトルを抽出することができる。完全に接続された層218は、更なる融合プロセスのために特徴ベクトルを平坦化するために、3Dブランチ144の端部に積み重ねられてもよい。
【0039】
ネットワーク設計の場合、例示的な3Dブランチ144は、最大プーリング層212を有する2つの3D畳み込み層210と、続いて別の2つの3D畳み込み層214とを積層して、占有グリッドから特徴を抽出する。例えば、3D畳み込み層210は、ニューラルネットワークに対して、(32、5、2、1)のパラメータを使用することができる。畳み込み層214は、ニューラルネットワークに対して、(64、5、2、1)のパラメータを使用することができる。交通シーン(例えば、ポイントクラウド202)内の目標オブジェクト(例えば、自動車、歩行者、サイクリスト)のサイズは、全3D空間と比較して非常に小さい場合があるので、3Dブランチ144は、それらの小さいオブジェクトを検出するために、大きい特徴マップを維持するために1つの最大プーリング層212のみを適用することができる。構造化された情報が、画像206と比較して占有グリッド204内で少ないため、このアーキテクチャ設計は、3Dにおける学習強力表現を提供することが見出された。
【0040】
融合ネットワーク200の2Dブランチ146は、Girshickによって説明されるようなFast−RCNNネットワークなどの2D畳み込みネットワーク230を含んでもよい。Fast−RCNNネットワークは、入力として画像206全体を取ることができ、VGG16ネットワークを使用して、2D特徴マップを生成することができる。更に、2D提案ボックス232は、投影によって3D提案ボックス226から取得されてもよい。次いで、2DのROIプーリング層234は、2D提案ボックス232ごとに固定された2D特徴ベクトルを抽出してもよい。次に、完全に接続された層236は、3Dブランチ144のように2D特徴ベクトルを平坦化することができる。
【0041】
両方の入力(ポイントクラウド202及び画像206)からの利点を活用するために、マルチモーダル小型バイリニア(MCB)プーリング層148を使用して、マルチモーダル特徴を効率的かつ表現的に組み合わせることができる。元のバイリニアプーリングモデルは、2つのベクトル間の外積を計算し、これにより、両方のベクトルの全ての要素間の乗法的な相互作用が可能になる。次いで、元のバイリニアプーリングモデルは、次元数を低減し、バイリニアプーリングの効率を向上させるために、カウントスケッチ投影関数を利用した。元のバイリニアプーリングモデルの例は、A.Fukui,D.H.Park,D.Yang,A.Rohrbach,T.Darrell及びM.Rohrbach,「Multimodal Compact Bilinear Pooling for Visual Question Answering and Visual Grounding」in arXiv,2016、並びにY.Gao,O.Beijbom,N.Zhang及びT.Darrell,「Compact Bilinear Pooling」in CVPR,2016に記載されており、その両方とも参照により本明細書に組み込まれる。視覚的及びテキスト表現からのマルチモーダル特徴を組み合わせることにより、元の小型バイリニアプーリング層を、視覚的質問応答タスクに適用した。マルチモーダル小型バイリニアプーリングの成功は、2つの非常に異なるドメインからの特徴の融合を取り扱う可能性を示している。
【0042】
一態様では、マルチモーダル小型バイリニアプーリング層148は、3Dドメインから3Dブランチ144によって、及び2Dドメインから2Dブランチ146によって抽出された2つの平坦化された特徴ベクトルを取り、分類及び3Dバウンディングボックス回帰のための4096−Dマルチモーダル表現を生成してもよい。分類は、分類モジュール240によって実行されてもよい。
【0043】
マルチモーダル小型バイリニアプーリング層148からの融合表現を考慮すると、バウンディングボックス回帰モジュール242は、3D提案ボックス226から、3Dバウンディングボックスの配向及びサイズを回帰させることができる。サイズ回帰については、Fast−RCNNと同様に、バウンディングボックス回帰モジュール242は、t=(Δx、Δy、Δz、Δl、Δw、Δh)によって、回帰目標をパラメータ化することができ、ここで、(Δx、Δy、Δz)は、提案サイズによって正規化された中心オフセットであり、(Δl、Δw、Δh)は、Δs=log(s
GT/s
proposal),s∈{l,w,h}として計算される。配向回帰の場合、3D配向回帰モジュール244は、Δθ=θ
GT−θ
proposalによって、回帰目標をパラメータ化することができ、ここでθは、z軸の周りの3Dバウンディングボックスの回転角である。車両設定では、グラウンドトルス(GT)は、(l、w、h)が常に(x、y、z)軸と整列するように注釈が付けられているので、角度範囲は、配向回帰をより容易にする[−π/4、π/4]で制限され得る。提案ボックスは、LIDAR座標の主軸と整列するように設定されているため(θ
proposal=0)、配向目標は、Δθ=Δ
GTとして簡略化され得る。
【0044】
図5は、オブジェクト及び配向を検出するための例示的な方法500のフローチャートを示す。方法500は、車両102内のオブジェクト検出システム110によって実行されてもよい。
【0045】
ブロック510において、方法500は、3Dポイントクラウド上でユークリッドクラスタリングを使用して、第1の3D提案セットを決定することを含み得る。一態様では、例えば、3D提案モジュール142は、3Dポイントクラウド上でユークリッドクラスタリングを使用して、第1の3D提案セットを決定することができる。一態様では、ブロック510は、3Dポイントクラウドの離散化ボクセルを表す占有グリッドを生成することを含み得る。例えば、3D提案モジュール142は、バイナリ占有グリッド204を生成してもよい。ブロック510は、3Dポイントクラウドに基づいて、各ボクセルを占有又は非占有のいずれかとして指定することを含み得る。例えば、3D提案モジュール142は、ポイントクラウド202に基づいて、バイナリ占有グリッド204の各ボクセルを、占有又は非占有のいずれかとして指定してもよい。ブロック510は、LiDAR光線が通り抜けたボクセルに対応する占有確率で、占有グリッドを更新することを含み得る。例えば、3D提案モジュール142は、LiDAR線が通り抜けたボクセルに対応する占有確率で、バイナリ占有グリッド204を更新し得る。ブロック510は、ボクセルが占有されていることを示すために、閉塞したボクセルの占有確率を設定することを含み得る。例えば、3D提案モジュール142は、バイナリ占有グリッド204内の閉塞したボクセルの占有確率を設定して、ボクセルが占有されていることを示し得る。例えば、表面によって閉塞されているボクセルは、表面の背後にあるオブジェクトによって占められていると仮定することができる。
【0046】
別の態様では、ブロック510は、3Dポイントクラウドからグラウンドポイントを除去することを含み得る。例えば、グラウンド除去モジュール220は、ポイントクラウド202からグラウンドポイントを除去することができる。ブロック510は、閾値未満のユークリッド距離を有するポイントクラウドのポイントを、提案されたクラスタにクラスタ化することを含み得る。例えば、ユークリッドクラスタリングモジュール222は、閾値未満のユークリッド距離を有するポイントクラウド202のポイントを、提案されたクラスタにクラスタ化することができる。
【0047】
一態様では、ブロック510は、長さ、幅、高さ、及び中心座標を有する3D提案ボックスとして、各提案されたクラスタをパラメータ化することを含み得る。例えば、3D提案生成モジュール224は、長さ、幅、高さ、及び中心座標を有する3D提案ボックス226として、各提案されたクラスタをパラメータ化することができる。3D提案生成モジュール224は、グラウンド高さ(グラウンド除去モジュール220によって決定される)及び提案ボックス226の高さに基づいて、中心座標のz座標を設定してもよい。一態様では、ブロック510は、固定長さ及び高さを有する少なくとも1つの提案ボックス226を生成することを含んでもよい。提案ボックス226の中心座標のx座標及びy座標は、提案ボックス226内のボクセルの占有確率を最大化するように選択され得る。例えば、3D提案生成モジュール224は、(例えば、所定のオブジェクトタイプに基づいて)固定長さ及び高さを設定し、提案ボックス226の占有率を最大にするx座標及びy座標を選択してもよい。3D提案生成モジュール224は、提案されたクラスタについての複数の提案ボックスを生成してもよく、各提案ボックスは、(例えば、異なる所定のオブジェットタイプに対応する)長さ、高さ、及び幅の異なる組み合わせを有する。ブロック520において、方法500は、3D畳み込みニューラルネットワークに基づいて、3Dポイントクラウドから第2の3D提案セットを決定することを含み得る。一態様では、例えば、3Dブランチ144は、3D畳み込みニューラルネットワークに基づいて、3Dポイントクラウドから第2の3D提案セットを決定することができる。一態様では、3Dブランチ144は、複数の畳み込み層及び少なくとも1つの最大プーリング層を適用して、第2の3D提案セットを含む畳み込み特徴マップを生成することができる。例えば、3D畳み込みニューラルネットワークは、3D畳み込み層310、最大プーリング層212、及び3D畳み込み層312を含み得る。
【0048】
ブロック530において、方法500は、第1の3D提案セット及び第2の3D提案セットをプールして、3D候補セットを決定することを含み得る。一態様では、例えば、3Dブランチ144は、3D候補セットを決定するために、第1の3D提案セット及び第2の3D提案セットをプールすることができる。一態様では、ブロック530における第1の3D提案セット及び第2の3D提案セットをプールすることは、第2の3D提案セットの各3D提案について、畳み込み特徴マップから固定サイズの3D特徴ベクトルを抽出することを含み得る。例えば、3DのROIプーリング層144は、第2の3D提案セットの各3D提案について、畳み込み特徴マップから固定サイズの3D特徴ベクトルを抽出することができる。ブロック530はまた、完全に接続された層を使用して、固定サイズの3D特徴ベクトルを平坦化することも含み得る。例えば、3Dブランチ144は、完全に接続された層218を使用して、固定サイズの3D特徴ベクトルを平坦化することができる。
【0049】
ブロック540において、方法500は、第1の3D提案セットを2D画像上に投影することを含み得る。一態様では、例えば、2Dブランチ146は、第1の3D提案セットを2D画像上に投影することができる。2Dブランチ146は、2D提案ボックス232を生成してもよい。
【0050】
ブロック550において、方法500は、2D畳み込みニューラルネットワークを使用して、画像に基づいて、第1の2D提案セットを決定することを含み得る。一態様では、例えば、2Dブランチ146は、2D畳み込みニューラルネットワーク230を使用して、画像に基づいて、第1の2D提案セットを決定することができる。例えば、2D畳み込みニューラルネットワーク230は、第1の2D提案セットを含む2D特徴マップを生成することができる。
【0051】
ブロック560において、方法500は、2D候補セットを決定するために、第1の3D提案セット及び第1の2D提案セットをプールすることを含み得る。一態様において、マルチモーダル小型バイリニアプーリング層148については、投影された第1の3D提案セット及び第1の2D提案セットをプールして、2D候補セットを決定することができる。
【0052】
ブロック570において、方法500は、3D候補セット及び2D候補セットをプールすることを含んでもよい。一態様では、例えば、マルチモーダル小型バイリニアプーリング層148は、3D候補セット及び2D候補セットをプールしてもよい。一態様では、ブロック570は、3D候補セットを表す3D特徴ベクトルと、2D候補セットを表す2D特徴ベクトルとの間の外積を計算して、マルチモーダル表現を生成することを含んでもよい。ブロック570は、マルチモーダル表現から3D提案ボックスのサイズ及び配向を回帰させることを更に含んでもよい。例えば、3Dバウンディングボックス回帰モジュール242は、3D提案ボックスのサイズを回帰させることができ、3D配向回帰モジュール244は、3D提案ボックスの配向を回帰させることができる。
【0053】
本開示の態様は、ハードウェア、ソフトウェア、又はそれらの組み合わせを使用して実装されてもよく、1つ以上のコンピュータシステム又は他の処理システムにおいて実装されてもよい。一態様では、本開示は、本明細書に記載される機能を実行することができる、1つ以上のコンピュータシステムを対象とする。
図6は、本開示の態様に従って使用され得る、様々なハードウェア構成要素及び他の特徴の例示的なシステム図を示す。本開示の態様は、ハードウェア、ソフトウェア、又はそれらの組み合わせを使用して実装されてもよく、1つ以上のコンピュータシステム又は他の処理システムにおいて実装されてもよい。1つの例示的な変形例では、本開示の態様は、本明細書に記載される機能を実行することができる、1つ以上のコンピュータシステムを対象とする。このようなコンピュータシステム600の実施例を、
図6に示す。
【0054】
コンピュータシステム600は、プロセッサ604などの1つ以上のプロセッサを含む。プロセッサ604は、通信インフラストラクチャ606(例えば、通信バス、クロスオーバーバー、又はネットワーク)に接続されている。この例示的なコンピュータシステムに関して、様々なソフトウェア態様が記載される。この説明を読んだ後、当業者(複数可)には、他のコンピュータシステム及び/又はアーキテクチャを使用して、本開示の態様を実施する方法が明らかになるであろう。
【0055】
コンピュータシステム600は、表示ユニット630上に表示するために、通信インフラストラクチャ606から(又は図示されないフレームバッファから)グラフィック、テキスト、及び他のデータを転送する、表示インターフェース602を含み得る。コンピュータシステム600はまた、メインメモリ608、好ましくはランダムアクセスメモリ(RAM)を含み、二次メモリ610も含み得る。二次メモリ610は、例えば、ハードディスクドライブ612、及び/又はフロッピーディスクドライブ、磁気テープドライブ、光ディスクドライブなどを表す取り外し可能な記憶ドライブ614を含んでもよい。取り外し可能な記憶ドライブ614は、周知の様式で、取り外し可能な記憶ユニット618から読み取り、及び/又はそこに書き込む。取り外し可能な記憶ユニット618は、フロッピーディスク、磁気テープ、光ディスクなどを表し、これは取り外し可能な記憶ドライブ614によって読み取られ、そこに書き込まれる。理解されるように、取り外し可能な記憶ユニット618は、その中にコンピュータソフトウェア及び/又はデータを記憶する、コンピュータ使用可能な記憶媒体を含む。
【0056】
代替的な態様では、二次メモリ610は、コンピュータプログラム又は他の命令を、コンピュータシステム600にロードすることを可能にするための他の同様のデバイスを含んでもよい。このようなデバイスは、例えば、取り外し可能な記憶ユニット622及びインターフェース620を含み得る。このような例としては、プログラムカートリッジ及びカートリッジインターフェース(ビデオゲームデバイスに見られるものなど)、取り外し可能なメモリチップ(消去可能プログラマブル読み取り専用メモリ(EPROM)又はプログラム可能な読み取り専用メモリ(PROM)など)、及び関連するソケット、並びにソフトウェア及びデータが、取り外し可能な記憶ユニット622からコンピュータシステム600に転送されることを可能にする、他の取り外し可能な記憶ユニット622及びインターフェース620が含まれ得る。
【0057】
コンピュータシステム600はまた、通信インターフェース624を含み得る。通信インターフェース624は、ソフトウェア及びデータが、コンピュータシステム600と外部デバイスとの間で転送されることを可能にする。通信インターフェース624の例としては、モデム、ネットワークインターフェース(イーサネットカードなど)、通信ポート、パーソナルコンピュータメモリカード国際協会(Personal Computer Memory Card International Association、PCMCIA)スロット及びカードなどを含むことができる。通信インターフェース624を介して転送されるソフトウェア及びデータは、通信インターフェース624によって受信されることが可能な電子、電磁気、光学、又は他の信号であり得る、信号628の形態である。これらの信号628は、通信経路(例えば、チャネル)626を介して、通信インターフェース624に提供される。この経路626は、信号628を搬送し、ワイヤ若しくはケーブル、光ファイバ、電話線、セルラリンク、無線周波数(RF)リンク、及び/又は他の通信チャネルを使用して、実装されてもよい。本文書では、「コンピュータプログラム媒体」及び「コンピュータ使用可能媒体」という用語は、一般に、取り外し可能な記憶ドライブ680、ハードディスクドライブ670に取り付けられたハードディスク、及び信号628などの媒体を指すために使用される。これらのコンピュータプログラム製品は、コンピュータシステム600にソフトウェアを提供する。本開示の態様は、このようなコンピュータプログラム製品を対象とする。
【0058】
コンピュータプログラム(コンピュータ制御ロジックとも称される)は、メインメモリ608及び/又は二次メモリ610に記憶される。コンピュータプログラムはまた、通信インターフェース624を介して受信されてもよい。このようなコンピュータプログラムは、実行されると、本明細書で考察されるように、コンピュータシステム600が、本開示の態様に従って様々な機能を実行することを可能にする。具体的には、コンピュータプログラムは、実行されると、プロセッサ604がそのような機能を実行することを可能にする。したがって、このようなコンピュータプログラムは、コンピュータシステム600のコントローラを表す。
【0059】
本開示の態様がソフトウェアを使用して実装される変形例では、ソフトウェアは、コンピュータプログラム製品に記憶され、取り外し可能な記憶ドライブ614、ハードドライブ612又は通信インターフェース620を使用して、コンピュータシステム600にロードされてもよい。制御ロジック(ソフトウェア)は、プロセッサ604によって実行されると、プロセッサ604に、本明細書に記載されるような本開示の態様に従って機能を実行させる。別の変形例では、態様は、例えば、特定用途向け集積回路(application specific integrated circuit、ASIC)などのハードウェア構成要素を使用して、主にハードウェアで実装される。本明細書に記載される機能を実行するためのハードウェア状態マシンの実装は、当業者(複数可)には明らかとなるであろう。
【0060】
更に別の例示的な変形例では、本開示の態様は、ハードウェア及びソフトウェアの両方の組み合わせを使用して実装される。
【0061】
図7は、本開示の態様に従って使用され得る、様々な例示的なシステム構成要素のブロック図である。例えば、様々な構成要素は、車両102内にあってもよく、又は構成要素の一部のみが車両102内にあってもよく、他の構成要素が車両102から離れていてもよい。システム700は、1つ以上のアクセサ760、762(本明細書では、1つ以上の「ユーザ」とも交換可能に称される)及び1つ以上の端末742、766(そのような端末は、例えば、オブジェクト検出システム110の様々な特徴であってもよく、又はそれを含んでもよい)を含む。一態様では、本開示の態様に従って使用するためのデータは、例えば、パーソナルコンピュータ(personal computer、PC)、ミニコンピュータ、メインフレームコンピュータ、マイクロコンピュータ、電話デバイスなどの端末742、766、又はPC、ミニコンピュータ、メインフレームコンピュータ、マイクロコンピュータ、若しくはプロセッサ及びデータ用のリポジトリ、並びに/又は例えば、インターネット若しくはイントラネットなどのネットワーク744、及びカップリング745、746、764を介した、データ用のリポジトリへの接続を有する他のデバイスなどのサーバー743に連結されたパーソナルデジタルアシスタント(personal digital assistant、「PDA」)若しくはハンドヘルド無線デバイスなどの無線デバイスを介して、アクセサ760、762によって入力及び/又はアクセスされる。カップリング745、746、764は、例えば、有線、無線、又は光ファイバリンクを含む。別の例示的な変形例では、本開示の態様に従う方法及びシステムは、単一端末上などの独立型環境で動作する。
【0062】
本明細書で考察される本開示の態様はまた、コンピュータ実行可能命令を記憶するコンピュータ可読記憶媒体のコンテキストにおいて、説明及び実施され得る。コンピュータ可読記憶媒体は、コンピュータ記憶媒体及び通信媒体を含む。例えば、フラッシュメモリドライブ、デジタル多用途ディスク(digital versatile disc、DVD)、コンパクトディスク(compact disc、CD)、フロッピーディスク、及びテープカセット。コンピュータ可読記憶媒体は、コンピュータ可読命令、データ構造、モジュール、又は他のデータなどの情報を記憶するための任意の方法又は技術で実装される、揮発性及び不揮発性、取り外し可能及び取り外し不可能な媒体を含んでもよい。
【0063】
上記で開示された及び他の特徴及び機能の様々な実装形態、又はそれらの代替例若しくは変形例は、多くの他の異なるシステム又は用途に望ましく組み合わされ得ることが理解されるであろう。また、当業者であれば、添付の特許請求の範囲によって包含されることも意図される、現在予測又は予期されていない様々な代替、修正、変形、又は改良を今後行うことができる。