一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于机器视觉的仓库堆垛物品盘库计数方法及装置与流程

2022-06-01 17:29:18 来源:中国专利 TAG:


1.本技术涉及计算机视觉技术领域,特别涉及一种基于机器视觉的仓库堆垛物品盘库计数方法及装置。


背景技术:

2.仓储是现代物流的核心环节。而在人工智能、计算机视觉等技术飞速发展的今天,在仓储信息化、自动化的基础上,仓储技术的发展已经到了智能化的阶段。而在仓储方案的各项功能中,仓库物品盘库计数是至关重要的一环。传统的盘库计数任务多靠仓库管理工人人工完成,这项工作一般在某一段时期集中完成,其对仓库管理工来说具有较大的工作强度,且容易出错。
3.相关技术中,一些基于rfid(radio frequency identification)的智能盘库的方法,需要对每件仓库中的货物都加以电子标签,在存储一般货物的仓库中这往往难以实现。除此之外,还有使用“视觉比对”方法的盘库系统,但这种方法单纯将地将货物入库时的图片和出库时的图片做一个比对,如果算法认为差距过大就交由人工识别。以上方法都需要较大的设备成本或存储成本,且智能化成度较低,不易推广。
4.近年来,在计算机视觉领域,基于cnn(convolutional neural network)的目标检测模型层出不穷,它们在自动驾驶、人脸检测、行人检测等诸多领域都被证实能远远胜过传统方法,而现有的视觉目标检测方法并未在仓库盘库清点的领域上得到充分应用。因此,对于基于机器视觉的仓库堆垛物品盘库计数方法有待进一步研究。
5.申请内容
6.本技术提供一种基于机器视觉的仓库堆垛物品盘库计数方法及装置,以解决设备成本或存储成本较高,智能化成度较低,不易推广等问题。
7.本技术第一方面实施例提供一种基于机器视觉的仓库堆垛物品盘库计数方法,包括以下步骤:构建对堆垛正面和顶面进行分类及标注的目标检测模型,所述目标检测模型包括特征提取网络和检测/分类网络;将堆垛图像的训练集和验证集划分为预定大小的batch,并进行预处理;选取预处理后的训练集中任一batch输入所述目标检测模型进行前向传播,计算所述目标检测模型的输出值与分类标签的多任务损失,基于损失值和预设优化器反向传播更新所述目标检测模型的权重,通过多次更新直至满足更新结束条件得到堆垛目标检测模型;对所述堆垛目标检测模型得到的检测框结果,使用基于密度的聚类的计数统计算法将所述检测框结果转化为计数结果;以及利用所述堆垛目标检测模型和所述计数统计算法对仓库堆垛数据进行在线的堆垛物品盘库计数。
8.可选地,在本技术的一个实施例中,所述目标检测模型为基于faster r-cnn的模型结构,所述基于faster r-cnn的模型结构的特征提取网络为vgg16网络、resnet网络或resnext网络。
9.可选地,在本技术的一个实施例中,所述将堆垛图像的训练集和验证集划分为预定大小的batch,并进行预处理,包括:
10.利用图像缩放将堆垛图像按照等纵横比缩放至所述预定大小;
11.利用图像水平翻转按照0.5的概率对图像水平进行翻转;
12.利用直方图均衡算法为对全图hsv空间中的亮度v分量作直方图均衡。
13.可选地,在本技术的一个实施例中,所述多任务损失包括交叉熵分类损失和边框回归的smoothl1损失,其中,在区域建议网络层中的anchor的纵横比为{1∶2,1∶1,2∶1},其尺寸为{8,16,32}。
14.可选地,在本技术的一个实施例中,所述更新结束条件包括:所述损失值小于预设阈值或更新次数达到预设更新次数。
15.可选地,在本技术的一个实施例中,所述密度聚类算法为基于dbsacn的聚类算法,其中,检测框样本间距离表示如下:
16.distance1(bbox1,bbox2)=|y
1min-y
2min
| |y
1max-y
2max
|,
17.distance2(bbox1,bbox2)=1/|y
1min-y
2max
| 1/|y
1max-y
2min
|,
18.distonce(bbox1,bbox2)=distance1(bbox1,bbox2) λdistance2(bbox1,bbox2),
19.其中,distance1(bbox1,bbox2)为两个框的上下边距离之和,distance2(bbox1,bbox2)第二个距离为上下层框距离惩罚项,distance(bbox1,bbox2)为distance1(bbox1,bbox2)和distance2(bbox1,bbox2)这两个距离的加权和;
20.并且,所述计数统计算法为:
21.n=(n
layer-1)*n
cargo-perlayer
n
top

22.其中,n
cargo-perlayer
是每层堆垛的箱子个数,n
layer
是聚类算法得到的正面的总层数,n
top
是目标检测模型得到的顶层箱子。
23.本技术第二方面实施例提供一种基于机器视觉的仓库堆垛物品盘库计数装置,包括:模型构建模块,用于构建对堆垛正面和顶面进行分类及标注的目标检测模型,所述目标检测模型包括特征提取网络和检测/分类网络;数据预处理模块,用于将堆垛图像的训练集和验证集划分为预定大小的batch,并进行预处理;模型训练模块,用于选取预处理后的训练集中任一batch输入所述目标检测模型进行前向传播,计算所述目标检测模型的输出值与分类标签的多任务损失,基于损失值和预设优化器反向传播更新所述目标检测模型的权重,通过多次更新直至满足更新结束条件得到堆垛目标检测模型;转化模块,用于对所述堆垛目标检测模型得到的检测框结果,使用基于密度的聚类的计数统计算法将所述检测框结果转化为计数结果;以及计数模块,用于利用所述堆垛目标检测模型和所述计数统计算法对仓库堆垛数据进行在线的堆垛物品盘库计数。
24.可选地,在本技术的一个实施例中,所述目标检测模型为基于faster r-cnn的模型结构,所述基于faster r-cnn的模型结构的特征提取网络为vgg16网络、resnet网络或resnext网络。
25.可选地,在本技术的一个实施例中,所述数据预处理模块,具体用于,
26.利用图像缩放将堆垛图像按照等纵横比缩放至所述预定大小;
27.利用图像水平翻转按照0.5的概率对图像水平进行翻转;
28.利用直方图均衡算法为对全图hsv空间中的亮度v分量作直方图均衡。
29.可选地,在本技术的一个实施例中,所述更新结束条件包括:所述损失值小于预设阈值或更新次数达到预设更新次数。
30.由此,本技术至少具有如下有益效果:
31.通过采集检测堆垛图像数据并划分训练集与验证集;对图像数据进行预处理和数据扩充;使用深度神经网络检测模型对堆垛的正面、顶面进行定位与分类,在训练集上进行训练,直至迭代到达预设条件;使用训练好的网络在线地对其它堆垛图片数据进行检测;通过提出的三维计数算法将深度神经网络得到的检测结果转化为计数结果。从而实现了对仓库堆垛物品的自动盘库计数任务,在有较强的鲁棒性的同时能取得很高的准确率。由此,解决了设备成本或存储成本较高,智能化成度较低,不易推广等问题。
32.本技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本技术的实践了解到。
附图说明
33.本技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
34.图1为根据本技术实施例提供的一种基于机器视觉的仓库堆垛物品盘库计数方法的流程图;
35.图2为根据本技术一个实施例提供的基于视觉的仓库堆垛物品盘库计数方法的目标检测整体网络结构图;
36.图3为根据本技术一个实施例提供的基于视觉的仓库堆垛物品盘库计数方法的目标检测特征提取网络部分结构图;
37.图4为根据本技术一个实施例提供的基于视觉的仓库堆垛物品盘库计数方法的执行逻辑示意图;
38.图5为根据本技术实施例的一种基于机器视觉的仓库堆垛物品盘库计数装置的示例图。
39.附图标记说明:模型构建模块-100、数据预处理模块-200、模型训练模块-300、转化模块-400以及计数模块500。
具体实施方式
40.下面详细描述本技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本技术,而不能理解为对本技术的限制。
41.下面参考附图描述本技术实施例的一种基于机器视觉的仓库堆垛物品盘库计数方法、装置、电子设备及存储介质。针对上述背景技术中提到的问题,本技术提供了一种基于机器视觉的仓库堆垛物品盘库计数方法,在该方法中,能够仅用一个堆垛照片对仓库堆垛物品的各个表面进行识别定位,并对检测结果进行计数后处理算法统计,最终实现物品堆垛数目的准确计数,为仓库物品盘库计数任务提出了更高效、更节能的实现方案。由此,解决了设备成本或存储成本较高,智能化成度较低,不易推广等问题。
42.具体而言,图1为本技术实施例所提供的一种基于机器视觉的仓库堆垛物品盘库计数方法的流程图。
43.如图1所示,该基于机器视觉的仓库堆垛物品盘库计数方法包括以下步骤:
44.在步骤s101中,构建对堆垛正面和顶面进行分类及标注的目标检测模型,目标检测模型包括特征提取网络和检测/分类网络。
45.可选地,在本技术的一个实施例中,目标检测模型为基于faster r-cnn的模型结构,基于faster r-cnn的模型结构的特征提取网络为vgg16网络、resnet网络或resnext网络。
46.需要说明的是,在本技术的实施例中,上述目标检测模型是基于两阶段目标检测模型faster r-cnn(faster regions with convolutional neural network)的,其网络结构如图2所示。具体地,在将一个彩色堆垛图片输入目标检测模型后,会先经过一个卷积特征提取网络,通过卷积层和池化层将输入图片变为尺寸更小、通道维度更高的特征图。
47.在使用特征提取网络提取了特征之后,可以使用rpn(region proposal network),即区域建议网络对得到的特征图进行目标检测和区域定位,使用矩形锚框(anchor)在特征图上标出目标的位置,与训练样本的标注计算iou距离作对比,从而找到与真实目标接近的初始建议区域roi(region of proposal)。
48.在对特征图进行建议区域提取后,将建议区域与原特征图共同输入候选区域池化层中,通过roipooling操作将不同大小的特征区域归到同一大小,方便之后的分类头和边框回归头做进一步的分类和边框回归操作。
49.在本技术的实施例中,其特征提取网络部分可以是vgg16,其网络内部具体结构如图3所示。具体地,其中的conv为3x3卷积层,并对特征图有补零操作;其中的pooling层为2x2池化层。作为优选,特征网络除vgg16也可选择resnet、resnext等网络结构。
50.其中,分类头为两个级联的全连接层,它的第一层将roipooling层提取出的固定大小roi特征图降维至4096维,第二层将降维之后的特征向量再次降维到预设的分类数(本发明实施例中的分类数为3维,类别包括背景、正面和顶面),得到最后的分类结果。
51.其中,边框回归头同样为两个级联的全连接层,第一层将roipooling层提取出的固定大小roi特征图降维至4096维,与分类层共享参数,第二层将降维之后的特征向量再次降维到4倍的预设分类数,4代表原图回归边框坐标中的(y
min
,x
min
,y
max
,x
max
)。
52.在步骤s102中,将堆垛图像的训练集和验证集划分为预定大小的batch,并进行预处理。
53.可选地,在本技术的一个实施例中,将堆垛图像的训练集和验证集划分为预定大小的batch,并进行预处理,包括:利用图像缩放将堆垛图像按照等纵横比缩放至预定大小;利用图像水平翻转按照0.5的概率对图像水平进行翻转;利用直方图均衡算法为对全图hsv空间中的亮度v分量作直方图均衡。
54.可以理解的是,上述图像缩放、图像水平翻转预处理旨在扩充数据集、增大数据量,直方图均衡旨在平衡输入图片的光照度,一定程度上对复杂低质量工业场景下的堆垛图片进行高质量优化处理。
55.在步骤s103中,选取预处理后的训练集中任一batch输入目标检测模型进行前向传播,计算目标检测模型的输出值与分类标签的多任务损失,基于损失值和预设优化器反向传播更新目标检测模型的权重,通过多次更新直至满足更新结束条件得到堆垛目标检测模型。
56.可选地,在本技术的一个实施例中,多任务损失包括交叉熵分类损失和边框回归
的smoothl1损失,其中,在区域建议网络层中的anchor的纵横比为{1:2,1:1,2:1},其尺寸为{8,16,32}。同时,本技术的实施例中,更新结束条件为损失值小于预设阈值或更新次数达到预设更新次数。
57.具体地,在本技术的实施例中,利用在imagenet上预训练好的vgg16网络权重作为特征提取网络的初始权重,设置学习率为0.001,采用sgd作为优化器训练网络参数,其中多任务损失函数为:
[0058][0059]
其中,i为训练图片的编号;pi为图片属于哪一类的概率,为图片属于哪一类的标签,ti为图片的边框坐标(y
min
,x
min
,y
max
,x
max
),为其坐标的标签。
[0060]
其中,l
cls
采用交叉熵损失,l
reg
采用smooth_l1损失。在本技术的实施例中,λ取值为1。
[0061]
在步骤s104中,对堆垛目标检测模型得到的检测框结果,使用基于密度的聚类的计数统计算法将检测框结果转化为计数结果。
[0062]
可选地,在本技术的一个实施例中,采用学习率衰减策略,每10个epoch降低一半学习率,共迭代20个epoch。
[0063]
在步骤s105中,利用堆垛目标检测模型和计数统计算法对仓库堆垛数据进行在线的堆垛物品盘库计数。
[0064]
可选地,在本技术的一个实施例中,密度聚类算法为基于dbsacn修改得到的聚类算法,其中,检测框样本间距离表示如下:
[0065]
distance1(bbox1,bbox2)=|y
1min-y
2min
| |y
1max-y
2max
|,
[0066]
distance2(bbox1,bbox2)=1/|y
1min-y
2max
| 1/|y
1max-y
2min
|,
[0067]
distance(bbox1,bbox2)=distonce1(bbox1,bbox2) λdistance2(bbox1,bbox2),
[0068]
其中,第一个距离为两个框的上下边距离之和,第二个距离为上下层框距离惩罚项,目的是尽量让上下两层距离的更远。最终距离为这两个距离的加权和,其中λ取1。
[0069]
并且,计数算法如下:
[0070]
n=(n
layer-1)*n
cargo-perlayer
n
top

[0071]
其中,n
cargo-perlayer
是每层堆垛的箱子个数,是可以提前获得的堆垛信息。n
layer
是聚类算法得到的前表面总层数,n
top
是检测网络得到的顶面检测总数。
[0072]
具体地,在得到检测结果,即顶面框和正面框的分类与定位结果后,需要将检测结果转化为计数结果。在本技术的实施例中,计数结果的公式建模为:
[0073]
n=(n
layer-1)*n
cargo-perlayer
n
top
[0074]
即一个堆垛中的物体数目可以表示为堆垛总层数减一乘以每层堆垛的个数,再加上顶层堆垛的个数。这是基于堆垛物体摆放必须摆慢下一层才会摆上一层的先验得到的。而其中的n
cargo-perlayer
是可以提前获得的堆垛信息。因此本算法关键在于获得剩余的两个参数n
layer
、n
top

[0075]
其中,顶层箱子的计数结果即为检测模型中得到的顶面检测结果的总和。堆垛总层数需要对检测模型得到的正面检测结果做一个分层算法,本技术的实施例采用基于密度
的聚类算法对其进行举例,具体算法如表1所示。
[0076]
表1基于密度的聚类算法
[0077][0078]
其中,对于两个检测框bbox(y
min
,x
min
,y
max
,x
max
)样本的距离定义如下:
[0079]
distance1(bbox1,bbox2)=|y
1min-y
2min
| |y
1max-y
2max
|
[0080]
distance2(bbox1,bbox2)=1/|y
1min-y
2max
| 1/|y
1max-y
2min
|
[0081]
distance(bbox1,bbox2)=distance1(bbox1,bbox2) λdistance2(bbox1,bbox2)
[0082]
其中,第一个距离为两个框的上下边距离之和,第二个距离为上下层框距离惩罚项,目的是尽量让上下两层距离的更远。最终距离为这两个距离的加权和,其中λ取1。
[0083]
下面通过一个具体实施例对本技术的一种基于机器视觉的仓库堆垛物品盘库计数方法进行详细说明。
[0084]
图4展示了本技术实施例的基于机器视觉的仓库堆垛物品盘库计数方法的执行逻辑,如图4所示,本技术的实施例的仓库堆垛物品盘库计数方法具体包括以下步骤:
[0085]
步骤一、基于深度神经网络目标检测模型构建对堆垛正面、顶面的两类目标检测
模型。目标检测模型包括特征提取网络、和检测/分类网络。
[0086]
步骤二、将训练集、验证集划分为设定大小的batch,并进行图像缩放、图像水平翻转和图像直方图均衡的预处理。
[0087]
步骤三、选取训练集中任一batch,通过目标检测网络对输入数据进行前向传播,计算输出值与标签的多任务损失,基于损失值和预设优化器反向传播更新模型权重。
[0088]
步骤四、重复步骤三直至损失低于所设阈值或达到设定的训练次数,得到最终的堆垛目标检测模型。
[0089]
步骤五、对目标检测模型得到的检测框结果,使用基于密度的聚类的计数统计算法将检测结果转化为计数结果。
[0090]
步骤六、利用训练好的深度神经网络模型和计数算法对仓库堆垛数据进行在线的堆垛物品盘库计数。
[0091]
线下阶段:采集训练需要的堆垛图像,并划分训练样本、验证样本;构建如图2的深度目标检测神经网络模型,将训练样本、验证样本分别预处理;使用训练集对神经网络模型进行前向传播训练,并将训练误差进行反向传播,在每一轮迭代完成后计算神经网络模型并在验证集上预测目标检测的精度,直至到达预设的训练步骤;利用训练好的深度神经网络模型给出的目标检测结果,对正表面框进行密度聚类,根据聚类实际效果选定密度聚类阈值;综合正面聚类结果和顶面检测结果给出最终堆垛计数结果。
[0092]
线上阶段:对仓库堆垛机上的摄像头实时获取的堆垛图片进行与训练阶段相同的设置,得到检测框结果。并利用密度聚类算法对正面检测结果进行分层,这样的结果是对底层漏检的情况有一定的鲁棒性的。将分层得到的层数与顶面检测到的顶面数做一个计算后得到最终计数结果。
[0093]
根据本技术实施例提出的一种基于机器视觉的仓库堆垛物品盘库计数方法,能够有效地解决仓库盘库任务中的堆垛物品高效计数问题。通过深度神经网络目标检测模型对堆垛的正面和顶面进行检测和定位,并使用基于密度聚类的分层算法对检测结果框进行计数得到最终结果,可以仅通过堆垛机上加装的一个摄像头完全做到对仓库堆垛物品的实时在线计数。同时,本技术的实施例相比于其他盘库计数方法不需要对仓储物品额外添加电子标签、也不需要任何人力参与,需要计算成本、存储成本更低,具有较强的可推广性。
[0094]
其次参照附图描述根据本技术实施例提出的一种基于机器视觉的仓库堆垛物品盘库计数装置。
[0095]
图5为根据本技术实施例的一种基于机器视觉的仓库堆垛物品盘库计数装置的示例图。
[0096]
如图5所示,该基于机器视觉的仓库堆垛物品盘库计数装置10包括:模型构建模块100、数据预处理模块200、模型训练模块300、转化模块400以及计数模块500。
[0097]
其中,模型构建模块100,用于构建对堆垛正面和顶面进行分类及标注的目标检测模型,目标检测模型包括特征提取网络和检测/分类网络;数据预处理模块200,用于将堆垛图像的训练集和验证集划分为预定大小的batch,并进行预处理;模型训练模块300,用于选取预处理后的训练集中任一batch输入目标检测模型进行前向传播,计算目标检测模型的输出值与分类标签的多任务损失,基于损失值和预设优化器反向传播更新目标检测模型的权重,通过多次更新直至满足更新结束条件得到堆垛目标检测模型;转化模块400,用于对
堆垛目标检测模型得到的检测框结果,使用基于密度的聚类的计数统计算法将检测框结果转化为计数结果;以及计数模块500,用于利用堆垛目标检测模型和计数统计算法对仓库堆垛数据进行在线的堆垛物品盘库计数。
[0098]
可选地,在本技术的一个实施例中,目标检测模型为基于faster r-cnn的模型结构,基于faster r-cnn的模型结构的特征提取网络为vgg16网络、resnet网络或resnext网络。
[0099]
可选地,在本技术的一个实施例中,数据预处理模块200,具体用于,
[0100]
利用图像缩放将堆垛图像按照等纵横比缩放至预定大小;
[0101]
利用图像水平翻转按照0.5的概率对图像水平进行翻转;
[0102]
利用直方图均衡算法为对全图hsv空间中的亮度v分量作直方图均衡。
[0103]
可选地,在本技术的一个实施例中,更新结束条件包括:损失值小于预设阈值或更新次数达到预设更新次数。
[0104]
需要说明的是,前述对基于机器视觉的仓库堆垛物品盘库计数方法实施例的解释说明也适用于该实施例的基于机器视觉的仓库堆垛物品盘库计数装置,此处不再赘述。
[0105]
根据本技术实施例提出的一种基于机器视觉的仓库堆垛物品盘库计数装置,通过一个摄像头以及足量的数据支撑(这在堆垛物品很多的仓库里是可以简单获得的),完全实现对仓库堆垛物品的高效实时计数,不需要额外的人力辅助,能够有效节约劳动力、减轻仓库管理员工作负担。本技术的实施例也不需要过多硬件资源上的消耗。不需要对仓储物品额外添加电子标签、也不需要使用rfid的扫描仪器,需要计算成本、存储成本更低,具有较强的可推广性。具有较强的鲁棒性。同时,本技术的实施例对输入图片数据先进行预处理,增强网络对输入数据的输出鲁棒性;而后计数算法对底层漏检、错检也有较好的过滤结果,一定程度上可以避免计数错误,可以获得准确率较高的结果。
[0106]
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本技术的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或n个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0107]
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本技术的描述中,“n个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
[0108]
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更n个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本技术的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本技术的实施例所属技术领域的技术人员所理解。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献