首页 > 范文大全 > 正文

基于条件随机场的图像语义分割

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于条件随机场的图像语义分割范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:本文研究了一种基于CRF的判别模型来学习不同类别标签的后验条件概率分布,并通过最大化该后验概率来得到最佳标签。CRF能量函数纹理模块利用形状滤波器来描述图像的底层纹理特征以及基于周围像素纹理特征的上下文信息;采用Joint-boosting算法迭代构造一个强分类器对图像进行初步的标注。在MRSC 21-object class数据集上进行实验来评估我们建立的模型的性能。实验结果表明,该模型基于像素点的分割精度能达到71.6%,在识别准确率以及分割效果方面,具有较强的竞争力。

关键词:语义分割;条件随机场;分段训练

中图分类号:TP391.1 文献标识码:A 文章编号:1007-9599 (2012) 09-0000-03

一、引言

近些年,关于对象识别与分割的领域相当活跃。CRF模型是一种基于无向图的概率模型,用来对序列数据进行标记,具有很强的概率推理能力。与经典的马尔可夫随机场模型(MRF)相比,CRF模型主要有两个优点:第一,对观测序列没有独立性要求;第二,能对长间隔序列的复杂上下文关系进行描述。因此在本文中我们使用CRF模型来解决多类对象的识别与分割问题。我们的实验是在MSRC 21-object class数据集上完成的。该数据集由分属于21类对象(包括:建筑物、草地、树、牛、羊、天空、花、标志、鸟、书、椅子、路、猫、狗等)的591张图像组成。我们在数据库随机地选取45%的图像作为训练集,10%的图像作为验证集,10%的图像作为测试集。

二、基于条件随机场的多特征模型

给定一幅图像,我们使用CRF模型来学习类别标签的条件分布。使用CRF我们能将形状、纹理、颜色、位置和边缘信息结合在整个的模型里。为了计算方便,我们对公式两边同时取对数:

其中 表示纹理模块, 表示颜色模块, 表示位置模块, 表示边缘模块, 是对应于各部分的参数集。

(一)模块描述与参数训练

该模型综合考虑纹理、边缘、颜色、位置四个特征,采用分段训练[11]的方法对模型中各模块的参数进行单独的学习,我们通过为各个模块设置固定的权值来减轻各模块组合构成整个模型时出现的过拟合的问题。在本文中,我们为位置和颜色模块增加了权值参数,并且对它们分别进行优化。

1.纹理模块

在本文中,纹理特征使用一种新颖的描述方法——形状滤波器来描述像素点的底层纹理特征以及周围像素点的基于纹理上下文信息,并对基于该特征的多个弱分类器通过Joint-boosting算法得到一个强分类器。纹理模块作为单独的一元模块进行处理。纹理模块的特征函数描述如下:

其中参数集的定义以及学习过程在第三节将会有详细描述。

2.边缘模块

在本文中,我们使用Potts模型来对边缘特征建模。边缘模块的函数表达为:

其中, 是边缘特征的特征函数,用来描述相邻像素间颜色值的差异。

通过在整数集中人工将两个相关参数进行比对并选择的方法,以使在验证集上的错误率尽可能低来获得,在本实验中,取 。

3.颜色模块

在本文中,使用混合高斯模型(HMM)对颜色特征进行建模,采用EM算法将图像中颜色特征近似的像素点聚类为 个高斯部分。像素点 的颜色特征的条件概率由下式给出:

其中, 是用来表示像素点 所属高斯部分的随机变量, 与Σk分别是第 个高斯部分的均值与方差。颜色模块的函数表达形式为:

其中,参数 表示第 个高斯部分属于标记为类别 的概率分布; 表示像素点 属于第 个高斯部分的概率分布。

由于我们需要对每张图像的颜色模块的参数分别进行学习,每张图像对应得到的参数都是互不影响的,因此颜色模块参数的学习工作不需要在训练集上完成。在测试时,使用条件迭代模式(ICM)对每幅图像的颜色模块参数 迭代地进行学习。首先给定出一个初始的类别标签 ,然后颜色参数 使用下式进行更新。参数被重新设定后,会推断出新的类别标签,并反复迭代这个过程。

需要说明的是,为了避免过拟合的发生,我们对颜色模块参数 和位置模块参数 进行狄利克雷平滑。在实验中, 经过2次迭代得到。其中,对颜色特征进行高斯混合建模时,通过比对,我们设置高斯部分的数目K=15;设置公式中狄利克雷平滑项 =0.1,权值项 =3。

4.位置模块

在本文中,我们使用位置特征来描述类别标签对像素绝对位置的弱依赖关系,不同类别的对象在图像中的绝对位置信息用位置特征来表示。位置模块的函数表达形式为:

其中, 是像素点在归一化图像中的位置,由于我们采用相同尺寸大小的图像集来进行实验,因此, 即图像中像素点的绝对位置 。参数 表示在归一化位置 处的各类别标签的概率分布。

对位置模块参数的学习,我们采用统计的方法来得到:

其中, 为训练集里所有图像中在位置 处且类别标签为 的像素点的数目; 为训练集里所有图像中在位置 处的像素点的数目;同样的,通过手动比对,我们设置狄利克雷平滑项 =1,权值项 =0.1。

(二)使用CRF模型进行推理

使用CRF模型对参数集进行学习后,我们通过最大化条件概率来得到各像素的最佳标签。在我们研究的CRF模型中,初始的类别标签由纹理模块的标注结果来给出,然后使用图割理论[10]对模型进行优化,从而实现准确的分割。图割是一种基于图论的组合优化技术,能用来在对象识别中求解能量函数最小化的问题。利用图割理论能将图像映射为网络图,并建立关于类别标签的能量函数,运用最大流最小割算法对图像进行准确分割。图割能使能量函数的解收敛到全局最小。

CRF模型的条件后验概率 (公式3-5)的最大化等价于CRF模型能量值的最小化。因此我们将能量函数设置为:

其中μ为权重参数。对上式中能量函数 的最小化的工作,可用图割理论中的alpha-expansion算法来高效解决。

三、纹理模块的特征描述与分类器构造

在CRF能量函数中,最重要的部分是我们描述纹理特征的模块,在这个模块中,不仅包含图像的纹理特征,还包括基于纹理的上下文信息。

(一)纹理特征

使用纹理特征来实现图像的语义分割。首先,用一个17维的滤波器组对训练集中的所有图像进行卷积运算来进行滤波,也就是对图像进行纹理编码。然后对训练集中的所有图像使用马氏距离根据滤波器响应进行K均值聚类,图像中的每个像素都被分配到最近的聚类中心,对每幅图像中所有像素点标记其相应的聚类中心编号,得到相应的纹理图像。

像素点所属的类别不只取决于本身的纹理信息,还取决于周围像素的纹理信息,即纹理上下文信息。比如,某个像素周围有类别“bird”的纹理特征出现,那么该像素分类为“sky”的概率就比较大。

因此,我们建立一个既包括第i个位置的像素点自身纹理特征,又包括与周围像素纹理上下文信息的一个特征函数,定义如下:

其中,

其中,分类器 由多个弱分类器相加得到的。

(二)特征提取与分类器构造方法

我们使用Joint-boosting算法来实现形状滤波器参数的优化选取以及强分类器 的构造。该算法迭代地产生多个弱分类器,并求和得到一个强分类器。

利用形状滤波器来描述像素点自身的底层纹理特征,以及周围像素点的纹理特征的上下文信息,从而得到强分类器 。每个形状滤波器由一个三元组 来描述,其中t纹理编号,r为矩形区域,能用一个四元组 来表示这个矩形区域,其中width和height为矩形的宽度和长度,x和y为矩形左上角相对于像素点i的偏移量,矩形r的四个顶点都是从固定的边界集中随机选取的。对应于像素点i的形状滤波器的响应值为:

其中, 表示对应于像素点i的纹理编号, 表示矩形区域的面积。

强分类器 的构造,是通过Joint-boosting算法来得到的。我们将M个带权值的弱分类器求和得到强分类器 :

其中,每个弱分类器 都是一个决策函数:

其中, 为优化选取得到的纹理特征, 为控制特征值的阈值函数,N为共享该纹理特征的类别标签的集合。 在这里用来减弱各类别在样本中分布不均匀的影响。每次迭代都会产生一个弱分类器 。我们能对下面的目标函数进行优化:

其中,n为训练集中所有像素点的个数, 为训练样本中像素点i的类别标签,当属于共享标签集N时,其值为1;当不属于共享标签集N时,其值为-1。 权重控制项,,对分错的样本相应设置一个较大的权值,对分对的样本相应设置一个较小的权值,从而提高整个分类器的准确率。

通过Joint-boosting算法就能迭代得到强分类器 ,并优化得到参数集 。

在训练阶段,逐个像素进行训练需要大量的存储空间和训练时间,这是不切实际的。因此,有效的取样和随机特征选择是必不可少的。通过设置Δ×Δ网格(本文中选取5×5网格),计算网格的滤波器响应将会大大减少计算开销。在测试阶段,形状滤波器能逐个像素进行计算以使每个像素都能实现准确的分类。上述采样过程会产生小程度的平移,将会导致对象分割时边界的不准确性。但是,但应用在CRF中时,边缘模块和颜色模块都会准确确定对象的边缘。

即使采用子采样方式,在boosting的每一次迭代中对所有的纹理特征进行穷举搜索都是不可能实现的。但是,我们的算法只对特征中的一小部分(τ?1)进行搜索,并在每一次迭代中随机选取。设定τ=0.003,几千次的迭代后,基本上能保证对所有的特征都至少测试过一次。