CN113792584B - 一种安全护具佩戴检测方法及*** - Google Patents
一种安全护具佩戴检测方法及*** Download PDFInfo
- Publication number
- CN113792584B CN113792584B CN202110887741.6A CN202110887741A CN113792584B CN 113792584 B CN113792584 B CN 113792584B CN 202110887741 A CN202110887741 A CN 202110887741A CN 113792584 B CN113792584 B CN 113792584B
- Authority
- CN
- China
- Prior art keywords
- mask
- matrix
- detected
- training
- feature map
- 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 56
- 239000011159 matrix material Substances 0.000 claims abstract description 227
- 238000000034 method Methods 0.000 claims abstract description 68
- 238000013528 artificial neural network Methods 0.000 claims abstract description 21
- 230000001012 protector Effects 0.000 claims abstract description 21
- 230000001629 suppression Effects 0.000 claims abstract description 20
- 238000012549 training Methods 0.000 claims description 124
- 238000002372 labelling Methods 0.000 claims description 17
- 238000000605 extraction Methods 0.000 claims description 14
- 238000004364 calculation method Methods 0.000 claims description 13
- 238000010586 diagram Methods 0.000 claims description 12
- 238000011049 filling Methods 0.000 claims description 12
- 230000004927 fusion Effects 0.000 claims description 8
- 238000012216 screening Methods 0.000 claims description 8
- 238000011176 pooling Methods 0.000 claims description 7
- 230000009467 reduction Effects 0.000 claims description 6
- 230000007935 neutral effect Effects 0.000 claims 1
- 238000012360 testing method Methods 0.000 description 16
- 238000010276 construction Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 9
- 230000001681 protective effect Effects 0.000 description 5
- 238000013527 convolutional neural network Methods 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 4
- 238000007499 fusion processing Methods 0.000 description 4
- 239000004973 liquid crystal related substance Substances 0.000 description 4
- CLOMYZFHNHFSIQ-UHFFFAOYSA-N clonixin Chemical compound CC1=C(Cl)C=CC=C1NC1=NC=CC=C1C(O)=O CLOMYZFHNHFSIQ-UHFFFAOYSA-N 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 238000004321 preservation Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000009440 infrastructure construction Methods 0.000 description 2
- 238000011068 loading method Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 101150064138 MAP1 gene Proteins 0.000 description 1
- 208000027418 Wounds and injury Diseases 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 208000014674 injury Diseases 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004334 sorbic acid Substances 0.000 description 1
- 238000011895 specific detection Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000009466 transformation 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/25—Fusion techniques
- G06F18/253—Fusion techniques of extracted features
-
- 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/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种安全护具佩戴检测方法及***。所述方法,包括:采用ResNet‑101残差神经网络和特征金字塔网络对目标场景图像进行特征提取,得到待测特征图矩阵和待测掩膜特征图矩阵;由待测特征图矩阵生成待测锚框;基于待测特征图矩阵,采用训练好的区域候选网络和非极大值抑制的方法对待测锚框坐标矩阵中的坐标进行缩减,得到待测样本;将待测样本和待测掩膜特征图矩阵输入训练好的掩膜卷积模型中,得到目标场景图像中的工人掩膜和安全护具掩膜;根据目标场景图像的工人掩膜和安全护具掩膜之间的相交关系确定目标场景图像中工人是否佩戴安全护具。本发明能提高安全护具检测的准确率、降低人工成本。
Description
技术领域
本发明涉及护具检测领域,特别是涉及一种安全护具佩戴检测方法及***。
背景技术
目标检测是计算机视觉领域内一个长期存在的基础性难题。目标检测的任务是确定给定图像中是否存在给定类别的目标实例;若存在,则返回每个目标实例的空间位置和覆盖范围,如返回一个边界框。作为图像理解和计算机视觉的基石,目标检测是解决分割、场景理解、目标追踪、图像描述、事件检测和活动识别等更复杂更高层次的视觉任务的基础,在人工智能和信息技术的许多领域都有广泛的应用,包括机器人视觉、自动驾驶、人机交互等方面。
目标检测可分为基于传统手工特征的目标检测、以及基于深度学习的目标检测。早期的目标检测大多基于手工特征而构建,代表算法有可变形部件模型(DeformablePartbased Model,DPM),DPM的主要思想是将传统目标检测算法中对目标整体的检测问题拆分并转化为对模型各个部件的检测问题,然后将各个部件的检测结果进行聚合得到最终的检测结果。
通过5G技术与人工智能技术为传统施工建设赋能,实现工人违规操作的智能检测,降低工人受伤害的概率,提高工人的安全意识和操作规范是5G基础设施建设的第一步。
安全护具佩戴检测属于计算机视觉中的目标检测领域。现有的数据集为移动5G基础设施建设现场照片,数据集规模大,存在照片质量、照片内容不全的问题。传统的人工审核照片,具有较高的时间开销;基于现有的目标检测模型,虽然能检测出目标及其范围,但仅基于范围无法精确地判断目标(即人物与安全护具)之间的关系。
发明内容
基于此,本发明实施例提供一种安全护具佩戴检测方法及***,以提高安全护具检测的准确率、降低人工成本。
为实现上述目的,本发明提供了如下方案:
一种安全护具佩戴检测方法,包括:
获取目标场景图像;
采用ResNet-101残差神经网络和特征金字塔网络对所述目标场景图像进行特征提取,得到待测特征图矩阵和待测掩膜特征图矩阵;
以所述待测特征图矩阵中各像素点为中心生成待测锚框,并采用待测锚框坐标矩阵存储各所述待测锚框的坐标;
将所述待测特征图矩阵输入训练好的区域候选网络,得到各所述待测锚框的前景概率;
基于所述待测锚框的前景概率和非极大值抑制的方法对所述待测锚框坐标矩阵中的坐标进行缩减,得到待测样本;
将所述待测样本和所述待测掩膜特征图矩阵输入训练好的掩膜卷积模型中,得到所述目标场景图像中的工人掩膜和安全护具掩膜;
根据所述目标场景图像的工人掩膜和安全护具掩膜之间的相交关系确定所述目标场景图像中工人是否佩戴安全护具。
本发明还提供了一种安全护具佩戴检测***,包括:
图像获取模块,用于获取目标场景图像;
特征提取模块,用于采用ResNet-101残差神经网络和特征金字塔网络对所述目标场景图像进行特征提取,得到待测特征图矩阵和待测掩膜特征图矩阵;
锚框生成模块,用于以所述待测特征图矩阵中各像素点为中心生成待测锚框,并采用待测锚框坐标矩阵存储各所述待测锚框的坐标;
前景概率计算模块,用于将所述待测特征图矩阵输入训练好的区域候选网络,得到各所述待测锚框的前景概率;
待测样本生成模块,用于基于所述待测锚框的前景概率和非极大值抑制的方法对所述待测锚框坐标矩阵中的坐标进行缩减,得到待测样本;
掩膜检测模块,用于将所述待测样本和所述待测掩膜特征图矩阵输入训练好的掩膜卷积模型中,得到所述目标场景图像中的工人掩膜和安全护具掩膜;
安全护具佩戴检测模块,用于根据所述目标场景图像的工人掩膜和安全护具掩膜之间的相交关系确定所述目标场景图像中工人是否佩戴安全护具。
与现有技术相比,本发明的有益效果是:
本发明实施例提出了一种安全护具佩戴检测方法及***,其中,利用ResNet-101残差神经网络提取出目标场景图像中不同尺寸的特征图,并利用特征金字塔网络(FeaturePyramidNetworks for Object Detection,FPN)对特征图进行特征融合,提高了小物体检测的性能;将待测样本和待测掩膜特征图矩阵输入训练好的掩膜卷积模型(Mask R-CNN)中,得到目标场景图像中的工人掩膜和安全护具掩膜,从而精确地判断目标(即人物与安全护具)之间的关系,不仅提高了安全护具检测的准确率,还降低人工成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的安全护具佩戴检测方法的流程图;
图2为本发明实施例提供的安全护具佩戴检测方法的一个具体实现过程图;
图3为本发明实施例提供的ResNet-101残差神经网络的结构图;
图4为本发明实施例提供的特征金字塔网络融合过程示意图;
图5为本发明实施例提供的区域候选网络、分类回归网络和掩膜网络的训练过程示意图;
图6为本发明实施例提供的安全护具佩戴检测***结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
目前,基于深度学习的目标检测,有两种主流的模型。第一种是基于目标候选的深度学习目标检测模型,其步骤是多阶段的,如Regions with CNN Features(R-CNN)、Faster-RCNN模型;第二种是基于一体化卷积网络的目标检测模型,其步骤是单阶段的,如You Only Look Once(YOLO)、Single Shot MultiBox Detector(SSD)等。本发明公开的是基于目标候选的深度学习目标检测模型。
基于上述两类目标检测模型,虽然能检测出目标及其范围,但仅基于范围无法精确地判断目标(即人物与安全护具)之间的关系。
只有得到目标的轮廓信息,才能精确判断目标之间的关系,从而使检测准确率提高。对此,本发明基于掩膜区域卷积神经网络模型(Mask R-CNN),采用COCO(CommonObjects in Context)数据集的标注格式保存训练标记数据,基于训练得到的模型预测出待检测目标的轮廓信息,即掩膜信息,并利用预测时输出的掩膜信息根据类别进行匹配,计算出工人与安全护具的关系,从而判断工人是否佩戴好安全护具。
图1为本发明实施例提供的安全护具佩戴检测方法的流程图。参见图1,本实施例提供的安全护具佩戴检测方法,包括:
步骤101:获取目标场景图像。
步骤102:采用ResNet-101残差神经网络和特征金字塔网络对所述目标场景图像进行特征提取,得到待测特征图矩阵和待测掩膜特征图矩阵。
步骤102,具体包括:1)采用ResNet-101残差神经网络对目标场景图像进行特征提取,得到初始待测矩阵;初始待测矩阵包括K个阶段的特征图。2)采用特征金字塔网络对初始待测矩阵中各阶段的特征图进行特征融合,得到K个阶段的融合后的特征图。3)对第K个阶段的融合后的特征图以设定步长进行最大池化操作,得到新增特征图。4)确定待测特征图矩阵和待测掩膜特征图矩阵;待测特征图矩阵包括K个阶段的融合后的特征图和新增特征图;待测掩膜特征图矩阵包括K个阶段的融合后的特征图。
步骤103:以所述待测特征图矩阵中各像素点为中心生成待测锚框,并采用待测锚框坐标矩阵存储各所述待测锚框的坐标。
步骤104:将所述待测特征图矩阵输入训练好的区域候选网络,得到各所述待测锚框的前景概率。
步骤105:基于所述待测锚框的前景概率和非极大值抑制的方法对所述待测锚框坐标矩阵中的坐标进行缩减,得到待测样本。
步骤105,具体包括:1)依据前景概率对待测锚框坐标矩阵中对应的待测锚框进行降序排列,得到锚框序列。2)将锚框序列中前第一设定个数的待测锚框确定为第一目标锚框。3)采用非极大值抑制的方法将第一目标锚框缩减至第二设定个数,得到第二目标锚框;第二设定个数小于第一设定个数。4)将最大待测锚框分别与其他待测锚框进行交并比运算,得到多个交并比值;最大待测锚框为第二目标锚框中前景概率最大的待测锚框;其他待测锚框为锚框序列中除最大待测锚框之外的待测锚框。5)采用交并比值对第二目标锚框进行筛选,得到第三目标锚框,并将第三目标锚框对应的待测锚框坐标矩阵中的坐标确定为待测样本。
步骤106:将所述待测样本和所述待测掩膜特征图矩阵输入训练好的掩膜卷积模型中,得到所述目标场景图像中的工人掩膜和安全护具掩膜。
步骤106,具体包括:1)将待测样本和待测掩膜特征图矩阵输入训练好的分类回归网络中,得到目标场景图像的边框矩阵和类别矩阵,其中,边框矩阵中存储有每个待测样本各个类别对应的边框的坐标信息,类别矩阵中存储有每个待测样本各个类别对应的边框的类别概率,坐标信息包括待测掩膜特征图上像素点的纵坐标、待测掩膜特征图上像素点的横坐标、待测锚框左下角坐标与待测锚框右上角坐标。2)根据类别矩阵从边框矩阵中选取各个待测样本最大类别概率对应的边框的坐标信息。3)确定目标矩阵,所述目标矩阵包括所有待测样本最大类别概率对应的边框的坐标信息以及相应的类别。4)采用非极大值抑制的方法缩减所述目标矩阵中对应的待测样本的数量,得到缩减矩阵;所述缩减矩阵包括缩减后的待测样本最大类别概率对应的边框的坐标信息以及相应的类别。5)将缩减矩阵输入训练好的掩膜网络中,得到目标场景图像中的工人掩膜和安全护具掩膜。
例如,步骤105得到的待测样本(假设a个)先经过训练好的分类回归网络,会得到边框矩阵(1,a,θ,4)和类别矩阵(1,a,θ)(θ是类别数),选取对于每个b(1≤b≤a)记录其类别概率最大的类别xi,根据这个(b,xi)从边框矩阵中找到b对应这个类别的边框,就形成了目标矩阵(1,a,5),(5=4+1这里前4个是坐标信息,1表示坐标信息的所属类别,即xi);然后根据非极大值抑制的方法缩减待测样本的数量,假设从a个缩减到a′个,此时缩减矩阵为(1,a′,5);最后将缩减矩阵输入训练好的掩膜网络中,得到工人掩膜和安全护具掩膜。
步骤107:根据所述目标场景图像的工人掩膜和安全护具掩膜之间的相交关系确定所述目标场景图像中工人是否佩戴安全护具。
其中,步骤104中,所述训练好的区域候选网络的确定方法为:
1)数据预处理。首先,获取训练数据集;训练数据集包括训练照片和对应的标注信息;标注信息包括照片编号、照片尺寸、掩膜信息和掩膜类别信息。然后,将训练数据集中所有的训练照片缩放填充为统一尺寸、记录填充信息以及对标注信息中的掩膜信息按照设定比例缩放,提取掩膜的真实边界框,得到真实边界框矩阵。尺寸统一后的训练数据集为COCO(Common Objects in Context)格式,在后续的训练过程中,采用COCO格式作为训练数据的格式,能提高训练与预测的效果。参见图2,该步骤,具体为:
1:数据预处理:
1.1:数据采集及过滤
对工人工作场景进行拍照取样,采用人工挑选的方式过滤曝光过度、曝光不足、模糊不清、画面不完整的照片,从而构建照片集X。
1.2:标注
使用Labelme标注工具对X进行标注。在标注数据时,针对安全护具和工人的轮廓标注掩膜和类别,构建标记数据集Xn×2={D,J}。D={d1,d2,...,dn},其中di(1≤i≤n)代表未经过标注的训练照片,即照片集X中的原始照片;J={J1,J2,...,Jn},其中Ji(1≤i≤n)代表di的标注信息,Ji={GD,GS,GM,GC},其中GD(1≤GD≤n),代表照片编号;GS=[h,w],代表照片尺寸,h为di的高,w为di的宽;代表标注的掩膜(掩膜信息),其中 保存二维信息,即v(j,k)∈[0,1],有掩膜的像素值为1,无掩膜的像素值为0;/>代表类别信息,其中/>其中t代表标注掩膜的个数。按照9:1的比例将Xn×2划分为训练数据集X'和测试数据集X”。
1.3:将di放缩填充为统一尺寸
设置缩放比例sc、D的最大照片长度ml和D的最小照片长度ms。hl=max(h,w),hs=min(h,w),sc=max(ms/hs,sc)。若sc×hl>ml,sc=ml/hl对hl,hs进行等值缩小,用数值为0的像素对di填充,使hl=hs=ml;若sc×hl≤ml,用数值为0的像素对di填充,使hl=hs=ml。放缩填充后的照片是d'i。初始时sc=1,即照片默认不放缩;ml=1024,ms=800,即常见照片不会超过该数值。
1.4:di填充信息的记录
按公式(1)计算di的填充信息,用wd保存di填充后的位置信息。
其中,tp、bp、lp、rp分别表示di顶部、底部、左部、右部填充数值为0的像素的宽度,wd=[tp,lp,h+tp,w+lp],(tp,lp)表示di在d'i中的左下角坐标,(h+tp,w+lp)表示di在d'i中的右上角坐标。
1.5:获取真实边界框矩阵GB
对Ji中的掩膜GM进行比例为sc的缩放,通过如下规则从GM提取掩膜的真实边界框。计算的二维信息压缩到水平方向,若存在某点垂直方向有像素为1,则该垂直方向的值都为1。从左向右找到第一个为1的位置记为x1,然后继续查找最后一个为1的位置记为x2;计算/>的二维信息压缩到垂直方向,若存在某点水平方向有像素为1,则该水平方向的值都为1。从上向下找到第一个为1的位置记为y2,然后继续查找最后一个为1的位置记为y1。则(x1,y1)和(x2,y2)分别为真实边界框的左下角坐标和右上角坐标。重复n次,从GM找出所有边界框的坐标,用真实边框矩阵GB记录,/>
2)特征提取。首先,采用ResNet-101残差神经网络和特征金字塔网络对尺寸统一后的训练照片进行特征提取,得到每张尺寸统一后的训练照片的特征图矩阵和掩膜特征图矩阵;然后,以所述特征图矩阵中各像素点为中心生成锚框,并采用锚框坐标矩阵存储各所述锚框的坐标;再基于所述真实边界框矩阵和所述锚框坐标矩阵,计算真实边框偏移边框矩阵。
其中,采用ResNet-101残差神经网络和特征金字塔网络对尺寸统一后的训练照片进行特征提取,得到每张尺寸统一后的训练照片的特征图矩阵和掩膜特征图矩阵,具体包括:
①采用ResNet-101残差神经网络对所述尺寸统一后的训练照片进行特征提取,得到初始训练矩阵;所述初始训练矩阵包括K个阶段的训练特征图。
②采用特征金字塔网络对所述初始训练矩阵中各阶段的训练特征图进行特征融合,得到K个阶段的融合后的训练特征图。
③对第K个阶段的融合后的训练特征图以设定步长进行最大池化操作,得到新增训练特征图。
④确定特征图矩阵和掩膜特征图矩阵;所述特征图矩阵包括K个阶段的融合后的训练特征图和所述新增训练特征图;所述掩膜特征图矩阵包括K个阶段的融合后的训练特征图。
仍请参见图2,在实际应用中,该步骤2)的具体实施过程如下:
2:特征提取
2.1:用ResNet-101提取照片d'i的特征图。ResNet-101残差神经网络的结构如图3所示。
d'i的尺寸为1024×1024,形状为(1,1024,1024,3),3表示彩色图片的通道数。ResNet-101提取目标特征分为5个阶段,过程如表1。
表1.特征图提取过程
特征图矩阵C=[C2,C3,C4,C5],其中Ck,k∈[2,5]表示照片d'i第k个阶段的特征图。以C5为例,(1,32,32,2048)表示一张尺寸为32×32的特征图,其通道数为2048。
2.2:用特征金字塔网络(FPN)对特征图矩阵C进行特征融合。FPN的融合过程如图4所示,其中2X表示上采样,将特征图的尺寸变为原来的2倍。
通过(2.1)得到d'i的特征图矩阵C,利用C2、C3、C4、C5建立特征图金字塔结构,具体融合过程如表2。
表2.特征图融合过程
将P5进行步长为2的最大池化操作得到P6,其维度为(1,16,16,256),大小为16×16,通道数为256。结合从P2到P6特征图,得到RPN的特征图矩阵RF和掩膜卷积网络特征图矩阵MR。其中RF=[P2,P3,P4,P5,P6],用于输入区域候选网络;MR=[P2,P3,P4,P5],用于输入掩膜卷积网络。
2.3:生成锚框
锚框是在特征图的像素点上产生的一系列框。以特征图P2为例,P2的特征图大小为256×256,对应照片d'i的比例为4,P2中的每个像素点对应到d'i是一个面积为4×4的区域,这个区域是锚框。遍历特征图矩阵RF,在Pi(2≤i≤6)上的每个像素点都生成锚框。设置不同特征图的锚框大小为α=[α2,α3,α4,α5,α6],使特征图Pj(Pj∈RF)上每个像素点对应的锚框大小变为αj×αj(αj∈α)。设置锚框长宽比R=[r1,r2,r3]使每个像素点对应三种长宽不一的锚框。H=[h1,h2,h3],W=[w1,w2,w3]。按公式(2)生成H和W。
其中i∈[1,3],j∈[2,6],H表示锚框三种不同的高,W表示锚框的三种不同的宽,hi×wi=αj×αj。表3展示不同特征图生成的锚框数量关系。
表3.特征图与锚框数量关系
特征图 | 锚框个数 |
P2 | 256×256×3=196608 |
P3 | 128×128×3=49152 |
P4 | 64×64×3=12288 |
P5 | 32×32×3=3072 |
P6 | 16×16×3=768 |
P2,P3,P4,P5,P6一共可以生成个锚框。通过公式(3)计算锚框坐标。
y1=ycenter-0.5×hi,i∈[1,3]
x1=xcenter-0.5×wi,i∈[1,3]
y2=y1+hi
x2=x1+wi (3)
其中,ycenter和xcenter分别表示特征图上像素点的纵坐标和横坐标,(x1,y1)和(x2,y2)分别代表锚框左下角与右上角坐标。用锚框矩阵MA记录P2、P3、P4、P5和P6形成的锚框,其维度为(1,261888,4)。
2.4:计算真实偏移边框矩阵I'B
通过公式(4)计算锚框矩阵MA与真实边界框矩阵GB的交并比IU,用矩阵IU保存计算出的交并比。
I=max(x'2-x'1,0)×max(y'2-y'1,0)
IU=I/U (4)
其中,和/>分别表示锚框的左下角和右上角,/>和/>分别表示GB中某个边界框/>的左下角和右上角。(x'1,y'1)和(x'2,y'2)分别表示两者相交部分的左下角和右上角,I表示相交部分的面积,U表示相并的面积。
使用IUmax保存使IU最大的的下标i,根据i从IU中找到交并比的值IU。
若IU≥0.7,标记数字为1,0.3<IU<0.7,标记数字为0,若IU<0.3,标记数字为-1,使用RPN矩阵记录标记数据。通过公式(5)转换锚框和真实边框的坐标。
通过公式(6)转换锚框和真实边框的偏移值
dh=log(h1/h2)
dw=log(w1/w2) (6)
其中表示锚框的中心坐标,(h1,w1)表示锚框的宽与高;/>表示真实边框的中心坐标,(h2,w2)表示真实边框的宽与高。偏移值用真实偏移边框矩阵I'B保存,根据经验(len(I'B)=256),即I'B保存的偏移值数量。
3)构建区域生成网络(Region Proposal Network,RPN),并采用特征图矩阵对区域生成网络进行训练,得到训练好的区域候选网络。其中,所述区域生成网络包括共享层、第一卷积层和第二卷积层;所述第一卷积层和所述第二卷积层并行;所述共享层用于使输入的特征图的尺寸保持不变;所述第一卷积层用于对所述共享层输出的特征图进行卷积,以输出预测框及所述预测框的前景概率;所述第二卷积层用于对所述共享层输出的特征图进行卷积,以输出预测框偏移值。训练时,将所述特征图矩阵输入所述共享层,并根据所述真实边框偏移边框矩阵、所述第一卷积层输出的预测框和所述第二卷积层输出的预测框偏移值计算区域网络损失值,以所述区域网络损失值最小为目标对所述区域生成网络进行训练,得到训练好的区域候选网络。
仍请参见图2,在实际应用中,该步骤3)的具体实施过程如下:
3:RPN的搭建与训练
3.1:RPN的搭建
RPN由两个部分组成,前半部分由512个3×3的卷积核组成,其作用是固定输入特征图的通道为512且保持特征图尺寸不变。经过固定的特征图被称为共享层,作为后半部分的共享输入;后半部分由两个并行的第一卷积层l1和第二卷积层l2组成。第一卷积层l1由6个1×1的卷积核组成,第二卷积层l2由12个1×1的卷积核组成。
3.2:共享层的构建
利用RPN前半部分依次对RF中的P2,P3,P4,P5,P6进行卷积,将其通道数变为512,尺寸保存不变,形成共享层。
3.3:预测框的前景概率β1和后景概率β2的计算
前景代表需要检测的物体,后景代表不需要检测的物体,预测框代表特征图Pi经过RPN卷积后输出的锚框。使用第一卷积层l1对共享层进行卷积,得到维度是(1,w×h,6)的数据,再重置成(1,w×h×3,2),这些数据是RPN预测出的前/后景数据,用R'C保存预测出的数据。其中w×h×3表示特征图Pi生成的预测框数量,w,h分别表示Pi的宽与高,3表示锚框种类,2表示预测框框选区域是前景数据V1和后景数据V2的维度。利用公式(7)对R'C进行计算并输出前/后景概率β1和β2,用矩阵R'L分别保存生成的前景概率β1和后景概率β2,其中
3.4:预测框偏移值δ的计算
使用第二卷积层l2对共享层进行卷积,得到维度是(1,w×h,12)的数据,再变形为(1,w×h×3,4),记为δ,δ为RPN的预测数据。其中w×h×3表示特征图Pi生成的预测框框数量,w和h分别表示Pi的宽与高,3表示锚框种类,4表示预测框与锚框的偏移量的维度,其内容为[dx,dy,log(dw),log(dh)],dx,dy表示预测框中心点与锚框中心点坐标的偏移量,dw和dh表示预测框的宽与高和锚框的宽与高之间的比例。用预测框偏移矩阵R'B保存生成的δ,其中
3.5:RPN损失值的计算
3.5.1:RPN的分类损失的计算
输入RPN和R'C,找出的下标i,再根据i从找出R'C的对应值,参与损失值的计算,/>为RPN中值为1的总数。按公式(8)计算损失值。
根据损失函数反向传播,训练区域候选网络参数。
3.5.2:RPN网络的回归损失的计算
输入RPN,R'B和I'B,找出的下标i,根据i从R'B找出对应值与/>按照公式(9)计算损失值。
其中,xij是第j个分量与/>第j个分量的差值(1≤j≤4),m为/>的个数。根据损失函数反向传播,训练区域候选网络参数。
其中,步骤106中,所述训练好的掩膜卷积模型的确定方法为:
1)基于所述预测框的前景概率和非极大值抑制的方法对所述锚框坐标矩阵中的坐标进行缩减,得到训练样本。具体的:依据所述预测框的前景概率对所述锚框坐标矩阵中对应的锚框进行降序排列,得到训练锚框序列;将所述训练锚框序列中前第一设定个数的锚框确定为第一训练目标锚框;采用非极大值抑制的方法将所述第一训练目标锚框缩减至第二设定个数,得到第二训练目标锚框;所述第二设定个数小于所述第一设定个数;将最大锚框分别与其他锚框进行交并比运算,得到多个训练交并比值;所述最大锚框为所述第二训练目标锚框中前景概率最大的锚框;所述其他锚框为所述训练锚框序列中除所述最大锚框之外的锚框;采用所述训练交并比值对所述第二训练目标锚框进行筛选,得到第三训练目标锚框,并将所述第三训练目标锚框对应的锚框坐标矩阵中的坐标确定为训练样本。
仍请参见图2,在实际应用中,该步骤1)的具体实施过程如下:
4:掩膜卷积网络训练数据的生成
4.1:锚框MA的筛选
提取步骤(3.3)中生成的预测框前/后景概率矩阵R'L中的所有的前景概率为前景概率矩阵β1,并用β1对MA进行排序,保留排名前α1的锚框,记录其索引值。根据经验α1=6000,再根据索引值得K'6000、P'6000、A'6000。其中K'6000表示前景概率排名前6000的MA的前景概率值的矩阵;P'6000表示前景概率排名前6000的RPN网络生成的预测框相对于MA的偏移值的矩阵,P'6000=[P1,...,P6000],Pi=[dx,dy,log(dw),log(dh)](1≤i≤6000);A'6000表示表示前景概率排名前6000的MA的坐标的矩阵,A'6000=[A1,A2,...,A6000],Ai=[x1,y1,x2,y2](1≤i≤6000)。
4.2:利用P'6000对A'6000进行调整
Ai=[x1,y1,x2,y2](1≤i≤6000),Pi=[dx,dy,log(dw),log(dh)](1≤i≤6000)。利用公式(10)对Ai转换格式。
其中,h和w分别表示Αi的高与宽,(xcenter,ycenter)表示Ai的中心坐标。使用Pi对转化后Ai进行调整,利用公式(11)完成调整操作。
将调整后的Ai通过公式(12)转化为初始格式
4.3:A'6000边界的修正
A'6000中的坐标存在着坐标大于1或者小于0的锚框,通过公式(13)保证锚框的坐标属于[0,1]范围。
4.4:A'6000的筛选
依次从A'6000选取前景概率值β1最高的锚框,依次与数值排在其后的锚框进行交并比运算,通过公式(4)计算出的IU。如果IU≥t(0≤t≤1),则两个锚框框选的目标是同一目标,保存两者中β1最高的锚框,否则两个锚框均保存。如果满足条件的锚框数量大于某一数值α'1,则去掉β1较小的锚框,使数量达到α'1;如果满足条件的锚框数量小于α'1,则填充0使数量达到α'1。根据经验,t设置为0.7,α'1设置为2000。筛选后的锚框用矩阵A'2000保存。
4.5:将A'2000划分为正负训练样本
4.5.1:从A'2000挑选η个锚框作为样本
1)将η设置为200。从(1)中获取参与训练照片的标记数据Ji,从(1.5)中获取真实边界框矩阵GB,通过公式(4)计算出A'2000与GB的交并比IU,用维度为(2000,n)的二维矩阵M保存,n=len(GB)。
2)用维度为2000的一维矩阵M'保存Ai(1≤i≤2000)与的IU的最大值,M'={M'1,...,M'2000},0≤M'i≤1。若M'i≥0.5,则M'i下标i对应的Ai是正样本;若M'i<0.5,则M'i下标i对应的Ai是负样本。用Ip记录正样本下标值,In记录负样本下标值。
3)设置每张照片参与训练的样本数为e,设置参与训练的正样本比例为f'(0<f'<1)。若Ip记录的下标个数大于e×f',则随机从Ip选取e×f'个下标;若Ip记录的下标个数小于e×f',则填充0直至个数为e×f',正样本的下标值用矩阵I'P保存。负样本的选取和正样本一致,负样本的下标值用矩阵I'n保存。根据I'P中的下标得到正样本锚框数据,用正样本矩阵Rp保存,根据I'n得到负样本锚框数据,用负样本矩阵Rn保存。
4.5.2:为正样本Rp匹配真实边界框
根据I'P的索引值从M得到其对应的IU,用二维矩阵MP保存,从MP的每一行中找到IU最大的值的下标,用一维矩阵Im保存, 根据Im的值分别从GB、GC和GM中获取Rp对应的真实边界框矩阵Rb,/>真实类别名矩阵Rc和真实掩膜矩阵Rm。通过公式(10)转换/>和/>的数据格式。再通过公式(14)计算/>和/>之间的偏移值ρi。
其中,(gx,gy)和(gh,gw)分别表示的中心坐标和宽与高;(rx,ry)和(rh,rw)分别表示/>的中心坐标和宽与高,ρi=[dy,dx,dw,dh],偏移矩阵ρ=[ρ1,ρ2,...,ρe*f']。
4.6:生成掩膜卷积网络的训练数据
负样本Rn的边界框、类名、掩膜和偏移值均使用0填充。与Rb、Rc、Rm和ρ一起形成新的R'b、R'c、R'm和ρ'。ρ'、R'm和R'c用于计算掩膜卷积网络的损失值。
2)构建掩膜卷积网络,并利用训练样本对掩膜卷积网络进行训练,得到训练好的掩膜卷积模型。其中,所述掩膜卷积网络包括并行的分类回归网络和掩膜网络。训练时,将所述特征图矩阵、所述掩膜特征图矩阵、所述标注信息和所述真实边界框矩阵输入所述分类回归网络,根据输出的预测掩膜类别与真实类别计算分类网络损失值,以所述分类网络损失值最小为目标进行训练,得到训练好的分类回归网络;将所述特征图矩阵、所述掩膜特征图矩阵、所述标注信息和所述真实边界框矩阵输入所述掩膜网络,根据输出的预测掩膜与真实掩膜计算掩膜损失值,并以所述掩膜损失值最小为目标进行训练,得到训练好的掩膜卷积模型;所述训练好的掩膜卷积模型包括并行的所述训练好的分类回归网络和所述训练好的掩膜卷积模型。
仍请参见图2,在实际应用中,该步骤2)的具体实施过程如下:
5:掩膜卷积网络的搭建与训练
5.1:分类回归网络的搭建与训练
5.1.1:分类回归网络的搭建
掩膜卷积网络有两个并行分支网络,即分类回归网络与掩膜网络。将正样本Rp和(2.2)得到的MR输入分类回归网络中,通过公式(15)计算Rp属于MR的某个特征图。
w和h分别表示Rp中的宽度和高度,ε代表/>应属于pε特征图;k0代表w=244,h=244时映射的特征层,一般取为4,即对应着特征图P4。对找到的特征图Pε取出/>坐标对应的区域,利用双线性插值的方式进行池化操作。具体过程如表4。
表4.分类回归网络的搭建
其中,k表示卷积核的大小,i表示输入通道数,o表示输出通道数。TimeDistributed为层封装器,用于修饰conv2d、BN、Dense、Softmax,即对200个训练样本都执行相同的操作,产生200个结果。pyramidROIAlign是双线性插值层,用于把特征图缩小到7×7的尺寸。mrcnn_class_logits用矩阵E保存,E=[E1,E2,...,E200]Ei=[ω1,ω2,...,ωθ]。E用于计算掩膜卷积网络的分类损失,mrcnn_bbox用矩阵H保存,H=[H1,H2,...,H200],Hi=[θ,dx,dy,log(dw),log(dh)]。H用于计算掩膜卷积网络的回归损失值,mrcnn_class_probss表示是某个类别的概率。
5.1.2:计算分类回归网络的损失函数
输入(1.2)中标记的类型信息GC、R'c和E。先利用公式(16)将E的数值固定在[0,1],再利用公式(17)计算损失函数。GC消除不在本图像的预测类别中的类别的预测损失。
其中为φ为/>的个数。
5.1.3:计算分类回归网络的损失函数
输入ρ'、H和R'c,利用公式(9)计算损失函数值。
5.2:掩膜网络的搭建与训练
5.2.1:掩膜网络的搭建
掩膜网络的搭建如表5所示。
表5.掩膜网络的搭建
/>
其中mrcnn_mask称为π用于计算掩膜卷积网络中的掩膜损失值(mask_loss)。
5.2.2:掩膜网络损失函数计算
输入R'c、π和R'm,掩膜网络针对每个产生一个θ×28×28的输出特征图,
即θ个28×28的二值掩膜图像,有掩膜的像素值为1,无掩膜的像素值为0。首先将π的形状变为(1,200,θ,28,28)。再对R'm中的掩膜进行缩放,使之形状变为28×28,然后对R'm和π中每一个像素点应用sigmoid函数,使数值在[0,1]。通过R'c找到使不为0的下标,得到下标矩阵i,并得到其值的矩阵j。根据下标i从R'm中找到R”m,根据i与j从π得到π'。通过公式(18)计算损失函数。
其中,ψ表示的像素值,ψ'表示π'k(π'k∈π')的像素值。根据损失函数反向传播,训练掩膜卷积网络参数,并将训练好的参数保存。
5.3:模型评估和模型固定
将测试集X”={D,J}输入模型中,其中D={d1,d2,...,dn'},di(1≤i≤n')代表未经过标注的照片,即测试集X”中的原始照片;J={J1,J2,...,Jn'},其中Ji(1≤i≤n')代表di的标注信息,n'为测试集图片数量。将di输入模型计算得到di的预测类别YC、锚框YB、类别概率YS、掩膜YM。根据预测类别YC划分YB、YS和YM,计算每个类别的预测锚框与其对应类别的真实标记框的交并比IU。若IU<ε,则将锚框标记为FP;若IU≥ε,则将锚框标记为TP,其中ε(0<ε<1)代表阈值。根据YS对同类的锚框进行排序,依次遍历每一个锚框的标记,计算目前为止所出现的TP以及FP出现的次数,将其记作为ATP和AFP,然后通过公式(19)及公式(20)计算查准率P和召回率R:
通过公式(21)算出平均精度(Average Precision,AP):
其中,j代表di中第j类检测目标,N代表第j类检测目标的个数,P(k)代表识别出k个检测目标时的P值,ΔR(k)代表识别个数从k-1变化到k时的R。
通过公式(22)计算di中所有类平均精度的平均值。
其中,m代表di中存在的种类数。计算并比较不同模型的mAP,以使得mAP值最高的模型作为最终需固定参数的模型。
上述区域候选网络、分类回归网络和掩膜网络的训练过程如图5所示。
在实际应用中,在对目标场景图像进行目标检测时,如步骤106和步骤107,将所述待测样本和所述待测掩膜特征图矩阵输入训练好的掩膜卷积模型中,得到所述目标场景图像中的工人掩膜和安全护具掩膜;然后,根据所述目标场景图像的工人掩膜和安全护具掩膜之间的相交关系确定所述目标场景图像中工人是否佩戴安全护具。仍请参见图2,具体检测过程如下:
6:根据训练好的网络参数进行目标检测
加载训练好的参数,输入待检测图片,模型根据参数预测出目标的边框矩阵,掩膜矩阵,类别矩阵,以及类别的概率值。每个掩膜的形状为28×28,放缩掩膜到其对应边框的尺寸,拟合待检测图片中目标的轮廓。统计类别矩阵中标签出现数字的频率。例如,数字“1”代表边框框选的是工人,数字“2”代表框选的是安全帽,数字“3”代表的是反光衣,数字“0”代表的是背景。根据不同的数字用矩阵T1、T2和T3分别保存工人、安全帽、反光衣的掩膜。利用公式(23)计算安全帽,反光衣等安全护具与工人掩膜的相交关系Ω。
其中,和/>分别表示安全护具掩膜的左下角和右上角坐标,/>进而/>分别表示工人掩膜的左下角和右上角坐标。(x'1,y'1),(x'2,y'2)分别表示两者相交部分的左下角和右上角,I表示相交部分的面积,S表示安全护具掩膜的面积。
若len(T1)=0,则照片中不存在工人;若len(T1)>0,len(T2,3)=0,则照片中工人未佩戴安全护具;若len(T1)>0,len(T2,3)>0,则利用公式(23)将T1依次与T2,T3进行计算,每次选取使Ω最大的并从T2,T3删除对应项。若Ω<π,π∈(0,1),则工人与安全帽或反光衣没有交集,即虽然检测出安全帽或反光衣,但这些护具并未佩戴在工人身上,不合格人数n1+1;若Ω≥π,则工人与安全帽或反光衣有交集,即既检测出安全帽或反光衣,且这些护具并佩戴在工人身上,合格人数n2+1。若n1>0,则照片中存在工人未合格佩戴安全护具;若n2=len(T1),则照片中所有工人均佩戴好安全护具。
下面给出一个具体实例,对上述安全护具佩戴检测方法进一步说明,本具体实例基于MaskR-CNN的反光衣的佩戴检测,包括如下几个步骤:
(1)数据预处理:对工人工作场景进行拍照取样,并对取样照片进行过滤,得到安全护具和工人的轮廓对照片集X。对X进行标注,并形成训练集X'和测试集X”。将X'中的图片放缩为统一大小,提取X'的标注信息J。
(2)特征提取:搭建ResNet-101+FPN模型,将训练集X'中的图片输入模型,得到特征图矩阵RF和MR。以RF的每个像素点为中心生成一系列的框(即锚框),用矩阵MA保存生成的锚框的坐标。
(3)区域候选网络(RegionProposalNetwork,RPN)的搭建与训练:搭建区域候选网络,将特征图矩阵RF输入区域候选网络,计算内部参数和前景概率矩阵β1={β1,β2...,βn}(0≤βi≤1,1≤i≤n)。
(4)生成掩膜卷积模型的训练样本:依据β1的概率值对MA进行降序排列,保留排名前α1的锚框MA,再利用非极大值抑制的方法,继续缩减MA数量至α'1个。非极大值抑制即循环,从MA中选取前景概率βi最高的锚框依次与数值排在其后的锚框进行交并比运算计算出交并比IU,为两个锚框相交部分面积与相并部分面积之比。如果IU≥阈值t(0≤t≤1),保存两者中β1最高的锚框,否则两个锚框均保存。再根据设定的样本数、正负样本比例,将被极大值方法缩减后的锚框划分正负样本,形成训练样本Rp。
(5)掩膜卷积模型的搭建与训练:搭建掩膜卷积模型,用RP训练掩膜卷积模型,计算内部参数。用测试集X”数据计算不同超参数的模型的准确率,并以准确率最高的模型作为最终需固定超参数的模型。
(6)基于步骤(3)~(5)中训练好的模型,输入待检测照片,输出目标检测结果,根据目标检测结果进行逻辑判断,输出照片中工人是否佩戴好安全护具的判断结果。
下面对该具体实例的具体实现过程进行详细介绍。
1、预处理
根据(1.1)对工人工作场景进行拍照取样,采用人工挑选的方式过滤曝光过度,曝光不足,模糊不清,画面不完整的照片,形成照片集X。
根据(1.2)使用Labelme对照片集X的进行数据标记,构建标记数据集Xn×2={D,J}。D={d1,d2,...,dn},J={J1,J2,...,Jn},Ji={GD,GS,GM,GC},若则第i个掩膜的类别是工人,若/>则第i个掩膜的类别是反光衣。标记信息如表6所示。
表6.标记信息例
根据(1.3)将di放缩填充为1024×1024形成新照片d'i,并记录填充信息,填充信息如表7所示。
表7.填充信息例表
左下角横坐标 | 左下角纵坐标 | 右上角横坐标 | 右上角纵坐标 | 缩放比例 |
112 | 112 | 912 | 912 | 1.6 |
112 | 112 | 912 | 912 | 1.6 |
0 | 172 | 1024 | 852 | 1.36 |
112 | 230 | 912 | 1001 | 2.78 |
0 | 127 | 1024 | 896 | 1.538 |
根据(1.4)对Ji中的掩膜进行比例为sc的缩放,通过如下规则从提取真实边界框GB。
将的二维信息压缩到水平方向,若存在某点垂直方向有像素为1,则该垂直方向的值都为1。从左向右找到第一个为1的位置记为x1,然后继续查找最后一个为1的位置记为x2。
将的二维信息压缩到垂直方向,若存在某点水平方向有像素为1,则该水平方向的值都为1。从上向下找到第一个为1的位置记为y2,然后继续查找最后一个为1的位置记为y1。则(x1,y1),(x2,y2)分别为真实边界框的左下角坐标和右上角坐标。重复n次,从GM找出所有边界框的坐标。其信息记录如表8所示。
表8.真实边界框坐标例表
2:特征提取
根据(2.1)用ResNet-101提取照片d'i的特征图。d'i的尺寸为1024×1024,形状为(1,1024,1024,3),3表示彩色图片的通道数。经过ResNet提取的特征图为C1、C2、C3、C4和C5。利用(2.2)中的特征图金字塔网络对C1、C2、C3、C4和C5进行特征融合,形成P2、P3、P4、P5。将P5进行步长为2的最大池化操作得到P6,其维度为(1,16,16,256),大小为16×16,通道数为256。结合从P2到P6特征图,得到RPN特征图矩阵RF和掩膜卷积网络特征图矩阵MR。其中RF=[P2,P3,P4,P5,P6],用于输入区域候选网络;MR=[P2,P3,P4,P5],用于输入掩膜卷积网络。
根据(2.3)设置锚框的大小α=[32,64,128,256,512],设置锚框长宽比R=[0.5,1,2],并生成锚框。以编号为10的照片举例,其锚框坐标信息如表9。
表9.锚框坐标信息
左下角横坐标 | 左下角纵坐标 | 右上角横坐标 | 右上角纵坐标 |
-22.627 | -11.313 | 22.627 | 11.313 |
-16 | -16 | 16 | 16 |
...... | ..... | ...... | ...... |
597.961 | 778.981 | 1322.039 | 1141.0193 |
704 | 704 | 704 | 704 |
778.981 | 597.961 | 1141.019 | 1322.039 |
根据(2.4)计算真实偏移边框矩阵I'B和RPN,分别如表10和11所示。
表10.锚框与真实边界框的偏移
dx | dy | dw | dh |
-0.50 | -0.22 | 0.65 | 0.88 |
1.19 | 0.14 | 1.20 | -0.23 |
0.31 | 0.14 | 1.20 | -0.23 |
-0.58 | 0.14 | 1.20 | -0.23 |
-1.46 | 0.14 | 1.20 | -0.23 |
0 | 0 | 0 | 0 |
...... | ...... | ...... | ...... |
0 | 0 | 0 | 0 |
表11.RPN标记数据
锚框id | 标记信息 |
250821 | 1 |
251013 | 1 |
259428 | 1 |
259424 | 1 |
259620 | 1 |
142827 | -1 |
144771 | -1 |
...... | ...... |
261888 | 0 |
3:RPN的搭建与训练
根据(3.1)搭建RPN,根据(3.2)利用RPN前半部分依次对RF中的[P2,P3,P4,P5,P6]进行卷积,将其通道数变为512,尺寸保存不变,形成共享层。根据(3.3)得到前/后景预测数据R'C。R'C经过公式(7)计算后得到前后景概率β1,β2。用矩阵R'L保存前景概率β1和后景概率β2。
根据(3.4)得到预测出的偏移量。用预测框偏移矩阵R'B保存生成的偏移量。
根据(3.5)计算RPN的损失函数并反向传播,训练RPN参数。
4:生成掩膜卷积网络训练数据
根据(4.1)筛选出(2.3)中生成的锚框。
根据(4.2)和(4.3)对(4.1)中排序后的锚框进行调整。
根据(4.4)对(4.3)中的筛选的锚框进行再次筛选。
根据(4.5)对(4.4)中的锚框进行正负样本划分,用样本锚框矩阵Rp保存。
5:掩膜卷积网络的搭建与训练
根据(5.1.1)搭建分类回归网络,并输入数据进行训练,根据(5.1.2)计算损失函数,并反向传播计算出分类回归网络的参数。根据(5.2.1)搭建掩膜网络,并输入数据进行训练。根据(5.2.2)计算损失函数,并反向传播计算出掩膜网络的参数。根据(5.3)进行模型评估和模型固定,从(1.2)获得测试集X”,随机从中选取7张照片进行测试,设置不同阈值,其评估结果如表12。
表12.不同阈值下的mAP值
阈值=0.6 | 阈值=0.7 | 阈值=0.8 | 阈值=0.9 | |
测试照片1 | 1 | 1 | 1 | 1 |
测试照片2 | 1 | 1 | 1 | 1 |
测试照片3 | 1 | 1 | 1 | 1 |
测试照片4 | 1 | 1 | 1 | 0 |
测试照片5 | 1 | 1 | 1 | 1 |
测试照片6 | 1 | 1 | 1 | 0.5 |
测试照片7 | 1 | 1 | 1 | 0.5 |
mAP | 1 | 1 | 1 | 0.72 |
6:根据训练好的网络参数进行目标检测
加载训练好的参数,输入待检测图片,模型根据参数预测出目标的边框矩阵,掩膜矩阵,类别矩阵,以及类别的概率值。统计类别矩阵中标签出现数字的频率。数字“1”代表边框框选的是工人,数字“2”代表框选的是反光衣,数字“0”代表的是背景。根据不同的数字用矩阵T1,T2分别保存工人,反光衣的掩膜。通过公式(23)计算反光衣与工人掩膜的相交关系Ω,随机选取10张待检测照片,其检测结果如表13。
表13.模型检测结果
本实施例的安全护具佩戴检测方法,使用COCO格式作为训练数据的格式,提高了训练与预测的效果;基于深度学习模型,利用ResNet-101残差神经网络提取出照片中不同尺寸的特征图,并利用特征金字塔网络对相邻特征图进行特征融合,提高了小物体检测的性能;挖掘特征图与训练数据中标签之间的潜在关系,并据此构建安全护具佩戴检测模型(训练好的掩膜卷积模型),还充分利用模型预测时的输出信息对待检测目标进行关系分析,有效提高了目标检测的准确率,并大大降低了人工成本。该方法具有如下优点:
(1)本发明采用Mask R-CNN网络,可以准确地识别安全护具和人的类别并利用边框标记出对象区域,并能从图片中提取对象区域、获取目标的轮廓信息,从而得到目标更多的细节信息。
(2)本发明对输入图片尺寸的兼容性较强,即对输入图片的尺寸没有固定要求。本发明将输入的图片缩放填充到统一大小,并记录缩放填充信息,在输出数据时,根据记录的缩放填充信息还原图片的尺寸。
(3)本发明采用残差网络(ResNet-101)作为骨干网络提取图像特征,由于残差结构不会增加模型参数,可以降低梯度消失和训练的难度。在计算护具掩膜和人物掩膜位置关系时,充分利用了Mask R-CNN网络输出的掩膜信息提高了安全护具检测的效率。
(4)本发明采用特征金字塔网络(FPN),FPN用于特征图的融合,使相邻两个特征图的信息融合在一起。FPN主要解决的是物体检测中的多尺度问题,通过简单的网络连接改变,在基本不增加原有模型计算量情况下,大幅度提升了小物体检测的性能,从而提高本发明方法可检测的视野。
(5)本发明应用RoIAlign调整每个RoI的尺寸使之变为固定的大小,通过双线性插值提取特征图上每个调整为固定大小的RoI的对应特征,取代FasterR-CNN中的舍入运算,减少了误差的引入,使得掩膜能更精确地覆盖原图像,提高了安全护具检测的准确性。
本发明还提供了一种安全护具佩戴检测***,参见图6,所述***包括:
图像获取模块601,用于获取目标场景图像。
特征提取模块602,用于采用ResNet-101残差神经网络和特征金字塔网络对所述目标场景图像进行特征提取,得到待测特征图矩阵和待测掩膜特征图矩阵。
锚框生成模块603,用于以所述待测特征图矩阵中各像素点为中心生成待测锚框,并采用待测锚框坐标矩阵存储各所述待测锚框的坐标。
前景概率计算模块604,用于将所述待测特征图矩阵输入训练好的区域候选网络,得到各所述待测锚框的前景概率。
待测样本生成模块605,用于基于所述待测锚框的前景概率和非极大值抑制的方法对所述待测锚框坐标矩阵中的坐标进行缩减,得到待测样本。
掩膜检测模块606,用于将所述待测样本和所述待测掩膜特征图矩阵输入训练好的掩膜卷积模型中,得到所述目标场景图像中的工人掩膜和安全护具掩膜;
安全护具佩戴检测模块607,用于根据所述目标场景图像的工人掩膜和安全护具掩膜之间的相交关系确定所述目标场景图像中工人是否佩戴安全护具。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的***而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种安全护具佩戴检测方法,其特征在于,包括:
获取目标场景图像;
采用ResNet-101残差神经网络和特征金字塔网络对所述目标场景图像进行特征提取,得到待测特征图矩阵和待测掩膜特征图矩阵;
以所述待测特征图矩阵中各像素点为中心生成待测锚框,并采用待测锚框坐标矩阵存储各所述待测锚框的坐标;
将所述待测特征图矩阵输入训练好的区域候选网络,得到各所述待测锚框的前景概率;
基于所述待测锚框的前景概率和非极大值抑制的方法对所述待测锚框坐标矩阵中的坐标进行缩减,得到待测样本;
将所述待测样本和所述待测掩膜特征图矩阵输入训练好的掩膜卷积模型中,得到所述目标场景图像中的工人掩膜和安全护具掩膜;
根据所述目标场景图像的工人掩膜和安全护具掩膜之间的相交关系确定所述目标场景图像中工人是否佩戴安全护具。
2.根据权利要求1所述的一种安全护具佩戴检测方法,其特征在于,所述采用ResNet-101残差神经网络和特征金字塔网络对所述目标场景图像进行特征提取,得到待测特征图矩阵和待测掩膜特征图矩阵,具体包括:
采用ResNet-101残差神经网络对所述目标场景图像进行特征提取,得到初始待测矩阵;所述初始待测矩阵包括K个阶段的特征图;
采用特征金字塔网络对所述初始待测矩阵中各阶段的特征图进行特征融合,得到K个阶段的融合后的特征图;
对第K个阶段的融合后的特征图以设定步长进行最大池化操作,得到新增特征图;
确定待测特征图矩阵和待测掩膜特征图矩阵;所述待测特征图矩阵包括K个阶段的融合后的特征图和所述新增特征图;所述待测掩膜特征图矩阵包括K个阶段的融合后的特征图。
3.根据权利要求1所述的一种安全护具佩戴检测方法,其特征在于,所述基于所述待测锚框的前景概率和非极大值抑制的方法对所述待测锚框坐标矩阵中的坐标进行缩减,得到待测样本,具体包括:
依据所述前景概率对所述待测锚框坐标矩阵中对应的待测锚框进行降序排列,得到锚框序列;
将所述锚框序列中前第一设定个数的待测锚框确定为第一目标锚框;
采用非极大值抑制的方法将所述第一目标锚框缩减至第二设定个数,得到第二目标锚框;所述第二设定个数小于所述第一设定个数;
将最大待测锚框分别与其他待测锚框进行交并比运算,得到多个交并比值;所述最大待测锚框为所述第二目标锚框中前景概率最大的待测锚框;所述其他待测锚框为所述锚框序列中除所述最大待测锚框之外的待测锚框;
采用所述交并比值对所述第二目标锚框进行筛选,得到第三目标锚框,并将所述第三目标锚框对应的待测锚框坐标矩阵中的坐标确定为待测样本。
4.根据权利要求1所述的一种安全护具佩戴检测方法,其特征在于,所述将所述待测样本和所述待测掩膜特征图矩阵输入训练好的掩膜卷积模型中,得到所述目标场景图像中的工人掩膜和安全护具掩膜,具体包括:
将待测样本和待测掩膜特征图矩阵输入训练好的分类回归网络中,得到目标场景图像的边框矩阵和类别矩阵,其中,所述边框矩阵中存储有每个待测样本各个类别对应的边框的坐标信息,所述类别矩阵中存储有每个待测样本各个类别对应的边框的类别概率;
根据所述类别矩阵从所述边框矩阵中选取各个待测样本最大类别概率对应的边框的坐标信息;
确定目标矩阵;所述目标矩阵包括所有待测样本最大类别概率对应的边框的坐标信息以及相应的类别;
采用非极大值抑制的方法缩减所述目标矩阵中对应的待测样本的数量,得到缩减矩阵;所述缩减矩阵包括缩减后的待测样本最大类别概率对应的边框的坐标信息以及相应的类别;
将所述缩减矩阵输入训练好的掩膜网络中,得到所述目标场景图像中的工人掩膜和安全护具掩膜。
5.根据权利要求1所述的一种安全护具佩戴检测方法,其特征在于,所述训练好的区域候选网络的确定方法为:
获取训练数据集;所述训练数据集包括训练照片和对应的标注信息;所述标注信息包括照片编号、照片尺寸、掩膜信息和掩膜类别信息;
对所述标注信息中的掩膜信息按照设定比例缩放,提取掩膜的真实边界框,得到真实边界框矩阵;
采用ResNet-101残差神经网络和特征金字塔网络对所述训练照片进行特征提取,得到每张所述训练照片的特征图矩阵和掩膜特征图矩阵;
以所述特征图矩阵中各像素点为中心生成锚框,并采用锚框坐标矩阵存储各所述锚框的坐标;
基于所述真实边界框矩阵和所述锚框坐标矩阵,计算真实边框偏移边框矩阵;
构建区域生成网络;所述区域生成网络包括共享层、第一卷积层和第二卷积层;所述第一卷积层和所述第二卷积层并行;所述共享层用于使输入的特征图的尺寸保持不变;所述第一卷积层用于对所述共享层输出的特征图进行卷积,以输出预测框及所述预测框的前景概率;所述第二卷积层用于对所述共享层输出的特征图进行卷积,以输出预测框偏移值;
将所述特征图矩阵输入所述共享层,并根据所述真实边框偏移边框矩阵、所述第一卷积层输出的预测框和所述第二卷积层输出的预测框偏移值计算区域网络损失值,以所述区域网络损失值最小为目标对所述区域生成网络进行训练,得到训练好的区域候选网络。
6.根据权利要求5所述的一种安全护具佩戴检测方法,其特征在于,所述训练好的掩膜卷积模型的确定方法为:
基于所述预测框的前景概率和非极大值抑制的方法对所述锚框坐标矩阵中的坐标进行缩减,得到训练样本;
构建掩膜卷积网络;所述掩膜卷积网络包括并行的分类回归网络和掩膜网络;
将所述特征图矩阵、所述掩膜特征图矩阵、所述标注信息和所述真实边界框矩阵输入所述分类回归网络,根据输出的预测掩膜类别与真实类别计算分类网络损失值,以所述分类网络损失值最小为目标进行训练,得到训练好的分类回归网络;
将所述特征图矩阵、所述掩膜特征图矩阵、所述标注信息和所述真实边界框矩阵输入所述掩膜网络,根据输出的预测掩膜与真实掩膜计算掩膜损失值,并以所述掩膜损失值最小为目标进行训练,得到训练好的掩膜卷积模型;所述训练好的掩膜卷积模型包括并行的所述训练好的分类回归网络和所述训练好的掩膜卷积模型。
7.根据权利要求5所述的一种安全护具佩戴检测方法,其特征在于,所述采用ResNet-101残差神经网络和特征金字塔网络对所述训练照片进行特征提取,得到各所述训练照片的特征图矩阵和掩膜特征图矩阵,具体包括:
将所述训练数据集中所有的所述训练照片缩放填充为统一尺寸;
采用ResNet-101残差神经网络和特征金字塔网络对尺寸统一后的训练照片进行特征提取,得到每张尺寸统一后的训练照片的特征图矩阵和掩膜特征图矩阵。
8.根据权利要求7所述的一种安全护具佩戴检测方法,其特征在于,所述采用ResNet-101残差神经网络和特征金字塔网络对尺寸统一后的训练照片进行特征提取,得到每张尺寸统一后的训练照片的特征图矩阵和掩膜特征图矩阵,具体包括:
采用ResNet-101残差神经网络对所述尺寸统一后的训练照片进行特征提取,得到初始训练矩阵;所述初始训练矩阵包括K个阶段的训练特征图;
采用特征金字塔网络对所述初始训练矩阵中各阶段的训练特征图进行特征融合,得到K个阶段的融合后的训练特征图;
对第K个阶段的融合后的训练特征图以设定步长进行最大池化操作,得到新增训练特征图;
确定特征图矩阵和掩膜特征图矩阵;所述特征图矩阵包括K个阶段的融合后的训练特征图和所述新增训练特征图;所述掩膜特征图矩阵包括K个阶段的融合后的训练特征图。
9.根据权利要求6所述的一种安全护具佩戴检测方法,其特征在于,所述基于所述预测框的前景概率和非极大值抑制的方法对所述锚框坐标矩阵中的坐标进行缩减,得到训练样本,具体包括:
依据所述预测框的前景概率对所述锚框坐标矩阵中对应的锚框进行降序排列,得到训练锚框序列;
将所述训练锚框序列中前第一设定个数的锚框确定为第一训练目标锚框;
采用非极大值抑制的方法将所述第一训练目标锚框缩减至第二设定个数,得到第二训练目标锚框;所述第二设定个数小于所述第一设定个数;
将最大锚框分别与其他锚框进行交并比运算,得到多个训练交并比值;所述最大锚框为所述第二训练目标锚框中前景概率最大的锚框;所述其他锚框为所述训练锚框序列中除所述最大锚框之外的锚框;
采用所述训练交并比值对所述第二训练目标锚框进行筛选,得到第三训练目标锚框,并将所述第三训练目标锚框对应的锚框坐标矩阵中的坐标确定为训练样本。
10.一种安全护具佩戴检测***,其特征在于,包括:
图像获取模块,用于获取目标场景图像;
特征提取模块,用于采用ResNet-101残差神经网络和特征金字塔网络对所述目标场景图像进行特征提取,得到待测特征图矩阵和待测掩膜特征图矩阵;
锚框生成模块,用于以所述待测特征图矩阵中各像素点为中心生成待测锚框,并采用待测锚框坐标矩阵存储各所述待测锚框的坐标;
前景概率计算模块,用于将所述待测特征图矩阵输入训练好的区域候选网络,得到各所述待测锚框的前景概率;
待测样本生成模块,用于基于所述待测锚框的前景概率和非极大值抑制的方法对所述待测锚框坐标矩阵中的坐标进行缩减,得到待测样本;
掩膜检测模块,用于将所述待测样本和所述待测掩膜特征图矩阵输入训练好的掩膜卷积模型中,得到所述目标场景图像中的工人掩膜和安全护具掩膜;
安全护具佩戴检测模块,用于根据所述目标场景图像的工人掩膜和安全护具掩膜之间的相交关系确定所述目标场景图像中工人是否佩戴安全护具。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110887741.6A CN113792584B (zh) | 2021-08-03 | 2021-08-03 | 一种安全护具佩戴检测方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110887741.6A CN113792584B (zh) | 2021-08-03 | 2021-08-03 | 一种安全护具佩戴检测方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113792584A CN113792584A (zh) | 2021-12-14 |
CN113792584B true CN113792584B (zh) | 2023-10-27 |
Family
ID=79181338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110887741.6A Active CN113792584B (zh) | 2021-08-03 | 2021-08-03 | 一种安全护具佩戴检测方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113792584B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110111328A (zh) * | 2019-05-16 | 2019-08-09 | 上海中认尚科新能源技术有限公司 | 一种基于卷积神经网络的风力发电机叶片裂纹检测方法 |
CN111210443A (zh) * | 2020-01-03 | 2020-05-29 | 吉林大学 | 基于嵌入平衡的可变形卷积混合任务级联语义分割方法 |
CN111815577A (zh) * | 2020-06-23 | 2020-10-23 | 深圳供电局有限公司 | 安全帽佩戴检测模型处理方法、装置、设备和存储介质 |
CN112464701A (zh) * | 2020-08-26 | 2021-03-09 | 北京交通大学 | 基于轻量化特征融合ssd的人员是否佩戴口罩检测方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11037051B2 (en) * | 2018-11-28 | 2021-06-15 | Nvidia Corporation | 3D plane detection and reconstruction using a monocular image |
-
2021
- 2021-08-03 CN CN202110887741.6A patent/CN113792584B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110111328A (zh) * | 2019-05-16 | 2019-08-09 | 上海中认尚科新能源技术有限公司 | 一种基于卷积神经网络的风力发电机叶片裂纹检测方法 |
CN111210443A (zh) * | 2020-01-03 | 2020-05-29 | 吉林大学 | 基于嵌入平衡的可变形卷积混合任务级联语义分割方法 |
CN111815577A (zh) * | 2020-06-23 | 2020-10-23 | 深圳供电局有限公司 | 安全帽佩戴检测模型处理方法、装置、设备和存储介质 |
CN112464701A (zh) * | 2020-08-26 | 2021-03-09 | 北京交通大学 | 基于轻量化特征融合ssd的人员是否佩戴口罩检测方法 |
Non-Patent Citations (1)
Title |
---|
一种基于安全帽佩戴检测的图像描述方法研究;徐守坤;倪楚涵;吉晨晨;李宁;;小型微型计算机***(04);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113792584A (zh) | 2021-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020253629A1 (zh) | 检测模型训练方法、装置、计算机设备和存储介质 | |
CN108875600A (zh) | 一种基于yolo的车辆信息检测和跟踪方法、装置及计算机存储介质 | |
CN111126325B (zh) | 一种基于视频的智能人员安防识别统计方法 | |
CN104978567B (zh) | 基于场景分类的车辆检测方法 | |
Alidoost et al. | A CNN-based approach for automatic building detection and recognition of roof types using a single aerial image | |
CN105809651B (zh) | 基于边缘非相似性对比的图像显著性检测方法 | |
CN107862698A (zh) | 基于k均值聚类的光场前景分割方法及装置 | |
CN105844621A (zh) | 一种印刷品质量检测方法 | |
CN108764325A (zh) | 图像识别方法、装置、计算机设备和存储介质 | |
CN112560675B (zh) | Yolo与旋转-融合策略相结合的鸟类视觉目标检测方法 | |
CN108629319B (zh) | 图像检测方法及*** | |
CN107230203A (zh) | 基于人眼视觉注意机制的铸件缺陷识别方法 | |
CN109559324A (zh) | 一种线阵图像中的目标轮廓检测方法 | |
CN109685045A (zh) | 一种运动目标视频跟踪方法及*** | |
CN106203237A (zh) | 集装箱拖车编号的识别方法和装置 | |
CN109949227A (zh) | 图像拼接方法、***及电子设备 | |
CN112101195B (zh) | 人群密度预估方法、装置、计算机设备和存储介质 | |
CN110827312A (zh) | 一种基于协同视觉注意力神经网络的学习方法 | |
CN110334760A (zh) | 一种基于resUnet的光学元器件损伤检测方法及*** | |
CN113435407A (zh) | 一种输电***的小目标识别方法及装置 | |
CN112686872B (zh) | 基于深度学习的木材计数方法 | |
CN114387592A (zh) | 一种复杂背景下字符定位和识别方法 | |
CN113792584B (zh) | 一种安全护具佩戴检测方法及*** | |
CN117292217A (zh) | 一种基于对抗生成网络的皮肤分型数据增广方法与*** | |
CN110889418A (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 |