基于改进Fast MBD显著性检测和多特征融合匹配的靶纸区域快速检测算法
2018-09-19刘森斌汪国有
刘森斌,汪国有
(华中科技大学自动化学院,武汉 430074)
0 引言
目前关于机器视觉的靶纸区域检测问题的研究,刘焱[1]针对图像中靶纸灰度的特殊性,采用阈值分割的算法确定靶纸中心区域。崔亚琳[2]采用灰度图边缘检测算法和Hough变换拟合圆环轮廓,确定靶纸区域。王蔚扬[3]、周友行[4]针对靶纸颜色特征,利用像素RGB三通道 (HSI特征空间三通道)灰度值进行阈值二值化及边缘处理,再采用Hough变换拟合圆环轮廓达到确定靶纸区域的目的。[5-8]通过固定采像装置位置和靶纸粘贴位置的方式,保证采集的图像中只包含标准的靶纸区域,避开靶纸区域检测问题。上述方法的适用场合是光照条件良好、靶纸与背景存在很大对比度,并且拍摄的靶纸图不能存在任何倾斜,否则靶纸区域的检测会存在很大偏差。为了克服光照条件变化、对比度变化和拍摄角度变化的影响,本文提出基于改进Fast MBD显著性和多特征匹配的快速靶纸区域检测算法。
显著性区域提取的目标是计算得到一幅显著图,显著图表现为高亮场景中的显著目标而抑制背景区域。目前,基于不同层次的理论和准则已经提出大量的显著性区域提取模型,例如基于信息论模型[9],基于图论模型[10-12],基于统计论模型[13-15],基于机器学习模型[16-17]。同时,多方面的有效度量和先验知识也被用于显著性区域提取模型中,例如局部和全局对比度度量[18-19],边界连通先验知识[20-21],中心先验知识[22]和背景先验知识[23]。这些模型需要大量的多尺度计算,远远不能达到实时性的要求。Fast MBD变换类似光栅搜索算法在图像像素总量的线性复杂度上完成计算[21],因此,针对靶纸区域的颜色和形状相对固定的特性,本文提出结合Fast MBD变换、局部区域对比度先验、形状先验的显著性区域提取算法,实验证明了该算法针对靶纸区域提取是鲁棒且快速的。
显著性区域提取只是找出了图像中的显著区域,但是检测出的显著区域不一定是靶纸目标。因此,在显著性区域提取算法后引入多特征匹配的特定目标分类算法。目标之间有两个明显的区分特性——目标表面纹理和目标边界形状,已提出大量特征描述算子,例如Local Binary Pattern[24],Local Ternary Pattern[25],Histogram of Gradients[26],Histograms of Sparse Codes[27],Haar-like Feature[28]等目标描述算子。为了提高匹配的准确性,我们采用多特征匹配的算法,分别提取颜色特征、边缘特征和纹理特征,并采用1-范式,将提取的特征与靶纸模板特征进行相似性度量,通过设定固定阈值判断该候选区域是否为靶纸目标区域。实验证明了该算法的有效性。
1 基于改进Fast MBD显著性检测和多特征融合匹配的靶纸区域快速检测算法
本文提出的算法的流程图如图1所示。
图1 靶纸区域检测流程图
1.1 改进Fast Minimum Barrier Distance显著性区域检测算法
基于对靶纸图像的分析,我们引入两个属性定义靶纸显著目标:
1)靶纸目标总是不同于四周和图像边界区域,靶纸红色区域占据目标主要部分。
2)靶纸目标拥有完整的封闭边界,并且封闭边界是正方形,即封闭边界的周长与面积之比近似于4/a(a为正方形的边长)。
针对属性a,我们对图像边界连通先验和局部区域对比度先验进行量化。属性b作为靶纸形状先验属性,将其与图像边界连通先验、局部区域对比度先验结合,进一步提升显著区域提取的鲁棒性。
1.1.1 图像边界连通先验的量化
图像边界连通先验假设大部分背景图像区域之间能够很容易地相互连通,而背景区域与显著目标区域很难连通[29]。换句话说,图像边界连通先验可以作为一种区分显著性区域和背景区域的判别准则。为了度量图像边界连通先验,我们使用距离变换进行度量。距离变换是一种强有力的图像几何分析工具,目标是针对背景种子像素集合计算一张距离图,距离图描述图像中其余像素到图像边界的最短距离。换句话说,距离图反映其余像素与背景像素的相似性。距离变换的定义[29]如定义1。
定义1:
考虑一幅2维单通道数字图像I,图像I中的一条路径p=(p(0),p(1),..,p(k))是一系列像素组成的序列,其中序列中任意相邻的像素对在图像I中也是相邻的。给定路径损失函数F和背景种子集合S,距离变换转化为计算距离图D,以致对于每个像素t而言:
其中:∏S,t是像素t到背景种子集合S的全部路径。
我们采用Minimum Barrier Distance构造损失函数F,对噪声和图像模糊具有鲁棒性[21],如式 (2)。
其中:I(·)表示像素的灰度值。由于精确地MBD变换需要穷举算法实现,计算复杂度高,难以达到实时性。
我们引入 Fast Minimum Barrier Distance变换[21]来计算距离图D。Fast Minimum Barrier Distance通过正向光栅搜索和反向光栅搜索访问每个像素x,并用x半邻域对应的相邻像素y迭代更新像素x的最小路径损失D(x)(正向光栅方向x的邻域范围为左、上邻域,反向光栅方向x的邻域范围为右、下邻域),更新公式如式 (3)所示:
其中:p(y)表示像素y到背景种子点集合的路径。[y,x]表示y到x的边界路径,p(y)·[y,x]表示通过[y,x]将路径p(y)延长至像素点x所形成的新路径,即像素x到背景种子点的路径。U(y)和L(y)分别表示路径p(y)中的最大像素灰度值和最小像素灰度值。因此,通过辅助矩阵U和L为每个像素x跟踪记录其路径p(x)上的最大像素灰度值和最小像素灰度值,能够快速的计算距离变换图D。U和L的更新公式如式 (4)所示。
我们首先假设图像边界上的若干像素作为背景种子点S,为每个颜色通道使用Fast MBD变换计算MBD距离图,分别记为DR,DG,DB,然后针对靶纸的颜色特性,给3个距离图赋予不同的权重累加起来,并做尺度归一化,形成最后的距离图D,如式 (5)所示:
1.1.2 局部区域对比度先验的量化
图像边界连通先验是将图像边界视为背景区域。当靶纸部分区域位于图像边界上时,会导致提取到的靶纸显著区域不完整,甚至完全提取不到靶纸显著区域。为了改善这种情况,引入局部区域对比度先验作为显著性区域提取的补充准则。
局部区域对比度先验是假设如果某一个区域与它相邻区域可区分,那么该区域就是显著区域。相邻区域之间的区分,我们提取它们的HSV直方图特征和RGB直方图特征[30],并利用卡方距离进行度量。
因为图像中的靶纸区域尺寸会随着拍摄距离的变化而变化,我们并不能事先估计出靶纸在图像中的大致尺寸。因此,我们利用基于图论的图像分割算法[31]对彩色图像进行处理,形成超像素区域,从而避免区域尺寸选择问题。同时,为了满足实时性的需求,我们事先对输入图像进行降采样操作,减少超像素分割过程和颜色统计特征提取过程中处理像素的数量。
其中,aik表示区域rk的面积与ri所有相邻区域的总面积的比值。
得到每个区域的对比度C(ri)之后,我们将其区域内的所有像素的灰度值都设置为C(ri),并进行尺度归一化后,得到局部区域对比度图C。
1.1.3 靶纸形状先验的量化
在根据式 (7)结合1.1.1节的距离图D(p)和1.1.2节的对比度图C(p)作为最终的显著图S(p)时,我们发现在提取到的靶纸显著区域中可能包含部分背景区域。为了保证后续多特征匹配的准确度,我们需要消除提取到的靶纸显著区域中包含的背景区域的影响。因此,我们再引入靶纸形状先验作为显著性区域提取的补充准则,更精确提取靶纸显著区域。
形状先验是假设显著目标是由一条封闭轮廓围绕,也就是说,显著值大的像素都位于封闭轮廓内部,显著值小的像素位于封闭轮廓外部。因此,为了度量形状先验,我们将利用边缘信息和像素显著值,寻找到一条包含大量高显著值像素的封闭轮廓B*。
由于靶纸的形状是封闭的正方形,我们利用Line Segment Detector[32]直线检测器提取图像中的所有直线边缘,形成边缘图E。然而,由于在边缘图E中存在部分直线不相交的情况,我们在不相交直线对的两个端点之间添加长度不超过Lmax的补偿直线,以用于形成封闭轮廓。假设得到的封闭轮廓表示为B={Bi}Ki=1,K表示图像中所有封闭轮廓的个数,封闭轮廓Bi包含的补偿直线集合表示为Gi={gj}M
j=1,M表示为了形成封闭轮廓Bi所需的补偿直线总数量,同时给定通过式 (7)得到的显著图S。我们通过式(8)找出封闭轮廓B*。
其中:|Gi|表示为了形成封闭轮廓Bi所需的补偿直线的总长度,表示位于封闭轮廓Bi内部的总显著性值,SBi表示封闭轮廓Bi的面积,PBi表示封闭轮廓Bi的周长,LBi表示封闭轮廓Bi边长的平均值,γ是一个指定的阈值。实际上是类正方形约束。
用式 (8)得到围绕靶纸目标的封闭轮廓B*后,为了描述图像中各个像素点在形状先验下的显著性值,我们可以通过式 (10)得到形状先验图P。
其中:d(p)是像素p与封闭轮廓B*之间的最短空间距离,我们用坐标欧式距离描述。
最后,我们通过式 (11)将1.1.1节的距离图D(p)、1.1.2节的对比图C(p)、1.1.3节的形状先验图P(p)结合起来,形成我们提出的显著图S(p)。
相比于原始的Fast MBD显著性方法,由于本文提出的方法通过引入局部区域对比度先验和靶纸形状先验作为显著区域提取的补偿机制,虽然在一定程度上增加了时间开销,但是显著提高了位于图像边缘区域的靶纸检测精度。最终算法仍然能够保证30帧/秒的运行速度,实现实时性。对显著图进行尺度归一化、自适应阈值二值化和形态学处理,对比结果如图2所示。
1.2 多特征匹配算法
由于显著区域提取算法只是找出了图像中的显著区域,但是区域不一定包含靶纸目标,如图3所示。因此,我们利用多特征匹配算法,通过设定的阈值判断检测到的区域是否包含靶纸。
图2 本文提出的方法与原始Fast MBD显著区域提取方法对比
图3 本文提出的显著区域检测算法处理类似靶纸区域的结果
目标之间有两个明显的区分特性——表面纹理和边界形状。同时,目标的颜色特征能作为一种补偿特征,进一步提高分类的准确度。因为Discriminative Robust Local Binary Pattern[33]特征已经融合表面纹理信息和边界形状信息,所以我们根据靶纸的颜色特性,再引入归一化RGB颜色直方图特征[30],将其与DRLBP特征结合共同组成我们需要的最终特征。
1.2.1 归一化RGB颜色直方图
我们分离出输入图像I的R、G、B三通道,并对3个通道进行式 (12)的灰度归一化操作。
其中:R*(t)、G*(t)、B*(t)分别为灰度归一化处理后RGB三通道像素t的灰度值,R(t)、G(t)、B(t)分别为原始RGB三通道像素t的灰度值,Rmin、Gmin、Bmin分别为原始RGB三通道中最小灰度值,Rmax、Gmax、Bmax分别为原始RGB三通道中最大灰度值。
然后,根据式 (13)分别统计RBG三通道灰度直方图。
其中:HR、HG、HB分别表示RGB三通道的256维直方图。
将HR、HG、HB三个直方图依此串接起来,形成RGB直方图特征HC,一共3*256=768维特征。
1.2.2 DRLBP特征
针对传统Local Binary Pattern描述子难以区分强、弱局部对比度模式的问题,DRLBP描述子[33]融合边界形状信息和表面纹理信息,形成对强、弱局部对比度模式具有高可分性的单一描述。
首先,利用Sobel算子对输入图像进行梯度计算,分别得到输入图像在x方向和y方向的一阶偏导数Ix和Iy,并利用式 (14)计算每个像素的梯度幅值。
再将所有像素t的梯度幅值w(t)用于加权像素对应的LBP编码。这样做意味着,如果某像素处于强局部对比度模式中,那么该像素的梯度幅值会很大,作用到其对应LBP编码上的权重也就会很大,而对于弱局部对比度模式而言,情况恰恰相反。所以,通过融合梯度幅值和LBP纹理描述,能够形成对强、弱局部对比度模式具有高可分性的描述子。
DRLBP计算如式 (15):
其中:N为输入图像总像素个数,w(t)表示像素t的梯度幅值,LBP(t)表示像素t的LBP编码。我们用以像素t为中心,3x3大小的区域计算LBP编码,因此B=8,再对LBP进行规范化处理[34],最终形成60维DRLBP特征。
将1.2.1节中的颜色直方图HC特征和1.2.2节中的DRLBP特征串接起来,形成768+60=828维特征F。
假设标准靶纸特征为dm,待匹配的目标特征为d*,我们利用1-范式进行相似性度量,如式 (16)所示。
再将 (16)得到的SimVal与设定的阈值η进行比较,判断目标是否为靶纸。
2 实验结果与分析
2.1 数据库及评价标准
针对实际应用中靶纸所处的不同环境,我们用相机捕获400张包含靶纸区域的尺寸为640*480图像作为测试数据集a,并手动标记测试数据集中靶纸区域的真实位置。为了评估改进Fast MBD显著区域提取算法的性能,我们利用Precision评价指标、Recall评价指标、算法处理时间指标,将其与原始Fast MBD变换显著区域检测算法[21]进行比较。改进Fast MBD变换显著区域检测算法和原始Fast MBD变换显著区域检测算法都采用C++语言和OpenCV库实现,并在CPU主频为1.8 GHz、内存为2 GB的华为海思平台上运行。
假设从测试数据集a中分离出的400张靶纸图像是数据集c,为了证明多特征匹配算法的有效性,我们从数据集c中随机抽取200张靶纸图像,将其与ImageNet的训练数据集进行合并,形成训练数据集a。然后,我们将数据集c中剩余的200张靶纸图像与ImageNet的测试数据集合并,形成测试数据集b,通过Precision评价指标、Recall评价指标、算法处理时间指标对多特征匹配算法进行评估。我们将图像尺寸都缩放为64*64大小。多特征匹配算法采用C++语言和OpenCV库实现。
我们针对光照变化问题、小对比度问题、目标旋转问题和目标尺度缩放问题,将改进Fast MBD变换显著区域检测算法与原始Fast MBD变换显著区域检测算法进行对比。部分对比实验结果如图4所示。从图4中,我们可以看出本文提出的改进Fast MBD显著区域检测算法在一定程度上解决了光照变化、小对比度、目标旋转和目标尺度缩放问题。
2.2 改进Fast Minimum Barrier Distance显著性区域算法性能评估
2.2.1 Precision评价指标与Recall评价指标
Precision评价指标和Recall评价指标计算公式如 (17)所示。
图4 改进Fast MBD变换显著区域检测算法和原始Fast MBD变换显著
其中:TP是正确分类的正样本数,FP是被错误标记为正样本的负样本数,FN是被错误的标记为负样本的正样本数。
分别使用改进Fast MBD变换显著区域检测算法和原始Fast MBD变换显著区域检测算法批处理测试数据集a。在得到所有图像的显著图后,再进行自适应阈值分割和形态学操作,得到对应的二值图。然后,利用所有二值图上的所有像素分类 (灰度值为255的像素为前景,灰度值为0的像素为背景)计算Precision评价指标与Recall评价指标。
两个对比算法的Precision评价指标和Recall评价指标如表1所示,部分处理结果对比如图2所示。
表1 两个显著区域检测算法的Precision、Recall评价指标
从表1可以看到,针对测试数据集a,改进Fast MBD变换显著区域检测算法提出的算法在Precision指标和Recall指标上优于原始Fast MBD变换显著区域检测算法。由于局部区域对比度先验的引入,在一定程度上对原始Fast MBD显著区域检测算法得到的像素显著性值进行完善补充,进一步在背景中突出目标区域,从而改善了当靶纸位于图像边界时显著区域缺失情况和目标与背景对比度小时导致的显著区域缺失情况。同时,我们引入形状先验,通过寻找包含大量大显著值的封闭轮廓,进一步确定显著目标的位置,使得算法能够更有效地提取出类正方形区域。
2.2.2 算法处理时间
为了测试算法处理时间,在CPU主频为1.8 GHz,内存为2 GB的华为海思平台上进行实验。对测试数据集a,进行批处理,统计平均处理时间,如表2所示。
表2 两个显著区域检测算法的平均处理时间
因为我们引入了局部区域对比度先验和形状先验,所以在一定程度上增加了时间开销,但是提出的算法仍能保证30帧/s的运行速度。
2.3 多特征匹配算法的性能
我们利用多特征匹配算法批处理训练数据集a,将得到的一系列特征与预存的靶纸模板特征进行式 (16)相似性度量。通过对相似性度量结果的统计,发现为了平衡Precision和Recall参数,多特征匹配算法中的分类阈值η应该设置为5.0。
我们在η=5.0的情况下,对测试数据集b进行处理,对处理结果进行统计,分别计算Precision、Recall、平均处理时间,如表3所示。
表3 多特征匹配算法性能指标
由于我们将靶纸图像的颜色特征、纹理特征和边缘特征进行组合,形成了一种在靶纸与其他目标之间具有高可分性的新特征。通过设定相似性度量阈值,多特征匹配算法能够达到令人满意的性能。通过表3实验结果所示,足以证明本文提出的多特征匹配算法的快速、有效性。
2.4 基于改进Fast MBD显著性和多特征匹配的快速靶纸区域检测算法性能
针对测试数据集a,我们把本文提出的靶纸目标检测算法与[2]、[4]的算法进行比较,分别统计Precision指标和Recall指标,如表4所示。
表4 三种靶纸区域检测算法的性能比较
由于本文提出的靶纸区域检测算法不但考虑了靶纸本身的颜色特征和形状特征,而且从低层次特征出发考虑了靶纸目标与周围背景环境的差异性,实现了从多个方面定义靶纸目标,从而对光照变化、对比度变化和拍摄角度变化具有一定程度的鲁棒性。同时,通过组合靶纸的颜色特征、纹理特征和边缘特征,形成了对靶纸目标具有高可分性的新特征,该特征对于光照变化、对比度变化和旋转变化也具有一定程度的鲁棒性,因此,将两者进行组合一定能够得到相比于只考虑靶纸形状特征和颜色特征的传统靶纸区域检测算法更好的性能。从表4中可以看出,本文提出的靶纸区域检测算法远优于传统靶纸区域检测算法,进一步证明该算法的有效性。
3 结论
本文针对靶纸的颜色和形状特性,在图像边界连通先验的基础上,再引入局部区域对比度先验和形状先验,改进原始的Fast MBD变换显著性区域检测的结果。同时,为了判断检测到的区域是否包含靶纸,我们引入多特征匹配算法,利用颜色直方图特征和DRLBP特征与预存的靶纸模板特征进行相似性度量。实验结果证实了本文提出的算法有效且实时,在一定程度上解决了光照条件变化、对比度变化和拍摄角度变化对靶纸区域检测精度的影响。接下来的工作,是在算法上进行进一步的优化,即提高算法精度,又要保证实时性。