Deep Continuous Fusion (Uber'18) - 知乎

更多相關博客請猛戳: AutoVision
如需轉載,請附上本文連接,謝謝!

以前在看MMF(Uber'19)[1]的時候發現主要是基於這篇ContFuse[2]作的,因此回過頭來再總結一下這個工做,畢竟這是第一篇將image feature跟LiDAR BEV feature進行融合的文章。對MMF感興趣的能夠移步個人另外一篇博客:架構

仙道菜:Multi-Task Multi-Sensor Object Detection(Uber’19)zhuanlan.zhihu.com圖標

Abstract

這篇文章就是探索如何使用LiDAR跟camera達到一個很是好的3D檢測器,可以獲得準確的物體位置信息。爲了達到這個目的,做者設計了一個end-to-end的學習框架,利用continuous convolution對LiDAR與camera進行不一樣感覺野上的特徵融合。該論文設計的continuous fusion layer可以對離散狀態的圖像特徵進行encode,同時也可以對連續的幾何信息進行encode。app

目前有不少在BEV上的工做,都展現了很好的3D檢測能力,例如:MV3D[3]、Voxelnet[4]等。不少方法LiDAR-Image融合的方式都是將LiDAR投影到Image座標系再進行融合,而這篇是第一個提出將BEV與Image直接融合的工做。框架

上圖是這篇文章的主要架構,這個圖仍是很是直觀的。能夠看出主要分爲3個部分:函數

  1. Camera stream:用於提取image在不一樣感覺野下的feature map;
  2. LiDAR stream:用於提取不一樣LiDAr在不一樣感覺野下的feature map;
  3. Continuous fusion layer:用於image-LiDAR多尺度的特徵融合;

特徵提取這邊沒有什麼特殊的,本文主要介紹一下Continuous fusion layer。學習

Continuous fusion layer

要介紹ContFuse layer,就要先PCCN(Parametric Continuous Convolutional Network)[5].flex

PCCN url

Grid Convspa

標準的CNN使用的是離散的卷積做爲基本操做:設計

h[n] = (f*g)[n] = \sum_{m=-M}^{M}{f[n-m]g[m]}

Continuous Conv3d

連續卷積顧名思義它的操做是在連續空間的,因此上式變成了:

h(x) = (f*g)(x) = \int_{-\infty}^{\infty}f(y)g(x-y)dy

可是其實實際中咱們也很難獲取連續的信號,通常也只能觀察到y曲線上的數個採樣點 {y_{i}}_{i=1}^{N} 。所以,上式能夠進行如何近似:

h(x) = \int_{-\infty}^{\infty}f(y)g(x-y)dy\approx\sum_{i}^{N}{\frac{1}{N}f(y_{i})g(x-y_{i})}

考慮到實際應用的複雜性,核函數也多是極其複雜的。爲了便於學習和訓練,依據萬能近似定理(Universal approximation theorem),能夠把核函數近似看做是多層感知機MLP的輸出。所以上式還能夠能夠寫成:

h(x) \approx\sum_{i}^{N}{\frac{1}{N}f(y_{i})g(x-y_{i})}=\sum_{i}^{N}{\frac{1}{N}f(y_{i})MLP(x-y_i;\theta)}

利用上式,咱們能夠根據點i周圍的點計算出其對應的特徵,從而達到「插值」的效果。以下圖,x_{0}處的特徵值能夠經過其鄰域點y_{1},y_{2},y_{3},y_{k} 計算獲得。

Continuous Fusion

瞭解PCCN的機制以後,ContFuse也就不在神祕了,下面的關鍵點在於如何找到LiDAR BEV上的點與Image pixel的對應關係。

具體的步驟以下:

  1. 對於BEV上的每個pixel,利用KNN找出跟它最接近的K個LiDAR points (Step 1, Step 2);
  2. 把3D points投影到image 座標系下 (Step 3);
  3. 找到BEV pixel對應的image feature 以及 3d offset 與BEV特徵進行融合 (Step 4);

其中3d offset指的是target pixel和點雲中鄰域點之間的相對位置關係,能夠衡量不一樣的點對target pixel的貢獻程度。

Experiment

最終總體的效果相較於MV3D、AVOD有較大的提高:

關於KNN中的k,做者也作了相應的ablation study:

Conclusion

這篇文章從另外一個視角(BEV+image)將LiDAR與Image進行融合,很是有啓發性。這篇只作了pixel-wise的fusion,後續的MMF在此基礎上又進一步加了ROI-wise的fusion,也進一步提高了精度。

參考

  1. ^Liang, Ming, et al. "Multi-task multi-sensor fusion for 3d object detection." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2019.
  2. ^Liang, Ming, et al. "Deep continuous fusion for multi-sensor 3d object detection." Proceedings of the European Conference on Computer Vision (ECCV). 2018.
  3. ^Multi-view 3d object detection network for autonomous driving. In: CVPR (2017)
  4. ^Zhou, Y., Tuzel, O.: Voxelnet: End-to-end learning for point cloud based 3d object detection. CVPR (2018)
  5. ^Wang, S., Suo, S., Ma, W.C., Urtasun, R.: Deep parameteric convolutional neural networks. In: CVPR (2018)
相關文章
相關標籤/搜索