毕业设计-深度学习的施工安全帽图像检测算法

news2024/11/24 21:04:02

目录

前言

课题背景和意义

实现技术思路

实现效果图样例


前言


    📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科同学来说是充满挑战。为帮助大家顺利通过和节省时间与精力投入到更重要的就业和考试中去,学长分享优质的选题经验和毕设项目与技术思路。

🚀对毕设有任何疑问都可以问学长哦!

大家好,这里是海浪学长毕设专题,本次分享的课题是

🎯深度学习的施工安全帽图像检测算法

课题背景和意义

近些年越来越多在人工智能上的研究被应用到生活中。安全帽是工人在施工现场的重要防护工具,但许多工人因安全帽缺乏舒适感而选择不佩戴,这将危及工人的生命安全。因此实时监控工人是否正确佩戴安全帽十分重要,但工地上作业环境危险,不适合用人力迚行实时监控,所以考虑将机器视觉应用其中,代替人力迚行安全帽佩戴检测。这可以一定程度上预防安全事故的収生,保证工人的安全。

       安全帽检测由于施工环境复杂、摄像头拍摄角度、摄像头距离目标的距离进近等问题,国内外许多学者对其迚行研究。刘晓慧等利用肤色检测定位人脸区域,将Hu 矩作为图像的特征向量,利用支持向量机(Support Vector Machine,SVM)作为分类器对安全帽迚行识别。冯国臣等选取SIFT 角点特征和颜色统计特征的方法进行安全帽检测。Park 等通过HOG 特征提取来检测人体,而后通过颜色直方图识别安全帽。李琪瑞提出研究如何定位头部区域以及安全帽颜色特征的计算来检测安全帽。虽然以上方法可以有较好的精度需求,但传统检测算法存在特征提取困难、泛化能力差等问题,还需迚一步的改迚。由于神经网络的发展,深度学习在目标检测领域已有很好的效果,许多研究者进行研究。

      基于深度学习的目标检测算法一般分为:双阶段检测和单阶段检测算法。双阶段检测算法包括:物体定位和图像分类两个步骤。主要的检测算法包括RCNN、SPP-net 、Fast-RCNN、Faster-RCNN、Mask R-CNN。单阶段检测是基于回归的检测算法,主要使用YOLO系列和SSD算法。双阶段检测算法的准确度高,但所需检测速度慢。与之相反单阶段检测虽然准确率略逊。由于SSD网络层数不深,对特征提取不充分。许多学者也将深度学习方法应用在安全帽检测中。张明媛等使用Faster-RCNN对安全帽迚行识别。王兵等改迚GIoU 计算方法幵结合YOLOv3 迚行安全帽检测。施辉等在YOLOv3 中添加特征金字塔迚行多尺度的特征提取,获得不同尺度的特征图,以此实现安全帽的检测。尽管上述使用的网络可以实现对安全帽的自动检测,同时准确率高,但以上网络都是大型复杂网络,需要足够的算力支持。考虑到在实际的检测场景中,要求将算法部署在移动端或者嵌入式设备上,而移动端的计算能力进不如计算机等大型设备,不足以支撑大型神经网络所需的计算。

         目前主要使用的模型压缩方法包括:知识蒸馏、低秩分解、参数量化、参数剪枝等。知识蒸馏由Hinton等提出,是将预训练好的大型网络作为教师模型,幵用其输出作为网络结构较小的学生模型的输入,可以使得学生模型具有和教师模型相当的处理能力,以此迚行模型压缩,但该方法训练起来复杂,幵且用教师模型SoftMax 层的输出来指导,只限于分类任务。Denton 等提出低秩分解,通过奇异值分解技术来压缩模型。虽然该方法将模型压缩成原先的3 倍,但只压缩全连接层,没有对卷积层迚行处理。参数量化是将神经网络中使用的32 位浮点数经过线性变化转化为8 位整型数。虽然参数量化可以减少存储空间,幵加快网络运算速度。但需设计专门的系统框架,灵活度不高。相反参数剪枝方法,不仅灵活度高,而且无需训练复杂网络,直接对训练好的网络迚行剪枝。

实现技术思路

  1. 输入是图像数据,没有文本、语音等其它数据。

  2. 可将问题拆解为图像识别、目标检测、图像分类等任务。

  3. 具体是谁没有佩戴安全帽就需要用到人脸识别。

  4. 安全帽有佩戴要求和规则,我们需要去标注数据来匹配这个规则:帽子带在头上;帽子固定扣是否扣住。

  5. 对帽子带着头上数据标注的时候,同时标注帽子在头上带的作为正样本,还要标注只有帽子、只有脑袋的负样本,正负样本最好还是在电网作业现场这种场景下。

  6. 我们没有那么多不规范的数据,也没有那么多时间去标注数据。所以本文 问题简化为识别是否佩戴,问题转换为一个图像的二分类问题。

一. 准备数据

  1. 准备数据要注意场景匹配;如果标注数据的场景和实际使用的场景不一样的话,会有新的干扰因素影响你的准确率。

  2. 正负样本数据量要注意平衡的问题,如果正样本标注1万,负样本标注20万,让人工智能去分类,人工智能就会偷懒,我全部都识别为没有带安全帽就好了。

  3. 单纯的图像采样效果有限,我们最好做多种类型的数据增强。常见的数据增强mixup、cutmix,都是很规则的矩形边界。snapmix这个可以实现非矩形图像的切割填补等处理,对提升准确率有很大帮助。

  4. 数据需要做预处理:数据格式转换(目录结构、标签文件)、图片大小统一。

  5. 数据标注的数据质量问题可由数据标注质检人员完成,但成本高,cleanlab可以实现错误标签自动筛选。

二、 数据标注

  1.  要做目标检测,把我们要找的东西在图片上面自动框出来,才需要做框图标注,如果只是单纯的做图片分类,是不用画框标注的,比如,对鸟类做分类的话,但是把各类图片分门别类放到目录上去,也算是数据标注。

  2. 数据标注,准确率要求不一样,可能标注的方法也不一样,常见的我们就拉四边形的框,但是有的时候,我们可能要多边形。

  3. voc是一种数据规范的格式,这个规范的格式一般来说,包含目录结构、标签文件的格式要求。

三. 选择模型

  1. 常规是目标检测+图像分类,图像二分类能选的模型比较多,重点考虑:准确率、处理速度、模型大小(主要考虑将来产品化了,这个模型的运行环境),作为练习来说,我们基本上考虑准确率、召回率就可以了。

  2. 往往会选择多个模型去比较,并且做模型融合。

四. 训练模型

  1. 训练前,做shuffle洗牌对图片数据做打乱处理。

  2. 图片数据按照训练集、验证集、测试集划分,8:1:1。

  3. 开始训练,不断改进,提升效率,调参,是人工智能训练师、调参侠表演的时刻了,调参也可以用工具自动搜索最好参数:自动调参工具NNI。

五. 模型评估

通过计算平均精确率、漏检率、误检率、平均计算时间等指标进行评测。

实现效果图样例

 

我是海浪学长,创作不易,欢迎点赞、关注、收藏、留言。

毕设帮助,疑难解答,欢迎打扰!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/58234.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2022 年超详细过程步骤讲解 CentOS 7 安装jdk1.8

linux系统下安装jdk以及环境变量的设置、真的是比window下方便一万倍 1、卸载系统自带jdk 1.1 查看系统自带jdk java -version1.2 查看java相关文件 rpm -qa | grep java1.3 删除openjdk相关文件 我上边有四个对应文件 命令介绍: rpm     管理套件 -e   …

VMware=win’server2016=Hyper-V的使用安装

VMware=win’server2016=Hyper-V的使用安装 实验准备 VMware软件--win’server2016虚拟机一台 从外部本地计算机或U盘 上传/共享 一个映像文件进虚拟机 win2016虚

【Maven】Maven快速入门2022版:从概念、安装到基本使用

本期目录一、 简介1. Maven优点2. 强大的依赖管理3. 工作原理3.1 POM3.2 Maven模型二、 安装配置1. Maven核心程序解压与配置1.1 解压1.2 指定本地仓库1.3 配置阿里云提供的镜像仓库1.4 配置Maven工程的基础JDK版本2. 配置环境变量2.1 检查 JAVA_HOME2.2 配置MAVEN_HOME三、 Ma…

9、Springboot整合Swagger3

1.什么是Swagger? 我们在编写了大量的接口之后,如果接口的调用者不是自身的话,那么就会面临要编写接口文档的苦恼,这时候Swagger就应运而生了。 Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTf…

笔试强训(四十)

目录一、选择题二、编程题2.1 发邮件2.1.1 题目2.1.2 题解一、选择题 (1)上网的时候,访问某个页面却突然出现了某个运营商的网页,出现此问题可能的原因是(A) A.DNS劫持 B.DDos攻击 C.MAC地址欺骗 D.伪造DH…

springboot+zookeepr+dubbo的远程服务调用

首先一定确保zookeeper正常工作 公共接口模块 为了简化代码,可以把需要其他服务调用的接口,抽取为公共接口模块dubbo-common-service, public interface TestService {public String clientTest(); }服务提供方 导入dubbo、zookeeper依赖…

Python学习基础笔记十六——函数嵌套

1、函数的嵌套调用 def max(a, b):if a > b:return aelse:return bdef the_max(x, y, z): # 函数的嵌套调用c max(x, y)return max(c, z)print(the_max(1, 2, 3)) 2、函数的嵌套定义: a 1def outer():a 1def inner():b 2print(a)print(Inner)def inner2(…

【GlobalMapper精品教程】033:影像地图羽化方式详解

在Globalmapper中,可以很方便的对影响进行多种羽化值设置。 文章目录 1. 不要羽化此图层2. 沿一个或多个边缘羽化3. 羽化到有效数据的多边形覆盖4. 在当前选定的多边形内羽化5. 裁剪到选定的边界,而不是羽化6. 在多边形外部羽化,而不是内部加载配套案例数据包中的data033.ra…

Java基于springboot+vue的家用电器销售购物商城系统 前后端分离

开发背景和意义 随着人们生活的改变,家电基本在家家户户都存在,常用的家电例如冰箱,洗衣机,电视机,空调等设备可以让人们的生活方式变的更加快捷舒适,通常情况下人们购买家电的话都是到指定的家电销售场所…

带你全方位了解光谱共焦位移传感器

任何一个行业的产生和发展都离不开科学技术的进步,这也是市场需求量不断扩大产生的对行业的促进,促使相关人员对产品的不断更新换代,光谱共焦位移传感器的发展也是发生着日新月异的变化。 光谱共焦位移传感器原理: 一束白光&#…

vue基于 input 实现密码的显示与隐藏功能

目录前言:一、准备图标二、Vue程序界面的展示三、代码总结:前言: 大家都知道,一般情况下,输入框的密码我们是看不到密码的,只有当我们点击查看密码的小图标时,密码才会显现出来,实现…

3D深度相机---结构光

去年的仪器仪表的课有汇报,我还专门为3D深度像机做了个调研,一直用inter realsense的,最近老师让看结构光方案的,正好总结一下。 1. 结构光(Structured-light) 由于基于双目立体视觉的深度相机对环境光照强度比较敏感&#xff0…

台式电脑怎么格式化重装系统

我们都知道电脑重装系统默认是会格式化磁盘的,那么如果是自己选择需要格式化的其它磁盘需要怎么操作呢?一般我们都是在pe里面手动格式化磁盘,这样就能避免直接格式化导致的某些问题了,下面就来讲讲台式电脑怎么格式化重装系统吧。…

[信息系统项目管理师-2023备考]信息化与信息系统(二)

目录 一、软件工程 1.需求 1.1 需求分类 1.2 需求分析 2.UML 2.1 类图 2.2 对象图 2.3 构件图 2.4 组合结构图 2.5 用例图 2.6 顺序图 2.7 通信图 2.8 定时图 2.9 状态图 2.10 活动图 2.11 部署图 3.软件架构 4.软件设计 4.1 设计模式分类 4.2 能力成熟度模…

Docker:入门

目录 一、Docker简介 二、Docker安装及环境配置 准备工作 ①通过 uname -r 命令查看你当前的内核版本 ②使用 root 权限登录 Centos。确保 yum 包更新到最新 ③卸载旧版本(如果安装过旧版本的话) ④安装需要的软件包, yum-util 提供yum-config-manager功能&…

统计信号处理基础 习题解答6-11

题目&#xff1a; 考虑WSS中估计DC电平问题&#xff0c;给定 其中 是零均值WSS随机过程&#xff0c;ACF为 &#xff0c;估计A。建议在 时用图6.5所示的FIR滤波器的输出来估计A。注意估计量为&#xff1a; 输入 假定在n<0 时为零。为了得到更好的估计量&#xff0c;我们希望…

近邻法总结

目录1.最近邻法2.k-近邻法3.近邻法的快速算法4.剪辑近邻法5.压缩近邻法6.错误率分析1.最近邻法 算法思想 对于一个新样本&#xff0c;把它逐一与已知样本比较&#xff0c;找出距离新样本最近的已知样本&#xff0c;以该样本的类别作为新样本的类别。算法描述 2.k-近…

【MySQL入门实战1】-数据库三大范式

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 哈喽&#xff01;大家好&#xff0c;我是【IT邦德】&#xff0c;江湖人称jeames007&#xff0c;10余年DBA工作经验 一位上进心十足的【大数据领域博主】&#xff01;&#x1f61c;&#x1f61…

[oeasy]python0024_ 输出时间_time_模块_module_函数_function

输出时间 回忆上次内容 ​print​​函数 有个默认的 ​​end参数​ ​​end参数​​ 的值可以是任意字符串​​end参数​​ 的值会输出到结尾位置​​end参数​​ 的默认值是 ​​\n​​ 如果​​end​​是空串(​​end""​​) 意味着输出后不自动换行我可以手动在…

自制肥鲨HDO2电源延长线,支持3S~6S动力电池

自制肥鲨HDO2电源延长线&#xff0c;支持3S~6S动力电池1. 问题源由2. 破题思路2.1 10元大钞搞定2.2 两个毛爷爷搞定3. 解决方案4. 最终延长线产出4.1 裸照4.2 成品1. 问题源由 源由&#xff1a; 电池盒电源线接触不良。 肥鲨眼镜的电源盒问题由来已久&#xff0c;而且主要问题…