利用铁塔视频图像和改进YOLOv5 的违规施工监测
2024-05-07余添添唐芝青屈伟军肖德勋
余添添,吴 松,唐芝青,屈伟军,肖德勋,李 琪
(1. 北京吉威数源信息技术有限公司,北京 100000;2. 湖南省第二测绘院,湖南 长沙 410000)
铁塔视频是一种近地、实时的对地监测手段,监测频率高、监测粒度细,不易受阴雨天气影响,可实现问题的“早发现、早制止”。以挖掘机、推土机、打桩机等建设施工设备为目标,基于深度学习目标检测算法可及时发现疑似违规/违法施工行为,实现对自然资源高频率、精粒度的监测[1]。铁塔视频数据具有体量大、价值密度低、背景繁多复杂等特点,需配以快速高效的算法模型实现数据的价值“提纯”,因此研究出目标检测速度快、准度高的网络模型是实现铁塔视频违规施工监测的必要前提。YOLO 模型自2015年提取以来已历经多次更新改造,其中YOLOv5 推理速度快、检测精度高,是目前较为广泛使用的目标检测网络,适用于实时视频目标检测[2-4]。
由于铁塔摄像头焦距缩放范围大,挖掘机、推土机、打桩机等建设施工所用到的工程机械设备目标在实际视频中呈现出极大的尺度差异,小目标居多,且背景复杂。而随着网络加深、感受野缓慢增长,容易被大目标主导,小目标提取的特征少,容易被忽略[5-6],因此本文提出一种改进的YOLOv5s算法,提高小目标检测率,以实现对违规/违法施工行为快速、准确的识别。
1 YOLOv5s算法
YOLOv5s 是YOLOv5 的轻量化版本,更适合基于视频的目标实时检测。YOLOv5s模型网络结构由Input部分、Backbone 部分、Neck 部分和Head 部分组成[7],如图1所示。
图1 YOLOv5s结构图
1.1 Input部分
Input部分主要包含数据增强、自适应锚框、自适应图片缩放等。增强方式包括缩放,色彩空间调整和Mosaic,其中Mosaic 增强是通过将4 张图像进行随机缩放、随机裁剪、随机分布方式进行拼接,可使小目标的检测效果得到提升[8]。自适应锚框计算是指YOLOv5会自动按照新的数据集的labels自动学习anchors的尺寸,采用k 均值和遗传学习算法对自定义数据集进行分析,获得适合自定义数据集中对象边界框预测的预设锚定框。自适应图片缩放是指YOLOv5 通过计算图片最适宜的尺寸,使缺边补充范围达到最小,很好地保留了图片的特征[9]。
1.2 Backbone部分
Backbone 部分包括focus 结构和CSP 结构。其中Focus结构使用切片并concat的方式替换池化操作,完成下采样的同时不损失特征。由于减少了卷积层,所以可以减少计算量,同时不损失精度[10]。
YOLOv5 也使用CSPDarknet 作为BackBone 主干网络,其设计了2种CSP结构,CSP1_X应用于Backbone主干网络,另一种CSP2_X 结构则应用于Neck 中。CSP 结构解决了其他大型卷积网络结构中的重复梯度问题,减少模型参数和检测速度,既保证了推理速度和准确率,又减小了模型尺寸[11]。在Backbone最后采用了SPPF 将不同感受也的特征图融合,提高特征图的表达能力,同时速度快于SPPNet[12]。
1.3 Neck部分
Neck部分YOLOv5采用了与YOLOv4一样的FPN+PAN结构,不同点在于YOLOv4的Neck结构中采用的都是普通的卷积操作,而YOLOv5的Neck结构中采用CSP2_X结构,加强网络特征融合的能力[13]。
1.4 Head部分
Head 部分算法采用GIOU_Loss 作为Bounding box的损失函数,GIOU_Loss 损失函数在重叠的目标检测中效果较好,同时YOLOv5 算法合理利用freebie 和specials进行调优处理,平均精度和检测速度都有一定的提升,可以获得最优目标。
2 改进YOLOv5算法
2.1 Mosaic-9数据增强
一个成功的、可工程化应用的深度学习网络大都需要基于大量的样本数据训练,而实际中样本本身数量少,加之在海量视频中寻找包含目标的数据难度大,训练样本十分缺乏,因此需要使用数据增强方法对样本数据进行增广扩充,最大程度上提高模型的泛化能力。
Mosaic 图像增强是在现有样本数据中随机选择4个图像经过裁剪拼接形成新的样本数据,可以丰富样本多样性,增强小目标检测,降低模型对于多样性学习的难度。由于本文选用了挖掘机、推土机、打桩机等目标,小目标多、类别不均衡,因此使用Mosaic-9进行数据增强,具体方法如图2 所示,将随机选取的9 个图像进行随机裁剪并拼接,形成新的样本数据,其优势在于进一步增加了数据量,同时增加了小目标数量,在归一化处理时,会计算9 张图片,不依赖处理参数,减轻了计算量。
图2 Mosaic-9数据增强
2.2 优化特征提取
随着网络加深,网络所提取的特征语音信息丰富,但位置精度会随之降低,尤其是小目标,其影响更为显著,因此文本在CSP1_1 部分增加一个输出特征图,接入NECK 部分。输入数据大小为640×640时,此部分输出的特征图大小为160×160,每个特征对应的感受野为4×4,可更好地检测到小目标,也可在特征融合过程中提供更多信息。
2.3 引入注意力机制
SKNet 是通过一种非线性的多核信息聚合方法实现神经元的自适应感受野大小的算法,是一个基于通道域注意力的轻量级嵌入式模块。SKNet 模块可以对特征通道进行重要性加权,使最终得到的特征图更加关注对检测识别等任务有用的特征通道,并且该模块会自动选择调整最优的卷积算子,因此在特征提取后嵌入SKNet,可对特征通道进行重要性加权,再送入目标检测层,在理论上可以改善检测识别的性能[14]。
如图3所示,SKNet由Split、Fuse及Select部分组成。Split是对原特征图经过不同大小的卷积核进行卷积得到͂和,为了进一步提高效率,将5O5 核替换为3O3 核、步距为2 的膨胀卷积[15]。Fuse 部分基本思想是使用门来控制信息从携带不同信息尺度的多个分支流入下一层的神经元,使得神经元根据刺激信号自适应调整感受野大小。为了实现这个目的,需要整合来自所有分支信息, 将两部分的特征求和̂。Fgp为全局平均池化操作,Ffc为先降维再升维的2 层全连接层,输出的2 个矩阵a和b,其中矩阵b为冗余矩阵,在如图2 个分支的情况下b=1-a。Select是使用跨通道的软注意自适应地选择不同的信息空间尺度。按照信道的方向使用Softmax函数计算每个卷积核的权重。使用a和b两个权重矩阵对͂和进行加权操作,再进行相加得到输出V[15-16]。经过以上3部分改造,得到改进的YOLOv5s网络结构,如图4所示。
图3 SKNet网络结构
图4 改进yolov5s网络结构图
3 实 验
3.1 实验数据集
实验所用训练样本数据为使用湖南省第二测绘院所建立的铁塔检测系统内1779个摄像头的视频帧数据,共计5628张图片,标注后包含目标7873个,并按照7∶2∶1的比例划分训练集和测试集和验证集。
3.2 实验配置与精度评价
实验采用的硬件设备为Intel Core i7-9700k@3.6 GHz,显卡为NVIDIA GeoForce RTX 2080 Ti,显存为11 G,配以CUDA10.0及对应的cudnn以提高计算效率。模型训练批量大小为16,epoch为100,学习率为0.001,采用余弦退火策略降低学习率,衰减系数设置为0.0005。
目标检测常用的评价指标包括平均精度AP、均值平均精度mAP、准确率(Precision,P)和召回率(Recall,R),表达式分别为式(1)、(2)、(3)、(4)。
式中,TP为被正确检测的正样本;FP为被错误检测的正样本;FN为被检测为目标的负样本;n为目标类别数,本文所检测目标只有工程机械一类,因此AP=mAP。
3.3 实验结果分析
为了验证改进算法的有效性,本文对比了YOLOv5s 改进前后的检测效果,改进后AP 值达到了79.63%,而YOLOv5s 的AP 值为74.59%,提升了6.8%。为了进一步证明改进算法的有效性,对比了使用YOLOv5s 改进前后算法的检测结果,如图5~6所示。其中左侧为改进前算法检测效果,右侧为算法改进后检测效果,改进前算法对于背景复杂、隐蔽的小目标、被遮挡的目标等存在漏检情况,改进后的算法弥补了小目标提取效果不好这一缺点的同时,增加了算法的鲁棒性和抗干扰能力。
图5 背景复杂的隐蔽目标
图6 目标被遮挡
为了更直观地展示改进方法的优越性,本文进行了简单的消融实验,实验结果如表1 所示。由表中数据可知,各组改进均可发挥一定提升作用,其中使用Mosaic-9数据增强后,AP提升了0.6%,验证了Mosaic-9数据增强可提升模型目标检测精度和模型的泛化能力;进一步在YOLOv5s中引入4倍下采样,优化特征提取与融合部分后,AP提升了3.4%,提升较为显著,尤其是小目标部分,优化较为明显。在此基础上,引入SKNet注意力模块,AP 提升了6.7%,注意力模块对无用信息进行抑制,使模型更加关注目标,进一步优化了模型。
表1 消融实验结果
4 结论
选用挖掘机、推土机、打桩机等工程机械设备为目标,对违规/违法占用/破坏自然资源现象进行监测。针对目前监测算法中对小目标漏检情况,提出一种改进的YOLOv5s算法。首先采用mosaic-9对数据增强方式进行了改进,增加小目标样本数量,提高了小目标特征信息量;改进网络结构,增加了一个检测尺度,优化了特征提取与特征融合过程,提高了小目标的检测精度。另外在主干网络末尾处增加了注意力模块,通过注意力机制,使模型更加关注感兴趣区域,抑制无用信息和复杂背景的干扰,提高算法的检测准确率。经实验验证,改进后的YOLOv5s算法在没有增加过多的参数和体量的情况下,保证检测效率不降低的同时,对工程机械目标的检测精度有了一定的提高,可满足工程化生产使用。今后可进一步扩充样本数据集,并对模型的网络结构做进一步的调整,以达到更优的检测效果。