日本无码免费高清在线|成人日本在线观看高清|A级片免费视频操逼欧美|全裸美女搞黄色大片网站|免费成人a片视频|久久无码福利成人激情久久|国产视频一二国产在线v|av女主播在线观看|五月激情影音先锋|亚洲一区天堂av

  • 手機(jī)站
  • 小程序

    汽車(chē)測(cè)試網(wǎng)

  • 公眾號(hào)
    • 汽車(chē)測(cè)試網(wǎng)

    • 在線(xiàn)課堂

    • 電車(chē)測(cè)試

一文聊聊激光雷達(dá)目標(biāo)檢測(cè)的3種方法

2022-03-21 19:57:51·  來(lái)源:計(jì)算機(jī)視覺(jué)之路  
 
基于lidar的目標(biāo)檢測(cè)方法可以分成3個(gè)部分:lidar representation,network backbone,detection head,如下圖所示。根據(jù)lidar不同的特征表達(dá)方式[1],可以將目標(biāo)

基于lidar的目標(biāo)檢測(cè)方法可以分成3個(gè)部分:lidar representation,network backbone,detection head,如下圖所示。

圖片

根據(jù)lidar不同的特征表達(dá)方式[1],可以將目標(biāo)檢測(cè)方法分成以下4種:基于BEV(bird’s eye view)的目標(biāo)檢測(cè)方法,基于camera view的目標(biāo)檢測(cè)方法,基于point-wise feature的目標(biāo)檢測(cè)方法,基于融合特征的目標(biāo)檢測(cè)方法。如下圖所示。

圖片

基于bev的目標(biāo)檢測(cè)方法顧名思義是使用bev作為點(diǎn)云特征的表達(dá),其檢測(cè)流程如下圖所示,包括3個(gè)部分:bev generator,network backbone, detection head。下面詳細(xì)介紹一下這3個(gè)部分如何在基于bev的目標(biāo)檢測(cè)方法中發(fā)揮作用。

圖片

BEV generator

BEV圖由激光雷達(dá)點(diǎn)云在XY坐標(biāo)平面離散化后投影得到,其中需要人為規(guī)定離散化時(shí)的分辨率,即點(diǎn)云空間多大的長(zhǎng)方體范圍(Δl*Δw*Δh)對(duì)應(yīng)離散化后的圖像的一個(gè)像素點(diǎn)(或一組特征向量),如點(diǎn)云20cm*20cm*Δh的長(zhǎng)方體空間,對(duì)應(yīng)離散化后的圖像的一個(gè)像素點(diǎn)。具體關(guān)于bev投影生成策略可以關(guān)注文章:自動(dòng)駕駛中,激光雷達(dá)點(diǎn)云如何做特征表達(dá)[1]。

在bev generator中,需要根據(jù)Δl*Δw*Δh來(lái)生成最后L*W*H大小的bev特征圖,該特征圖是network backbone特征提取網(wǎng)絡(luò)的輸入,因此該特征圖的大小對(duì)整個(gè)網(wǎng)絡(luò)的效率影響很大,如pointpillar[2]通過(guò)對(duì)voxelnet[3]中bev generator的優(yōu)化,整個(gè)網(wǎng)絡(luò)效率提高了7ms。

Network backbone

網(wǎng)絡(luò)結(jié)構(gòu)的設(shè)計(jì)需要兼顧性能和效果,一般都是在現(xiàn)有比較大且性能比較好的網(wǎng)絡(luò)結(jié)構(gòu)基礎(chǔ)上進(jìn)行修改,可以參照文章:輕量(高效)目標(biāo)檢測(cè)網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)[4]。以voxelnet[3]和pointpillar[2]為例,pointpillar[2]以voxelnet[3]為原型,不改變?cè)鞒痰幕A(chǔ)上,對(duì)voxelnet[3]設(shè)計(jì)做了以下一些修改,使網(wǎng)絡(luò)效率提高了10多倍,具體如下:

簡(jiǎn)化bev中的網(wǎng)絡(luò)結(jié)構(gòu)

voxelnet[3]使用stacked vfe layer,在代碼中使用了2個(gè)vfe layer,如下圖所示。

圖片

pointpillar[2]簡(jiǎn)化了voxel表達(dá)形式,變成pillar,提高了數(shù)據(jù)生成效率,并且只使用了一個(gè)vfe layer,減少了2ms,如下圖所示。

圖片

簡(jiǎn)化主網(wǎng)絡(luò)結(jié)構(gòu)

  • 不使用3D卷積

  • 輸入特征圖的channel數(shù)從128減少為64,網(wǎng)絡(luò)耗時(shí)減少2.5ms

  • 網(wǎng)絡(luò)主結(jié)構(gòu)所有層channel數(shù)減半,網(wǎng)絡(luò)耗時(shí)減少4.5ms

  • Upsampling的channel數(shù)從256減少到128,減輕detection head,網(wǎng)絡(luò)耗時(shí)減少3.9ms

  • Tensorrt加速,提速45.5%

Pointpillar[2]在保證網(wǎng)絡(luò)性能提升的前提下,逐步提高網(wǎng)絡(luò)效率,從不同角度優(yōu)化網(wǎng)絡(luò)流程,最后使網(wǎng)絡(luò)效率提高10倍有余。

Detection head

detection head包括兩個(gè)任務(wù),即:目標(biāo)分類(lèi)與目標(biāo)定位,由于bev將點(diǎn)云用圖像的形式呈現(xiàn),同時(shí)保留了障礙物在三維世界的空間關(guān)系,因此基于bev的目標(biāo)檢測(cè)方法可以和圖像目標(biāo)檢測(cè)方法類(lèi)比:目標(biāo)分類(lèi)任務(wù)與圖像目標(biāo)檢測(cè)方法中目標(biāo)分類(lèi)任務(wù)沒(méi)有差別;而目標(biāo)定位任務(wù)可以直接回歸目標(biāo)的真實(shí)信息,但與圖像目標(biāo)檢測(cè)方法中目標(biāo)定位任務(wù)不同,該任務(wù)需要給出旋轉(zhuǎn)框。與圖像目標(biāo)檢測(cè)方法相同,基于bev的目標(biāo)檢測(cè)方法的detection head也分成anchor base的方法和anchor free的方法。

anchor base方法

以voxelnet[3]為例,需要人為設(shè)定anchor的大小,由于bev可以直接回歸真實(shí)的目標(biāo)大小,因此anchor也可以根據(jù)真實(shí)目標(biāo)大小設(shè)定,如:以下單位為米,l、w、h分別表示anchor的長(zhǎng)、寬、高,對(duì)于車(chē)來(lái)說(shuō)anchor大小可以設(shè)定為la = 3.9,wa = 1.6,ha = 1.56,對(duì)于人la = 0.8,wa = 0.6,ha = 1.73,對(duì)于騎行者la =1.76,wa = 0.6,ha = 1.73,且對(duì)于每種anchor,設(shè)置了θa=0°和90°兩種角度。由于目標(biāo)有各種角度,因此為了得到更準(zhǔn)確的角度回歸,anchor的角度設(shè)置可以在[0°,180°)進(jìn)行等間隔采樣,獲得更多不同角度的anchor,提高回歸精度?;貧w誤差的計(jì)算如下圖所示。

圖片

anchor free方法

典型代表是pixor[5],對(duì)于bbox的回歸,如下圖所示,對(duì)于正樣本的紅點(diǎn)p(x,y),需要回歸如下信息:{cos(θ), sin(θ), dx, dy, w, l},其中θ為障礙物偏角,dx、dy分別為p點(diǎn)相對(duì)障礙物中心點(diǎn)的偏移,w、l是障礙物大小的表達(dá)。沒(méi)有anchor,對(duì)目標(biāo)的回歸是不是簡(jiǎn)單了很多。

圖片

以上為基于bev的目標(biāo)檢測(cè)方法的簡(jiǎn)單介紹,該方法在目前的自動(dòng)駕駛的3D目標(biāo)檢測(cè)方案中應(yīng)用較廣。

Camera view generator

camera view圖是將每圈激光線(xiàn)拉成直線(xiàn)再按行累積而成,因此也稱(chēng)為range view,其中投影圖的高為激光線(xiàn)數(shù),寬為lidar掃描一圈的點(diǎn)數(shù),如: 64線(xiàn)激光雷達(dá),水平角分辨率為0.2°,生成的camera view的圖大小為64*1800。camera view相對(duì)bev圖小很多,因此基于camera  view的方法效率都較高。具體投影圖的生成策略可以關(guān)注文章:自動(dòng)駕駛中,激光雷達(dá)點(diǎn)云如何做特征表達(dá)[2]。camera view效果如下圖。

圖片

Network backbone

網(wǎng)絡(luò)結(jié)構(gòu)的設(shè)計(jì)要依據(jù)任務(wù)需求,基于camera view的目標(biāo)檢測(cè)方法,多是以分割任務(wù)為主,因此網(wǎng)絡(luò)結(jié)構(gòu)大都是encode+decode結(jié)構(gòu),如下圖1所示。因此有關(guān)提高分割效果的網(wǎng)絡(luò) 設(shè)計(jì)思想都可以在此使用,如圖2中使用不同大小的dilation rate的卷積獲得不同感受野的特征表達(dá),如圖3使用global attention增加上下文信息。更多分割增強(qiáng)模塊,在后面會(huì)專(zhuān)門(mén)寫(xiě)一篇文章介紹。

圖片

圖1 ecode+decode

圖片

圖2 不同dilate rate卷積

圖片

圖3 global attention

Detection head

基于camera view的目標(biāo)檢測(cè)方法有兩種輸出方式表達(dá),一種是純分割區(qū)域,另一種是分割與檢測(cè)框。

純分割區(qū)域表達(dá)

純分割的輸出是基于camera view的模型最直接、最好的一種輸出。在原始3D點(diǎn)云中,尤其是遠(yuǎn)處的點(diǎn),點(diǎn)與點(diǎn)之間的距離都較遠(yuǎn),如bev投影圖,造成點(diǎn)特征提取時(shí)很難融入上下文信息。而camera view投影圖將點(diǎn)云中的點(diǎn)聚攏,每個(gè)點(diǎn)都可以很方便的獲得更大范圍的上下文信息,這種投影方式更適合分割任務(wù)。如在SqueezeSeg[3]和PointSeg[4]兩篇文章中,都直接將分割作為最終任務(wù)目標(biāo),但是為了得到更好的聯(lián)通區(qū)域,需要增加較多的后處理。如在SqueezeSeg[3],在模型輸出后又增加了crf提高分割效果。在PointSeg[4]中,使用RANSAC將異常點(diǎn)剔除,如下圖,第一行為模型輸入,第二行為模型直接的預(yù)測(cè)輸出,第三行為將模型輸出的camera view圖反投影得到的點(diǎn)云圖,第四行為經(jīng)過(guò)ransac后再反投影得到的點(diǎn)云圖,對(duì)比第三行和第四行對(duì)應(yīng)的圖可以看出,ransac有效的抑制很多離目標(biāo)較遠(yuǎn)的點(diǎn)。

圖片

分割與檢測(cè)表達(dá)

分割任務(wù)對(duì)于基于camera view的模型相對(duì)簡(jiǎn)單,但是檢測(cè)框的回歸并不容易。camera view投影圖增加了點(diǎn)云中點(diǎn)的上下文信息,但也將原本在3D空間分離的目標(biāo)拉近,引入了遮擋與目標(biāo)尺度變化,然而點(diǎn)云投影圖又不像真實(shí)的圖像那樣有很豐富的紋理信息,造成了camera view圖像很難做實(shí)例分割與目標(biāo)框回歸,因此,檢測(cè)框的回歸需要增加一些額外操作來(lái)實(shí)現(xiàn)。

圖片

在lasernet[5]中,對(duì)于目標(biāo)框中的點(diǎn)(x,y)需要回歸6個(gè)信息,如上圖所示,Box Parameters為6,包括:該點(diǎn)相對(duì)中心點(diǎn)的偏移(dx,dy), 相對(duì)旋轉(zhuǎn)角度 (ωx,ωy) = (cosω,sinω),以及框大小 (l,w),從而可以通過(guò)下述公式計(jì)算得到真正的目標(biāo)框中心點(diǎn)bc以及旋轉(zhuǎn)角φ,其中θ為該點(diǎn)在點(diǎn)云中的方位角,Rθ為以θ為旋轉(zhuǎn)角的旋轉(zhuǎn)矩陣。

圖片

另外,由于對(duì)每個(gè)點(diǎn)的預(yù)測(cè)存在噪聲,而后又在bev投影圖中使用mean shift聚類(lèi)方法得到更準(zhǔn)確的目標(biāo)框。

由于3D點(diǎn)云在做camera view投影的時(shí)候丟失了原來(lái)的3D結(jié)構(gòu)信息,引入了圖像中的尺度變化和遮擋兩個(gè)問(wèn)題,因此少有方法直接在這種模式下作3D目標(biāo)檢測(cè),一般需要在網(wǎng)絡(luò)輸出基礎(chǔ)上做比較多的后處理。但是camera view的表達(dá)模式,極大的增加了遠(yuǎn)處點(diǎn)云的上下文信息,也是一種極好的提高點(diǎn)云特征表達(dá)能力的方式,后續(xù)在融合感知方法中會(huì)再介紹。

Point-wise

基于lidar的目標(biāo)檢測(cè)方法迎來(lái)了第3大類(lèi)方法的介紹,前面已經(jīng)介紹過(guò)基于BEV(bird’s eye view)的目標(biāo)檢測(cè)方法[1],基于camera/rang view的目標(biāo)檢測(cè)方法[2],這兩種方法在自動(dòng)駕駛的實(shí)際運(yùn)用中都很常見(jiàn),算是比較主流的方法。這兩種方法研究的也比較早,相對(duì)成熟一些。而point-wise目標(biāo)檢測(cè)方法自pointnet[3]之后,才有較多的研究文章用其解決自動(dòng)駕駛中有關(guān)3D目標(biāo)檢測(cè)問(wèn)題,在此之前,大都用來(lái)解決基于室內(nèi)場(chǎng)景或者單個(gè)全掃描目標(biāo)密集點(diǎn)云的分割、檢測(cè)、場(chǎng)景理解的問(wèn)題,其中研究有關(guān)RGB-D的問(wèn)題最多。

這里我們將關(guān)注點(diǎn)放在如何用point-wise feature來(lái)解決自動(dòng)駕駛的目標(biāo)檢測(cè)問(wèn)題上。自2017年pointnet[3]之后出現(xiàn)的3D目標(biāo)檢測(cè)相關(guān)文章中,50%都出自香港中文大學(xué),其中一部分來(lái)自商湯科技自動(dòng)駕駛相關(guān)部門(mén),如PointRcnn[4]、Part aware and aggregation[5]、PV Rcnn[6],另一部分來(lái)自騰訊優(yōu)圖實(shí)驗(yàn)室賈佳亞老師團(tuán)隊(duì),同樣也是自動(dòng)駕駛相關(guān)業(yè)務(wù)方向,如IPoD[7]、Fast PointRcnn[8]、STD[9]、3DSSD[10]。這里面除了3DSSD[10]方法為one-stage detector,其他都是two-stage detector,而3DSSD[10]主打高效,從而也可以看出刷榜還得靠two-stage detector。

我們從如下圖所示的3個(gè)部分(lidar representation,network backbone,detection head),來(lái)介紹一下point-wise方法。其中l(wèi)idar represention部分是直接使用點(diǎn)云做輸入,即n*4的點(diǎn)集,不做單獨(dú)介紹,下面重點(diǎn)介紹一下其他兩個(gè)部分。

圖片

Network backbone

提取點(diǎn)特征一般有兩種方式:基于pointnet[3]/pointnet++[11]的點(diǎn)特征、voxel特征。如圖4:在STD[9]中,組合了兩種方式。如圖5,在PointRcnn[4]中,僅使用了pointnet++[11]提取點(diǎn)特征

圖片

圖4 STD[9]特征提取方式

圖片

圖5 PointRcnn中特征提取方式

在使用pointnet++[11]提取特征時(shí),包含兩個(gè)重要模塊,即set abstraction(即,SA)和feature propagation(即,F(xiàn)P),如下圖6所示其中SA是特征encoder過(guò)程,通過(guò)點(diǎn)云篩選與特征提取逐步減少點(diǎn)云點(diǎn)數(shù),提高特征表達(dá)能力與感受野,F(xiàn)P是特征decoder過(guò)程,通過(guò)點(diǎn)云上采樣,獲得稠密的點(diǎn)云表達(dá),并級(jí)聯(lián)SA過(guò)程的特征,提高最終的點(diǎn)云特征表達(dá)能力。

圖片

圖6 pointnet++特征表達(dá)

在3DSSD[10]中,為了提高模型效率,去掉了耗時(shí)比較嚴(yán)重的FP模塊,由于SA過(guò)程只篩選了一部分點(diǎn)做特征表達(dá),對(duì)目標(biāo)檢測(cè)的召回影響很大,尤其對(duì)點(diǎn)云比較稀疏的遠(yuǎn)處的目標(biāo),影響更大,因此3DSSD[10]在D-FPS的基礎(chǔ)上,提出了F-FPS,即通過(guò)點(diǎn)的語(yǔ)義信息來(lái)做點(diǎn)的篩選,保留更多的正樣本的點(diǎn),保證最終的目標(biāo)召回率。

Detection head

detection head除了完成目標(biāo)分類(lèi)與目標(biāo)定位的任務(wù),在two-stage detector中,還需要實(shí)現(xiàn)roi pooling,為第二階段提供實(shí)例級(jí)別的特征。

對(duì)于目標(biāo)定位的任務(wù),同樣有anchor-base方法和anchor-free方法。在STD[9]中,為應(yīng)對(duì)有旋轉(zhuǎn)角的box回歸,提出了球形anchor,由于anchor沒(méi)有角度的變化,直接將anchor數(shù)量減少50%,提高了計(jì)算效率。其他方法大都是anchor-free的方法,關(guān)于anchor-free的方法,推薦讀一下kaiming大神的voteNet[13],比較好理解。

關(guān)于roi pooling,一般是針對(duì)單個(gè)目標(biāo),再次提取更豐富、更具表達(dá)能力的特征,因此在不同論文中,根據(jù)實(shí)例提取特征方式的不同,提出了不同的roi pooling方法,如在STD[9]中,提出了PointsPool,在Part aware and aggregation[5]中,提出了Roi aware Point Cloud Pooling,在pv-rcnn[6]中提出了Roi grid Pooling。下面分別介紹一下。

PointsPool[9]

如下圖7所示,分成三個(gè)步驟

圖片

圖7 PointsPool[9]

  1. 特征提?。涸趐roposal中隨機(jī)篩選N個(gè)點(diǎn),1)獲得第一階段的點(diǎn)特征;2)獲得N個(gè)點(diǎn)的坐標(biāo),并用如下圖5所示的canonical transformation得到與原坐標(biāo)系無(wú)關(guān)的坐標(biāo)特征。兩種特征聯(lián)合在一起,作為proposal中點(diǎn)的特征表達(dá)

  2. Voxel表達(dá):將不同大小的proposal,通過(guò)voxel統(tǒng)一化到相同大?。篸l = 6,dw = 6,dh = 6

  3. 使用VFE layer提取最終特征

圖片

圖8 canonical transformation

Roi aware Point Cloud Pooling[5]

整體流程如下圖9所示,與STD[9]中的pooling方法類(lèi)似,首先將proposal分割成固定大小的voxel,如14×14×14,然后再提取voxel特征表達(dá):

  • RoIAwareMaxPool:使用的是第一階段輸出的point-wise semantic part feature,在voxel中計(jì)算max pooling

  • RoIAwareAvgPool:使用的是proposal中經(jīng)過(guò)canonical transformation點(diǎn)坐標(biāo)特征和segmentation score,在voxel中計(jì)算avg pooling

最后將兩組特征聯(lián)合作為proposal的pooling特征。

圖片

圖9 Roi aware Point Cloud Pooling

Roi grid pooling[6]

與上面兩種pooling方法不同的是,并沒(méi)有將proposal通過(guò)voxel得到固定大小的特征圖,而是根據(jù)pv-rcnn[6]中提出的key point信息,將proposal用6*6*6=216個(gè)grid points表達(dá),grid points是從proposal中的key points均勻采樣獲得,且RoI-grid point features提取過(guò)程和key point feature提取過(guò)程是相似的。簡(jiǎn)單來(lái)說(shuō)就是以grid point為中心,r為半徑的區(qū)域內(nèi)提取不同尺度、不同感受野的特征,最后在使用2層的MLP網(wǎng)絡(luò)獲得最終的特征表達(dá),如圖10所示。

圖片

圖10 Roi grid point feature extraction

目前基于point-wise feature的目標(biāo)檢測(cè)方法還處于研究階段,效率無(wú)法保證,精度還未在真實(shí)自動(dòng)駕駛車(chē)上測(cè)試,但由于該方法直接從點(diǎn)云提取特征,極大的保留了點(diǎn)云的原始信息,比較有潛力得到更好的效果。

參考文獻(xiàn)

1、PointPillars: Fast Encoders for Object Detection from PointClouds

2、VoxelNet: End-to-End Learning for Point Cloud based 3D Object Detection

3、PIXOR: Real-time 3D Object Detection from Point Clouds

4、Multi-View 3D Object Detection Network for Autonomous Driving

5、YOLO3D: End-to-end real-time 3D Oriented Object Bounding Box Detection from LiDAR Point Cloud

6、SqueezeSeg: Convolutional Neural Nets with Recurrent CRF for Real-Time Road-Object Segmentation from 3D LiDAR Point Cloud

7、PointSeg: Real-Time Semantic Segmentation based on 3D LiDAR Point Cloud

8、LaserNet: An Ef?cient Probabilistic 3D Object Detector for Autonomous Driving

分享到:
 
反對(duì) 0 舉報(bào) 0 收藏 0 評(píng)論 0
滬ICP備11026917號(hào)-25