CN114494767A - 一种钢筋数量识别方法、装置、设备及存储介质 - Google Patents
一种钢筋数量识别方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114494767A CN114494767A CN202111614536.9A CN202111614536A CN114494767A CN 114494767 A CN114494767 A CN 114494767A CN 202111614536 A CN202111614536 A CN 202111614536A CN 114494767 A CN114494767 A CN 114494767A
- Authority
- CN
- China
- Prior art keywords
- image
- cross
- model
- steel bar
- section
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/62—Analysis of geometric attributes of area, perimeter, diameter or volume
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30242—Counting objects in image
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Geometry (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种钢筋数量识别方法、装置、设备及存储介质,通过获取钢筋的横截面图像集,对所述横截面图像集进行数据标注,并按预设比例划分出训练数据集;将经过第一图像预处理后的所述训练数据集和所述训练数据集对应的数据标注用于模型训练,生成钢筋识别模型,并通过记录模型训练过程中的损失值和准确度值,确定最优钢筋识别模型;将经过第二图像预处理后的待识别横截面图像输入到所述最优钢筋识别模型中,输出所述待识别横截面图像的钢筋数量。与现有技术相比,本发明基于生成的最优钢筋识别模型,实现对钢筋数量的直接识别,替代了人工快速完成费时费力的重复性劳动,减少了对工人的依赖,同时提高了获取钢筋数量的准确性和效率。
Description
技术领域
本发明涉及图像识别的技术领域,特别是涉及一种钢筋数量识别方法、装置、设备及存储介质。
背景技术
目前,一般建筑工程中大多数都采用的是钢筋混凝土结构,而钢筋作为混凝土结构的筋骨,对建筑结构的质量和安全性能具有非常重大的作用。钢筋作为建筑工地中最基础的建筑材料之一,每个建筑物都会使用大量的不同种类、不同尺寸的钢筋材料,以保证建筑物结构足够稳固。当钢筋材料进入建筑工地时,为确保是足够数量的钢筋,往往需要对钢筋进行清点验收,且为保障现场施工的钢筋需求,工地里通常会有库存的钢筋材料,对于库存的钢筋材料也需要时常进行盘点。
传统的钢筋清点方式都是基于人工手动进行钢筋盘点,该方式需要耗费大量的人力和时间来完成,不仅盘点速度非常慢,还容易出错,导致最后盘点出的钢筋结果的准确性不高,无法保证现场施工的顺利开展。
发明内容
本发明要解决的技术问题是:提供一种钢筋数量识别方法、装置、设备及存储介质,基于生成的钢筋识别模型,实现对钢筋数量的识别,减少了对人工的依赖性,提高钢筋数量识别的准确性和效率。
为了解决上述技术问题,本发明提供了一种钢筋数量识别方法,包括:
获取钢筋的横截面图像集,对所述横截面图像集进行数据标注,并按预设比例划分出训练数据集;
将经过第一图像预处理后的所述训练数据集和所述训练数据集对应的数据标注用于模型训练,生成钢筋识别模型,并通过记录模型训练过程中的损失值和准确度值,确定最优钢筋识别模型;
将经过第二图像预处理后的待识别横截面图像输入到所述最优钢筋识别模型中,输出所述待识别横截面图像的钢筋数量。
进一步地,所述将经过第二图像预处理后的待识别横截面图像输入到所述最优钢筋识别模型中,输出所述待识别横截面图像的钢筋数量,具体为:
获取待识别横截面图像,对所述待识别横截面图像进行第二图像预处理,其中,所述第二图像预处理包括归一化处理、线性滤波和复原;
将经过所述第二图像预处理后的待识别横截面图像输入到所述最优钢筋识别模型中,以使所述最优钢筋识别模型对所述待识别横截面图像进行识别后,输出所述待识别横截面图像的钢筋数量。
进一步地,所述按预设比例划分出训练数据集后,还包括:
对所述训练数据集进行图像增强处理,其中,所述图像增强处理包括随机对比度变化、随机亮度变化、随机旋转、图像融合、随机特换图像区域、随机隐藏补丁、随机高斯噪音和四合一拼接图片。
进一步地,获取钢筋的横截面图像集,对所述横截面图像集进行数据标注,具体为:
通过多渠道获取海量的钢筋横截面图像,并对所述海量的钢筋横截面图像进行过滤,生成横截面图像集;
建立自动标注识别模型,对所述横截面图像集中的每个横截面图像进行矩形框标注;
并基于人工对进行矩形框标注后的每个横截面图像进行二次鉴定和修正。
进一步地,本发明还提供一种钢筋数量识别装置,包括:获取模块、模型生成模块和数量输出模块;
其中,所述获取模块,用于获取钢筋的横截面图像集,对所述横截面图像集进行数据标注,并按预设比例划分出训练数据集;
所述模型生成模块,用于将经过第一图像预处理后的所述训练数据集和所述训练数据集对应的数据标注用于模型训练,生成钢筋识别模型,并通过记录模型训练过程中的损失值和准确度值,确定最优钢筋识别模型;
所述数量输出模块,用于将经过第二图像预处理后的待识别横截面图像输入到所述最优钢筋识别模型中,输出所述待识别横截面图像的钢筋数量。
进一步地,所述数量输出模块用于将经过第二图像预处理后的待识别横截面图像输入到所述最优钢筋识别模型中,输出所述待识别横截面图像的钢筋数量,具体为:
获取待识别横截面图像,对所述待识别横截面图像进行第二图像预处理,其中,所述第二图像预处理包括归一化处理、线性滤波和复原;
将经过所述第二图像预处理后的待识别横截面图像输入到所述最优钢筋识别模型中,以使所述最优钢筋识别模型对所述待识别横截面图像进行识别后,输出所述待识别横截面图像的钢筋数量。
进一步地,本发明提供的一种钢筋数量识别装置,还包括图像增强模块;
所述图像增强模块,用于对所述训练数据集进行图像增强处理,其中,所述图像增强处理包括随机对比度变化、随机亮度变化、随机旋转、图像融合、随机特换图像区域、随机隐藏补丁、随机高斯噪音和四合一拼接图片。
进一步地,所述获取模块用于获取钢筋的横截面图像集,对所述横截面图像集进行数据标注,具体为:
通过多渠道获取海量的钢筋横截面图像,并对所述海量的钢筋横截面图像进行过滤,生成横截面图像集;
建立自动标注识别模型,对所述横截面图像集中的每个横截面图像进行矩形框标注;
并基于人工对进行矩形框标注后的每个横截面图像进行二次鉴定和修正。
进一步地,本发明还提供一种终端设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上述任意一项所述的钢筋数量识别方法。
进一步地,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上述任意一项所述的钢筋数量识别方法。
本发明实施例一种钢筋数量识别方法、装置、设备及存储介质,与现有技术相比,具有如下有益效果:
1、通过最优钢筋识别模型直接识别出钢筋的数量,替代了人工快速完成费时费力的重复性劳动,减少了对工人的依赖,同时提高了数据的准确性和效率。
2、通过对获取的横截面图像集进行数据标注,按预设比例划分出训练数据集,方便后续用于模型训练时,能让钢筋识别模型能够快速准确的识别出图像中钢筋横截面的位置和数量,提高模型识别的效率。3、对横截面图像进行第一图像预处理和第二图像预处理,使得训练的横截面图像便于进行相关模型的学习和计算,同时有利于校正各种原因所造成的图像退化。
4、记录模型训练过程中的损失值和准确度值,由于损失值和准确度值的变化能反映当前模型训练的状态,能进一步判断是否对模型停止训练,因此,通过模型训练过程中的损失值和准确度值确认的最优钢筋识别模型,具有收敛速度更快,更不容易过拟合,得到的模型效果更好的特点。
附图说明
图1是本发明提供的一种钢筋数量识别方法的一种实施例的流程示意图;
图2是本发明提供的一种钢筋数量识别装置的一种实施例的结构示意图。
具体实施方式
下面将结合本发明中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
参见图1,图1是本发明提供的钢筋数量识别方法的一种实施例的流程示意图,如图1所示,该方法包括步骤101-步骤103,具体如下:
步骤101:获取钢筋的横截面图像集,对所述横截面图像集进行数据标注,并按预设比例划分出训练数据集。
本实施例中,通过多渠道获取海量的钢筋横截面图像,并对所述海量的钢筋横截面图像进行过滤,生成横截面图像集;具体的,通过现场拍照、网上搜寻和视频抽帧等渠道对钢筋横截面图像进行收集,其中,运用了基于OpenCV的视频取帧技术能获得大量的图像帧,与现场拍照和网上搜寻的钢筋横截面图像进行汇总,而得到海量的钢筋横截面图像数据,并对海量的钢筋横截面图像数据进行选择性挑选,剔除那些重复的、模糊不清的无效数据,最终得到高质量的横截面图像集。
本实施例中,还建立自动标注识别模型,对所述横截面图像集中的每个横截面图像进行矩形框标注;具体的,通过少量的钢筋数据对预设的自动标注别模型进行训练,生成基于Mask RCNN网络的钢筋横截面自动标注识别模型,并将得到的高质量的横截面图像集输入到自动标注识别模型中,以使自动标注识别模型对高质量的横截面图像集中的每个横截面图像进行初次矩形框自动标注。
本实施例中,基于人工对进行矩形框标注后的每个横截面图像进行二次鉴定和修正;具体的,在自动标注识别模型对高质量的横截面图像集进行初次矩形框自动标注后,再基于人工对初次矩形框自动标注进行简单的二次鉴别与修正,能进一步的提高矩形框标注的准确性。
本实施例中,由于已通过自动标注识别模型对高质量的横截面图像集进行初次的矩形框自动标注,提高了对图像数据标注的效率,减少了人工枯燥乏味的标注工作量,一定程度上降低了对人工的依赖性。
本实施例中,按预设比例划分出训练数据集;具体的,将所有的经过矩形框自动标注的横截面图像集,按照8:1:1的比例分成训练数据集、验证数据集和测试数据集,其中,训练数据集占八成主要是用于训练模型,验证数据集用于在训练过程中定期验证模型识别效果以便于随时调整训练策略或模型参数,测试数据集则用于最后测试模型的识别效果以判定模型的好坏。
本实施例中,按预设比例划分出训练数据集后,还包括,对所述训练数据集进行图像增强处理,其中,所述图像增强处理包括随机对比度变化、随机亮度变化、随机旋转、图像融合、随机特换图像区域、随机隐藏补丁、随机高斯噪音和四合一拼接图片,通过对训练数据集进行图像增强,大大增加了数据的丰富度,后续进行模型训练提供了有效保障,有利于增强模型识别能力。
作为本实施例中的一种举例,对部分图像增强处理技术做出具体说明;对于图像融合处理,通过随机取一小部分背景图片,然后随机在训练数据集的训练图像中的某个位置与这一小部分背景图片进行加权融合,形成一个既是钢筋又是背景的半透明合成图像,然后将这部分合成的钢筋标签值从1设置为0.5,为后续进行钢筋识别模型训练增加困难样本,有利于后续在训练增强钢筋识别模型时提高模型的识别能力;对于随机替换图像区域处理,通过随机取一小部分背景图片或钢筋图片,然后将这一小部分图片随机覆盖训练图像的某部分,形成一个在原图中掺杂其他场景的训练图像,从而增加单张训练图像的内容丰富度,达到丰富训练数据集中图像的效果;对于四合一拼接处理,首先确定一张训练图像,接着再随机寻找其他三张训练图像,然后进行上两张和下两张的拼接操作,最后形成一张四合一的新训练图像,使得达到一张图像拥有四个不同场景的效果,同时间接的对图像进行了缩放,让合成的图像拥有更丰富的信息。
步骤102:将经过第一图像预处理后的所述训练数据集和所述训练数据集对应的数据标注用于模型训练,生成钢筋识别模型,并通过记录模型训练过程中的损失值和准确度值,确定最优钢筋识别模型。
本实施例中,第一图像预处理指对训练图像进行了归一化处理等操作,同时将其标签数据进行相应的变换处理,使训练图像和其标签便于进行相关模型的学习和计算,能够得到直接用于模型训练的图像数据和标签数据。
本实施例中,在进行模型训练时,主要运用的是训练数据集与验证数据集相结合的方式,通过TensorBoard可视化技术,使模型训练直观可控,同时将每步训练得出的损失值和准确度值记录下来,然后每隔5步用验证数据集进行模型准确度计算,得出验证的损失值和准确度值,并将验证的损失值和准确度值记录在TensorBoard中,以使根据将损失值和准确度值绘制成变化曲线图,用于衡量当前训练进度下的模型识别效果,具体的,每隔5步对比一下与上个5步的准确度差值,然后根据差值的增加情况来判断是否保存模型参数,以保证每次都是最优识别效果的模型。
本实施例中,在进行模型训练时,还设置了损失变化阈值和最大迭代次数,通过损失变化阈值和最大迭代次数判断是否停止对模型进行训练;具体的,当模型训练未达到最大迭代次数,且损失值的变化在一定的周期内一直没有达到损失变化阈值时,判断验证的准确度值是否开始下降时,若否,则继续对模型进行训练,若是,则说明此时模型的拟合度达到最优的峰值,接下来若再训练就会使验证数据集的准确度持续下降,导致模型过拟合,所以此时应停止训练。接着再判断整个训练过程的损失值和准确度值变化曲线图是否符合预设的损失值和准确度只变换曲线图,若不符合预设的损失值和准确度只变换曲线图,则分析训练过程中所存在的问题,以此调整模型和训练策略进行反复训练,并在此过程中选出较好的几个识别模型。在测试阶段,将训练之后选出来的较好的几个识别模型分别用测试数据集进行识别测试,并计算出每个模型的准确度值和mAP值,若准确度值和mAP值不符合预设的准确度值和mAP值,则调整模型和训练策略进行反复训练,若符合预设的准确度值和mAP值,则选出mAP值最大的模型,作为最优钢筋识别模型。
作为本实施例中的一种优选方案,在进行模型训练过程中,通过运用多种模型训练技术,使得模型收敛速度更快,引导模型往更优化方向收敛,同时更不容易过拟合,能进一步提高模型识别的效果;其中,多种模型训练技术包括但不限于标签平滑、CIOU损失计算和Focal loss损失函数。具体的,对于标签平滑,用于将原来的训练数据集中的训练图像的标签按预设公式:[0,1]*(1-0.1)+0.1/2进行计算,得到新标签值[0.05,0.95],让训练图像的目标值避免非0即1的情况,从而使其类别中更紧密,类别间更分离,让模型一直保留一点学习的空间,达到均衡模型决策的效果,解决了当前神经网络容易过拟合的问题;对于Focal loss损失函数,基于正负样本不均衡的问题,又兼顾到了那些困难的、错分的样本,它的原理是在普通的交叉熵函数上增加了α和γ参数,α参数用来平衡正负样本本身的比例不均问题,而γ参数用于减少易分类样本的损失,转而去加倍关注困难的、错分的样本,最终能够较好的使训练数据集的样本均衡化,使得网络模型能学习到有用的信息,提高识别的准确性,解决了现有图像数据集普遍存在正负样本不均衡的问题;对于CIOU损失计算,基于普通的IOU计算,考虑了预测矩形框和真实矩形框的重叠面积、中心点举例、长宽比三个重要的集合因素,相比于一般的IOU计算,能实现梯度计算,在一定程度上反映出实际的情况,从而大大增强了损失计算的精度,其中,CIOU损失计算的公式如下所示:
其中,表示损失值、IoU表示预测矩形框和真实矩形框的交并比、c表示覆盖预测矩形框与真实矩形框的最小矩形的对角线长度、ρ2(b,bgt)表示预测矩形框与真实矩形框的中心点的欧式距离、α表示平衡权重参数、v表示宽高比一致性参数、hgt表示预测矩形框的高度、wgt表示预测矩形框的宽度、h表示真实矩形框的高度、w表示真实矩形框的宽度。
步骤103:将经过第二图像预处理后的待识别横截面图像输入到所述最优钢筋识别模型中,输出所述待识别横截面图像的钢筋数量。
本实施例中,获取待识别横截面图像,对所述待识别横截面图像进行第二图像预处理,其中,第二图像预处理包括归一化处理、线性滤波和复原,用于校正各种原因所造成的图像退化。
本实施例中,将经过所述第二图像预处理后的待识别横截面图像输入到所述最优钢筋识别模型中,以使所述最优钢筋识别模型对所述待识别横截面图像进行识别后;具体的,将经过所述第二图像预处理后的待识别横截面图像输入到所述最优钢筋识别模型后,最优钢筋识别模型会对待识别横截面图像进行两次识别,其中,第一次识别是用于判定单根钢筋横截面直径在图像中的平均像素大小,通过假设缩放后的单根钢筋横截面直径大小是30像素值,并以此为基础计算缩放比例值,即30除以在本图像中识别出来的所有钢筋横截面直径的平均值得到缩放比例值,然后根据该比例值等比例缩放整个图像,并将缩放后的图像作为第二次识别的输入。第二次识别用于对第一次识别中缩放后的图像进行精细识别,因第一次识别中已设置缩放后的图像中每根钢筋横截面直径大小均在30像素左右,所以在第二次识别中能够提前预估图像中钢筋横截面直径的大小,从而能够更加精确的识别出钢筋,从而提升大大提升识别精度,解决了因不同图像的拍摄角度、拍摄距离及分辨率大小不同,使得不同图片间的钢筋横截面直径大小或像素不一致,从而导致识别精度较差的问题。
作为本实施例中的一种举例,第一次识别中的使用的网络模型主要以yolov5为主体框架、以DenseNet为基础网络构建而成,以此构成的识别网络能够快速的识别出钢筋的大小,为接下来的二次识别做好铺垫;而第二次识别中使用的网络模型主要以yolov5为主体框架、以CSPDarknet53为基础网络构建而成,其融合了Focus结构、CSPNet网络结构、SPPNet结构、PANet网络结构及SAM空间注意力机制,能够更加精确的识别出图像中的所有钢筋。
本实施例中,输出所述待识别横截面图像的钢筋数量;具体的,根据二次识别后的识别结果,在图像上绘制识别结果,同时的,还可根据用户的需求返回相应的识别结果的详细信息,如每根钢筋在图片中的位置和置信度、总的钢筋识别数量等信息。
参见图2,图2是本发明提供的钢筋数量识别装置的一种实施例的结构示意图,如图2所示,该结构包括获取模块201、模型生成模块202和数量输出模块203,具体如下:
获取模块201,用于获取钢筋的横截面图像集,对所述横截面图像集进行数据标注,并按预设比例划分出训练数据集。
本实施例中,通过多渠道获取海量的钢筋横截面图像,并对所述海量的钢筋横截面图像进行过滤,生成横截面图像集;具体的,通过现场拍照、网上搜寻和视频抽帧等渠道对钢筋横截面图像进行收集,其中,运用了基于OpenCV的视频取帧技术能获得大量的图像帧,与现场拍照和网上搜寻的钢筋横截面图像进行汇总,而得到海量的钢筋横截面图像数据,并对海量的钢筋横截面图像数据进行选择性挑选,剔除那些重复的、模糊不清的无效数据,最终得到高质量的横截面图像集。
本实施例中,还建立自动标注识别模型,对所述横截面图像集中的每个横截面图像进行矩形框标注;具体的,通过少量的钢筋数据对预设的自动标注别模型进行训练,生成基于Mask RCNN网络的钢筋横截面自动标注识别模型,并将得到的高质量的横截面图像集输入到自动标注识别模型中,以使自动标注识别模型对高质量的横截面图像集中的每个横截面图像进行初次矩形框自动标注。
本实施例中,基于人工对进行矩形框标注后的每个横截面图像进行二次鉴定和修正;具体的,在自动标注识别模型对高质量的横截面图像集进行初次矩形框自动标注后,再基于人工对初次矩形框自动标注进行简单的二次鉴别与修正,能进一步的提高矩形框标注的准确性。
本实施例中,由于已通过自动标注识别模型对高质量的横截面图像集进行初次的矩形框自动标注,提高了对图像数据标注的效率,减少了人工枯燥乏味的标注工作量,一定程度上降低了对人工的依赖性。
本实施例中,按预设比例划分出训练数据集;具体的,将所有的经过矩形框自动标注的横截面图像集,按照8:1:1的比例分成训练数据集、验证数据集和测试数据集,其中,训练数据集占八成主要是用于训练模型,验证数据集用于在训练过程中定期验证模型识别效果以便于随时调整训练策略或模型参数,测试数据集则用于最后测试模型的识别效果以判定模型的好坏。
本实施例中,按预设比例划分出训练数据集后,还包括,对所述训练数据集进行图像增强处理,其中,所述图像增强处理包括随机对比度变化、随机亮度变化、随机旋转、图像融合、随机特换图像区域、随机隐藏补丁、随机高斯噪音和四合一拼接图片,通过对训练数据集进行图像增强,大大增加了数据的丰富度,后续进行模型训练提供了有效保障,有利于增强模型识别能力。
作为本实施例中的一种举例,对部分图像增强处理技术做出具体说明;对于图像融合处理,通过随机取一小部分背景图片,然后随机在训练数据集的训练图像中的某个位置与这一小部分背景图片进行加权融合,形成一个既是钢筋又是背景的半透明合成图像,然后将这部分合成的钢筋标签值从1设置为0.5,为后续进行钢筋识别模型训练增加困难样本,有利于后续在训练增强钢筋识别模型时提高模型的识别能力;对于随机替换图像区域处理,通过随机取一小部分背景图片或钢筋图片,然后将这一小部分图片随机覆盖训练图像的某部分,形成一个在原图中掺杂其他场景的训练图像,从而增加单张训练图像的内容丰富度,达到丰富训练数据集中图像的效果;对于四合一拼接处理,首先确定一张训练图像,接着再随机寻找其他三张训练图像,然后进行上两张和下两张的拼接操作,最后形成一张四合一的新训练图像,使得达到一张图像拥有四个不同场景的效果,同时间接的对图像进行了缩放,让合成的图像拥有更丰富的信息。
模型生成模块202,用于将经过第一图像预处理后的所述训练数据集和所述训练数据集对应的数据标注用于模型训练,生成钢筋识别模型,并通过记录模型训练过程中的损失值和准确度值,确定最优钢筋识别模型。
本实施例中,第一图像预处理指对训练图像进行了归一化处理等操作,同时将其标签数据进行相应的变换处理,使训练图像和其标签便于进行相关模型的学习和计算,能够得到直接用于模型训练的图像数据和标签数据。
本实施例中,在进行模型训练时,主要运用的是训练数据集与验证数据集相结合的方式,通过TensorBoard可视化技术,使模型训练直观可控,同时将每步训练得出的损失值和准确度值记录下来,然后每隔5步用验证数据集进行模型准确度计算,得出验证的损失值和准确度值,并将验证的损失值和准确度值记录在TensorBoard中,以使根据将损失值和准确度值绘制成变化曲线图,用于衡量当前训练进度下的模型识别效果,具体的,每隔5步对比一下与上个5步的准确度差值,然后根据差值的增加情况来判断是否保存模型参数,以保证每次都是最优识别效果的模型。
本实施例中,在进行模型训练时,还设置了损失变化阈值和最大迭代次数,通过损失变化阈值和最大迭代次数判断是否停止对模型进行训练;具体的,当模型训练未达到最大迭代次数,且损失值的变化在一定的周期内一直没有达到损失变化阈值时,判断验证的准确度值是否开始下降时,若否,则继续对模型进行训练,若是,则说明此时模型的拟合度达到最优的峰值,接下来若再训练就会使验证数据集的准确度持续下降,导致模型过拟合,所以此时应停止训练。接着再判断整个训练过程的损失值和准确度值变化曲线图是否符合预设的损失值和准确度只变换曲线图,若不符合预设的损失值和准确度只变换曲线图,则分析训练过程中所存在的问题,以此调整模型和训练策略进行反复训练,并在此过程中选出较好的几个识别模型。在测试阶段,将训练之后选出来的较好的几个识别模型分别用测试数据集进行识别测试,并计算出每个模型的准确度值和mAP值,若准确度值和mAP值不符合预设的准确度值和mAP值,则调整模型和训练策略进行反复训练,若符合预设的准确度值和mAP值,则选出mAP值最大的模型,作为最优钢筋识别模型。
作为本实施例中的一种优选方案,在进行模型训练过程中,通过运用多种模型训练技术,使得模型收敛速度更快,引导模型往更优化方向收敛,同时更不容易过拟合,能进一步提高模型识别的效果;其中,多种模型训练技术包括但不限于标签平滑、CIOU损失计算和Focal loss损失函数。具体的,对于标签平滑,用于将原来的训练数据集中的训练图像的标签按预设公式:[0,1]*(1-0.1)+0.1/2进行计算,得到新标签值[0.05,0.95],让训练图像的目标值避免非0即1的情况,从而使其类别中更紧密,类别间更分离,让模型一直保留一点学习的空间,达到均衡模型决策的效果,解决了当前神经网络容易过拟合的问题;对于Focal loss损失函数,基于正负样本不均衡的问题,又兼顾到了那些困难的、错分的样本,它的原理是在普通的交叉熵函数上增加了α和γ参数,α参数用来平衡正负样本本身的比例不均问题,而γ参数用于减少易分类样本的损失,转而去加倍关注困难的、错分的样本,最终能够较好的使训练数据集的样本均衡化,使得网络模型能学习到有用的信息,提高识别的准确性,解决了现有图像数据集普遍存在正负样本不均衡的问题;对于CIOU损失计算,基于普通的IOU计算,考虑了预测矩形框和真实矩形框的重叠面积、中心点举例、长宽比三个重要的集合因素,相比于一般的IOU计算,能实现梯度计算,在一定程度上反映出实际的情况,从而大大增强了损失计算的精度,其中,CIOU损失计算的公式如下所示:
其中,表示损失值、IoU表示预测矩形框和真实矩形框的交并比、c表示覆盖预测矩形框与真实矩形框的最小矩形的对角线长度、ρ2(b,bgt)表示预测矩形框与真实矩形框的中心点的欧式距离、α表示平衡权重参数、v表示宽高比一致性参数、hgt表示预测矩形框的高度、wgt表示预测矩形框的宽度、h表示真实矩形框的高度、w表示真实矩形框的宽度。
数量输出模块203,用于将经过第二图像预处理后的待识别横截面图像输入到所述最优钢筋识别模型中,输出所述待识别横截面图像的钢筋数量。
本实施例中,获取待识别横截面图像,对所述待识别横截面图像进行第二图像预处理,其中,第二图像预处理包括归一化处理、线性滤波和复原,用于校正各种原因所造成的图像退化。
本实施例中,将经过所述第二图像预处理后的待识别横截面图像输入到所述最优钢筋识别模型中,以使所述最优钢筋识别模型对所述待识别横截面图像进行识别后;具体的,将经过所述第二图像预处理后的待识别横截面图像输入到所述最优钢筋识别模型后,最优钢筋识别模型会对待识别横截面图像进行两次识别,其中,第一次识别是用于判定单根钢筋横截面直径在图像中的平均像素大小,通过假设缩放后的单根钢筋横截面直径大小是30像素值,并以此为基础计算缩放比例值,即30除以在本图像中识别出来的所有钢筋横截面直径的平均值得到缩放比例值,然后根据该比例值等比例缩放整个图像,并将缩放后的图像作为第二次识别的输入。第二次识别用于对第一次识别中缩放后的图像进行精细识别,因第一次识别中已设置缩放后的图像中每根钢筋横截面直径大小均在30像素左右,所以在第二次识别中能够提前预估图像中钢筋横截面直径的大小,从而能够更加精确的识别出钢筋,从而提升大大提升识别精度,解决了因不同图像的拍摄角度、拍摄距离及分辨率大小不同,使得不同图片间的钢筋横截面直径大小或像素不一致,从而导致识别精度较差的问题。
作为本实施例中的一种举例,第一次识别中的使用的网络模型主要以yolov5为主体框架、以DenseNet为基础网络构建而成,以此构成的识别网络能够快速的识别出钢筋的大小,为接下来的二次识别做好铺垫;而第二次识别中使用的网络模型主要以yolov5为主体框架、以CSPDarknet53为基础网络构建而成,其融合了Focus结构、CSPNet网络结构、SPPNet结构、PANet网络结构及SAM空间注意力机制,能够更加精确的识别出图像中的所有钢筋。
本实施例中,输出所述待识别横截面图像的钢筋数量;具体的,根据二次识别后的识别结果,在图像上绘制识别结果,同时的,还可根据用户的需求返回相应的识别结果的详细信息,如每根钢筋在图片中的位置和置信度、总的钢筋识别数量等信息。
本实施例中,还提供了一种钢筋数量识别的设备,包括处理器、存储器以及存储在存储器中且被配置为由处理器执行的计算机程序,处理器执行计算机程序时实现上述的钢筋数量识别方法。
本发明实施例中,还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的计算机程序,其中,在计算机程序运行时控制计算机可读存储介质所在设备执行上述的钢筋数量识别方法。
示例性的,所述计算机程序可以被分割成一个或多个模块,所述一个或者多个模块被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在钢筋数量识别的设备中的执行过程。
所述钢筋数量识别的设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述钢筋数量识别的设备可包括,但不仅限于,处理器、存储器、显示器。本领域技术人员可以理解,上述部件仅仅是钢筋数量识别的设备的示例,并不构成对钢筋数量识别的设备的限定,可以包括比所述部件更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述钢筋数量识别的设备还可以包括输入输出设备、网络接入设备、总线等。
所述处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述钢筋数量识别的设备的控制中心,利用各种接口和线路连接整个所述钢筋数量识别的设备的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述钢筋数量识别的设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、文字转换功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、文字消息数据等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
其中,所述钢筋数量识别的设备集成的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一个计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
综上,本发明一种钢筋数量识别方法、装置、设备及存储介质,通过获取钢筋的横截面图像集,对所述横截面图像集进行数据标注,并按预设比例划分出训练数据集;将经过第一图像预处理后的所述训练数据集和所述训练数据集对应的数据标注用于模型训练,生成钢筋识别模型,并通过记录模型训练过程中的损失值和准确度值,确定最优钢筋识别模型;将经过第二图像预处理后的待识别横截面图像输入到所述最优钢筋识别模型中,输出所述待识别横截面图像的钢筋数量。与现有技术相比,本发明基于生成的最优钢筋识别模型,实现对钢筋数量的直接识别,替代了人工快速完成费时费力的重复性劳动,减少了对工人的依赖,同时提高了获取钢筋数量的准确性和效率。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和替换,这些改进和替换也应视为本发明的保护范围。
Claims (10)
1.一种钢筋数量识别方法,其特征在于,包括:
获取钢筋的横截面图像集,对所述横截面图像集进行数据标注,并按预设比例划分出训练数据集;
将经过第一图像预处理后的所述训练数据集和所述训练数据集对应的数据标注用于模型训练,生成钢筋识别模型,并通过记录模型训练过程中的损失值和准确度值,确定最优钢筋识别模型;
将经过第二图像预处理后的待识别横截面图像输入到所述最优钢筋识别模型中,输出所述待识别横截面图像的钢筋数量。
2.如权利要求1所述的一种钢筋数量识别方法,其特征在于,所述将经过第二图像预处理后的待识别横截面图像输入到所述最优钢筋识别模型中,输出所述待识别横截面图像的钢筋数量,具体为:
获取待识别横截面图像,对所述待识别横截面图像进行第二图像预处理,其中,所述第二图像预处理包括归一化处理、线性滤波和复原;
将经过所述第二图像预处理后的待识别横截面图像输入到所述最优钢筋识别模型中,以使所述最优钢筋识别模型对所述待识别横截面图像进行识别后,输出所述待识别横截面图像的钢筋数量。
3.如权利要求1所述的一种钢筋数量识别方法,其特征在于,所述按预设比例划分出训练数据集后,还包括:
对所述训练数据集进行图像增强处理,其中,所述图像增强处理包括随机对比度变化、随机亮度变化、随机旋转、图像融合、随机特换图像区域、随机隐藏补丁、随机高斯噪音和四合一拼接图片。
4.如权利要求1所述的一种钢筋数量识别方法,其特征在于,获取钢筋的横截面图像集,对所述横截面图像集进行数据标注,具体为:
通过多渠道获取海量的钢筋横截面图像,并对所述海量的钢筋横截面图像进行过滤,生成横截面图像集;
建立自动标注识别模型,对所述横截面图像集中的每个横截面图像进行矩形框标注;
并基于人工对进行矩形框标注后的每个横截面图像进行二次鉴定和修正。
5.一种钢筋数量识别装置,其特征在于,包括:获取模块、模型生成模块和数量输出模块;
其中,所述获取模块,用于获取钢筋的横截面图像集,对所述横截面图像集进行数据标注,并按预设比例划分出训练数据集;
所述模型生成模块,用于将经过第一图像预处理后的所述训练数据集和所述训练数据集对应的数据标注用于模型训练,生成钢筋识别模型,并通过记录模型训练过程中的损失值和准确度值,确定最优钢筋识别模型;
所述数量输出模块,用于将经过第二图像预处理后的待识别横截面图像输入到所述最优钢筋识别模型中,输出所述待识别横截面图像的钢筋数量。
6.如权利要求5所述的一种钢筋数量识别装置,其特征在于,所述数量输出模块用于将经过第二图像预处理后的待识别横截面图像输入到所述最优钢筋识别模型中,输出所述待识别横截面图像的钢筋数量,具体为:
获取待识别横截面图像,对所述待识别横截面图像进行第二图像预处理,其中,所述第二图像预处理包括归一化处理、线性滤波和复原;
将经过所述第二图像预处理后的待识别横截面图像输入到所述最优钢筋识别模型中,以使所述最优钢筋识别模型对所述待识别横截面图像进行识别后,输出所述待识别横截面图像的钢筋数量。
7.如权利要求5所述的一种钢筋数量识别装置,其特征在于,还包括图像增强模块;
所述图像增强模块,用于对所述训练数据集进行图像增强处理,其中,所述图像增强处理包括随机对比度变化、随机亮度变化、随机旋转、图像融合、随机特换图像区域、随机隐藏补丁、随机高斯噪音和四合一拼接图片。
8.如权利要求5所述的一种钢筋数量识别装置,其特征在于,所述获取模块用于获取钢筋的横截面图像集,对所述横截面图像集进行数据标注,具体为:
通过多渠道获取海量的钢筋横截面图像,并对所述海量的钢筋横截面图像进行过滤,生成横截面图像集;
建立自动标注识别模型,对所述横截面图像集中的每个横截面图像进行矩形框标注;
并基于人工对进行矩形框标注后的每个横截面图像进行二次鉴定和修正。
9.一种终端设备,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至4任意一项所述的钢筋数量识别方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如权利要求1至4中任意一项所述的钢筋数量识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111614536.9A CN114494767B (zh) | 2021-12-24 | 2021-12-24 | 一种钢筋数量识别方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111614536.9A CN114494767B (zh) | 2021-12-24 | 2021-12-24 | 一种钢筋数量识别方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114494767A true CN114494767A (zh) | 2022-05-13 |
CN114494767B CN114494767B (zh) | 2023-04-07 |
Family
ID=81495611
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111614536.9A Active CN114494767B (zh) | 2021-12-24 | 2021-12-24 | 一种钢筋数量识别方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114494767B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109815950A (zh) * | 2018-12-28 | 2019-05-28 | 汕头大学 | 一种基于深度卷积神经网络的钢筋端面识别方法 |
CN110032954A (zh) * | 2019-03-27 | 2019-07-19 | 成都数之联科技有限公司 | 一种钢筋智能识别与计数方法及系统 |
CN111127457A (zh) * | 2019-12-25 | 2020-05-08 | 上海找钢网信息科技股份有限公司 | 钢筋数目统计模型训练方法、统计方法、装置及设备 |
CN112419230A (zh) * | 2020-10-15 | 2021-02-26 | 福建数博讯信息科技有限公司 | 一种基于图像处理的钢筋数量统计方法及装置 |
CN113269276A (zh) * | 2021-06-28 | 2021-08-17 | 深圳市英威诺科技有限公司 | 图像识别方法、装置、设备及存储介质 |
-
2021
- 2021-12-24 CN CN202111614536.9A patent/CN114494767B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109815950A (zh) * | 2018-12-28 | 2019-05-28 | 汕头大学 | 一种基于深度卷积神经网络的钢筋端面识别方法 |
CN110032954A (zh) * | 2019-03-27 | 2019-07-19 | 成都数之联科技有限公司 | 一种钢筋智能识别与计数方法及系统 |
CN111127457A (zh) * | 2019-12-25 | 2020-05-08 | 上海找钢网信息科技股份有限公司 | 钢筋数目统计模型训练方法、统计方法、装置及设备 |
CN112419230A (zh) * | 2020-10-15 | 2021-02-26 | 福建数博讯信息科技有限公司 | 一种基于图像处理的钢筋数量统计方法及装置 |
CN113269276A (zh) * | 2021-06-28 | 2021-08-17 | 深圳市英威诺科技有限公司 | 图像识别方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114494767B (zh) | 2023-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110188760B (zh) | 一种图像处理模型训练方法、图像处理方法及电子设备 | |
WO2020151340A1 (zh) | 一种目标细胞标记方法、装置、存储介质及终端设备 | |
CN110443350B (zh) | 基于数据分析的模型质量检测方法、装置、终端及介质 | |
CN111339891A (zh) | 一种图像数据的目标检测方法及相关装置 | |
CN107784321A (zh) | 数字绘本快速识别方法、系统及计算机可读存储介质 | |
CN112037180B (zh) | 染色体分割方法及装置 | |
CN113689436B (zh) | 图像语义分割方法、装置、设备及存储介质 | |
CN110969600A (zh) | 一种产品缺陷检测方法、装置、电子设备及存储介质 | |
CN111597932A (zh) | 基于卷积神经网络的道路裂缝图像识别方法、装置及系统 | |
CN110599453A (zh) | 一种基于图像融合的面板缺陷检测方法、装置及设备终端 | |
CN114998337B (zh) | 一种划痕检测方法、装置、设备及存储介质 | |
CN112561801A (zh) | 基于se-fpn的目标检测模型训练方法、目标检测方法及装置 | |
CN112613553A (zh) | 图片样本集生成方法、装置、计算机设备和存储介质 | |
CN117495735A (zh) | 一种基于结构引导的建筑物立面纹理自动修复方法及系统 | |
CN113570540A (zh) | 一种基于检测-分割架构的图像篡改盲取证方法 | |
CN114494767B (zh) | 一种钢筋数量识别方法、装置、设备及存储介质 | |
CN113807364A (zh) | 一种基于三光融合成像的电力设备缺陷检测方法及系统 | |
CN116137061B (zh) | 数量统计模型的训练方法、装置、电子设备及存储介质 | |
CN111081286B (zh) | 用于人工智能教学的视频编辑系统 | |
CN115375965A (zh) | 一种目标场景识别的预处理方法、目标场景识别方法 | |
CN113609948B (zh) | 一种视频时序动作的检测方法、装置及设备 | |
CN115082922A (zh) | 基于深度学习的水表数字图片处理方法及系统 | |
CN111582446B (zh) | 用于神经网络剪枝的系统和神经网络的剪枝处理方法 | |
CN114821062A (zh) | 基于图像分割的商品识别方法及装置 | |
CN112434547B (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 |