APP下载

基于MFC+opencv的车标识别系统

2020-12-29叶玉双杨洁

计算机时代 2020年12期

叶玉双 杨洁

摘  要: 车标识别系统作为智能交通的一个重要组成部分,可以帮助有关部门提前发现可疑车辆。文章采用Adaboost算法训练级联分类器,通过提取方向梯度直方图(HOG)特征进行各类车标分类器的训练,再对分类器识别出的区域作进一步筛选,排除误检区域。此方法实现的车标识别系统,能够有效地识别出车标,具有实际应用价值。

关键词: 车标识别; HOG特征; OpenCV图像处理; Adaboost算法; MFC

中图分类号:TP391          文献标识码:A     文章编号:1006-8228(2020)12-06-04

Abstract: As an important part of intelligent transportation, vehicle logo recognition system can help relevant departments to detect suspicious vehicles in advance. In this paper, AdaBoost algorithm is used to train cascaded classifiers, and gradient direction histogram (HOG) features are extracted to train all kinds of vehicle logo classifiers, and then the regions identified by the classifiers are further screened to eliminate the false detection areas. The vehicle logo recognition system realized by this method can effectively identify the vehicle logo and has practical application value.

Key words: vehicle logo recognition; HOG features; OpenCV image processing; Adaboost algorithm; MFC

0 引言

车标识别系统作为智能交通的重要组成部分,在交通管控中对违法犯罪行为起到一定的预警作用,帮助管理部门提前发现可疑车辆。此外,在日常的消遣娱乐中,车标识别技术同样也能发挥极大作用。例如在遇到不认识的车标但又无法清楚描述车标样式时,便可借助车标识别系统进行识别;或是在教学时利用此技术来增加车辆相关理论课程的教学趣味性;还能帮助人们在购买汽车时了解汽车品牌、价格,以及汽车性能、特点等问题。

现今对车标识别技术的研究一般包括了定位和识别两个步骤。而其中较为普遍的定位方式是先以车牌或车头灯的位置又或是两者结合来确定车标的大致区域,再对区域进行边缘检测,确定车标的精确位置 [1-3]。另一方面,现有的识别方法中被广泛应用的特征有方向梯度直方图(Histogram of Oriented Gradient,HOG) [4-5],局部二值模式(Local Binary Pattern,LBP)[5-6],尺度不变特征转换(scale-invariant feature transform,SIFT)[7]等,大多是通过边缘特征提取来实现车标的分类,但如果遇上分辨率较低的图像,边缘提取便成了件难事。而文献[8]提出的基于卷积神经网络(CNN Convolutional Neural Network)模型的方法,虽解决了分辨率的难题,但又出现了训练时间过长的问题。

本文在学习和借鉴了原有的车标识别算法后,从实际应用角度出发,进行了进一步优化。一方面,在训练过程中,准备充足的正、负样本,通过更改样本比例等方式训练不同的车标分类器进行测试,力求获取最优的识别分类器。另一方面,在对图像识别前,对传入的静态图像进行多种预处理测试,获取最佳的几种预处理方案,以此尽可能地提高车标识别系统在面对不同情境下的识别准确率。

1 图像预处理

本系统采用灰度化、归一化、图像滤波、scharr边缘检测的方式进行图像预处理操作。图像某类车标的识别具体流程如图1所示。

1.1 高斯滤波

高斯滤波对于服从正态分布的噪声有较好的抑制效果,能够更好地保留细节。本系统根据所训练分类器的不同效果,确定了各分类器采用的高斯模板,并由此减少了部分车标识别不全和识别不出情况的出現。如图2(a)为未使用高斯滤波进行预处理时系统未能识别出车标区域的效果,图2(b)为使用高斯滤波后成功识别出车标区域的效果,图2(c)为图像未使用此预处理时未能完整识别车标区域的效果,而图2(d)为使用此预处理后完整识别出车标区域的效果。

1.2 Scharr边缘检测

在同样3×3的内核情况下,Scharr滤波器的检测精度高于Sobel算子,且检测速度与其相同。另外,本系统也分别采用Sobel、Scharr、Laplace、Canny边缘检测的方式,进行了识别效果的对比,最终选用Scharr检测生成的边缘特征图进行车标识别,并有效提高了车标的检测率。如图3(a)为未采用边缘检测时的系统识别效果,可见,面对光线较暗、图像梯度不明显的情况,系统未能实现有效识别,图3(c)为使用图3(b)进行车标识别后成功识别到车标区域的效果。

2 车标样本选择及分类器训练

目前Adaboost算法支持的特征主要囊括了Haar特征、LBP特征和HOG特征,与文献[9]不同的是,本文并非选用Haar特征,而是选用HOG特征进行训练。HOG特征[10]是一种通过计算和统计图像局部区域的梯度方向直方图来对物体进行检测的特征描述子,所以在面对图像的几何形变和光学形变时都拥有较好的鲁棒性。

本文选用opencv自带的opencv_traincascade程序实现对宝马、奥迪、本田、丰田、现代、大众六种常见车标品牌分类器的训练。详细的训练样本数和测试样本数如表1所示。所有用于训练和测试的样本均来源于实景拍摄及网络搜集,并涵盖了在夜晚光源较差、雨雾天气拍摄不清晰、手抖拍摄模糊、侧面拍摄等极端情况下的车标样本。如图4为训练时采用的部分正样本车标。各类车标分类器的具体训练流程如图5所示。

3 系统设计及开发

3.1 系统实现

首先,系统获取到图像后,将对图像进行一系列的预处理操作,且每种分类器均含两种以上的预处理方式。随后再利用各类车标分类器依次进行识别。其次,对于某类分类器识别出的车标区域系统将进行第一次排查,获取识别区域的HOG特征与事先准备好的品牌车标进行余弦相似度比对,排除相似度低于0.65的区域,并在余下区域中取出相似度最高的区域作为一个结果输出。最后,待图像经过六类分类器识别完成后,系统将选取六个输出结果中相似度最大的值所对应的车标作为最终的识别结果,并在原图像中框选出所识别到的车标区域,显示相关的品牌信息。整个系统的车标识别过程如图6所示。

3.2 系统测试

选取六类车标各60张,及60张除此六类车标外的其他车标和无车标图像组成测试集,对系统的识别准确率进行检测。表2是由测试得出的各类车标分类器的识别率统计表。

可以发现,部分车标仍然无法被正确分类或识别。经过分析得出,多数识别失败的测试样本为侧面拍摄图像或光线较弱图像,而多数分类错误的图像也同样是因为侧面拍摄的缘故。经实验,部分侧面拍摄图像虽车标区域识别成功,但在进行相似度匹配时却因为侧面拍摄缘故,导致相似度低于其他车标识别器所识别出的区域得到的相似度,也因此导致了误识别。

3.3 系统交互设计

综合上述车标识别流程,在Windows平台上,选用MFC结合OpenCV的方式完成了车标识别系统的搭建,系统的具体实现效果如下:

点击“上传图片”按钮选取图片后点击“开始识别”,系统将提示用户“正在识别中……”。识别完成后,若成功识别出车标,则系统会在原图中标注出所识别出的车标区域,效果如图7所示,若系统识别结果并非六种车标中的一种或是并不含车标,则提示用户“对不起,未能识别出车标品牌”,效果如图8所示。

从系統车标识别的结果来看,该方法的车标识别达到了预期的效果。虽仍然存在一定的误检和漏检情况,但此方法还是存在其应用价值的。

4 结束语

本文选取基于HOG特征的Adaboost算法进行车标级联分类器的训练,最终以一对多的方式实现了对宝马、奥迪、本田、丰田、现代、大众六种常见车标的识别。并设计了基于MFC的车标识别系统,实现图片上传系统后可以直接识别车标,显示车标相关品牌信息。

实验表明,系统依旧存在不足之处,如车标品牌的数目太少还需增加,对极端情况下进行车标识别的鲁棒性还可以增强等。后期考虑结合使用SVM的方式来实现对所识别车标区域的分类,提高分类的准确度。

参考文献(References):

[1] 庄永,杨红雨,游志胜等.一种快速车标定位方法[J]. 四川大学学报(自然科学版),2004.41(6):1167-1171

[2] 刘直芳,王运琼.一种简单快速的车标定位方法[J].计算机应用,2009.29(5):1344-1346

[3] 李侠,李文举,孙娟红等.基于模板匹配和边缘检测的车标定位方法[J].计算机工程与设计,2011.32(10):3453-3456

[4] 鲁丰,刘芸,张仁辉.基于改进HOG特征值的车标检测与识别方法[J].光通信研究,2012.38(5):26-29

[5] 张素雯,张永辉,杨洁等.一种基于LBP与HOG联合特征的车标识别方法[J].网络新媒体技术,2016.5(6):49-55

[6] 李哲,于梦茹.基于多种LBP特征集成学习的车标识别[J].计算机工程与应用,2019.55(20):134-138

[7] 耿庆田,赵浩宇,王宇婷等.基于改进SIFT特征提取的车标识别[J].光学精密工程,2018.26(5):1267-1274

[8] Thubsaeng W, Kawewong A, Patanukhom K. Vehicle logodetection using convolutional neural network and pyramid of histogram of oriented gradients[C].Computer Science and Software Engineering.2014 11th International Joint Conference on Computer Science and Software Engineering(JCSSE), USA:IEEE,2014:34-39

[9] 张硕.基于Adaboost的车标识别方法研究[J].中国安防,2014.5:85-89

[10] Dalal N, Triggs B. Histogram of oriented gradient forhuman detection[C]. Computer Society. 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'05), USA:IEEE,2005:886-893