不在自動駕駛公司,但是博士課題和3D檢測相關。猜一猜,就當檢驗一下學習成果了。
PointPillars,Complex Yolo這類基於Bird Eye View和2D CNN的應該是最受業界歡迎的。因為2D CNN的效率高,工具鏈成熟,硬件支持好。PiontPillars當年發論文剛出來的時候,幀率驚人的高,仔細一看,用了TensorRT加速。後來的論文經常黑這一點,說PointPillars的速度是unfair comparison,因為別人的網絡都是原生TensorFlow或者Pytorch在跑。而這恰恰是這個方法的閃光點:容易部署。幾乎全是二維摺積和Pooling,是個加速芯片都支持。基於純3D表示的方法,繞不開PointNet++,3D Conv或者他們的變種,速度高不到哪兒去,而且基本都會卡在硬件部署上。GPU部署的時候還能硬著頭皮給TensorRT寫PlugIn,硬件如果是FPGA那就慢慢去寫IP Core吧。在ASIC上部署限制就更多了。
另外2D CNN的量化壓縮,理論和工具鏈都比較成熟。那些真·3D算子,INT8量化一下會發生什麽還真的不太好說。
至於效能什麽的,可以靠trick往上堆嘛,魔改loss,加數據增強,堆數據。大力出奇跡。
另外個人覺得最近的基於Range Image的方法比如RangeRCNN也是值得關註的。但是RangeRCNN為了刷到SOTA的效能,結構還是過於復雜了。嘗試簡化一下或許也能得到不錯的折中效果。
最後是個人吐槽時間。學術界搞3D檢測還是以在KITTI等數據集上刷高AP為主,基本無視落地需求。比如PointRCNN,效能確實高,但是一想到要讓這玩意兒落地,感覺就大事不妙。KITTI上的AP已經被刷的非常高了,不管是idea還是提升余地,感覺都快被榨幹了。但是路上跑的智能車還是智障的一匹。工業界和學術界隱約有種分道揚鑣的意思。求求學術界大佬們水論文之余關註一下落地的工作,人類會感謝你們的(水論文還是讓我這種沒畢業的來吧哈哈哈)