CN114387484B - 一种基于yolov4改进的口罩佩戴检测方法及系统 - Google Patents
一种基于yolov4改进的口罩佩戴检测方法及系统 Download PDFInfo
- Publication number
- CN114387484B CN114387484B CN202210026630.0A CN202210026630A CN114387484B CN 114387484 B CN114387484 B CN 114387484B CN 202210026630 A CN202210026630 A CN 202210026630A CN 114387484 B CN114387484 B CN 114387484B
- Authority
- CN
- China
- Prior art keywords
- function
- image
- yolov4
- improved
- data enhancement
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 49
- 230000004913 activation Effects 0.000 claims abstract description 53
- 238000012706 support-vector machine Methods 0.000 claims abstract description 29
- 230000006872 improvement Effects 0.000 claims abstract description 22
- 239000006002 Pepper Substances 0.000 claims abstract description 7
- 230000006870 function Effects 0.000 claims description 188
- 230000009466 transformation Effects 0.000 claims description 21
- 150000003839 salts Chemical class 0.000 claims description 10
- 235000002566 Capsicum Nutrition 0.000 claims description 6
- 235000016761 Piper aduncum Nutrition 0.000 claims description 6
- 235000017804 Piper guineense Nutrition 0.000 claims description 6
- 235000008184 Piper nigrum Nutrition 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 4
- 238000005520 cutting process Methods 0.000 claims description 4
- 230000002708 enhancing effect Effects 0.000 claims description 4
- 238000010606 normalization Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 claims description 4
- 210000002364 input neuron Anatomy 0.000 claims description 2
- 235000012431 wafers Nutrition 0.000 claims description 2
- 244000203593 Piper nigrum Species 0.000 claims 1
- 238000000034 method Methods 0.000 abstract description 14
- 238000004422 calculation algorithm Methods 0.000 abstract description 10
- 230000008569 process Effects 0.000 abstract description 6
- 238000007781 pre-processing Methods 0.000 abstract 1
- 230000011218 segmentation Effects 0.000 abstract 1
- 238000012549 training Methods 0.000 description 13
- 230000000694 effects Effects 0.000 description 10
- 238000013528 artificial neural network Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 6
- 241000722363 Piper Species 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000004880 explosion Methods 0.000 description 4
- 238000009826 distribution Methods 0.000 description 3
- 230000001965 increasing effect Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 230000035515 penetration Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 239000002131 composite material Substances 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- OYPRJOBELJOOCE-UHFFFAOYSA-N Calcium Chemical compound [Ca] OYPRJOBELJOOCE-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010224 classification analysis Methods 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 238000011897 real-time detection Methods 0.000 description 1
- 238000000611 regression analysis Methods 0.000 description 1
- 229920006395 saturated elastomer Polymers 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000014599 transmission of virus Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于yolov4改进的口罩佩戴检测方法,针对三个方面进行改进,实现了对口罩的实时鲁棒检测;首先,在数据预处理过程中,利用椒盐噪声以及修改的对数函数相结合对初始图像进行数据增强操作;然后在主干(BackBone)中对CBM(Conv+BN+Mish),CBL(Conv+BN+Leaky relu)组件将原本的激活函数mish()函数替换为三段式分段激活函数;最后,对存在于YOLOv4中主干和检测器的激活函数mish进行改进,利用支持向量机函数代替原类别损失中的二元交叉熵损失函数;本发明改善了YOLOv4算法的效率,提升了对暗光环境的检测准确性,降低了过拟合。
Description
技术领域
本发明涉及计算机视觉与目标检测、图像处理和口罩检测的研究领域,特别涉及一种基于yolov4改进的口罩佩戴检测方法及系统。
背景技术
在公共场所下人们有必要佩戴医用口罩以防止病毒的传播。然而公共场所人流量大,单靠人工和简单的识别系统往往是不够的,因此对于公共场所,口罩实时检测的精度和速度需要达到更高的要求。尤其在室内灯光曝光度过大或者光线较低的情况下,这将是一个巨大的挑战。
由于当卷积神经网络学习起到干扰作用的噪声信息后,通常会发生过拟合现象。([1]王芋人,武德安.一种提高小目标检测准确率的数据增强方法[J/OL]. 激光杂志:1-6[2021-08-22])因此,在改进的数据增强中,在原有图片加入椒盐噪声模拟模糊的识别环境,有助于提高目标检测的准确性和鲁棒性,避免过拟合现象的发生。
拍摄图像时,由于天气或者摄像机里面元部件等原因,比如雾霾、下雨、感应器失效等,会使得成像效果模糊。为了能够改善对模糊图像的检测效果,可以事先在训练集中的图像上面加入一些噪声,使得训练模型的鲁棒性更好。椒盐噪声可以较好拟合生活中雨天拍照情景。(李永盛,何佳洲,刘义海,赵国清. 基于图像检测识别的数据增强技术[J].舰船电子对抗,2021,44(01):66-70.)
仅使用马赛克数据增强虽然提升了检测精度,但模型在检测暗光环境图片时的表现差强人意。(叶子勋,张红英.YOLOv4口罩检测算法的轻量化改进[J]. 计算机工程与应用,2021,57(17):157-168.)改进的对数幂变换可在灰度级较低的情况下进行拉伸,在灰度级较高的情况下进行缩放,相对于传统的、算法结构单一、在图像的亮度变换处理上比较粗糙的对数变换,其拉伸和缩放程度优于传统对数变换。
激活函数大量存在于在YOLOv4结构的CBL、CBM组件当中,给神经元引入了非线性因素,使得神经网络可以任意逼近任何非线性函数,此时神经网络就可以应用到各类非线性场景当中。但计算速度较慢(计算成本高昂),其性能影响图片的…综合影响算法的鲁棒性
新激活函数部分保留Mish()函数能使特征信息得到更好的训练和收敛。 Mish函数在负值的时候并不是完全截断,而是允许比较小的负梯度流入从而保证信息流动,激活函数无边界特点,并且每一点平滑不生硬因此梯度下降效果比leaky Relu激活函数效果更好。其平滑的特点允许更好的信息深入神经网络,从而得到更好的准确性和泛化。(如《改进YOLOv4的密集遥感目标检测_谢俊章》, 2021)
新激活函数在-3~4之间的Mish()函数的非线性在保持精度的情况下带了很多优势,首先mish在众多软硬件框架中都可以实现,其次量化时避免了数值精度的损失,运行快。它带来的网络效应对于精度和延时具有正向促进,剩下的开销可以通过融合非线性与先前层来消除。
不是所有被激活的信息都是有用的,神经网络训练后期,被激活的有效信息减少,无效信息增多,其中一部分是噪音。分段的激活函数可以帮助神经网络做这种隔离。它激活有用的信息,并抑制无关的数据点。保证有用的信息被激活以及网络有效训练的情况下,将(-∞,-3)∪(4,+∞)的范围内将激活函数改成饱和函数,很大程度改善了非线性时产生的模型的延时。
新激活函数比起同为饱和函数的tanh函数,前者收敛速度更快,右侧输出值更大,激活更加多有用的信息。
新激活函数避免了梯度爆炸的问题。深层的卷积神经网络往往会遇到梯度爆炸(Gradient exploding problem)的问题,
当权值过大时,在激活函数的作用下,大于1的值将不断相乘,梯度在迭代中呈指数级增长,最终导致梯度爆炸。在导数为零的情况下,全局最小值可起到“软底”的作用,它可以抑制大权值的更新,仍而避免梯度爆炸。(如《YOLOv4 口罩检测算法的轻量化改进_叶子勋》,2021)
新激活函数具有左侧硬饱和性和右侧硬饱和性,饱和性虽然会导致梯度消失,但也有其有利的一面,饱和性使得网络在物理意义上最为接近生物神经元,能满足一些概率的计算。
逻辑损失函数对异常值非常敏感,mish函数具有以上无边界(即正值可以达到任何高度)的特点,这样导致错误的标记数据往往远离决策边界,造成异常大的错误数值会拉伸决策边界,对训练的结果造成不良影响,并且可能会牺牲其他的正确样本。理论上对负值的轻微允许更好的梯度流,而不是像ReLU中那样的硬零边界。因此新函数选用平滑的激活函数将允许更好的信息深入神经网络,从而得到更好的准确性和泛化。
mish函数训练处理带噪声的数据时,错误的标签的影响会扩展到分类的边界上。
神经网络的输出是一个矢量激活值,一般对于分类问题,我们使用的是 softmax,将激活值表示为分别属于每个分类的概率。由于逻辑损失的这种传递函数的尾部以指数方式快速衰减,因此训练过程将倾向于使边界更接近于错误标记的示例,以保证不属于该分类的函数值更接近于0。如此一来,即使标签噪声水平较低,网络的泛化性能也会立即恶化。而平滑的激活函数允许更好的信息深入神经网络,从而得到更好的准确性和泛化。
tanh函数存在梯度饱和问题,导致训练效率低下。正向传播过程中,tanh 函数计算激活值时需要计算指数,而新函数仅需要设置阈值,即可计算激活值。
原激活函数输入信号<0时,输出都是0,>0的情况下,输出等于输入。
导数从0开始很快就又趋近于0了,易造成“梯度消失”现象,而新激活函数在特征相差明显时的效果会很好,在0处是均值的,在循环过程中会不断扩大特征效果。
综上所述,尽管Mish()函数在各项数据中证实鲁棒性比其它函数强,但在计算速度和鲁棒性方面有其不足和缺陷,结合饱和函数能发挥更大的优势,激活函数仍然迫切需要进一步改进。
损失函数(loss function)是将随机事件或其有关随机变量的取值映射为非负实数以表示该随机事件的“风险”或“损失”的函数。在应用中,损失函数通常作为学习准则与优化问题相联系,即通过最小化损失函数求解和评估模型。例如在统计学和机器学习中被用于模型的参数估计(parametric estimation),在宏观经济学中被用于风险管理(riskmangement)和决策,在控制理论中被应用于最优控制理论。
在机器学习训练网络的过程中,输入数据与标签通常情况下已经确定,那么真实概率分布也就确定下来了,所以信息熵在这种情况下就是一个常量。由于KL散度的值表示真实概率分布与预测概率分布之间的差异,值越小表示预测的结果越好,所以需要最小化KL散度,而交叉熵等于KL散度加上一个常量(信息熵),且公式相比KL散度更加容易计算,所以在机器学习中常常使用交叉熵损失函数来计算LOSS。
交叉熵损失函数也经常用于分类问题,其优势在于模型参数更新只与实际值和预测值的差距有关,与激活函数的梯度无关,优化了网络的收敛速度。交叉熵是基于softmax计算出来的,softmax是将网络的输出通过指数变化转变成概率的形式。正确的类总是具有更高的概率,而不正确的类总是较低的概率,但交叉熵函数仍会继续训练,为了使损失变得更好,这在一定情况下降低了效率。
支持向量机技术(support vector machines,简称SVM,于1995年由CorinnaCortes和Vapnik带领的研究小组提出)是在分类与回归分析中分析数据的监督式学习模型与相关的学习算法,随着现代科技的不断发展以及发展需求的日益增长,支持向量机技术在分类识别领域中的优势逐渐被研究人员重视起来,后来广泛应用于实际生活中。目前,支持向量机技术已经广泛应用于多个领域,分类效果可观,不仅如此,研究人员还将支持向量机模型与其他分类模型相结合,提高了总体性能,提高了其他模型的效率。但是,对于支持向量机技术在目标检测损失函数中的应用和研究,目前尚未得到足够重视。
发明内容
本发明的主要目的在于克服现有技术的缺点与不足,提供一种基于yolov4 改进的口罩佩戴检测方法及系统,旨在改进yolov4的部分骨干与算法,解决 yolov4目前存在的检测准确率不尽人意、鲁棒性不强等实际问题,改善强光下口罩佩戴检测的问题。
本发明的第一目的在于提供一种基于yolov4改进的口罩佩戴检测方法;
本发明的第二目的在于提供一种基于yolov4改进的口罩佩戴检测系统。
本发明的目的通过以下的技术方案实现:
一种基于yolov4改进的口罩佩戴检测方法,其特征在于,包括以下步骤,通过图像获取装置获取初始图像;
对初始图像在yolov4模型中进行第一次数据增强,得到第一次数据增强图像;
对第一次数据增强图像在yolov4模型进行第二次数据增强,得到第二次数据增强图像;
根据第二次数据增强图像对yolov4模型中的激活函数进行改进,得到改进激活函数;
利用支持向量机函数代替yolov4模型中原类别损失中的二元交叉熵损失函数;
通过改进激活函数和支持向量机函数得到改进的yolov4模型;
通过改进的yolov4模型对待测图像进行口罩检测识别,得到识别结果。
进一步地,所述通过图像获取装置获取初始图像,具体为:针对人口出入密集的场所采集红外视频,通过截取红外视频图片采集样片,得到原始图像。
进一步地,所述对初始图像进行第一次数据增强,具体为:对原始图像进行马赛克数据增强,得到第一次数据增强图像,即在原始图像进行拼接前,随机选择10%-50%的图像像素点,添加椒盐噪声,对图像像素点赋值0或255。
进一步地,所述对第一次数据增强图像进行第二次数据增强,具体为:通过椒盐噪声和修改的对数变换对第一次数据增强图像进行第二次数据增强,得到第二次数据增强图像,即在第一次数据增强的基础上对引入改进的对数幂变换,在第一次数据增强图像被线下截取或实时识别的情况下,获取该图像后将 RGB色彩空间三通道的数值进行归一化处理,利用对数函数与幂函数的复合函数表达式进行变换,即将图像的RGB值代入该表达式得到第二次数据增强结果,实现对图像灰度值的拉伸和放缩。
进一步地,所述改进的对数幂变换复合表达式为:
[ln(x+1)]1/4
其中,x为图像变换前输入的灰度值。
进一步地,所述进行第二次数据增强,具体为:将第一次数据增强图像,在yolov4的框架下进行对数据的增强:
步骤一:将图像获取装置获取的原始数据的灰度值归一化,得到归一化后的数据;
步骤二:将归一化后的数据进行非线性变化;
步骤三:对步骤二完成的数据进行的非线性变换,使计算值映射到某一区间;
步骤四:在步骤三修改好的图像数据上添加噪声;
步骤五:把多张检测到的图片,基于mosaic数据增强通过随机缩放、随机裁减、随机排布的方式进行拼接;
步骤六:对进行第一次数据增强的数据进行随机缩放增加小目标;
步骤七:将所有获取的图像灰度值按照权利要求5给定的对数幂变换函数进行修改;
步骤八:使用双重循环遍历所有获取的图像的像素。
进一步地,所述对yolov4模型中的激活函数进行改进,得到改进激活函数,具体为:将mish()函数改进成三段式分段函数,如下:
4*tanh(ln(1+e4)),x>4
x*tanh(ln(1+ex)),-3<x≤4
-3*tanh(ln(1+e-3)),x≤-3,α=-1
即通过三段式分段函数替换CBM组件中的Mish()函数,形成改进的CBM 组件;
通过三段式分段函数替换CBL组件中的Leaky relu()函数,形成改进的CBL 组件;
将yolov4模型中Backbone主干网络部分中CBM组件替换为改进的CBM组件;
将yolov4模型中Neck模块、Prediction模块中的CBL组件替换为改进的 CBL组件。
进一步地,所述通过三段式分段函数替换CBM组件中的Mish()函数,具体为:输入神经元加权求和值(x)在(-3.4)区间保留mish()函数主体,函数表达式为x*tanh(ln(1+ex)),在(-∞,-3]改值为-3*tanh(ln(1+e-3))的常数,在[4,+∞) 改值为4*tanh(ln(1+e4))常函数。
进一步地,所述改进的CBM组件,具体为:改变CBM构件,置换原有Mish() 函数,新构件组成为Conv+Bn+三段式分段函数。
进一步地,所述利用支持向量机函数代替原类别损失中的二元交叉熵损失函数,具体为:
所述yolov4损失函数包括三个部分:类别损失、置信度损失、位置损失;其中,所述位置损失采用CIOU LOSS,所述类别损失和所述置信度损失采用二元交叉熵损失,将所述类别损失的二元交叉熵函数替换为支持向量机函数,将原二元交叉熵函数的输入值,即正负样本作为支持向量机函数的输入值。
本发明的第二目的通过以下技术方案实现:
一种基于yolov4改进的口罩佩戴检测系统,包括:
图像获取装置,用于获取初始图像;
第一次数据增强模块,用于对初始图像在yolov4模型中进行第一次数据增强,得到第一次数据增强图像;
第二次数据增强模块,用于对第一次数据增强图像在yolov4模型进行第二次数据增强,得到第二次数据增强图像;
激活函数改进模块,用于对yolov4模型中的激活函数进行改进,得到改进激活函数;
损失函数改进模块,通过支持向量机函数代替yolov4模型中原类别损失中的二元交叉熵损失函数;
yolov4模型改进模块,通过改进激活函数和支持向量机函数得到改进的 yolov4模型;
检测识别结果输出模块,通过改进的yolov4模型对待测图像进行口罩检测识别,得到识别结果并输出。
本发明与现有技术相比,具有如下优点和有益效果:
本发明改善了yolov4算法的效率,提升了对暗光环境的检测准确性,降低了过拟合的可能性;在室内灯光曝光度过大或者光线较低以及下雨天的情况有一个较好的拟合效果;补足了mish()函数在计算速度和鲁棒性方面的缺陷,结合饱和函数能发挥更大的优势;在训练样本有一定分类的基础上,运用SVM损失函数代替二元交叉熵损失函数会一定程度上提高yolov4损失函数的效率。
附图说明
图1是本发明所述一种基于yolov4改进的口罩佩戴检测方法的流程图;
图2是本发明所述检测方法的整体流程图;
图3是本发明所述一种基于yolov4改进的口罩佩戴检测系统结构框图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例1
一种基于yolov4改进的口罩佩戴检测方法,如图1所示,包括以下步骤,通过图像获取装置获取初始图像;
对初始图像在yolov4模型中进行第一次数据增强,得到第一次数据增强图像;
对第一次数据增强图像在yolov4模型进行第二次数据增强,得到第二次数据增强图像;
根据第二次数据增强图像对yolov4模型中的激活函数进行改进,得到改进激活函数;
利用支持向量机函数代替yolov4模型中原类别损失中的二元交叉熵损失函数;
通过改进激活函数和支持向量机函数得到改进的yolov4模型;
通过改进的yolov4模型对待测图像进行口罩检测识别,得到识别结果;
具体如下:
通过图像获取装置获取初始图像;
在马赛克(Mosaic)数据增强基础的基础上,利用椒盐噪声以及修改的对数变换相结合对初始图像进行数据增强,这里设定马赛克数据增强为第一次数据增强,利用椒盐噪声以及修改的对数变换相结合对初始图像进行数据增强为第二次数据增强。
步骤一中所述通过改进马赛克(mosaic)增强算法的椒盐噪声对模型进行预处理,其内容如下:在图像进行拼接之前,随机选择10%-50%的图像像素点,添加椒盐噪声,对图像像素点赋值0或255,人为破坏图像的完整性,所述图像是指通过截图或实时获取的待识别图像。
所述建立在马赛克(mosaic)数据增强基础上对引入改进的对数幂变换,其内容如下:在图像被线下截取或实时识别的情况下,获取图像后将RGB色彩空间三通道的数值进行归一化处理,随后利用对数函数与幂函数的复合函数表达式进行变换,实现对图像灰度值的拉伸和放缩。
本发明方法的整体流程如图2所示,本发明方法主题包括三部分:1.数据增强的改善;2.结合---的新激活函数3.----损失函数的改进;
1、数据增强的改善---口罩检测的离线训练:
训练样本准备:
(1)针对各个人口出入密集的场所采集的红外视频,通过截取图片采集样本。
(2)YOLOv4框架训练
数据增强:
利用采集得到的样本,在YOLOv4的框架下进行对数据的增强,步骤为:
步骤一:将图像获取装置获取的原始数据的灰度值归一化,得到归一化后的数据;
步骤二:将归一化后的数据进行非线性变化;
步骤三:对步骤二完成的数据进行的非线性变换,使计算值映射到某一区间;
步骤四:在步骤三修改好的图像数据上添加噪声;
步骤五:把多张检测到的图片,基于mosaic数据增强通过随机缩放、随机裁减、随机排布的方式进行拼接;
步骤六:对进行第一次数据增强的数据进行随机缩放增加小目标;
步骤七:将所有获取的图像灰度值按照权利要求5给定的对数幂变换函数进行修改;
步骤八:使用双重循环遍历所有获取的图像的像素。
丰富数据集:随机使用4张图片,随机缩放,再随机分布进行拼接,大大丰富了检测数据集,特别是随机缩放增加了很多小目标,让网络的鲁棒性更好减少GPU:直接计算4张图片的数据,使得Mini-batch大小并不需要很大,一个GPU就可以达到比较好的效果;
将图像数据的灰度值归一化具体实施流程如下:将图像像素灰度除以255,使图像灰度值稳定在[0,1],旨在保留具有诊断价值的灰度差异,便于计算机自动分析,将8位图像灰度归一化为1位图像。
将归一化后的数据进行非线性变化具体实施流程如下:得到灰度值归一化后的图像,将图像的像素值按照如下表达式:
[ln(x+1)]1/4 (1)
其中x表示原来图像的灰度值。其函数表达式为:
ln(x+1) (2)
其中x表示原来图像的灰度值。
表达式(1)为对数函数和幂函数的复合函数,图像的灰度级经过复合函数的变换之后输出新的图像灰度级。
从图像可以看出,表达式(1)在图像灰度级较高的部分缩放度高,在图像灰度级较低的部分拉伸度高,对比传统的对数变换如表达式(2)更具应用性。
把多张检测到的图片,通过mosaic数据增强,丰富了检测物体的背景和小目标,同时进行随机缩放、随机裁减、随机排布的方式进行拼接。并且在计算 Batch Normalization的时候一次会计算四张图片的数据,使得mini-batch大小不需要很大,减少了内存的使用,使得一个GPU就可以达到比较好的效果。
在样本数据上添加噪声具体实施流程:
随机生成0至1之间小数的信噪比(Signal-Noise Rate,SNR),使用双重循环遍历图像的像素,随机生成0到1的小数,若生成的小数小于信噪比,则添加黑噪声,若生成的小数大于1与信噪比之差,则添加白噪声。
2、激活函数的改进
对Mish()激活函数进行改进,改进后的激活函数为三段式分段函数,如下式:
4*tanh(ln(1+e4)),x>4
x*tanh(ln(1+ex)),-3<x≤4
-3*tanh(ln(1+e-3)),x≤-3,α=-1
上式得三段式分段函数替换CBM组件中的Mish()函数;三段式分段函数替换CBL组件中的Leaky relu()函数;上述改进的CBM组件替换Backbone主干网络中原有CBM组件;上述改进的CBL组件替换Neck模块原有CBL组件。上述改进的CVL组件替换Prediction模块原有CBL组件。
3、损失函数的改进
Yolov4损失函数主要由三个部分组成,包括类别损失、置信度损失和位置损失。相对于yolov3的损失函数而言,yolov4在location_loss里面采用了CIOU 代替了原来的函数,原IOU函数只考虑了两个边框的中心点的距离,但当两者不相交时会出现损失值为1的情况,GIOU函数则是考虑了边框之间不重合部分的面积对损失的影响,DIOU考虑了两个框中心点的距离,CIOU结合了GIOU 和DIOU的优点,并增加了宽高比的比值因素,在IOU的基础上考虑了边框的重合度、中心距离和宽高比的尺度信息,提高了位置损失的精确性。而类别损失和置信度损失没有做出较大改变,
为了进一步提高损失函数的效率,本发明对类别损失进行改善,为了减少不必要的分类识别,对于得分很低的错误类,并且可能聚集在数据的完全不同侧的分类,可以高效识别,并让类别损失函数避免过度精确识别正确的类,对此采用支持向量机函数代替原本的二元交叉熵损失函数。
Yolov4类别损失的二元交叉熵函数公式如下:class_loss=object_mask*K.binary_crossentropy(true_class_prob,raw_pred[...,5:],from_logits=True)函数的输入值为正负样本,利用支持向量机函数替换交叉熵函数,原样本值作为支持向量机函数的输入,支持向量机函数的输出值作为新的类别损失值,原yolov4 损失函数各部分的权值不改变。
实施例2
一种基于yolov4改进的口罩佩戴检测系统,如图3所示,包括:
图像获取装置,用于获取初始图像;
第一次数据增强模块,用于对初始图像在yolov4模型中进行第一次数据增强,得到第一次数据增强图像;
第二次数据增强模块,用于对第一次数据增强图像在yolov4模型进行第二次数据增强,得到第二次数据增强图像;
激活函数改进模块,用于对yolov4模型中的激活函数进行改进,得到改进激活函数;
损失函数改进模块,通过支持向量机函数代替yolov4模型中原类别损失中的二元交叉熵损失函数;
yolov4模型改进模块,通过改进激活函数和支持向量机函数得到改进的 yolov4模型;
检测识别结果输出模块,通过改进的yolov4模型对待测图像进行口罩检测识别,得到识别结果并输出。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (9)
1.一种基于yolov4改进的口罩佩戴检测方法,其特征在于,
通过图像获取装置获取初始图像;
对初始图像在yolov4模型中进行第一次数据增强,得到第一次数据增强图像;
对第一次数据增强图像在yolov4模型进行第二次数据增强,得到第二次数据增强图像;
根据第二次数据增强图像对yolov4模型中的激活函数进行改进,得到改进激活函数;
利用支持向量机函数代替yolov4模型中原类别损失中的二元交叉熵损失函数;
通过改进激活函数和支持向量机函数得到改进的yolov4模型;对yolov4模型中的激活函数进行改进,得到改进激活函数,具体为:将mish()函数改进成三段式分段函数,如下:
4*tanh(ln(1+e4)),x>4
x*tanh(ln(1+ex)),-3<x≤4
-3*tanh(ln(1+e-3)),x≤-3,α=-1
即通过三段式分段函数替换CBM组件中的Mish()函数,形成改进的CBM组件;
通过三段式分段函数替换CBL组件中的Leaky relu()函数,形成改进的CBL组件;
将yolov4模型中Backbone主干网络部分中CBM组件替换为改进的CBM组件;
将yolov4模型中Neck模块、Prediction模块中的CBL组件替换为改进的CBL组件;
通过改进的yolov4模型对待测图像进行口罩检测识别,得到识别结果。
2.根据权利要求1所述的一种基于yolov4改进的口罩佩戴检测方法,其特征在于,所述通过图像获取装置获取初始图像,具体为:针对人口出入密集的场所采集红外视频,通过截取红外视频图片采集样片,得到原始图像。
3.根据权利要求1所述的一种基于yolov4改进的口罩佩戴检测方法,其特征在于,所述对初始图像进行第一次数据增强,具体为:对原始图像进行马赛克数据增强,得到第一次数据增强图像,即在原始图像进行拼接前,随机选择10%-50%的图像像素点,添加椒盐噪声,对图像像素点赋值0或255。
4.根据权利要求1所述的一种基于yolov4改进的口罩佩戴检测方法,其特征在于,所述对第一次数据增强图像进行第二次数据增强,具体为:通过椒盐噪声和修改的对数变换对第一次数据增强图像进行第二次数据增强,得到第二次数据增强图像,即在第一次数据增强的基础上对引入改进的对数幂变换,在第一次数据增强图像被线下截取或实时识别的情况下,获取该图像后将RGB色彩空间三通道的数值进行归一化处理,利用对数函数与幂函数的复合函数表达式进行变换,即将图像的RGB值代入该表达式得到第二次数据增强结果,实现对图像灰度值的拉伸和放缩。
5.根据权利要求4所述的一种基于yolov4改进的口罩佩戴检测方法,其特征在于,所述改进的对数幂变换复合表达式为:
[ln(x+1)]14
其中,x为图像变换前输入的灰度值;
所述进行第二次数据增强,具体为:将第一次数据增强图像,在yolov4的框架下进行对数据的增强:
步骤一:将图像获取装置获取的原始数据的灰度值归一化,得到归一化后的数据;
步骤二:将归一化后的数据进行非线性变化;
步骤三:对步骤二完成的数据进行的非线性变换,使计算值映射到某一区间;
步骤四:在步骤三修改好的图像数据上添加噪声;
步骤五:把多张完成第一次数据增强图片,基于mosaic数据增强通过随机缩放、随机裁减、随机排布的方式进行拼接;
步骤六:对进行第一次数据增强的数据进行随机缩放增加小目标;
步骤七:将所有获取的图像灰度值按照给定的对数幂变换函数进行修改;
步骤八:使用双重循环遍历所有获取的图像的像素。
6.根据权利要求5所述的一种基于yolov4改进的口罩佩戴检测方法,其特征在于,所述通过三段式分段函数替换CBM组件中的Mish()函数,具体为:输入神经元加权求和值(x)在(-3.4)区间保留mish()函数主体,函数表达式为x*tanh(ln(1+ex)),在(-∞,-3]改值为-3*tanh(ln(1+e-3))的常数,在[4,+∞)改值为4*tanh(ln(1+e4))常函数。
7.根据权利要求6所述的一种基于yolov4改进的口罩佩戴检测方法,其特征在于,所述改进的CBM组件,具体为:改变CBM构件,置换原有Mish()函数,新构件组成为Conv+Bn+三段式分段函数。
8.根据权利要求1所述的一种基于yolov4改进的口罩佩戴检测方法,其特征在于,所述利用支持向量机函数代替原类别损失中的二元交叉熵损失函数,具体为:
所述yolov4损失函数包括三个部分:类别损失、置信度损失、位置损失;其中,所述位置损失采用CIOU LOSS,所述类别损失和所述置信度损失采用二元交叉熵损失,将所述类别损失的二元交叉熵函数替换为支持向量机函数,将原二元交叉熵函数的输入值,即正负样本作为支持向量机函数的输入值。
9.一种基于yolov4改进的口罩佩戴检测系统,其特征在于,包括:
图像获取装置,用于获取初始图像;
第一次数据增强模块,用于对初始图像在yolov4模型中进行第一次数据增强,得到第一次数据增强图像;
第二次数据增强模块,用于对第一次数据增强图像在yolov4模型进行第二次数据增强,得到第二次数据增强图像;
激活函数改进模块,用于对yolov4模型中的激活函数进行改进,得到改进激活函数;
损失函数改进模块,通过支持向量机函数代替yolov4模型中原类别损失中的二元交叉熵损失函数;
yolov4模型改进模块,通过改进激活函数和支持向量机函数得到改进的yolov4模型;对yolov4模型中的激活函数进行改进,得到改进激活函数,具体为:将mish()函数改进成三段式分段函数,如下:
4*tanh(ln(1+e4)),x>4
x*tanh(ln(1+ex)),-3<x≤4
-3*tanh(ln(1+e-3)),x≤-3,α=-1
即通过三段式分段函数替换CBM组件中的Mish()函数,形成改进的CBM组件;
通过三段式分段函数替换CBL组件中的Leaky relu()函数,形成改进的CBL组件;
将yolov4模型中Backbone主干网络部分中CBM组件替换为改进的CBM组件;
将yolov4模型中Neck模块、Prediction模块中的CBL组件替换为改进的CBL组件;
检测识别结果输出模块,通过改进的yolov4模型对待测图像进行口罩检测识别,得到识别结果并输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210026630.0A CN114387484B (zh) | 2022-01-11 | 2022-01-11 | 一种基于yolov4改进的口罩佩戴检测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210026630.0A CN114387484B (zh) | 2022-01-11 | 2022-01-11 | 一种基于yolov4改进的口罩佩戴检测方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114387484A CN114387484A (zh) | 2022-04-22 |
CN114387484B true CN114387484B (zh) | 2024-04-16 |
Family
ID=81202547
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210026630.0A Active CN114387484B (zh) | 2022-01-11 | 2022-01-11 | 一种基于yolov4改进的口罩佩戴检测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114387484B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116343050B (zh) * | 2023-05-26 | 2023-08-01 | 成都理工大学 | 基于自适应权重的遥感图像噪声标注的目标检测方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111860160A (zh) * | 2020-06-16 | 2020-10-30 | 北京华电天仁电力控制技术有限公司 | 一种室内检测口罩佩戴的方法 |
CN113610050A (zh) * | 2021-08-26 | 2021-11-05 | 齐鲁工业大学 | 一种基于YOLOv5的口罩佩戴实时检测方法 |
CN113762201A (zh) * | 2021-09-16 | 2021-12-07 | 深圳大学 | 基于yolov4的口罩检测方法 |
-
2022
- 2022-01-11 CN CN202210026630.0A patent/CN114387484B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111860160A (zh) * | 2020-06-16 | 2020-10-30 | 北京华电天仁电力控制技术有限公司 | 一种室内检测口罩佩戴的方法 |
CN113610050A (zh) * | 2021-08-26 | 2021-11-05 | 齐鲁工业大学 | 一种基于YOLOv5的口罩佩戴实时检测方法 |
CN113762201A (zh) * | 2021-09-16 | 2021-12-07 | 深圳大学 | 基于yolov4的口罩检测方法 |
Non-Patent Citations (1)
Title |
---|
基于深度学习的中尺度涡检测技术及其在声场中的应用;谢鹏飞;宋弢;徐丹亚;柴柏林;李忠伟;;海洋信息;20200215(01);第21-29页 * |
Also Published As
Publication number | Publication date |
---|---|
CN114387484A (zh) | 2022-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108133188B (zh) | 一种基于运动历史图像与卷积神经网络的行为识别方法 | |
CN111292264A (zh) | 一种基于深度学习的图像高动态范围重建方法 | |
CN112464911A (zh) | 基于改进YOLOv3-tiny的交通标志检测与识别方法 | |
CN113537099B (zh) | 一种公路隧道火灾烟雾动态检测方法 | |
CN111967480A (zh) | 基于权重共享的多尺度自注意力目标检测方法 | |
CN113111979B (zh) | 模型训练方法、图像检测方法及检测装置 | |
CN111008608B (zh) | 一种基于深度学习的夜间车辆检测方法 | |
CN113378775B (zh) | 一种基于深度学习的视频阴影检测与消除方法 | |
CN114387484B (zh) | 一种基于yolov4改进的口罩佩戴检测方法及系统 | |
CN114627269A (zh) | 一种基于深度学习目标检测的虚拟现实安防监控平台 | |
CN115049954A (zh) | 目标识别方法、装置、电子设备和介质 | |
CN109308709B (zh) | 基于图像分割的Vibe运动目标检测算法 | |
CN113139431B (zh) | 基于深监督学习的图像显著性目标检测方法 | |
CN117253192A (zh) | 用于桑蚕养殖的智能系统及方法 | |
CN117252778A (zh) | 基于语义保持的颜色恒常性方法和系统 | |
CN116452472A (zh) | 基于语义知识引导的低照度图像增强方法 | |
KR102421289B1 (ko) | 패러렐 디시전 보팅 알고리즘에 따른 영상기반 시정 탐지 학습 방법 및 학습 장치, 그리고 이를 이용한 테스트 방법 및 테스트 장치 | |
CN115620121A (zh) | 一种基于数字孪生的光电目标高精度检测方法 | |
CN114998801A (zh) | 基于对比自监督学习网络的森林火灾烟雾视频检测方法 | |
CN115187954A (zh) | 一种基于图像处理的特殊场景下交通标志识别方法 | |
CN115797396A (zh) | 一种克服光照突变的混合高斯模型前景分割方法 | |
CN115331162A (zh) | 一种跨尺度红外行人检测方法、系统、介质、设备及终端 | |
KR102576747B1 (ko) | 심층신경망을 기반으로 하는 객체 검출기의 지역 최적화를 위한 시스템 및 이를 위한 로컬 데이터베이스 생성 방법 | |
Li et al. | Image object detection algorithm based on improved Gaussian mixture model | |
CN112487927B (zh) | 一种基于物体关联注意力的室内场景识别实现方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |