1.一种基于多任务深度学习的物流复合码识别方法,其特征在于:包括用于全方位获取物流复合码图像的方法、便于视觉检测定位喷码字符的标签设计方案、适用于喷码字符的标签的字符定位和切分的字符大小、字形以及字符之间的间隔设计方案、适用于视觉识别的复合码设计方案、用于对复合码进行检测定位的Faster R-CNN网络、用于复合码图像纠偏及字符的正倒检测的算法模块、用于深度学习和训练识别的多任务深度卷积神经网络、基于深度学习的喷码字符的标签上的字符识别的卷积神经网络、用于识别复合码中一维条码的算法模块、用于识别复合码中二维条码的算法模块、用于根据识别的复合码信息控制分拣动作的分拣控制模块;
其主要流程如下:流水线上待分拣的货物移动到流水线的某一工位时,系统自动触发多个相机从各个方位拍摄货物图像;接着,基于Faster R-CNN货品复合码标签检测定位得到货物图像上的复合码标签图像;然后,对复合标签的图像最小面积矩形进行仿射变换;进一步,对仿射变换后的复合标签的图像进行分割处理,分割出喷码字符的标签图像以及一维条码图像或者二维条码图像;然后,对得到的喷码字符的标签图像用基于Faster R-CNN进行字符识别,得到喷码字符的标签图像中的字符序列;另一方面,对得到的一维条码图像或者二维条码图像进行识别,得到一维条码图像或者二维条码图像所表达的字符序列;最后,组合喷码字符的标签图像中识别出来的字符序列以及一维条码图像或者二维条码图像所识别出来的字符序列,并用该复合码所表达的信息进行货品的物流及供应链管理。
2.如权利要求1所述的基于多任务深度学习的物流复合码识别方法,其特征在于:所述的用于全方位获取物流编码标签图像的方法,在分拣流水线的识别工位的上方、前后左右分别安置了5个相机,从各个方向捕捉到货物上的物流编码标签的图像;此外,为了确保准确无误地读取到货物上粘贴的物流编码标签,这里规定至少在货物的两个面上粘贴物流编码标签。
3.如权利要求1所述的基于多任务深度学习的物流复合码识别方法,其特征在于:所述的适用于视觉识别的复合码设计方案,将喷码字符的标签图像与一维码图像或者二维码图像进行组合构成复合码图像,在复合码图像中上部为喷码字符的标签图像、下部位一维码图像或者二维码图像。
4.如权利要求1所述的基于多任务深度学习的物流复合码识别方法,其特征在于:所述的用于对复合码的标签进行检测定位的Faster R-CNN网络,Faster R-CNN作为多任务卷积神经网络的基础网;网络最前面的是3×3卷积网络,称为conv1,后面紧接4个堆叠卷积模块命名为conv2_x到conv5_x,每个模块分别包含了{2,3,3,3}个单元,conv1到conv4_3作为共享网络;其后是RPN,即区域建议网络,RPN网络将一个任意尺度图像作为输入,输出矩形目标建议框的集合,每个框包含4个位置坐标变量和一个得分;为了生成区域建议框,在最后一个共享的卷积层输出的卷积特征映射上滑动小网络,这个网络全连接到输入卷积特征映射的n×n的空间窗口上;每个滑动窗口映射到一个低维向量上,每个特征映射的一个滑动窗口对应一个数值;这个向量输出给两个同级的全连接的层;
所述的RPN;RPN网络将一个任意尺度图像作为输入,输出矩形目标建议框的集合,每个框包含4个位置坐标变量和一个得分;所述的矩形目标建议框的目标指的是喷码字符的标签;
对每个建议框是目标/非目标的估计概率,是用二分类的softmax层实现的分类层;k个建议框被相应的k个称为anchor的建议框参数化;
每个anchor以当前滑动窗口中心为中心,并对应一种尺度和长宽比,使用3种尺度和3种长宽比,这样在每一个滑动位置就有k=9个anchor;
为了训练RPN网络,给每个anchor分配一个二进制的标签,以此来标注该anchor是不是目标;然后分配正标签给这两类anchor:(I)与某个真正目标包围盒,即Ground Truth,GT有最高的IoU,即Interse-ction-over-Union,交集并集之比,重叠的anchor;(II)与任意GT包围盒有大于0.7的IoU交叠的anchor;注意到一个GT包围盒可能给多个anchor分配正标签;
分配负标签给与所有GT包围盒的IoU比率都低于0.3的anchor;非正非负的anchor对训练目标没有任何作用,则弃用;
对一个图像的损失函数定义为:
这里,i是一个anchor的索引,pi是anchor是第i目标的预测概率,如果anchor为正,GT标签 就是1,如果anchor为负,就是0;ti是一个向量,表示预测的包围盒的4个参数化坐标,是与正anchor对应的GT包围盒的坐标向量;λ是一个平衡权重,这里λ=10,Ncls是cls项的归一化值为mini-batch的大小,这里Ncls=256,Nreg是reg项的归一化值为anchor位置的数量,Nreg~2,400,分类损失函数Lcls是两个类别,即复合码目标vs.背景的对数损失:对于回归损失函数Lreg,用以下函数定义:
式中,Lreg为回归损失函数,R是鲁棒的损失函数,用公式(4)计算smooth L1;
式中,smoothL1为smooth L1损失函数,x为变量。
5.如权利要求1所述的基于多任务深度学习的物流复合码识别方法,其特征在于:所述的用于复合码图像纠偏及字符的正倒检测的算法模块,对偏转形变的复合码的标签图像进行仿射变换,处理得到正位状态的复合码的标签图像;
仿射变换是一种二维坐标(x,y)到二维坐标(u,v)的线性变换,用公式(5)表示;
式中,x、y为仿射变换前的坐标,u、v为仿射变换后的坐标,a1、b1、c1、a2、b2和c2分别为仿射变换的参数;
在做仿射变换时需要四个点,通过检测定位的Faster R-CNN网络处理得到的复合码的标签图像的最小面积矩形的四个顶点就是仿射变换时所需要的四个点,用公式(5)进行仿射变换,这样就能得到纠偏后的复合码的标签图像。
6.如权利要求1或5所述的基于多任务深度学习的物流复合码识别方法,其特征在于:
所述的用于深度学习和训练识别的多任务深度卷积神经网络,为了将多种任务融合在一起进行学习和训练,通过学习和训练分别提取得到复合码的标签的特征以及喷码字符的标签上的字符图像特征;多任务包括了复合码的标签的检测定位和喷码字符的标签上的字符图像的识别;
设计一种多任务目标函数是至关重要的;多任务目标函数用公式(6)表示;
式中, 是输入特征向量 和权重参数wt的映射函数,L(·)为损失函数,Φ(wt)为权重参数的正则化值,T为总任务数,对于第t个任务的训练数据记为 其中t∈(1,T),i∈(1,N),N为总训练样本数, 分别为第i样本的特征向量和标注标签;
对于损失函数,利用softmax配合对数似然代价函数训练最后一层的特征,实现多任务图像分类,softmax损失函数用公式(7)定义,式中,xi为第i深度特征,Wj为最后一个全连接层中权重的第j列,b是偏置项,m,n分别为处理样本数量与类别数。
7.如权利要求1或5所述的基于多任务深度学习的物流复合码识别方法,其特征在于:
所述的基于深度学习的喷码字符的标签上的字符识别的卷积神经网络,喷码字符的标签上的字符特征的提取是通过卷积神经网络的学习训练过程来实现的,将28个字符数据集进行训练,抽取出这些字符的特征;将数据集按8:2比例分为训练集和验证集,经过10万次迭代,训练出卷积神经网络模型;为了提高识别的鲁棒性,训练集的字符图像采用不同角度、不同光照条件下拍摄的喷码字符部分的标签图像,同时考虑到软包装上喷码字符部分的标签图像的一些变形或者字符部分的划伤以及水迹等污染等情况,在制作训练集的字符图像时充分考虑实际应用中喷码字符的标签图像的各种状况,用于训练的字符图像为800个,对于28个字符共用于训练的字符图像为28×800;利用这些大量的字符图像训练样本和隐藏层逐层深入地学习图像的抽象信息,更全面直接地获取字符图像特征。
8.如权利要求1所述的基于多任务深度学习的物流复合码识别方法,其特征在于:所述的用于识别复合码中一维条码的算法模块,一维条码识别模块算法步骤如下:STEP1):获取条形码bar和space宽度最简单的方法就是沿着某一行从头至尾扫描,简便起见,先只扫描一行,且该行为条形码中间行;
STEP2):对图像应当进行简单的预处理,灰度化->二值化->中值滤波;
STEP3):设置3个变量,currentPix表示当前像素值,pos表示上次像素值变化的位置,lastPix表示上次像素值变化的位置的像素,当currentPix!=lastPix时,记录下当前位置与pos的差,即当前bar或者space的宽度,然后更新pos和lastPix,继续遍历直到该行结束;
STEP4):条形码从起始符到终止符一共有59个bar或者space,因为是从行的起始位置开始扫描,所以左侧空白区也被扫描进去了,因此最终bar和space的数量为60。
9.如权利要求1所述的基于多任务深度学习的物流复合码识别方法,其特征在于:所述的用于识别复合码中二维条码的算法模块,这里采用QR Code码进行编码,识别二维条码的过程就是对二维条码进行解码,其算法步骤如下:STEP1:读取QR Code码图像;
STEP2:图像预处理,对QR Code码图像会有不同程度的失真,背景色或噪音等,因此,需要对图像进行预处理。图像已处理的主要技术有灰度化、去噪、阈值变换、定位及边缘检测等;
STEP3:译码,首先获取QR Code码符号图像的基本模块的宽度,然后按照符号字符在QR Code码符号图像中的排列方式及符号字符与码词矩阵的关系计算码字的值;
STEP4:数据转换,获取到的码字序列,去除其起始符和终止符,得到数据码字序列,然后按照具体的QR Code码编码模式,采用相反的方法进行数据转换,从而得到QR Code码符号图像包含的数据信息。
10.如权利要求1或8或9所述的基于多任务深度学习的物流复合码识别方法,其特征在于:所述的用于根据识别的复合码信息控制分拣动作的分拣控制模块,组合喷码字符的标签图像中识别出来的字符序列以及一维条码图像或者二维条码图像所识别出来的字符序列,并用该复合码所表达的信息进行货品的物流及供应链管理。