组合全卷积神经网络和条件随机场的道路分割
宋青松, 张超, 陈禹, 王兴莉, 杨小军     
长安大学 信息工程学院, 西安 710064
摘要:常见的道路分割方法往往环境噪声鲁棒性不足并且分割边缘不够平滑。针对该问题,提出了一种组合全卷积神经网络和全连接条件随机场的道路分割方法。首先,利用深度神经网络良好的特征表征能力,将道路分割视为一个二分类问题,构建一个基于VGG_16深度卷积网络的全卷积网络,实现道路图像端到端的路面和背景分类;然后,利用全连接条件随机场能够实现图像精细分割的特点,采用全连接条件随机场对二分类得到的粗糙边缘再进行平滑优化。针对真实环境下采集的道路分割基准数据库的测试结果表明:该方法获得了98.13%的分割准确率以及每0.84 s处理1幅图像的分割速度,具有一定的先进性。
关键词图像模式识别    道路分割    全卷积网络    条件随机场    
Road segmentation using full convolutional neural networks with conditional random fields
SONG Qingsong, ZHANG Chao, CHEN Yu, WANG Xingli, YANG Xiaojun     
School of Information Engineering, Chang'an University, Xi'an 710064, China
Abstract: Common road segmentation methods are often limited by environmental noise and the roughness of the segmenting edges. A road segmentation method was developed to address these shortcomings by combining a fully convolutional neural network and a conditional random field. The feature representation in the neural networks models the road segmentation as a binary classification problem. A VGG-16 deep convolutional neural network based fully convolutional network was constructed to classify each road image end to end into the road and the background. Then, the fully-connected conditional random field (CRF) was used for fine segmentation to refine the coarse edges obtained from the binary classification. Tests of road segmentation benchmark datasets acquired in real environments show that this method can achieve 98.13% segmentation accuracy and real-time processing with 0.84 s perimage.
Key words: image pattern recognition     road segmentation     full convolutional neural network     conditional random field    

道路分割一直是智能驾驶和自动驾驶研究领域中的重要课题。传统的道路分割方法多为基于颜色、纹理、边缘、道路几何形状等图像固有属性的研究。基于颜色的分割算法有鲁棒Gauss法,K-means聚类,最近邻法等[1]。此类算法往往对路面阴影、积水等干扰敏感,分割性能易衰减,且需要对图像进行复杂的预处理操作。文[2]提出了基于纹理的道路边缘分割法,该方法适用于边缘清晰的直线道路,不适用弯曲的和边缘模糊的道路。基于道路几何形状的算法,如Catmull-Rom样条模型[3]和B-Snake模型[4],该类方法同样要求道路边缘轮廓清晰,以便于控制点的选取[3-4],但该类方法过分依赖控制点,建模条件复杂,对边缘不清晰的路面没有很好的分割能力。

随着计算机计算能力的不断提升,卷积神经网络(convolutional neural networks,CNN)[5]被广泛应用到计算机视觉领域,并取得突破性进展。但是传统的CNN使用较大的接受域,导致图像分割结果边缘粗糙,同时由于最大池化的使用,每一池化层只提取最明显特征,导致进一步加重了分割边缘粗糙的问题[6-7]。文[8]提出的全卷积网络(fully convolutional networks, FCN)是在CNN基础上提出的一种应用于语义图像分割的算法,在语义分割领域获得了较好效果,但仍然存在分割边缘粗糙的问题。条件随机场(conditional random fields, CRF)是Lafferty等[9]针对标注问题提出的,是一种判别式概率无向图学习模型,对同类特征或相似特征的组合具有优势,并且通常在观察数据的分布具有长距离依赖的情况下具有良好的标注性能[9]

针对道路分割问题,综合深度卷积神经网络和条件随机场优势,本文提出一种组合全卷积神经网络和条件随机场的道路分割方法。首先使用全卷积网络检测路面,获得道路主体部分;然后使用条件随机场对路面检测结果中粗糙的边缘进一步优化组合,获得边缘更加细致的分割结果。试验结果表明,该方法最终能够有效地完成道路分割任务,在分割准确率和识别时间上获得一定程度的改善。

1 组合模型

用于道路分割的组合模型由基于VGG_16[10]的全卷积网络和条件随机场构成。

1.1 VGG_16网络

VGG_16是用于图像识别的一种经典的深度卷积神经网络模型,其目的是探索卷积神经网络的深度与其识别性能之间的关系,使用更深的深度来提升图像识别性能,通过反复堆叠尺寸为3×3像素的小型卷积核和尺寸为2×2像素的最大池化,构建了16层深的卷积神经网络,在2014年大规模视觉识别挑战赛(ImageNet Large Scale Visual Recognition Challenge,ILSVRC)中获得了最好的分类性能。

VGG_16网络结构如图 1所示,从左向右共22层,包括13个卷积层、3个全连接层、5个池化层和1个Softmax分类器层。13个卷积层被最大池化层分为5个卷积组,从前至后每个卷积组内包含的卷积层个数分别为2、2、3、3、3。每个卷积组内卷积层的卷积核个数相同,越靠后的卷积组的卷积核数量越多,从前至后每个卷积组内的卷积核数量分别是64、128、256、512和512。3个全连接层依次布置在第5个池化层之后,前2层对应提取的图像高层特征,第3层的结果输入Softmax分类器用于分类。VGG_16网络结构简单,由卷积层、池化层和全连接层组合而成,但是性能优异,往往能够获得与GoogleNet[11]、ResNet[12]相当甚至更好的分类性能,VGG_16常被用作设计其他新型网络模型的基本模型。

图 1 VGG_16网络结构

1.2 全卷积网络

相对于建立图像级的分类或识别问题,有些应用场景如边缘检测、位置识别等需要同时获得图像像素级的分类和定位,需要指出每个像素属于哪个物体,此类问题也称为端到端(end to end)的图像分析[8]。Long[8]等提出了全卷积网络,为像素级图像分析提供了一个较好的模型和方法。与经典的CNN网络架构不同,全卷积网络一般由卷积层、池化层、上采样层和Softmax分类器组成,网络结构中不再有全连接层,全连接层由卷积层替代。

深度卷积神经网络采用池化层逐层缩小特征图的尺寸,实现特征图的降采样。在VGG_16中,5次池化之后特征图的大小比原始输入图像缩小到1/32。而在全卷积网络中,要求最后输出与原图像尺寸相同的像素级特征图,因此需要对池化后的特征图进行上采样。对5次池化之后的特征图,需要进行32倍的上采样,从而得到与原图相同尺寸的输出。上采样输出经Softmax分类器,实现对原始输入图像端到端的像素级的预测分类。

1.2.1 上采样层

上采样层由转置卷积[13-15]实现,转置卷积主要应用于降采样特征图的恢复,卷积网络中间层的可视化等。通过转置卷积,可以得到与输入图像同样大小的特征图。

转置卷积以VGG_16网络池化后的降采样特征为输入,通过对应上采样倍数的转置卷积核实现上采样。在32倍的上采样中转置卷积核尺寸为像素,卷积跨度为32像素。转置卷积核大小由式(1)确定,转置卷积核初始化权重由双线性插值方法[16]提供,卷积跨度等于上采样倍数。

$ k=2s-s/2. $ (1)

其中:k为转置卷积核大小,s为上采样倍数,“/”表示取余。

1.2.2 跳跃结构

池化过程往往导致信息丢失,基于最后一个池化层(图 1中池化层5)的特征,通过上采样生成的特征图往往较为粗糙。考虑加入更多前层的细节信息,通过从高分辨率的特征图中引入跳跃连接,融合多层的特征,兼顾局部与全局的信息,通常可以改善分类结果的粗糙程度。通过引入图 1中不同池化层的特征实现跳跃结构,32倍的上采样仅基于池化层5;16倍的上采样综合了池化层4和5两个不同尺度的特征;8倍的上采样综合了池化层3、4和5三个尺度上的特征;三种不同跨度上的跳跃结构分别记为FCN32s、FCN16s和FCN8s,三者互相独立。

1.3 条件随机场

全卷积网络虽然能够实现像素级的图像分割,但是分割得到的结果往往不够精细。8倍上采样的效果比32倍上采样的效果有明显改进,但是上采样的结果仍然比较模糊和平滑,对图像中的细节不敏感。此外,对各个像素进行分类时对像素与像素之间的关系考虑处置不充分,忽略了基于像素分类的常规分割方法中使用的空间规整环节,导致像素级结果缺乏空间一致性。条件随机场是图模型的一种特定类型。已有研究表明,使用全卷积网络得到像素级分类结果之后,再使用条件随机场综合图像的空间信息,能够得到更加精细并且具有空间一致性的结果[17-18]。针对道路分割,使用条件随机场考虑原始输入图像的RGB颜色特征与空间位置关系,估计模型预测结果的最大后验分布,进一步改善像素级分割结果。

假设存在随机区域X={X1, X2, …, XN},N表示像素数量,Xi是像素i的分类标注,所有标注构成标注集L={l1, l2, …, lk},k表示类别数;存在另一随机区域I={I1, I2, …, IN},Ii是像素i的颜色特征向量。对于条件随机场(I, X)给出概率函数:

$ P(X|I)=\frac{1}{Z\left( I \right)}\text{exp}\left( -E\left( X |I \right) \right). $ (2)

其中:E(X|I)为能量函数, 简化表示为E(X); X属于标注集LZ(I)是归一化因子[9]

通过最小化式(2)中的能量函数,可以得到最优的像素分类结果。在全图的条件下定义能量函数:

$ E\left( X \right)\text{ }=\text{ }\sum\limits_{i}{{{\psi }_{u}}(x_i)}+\sum\limits_{i<j}\psi_p{({{x}_{i}}, \ {{x}_{j}}).} $ (3)

其中:ψu(xi)为一元势函数,ψu(xi)=-logP(xi),P(xi)表示像素点i属于某类别标注的概率,由全卷积网络提供,即每个像素点属于路面或背景的概率取值。式(3)中的第2项ψp(xi, xj)为成对势函数,

$ \begin{align} &{{\psi }_{p}}({{x}_{i}}, ~{{x}_{j}})=\mu ({{x}_{i}}, ~{{x}_{j}})\left[ {{w}^{(1)}}\text{exp}\left( -\frac{\|{{p}_{i}}-{{p}_{j}}{{\|}^{2}}}{2\theta _{\alpha }^{2}}- \right. \right. \\ &\left. \ \ \ \left. \frac{\|{{I}_{i}}-{{I}_{j}}{{\|}^{2}}}{2\theta _{\beta }^{2}} \right)+{{w}^{(2)}}\text{exp}\left( -\frac{\|{{p}_{i}}-{{p}_{j}}{{\|}^{2}}}{2\theta _{\gamma }^{2}} \right) \right]. \\ \end{align} $ (4)

其中:μ(xi, xj)为标签比较函数,xixjμ(xi, xj)=1,否则等于0,用于判断不同标签之间的兼容性;p表示位置信息;I表示颜色信息;θα用于控制位置信息的尺度;θβ用于控制颜色相似度的尺度;w线性组合权重。式(4)的第2部分只与位置信息有关,θγ控制位置信息的尺度。

通过平均场近似(mean field approximation) $ Q\left( X \right)=\prod\limits_{i}{{{Q}_{i}}({{X}_{i}})} $,不断迭代更新Q(X),最终通过最小化P(X)与Q(X)的K-L散度,得到模型的最优解[17-18]。在节2.3中将对CRF涉及的尺度参数θαθβθγ进行比选实验。

CRF在本文算法中以全卷积网络提供的分类概率作为一元势函数的先验概率,以此来求出分类的最大后验概率。同时CRF结合原始输入图像的RGB特征,从而使得图像分割准确度得到改善。在图像分割中,边界通常有比较明显的颜色变化,根据这一事实,位于边界两侧的像素分类到不同的类别的可能性较大。CRF同样对小的孤立的区域进行惩罚,由于路面通常由较大的像素区域表示,所以较小的像素区域通常不会是一个正确的分割区域。

1.4 FCN与CRF组合模型

本文提出一种用于道路分割的全卷积网络和条件随机场组合模型,以下简称为组合模型,如图 2所示。首先使用基于VGG_16的全卷积网络,对输入图像中的路面和背景进行粗分类,得到每一个像素属于路面或者属于非路面(背景)的概率。然后,使用全连接条件随机场,对粗分类结果中路面与非路面的边缘部分进行优化,得到边缘更细致、整体上更准确的道路分割结果。

图 2 组合全卷积网络和条件随机场的模型结构

2 实验与分析

针对道路分割基准数据集,开展模型与方法的有效性测试实验,并与其他算法结果进行比较。

2.1 实验数据与性能评价 2.1.1 实验数据

实验数据为文[1]中Jose等人收集的数据集。该数据集为有标注的道路分割数据集,共755张原图像和对应数量的标注图(ground truth),在不同的时间(黎明、上午、中午、下午等)、不同的天气情况(晴天、阴天、雨天等)以及不同的背景(建筑物、树木、车辆及行人等)下拍摄。图像均为640×480像素的RGB图像,标注图为相同大小的二值图像。由于受光照、阴影、场景等影响,路面颜色、纹理等特征具有较大差异。随机选取数据集的70%(529张)作为训练集,剩余30%(226张)作为测试集。

2.1.2 性能评价

对分类后的道路图像,采用与文[1, 19]中同样的评价方法。道路分割问题被视为一个二分类问题,任意像素属于路面或者属于背景。将预测输出的分类结果和标注图像进行像素级比较,评价每个像素的预测输出结果,即该像素分类结果取真阳性(TP)、假阳性(FP)、真阴性(TN)、假阴性(FN)四种结果中的一种。进而可以求得在整个测试集上每一张图像的真阳性率(TPR)和假阳性率(FPR),

$ \begin{align} &\text{TPR=}\frac{\text{TP}}{\text{TP+FN}}\text{, } \\ &\text{FPR=}\frac{\text{FP}}{\text{FP+TN}}\text{.} \\ \end{align} $

进而得到ROC(receiver operating characteristic)曲线。采用梯形法计算ROC曲线下的面积(AUC),并将AUC作为当前模型的道路检测性能评价指标。AUC取值越大,表明道路检测正确率越高,检测精度越好。

2.2 FCN的训练 2.2.1 预训练与微调

图 2的组合模型中涉及的网络连接权重数量多达数千万。全新训练这样一个组合模型不仅需要大量的样本,而且非常耗时。事实上已有研究表明,在大型数据集上完成预训练的网络模型,往往具有良好的泛化能力,这些预训练的模型中间层包含足够的诸如颜色、边缘、角点等一般性的特征元素,因此针对新的数据集只需对整个网络甚至仅对后端部分网络层进行微调,仍然可以获得良好的泛化性能。本文所提出的组合模型中,前半部分的卷积层和池化层与用于图像分类的VGG_16网络完全一致。因此,仅在预先训练好的VGG_16网络的基础上进行微调。使用VGG_16在PASCAL VOC 2012数据集[20]上训练获得的权重作为初始权重然后进行微调,去除初始权重的最后一层,并重新定义该层连接个数,使之与本文所用数据集的类别数量相一致。微调过程中,损失函数定为像素间的交叉熵损失函数。分类结果与标注图进行像素级的比较。交叉熵损失函数为:

$ J=-\sum\limits_{n=1}^{N}{\sum\limits_{k=1}^{K}{{{t}_{nk}}\text{ln}{{y}_{nk}}.}} $

其中:N表示像素的数量,K表示类别的数量,变量tnk表示第n个像素对应的实际分割区域,变量ynk为模型的预测输出结果。优化器选用Adam[21],Adam优化器仅调整较少的参数就能使模型取得很好的效果[21],适合于微调训练,学习率设为10-6

2.2.2 模型训练

计算机硬件配置为I7 7700K处理器、16 GB内存和Nvidia GTX 1080显卡,软件配置为Ubuntu 16.04、Python 3.5和TensorFlow。

使用节2.2.1中确定的训练方式和参数,对图 2所示网络模型进行训练。训练集共529张图像,每张图像迭代10次,共迭代5 290次。训练损失变化如图 3所示,可以看出迭代4 000次后损失曲线波动变小,损失值趋于稳定,模型趋于收敛。模型的训练损失和训练耗时如表 1所示。

图 3 模型训练损失变化曲线

表 1 全卷积网络训练损失和耗时
网络模型 交叉熵损失 迭代时间/s
FCN32s 0.038 52 2 750
FCN16s 0.031 94 2 735
FCN8s 0.016 00 2 791

2.3 CRF参数比选

在FCN8s下对节1.3中所提的尺度参数θαθβθγ采用网格搜索的方法开展比选实验。首先固定θβ=80、θγ=20,考虑θα取值的影响,θα的值域为1~80,采用对分的方法进行取值。图 4为平均分割准确率与耗时。通过对图 4a的分析可以看出,随着θα取值的不断减小,平均分割准确率得到不断提升,当θα=5时平均分割准确率达到最优,为98.12%。图 4b表明θα减小到5之前分割耗时没有明显增长,θα=80时耗时最少,但仅比取得最优平均分割准确率的θα=5减少0.02 s左右。综合考虑平均分割准确率和耗时,确定θα=5。对θβ的比选过程中固定θα=5、θγ=20,θβ的值域为1~80,取值方法为对分法,图 4a表明θβ=10和θβ=5时获得最优分割准确率98.13%,图 4b表明θβ=5时分割耗时比θβ=10时增加了0.2 s,因此确定θβ=10。固定θα=5、θβ=10,θγ的取值范围为1~20,仍采用对分法。图 4a表明θγ的取值对平均分割准确率没有明显影响,图 4b表明测试耗时在θγ=5之后没有明显增加。综合考虑选取θγ=20。

图 4 θ取值比选结果

2.4 实验结果与分析

本文模型与未使用CRF的三种上采样倍数的FCN模型分类准确率比较结果如图 5所示,表明本文模型的性能均优于单一FCN模型。

图 5 本文方法与FCN分割准确率比较

图 6给出了测试集部分图像的分割结果,第1行是原始输入图像,第2行是对应的标注图,第3行是FCN32s给出的分割结果,第4行是FCN8s给出的分割结果,第5行是FCN8s+CRF给出的分割结果。从图中可以看出,FCN能够很好地识别路面的整体位置,但在细节方面几乎没有分割能力,通过增加上采样次数能得到一定的提升但效果并不明显。而第5行经过CRF处理后细节方面有了明显的提升,体现了本文算法在改善道路分割细节方面具有积极作用。

图 6 部分图像的道路分割结果

表 2给出了不同上采样倍数的组合模型平均分割准确率及耗时。三种组合模型在耗时上没有差距,但FCN8s+CRF的分割准确率比FCN32s+CRF有了接近3%的提升,获得98.13%的分割准确率。

表 2 三种组合模型测试准确率和耗时
模型 每幅图像耗时/s 平均分割准确率/%
FCN32s+CRF 0.84 95.14
FCN16s+CRF 0.84 97.85
FCN8s+CRF 0.84 98.13

表 3给出了本文算法与其他典型算法的比较结果,针对同一数据集,本文算法得到了最高的分割准确率,比最近邻法提高了约6.5%,比K-means提高了约5%,比鲁棒Gauss法提高了约4.7%,比文[19]方法提高了约1%。

表 3 平均分割准确率比较
方法 平均分割准确率/%
最近邻法[1] 91.60
K-means聚类[1] 93.00
鲁棒Gauss法[1] 93.40
文[19]方法 97.10
本文方法 98.13

3 结论

本文提出了一种组合全卷积神经网络和全连接条件随机场的道路分割方法,对道路图像实现了端到端,像素到像素的道路分割。首先将道路分割视为一个二分类问题,构建一个基于VGG_16深度卷积网络的全卷积网络,充分利用深度神经网络良好的特征表征能力,实现道路图像像素级的路面和背景分类。接着,利用全连接条件随机场对二分类得到的粗糙边缘实现了平滑分割。针对真实环境下采集的道路分割基准数据库测试了方法的有效性,方法获得了98.13%的平均分割准确率以及0.84 s处理1幅图像的分割速度,环境噪声鲁棒性得到改善,能够获得光滑的分割边缘,是一种有效的道路分割方法。

参考文献
[1]
ALVAREZ J M, GEVERS T, LOPEZ A M. Road detection by one-class color classification: Dataset and experiments[R/OL]. (2014-12-18)[2017-10-20]. https://arxiv.org/abs/1412.3506.
[2]
GRAOVAC S, GOMA A. Detection of road image borders based on texture classification[J]. International Journal of Advanced Robotic Systems, 2012, 9(242): 1-12.
[3]
WANG Y, SHEN D G, TEOH E K. Lane detection using spline model[J]. Pattern Recognition Letters, 2000, 21(8): 677-689. DOI:10.1016/S0167-8655(00)00021-0
[4]
WANG Y, TEOH E K, SHEN D G. Lane detection and tracking using B-Snake[J]. Image and Vision Computing, 2004, 22(4): 269-280. DOI:10.1016/j.imavis.2003.10.003
[5]
LECUN Y, BOTTOU L, BENGIO Y, et al. Gradient-based learning applied to document recognition[J]. Proceedings of the IEEE, 1998, 86(11): 2278-2324. DOI:10.1109/5.726791
[6]
NING F, DELHOMME D, LECUN Y, et al. Toward automatic phenotyping of developing embryos from videos[J]. IEEE Transactions on Image Processing, 2005, 14(9): 1360-1371. DOI:10.1109/TIP.2005.852470
[7]
GANIN Y, LEMPITSKY V. N4-fields: Neural network nearest neighbor fields for image transforms[C]//Proceedings of the 12th Asian Conference on Computer Vision. Singapore: Springer, 2014: 536-551.
[8]
LONG J, SHELHAMER E, DARRELL T. Fully convolutional networks for semantic segmentation[C]//Proceedings of 2015 IEEE Conference on Computer Vision and Pattern Recognition. Boston, USA: IEEE, 2015: 3431-3440.
[9]
LAFFERTY J D, MCCALLUM A, PEREIRA F C N. Conditional random fields: Probabilistic models for segmenting and labeling sequence data[C]//Proceedings of the 18th International Conference on Machine Learning. San Francisco, USA: Morgan Kaufmann Publishers Inc., 2001: 282-289.
[10]
SIMONYAN K, ZISSERMAN A. Very deep convolutional networks for large-scale image recognition[C]//2015 International Conference on Learning Representations. Lille, France: University of Oxford, 2015: 1-14.
[11]
SZEGEDY C, LIU W, JIA Y Q, et al. Going deeper with convolutions[C]//2015 IEEE Conference on Computer Vision and Pattern Recognition. Boston, USA: IEEE, 2015: 1-9.
[12]
HE K M, ZHANG X Y, REN S Q, et al. Deep residual learning for image recognition[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas, USA: IEEE, 2016: 770-778.
[13]
ZEILER M D, KRISHNAN D, TAYLOR G W, et al. Deconvolutional networks[C]//2010 IEEE Conference on Computer Vision and Pattern Recognition. San Francisco, CA, USA: IEEE, 2010, 238(6): 2528-2535.
[14]
ZEILER M D, FERGUS R. Visualizing and understanding convolutional networks[C]//The 13th European Conference on Computer Vision. Zurich, Switzerland: Springer, 2014: 818-833.
[15]
SHI W Z, CABALLERO J, HUSZÁR F, et al. Real-time single image and video super-resolution using an efficient sub-pixel convolutional neural network[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition, Las Vegas, Nevada, USA: IEEE, 2016: 1874-1883.
[16]
Avisynth wiki. Resampling[R/OL]. (2016-09-22)[2017-11-12]. http://avisynth.nl/index.php/Resampling.
[17]
KRAHENBUHL P, KOLTUN V. Efficient inference in fully connected crfs with Gaussian edge potentials[C]//The 24th International Conference on Neural Information Processing Systems. Granada, Spain: Neural Information Processing Systems Foundation, Inc., 2011: 109-117.
[18]
ZHENG S, JAYASUMANA S, ROMERA-PAREDES B, et al. Conditional random fields as recurrent neural networks[C]//2015 IEEE International Conference on Computer Vision, Santiago, Chile: IEEE, 2015: 1529-1537.
[19]
ÁLVAREZ J M, LÓPEZ A M, GEVERS T, et al. Combining priors, appearance, and context for road detection[J]. IEEE Transactions on Intelligent Transportation Systems, 2014, 15(3): 1168-1178. DOI:10.1109/TITS.2013.2295427
[20]
The PASCAL visual object classes challenge 2012(VOC2012)[R/OL]. (2012-02-01)[2017-09-01]. http://www.pascal-network.org/challenges/VOC/voc2012/workshop/index.html.
[21]
KINGMA D P, Ba J. Adam: A method for stochastic optimization[R/OL]. (2017-01-30)[2017-08-21]. https://arxiv.org/abs/1412.6980.