傳感器融合是自動駕駛汽車的關鍵技術之一。這是自動駕駛汽車工程師都必須具備的技能。原因很簡單:感知無處不在,無時無刻不在使用。
自動駕駛汽車通過4個關鍵技術工作:感知、定位、規(guī)劃和控制。
傳感器融合是感知模塊的一部分。我們希望融合來自視覺傳感器的數(shù)據(jù),以增加冗余、確定性或利用多個傳感器的優(yōu)勢。
傳感器數(shù)據(jù)和融合
在感知步驟中,使用激光雷達、雷達和攝像頭的組合來理解環(huán)境是很常見的。這3個傳感器各有優(yōu)缺點,使用它們可以幫助您擁有所有優(yōu)點。
如上圖所示:
攝像頭擅長處理對象分類及理解場景。
作為一種飛行時間傳感器,激光雷達非常適合估計距離。
雷達可以直接測量障礙物的速度。
在本文中,我們將學習融合激光雷達和攝像頭,從而利用攝像頭的分辨率、理解上下文和對物體進行分類的能力以及激光雷達技術來估計距離并查看3D世界。
攝像頭:2d傳感器
相機是一種眾所周知的傳感器,用于輸出邊界框、車道線位置、交通燈顏色、交通標志和許多其他東西。在任何自動駕駛汽車中,攝像頭從來都不是問題。
如何使用這種2D傳感器,并將其與3D傳感器(如:激光雷達)一起應用于3D世界?
激光雷達:3d傳感器
激光雷達代表光檢測和測距。它是一個3D傳感器,輸出一組點云;每個都有一個(X,Y,Z)坐標??梢栽?D數(shù)據(jù)上執(zhí)行許多應用:包括運行機器學習模型和神經(jīng)網(wǎng)絡。下面是一個輸出示例。
如何將此3D傳感器與相機等2D傳感器配合使用?
今天,我們介紹融合激光雷達和相機之間的數(shù)據(jù)。
傳感器融合算法
傳感器融合算法非常多。許多不同的方法都是可能的?!拔覀兿胍姆N類型的融合?”至關重要。
如 文章所屬,有3種方式來對融合算法分類:
按抽象級別:“何時”進行融合?when
按中心化級別:在“哪里”進行融合?where
按競爭級別:融合“什么”?what
“什么”很清楚:我們的目標是競爭和冗余?!霸谀睦铩辈⒉恢匾芏嘟鉀Q方案都可以解決。剩下“何時”...
在傳感器融合中,有兩種可能的過程:
早期融合:融合原始數(shù)據(jù)--像素和點云。
后期融合:融合結果--來自激光雷達和相機的邊界框。
在本文中,我們將研究這兩種方法。
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:
我們從早期融合開始。
早期傳感器融合:融合原始數(shù)據(jù)
早期融合是融合來自傳感器的原始數(shù)據(jù)的。因此,一旦插入傳感器,該過程就會很快的發(fā)生。
最簡單和最常見的方法是將點云(3D)投影到2D圖像上。然后檢查點云和相機檢測到的2D邊界框的重合度。
這個3步過程如下所示:
此過程已在 此文中歸類為低級別傳感器融合。
1.點云投影到2D
第一個想法是將激光雷達幀中的3D點云轉(zhuǎn)換為相機幀中的2D投影。為此,需要應用幾何原理如下:
(輸入點云在激光雷達幀/歐幾里得坐標中。)
將每個3D激光雷達點轉(zhuǎn)換為齊次坐標。
輸出:激光雷達幀/齊次坐標
應用該轉(zhuǎn)換點的投影方程(平移和旋轉(zhuǎn))將該點從激光雷達幀轉(zhuǎn)換為相機幀。
輸出:相機幀/齊次坐標
最后,將點轉(zhuǎn)換回歐幾里得坐標。
輸出:相機幀/歐幾里得坐標
如果不熟悉投影、旋轉(zhuǎn)和齊次坐標,可以學習 立體視覺課程。
這是第1步的結果。
2.2D對象檢測
下一部分是用相機檢測物體。這部分不過多描述,像YOLOv4這樣的算法可以執(zhí)行對象檢測。有關它的更多信息,可以閱讀 YOLOv4研究評論。
3.ROI匹配
最后一部分稱為感興趣區(qū)域匹配。我們將簡單地融合每個邊界框內(nèi)的數(shù)據(jù)。
輸出是什么?
對于每個邊界框,相機給出分類結果。
對于每個激光雷達投影點,都有一個非常準確的距離。
因此,我們得到了準確測量和分類的物體。
可能會出現(xiàn)一個問題:我們選擇哪一點作為距離?
每個點的平均值?
中位數(shù)?
中心點?
最近的?
使用2D障礙物檢測時,會遇到如下問題。如果我們選擇的點屬于另一個邊界框怎么辦?或者屬于背景?這是一個棘手的過程。 分割方法可能會更好,因為將點與像素精確匹配。
下面是結果的樣子,箭頭顯示融合可能失敗的點。
后期傳感器融合:融合結果
后期融合是在獨立檢測后融合結果。
我們可以想到的一種方法是運行獨立檢測,在兩端獲得3D邊界框,然后融合結果。
另一種方法是運行獨立檢測,得到兩端的2D邊界框,然后融合結果。
因此我們有兩種可能;在2D或3D中進行融合。
下面是一個2D示例:
在本文中,我將介紹3D過程,因為它更難。相同的原則適用于2D。
過程如下所示:
1.3D障礙物檢測(激光雷達)
使用激光雷達在3D中尋找障礙物的過程是眾所周知的。有兩種方法:
樸素的方法,使用無監(jiān)督的3D機器學習。
深度學習方法,使用RANDLA-NET等算法。
激光雷達課程這兩種方法都有講。
2.3D障礙物檢測(相機)
這個過程要困難得多,尤其是在使用單目相機時。在3D中尋找障礙物需要我們準確地知道我們的投影值(內(nèi)在和外在校準)并使用深度學習。如果我們想獲得正確的邊界框,了解車輛的大小和方向也至關重要。
本文是關于融合的文章,不介紹檢測部分??梢圆榭?nbsp;文章。
最后,關注一下匹配。
Here's an example coming from the paper 3D Iou-Net (2020) .
3.IOU匹配空間中的IOU匹配
匹配背后的過程非常簡單:如果來自攝像頭和激光雷達的邊界框在2D或3D中重疊,我們認為障礙是相同的。
下面是來自論文3D Iou-Net(2020)的示例。
利用這個想法,我們可以將空間中的物體關聯(lián)起來,從而在不同的傳感器之間進行關聯(lián)。
此過程在 文章中歸類為中級別傳感器融合。
中級傳感器融合和高級傳感器融合的區(qū)別在于高級傳感器的融合包括跟蹤。
要添加時間跟蹤,我們需要一個稱為時間關聯(lián)的類似過程。
時間上的IOU匹配
在 障礙物追蹤課程中,講了一種使用卡爾曼濾波器和匈牙利算法從幀到幀在時間上關聯(lián)對象的技術。結果使我們能夠在幀之間跟蹤對象,甚至預測它們的下一個位置。
如下所示:
IOU匹配的原理完全一樣:如果從第一幀到第二幀的邊界框重疊,我們認為這個障礙物是相同的。
此處,我們跟蹤邊界框位置并使用IOU(Intersection Over Union)作為指標。我們還可以使用深度卷積特征來確保邊界框中的對象是相同的--我們將此過程稱為SORT(簡單在線實時跟蹤),如果使用卷積特征,則稱為深度SORT。
由于我們可以在空間和時間中跟蹤對象,因此我們還可以在這種方法中使用完全相同的算法進行高級傳感器融合。
總結
我們現(xiàn)在已經(jīng)研究了激光雷達和相機融合的兩種方法。
讓我們總結一下我們學到的東西:
傳感器融合過程是關于融合來自不同傳感器的數(shù)據(jù),此處是激光雷達和攝像頭。
可以有早期或后期融合--早期融合(低級傳感器融合)是關于融合原始數(shù)據(jù)。后期融合是關于融合對象(中級傳感器融合)或軌跡(高級傳感器融合)
在做早期傳感器融合時,要做點云和像素或者框的關聯(lián)。
在進行后期傳感器融合時,我們想要做結果(邊界框)之間的關聯(lián),因此有諸如匈牙利算法和卡爾曼濾波器之類的算法來解決它。
文章來源:汽車電子與軟件 丨版權聲明:本文所有圖片文字源于網(wǎng)絡,版權歸原作者所有,向原作者致敬!如涉及作品版權問題,請聯(lián)系我們刪除或做相關處理!