delete paper
1 设计方案 1.1需求分析 如今国家越来越重视安全生产,安全生产是企业生存发展的第一要素,根据建筑工地安全检查标准,进入施工现场必须佩戴安全帽及穿着反光衣,但是各个单位的安全教育不足以把这项举措落实,不少在岗工人存在侥幸心理,导致事故的发生。所以,人工智能技术对安全帽佩戴和反光衣穿着情况的检测更能准确快速的消除场地安全隐患。 1.2 国内外研究现状 安全生产是企业生存和发展的第一要素。根据《JGJ59-99建筑施工安全检查标准》,进入施工现场必须戴安全帽,各行业的作业规范中也对佩戴安全帽做了严格的规定。如今国家也是越来越重视安全生产,各个企业也都采取各种措施来保障员工的安全,从而保障企业的利益。尽管各单位经常对工人进行安全教育,但总是存在着在岗工人不佩戴安全帽及不穿着反光衣等相关安全措施危险作业,总有心存侥幸者因为各种理由不能保证时刻佩戴,由于未佩戴安全帽及穿着反光衣而造成的伤亡时有发生。安全帽佩戴管理及反光衣穿着成为一大难点。但是,现在很多地方还是采取人力盯梢的方式,用人眼通过相机或者现场检查有无场内人员不佩戴安全帽和穿着反光衣的情况,但巡查人员不可能全天候盯着,这就需要借助科技手段来实现监督。安全员不可能一直守在现场,而且作业现场环境复杂,点多面广,要做到不出纰漏几乎是不可能的。不论是生产企业还是监管部门,对安全生产既重视又困惑。配置安全帽识别和反光衣检测系统利用人工智能技术来帮助我们节省成本,堵塞监管漏洞。通过安全帽识别系统核心算法将AI深度学习应用于图片分析,对施工现场工作人员进行安全帽佩戴检测,检测速度快,识别率高,配置简便,大大提升了现场管理水准,为智慧工地安全管控增加强有力的技术保障。1.3 设计目标 本设计是通过监控设备或无人机等监控设备,获取建筑施工现场管理人员以及工人作业情况,并返回实时数据。将获取到的视频数据进行提取帧画面,并送入YOLOv7神经网络中进行安全帽佩戴检测以及反光衣穿着检测。如果发现建筑施工现场人员出现未按规定佩戴安全帽或者未按规范进行反光衣穿着,则及时将信息反馈给安全监管人员,以起到安全预警作用。 2 实现方案 2.1 数据获取 安全帽佩戴和反光衣穿着检测需要大量数据集,数据集包括施工现场数据和网络爬虫数据,主要的数据源是对施工现场进行拍摄获取照片,我们通过筛选保存了合适的数据,我们保留了3000张图片,并且汇总成了一个数据集作为基础。建筑工地中有很多种岗位,我们的数据集涵盖了所有的种类,以及增加了现场指挥时的一些图片。所抓取到的图片内容主要是建筑工地现场施工的照片,照片内容主要分为四类:带有安全帽、带有反光衣、没有安全帽、没有反光衣。 2.2 YOLO模型 2.2.1 YOLO简介 YOLO网络是一个以目标检测为目标设计的网络。YOLO系列算法的主要思想是:输入一个图像,首先将图像划分成SxS的网络。对于每个网格,都预测B个边框,预测出SxSxB个目标窗口,然后根据阈值去除可能性比较低的目标窗口,最后NMS去除冗余窗口。YOLO网络仅使用卷积层,属于全卷积网络。这在减少了参数变量的同时,加快了网络的运行速度。相比于其他神经网络,YOLO系列神经网络通过合理的设计,成功地将目标检测问题转化为回归问题,因而直接通过网络产生物体的位置和所属类别信息。而其他主流网络,大多数需要对已经过神经网络处理输出的图像进行再处理。 2.2.2 YOLO的一般框架 YOLO架构基于FCNN(全卷积神经网络),基于Transformer的版本也被添加到了YOLO系列中。YOLO 框架具有三个主要组件:Backbone、Head、Neck。Backbone主要提取图像的基本特征,并通过Neck将它们馈送到Head。Neck收集由Backbone提取的特征图并创建特征金字塔。最后,头部由具有最终检测的输出层组成。 2.2.3 图像分割 在YOLO中,一张输入图像首先被分成了S×S个均等大小的栅格,每一个格子都称作一个grid cell。YOLO创造性的将候选区和对象识别这两个阶段合二为一,看一眼图片就能知道有哪些对象以及它们的位置。实际上,YOLO并没有真正去掉候选区,而是采用了预定义的候选区。 2.2.4 Bounding boxes 预测 分割后的图像分成两路来处理。在 bounding boxes + confidence步骤中, YOLO 为每一个栅格给出了两个基于栅格中心点的预测框,大小自定义。每一个栅格预测B个bounding boxes,每个bounding boxes 有四个坐标和一个置信度,所以最终的预测结果是S×S×(B * 5 + C)个向量。class probablity map是和bounding boxes + confidence一同进行的,负责的是栅格的类别,预测的结果一样是放在最后的结果中。 2.3 YOLOv7算法创新点 模型结构重参化和动态标签分配得到优化。从近几年来看,模型结构重参化和动态标签分配已经成为了目标检测领域中的主要优化方向。针对于结构重参化,YOLOv7算法是过分析梯度的传播路径来为网络中的不同层进行结构重参化优化,并且提出了不同规划的模型结构重参化。在动态标签分配上,因为模型有多个输出层,所以在训练时就难以为不同的分支分配更好地动态目标。YOLOv7算法提出了一个新的动态标签分配办法:coarse-to-fine,即由粗到细引导标签分配的策略YOLOv7算法还提出了扩展和复合缩放的方式,通过这种方式可以更高效利用参数量和计算量。这样不仅可以减少大量参数,还可以提高推理速度以及检测精度。这个其实和YOLOv5或者YOLOv4所使用不同规格分化成几种模型类似,既可以是width和depth的缩放,也可以是module的缩放,并且设计了几个可以训练的bag-of-freebies。这样使得模型在不更改本身结构时,大大提高检测精度。 2.4 YOLOv7算法原理 2.4.1 模型改进 YOLOv7是YOLO系列中最先进的新型目标检测器,它是迄今为止最快、最准确的实时目标检测器。YOLOv7是针对普通GPU计算优化的基础模型,目前模型精度和推理性能比较均衡的是yolov7 模型。整体上和YOLOV5是相似的,主要是网络结构的内部组件的更换、辅助训练头、标签分配思想等YOLOv7里使用的是CSPVOVNet,是VoVNet的一种变体。CSPVoVNet不仅考虑到了前面所提到的模型设计问题,还分析了梯度的在模型中流动路径,通过这个来使得不同层的权重能够学习到更加多样化的特征。不管是训练阶段还是推理阶段,以上方法都能起到不错的效果,尤其是在推理方面。可以提升推理的速度与精度。 YOLOv7在不增加推理成本的情况下,大大提高了实时目标检测精度。与其他已知物体检测器相比,YOLOv7可以有效减少最先进的实时物体检测约40%的参数和50%的计算量,并实现更快的推理速度和更高的检测精度。总的来说,YOLOv7提供了更快更强的网络架构,提供了更有效的特征集成方法、更准确的目标检测性能、更鲁棒的损失函数以及更高的标签分配和模型训练效率。 2.4.2 YOLOv7框架 YOLOv7架构基于之前的YOLO模型架构。扩展高效层聚合网络(E-ELAN)。YOLOv7骨干网中的计算块被命名为E-ELAN,代表扩展高效层聚合网络。YOLOv7的E-ELAN架构通过使用“expand、shuffle、merge cardinality”使模型能够更好地学习,达到在不破坏原有梯度路径的情况下不断提升网络学习能力的能力。 2.4.3标签分配 在网络的训练中,标签分配通常是指GT,这个是硬标签,但近年来,需要研究者会利用网络的推理结果来结合GT,去生成一些软标签,如IOU。在YOLOv7中,有辅助头也有引导头,在训练时,它们二者都需要得到监督。 2.4.4 YOLOv7复合模型缩放 模型缩放的主要目的是调整模型的关键属性,生成满足不同应用需求的模型。例如,模型缩放可以优化模型宽度(通道数)、深度(阶段数)和分辨率(输入图像大小)。在具有基于级联架构的传统方法中,不能独立分析不同的缩放因子,必须一起考虑。例如,放大模型深度会导致过渡层的输入通道和输出通道之间的比率发生变化,进而可能导致模型的硬件使用量减少。这就是YOLOv7为基于串联的模型引入复合模型缩放的原因。复合缩放方法允许保持模型在初始设计时具有的属性,从而保持最佳结构。 2.4.5 训练策略 BoF或Bag of Freebies 是在不增加训练成本的情况下提高模型性能的方法。YOLOv7引入了以下 BoF 方法。 1.计划重参数化卷积 重新参数化是训练后用于改进模型的一种技术。它增加了训练时间,但提高了推理结果。有两种类型的重新参数化用于最终确定模型,模型级和模块级集成。模型级别的重新参数化可以通过以下两种方式完成。使用不同的训练数据但相同的设置,训练多个模型。然后平均它们的权重以获得最终模型。取不同时期模型权重的平均值。最近,模块级别的重新参数化在研究中获得了很大的关注。在这种方法中,模型训练过程被分成多个模块。输出被集成以获得最终模型。 2.Coarse for Auxiliary and Fine for Lead loss 标签分配器是一种将网络预测结果与基本事实一起考虑然后分配软标签的机制。需要注意的是,标签分配器不会生成硬标签,而是生成软标签和粗标签。 Lead Head Guided Label Assigner 封装了以下三个概念:Lead Head、Auxiliary Head、Soft Label Assigner。YOLOv7网络中的 Lead Head 预测最终结果基于这些最终结果生成软标签,重要的部分是基于生成的相同软标签计算前导头和辅助头的损失,最终,两个头部都使用软标签进行训练。如下图左图所示。之所以这样做,是因为lead head具有比较强的学习能力,所以由它生成的软标签应该更能代表源数据和目标之间的分布和相关性。通过让较浅的辅助头直接学习领头人学习过的信息,领头人将更能专注于学习尚未学习的残留信息。 2.5 YOLOv7算法的应用 2.5.1 目标检测 YOLO(You Only Look Once)将目标检测概括为一个回归问题,实现端到端的训练和检测,由于其良好的速度(精度平衡),近几年一直处于目标检测领域的领先地位,被成功地研究、改进和应用到众多不同领域。传统目标检测依赖精巧的手工特征设计与提取,例如方向梯度直方图。2012年,基于深度卷积神经网络(Convolutional Neural Network,CNN)的 AlexNet 以显著优势夺得 ImageNet 图像识别比赛冠军,从此深度学习开始受到广泛的关注,目标检测也逐步进入深度学习时代。YOLO还可通过引入注意力机制来提高算法的检测精度。注意力机制被应用于许多计算机视觉任务,如图像分类等。从原理上来讲,注意力模型可分为空间型,通道型和混合型三种。 2.5.2 数据集及指标 1.VOC数据集 VOC数据集是计算机视觉中常用的数据集之一,主要任务有:分类、检测和分割。针对检测任务,典型的VOC2007由 train/val/test 三部分组成,而 VOC2012 则将训练集和验证集组合起来分为 trainval/test 两部分。VOC中物体可分4大类,亦可细粒度的分为 20类,其中,“person”类实例最多,“sheep”是数据实例最少的类,此外,VOC还存在一定的检测难度,例如“cat”和“dog”在视觉上较相似。 对于VOC数据集,使用插值平均精度来评估分类和检测。其设计是为了在出现重检测,误检测以及目标丢失时对算法进行惩罚。 2.COCO数据集 随着深度学习的发展,VOC数据集的规模略显不足,业界需要新的数据集,其中COCO是最著名的一个。可用来图像识别、分割、检测等任务。分为训练、验证和测试集。目标检测赛道其主要特点如下:(1)多目标;(2)部分对象存在遮挡与噪声; (3)包含各种尺寸的物体;(4)超过300000张图片; (5)超过2000000个实例;(6)80个目标类别。 COCO中单图的平均目标数是VOC的3倍左右,且小目标居多。在种类方面,COCO平均每幅图片包含3.5个类别。 COCO的指标比VOC更严格,采用多IoU评估方法更关注边界框的准确性。在阈值设置方面,不同于VOC的常值0.5,COCO将其分为以0.5为起始值,0.95为终止值,间隔为0.05的10个值。通过计算不同阈值的平均精度,来确定度量标准,更能反映检测算法的综合性能。此外,COCO还分别计算了大、中、小3类物体的平均精度,来衡量检测器检测不同尺度目标的性能。在COCO评价指标 中,所有的AP默认为mAP。 3.VisDrone数据集 截止目前,各领域对于无人机的应用需求非常广泛。VisDrone数据集发布于2018年,并在 2019年由天津大学等进行扩展。为目标检测提供了10209张图片,其中6471张图像用于训练,548张用于验证,3190张用于测试,同时还提供了96个用于目标检测的视频剪辑,包括56个用于训练,7个用于验证和33个用于测试。相对而言,VisDrone数据集场景复杂,遮挡情况严重,同时标签密集,对算法的要求也随之上升。VisDrone数据集采用COCO的度量指标。 4.其它 除了上述典型数据集,各行业的具体需求催生一些检测比赛,使智能检测应用至各个领域。 3 实验数据与结果 3.1 实验条件 模型的训练与测试都在同一设备进行,实验设配置为:操作系统为 Windows 10,CPU 为 IntelⓇ i3 - 8100,GPU 为 NVIDIA GTX 1660 SUPER,内存为 16 GB,开发环境为 Python 3.10、Pytorch 1.5、Cuda 10.1、 Cudnn 7.6。 使用 Adam 优化器对网络进行优化,使用固定步长衰减进行学习率的调整,实验 中的学习率设为 0. 001,step_size 取为 2,gamma 取0.95,批处理大小设为16,衰减系数设为 0.0005,动量设为 0.9。 3.2 实验数据集 实验使用的数据集是一个包含3000张工地现场作业的小规模图像数据集,其中图像包括单人落水以及多人落水情况其中图像包括单人和多人的情况。数据是在施工现场拍摄以及网路爬虫数据所得,将不同场景下的拍摄所得图像作为数据集,通过YOLO系列算法常用的数据集标注工具 LabelImg 手工标注图像中目标的矩形框坐标以及标签值,并生成相对应的 xml 配置文件。为保证训练的数据尽可能多以及测试集的普遍性,将数据集按 9∶ 1 的比例划分为训练集与测试集。 3.3 模型评估 采用的模型评估指标主要包括: 调和均值和平均精确度。平均精确度与调和均值是同时考虑精确率和召回率的量化指标,它们的数值越大,识别效果越好。 4 特色创新 安全帽佩戴及反光衣穿着检测能够有效的预防工地事故的发生,既提高工人的安全保障,也能提高工地危险因素的排查速度。YOLO网络是一个以目标检测为目标设计的网络。YOLO系列算法的主要思想是:输入一个图像,首先将图像划分成SxS的网络。对于每个网格,都预测B个边框,预测出SxSxB个目标窗口,然后根据阈值去除可能性比较低的目标窗口,最后NMS去除冗余窗口。YOLO网络仅使用卷积层, 属于全卷积网络。这在减少了参数变量的同时, 加快了网络的运行速度。相比于其他神经网络,YOLO系列神经网络通过合理的设计,成功地将目标检测问题转化为回归问题,因而直接通过网络产生物体的位置和所属类别信息。而其他主流网络,大多数需要对已经过神经网络处理输出的图像进行再处理。 本项目使用的YOLOv7算法,YOLOv7算法继承了前面所有YOLO算法的优点,并且,YOLOv7是YOLO系列中最先进的新型目标检测器,它是迄今为止最快、最准确的实时目标检测器,尤其是在推理方面可以提升推理的速度与精度。YOLOv7在不增加推理成本的情况下,大大提高了实时目标检测精度。与其他已知物体检测器相比,YOLOv7可以有效减少最先进的实时物体检测约40%的参数和50%的计算量,并实现更快的推理速度和更高的检测精度。总的来说,YOLOv7提供了更快更强的网络架构,提供了更有效的特征集成方法、更准确的目标检测性能、更鲁棒的损失函数以及更高的标签分配和模型训练效率。 5 总结与展望 5.1 总结 在本次项目的研究中,我们使用了YOLOv7算法实现了对工地作业照片的安全帽佩戴及反光衣穿着的检测。配置该识别系统利用人工智能技术来帮助我们节省成本,堵塞监管漏洞。通过安全帽识别系统核心算法将AI深度学习应用于图片分析,对施工现场工作人员进行安全帽佩戴及反光衣穿着检测,检测速度快,识别率高,配置简便,大大提升了现场管理水准,为智慧工地安全管控增加强有力的技术保障。但是跟对视频直接检测安全帽佩戴及反光衣穿着检测比起来,图片检测效率低于视频检测,视频检测范围更大、应用更广,并且视频检测能够对作业的全过程进行检测。所以,我们还将继续探讨基于YOLOv7算法的检测应用,并且下一步将不仅仅对图片进行检测,我们会选择对视频进行检测 。本项目不仅仅可以对安全帽佩戴和反光衣穿着检测,还能应用与口罩佩戴检测和交通规则检测等方面,具有很大的的应用空间。我们会对此进行改进,进一步提高该应用的性能。 5.2 展望 未来,我们将基于本项目设计一个多功能检测类的软件,设计多个模块,实现多种类型的图片和视频方面的目标检测。用户可以输入图片或者视频,从选择列表里面选择需要检测的物体。并且我们将对软件的使用方式进行多方面的思考,例如从用户类别进行思考,一般分为工业、医疗行业、交通行业等,还有各类行业需要检测的物体等方面考虑,便捷用户使用。
随着城市化进程的不断推进,建设工程规模将继续扩大,建筑施工质量安全要求越来越高。在企业作业和工地施工过程中,安全永远高于一切。大家都知道,在进入工作现场是必须佩戴安全帽和穿着工装的,传统的检查方法主要靠安检人员一个一个的检查,这种方法耗时费力且无法保证效果。安全帽识别和工装穿着检测系统能够实时对未佩戴安全帽和未规范穿着工装的行为发出警告,及时提醒监理人员处理,为作业人员筑起一道人工智能的安全防火墙
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
1 设计方案 1.1需求分析 如今国家越来越重视安全生产,安全生产是企业生存发展的第一要素,根据建筑工地安全检查标准,进入施工现场必须佩戴安全帽及穿着反光衣,但是各个单位的安全教育不足以把这项举措落实,不少在岗工人存在侥幸心理,导致事故的发生。所以,人工智能技术对安全帽佩戴和反光衣穿着情况的检测更能准确快速的消除场地安全隐患。 1.2 国内外研究现状 安全生产是企业生存和发展的第一要素。根据《JGJ59-99建筑施工安全检查标准》,进入施工现场必须戴安全帽,各行业的作业规范中也对佩戴安全帽做了严格的规定。如今国家也是越来越重视安全生产,各个企业也都采取各种措施来保障员工的安全,从而保障企业的利益。尽管各单位经常对工人进行安全教育,但总是存在着在岗工人不佩戴安全帽及不穿着反光衣等相关安全措施危险作业,总有心存侥幸者因为各种理由不能保证时刻佩戴,由于未佩戴安全帽及穿着反光衣而造成的伤亡时有发生。安全帽佩戴管理及反光衣穿着成为一大难点。但是,现在很多地方还是采取人力盯梢的方式,用人眼通过相机或者现场检查有无场内人员不佩戴安全帽和穿着反光衣的情况,但巡查人员不可能全天候盯着,这就需要借助科技手段来实现监督。安全员不可能一直守在现场,而且作业现场环境复杂,点多面广,要做到不出纰漏几乎是不可能的。不论是生产企业还是监管部门,对安全生产既重视又困惑。配置安全帽识别和反光衣检测系统利用人工智能技术来帮助我们节省成本,堵塞监管漏洞。通过安全帽识别系统核心算法将AI深度学习应用于图片分析,对施工现场工作人员进行安全帽佩戴检测,检测速度快,识别率高,配置简便,大大提升了现场管理水准,为智慧工地安全管控增加强有力的技术保障。
1.3 设计目标 本设计是通过监控设备或无人机等监控设备,获取建筑施工现场管理人员以及工人作业情况,并返回实时数据。将获取到的视频数据进行提取帧画面,并送入YOLOv7神经网络中进行安全帽佩戴检测以及反光衣穿着检测。如果发现建筑施工现场人员出现未按规定佩戴安全帽或者未按规范进行反光衣穿着,则及时将信息反馈给安全监管人员,以起到安全预警作用。 2 实现方案 2.1 数据获取 安全帽佩戴和反光衣穿着检测需要大量数据集,数据集包括施工现场数据和网络爬虫数据,主要的数据源是对施工现场进行拍摄获取照片,我们通过筛选保存了合适的数据,我们保留了3000张图片,并且汇总成了一个数据集作为基础。建筑工地中有很多种岗位,我们的数据集涵盖了所有的种类,以及增加了现场指挥时的一些图片。所抓取到的图片内容主要是建筑工地现场施工的照片,照片内容主要分为四类:带有安全帽、带有反光衣、没有安全帽、没有反光衣。 2.2 YOLO模型 2.2.1 YOLO简介 YOLO网络是一个以目标检测为目标设计的网络。YOLO系列算法的主要思想是:输入一个图像,首先将图像划分成SxS的网络。对于每个网格,都预测B个边框,预测出SxSxB个目标窗口,然后根据阈值去除可能性比较低的目标窗口,最后NMS去除冗余窗口。YOLO网络仅使用卷积层,属于全卷积网络。这在减少了参数变量的同时,加快了网络的运行速度。相比于其他神经网络,YOLO系列神经网络通过合理的设计,成功地将目标检测问题转化为回归问题,因而直接通过网络产生物体的位置和所属类别信息。而其他主流网络,大多数需要对已经过神经网络处理输出的图像进行再处理。 2.2.2 YOLO的一般框架 YOLO架构基于FCNN(全卷积神经网络),基于Transformer的版本也被添加到了YOLO系列中。YOLO 框架具有三个主要组件:Backbone、Head、Neck。Backbone主要提取图像的基本特征,并通过Neck将它们馈送到Head。Neck收集由Backbone提取的特征图并创建特征金字塔。最后,头部由具有最终检测的输出层组成。 2.2.3 图像分割 在YOLO中,一张输入图像首先被分成了S×S个均等大小的栅格,每一个格子都称作一个grid cell。YOLO创造性的将候选区和对象识别这两个阶段合二为一,看一眼图片就能知道有哪些对象以及它们的位置。实际上,YOLO并没有真正去掉候选区,而是采用了预定义的候选区。 2.2.4 Bounding boxes 预测 分割后的图像分成两路来处理。在 bounding boxes + confidence步骤中, YOLO 为每一个栅格给出了两个基于栅格中心点的预测框,大小自定义。每一个栅格预测B个bounding boxes,每个bounding boxes 有四个坐标和一个置信度,所以最终的预测结果是S×S×(B * 5 + C)个向量。class probablity map是和bounding boxes + confidence一同进行的,负责的是栅格的类别,预测的结果一样是放在最后的结果中。 2.3 YOLOv7算法创新点 模型结构重参化和动态标签分配得到优化。从近几年来看,模型结构重参化和动态标签分配已经成为了目标检测领域中的主要优化方向。针对于结构重参化,YOLOv7算法是过分析梯度的传播路径来为网络中的不同层进行结构重参化优化,并且提出了不同规划的模型结构重参化。在动态标签分配上,因为模型有多个输出层,所以在训练时就难以为不同的分支分配更好地动态目标。YOLOv7算法提出了一个新的动态标签分配办法:coarse-to-fine,即由粗到细引导标签分配的策略YOLOv7算法还提出了扩展和复合缩放的方式,通过这种方式可以更高效利用参数量和计算量。这样不仅可以减少大量参数,还可以提高推理速度以及检测精度。这个其实和YOLOv5或者YOLOv4所使用不同规格分化成几种模型类似,既可以是width和depth的缩放,也可以是module的缩放,并且设计了几个可以训练的bag-of-freebies。这样使得模型在不更改本身结构时,大大提高检测精度。 2.4 YOLOv7算法原理 2.4.1 模型改进 YOLOv7是YOLO系列中最先进的新型目标检测器,它是迄今为止最快、最准确的实时目标检测器。YOLOv7是针对普通GPU计算优化的基础模型,目前模型精度和推理性能比较均衡的是yolov7 模型。整体上和YOLOV5是相似的,主要是网络结构的内部组件的更换、辅助训练头、标签分配思想等YOLOv7里使用的是CSPVOVNet,是VoVNet的一种变体。CSPVoVNet不仅考虑到了前面所提到的模型设计问题,还分析了梯度的在模型中流动路径,通过这个来使得不同层的权重能够学习到更加多样化的特征。不管是训练阶段还是推理阶段,以上方法都能起到不错的效果,尤其是在推理方面。可以提升推理的速度与精度。 YOLOv7在不增加推理成本的情况下,大大提高了实时目标检测精度。与其他已知物体检测器相比,YOLOv7可以有效减少最先进的实时物体检测约40%的参数和50%的计算量,并实现更快的推理速度和更高的检测精度。总的来说,YOLOv7提供了更快更强的网络架构,提供了更有效的特征集成方法、更准确的目标检测性能、更鲁棒的损失函数以及更高的标签分配和模型训练效率。 2.4.2 YOLOv7框架 YOLOv7架构基于之前的YOLO模型架构。扩展高效层聚合网络(E-ELAN)。YOLOv7骨干网中的计算块被命名为E-ELAN,代表扩展高效层聚合网络。YOLOv7的E-ELAN架构通过使用“expand、shuffle、merge cardinality”使模型能够更好地学习,达到在不破坏原有梯度路径的情况下不断提升网络学习能力的能力。 2.4.3标签分配 在网络的训练中,标签分配通常是指GT,这个是硬标签,但近年来,需要研究者会利用网络的推理结果来结合GT,去生成一些软标签,如IOU。在YOLOv7中,有辅助头也有引导头,在训练时,它们二者都需要得到监督。 2.4.4 YOLOv7复合模型缩放 模型缩放的主要目的是调整模型的关键属性,生成满足不同应用需求的模型。例如,模型缩放可以优化模型宽度(通道数)、深度(阶段数)和分辨率(输入图像大小)。在具有基于级联架构的传统方法中,不能独立分析不同的缩放因子,必须一起考虑。例如,放大模型深度会导致过渡层的输入通道和输出通道之间的比率发生变化,进而可能导致模型的硬件使用量减少。这就是YOLOv7为基于串联的模型引入复合模型缩放的原因。复合缩放方法允许保持模型在初始设计时具有的属性,从而保持最佳结构。 2.4.5 训练策略 BoF或Bag of Freebies 是在不增加训练成本的情况下提高模型性能的方法。YOLOv7引入了以下 BoF 方法。 1.计划重参数化卷积 重新参数化是训练后用于改进模型的一种技术。它增加了训练时间,但提高了推理结果。有两种类型的重新参数化用于最终确定模型,模型级和模块级集成。模型级别的重新参数化可以通过以下两种方式完成。使用不同的训练数据但相同的设置,训练多个模型。然后平均它们的权重以获得最终模型。取不同时期模型权重的平均值。最近,模块级别的重新参数化在研究中获得了很大的关注。在这种方法中,模型训练过程被分成多个模块。输出被集成以获得最终模型。 2.Coarse for Auxiliary and Fine for Lead loss 标签分配器是一种将网络预测结果与基本事实一起考虑然后分配软标签的机制。需要注意的是,标签分配器不会生成硬标签,而是生成软标签和粗标签。 Lead Head Guided Label Assigner 封装了以下三个概念:Lead Head、Auxiliary Head、Soft Label Assigner。YOLOv7网络中的 Lead Head 预测最终结果基于这些最终结果生成软标签,重要的部分是基于生成的相同软标签计算前导头和辅助头的损失,最终,两个头部都使用软标签进行训练。如下图左图所示。之所以这样做,是因为lead head具有比较强的学习能力,所以由它生成的软标签应该更能代表源数据和目标之间的分布和相关性。通过让较浅的辅助头直接学习领头人学习过的信息,领头人将更能专注于学习尚未学习的残留信息。 2.5 YOLOv7算法的应用 2.5.1 目标检测 YOLO(You Only Look Once)将目标检测概括为一个回归问题,实现端到端的训练和检测,由于其良好的速度(精度平衡),近几年一直处于目标检测领域的领先地位,被成功地研究、改进和应用到众多不同领域。传统目标检测依赖精巧的手工特征设计与提取,例如方向梯度直方图。2012年,基于深度卷积神经网络(Convolutional Neural Network,CNN)的 AlexNet 以显著优势夺得 ImageNet 图像识别比赛冠军,从此深度学习开始受到广泛的关注,目标检测也逐步进入深度学习时代。YOLO还可通过引入注意力机制来提高算法的检测精度。注意力机制被应用于许多计算机视觉任务,如图像分类等。从原理上来讲,注意力模型可分为空间型,通道型和混合型三种。 2.5.2 数据集及指标 1.VOC数据集 VOC数据集是计算机视觉中常用的数据集之一,主要任务有:分类、检测和分割。针对检测任务,典型的VOC2007由 train/val/test 三部分组成,而 VOC2012 则将训练集和验证集组合起来分为 trainval/test 两部分。VOC中物体可分4大类,亦可细粒度的分为 20类,其中,“person”类实例最多,“sheep”是数据实例最少的类,此外,VOC还存在一定的检测难度,例如“cat”和“dog”在视觉上较相似。 对于VOC数据集,使用插值平均精度来评估分类和检测。其设计是为了在出现重检测,误检测以及目标丢失时对算法进行惩罚。 2.COCO数据集 随着深度学习的发展,VOC数据集的规模略显不足,业界需要新的数据集,其中COCO是最著名的一个。可用来图像识别、分割、检测等任务。分为训练、验证和测试集。目标检测赛道其主要特点如下:(1)多目标;(2)部分对象存在遮挡与噪声; (3)包含各种尺寸的物体;(4)超过300000张图片; (5)超过2000000个实例;(6)80个目标类别。 COCO中单图的平均目标数是VOC的3倍左右,且小目标居多。在种类方面,COCO平均每幅图片包含3.5个类别。 COCO的指标比VOC更严格,采用多IoU评估方法更关注边界框的准确性。在阈值设置方面,不同于VOC的常值0.5,COCO将其分为以0.5为起始值,0.95为终止值,间隔为0.05的10个值。通过计算不同阈值的平均精度,来确定度量标准,更能反映检测算法的综合性能。此外,COCO还分别计算了大、中、小3类物体的平均精度,来衡量检测器检测不同尺度目标的性能。在COCO评价指标 中,所有的AP默认为mAP。 3.VisDrone数据集 截止目前,各领域对于无人机的应用需求非常广泛。VisDrone数据集发布于2018年,并在 2019年由天津大学等进行扩展。为目标检测提供了10209张图片,其中6471张图像用于训练,548张用于验证,3190张用于测试,同时还提供了96个用于目标检测的视频剪辑,包括56个用于训练,7个用于验证和33个用于测试。相对而言,VisDrone数据集场景复杂,遮挡情况严重,同时标签密集,对算法的要求也随之上升。VisDrone数据集采用COCO的度量指标。 4.其它 除了上述典型数据集,各行业的具体需求催生一些检测比赛,使智能检测应用至各个领域。 3 实验数据与结果 3.1 实验条件 模型的训练与测试都在同一设备进行,实验设配置为:操作系统为 Windows 10,CPU 为 IntelⓇ i3 - 8100,GPU 为 NVIDIA GTX 1660 SUPER,内存为 16 GB,开发环境为 Python 3.10、Pytorch 1.5、Cuda 10.1、 Cudnn 7.6。 使用 Adam 优化器对网络进行优化,使用固定步长衰减进行学习率的调整,实验 中的学习率设为 0. 001,step_size 取为 2,gamma 取0.95,批处理大小设为16,衰减系数设为 0.0005,动量设为 0.9。 3.2 实验数据集 实验使用的数据集是一个包含3000张工地现场作业的小规模图像数据集,其中图像包括单人落水以及多人落水情况其中图像包括单人和多人的情况。数据是在施工现场拍摄以及网路爬虫数据所得,将不同场景下的拍摄所得图像作为数据集,通过YOLO系列算法常用的数据集标注工具 LabelImg 手工标注图像中目标的矩形框坐标以及标签值,并生成相对应的 xml 配置文件。为保证训练的数据尽可能多以及测试集的普遍性,将数据集按 9∶ 1 的比例划分为训练集与测试集。 3.3 模型评估 采用的模型评估指标主要包括: 调和均值和平均精确度。平均精确度与调和均值是同时考虑精确率和召回率的量化指标,它们的数值越大,识别效果越好。 4 特色创新 安全帽佩戴及反光衣穿着检测能够有效的预防工地事故的发生,既提高工人的安全保障,也能提高工地危险因素的排查速度。YOLO网络是一个以目标检测为目标设计的网络。YOLO系列算法的主要思想是:输入一个图像,首先将图像划分成SxS的网络。对于每个网格,都预测B个边框,预测出SxSxB个目标窗口,然后根据阈值去除可能性比较低的目标窗口,最后NMS去除冗余窗口。YOLO网络仅使用卷积层, 属于全卷积网络。这在减少了参数变量的同时, 加快了网络的运行速度。相比于其他神经网络,YOLO系列神经网络通过合理的设计,成功地将目标检测问题转化为回归问题,因而直接通过网络产生物体的位置和所属类别信息。而其他主流网络,大多数需要对已经过神经网络处理输出的图像进行再处理。 本项目使用的YOLOv7算法,YOLOv7算法继承了前面所有YOLO算法的优点,并且,YOLOv7是YOLO系列中最先进的新型目标检测器,它是迄今为止最快、最准确的实时目标检测器,尤其是在推理方面可以提升推理的速度与精度。YOLOv7在不增加推理成本的情况下,大大提高了实时目标检测精度。与其他已知物体检测器相比,YOLOv7可以有效减少最先进的实时物体检测约40%的参数和50%的计算量,并实现更快的推理速度和更高的检测精度。总的来说,YOLOv7提供了更快更强的网络架构,提供了更有效的特征集成方法、更准确的目标检测性能、更鲁棒的损失函数以及更高的标签分配和模型训练效率。 5 总结与展望 5.1 总结 在本次项目的研究中,我们使用了YOLOv7算法实现了对工地作业照片的安全帽佩戴及反光衣穿着的检测。配置该识别系统利用人工智能技术来帮助我们节省成本,堵塞监管漏洞。通过安全帽识别系统核心算法将AI深度学习应用于图片分析,对施工现场工作人员进行安全帽佩戴及反光衣穿着检测,检测速度快,识别率高,配置简便,大大提升了现场管理水准,为智慧工地安全管控增加强有力的技术保障。但是跟对视频直接检测安全帽佩戴及反光衣穿着检测比起来,图片检测效率低于视频检测,视频检测范围更大、应用更广,并且视频检测能够对作业的全过程进行检测。所以,我们还将继续探讨基于YOLOv7算法的检测应用,并且下一步将不仅仅对图片进行检测,我们会选择对视频进行检测 。本项目不仅仅可以对安全帽佩戴和反光衣穿着检测,还能应用与口罩佩戴检测和交通规则检测等方面,具有很大的的应用空间。我们会对此进行改进,进一步提高该应用的性能。 5.2 展望 未来,我们将基于本项目设计一个多功能检测类的软件,设计多个模块,实现多种类型的图片和视频方面的目标检测。用户可以输入图片或者视频,从选择列表里面选择需要检测的物体。并且我们将对软件的使用方式进行多方面的思考,例如从用户类别进行思考,一般分为工业、医疗行业、交通行业等,还有各类行业需要检测的物体等方面考虑,便捷用户使用。