一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种登高施工合规性检测方法及系统与流程

2021-11-09 22:13:00 来源:中国专利 TAG:


1.本发明涉及计算机视觉领域,特别是涉及一种登高施工合规性检测方法及系统。


背景技术:

2.实例分割是计算机视觉领域的一个重要方向,兼具目标检测和语义分割两个图像检测重要方向的特点,其主要流程为在图像中识别各个标签中的实例,返回边界框,并对图像中每个实例所包含的像素进行分割,返回覆盖掩膜。实例分割在很多领域有广泛的应用,其主要方法是通过改进现有的目标检测模型提取图像特征,并在图像中取得实例的矩形边界外框,再在识别的外框中通过掩膜生成网络生成掩膜,进而完成语义分割。
3.近年来,在深度学习领域,随着识别能力及硬件算力的逐渐提升,实例分割技术得到了快速的发展。目前,用于实例分割的常见模型有多径网络(multipath network)、掩膜卷积神经网络(mask region

based convolutional neural networks,简称为mask r

cnn)、you only look at coefficients(yolact)和极坐标掩膜(polarmask)等,其中mask r

cnn拥有较高的准确度与成熟的工程使用环境,有利于针对具体场景进行调整模型。
4.多径网络使用vgg为骨干网络,采用deepmask提取区域。由于vgg网络的性能问题,基于多径网络的目标识别和实例分割的精度无法达到要求。
5.yolact是一种高效的实例分割模型,可实现实时的实例分割,但其掩膜覆盖的精度要低于其他模型。由于其放弃了定位的步骤,其目标识别的准确度与其他模型差距更加明显。
6.基于fcos的polarmask为快速的实例分割模型,在检测过程中不会生成锚框,掩膜生成时采用了极坐标系轮廓建模的方法,准确度高于yolact,但低于mask r

cnn。
7.电力与通信施工等行业涉及的登高施工作业具有相关的施工规范,如登高施工时不允许多人同时攀爬同一梯子,登高作业时必须有人扶持梯子保证梯子稳定。为对施工过程进行检测,需对爬梯施工人员与扶梯施工人员进行实例分割。
8.由于人工审查缺乏规范,企业所提供数据集包括往期施工图像拥有大量无效甚至混淆数据。直接使用该数据集会严重影响训练效果,浪费标注人员工时。
9.由于施工中爬梯施工人员与扶梯施工人员均会穿着施工工装,上半身动作均为手部紧握梯子,两个实例外观的高度相似,传统的多径网络、yolact和polarmask等基于人物动作识别或者通用的实例分割模型,无法取得较好的准确率。传统标注方式的mask r

cnn虽然准确率较高,但仍存在爬梯施工人员与扶梯施工人员会产生大量混淆的问题。
10.本发明基于mask

rcnn,采用coco数据集的标注格式保存图像数据集和训练数据,基于图像灰度对其评分的方式可快速筛选删除低质量图像。数据标注阶段,将梯子与扶梯施工人员、爬梯施工人员合并标注,通过该模型训练数据集并提取特征,生成模型参数。登高合规性判断阶段,通过mask

rcnn进行训练,识别图像中是否包含待检测实例及包含的数量,根据企业施工规范进行比对、建立登高施工合规性检测的逻辑规则,判断施工过程是否合规。


技术实现要素:

11.本发明的目的是提供一种登高施工合规性检测方法,利用mask r

cnn模型学习并识别图像中登高施工中施工人员的动作;建立识别结果与审查结果的逻辑关系,基于mask r

cnn识别结果对施工是否合规进行判断,减少人工筛选工作量,提高识别精度。
12.为实现上述目的,本发明提供了如下方案:
13.一种登高施工合规性检测方法,所述方法包括:
14.构建数据集;所述数据集包括:训练集和测试集;
15.基于所述训练集对神经网络进行训练;
16.获取施工图像;
17.将所述施工图像输入至训练好的神经网络,得到爬梯人实例的数量和扶梯人实例的数量;
18.根据所述爬梯人实例的数量和扶梯人实例的数量判断是否合规。
19.可选的,所述构建数据集具体包括:
20.获取初始数据集d={d1,d2,

,d
n
};
21.对所述初始数据集中的每一张图像进行评分;
22.判断每一张图像的评分是否小于预设阈值;
23.若小于,则剔除当前图像,保留评分大于或等于所述预设阈值的图像作为筛选后的数据集d

={d
i
|1≤i≤m}。
24.可选的,对所述数据集中的每一张图像进行评分具体采用以下公式:
[0025][0026]
其中,p
(u 1)v
、p
u(v 1)
以及p
uv
分别表示图像中像素归一化后的灰度值,下标u为像素的横坐标值,下标v为像素的纵坐标值。
[0027]
可选的,在所述“构建数据集”之后还包括:
[0028]
对所述数据集进行预处理并分割。
[0029]
可选的,对所述数据集进行预处理并分割具体包括:
[0030]
统一所述数据集中图片尺寸的大小,并针对标准对象生成真实外框,将所述数据集按照8:2的比例分割为训练集和测试集。
[0031]
可选的,基于所述训练集对神经网络进行训练具体包括:
[0032]
基于所述训练集对骨干网络进行训练,得到特征金字塔;所述骨干网络包括:101层残差网络和特征金字塔网络;
[0033]
基于所述训练集对所述特征金字塔进行训练,得到边框建议区域网络损失值;
[0034]
对所述边框建议区域中包含的待检测实例分类进行学习,在边框建议区域中生成实例的掩膜覆盖进行学习,生成掩膜卷积网络损失值;
[0035]
记录本轮迭代maskr

cnn中所有卷积核的参数以及损失值;
[0036]
将所述边框建议区域网络损失值和所述掩膜卷积网络损失值进行反向传播,修改神经网络中卷积核的值;
[0037]
在所有代中损失值最小的代,固定其损失值最小的代的参数为最终神经网络模型的参数;
[0038]
根据所述参数,确定mask r

cnn模型。
[0039]
可选的,所述“获取施工图像”之后还包括:
[0040]
对所述施工图像中的每一张图像进行评分;
[0041]
将所述评分小于预设阈值的图像剔除;
[0042]
将所述评分大于或等于预设阈值的图像输入至训练好的神经网络。
[0043]
本发明还提供一种登高施工合规性检测系统,所述检测系统包括:
[0044]
数据集构建模块,用于构建数据集;所述数据集包括:训练集和测试集;
[0045]
神经网路训练模块,用于基于所述训练集对神经网络进行训练;
[0046]
施工图像获取模块,用于获取施工图像;
[0047]
爬梯人实例的数量和扶梯人实例数量获取模块,用于将所述施工图像输入至训练好的神经网络,得到爬梯人实例的数量和扶梯人实例的数量;
[0048]
判断模块,用于根据所述爬梯人实例的数量和扶梯人实例的数量判断是否合规。
[0049]
根据本发明提供的具体实施例,本发明公开了以下技术效果:
[0050]
为解决公知方法中人工审查标准难以统一、时效性差、只能先施工后审批、工作量巨大等问题,本发明提出的基于图像灰度对图像进行评分的方式来筛选低质量图像的方法,减少人工筛选标注工作量;通过将需求识别实例(施工人员)与施工工具(梯子)合并标注的方法将施工图像标注作为训练图像数据集,增项识别效果;利用mask r

cnn模型学习并识别图像中登高施工中施工人员的动作;建立识别结果与审查结果的逻辑关系,基于mask r

cnn识别结果对施工是否合规进行判断。与传统的人工抽查方法相比,本发明有标准明确统一、实时审查、节约人工成本、可实现全部施工图像审查等优点。
附图说明
[0051]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0052]
图1为本发明实施例一种登高施工合规性检测方法流程图;
[0053]
图2为本发明实施例resnet101结构示意图;
[0054]
图3为本发明实施例残差块结构示意图;
[0055]
图4为本发明实施例一种登高施工合规性检测系统结构示意图,
具体实施方式
[0056]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0057]
本发明的目的是提供一种登高施工合规性检测方法,利用mask r

cnn模型学习并识别图像中登高施工中施工人员的动作;建立识别结果与审查结果的逻辑关系,基于mask r

cnn识别结果对施工是否合规进行判断,减少人工筛选工作量,提高识别精度。
[0058]
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
[0059]
图1为本发明实施例一种登高施工合规性检测方法流程图,该方法主要包含如下步骤:
[0060]
1:数据处理及模型的参数固定
[0061]
1.1:图像的初步筛选及数据集d

的构建
[0062]
根据施工单位提供爬梯登高施工图像构建数据集d={d1,d2,...,d
n
},n为图像的数量,第i个图像为d
i
。计算d
i
的评分score
i
,计算方式见公式1.1,p
uv
为该像素归一化后的灰度,下标u和v为像素在图像中的坐标值。
[0063][0064]
设定阈值z,当score
i
小于z,认为该图像为低质量图像,删除d
i
。在具体实施过程中,根据拍摄设备的不同,可调整z的大小。在设备性能较低、拍摄图像清晰度难以保证时,可适当调低z,以保证拍照的成功率。筛选后得到的数据集为d

={d
i
|1≤i≤m},m为经评分筛选后剩余图像的数量。
[0065]
1.2:数据集d

的预处理和分割
[0066]
对步骤1.1得出的d

进行人工筛选,继1.1删除与登高施工图像无关的和低拍摄质量的图像,其中低拍摄质量标准为:针对经1.1处理后的d

中:(1)人眼观感上仍过于模糊(2)由于翻拍产生的噪声导致1.1中score
i
较高(3)由于翻拍导致图像产生畸变无法用作训练三个标准进行筛选,从而得到d

={d
″1,d
″2,...,d

u
},其中u为处理后的图像数量。
[0067]
接着对d

中的施工人员,即扶梯人员与爬梯人员,采用多边形(polygons)方式对“梯子”与“施工人员”的外部轮廓合并标注,得到标注集d

y
={d

y1
,d

y2
,...,d

yu
},其中d

yi
是对应d

i
的标注图像。以8:2的比例将d

和d

y
随机划分为训练集d
train
={{d
″1,d

y1
},{d
″2,d

y2
},...,{d

(0.8u)
,d

y(0.8u)
}}、测试集d
test
={{d

(0.8u 1)
,d

y(0.8u 1)
},{d

(0.8u 2)
,d

y(0.8u 2)
},...,{d

u
,d

yu
}}。
[0068]
1.3:训练集d
train
的图像预处理
[0069]
1.3.1:训练集d
train
尺寸调整
[0070]
对步骤1.2中得出d
train
中的d

i
和d

yi
尺寸需进行预处理以满足maskr

cnn模型输入需求。对于任意d

i
和d

yi
,寻找较短边d1=min(h,w),h和w为d

i
和d

yi
的长和宽,规定h和w均小于4096。等比例放缩d

i
和d

yi
放缩比r1=1024
÷
d1,变换后或的长宽变为hr1和wr1。
[0071]
寻找变换后较长边d2=max(hr1,wr1),若d2>1024,等比例放缩或放缩比r2=1024
÷
d2,变换后或的长宽分别变为hr1r2和wr1r2;若2d2=1024,则直接将或分别记为或并加入转换后的训练集d

train

[0072]
图像放缩时采用双线性插值法求得转换后图像对应坐标的像素值,像素值指对应
颜色通道上该像素点的亮度。双线性插值法插值像素的值应满足公式(1.2),其中插值像素亮度值为f(x,y),其坐标(x,y)位于像素坐标为(a,b)、(a 1,b)、(a 1,b 1)、(a,b 1)围成的正方形内。
[0073]
f(x,y)=f(a,b)(a 1

x)(b 1

y) f(a 1,b)(x

a)(b 1

y) f(a,b 1)(a 1

x)(y

b) f(a 1,b 1)(x

a)(y

b)\*mergeformat
ꢀꢀ
(1.2)
[0074]
其中,f(a,b)、f(a 1,b)、f(a 1,b 1)和f(a,b 1)为对应原图像中对应坐标的像素的值。
[0075]
若或的长宽比与预设的长宽比不同,则经过上述放缩变换后对应图像无法填充满整个预设图像尺寸,需在图像的右侧或下册进行全黑填充,填充后或的尺寸为1024
×
1024,经转换后的训练集标记为用作步骤1.4的训练以及步骤1.6.10中的计算。
[0076]
1.3.2:图像实例真实外框的生成
[0077]
对1.3.1得出的每一图像进行行扫描,若行与被检测掩膜相交,该行标记1、否则标记0。通过对进行列扫描,若列与被检测掩膜相交标记1,否则标记0。第一个与最后一个标记为1的行和列围成的矩形边框为该掩膜标记的实例的外框。中掩膜生成的真实外框记为m
ij
,其中,i为对应的图像编号,j为该图像中的实例编号。
[0078]
1.4:骨干网络训练
[0079]
mask r

cnn使用resnet101(具体结构如图2所示)和fpn为骨干网络,基于1.3.1中生成的调整后的训练集d

train
进行模型参数训练。
[0080]
在每轮训练中,需从d

train
中随机选取部分图像作为单次训练的小数据集minibatch进行训练,记为b={b1,b2,b3,b4},其中b
k
(k∈{1,2,3,4})为被选取的一张
[0081]
resnet101的结构与输入输出如表1。
[0082]
表1.resnet101结构
[0083]
模块输入输出卷积、池化(1,1024,1024,3)c1(1,256,256,64)卷积、池化、relu激活函数(1,256,256,64)c2(1,256,256,256)卷积、池化、relu激活函数(1,256,256,256)c3(1,128,128,512)卷积、池化、relu激活函数(1,128,128,512)c4(1,64,64,1024)卷积、池化、relu激活函数(1,64,64,1024)c5(1,32,32,2048)
[0084]
表1中后四个模块分别由3、4、23、3个buildingblock块组成。
[0085]
在通过第l个的building block块时,若第l个与第l 1个building block维度相同,即第l个building block不是所属model中最后一个building block时,满足公式(1.3)。
[0086][0087]
若第l层与第l 1层维度不同,则满足公式(1.4)。
[0088][0089]
其中,其中,分别代表第l层的输入与输出(即第l 1层的输入),f(b
(l)
,w
l
)为残差计算函数,w
l
为该层的卷积核参数。为卷积操作。
[0090]
残差是以为输入,依次经过卷积操作w
l
,bn(batch normalization)批归一化,relu激活函数,卷积操作w
l
,bn共5个处理过程后得到的输出,其结构示意可见附图3。其中bn和relu的计算方法在1.4.1和1.4.2中介绍。
[0091]
由表1所示,模型中不同模块的输出c1~c5为骨干网络输出的特征,用作步骤1.4.3特征金字塔的生成。
[0092]
1.4.1:bn批归一化
[0093]
步骤1.4的残差分支中bn操作的输入记为其中间计算过程满足公式(1.5)。
[0094][0095]
其中,γ和β由反向传播时学习得到,经过归一化的输出为作为步骤1.4中残差分支下一个操作(relu激活函数或残差分支输出)的输入。
[0096]
1.4.2:relu激活函数
[0097]
步骤1.4的残差模块(其结构如图3所示)中relu激活函数的输入记为步骤1.4的残差模块(其结构如图3所示)中relu激活函数的输入记为中每个的元素b经过relu激活函数之后得到的输出满足公式(1.6)。
[0098]
b

=max(0,b)\*mergeformat
ꢀꢀ
(1.6)
[0099]
b

组成的变换后图像记为作为步骤1.4中残差分支中下一个卷积操作的输入。
[0100]
1.4.3:特征金字塔网络的生成
[0101]
步骤1.4中骨干网络各模块的输出c1~c5在传递到下一层进行运算的同时,也输入到特征金字塔网络进行特征融合,融合过程见表2,得到特征金字塔的输出f={f5,f4,f3,f2}。
[0102]
表2.特征金字塔网络融合特征
[0103][0104][0105]
将f5进行步长为2的最大池化操作得到f6,输出f={f6,f5,f4,f3,f2}用于步骤1.5的区域网络训练和f
mask
={f5,f4,f3,f2}用于步骤1.6的掩膜卷积网络训练。
[0106]
1.5:区域建议网络训练
[0107]
1.5.1:区域生成
[0108]
利用滑动窗口机制对1.4.3中生成的特征金字塔中每张特征图f
i
的像素进行扫描,此时每个像素称为锚点(anchor),对应原图像的一个区域,称为锚框(anchorbox),不同层特征金子塔网络的中anchorbox的大小分别为256、512、1024、2048、4096个像素。每层扫描时分别使用长宽比为0.5、1、2的三种不同形状进行扫描,生成的锚框记为a
ik
={x1,x2,y1,y2},其中i为图像编号,k为该锚框在图像中的编号,记锚框集合为a
i
={a
i1
,a
i2
,...,a
ik
}。
[0109]
1.5.2:锚框与真实边框交并比的计算
[0110]
通过公式(1.7)计算步骤1.5.1中生成的锚框矩阵a
ik
与对应的真实边界框矩阵m
ij
(步骤1.3.2中得出)的交并比h。
[0111]
i=max(0,min(x2,x4)

max(x1,x3))
×
max(0,min(y2,y4)

max(y1,y3))
[0112]
a1=(x2‑
x1)
×
(y2‑
y1)
[0113]
a2=(x4‑
x3)
×
(y4‑
y3)
[0114]
u=a1 a2‑
i
[0115]
h=i
÷
u
[0116]
\*mergeformat
ꢀꢀ
(1.7)
[0117]
其中,(x1,y1)和(x2,y2)分别为该锚框的左上和右下坐标,(x3,y3)和(x4,y4)分别为m
ij
的左上和右下坐标。
[0118]
比较锚框与图像内所有m
ij
的h,找到其最大值h
max
。若h
max
>0.1,则该锚框视作积极的(positive),记为a
positive
,若小于0.04就视为消极的(negative)记为a
negative
。记录h
max
和取得h
max
时对应的真实边框m
ij
的边框号j,用于步骤1.5.5和步骤1.6.5的计算。
[0119]
1.5.3:真实偏移边框矩阵的计算
[0120]
计算计算锚框矩阵a
ik
(步骤1.5.1中得出)与对应的真实边界框矩阵m
ij
(步骤1.3.2中得出)的偏移值g
y
、g
x
、g
h
和g
w
的计算方法如公式(1.8)所示。
[0121][0122]
其中,和(h1,w1)分别表示锚框的中心坐标和宽与高,和(h2,w2)分别表示真实边框的中心坐标和宽与高。
[0123]
输出用真实边框偏移矩阵i
ik
={g
x
,g
y
,log(g
w
),log(g
h
)}的集合i
i
={i
i1
,i
i2
,...,i
ik
}进行记录,用于步骤1.5.5中的计算。
[0124]
1.5.4:预测框参数的计算
[0125]
对步骤1.4.3中得到的f
n
(n=2,3,4,5,6)进行3
×3×
512卷积操作形成共享层。
[0126]
对共享层进行1
×1×
6的卷积操作得到(1,w*h,6)的数据,再变形成(1,w*h*3,2)的维度,记为rpn_class,其中w*h*3表示特征图f
n
生成的预测框数量,w和h分别表示f
n
的宽与高,通过rpn_class中正样本数据v0和负样本数据v1通过softmax网络算出其前景的概率s0和背景的概率s1,softmax满足公式(1.9)。
[0127][0128]
对共享层进行1
×1×
12的卷积操作,并将其变形为(1,w*h*3,4)得到rpn_bbox。rpn_bbox的后四个维度为g

x
、g

y
、log(g

w
)、log(g

h
),其中g

x
和g

y
分别为锚框中心点与锚框中心点坐标的偏移量,log(g

w
)和log(g

h
)为预测框的宽与高和锚框的宽与高之间的比例的对数。
[0129]
输出预测框的偏移矩阵g
ik
={g

x
,g

y
,log(g

w
),log(g

h
)}的集合g
i
={g
i1
,g
i2
,...,g
ik
}进行记录,其中i是图像编号,k是锚框编号。
[0130]
1.5.5:rpn损失的计算
[0131]
通过步骤1.5.4中得出的rpn_class以及步骤1.5.2中得出的a
positive
计算rpn的分类损失rpn_class_loss,即rpn网络分类的交叉熵损失,记为l
rc
,满足公式(1.10)。
[0132][0133]
其中,rpn_class
ai
为a
i
的rpn_class。
[0134]
通过步骤1.5.3中得出的i
i
和步骤1.5.4中得出的g
i
计算rpn的回归损失rpn_bbox_loss为预测框的偏移损失,记为l
rb
,满足公式(1.11)。
[0135][0136]
其中,m为图像中锚框的数量。
[0137]
输出的损失值l
rc
和l
rb
用于步骤1.7中的反向传播。
[0138]
1.6:掩膜卷积网络训练
[0139]
1.6.1:锚框数量调整
[0140]
依据步骤1.5.4中得出的a
i
中所有锚框a
ik
的s0,筛选锚框,仅保留s0最高的前a1个锚框,记为a

ik
,构成集合a

i
。a1由实际使用情况确定,一般取6000。
[0141]
1.6.2:锚框调整
[0142]
依照1.5.4中求得的锚框与预测框的偏移值g
ik
={d
x
,d
y
,log(d
w
),log(d
h
)}对步骤1.6.1中得出的a

ik
={x1,x2,y1,y2}进行调整,调整方式满足公式(1.12)。
[0143][0144]
其中,x
′1、x
′2、y
′1和y
′2是锚框调整后的坐标值,记为a

ik
={x
′1,x
′2,y
′1,y
′2},其集合记为a

i

[0145]
1.6.3:高重合度锚框的处理
[0146]
依据1.5.4计算步骤1.6.2中得出的a

i
中所有a

ik
的前景概率值s0,并对其进行降序排序,形成队列q。
[0147]
选取q中s0最高的锚框a

in
,根据公式(1.7)与其他锚框计算交并比。此锚框与a
in
的交并比超过0.5,则在q中删除该锚框。在比较过后续所有锚框后,a

in
移出队列q并加入集合
[0148]
重复上述步骤,直至q中无锚框或者中锚框达到a2个。若中锚框不足a2,使用全0填充至a2个。输出为去除高重合度后的锚框集合。a2由实际使用情况确定,一般取2000。
[0149]
1.6.4:锚框边界的修正
[0150]
步骤1.6.3得出的中位于图像边缘的锚框可能会超出图像边界,需要将超出部分裁切,得到锚框集合
[0151]
1.6.5:正负样本的构建
[0152]
根据步骤1.6.4得出的中锚框与真实外框m
ij
(步骤1.3.2中生成)的交并比分割正负样本,根据公式(1.7)求得每个锚框与该图像中所有真实外框交并比的最大值h

max
,h

max
大于0.08的锚框为正样本,否则为负样本。输出锚框的正样本集合r
positive
和负样本集合r
negative
,其中r
positive
将用作步骤1.6.6、1.67、1.6.9的输入。记录与该锚框产生h

max
的真实外框m
il
,其中l为与锚框产生h

max
的m
ij
的下标j的值。
[0153]
1.6.6:样本偏移值的计算
[0154]
重新计算步骤1.6.5得出的r
positive
中锚框与其对应的真实外框m
il
(步骤1.3.2中生成)的偏移值,偏移值的计算过程满足公式(1.13)。
[0155][0156]
其中,(x
m
,y
m
)和(x
a
,y
a
)分别为m
il
和的中心坐标值,w
m
,h
m
为m
il
的宽和高,w
a
,h
a
为的宽和高。
[0157]
步骤1.6.5得出的负样本r
negative
中锚框与其对应的真实外框m
il
的偏移值t
ik
用全0填充,输出为样本偏移矩阵t
ik
=(g

x
,g

y
,g

w
,g

h
),构成其最后图像的样本偏移矩阵t
i
作为步骤1.6.7~1.6.9的输入。
[0158]
1.6.7:分类回归网络
[0159]
从步骤1.4.3中生成的特征金字塔f={f5,f4,f3,f2}中选取其中的一层特征图f
i
,i的具体取值通过公式(1.14)计算。取f
i
中对应r
positive
所在的区域即为f
roi

[0160][0161]
其中,h和w为r
positive
的长和宽。
[0162]
分类回归网络的结构如表3。其输入为步骤1.4中选取的训练图像b
i
,步骤1.4.3中得出的特征金字塔f,步骤1.6.5中得出的r
positive
以及步骤1.6.6中得出的偏移矩阵t
i

[0163]
表3.分类回归网络结构与输入输出
[0164][0165][0166]
表3中,θ为实例种类数;sequeeze用于将矩阵压缩;bn归一化和relu激活公式分别见公式(1.5)及(1.6);输出logits为一个(1,200,θ)的矩阵,用矩阵e={e1,e2,...,e
200
}保存,e
i
=[ω1,ω2,...,ω
θ
],输出值mrcnn_bbox用矩阵h={h1,h2,...,h
200
}保存。
[0167]
1.6.8:网络损失函数的计算
[0168]
通过公式(1.15)将步骤1.6.7得出的e
i
中的ω
i
归一化。
[0169][0170]
记归一化后的e为e

={e
′1,e
′2,...,e

200
}。
[0171]
通过rpn_class(步骤1.5.4中得出)以及e

计算分类回归网络的分类损失mrcnn_class_loss,记为l
mc
。l
mc
由公式(1.16)得出。
[0172][0173]
其中,ω

为当前锚框包含前景的ω

θ
,当rpn_class标注为前景时,则μ
i
=1,否则μ
i
=0。
[0174]
分类回归网络的回归损失值mrcnn_bbox_loss记为l
mb
,通过正样本偏移矩阵t
i
(步骤1.6.6得出)和h={h1,h2,...h
200
}(步骤1.6.7得出)进行计算,l
mb
满足公式(1.17)。
[0175][0176]
输出的损失值l
mc
和l
mb
之后用于步骤1.7中的反向传播。
[0177]
1.6.9:掩膜网络
[0178]
掩膜网络的结构如表4所示。其输入为步骤1.4中选取的训练图像b
i
,步骤1.4.3中得出的特征金字塔f,步骤1.6.5中得出的r
positive
以及步骤1.6.6中得出的偏移矩阵t
i

[0179]
表4.掩膜网络的搭建
[0180][0181]
表4的输出mrcnn_mask为一个大小为(1,200,28,28,θ)的矩阵,其中第二个维度代表着200个正样本,第三第四个维度代表一个28*28大小的特征图,记为y
p
,θ代表实例种类。
[0182]
1.6.10:计算掩膜网络损失
[0183]
为能和1.6.9中的特征图进行计算,(1.3.1中得出)对应的掩膜y需要通过公式(1.2)的双线性差值法缩放变形为y

,尺寸为28*28。y

通过sigmoid激活函数进行激活,输出记为y

,sigmoid激活函数为公式(1.18)。
[0184][0185]
其中,p为y中的像素值,p

为p激活后的值。
[0186]
通过y

和y
p
计算掩膜网络损失mrcnn_mask_loss,记为l
mm
计算过程为公式(1.19)。
[0187][0188]
输出l
mm
用作步骤1.7中的反向传播。
[0189]
1.7:保存本轮迭代数据
[0190]
记录mask r

cnn模型所有卷积核的参数s
e
,其中e为当前训练迭代步并记录损失值l
mc
。记录的参数和损失值用于步骤1.9的参数固定。
[0191]
1.8:反向传播
[0192]
每轮训练出的l
rc
(步骤1.5.5生成)和l
rb
(步骤1.5.5生成)用以改变1.4中骨干网络中的参数。l
mc
(步骤1.6.9生成)和l
mb
(步骤1.6.9生成)用以改变1.6.8中分类回归网络的参数。l
mm
(步骤1.6.11生成)用以改变1.6.10中掩膜网络的参数,以此完成训练过程。
[0193]
1.9:模型参数固定
[0194]
由于登高违规检测合规判断(步骤2.3)的判断依据为检测出的实例个数,故在训练过程中,对应目标检测的损失值l
mc
为主要考察指标。针对不同超参配置的模型在完成30轮训练后,选取所有代中l
mc
(步骤1.7中记录)最小的代,将该轮的参数s
e
(步骤1.7中记录)保存至模型参数s矩阵中。
[0195]
1.10:模型性能评估
[0196]
根据步骤1.9构建的参数矩阵s,使用步骤1.2中划分出的测试集d
test
对模型的准确率进行测试。将将d
test
输入模型通过步骤1.3~1.6进行检测。依据mrcnn_class中对预测框的分类结果与实际标注进行比较,所有实例均被正确预测、且无背景部分被预测为实例,则该图像视为预测正确,否则为预测错误。通过d
test
中正确预测的图像数量v
r
和错误预测数量v
w
,使用公式(1.20)计算模型预测的准确率accuracy。
[0197][0198]
最终选取s矩阵中对应accuracy最高的模型作为最终固定参数的模型s
max

[0199]
2:登高合规性判断阶段
[0200]
使用步骤1.10中固定的模型参数s
max
预设mask r

cnn模型,并通过合规性判断规则判断新增施工图像d
new
中是否合规。
[0201]
2.1:图像质量审查
[0202]
通过步骤1.1中的方法对图像d
new
进行评分,若得分低于设定阈值z(与
[0203]
1.1中相同),则认为图像质量较低,审查不通过,要求施工人员重新拍摄,直到d
new
通过1.1的审查。
[0204]
2.2:通过mask r

cnn识别d

中施工人员
[0205]
使用步骤1.9中得到的参数s
max
对模型进行预设,将d
new
输入模型通过步骤1.3~1.6进行检测。依据预测框的分类结果mrcnn_class获取图像中爬梯人实例的数量v
p
和扶梯人实例的数量v
f
。掩膜图像通过mrcnn_bbox以及mrcnn_mask获得。通过公式(1

2)中的双线性差值的方法对mrcnn_mask进行放缩,放缩的比例参照mrcnn_bbox的后两个维度。放缩后的mrcnn_mask为预测掩膜图像d
result
。输出爬梯人实例的数量v
p
和扶梯人实例的数量v
f
用作合规性判断,d
result
用作图形化展示。
[0206]
2.3合规判断
[0207]
依据步骤2.2中得出的爬梯人实例的数量v
p
和扶梯人实例的数量v
f
判断是否合规作为审查结果,对应关系如表5所示。
[0208]
表5.基于mask r

cnn识别结果与审查结果的对应关系
[0209][0210][0211]
审查不通过将返回给施工人员不通过原因并要求重新拍摄登高施工图像,通过则返回“审查通过,请继续施工”。
[0212]
实施例
[0213]
下面结合附图,使用登高施工图像数据,对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
[0214]
本示例中d为移动5g施工图像,涉及登高施工、井下施工、路面施工等多种施工场景。不同施工场景未进行分类。
[0215]
1:数据处理及模型的参数固定
[0216]
1.1:初步筛选图像,构建数据集d

[0217]
由于移动5g登高施工图像拍照时缺少拍照规范,设备不统一。故d中图像的平均复杂度较低,方差较大。设置z的值为200以保证有足够的图像用作训练的同时尽可能多地删除不清晰图像。部分图像数据通过复杂度筛选算法后的结果如表6所示。
[0218]
表6.图像复杂度算法筛选结果
[0219][0220]
1.2:数据集d

的预处理和分割
[0221]
人工基于移动业务背景对d

进行筛选,d

中部分图像的筛选结果如表7所示。
[0222]
表7.人工筛选结果
[0223][0224]
对d

中图像进行人工标注得到标注集d

y
。标注图像中扶梯人员和爬梯人员,标注方式为多边形标注。d

y
中的掩膜图像d

y
与d

中的原图d

i
一一对应。
[0225]
以82的比例将d

和d

y
随机划分为训练集d
train
和测试集d
test

[0226]
1.3:训练集d
train
预处理
[0227]
1.3.1:训练集d
train
尺寸调整
[0228]
调整统一测试集中图像的尺寸,并为当中的标注掩膜生成标注外框。将扶梯人员的标注分类记为1,爬梯人员标注分类记为2。部分图像调整的结果见表8。
[0229]
表8.部分图像尺寸调整后结果
[0230][0231][0232]
1.3.2:实例真实外框的生成
[0233]
对中每个被标注的实例生成真实外框m
ij
,m
ij
中记录该实例的左上和右下顶点的坐标。部分图像的m
ij
如表9所示。
[0234]
表9.部分真实外框
[0235][0236]
1.4:骨干网络训练
[0237]
每轮训练随机从步骤1.3的中调整后的训练集中选取4张图像作为一个minibatch进行训练。某次训练第一代随机选取的minibatch中的图像为进行训练。某次训练第一代随机选取的minibatch中的图像为记为b={b1,b2,b3,b4}。将b输入resnet101进行特征提取,得到c1~c5。接着利用c2、c3、c4和c5进行特征融合,建立特征图金字塔f。最后将minibatchb={b1,b2,b3,b4}和特征图金字塔f用作
步骤1.5和步骤1.6的训练。
[0238]
1.5:区域建议网络训练
[0239]
分别以256、512、1024、2048、4096大小,0.5、1、2为长宽比,通过滑动窗口机制在1.4中生成的f的每个特征图中以每个像素为中心点生成锚框。计算锚框真实边框的交并比,积极地锚框标记1,消极的锚框标记

1,其他锚框标记0。表10为图像2中部分锚框与真实边框计算交并比的结果。
[0240]
表10.部分锚框与真实边框交并比
[0241][0242]
计算锚框与最大交并比真实边框的偏移矩阵。部分锚框的真实偏移矩阵如表11所示。
[0243]
表11.真实偏移矩阵
[0244][0245]
[0246]
依照具体步骤1.5.4~1.5.5中的步骤,生成共享层,rpn_class和rpn_bbox。并计算预测框的损失值l
rc
和l
rb

[0247]
1.6:掩膜卷积网络训练
[0248]
对步骤1.5中生成的锚框进行删减与调整,得出包含前景的区域,将其输入具体步骤1.6.8的分类回归网络,学习锚框中包含前景的具体分类,计算出l
mc
和l
mb
用于反向传播。通过1.6.10的掩膜网络学习区域内实例对应的像素覆盖,计算其l
mm
用于反向传播。
[0249]
1.7:保存本轮迭代数据
[0250]
记录mask r

cnn模型所有卷积核的参数s
e
,并记录步骤1.6得出的损失值l
mc
。记录的参数和损失值用于步骤1.9的参数固定。
[0251]
1.8:反向传播
[0252]
将步骤1.5得出的l
rc
和l
rb
以及步骤1.6得出的l
mc
、l
mb
和l
mm
反向传播至步骤1.4的骨干网络、步骤1.6的分类网络和掩膜网络,修改其卷积核的数值,完成本轮迭代的训练。
[0253]
1.9:模型参数固定
[0254]
针对不同的超参数配置对应模型在完成30轮训练后,选取所有代中l
mc
最小的代,将该模型该轮的参数s
e
保存至模型参数s矩阵。
[0255]
1.10:模型性能评估
[0256]
依照具体步骤1.10中的方法使用d
test
对模型进行检测,得出最高的模型accuracy=92%,对应模型参数为s
max

[0257]
2:登高合规性判断阶段
[0258]
登高合规性判断阶段为本模型的使用阶段,d
new
为需要审核移动登高施工像,通过步骤2.1~2.3进行合规性判断,得出结果。
[0259]
2.1:图像质量审查
[0260]
依照具体步骤2.1计算d
new
的评分score
new
=802>z,通过质量审查进入mask r

cnn识别。
[0261]
2.2:通过mask r

cnn识别d
new
中施工人员
[0262]
使用步骤1.10中得到的参数s
max
对mask r

cnn进行预设。按照具体步骤
[0263]
2.2将d
new
输入mask r

cnn进行识别,得到爬梯人实例的数量v
p
=1,扶梯人实例的数量v
f
=3以及已经覆盖掩膜的图像d
result

[0264]
2.3合规判断
[0265]
依照步骤2.2中求出的v
p
、v
f
的值以及表5中的对应关系,得出通过的结论,返回“审查通过,请继续施工”。
[0266]
与现有技术相比本发明具有的优点及积极效果:
[0267]
1.本发明在登高检测任务的标注阶段及登高合规性判断阶段提供了一种低质量图像的筛选方法。即在数据预处理阶段对基于图像灰度对图像评分,评分分值作为评价图像成像质量的标准,可有效地识别大部分由设备原因、拍摄技术原因、翻拍原因等导致的图像虚化失焦、反光、模糊、畸变和包含摩尔纹等。该方法提高了整个标注流程及登高合规性流程的程序化程度,做到了自动识别并删除大量低成像质量的图像。
[0268]
2.本发明在登高检测任务的标注阶段提供了一种创新的标注方法。标记阶段将期望被识别实例“爬梯人员”、“扶梯人员”分别与施工工具梯子进行合并标注。“爬梯人员”、

扶梯人员”有着外观相似、动作相似的特征,传统的目标检测以及动作检测算法难以区分二者差别。本发明创新的标注方法通过合并标注的方式,针对登高检测任务大幅提升了训练数据的标签质量,有利于后续神经网络提取不同施工人员与梯子的组合特征,解决了基于传统标注方式的方法动作识别难,错误率高的问题。
[0269]
3.本发明在方法的登高合规性判断阶段提出了一种基于神经网络识别结果来判断登高施工是否合规的逻辑规则。本发明使用mask r

cnn识别图像中的实例并分割,有效地识别出登高施工中的各种实例,接着基于所设计的判断规则自动识别审查施工中的违规行为。本方法相比于公知的人工抽查审查方式,提升了审查效率,做到了实时审查,提升了审查流程的程序化程度。
[0270]
图4为本发明实施例一种登高施工合规性检测系统结构示意图,如图4所示,所述系统包括:
[0271]
数据集构建模块101,用于构建数据集;所述数据集包括:训练集和测试集;
[0272]
神经网路训练模块102,用于基于所述训练集对神经网络进行训练;
[0273]
施工图像获取模块103,用于获取施工图像;
[0274]
爬梯人实例的数量和扶梯人实例数量获取模块104,用于将所述施工图像输入至训练好的神经网络,得到爬梯人实例的数量和扶梯人实例的数量;
[0275]
判断模块105,用于根据所述爬梯人实例的数量和扶梯人实例的数量判断是否合规。
[0276]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0277]
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献