姜孝, 戚湧, 閆賀
(1.南京理工大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,江蘇 南京 210094; 2.南京理工大學(xué)知識(shí)產(chǎn)權(quán)學(xué)院,江蘇 南京 210094)
自動(dòng)駕駛技術(shù)在車聯(lián)網(wǎng)和人工智能技術(shù)的支持下,能夠協(xié)調(diào)出行路線與規(guī)劃時(shí)間,提高出行效率,輔助城市交通管理,并在一定程度上幫助駕駛員避免醉駕、疲勞駕駛等安全隱患,提升交通安全性,已成為各國(guó)近年的研發(fā)重點(diǎn)。
自動(dòng)駕駛的發(fā)展路徑主要有單車智能、車路協(xié)同、聯(lián)網(wǎng)云控等[1]。車路協(xié)同采用先進(jìn)的無(wú)線通訊與新一代互聯(lián)網(wǎng)技術(shù),充分實(shí)現(xiàn)人車路的有效協(xié)同,形成安全、高效和環(huán)保的道路交通系統(tǒng)[2]。聯(lián)網(wǎng)云控配備智能感知系統(tǒng)、智能決策控制系統(tǒng)和智能執(zhí)行系統(tǒng),與通信網(wǎng)絡(luò)、人工智能緊密結(jié)合,實(shí)現(xiàn)車輛與多領(lǐng)域(車輛、道路、行人、云等)間的信息交互[3]。單車智能通過(guò)傳感器實(shí)時(shí)感知到車輛及周邊環(huán)境的情況,再通過(guò)智能系統(tǒng)做出規(guī)劃決策,最終通過(guò)控制系統(tǒng)執(zhí)行駕駛。從單車智能到車路協(xié)同再到聯(lián)網(wǎng)云控,信息交互對(duì)象更加多樣復(fù)雜,識(shí)別與感知視野更加廣闊,場(chǎng)景適應(yīng)性更高,是將來(lái)發(fā)展的重要方向[4]。
本文主要對(duì)智能單車感知技術(shù)進(jìn)行總結(jié),第1部分介紹了感知技術(shù)的基礎(chǔ)知識(shí),包括常用傳感器原理、自動(dòng)駕駛數(shù)據(jù)集。第2部分介紹了傳統(tǒng)方法、基于卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)和基于Transformer的2D目標(biāo)檢測(cè)算法,按原理不同對(duì)3D目標(biāo)檢測(cè)算法進(jìn)行歸納分類。第3部分介紹了基于CNN和基于Transformer的語(yǔ)義分割技術(shù)發(fā)展。第4部分總結(jié)目前感知技術(shù)遇到的挑戰(zhàn),并給出有前景的研究方向。
環(huán)境感知是通過(guò)傳感器感知環(huán)境,包括車輛、行人、障礙物和車道線等環(huán)境信息,是自動(dòng)駕駛技術(shù)基礎(chǔ)核心功能之一,目前普遍使用的傳感器主要有相機(jī)、激光雷達(dá)、毫米波雷達(dá)[5]等,它們的差異如表1所示。
表1 傳感器分類Tab.1 Sensor classification
基于相機(jī)的感知方法相比于激光雷達(dá)精確度較低,但更廉價(jià)便捷,隨著人工智能深度學(xué)習(xí)的發(fā)展,已成為當(dāng)下自動(dòng)駕駛感知技術(shù)的重要方案。相機(jī)感知算法的局限主要有對(duì)大規(guī)模圖像數(shù)據(jù)的依賴性、技術(shù)成長(zhǎng)周期較長(zhǎng)、檢測(cè)距離較短、易受光照影響等。
感知算法作為自動(dòng)駕駛軟件的核心算法,其主要任務(wù)是目標(biāo)檢測(cè)和語(yǔ)義分割,最終得到三維空間全景分割結(jié)果。前者通過(guò)目標(biāo)檢測(cè)獲得周邊場(chǎng)景中目標(biāo)信息,主要包括位置、大小、形狀和速度等稀疏信息;后者則是獲得場(chǎng)景中每一位置的語(yǔ)義信息,主要包括障礙物、可行駛道路等稠密信息。視覺(jué)任務(wù)常用的數(shù)據(jù)集如表2所示。
表2 自動(dòng)駕駛常用數(shù)據(jù)集Tab.2 Common datasets for automated driving
2D目標(biāo)檢測(cè)主要有傳統(tǒng)目標(biāo)檢測(cè)算法和深度學(xué)習(xí)算法,鑒于近年Transformer在視覺(jué)任務(wù)上表現(xiàn)十分優(yōu)異,本節(jié)分別從傳統(tǒng)方法、CNN和Transformer三方面對(duì)目標(biāo)檢測(cè)任務(wù)進(jìn)行總結(jié)。
2.1.1 傳統(tǒng)2D目標(biāo)檢測(cè)
傳統(tǒng)目標(biāo)檢測(cè)算法首先利用滑動(dòng)窗口或者選擇性搜索等方法對(duì)輸入圖像進(jìn)行處理獲取候選框;然后對(duì)每個(gè)候選框提取特征,判斷是否為目標(biāo),若判定為目標(biāo)則同時(shí)記錄其位置坐標(biāo);接著利用分類器對(duì)目標(biāo)進(jìn)行分類;最后對(duì)分類結(jié)果進(jìn)行后處理操作,例如非極大值抑制(Non-Maximum Suppression,NMS)去除掉多余的候選框,得到最佳的物體檢測(cè)位置。
傳統(tǒng)目標(biāo)檢測(cè)主要有基于特征和基于分割兩種方式[15]?;谔卣鞯哪繕?biāo)檢測(cè)算法主要通過(guò)找到目標(biāo)的屬性(人工設(shè)計(jì)或算法提?。﹣?lái)實(shí)現(xiàn)檢測(cè),特征主要包括Harr[16]、HOG[17]、灰度值、SIFT[18]和SURF[19]等;基于分割的算法則主要通過(guò)區(qū)域、顏色及邊緣等特性以實(shí)現(xiàn)檢測(cè),方法有OUST[20]、分水嶺算法[21]、Canny算法[22]、Sobel算法和LOG算法[23]。
2.1.2 基于CNN
傳統(tǒng)算法雖然能夠提取到豐富準(zhǔn)確的特征并進(jìn)行快速計(jì)算與預(yù)測(cè),但這些算法只適用于有明顯特征、背景簡(jiǎn)單的情形,在實(shí)際駕駛環(huán)境中,背景復(fù)雜且目標(biāo)多樣,很難通過(guò)傳統(tǒng)方法達(dá)到實(shí)際檢測(cè)要求。
卷積神經(jīng)網(wǎng)絡(luò)是一種經(jīng)典深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Network, DNN),受益于自身的平移不變性和局部敏感性,通過(guò)卷積層、池化層和全連接層等組件來(lái)充分提取圖像特征,從而實(shí)現(xiàn)對(duì)圖像分類、識(shí)別和分割等任務(wù)。自2012年AlexNet[24]卷積神經(jīng)網(wǎng)絡(luò)在圖像識(shí)別挑戰(zhàn)中一舉奪冠以來(lái),基于深度學(xué)習(xí)的目標(biāo)檢測(cè)技術(shù)得到快速發(fā)展并涌現(xiàn)出大量?jī)?yōu)異算法。目前主流的目標(biāo)檢測(cè)算法有基于卷積神經(jīng)網(wǎng)絡(luò)和基于Transformer[25]兩類模型,按原理不同分為單階段法和兩階段法。單階段法通過(guò)神經(jīng)網(wǎng)絡(luò)直接完成區(qū)域和分類結(jié)果的輸出;兩階段法則先生成目標(biāo)的區(qū)域建議框[26],然后對(duì)區(qū)域建議框進(jìn)行分類得到結(jié)果。通常單階段法執(zhí)行速度快,雙階段法精度更高。
單階段法的目標(biāo)檢測(cè)代表算法有YOLO(You Only Look Once)系列、SDD(Single Shot Detector)系列等。YOLO系列算法核心是將目標(biāo)檢測(cè)視作一個(gè)回歸問(wèn)題,通過(guò)將圖片視為若干區(qū)域并對(duì)各區(qū)域同時(shí)預(yù)測(cè)邊界框(Bounding Box)位置和類別[27]。YOLOv1[28]的核心思想如圖1所示。它將圖像分成S×S個(gè)網(wǎng)格,如果某個(gè)目標(biāo)的中心落在這個(gè)網(wǎng)格中,則這個(gè)網(wǎng)格就負(fù)責(zé)預(yù)測(cè)這個(gè)目標(biāo),每個(gè)網(wǎng)格負(fù)責(zé)多個(gè)邊界框,預(yù)測(cè)內(nèi)容包括位置、置信度和類別。這種方法可以對(duì)中大型目標(biāo)進(jìn)行有效檢測(cè),由于采用的網(wǎng)絡(luò)結(jié)構(gòu)GoogLeNet[29]對(duì)小目標(biāo)的特征不敏感,導(dǎo)致小目標(biāo)檢測(cè)準(zhǔn)確率較低。YOLOv2算法引入批量歸一化(Batch Normalization,BN)層來(lái)加強(qiáng)網(wǎng)絡(luò)的收斂速度,并使用DarkNet-19網(wǎng)絡(luò)提取特征,預(yù)測(cè)準(zhǔn)確度更高,速度更快。YOLOv3通過(guò)引入殘差網(wǎng)絡(luò)(ResNet)[30]和全局平均池化層(Global Average Pooling, GAP)構(gòu)造DarkNet-53網(wǎng)絡(luò),如圖2所示。它是一個(gè)53層的深度卷積神經(jīng)網(wǎng)絡(luò),采用多個(gè)殘差塊加深網(wǎng)絡(luò)深度,利用跳躍連接(Skip Connection)和批量歸一化等技術(shù)有效地緩解梯度消失和梯度爆炸等問(wèn)題,提高網(wǎng)絡(luò)的訓(xùn)練效率和準(zhǔn)確率的同時(shí)具有較少的參數(shù)和計(jì)算復(fù)雜度。YOLOv3將網(wǎng)絡(luò)應(yīng)用到整幅圖像,根據(jù)圖像劃分各種區(qū)域和邊界,并加入特征金字塔[31](Feature Image Pyramid,F(xiàn)PN)多尺度預(yù)測(cè)結(jié)構(gòu),提高算法對(duì)圖像信息的提取能力,尤其是對(duì)小目標(biāo)的處理,效率更加高效。YOLOv4在YOLOv3基礎(chǔ)上使用Mosaic數(shù)據(jù)增強(qiáng)CSP結(jié)構(gòu)和PAN結(jié)構(gòu),由于Mosaic策略對(duì)圖片 可進(jìn)行任意放縮剪切拼接,產(chǎn)生大量小目標(biāo)對(duì)象,增強(qiáng)了網(wǎng)絡(luò)的魯棒性。YOLOv5在數(shù)據(jù)處理中除Mosaic數(shù)據(jù)增強(qiáng)外,還加入自適應(yīng)圖片縮放和多尺度錨框,在主干網(wǎng)絡(luò)中使用CSP結(jié)構(gòu),在Neck網(wǎng)絡(luò)中使用像素聚合網(wǎng)絡(luò)[32]和空間金字塔池化網(wǎng)絡(luò)[33](Spatial Pyramid Pooling,SPP),是對(duì)之前Yolo算法的集大成者,準(zhǔn)確度和實(shí)時(shí)性都有較高提升。YoloX[34]采用無(wú)錨、多解耦頭機(jī)制以及標(biāo)簽分配策略,無(wú)需非極大抑制的后處理,同時(shí)也去除人工錨框預(yù)選工作,實(shí)現(xiàn)端到端檢測(cè)。YOLOv6[35]基于RepVGG Style[36]設(shè)計(jì)可重參數(shù)化和更高效的主干網(wǎng)絡(luò)EfficientRep。YOLOv7[37]針對(duì)重參數(shù)模塊的替換問(wèn)題和動(dòng)態(tài)標(biāo)簽分配問(wèn)題,提出了合模型伸縮方法和免費(fèi)技巧袋(Bag-Of-Freebies)檢測(cè)器。YOLOv8基于YOLOv5對(duì)網(wǎng)絡(luò)模型結(jié)構(gòu)及參數(shù)進(jìn)行微調(diào),并使用解耦頭結(jié)構(gòu)和無(wú)錨框等機(jī)制,進(jìn)一步提高檢測(cè)性能,可同時(shí)完成分類分割姿態(tài)估計(jì)等視覺(jué)任務(wù)。
圖1 Yolov1模型結(jié)構(gòu)圖Fig.1 Yolov1 model structure
圖2 DarkNet-53網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.2 DarkNet-53 networks structure
Liu等[38]針對(duì)YOLOv1對(duì)小目標(biāo)檢測(cè)效果的不足,引入多尺度特征提取思想構(gòu)建SSD,但所使用的VGG網(wǎng)絡(luò)[39]提取特征能力較弱。在此基礎(chǔ)上,F(xiàn)u等[40]使用ResNet-101[30]作為主干網(wǎng)絡(luò)替代VGG,Li[41]等引入FPN結(jié)構(gòu)構(gòu)造金字塔特征,Lin 等[31]基于FPN對(duì)淺層的特征圖進(jìn)行池化操作并與鄰接特征圖進(jìn)行通道拼接融合不同層的特征,使得深層特征圖既具有高語(yǔ)義信息,又擁有淺層特征圖傳來(lái)的細(xì)節(jié)信息。Lin等[42]進(jìn)一步針對(duì)SSD和YOLOv2中前景和背景類別的不平衡問(wèn)題提出焦點(diǎn)函數(shù),平衡難分負(fù)樣本(Hard negatives)和易分負(fù)樣本 (Easy negatives)在標(biāo)準(zhǔn)交叉熵中所占權(quán)重,極大提高了檢測(cè)效果。
兩階段目標(biāo)檢測(cè)相較于單階段精度高但速度慢,主要代表算法有RCNN[26]系列、SPPNet[33]、FPN[31]等。RCNN算法首先對(duì)輸入的圖片進(jìn)行選擇性搜索產(chǎn)生大量的區(qū)域候選區(qū),再對(duì)每個(gè)區(qū)域進(jìn)行特征提取并通過(guò)支持向量機(jī)[43]對(duì)其分類,從而得到檢測(cè)結(jié)果。由于RCNN中需要對(duì)每個(gè)候選區(qū)進(jìn)行特征提取,耗費(fèi)大量算力,SPPNet網(wǎng)絡(luò)在R-CNN基礎(chǔ)上通過(guò)候選區(qū)與特征圖間的映射,配合SPP層將不同尺度的圖片轉(zhuǎn)換為固定大小的圖片,減少了計(jì)算量和信息丟失?;赟PPNet思想,Ren等[44]在Fast RCNN中采用多任務(wù)損失訓(xùn)練,提高RCNN性能。Faster RCNN模型結(jié)構(gòu)如圖3所示,它將特征提取器、候選框模塊和分類器融合為一個(gè)網(wǎng)絡(luò),較大提高了模型性能。FPN網(wǎng)絡(luò)引入金字塔結(jié)構(gòu)融合不同尺度的特征,提升特征表達(dá)能力,這種方法也被用在單階段目標(biāo)檢測(cè)算法中。
圖3 Faster RCNN模型結(jié)構(gòu)圖Fig.3 Faster RCNN model structure
2.1.3 基于Transformer
Transformer是首個(gè)僅基于自注意力機(jī)制(selfattention)的語(yǔ)言模型,如圖4所示。它的網(wǎng)絡(luò)架構(gòu)主要包含多層堆疊的編碼器(encoder)和解碼器(decoder),其中編碼器/解碼器包含多頭注意力機(jī)制(multi-head attention)、層歸一化(layer norm)和殘差結(jié)構(gòu)(residual),輸入由數(shù)據(jù)嵌入和位置編碼組成,最后由一個(gè)全連接層做預(yù)測(cè)。傳統(tǒng)的循環(huán)神經(jīng)網(wǎng)絡(luò)對(duì)序列難以并行建模,長(zhǎng)距離的序列依賴關(guān)系需要憑借上下文處理后的信息逐級(jí)傳遞過(guò)來(lái),而Transformer通過(guò)多頭注意力機(jī)制有效捕捉全局信息并且方便并行運(yùn)算。Transformer本質(zhì)上是一個(gè)優(yōu)秀的特征提取器,通過(guò)對(duì)輸入端和輸出端做不同處理即可靈活應(yīng)用在多場(chǎng)景中。
圖4 Transformer模型結(jié)構(gòu)圖Fig.4 Transformer model structure
卷積結(jié)構(gòu)具有平移不變性和局部敏感性,可以充分提取局部時(shí)空特征,但對(duì)圖像的全局信息感知能力較弱,由于Transformer模型能夠有效地對(duì)全局依賴性進(jìn)行建模,許多研究人員開(kāi)始嘗試將Transformer運(yùn)用在視覺(jué)領(lǐng)域中。自2020年DETR(Object Detection with Transformers)[45]被提出,涌現(xiàn)大量基于Transformer的目標(biāo)檢測(cè)算法,并且在標(biāo)準(zhǔn)數(shù)據(jù)集上取得了優(yōu)異表現(xiàn)。
2020年,Dosovitskiy 等[46]在ViT(Vision Transformer)中首次在圖像分類任務(wù)上應(yīng)用Transformer,將輸入圖像視為多個(gè)小圖像塊,并將每個(gè)小圖像塊投影為長(zhǎng)度固定的向量輸入到Transformer中,通過(guò)解碼器獲得預(yù)測(cè)結(jié)果。由于ViT模型只用到輸出向量的類別信息,大量剩余信息被丟棄,基于此,Jia等[47]將ViT中的輸出向量處理成一個(gè)特征圖并進(jìn)行區(qū)域建議,最后對(duì)其進(jìn)行分類和定位,本質(zhì)上是將FRCNN的特征提取模塊換成Transformer。
DETR是第一個(gè)基于標(biāo)準(zhǔn)Transformer模型的目標(biāo)檢測(cè)方法,如圖5所示。它采用卷積網(wǎng)絡(luò)將輸入圖像轉(zhuǎn)化為2維特征向量并送入到Transformer模型中,最后通過(guò)前饋網(wǎng)絡(luò)[24](Fully-Connected Feedforward Network ,F(xiàn)FN)獲得預(yù)測(cè)結(jié)果。由于Transformer通過(guò)交叉注意力在特征圖上從平均注意學(xué)習(xí)為稀疏圖,訓(xùn)練非常耗時(shí)。Sun等[48]分別在特征提取模塊與編碼器之間加入?yún)^(qū)域建議網(wǎng)絡(luò)(Region Proposal Network)和興趣特征(Feature of Interest)以提高訓(xùn)練速度。Dai等[49]提出基于卷積的動(dòng)態(tài)編碼解碼的Dynamic DETR,可基于尺度、空間和特征動(dòng)態(tài)調(diào)整注意力,再通過(guò)動(dòng)態(tài)解碼器中興趣區(qū)域(Region of Interest)實(shí)現(xiàn)高效收斂(訓(xùn)練速度提高14倍)。
圖5 DETR模型結(jié)構(gòu)圖Fig.5 DETR model Structure
Bao等[50]首次將大規(guī)模預(yù)訓(xùn)練模型BERT運(yùn)用在視覺(jué)領(lǐng)域,其核心思想是通過(guò)Transformer架構(gòu)來(lái)處理圖像數(shù)據(jù),將圖像分割成若干個(gè)小塊,并將每個(gè)小塊的像素值作為輸入,通過(guò)堆疊Transformer模塊來(lái)學(xué)習(xí)圖像特征表示。具體來(lái)說(shuō),BEIT采用了兩個(gè)階段的預(yù)訓(xùn)練方法,第一階段利用大規(guī)模無(wú)標(biāo)簽圖像數(shù)據(jù),進(jìn)行自監(jiān)督預(yù)訓(xùn)練,學(xué)習(xí)出一個(gè)高質(zhì)量的圖像特征表示;第二階段通過(guò)有標(biāo)簽的圖像數(shù)據(jù)對(duì)模型進(jìn)行微調(diào)以適應(yīng)特定的任務(wù),該模型不僅在圖像分類和目標(biāo)檢測(cè)等任務(wù)上取得優(yōu)異表現(xiàn),也適用于圖像分割、視覺(jué)問(wèn)答等視覺(jué)任務(wù)。Ren等[51]認(rèn)為解碼器的查詢(Query)有關(guān)注特征圖位置信息的能力,通過(guò)將2維信息引入到查詢中提高了模型的定位能力。Dab-DETR[52]也將錨框作為解碼器的查詢以提供空間先驗(yàn)信息,可通過(guò)錨框參數(shù)顯式調(diào)節(jié)位置注意力圖。基于將解碼器查詢視為動(dòng)態(tài)錨框的思想,自監(jiān)督學(xué)習(xí)模型DINO[53]在視覺(jué)變換背景下學(xué)習(xí)圖像特征,通過(guò)混合查詢選擇法對(duì)錨點(diǎn)進(jìn)行初始化,使初始查詢獲取更合適的位置信息;采用對(duì)比去噪訓(xùn)練法,在不需要手動(dòng)標(biāo)注的情況下通過(guò)添加相同基礎(chǔ)真值的正樣本和負(fù)樣本,減少模型重復(fù)輸出同一目標(biāo)的情況;再通過(guò)向前看兩次法優(yōu)化模型前后層的參數(shù)更新,作為類似DETR的模型首次在COCO數(shù)據(jù)集上獲得SOTA(state-of-the-art model)結(jié)果。圖6展示了近年主流的2D目標(biāo)檢測(cè)算法。
圖6 2D目標(biāo)檢測(cè)算法Fig.6 2D object detection models
智能單車通過(guò)傳感器對(duì)3D空間中的數(shù)據(jù)進(jìn)行定位與分類,每個(gè)目標(biāo)由類別信息和位置信息(3D框)組成,如圖7所示。目前3D邊框主要有三種表示,分別是8角點(diǎn)法、4角2高法和7坐標(biāo)參數(shù)法[54]。
圖7 3D框標(biāo)注法圖7 3D box labeling method
常用的檢測(cè)方法有生成候選區(qū)域、關(guān)鍵點(diǎn)匹配、基于表現(xiàn)形式轉(zhuǎn)化等。
2.2.1 基于生成候選區(qū)域
基于生成候選區(qū)域法通常在目標(biāo)附近生成稠密的3D候選區(qū),依靠人工設(shè)計(jì)的特征計(jì)算獲得評(píng)分,最后通過(guò)NMS輸出結(jié)果。
作為該方向的先驅(qū)性工作之一的Mono 3D[55],首先通過(guò)滑動(dòng)窗口在3D空間中對(duì)3D目標(biāo)進(jìn)行采樣生成一組候選類建議框,并假設(shè)目標(biāo)所在地平面與圖像平面正交以減少冗余的搜索計(jì)算;再通過(guò)形狀、位置、語(yǔ)義等先驗(yàn)信息對(duì)候選框進(jìn)行評(píng)分;最后使用Fast RCNN網(wǎng)絡(luò)獲得目標(biāo)檢測(cè)結(jié)果。為增強(qiáng)3D空間與2D圖像間的關(guān)聯(lián)性,He等[56]使用由3D錨框模型和可變線框模型組成的聯(lián)合建模方法,對(duì)車輛的形狀和形態(tài)進(jìn)行粗細(xì)表示。Weng等[57]提出一種基于幾何距離分解的新式深度信息表達(dá)方法,將目標(biāo)抽象為一個(gè)包圍中心垂直線三維錨框,將物體的投影抽象為這些線段的投影,最后根據(jù)成像的幾何形狀獲得距離信息。Müller等[58]在不使用連續(xù)觀察、形狀、CAD模型等其他先驗(yàn)知識(shí)的前提下,只通過(guò)單視圖下3D實(shí)例分割結(jié)果獲得以對(duì)象為中心的表示。該表示可分解為形狀和外觀組件。
綜上所述,此類方法由3D檢測(cè)結(jié)果結(jié)合一些先驗(yàn)信息從而獲得2D圖像與3D空間中目標(biāo)匹配關(guān)系,需要大量的人工特征設(shè)計(jì)和計(jì)算,這嚴(yán)重限制了此類模型的泛化性。
2.2.2 基于關(guān)鍵點(diǎn)匹配
基于關(guān)鍵點(diǎn)匹配的3D目標(biāo)檢測(cè)方法通過(guò)將預(yù)測(cè)的2D框與提前設(shè)定好的關(guān)鍵點(diǎn)約束相結(jié)合得出目標(biāo)框的定位和回歸結(jié)果,在自動(dòng)駕駛環(huán)境中,機(jī)動(dòng)車、行人、車道等通常都是已知的幾何剛體,這些尺寸信息可以作為距離判斷的依據(jù)。
Chabot等[59]通過(guò)級(jí)聯(lián)Faster RCNN得到2D邊界框,將車輛的幾何信息(車身精細(xì)坐標(biāo)、3維模板相似度)和零部件信息進(jìn)行模板相似度匹配,強(qiáng)化圖片與3D空間的匹配健壯性。Mousavian等[60]通過(guò)幾何射影約束目標(biāo)的回歸與定位,并引入一種混合離散-連續(xù)損失訓(xùn)練模型,減少模型對(duì)復(fù)雜的先驗(yàn)知識(shí)的依賴性。在處理非平坦道路下的目標(biāo)檢測(cè)中,Ansari 等[61]使用36個(gè)關(guān)鍵點(diǎn)表示目標(biāo)車輛,再使用一組基本向量和可變參數(shù)來(lái)預(yù)測(cè)最終的目標(biāo)形狀;另外,通過(guò)在Shape Net汽車模型存儲(chǔ)庫(kù)渲染生成的240萬(wàn)個(gè)3D CAD模型數(shù)據(jù)集上訓(xùn)練出的關(guān)鍵點(diǎn)檢測(cè)模型,在真實(shí)數(shù)據(jù)場(chǎng)景上有較高的泛化性。通過(guò)主成分分析[62](Principal Component Analysis,PCA)對(duì)三維形狀空間建模;通過(guò)基于興趣區(qū)域池化特征進(jìn)行分類回歸(如將距離按區(qū)間劃分并分類)獲得姿態(tài)和位置信息。該模型性能優(yōu)秀,但輸入較為復(fù)雜,需要2D候選框、3D候選框、3D CAD模型、3D語(yǔ)義分割結(jié)果以及相機(jī)參數(shù),泛化性較差。Chen等[63]受圖像字幕法的啟發(fā),通過(guò)對(duì)近距離物體的空間關(guān)系建模來(lái)預(yù)測(cè)遠(yuǎn)處目標(biāo)的位置信息,將成對(duì)空間約束建模為相鄰對(duì)象間的幾何中心的關(guān)鍵點(diǎn);另外將深度估計(jì)過(guò)程的不確定性包含在預(yù)測(cè)過(guò)程中,優(yōu)化模型對(duì)幾何信息的建模能力和實(shí)時(shí)性。
2.2.3 基于表現(xiàn)形式轉(zhuǎn)化
基于表現(xiàn)形式轉(zhuǎn)化的3D檢測(cè)模型的方法有將前視視角轉(zhuǎn)換為鳥(niǎo)瞰圖視角法和偽雷達(dá)點(diǎn)云法。
在自動(dòng)駕駛中,相機(jī)通常被放置在車身上捕捉圖像,然而前視視角獲取的視頻容易發(fā)生遮擋以及基于透視導(dǎo)致目標(biāo)的形變,進(jìn)而影響模型判斷。解決這一問(wèn)題的方法之一就是將前視視角轉(zhuǎn)換為鳥(niǎo)瞰圖視角(Birds-eye-view,BEV[64]),本質(zhì)上它是一種將3D視圖轉(zhuǎn)換為2D視圖的方法,在這種視角下同一地面的目標(biāo)不會(huì)發(fā)生重疊和明顯的形狀變化。目前這類研究工作可分為基于幾何變換和基于網(wǎng)絡(luò)變換兩種方法,前者基于相機(jī)內(nèi)外參數(shù)的物理原理,后者通過(guò)神經(jīng)網(wǎng)絡(luò)將透視圖投影到BEV上。Roddick等[65]通過(guò)正交特征變換將透視圖像映射為正交BEV視角,使用ResNet-18對(duì)輸入圖像進(jìn)行多尺度特征提取,通過(guò)正交特征變換將特征圖映射為正交鳥(niǎo)瞰圖表示,再由一系列ResNet單元組成的Topdown Network進(jìn)行目標(biāo)檢測(cè)。Kim 等[66]利用相機(jī)的外部參數(shù)和慣性測(cè)量單元(IMU)信息消除了相機(jī)俯仰、側(cè)傾等運(yùn)動(dòng),從而修正了前視圖像投影的BEV圖像。Srivastava 等[67]使用BirdGAN對(duì)抗網(wǎng)絡(luò)生成BEV數(shù)據(jù),并通過(guò)BirdNet進(jìn)行物體檢測(cè),配合Perspective Transformer Network[68]將圖像映射為3D空間進(jìn)行3D目標(biāo)檢測(cè)。
偽雷達(dá)點(diǎn)云法通過(guò)圖片預(yù)測(cè)深度并產(chǎn)生點(diǎn)云信息。Xu等[69]通過(guò)獨(dú)立視差模塊獲得不同位置的深度信息并在不同層次上作用于圖像,將每一像素映射到3D空間中并與圖像特征融合進(jìn)行檢測(cè)。Wang等[70]認(rèn)為影響基于單目或立體圖像數(shù)據(jù)的方法精度的主要原因是數(shù)據(jù)的表現(xiàn)形式,在Pseudo-liDAR中采用深度估計(jì)算,將圖片位置直接投影到點(diǎn)云空間中,再通過(guò)基于LiDAR數(shù)據(jù)的3D檢測(cè)算法進(jìn)行檢測(cè),獲得優(yōu)秀的檢測(cè)結(jié)果。Cheng 等[71]將圖片轉(zhuǎn)化為更為稠密的3D點(diǎn)云數(shù)據(jù)并將其分散到整個(gè)深度空間中。Wang等[72]認(rèn)為每個(gè)位置的深度信息重要性不同,采用兩個(gè)深度估計(jì)模型分別訓(xùn)練前景和背景,在推理過(guò)程中選擇性的融合深度圖。Chen等[73]基于Transformer架構(gòu)捕捉正面視圖與BEV視圖的相關(guān)性,以及正面特征的局部信息交互,通過(guò)交叉注意模塊增強(qiáng)特征信息,所提出的PersFormer在車道線檢測(cè)任務(wù)上獲得了優(yōu)異表現(xiàn)。
語(yǔ)義分割任務(wù)是將給定的圖像按像素級(jí)進(jìn)行分類,并從標(biāo)簽集中預(yù)測(cè)每個(gè)像素的語(yǔ)義類別,是自動(dòng)駕駛?cè)案兄年P(guān)鍵算法之一。Mo等[74]分別從弱監(jiān)督語(yǔ)義分割、跨場(chǎng)景自適應(yīng)能力、多模態(tài)數(shù)據(jù)融合以及實(shí)時(shí)性四個(gè)方面較為全面地闡述2020年之前語(yǔ)義分割任務(wù)的發(fā)展,但還缺少對(duì)基于Transformer的語(yǔ)義分割研究。本節(jié)對(duì)近年基于Transformer和CNN語(yǔ)義分割任務(wù)的發(fā)展進(jìn)行總結(jié)。
傳統(tǒng)深度學(xué)習(xí)語(yǔ)義分割方法大多采用全卷積網(wǎng)絡(luò)的Encoder-Decoder模式,逐步降低空間分辨率并提取圖像特征,再將提取的特征進(jìn)行上采樣以達(dá)到像素級(jí)分類的目的。該類模型性能取決于網(wǎng)絡(luò)感受野大小,然而感受野增大意味著參數(shù)量的增加,過(guò)度的下采樣又不可避免的丟失信息。
Zheng等[75]將語(yǔ)義分割視為序列到序列(Sequence-to-sequence,Seq2Seq)的預(yù)測(cè)問(wèn)題,開(kāi)創(chuàng)性地建立純基于Transformer的模型SETR,沿用ViT[46]的做法將圖片劃分為圖片塊集輸入,經(jīng)Transformer建模獲得特征向量,再恢復(fù)到原圖像分辨率,在不使用下采樣的操作下較大程度地提高檢測(cè)精度,但也大幅增加模型參數(shù)量。Strudel等[76]受DETR[45]、Max-DeepLab[77]和 SOLO-v2[78]啟發(fā),將ViT編碼器的結(jié)果和類嵌入輸入解碼器,經(jīng)過(guò)上采樣完成預(yù)測(cè)。然而基于ViT的編碼器只能輸出單尺度低分辨率特征,無(wú)法滿足細(xì)節(jié)要求高的場(chǎng)景,隨著圖片尺寸變大計(jì)算量大幅增加,并且當(dāng)測(cè)試和訓(xùn)練的圖像分辨率不一致時(shí)絕對(duì)位置編碼的插值操作會(huì)導(dǎo)致性能下降。為解決這些問(wèn)題,Xie等[79]在編碼器中對(duì)圖片進(jìn)行多尺度特征提取,并將位置編碼替換為卷積操作,采用輕量級(jí)多層感知器,提高模型性能和魯棒性。
Liu等[80]在Swin Transformer中引入滑動(dòng)窗口機(jī)制和跨階段特征共享等創(chuàng)新技術(shù),其中滑動(dòng)窗口過(guò)程包括局部窗口和交叉窗口,它將注意力限制在一個(gè)固定窗口中起到了類似于CNN網(wǎng)絡(luò)中卷積作用,并降低計(jì)算復(fù)雜度。如圖8所示,Swin Transformer采用多層次下采樣操作逐步擴(kuò)大感受野從而獲取全局特征,大大提高模型計(jì)算效率和準(zhǔn)確率,在圖像分類和目標(biāo)檢測(cè)等視覺(jué)任務(wù)中均表現(xiàn)出色,成為視覺(jué)領(lǐng)域新式主干網(wǎng)絡(luò)。Caron等[81]發(fā)現(xiàn)自監(jiān)督ViT的注意力模塊能夠顯式地包含圖片場(chǎng)景信息和識(shí)別出物體邊界,并且僅使用基礎(chǔ)的最近鄰分類器k-NN就可以擁有優(yōu)秀的性能。所提出的無(wú)標(biāo)注知識(shí)蒸餾(Knowledge Distillation with NO labels)不依賴于任何人工標(biāo)注,能夠在大量數(shù)據(jù)上進(jìn)行有效的特征學(xué)習(xí),該方法為自監(jiān)督學(xué)習(xí)在視覺(jué)任務(wù)上的應(yīng)用提供新思路。Mask DINO[82]通過(guò)對(duì)DINO預(yù)測(cè)端添加Mask分支從而實(shí)現(xiàn)分割任務(wù),它采用自監(jiān)督學(xué)習(xí)方式,通過(guò)將圖像進(jìn)行變換和重構(gòu),使模型學(xué)習(xí)圖像的特征并進(jìn)行分割,降低了訓(xùn)練成本和人工操作。另外,Mask DINO擴(kuò)展DINO中預(yù)測(cè)的三個(gè)關(guān)鍵組件:將Mask查詢初始化為錨;提出針對(duì)Mask的統(tǒng)一去噪訓(xùn)練來(lái)加速分割訓(xùn)練;使用混合的二部匹配更精確地匹配Box和Mask。Mask DINO通過(guò)共享架構(gòu)設(shè)計(jì)和訓(xùn)練方法證明了檢測(cè)和分割可相互幫助,并且在大規(guī)模預(yù)訓(xùn)練下獲得實(shí)例、全景和語(yǔ)義分割的最佳結(jié)果。
圖8 Swin transformer網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.8 Swin transformer networks structure
基于Transformer的模型有著優(yōu)秀的全局建模能力,依靠海量數(shù)據(jù)和參數(shù)有不錯(cuò)的表現(xiàn),但在高精度圖片上計(jì)算量過(guò)大,難以達(dá)到實(shí)時(shí)檢測(cè)的要求;并且較大的感受野意味著會(huì)丟失一些細(xì)節(jié)信息。高質(zhì)量與輕量化相結(jié)合是當(dāng)前的研究重點(diǎn)。
近年來(lái)基于ViT的大規(guī)模視覺(jué)模型得到長(zhǎng)足的發(fā)展,CNN領(lǐng)域的研究人員將ViT與CNN相結(jié)合,得到不錯(cuò)的結(jié)果。Touvron等[83]用注意力層替代平均池化層,將圖片塊集作為輸出,所提出的Patch-ConvNet模型取得和基于Swin架構(gòu)模型同水平結(jié)果。Rao等[84]認(rèn)為Transformer的成功主要是輸入自適應(yīng)、全局依賴性和高階空間信息交互能力,但缺少對(duì)點(diǎn)積自注意在高階空間交互作用的研究,在HorNet中通過(guò)遞歸門控卷積實(shí)現(xiàn)高效、可擴(kuò)展和平移變換的高階空間交互作用。
Wang等[85]認(rèn)為ViT模型的優(yōu)勢(shì)主要是依靠海量數(shù)據(jù)和參數(shù),以及具有長(zhǎng)程依賴性的多頭自注意力機(jī)制、層歸一化和FFN等先進(jìn)網(wǎng)絡(luò)組件,基于此在所提出的InternImage中采用可變形卷積機(jī)制強(qiáng)化模型自適應(yīng)空間建模能力,并減少歸納偏置操作,通過(guò)大規(guī)模參數(shù)和訓(xùn)練數(shù)據(jù)取得了當(dāng)前最優(yōu)性能,成為第一個(gè)大規(guī)模(參數(shù)量10億,訓(xùn)練數(shù)據(jù)4.27億)CNN模型。Cai等[86]認(rèn)為圖片信息在深層網(wǎng)絡(luò)中經(jīng)常被壓縮或丟棄而導(dǎo)致模型性能差,為此構(gòu)建由多個(gè)可逆連結(jié)的子網(wǎng)絡(luò)組成的主體網(wǎng)絡(luò),保證信息傳輸過(guò)程中可被分解保存。為解決大規(guī)模數(shù)據(jù)計(jì)算資源多和存儲(chǔ)空間占用大兩個(gè)問(wèn)題,RevCol采用可逆卷積結(jié)構(gòu),即將卷積操作拆分成前向卷積和反向卷積兩個(gè)步驟,通過(guò)反向卷積將前向卷積的輸出恢復(fù)到輸入形狀,實(shí)現(xiàn)了卷積操作的可逆性。在保持準(zhǔn)確率的同時(shí)減少網(wǎng)絡(luò)的參數(shù)和計(jì)算復(fù)雜度,在語(yǔ)義分割、目標(biāo)檢測(cè)等視覺(jué)領(lǐng)域都有出色表現(xiàn)。由于其整體設(shè)計(jì)簡(jiǎn)潔,只需改變網(wǎng)絡(luò)內(nèi)部組件塊就可推廣到Vision Transformer、自然語(yǔ)言處理等任務(wù)上。為減少針對(duì)分割任務(wù)的特定建模專業(yè)知識(shí)、訓(xùn)練成本和數(shù)據(jù)標(biāo)注成本,Meta AI推出計(jì)算機(jī)視覺(jué)第一個(gè)基礎(chǔ)模型SAM (Segment Anything Model )[87],它在包含數(shù)百萬(wàn)張圖像和數(shù)十億個(gè)掩碼的大型數(shù)據(jù)集上進(jìn)行訓(xùn)練,有著非常強(qiáng)大的泛化能力。同時(shí)SAM是一種可提示(點(diǎn)擊、框選、文本等)的分割系統(tǒng),可以在不需要額外訓(xùn)練的情況下對(duì)陌生的圖像進(jìn)行零樣本遷移(Zero-shot Transfer)[88],從而“剪切”任何圖像中的任何對(duì)象。該模型提供了至今為止最大的分割數(shù)據(jù)集SA-1B(Segment Anything 1-Billion),包含1100萬(wàn)張左右的圖像和11億個(gè)分割掩碼。目前主流的語(yǔ)義分割算法如圖9所示。
圖9 語(yǔ)義分割算法Fig.9 Semantic segmentation models
綜上所述,自動(dòng)駕駛技術(shù)在目標(biāo)檢測(cè)任務(wù)上取得了不少進(jìn)展,已實(shí)現(xiàn)高精度的目標(biāo)檢測(cè),處理大規(guī)模數(shù)據(jù)的同時(shí)算法模型也更加輕量化、實(shí)時(shí)性。語(yǔ)義分割技術(shù)在實(shí)時(shí)性和精度方面也都取得了進(jìn)步,逐步應(yīng)用于自動(dòng)駕駛領(lǐng)域。大模型的出現(xiàn)進(jìn)一步提高模型的性能和準(zhǔn)確率,這些模型有著優(yōu)秀的泛化能力,能夠勝任不同的復(fù)雜場(chǎng)景,并且零樣本遷移和少樣本學(xué)習(xí)(Few-Shot)[89]技術(shù)能夠大幅減少實(shí)際場(chǎng)景中的人工操作,降低算法落地成本,推動(dòng)機(jī)器視覺(jué)和自動(dòng)駕駛的發(fā)展。
但基于單目視覺(jué)的感知算法仍存在一些挑戰(zhàn),主要如下:
(1)復(fù)雜環(huán)境下的檢測(cè)問(wèn)題。自動(dòng)駕駛車輛需要在各種復(fù)雜場(chǎng)景中進(jìn)行目標(biāo)檢測(cè),如夜間、弱光、雨雪天氣等。這些環(huán)境對(duì)傳感器的要求更高,也對(duì)算法性能提出了更高的要求。
(2)漏檢和誤檢問(wèn)題。算法可能會(huì)出現(xiàn)漏檢和誤檢問(wèn)題,尤其是在復(fù)雜環(huán)境下。這些問(wèn)題可能會(huì)導(dǎo)致車輛無(wú)法正確檢測(cè)到道路上的物體或錯(cuò)誤地識(shí)別了物體,從而對(duì)行駛安全產(chǎn)生威脅。
(3)計(jì)算復(fù)雜度高。語(yǔ)義分割算法的計(jì)算復(fù)雜度非常高,這可能會(huì)導(dǎo)致算法無(wú)法在實(shí)時(shí)性方面滿足要求。在自動(dòng)駕駛中,實(shí)時(shí)性是非常重要的,因?yàn)檐囕v需要及時(shí)地對(duì)路況做出反應(yīng)。
(4)數(shù)據(jù)不可靠。自動(dòng)駕駛車輛需要依賴傳感器數(shù)據(jù)來(lái)進(jìn)行目標(biāo)檢測(cè)和語(yǔ)義分割,但在某些情況下,傳感器數(shù)據(jù)可能會(huì)受到干擾或損壞,從而導(dǎo)致數(shù)據(jù)不可靠。這可能會(huì)對(duì)自動(dòng)駕駛的安全性產(chǎn)生潛在的威脅。
隨著技術(shù)的不斷發(fā)展,自動(dòng)駕駛的目標(biāo)檢測(cè)和語(yǔ)義分割技術(shù)將會(huì)得到進(jìn)一步的改進(jìn)和優(yōu)化。例如融合多模態(tài)數(shù)據(jù),使用不同傳感器數(shù)據(jù)和車輛行駛路線等信息,打造更多的無(wú)人駕駛路側(cè)輔助單元,在車輛無(wú)法感知的情況下提供輔助信息,實(shí)現(xiàn)更加精準(zhǔn)感知技術(shù)等。