图像的语义分割无非就是像素级的操作,在像素上去学习监督/非监督的模型,然后去预测每一个像素的类别从而实现图像的语义分割。事实上,图像的高层语义信息是很难获取的,但是这个任务的目标是很明确的,就是给每个像素打上label。目前,深度学习技术在计算机视觉领域取得了很大成功;而图像的语义分割也借助深度学习技术实现了准确率的大幅提升。比如全卷积神经网络(FCN,Fully Convolutional Networks),网络结构如下图:
FCN在图像的语义分割领域算得上是一个开创性的工作(end to end)。由于是像素级的分割,它丢弃了全连接层,取而代之的是反卷积操作;得到跟输入图像同样size的输出;与ground truth构造损失函数,反向传播训练各层的参数。从网络结构图可以看出,不断的卷积池化操作等,使得后续像素点的感受野不断增大;最后得到一个较粗的分割图也不难理解。当然,后续的语义分割模型都是在FCN的基础上进行改进;比如,改善网络层级结构(SegNet, DeconvNet);改进卷积核(DeepLab)等等;其中最重要的一个分支便是在得到的粗分割图的基础上融入马尔科夫随机场进一步精细化。该文将重点探讨怎么结合深度卷积网络和全连接条件随机场去做图像的语义分割。
条件随机场(Conditinal random field, CRF)是给定一组随机变量条件下另一组输出随机变量的条件概率分布模型,其特点是假设输出随机变量构成马尔科夫随机场。即输出变量之间存在成对马尔科夫性,局部马尔可夫性和全局马尔可夫性。说白了,就是没有边连接的节点满足条件独立性。而在全连接条件随机场中,假设其中一个节点与其余所有节点都有边的连接。这里,我们考虑全连接条件随机场。在图像分割领域,图像数据 I I I为可观测变量集,而待推断的隐变量集 X = { x i } i = 1 N X=\{x_i\}_{i=1}^N X={
xi}i=1N,也即要预测的每一个像素的label,构成马尔科夫随机场。根据Hammersley-Clifford定理,其联合概率形式如下:
P ( X ∣ I ) = 1 Z e x p { − E ( X ) } P(X|I)=\frac{1}{Z}exp\{-E(X)\} P(X∣I)=Z1exp{
−E(X)}
E ( X ) E(X) E(X)称为势函数,一般在2D图像空间中包含两项:一元势函数(unary potential)和成对势函数(Pairwise potential),定义如下:
E ( X ) = ∑ i ψ u ( x i ) + ∑ i < j ψ p ( x i , x j ) E(X)=\sum_i\psi_u(x_i)+\sum_{i<j}\psi_p(x_i,x_j) E(X)=i∑ψu(xi)+i<j∑ψp(xi,xj)
这里为了方便,省略了观测数据 I I I;这就是全连接条件随机场的定义。在一元势函数中,它定义了标签 x i x_i xi在给定数据 I i I_i Ii下的概率分布。一般而言,这一项我们可以用传统的比如SVM,SoftMax,随机森林等去监督学习;或者用混合高斯模型去非监督学习。随着深度卷积神经网络在计算机视觉领域的成功应用,最近的文献一般都用CNN网络结构,并接上SoftMax输出概率分布。比如,如果我们只考虑随机场中的第一项,并且使用卷积神经网络,那么这个工作就类似于前面讲述的FCN,SegNet等。但是这些网络结构得到的结果图比较粗糙,所以我们考虑第二项-成对势函数。成对势函数的定义形式多种多样,这里我们采用Nips11上的Efficient inference in fully connected crfs with gaussian edge potentials中的定义,
ψ p ( x i , x j ) = u ( x i , x j ) ∑ m = 1 M ω m K G m ( f i , f j ) \psi_p(x_i,x_j)=u(x_i,x_j)\sum_{m=1}^M\omega^mK_G^m(f_i,f_j) ψp