感測器融合是自動駕駛汽車的關鍵技術之一。這是自動駕駛汽車工程師都必須具備的技能。原因很簡單:感知無處不在,無時無刻不在使用。
自動駕駛汽車透過4個關鍵技術工作:感知、定位、規劃和控制。
感測器融合是感知模組的一部分。我們希望融合來自視覺感測器的資料,以增加冗餘、確定性或利用多個感測器的優勢。
感測器資料和融合
在感知步驟中,使用鐳射雷達、雷達和攝像頭的組合來理解環境是很常見的。這3個感測器各有優缺點,使用它們可以幫助您擁有所有優點。
如上圖所示:
攝像頭擅長處理物件分類及理解場景。
作為一種飛行時間感測器,鐳射雷達非常適合估計距離。
雷達可以直接測量障礙物的速度。
在本文中,我們將學習融合鐳射雷達和攝像頭,從而利用攝像頭的解析度、理解上下文和對物體進行分類的能力以及鐳射雷達技術來估計距離並檢視3D世界。
攝像頭:2d感測器
相機是一種眾所周知的感測器,用於輸出邊界框、車道線位置、交通燈顏色、交通標誌和許多其他東西。在任何自動駕駛汽車中,攝像頭從來都不是問題。
如何使用這種2D感測器,並將其與3D感測器(如:鐳射雷達)一起應用於3D世界?
鐳射雷達:3d感測器
鐳射雷達代表光檢測和測距。它是一個3D感測器,輸出一組點雲;每個都有一個(X,Y,Z)座標。可以在3D資料上執行許多應用:包括執行機器學習模型和神經網路。下面是一個輸出示例。
如何將此3D感測器與相機等2D感測器配合使用?
今天,我們介紹融合鐳射雷達和相機之間的資料。
感測器融合演算法
感測器融合演算法非常多。許多不同的方法都是可能的。“我們想要哪種型別的融合?”至關重要。
如
文章
所屬,有3種方式來對融合演算法分類:
按抽象級別:“何時”進行融合?when
按中心化級別:在“哪裡”進行融合?where
按競爭級別:融合“什麼”?what
“什麼”很清楚:我們的目標是競爭和冗餘。“在哪裡”並不重要,很多解決方案都可以解決。剩下“何時”。。。
在感測器融合中,有兩種可能的過程:
早期融合:融合原始資料——畫素和點雲。
後期融合:融合結果——來自鐳射雷達和相機的邊界框。
在本文中,我們將研究這兩種方法。
We then check whether or not the point clouds belong to 2D bounding boxes detected with the camera。
This 3-step process looks like this:
我們從早期融合開始。
早期感測器融合:融合原始資料
早期融合是融合來自感測器的原始資料的。因此,一旦插入感測器,該過程就會很快的發生。
最簡單和最常見的方法是將點雲(3D)投影到2D影象上。然後檢查點雲和相機檢測到的2D邊界框的重合度。
這個3步過程如下所示:
此過程已在
此文
中歸類為低級別感測器融合。
1。點雲投影到2D
第一個想法是將鐳射雷達幀中的3D點雲轉換為相機幀中的2D投影。為此,需要應用幾何原理如下:
(輸入點雲在鐳射雷達幀/歐幾里得座標中。)
將每個3D鐳射雷達點轉換為齊次座標。
輸出:鐳射雷達幀/齊次座標
應用該轉換點的投影方程(平移和旋轉)將該點從鐳射雷達幀轉換為相機幀。
輸出:相機幀/齊次座標
最後,將點轉換回歐幾里得座標。
輸出:相機幀/歐幾里得座標
如果不熟悉投影、旋轉和齊次座標,可以學習
立體視覺課程
。
這是第1步的結果。
2。2D物件檢測
下一部分是用相機檢測物體。這部分不過多描述,像YOLOv4這樣的演算法可以執行物件檢測。有關它的更多資訊,可以閱讀
YOLOv4研究評論
。
3。ROI匹配
最後一部分稱為感興趣區域匹配。我們將簡單地融合每個邊界框內的資料。
輸出是什麼?
對於每個邊界框,相機給出分類結果。
對於每個鐳射雷達投影點,都有一個非常準確的距離。
因此,我們得到了準確測量和分類的物體。
可能會出現一個問題:我們選擇哪一點作為距離?
每個點的平均值?
中位數?
中心點?
最近的?
使用2D障礙物檢測時,會遇到如下問題。如果我們選擇的點屬於另一個邊界框怎麼辦?或者屬於背景?這是一個棘手的過程。
分割方法
可能會更好,因為將點與畫素精確匹配。
下面是結果的樣子,箭頭顯示融合可能失敗的點。
後期感測器融合:融合結果
後期融合是在獨立檢測後融合結果。
我們可以想到的一種方法是執行獨立檢測,在兩端獲得3D邊界框,然後融合結果。
另一種方法是執行獨立檢測,得到兩端的2D邊界框,然後融合結果。
因此我們有兩種可能;在2D或3D中進行融合。
下面是一個2D示例:
在本文中,我將介紹3D過程,因為它更難。相同的原則適用於2D。
過程如下所示:
1。3D障礙物檢測(鐳射雷達)
使用鐳射雷達在3D中尋找障礙物的過程是眾所周知的。有兩種方法:
樸素的方法,使用無監督的3D機器學習。
深度學習方法,使用RANDLA-NET等演算法。
鐳射雷達課程
這兩種方法都有講。
2。3D障礙物檢測(相機)
這個過程要困難得多,尤其是在使用單目相機時。在3D中尋找障礙物需要我們準確地知道我們的投影值(內在和外在校準)並使用深度學習。如果我們想獲得正確的邊界框,瞭解車輛的大小和方向也至關重要。
本文是關於融合的文章,不介紹檢測部分。可以檢視
文章
。
最後,關注一下匹配。
Here‘s an example coming from the paper 3D Iou-Net (2020) 。
3。IOU匹配
空間中的IOU匹配
匹配背後的過程非常簡單:如果來自攝像頭和鐳射雷達的邊界框在2D或3D中重疊,我們認為障礙是相同的。
下面是來自論文3D Iou-Net(2020)的示例。
利用這個想法,我們可以將空間中的物體關聯起來,從而在不同的感測器之間進行關聯。
此過程在
文章中
歸類為中級別感測器融合。
中級感測器融合和高階感測器融合的區別在於高階感測器的融合包括跟蹤。
要新增時間跟蹤,我們需要一個稱為時間關聯的類似過程。
時間上的IOU匹配
在
障礙物追蹤
課程中,講了一種使用卡爾曼濾波器和匈牙利演算法從幀到幀在時間上關聯物件的技術。結果使我們能夠在幀之間跟蹤物件,甚至預測它們的下一個位置。
如下所示:
IOU匹配的原理完全一樣:如果從第一幀到第二幀的邊界框重疊,我們認為這個障礙物是相同的。
此處,我們跟蹤邊界框位置並使用IOU(Intersection Over Union)作為指標。我們還可以使用深度卷積特徵來確保邊界框中的物件是相同的——我們將此過程稱為SORT(簡單線上實時跟蹤),如果使用卷積特徵,則稱為深度SORT。
由於我們可以在空間和時間中跟蹤物件,因此我們還可以在這種方法中使用完全相同的演算法進行高階感測器融合。
總結
我們現在已經研究了鐳射雷達和相機融合的兩種方法。
讓我們總結一下我們學到的東西:
感測器融合過程是關於融合來自不同感測器的資料,此處是鐳射雷達和攝像頭。
可以有早期或後期融合——早期融合(低階感測器融合)是關於融合原始資料。後期融合是關於融合物件(中級感測器融合)或軌跡(高階感測器融合)
在做早期感測器融合時,要做點雲和畫素或者框的關聯。
在進行後期感測器融合時,我們想要做結果(邊界框)之間的關聯,因此有諸如匈牙利演算法和卡爾曼濾波器之類的演算法來解決它。