本发明涉及图像识别领域,尤其涉及一种基于深度学习的棒材检测方法、装置及设备。
背景技术:
在金属棒材产品生产与应用过程中,多个领域涉及到金属棒材的计数与测量,如在精整打捆前需要对金属棒材进行计数及测量,保证打捆的正确性;在成品库中,需要对金属棒材进行计数与测量,方便库房的记录与管理;在城建应用中,也需要对金属棒材进行计数与测量,保证城建施工顺利进行。传统的金属钢材计数方法包括人工计数与利用传统算法识别计数,对于人工计数方法,其耗时长久且准确度不高。对于传统算法识别,如霍夫圆检测、边缘检测,轮廓检测等方法,其无法适应多变的天气与场景情况,鲁棒性低。
技术实现要素:
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于深度学习的棒材检测方法、装置及设备,用于解决现有技术的缺陷。
为实现上述目的及其他相关目的,本发明提供一种基于深度学习的棒材检测方法,包括:
将实时采集的感兴趣区域的图像输入至预先训练的基于深度学习神经网络的目标检测模型,得到置信度大于设置的置信度阈值的金属棒材的位置信息;
基于所述金属棒材的位置信息,确定所述金属棒材的数量。
可选地,所述感兴趣区域为金属棒材的端面区域。
可选地,所述棒材的位置信息为:
[[x1min,y1min,x1max,y1max],
[x2min,y2min,x2max,y2max],
[x3min,y3min,x3max,y3max],
…
[xnmin,ynmin,xnmax,ynmax]]
其中,xnmin、ynmin分别为第n个金属棒材识别框在图像中的左上角的横坐标、纵坐标;xnmax、ynmax分别为第n个金属棒材识别框在图像中右下角的横坐标、纵坐标。
可选地,所述基于所述金属棒材的位置信息,确定所述金属棒材的数量,包括:
基于所述金属棒材的位置信息,得到位置信息的个数n;
根据所述位置信息的个数n得到金属棒材的数量。
可选地,采用ssd-mobilenet,yolov、fast-rcnn训练得到目标检测模型。
可选地,所述基于深度学习神经网络的目标检测模型的获取方法,包括:
获取金属棒材图片并对所述金属棒材进行数据标注,框出图中金属棒材的横截面并记录下识别框的位置信息,并构建训练集;
将所述训练集输入至基于深度学习的目标检测神经网络,使用目标检测神经网络对图像中的金属棒材特征进行提取学习,得到目标检测模型。
可选地,对训练集进行图像增强。
可选地,根据所述金属棒材识别框,得到金属棒材的等效直径;基于所述等效直径得到金属棒材的真实直径。
为实现上述目的及其他相关目的,本发明提供一种基于深度学习的棒材检测装置,包括:
目标检测模块,用于将实时采集的感兴趣区域的图像输入至预先训练的基于深度学习神经网络的目标检测模型,得到置信度大于设置的置信度阈值的金属棒材的位置信息;
数量确定模块,用于基于所述金属棒材的位置信息,确定所述金属棒材的数量。
可选地,所述棒材的位置信息为:
[[x1min,y1min,x1max,y1max],
[x2min,y2min,x2max,y2max],
[x3min,y3min,x3max,y3max],
…
[xnmin,ynmin,xnmax,ynmax]]
其中,xnmin、ynmin分别为第n个金属棒材识别框在图像中的左上角的横坐标、纵坐标;xnmax、ynmax分别为第n个金属棒材识别框在图像中右下角的横坐标、纵坐标。
可选地,所述基于所述金属棒材的位置信息,确定所述金属棒材的数量,包括:
基于所述金属棒材的位置信息,得到位置信息的个数n;
根据所述位置信息的个数n得到金属棒材的数量。
为实现上述目的及其他相关目的,本发明提供一种设备,包括:处理器及存储器;
所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述设备执行所述的方法。
如上所述,本发明的一种基于深度学习的棒材检测方法、装置及设备,具有以下有益效果:
本发明的一种基于深度学习的棒材检测方法,包括:将实时采集的感兴趣区域的图像输入至预先训练的基于深度学习神经网络的目标检测模型,得到置信度大于设置的置信度阈值的金属棒材的位置信息。本发明用于统计不同场景下金属棒材数量与测量其直径,并替换人工计数测量与利用传统算法测量的现状,旨在提高金属棒材计数及测量的效率与效果。
附图说明
图1为本发明实施例的一种基于深度学习的棒材检测方法的流程图;
图2为本发明实施例的采集棒材工业场景图像的示意图;
图3为为本发明实施例的相机与棒材的相对位置关系俯视图;
图4为本发明实施例的一种基于深度学习的棒材检测装置的示意图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
如图1所示,一种基于深度学习的棒材检测方法,包括:
s11将实时采集的感兴趣区域的图像输入至预先训练的基于深度学习神经网络的目标检测模型,得到置信度大于设置的置信度阈值的金属棒材的位置信息;
s12基于所述金属棒材的位置信息,确定所述金属棒材的数量。
本发明用于统计不同场景下金属棒材数量与测量其直径,并替换人工计数测量与利用传统算法测量的现状,旨在提高金属棒材计数及测量的效率与效果。
金属棒材的定义为长度与截面周长之比相当大,横截面无明显的凸凹部分的金属塑性加工的直条制品,也称简单断面型材或普通断面型材,包括方形、圆形、扁形和六角形型材。场景图像中的金属棒材状态可以是处于成捆状态或离散状态,由于金属棒材的堆积,无法从平行于金属棒材长度面的方向统计其个数,而棒材横端面为统一的方形、圆形、扁形和六角形形状,利于识别与统计,因此,将金属棒材的端面作为识别目标可准确统计棒材数量及测量其直径大小,将端面区域确定为感兴趣区域。因此,相机与棒材的相对位置应为镜头垂直于棒材横截面,如图2、3所示。
在利用基于深度学习神经网络的目标检测模型对目标进行检测时,需要先训练得到目标检测模型。具体地,包括以下步骤:
获取金属棒材图片并对所述金属棒材进行数据标注,框出图中金属棒材的横截面并记录下识别框的位置信息,并构建训练集;
将所述训练集输入至基于深度学习的目标检测神经网络,使用目标检测神经网络对图像中的金属棒材特征进行提取学习,得到目标检测模型。
对对所述金属棒材进行数据标注,方法为:使用工具框出图中棒材端面并记录下识别框位置信息,识别框一般为正方形框,其中有效信息有:
xmin,ymin,xmax,ymax
其中,xmin、ymin分别为金属棒材识别框在图像中的左上角横、纵坐标值,xmax、ymax分别为棒材金属棒材识别框在图像中的右下角横、纵坐标值。
通过基于深度学习神经网络训练了识别金属棒材的目标检测模型,如ssd-mobilenet,yolov系列与fast-rcnn目标检测神经网络。
在训练基于深度学习的目标检测模型的过程中,将标注获得的数据集按训练集、测试集、验证集进行划分,可选择对训练集进行图像增强技术,增大训练集图片数量和多样性,增强检测模型的鲁棒性,使其能够适应不同的检测场景,如白天、黑夜、强光等场景。
训练基于深度学习的识别金属棒材的目标检测神经网络时,其输入为标注好的金属棒材识别框信息,使用深度学习神经网络对图像中的金属棒材特征进行提取学习,直到获得最优模型,可实现工业生产场景下金属棒材的识别。
在一实施例中,在利用目标检测模型识别金属棒材步骤,获取图像中棒材的位置信息、类别和置信度,设置指定的置信度阈值,当检测出来的目标的置信度大于阈值时,则视为图像中检测到棒材对象,返回棒材位置信息、类别和置信度。位置信息的格式与内容为:
[[x1min,y1min,x1max,y1max],
[x2min,y2min,x2max,y2max],
[x3min,y3min,x3max,y3max],
…
[xnmin,ynmin,xnmax,ynmax]]
其中,xnmin、ynmin分别为第n个金属棒材识别框在图像中的左上角的横坐标、纵坐标;xnmax、ynmax分别为第n个金属棒材识别框在图像中右下角的横坐标、纵坐标。
实际上,金属棒材的位置指的是金属棒材识别框的位置,该识别框为一个能够将金属棒材包含在内的最小矩形框或正方形框,而由于一般的金属棒材是圆形的金属棒材,因此,该识别框一般是一个正方形框。
在一实施例中,所述基于所述金属棒材的位置信息,确定所述金属棒材的数量,包括:
基于所述金属棒材的位置信息,得到位置信息的个数n;
根据所述位置信息的个数n得到金属棒材的数量。
在一实施例中,该方法还包括:
根据所述金属棒材识别框,得到金属棒材的等效直径,用d表示;由于识别框为正方形的识别框,则等效直径为识别框的边长,d=xmax-xmin
基于所述等效直径得到金属棒材的真实直径。
最后利用计算的等效直径d,计算金属棒材的真实横截面真实直径,用d表示,其计算公式为:
d=k*d
其中,d为金属棒材的等效直径,d为金属棒材真实的横截面等效直径,k为单位像素所代表的真实长度。
将检测的金属棒材结果在实时视频中标识出,并返回统计的金属棒材数量及计算的金属棒材等效直径。
在正常情况中,将棒材的识别结果以矩形标识框的形式显示在视频的实时画面中,同时显示包括计数与测量结果在内的信息。
如图4所示,一种基于深度学习的棒材检测装置,包括:
目标检测模块41,用于将实时采集的感兴趣区域的图像输入至预先训练的基于深度学习神经网络的目标检测模型,得到置信度大于设置的置信度阈值的金属棒材的位置信息;
数量确定模块42,用于基于所述金属棒材的位置信息,确定所述金属棒材的数量。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例的内容请参见方法部分的实施例的描述,这里暂不赘述。
本实施例中的计算机可读存储介质,本领域普通技术人员可以理解为:实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。前述的计算机程序可以储存于一计算机可读储存介质中。该程序在执行时,执行包括上述个方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等可以存储程序代码的介质。
本实施例提供的设备,包括处理器、存储器、收发器和通信接口,存储器和通信接口与与处理器和收发器连接并完成相互间的通信,存储器用于存储计算机程序,通信接口用于进行通信,处理器和收发器用于运行计算机程序,是设备执行如上方法的各个步骤。
在本实施例中,存储器可能包含随机存取存储器(randomaccessmemory,简称ram),也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在上述实施例中,说明书对“本实施例”的提及表示结合实施例说明的特定特征、结构或特性包括在至少一些实施例中,但不必是全部实施例。“本实施例”的多次出现不一定全部都指代相同的实施例。说明书描述了部件、特征、结构或特性“可以”、“或许”或“能够”被包括,则该特定部件、特征、结构或特性“可以”、“或许”或“能够”被包括,则该特定部件、特征、结构或特性不是必须被包括的。
在上述实施例中,尽管已经结合了本发明的具体实施例对本发明进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变形对本领域普通技术人员来说将是显而易见的。例如,其他存储结构(例如,动态ram(dram))可以使用所讨论的实施例。本发明的实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。