一种基于深度学习算法的钢筋分层方法及系统与流程

文档序号:20841916发布日期:2020-05-22 17:36阅读:484来源:国知局
一种基于深度学习算法的钢筋分层方法及系统与流程

本公开属于计算机技术领域,涉及一种基于深度学习算法的钢筋分层方法及系统。



背景技术:

本部分的陈述仅仅是提供了与本公开相关的背景技术信息,不必然构成在先技术。

当前现有的图像识别技术仅能在单层钢筋摆放情况下准确地测量出钢筋间距,当钢筋双层摆放时会出现计算出错层钢筋之间的间距而得出错误数据。目前由于计算机无法对双层钢筋进行分层识别,故无法应用相关间距测量算法对钢筋间距进行测量,所以施工现场更多采用人工测量钢筋间距的手段,人工成本远远高于计算机测量的成本且耗时长,并且存在人为测量计算错误或漏查错查的情况。



技术实现要素:

本公开为了解决上述问题,提出了一种基于深度学习算法的钢筋分层方法及系统,本公开预先采用深度学习神经网络对双层钢筋进行分层识别,划分出不同层后再运用间距测量算法测算钢筋间距,可用于施工地全局的检测或者对施工场所进行抽样检测。

根据一些实施例,本公开采用如下技术方案:

一种基于深度学习算法的钢筋分层方法,包括以下步骤:

获取无人机与钢筋间的不同高度、不同时段的采集图像,采集到的图像中的双层钢筋进行人工标注并划分为训练集与测试集;

对图片进行镜像翻转、旋转、放大裁剪或者对图片亮度进行调整来扩展数据集的量;

利用mobilenet神经网络替换yolov3深度学习检测算法中的特征提取网络,构建改进后的深度学习网络模型;

使用训练集对搭建好的深度学习网络模型进行权值的训练;

使用测试集对训练好的深度学习网络模型进行验证,判断其准确度是否已经达标,如果不达标进行继续训练,直到达标;

利用达标后的深度学习网络模型对实时采集的图像进行提取,得到钢筋分层结果。

作为可选择的实施方式,运用无人机为载体对施工现场顶层的钢筋摆放进行正射图像采集,图像人工标注时,用命名为upperlayer的框框选出想要识别出的3×3格子大小的上层钢筋的外框,再用另一种命名为underlayer的框框选出upperlayer框下的3×3格子大小的下层钢筋的外框。

作为可选择的实施方式,扩展数据集数量的具体步骤包括:

a.镜像翻转:将标注好的图片按照水平翻转或者垂直翻转,扩大数据集量;

b.旋转:将标注好的图片按照90°、180°或270°旋转,扩大数据集量;

c.放大裁剪:在保留标注区域的情况下对图片进行随机裁剪或对标注区域进行放大;

d.图片亮度调整:对整张图片进行亮度的调高或降低。

作为可选择的实施方式,构建改进后的深度学习网络模型的具体过程包括:将特征提取网络替换为mobilenet神经网络,mobilenet网络结构使用深度级可分离卷积代替了传统卷积,先进行相位上相乘计算再进行卷积核计算,卷积计算完成后通过bn层与relu激活层增强模型的泛化能力。

作为可选择的实施方式,构建改进后的深度学习网络模型的具体过程包括:增加squeeze-and-excitation步骤,为特征提取后不同的通道赋予不同的权值,具体包括:

假设经过特征提取的结果是2×2维张量组其特征通道是4,squeeze操作就是将每维通道里的张量组变为实数,用以代表全局视野的特征,得到a张量组;

excitation操作:通过一个包含权值参数的映射和张量组a生成权值张量组b,以代表着该通道中提取的特征对正确识别分层的积极影响因素;

逐个通道相乘:特征提取结果张量组与权值张量组b逐个通道相乘得到结果。

作为可选择的实施方式,使用训练集对搭建好的深度学习网络模型进行权值的训练,首先对网络模型参数进行初始化,之后将标注好的训练集图片输入初始化后的网络模型,得到输出结果与人工标注结果进行对比作差,再将得到的误差反向传播来调整网络结构中的权值信息来减少网络输出值与标注信息之间的误差,经过多批次图片集的反复训练得到权值最为合适的网络。

作为可选择的实施方式,将达标后的深度学习网络模型部署于远程服务器或者无人机机载端。

一种基于深度学习算法的钢筋分层系统,包括:

数据集获取模块,被配置为获取无人机与钢筋间的不同高度、不同时段的采集图像,并接收标注信息,将数据划分为训练集与测试集;

数据集扩充模块,被配置为对图片进行镜像翻转、旋转、放大裁剪或者对图片亮度进行调整来扩展数据集的量;

模型构建模块,被配置为利用mobilenet神经网络替换yolov3深度学习检测算法中的特征提取网络,构建改进后的深度学习网络模型;使用训练集对搭建好的深度学习网络模型进行权值的训练;使用测试集对训练好的深度学习网络模型进行验证,判断其准确度是否已经达标,如果不达标进行继续训练,直到达标;

分层模块,被配置为利用达标后的深度学习网络模型对实时采集的图像进行提取,得到钢筋分层结果。

一种计算机可读存储介质,其中存储有多条指令,所述指令适于由终端设备的处理器加载并执行所述的一种基于深度学习算法的钢筋分层方法。

一种终端设备,包括处理器和计算机可读存储介质,处理器用于实现各指令;计算机可读存储介质用于存储多条指令,所述指令适于由处理器加载并执行所述的一种基于深度学习算法的钢筋分层方法。

与现有技术相比,本公开的有益效果为:

本公开解决了目前钢筋间距测量算法无法普及的问题:容易计算出错层钢筋的间距而得出错误结果。通过深度学习网络的识别将双层钢筋分层进而再运用单层钢筋的间距测量算法得到正确的钢筋间距。实现钢筋间距测量的全自动化,整个采集、计算、记录过程全部交给计算机来做可以节省大量的人力财力。同时整个流程的自动化可以减少人为的失误,比如钢筋的漏查或者计算错误等等。无人机作业比较人工作业更加地安全也具有更快地测量速度活动范围也更加广泛灵活,能够及时地把测量数据发送给施工方地监理人员,随时可以抽样检测钢筋的摆放是否合格,时效性好。

附图说明

构成本公开的一部分的说明书附图用来提供对本公开的进一步理解,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。

图1是本公开的流程示意图;

图2是深度可分离卷积流程图;

图3是squeeze-and-excitation模块流程图;

图4是训练信息流程图;

图5是网络部署在远程服务器工作流程图;

图6是网络部署在机载端工作流程图;

图7是标注结果图。

具体实施方式:

下面结合附图与实施例对本公开作进一步说明。

应该指出,以下详细说明都是例示性的,旨在对本公开提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本公开所属技术领域的普通技术人员通常理解的相同含义。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本公开的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。

如图1所示,一种基于深度学习算法的钢筋分层方法,预先采用深度学习神经网络对双层钢筋进行分层识别,划分出不同层后再运用间距测量算法测算钢筋间距。本方法可用于施工地全局的检测或者对施工场所进行抽样检测。

具体包括以下步骤:

1)建立数据集:

深度神经网络的训练结果正确率需要大量的数据支持来保证。运用无人机为载体对施工现场顶层的钢筋摆放进行正射图像采集,采集时注意样本的多样性。一天的不同时段采集以及无人机与钢筋间的相对高度是10米、15米等不同高度的图像采集,共计4150幅,之后对采集到的图像中的双层钢筋进行人工标注并划分为训练集3150幅与测试集1000幅。

标注细节:用命名为upperlayer的框框选出想要识别出的3×3格子大小的上层钢筋的外框,再用另一种命名为underlayer的框框选出upperlayer框下的3×3格子大小的下层钢筋的外框。如图7所示。

2)扩展数据集:

因数据的采集以及人工标注成本极高,而网络训练的准确率需要大量的数据支持所以需要对建立好的数据集进行扩展,比如对图片进行镜像翻转、旋转、放大裁剪或者对图片亮度进行调整来扩展数据集的量。完成操作后经过筛选训练集60000幅,测试集15000幅。

具体操作:

a.镜像翻转:将标注好的图片按照水平翻转或者垂直翻转,扩大数据集量。

b.旋转:将标注好的图片按照90°、180°、270°旋转,扩大数据集量。

c.放大裁剪:在保留标注区域的情况下对图片进行随机裁剪或对标注区域进行放大。由于无人机定高与需要识别的钢筋之间的距离易受环境影响而出现一定的偏差,训练集中有不同高度的现场图效果可以提高识别准确率。

d.图片亮度调整:对整张图片进行亮度的调高或降低。无人机作业时间与季节跨度范围广,导致无人机拍摄的图像亮度不固定,增加数据集中的亮度多样性可以提高网络识别准确率。

3)深度学习网络搭建:

采用增强型yolov3深度学习检测算法,在基于mobilenet网络结构的基础上针对所要识别的对象复杂度进行了网络结构的修改,来提高识别准确率。由于现场作业过程中需要飞机悬停拍摄,对实时性要求并不高,可以为提高识别准确率可以放弃一定程度的识别速度。

改进点:

a.将特征提取网络替换为mobilenet神经网络,其高效的卷积方式提高了模型的复杂度,使网络识别准确度得到提升。如图2所示,mobilenet网络结构使用深度级可分离卷积(depthseparableconvolution)代替了传统卷积,先进行相位上相乘计算再进行卷积核是1×1的传统卷积计算,这种网络结构加快了卷积的计算速度,卷积计算完成后通过bn层与relu激活层增强了模型的泛化能力,可以更好地提取钢筋现场图的特征点,进而提高了网络的识别准确率。

b.如图3所示,增加了squeeze-and-excitation模块,为特征提取后不同的通道赋予不同的权值。对识别正确带来积极影响的通道赋予高权值促进该通道对结果的影响;对正确结果带来消极影响的通道赋予低权值来抑制该通道对结果的影响,进而来提高网络的识别准确率。该模块具体分成三个操作:<1>squeeze操作:假设经过特征提取的结果是2×2维张量组其特征通道是4,squeeze操作就是将每维通道里的张量组变成成一个实数,这个实数一定程度上代表着全局视野的特征,这样就得到了1×1×4的a张量组。<2>excitation操作:通过一个包含权值参数的映射和张量组a生成权值张量组b。这个向量组b中的值就代表着该通道中提取的特征对正确识别分层的积极影响因素。<3>逐个通道相乘:特征提取结果张量组与权值张量组b逐个通道相乘得到结果。

c.加深网络深度,结合工地的复杂环境和识别特征的提取难易程度,在原有的网络层数的基础上增加了卷积层的层数,提高了模型的复杂程度,增强了学习网络的非线性,让网络能够更好地拟合单层钢筋的特征,能够让网络在复杂环境下提取钢筋的特征。同时也增强了网络的鲁棒性,使环境带来的干扰对识别结果的影响变小,在各个季节一天中的不同时段都有着稳定的识别准确率。

4)深度学习网络训练:

使用训练集对搭建好的深度学习网络模型进行权值的训练。首先对网络模型参数进行初始化,之后将标注好的训练集图片输入初始化后的网络模型,得到输出结果与人工标注结果进行对比作差,再将得到的误差反向传播来调整网络结构中的权值信息来减少网络输出值与标注信息之间的误差。经过多批次图片集的反复训练可以得到权值最为合适的网络。如图4所示。

5)深度学习网络验证:

使用测试集对训练好的深度学习网络模型进行验证,判断其准确度是否已经达标。结合施工现场情况,针对不同的要求可以对网络结构进行修改调整来得到合适的识别速度与识别正确率。

6)深度学习网络部署:

将经过评估达标的钢筋分层深度学习网络部署在远程服务器或者机载端。网络运行所需具体配置:nvidiatitanxp显卡,12g显存;intel(r)core(tm)i9-9900k处理器,主频3.60ghz,磁盘内存250gb。

如图5所示,a.部署在远程服务器,无人机机载端处理器需要将拍摄的正射图像发送到云端存储区,再由服务器从云端存储器下载现场图输入深度学习网络得到分层结果再将单层结果输入到钢筋间距测量算法得到钢筋的实际间距。再将计算得到的钢筋间距发给施工地的监理,来判断施工作业是否合格。

如图6所示,b.部署在机载端,相当于无人机配备一个服务器,在机载端完成需识别图像采集、分层以及钢筋间距计算。但对无人机条件要求高:续航能力、负载能力需要加强。这种部署方法带来更好的实时性,可以极大缩短无人机工作时间。

在其他实施例中,提供以下产品实施例:

一种基于深度学习算法的钢筋分层系统,包括:

数据集获取模块,被配置为获取无人机与钢筋间的不同高度、不同时段的采集图像,并接收标注信息,将数据划分为训练集与测试集;

数据集扩充模块,被配置为对图片进行镜像翻转、旋转、放大裁剪或者对图片亮度进行调整来扩展数据集的量;

模型构建模块,被配置为利用mobilenet神经网络替换yolov3深度学习检测算法中的特征提取网络,构建改进后的深度学习网络模型;使用训练集对搭建好的深度学习网络模型进行权值的训练;使用测试集对训练好的深度学习网络模型进行验证,判断其准确度是否已经达标,如果不达标进行继续训练,直到达标;

分层模块,被配置为利用达标后的深度学习网络模型对实时采集的图像进行提取,得到钢筋分层结果。

一种计算机可读存储介质,其中存储有多条指令,所述指令适于由终端设备的处理器加载并执行所述的一种基于深度学习算法的钢筋分层方法。

一种终端设备,包括处理器和计算机可读存储介质,处理器用于实现各指令;计算机可读存储介质用于存储多条指令,所述指令适于由处理器加载并执行所述的一种基于深度学习算法的钢筋分层方法。

本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

上述虽然结合附图对本公开的具体实施方式进行了描述,但并非对本公开保护范围的限制,所属领域技术人员应该明白,在本公开的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本公开的保护范围以内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1