論文標(biāo)題:Embracing Single Stride 3D Object Detector with Sparse Transformer
源碼地址:https://github.com/TuSimple/SST
CVPR2022
文章寫(xiě)得很好!
文章從2d 3d目標(biāo)檢測(cè)目標(biāo)的尺寸的不同入手,在2d目標(biāo)檢測(cè)中確實(shí)由于圖像近大遠(yuǎn)小的尺寸關(guān)系 存在著圖像中物體尺寸長(zhǎng)尾的問(wèn)題:
如coco數(shù)據(jù)集中,大小目標(biāo)往往是呈現(xiàn)long-tail的分布,于是很多研究者才考慮從不同scale的feature map來(lái)進(jìn)行不同大小的object的預(yù)測(cè),而對(duì)于3d目標(biāo)檢測(cè)來(lái)說(shuō) 物體的尺寸基本是一致的,沒(méi)有受到近大遠(yuǎn)小的投影關(guān)系的影響。遠(yuǎn)處的物體僅僅只是點(diǎn)云更加稀疏而已。作者便引出自己的思考:下采樣在3d目標(biāo)檢測(cè)中是否是必要的呢?
因此 作者便考慮一個(gè)沒(méi)有下采樣的檢測(cè)器,然而設(shè)計(jì)這個(gè)檢測(cè)器存在著以下的一些問(wèn)題:
首先設(shè)計(jì)一個(gè)在原尺寸的feature map進(jìn)行操作的detector是計(jì)算量巨大的,其次原尺寸的feature map對(duì)于卷積來(lái)說(shuō)往往意味著更小的感受野。
如作者首先在pointpillar上進(jìn)行了一系列的實(shí)驗(yàn):
對(duì)于pointpillar 作者對(duì)于backbone的stride進(jìn)行改進(jìn),原來(lái)的版本記做D3,依次放大縮小stride 如 從D3到D0的backbone上四層的stride分別是:
因?yàn)槊恳粋€(gè)module都會(huì)最終上采樣至原來(lái)的resolution,所以上述的操作只是對(duì)于中間層的feature map的size進(jìn)行了改進(jìn)。
我們可以看到 通過(guò)縮小stride D3到D1 ap明顯得到了提升。這說(shuō)明小的stride是有助于3d目標(biāo)檢測(cè)的。而作者對(duì)于D0 ap的下降 作者認(rèn)為是過(guò)小的stride限制了感受野的大小,導(dǎo)致每個(gè)feature點(diǎn)檢測(cè)到很小的一部分場(chǎng)景 而這部分場(chǎng)景是不足以檢測(cè)到物體全貌的。
所以作者在這個(gè)基礎(chǔ)上有對(duì)于D0的卷積核進(jìn)行了改進(jìn):采用空洞卷積和大尺寸(55)卷積核來(lái)進(jìn)行實(shí)驗(yàn) 發(fā)現(xiàn)ap也得到了提升
這說(shuō)明了一個(gè)問(wèn)題:在考慮參數(shù)量和計(jì)算時(shí)間的情況下,足夠的感受野大小對(duì)于目標(biāo)檢測(cè)來(lái)說(shuō)是十分必要的!
于是 作者便在pointpillar的基礎(chǔ)上設(shè)計(jì)了一個(gè)single stide的網(wǎng)絡(luò)
網(wǎng)絡(luò)具體架構(gòu)如上圖所示,很簡(jiǎn)單的網(wǎng)絡(luò)
首先類(lèi)似pointpillar 對(duì)于點(diǎn)云進(jìn)行體素化(實(shí)際上是pillar化),把每一個(gè)voxel作者認(rèn)為是一個(gè)token。將它們輸入到backbone中。與pointpillar不同 作者沒(méi)有對(duì)這些編碼后的voxel進(jìn)行下采樣 而是將它們輸入到一個(gè)SST(Single-stride Sparse Transformer)的模塊進(jìn)行feature提取。
還是前面的問(wèn)題:怎么在小stride的情況下擴(kuò)大每一個(gè)voxel的感受野呢?
答案是:transformer!
transformer對(duì)于提取全局feature有著無(wú)可比擬的特性!然而 計(jì)算整個(gè)場(chǎng)景的transformer 顯然是不現(xiàn)實(shí)的!
于是 作者首先對(duì)于得到的voxel圖 對(duì)于voxel們進(jìn)行g(shù)roup操作 :將voxel劃分成若干個(gè)部分,隨后對(duì)于每個(gè)group中的非空體素 計(jì)算他們之間的self attention:
還有一個(gè)問(wèn)題,由于點(diǎn)云的稀疏性 我們不能保證每個(gè)group中非空voxel的數(shù)目保持一致 那么我們要怎樣才能保證對(duì)于每一個(gè)group進(jìn)行并行運(yùn)算呢?
作者采用了補(bǔ)全的操作,補(bǔ)全的voxel是一個(gè)mask后的voxel 對(duì)于其他voxel沒(méi)有影響。
行 那我們計(jì)算完每一個(gè)group的attention 有沒(méi)有一種可能 就是我們劃分的group正好有一個(gè)物體在兩個(gè)group里面呢?
答案是肯定的,而且如果我們單單是group內(nèi)的self attention 那么就算堆疊再多的SST也不能讓這個(gè)物體的每個(gè)voxel權(quán)重得到共享 這些跨group的物體 檢測(cè)效果就會(huì)很差很差
這個(gè)問(wèn)題 在2d目標(biāo)檢測(cè)領(lǐng)域得到了解決:swin transformer 具體的細(xì)節(jié)是采用一個(gè)shif window 來(lái)進(jìn)行不同group之間的信息交互 那么 堆疊多個(gè)SST后 跨group的voxe 便能夠得到權(quán)值共享了。這里不再贅述了,感覺(jué)做的方法基本和2d是一模一樣的,大家可以參考一位大佬寫(xiě)的博文 我也沒(méi)有看這篇 best paper 的原文
這里shift的大小是group長(zhǎng)寬的一半。
網(wǎng)絡(luò)后面還有一個(gè)dense map的補(bǔ)全 這個(gè)操作也很好理解:點(diǎn)云往往是在物體表面的 物體中心往往為空 這對(duì)于檢測(cè)頭來(lái)說(shuō)是不友好的 所以作者采用了兩個(gè)33的卷積核來(lái)進(jìn)行空洞的補(bǔ)全。最后的檢測(cè)頭直接采用了SSD。
loss如下:
當(dāng)然 這個(gè)網(wǎng)絡(luò)還可以擴(kuò)展至二階段 只要在后面加一個(gè)lidar RCNN即可 作者這么做是方便后面與其他方法的對(duì)比。
實(shí)驗(yàn)做的也很詳細(xì):
waymo上的檢測(cè)效果如上圖所示
疊加三幀的數(shù)據(jù) 作者發(fā)現(xiàn)該方法對(duì)于dense feature是很友好的。
對(duì)于single stride 的檢測(cè)器 還有一個(gè)疑問(wèn) :感受野對(duì)于大物體是否足夠呢?答案是 transformer可以解決你的顧慮!
文章通過(guò)調(diào)整更高的iou閾值發(fā)現(xiàn) 該方法還能實(shí)現(xiàn)更加精準(zhǔn)的box預(yù)測(cè)。
用trans與其他采用卷積的single stride的方法進(jìn)行比較
ablation做了group size voxel number的對(duì)比
SRA(網(wǎng)絡(luò)深度)
看下來(lái)除了對(duì)于內(nèi)存要求比較高(相比于pointpillar) 其他的都很優(yōu)越!文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-413986.html
我的思考:
文章做得很棒!通過(guò)transformer 成功實(shí)現(xiàn)了感受野的擴(kuò)大 而這個(gè)感受野并非是傳統(tǒng)卷積的粗暴的將一個(gè)立方體內(nèi)的voxel進(jìn)行l(wèi)inear操作 而是計(jì)算每個(gè)voxel相對(duì)于你query點(diǎn)的權(quán)重 如上圖所示 確實(shí)能實(shí)現(xiàn)對(duì)于當(dāng)前物體的準(zhǔn)確識(shí)別 而不受到背景點(diǎn) 其他instance的影響!
文章對(duì)于小目標(biāo)的檢測(cè)效果很好 這是有沒(méi)有進(jìn)行下采樣實(shí)現(xiàn)的結(jié)果!
與同為CVPR的voxel transformer 相比這篇文章實(shí)際上是在pillar層面進(jìn)行的操作 這樣的好處是可以直接運(yùn)用2d目標(biāo)檢測(cè)的成果——swin—transformer。與它不同的地方是使用了單步距的操作。
文章啟發(fā)了我們對(duì)于網(wǎng)絡(luò)結(jié)構(gòu)的思考——對(duì)于3d目標(biāo)檢測(cè)來(lái)說(shuō) 下采樣是否是有必要的!文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-413986.html
到了這里,關(guān)于【論文閱讀】【3d目標(biāo)檢測(cè)】Embracing Single Stride 3D Object Detector with Sparse Transformer的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!