點(diǎn)擊下方卡片,關(guān)注“新機(jī)器視覺(jué)”公眾號(hào)
視覺(jué)/圖像重磅干貨,第一時(shí)間送達(dá)
來(lái)源丨h(huán)ttps://zhuanlan.zhihu.com/p/406674156
之前在LiDAR點(diǎn)云物體檢測(cè)算法的綜述中提到了四個(gè)發(fā)展階段。在最開(kāi)始的萌芽期中,多視圖的方法占據(jù)主流。視圖(View),也就是點(diǎn)云數(shù)據(jù)的不同表示方法,常用的包括Bird's Eye View (BEV),Point View(PV)和Range View (RV)。從上一篇文章的介紹中大家可以看到,前些年主流的方法是采用BEV和PV的,分別對(duì)應(yīng)基于Voxel和Point的兩個(gè)方向。但是,從今年最新的研究論文來(lái)看,Range View大有卷土重來(lái)之勢(shì),在點(diǎn)云物體檢測(cè)領(lǐng)域刮起了一股復(fù)古風(fēng)。這里有兩個(gè)代表性的工作,一個(gè)是來(lái)自中科院和圖森的RangeDet,另一個(gè)是來(lái)自Waymo的Range Sparse Net (RSN)。
我們先來(lái)看看Range View的數(shù)據(jù)是怎么生成的。我們都知道,激光雷達(dá)的點(diǎn)云來(lái)自于多條激光掃描線(xiàn)。比如說(shuō)64線(xiàn)的激光雷達(dá),那么在垂直方向(Inclination)上就有64個(gè)離散的角度。激光雷達(dá)在FOV內(nèi)掃描一遍,會(huì)有多個(gè)水平方向(Azimuth)的角度。比如說(shuō)水平分辨率是0.2°,那么掃描360°就會(huì)產(chǎn)生1800個(gè)離散的角度。這里也可以粗略把Inclination和Azimuth理解為地球上的維度和經(jīng)度。把水平和垂直方向的角度值作為X-Y坐標(biāo),就可以得到一個(gè)二維圖像。圖像中的像素值是相應(yīng)角度下的反射點(diǎn)的特性,比如距離,反射強(qiáng)度等。這些特性可以作為圖像的channel,類(lèi)似于可見(jiàn)光圖像中的RGB。

Range View數(shù)據(jù)的生成示意圖
RangeDet
文章一開(kāi)始就指出:雖然于Voxel相比,RV的表示更為緊致,而且沒(méi)有量化錯(cuò)誤,但是在物體檢測(cè)上的性能卻遠(yuǎn)遠(yuǎn)低于基于Voxel的方法。原因有三點(diǎn):1)RV中不同距離的物體尺度差別很大;2)特征提取是在2D RV,而物體檢測(cè)是在3D笛卡爾坐標(biāo),這二者存在不一致性;3)RV是更緊致的表示方式,特征提取也因此更為高效,但是利用這一點(diǎn)來(lái)改進(jìn)物體檢測(cè)并沒(méi)與被充分的研究。
RangeDet網(wǎng)絡(luò)結(jié)構(gòu)圖[22]
針對(duì)這三個(gè)原因,RangeDet相應(yīng)的提出了三個(gè)改進(jìn):
Range Conditioned Pyramid 針對(duì)物體尺度變化的問(wèn)題,傳統(tǒng)的圖像物體檢測(cè)采用pyramid結(jié)構(gòu),不同大小的物體被分配到不同的pyramid層級(jí)上處理。這種根據(jù)物體大小的方式忽略了RV的特點(diǎn)。比如一輛近處的乘用車(chē)和一輛遠(yuǎn)處的卡車(chē)可能面積相似,因此會(huì)被分配到同一個(gè)pyramid層級(jí),但是它們的掃描特征確是非常不同的(關(guān)于這一點(diǎn)我還有些疑問(wèn):這個(gè)例子在圖像層面上一樣也成立,為什么圖像上就可以按照物體大小來(lái)分配呢)。因此,RangeDet提出,將0-80m的距離分為[0, 15), [15, 30), [30, 80]三個(gè)區(qū)間,每個(gè)區(qū)間中的物體由一個(gè)層級(jí)負(fù)責(zé)處理。
Meta-Kernel Convolution 對(duì)于RV圖像,每個(gè)像素都和3D笛卡爾坐標(biāo)系有著直接的聯(lián)系(通過(guò)XY坐標(biāo)和像素值可以恢復(fù)3D坐標(biāo)),因此包含了非常豐富的幾何信息。傳統(tǒng)的卷積操作是平移不變的,在RV圖像的各個(gè)位置其操作是一致的,因此無(wú)法有效的利用這個(gè)局部的幾何信息。因此作者提出了一種新的卷積操作,稱(chēng)之為meta-kernel convolution。它與傳統(tǒng)卷積最大的區(qū)別在于卷積核權(quán)重的獲取。傳統(tǒng)卷積的權(quán)重是通過(guò)網(wǎng)絡(luò)學(xué)習(xí)得到并固定下來(lái),對(duì)于圖像的不同位置權(quán)重也是相同的(平移不變性)。而MK-Conv首先提取卷積中心點(diǎn)和鄰域點(diǎn)的幾何信息,并由此計(jì)算權(quán)重。因此,卷積的權(quán)重是依賴(lài)于數(shù)據(jù)的,并且是根據(jù)位置而變化的。
Weighted NMS 由于RV圖像比BEV更加緊致,因此可以在原始分辨率上輸出物體框。而且RV圖像中會(huì)有很大的物體(近處),這些物體上的檢測(cè)輸出也就會(huì)很多。如果采用標(biāo)準(zhǔn)的NMS,那么只能保留一個(gè)置信度最大的檢測(cè)框,這樣隨機(jī)性比較大,檢測(cè)質(zhì)量往往會(huì)不穩(wěn)定。因此,作者提出采用加權(quán)平均的方式來(lái)得到最終的物體框。
下面我們來(lái)看看RangeDet的實(shí)驗(yàn)結(jié)果。有一點(diǎn)需要值得說(shuō)一下,那就是數(shù)據(jù)庫(kù)。由于更大規(guī)模的數(shù)據(jù)庫(kù),比如Waymo Open Dataset (WOD)和NuScenes的出現(xiàn),現(xiàn)在的研究工作更傾向于在這些大規(guī)模數(shù)據(jù)庫(kù)而不是傳統(tǒng)的KITTI數(shù)據(jù)庫(kù)上進(jìn)行測(cè)試和對(duì)比。這些數(shù)據(jù)庫(kù)規(guī)模比KITTI至少高一個(gè)數(shù)量級(jí),包含的場(chǎng)景也更為豐富,因此實(shí)用價(jià)值更高。這也從一個(gè)側(cè)面體現(xiàn)出現(xiàn)在的研究趨勢(shì)是追求算法的實(shí)用性和可落地性。
從下表的消融實(shí)驗(yàn)中可以看到,上述的三個(gè)模塊RCP,Meta-Kernel和WNMS都帶來(lái)了非??捎^的性能提升。此外,IoU Prediction和Data Augmentation也是非常實(shí)用的trick。
RangeDet的消融實(shí)驗(yàn)結(jié)果(WOD Validation Split for Vehicle Detection)
與最新的基于BEV的兩階段檢測(cè)器Voxel-RCNN相比,RangeDet在車(chē)輛檢測(cè)上的效果略差,但是在行人檢測(cè)上超過(guò)了所有之前的方法。得注意的是,RangeDet在遠(yuǎn)距離行人的檢測(cè)上效果非常好,這一點(diǎn)主要?dú)w功于Meta-Kernel的使用。Meta-Kernel的想法并不是全新的,之前也有類(lèi)似的工作,比如Relation-Shape Convolution。另外Waymo在CVPR2021上的一個(gè)工作(To the Point)也是關(guān)于Kernel設(shè)計(jì)的:卷積權(quán)重由鄰域內(nèi)的深度差來(lái)決定,深度差不同,卷積核也不同。從實(shí)驗(yàn)結(jié)果看,這個(gè)工作的效果只能說(shuō)一般。但是,這類(lèi)卷積在RV圖像上的應(yīng)用應(yīng)該會(huì)是未來(lái)一個(gè)值得研究的方向。
速度方面,RangeDet在RTX 2080TI上可以達(dá)到12 FPS。
RangeDet與其他算法的對(duì)比(WOD Validation Split)
Waymo的這個(gè)工作出發(fā)點(diǎn)是要提高遠(yuǎn)距離檢測(cè)的運(yùn)行效率。傳統(tǒng)的基于Voxel的方法,由于其統(tǒng)一的網(wǎng)格大小,在距離方面的可擴(kuò)展性是比較差的。RSN通過(guò)RV和BEV的結(jié)合,在80m的檢測(cè)距離實(shí)現(xiàn)了60FPS的檢測(cè)速度,而且是WOD上的測(cè)試結(jié)果也是名列前茅。
RSN是一個(gè)兩階段的檢測(cè)器。第一階段在RV上進(jìn)行前景分割,過(guò)濾背景點(diǎn),把屬于物體上的點(diǎn)分割出來(lái)。與一般的點(diǎn)云分割不同,這個(gè)前景分割主要關(guān)注Recall,也就是說(shuō)重點(diǎn)是不能漏掉前景點(diǎn)。第二階段將前景點(diǎn)量化為Voxel,采用稀疏卷積和類(lèi)似CenterNet的檢測(cè)器來(lái)越策物體的位置和大小。因?yàn)橹槐A袅饲熬包c(diǎn),稀疏卷積需要處理的Voxel數(shù)量大大減少,因此效率也就提了上來(lái)。
RSN網(wǎng)絡(luò)結(jié)構(gòu)圖
前景分割的部分沒(méi)有什么特別的,就是一個(gè)U-Net。前景點(diǎn)分割出來(lái)以后,采用類(lèi)似于PointPillar的方式來(lái)生成稀疏的Voxel數(shù)據(jù)。文章中采用的是手工設(shè)計(jì)的點(diǎn)特征,當(dāng)然也可以像PointPillar一樣用PointNet來(lái)提取特征。然后稀疏卷積用來(lái)做進(jìn)一步的特征提取。最后的CenterNet也是在稀疏的點(diǎn)特征上來(lái)進(jìn)行的,因此效率也很高。RSN的整個(gè)流程可以總結(jié)為稠密的RV+稀疏的BEV,這樣避免了在BEV大量網(wǎng)格上的計(jì)算量。
備注:感謝微信公眾號(hào)「3D視覺(jué)工坊」整理。
此外,RSN還利用了多幀的信息。一般來(lái)說(shuō),因?yàn)镋go-motion補(bǔ)償帶來(lái)的累積誤差,基于RV的方法很難去做時(shí)序融合。但是RSN的第二階段是在稀疏BEV數(shù)據(jù)的層面上進(jìn)行的,因此可以很方便的進(jìn)行Ego-motion補(bǔ)償。第一階段的前景分割是單幀算法,對(duì)于每幀來(lái)說(shuō)也只需要做一次,因此可以重復(fù)使用。因此,額外的計(jì)算量只有將前面幀的點(diǎn)通過(guò)Ego-motion補(bǔ)償移到最后一幀,另外點(diǎn)數(shù)量的增加會(huì)導(dǎo)致稀疏卷積的計(jì)算量增加。
從實(shí)驗(yàn)結(jié)果來(lái)看,在WOD的3D車(chē)輛檢測(cè)的任務(wù)上,RSN的AP可以達(dá)到74.8(65FPS)或者78.4(15FPS),這與RangeDet(72.8,12FPS)相比都有了可觀的提升。當(dāng)然RSN是在Tesla V100上得到的速度指標(biāo),并不完全具備可比性。
RSN與其他方法的對(duì)比(WOD Validation Split for Vehicle Detection)
來(lái)自海康的RangeRCNN也有類(lèi)似的思路,那就是在RV上做特征提取,然后將學(xué)習(xí)到的點(diǎn)特征轉(zhuǎn)換到BEV下,進(jìn)行物體檢測(cè)。與RSN相比,不同之處在于沒(méi)有進(jìn)行前景點(diǎn)分割,因此BEV部分的計(jì)算復(fù)雜度會(huì)相對(duì)較高。
性能對(duì)比
最后,我們來(lái)對(duì)比一下前面介紹的幾個(gè)方法。這里我們采用LaserNet作為一個(gè)Baseline,因?yàn)樗旧暇褪且粋€(gè)純粹的基于RV的標(biāo)準(zhǔn)物體檢測(cè)網(wǎng)絡(luò),沒(méi)有其他特別的操作。此外,上一篇文章中介紹的PointPillar和PV-RCNN作為PV和BEV結(jié)合的典型方法也用來(lái)進(jìn)行對(duì)比。下表是在Waymo validation集合上3D物體檢測(cè)的結(jié)果(3D APH L1)和運(yùn)行效率的對(duì)比。
盡管測(cè)試的硬件平臺(tái)不盡相同,運(yùn)行效率的對(duì)比并不完全公平,從上面的對(duì)比還是可以看出,RV+BEV的方法在準(zhǔn)確度和速度的平衡方面做得比較好。尤其是RSN的SmallModel,準(zhǔn)確度和速度上基本都處于頂尖的水平。其速度方面的優(yōu)勢(shì)主要來(lái)源于前景點(diǎn)的分割,這應(yīng)該也是未來(lái)一個(gè)值得繼續(xù)研究的方向。
—版權(quán)聲明—
僅用于學(xué)術(shù)分享,版權(quán)屬于原作者。
若有侵權(quán),請(qǐng)聯(lián)系微信號(hào):yiyang-sy 刪除或修改!