基于深度学习yolo模型的口罩识别方法设计_第1页
基于深度学习yolo模型的口罩识别方法设计_第2页
基于深度学习yolo模型的口罩识别方法设计_第3页
基于深度学习yolo模型的口罩识别方法设计_第4页
基于深度学习yolo模型的口罩识别方法设计_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

湖南商务职业技术学院毕业设计

目录

1、引言...........................................................................................................................................1

1.1项目背景...............................................................................................................................1

1.2开发环境与工具..................................................................................................................2

1.2.1Python简介....................................................................................................................2

1.2.2pytorch简介...................................................................................................................2

1.2.3pycharm简介.................................................................................................................3

1.2.4Python第三方库简介....................................................................................................4

2、需求分析...................................................................................................................................4

2.1可行性需求分析..................................................................................................................4

2.2数据采集功能分析..............................................................................................................5

2.3关键技术分析......................................................................................................................6

2.3.1目标检测........................................................................................................................6

2.3.2YOLOv5算法.................................................................................................................7

3、系统实现...................................................................................................................................9

3.1图像采集...............................................................................................................................9

3.2图像预处理.........................................................................................................................10

3.2.1彩色直方图均衡..........................................................................................................10

3.2.2灰度处理......................................................................................................................11

3.2.3平滑处理......................................................................................................................12

3.3图像标注.............................................................................................................................13

4、模型构建及评估分析.............................................................................................................14

5、模型应用.................................................................................................................................19

6、总结.........................................................................................................................................20

参考文献.......................................................................................................................................22

I

湖南商务职业技术学院毕业设计

基于深度学习yolo模型的口罩识别方法设计

1、引言

1.1项目背景

随着现代化的发展,人们生活节奏越来越快,可以通过图像进行交流。从用户的角度

来看,图像不受当地语言等因素的限制,能够更好地表达和传达人们的情感信息,可以作

为快速表达的载体。对我们来说,编辑文本是很容易的,但是图像中传递的内容和信息非

常大。因此,如何方便、有效地找到关键信息并利用图像成为图像处理领域的一个关键研

究问题。近年来,由于其在场景中的广泛应用,图像识别成为图像研究领域的一个热点。

在畜牧业中,我们可以通过监测牲畜的生长状况、活桩的形状和形状来判断,定期定量喂

养牲畜,监测其生长发育情况。在工业上,关键问题可以通过图像识别来解决。在医学上,

高清图像可以用来扫描身体的各个部位。此外,图像在日常活动中也起着至关重要的作用,

如高速列车安检中的人脸识别,以及机上乘客的身份信息;平日停车时,采用车牌识别技

术进入停车场;申请身份证时,每个公民都会输入自己的指纹信息,以便将来进行安全验

证。总之,图像在我们的日常生活中是不可或缺的。利用传统方法或深度学习方法快速有

效地识别图像和提取颜色特征信息具有重要意义。

在机器视觉中,图像识别是一个关键问题。图像识别的精度主要取决于图像关键部位

的定位精度。首先,图像处理是图像预处理。经过预处理后的图像特征提取算法有sift、LBP

和Haar。通过一系列的步骤,我们可以准确地识别图像的内容。获取图像的方法有很多种,

但我们必须利用摄影工具将采集到的图像数据存储在数据库中以备不时之需,而对受损图

像的处理就是对图像中我们需要的图像进行切割,以确定其统一的格式和大小。对于图像

质量较差的图像,可以对图像进行去噪、增强和一系列的预处理,以方便以后的使用。获

取完整的特征信息是反映用户需求、服务于整个行业的关键,因此这一步是图像识别的基

础过程,细化来说就是先要提取需要去识别的图像的特征,然后再利用分类器来把相同特

征的归为一类,实现分组,从而实现对图像的识别。

人工智能和机器学习的发展也为图像识别提供了极好的资源。机器学习就是让机器拥

有与人类相同的大脑,使机器能够独立地学习和分析问题。人类知识的获得是一个漫长而

反复的过程。在人类进化的过程中,人们通过学习和理解知识来理解自己需要获得的东西。

通过不断的实践,人们可以获得相关的技能,并分析和总结在这个过程中获得的经验。机

器学习类似于人脑的学习,使机器学习不再是科幻电影的场景。人类通过眼睛捕捉周围的

所有信息,并将视网膜成像传输到大脑,获得相关的图像特征。机器视觉就是通过各种设

备获取相关的图像。经过特征提取,机器可以通过学习识别相关对象,并通过计算机或音

频设备显示学习的内容。分类器训练是机器学习的关键。通过不断的训练并对分类器进行

1

湖南商务职业技术学院毕业设计

调整,得到分类器模型,对误差范围较小的目标进行识别。机器学习包括无监督学习、有

监督学习和半监督学习。

而我们清楚的是人脸识别无论是数字图像的处理方面还是在于计算机视觉领域的方

面,其地位都是很高的,它能利用摄像机采集信息,并对其进行检测,还能快速识别出口

罩佩戴情况,所以说该项技术对于当下疫情控制的意义是非常高的,在该方面的投入也是

非常有必要的有价值的。面对突如其来的新一轮肺炎疫情,人们的生活秩序被严重扰乱。

与普通流感不同,这种流行病可以通过人类唾液传播,并具有很强的感染他人的能力。最

近,面对疫情,市面上的口罩越来越少。新型冠状病毒肺炎对该病的流行尤为重要。能有

效阻断新型冠状肺炎病毒的传播。它能直接从源头检查,将人体唾液和气流从第一道屏障

中隔离出来,有效保护自己和他人,不传播病毒。在中国的公共场所必须戴口罩。然而,

在商场、餐厅、地铁等人员密集场所,应对客流高峰期的措施往往让人发自内心。一些人

外出时不爱戴口罩,这给病毒提供了可乘之机,给自己和他人的生命带来重大安全隐患。

如果有一套系统,通过对数字图像的采集和识别,识别出是否戴口罩的人,并做出相应的

预警和报警就显得尤为重要和迫切。随着计算机视觉技术的发展,基于图像的面具识别迅

速引起人们的关注。

1.2开发环境与工具

1.2.1Python简介

Python由荷兰数学和计算机科学研究学会的吉多·范罗苏姆于1990年代初设计,作为

一门叫做ABC语言的替代品。Python提供了高效的高级数据结构,还能简单有效地面向

对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本

和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被用于独

立的、大型项目的开发。

Python解释器易于扩展,可以使用C语言或C++(或者其他可以通过C调用的语言)

扩展新的功能和数据类型。Python也可用于可定制化软件中的扩展程序语言。Python丰富

的标准库,提供了适用于各个主要系统平台的源码或机器码。

1.2.2pytorch简介

是一个基于Python的开源机器学习框架,由Facebook的人工智能研究团队开发和维

护。它提供了丰富的工具和库,用于构建深度神经网络模型和进行机器学习任务。

的设计理念是动态计算图,这意味着你可以使用自然的方式定义和执行计算图,而不

需要预先定义静态计算图的结构。这种灵活性使得模型构建和调试变得更加直观和方便,的

主要特点包括:

1.动态计算图:允许用户在运行时动态地构建、修改和执行计算图,使得模型构建和

调试更加灵活和直观。

2

湖南商务职业技术学院毕业设计

2.自动求导:能够自动计算张量的梯度,大大简化了反向传播算法的实现。这使得模

型训练过程更加便捷和高效。

3.强大的GPU加速支持:针对GPU进行了优化,可以充分利用GPU的并行计算能

力,加速深度学习任务的训练和推理。

4.大型社区支持:拥有庞大的开源社区,提供了丰富的文档、教程和示例代码。这使

得学习和使用变得更加容易,同时也能够从社区中获取支持和解决问题。

5.兼容性和可扩展性:与其他Python库(如NumPy)和常见的机器学习库(如SciPy

和Scikit-learn)兼容性良好。此外,还提供了丰富的扩展库和工具,可以满足不同任务和

需求的扩展性需求。

总的来说,是一个功能强大、易用且灵活的机器学习框架,广泛应用于学术界和工业

界。它的设计理念和特点使得模型构建和调试更加直观和高效,为深度学习任务提供了便

利和优化的解决方案。

1.2.3pycharm简介

PyCharm是一款由JetBrains开发的集成开发环境(IDE),专门用于Python开发。它

提供了许多强大的功能和工具,旨在提高开发者的生产力和代码质量,以下是PyCharm的

一些主要特点和功能:

1.代码编辑和智能感知:PyCharm具有强大的代码编辑功能,包括语法高亮、代码补

全、自动缩进和错误检查等。它还提供了智能感知功能,可以根据上下文提供代码建议和

自动完成。

2.调试和测试:PyCharm内置了强大的调试器,可以帮助开发者定位和修复代码中的

问题。它还支持单元测试和集成测试,可以方便地编写、运行和分析测试用例。

3.项目管理:PyCharm支持多个项目的管理,可以轻松切换和管理不同的Python项

目。它提供了项目导航、版本控制集成和依赖管理等功能,使得项目开发更加便捷。

4.版本控制:PyCharm与常见的版本控制系统(如Git、SVN和Mercurial)集成紧密,

可以直接在IDE中进行版本控制操作,如提交、拉取和合并代码等

5.代码重构和分析:PyCharm提供了丰富的代码重构工具,可以帮助开发者进行代码

重构和优化,提高代码的可读性和维护性。它还提供了静态代码分析功能,可以帮助检测

潜在的错误和优化建议。

6.插件和扩展性:PyCharm支持大量的插件和扩展,可以根据需要添加额外的功能和

工具,以满足特定项目或开发需求。

总的来说,PyCharm是一个功能强大、易用且高度可定制的Python开发环境,适用于

各种规模的项目和开发者。它提供了丰富的功能和工具,帮助开发者提高开发效率、减少

错误,并保持代码质量。

3

湖南商务职业技术学院毕业设计

1.2.4Python第三方库简介

Python是一种非常受欢迎的编程语言,因为它易于学习、使用和扩展。Python拥有

大量的第三方库,这些库可以帮助开发人员快速、轻松地实现各种任务。以下是几个重要

的Python第三方库简介:

NumPy:NumPy是Python的一个科学计算库,它提供了高效的多维数组对象、各种

派生对象、快速的数组操作方法以及大量的工具。

Pandas:Pandas是Python的一个数据处理库,它提供了灵活和高效的数据结构,包

括数据帧和面向行和列的数据选择、操作和分组方法。

Matplotlib:Matplotlib是Python的一个绘图库,它提供了创建各种类型图表和可视

化的工具,包括条形图、散点图、区域图和等高线图等。

Scikit-learn:Scikit-learn是Python的一个机器学习库,它包含了大量的基本算法和

模型,可以用于分类、回归和聚类等任务。

Pytorch:Pytorch是一个开源的机器学习框架,它由Google开发,是用于构建人工

智能模型的重要工具之一。

Django:Django是Python的一个Web框架,它提供了一套完整的MVC架构、

ORM和模板语言,可以帮助开发人员快速构建复杂web应用程序。

Flask:Flask是Python的另一个微型Web框架,它提供了一个灵活的、易于扩展

的架构,可以用于搭建小型Web应用程序和API。

这些Python第三方库提供了很多功能和工具,可以帮助开发人员更轻松、高效地进

行编程任务。使用这些库可以大大提升Python在数据处理、科学计算、机器学习、Web

开发等方面的能力。

2、需求分析

2.1可行性需求分析

1.功能需求

2020年新冠肺炎席卷全球,佩戴口罩能够有效切断新冠肺炎病毒的传播途径,是预防

感染的有效措施。随着疫情影响的逐步扩大,国内公众场合要求人们需要佩戴口罩,但是

也总有一些人因为特殊情况未能佩戴口罩,这有可能会对周围人群的安全造成隐患。特别

是商场、餐饮、地铁、车站等人员密集型的场所,由工作人员人工检测体温与监督乘客口

罩佩戴情况,在人流量高峰时段的检测往往应接不暇,经常会出现大量人力的浪费,并且

吃力不讨好,效率仍然低下。

随着时代的快速发展,计算机视觉技术使得我们摄像机与计算机合而为一,一体化的

分析处理,快速高效的实现对人员来往是否佩戴口罩的检测。本系统可以自动准确且快速

4

湖南商务职业技术学院毕业设计

地识别图片或视频中人物是否佩戴口罩,有着重要的应用场景和市场前景。

2.性能需求

(1)系统在因特网正常状况下全天候提供服务,用户可以随时使用该系统进行检测。

(2)检测速度要尽可能的快并且检测结果尽可能准确。

(3)系统的安全性、可操作性、可维护性要较为完善。

3.运行需求

本系统采用了YOLOv5模型,Darknet深度学习框架,操作系统为Windows10,环境

为。这些技术目前都已经很成熟,而且技术含量很高,使用起来很方便,安全性也有较大

保障。目前高性能的网络组建大量涌现,他们速度快、用量大、可靠性高、价格低,完全

可以满足本系统的需要。

2.2数据采集功能分析

在使用本系统时,用户首先需要选择本地图片或视频并传入系统,系统对图片进行

预处理后再对目标人脸的区域进行定位,然后对定位后的人脸区域进行是否佩戴口罩的

识别,最后将识别结果输出。

根据上述描述,本系统应具备以下四个功能:

(1)图片选择:提供从本地文件夹中选择待识别图片的功能。用户可以从本地文件

夹中获取想要识别的图片并传入系统。

(2)图像预处理:提供对传入的图片进行预处理的功能。该功能可以对传入的图片

进行灰度校正和平滑处理,为之后对图像进行进一步分析和识别做准备。

(3)图像识别:该功能是对已经预计处理的图像进行再一次进一步的分析,并通过

如此方式对于图像特征提取,对于目标进行定位以及预处理之后的图像进行进一步分析,

对图像进行特征提取、目标定位和目标识别。

(4)结果输出:该功能可以将已经完成识别的图像的结果进行输出。

5

湖南商务职业技术学院毕业设计

图2-1系统功能结构图

2.3关键技术分析

2.3.1目标检测

1.目标检测的概念

目标检测又被我们叫做目标提取,这是一种基于目标的几何还有统计特征的图像分割

方法。

它的作用在于,将原本需要两步的目标分割还有识别合二为一,所以其以准确以及实

时著称,特别是在许多复杂的场景之中,因为我们需要同时对多个目标进行相应的检测处

理,它所具备的自动提取目标以及自动识别格外重要。在对国内外诸多成果的研究中,

我们将目标检测的算法通常分为两类,第一种是较为传统的目标检测算法,第二种就是我

们要介绍到的基于深度学习的目标检测算法,目前后者的用途十分广泛该算法又分为One-

Stage目标检测算法和Two-Stage目标检测算法。

2.传统目标检测算法

(1)对于传统的目标检测方法,一般工作流程分为三个阶段:即首先给定图像选取

候选区域,选择过后再提取相应特征,之后再用以及训练好的分类器来对于各个数据进行

分类。这三个阶段细化来说如下。

区域选择:即定位,我们在分析处理之前首先应该确定位置,因为目标可能出现于任

何位置,且形状比例会相应的产生一些变化,所以我们采用滑动窗口来保证将图像所有位

置都有观测到,简单来说,就是穷举法,这种方法可以完成任务,但是这种方法效率不高,

且时间浪费的太多,且多了许多不必要的的多于窗口,这对于后续工作的进行产生了影响,

6

湖南商务职业技术学院毕业设计

也导致了整体系统的效率被拖慢。

(2)特征提取:因为观测目标不会相同,多种多样,并且位置角度都有变化,所以

一个完美程序是特别困难的。但是对于目标特征的提取又是至关重要的,它直接决定系统

的结果是否准确,所以重要程度不言而喻。其中,SIFT、HOG等是这个阶段常用的特征。

(3)分类:即根据第二步所提取出来具有相似特征的目标归为一类,实现对数据的

分类。目前市面上的分类器主要包括SVM,AdaBoost等。

2.3.2YOLOv5算法

YOLOv5是一种高性能实时目标检测算法,是YOLO系列(YouOnlyLookOnce)的

最新版本。它是由Ultralytics团队开发的,旨在提供更快速、更准确的目标检测能力。

与之前的版本相比,YOLOv5在模型结构和训练策略上进行了一些改进和优化,以提

高检测性能。下面是YOLOv5的一些特点:

1.网络结构:YOLOv5采用了一种轻量级的网络结构,由卷积层和池化层组成,通过

多个不同尺度的特征图进行目标检测。这种结构能够在保持准确性的同时提供较快的推理

速度。

2.强大的检测能力:YOLOv5能够同时检测多个目标类别,并输出它们的边界框和类

别概率。它具有较高的准确性和召回率,能够有效地处理复杂场景下的目标检测任务。

3.多尺度训练:YOLOv5采用了一种多尺度训练策略,通过在不同尺度下训练模型,

提高了模型对不同大小目标的检测能力。这使得模型在处理大尺度和小尺度目标时都能取

得较好的效果。

4.数据增强和数据集增强:YOLOv5使用了多种数据增强技术,如随机裁剪、色彩扰

动和图像翻转等,以增加训练数据的多样性和数量。此外,还提供了数据集增强工具,可

以通过合成数据增加训练样本的丰富性。

5.高度可定制:YOLOv5提供了丰富的配置选项,可以根据任务需求进行灵活的模型

设置和训练。用户可以选择不同的网络尺寸、训练参数和推理设置,以满足特定的目标检

测需求。

总的来说,YOLOv5是一种高性能的实时目标检测算法,具有较快的推理速度和较高

的检测准确性。它在多尺度训练、数据增强和模型定制等方面提供了更多的灵活性和优化

选项,适用于各种实际场景中的目标检测任务。

7

湖南商务职业技术学院毕业设计

YOLO网络基于回归算法,在很复杂的运算数据面前也能发挥很好的效果,实际运

用效果也是如此,该算法去的了不小的成就,获得了可观的效果。一般情况下YOLO网

络将输入的图片划分成大小为32*32的网格,检测目标口罩,只要口罩的中心位置落入

某个网格中,则立即由该网格负责检测目标。同样的检测地点检测对象,该算法比较其

它任何算法都要更具优势,优势就在于其多尺度预测算法,特别是实时性方面,更加凸

现了该中算法的强大,更好地满足人流量较大的需要。

Yolov5算法是在原有YOLO目标检测架构的基础上,采用了近些年CNN领域中最

优秀的优化策略,从数据处理、主干网络、网络训练、激活函数、损失函数等各个方面

都有着不同程度的优化。

(1)Yolov5的贡献

①开发了一个高效而强大的模型,使得任何人都可以使用一张1080Ti或者2080Ti

GPU去训练一个超级快速和精确的目标检测器。

②验证了一系列state-of-the-art的目标检测器训练方法的影响。

③修改了state-of-the-art方法,使得他们在使用单个GPU进行训练时更加有效和适

配,包括CBN,PAN,SAM等。

(2)Yolov5的训练方法

①Bagoffreebies:只改变训练策略或者只增加训练成本,比如数据增强。

②Bagofspecials:插件模块和后处理方法,它们仅仅增加一点推理成本,但是可以

极大地提升目标检测的精度。

(3)Yolov5的网络结构

Yolov5目标检测算法作为该算法的第四代,相比第三代,在网络结构上比更复杂,

因为其内部使用了极多的训练模式来提升整体神经网络的准确率,Yolov5通过引入

Mosaic数据增强方法,并选择最优超参数,使用GA算法,进而对现有的方法进行改

进,并对其不断进行训练,使得其具有更为低的训练门槛,使其下限更低,更好上手,

能够在GPU资源有限的条件下尽可能的得到更加好的结果。在运算过程中Mosaic数据增

强方法每次随机读取四张图片,并对这四张张照片进行一系列操作,翻转、缩放等操

作,实现将四张图合四为一,这种将四张图片组合为一张图片的方法可以更加丰富检测

物体的背景。Yolov5的网络结构如图1所示,主干网络为CSPDarknet53,附加模块设

置为SPPNeck,另外特征融合模块使用PANet,使用第三代即,YOLOv3作为Head。在这

里面的Darknet53包含了5个大残差块,这5个大残差块包含的小残差单元个数分别为

1、2、8、8、4。CSPDarknet53在Darknet53的每个大残差块上加上了CSPNet(Cross

StagePartialNetwork),并在后面通过梯度的变化,集成到特征图中,同时将特征图一分

为二,一部分进行卷积操作,另一部分与上一次的卷积结果进行结合。最后在目标检测

8

湖南商务职业技术学院毕业设计

问题中,CSP可以有效提升CNN的学习能力,同时减少计算量。PANet充分利用了特

征融合,Yolov5中还将融合的方法由加法改为乘法,使该网络能够得到更加精确的目标

检测能力。

图2-2Yolov5网络结构图

3、系统实现

3.1图像采集

本系统共爬取了大约5000张图片作为口罩佩戴检测数据集,其中佩戴口罩和未佩戴

口罩的图片数量基本持平。对于样品的图像,我们进行两类标注,一类有口罩,一类未

戴口罩,一共训练集有2200张不同的图片,验证集是训练集的百分之十。在每一次同时

数据之中,存在着许许多多的不同,口罩角度,颜色各不相同,这样的训练有利于提升

我们的检测佩戴情况的准确性。

9

湖南商务职业技术学院毕业设计

图3-1部分图片展示

图3-2部分图片展示

3.2图像预处理

图像预处理的主要作用包括改善图像质量、突出特征、去除噪声、调整尺寸、归一化

和数据增强等。其中,彩色直方图均衡用于增强对比度和改善图像质量,灰度处理可以降

低计算复杂度并提取图像特征,平滑处理可以去除图像中的噪声。这些预处理技术都有助

于提高图像处理和图像识别的准确性和性能。

3.2.1彩色直方图均衡

彩色直方图均衡是一种图像处理技术,通过调整彩色图像中每个颜色通道的像素值

分布,实现对比度增强、图像质量改善、视觉感知提升和图像特征增强的效果。它能够

10

湖南商务职业技术学院毕业设计

使图像亮度范围更均匀地覆盖整个范围,突出细节,使识别图像的边缘更清晰、自然、

生动,提高计算机对图像的感知和识别能力。

图3-3直方图均衡代码

图3-4均衡化后图片

使用图片均衡化亮度均衡,口罩边缘更清晰,更容易被计算机识别。

3.2.2灰度处理

在图像处理中,处理三个通道的数据会比较复杂,因此需要先将图像变灰,也就是

对图像进行灰度处理,因为灰化后的照片可以尽可能的减少原始图像的数据,这样便可

以减少计算量,增加计算精度,灰度处理,简单来说,就是将各个像素点的RGB值统一

成同一个值,从而失去颜色,变为灰色,经过灰度处理后的图像将由三通道变为单通

道,而单通道的数据,处理计算起来将会得到极大的简便。

灰度处理后的图像可以通过阈值变换转换成黑白二值的图像信息,也正是通过对于

灰度图像二值化处理,所需目标的轮廓便可以得到凸出。

灰度阈值变换的基本公式为:

0xT

f(x)

255xT

11

湖南商务职业技术学院毕业设计

其中T为指定的阈值。

类似于符号函数,将灰度大于阈值的部分设置为最大灰度,灰度小于阈值的部分设

置为最小灰度。经过阀值化的灰度值仅有两个取值,最小值0与最大值255。阈值变换将

图像内容划分为关心与不关心的2个部分,从复杂背景中可直接提取出感兴趣的,主要

用于对图像的分割。

二值化处理的灰度图像,即就是将像素点阈值变换,讲灰度设置到0或255,这样的

设置,也就可以使整个图像会出现明显的黑白效果,也就是将256个亮度等级的灰度图

像,通过适当的阈值选取,得到可以明显显出所需物体的二值化图像,同时在数字化处

理之中,二值化图像的图像整体,以及局部特征,我们都知道,二值图像在数字处理中

的的地位是很高的,特别是实用的图像处理,在当下的生产生活,通过二值化图像来处

理信息是很广泛的,但要进行二值化处理,我们就需要先将灰度图像二值化,得到二值

化图像,因为二值化图像才能进行二值化处理,因为图像性质只与灰度阈值点位置有

关,不涉及像素多级值,这就使的对于图像的处理变得简单,,并且压缩量少,占据空

间更小,而我们要得到满足条件的理想型二值化图像,我们通常都是采用封闭,以及联

通的边界定义不重合的区域,所有的灰度大于或等于阈值的物体,即为我们所需要的特

定物体,即将其灰度值表示为225,除此之外的的像素点都被排除在外,灰度值即为零,

表示为区域值之外是背景等区域,但如果特定物体内部有着均匀的灰度值,并且处于一

个具有其他等级灰度值的均匀背景,使用阈值法就可以得到明显的分割成果,如果物体

与背景灰度差值较大,即可以之间转化为灰度的差值,利用灰度阈值选取分割,动态阈

值调节来帮助观测。

而对于经过处理的灰度图像,是没有固定的算法的,根据图像区域之中的不同目标

有着不同算法,在实际之中的操作中,根据不同灰度我们能进行舍入处理,必须选择为

灰度阈值中值等,但是这种处理的范围过于宽广,因为没有根基图像,所以效果不是很

理想。

3.2.3平滑处理

图像在生成、获取、传输等过程中,由于受到光照、成像系统功能和噪声等许多因

素的影响,往往会造成对比度偏低、清晰度下降以及产生干扰噪声等结果。为了改善图

像质量,需要利用图像增强技术获得更便于后续分析和识别的图像。图像的平滑处理是

在尽量保留图像原有信息的情况下,过滤图像内部的噪声。通过图像平滑处理,可以有

效过滤掉图像内的噪声信息。

图像平滑处理的基本原理是对图像中与周围像素点的像素差异值较大的像素点进行

处理,将其值调整为周围像素点像素值的近似值。

12

湖南商务职业技术学院毕业设计

图像平滑处理的方法包括均值滤波、方框滤波、高斯滤波、中值滤波、双边滤波和

2D滤波等。

在该系统的均值处理方法之中,我们采取均值滤波方法方法来对图像进行平滑处

理。均值滤波指的是当前像素点的周围N*N个像素值的均值来代替当前像素点,而通过

这样的方法来历遍每一个像素点,这样穷举之后,即可以完成对于整个图像的均值滤

波。

而在于数据处理之前,我们有必要先去考虑对于周围的多少个像素点去研究,因为

我们需要去取平均值,然后当做中心点,对行数还有列数具有像素点取平均值,而对于

边缘的像素点可以只取图像内存的领域点像素均值。

3.3图像标注

本文使用LabelImg为yolov5算法构建图像数据集,保存格式为yolov5算法可供识别

的txt文本格。在标注过程中,需要注意的是要确保准确地标注口罩目标的边界框,并为

每个目标制定正确的类别,本次标准将数据集分为两类,分别是mask和nomask,具体操

作如图所示:

图3-5LabelImg操作窗口

打开LabelImg操作窗口后,以上是具体的操作模块功能介绍,本文需要对口罩数据集

进行标注,打开数据集文件夹,导入图片,直接按W键可以直接产生标注框,弹窗中填上

信息,如图3-6所示,标注信息为mask:

13

湖南商务职业技术学院毕业设计

图3-6LabelImg标注

4、模型构建及评估分析

本章将会从模型的选择,到模型参数调整以及训练过程注意展示,最开始需要在github

中下载yolov5模型,如图4-7所示:

图4-1模型下载

Yolov5的项目目录结构主要需要修改的是data文件夹、utils文件夹以及models文件夹,

其中voc.yaml中可以修改nc类别参数,指定识别标记,detect.py文件夹可修改运行数据

集、weight等,部分目录结构如图4-8所示:

图4-2模型结构

下载完成后,在anaconda中安装运行环境,环境如图3-9所示:

14

湖南商务职业技术学院毕业设计

图4-3运行环境

运行环境搭建好后,在yolov5中调整模型配置文件,打开voc.yaml,其中定义了模型

的结构和超参数。根据数据种类和锚框大小进行调整,以下是参数详解:

(1)nc参数:指定目标类别的数量,包括佩戴口罩和不佩戴口罩的人脸。

(2)anchors参数:YOLOv5使用锚框(anchorbox)来检测不同尺寸的物体。你可

以根据口罩的大小调整锚框的尺寸,以便更好地适应口罩的检测。

(3)weights参数:指定预训练模型的权重文件路径。从预训练的YOLOv5模型中

加载权重,然后在该基础上进行微调。

如图3-10所示调整识别的nc值,制定目标识别种类和对应的标记。

图4-4类别调整

如图3-11所示,修改detect.py文件中的weights参数,将模型指定为yolov5模型,修改data

参数为mask数据集。

图4-5模型、数据集更改

其中activations.py中定义了模型的激活函数,如图所示定义了Silu和mish激活函

数,使用mish激活函数,是由于它有一种具有连续可导特性的非线性函数。与传统的

ReLU激活函数相比,mish激活函数具有更宽的“平台”区域,这意味着它可以更好地保

留输入的绝对值较大的特征信息,对于口罩识别而言,可以随着目标的位置、大小和形

15

湖南商务职业技术学院毕业设计

状等特征的不同尺度发生变化,引入激活函数可以使yolov5模型具有更强的非线性拟合

能力,部分代码如图4-12所示:

图4-6激活参数修改

使用pycharm直接对yolov5模型进行训练,为了确保模型可以在训练之后仍保持校

准的检测性,所以本系统的检测我们选取真实人脸作为训练样本,通过对收集到的图片

进行分类,标注时对人脸进行框选标注,讲标注分为戴口罩和不戴口罩两种类型,并规

定在本次训练中模型训练集和训练图片数量四比一,因此在选取的四千张照片之中,

3200张为训练集,800张为测试集。

图4-7划分数据集

在对模型调整,数据集划分完毕后,设置提取特征的训练参数。该模型共训练100

次,分为两部分进行训练。前期冻结主干网络训练50次,不训练主干网络只训练后面检

16

湖南商务职业技术学院毕业设计

测层,主干网络是用来提取特征,冻结主干网络进行训练可以加快训练速度,后期50次

包括主干网络全部训练。

训练前期50次设置学习率为0.001,动因子为0.95,每学习一次学习率衰减0.95,

学习率逐渐下降有利于进行收敛。

对口罩是否佩戴识别要分为两步,分类与定位,分类就是利用算法遍历图片,判断

其中的对象是不是包含我们要找的人脸。进而将一张图片到多层卷积神经网络,之后会

得到一个结果即特征向量,同时反馈给softmax模块,来对于图片类型做一预测。

判断出图片类型之后就要对图片中的目标人脸进行定位。在口罩佩戴检测问题中,

一张图片可以含有多个目标,并且单张图片中可能会有多个不同分类的目标。

对于数据的处理之中,可以让神经网络再次多输出几个,形成多重结果,首先输出

一个边界框,(xmin,ymin)和(xmax,ymax),图片中的每个人脸都分别对应着是两个

坐标,这样就可以判断出每张图片中目标人脸的数量然后对其进行定位。

图4-8前期训练设置

训练后期50次设置学习率为0.0001,动因子为0.95,每学习一次学习率衰减0.95。

17

湖南商务职业技术学院毕业设计

图4-9后期训练设置

图4-10模型训练过程

如图4-11为模型训练过程,每张图片的识别速度平均为0.2s,识别速度较快,在模

型训练完毕后模型run文件夹下自动生成了loss、map和ap曲线的数据图,以下将解释

数据图的具体含义。

图4-11训练和验证的loss曲线

如上图loss曲线是训练过程中损失函数的变化情况的可视化表现,上图中测试集和

验证集的损失都较小,可以看到准确率逐渐提高并基本达到稳定。

18

湖南商务职业技术学院毕业设计

图4-12测试集的map曲线

AP曲线是衡量训练出来的网络模型在每个类别上的好与坏,这两个AP曲线分别表

示每次测试中单个类别NoMask和Mask的正确率,是选取该模型中最好的模型绘制出来

的曲线图。

图4-13NoMask的AP曲线

map是衡量训练之后的网络模型在所有类别上的好与坏,两个AP取平均值即为该模

型测试的正确率map。可以看到,经过训练之后该模型的正确率已经可以达到91.35%。

图4-14模型的map值

5、模型应用

在进行了最终的实验过后实现效果如图所示,对于佩戴了口罩

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论