[0001]
本申请属于图像处理领域,具体涉及冶金领域,特别是涉及一种废钢货车位置及状态识别方法、系统、设备及介质。
背景技术:[0002]
钢厂每年都要收储大量的废钢料,其主要是通过货车运输废钢料,例如,采用废钢堆料货车和废钢卸料货车在指定的场地区域进行堆料和卸料。废钢堆料货车是由废钢料厂统一提供的,形状和外观统一的货车;废钢卸料货车是由外部渠道进入的,与废钢堆料货车形状和外观不同且为种类多样的货车。
[0003]
为了实时监控废钢货车堆卸料情况,通常采用人工方式统计废钢货车所在位置,判断指定区域内废钢货车的状态;然而,采用人工方式不仅工作量大、操作繁琐、还容易因人为因素导致统计遗漏的现象。
技术实现要素:[0004]
鉴于以上所述现有技术的缺点,本申请的目的在于提供一种废钢货车位置及状态识别方法、系统、设备及介质,用于识别废钢货车的位置及状态,确保对废钢料厂的情况实时监控。
[0005]
为实现上述目的及其他相关目的,本申请提供一种废钢货车位置及状态识别方法,包括:
[0006]
采集废钢料厂中当前堆卸废钢物料区域下包含废钢货车的图像;
[0007]
预处理所述图像生成数据集,利用卷积神经网络训练所述数据集得到检测废钢货车位置的检测模型;
[0008]
调用所述检测模型识别待测图像内每辆废钢货车的位置信息;
[0009]
对比识别的废钢货车的位置信息与感兴趣区域的位置信息,根据所述感兴趣区域内废钢货车的外观特征确定所述废钢货车的类型,判断当前所述废钢货车的状态。
[0010]
本申请的目的在于提供一种废钢货车位置及状态识别系统,包括:
[0011]
图像采集模块,用于采集废钢料厂中当前堆卸废钢物料区域下包含废钢货车的图像;
[0012]
检测模型生成模块,用于预处理所述图像生成数据集,利用卷积神经网络训练所述数据集得到检测废钢货车位置的检测模型;
[0013]
位置信息识别模块,用于调用所述检测模型识别待测图像内每辆废钢货车的位置信息;
[0014]
状态识别模块,用于对比识别的废钢货车的位置信息与感兴趣区域的位置信息,根据所述感兴趣区域内废钢货车的外观特征确定所述废钢货车的类型,判断当前所述废钢货车的状态。
[0015]
本申请另一目的在于提供一种电子设备,包括:
[0016]
一个或多个处理装置;
[0017]
存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理装置执行,使得所述一个或多个处理装置执行所述废钢货车位置及状态识别方法。
[0018]
本申请还一目的在于提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序用于使所述计算机执行所述废钢货车位置及状态识别方法。
[0019]
如上所述,本申请的废钢货车位置及状态识别方法、系统、设备及介质,具有以下有益效果:
[0020]
基于机器视觉采集废钢料厂中当前堆卸废钢物料区域下包含废钢货车的图像,利用卷积神经网络构建检测废钢货车位置信息的检测模型,通过对比识别废钢货车的位置信息与感兴趣区域的位置信息,利用废钢货车的外观特征确定所述废钢货车的类型,从而确定废钢货车类型、数量以及状态,相比现有技术,实现了智能化识别废钢货车的位置和状态,具有效率高、准确率高的优点,为后续自动化处理提供强有力依据。
附图说明
[0021]
图1显示为本申请提供的一种废钢货车位置及状态识别方法流程图;
[0022]
图2显示为本申请提供的一种废钢料厂摄像装置设置场景示意图;
[0023]
图3显示为本申请提供的一种废钢货车位置及状态识别方法的一实施例流程图;
[0024]
图4显示为本申请提供的一种废钢货车位置及状态识别系统结构框图;
[0025]
图5显示为本申请提供的一种电子设备的结构示意图。
具体实施方式
[0026]
以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
[0027]
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本申请的基本构想,遂图式中仅显示与本申请中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
[0028]
请参阅图1,为本申请提供的一种废钢货车位置及状态识别方法流程图,包括:
[0029]
步骤s1,采集废钢料厂中当前堆卸废钢物料区域下包含废钢货车的图像;
[0030]
具体地,废钢货车包括废钢堆料货车和废钢卸料货车,在指定的场地区域(堆卸废钢物料区域)下进行堆料和卸料,通过摄像装置采集废钢料厂中当前堆卸废钢物料区域下包含废钢货车的图像。
[0031]
步骤s2,预处理所述图像生成数据集,利用卷积神经网络训练所述数据集得到检测废钢货车位置的检测模型;
[0032]
步骤s3,调用所述检测模型识别待测图像内每辆废钢货车的位置信息;
[0033]
步骤s4,对比识别的废钢货车的位置信息与感兴趣区域的位置信息,根据所述感
兴趣区域内废钢货车的外观特征确定所述废钢货车的类型,判断当前所述废钢货车的状态。
[0034]
在本实施例中,通过卷积神经网络构建检测模型,利用检测模型识别待测图像中的每辆废钢货车的位置信息,通过比对识别的废钢货车的位置信息与感兴趣区域的位置信息,根据废钢货车的外观特征确定所述废钢货车的类型,从而确定废钢货车类型、数量以及状态,相比现有技术,实现了智能化识别废钢货车的位置和状态,具有效率高、准确率高的优点,为后续自动化处理提供强有力依据。
[0035]
请参阅图3,为本申请提供的一种废钢货车位置及状态识别方法的一实施例流程图,详述如下:
[0036]
在上述实施例的基础上,在步骤s1之前还包括:
[0037]
利用位于所述废钢料厂横梁上的摄像装置采集图像,将所述图像内堆卸废钢物料区域设置为感兴趣区域。
[0038]
具体地,在废钢料厂的横梁上设置摄像装置,即,摄像头或相机,根据相机位和实际场景将相机画面内的堆卸废钢物料区域设置为识别感兴趣区域;其中相机包含工业,ip(球机,枪机)等相机,在横梁设置多个相机,详见图2,为废钢料厂摄像装置设置场景示意图,确保每个相机拍摄的画面都覆盖感兴趣区域,即,堆卸废钢物料区域,使得相机能够采集包含在卸废钢物料区域下的废钢货车的图像。
[0039]
其中,步骤s2进一步包括:
[0040]
采集堆卸废钢物料区域内包含废钢货车的图像,标注所述图像内废钢货车的位置信息形成数据集;
[0041]
将所述数据集内图像输入基于深度学习的卷积神经网络进行训练,建立用于检测废钢货车位置的检测模型;其中,所述卷积神经网络包括ssd(single shot multibox detector)、yolo(you only look once)或faster-rcnn(rpn+cnn+roi)中的任意一种目标检测模型;其所述网络包括ssd、yolo系列、faster-rcnn等目标检测网络,也可以用其他目标检测网络替代。
[0042]
具体地,采用ssd目标检测模型结合了yolo中的回归思想和faster r-cnn中的anchor机制,使用全图各个位置的多尺度区域特征进行回归,既保持了yolo速度快的特性,也保证了窗口预测的跟faster r-cnn一样比较精准。采用yolo目标检测模型将目标检测任务转换成一个回归问题,大大加快了检测的速度,使得yolo可以每秒处理45张图像;同时,由于每个网络预测目标窗口时使用的是全图信息,使得误报率大幅降低。而采用faster-rcnn目标检测模型基于深度学习目标检测的流程变得越来越精简,识别精度越来越高,识别速度也越来越快。
[0043]
例如,所述ssd目标检测模型可为mobilenetv2-ssd深度学习神经网络,其中,所述mobilenetv2网络包括用于提高图像特征精度的反转残差模块(invertedresidua)和用于防止非线性函数relu信息丢失的线性瓶颈模块(linear bottleneck),所述ssd网络包括基础网络和金字塔网络,其中基础网络是可以变换的。
[0044]
具体地,mobilenetv2网络中,反转残差模块主要用来增加图像特征的提取以提高精度,而线性瓶颈模块主要用来避免非线性的激活函数relu的信息丢失。mobilenetv2网络结构包括:反转残差模块linear bottleneck包括用于增加维度的维度层、用于采样的采样
层以及用于降低维度的输出层。首先,在维度层中,维度层通过第一卷积核和激活函数将图像信息维度由k维增加至tk维,例如,输入通过1
×
1的第一卷积核conv以及激活函数relu将维度从k维增加到tk维;之后,在采样层中,采样层通过第二卷积核和激活函数将图像信息进行采样,例如,通过3
×
3的第二卷积核conv卷积核以及激活函数relu可分离卷积对图像进行降采样(步长/stride>1时),此时特征维度已经为tk维度;最后,输出层通过第三卷积核将图像信息进行降低维度,图像信息的维度由tk维降低至k’维,例如,通过1
×
1第三卷积核conv(无relu)进行降维,维度从tk降低到k’维。
[0045]
此外,对于线性瓶颈模块模块linear bottleneck,在线性瓶颈模块模块的神经网络层中,当卷积核的步长为1时,则将神经网络层的输入连接至输出会使用elementwise的sum将输入和输出特征连接;当步长为2时,则无shortcut连接输入和输出特征。
[0046]
在一些实施过程中,可采用ssd(single-stage)的目标检测算法,利用不同尺度的特征图去预测不同框大小的目标。ssd网络包括基础网络和金字塔网络,其中基础网络是可以变换的,例如,ssd的基础网络是vgg-16的前4层网络,金字塔网络是特征图逐渐变小的简单卷积网络由5部分构成。
[0047]
又例如,可将mobilenetv2网络替换原始ssd网络架构中的vgg-16,从conv0到conv13的配置与mobilenetv2模型相适应,并且去掉mobilenetv2最后的全局平均池化、全连接层和softmax层,可采用conv6和conv7分别替代了原vgg-16的fc6和fc7。在一些实施过程中,利用mobilenetv2-ssd深度学习神经网络先用mobilenetv2网络提取图像特征输出特征图再用ssd目标检测算法对mobilenetv2网络输出的多个特征图上的信息进行检测。
[0048]
具体地,所述废钢货车位置信息的内容及格式为:
[0049]
[truck
xmin
,truck
ymin
,truck
xmax
,truck
ymax
]
[0050]
其中,truck
xmin
、truck
ymin
分别为废钢货车矩形目标框在图像中的左上角x、y坐标,truck
xmax
、truck
ymax
分别为废钢货车矩形目标框在图像中的右下角x、y坐标。
[0051]
在步骤s3中,调用建立的废钢货车目标检测模型,识别并记录视频中每一个废钢货车目标的位置信息;调用该模型后可以获得视频图像内所有废钢货车的位置信息,其位置信息的内容与格式为:
[0052][0053]
每一行分别对应一个废钢货车矩形目标框;truck1
xmin
、truck1
ymin
分别为第一个废钢货车识别框左上角点的x、y坐标;truck1
xmax
、truck1
ymax
分别为第一个废钢货车识别框右下角点的x、y坐标;truckn为第n个废钢货车识别框。
[0054]
其中,步骤4进一步包括:
[0055]
将识别的废钢货车位置信息与感兴趣区域位置信息进行对比,根据感兴趣区域内的废钢货车的外观特征分类;所述外观特征中形状和外观统一的废钢货车为废钢堆料货车;与所述废钢堆料货车形状和外观不同且种类多样的废钢货车为废钢卸料货车;
[0056]
根据感兴趣区域内的废钢货车数量和种类,判断当前的废钢货车状态。
[0057]
其中,将识别的废钢货车位置信息与废钢堆卸料感兴趣区域位置信息进行对比,
其所述堆卸料感兴趣区域在图像中位置信息的内容与格式为:
[0058]
[roi
xmin
,roi
ymin
,roi
xmax
,roi
ymax
]
[0059]
其中,roi
xmin
、roi
ymin
分别为感兴趣区域在图像中的左上角x、y坐标,roi
xmax
、roi
ymax
分别为感兴趣区域在图像中的右下角x、y坐标。
[0060]
对于检测得到的每一个废钢货车目标,若其位置信息满足truck
xmin
>roi
xmin
,truck
ymin
>roi
ymin
,truck
xmax
<roi
xmax
,truck
ymax
<roi
ymax
,则判定目标废钢货车位于识别感兴趣区域内,对其进行下一步分类处理;若不满足,则不作处理;
[0061]
将在感兴趣区域内的废钢货车根据外观特征进行分类,分为形状和外观统一的废钢堆料货车truck
d
,和与废钢堆料货车形状和外观不同且种类多样的废钢卸料货车truck
x
。根据两种货车不同的外观特征,可以对其进行分类标注。其标注格式为[class],即目标类别,内容为废钢堆料货车truck
d
或废钢卸料货车truck
x
。
[0062]
具体地,废钢货车分类实施的具体方法为,根据获取到的感兴趣区域内废钢货车位置信息,将图像内每个[truck
xmin
,truck
ymin
,truck
xmax
,truck
ymax
]部分进行截取,得到关于废钢货车的初始图像,将得到的图像根据废钢货车类别进行标注,将标注图像进行训练分析,得到废钢货车的目标分类模型。
[0063]
根据废钢堆卸料感兴趣区域内的废钢货车数量和种类,判断当前画面的废钢货车状态。其状态主要分为:
[0064][0065]
其中,flag为当前画面的废钢货车状态,sum(truck
d
)为画面内存在的废钢堆料货车数量,sum(truck
x
)为画面内存在的废钢卸料货车数量。flag分为0~6种状态,分别代表废钢堆卸料感兴趣区域内不存在废钢货车、存在一辆废钢堆料货车、存在一辆废钢卸料货车、存在一辆废钢堆料货车和一辆废钢卸料货车、存在多辆废钢堆料货车、存在多辆废钢卸料货车、同时存在多辆废钢堆料货车和废钢卸料货车。
[0066]
具体地,将上述所获废钢堆料货车和废钢卸料货车位置信息及画面状态返回外部设备系统,供工人检测和后续识别使用。
[0067]
在本实施例中,由于视频监控中画面图像内的废钢货车数量和种类不定,采用上述状态表示方式能够有效展示感兴趣区域内废钢货车的种类与数量,实现废钢料厂自动化堆卸料,有助于工人对场地内堆卸料情况的掌握,并为后续自动化处理提供支持。
[0068]
请参阅图4,为本申请提供的一种废钢货车位置及状态识别系统流程图,包括:
[0069]
图像采集模块1,用于采集废钢料厂中当前堆卸废钢物料区域下包含废钢货车的图像;
[0070]
在图像采集模块之前,还包括:利用位于所述废钢料厂横梁上的摄像装置采集图
像,将所述图像内堆卸废钢物料区域设置为感兴趣区域。
[0071]
检测模型生成模块2,用于预处理所述图像生成数据集,利用卷积神经网络训练所述数据集得到检测废钢货车位置的检测模型;
[0072]
具体地,采集堆卸废钢物料区域内包含废钢货车的图像,标注所述图像内废钢货车的位置信息形成数据集;
[0073]
将所述数据集内图像输入基于深度学习的卷积神经网络进行训练,建立用于检测废钢货车位置的检测模型;其中,所述卷积神经网络包括ssd、yolo或faster-rcnn中的任意一种。
[0074]
位置信息识别模块3,用于调用所述检测模型识别待测图像内每辆废钢货车的位置信息;
[0075]
具体地,调用所述检测模型识别待测图像中每辆废钢货车的位置信息,该位置信息的内容与格式为:
[0076][0077]
式中,每一行分别对应一个废钢货车矩形目标框;truck1
xmin
、truck1
ymin
分别为第一个废钢货车识别框左上角点的x、y坐标;truck1
xmax
、truck1
ymax
分别为第一个废钢货车识别框右下角点的x、y坐标;truckn为第n个废钢货车识别框。
[0078]
状态识别模块4,用于对比识别的废钢货车的位置信息与感兴趣区域的位置信息,根据所述感兴趣区域内废钢货车的外观特征确定所述废钢货车的类型,判断当前所述废钢货车的状态;
[0079]
将识别的废钢货车位置信息与感兴趣区域位置信息进行对比,根据感兴趣区域内的废钢货车的外观特征分类;所述外观特征中形状和外观统一的废钢货车为废钢堆料货车;与所述废钢堆料货车形状和外观不同且种类多样的废钢货车为废钢卸料货车;
[0080]
其中所述感兴趣区域位置信息的格式与内容为:[roi
xmin
,roi
ymin
,roi
xmax
,roi
ymax
];式中,roi
xmin
、roi
ymin
分别为感兴趣区域在图像中的左上角x、y坐标,roi
xmax
、roi
ymax
分别为感兴趣区域在图像中的右下角x、y坐标;
[0081]
将识别的废钢货车位置信息与感兴趣区域位置信息进行对比,如果所述位置信息满足truck
xmin
>roi
xmin
,truck
ymin
>roi
ymin
,truck
xmax
<roi
xmax
,truck
ymax
<roi
ymax
,则判定所述废钢货车在所述感兴趣区域内,根据所述废钢货车的外观特征分类确定其类型,当所述外观特征中形状和外观统一时,则所述废钢货车为废钢堆料货车truck
d
;当所述外观特征与废钢堆料货车形状和外观不同且种类多样时,则所述废钢货车为废钢卸料货车。
[0082]
根据感兴趣区域内的废钢货车数量和种类,判断当前的废钢货车状态。
[0083][0084]
式中,flag为当前废钢货车状态,sum(truck
d
)为废钢堆料货车数量,sum(truck
x
)为废钢卸料货车数量。flag分为0~6种状态,分别代表废钢堆卸料感兴趣区域内不存在废钢货车、存在一辆废钢堆料货车、存在一辆废钢卸料货车、存在一辆废钢堆料货车和一辆废钢卸料货车、存在多辆废钢堆料货车、存在多辆废钢卸料货车、同时存在多辆废钢堆料货车和废钢卸料货车。
[0085]
其中,还需要说明的是,废钢货车位置及状态识别方法与废钢货车位置及状态识别系统为一一对应的关系,在此,废钢货车位置及状态识别系统所涉及的技术细节与技术效果和上述识别方法相同,在此不一一赘述,请参照上述废钢货车位置及状态识别方法。
[0086]
下面参考图5,其示出了适于用来实现本公开实施例的电子设备(例如终端设备或服务器500的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字tv、台式计算机等等的固定终端。图5示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
[0087]
如图5所示,电子设备500可以包括处理装置(例如中央处理器、图形处理器等)501,其可以根据存储在只读存储器(rom)502中的程序或者从存储装置508加载到随机访问存储器(ram)503中的程序而执行各种适当的动作和处理。在ram503中,还存储有电子设备500操作所需的各种程序和数据。处理装置501、rom502以及ram503通过总线504彼此相连。输入/输出(i/o)接口505也连接至总线504。
[0088]
通常,以下装置可以连接至i/o接口505:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置506;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置507;包括例如磁带、硬盘等的存储装置508;以及通信装置509。通信装置509可以允许电子设备500与其他设备进行无线或有线通信以交换数据。虽然图5示出了具有各种装置的电子设备500,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
[0089]
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置509从网络上被下载和安装,或者从存储装置508被安装,或者从rom502被安装。在该计算机程序被处理装置501执行时,执行本公开实施例的方法中限定的上述功能。
[0090]
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
[0091]
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:执行上述步骤s1到步骤s4的方法。
[0092]
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0093]
附图中的流程图和框图,图示了按照本公开各种实施例的方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0094]
综上所述,本申请基于机器视觉采集废钢料厂中当前堆卸废钢物料区域下包含废钢货车的图像,利用卷积神经网络构建检测废钢货车位置信息的检测模型,通过对比识别废钢货车的位置信息与感兴趣区域的位置信息对比,利用废钢货车的外观特征确定所述废钢货车的类型,从而确定废钢货车类型、数量以及状态,相比现有技术,实现了智能化识别废钢货车的位置和状态,具有效率高、准确率高的优点,为后续自动化处理提供强有力依据。
[0095]
上述实施例仅例示性说明本申请的原理及其功效,而非用于限制本申请。任何熟悉此技术的人士皆可在不违背本申请的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本申请所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本申请的权利要求所涵盖。