目录
前言
课题背景和意义
实现技术思路
一、 吸烟检测方法
1.1 网络总体结构
1.2 CotNet Transformer 模块
二、 数据集
三、实验及结果分析
3.1 实验环境搭建
3.2 结果分析
实现效果图样例
最后
前言
📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科同学来说是充满挑战。为帮助大家顺利通过和节省时间与精力投入到更重要的就业和考试中去,学长分享优质的选题经验和毕设项目与技术思路。
🚀对毕设有任何疑问都可以问学长哦!
选题指导:
最新最全计算机专业毕设选题精选推荐汇总
大家好,这里是海浪学长毕设专题,本次分享的课题是
🎯基于深度学习的吸烟检测识别系统
课题背景和意义
近年来,随着深度学习技术的迅速崛起,基于烟支目标检测的吸烟行为检测逐渐成为了吸烟行为检测领域的研究热点。这种方法利用深度学习技术提取具有强鲁棒性的烟支物体特征,能够更加准确地判断图像中是否存在吸烟行为。
实现技术思路
一、 吸烟检测方法
1.1 网络总体结构
作为目前YOLO系列最成熟的目标检测算法,YOLOv5是一种端到端的深度学习模型,可以直接从原始图像中检测和定位目标。它使用CNN来学习图像中物体的特征,并使用多尺度预测和网格分割来检测和定位目标,其优势在于它可以在高速运行,并且可以在不同的图像分辨率上很好地工作。YOLOv5的网络结构分为Backbone、Neck以及Head部分,其中Backbone主要使用新颖的CSP-Darknet53结构。
Backbone部分:YOLOv5最新版本的Backbone去除了Focus模块(便于模型导出部署),Backbone主要由CBS、Bottleneck CSP以及SPPF等组成,CBS模块,即Conv、Batch-Norm、SiLU组成,可以很好的辅助C3层进行特征提取。在Backbone网络的最后将SPP层换成了SPPF层,SPPF结构是将输入串行通过多个5x5大小的MaxPool层,相比较SPP结构,SPPF的计算量减少到原来的2倍左右,并且能够更好的增强了Backbone特征表达能力。
FPN主要是通过融合高低层特征提升目标检测的效果,尤其可以提高小尺寸目标的检测效果。在FPN的基础上加了一个自底向上方向的增强,使得顶层feature map也可以享受到底层带来的丰富的位置信息,从而提升了大目标物体的检测效果。
1.2 CotNet Transformer 模块
传统的自注意力很好地触发了不同空间位置的特征交互,具体取决于输入本身。然而,在传统的自注意力机制中,所有成对的查询和键的关系都是通过孤立的查询和键对独立学习得到的,而无需探索其间的丰富上下文。这严重限制了自注意力学习在2D特征图上进行视觉表示学习的能力。Contextual Transformer (COT)模块,它将上下文信息挖掘和自我注意学习集成到一个统一的体系结构中,有效地促进自注意学习,增强输出聚合特征图的代表能力。
为了提高特征提取能力,在视觉识别过程中使用了COT模块,修改YOLOv5的Backbone部分,将原始C3模块改为COT3模块,充分利用输入按键之间的上下文信息来指导动态注意矩阵的学习,从而增强视觉表示能力,达到增强特征提取的能力。
CBAM是一种轻量的注意机制模块,它包括CAM(Channel Attention Module)和SAM(Spatial Attention Module),即通道注意模块和空间注意模块,两个注意力模块采用串联的方式,可以在空间和通道上进行注意力机制,沿着通道和空间两个维度推断出注意力权重系数,然后再与feature map相乘。
为了增强特征提取能力的同时保证模型轻量化的目的,将CBAM注意力机制模块插入到COT3模块和SPPF中间,利用通道注意力机制加空间注意力增强输入特征,来提高后续的检测精度。
二、 数据集
由于吸烟检测目前没有相关的公开视频数据集和图像数据集,为了更好的验证提出的算法改进的有效性和合理性,使用人工标记的吸烟检测数据集,首先收集了4860张含有吸烟行为的图像,其中包括室内、室外不同场景下的不同吸烟动作,并对每张图片使用labelimg进行人工标注,统一标签为"smoking",最后按照8:2的比例随机分为训练集和验证集。
为了解决数据集图片中小目标较少的问题,将数据输入YOLOv5检测器之前先对其进行数据预处理,如Mosaic数据增强、旋转、平移等操作。首先将图片进行随机裁剪,并将四张经过旋转角度或平移后的图片拼接在一起,变相提高了batch_size,同时图片中小目标数量增多,可以有效提高模型的泛化能力,防止由于数据集过于简单出现的模型过拟合现象。
三、实验及结果分析
3.1 实验环境搭建
此次实验代码基于 Python3.9,使用版本号为 1.11 的 Pytorch 深度学习框架构建网络模型。在小样本条件下,由于训练样本图片较少,训练和验证时间较短,但深度学习模型的训练和推理的过程中将会占用大量的显存。
3.2 结果分析
使用常用的目标检测评估指标对本文实验结果进行评估,包括mAP_0.5、mAP_0.5:0.95、Precision、Recall和F1-score。
将选用的基准模型YOLOv5s和YOLOv3tiny算法模型进行实验对比,将预处理的数据输入改进后的模型中进行训练并测试,其次在训练过程中Batch_size设置为20,迭代次数设置为200轮,使用随机梯度下降算法完成训练过程中的反向传播,并使用Adam优化器自适应的调整学习率,帮助模型可以快速收敛。
首先对数据进行预处理,使得训练数据可以帮助模型获得更强的泛化能力。随后对模型结构进行改进,使用CotNet Transformer结构替换原YOLOv5s骨干网络中的C3模块,提升了骨干网络的特征提取能力;同时在YOLOv5s的特征融合部分引入CBAM注意力机制,使得模型可以充分利用空间信息和通道信息,进一步加强对特征图有用信息的提取。
使用改进的吸烟检测算法对吸烟场景进行测试,实验结果表明,改进后的算法可以有效提取出不同场景中存在的吸烟行为,其中场景包括室内室外、远距离采集与近距离采集及各种复杂动作和遮挡问题。
实现效果图样例
最后
我是海浪学长,创作不易,欢迎点赞、关注、收藏。文章来源:https://www.toymoban.com/news/detail-809387.html
毕设帮助,疑难解答,欢迎打扰!文章来源地址https://www.toymoban.com/news/detail-809387.html
到了这里,关于毕业设计选题-基于深度学习的吸烟检测识别系统 人工智能 机器学习 YOLO的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!