一种基于神经网络目标检测的厂区工装检测方法及系统与流程

文档序号:31695222发布日期:2022-10-01 04:55阅读:78来源:国知局
一种基于神经网络目标检测的厂区工装检测方法及系统与流程

1.本技术涉及工业视觉技术领域,具体涉及一种基于神经网络目标检测的厂区工装检测方法及系统。


背景技术:

2.近年来,由于操作不规范和着装不规范的原因,已经成为作业人员在工业厂区发生意外的主要原因之一。标准化作业规范检测也随之成为工业检测的一个技术指标。
3.普通衣服在天气干燥或者作业时衣服之间的摩擦而产生静电,但是在变电站、油库等特殊场合,绝对不能出现静电,所以都必须穿着特制的防静电工作服,面料必须是防静电面料才可以。而且为了方便管理,对内部工作人员、司机、施工人员等关键人员统一服装款式。为保证内部所有人员穿戴了防静电工作服,并且工作人员穿戴了统一的服装,对内部的所有进出人员进行工作服的检测。然而,仅依靠人力进行监督查看,需耗费大量的人力资源。
4.鉴于此,结合深度学习与目标检测对工业厂区的工服工装进行识别检测具有重大意义,本技术提出一种基于神经网络目标检测的厂区工装检测方法及系统,能够精准、快速地对厂区工装进行检测,识别出工作场所中工作人员是否按要求穿戴指定工作服。


技术实现要素:

5.本技术实施例提出了一种基于神经网络目标检测的厂区工装检测方法及系统,来解决以上背景技术部分提到的技术问题。
6.第一方面,本技术实施例提供了一种基于神经网络目标检测的厂区工装检测方法,包括以下步骤:
7.s1、获取多张工作服样本图像,对所述工作服样本图像标注标签,将全部的所述工作服样本图像及其对应的标签确定为训练样本数据集;
8.s2、将所述训练样本数据集按比例划分为训练集、验证集和测试集;
9.s3、构建目标检测模型:将所述训练样本数据集中的图像输入到backbone网络中,根据所述backbone网络中的三层输出,在neck层通过rep-pan网络继续输出三层不同尺寸大小的特征图,将所述特征图输入到head层中,并且对所述特征图进行三类任务预测;构建所述目标检测模型的损失函数;
10.s4、将所述训练集输入到构建好的所述目标检测模型中进行训练,所述损失函数不断迭代至收敛,获得最优网络权重,所述目标检测模型通过所述验证集进行预测,并通过所述测试集进行测试验证;以及
11.s5、设置固定阈值,并根据所述固定阈值输出目标检测结果。
12.通过上述技术方案,根据指定的工作服训练目标检测模型,大量采集工作服样本,通过深度学习,识别出工作场所中工作人员是否按要求穿戴指定工作服,对未穿指定工作服的人员,进行抓图报警。在实际应用中,还可以进行语音提示报警。
13.在具体的实施例中,在步骤s3中,将所述训练样本数据集中的图像输入到backbone网络中,包括以下子步骤:
14.s311、输入640*640*3的所述训练样本数据集中的图像到所述backbone网络中,通过stem层输出为320*320*3*2的图像;
15.s312、所述stem层连接多个erblock,每个所述erblock均做特征层的下采样和channel的增大,每个所述erblock由一个rvb和一个rb组成,在所述rvb中做特征层的下采样,同时channel增大,在所述rb中对特征层充分融合后输出;以及
16.s313、最后,所述backbone网络输出三个特征图。
17.在具体的实施例中,在步骤s3中,在neck层通过rep-pan网络继续输出三层不同尺寸大小的特征图,包括以下子步骤:
18.s321、从erb5输出20*20*512的特征图,通过sconv将所述特征图变成20*20*128大小,上采样后真实框高度h和真实框宽度w增大一倍后与erb4的输出特征图在channel层上进行特征融合后,所述特征图的尺寸变成40*43*84,通过rb后,输出40*40*128特征图;
19.s322、重复执行步骤s321后,输出第一个所述特征图;
20.s323、将80*80*64的特征图先通过所述sconv下采样,得到40*40*64的特征图,与步骤s321中的真实框高度h和真实框宽度w一致的特征图在channel层上特征融合后,通过rb后,输出第二个所述特征图;以及
21.s324、重复执行步骤s323,输出第三个所述特征图。
22.在具体的实施例中,在步骤s3中,将所述特征图输入到head层中,并且对所述特征图进行三类任务预测,包括以下子步骤:
23.s331、从neck层输出三个分支,对于每个分支,先对输出的所述特征图通过bconv层,进行所述特征图的特征融合;
24.s332、对步骤s331中进行所述特征图的特征融合后,分成两个分支,一个分支通过bconv+conv完成分类任务的预测,另外一个分支先通过bconv融合特征后再分成两个分支,一个分支通过conv完成边框的回归,另一个分支通过conv完成前后背景的分类;以及
25.s333、三个分支再通过channel层进行特征融合,输出预测结果。
26.在具体的实施例中,,在步骤s120中,将所述训练样本数据集按8:1:1的比例划分为训练集、验证集和测试集
27.在具体的实施例中,在步骤s3中,所述损失函数为siou损失函数,表达式为:
28.siou=diou+βv
29.其中,diou是距离损失函数,β是权重系数,v用来衡量预测框和真实框之间的长宽比的相似性;
[0030][0031]
其中,w、h分别是预测框和真实框对应的宽度和高度。
[0032]
在具体的实施例中,,还包括设置所述目标检测模型的路径传入,设置所述训练样本数据集读取路径传给所述目标检测模型。
[0033]
在具体的实施例中,,还包括通过调节epoch、batchsize参数控制所述目标检测模
型的训练迭代次数、迭代图片大小。
[0034]
第二方面,本技术提出一种基于神经网络目标检测的厂区工装检测系统,所述系统包括:
[0035]
获取模块,用于获取多张工作服样本图像,对所述工作服样本图像标注标签,将全部的所述工作服样本图像及其对应的标签确定为训练样本数据集;
[0036]
划分模块,用于将所述训练样本数据集按比例划分为训练集、验证集和测试集;
[0037]
目标检测模块,用于构建目标检测模型:将所述训练样本数据集中的图像输入到backbone网络中,根据所述backbone网络中的三层输出,在neck层通过rep-pan网络继续输出三层不同尺寸大小的特征图,将所述特征图输入到head层中,并且对所述特征图进行三类任务预测;构建所述目标检测模型的损失函数;
[0038]
优化模块,用于将所述训练集输入到构建好的所述目标检测模型中进行训练,所述损失函数不断迭代至收敛,获得最优网络权重,所述目标检测模型通过所述验证集进行预测,并通过所述测试集进行测试验证;以及
[0039]
输出模块,用于设置固定阈值,并根据所述固定阈值输出目标检测结果。
[0040]
第三方面,本技术提供了一种计算机可读存储介质,该介质中存储有计算机程序,在计算机程序被处理器执行时,实施如上述中任一项的方法。
[0041]
本技术实施例提供的一种基于神经网络目标检测的厂区工装检测方法及系统,包含了对数据集进行划分、损失函数与目标函数的设计、目标检测模型的训练与推理等。此处使用的目标检测模型主要采用yolov6模型,也即yolo架构的目标检测框架。针对工作服样本图像的训练样本数据集进行划分,主要采用二分类来进行区分判断是否有穿戴工装,将数据集传入目标检测框架中生成相应的检测模型,最终即可得到推理检测的结果。
附图说明
[0042]
通过阅读参照以下附图你,所作的对非限制性实施例所作的详细描述,本技术的其它特征、目的和优点将会变得更明显:
[0043]
图1是根据本技术的基于神经网络目标检测的厂区工装检测方法的流程图;
[0044]
图2是根据本技术的基于神经网络目标检测的厂区工装检测方法的一个具体流程示意图;
[0045]
图3是根据本技术的一个实施例的目标检测模型训练参数的示意图;
[0046]
图4a是根据本技术的一个实施例的labels_correlogram直方图的示意图;
[0047]
图4b是根据本技术的一个实施例的训练集与验证集在模型上的表现的示意图;
[0048]
图4c是根据本技术的一个实施例的p_curve的示意图;
[0049]
图4d是根据本技术的一个实施例的pr_curve的示意图;
[0050]
图4e是根据本技术的一个实施例的r_curve的示意图;
[0051]
图5是根据本技术的一个实施例的对目标检测模型进行预测的示意图;
[0052]
图6是根据本技术的另一个实施例的对目标检测模型进行预测的示意图;
[0053]
图7是根据本技术的基于神经网络目标检测的厂区工装检测系统的示意图;
[0054]
图8是适于用来实现本技术实施例的电子设备的计算机系统的结构示意图。
具体实施方式
[0055]
下面结合附图和实施例对本技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
[0056]
需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
[0057]
图1示出了根据本技术的基于神经网络目标检测的厂区工装检测方法的流程图;图2示出了根据本技术的基于神经网络目标检测的厂区工装检测方法的一个具体流程示意图。结合参考图1和图2,该方法100包括以下步骤:
[0058]
s1、获取多张工作服样本图像,对工作服样本图像标注标签,将全部的工作服样本图像及其对应的标签确定为训练样本数据集;
[0059]
s2、将训练样本数据集按比例划分为训练集、验证集和测试集;
[0060]
s3、构建目标检测模型:将训练样本数据集中的图像输入到backbone网络中,根据backbone网络中的三层输出,在neck层通过rep-pan网络继续输出三层不同尺寸大小的特征图,将特征图输入到head层中,并且对特征图进行三类任务预测;构建目标检测模型的损失函数;
[0061]
在本实施例中还包括设置目标检测模型的路径传入,设置训练样本数据集读取路径传给目标检测模型。通过调节epoch、batchsize参数控制目标检测模型的训练迭代次数、迭代图片大小。请参考图3,图3示出了根据本技术的一个实施例的目标检测模型训练参数的示意图。
[0062]
在本实施例中,将训练样本数据集中的图像输入到backbone网络中,包括以下子步骤:
[0063]
s311、输入640*640*3的训练样本数据集中的图像到backbone网络中,通过stem层输出为320*320*3*2的图像;
[0064]
s312、stem层连接多个erblock,每个erblock均做特征层的下采样和channel的增大,每个erblock由一个rvb和一个rb组成,在rvb中做特征层的下采样,同时channel增大,在rb中对特征层充分融合后输出;以及
[0065]
s313、最后,backbone网络输出三个特征图。
[0066]
在本实施例中,在neck层通过rep-pan网络继续输出三层不同尺寸大小的特征图,包括以下子步骤:
[0067]
s321、从erb5输出20*20*512的特征图,通过sconv将特征图变成20*20*128大小,上采样后真实框高度h和真实框宽度w增大一倍后与erb4的输出特征图在channel层上进行特征融合后,特征图的尺寸变成40*43*84,通过rb后,输出40*40*128特征图;
[0068]
s322、重复执行步骤s321后,输出第一个特征图;
[0069]
s323、将80*80*64的特征图先通过sconv下采样,得到40*40*64的特征图,与步骤s321中的真实框高度h和真实框宽度w一致的特征图在channel层上特征融合后,通过rb后,输出第二个特征图;以及
[0070]
s324、重复执行步骤s323,输出第三个特征图。
[0071]
在本实施例中,将特征图输入到head层中,并且对特征图进行三类任务预测,包括
以下子步骤:
[0072]
s331、从neck层输出三个分支,对于每个分支,先对输出的特征图通过bconv层,进行特征图的特征融合;
[0073]
s332、对步骤s331中进行特征图的特征融合后,分成两个分支,一个分支通过bconv+conv完成分类任务的预测,另外一个分支先通过bconv融合特征后再分成两个分支,一个分支通过conv完成边框的回归,另一个分支通过conv完成前后背景的分类;以及
[0074]
s333、三个分支再通过channel层进行特征融合,输出预测结果。
[0075]
在具体的实施例中,,在步骤s120中,将训练样本数据集按8:1:1的比例划分为训练集、验证集和测试集
[0076]
在本实施例中,损失函数为siou损失函数,表达式为:
[0077]
siou=diou+βv
[0078]
其中,diou是距离损失函数,β是权重系数,v用来衡量预测框和真实框之间的长宽比的相似性;
[0079][0080]
其中,w、h分别是预测框和真实框对应的宽度和高度。
[0081]
s4、将训练集输入到构建好的目标检测模型中进行训练,损失函数不断迭代至收敛,获得最优网络权重,目标检测模型通过验证集进行预测,并通过测试集进行测试验证;可以可视化训练过程并查看模型相关指标的变化曲线。如附图4a-e所示,图4a-4e分别示出了labels_correlogram直方图、训练集与验证集在模型上的表现示意图、p_curve、pr_curve、r_curve的示意图。
[0082]
s5、设置固定阈值,并根据固定阈值输出目标检测结果。
[0083]
在具体的实施例中,设置的阈值变量为iou-thres,设置为0.65,也即为置信度≥0.65才作为条件筛选出来。测试集样本在训练好的目标检测模型上进行预测推理。如图5和图6所示,图5和图6示出了根据本技术的实施例中对目标检测模型进行预测的示意图。
[0084]
通过上述技术方案,根据指定的工作服训练目标检测模型,大量采集工作服样本,通过深度学习,识别出工作场所中工作人员是否按要求穿戴指定工作服,对未穿指定工作服的人员,进行抓图报警。在实际应用中,还可以结合语音提示报警。
[0085]
进一步参考图7,作为对上述所述方法的实现,本技术提供了基于神经网络目标检测的厂区工装检测系统的一个实施例,该系统实施例与图1所示的方法实施例相对应,该系统具体可以应用于各种电子设备中。该系统200包括:
[0086]
获取模块210,用于获取多张工作服样本图像,对工作服样本图像标注标签,将全部的工作服样本图像及其对应的标签确定为训练样本数据集;
[0087]
划分模块220,用于将训练样本数据集按比例划分为训练集、验证集和测试集;
[0088]
目标检测模块230,用于构建目标检测模型:将训练样本数据集中的图像输入到backbone网络中,根据backbone网络中的三层输出,在neck层通过rep-pan网络继续输出三层不同尺寸大小的特征图,将特征图输入到head层中,并且对特征图进行三类任务预测;构建目标检测模型的损失函数;
[0089]
优化模块240,用于将训练集输入到构建好的目标检测模型中进行训练,损失函数不断迭代至收敛,获得最优网络权重,目标检测模型通过验证集进行预测,并通过测试集进行测试验证;以及
[0090]
输出模块250,用于设置固定阈值,并根据固定阈值输出目标检测结果。
[0091]
如图8所示,计算机系统300包括中央处理单元(cpu)301,其可以根据存储在只读存储器(rom)302中的程序或者从存储部分308加载到随机访问存储器(ram)303中的程序而执行各种适当的动作和处理。在ram 303中,还存储有系统300操作所需的各种程序和数据。cpu301、rom 302以及ram 303通过总线304彼此相连。输入/输出(i/o)接口305也连接至总线304。
[0092]
以下部件连接至i/o接口305:包括键盘、鼠标等的输入部分306;包括液晶显示器(lcd)等以及扬声器等的输出部分307;包括硬盘等的存储部分308;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分309。通信部分309经由诸如因特网的网络执行通信处理。驱动器310也根据需要连接至i/o接口305。可拆卸介质311,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器310上,以便于从其上读出的计算机程序根据需要被安装入存储部分308。
[0093]
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分309从网络上被下载和安装,和/或从可拆卸介质311被安装。在该计算机程序被中央处理单元(cpu)301执行时,执行本技术的方法中限定的上述功能。需要说明的是,本技术所述的计算机可读介质可以是计算机可读信号介质或者计算机可读介质或者是上述两者的任意组合。计算机可读介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本技术中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
[0094]
可以以一种或多种程序设计语言或其组合来编写用于执行本技术的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、
部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0095]
附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0096]
描述于本技术实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括获取模块、分析模块和输出模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定。
[0097]
以上描述仅为本技术的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本技术中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本技术中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1