自動駕駛感知中的深度學(xué)習(xí)
點擊上方“小白學(xué)視覺”,選擇加"星標(biāo)"或“置頂”
重磅干貨,第一時間送達
自動駕駛是一種自主決策系統(tǒng),它處理來自不同車載來源的觀測流,如照相機、雷達、激光雷達、超聲波傳感器、GPS裝置和/或慣性傳感器。這些觀察結(jié)果被汽車的計算機用來做駕駛決定。?
1.?傳統(tǒng)目標(biāo)檢測與識別的步驟
這就涉及目標(biāo)檢測,可以說讓計算機能夠區(qū)分出這些,是目標(biāo)檢測的第一步:目標(biāo)特征提取。
目標(biāo)檢測的第二步:目標(biāo)識別。是讓計算機識別剛才區(qū)分出來的畫面究竟是什么,從而確定視頻或圖像中目標(biāo)的種類。例如為了實現(xiàn)自動駕駛的目標(biāo),最初需要讓計算機認識交通目標(biāo),才能讓其成為真正的AI老司機。
如何建立一個高準(zhǔn)確率、高召回率的物體識別系統(tǒng)?這實際是無人車感知的一個核心問題,而物體檢測更是重中之重,要求我們對不同傳感器設(shè)計不同的算法來準(zhǔn)確檢測障礙物。
?具體說到物體檢測,我們要求完成單幀障礙物的檢測,并借助傳感器內(nèi)外參數(shù)標(biāo)定轉(zhuǎn)換矩陣,將檢測結(jié)果統(tǒng)一影射到車身的座標(biāo)系中,這種物體檢測算法既快速又準(zhǔn)確。?
2.?為何要引入深度學(xué)習(xí)
深度學(xué)習(xí)的方法進行圖像處理,最大的區(qū)別就是特征圖不再通過人工特征提取,而是利用計算機,這樣提取出來的特征會非常豐富,也很全面。
深度學(xué)習(xí)可以實現(xiàn)端到端的感知效果。
深度學(xué)習(xí)可以被理解為全自動的算法,可以在沒有人干預(yù)的情況下完成一個算法的流程,這是深度學(xué)習(xí)相較于傳統(tǒng)機器學(xué)習(xí)最大的優(yōu)勢所在。
所謂的深度學(xué)習(xí)就是通過集聯(lián)多層的神經(jīng)網(wǎng)絡(luò)形成一個很深的層,當(dāng)層數(shù)越多,提取出來的特征也就越多而且越豐富。所以在目標(biāo)檢測和識別的過程中,最主要使用的深度學(xué)習(xí)特征提取模型就是深度卷積網(wǎng)絡(luò),英文簡稱CNN。
為什么CNN圖像處理的方式比以前更好呢?究其原因,根本還是在于對圖像特征提取。例如,當(dāng)我們使用多層進行特征提取的時候,其實有些層是針對圖像的邊緣輪廓來提取的,有些則是針對質(zhì)地或者紋理來進行的,還有些是針對物體特征進行操作,總而言之不同的層有不同的分割方式。
回歸到目標(biāo)檢測這個問題上,卷積神經(jīng)網(wǎng)絡(luò)的每一層如果能夠準(zhǔn)確提取出所需特征,最后也就容易判斷許多。因此決定CNN的目標(biāo)檢測和識別的關(guān)鍵就在于對每一層如何設(shè)計。
深度學(xué)習(xí)針對當(dāng)前目標(biāo)檢測的方法
1.對于候選區(qū)域的目標(biāo)檢測算法,典型的網(wǎng)絡(luò)是R-CNN和FasterR-CNN
以FasterR-CNN為例,首先提取圖像中的候選區(qū)域,隨后針對這些候選區(qū)域進行分類判斷,當(dāng)然由于這些候選區(qū)域是通過算法搜索出來的,所以并不一定準(zhǔn)確,因此還需要對選出的區(qū)域做位置回歸,隨之進行目標(biāo)定位,最后輸出一個定位結(jié)果??傮w來說,首先要先選擇、再判斷,最后剔除不想要的。
這種算法精度較高,不過由于需要反復(fù)進行候選區(qū)域的選擇,所以算法的效率被限制。
2.基于回歸的目標(biāo)檢測算法,典型實現(xiàn)是YOLO和SSD
SSD的典型回歸目標(biāo)檢測算法,分為四個步驟:第一步通過深度神經(jīng)網(wǎng)絡(luò)提取整個圖片的特征;第二步對于不同尺度的深度特征圖設(shè)計不同大小的特征抓取盒;第三步通過提取出這些抓去盒中的特征進行目標(biāo)識別,最后,在識別出的這些結(jié)果中運用非極大值抑制選擇最佳的目標(biāo)識別結(jié)果。
只需觀測一次圖片就能進行目標(biāo)的檢測以及識別,因此算法的效率非常高。
3.基于增強學(xué)習(xí)的目標(biāo)檢測算法,典型表現(xiàn)為深度Q學(xué)習(xí)網(wǎng)絡(luò)
可以說場景適應(yīng)性算是比較強的。增強學(xué)習(xí)算法目標(biāo)檢測可被看成不斷動態(tài)調(diào)整候選區(qū)域邊框的過程。
深度學(xué)習(xí)方法特別適合于從攝像機和lidar(光探測和測距)設(shè)備獲取的2d圖像和3d點云中檢測和識別對象。
在自動駕駛中,三維感知主要基于激光雷達傳感器,它以三維點云的形式提供對周圍環(huán)境的直接三維表示。激光雷達的性能是根據(jù)視場、距離、分辨率和旋轉(zhuǎn)/幀速率來衡量的。
3D傳感器,如Velodyne通常具有360度水平視野。為了高速行駛,一輛自動駕駛汽車至少需要200米的行駛距離,使汽車能夠及時對路況的變化作出反應(yīng),三維目標(biāo)檢測精度取決于傳感器的分辨率,最先進的激光雷達能夠提供3cm的精度。
攝像機則是對獲取的圖像通過深度學(xué)習(xí)方法進行處理,其主要依賴于分辨率的高度和算法的精準(zhǔn)程度。
一輛自動駕駛汽車應(yīng)該能夠檢測到交通參與者和可行駛區(qū)域,特別是在城市地區(qū),那里可能出現(xiàn)各種各樣的物體外觀和遮擋。
基于深度學(xué)習(xí)的感知,特別是卷積神經(jīng)網(wǎng)絡(luò)(CNN)成為目標(biāo)檢測和識別的事實標(biāo)準(zhǔn),在ImageNet大規(guī)模視覺識別挑戰(zhàn)賽等比賽中取得顯著成績。
不同的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)用于檢測二維感興趣區(qū)域或圖像中的像素分割區(qū)域,3DLidar點云中的邊界盒以及組合相機Lidar數(shù)據(jù)中對象的三維表示。
場景感知結(jié)果的示例如圖3所示。圖像數(shù)據(jù)信息豐富,更適合于目標(biāo)識別任務(wù)。然而,由于在將成像場景投影到成像傳感器上時丟失了深度信息,因此必須估計被檢測對象的真實3d位置。

以百度Apollo 為例,Apollo?障礙物感知系統(tǒng)分為?3D 檢測、ROI 濾波、識別、運算、感知五大版塊。
其感知過程如下:首先LiDAR探測到信號,傳遞給ROI的Filter,濾波后的信號通過Obstacle Segmentation和Detection識別,然后進行 Tracking。
Apollo在運算這一塊采用的是NVIDIA GPU,運算能力強勁,可以實現(xiàn)10Hz的輸出,最后是Obstacles感知。
環(huán)境感知主要包括當(dāng)前環(huán)境的語義分割和靜態(tài)、動態(tài)的目標(biāo)檢測,采用人工智能技術(shù)中的深度卷積神經(jīng)網(wǎng)絡(luò)通過前期的數(shù)據(jù)訓(xùn)練以及特征提取,給出復(fù)雜環(huán)境中場景物體類別等信息,幫助計算機精準(zhǔn)地理解周邊的環(huán)境態(tài)勢。

在「小白學(xué)視覺」公眾號后臺回復(fù):擴展模塊中文教程,即可下載全網(wǎng)第一份OpenCV擴展模塊教程中文版,涵蓋擴展模塊安裝、SFM算法、立體視覺、目標(biāo)跟蹤、生物視覺、超分辨率處理等二十多章內(nèi)容。
下載2:Python視覺實戰(zhàn)項目52講在「小白學(xué)視覺」公眾號后臺回復(fù):Python視覺實戰(zhàn)項目,即可下載包括圖像分割、口罩檢測、車道線檢測、車輛計數(shù)、添加眼線、車牌識別、字符識別、情緒檢測、文本內(nèi)容提取、面部識別等31個視覺實戰(zhàn)項目,助力快速學(xué)校計算機視覺。
下載3:OpenCV實戰(zhàn)項目20講在「小白學(xué)視覺」公眾號后臺回復(fù):OpenCV實戰(zhàn)項目20講,即可下載含有20個基于OpenCV實現(xiàn)20個實戰(zhàn)項目,實現(xiàn)OpenCV學(xué)習(xí)進階。
交流群
歡迎加入公眾號讀者群一起和同行交流,目前有SLAM、三維視覺、傳感器、自動駕駛、計算攝影、檢測、分割、識別、醫(yī)學(xué)影像、GAN、算法競賽等微信群(以后會逐漸細分),請掃描下面微信號加群,備注:”昵稱+學(xué)校/公司+研究方向“,例如:”張三?+?上海交大?+?視覺SLAM“。請按照格式備注,否則不予通過。添加成功后會根據(jù)研究方向邀請進入相關(guān)微信群。請勿在群內(nèi)發(fā)送廣告,否則會請出群,謝謝理解~
