一种基于深度学习的钢筋计数方法及装置与流程

文档序号:19741500发布日期:2020-01-18 05:17阅读:301来源:国知局
一种基于深度学习的钢筋计数方法及装置与流程

本发明涉及图像处理领域,特别是一种基于深度学习的钢筋计数方法及装置。



背景技术:

在工业生产中,会将钢筋捆成一扎,而且需要对钢筋扎包含的钢筋进行计数,通过人工计数,由于工人精神疲劳或眼力疲劳,容易产生误差;另外,也可以通过机电一体化的钢筋自动计数系统,准确率高,但是电力消耗大,机械成本和维护成本都较高。



技术实现要素:

本发明的目的在于至少解决现有技术中存在的技术问题之一,提供一种基于深度学习的钢筋计数方法及装置,兼具投入成本低和准确率高的优点。

本发明解决其问题所采用的技术方案是:

本发明的第一方面,一种基于深度学习的钢筋计数方法,包括以下步骤:

接收输入的钢筋图像集并将所述钢筋图像集分为训练钢筋图像和待测钢筋图像,所述钢筋图像集为钢筋整齐叠放状态下对钢筋端面拍摄的多张图像的集合;

利用所述训练钢筋图像训练基于深度学习的圆识别网络;

利用训练好的圆识别网络处理所述待测钢筋图像,得到钢筋数量结果;

所述利用训练钢筋图像训练基于深度学习的圆识别网络包括以下步骤:

将所述训练钢筋图像输入至所述圆识别网络;

通过内边界追踪算法对所述训练钢筋图像进行边缘检测,定位钢筋轮廓;

计算每个所述钢筋轮廓的面积,并由圆形面积反推出钢筋的半径范围;

对每个所述钢筋轮廓,取其上的一个像素点,计算该像素点与其他所有像素点的连线的长度,长度最大值为半径,当该长度最大值在半径范围内,则累加器计数,直至遍历完一个所述钢筋轮廓的所有像素点;

对每个所述钢筋轮廓,当累加器的结果值大于设定值,判定对应的所述钢筋轮廓为圆形,统计圆形的个数。

上述基于深度学习的钢筋计数方法至少具有以下的有益效果:通过基于深度学习网络的图像处理技术对钢筋图像处理,大量的图像对圆识别网络进行预训练,提高圆识别网络识别圆形的能力。圆识别网络统计钢筋图像中符合要求的圆形的数量,从而得到钢筋图像中包含的钢筋的总数目。其兼具准确度高且投入成本低的优点。

根据本发明的第一方面,在接收输入的钢筋图像集后,进行图像预处理;其中,所述图像预处理包括以下步骤:

对所述钢筋图像集的每个图像灰度化处理;

对每个图像中值滤波去噪处理;

对每个图像通过直方图均衡化方法处理;

对每个图像二值化处理,使钢筋轮廓的包围区域为白,其余部分为黑。

根据本发明的第一方面,在边缘检测前,对所述钢筋图像集的每个图像中钢筋轮廓的包围区域的边缘细化,形成闭合的曲线。

根据本发明的第一方面,所述钢筋图像集是将多张钢筋原图旋转不同的角度并添加整数噪声而扩展得到。

根据本发明的第一方面,所述圆识别网络的网络结构为alexnet结构。

本发明的第二方面,一种基于深度学习的钢筋计数装置,包括:

图像接收模块,用于接收输入的钢筋图像集并将所述钢筋图像集分为训练钢筋图像和待测钢筋图像,所述钢筋图像集为钢筋整齐叠放状态下对钢筋端面拍摄的多张图像的集合;

训练模块,用于利用所述训练钢筋图像训练基于深度学习的圆识别网络;

测试模块,用于利用训练好的圆识别网络处理所述待测钢筋图像,得到钢筋数量结果;

所述训练模块包括:

图像输入模块,用于将所述训练钢筋图像输入至所述圆识别网络;

边缘检测模块,用于通过内边界追踪算法对所述训练钢筋图像进行边缘检测,定位钢筋轮廓;

半径计算模块,用于计算每个所述钢筋轮廓的面积,并由圆形面积反推出钢筋的半径范围;

计数模块,用于对每个所述钢筋轮廓,取其上的一个像素点,计算该像素点与其他所有像素点的连线的长度,长度最大值为半径,当该长度最大值在半径范围内,则累加器计数,直至遍历完一个所述钢筋轮廓的所有像素点;

钢筋统计模块,对每个所述钢筋轮廓,当累加器的结果值大于设定值,判定对应的所述钢筋轮廓为圆形,统计圆形的个数。

上述基于深度学习的钢筋计数装置至少具有以下的有益效果:通过基于深度学习网络的图像处理技术对钢筋图像处理,预训练模块通过大量的图像对圆识别网络进行预训练,提高圆识别网络识别圆形的能力。在测试模块中,训练好的圆识别网络统计钢筋图像中符合要求的圆形的数量,从而得到钢筋图像中包含的钢筋的总数目。其兼具准确度高且投入成本低的优点。

根据本发明的第二方面,基于深度学习的钢筋计数装置,还包括图像预处理模块;其中,所述图像预处理模块包括:

第一预处理模块,用于对所述钢筋图像集的每个图像灰度化处理;

第二预处理模块,用于对每个图像中值滤波去噪处理;

第三预处理模块,用于对每个图像通过直方图均衡化方法处理;

第四预处理模块,用于对每个图像二值化处理,使钢筋轮廓的包围区域为白,其余部分为黑。

根据本发明的第二方面,基于深度学习的钢筋计数装置,还包括边缘细化模块,所述边缘细化模块用于在边缘检测前,对所述钢筋图像集的每个图像中钢筋轮廓的包围区域的边缘细化,形成闭合的曲线。

根据本发明的第二方面,所述钢筋图像集是将多张钢筋原图旋转不同的角度并添加整数噪声而扩展得到。

根据本发明的第二方面,所述圆识别网络的网络结构为alexnet结构。

附图说明

下面结合附图和实例对本发明作进一步说明。

图1是本发明实施例一种基于深度学习的钢筋计数方法的步骤图;

图2是步骤s200的具体步骤图;

图3是图像预处理步骤的具体步骤图;

图4是本发明实施例一种基于深度学习的钢筋计数装置的结构图;

图5是训练模块的具体结构图。

具体实施方式

本部分将详细描述本发明的具体实施例,本发明之较佳实施例在附图中示出,附图的作用在于用图形补充说明书文字部分的描述,使人能够直观地、形象地理解本发明的每个技术特征和整体技术方案,但其不能理解为对本发明保护范围的限制。

在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。

本发明的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。

参照图1和图2,本发明实施例提供了一种基于深度学习的钢筋计数方法,包括以下步骤:

步骤s100、接收输入的钢筋图像集并将所述钢筋图像集分为训练钢筋图像和待测钢筋图像,所述钢筋图像集为钢筋整齐叠放状态下对钢筋端面拍摄的多张图像的集合;

步骤s200、利用所述训练钢筋图像训练基于深度学习的圆识别网络;

步骤s300、利用训练好的圆识别网络处理所述待测钢筋图像,得到钢筋数量结果;

所述利用训练钢筋图像训练基于深度学习的圆识别网络具体包括以下步骤:

步骤s210、将所述训练钢筋图像输入至所述圆识别网络;

步骤s220、通过内边界追踪算法对所述训练钢筋图像进行边缘检测,定位钢筋轮廓;其中,内边界跟踪算法是图像分割中常用的手段,其原理是以任一与边界邻接的像素为起点,以顺时针或逆时针方向自动沿图形的边界行走并回到起点;

步骤s230、计算每个所述钢筋轮廓的面积,并由圆形面积反推出钢筋的半径范围;由圆形的面积公式s圆=πr2能得到钢筋的半径r,由于图像拍摄角度和噪声干扰等干扰因素的存在,根据经验限定钢筋的半径范围为(r-0.3,r+0.3),长度单位为m;

步骤s240、对每个所述钢筋轮廓,取其上的一个像素点,计算该像素点与其他所有像素点的连线的长度,长度最大值为半径,当该长度最大值在半径范围内,则累加器计数,直至遍历完一个所述钢筋轮廓的所有像素点;

步骤s250、对每个所述钢筋轮廓,当累加器的结果值大于设定值,判定对应的所述钢筋轮廓为圆形,统计圆形的个数。

在该实施例中,通过基于深度学习网络的图像处理技术对钢筋图像处理,大量的图像对圆识别网络进行预训练,提高圆识别网络识别圆形的能力。圆识别网络统计钢筋图像中符合要求的圆形的数量,从而得到钢筋图像中包含的钢筋的总数目。通过计算机计算,无需工人亲自点数,提高了准确度,对于钢筋数量的统计的准确率高达99.5%。对比钢筋自动计数机及系统,无需投入大量资金去制造和维护机器。其兼具准确度高且投入成本低的优点。

具体地,在步骤s100中,将钢筋图像集按数量以19:1的比例进行分配,分成训练钢筋图像和待测钢筋图像。

需要说明的是,在步骤s300中,由于训练好的圆识别网络和步骤s200中未训练的圆识别网络具有相同的网络结构,训练好的圆识别网络对比未训练的圆识别网络,只有网络中的参量发生变化。因此,将待测钢筋图像输入至训练好的圆识别网络后,待测钢筋图像经过和步骤s210至步骤s250相同的处理后,圆识别网络会输出钢筋数量结果。

参照图3,另一个实施例中,在接收输入的钢筋图像集后,进行图像预处理;其中,所述图像预处理步骤具体包括以下步骤:

步骤s410、对所述钢筋图像集的每个图像灰度化处理;

步骤s420、对每个图像中值滤波去噪处理;

步骤s430、对每个图像通过直方图均衡化方法处理;

步骤s440、对每个图像二值化处理,使钢筋轮廓的包围区域为白,其余部分为黑。

在该实施例中,对图像预处理包括灰度化、滤波去噪、直方图均衡化和二值化处理,优化图像并突出钢筋轮廓,为之后的边缘检测提供便利,提高边缘检测的准确度。

进一步,在边缘检测前,对所述钢筋图像集的每个图像中钢筋轮廓的包围区域的边缘细化,形成闭合的曲线。优化边缘,使钢筋轮廓的边缘更清晰,提高边缘检测的准确度。

进一步,所述钢筋图像集是将多张钢筋原图旋转不同的角度并添加整数噪声而扩展得到。增加钢筋图像集的样本数量,通过大量样本对圆识别网络进行预训练,使训练好的圆识别网络具有更优的参数和更强的识别能力。

进一步,所述圆识别网络的网络结构为alexnet结构。alexnet结构具有级联的5个卷积层和3个全连接层。

参照图4和图5,本发明的另一个实施例,一种基于深度学习的钢筋计数装置,包括:

图像接收模块10,用于接收输入的钢筋图像集并将所述钢筋图像集分为训练钢筋图像和待测钢筋图像,所述钢筋图像集为钢筋整齐叠放状态下对钢筋端面拍摄的多张图像的集合;

训练模块20,用于利用所述训练钢筋图像训练基于深度学习的圆识别网络;

测试模块30,用于利用训练好的圆识别网络处理所述待测钢筋图像,得到钢筋数量结果;

所述训练模块20包括:

图像输入模块21,用于将所述训练钢筋图像输入至所述圆识别网络;

边缘检测模块22,用于通过内边界追踪算法对所述训练钢筋图像进行边缘检测,定位钢筋轮廓;

半径计算模块23,用于计算每个所述钢筋轮廓的面积,并由圆形面积反推出钢筋的半径范围;

计数模块24,用于对每个所述钢筋轮廓,取其上的一个像素点,计算该像素点与其他所有像素点的连线的长度,长度最大值为半径,当该长度最大值在半径范围内,则累加器计数,直至遍历完一个所述钢筋轮廓的所有像素点;

钢筋统计模块25,对每个所述钢筋轮廓,当累加器的结果值大于设定值,判定对应的所述钢筋轮廓为圆形,统计圆形的个数。

在该实施例中,通过基于深度学习网络的图像处理技术对钢筋图像处理,预训练模块20通过大量的图像对圆识别网络进行预训练,提高圆识别网络识别圆形的能力。在测试模块30中,训练好的圆识别网络统计钢筋图像中符合要求的圆形的数量,从而得到钢筋图像中包含的钢筋的总数目。其兼具准确度高且投入成本低的优点。

进一步,基于深度学习的钢筋计数装置,还包括图像预处理模块40;其中,所述图像预处理模块40包括:

第一预处理模块41,用于对所述钢筋图像集的每个图像灰度化处理;

第二预处理模块42,用于对每个图像中值滤波去噪处理;

第三预处理模块43,用于对每个图像通过直方图均衡化方法处理;

第四预处理模块44,用于对每个图像二值化处理,使钢筋轮廓的包围区域为白,其余部分为黑。

进一步,基于深度学习的钢筋计数装置,还包括边缘细化模块50,所述边缘细化模块50用于在边缘检测前,对所述钢筋图像集的每个图像中钢筋轮廓的包围区域的边缘细化,形成闭合的曲线。

进一步,所述钢筋图像集是将多张钢筋原图旋转不同的角度并添加整数噪声而扩展得到。

进一步,所述圆识别网络的网络结构为alexnet结构。

本发明的另一个实施例,提供了一种存储介质,存储有可执行指令;可执行指令能使与该存储介质连接的处理器执行上述的钢筋计数方法。

以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,都应属于本发明的保护范围。

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