深度:自动驾驶特斯拉背后核心技术解析
来进行图划分(graph partitioning),即,将两个分割部分 A,B , 与全图节点的连接权重(assoc(A,V) 和 assoc(B,V))考虑进去:
如此一来,在离群点划分中,中的某一项会接近 1,而这样的图划分显然不能使得是一个较小的值,故达到考虑全局信息而摒弃划分离群点的目的。这样的操作类似于机器学习中特征的规范化(normalization)操作,故称为normalized cut。N-cut不仅可以处理二类语义分割,而且将二分图扩展为 K 路( -way)图划分即可完成多语义的图像语义分割,如下图例。

Grab cut 是微软剑桥研究院于 2004 年提出的著名交互式图像语义分割方法。与 N-cut 一样,grab cut 同样也是基于图划分,不过 grab cut 是其改进版本,可以看作迭代式的语义分割算法。Grab cut 利用了图像中的纹理(颜色)信息和边界(反差)信息,只要少量的用户交互操作即可得到比较好的前后背景分割结果。
在 grab cut 中,RGB 图像的前景和背景分别用一个高斯混合模型(gaussian mixture model, GMM)来建模。两个 GMM 分别用以刻画某像素属于前景或背景的概率,每个 GMM 高斯部件(gaussian component)个数一般设为 。
接下来,利用吉布斯能量方程(gibbs energy function)对整张图像进行全局刻画,而后迭代求取使得能量方程达到最优值的参数作为两个 GMM 的最优参数。GMM 确定后,某像素属于前景或背景的概率就随之确定下来。
在与用户交互的过程中,grab cut 提供两种交互方式:一种以包围框(bounding box)为辅助信息;另一种以涂写的线条(scribbled line)作为辅助信息。以下图为例,用户在开始时提供一个包围框,grab cut 默认的认为框中像素中包含主要物体/前景,此后经过迭代图划分求解,即可返回扣出的前景结果,可以发现即使是对于背景稍微复杂一些的图像,grab cut 仍有不俗表现。

不过,在处理下图时,grab cut 的分割效果则不能令人满意。此时,需要额外人为的提供更强的辅助信息:用红色线条/点标明背景区域,同时用白色线条标明前景区域。在此基础上,再次运行 grab cut 算法求取最优解即可得到较为满意的语义分割结果。grab cut 虽效果优良,但缺点也非常明显,一是仅能处理二类语义分割问题,二是需要人为干预而不能做到完全自动化。

DL 时代的语义分割
其实大家不难看出,前 DL 时代的语义分割工作多是根据图像像素自身的低阶视觉信息(low-level visual cues)来进行图像分割。由于这样的方法没有算法训练阶段,因此往往计算复杂度不高,但是在较困难的分割任务上(如果不提供人为的辅助信息),其分割效果并不能令人满意。
在计算机视觉步入深度学习时代之后,语义分割同样也进入了全新的发展阶段,以全卷积神经网络(fully convolutional networks,FCN)为代表的一系列基于卷积神经网络「训练」的语义分割方法相继提出,屡屡刷新图像语义分割精度。下面就介绍三种在 DL时代语义分割领域的代表性做法。
全卷积神经网络
全卷积神经网络 FCN 可以说是深度学习在图像语义分割任务上的开创性工作,出自 UC Berkeley 的 Trevor Darrell 组,发表于计算机视觉领域顶级会议 CVPR 2015,并荣获best paper honorable mention。
FCN 的思想很直观,即直接进行像素级别端到端(end-to-end)的语义分割,它可以基于主流的深度卷积神经网络模型(CNN)来实现。正所谓「全卷积神经网络」,在FCN中,传统的全连接层 fc6 和 fc7 均是由卷积层实现,而最后的 fc8 层则被替代为一个 21 通道(channel)的 1x1 卷积层,作为网络的最终输出。之所以有 21 个通道是因为 PASCAL VOC 的数据中包含 21 个类别(20个object类别和一个「background」类别)。
下图为 FCN 的网络结构,若原图为 H×W×3,在经过若干堆叠的卷积和池化层操作后可以得到原图对应的响应张量(activation tensor) ,其中, 为第i层的通道数。可以发现,由于池化层的下采样作用,使得响应张量的长和宽远小于原图的长和宽,这便给像素级别的直接训练带来问题。

为了解决下采样带来的问题,FCN 利用双线性插值将响应张亮的长宽上采样到原图大小,另外为了更好的预测图像中的细节部分,FCN 还将网络中浅层的响应也考虑进来。具体来说,就是将 Pool4 和 Pool3 的响应也拿来,分别作为模型 FCN-16s 和 FCN-8s 的输出,与原来 FCN-32s 的输出结合在一起做最终的语义分割预测(如下图所示)。

下图是不同层作为输出的语义分割结果,可以明显看出,由于
- 汽车无人驾驶传感器平台大盘点(02-02)
- 自动驾驶距离我们还有多遥远?(02-16)
- 机器人时代:无人驾驶的野心(02-16)
- 多功能导盲车系统设计与实现(02-02)
- 智能汽车电子控制单元该如何简化(02-19)
- 汽车应用标准之争 凸显LIN竞争优势(02-24)
