高级视觉任务:图像分类、目标识别
低级视觉任务:语义分割(像素级分类)、姿态估计
深度卷积神经网络(DCNNs)在高级视觉任务中展示了最优的性能,本工作将DCNN中的方法与概率图形模型(probabilistic graphical models)相结合来解决图像分割问题。DCNNs的最后一层响应没有精确定位,因此不能用于准确的物体分割,而在高级图像任务中由于其强不变属性使得DCNNs表现良好。我们将DCNN最后一层的输出与一个全连接的条件随机场(CRF)结合来解决深度网络中定位不准的缺点。“DeepLab”系统定位边界的精度超过以往所有方法,在PASCAL VOC-2012语义分割任务中效果最好,测试集上达到71.6%的IOU准确度。
工作重点:网络重构、虫洞算法,最终在GPU上达到8fps的速度。
DCNNs一直是文献识别的首选方法,最近才成为高级视觉研究的主流。在过去的两年里DCNNs在一系列的高级视觉问题上将计算机视觉系统的性能推向了新的高峰,包括图像分类、目标检测、细粒度分类等等,这些工作的一个共同特点就是采用端到端的DCNNs训练效果远好于依赖复杂特征设计的系统,如SIFT和HOG特征等。DCNNs对局部图像变换具有内置不变性,这支持了其学习结构化抽象数据的能力。这种不变性在高级视觉任务中可以,但是它会妨碍低级任务,比如姿态估计和语义分割,这些任务需要精确定位而不是空间细节的抽象。
将DCNNs应用于图像标记任务有2个技术障碍
信号下采样——主要由于标准DCNNs的每一层网络上最大池化与下采样操作造成分辨率下降;DeepLab采用atrous(空洞)算法扩展感受野来获取更多上下文信息
空间不敏感(不变性)——由于分类器获取以对象为中心的决策需要空间变换的不变性,因此内在的限制了DCNN模型的定位精度;使用全连接的CRF来提高模型捕获精细细节的能力。CRF广泛应用于语义分割领域,它将多路分类器计算的类别分数与局部的像素边缘相互作用得到的低维信息相结合。虽然已经提出更复杂的工作来给层次依赖和/或段的高阶依赖建模,我们使用全连接的成对CRF,因为它计算高效,可以捕捉精细的边缘细节,同时适应长距离依赖性。该模型在2011年提出大大提高了基于boosting的像素分类器的性能,在我们的工作中我们将证明将它与一个基于DCNN的像素级分类器结合时可以得到目前最好的效果。
DeepLab系统的三个主要优点是
(1)速度:凭借“atrous”算法,密集DCNN以8fps运行,而全连接CRF的平均场推断需要0.5秒;
(2)准确度:获得了PASCAL语义分割赛的最好成绩,超过第二名7.2%;
(3)简单性:系统由两个完善的模块组成,DCNNs和CRFs。
这一章节论述如何将VGG-16重新调整并精细化为一个有效的密集特征提取器用于我们的密集语义分割系统。
空洞算法
算法介绍:atrous算法可以稀疏的采样底层特征映射,该方法可以使用任何采样率计算密集的特征映射。在VGG-16中使用不同采样率的空洞卷积,可以让模型密集计算时明确控制网络的感受野,从而保证DCNN的预测图可靠的预测图像中物体的位置。
1-D
2-D
输入 |
输出 |
空洞卷积核 |
input stride |
output stride |
padding |
gif |
---|---|---|---|---|---|---|
蓝色7*7 |
绿色3*3 |
3*3 |
2 |
1 |
no |
框架:将VGG-16的全连接层改成卷积层,图像以原始分辨率输入,但是这样产生的空间检测分数仍然很稀疏(步幅=32,步幅=输入尺寸:输出特征尺寸)。为了精确步幅到8,我们在网络的最后2个池化层后跳过了下采样,而是采用2或者4采样率的空洞卷积对特征图做采样扩大感受野从而缩小步幅。
实现方式:caffe上 im2col函数
具体方法:调整VGG-16的预训练权重,使其可以用于图像分类。然后将最后一层的1000-way分类器改成21-way分类器,损失函数是CNN输出(原图8倍下采样)空间每个点的cross-entropy之和,目标是ground truth(8倍下采样),SGD优化目标函数。
测试方法:测试时需要原图分辨率下每个点的类别得分,使用双线性插值法上采样8倍得到结果。
控制感受野加速卷积网络密集计算
多数基于DCNN的图像识别方法依赖预训练分类模型,这些网络感受野较大,密集计算中成为瓶颈。我们在第一层FC前下采样,同时减少FC的通道数(从4096到1024)。
DCNN的问题
DCNN可以指出轮廓与位置,但是不能精确定位轮廓。这是因为在分类精度和定位精度之间天然有一个trade-off,深度模型表明了最大池化层在分类任务中很有效,但是多个最大池化层和下采样的重复组合层使得模型具有平移不变性,我们在其输出的high-level的基础上做定位较难。
解决方法:
(1)利用CNN中多层信息估计物体边界
(2)将定位任务交给低级的分割方法,采用超像素表示
Deeplab方案:DCNN识别+FC-CRF细粒度定位
CRF在精确定位中的应用
短距离CRF有耦合邻居点的能量项,有利于相同标签分配到空间上相近的像素,这些短距离CRF的主要功能是清除在手工特征基础上建立的弱分类器的虚假预测。而DCNN的特征分类映射非常平滑,此时若使用短距离CRF不行,因为我们的目标是恢复详细的局部结构而不是进一步平滑它,因此要用FC-CRF。
多尺度预测
使用多尺度预测提高边界定位效果:在输入图像和前四个最大池化层的输出上加了两层的MLP(第一层是128个3×3卷积,第二层是128个1×1卷积),最终输出的特征映射送到模型的最后一层辅助预测,合起来模型最后的softmax层输入特征多了5×128=640个通道,实验表示多尺度有助于提升预测结果,但是效果不如CRF明显。
实验设置
数据集 |
PASCAL VOC 2012 segmentation benchmark |
---|---|
DCNN |
VGG-16 pre-trained on ImageNet |
SGD mini-batch |
20 |
lr |
初始为0.001,最后分类层是0.01,每2000次迭代乘0.1 |
loss函数 |
cross-entropy |
权重 |
0.9 momentum,0.0005 decay |
验证集上评估
Deeplab+CRF超过Deeplab性能的4%
多尺度特征应用
DeepLab-MSc超过DeepLab性能1.5%
总的DeepLab-MSc-CRF超过4%
离散卷积的效果
atrous算法可以允许调整感受野(FOV),大的离散卷积效果更好(同时见Table 1)
评估边界附近的精确度
void在val set中通常出现在边界周围,CRF+MSc效果最好
与其他模型对比DeepLab捕获到最好的边界
DeepLab v1:卷积神经网络+概率图模型做端到端训练
DCNN+CRF 预测结果准确、效率高