张长伦 张翠文
摘 要:随着机动化的成熟,更多的行人、车辆甚至天气等因素导致城市交通场景日趋复杂,且智能化的发展使得无人驾驶技术快速发展。更好地监测城市道路交通和完善无人驾驶场景归结为提高目标检测算法精准度问题。本文为了更准确地检测真实场景下的城市道路交通图片,首先利用非局部均值滤波(NLM)去除图片中的噪声,突出目标信息和位置,然后利用YOLOv5算法对交通图片进行目标检测,得到了更加精准的定位效果。
关键词:目标检测 交通场景 YOLOv5 非局部均值滤波
中图分类号:TP391.4 文献标识码:A 文章编号:1674-098X(2021)03(a)-0172-03
Research on Urban Traffic Object Detection Based on YOLOv5
ZHANG Changlun ZHANG Cuiwen
(College of Science, Beijing University of Civil Engineering and Architecture, Beijing, 102600 China)
Abstract: With the maturity of motorization, more pedestrian, vehicle and even weather factors lead to the increasingly complex city traffic scene, and the development of intelligent technology makes the rapid development of driverless technology. Better monitoring of city road traffic and improving the unmanned driving scene can be attributed to the problem of improving the accuracy of object detection algorithm. In this paper, in order to more accurately detect the city road traffic images in the real scene, we first use the non-local mean filter (NLM) to remove the noise in the image, highlight the object information and location, and then use the YOLOv5 algorithm to detect the traffic image, and get a more accurate positioning effect.
Key Word: Object detection; Traffic scene; YOLOv5; Non-local mean filtering
近年来人工智能[1]的发展推动了机动车无人驾驶技术的出现,但无人驾驶技术需要感知周围复杂的交通场景,如行人、车辆,信号灯等。并且智能城市化交通监测系统同样要精准地识别与定位目标,这就需要成熟的目标检测技术作为算法支撑[2]。
为了提升目标检测的速度,使其能到达实时的效果,Joseph于2016年提出YOLO[3]算法,处理图片速度为45张/s,是首个端到端的目标检测算法。将特征提取和分类识别融入一个网络,成为一阶段算法。但由于没有两阶段目标检测算法的提前设置锚框,所以精度逊色于FasterR-CNN,所以该作者在同年提出YOLOv2[4],又于2018年提出YOLOv3[5],将两阶段算法中预设锚框的想法融入YOLO中,使得算法在速度达到实时效果的同时精度超过两阶段算法。不管是交通视频的监控,还是自动驾驶需要感应周围的复杂路况,都需要准确的目标检测精度与实时的速度,YOLOv5可以进一步完善监测系统与自动驾驶。
城市道路的监测图片容易受到天气、亮度等因素的影响导致不清晰,进而影响目标检测的准确性。图像去噪技术是处理图片的重要手段[6]。本文为了更好地识别城市交通场景图片,首先利用非局部均值去噪方法去除图片中的噪声,然后利用YOLOv5目标检测算法识别图片中的目标并且进行定位。本文第一部分对目标检测与图片去噪方法进行简述,第二部分对YOLOv5与非局部均值滤波算法进行概述,第三部分展示实验效果。
1 算法简介
1.1 非局部均值滤波去噪
非局部均值滤波是为了去除图片中的噪声,使得图片达到平滑效果,利用高斯加权平均并根据图像中其他点的像素值与某点像素值的相似度求得权重,然后计算去噪后每个点新的权重值。將图像中的像素点集合设置为,i表示图像中的像素位置,表示该像素位置的像素值,v(i)表示整张图像的位置集合。非局部均值滤波去噪公式为:
(1)
其中表示去噪后的每个像素值,j表示集合I中除了像素i外的其他像素值,v(j)为图片位置的像素值,表示其他像素点对像素点i的权重。是以像素j为中心的7×7大小的矩形块与以像素i为中心的7×7矩阵块的欧式距离做高斯加权平均计算得到,公式为:
(2)
(3)
其中分别为像素i,j的7×7的矩阵块,表示两个矩阵块之间的欧式距离,距离越大,代表两个矩阵块之间的相似度越小,表示衰减因子,h越小则代表j对的影响越小,z(i)为归一化因子。而像素值的比较一般不在全图进行,而是选取一个搜索区域,大小设置为21×21。
1.2 YOLOv5
YOLOv5推出v5x、v5l、v5m、v5s四个模型,其中最小的v5s模型只有27MB,仅是245MB的YOLOv4模型的11%,速度达到140张/s,是目前目标检测中速度最快的算法,且精度与YOLOv4模型相当。模型相对于原始的YOLOv3与YOLOv4框架改进不大,在数据增强方面与选择损失函数、选择激活函数方面进行了改进。
数据增强:为了提高数据量与数据多样性,并且将现有数据集取得更为广泛的应用,目标检测最开始会对数据集进行增强处理。与YOLOv4相同,YOLOv5也使用了马赛克增强方法(Mosaic),将四张图片按一定比例组合为一张图片,提高了目标检测对于小目标的检测效果。
自适应学习锚框:YOLOv3与YOLOv4相同,在进行目标检测前学习数据集的真实框从而进行K-means聚类,学得锚框大小的初始值,而对于不同的验证集,使用的初始锚框预设值相同。而YOLOv5在每次进行检测前,都自适应的学习初始锚框大小。所以YOLOv5可以更好地适应不同的数据集。
激活函数:YOLOv5选择Leaky ReLU与Sigmoid作为激活函数,取代了YOLOv4中的Swish的函数。
损失函数:YOLOv4选择CIOU作为坐标值损失函数,而YOLOv5选择GIOU作为坐标值损失函数。
2 实现效果与分析
2.1 实验平台及参数设置
为了检测实验效果,在服务器配置实验环境,具体配置如表1所示。
2.2 实现效果与分析
2.2.1 非局部均值滤波实验效果图
将原始图像经过非局部均值滤波操作后的图像与原始图像对比如图1(d)、(e)、(f)所示。
由图1可知经过NLM后,图像变得更加平滑,对于雨水明显的图片,也将雨水很好地处理掉,使得图片中的目标物体更加突出。
3 结语
本文对非局部均值滤波与YOLOv5进行概述,提出将这两种方法应用于城市交通图像的目标检测中。首先对原始图片经过非局部均值滤波去除由于天气原因造成的噪声,然后利用YOLOv5算法对过滤后的图片进行检测,并与未经过NLM操作的图像进行对比,最后得出经过去噪后再进行检测可以得到更好的定位效果与精度。
参考文献
[1] 崔雍浩,商聪,陈锶奇,等.人工智能综述:AI的发展[J].无线电通信技术,2019,45(3):5-11.
[2] REN S, He K, GIRSHICK R, et al. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2017, 39(6):1137-1149.
[3] REDMON J, DIVVALA S, GIRSHICK R, et al. You Only Look Once: Unified,Real-Time Object Detection [OL]. IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2016,arXiv: 1506.02640, 2016.
[4] REDMON J, FARHADI A. YOLO9000: Better, Faster, Stronger[C]// IEEE Conference on Computer Vision & Pattern Recognition. IEEE, 2017:6517-6525.
[5] REDMON J, FARHADI A. YOLOv3: An Incremental Improvement[J]. arXiv e-prints, 2018.
[6] 唐鑒波,赵波,陈国樑,等.基于均值滤波的雾霾图像快速复原算法[J].电子设计工程,2020,28(1):189-193.