【论文阅读】SNE-RoadSeg

文章目录

  • SNE
  • RoadSeg

文章SNE-RoadSeg: Incorporating Surface Normal Information into Semantic Segmentation for Accurate Freespace Detection,2020ECCV

开源代码:https://github.com/hlwang1124/SNE-RoadSeg

使用深度图做road detection,效果在kitti上排第四,是目前能找到良好开源的算法。本篇文章就结合代码一块看一下这篇文章。

SNE

全称surface normal estimator,也就是用于估计法向量。本文引了一大堆参考文献,来阐述如何利用深度图来估计法向量。直观的想,有一张深度图,其实就是有了每个pixel的三维信息,那就可以用一个邻域来估计法向量。本文也大概就是这么做的,具体的公式可以看文章第三章。那么具体实现,可以看代码中的models/sne_model.py。具体实现就是用一个差分的卷积核,来求邻域中像素的深度差,然后根据公式中的计算过程得到法向量。

RoadSeg

这一部分也很好理解,对着下图来看:
【论文阅读】SNE-RoadSeg_第1张图片
红色的方框是我用来标识tensor具有的channel数。

先说Encoder:深度图通过SNE得到法向量图,通过resnet得到一组feature map。RGB Image通过另一个resnet,其中得到每一个scale的feature map之后都要先pixel wise addition一下相对应的法向量图得到的feature map,然后再送入下一步卷积,这相当于做一个特征融合。

Decoder:大致框架与传统的Decoder是一样的,也是一步一步的upsample和conv,只是采用了DenseNet的形式。

这部分的代码在models/networks.py中,也很好理解,具体的对应关系可以看下图:
【论文阅读】SNE-RoadSeg_第2张图片
实验展示了该网络的效果,消融实验证明了使用SNE的必要性。

PS:我认为这个开源代码写的也非常漂亮,值得借鉴和魔改。

你可能感兴趣的:(论文阅读,卷积,深度学习,无人驾驶,计算机视觉)