非结构环境下基于HoG与SVM的汽车油箱盖视觉检测方法

2022-09-19 01:31梁铭裕黄平刘修泉
机床与液压 2022年8期
关键词:灰度阈值尺度

梁铭裕,黄平,刘修泉

(1.华南理工大学机械与汽车工程学院,广东广州 510640;2.佛山职业技术学院机电工程学院,广东佛山 528137)

0 前言

随着无人系统技术的发展,以人为主导的传统模式向着以机器人为主导的智能化模式转换。机器人技术的发展为加油站提供了新的服务方式——加油机器人,利用传感器定位汽车及油箱门和油箱口,控制系统指挥机器人自动完成加油。油箱盖的识别不仅在无人智能加油站中有着较好的应用前景,在未来电动汽车的智能充电系统中也有潜在的应用价值。张新良等采用形态学与Hough变换相结合的方法检测圆形油箱盖,该方法不能用来检测任意形状的油箱盖并且油箱盖尺寸以及油箱盖与相机的距离范围是规定的,在油箱盖检测中灵活性低。在自然光照条件下对油箱盖进行位置检测,需要先对图像进行增强处理以突出油箱盖与覆盖件之间的板缝区域。此类问题类似于裂缝检测,通常先对图像进行增强处理再进行裂缝特征提取和分析。周颖和刘彤采用图像增强、形态学运算、连通区域标记和碎片拼接等方法实现裂缝检测。TALAB等使用Sobel算子对混凝土图像进行滤波并使用Otsu阈值分割完成裂缝边缘检测。LIU等提出一种具有鲁棒性的基于多尺度增强和视觉特征的裂纹检测框架,先使用引导滤波和梯度多尺度增强,再进行阈值处理以提取裂缝。WANG等提出一种多种自适应滤波和增强对比度的裂缝图像处理方法,并采用Otsu的局部自适应算法实现裂缝检测。

在自然光照条件下采集到的包含油箱盖的汽车图像具有如下特点:图像对比度低,油箱盖与汽车覆盖件之间板缝较为模糊;有些汽车覆盖件因为不洁净导致表面粗糙度高,从而对光线反射不均匀,有些则过于光滑导致产生高反光区域;光照的变化和各种原因导致的噪声会对后续处理产生很大影响。数学形态学方法可以根据图像感兴趣目标的形态特征增强图像,保留有用信息的同时可以去除噪声。据此,提出非结构环境下基于HoG与支持向量机(Support Vector Machines,SVM)的汽车油箱盖视觉检测方法。采用多尺度底帽变换可以有效突出板缝信息并且滤去背景的影响,利用改进的最大熵阈值分割与连通区域方法可以定位出目标候选区域,再利用HoG特征和SVM分类以获得准确识别出汽车油箱盖的效果。

1 油箱盖检测算法

油箱盖检测算法的流程如图1所示。

图1 汽车油箱盖检测算法流程

首先,采用最大值法对图像进行灰度化;接着,采用平均滤波法进行去噪处理;然后,用多尺度底帽变换提取图像暗细节特征;再用改进的最大熵阈值算法求出阈值并进行二值化;针对二值化图像,通过连通区域分析得出目标候选区域;最后,提取目标候选区域的HoG特征描述子并输入到SVM二分类器进行精确检测。

1.1 图像预处理

1.1.1 灰度化

灰度图是由白到黑不同灰度级组成的单色图像,图像中每一个像素只有一个灰度值。通常情况下,灰度级范围为[0,255]。将RGB色彩空间图像进行灰度化,通常有以下4种方法:分量法、最大值法、平均值法和加权平均法。对于油箱盖检测,需要提取油箱盖与汽车覆盖件之间的板缝,板缝在3个通道图像中均具有相近的灰度而覆盖件的灰度差别大。因此,采用最大值法可以提高板缝和覆盖件的对比度,即:

=max{,,}

(1)

1.1.2 均值滤波

汽车图像在采集过程中会受到各种噪声干扰,影响后续检测。图像去噪过程即通过滤波算法去噪。汽车表面上的灰尘、污迹会降低图像质量,预处理算法选用均值滤波法平滑图像。均值滤波法是将目标像素及其邻域像素取平均值。在新图中,对应位置的灰度为所求得的平均值,即:

(2)

其中:为中心在(,)处,大小为×的矩形窗口。

图2所示为对采集的汽车图像中部分原图像进行预处理后的结果。

图2 部分汽车原图预处理后图像

1.2 多尺度底帽变换

由于汽车油箱盖与覆盖件之间的板缝的灰度较周围的低,为增强板缝与覆盖件之间对比度以及去除图像中的噪声,选用底帽变换(Balck Top-Hat,BTH)对图像进行处理。这样可提取具有最小灰度的板缝信息,同时可以消除光照不均和解决覆盖件存在高反光区域的问题。

基于灰度图像的数学形态学方法是二值图像形态学的扩展,将二值图像形态学中的交、并运算扩展为灰度形态学中的最大、最小值运算。底帽变换是灰度图与灰度腐蚀、膨胀相结合的一种复合运算。基本算子如式(3)—式(6)所示。

设为输入图像,为结构元素,分别为和的定义域,则:

灰度膨胀为

(3)

灰度腐蚀为

(4)

灰度开运算为

°(,)=(⊖)⊕

(5)

灰度闭运算为

·(,)=(⊕)⊖

(6)

开运算是先用结构元素对原始图像进行灰度级腐蚀操作,再进行膨胀,可以用来去除灰度图中比结构元素小的灰度较高的区域。闭运算是先进行膨胀后进行腐蚀操作,可以用来去除灰度图中暗细节部分。

用闭运算结果减去原图像,这种操作称为底帽变换,可以提取小于结构元素的暗细节特征并去除光照不均匀的影响,定义为

(,)=·(,)-(,)

(7)

灰度级底帽变换可以提取图像的暗细节特征,采用不同尺度的结构元素进行底帽变换可以得到不同尺度下的暗细节特征,有选择地放大需要的特征就可以实现增强局部对比度。因此,数学形态学的重点是结构元素的选择。底帽变换的结构元素是提取板缝信息的决定性因素,结构元素过大会加入较多的噪声,过小会漏掉有用的信息。因此,采用多结构元素自适应提取图像不同尺度下的暗细节特征。多尺度结构元素定义如下:

=⊕…⊕…

(8)

其中:为初始选择的结构元素;为尺度参数,即大尺度结构元素由初始结构元素膨胀-1次得到。因此,第个尺度下由底帽变换提取的图像暗区域BTH, 定义为

BTH,(,)=·-

(9)

(10)

(11)

图3所示为多尺度底帽变换提取暗细节特征,为方便显示,将图像取反。可以看出,经过多尺度底帽变换后的汽车图像,油箱盖的板缝信息在局部区域更加突出,并且可以减少光照不均、高反光区域和表面不洁净的影响。

图3 多尺度底帽变换

1.3 改进最大熵阈值分割

最大阈值分割法是将图像划分成目标区域和背景区域,使目标熵和背景熵的和取得最大值时的阈值为最优阈值。方法如下:

(12)

(13)

背景区域和目标区域的熵分别表示为

(14)

(15)

最大熵阈值分割法是通过最大化目标熵和背景熵的和来确定阈值,最佳阈值计算公式为

(16)

通常,经过底帽变换的汽车图片直方图接近单峰分布,主要都是背景区域,其像素值分布在较低的区域,而候选目标区域占有少数比例,所以阈值应该使目标比例1-()尽量小,相当于使·()尽量大。因此,最佳阈值可以通过最大化目标熵()和·()的和来确定。最佳阈值计算公式为

(17)

式(17)中的用来控制()的作用程度。用得出的阈值对图像进行分割得出二值化图像,如图4所示。

图4 改进最大熵阈值二值化

1.4 目标候选区域提取

阈值分割后的汽车图像由板缝像素点、干扰噪声像素点、背景像素点组成。根据油箱盖板缝的特征信息,采用提取连通区域方法,先进行去噪,后提取连通区域的外接矩形,通过计算外接矩形的长宽比和面积判断是否能选为候选区域。具体算法步骤如下:

(1)用八连通区域标记二值图像;

(2)统计各个连通区域的面积并设置阈值,将小于阈值的连通区域视为噪声点并去除;

(3)计算剩余连通区域的外接矩形的长宽比=(分别为的长和宽),保留长宽比0.5<<2的连通区域;

(4)计算剩余连通域外接矩形的面积,将面积符合一定范围的连通域判定为目标候选区域。

目标候选框检测结果如图5所示。

图5 目标候选框检测

1.5 HoG特征提取

HoG特征基于图像梯度或边缘方向密度分布的统计来描述局部目标的形状和外观。通常将目标图像划分为等份的细胞单元格,分别计算每个单元格的方向梯度直方图,将这些直方图串联起来组成目标区域的HoG特征描述子。

根据油箱盖外形特点,对油箱盖进行特征建模,采用最大值灰度图的HoG特征。将HoG特征模型特征窗口大小设计为128像素×128像素,细胞单元格设计为16像素×16像素,每个细胞单元格的直方图通道设置为9个。由于光照不均匀和对比度的变化会使梯度强度有较大的变化,需要对梯度强度做归一化处理。HoG特征在一个块中进行梯度强度的归一化处理,设计块的大小为2像素×2像素,移动步长为16,由此得出的HoG特征维数为1 764维。

1.6 SVM分类器训练

汽车油箱盖的检测本质是一个二分类模式识别问题,因此可以借助二值分类器进行检测。SVM具有优越的分类性能,在分类样本量较少的情况下也能获得较好的分类性能。因此,采用SVM作为汽车油箱盖检测的判决器,提取样本图像的HoG特征进行训练。

分类器训练时采用的正样本为汽车油箱盖区域图像,负样本分为两种:一种是不含油箱盖的区域,另一种是与油箱盖真值框重叠面积占20%~50%的目标候选框。用于SVM模型训练的正样本个数为600个,负样本个数为1 000个。为提高样本多样性以提高分类器性能,正样本的图片质量比较丰富,亮度偏低和偏高、反光、污迹和运动模糊等在样本中都有所体现,部分正样本如图6所示。负样本的选择也比较丰富,包括环境背景、车身、车身与环境背景相交区域和与油箱盖边缘较为相似的汽车轮毂局部区域,部分负样本如图7所示。

图6 正样本

图7 负样本

2 实验结果及分析

原图像来源于手机的实拍图片,采集不同拍摄角度、不同拍摄距离、不同拍摄背景、不同颜色的500幅大小为1 920像素×1 440像素的汽车图像进行分析,每幅汽车图像均仅有一个油箱盖。其中,两个实例的检测结果如图8所示。在汽车油箱盖目标检测实验中规定,如果目标检测框与真值框之间的IoU值大于0.7,则认为该目标检测是一个有效检测。定义有效率为有效检测数与图像总数之比。首先,分析改进的最大熵阈值算法采用不同的常数时对检测效果的影响,并对比不同阈值分割算法的效果;再分析多尺度底帽变换的处理效果,并与单尺度底帽变换对比;最后,从检测精度、查全率和查准率方面对文中方法的检测性能进行分析。

图8 文中算法检测效果

2.1 改进最大熵阈值分割效果分析

式(17)中常数是控制变量,不同的取值得到的阈值不同,对图像的分割效果也不一样。为选择合适的值,取不同的值进行测试,分析有效率,得出当=0.8时可取得较好的效果。

分别采用最大熵、目标最大熵、Otsu阈值与改进的最大熵4种阈值分割算法进行实验,对汽车油箱盖检测的性能影响进行对比,结果如表1所示。改进的最大熵阈值算法得出的有效率比其他3种算法高,阈值比其他方法低,可使分割后的图像中油箱盖板缝尽量不出现断裂。

表1 不同阈值方法的检测结果

2.2 底帽变换效果分析

底帽变换法对汽车图像暗细节特征提取的效果主要依赖于结构元的尺度大小,提取效果直接影响油箱盖检测的有效率。采用大小为5像素×5像素的圆形结构元素为初始元素,并对多种单一尺度下的结构元素进行测试,结果如表2所示。可以得出:采用多尺度的底帽变换的检测效果最好。

表2 不同尺度结构元素底帽变换的检测效果

2.3 汽车油箱盖检测结果分析

对文中方法从检测精度、查全率和查准率进行分析。其中,各个指标评价标准如下:

其中:为正确检测到油箱盖数量;为误检的油箱盖数量;为漏检数;为剔除的非目标区域个数。

对500幅汽车图像进行实验,正确检测出的油箱盖数量为430,误检数为33,漏检数为14,剔除的非目标区域数量为766,则得出查全率为96.85%,查准率为92.87%,检测精度为96.22%。总体来说,文中采用的汽车油箱盖视觉检测算法具有良好的检测效果。

3 结论

本文作者提出了一种非结构环境下基于HoG与SVM的汽车油箱盖视觉检测方法。首先,对待检测图片进行灰度化并进行平均值滤波操作,再采用多尺度底帽变换提取暗细节特征,该方法可以消除光照不均和高反光区域的影响;对底帽变换后的图像采用改进的最大熵阈值算法进行二值化,再通过连通区域方法进行去噪并提取外接矩形,根据外接矩形的面积和长宽比进行筛选,得出目标候选区域;然后,采用基于HoG特征的SVM分类器对候选区域进行精确检测。对500幅汽车图像进行了实验,结果表明:该方法可以准确地检测油箱盖目标,并且有较高的检测率,误报较少,可以有效地解决光照不均、存在高反光区域和表面不洁净等问题。

由于实际环境非常复杂,在一些情况下仍存在漏检和误检现象,尤其在低照度、运动模糊、严重的投影透视变换和存在涂鸦图案的场景下较为明显。后续研究工作中,可以加入更加完备的样本数据并优化分类器的性能,加入更加有效的图像处理算法,以提高油箱盖检测的有效率。

猜你喜欢
灰度阈值尺度
非平稳声信号下的小波变换去噪方法研究
非均匀光照下文本图像分割算法研究
天津港智慧工作平台灰度发布系统和流程设计
华为“灰度”哲学
Arduino小车巡线程序的灰度阈值优化方案
利用迭代软阈值方法抑制恒时演化类核磁共振实验中的采样截断伪峰
尺度
以长时间尺度看世界
9
两种改进的局部阈值分割算法