摘要
生产安全大于天,安全帽作为一种个人防护装备,在工业生产中起着至关重要的作用。佩戴安全帽可以有效地保护人员头部免受外界因素的伤害,如坠落物、打击、热辐射等。然而,由于人为因素和其他原因,缺乏对佩戴安全帽的有效监控,存在着工伤事故的隐患。因此,开发一种高效准确的安全帽识别系统,可以提高工业安全水平,减少工伤事故的发生。
近年来,深度学习技术迅速发展,成为计算机视觉领域的重要研究方向。传统的安全帽检测方法依赖于手工设计的特征提取器和分类器,需要花费大量时间和精力。而深度学习通过端到端的学习方法,可以直接从图像数据中学习到表示特征和分类模型,自动地进行特征提取和分类任务。因此,利用深度学习技术进行安全帽识别,具有很高的可行性和应用价值。
本文基于RetinaNet模型实现了一个安全帽识别系统。首先构建了一个包含两个类别的安全帽数据集,包括戴帽和不戴帽的情况。使用RetinaNet模型进行训练和测试,测试结果表明,相比于传统的安全帽识别方法,该系统具有更高的识别准确度和鲁棒性,在清晰图片下能够准确地检测出佩戴安全帽的情况,但在姿态变化、遮挡和多人头等复杂环境下,其识别性能有所下降。总体而言,本设计基本满足安全帽检测任务中的实时性和准确率的要求。
关键词:深度学习安全帽识别卷积神经网络Retinanet
1前言
1.1课题的研究背景
安全生产是人民群众生命安全和身体健康的重要保障,也是企业可持续发展的基础和必要条件,因此必须高度重视安全生产,在生产过程中始终坚持安全第一的原则,采取有效的措施预防事故的发生。对建筑工地的从业人员而言,施工作业风险高,佩戴安全帽至关重要。安全帽可以有效地防止高空坠物导致的头部损伤。在建筑工地施工期间,经常会由于操作不当、结构不牢等原因导致材料和器具从高处滑落或掉下来,如果没有佩戴安全帽,工人头部很容易受到撞击或砸伤,造成严重的伤害甚至导致死亡。因此必须严格要求工人佩戴安全帽,辅之以一定的监管手段,确保他们的人身安全。而如果采用人力监管高危行业的安全管理工作,则存在着视觉疲劳、误判率高以及消耗大量人力物力等不利因素。因此,为更好地保障高危行业的安全,有必要引入新技术来实现安全管理工作的优化和智能化。
因深度学习在目标检测领域高速发展,许多研究学者致力于将深度学习领域与实际应用场景相结合,例如,史红栩等(2020)结合迁移学习训练GoogLeNet模型,开发了高精确度大的香蕉病害诊断模型,实现了对香蕉的实时和远程诊断。杜云梅等(2020)构建一维CNN深层模型,并引入残差模块,用于脑电图异常检测。黄跃珍等(2021)提出了一种基于改进CenterNet的车辆识别方法,有效解决了识别定位效果不理想的问题。自深度学习技术诞生以来,随着计算硬件性能的提升和数据量的增加,深度学习的应用领域不断扩展,其应用效果也在逐步提高。
1.2课题国内外研究现状和发展趋势
目前国内外学者对安全帽检测已经做了大量研究。徐守坤等(2020)在原始Faster RCNN的基础上,引入了多尺度训练和增加锚点等方法,以增强网络检测不同尺寸目标的能力,并采用在线困难样本挖掘策略,防止正负样本不均衡,改进后的精度比原模型提高了7%。徐先峰等(2021)在SSD算法的基础上,引入了轻量型网络MobileNet来提高检测速度,结果表明该算法的检测速度比传统SSD算法提高了10倍以上。肖体刚等(2021)在YOLOv3算法的基础上,通过改进网络结构、优化聚类算法等手段,提高了安全帽佩戴检测的准确性和速度,相较于传统YOLOv3,FPS(Frames Per Second)提高了64%,平均精度均值提高了6.5%。然而上述算法在复杂环境下对小目标和密集目标的情况下仍存在误检和漏检等问题,本文致力于设计一种在复杂背景下依旧有良好检测效果的算法。
1.3研究目的和意义
当前基于深度学习的目标检测模型主要有两种:一种是以R-CNN系列为代表的Two-stage模型,这类模型的思想是基于候选区域的模型,其目标检测分为两个阶段,第一个阶段是生成候选框,第二个阶段是通过卷积神经网络进行种类和位置的判断,通常能取得较好的精度,但速度较慢;另外一种是以YOLO和SSD系列为代表的One-stage模型,这类模型是基于回归思想的模型,它可以直接回归物体的类别和位置,速度比Two-stage检测模型快,但精度相对欠缺。
本设计最终采用RetinaNet算法来实现安全帽识别。作为一种单阶段目标检测网络,RetinaNet有着较快检测速度,同时利用Focal Loss可以有效缓解样本类别不平衡问题,从而保持检测的精度,是实现安全帽识别任务的有效途径。
1.4章节安排
本文将分成六个章节来阐述本设计的安全帽检测系统,具体如下:
第一章从从业者佩戴安全帽的重要性出发,分析了本设计的研究意义,并分析了国内外深度学习算法的研究现状,最后说明了研究目的和意义。
第二章是本设计的相关理论介绍,首先介绍深度卷积神经网络的原理和结构特点,再介绍RetinaNet目标检测算法的理论部分,分析为什么选取该算法构建安全帽检测系统的核心模型。
第三章是介绍了系统设计的前期准备。首先给出设计的流程框架,然后介绍本设计的软硬件环境配置,最后是安全帽数据集的制作过程。
第四章的主要内容训练RetinaNet模型。先介绍训练过程以及相关参数,再介绍所用到的评价指标,最后展示模型训练的结果。
第五章是系统测试。从多方面测试RetinaNet的性能,并与其他模型比较。
第六章总结了本文主要内容和本设计所做的工作,分析设计的不足之处和未来改进方向。
2相关理论介绍
2.1深度卷积神经网络
深度卷积神经网络(Deep Convolutional Neural Network,DCNN)最早由Krizhevsky等人提出,是深度学习的代表算法之一。DCNN通常简称为CNN,是一种包含卷积运算和深度结构的前馈神经网络。它借鉴了生物学上视觉皮层的神经元结构,由多个单层非线性网络叠加而成,通常包括卷积层、池化层、全连接层。它通过多个卷积层和池化层的组合,逐渐提取数据的特征表示,最后通过全连接层进行分类或回归。深度卷积神经网络具有处理图像、语音和自然语言等大规模高维数据的优势,可以由浅至深地提取样本的特征信息,从而使网络获得分析数据的能力,能够对数据样本进行区分。其代表性的网络模型有AlexNet、LeNet、VGG、GoogleNet、ResNet等,如今已广泛应用于图像识别、目标检测、人脸识别、自然语言处理、语音识别、视频分类等各大领域,同时也在这些领域中取得了显著的成果和突破。
图1卷积神经网络示意图
卷积层(Convolutional Layer)是深度卷积神经网络中最重要的组成部分,主要作用是提取输入数据的特征。在卷积层,CNN通过大小相同的卷积核,按照一定的步长(stride)在输入的图层上滑动,计算每个位置的元素乘积之和,并将结果保存到输出特征图中。卷积核又称过滤器,本质上是卷积过程中元素的权重。每个卷积核被用于检测输入特征图中所有位置上的某个具体特征,从而实现同一个输入特征图上的权重共享。这种共享权值的方式可以减少训练参数数量,防止过拟合,并且可以提高模型的泛化能力。卷积是深度卷积神经网络中提取图像特征信息的基本操作,其通过数值运算对输入数据进行特定的加工和处理。卷积层可以通过改变卷积核的数量、大小和步长等超参数进行调节,以便适应不同的任务需求。比如采用不同尺寸的卷积核来进行卷积运算,以提取出图像中的多样性和多尺度特征。值得注意的是,卷积核的深度(channel)必须等于输入图层的层数。每个卷积层后面通常都会跟随偏置(bias)、批量归一化(batch normalization)和激活函数(activation function)等操作。这些操作可以对卷积层输出进行进一步的调整和优化。在卷积模型中,采用非线性激活函数进行非线性变换,通过迭代更新权值参数和偏差参数对深度卷积神经网络进行训练。卷积运算规则如图2所示。
图2卷积运算图
池化层主要负责对输入数据进行压缩和降维,该操作可以减小特征图的大小、减少计算量和内存开销,也可以有限地提取空间特征和增加模型的非线性性质。池化操作通常通过在输入图层上滑动一个小窗口,然后对窗口内的像素值进行聚合,从而得到一个新的特征值作为池化层的输出。池化操作通常有两种操作方法:最大池化与平均池化。最大池化采用了一个没有权值的滑动窗口在输入特征图上滑动,获取窗口内的最大值作为池化层的输出。最大池化可以适应对象有一定位移的情况,它通常可以帮助保留输入数据中的显著特征,同时能够消除空间中的不必要信息。平均池化同样使用一个没有权值的滑动窗口在输入特征图上进行滑动,计算窗口内像素的平均值,并将其作为池化层的输出,该操作可以消除噪声和提高模型的鲁棒性,但可能会丢失一些重要的细节信息。综上所述,池化层作为卷积神经网络的重要组成部分,在提高模型准确性的同时大幅降低了计算成本,有效地解决了深度神经网络存在的计算量和过拟合等问题。最大池化操作原理如图3所示。
图3最大池化运算图
全连接层通常是卷积层之后的最后一层,也被称为分类层。这种全连接层结构与传统的神经网络中的全连接层相同,它将前一层的所有输出像素都连接到下一层的所有输入节点上,通常用来整合特征信息和完成分类任务。神经网络上的节点,即神经元,通过激活函数将输出转化为非线性形式,这样可以更好地适应复杂的数据分布和非线性规律,从而提高网络分类和识别精度。先前CNN通过卷积操作提取出了图像的局部特征,这些局部特征组成了卷积层的输出结果。但是,这些局部特征并不能反映整张图片的信息。因此,需要用全连接层将这些局部特征重新组装成完整的图像,使其能够得到整体信息的表达。具体而言,全连接层通过权值矩阵对局部特征进行加权求和,从而得到对整张图像的表示。加权公式如下:
z、W、a、b分别为输出、权重、输入、偏置。
激活函数可以对卷积层的输出做非线性映射,这样可以让神经网络以及逼近非线性函数,可以应用在现实生活中复杂的非线性问题。激活函数的种类有很多,如sigmoid函数、tanh激活函数、ReLU激活函数。
本设计使用ReLU激活函数。表达式如下:
如果输入x小于0,那么输出就是0;否则输出就是x本身。可以看出,ReLU函数非常简单,并且计算速度很快。一方面,ReLU能够缓解梯度消失问题,这是由于它在正区间时导数恒为1,因此在反向传播时梯度不会变得很小。另一方面,ReLU使得一部分神经元的输出为0,这样可以使网络具有稀疏性,同时也能减少参数之间的相互依存关系,缓解过拟合问题的发生,相比于Sigmoid与Tanh,ReLU的实际收敛速度更快。
2.2 RetinaNet的结构和原理
2.2.1 RetinaNet简介
RetinaNet是一种通用目标检测网络,由FAIR(Facebook AI Research)于2017年提出。RetinaNet采用了FPN(Feature Pyramid Network)来提取图像特征(Lin T Y,Goyal P,Girshick R,et al,2020),这种做法可以在不同尺度下获取不同层次的信息,从而更好地适应多尺度目标检测。针对正负样本类别不平衡的问题,该算法采用Focal Loss来代替传统的交叉熵损失函数来提高检测精度,该函数可以让模型更加关注难以分类的样本。如图4所示,Retinanet由Backbone、FPN、head三部分构成,Backbone主要作用是提取图像特征,FPN主要提高对多尺度物体检测的准确性,head用于生成包含目标的边界框。
对输入的图像,经过ResNet-50下采样后与FPN上采样对应层进行特征融合,可得若干特征层构成的特征金字塔。接下来,对于每个特征层,采用分类子网络和框回归子网络进行预测。分类子网络用于判断检测框所属类别以及输出对应的置信度,而框回归子网络则用于对检测框的位置进行精细的修正。最后,利用非极大值抑制(Non-Max-imum Suppression,NMS)对网络输出的检测结果进行筛选和整合,得到最终的目标检测结果。简言之,RetinaNet检测过程主要包括特征提取、特征融合、分类和回归、NMS等步骤,这些步骤共同协作才能实现准确的目标检测。
2.2.2网络组成
1)Backbone
常用目标检测网络的Backbone有VGG151、GoogleNet、ResNet等。VGG通过叠加相同大小的卷积核来达到提取图像特征,常用的是包含13层卷积层与3层全连接层的VGG-16,具有较高的模型深度,能够学习更加高级的特征表示。GoogleNet使用了Inception模块对不同尺度的特征进行提取,同时增加了辅助分类器以避免梯度消失问题,使用全局平均池化层替代全连接层以减少参数数量,总体来说,在图像分类任务中表现优异。ResNet提出了残差学习(Residual Learning)的思想,通过在不同的层之间添加shortcut(跳跃连接),允许信息在不同层之间直接传递,这样可以使得网络更加容易优化,同时避免了梯度消失的问题,从而可以训练更深的卷积神经网络。此外,为了减少参数数量,ResNet采用了1×1的卷积核来降维,减少计算量和内存占用。ResNet在提出之后,有很多不同的变体和扩展,常用的ResNet为ResNet50与ResNet101。本文选择ResNet50作为Backbone。ResNet50通过bottleneck(残差块)结构来实现上述残差学习的思想,如图5。
2)Neck
算法的Neck部分即为FPN网络结构。在目标检测任务中,我们需要从图像中提取不同尺度、不同语义级别的特征,以便于检测不同大小的目标。对此,FPN通过自底向上、自顶向上、横向连接三种方式将不同层的特征图进行融合,能够有效地将不同层次的特征图进行融合,提高小目标的检测效果。自底向上是CNN的前向传播过程,得到底层特征图。自顶向下过程采用上采样进行,得到高层特征图。最后通过横向连接将底部和顶部特征图相加得到特征金字塔。这种特征金字塔可以有效地构建多尺度特征图,使得FPN的每一层都可以用于不同尺寸的目标检测,提高了模型效率,有助于实现高效的目标检测。
3)Head
当FPN每层中生成无数个候选框后,对每个候选框中的目标类别进行预测。预测网络分为分类子网络和框回归子网络。其中,分类子网络在主干网络的输出基础上进行分类,对候选框中的目标类别进行预测。框回归子网络用于得到候选框的边框回归,从而对目标位置进行精确定位。为提取特征,首先对每个特征图进行连续4次256通道的卷积操作,每次卷积后均叠加1个ReLU层,以增强训练后模型的非线性能力;之后,经过一次W×H×4A的卷积和Sigmoid激活函数得到每个候选框处的分类置信度。其中K表示类别数,A表示特征图上每个目标图像上生成的候选框数。
与分类子网络相同,边框回归子网络同样采用全连接网络。在使用4个W×H×256的
卷积核对FPN的输出进行处理后,叠加1个ReLU层处理卷积层的输出。之后,使用1个W×H×4A的卷积核和Sigmoid激活函数得到网络最后的输出,实现边界框的回归。
3)Focal Loss
单阶段检测器性能落后于两阶段检测器的一个最重要的原因是样本类别不平衡(Oksuz K,Cam B,Kalkan S,et al,2020)。数量过大且多为容易分类的负样本的损失占据了总损失的大部分,这会导致检测模型的优化方向并非我们所期望的。而RetinaNet则采用了一种名为Focal Loss的新型损失函数用于克服该问题。Focal Loss简单但有效,克服了传统交叉熵损失函数的缺点,使网络能够更专注于不易分类的样本,特别是小目标检测,在准确性和运行时间方面实现了当时最先进的性能。
在安全帽检测画面中,大部分区域是建筑工地背景,安全帽或所占面积较小,在进行安全帽检测时,出现了背景负样本和目标区域正样本极不平衡的问题。因此引入Focal Loss损失函数,记作,可以解决目标检测中正负样本区域严重失衡的问题。具体如下:
式中,表示预测正确的概率,表示用于控制正负样本平衡的参数,取值为0.25;表示调制因子,是降低易分类样本在学习中所占比重的参数,取值为2。
2.3本章总结
本章主要介绍了本设计相关的理论基础,首先介绍深度神经网络的结构原理和运算规则,再重点介绍RetinaNet的网络结构、特点以及各部分的作用,分析了单阶段检测器性能落后于两阶段检测器的重要原因,即类别不平衡的问题,并介绍RetinaNet算法能够克服这一问题的关键所在。
3系统设计
3.1系统框架
安全帽检测系统的设计流程图如图6所示。整个系统的设计的核心在于RetinaNet模型的搭建。设计流程为,首先收集样本制作安全帽数据集,并用算法按照80%的训练集、10%的验证集和0%的测试集将安全帽数据集分割。然后搭建RetinaNet模型,用已经划分好的数据集来对模型进行训练,经过训练后,进行实际检测效果的验证和测试。实际的检测过程可以分为图像检测和视频检测,图像检测可以对多张图像进行检测,并将检测后的结果输出;视频检测则是对摄像头或视频进行检测,检测完毕后会将结果输出。
图6设计流程图
3.2配置开发环境
Anaconda的安装可以方便环境管理,可以同时在一个电脑上安装多种环境。不同的深度学习框架,例如PyTorch、Tensorflow、Keras可以安装在不同的虚拟环境下,这样使得环境之间互不干扰,减少开发过程中的冲突和错误。
PyTorch是由Facebook公司开发和维护的一种基于Python的框架,主要用于深度学习和机器学习研究。PyTorch提供了丰富的工具箱和易于使用的接口,支持动态图和静态图两种计算图模式,支持GPU加速,因而大大提高了深度学习模型的构建和训练效率(黄玉萍等,2020)。
配置开发环境首先是在官网下载Anaconda安装包,直接安装,在安装时需要将安装路径添加到环境变量中这样会自动将anaconda装到系统的环境变量中,使配置更加方便。安装完毕后,使用Conda create–n命令创建新环境,在创建好的环境下配置PyTorch框架。PyTorch安装完毕后还需要安装其他的一些依赖库。具体分别为:scipy,numpy,matplotlib,opencv_python,torch,torchvision,tqdm,Pillow,h5py。到这里软件环境配置完毕,硬件环境如表1所示。
3.3制作安全帽数据集
在深度学习模型的训练过程中,数据集的选择很重要,一个高质量的数据集往往能够提高模型训练的质量和预测的准确率。所以数据集的选择了不同大小、不同角度、不同数量的安全帽图像,以保证图像数据的多样性。
本实验使用由数据科学竞赛网站Kaggle提供的Safety Helmet Detection,共计5000张图片。通过镜像、裁剪的方式将图片统一为416416的大小,方便后续处理。使用LabelImg可视化图像标注工具对样本图像打上标签注释,并保存为xml格式的标记文件,每个xml文件都对应着一张图片的标签信息。
数据集包含戴帽和不戴帽两个类别,如图7、图8所示。数据集按照8:1:1划分为训练集、验证集、测试集。划分数据集便于我们客观评估模型的性能和泛化能力。训练集用于训练模型的参数,验证集用于评估模型在未知数据上的表现,并进行超参数调优;而测试集则用于评估训练好的模型的性能,检测是否存在过拟合的情况。如果使用同一数据集来训练和测试模型,会导致模型表现良好但泛化能力差的问题,从而无法适应新的数据。
图7佩戴安全帽样本
图8未佩戴安全帽样本
3.4本章总结
本章首先介绍了本设计的系统框架,明确了设计思路,然后简单介绍开发环境的配置,包括软件环境的配置流程和硬件环境的参数,最后介绍数据的来源与预处理工作,以及数据集的制作过程,包括划分类别、划分比例、图片标注等。
4训练RetinaNet模型
4.1模型训练
在正式训练之前,采用预训练模型,进行迁移学习。预训练模型对不同数据集是通用的,因为特征是通用的,使用预训练模型可以让训练时特征提取效果更加明显。如果让模型直接从零开始训练,特征提取效果会非常差。另一方面,迁移学习可以减少训练时间和数据量,由于预训练模型已经包含了丰富的信息和特征,因此我们可以利用这些信息,以较少的样本和计算资源来训练新的模型,从而更快地实现训练(张雪松,2019)。
导入预训练模型后,修改类别数量为2,对应helmet和head;修改置信度阈值为0.5;修改非极大抑制所用到的nms_iou大小为0.3;设置学习率为0.0001;使用Adam学习方法对参数做优化,一共进行80个epoch迭代训练。
为了提高训练的速度,在对网络模型进行训练时,首先在前40个epoch冻结模型主干,设置batch size为8,使网络模型得到初步收敛;冻结阶段结束后进入解冻阶段,调整batch size为4,进一步训练网络模型。
4.2结果分析
为评估算法的准确性,采用AP((Average Precision)和mAP值(Mean Average Precision)评估安全帽检测模型的检测精确度。AP对精确度和召回率指标进行了集成,其中精确度P(Precision)和召回率R(Recall)的计算公式分别见式(4)和式(5):
以Recall为横坐标,Precision为纵坐标绘制曲线,本文所述模型即可获得两条P-R曲线,平均准确率(Average Precision,AP)表示曲线与坐标轴之间面积,加权平均AP值(Mean AP,MAP)表示两类AP的平均值。图9展示了在测试集下评价得到的P-R曲线及其AP值。
图9(a)显示检测未佩戴安全帽的AP值达82.79%,图9(b)显示检测佩戴安全帽的AP值为90.23%。就测试结果而言,该模型对佩戴安全帽的类别样本识别准确度较高,而对未佩戴安全帽的类别识别准确度则不如前者,还有一定的上升空间。整体而言,经过训练的RetinaNet实现了86.51%的加权平均AP值。可见,基于RetinaNet的安全帽检测模型在算法准确度上表现良好。
4.3本章总结
本章先介绍了训练模型的过程以及一些关键参数的设置,再介绍所用到的评价指标,最后结合曲线图与数据展示了模型训练的结果。
5系统测试
5.1模型在不同情形下的检测效果
为验证模型的稳定性与实用性,采用训练后的模型分别对光线充足(图10(a))、光线昏暗(图10(c))、多目标且存在遮挡(图10(e))三种情形进行测试。可见当目标较为清晰且独立时,模型对佩戴安全帽的检测效果非常好,置信度可以达到0.99甚至是1,框选的位置也比较准确;相比之下对未佩戴安全帽的目标置信度要稍低一些,介于0.8和0.9之间。图10(f)显示,当目标较多且出现相互遮挡的情况时,该模型也能够检测出大部分的安全帽。被遮挡的目标置信度略有降低,只有个别遮挡比较严重的样本被遗漏。
综合以上分析,基于RetinaNet的该模型有良好的特征提取能力,能够适应不同光照环境下的检测场景。另外,在目标较多并且互相遮挡的条件下,仍能够保持良好的检测精度,以适应工地场景的实际需求。
图10不同场景下的检测效果
5.2模型对比
为了进一步验证RetinaNet模型应用于安全帽检测系统的优势,本文将RetinaNet模型与单阶段目标检测算法SSD和两阶段目标检测算法Faster R-CNN进行了对比。实验过程基于相同的数据集对模型进行参数训练,在相同的软硬件环境下进行80个epoch迭代训练。实验结果如表2所示。
在检测精确度上,RetinaNet模型相比SSD模型大幅提高了,相比Faster R-CNN模型略有提高。在检测速度上,虽然RetinaNet模型和Faster R-CNN模型明显低于SSD模型,但RetinaNet模型在保证精确度的情况下,其检测速度是Faster R-CNN模型的3倍以上。这表明,基于RetinaNet的安全帽检测系统在综合性能上表现最优。
5.3本章总结
本章主要对RetinaNet模型进行测试,先是对不同场景下的样本测试安全帽检测效果,结果表明该模型具有良好的适应能力;然后选取两个常用的目标检测模型,在同一数据集下训练,根据一定的指标比对模型的检测效果。通过对比可以发现,RetinaNet模型对于安全帽检测的任务是具备优势的。
6总结展望
本文首先介绍了安全帽检测技术的研究背景、国内外研究现状和发展趋势以及研究目的和意义。根据选题的研究现状,决定选择深度卷积神经网络作为安全帽检测的模型;接下来介绍了本设计的理论相关,包括深度卷积神经网络的各个部分的特征和作用,并由此引入了RetinaNet算法,详细介绍了RetinaNet的网络结构和识别流程;接着介绍了开发前的必要准备,包括开发环境的配置和安全帽数据集的获取、标识、和划分;然后是训练模型,交代了相关参数和评价指标。最后就是对算法的测试,分别在不同情形下测试模型的检测效果,与不同的模型比较精度和检测速度,以进一步验证RetinaNet模型应用于安全帽检测系统的优势。
但是由于本人能力有限和时间有限,本系统未能对RetinaNet模型提出进一步的改进。希望本设计能在未来得到完善,为安全帽检测技术发展尽绵薄之力。
参考文献
史红栩,李修华,李民赞,王伟,温标堂.基于深度学习的香蕉病害远程诊断系统[J].华南农业大学学报,2020,41(6):92-99.
杜云梅,黄帅,梁会营.基于深度卷积神经网络的脑电图异常检测[J].华南师范大学学报(自然科学版),2020,52(2):122-128.doi:10.6054/j.jscnun.2020035.
黄跃珍,王乃洲,梁添才等.基于改进CenterNet的车辆识别方法[J].华南理工大学学报(自然科学版),2021,49(7):94-102.
徐守坤,王雅如,顾玉宛等.基于改进Faster RCNN的安全帽佩戴检测研究[J].计算机应用研究,2020,37(03):901-905.DOI:10.19734/j.issn.1001-3695.2018.07.0667.
徐先峰,赵万福,邹浩泉等.基于MobileNet-SSD的安全帽佩戴检测算法[J].计算机工程,2021,47(10):298-305+313.DOI:10.19678/j.issn.1000-3428.0058733.
肖体刚,蔡乐才,高祥等.改进YOLOv3的安全帽佩戴检测方法[J].计算机工程与应用,2021,57(12):216-223.
Lin T Y,Goyal P,Girshick R,et al.Focal Loss for Dense Object Detection[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2020,42(2):318-327.
Oksuz K,Cam B,Kalkan S,et al.Imbalance Problems in Object Detection:A Review[J].IEEE
Transactions on Pattern Analysis and Machine Intelligence,2020:1-29.
黄玉萍,梁炜萱,肖祖环.基于TensorFlow和PyTorch的深度学习框架对比分析[J].现代信息科技,2020,4(04):80-82+87.DOI:10.19850/j.cnki.2096-4706.2020.04.021.
张雪松,庄严,闫飞等.基于迁移学习的类别级物体识别与检测研究与进展[J].自动化学报,2019,45(07):1224-1243.DOI:10.16383/j.aas.c180093.
致谢
在论文即将完成的时刻,我想对所有曾经支持、帮助和鼓舞过我的人们表达最深厚的谢意。
首先,我要感谢我的指导老师。他给了我必要的帮助,在我的研究过程中提供了非常珍贵的指导和建议,让我得以掌握研究问题和论文写作的技巧。
其次,我要感谢帮助过我的同学。一开始着手毕业设计的时候遇到了许多困难,我积极向他们寻求建议,并得到了耐心的解答。同时,我们也在学术交流中相互借鉴、分享经验,彼此扶持,这样的精神和氛围是我终身难忘的。
最后,我要特别感谢一直支持我的父母。他们从我出生起就对我充满爱心和耐心,他们不仅支持我的学业,更是一路陪伴我成长,为我提供坚实的后盾和精神支持。他们的孜孜不倦、无私奉献是我前进路上永恒的力量和动力源泉。
1、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“文章版权申述”(推荐),也可以打举报电话:18735597641(电话支持时间:9:00-18:30)。
2、网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
3、本站所有内容均由合作方或网友投稿,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务。
原创文章,作者:1158,如若转载,请注明出处:https://www.447766.cn/chachong/203183.html,