基于图像匹配的透明车灯部件检测
2018-06-22朱婉仪穆平安戴曙光上海理工大学上海200093
朱婉仪, 穆平安, 戴曙光(上海理工大学, 上海 200093)
1 引 言
检测车灯总成装配的完整性是车灯质量检测的一个重要指标[1],目前已有文献提出通过图像处理的方法实现车灯零件的检测,但对于车灯中透明部件的颜色、形状特征都较为不明显的情况,一般的图像检测算法难以做到较高的准确率和实时性。车灯中的透明部件颜色透明,形状多样,多用于车灯的内灯壳部分,具有保护灯具内部部件、调节灯光以及外观造型等作用。本文运用图像增强技术对车灯图像进行预处理,并基于灰度的归一化互相关(normalized cross-correlation,NCC)匹配与金字塔结合的算法对这类透明车灯部件的安装情况进行检测,使透明部件的检测准确率和实时性大大提高。此外这种方法还可用于车灯的其他部件缺失检测,使车灯的总成检测具有更高的可靠性和实时性。
2 车灯图像增强处理
2.1 直方图均衡化
车灯图像的采集环境,尤其是光照条件,会对获取的图像质量产生很大的影响,致使图像整体的灰度层次不丰富,图像的细节信息不够清晰[2]。本文采用的直方图均衡化对图像的光照补偿十分有效。通过均衡化处理可以将图像的灰度值均匀地分布在整个灰度级范围,实现图像灰度的对比度增强效果[3]。
如图1~图4为不同光照条件下车灯部件图像和经过直方图均衡化处理的图像结果。
图1 正常灯光下图像及对应的直方图
图2 正常灯光下均衡化的图像及对应的直方图
图3 较暗灯光下的图像及对应的直方图
图4 较暗灯光下均衡化的图像及对应的直方图
从图中可以看出经过均衡化处理的直方图像素值分布更均匀,均衡化后的图像比原图亮度有所增强,由于光照强度对图像产生的影响明显地减小,其中车灯的透明部件在经过处理后灰度对比度更明显。
2.2 锐化滤波
经过直方图均衡化的车灯图像虽然在一定程度上提高了对比度,但对于部分零件的边缘细节信息还不够突出。锐化滤波的增强处理则可以增强图像的高频分量,减弱图像的低频信息,从而增强图像的灰度反差,使图像细节突出或者增强被模糊化的部分[4]。
梯度锐化是采用一阶微分的算法来体现图像灰度值的变化率,从而实现图像的增强[5]。设图像的二元函数f(x,y)在(x,y)的梯度表达式定义为:
(1)
≈|Gx|+|Gy|
(2)
(3)
图5 Prewitt梯度算子模板
在计算梯度时,本文采用了Prewitt算子对图像进行锐化,它在提取边缘信息时对噪声也有一定的平滑作用[6]。图5为使用的Prewitt计算模板,将经过锐化处理后的图像与原图叠加,可使车灯零件的边缘细节更突出。
图6 锐化处理后的车灯图像
图6为直方图均衡化基础上再经过锐化处理后的车灯图像,图像的视觉效果增强,零件的边缘更清晰,灰度对比度更大,可观察到透明部件的形状轮廓更具体,这样处理更有利于图像匹配结果的准确性。
3 灰度匹配算法及归一化互相关函数
由于透明部件颜色信息较少,安装在车灯上后,其在图像上的颜色和形状特征容易受周围的部件影响,图7、图8分别为安装了和未安装透明部件的车灯图像及其安装位置的局部放大图,可以看出其主要区别就是安装了透明部件的部位灰度值偏亮,没有安装透明部件的部位灰度值偏暗,由此分析采用以灰度信息为基础的算法进行相似度匹配可以做到较高的稳定性。
图7 安装了透明部件的车灯图像
图8 未安装透明部件的车灯图像
归一化互相关(NCC)函数匹配算法就是以灰度信息为基础的图像匹配,通过利用两个图像灰度值的相关函数,采用相似性算法计算出模板图像与待检测图像的对应关系,从而判断图像的匹配程度,找到匹配的位置[7]。互相关函数NC(x,y)的定义如下:
(4)
式中:待匹配图像I的像素大小为M×N;模板T的像素大小为m×n。从图像I中任意选取一块像素大小为m×n的子图Ix,y,Ix,y的左上角像点在图像I中的坐标为(x,y),可知坐标范围为0≤x≤M-m,0≤y≤N-n。
将其再进行归一化,则公式转换如下:
(5)
由以上计算结果可知,NC(x,y)值越大,则表示检测图像位置的匹配度越高,与模板图像越接近[8]。
4 金字塔算法
采用NCC算法匹配准确性高,但计算量比较大,为了提高匹配速度,采用图像金字塔搜索进行图像分层,大大减小了计算量[9]。
在金字塔算法中,通过对原始图像分辨率的处理分解为一个多尺度的新图像序列。序列中的金字塔随着塔层数的增高,图像的大小和分辨率都降低。在相邻两层之间,分辨率一般相差2倍,上一层图像的大小是下一层的1/4[10]。
高斯金字塔是由原图像经过连续高斯滤波和二次采样生成的一系列不同分辨率的图像组成。图9是经过高斯金字塔处理的车灯图像4层搜索结构,其基本构建步骤如下:
图9 高斯金字塔分层图像
(1)将待处理的原始图像作为金字塔的最下面一层用G1表示;
(2)将第1层图像G1通过高斯低通滤波器进行滤波,再对滤波后的图像进行隔行隔列的降采样得到第一层图像G2,很明显此时G2的大小只有G1的1/4;
(3)继续通过上述方法进行多尺度分解,可得到图像G1,G2,…,Gn。对于第k层高斯金字塔图像位于(x,y)的计算存在如下的递推公式:
(6)
式中:w(m,n)=h(m)·h(n)为5×5具有低通特性的窗口函数,h是高斯密度分布函数(满足约束条件:归一化性、对称性、奇偶项等贡献性[11,12])。
5 实验与分析
以某车灯部件中的透明部件检测为例,采用上述方法对车灯图像进行匹配检测。车灯图像实际大小为656像素×494像素,只截取部分图像进行说明。车灯图像及透明部件模板提取如图10所示,图10(a)为标准车灯图像,图10(b)为从中提取透明部件的原始模板,其视觉效果不明显,即使人工检测时也容易漏检。
由于原始透明部件尺寸较大,若将透明部件整体提取,不便于处理,因此提取透明部件灰度特征比较明显的一部分作为模板,这样处理既能够加快匹配速度,也不影响匹配精度。模板尺寸为60像素×36像素。
图10 车灯图像及透明部件模板提取
透明部件周围镶嵌有其他的银色和黑色部件,导致其灰度信息易受周围零部件影响,不利于匹配。针对这个模板,先经过均衡化处理增强灰度对比度,再通过锐化滤波使模板轮廓灰度特征更加明显,提高模板匹配的稳定性,见图11。
图11 模板图像处理过程
匹配算法实现的主要步骤如下:
(1)读入模板图像T和待检测图像I,对模板图像和待检测的车灯图像分别进行直方图均衡化和锐化滤波处理;
(2)设置金字塔层数为4,初始匹配窗口尺寸为15像素×9像素,匹配的相似度阈值设为0.75,基于归一化互相关函数(NCC)进行分层匹配。
(3)找出相似度值最大时图像对应的位置,并记为匹配区域。先从高层开始搜索,得到模板的粗匹配,再不断缩小范围,逐渐提高图像分辨率进行精确匹配,最终找到搜索目标。
图12为待检测的车灯图像,经过均衡化及锐化处理后,采用图11处理后的透明部件模板进行匹配检测,最后匹配结果如图13所示。
图12 待检测车灯图像
为了验证本文算法的有效性,实验将基于金字塔的归一化互相关匹配方法分别与基于金字塔的图像边缘梯度特征匹配、K-means聚类分析算法和不变矩匹配进行对比。
5.1 两种匹配对比实验
实验将基于金字塔的灰度匹配(归一化匹配)和基于金字塔的特征匹配(边缘梯度特征匹配)算法进行了对比。两种算法的匹配速度和相似度结果如表1、图14及图15所示。
图13 匹配结果图
表1 基于金字塔的两种方法匹配数据对比
图14 两种算法的匹配相似度
图15 两种算法的匹配时间
在匹配准确率上,从表1和图14可以看出10个样本中,采用基于归一化互相关的金字塔匹配结果都正确,而基于边缘梯度特征的金字塔匹配出现一个误检;在匹配速度上,从表1和图15可以计算出,基于金字塔的归一化互相关匹配的平均时间为49.6 ms,基于金字塔的边缘梯度特征匹配的平均时间为152.6 ms,约为前者的3倍;综上分析可知,采用本文的方法对车灯的透明部件检测的匹配准确率更高,匹配速度更快。
5.2 K-means聚类分析检测和不变矩匹配对比实验
实验通过对车灯图像进行K-means聚类分析来实现对透明部件的检测。如图16(a)为车灯局部部件原图,设置分类数K为4,原图均衡化处理后再进行聚类检测。图16(b)为分析结果,透明部件为白色区域,整个目标与旁边的银色部件以及黑色背景分开,边缘清晰,检测效果较好。
图16 透明部件及聚类分析效果图
实验还采用文献[2]提出的不变矩匹配对车灯透明部件进行检测。将车灯图像进行均衡化处理,再计算图像的7个不变矩,由于不变矩对于平移、旋转具有不变性,其更适用于具有旋转特性的零件。如表2为本文算法和不变矩匹配在车灯角度变化时的匹配相似度比较,可以看出,当图像旋转时,不变矩匹配具有较高的匹配相似度,本文算法在零件旋转角度较小时能保持较高的相似度,较大时相似度降低,但由于车灯的零部件在装配时并不会产生太大的角度误差,因此对算法的旋转不变性没有要求。
表2 角度变化时两种算法的匹配相似度
如表3所示,为以上4种算法在车灯透明部件检测的多次实验结果数据,其中基于K-means聚类分析的成功检测率最高,但花费的检测时间也较长;基于金字塔的边缘梯度特征匹配在速度和检测效果上都差于基于金字塔的归一化互相关匹配;而不变矩匹配虽然在图像旋转时有较好的检测效果,但准确率和匹配速度比其他3种方法都低;综合检测准确率和速度要求,本研究采用的方法能够较好地检测出车灯透明部件的安装情况,匹配准确度较高且检测速度最快。
表3 4种算法的成功检测率和检测时间对比
6 结 论
针对车灯总成中一类透明部件的特性,提出了基于归一化互相关(NCC)匹配算法对车灯透明部件实现图像匹配,同时又结合了金字塔分层算法弥补归一化互相关匹配带来计算量大的不足,并在实现图像匹配之前对图像进行直方图均衡化和锐化滤波从而增强图像成分的对比度,使匹配准确度以及稳定性提高。实验结果表明:本文算法的成功检测率可达到约95%,检测时间约为50 ms,可以较高的准确率和速度实现车灯透明部件的检测。通过对算法参数的设置能够推广应用于其他车灯部件装配的检测。
[参考文献]
[1] 张彩艳,穆平安,戴曙光,等.基于3D直方图与爬山法的K-means车灯零件检测算法[J].计算机应用与软件,2013,30(4):40-43.
[2] 夏颖,戴曙光,苏添发.基于不变矩匹配的车灯零件检测[C]// 2007'仪表,自动化及先进集成技术大会论文集(二).2007.
[3] 梁晓辉,游志胜.自适应的彩色图像光照补偿新方法[J].光电工程,2006,33(2):94-97.
[4] 游福成.数字图像处理[M].北京:电子工业出版社,2011.
[5] 朱奇光,张兴家,陈卫东,等.基于颜色矩的改进尺度不变特征变换的移动机器人定位算法[J].计量学报,2016,37(2):118-122.
[6] 阮秋琦.数字图像处理[M].北京:电子工业出版社,2005.
[7] Li Y,Liu Q,Jing L,etal.A genetic-optimized multi-angle normalized cross correlation SIFT for automatic remote sensing registration[C]// Geoscience and Remote Sensing Symposium,2016.
[8] 谢维达,周宇恒,寇若岚.一种改进的快速归一化互相关算法[J].同济大学学报(自然科学版),2011,39(8):1233-1237.
[9] 张桂南,刘志刚,韩烨,等.接触网棒式绝缘子故障检测的快速模糊匹配方法[J].铁道学报,2013,35(5):27-33.
[10] Li Y,Wang R,Cui Z,etal.Spatial Pyramid Covariance based Compact Video Code for Robust Face Retrieval in TV-series[J].IEEETransactionsonImageProcessing, 2016,25(12):5905-5919.
[11] 黄蕾.图像边缘特征提取算法的分析与研究[D].合肥:安徽大学,2015.
[12] 刘源泂,孔建益,徐福军,等.基于图像金字塔的钢板表面深度信息提取方法[J].计量学报,2015,36(4):356-359.