汇总|实时性语义分割算法

作者:明泽Danny
来源:公众号|计算机视觉工坊(系投稿)
前言
本次给大家更新的是关于实时语义分割的工作 。
语义分割论文
语义图像分割是计算机视觉中发展最快的领域之一 , 有着广泛的应用 。 在许多领域 , 如机器人和自动驾驶汽车 , 语义图像分割是至关重要的 , 因为它提供了必要的上下文 , 以采取行动 , 基于对场景的理解在像素级 。
对于图像的理解有一下几个层次:

  1. 分类 , 即将图像中最具代表性的物体归为某一个类;
  2. 带有定位的分类 , 对分类任务的一个扩展 , 使用边界框将对象框起来在分类;
  3. 目标检测 , 对多个不同类型的对象进行分类和定位;
  4. 语义分割 , 是对图像中的每个像素进行分类和定位;
  5. 实例分割 , 是语义分割的扩展 , 在实例分割中 , 相同类型的不同对象被视为不同的对象;
  6. 全景分割 , 结合语义分割和实例分割 , 所有像素被分配一个类标签 , 所有对象实例都被独立分割
【1】自主驾驶车辆实时语义分割的比较研究
《A Comparative Study of Real-time Semantic Segmentation for Autonomous Driving》
链接:

汇总|实时性语义分割算法文章插图
该文构建了一个实时语义分割框架 , 通过不同的编码解码框架 , 提供了几个例子编码器 , 包括VGG16, Resnet18, MobileNet , 和ShuffleNet和解码器 , 包括SkipNet, UNet和膨胀前端 。 该框架是可扩展的 , 可以添加新的编码器和解码器 。
语义分割方法的分类:
汇总|实时性语义分割算法文章插图
【2】高效的语义分割CNN设计技术分析
《Analysis of efficient CNN design techniques for semantic segmentation》
链接:
与上一个一样都是编码解码结构:
汇总|实时性语义分割算法文章插图
简单的编码器:
汇总|实时性语义分割算法文章插图
Handling scale of objects
汇总|实时性语义分割算法文章插图
a)Cross channel filters
b)Cross layer connections
c)Wider bank of filters
d)Split branching and summation joining
汇总|实时性语义分割算法文章插图
量化:
使用tensorflow或Nvidia TensorRT将神经网络的float32类型计算量化为int8类型的计算 , 实现加速 , 直接用int8类型计算对神经网络进行训练
高效结构设计原则
1.通过约束结构超参数平衡模型大小和准确率:增加网络深度 , 减少每一个卷积层输入的通道数 , 减小输入图片的分辨率
2.减少冗余的卷积核:卷积核分解(一个7x7卷积层分解为3个3x3卷积层 ,kxk卷积层分解为1xk卷积层和kx1卷积层)
3.通过激活函数校准卷积核(CReLU)
使用对称性校准卷积核(G-CNN)
卷积设计
  1. 1x1卷积降维 , 减少卷积的输入通道数
  2. Group convolution
  3. Depth-wise Separable convolution
实验结果:
汇总|实时性语义分割算法文章插图
【3】基于空间稀疏性的实时语义图像分割
《Real-time Semantic Image Segmentation via Spatial Sparsity》
链接:
对于一个典型的两输入的全卷积网络引入了空间稀疏性 , 展示了在提高Inference速度的同时并没有随时太多精度;
展示了使用空间稀疏性 , 使用in-column和cross-column的链接、移除残差单元 , 能够25倍的缩小计算开销 , 丢掉一点精度 。
汇总|实时性语义分割算法文章插图
三种典型方法:
汇总|实时性语义分割算法文章插图
下面是该问提出的框架:
汇总|实时性语义分割算法文章插图
实验结果:
汇总|实时性语义分割算法文章插图
【4】ENet:一种用于实时语义分割的深度神经网络架构
《ENet: A Deep Neural Network Architecture for Real-Time Semantic Segmentation》
链接:
ENet是为移动端开发而设计的分割框架 , 其主要结构为如下图中的bottleneck模块
汇总|实时性语义分割算法文章插图
其模型架构如下:
汇总|实时性语义分割算法文章插图