自動運転におけるビジョンソリューションとは何ですか? ひとつの記事にまとめてあります!

社説 | 新しいマシン ビジョン

「自動運転ハート」公開アカウントに注目するには下のカードをクリックしてください

ADAS ジャンボ乾物、手に入れられます

クリックして入力→オートパイロットの核心 [フルスタックアルゴリズム] 技術交流グループ

背景からの返信【フィールドレビュー】自動運転知覚と測位の融合に関するレビュー論文80本近くを入手!

自動運転アプリケーションの場合、最終的には 3D シーンを認識することが必要になります。理由は非常に単純で、車両は画像から得られる認識結果に基づいて運転することはできず、人間のドライバーであっても画像の前を運転することはできません。なぜなら、物体までの距離やシーンの奥行き情報は2D認識結果には反映されず、自動運転システムが周囲の環境を正しく判断するための鍵となる情報だからです。

一般に、自動運転車の視覚センサー(カメラなど)は、車体上部または室内バックミラーに設置されます。どこにいても、カメラが取得するのは現実世界を透視図 (Perspective View) (世界座標系から画像座標系) に投影したものです。このビューは人間の視覚システムに非常に似ているため、人間のドライバーは簡単に理解できます。しかし、透視図法には距離に応じて物体の縮尺が変化してしまうという致命的な問題があります。したがって、知覚システムが画像から前方の障害物を検出する場合、車両から障害物までの距離や、障害物の実際の 3 次元形状やサイズはわかりません。

fd88cc7a923671f1bd10d14d4ac476c4.png

画像座標系(パースビュー)vs.ワールド座標系(鳥瞰図) [IPM-BEV]

3D 空間で情報を取得する最も直接的な方法の 1 つは、LiDAR を使用することです。一方で、LiDAR によって出力された 3D 点群を直接使用して、障害物の距離とサイズ (3D オブジェクト検出)、およびシーンの深さ (3D セマンティック セグメンテーション) を取得できます。一方、3D 点群を 2D 画像と融合して、この 2 つによって提供されるさまざまな情報を最大限に活用することもできます。点群には正確な距離と奥行きの知覚という利点があり、画像にはより豊富な意味論的情報という利点があります。

しかし、LiDARにはコストが高い、車載用製品の量産が難しい、天候の影響を受けやすいなどのデメリットもあります。したがって、純粋にカメラベースの 3D 認識は、依然として非常に有意義で価値のある研究の方向性です。この記事の次の部分では、シングル カメラとデュアル カメラに基づく 3D 認識アルゴリズムを詳しく紹介します。

a793e014e41777749486bfd305b68471.gif

単眼での 3D 知覚

単一のカメラ画像に基づいて 3D 環境を認識することは病理学的問題ですが、いくつかの幾何学的制約と事前知識を使用してこのタスクを完了するのに役立ち、ディープ ニューラル ネットワークを使用してエンドツーエンドの方法を学習することもできます。画像の特徴から 3D 情報を予測します。

物体検出

aae159359d19caeb050a896d8a57ecea.png

シングルカメラ 3D オブジェクト検出 (写真は M3D-RPN から)

画像逆変換

前述したように、画像は現実世界の 3D 座標から 2D 平面座標への投影であるため、画像から 3D オブジェクトを検出する非常に直接的な方法は、2D 画像を 3D 世界座標に逆変換してから、世界座標系でオブジェクト検出を実行することです。 。理論的には、これは悪条件の問題ですが、追加情報 (深さの推定など) や幾何学的仮定 (地面上のピクセルなど) によって支援することができます。

BEV-IPM [1] は、画像を透視図から鳥瞰図 (BEV) に変換することを提案しています。ここでは 2 つの仮定があります。1 つは路面が世界座標系に平行で高さが 0 であるということ、もう 1 つは車両自身の座標系が世界座標系に平行であるということです。前者は路面が凸凹している場合には満たされませんが、後者は車両姿勢パラメータ(ピッチとロール)によって補正できます。これは実際には車両座標系と世界座標系のキャリブレーションです。現実世界では画像内のすべてのピクセルの高さがゼロであると仮定すると、ホモグラフィー変換を使用して画像を BEV ビューに変換できます。BEVビューでは、YOLOネットワークに基づく手法を用いて、路面と接する部分の長方形であるターゲットのBottom Boxを検出します。ボトム ボックスの高さはゼロであるため、GroudTruth として BEV ビューに正確に投影してニューラル ネットワークをトレーニングでき、ニューラル ネットワークによって予測されたボックスはその距離も正確に推定できます。ここでの前提は、オブジェクトが路面に接触する必要があるということであり、これは車両や歩行者のオブジェクトでは通常満たされます。

334a36f6242bac7cc425b97d34ebc46c.png

BEV-IPM

別の逆変換方法は、Orthographic Feature Transform (OFT) [2] を使用します。このアイデアは、CNN を使用してマルチスケールの画像特徴を抽出し、次にこれらの画像特徴を BEV ビューに変換し、最後に BEV 特徴に対して 3D オブジェクト検出を実行することです。まず、BEV の視点で 3D グリッドを構築する必要があります (この論文の実験のグリッド範囲は 80m x 80m x 4m、グリッド サイズは 0.5m)。各グリッドは透視変換による画像上の領域(簡単のため長方形の領域として定義)に対応し、この領域内の画像特徴の平均値がグリッドの特徴として使用され、3D グリッド特徴が得られます。計算量を削減するために、3D グリッド フィーチャを高さ次元で圧縮 (加重平均) して 2D グリッド フィーチャを取得します。最終的なオブジェクト検出は 2D グリッド フィーチャに対して実行されます。3D グリッドの 2D 画像ピクセルへの投影は 1 対 1 の対応ではなく、複数のグリッドが隣接する画像領域に対応するため、グリッドの特徴が曖昧になります。したがって、検出対象物はすべて道路上にあり、高さの範囲が非常に狭いことも想定する必要があります。したがって、実験で使用した 3D グリッドの高さはわずか 4 メートルで、地上の車両と歩行者を十分にカバーできます。しかし、交通標識を検出したい場合、物体が地面に近いと仮定するこの方法は適用できません。

9421b09ed5e541cea3611d6ab469da7e.png

正投影特徴変換

上記の方法はどちらも、オブジェクトが地上にあるという前提に基づいています。また、深度推定の結果を利用して擬似点群データを生成するアイデアもあり、代表的な作品としてはPseudo-LiDAR[3]が挙げられる。奥行き推定の結果は、一般に追加の画像チャネル (RGB-D データと同様) とみなされ、画像ベースのオブジェクト検出ネットワークが 3D オブジェクト境界ボックスの生成に直接使用されます。著者は記事の中で、奥行き推定に基づく 3D オブジェクト検出の精度は、LiDAR に基づくものよりもはるかに悪いと指摘しましたが、その主な理由は、奥行き推定の精度が十分でないことではなく、デプス推定の精度に問題があるためです。データ表現の方法。まず、画像データでは、遠方の物体の面積が非常に小さいため、遠方の物体の検出が非常に不正確になります。第 2 に、隣接するピクセル間の奥行きの差が (オブジェクトの端などで) 非常に大きくなる可能性があり、畳み込み演算を使用して特徴を抽出する際に問題が発生します。これら 2 つの点を考慮して、著者は、深度マップに基づいて入力画像を LiDAR によって生成されたものと同様の点群データに変換し、点群と画像融合アルゴリズム (AVOD や F-PointNet など) を使用して 3D を検出することを提案します。オブジェクト。Pseudo-LiDAR の手法は特定の深度推定アルゴリズムに依存せず、単眼または両眼からの任意の深度推定を直接使用できます。この特別なデータ表現により、Pseudo-LiDAR は 30 メートルの範囲内で物体検出の精度を 22% から 74% に高めることができます。

75668dcb80ae21dda1c7800fbd845f7f.png

擬似LiDAR

実際の LiDAR 点群と比較すると、疑似 LiDAR 方法には 3D オブジェクト検出の精度にまだ一定のギャップがあります。これは主に深度推定の精度が不十分であるためです (双眼は単眼よりも優れています)。特に深度です。検出に大きな影響を与える物体の周囲の推定誤差。したがって、Pseudo-LiDAR もその後大幅に拡張されました。Pseudo-LiDAR++ [4] は、ロービーム LiDAR を使用して仮想点群を強化します。Pseudo-Lidar End2End [5] は、インスタンス セグメンテーションを使用して F-PointNet のオブジェクト ボックスを置き換えます。RefinedMPL [6] は、前景点にのみ仮想点群を生成し、点群の数を元の 10% に減らし、誤検出の数とアルゴリズムの計算量を効果的に削減できます。

キーポイントと3Dモデル

自動運転アプリケーションでは、検出される多くの物体 (車両や歩行者など) のサイズと形状は比較的固定されており、既知です。これらの事前知識を使用して、オブジェクトの 3D 情報を推定できます。

DeepMANTA [7] は、この方向における先駆的な作品の 1 つです。まず、Faster RNN などの従来の画像オブジェクト検出アルゴリズムを使用して 2D オブジェクト フレームを取得し、車両上のキー ポイントも検出します。次に、これらの 2D オブジェクトのフレームとキー ポイントがデータベース内のさまざまな 3D 車両 CAD モデルと照合され、最も類似性の高いモデルが 3D オブジェクト検出の出力として選択されます。

e55e1a8c9035f44ecaa1c41b6ccba085.png

ディープマンタ

3D-RCNN [8] は、画像に基づいてシーン内の各ターゲットの 3D 形状と姿勢を復元するために、Inverse-Graphics 手法を使用することを提案しています。基本的な考え方は、ターゲットの 3D モデルから開始し、パラメータ検索を通じて画像内のターゲットに最もよく一致するモデルを見つけることです。これらの 3D モデルには通常、多くの制御パラメータがあり、探索空間が非常に大きいため、高次元のパラメータ空間で最適な効果を探索する従来の方法は適していません。3D-RCNN は、PCA を使用してパラメーター空間の次元 (10-D) を削減し、ディープ ニューラル ネットワーク (R-CNN) を使用して各ターゲットの低次元モデル パラメーターを予測します。予測されたモデル パラメーターは、各ターゲットの 2 次元画像または深度マップの生成に使用でき、GroudTruth データとの比較によって得られた Loss は、ニューラル ネットワークの学習のガイドに使用できます。この損失は Render-and-Compare Loss と呼ばれ、OpenGL に基づいて実装されています。3D-RCNN 法はより多くの入力データを必要とし、損失の設計が比較的複雑であるため、エンジニアリングでの実装が困難です。

bdb3325425cab1473fffe685fe433dc4.png

3D-RCNN

MonoGRNet [9] は、単眼 3D オブジェクト検出を 4 つのステップに分割することを提案しています。これらのステップは、2D オブジェクトのフレーム、オブジェクトの 3D 中心の深さ、オブジェクトの 3D 中心の 2D 投影位置、および 3D 8つのコーナーポイントの位置。まず、画像内の予測された 2D オブジェクト フレームが ROIAlign によって操作され、オブジェクトの視覚的特徴が取得されます。次に、これらの特徴を使用して、オブジェクトの 3D 中心の深さと 3D 中心の 2D 投影位置を予測します。この 2 つの情報により、物体の 3D 中心点の位置が得られます。最後に、3D 中心の位置に従って、8 つのコーナー点の相対位置が予測されます。MonoGRNet は、オブジェクトの中心をキーポイントとして使用するだけと考えることができ、2D と 3D のマッチングも点の距離の計算になります。MonoGRNetV2[10] は中心点を複数のキーポイントに拡張し、深度推定に 3D CAD オブジェクト モデルを使用します。これは、以前に紹介した DeepMANTA や 3D-RCNN と同様です。

4dea88fab6d8e89f81f71acd667fb0e1.png

MonoGRNet

Monoloco [11] は主に歩行者の 3D 検出の問題を解決します。歩行者は、ポーズや変形が多様な非剛体であるため、車両の検出よりも困難になります。Monoloco もキーポイント検出に基づいており、キーポイントの事前の相対 3D 位置を深度推定に使用できます。例えば、歩行者の距離は、歩行者の肩から腰までの長さ50cmに基づいて推定される。この長さをベンチマークとして使用する理由は、人体のこの部分が最も変形が少なく、最も高い精度で深度推定に使用されるためです。もちろん、他のキーポイントも、深度推定のタスクを完了するためのアシスタントとして使用できます。Monoloco は、多層完全接続ネットワークを使用して、要点の位置から歩行者までの距離を予測し、予測の不確実性も提供します。

2edb81e874e77ffc6176c4f531ccad13.png

モノロコ

要約すると、上記の方法は 2D 画像からキーポイントを抽出し、それを 3D モデルと照合して、ターゲットの 3D 情報を取得します。このタイプの方法は、ターゲットが比較的固定された形状モデルを持っていることを前提としています。これは車両にとっては一般に満足ですが、歩行者にとっては比較的困難です。さらに、このような方法では 2D 画像上の複数のキーポイントにラベルを付ける必要があり、これも非常に時間がかかります。

2D/3D 幾何拘束

Deep3DBox [12] は、この方向における初期の代表的な作品です。3D オブジェクトのフレームは、中心、サイズ、向きの 9 次元の変数で表す必要があります (3D の向きはヨーに簡略化できるため、7 次元の変数になります)。画像 2D オブジェクト検出では、4 つの既知の変数 (2D 中心と 2D サイズ) を含む 2D オブジェクト ボックスを提供できますが、これは 7 または 9 自由度の変数を解決するには十分ではありません。これら 3 つの変数グループの中で、サイズと方向は視覚的特徴と比較的密接に関連しています。たとえば、オブジェクトの 3D サイズはそのカテゴリ (歩行者、自転車、自動車、バス、トラックなど) と非常に相関しており、オブジェクトのカテゴリは視覚的な特徴によって予測できます。中心点の 3D 位置は、透視投影によって生じる曖昧さのため、視覚的な特徴だけで予測することが困難です。したがって、Deep3DBox は、最初に 2D オブジェクト フレーム内の画像特徴を使用して、オブジェクトのサイズと方向を推定することを提案します。次に、2D/3D 幾何拘束を使用して中心点の 3D 位置を解決します。この制約は、画像上の 3D オブジェクト フレームの投影が 2D オブジェクト フレームによってしっかりと囲まれていること、つまり、3D オブジェクト フレームの少なくとも 1 つのコーナー ポイントが 2D オブジェクト フレームの両側に存在することです。中心点の 3D 位置は、事前に予測されたサイズと方向をカメラのキャリブレーション パラメーターと組み合わせることによって解決できます。

befa0f064f0db58200b113ee0104a7a9.png

2D オブジェクト ボックスと 3D オブジェクト ボックス間の幾何学的制約 (図は文献 [9] から)

2D/3D 制約を利用するこのアプローチでは、非常に正確な 2D オブジェクト ボックス検出が必要です。Deep3DBox のフレームワークでは、2D オブジェクトのフレーム上の小さなエラーが 3D オブジェクトのフレーム予測の失敗につながる可能性があります。Shift R-CNN [13] の最初の 2 つのステージは Deep3DBox に非常に似ており、どちらも 2D オブジェクト ボックスと視覚的特徴を使用して 3D サイズと方向を予測し、幾何学的制約を通じて 3D 位置を解決します。ただし、Shift R-CNN は 3 番目のステージを追加します。このステージでは、最初の 2 つのステージで取得された 2D オブジェクト フレーム、3D オブジェクト フレーム、およびカメラ パラメーターが入力として結合され、完全に接続されたネットワークを使用して、より正確な 3D 位置を予測します。

039c26697db9d17a69085349ad1129b9.png

シフトR-CNN

2D/3D 幾何拘束を使用する場合、上記のメソッドはすべて、一連の超拘束方程式を解くことによってオブジェクトの 3D 位置を取得します。このプロセスは後処理ステップとして使用され、ニューラル ネットワーク内にはありません。Shift R-CNN の第 1 段階と第 3 段階も個別にトレーニングされます。MVRA [14] は、この超制約された方程式の解法プロセスをネットワークに構築し、画像座標での IoU 損失と BEV 座標での L2 損失をそれぞれ設計して、物体フレームと距離推定の誤差を測定しました。エンドツーエンドのトレーニングの完了を支援します。このように、オブジェクトの 3D 位置予測の品質は、以前の 3D サイズと方向の予測にもフィードバック効果をもたらします。

3Dオブジェクトフレームの直接生成

前に紹介した 3 種類の手法はいずれも 2D 画像から始まり、画像を BEV ビューに変換するもの、2D キー ポイントを検出して 3D モデルと照合するもの、2D および 3D オブジェクト フレームの幾何学的制約を使用するものがあります。さらに、密集した 3D オブジェクトの候補から開始し、2D 画像上の特徴を通じてすべての候補フレームをスコアリングし、スコアの高い候補フレームが最終出力となるタイプの方法もあります。この戦略は、物体検出における従来のスライディング ウィンドウ法にある程度似ています。

Mono3D [15] はそのような手法の代表的なものです。まず、オブジェクトの以前の位置 (Z 座標は地面上) とサイズに基づいて、密な 3D 候補ボックスが生成されます。KITTI データセットでは、フレームごとに約 40,000 (車両) または 70,000 (歩行者と自転車) のプロポーザルが生成されます。これらの 3D 候補ボックスが画像座標に投影された後、2D 画像上の特徴によってスコアが付けられます。これらの特徴は、セマンティック セグメンテーション、インスタンス セグメンテーション、コンテキスト、形状、位置の事前情報から得られます。これらすべての特徴が融合されて候補ボックスにスコアが付けられ、より高いスコアを持つものが最終候補として選択されます。これらの候補は、次のラウンドで CNN によってスコア付けされ、最終的な 3D オブジェクト フレームが取得されます。

9ff6ccc92b0f14311816ae7894c339dc.png

モノ3D

M3D-RPN [16] はアンカーベースの方法です。このメソッドは、それぞれ 2D および 3D オブジェクト ボックスを表す 2D および 3D アンカーを定義します。2D アンカーは画像の高密度サンプリングを通じて取得されますが、3D アンカーのパラメーターはトレーニング セット データを通じて取得された事前知識に基づいて決定されます。具体的には、各 2D アンカーは、IoU に従って画像内でマークされた 2D オブジェクト フレームと照合され、対応する 3D オブジェクト フレームの平均値を使用して 3D アンカーのパラメータが定義されます。M3D-RPN では、標準の畳み込み演算 (空間不変性を伴う) と深度認識畳み込みの両方が使用されることに言及する価値があります。後者は、画像の行 (Y 座標) を複数のグループに分割し、各グループは異なるシーンの深さに対応し、異なるコンボリューション カーネルによって処理されます。

dbf15845aa8517768a7f52045bc46fb0.png

43d42215bdc0fa4c41f2ea76f551fc73.png

M3D-RPN のアンカー設計と深度認識畳み込み

ある程度の事前知識が使用されますが、Mono3D と M3D-RPN はオブジェクト候補やアンカーを生成する際に依然として密なサンプリングに基づいているため、必要な計算量が非常に多く、実用性に大きく影響します。その後のいくつかの方法では、二次元画像上の検出結果を使用して、探索空間をさらに縮小することが提案されています。

TLNet [17] は、アンカーを 2 次元平面上に密に配置します。アンカー間隔は0.25メートル、方位は0度と90度、サイズはターゲットの平均値です。画像上の 2 次元検出結果は 3 次元空間に複数のビューイング コーンを形成し、これらのビューイング コーンを通じて背景の多数のアンカーを除去することができ、アルゴリズムの効率が向上します。フィルタリングされたアンカーが画像上に投影され、ROI プーリング後に取得された特徴を使用して 3D オブジェクト フレームのパラメータがさらに調整されます。

996d0357a138633663fb9787e1a8b205.png

TLTネット

SS3D [18] は、より効率的な一段階検出を採用し、CenterNet 構造と同様のネットワークを使用して、オブジェクト カテゴリ、2D オブジェクト フレーム、3D オブジェクト フレームなどのさまざまな 2D および 3D 情報を画像から直接出力します。ここでの 3D オブジェクト フレームは、一般的な 9D または 7D 表現 (この表現は画像から直接予測することが困難です) ではなく、画像から予測しやすく、距離などのより多くの冗長性を含む 2D 表現であることに注意してください。 (1-d)、向き (2-d、sin および cos)、サイズ (3-d)、8 つの隅の点の画像座標 (16-d)。2D オブジェクト ボックスの 4-D 表現と組み合わせると、合計 26D フィーチャになります。これらすべての特徴は 3D オブジェクト フレームを予測するために使用され、実際の予測プロセスでは 26D 特徴に最もよく一致する 3D オブジェクト フレームを見つけます。特別な点は、解のプロセスがニューラル ネットワーク内で実行されるため、導出可能である必要があることです。これは、この記事の大きなハイライトでもあります。シンプルな構造と実装の利点を活かし、SS3D の実行速度は 20FPS に達します。

5c483bab2ddc79df624b4bf161474087.png

SS3D

FCOS3D [19] も 1 段階の検出方法ですが、SS3D よりもコンパクトです。3D オブジェクト フレームの中心を 2D 画像に投影して 2.5D 中心 (X、Y、深度) を取得し、これを回帰ターゲットの 1 つとして使用します。さらに、回帰ターゲットには 3D サイズと方向もあります。ここでの方向は、角度 (0-pi) + 方位の組み合わせで表されます。

5bfb4dada73a49baf83a4e8a75551ae5.png

FCOS3D

SMOKE [20] も、CenterNet のような構造を通じて画像から 2D および 3D 情報を直接予測する同様のアイデアを提案しました。2D 情報には、画像上のオブジェクトのキーポイント (中心と隅) の投影位置が含まれ、3D 情報には中心点の深さ、サイズ、方向が含まれます。画像の位置と中心点の深さによって、オブジェクトの 3D 位置を復元できます。次に、各コーナー点の 3D 位置を 3D サイズと方向を通じて復元できます。

上で説明したこれらの単一ステージ ネットワークの考え方は、複雑な前処理 (画像の逆変換など) や後処理 (3D モデルのマッチングなど) を必要とせず、画像から直接 3D 情報を返すことです。正確な幾何学的制約 (2D オブジェクト フレームの両側に 3D オブジェクト フレームの少なくとも 1 つのコーナー ポイントが存在するなど)。これらの方法では、さまざまなオブジェクトの実際のサイズの平均値や、結果として得られる 2D オブジェクトのサイズと深さの対応関係など、少量の事前知識のみが使用されます。これらの事前知識はオブジェクトの 3D パラメータの初期値を定義し、ニューラル ネットワークは実際の値からの偏差を返すだけでよいため、探索空間が大幅に削減され、ネットワーク学習の困難さが軽減されます。

深さの推定

前節では単眼立体物検出の代表的な手法を紹介しましたが、その考え方は初期の画像変換、3Dモデルマッチング、2D/3D幾何拘束から、最近では画像から直接3D情報を予測するものまで多岐にわたります。この考え方の変化は主に、深さ推定における畳み込みニューラル ネットワークの進歩によるものです。以前に紹介した単一段階の 3D オブジェクト検出ネットワークのほとんどには、深度推定の分岐が含まれています。ここでの深さの推定は、密なピクセル レベルではなく、疎なターゲット レベルでのみ行われますが、オブジェクトの検出には十分です。

物体の検出に加えて、自動運転の認識にはもう 1 つの重要なタスクがあります。それはセマンティック セグメンテーションです。セマンティック セグメンテーションを 2D から 3D に拡張する最も直接的な方法の 1 つは、各ピクセルにセマンティック情報と深度情報が含まれるように、高密度深度マップを使用することです。

上記の 2 つの点を組み合わせると、単眼奥行き推定は 3D 認識タスクにおいて非常に重要な役割を果たします。前のセクションでの 3D オブジェクト検出方法の紹介から類推すると、完全畳み込みニューラル ネットワークは高密度深度推定にも使用できます。この方向の開発の現在の状況を紹介しましょう。

単眼奥行き推定の入力は画像であり、出力も画像 (通常は入力と同じサイズ) であり、その上の各ピクセル値は入力画像のシーンの奥行きに対応します。このタスクは、セマンティック セグメンテーションの出力が各ピクセルのセマンティック分類であることを除いて、画像のセマンティック セグメンテーションにある程度似ています。もちろん、入力をビデオ シーケンスにすることもできます。これは、カメラまたはオブジェクトの動きによってもたらされる追加情報を使用して、奥行き推定 (ビデオ セマンティック セグメンテーションに対応) の精度を向上させます。

前述したように、2D 画像から 3D 情報を予測することは病理学的問題であるため、従来の方法では、幾何学的情報、動き情報、その他の手がかりを使用して、手動で設計された特徴を通じてピクセル深度を予測します。セマンティック セグメンテーションと同様に、スーパーピクセルと条件付きランダム フィールド (CRF) という 2 つの方法が、推定の精度を向上させるためによく使用されます。近年、ディープ ニューラル ネットワークはさまざまな画像認識タスクにおいて画期的な進歩を遂げており、深度推定も例外ではありません。ディープ ニューラル ネットワークは、トレーニング データを通じて手動設計よりも優れた機能を学習できることが、多くの研究によって示されています。このサブセクションでは、主に教師あり学習に基づいたこの手法を紹介します。両眼視差情報、単眼デュアルピクセルの差分情報(Dual Pixel)、ビデオの動き情報などを利用した教師なし学習のアイデアについては、後ほど紹介します。

この方向における初期の代表的な研究は、Eigen らによって提案されたグローバル キューとローカル キューの融合に基づく方法です [21]。単眼の奥行き推定のあいまいさは主に地球規模に起因します。たとえば、記事の中で、実際の部屋とおもちゃの部屋は画像と若干異なって見えるかもしれないと述べられていますが、実際の被写界深度は大きく異なります。これは極端な例ですが、実際のデータセットでは部屋や家具のサイズにばらつきがあります。したがって、この方法では、画像の多層畳み込みとダウンサンプリングを実行してシーン全体の記述特徴を取得し、これを使用してグローバル深度を予測することを提案します。次に、別のローカル ブランチ (比較的高い解像度) を使用して、画像のローカルな深度を予測します。ここでは、ローカル深度の予測を支援するために、グローバル深度がローカル ブランチの入力として使用されます。

2924f995cfa163bb8e9bb0771be76514.png

グローバル情報とローカル情報の融合 [21]

文献 [22] ではさらに、畳み込みニューラル ネットワークによって出力されたマルチスケール特徴マップを使用して、さまざまな解像度の深度マップを予測することを提案しています ([21] には解像度が 2 つだけあります)。これらの異なる解像度の特徴マップは連続 MRF によって融合され、入力画像に対応する深度マップが取得されます。

1b05e3c25e61692195763d479a5e9716.png

マルチスケール情報融合 [22]

上記 2 つの記事はどちらも畳み込みニューラル ネットワークを使用して深度マップを回帰していますが、もう 1 つのアイデアは、回帰問題を分類問題に変換すること、つまり、連続的な深度値を離散的な区間に分割し、各区間をカテゴリと見なすことです。 。この方向の代表的な作品は DORN [23] である。DORN フレームワークのニューラル ネットワークも符号化および復号化構造ですが、全結合層復号化の使用、特徴抽出のための拡張畳み込みの使用など、細部ではいくつかの違いがあります。

3482ff16e64ce730d4133f992ae2a87a.png

DORN 深度分類

前述したように、深度推定にはセマンティック セグメンテーション タスクとの類似点があるため、深度推定には受容野のサイズも非常に重要です。前述のピラミッド ノットや拡張コンボリューションに加えて、最近非常に人気のある Transformer 構造はグローバルな受容フィールドを備えているため、このようなタスクにも非常に適しています。文献 [24] では、予測のローカルな精度とグローバルな一貫性を同時に確保するために、Transformer とマルチスケール構造を使用することが提案されています。

2bda4a6ed5e1460150be0c8ffeb1fca8.png

高密度予測のためのトランスフォーマー

384320524a0c6dbe20c5525d8c73e477.gif

両眼3D知覚

画像内の事前の知識とコンテキスト情報を活用することはできますが、単眼ベースの 3D 認識の精度は完全に満足のいくものではありません。特に深層学習戦略を使用する場合、アルゴリズムの精度はデータセットのサイズと品質に大きく依存します。データセットに現れていないシーンの場合、アルゴリズムでは深さの推定とオブジェクトの検出に大きな偏差が生じます。

両眼視機能は透視変換によって生じる曖昧さを解決できるため、理論的には 3D 認識の精度を向上させることができます。ただし、双眼システムにはハードウェアとソフトウェアに対する比較的高い要件があります。ハードウェアの面では、正確な位置合わせを行う 2 台のカメラが必要であり、車両の走行中は位置合わせが常に正しいことを保証する必要があります。ソフトウェアの面では、アルゴリズムは 2 台のカメラからのデータを同時に処理する必要があり、計算の複雑さが高いため、アルゴリズムのリアルタイム性能を確保することがより困難になります。

一般に、両眼視に関する論文は単眼視に比べて比較的少ないので、代表的な論文をいくつかピックアップして紹介します。また、テスラが AI Day で展示した 360° 知覚システムなど、多目的な作品もいくつかありますが、システム応用レベルに偏っています。

物体検出

3DOP [25] は、まずデュアル カメラからの画像を使用して深度マップを生成し、その深度マップを点群に変換してからメッシュ データ構造に量子化し、これを 3D オブジェクト候補を生成するための入力として使用します。候補を生成する際には、候補フレーム内の点群の密度が十分に大きいこと、高さが実際のオブジェクトと一致していること、フレームの外側の点群との高さの差が十分に大きいことなど、いくつかの直感と事前知識が使用されます。候補フレームと空き領域との重なりが十分に小さい。これらの条件を経て、最終的に 3D 空間内で約 2K の 3D オブジェクト候補がサンプリングされます。これらの候補は 2D 画像にマッピングされ、ROI プーリングを通じて特徴抽出が実行されて、オブジェクトのカテゴリを予測し、オブジェクト フレームを調整します。ここで入力される画像は、カメラからの RGB 画像または深度マップです。

全体として、これは 2 段階の検出方法です。第 1 段階では奥行き情報 (点群) を使用してオブジェクト候補を生成し、第 2 段階では画像情報 (または奥行き) を使用して絞り込みます。理論的には、最初の段階の点群生成も LiDAR で置き換えることができるため、筆者は実験的に比較を行った。LiDAR には正確な測距という利点があるため、小さな物体、部分的に遮られた物体、遠くにある物体に対してより効果的に機能します。両眼データの利点は、点群密度が高いため、近距離でのオクルージョンが少なく、オブジェクトが比較的大きい場合に効果が高くなります。もちろん、コストや計算量を考慮しないという前提の下では、両者を組み合わせた方が最良の結果が得られます。

9e31d786544d781ef209d9d30039418a.png

3dop

3DOP は、前のセクションで紹介した Pseudo-LiDAR [3] と同様のアイデアを持っており、高密度深度マップ (単眼、両眼、さらにはローライン LiDAR) を点群に変換し、検出ドメインの点群オブジェクト アルゴリズムを適用します。

画像から深度マップを推定し、深度マップから点群を生成し、最後に点群オブジェクト検出アルゴリズムを適用します。このプロセスの各ステップは個別に実行されるため、エンドツーエンドのトレーニングを実行することはできません。DSGN [26] は、左右の画像から開始して、平面スイープ ボリュームの中間表現を介して BEV ビューの下で 3D 表現を生成し、奥行き推定とオブジェクト検出を同時に実行する単一段階のアルゴリズムを提案しています。このパイプラインのすべてのステップは微分可能であるため、エンドツーエンドのトレーニングが可能です。

582af8836651c1bacf8cfa6746c373f0.png

DSGN

深度マップは高密度表現であり、実際、オブジェクトの学習では、シーンのすべての位置で深度情報を取得する必要はなく、対象のオブジェクトの位置を推定するだけで済みます。同様のアイデアは、以前の単眼アルゴリズムの紹介でも言及されました。深度マップはステレオ R-CNN [27] では推定されませんが、2 台のカメラからの特徴マップは RPN のフレームワークの下でスタックされ、オブジェクト候補が生成されます。ここで左右のカメラの情報を関連付けるポイントは、ラベルデータの変更です。下図のように、左右のラベルボックスに加えて、左右のラベルボックスの和集合も追加されます。左右のフレーム IoU が 0.7 を超えるアンカーはポジティブ サンプルとして使用され、ユニオン フレーム IoU が 0.3 未満のアンカーはネガティブ サンプルとして使用されます。Positive Anchor は、左右の注釈ボックスの位置とサイズを同時に返します。この方法では、オブジェクト ボックスに加えて、コーナー ポイントも補助として使用します。このすべての情報を使用して、3D オブジェクト ボックスを復元できます。

13706358dfd773cf9eb1112b0926ef00.png

ステレオ R-CNN

シーン全体の高密度の深度推定は、オブジェクトの検出に悪影響を及ぼす可能性さえあります。たとえば、オブジェクトのエッジが背景と重なっているために奥行き推定の偏差が大きく、シーン全体の奥行き範囲が広いこともアルゴリズムの速度に影響します。したがって、ステレオ RCNN と同様に、[28] も、対象のオブジェクトのみで深度を推定し、オブジェクト上の点群のみを生成することを提案しています。これらのオブジェクト中心の点群は、最終的にオブジェクトの 3D 情報を予測するために使用されます。

53f5b2fb0eebe401fa6da312883091f4.png

オブジェクト中心のステレオマッチング

深さの推定

単眼知覚アルゴリズムと同様に、奥行き推定も両眼知覚における重要なステップです。前のセクションの両眼オブジェクト検出の概要から、シーンレベルの奥行き推定やオブジェクトレベルの奥行き推定など、多くのアルゴリズムで奥行き推定が使用されています。以下は、両眼深度推定の基本原理といくつかの代表的な研究の簡単なレビューです。

両眼奥行き推定の原理は、実際には非常に単純です。つまり、左右の画像上の同じ 3D 点の間の距離 d に従っています (2 台のカメラが同じ高さを維持していると仮定しているため、水平方向の距離のみが推定されます)。考慮)、カメラの焦点距離 f、および 2 台のカメラ間の距離 B(基線長)を使用して、3D ポイントの深度を推定します。

fdc26a66a4fb28411a6e72ed2bbb5bac.png

双眼システムでは、f と B は固定されているため、視差である距離 d のみを推定する必要があります。各ピクセルについて行う必要があるのは、別の画像内で一致する点を見つけることだけです。距離 d の範囲は限られているため、マッチングの探索範囲も限られます。考えられる d ごとに、各ピクセルでのマッチング誤差を計算できるため、コスト ボリュームと呼ばれる 3 次元誤差データが取得されます。マッチング誤差を計算するとき、通常、ピクセル点に近い局所領域が考慮されます。最も簡単な方法の 1 つは、局所領域内のすべての対応するピクセル値の差を合計することです。

f1ce7cce29585beb994d8e39fe04fc0e.png

f925ec7fceaa3809237162a85d005be5.png

MC-CNN [29] は、マッチング プロセスを 2 つの画像ブロック間の類似性の計算として形式化し、ニューラル ネットワークを通じて画像ブロックの特徴を学習します。データにラベルを付けることにより、トレーニング セットを構築できます。各ピクセルで、ポジティブ サンプルとネガティブ サンプルが生成され、各サンプルは画像パッチのペアになります。ポジティブ サンプルは、同じ 3D ポイント (同じ深さ) からの 2 つの画像パッチであり、ネガティブ サンプルは、異なる 3D ポイント (異なる深さ) からの画像パッチです。陰性サンプルの選択肢は多数ありますが、陽性サンプルと陰性サンプルのバランスを維持するために、ランダムに 1 つだけが抽出されます。正のサンプルと負のサンプルを使用して、類似性を予測するようにニューラル ネットワークをトレーニングできます。ここでの中心的なアイデアは、実際には、監視信号を通じてタスクのマッチングに適した画像の特徴を学習するようにニューラル ネットワークを誘導することです。

536b3cca9a270c8b52c4b5512434ea6e.png

MC-CNN

MC-Net には 2 つの主な欠点があります: 1) コスト ボリュームの計算はローカル画像ブロックに依存するため、テクスチャが少ない領域や繰り返しパターンのある一部の領域で大きなエラーが発生します; 2) 後処理ステップは手動に依存します 設計に多くの時間がかかります最高の状態を保証するのは困難です。GC-Net [30] はこれら 2 つの点を改善しています。まず、意味論的な特徴をより適切に抽出するために、多層畳み込みおよびダウンサンプリング操作が左右の画像に対して実行されます。各視差レベル(ピクセル単位)ごとに、左右の特徴マップが位置合わせされ(ピクセルオフセット)、結合されて視差レベルの特徴マップが取得されます。すべての視差レベルの特徴マップは、4D コスト ボリューム (高さ、幅、視差、特徴) を取得するためにマージされます。コスト ボリュームには 1 つの画像からの情報のみが含まれており、画像間の相互作用はありません。したがって、次のステップは、3D コンボリューションを使用してコスト ボリュームを処理することです。これにより、左右の画像間の関連情報と、異なる視差レベル間の情報を同時に抽出できます。このステップの出力は 3D コスト ボリューム (高さ、幅、視差) です。最後に、最適な視差値を取得するには、視差の次元で Argmin を見つける必要がありますが、標準の Argmin を導き出すことはできません。GC-Net は Soft Argmin を使用して導出の問題を解決し、ネットワーク全体をエンドツーエンドでトレーニングできるようにします。

9c3fdd334d7f480d6acbce59810dcb4a.png

GCネット

PSMNet [31] の構造は GC-Net に非常に似ていますが、次の 2 つの側面で改良されています。 1) ピラミッド構造とホール畳み込みを使用して多重解像度情報を抽出し、受容野を拡張します。グローバル機能とローカル機能の融合により、コスト量の推定もより正確になります。2) 複数の重ね合わせた砂時計構造を使用して 3D 畳み込みを強化します。グローバル情報の活用がさらに強化されます。一般に、PSMNet はグローバル情報の利用を改善しているため、視差の推定はピクセル レベルのローカル情報よりも、さまざまなスケールのコンテキスト情報に依存します。

29488a065db6c485c5d99dc1581bedf7.png

PSMネット

コスト ボリュームでは、視差レベルは離散 (ピクセル単位) であり、ニューラル ネットワークが学習するのはこれらの離散点上のコスト分布であり、分布の極点が現在位置の視差値に対応します。ただし、実際には視差 (深度) 値は連続的である必要があり、離散点を使用して推定すると誤差が生じます。連続推定の概念は CDN [32] で提案されており、離散点の分布に加えて、各点のオフセットも推定されます。離散点とオフセットを組み合わせると、連続的な視差推定値が形成されます。

2fee2675ec5de9194bd41e55af7a55d6.png

(1)動画講座はこちら!

自動運転の心臓部は、ミリ波レーダービジョンフュージョン、高精度地図、BEV知覚、マルチセンサーキャリブレーション、センサー展開、自動運転協調知覚、セマンティックセグメンテーション、自動運転シミュレーション、L4知覚、意思決定計画、軌道予測を統合します。 、など、各方向の学習ビデオ。ご自身で受講することを歓迎します (コードをスキャンして学習を入力してください)。

9fe13250c20dc78a0d79ff523278baf6.png

(コードをスキャンして最新のビデオをご覧ください)

動画公式サイト:www.zdjszx.com

(2) 中国初の自動運転学習コミュニティ

1,000 人近くのコミュニケーション コミュニティと 20 以上の自動運転技術スタックの学習ルートが、自動運転の認識 (分類、検出、セグメンテーション、キー ポイント、車線境界線、3D 物体検出、占有、マルチセンサー フュージョン、物体追跡、オプティカル フロー推定、軌道予測)、自動運転位置決めとマッピング(SLAM、高精度マップ)、自動運転計画と制御、フィールド技術ソリューション、AI モデル展開の実装、業界トレンド、求人リリース、スキャンへようこそ以下の QR コード、自動運転の中心となるナレッジ プラネットに参加してください。ここは本物の乾物がある場所です。この分野の大手の人々と、仕事の開始、勉強、仕事、転職に関するさまざまな問題を交換し、論文 + コードを共有します。毎日+ビデオ、交換を楽しみにしています!

8860c27253f6830ab6007c0cd9251261.jpeg

(3) 自動運転の心臓部】フルスタック技術交流会

The Heart of Autonomous Driving は、物体検出、セマンティック セグメンテーション、パノラマ セグメンテーション、インスタンス セグメンテーション、キー ポイント検出、車線境界線、物体追跡、3D 物体検出、BEV 認識、マルチセンサー フュージョン、 SLAM、光流推定、深さ推定、軌道予測、高精度地図、NeRF、計画制御、モデル展開、自動運転シミュレーションテスト、プロダクトマネージャー、ハードウェア構成、AI求人検索とコミュニケーションなど。

856188ef698fcc3296fd69d0c9fb3c50.jpeg

Autobot Assistant Wechat への招待を追加してグループに参加します

備考:学校/会社+方向+ニックネーム

おすすめ

転載: blog.csdn.net/CV_Autobot/article/details/131368824
おすすめ