基于改进YOLOv2模型的多目标识别方法 下载: 982次
1 引言
在现实交通场景中,车辆目标检测[1]受到诸多因素的影响,例如光照、角度、形变、遮挡等[2]。快速准确地对交通场景下的车辆目标进行检测,一直是图像处理与交通工程交叉领域的研究内容,在此基础上的车型识别更是重要的研究课题,国内外学者对此进行了大量卓有成效的研究。
最早使用的检测方法是基于机器学习的方法,屈治华等[3]提出的基于图像关键点统计变换(MCT)特征的Adaboost集成算法、张敦凤等[4]提出的基于分块局域二值模式(LBP) 融合特征和支持向量机(SVM)的人脸识别算法、郭健[5]提出的基于局部特征的图像匹配算法等,均是通过对目标进行区域选择,然后进行特征提取,并将提取到的特征输入到SVM[6]、迭代器[7]等分类器进行分类识别。但传统的目标检测方法主要是针对特定目标的检测,受限于多分类的目标,而且目标的区域选择过程较复杂、检测效率较低。在选择对象时,其特征提取存在主观性强、鲁棒性差、泛化能力弱等缺点,在实际应用中难以获得精准的识别效果。
将深度学习[8]技术应用于目标检测领域是近年来使用最广的目标检测方法。卷积神经网络相比传统方法更容易提取出图像的深层特征,通过卷积神经网络就能把特征提取、选择和分类融合[9]在一起,这种方法可在很大程度上提升检测准确度。Girshick等[10]基于卷积神经网络提出了R-CNN(region-conventional neural network)目标检测模型。该模型将传统机器学习和深度学习结合起来,通过卷积神经网络提取目标特征,再使用SVM进行分类,最后得到的平均精度均值 (mAP)明显增大[11]。但是R-CNN在选择候选区域时,算法比较复杂且耗时较长,不能达到实时检测的目的。由于R-CNN存在许多不足,人们又提出许多新的目标检测算法:Fast R-CNN[12]、Faster R-CNN[13]、YOLO(you only look once )[14]和SSD(single shot multibox detector)[15]等。其中YOLO的性能较强,其网络结构简单,检测速度快,基本可以满足视频检测[16]的要求。同时,深度卷积神经网络对形变、光照、几何变换具有一定的不变性[17],有效克服了车辆外观多变给目标检测识别带来的困难[18]。
本文针对道路车辆多目标车型识别检测中,车辆外形、结构、颜色以及现实场景等特征导致的识别率低的问题,利用YOLOv2实时目标检测算法[19],创建实验室自有的构建车辆目标的VOC数据集,用于YOLOv2和YOLOv2-voc模型的训练;根据实验中发现的多目标车辆特征,通过对网络模型的参数进行多次调整后再次进行训练,获得了适用于车辆多目标车型实时识别的改进YOLOv2模型;同时,在实际交通环境下对本文模型进行了实验分析,并与YOLOv2、YOLOv2-voc和YOLOv3等模型进行了对比,验证了本文模型对实际的交通环境具有适用性和先进性。
2 基于实证数据的YOLOv2改进模型
YOLO是一个端到端的目标检测网络,能够实现实时检测且其检测性能稳定。相比于R-CNN[20]、Fast R-CNN等采用选择性搜索的方法来产生候选框和Faster R-CNN等利用区域候选的方法来提取候选框,YOLO算法直接利用回归方法在输出层提取出候选框的位置和所属的类别,从而提高了目标检测的速度,但存在检测准确率不高的问题。YOLOv2[21]是对YOLO算法的改进,对每个候选框预测一个独立的类别,提高了网络对于多目标的检测能力,因此在保持原有较高检测速度的基础上,提高了目标检测的准确率。YOLOv3在检测远距离的小目标时有较高的检测精度和较好的识别效果;而在检测近距离的大目标时,其识别效果相比于YOLOv2有所下降。
2.1 基于YOLOv2模型的目标检测算法
YOLOv2是实时的物体检测算法,该算法把图片作为输入,直接将目标位置及其对应位置的置信度评分作为输出。YOLOv2模型中去掉了分类器,不再使用基于滑动窗口的方法进行特征提取。YOLOv2算法遵循端到端训练和实时检测的设计理念:把输入图片分割成n×n个区域,如果一个标注对象的中心落在某个区域上,那么这个区域负责预测这个物体,每个区域预测所需要的bounding box的位置和置信度,每一个bounding box都会得到5个预测值,分别为(tx, ty)、(tw, th)和对应的置信度Con(
Con表示候选边框的置信度,通过bounding box及其对应的待检测目标概率及该bounding box和真实位置区域的交并比(IOU,
式中:Pr表示网格中存在目标的概率值。若一个网格中出现了目标,Pr=1;若没有出现目标,则Pr=0,那么Con=0。Ainter(Apred∩Atruth)表示预测目标框和真实目标框的交集部分面积,Asum(Apred∪Atruth)表示预测目标框和真实目标框的并集部分面积,
当网格中检测到目标时,需要进一步对目标的类别进行预测,并且用Pr-class|object表示预测得到的概率值。将类别预测得到的概率与置信度Con相乘,得到某个类别M的置信度Con(M):
2.2 基于YOLOv2-voc多目标检测识别模型的改进
YOLOv2利用了anchor boxes来预测bounding boxes,去掉最后的全连接层部分,网络结构采用卷积层和池化层,图片尺寸由原来的448 pixel×448 pixel调整为416 pixel×416 pixel,利用YOLOv2对图像进行了32倍的降采样,最终输出的特征图尺寸是13 pixel×13 pixel,这样可以产生一个中心栅格,用这个中心栅格去预测落在图像中心的物体。为了得到多目标检测识别效果更好的网络,本文在YOLOv2-voc网络结构的基础上,调整网络中的参数(
表 1. 网络框架
Table 1. Network framework
|
图 2. 不同模型的测试结果。(a)模型1;(b)模型2;(c)模型3;(d)模型4;(e)模型5;(f)模型6
Fig. 2. Test results of different models. (a) Model 1; (b) model 2; (c) model 3; (d) model 4; (e) model 5; (f) model 6
模型1采用的是YOLOv2-voc模型,该网络结构包括5个最大池化层和23个卷积层,使用linear激活函数,并且设置初始学习率为0.001;模型2在模型1的基础上调整初始学习率为0.0001;模型 3则把学习率设置为0.01;模型4在模型1 的基础上加入了1个平均池化层,并且去掉3个卷积层;模型5在模型4的基础上将最后一层激活函数改为ReLU;模型6则是在模型1的基础上去掉了3个卷积层。
从
为验证该模型的有效性,在训练前使用随机放缩、调整曝光度和饱和度等处理方法来增强样本数据,提高数据的多样性。在深度卷积神经网络中,卷积层的作用是提取更深层次的特征,卷积层数越多意味着提取到的特征越细小;每增加一个卷积层,便会增加对应神经元的数量,网络中的参数随之增加,模型就变得更复杂,模型的参数调节难度更大,更容易出现过拟合。因此根据YOLOv2-voc的网络结构,将第19~21层的卷积层去掉,形成如
3 实验结果及分析
3.1 实验准备
实验的硬件配置为:工作站服务器采用容天SCW4750;采用 Intel i7-6800 CPU,1个NVIDIA GTX1080TI 11G,8个32 GB内存。软件配置如下:操作系统为 Ubuntu 16.04,深度神经网络参数配置平台为Darknet框架。
3.2 数据样本
基于深度学习的车型识别方法需要从数据样本中学习特征,因此采用的数据集必须具有代表意义,才能够更好地学习目标特征。为验证本文方法的有效性,所使用的数据样本是从互联网上采集而来,其中包含4种车型(大卡车、公交车、面包车、小汽车),每种车型均包含300幅图像,对所有数据样本的位置进行标定,制作VOC数据集。为满足Darknet框架模型基本数据量的要求,对训练集的数据样本进行随机裁剪、旋转、对比度调整等数据增强操作,得到更加丰富的数据样本作为模型的训练数据集。部分数据样本如
图 4. 车型数据样本。(a)汽车;(b)面包车;(c)公交车;(d)大卡车
Fig. 4. Model data sample. (a) Car; (b) van; (c) bus; (d) truck
3.3 实验结果及分析
3.3.1 模型验证结果分析
对典型的YOLOv2、YOLOv2-voc、YOLOv3模型和改进的YOLOv2-voc_mul模型进行对比,使用预训练得到的网络模型对YOLOv2、YOLOv2-voc和YOLOv2-voc_mul网络模型参数分别进行初始化。在训练时,将初始学习率设为0.001,在迭代10000次、20000次和40000次时,以之前的10%来改变学习率,得到权重不同的多目检测模型。数据集中的样本车辆目标为简单背景下的大目标,导致YOLOv3模型在训练过程中是“Nan”,不适用于本文所制作的数据集,该模型更适用于小目标的检测。最终用验证集比较所得到的多目标检测效果。
1) 损失曲线分析
图 5. 不同模型的损失曲线图。(a) YOLOv2;(b) YOLOv2-voc;(c) YOLOv3;(d) YOLOv2-voc_mul
Fig. 5. Loss graphs of different models. (a) YOLOv2; (b) YOLOv2-voc; (c) YOLOv3; (d) YOLOv2-voc_mul
2) 准确性分析
本文进一步对验证集进行测试,结果如
表 2. 测试结果
Table 2. Test results
|
由
为了将
图 6. 不同模型的验证结果。(a) YOLOv2;(b) YOLOv2-voc;(c) YOLOv3;(d) YOLOv2-voc_mul
Fig. 6. Verification results of different models. (a) YOLOv2; (b) YOLOv2-voc; (c) YOLOv3; (d) YOLOv2-voc_mul
3) 检测结果分析
为进一步验证模型的效果,训练不同权重模型对检测结果的影响。本文将YOLOv2-voc_mul模型以0.001的初始学习率在经过训练后得到了迭代60000次和70000次的权重模型,对不同的权重模型进行车辆多目标的检测,对检测结果进行直观的对比,结果如
图 7. 不同迭代次数时的测试结果。(a) 60000次;(b) 70000次
Fig. 7. Test results at different number of iterations. (a) 60000; (b) 70000
在验证集样本上测试不同权重的检测模型,发现:该模型用训练60000次的权重进行检测时,将面包车误检为小汽车,将小汽车误检为大卡车,出现了明显的误检现象;而当使用训练70000次的权重进行检测时,则该误检现象被消除。由以上实验可得:YOLOv2-voc_mul模型训练70000次学习到的特征更全面,消除了误检现象,可以正确识别出大卡车、公交车、面包车、小汽车4种车型,识别效果良好。
3.3.2 实验对比结果及分析
在车型识别检测的实验中,选择用YOLOv2、YOLOv2-voc、YOLOv3和YOLOv2-voc_mul模型的平均精度均值(mAP)进行对比分析。使用YOLOv2、YOLOv2-voc、YOLOv3和YOLOv2-voc_mul模型迭代70000次后得到相同初始化后的车型识别检测模型,检测验证集样本结果如
不同模型检测mAP的比较
Comparison of mAP value in different models
Model | mAP /% | |||
---|---|---|---|---|
Truck | Bus | Van | Car | |
YOLOv2 | 86.45 | 84.16 | 82.37 | 86.88 |
YOLOv2-voc | 87.61 | 85.22 | 83.02 | 87.31 |
YOLOv3 | 83.35 | 81.83 | 77.96 | 83.92 |
YOLOv2-voc_mul | 88.72 | 88.56 | 86.64 | 89.03 |
检测结果表明:YOLOv2检测4种车型的mAP为84.97%,YOLOv2-voc检测4种车型的mAP为85.79%,YOLOv3检测4种车型的mAP为81.77%,YOLOv2-voc_mul模型检测4种车型的mAP则达到88.24%;由于面包车的特征比较难区分,YOLOv2检测的mAP为82.37%,YOLOv2-voc检测的mAP为83.02%,YOLOv3的mAP只有77.96%,YOLOv2-voc_mul模型的mAP则提高到了86.64%。可见,YOLOv2-voc_mul模型对不同车型具有更高的识别率和更好的分类效果。
3.4 多目标识别检测结果及分析
在深度学习中,训练过程所使用的数据样本对训练结果的影响很大,简单背景下的单目标特征明显,在训练过程过中容易学习,识别率高;而实际道路目标的背景非常复杂且存在许多干扰因素,特征的学习相对较难,识别率自然较低,因此需要样本丰富多样且具有代表性。只采用互联网收集的简单背景下的车型不符合实际情况,因此本研究对训练样本进行了扩充,增加500幅在实际交通环境下拍摄的不同车型样本图像,部分训练样本如
3.4.1 实际道路目标检测结果
对增加实际道路目标样本之后的数据集训练70000次后,4种模型在验证集上得到的检测结果如
图 9. 不同模型的检测结果。(a) YOLOv2模型;(b) YOLOv2-voc模型;(c) YOLOv3模型;(d) YOLOv2-voc_mul模型
Fig. 9. Test results of different models. (a) YOLOv2 model; (b) YOLOv2-voc model; (c) YOLOv3 model; (d) YOLOv2-voc_mul model
YOLOv2模型在检测时漏检了
3.4.2 单目标和实际道路多目标检测结果对比分析
为进一步证明YOLOv2-voc_mul模型的适用性,本文用增加后的数据集进行迭代70000次的单目标和多目标分类检测实验,实验结果的平均准确率如
表 4. 不同模型检测mAP的比较
Table 4. Comparison of mAP value in different models
|
在对单目标和多目标的不同车型进行检测时,两者的平均准确率分别为92.21%和89.44%。从
4 总结
针对实际交通环境下车辆的多目标车型检测问题,利用深度学习Darknet框架下的YOLOv2目标检测算法,通过对YOLOv2、YOLOv2-voc和YOLOv3模型参数的分析,根据车型的特征及车辆的运动特征,进行不同网络模型的训练和对比,提出了一种检测精确度较高的YOLOv2-voc_mul模型。通过对所建立的模型进行大量实验,发现改进的YOLOv2-voc_mul模型对简单背景下的单目标实验正确率可以达到92.21%,在复杂背景下的正确率也达到了89.44%。相比于传统的机器学习方法,该方法提高了检测的准确率和运行效率。
[1] 王得成, 陈向宁, 赵峰, 等. 基于卷积神经网络和RGB-D图像的车辆检测算法[J]. 激光与光电子学进展, 2019, 56(18): 181003.
[2] 华夏, 王新晴, 王东, 等. 基于改进SSD的交通大场景多目标检测[J]. 光学学报, 2018, 38(12): 1215003.
[3] 屈治华, 邵毅明, 邓天民, 等. 复杂光照条件下的交通标志检测与识别[J]. 激光与光电子学进展, 2019, 56(23): 231009.
[4] 张敦凤, 高宁化, 王姮, 等. 基于分块LBP融合特征和SVM的人脸识别算法[J]. 传感器与微系统, 2019, 38(5): 154-156, 160.
Zhang D F, Gao N H, Wang H, et al. Face recognition algorithm based on block LBP fusion feature and SVM[J]. Transducer and Microsystem Technologies, 2019, 38(5): 154-156, 160.
[5] 郭健. 基于局部特征的图像匹配算法研究[D]. 南京: 南京邮电大学, 2018.
GuoJ. Research of image matching algorithm based on local features[D]. Nanjing: Nanjing University of Posts and Telecommunications, 2018.
[6] 王文秀, 傅雨田, 董峰, 等. 基于深度卷积神经网络的红外船只目标检测方法[J]. 光学学报, 2018, 38(7): 0712006.
[7] 金立生, 王岩, 刘景华, 等. 基于Adaboost算法的日间前方车辆检测[J]. 吉林大学学报(工学版), 2014, 44(6): 1604-1608.
Jin L S, Wang Y, Liu J H, et al. Front vehicle detection based on Adaboost algorithm in daytime[J]. Journal of Jilin University(Engineering and Technology Edition), 2014, 44(6): 1604-1608.
[8] 郑武兴, 王春平, 付强. 改进的KCF红外空中目标跟踪方法[J]. 激光与红外, 2017, 47(12): 1553-1558.
Zheng W X, Wang C P, Fu Q. Improved KCF infrared aerial target tracking method[J]. Laser & Infrared, 2017, 47(12): 1553-1558.
[9] 赵恒, 安维胜. 结合深度学习的图像显著目标检测[J]. 激光与光电子学进展, 2018, 55(12): 121003.
[10] GirshickR, DonahueJ, DarrellT, et al. Rich feature hierarchies for accurate object detection and semantic segmentation[C]∥2014 IEEE Conference on Computer Vision and Pattern Recognition, June 23-28, 2014. Columbus, OH, USA. New York: IEEE, 2014: 8- 13.
[11] 李云鹏, 侯凌燕, 王超. 基于YOLOv2的复杂场景下车辆目标检测[J]. 电视技术, 2018, 42(5): 100-106.
Li Y P, Hou L Y, Wang C. Vehicle object detection in complex scene based on YOLOv2[J]. Video Engineering, 2018, 42(5): 100-106.
[12] 张琦, 胡广地, 李雨生, 等. 改进Fast-RCNN的双目视觉车辆检测方法[J]. 应用光学, 2018, 39(6): 832-838.
[13] 冯小雨, 梅卫, 胡大帅. 基于改进Faster R-CNN的空中目标检测[J]. 光学学报, 2018, 38(6): 0615004.
[14] RedmonJ, DivvalaS, GirshickR, et al. You only look once: unified, real-time object detection[C]∥2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 27-30, 2016. Las Vegas, NV, USA. New York: IEEE, 2016: 779- 788.
[15] LiuW, AnguelovD, ErhanD, et al.SSD:single shot multibox detector[M] ∥Computer Vision-ECCV 2016. Cham: Springer International Publishing, 2016: 21- 37.
[16] 宋焕生, 张向清, 郑宝峰, 等. 基于深度学习方法的复杂场景下车辆目标检测[J]. 计算机应用研究, 2018, 35(4): 1270-1273.
Song H S, Zhang X Q, Zheng B F, et al. Vehicle detection based on deep learning in complex scene[J]. Application Research of Computers, 2018, 35(4): 1270-1273.
[17] 朱明明, 许悦雷, 马时平, 等. 改进区域卷积神经网络的机场检测方法[J]. 光学学报, 2018, 38(7): 0728001.
[18] 陆星家, 郭璘, 陈志荣, 等. 基于外观和运动的车辆检测和追踪算法研究[J]. 计算机工程, 2014, 40(8): 152-157.
Lu X J, Guo L, Chen Z R, et al. Study on vehicle detection and tracking algorithms based on appearance and motion[J]. Computer Engineering, 2014, 40(8): 152-157.
[19] 李珣, 刘瑶, 李鹏飞, 等. 基于Darknet框架下YOLO v2算法的车辆多目标检测方法[J]. 交通运输工程学报, 2018, 18(6): 142-158.
Li X, Liu Y, Li P F, et al. Vehicle multi-target detection method based on YOLO v2 algorithm under darknet framework[J]. Journal of Traffic and Transportation Engineering, 2018, 18(6): 142-158.
[20] 李明, 景军锋, 李鹏飞. 应用GAN和Faster R-CNN的色织物缺陷识别[J]. 西安工程大学学报, 2018, 32(6): 663-669.
Li M, Jing J F, Li P F. Yarn-dyed fabric defect detection based on GAN and Faster R-CNN[J]. Journal of Xi'an Polytechnic University, 2018, 32(6): 663-669.
[21] LiX, LiuY, Zhao ZF, et al. A deep learning approach of vehicle multitarget detection from traffic video[J]. Journal of Advanced Transportation, 2018( 11): 1- 11.
Article Outline
李珣, 时斌斌, 刘洋, 张蕾, 王晓华. 基于改进YOLOv2模型的多目标识别方法[J]. 激光与光电子学进展, 2020, 57(10): 101010. Xun Li, Binbin Shi, Yang Liu, Lei Zhang, Xiaohua Wang. Multi-Target Recognition Method Based on Improved YOLOv2 Model[J]. Laser & Optoelectronics Progress, 2020, 57(10): 101010.