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

基于物品关联关系的对象识别的方法和装置与流程

2021-12-07 20:55:00 来源:中国专利 TAG:


1.本发明涉及仓储物流领域,尤其涉及一种基于物品关联关系的对象识别方法和装置。


背景技术:

2.在航空、地铁等公共交通地点,需要对货运物品或者托运物品进行安全检查。安检机危险品识别是用于安防的重要的计算机视觉技术。其通过安检机x光对货物进行不开箱的安全检查。有时会出现在一定的时间段内有大量物品通过安检机的情况,需要使用视频数据自主辅助安检人员对危险品进行识别,以确定危险品的类型和存在危险品的包裹,此时使用到了视觉技术来辅助判断危险品。
3.然而,在实现本发明过程中,发明人发现现有技术中至少存在如下问题:虽然安检机图像识别技术已经较成熟,但由于现有技术中利用目标检测、图像分割等,是直接在图像中去寻找有无危险品,而实际操作中,有些危险品体积较小,特征不明显,难以识别;有些危险品则会因为形状差异较大难以识别;同时,颜色成像也会因为安检机型号的差别,导致在公开训练集上训练得到的检测模型通用性比较差。
4.为了提高对象的识别率,申请人进行了深入的研究,结果发现:由于多种物品在同一包裹内出现的几率是不一样的,其多种物品本身存在的关联关系。例如,购买了水果刀的用户很有可能购买了其他厨具比如盘子之类的,因此,包裹里有盘子这一信息对于判断当前的物件是否属于水果刀具的信息是非常有用的。也就是说,当确定了一个包裹内有某种物品的时候,对于确认是否包含有某一类型的对象是十分有帮助的。


技术实现要素:

5.有鉴于此,本发明实施例提供一种基于物品关联关系的对象识别的方法和装置,能够充分利用物品之间的关联关系,在降低成本的同时提高对象的识别率。
6.为实现上述目的,根据本发明实施例的一个方面,提供了一种基于物品关联关系的对象识别的方法,其特征在于,包括:对由拍摄装置采集到的采集图片进行包裹检测,获取所述采集图片中的对应于各个包裹的包裹子区域;将所述包裹子区域中所有物品的物品子图按照预先确定的顺序加工为序列,并将所述序列输入到神经网络;利用所述神经网络,得到所述包裹子区域中的对象的基于物品关联关系的子序列;以及根据所述子序列进行对象识别,其中,所述神经网络是基于训练样本训练而成:收集具有多个包裹且包裹中包含多个物品的图片以生成所述训练样本;对所述图片进行包裹检测;并且将所获得的包裹子图中含有的多个物品的物品子图加工为序列,并标记对应的物品及其位置,以建立基于物品关联关系的对应物品位置数据库。
7.上述发明中的一个实施例具有如下优点或有益效果:由于本发明直接使用了例如电商销售的sku(stock keeping unit,库存量单位)的物品关联关系(即,初始化时使用sku物品的关联矩阵)来辅助对象识别这样的技术手段,因此减少了训练学习的成本,并且克服
了在对象体积较小或形状差异大时难以识别以及颜色成像时检测模型通用性较差这样的技术问题,因此达到了能够在降低成本的同时提高对象识别率这样的技术效果。
8.本发明的基于物品关联关系的对象识别的方法中,优选地,在对所述神经网络进行训练时,根据标记出的物品及其位置的情况,对所述神经网络中的用于目标检测的网络进行训练。
9.本发明的基于物品关联关系的对象识别的方法中,优选地,在对所述神经网络进行训练时,利用条件概率对所述对应物品位置数据库进行更新,以对所述神经网络中的子神经网络进行调优。
10.本发明的基于物品关联关系的对象识别的方法中,优选地,在将所述包裹子区域中的所有物品的物品子图加工为序列时,按照特定的物品之间的iou进行排序。
11.本发明的基于物品关联关系的对象识别的方法中,优选地,在将所述包裹子区域中的所有物品的物品子图加工为序列时,按照特定的物品之间的iou和距离进行排序。
12.本发明的基于物品关联关系的对象识别的方法中,优选地,在按照所述iou从大到小排序之后,根据所述距离从远到近进行排序。
13.本发明的基于物品关联关系的对象识别的方法中,优选地,将更新后的应物品位置数据库用于电商推荐阶段以及物流的包裹邮寄阶段。
14.为实现上述目的,根据本发明实施例的一个方面,提供了一种基于物品关联关系的对象识别的装置,其特征在于,包括:包裹检测模块,对由拍摄装置采集到的采集图片进行包裹检测,获取所述采集图片中的对应于各个包裹的包裹子区域;子图排序模块,将所述包裹子区域中所有物品的物品子图按照预先确定的顺序加工为序列,并将所述序列输入到神经网络;子序列获取模块,利用所述神经网络,得到所述包裹子区域中的对象的基于物品关联关系的子序列;以及对象识别模块,根据所述子序列进行对象识别,其中,所述神经网络是基于训练样本训练而成:收集具有多个包裹且包裹中包含多个物品的图片以生成所述训练样本;对所述图片进行包裹检测;并且将所获得的包裹子图中含有的多个物品的物品子图加工为序列,并标记对应的物品及其位置,以建立基于物品关联关系的对应物品位置数据库。
15.上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
16.附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
17.图1是根据本发明实施例的基于物品关联关系的对象识别的方法的主要流程的示意图;
18.图2是根据本发明实施例的基于物品关联关系的对象识别的装置的主要模块的示意图;
19.图3(a)是用于说明本发明实施例的包裹检测动作的安检机检测原始图的示意图;
20.图3(b)是用于说明本发明实施例的包裹检测动作的安检机包裹检测结果图的示意图;
21.图4(a)是用于说明对单个包裹进行sku检测的单个发包裹原始图的示意图;
22.图4(b)是用于说明对单个包裹进行sku检测的单个包裹的sku检测图的示意图;
23.图5是用于说明本技术的神经网络结构的示意图;
24.图6是本发明实施例可以应用于其中的示例性系统架构图;
25.图7是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
26.以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
27.图1是根据本发明实施例的基于物品关联关系的对象识别的方法的主要流程的示意图,如图1所示,该方法包括:步骤s101:对由拍摄装置采集到的采集图片进行包裹检测,获取所述采集图片中的对应于各个包裹的包裹子区域;步骤s102:将所述包裹子区域中所有物品的物品子图按照预先确定的顺序加工为序列,并将所述序列输入到神经网络;步骤s103:利用所述神经网络,得到所述包裹子区域中的对象的基于物品关联关系的子序列;以及步骤s104:根据所述子序列进行对象识别,其中,所述神经网络是基于训练样本训练而成;收集具有多个包裹且包裹中包含多个物品的图片以生成所述训练样本;对所述图片进行包裹检测;并且将所获得的包裹子图中含有的多个物品的物品子图加工为序列,并标记对应的物品及其位置,以建立基于物品关联关系的对应物品位置数据库。以下,将针对上述各步骤进行具体说明。
28.步骤s101:对由拍摄装置采集到的采集图片进行包裹检测,获取所述采集图片中的对应于各个包裹的包裹子区域。步骤s101主要用于包裹检测,本发明中的上述步骤s101可以使用现有技术中通常使用的较为成熟的方法。只要能够用于包裹检测,则没有特别的限制。但是考虑到各个安检机的型号不同,存在安检机的分辨率不够高而导致在对整张安检机图像进行危险品检测时有很多包裹和无效信息、噪音干扰的问题,本发明优选先对包裹进行检测,再例如通过faster

rcnn等方法将检测出的包裹作为一个新的图片。例如,如图3(a)、3(b)所示,获取安检机的摄像头采集到的图片,并使用faster r

cnn来截取图片中所有的包裹子区域。然后,通过传输等方式将该包裹子区域的图片用于后续的对象识别中。
29.步骤s102:将所述包裹子区域中所有物品的物品子图按照预先确定的顺序加工为序列,并将所述序列输入到神经网络。
30.在步骤s102中,例如,按照图片中sku物品之间的iou(intersection over union,重叠率)排序而加工为序列[x1,...,x
|d|
],将序列[x1,...,x
|d|
]通过调用api的方式输入模型。有时也按照图片中sku物品之间的iou和距离进行排序。
[0031]
由于本发明中引入了iou和距离的排序这样的技术手段,因此提高了对象识别的速率,从而达到在节约成本的同时提高对象识别率这样的技术效果。
[0032]
步骤s103:利用所述神经网络,得到所述包裹子区域中的对象的基于物品关联关系的子序列。
[0033]
在步骤s103中,包括利用目标检测网络进行检测的部分以及利用马尔科夫转移链
来得到子序列的部分。
[0034]
对于目标检测网络f(
·
)进行以下说明。如图4(a)、4(b)所示,假设仓库的sku的集合为n,且包裹画面中同时出现的物品sku区域子图的集合为d,则对于其中的物品子图x
i
∈d,目标检测网络输出一个概率分布是x
i
中的为|n|个sku中任一个的概率,表示为f(x
i
)=[p1(i),p2(i),...,p
|n|
(i)],其中,p
j
(i)为x
i
中包含的为物品j的概率。需要记录包裹图片中每一张物品区域子图x
i
的位置,为分别表示为物品区域左上和右下的坐标。对于集合d,其中的[x1,...,x
|d|
]对应的物品为[h1,h2,...,h
|d|
]的概率为其中,p(h1,h2,...,h
|d|
)为h1,h2,...,h
|d|
共同出现的联合概率。此处,可以从神经网络f(
·
)来获得,由于条件概率p(h
j
|h1,h2...h
j
‑1,h
j 1
,...h
|d|
)

p(h1,h2,...,h
|d|
),那么这里的关键就是如何计算p(h1,h2,...,h
|d|
)。其中最大的难点是,如何使用统一的方法计算此处的联合概率分布。
[0035]
为了解决这一问题,本方案涉及另一个模块马尔科夫转移链,引入物品关联关系加入模型判断。例如,假设有多个物品在图片内,则由于消费者的购买习惯以及物品配件关系,每个物品出现会依赖于其他物品。例如出现电池往往是电子产品的配件,而消费者购买了奶粉一般会同时购买纸巾类产品。当两样物品同时出现也会有一定的位置关系,电脑电池会随电脑整机出现,并且在打包的时候,由于同一类型的物品,比如洗衣液和沐浴液,由于储存类型相同,在同一个仓库存储,从而被打包一个整体。而不同类型的物品会被打包成为另一部分。从而物品之间在包裹内出现的实际上是包含了sku之间的关联关系的。
[0036]
以下,以该对象是危险品为例进行详细说明。使用由目标检测网络检测到的危险品可能性最高的一个或者几个物品组成候选集d
k
,某一个可能的危险品d
i
,计算其他物品位置和该危险品位置的iou和距离远近的顺序,进行有序排列,按照iou从大到小,然后再根据距离从远到近的排序。也可以仅使用iou进行有序排列。这个部分通过目标检测模块得到的位置信息计算出来的。从而假设[h1,h2,...,h
|d|
]由上述排序方式排序的结果为h1,h2,...,h
|d|
,则[x1,...,x
|d|
]对应的sku为[h1,h2,...,h
|d|
]的概率为其中,p(h
i 1
|h
i
)为h
i
和h
i 1
同时出现,且h
i 1
是h
i
排序最先的物品。
[0037]
如上所述地,由于本发明中引入了iou和距离的排序这样的技术手段,因此提高了危险品识别的速率,从而达到在节约成本的同时提高危险品识别率这样的技术效果。
[0038]
如图4(a)、4(b)所示,假设目标检测网络f(
·
)中所有参数的值和对任意两个物品的组合h
i
和h
j
,p(h
j
|h
i
)是已知的,那么给定包裹内物品子图的序列[x1,...,x
|d|
],则要选定使得概率最大的物品的序列,即,计算这一个概率需要较高的时间复杂度。为了简化模型的复杂度,利用部分库存量单位包含的所属关系具有一定的马尔科夫链的依赖关系,比如,电池

>遥控器

>四驱车。
[0039]
使用动态规划的方法来进行求解,提升运算效率。由于
[0040]
[0041]
那么能够使最大的序列必然包含了使
[0042][0043]
最大的子序列。因此,可以使用维特比算法来求解
[0044][0045]
在本步骤中,由于目标是检出对象并不需要完全计算出包裹内所有物品出现的联合概率,因此,将问题简化到部分子序列问题,只确定考虑危险品备查集合d
k
中每个物品d
i
,以及按照iou排序最近的物品d
i 1
,所以问题变为求解
[0046][0047]
最后得到最有可能的危险品种类子序列。
[0048]
对于所述神经网络的训练流程主要如下步骤:
[0049]
采集历史安检机画面,挑选出其中有多个包裹并且包裹中可能包含多个物品的图片;
[0050]
对所有的图片使用faster r

cnn做包裹检测,抽出其中的包裹子图;
[0051]
对每个包裹子图进行标记,对一张图片中有多个物品的图片做序列并且标记对应物品及其位置;
[0052]
根据标记出的对应物品及其位置的情况,对目标检测网络进行训练;和
[0053]
根据iou序列标记情况对p(h
j
|h
i
)(即,条件概略或者关联矩阵或者数据库)进行学习,对神经网络f(
·
)进行调优。
[0054]
另外,参照图5,对本发明中的神经网络结构进行说明。此处,仍以该对象是危险品为例进行详细说明。如图5所示,自上而下第一层代表原始图像检测得到的子图[x1,...,x
|d|
],即目标检测模型,第二层是神经网络f(
·
),第三层是马尔科夫链。
[0055]
为了实现上述的流程,第一步对包裹检测模型进行训练。包裹检测使用常见的目标检测方法即可,例如faster r

cnn,然后要对目标检测网络中的参数和p(h
j
|h
i
)进行学习。学习的过程分为训练和调优两部分。其中,训练的部分只对神经网络f(
·
)进行训练,调优部分对神经网络f(
·
)和概率p(h
j
|h
i
)一同学习。在对p(h
j
|h
i
)进行学习之前,可以使用库存量单位的关联关系,比如电商网站上的协同过滤矩阵做概率归一化,作为初始化矩阵,将更快的学习到转移矩阵。对f(
·
)的训练过程为:选取一定量的安检机原始检测图片,并进行标记,标记的内容为:单个包裹图中包含哪几种物品,每个物品的区域。
[0056]
表1
[0057]
hj/hi电池遥控器玩具车方形纽扣电池
‑‑
0.70.250.05遥控器0.23
‑‑
0.760.01玩具车0.120.84
‑‑
0.04方形纽扣0.330.330.33
‑‑
[0058]
表1初始的关联矩阵(协同过滤矩阵)
[0059]
标记好之后,使用多任务损失函数,通过随机梯度下降法来进行优化。在f(
·
)的结构选择上,这里选用faster r

cnn,但实际使用中也可以选用目标检测方法。在调优部分,选取大量打标后的单个包裹数据,抽取出其中的物品区域子图,并根据选取最小/最大物品作为排序起点,按照iou排序方式进行排序,并对其中的人物物品进行标记。对每个标记好的序列[x1,...,x
|d|
],假设其对应的库存量单位为[h1,h2,...,h
|d|
],则以负最大似然为损失函数,使用随机梯度下降进行训练。最终训练得到的模型用于对安检机危险品的识别。
[0060]
例如,单个包裹检测到的单独的库存量单位的概率值如表1所示,最小的区域库存量单位可能是电池=0.5或者方形纽扣=0.5,遥控器=0.78,玩具车=0.9;结合表1所示的初始的关联矩阵,p(电池|遥控器)=0.7,p(方形纽扣|遥控器)=0.33,p(遥控器|玩具车)=0.76可以计算概率最大子序列:
[0061]
电池

>遥控器

>玩具车:0.5*(0.7*0.78)*(0.76*0.9)=0.1867
[0062]
方形纽扣

>遥控器

>玩具车:0.5*(0.33*0.78)*(0.76*0.9)=0.1334
[0063]
由于概率最大子序列:电池

>遥控器

>玩具车,所以在预测的时候结果是:电池

>遥控器

>玩具车的sku序列,训练时通过确定标记的最大子序列,反向迭代表各个sku之间的条件概率,即更新sku的关联矩阵。
[0064]
由于本发明中使用的马尔科夫链的结构相较于对象关系模块(object relation module)结构而言,尤其在推断的阶段更接近于搜索的方式而不是分类(参考人脸识别技术),推断的速率快很多。而且,在本发明中采用马尔科夫转移概率的形式来建模多个物品同时出现的条件概率这样的技术手段,因此提高了对象识别的准确率,从而达到在节约成本的同时提高对象识别速度和识别率这样的技术效果。
[0065]
步骤s104:根据所述子序列进行对象识别。
[0066]
具体而言,将步骤s103步骤中得到的最大子序列与作为对象的例如事先录入的危险品名单进行自动对比,例如,出现的子序列是(电池,遥控器,玩具车);危险品名单是(管制刀具,电池,液体,爆炸物)。发现有子序列当中包含电池,则自动报警提示存在危险品。
[0067]
另外,除了上述步骤s101~s104之外,在本技术中还可以包括步骤s105:使用条件概率对该基于物品关联关系的对应物品位置数据库进行更新,以对所述神经网络中的子神经网络进行调优。具体而言,在训练时通过确定标记的最大子序列来反向迭代表各个库存量单位之间的条件概率,即更新库存量单位的关联矩阵。从而,在神经网络训练之后可以得到例如经电商购买的各种物品的基于内容的协同过滤矩阵等的包裹运输的sku物品之间的协同过滤矩阵。由于马尔科夫链模块的拆分性,同时迭代更新了物品关联矩阵,得到了新的物品的关联矩阵,可以利用在电商推荐阶段以及物流的包裹邮寄阶段。
[0068]
另外,根据本技术的上述实施例,与使用例如用于目标检测的关系网络(relation networks for object detection)等方法相比,由于不需要将图片当中不同物体的特征一并添加到目标检测的后续设计的对象关系模块(object relation module)网络结构当中,因此,能够缩小模型的网络结构,从而缩短用于计算的时间。
[0069]
图2是根据本发明实施例的基于物品关联关系的对象识别的装置的主要模块的示意图,如图2所示,该方法包括:包裹检测模块201:对由拍摄装置采集到的采集图片进行包裹检测,获取所述采集图片中的对应于各个包裹的包裹子区域;子图排序模块202:将所述
包裹子区域中所有物品的物品子图按照预先确定的顺序加工为序列,并将所述序列输入到神经网络;子序列获取模块203:利用所述神经网络,得到所述包裹子区域中的对象的基于物品关联关系的子序列;以及对象识别模块204:根据所述子序列进行对象识别,其中,所述神经网络是基于训练样本训练而成:收集具有多个包裹且包裹中包含多个物品的图片以生成所述训练样本;对所述图片进行包裹检测;并且将所获得的包裹子图中含有的多个物品的物品子图加工为序列,并标记对应的物品及其位置,以建立基于物品关联关系的对应物品位置数据库。以下,将针对上述各模块进行具体说明。
[0070]
包裹检测模块201:对由拍摄装置采集到的采集图片进行包裹检测,获取所述采集图片中的对应于各个包裹的包裹子区域。包裹检测模块201主要用于包裹检测,本发明中的包裹检测模块201可以使用现有技术中通常使用的较为成熟的模块。只要能够用于包裹检测,则没有特别的限制。但是考虑到各个安检机的型号不同,存在安检机的分辨率不够高而导致在对整张安检机图像进行危险品检测时有很多包裹和无效信息、噪音干扰的问题,本发明优选先对包裹进行检测,再例如通过faster

rcnn等方法将检测出的包裹作为一个新的图片。例如,如图3(a)、3(b)所示,获取安检机的摄像头采集到的图片,并使用faster r

cnn来截取图片中所有的包裹子区域。然后,通过传输等方式将该包裹子区域的图片用于后续的对象识别中,例如子图排序模块202。
[0071]
子图排序模块202:将所述包裹子区域中所有物品的物品子图按照预先确定的顺序加工为序列,并将所述序列输入到神经网络。
[0072]
在子图排序模块202中,例如,按照图片中sku物品之间的iou(intersection over union,重叠率)排序而加工为序列[x1,...,x
|d|
],将序列[x1,...,x
|d|
]通过调用api的方式输入模型。有时也按照图片中sku物品之间的iou和距离进行排序。
[0073]
由于本发明中引入了iou和距离的排序这样的技术手段,因此提高了对象识别的速率,从而达到在节约成本的同时提高对象识别率这样的技术效果。
[0074]
子序列获取模块303:利用所述神经网络,得到所述包裹子区域中的对象的基于物品关联关系的子序列。
[0075]
在步骤s103中,包括利用目标检测网络进行检测的部分以及利用马尔科夫转移链来得到子序列的部分。
[0076]
对于目标检测网络f(
·
)进行以下说明。如图4(a)、4(b)所示,假设仓库的sku的集合为n,且包裹画面中同时出现的物品sku区域子图的集合为d,则对于其中的物品子图x
i
∈d,目标检测网络输出一个概率分布是x
i
中的为|n|个sku中任一个的概率,表示为f(x
i
)=[p1(i),p2(i),...,p
|n|
(i)],其中,p
j
(i)为x
i
中包含的为物品j的概率。需要记录包裹图片中每一张物品区域子图x
i
的位置,为分别表示为物品区域左上和右下的坐标。对于集合d,其中的[x1,...,x
|d|
]对应的物品为[h1,h2,...,h
|d|
]的概率为其中,p(h1,h2,...,h
|d|
)为h1,h2,...,h
|d|
共同出现的联合概率。此处,可以从神经网络f(
·
)来获得,由于条件概率
[0077]
p(h
j
|h1,h2...h
j
‑1,h
j 1
,...h
|d|
)

p(h1,h2,...,h
|d|
),那么这里的关键就是如何计算p(h1,h2,...,h
|d|
)。其中最大的难点是,如何使用统一的方法计算此处的联合概率分布。
[0078]
为了解决这一问题,本方案涉及另一个模块马尔科夫转移链,引入物品关联关系
加入模型判断。例如,假设有多个物品在图片内,则由于消费者的购买习惯以及物品配件关系,每个物品出现会依赖于其他物品。例如出现电池往往是电子产品的配件,而消费者购买了奶粉一般会同时购买纸巾类产品。当两样物品同时出现也会有一定的位置关系,电脑电池会随电脑整机出现,并且在打包的时候,由于同一类型的物品,比如洗衣液和沐浴液,由于储存类型相同,在同一个仓库存储,从而被打包一个整体。而不同类型的物品会被打包成为另一部分。从而物品之间在包裹内出现的实际上是包含了sku之间的关联关系的。
[0079]
以下,以该对象是危险品为例进行详细说明。使用由目标检测网络检测到的危险品可能性最高的一个或者几个物品组成候选集d
k
,某一个可能的危险品d
i
,计算其他物品位置和该危险品位置的iou(intersection over union,重叠率)和距离远近的顺序,进行有序排列,按照iou从大到小,然后再根据距离从远到近的排序。也可以仅使用iou进行有序排列。这个部分通过目标检测模块得到的位置信息计算出来的。从而假设[h1,h2,...,h
|d|
]由上述排序方式排序的结果为h1,h2,...,h
|d|
,则[x1,...,x
|d|
]对应的库存量单位为[h1,h2,...,h
|d|
]的概率为
[0080][0081]
其中,p(h
i 1
|h
i
)为h
i
和h
i 1
同时出现,且h
i 1
是h
i
排序最先的物品。
[0082]
如上所述地,由于本发明中引入了iou和距离的排序这样的技术手段,因此提高了危险品识别的速率,从而达到在节约成本的同时提高危险品识别率这样的技术效果。
[0083]
如图4(a)、4(b)所示,假设目标检测网络f(
·
)中所有参数的值和对任意两个物品的组合h
i
和h
j
,p(h
j
|h
i
)是已知的,那么给定包裹内物品子图的序列[x1,...,x
|d|
],则要选定使得概率最大的物品的序列,即,计算这一个概率需要较高的时间复杂度。为了简化模型的复杂度,利用部分库存量单位包含的所属关系具有一定的马尔科夫链的依赖关系,比如,电池

>遥控器

>四驱车。
[0084]
使用动态规划的方法来进行求解,提升运算效率。由于
[0085][0086]
那么能够使最大的序列必然包含了使
[0087][0088]
最大的子序列。因此,可以使用维特比算法来求解
[0089][0090]
在子序列获取模块203中,由于目标是检出对象并不需要完全计算出包裹内所有物品出现的联合概率,因此,将问题简化到部分子序列问题,只确定考虑危险品备查集合d
k
中每个物品d
i
,以及按照iou排序最近的物品d
i 1
,所以问题变为求解
[0091]
最后得到最有可能的危险品种类子序列。
[0092]
对于所述神经网络的训练流程主要如下步骤:
[0093]
采集历史安检机画面,挑选出其中有多个包裹并且包裹中可能包含多个物品的图片;
[0094]
对所有的图片使用faster r

cnn做包裹检测,抽出其中的包裹子图;
[0095]
对每个包裹子图进行标记,对一张图片中有多个物品的图片做序列并且标记对应物品及其位置;
[0096]
根据标记出的对应物品及其位置的情况,对目标检测网络进行训练;和
[0097]
根据iou序列标记情况对p(h
j
|h
i
)(即,条件概略或者关联矩阵或者数据库)进行学习,对神经网络f(
·
)进行调优。
[0098]
另外,参照图5,对本发明中的神经网络结构进行说明。此处,仍以该对象是危险品为例进行详细说明。如图5所示,自上而下第一层代表原始图像检测得到的子图[x1,...,x
|d|
],即目标检测模型,第二层是神经网络f(
·
),第三层是马尔科夫链。
[0099]
为了实现上述的流程,第一步对包裹检测模型进行训练。包裹检测使用常见的目标检测方法即可,例如faster r

cnn,然后要对目标检测网络中的参数和p(h
j
|h
i
)进行学习。学习的过程分为训练和调优两部分。其中,训练的部分只对神经网络f(
·
)进行训练,调优部分对神经网络f(
·
)和概率p(h
j
|h
i
)一同学习。在对p(h
j
|h
i
)进行学习之前,可以使用库存量单位的关联关系,比如电商网站上的协同过滤矩阵做概率归一化,作为初始化矩阵,将更快的学习到转移矩阵。对f(
·
)的训练过程为:选取一定量的安检机原始检测图片,并进行标记,标记的内容为:单个包裹图中包含哪几种物品,每个物品的区域。
[0100]
表1
[0101]
hj/hi电池遥控器玩具车方形纽扣电池
‑‑
0.70.250.05遥控器0.23
‑‑
0.760.01玩具车0.120.84
‑‑
0.04方形纽扣0.330.330.33
‑‑
[0102]
表1初始的关联矩阵(协同过滤矩阵)
[0103]
标记好之后,使用多任务损失函数,通过随机梯度下降法来进行优化。在f(
·
)的结构选择上,这里选用faster r

cnn,但实际使用中也可以选用目标检测方法。在调优部分,选取大量打标后的单个包裹数据,抽取出其中的物品区域子图,并根据选取最小/最大物品作为排序起点,按照iou排序方式进行排序,并对其中的人物物品进行标记。对每个标记好的序列[x1,...,x
|d|
],假设其对应的库存量单位为[h1,h2,...,h
|d|
],则以负最大似然为损失函数,使用随机梯度下降进行训练。最终训练得到的模型用于对安检机危险品的识别。
[0104]
例如,单个包裹检测到的单独的库存量单位的概率值如表1所示,最小的区域库存量单位可能是电池=0.5或者方形纽扣=0.5,遥控器=0.78,玩具车=0.9;结合表1所示的初始的关联矩阵,p(电池|遥控器)=0.7,p(方形纽扣|遥控器)=0.33,p(遥控器|玩具车)=0.76可以计算概率最大子序列:
[0105]
电池

>遥控器

>玩具车:0.5*(0.7*0.78)*(0.76*0.9)=0.1867
[0106]
方形纽扣

>遥控器

>玩具车:0.5*(0.33*0.78)*(0.76*0.9)=0.1334
[0107]
由于概率最大子序列:电池

>遥控器

>玩具车,所以在预测的时候结果是:电池

>遥控器

>玩具车的sku序列,训练时通过确定标记的最大子序列,反向迭代表各个sku之间的条件概率,即更新sku的关联矩阵。
[0108]
由于本发明中使用的马尔科夫链的结构相较于对象关系模块(object relation module)结构而言,尤其在推断的阶段更接近于搜索的方式而不是分类(参考人脸识别技术),推断的速率快很多。而且,在本发明中采用马尔科夫转移概率的形式来建模多个物品同时出现的条件概率这样的技术手段,因此提高了对象识别的准确率,从而达到在节约成本的同时提高对象识别速度和识别率这样的技术效果。
[0109]
对象识别模块404:根据所述子序列进行对象识别。
[0110]
具体而言,将子序列获取模块303中得到最大子序列与作为对象的例如事先录入的危险品名单进行自动对比,例如,出现的子序列是(电池,遥控器,玩具车);危险品名单是(管制刀具,电池,液体,爆炸物)。发现有子序列当中包含电池,则自动报警提示存在危险品。
[0111]
另外,除了上述模块201~204之外,在本技术中还可以包括调优模块205:使用条件概率对所述对应物品位置数据库进行更新,以对所述神经网络中的子神经网络进行调优。具体而言,在训练时通过确定标记的最大子序列来反向迭代表各个库存量单位之间的条件概率,即更新库存量单位的关联矩阵。从而,在神经网络训练之后可以得到例如经电商购买的各种物品的基于内容的协同过滤矩阵等的包裹运输的sku物品之间的协同过滤矩阵。由于马尔科夫链模块的拆分性,同时迭代更新了物品关联矩阵,得到了新的物品的关联矩阵,可以利用在电商推荐阶段以及物流的包裹邮寄阶段。
[0112]
另外,根据本技术的上述实施例,与使用例如用于目标检测的关系网络(relation networks for object detection)等方法相比,由于不需要将图片当中不同物体的特征一并添加到目标检测的后续设计的对象关系模块(object relation module)网络结构当中,因此,能够缩小模型的网络结构,从而缩短用于计算的时间。
[0113]
图6示出了可以应用本发明实施例的基于物品关联关系的对象识别的方法或基于物品关联关系的对象识别的装置的示例性系统架构600。
[0114]
如图6所示,系统架构600可以包括终端设备601、602、603,网络604和服务器605。网络604用以在终端设备601、602、603和服务器605之间提供通信链路的介质。网络604可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
[0115]
用户可以使用终端设备601、602、603通过网络604与服务器605交互,以接收或发送消息等。终端设备601、602、603上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
[0116]
终端设备601、602、603可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
[0117]
服务器605可以是提供各种服务的服务器,例如对用户利用终端设备601、602、603所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息
‑‑
仅为示例)反馈给终端设备。
[0118]
需要说明的是,本发明实施例所提供的基于物品关联关系的对象识别的方法一般由服务器605执行,相应地,基于物品关联关系的对象识别的装置一般设置于服务器605中。
[0119]
应该理解,图6中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
[0120]
下面参考图7,其示出了适于用来实现本发明实施例的终端设备的计算机系统700的结构示意图。图7示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0121]
如图7所示,计算机系统700包括中央处理单元(cpu)701,其可以根据存储在只读存储器(rom)702中的程序或者从存储部分708加载到随机访问存储器(ram)703中的程序而执行各种适当的动作和处理。在ram 703中,还存储有系统700操作所需的各种程序和数据。cpu 701、rom 702以及ram 703通过总线704彼此相连。输入/输出(i/o)接口705也连接至总线704。
[0122]
以下部件连接至i/o接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至i/o接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
[0123]
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(cpu)701执行时,执行本发明的系统中限定的上述功能。
[0124]
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd

rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
[0125]
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0126]
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括包裹检测模块、子图排序模块、子序列获取模块和对象识别模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,包裹检测模块还可以被描述为“对采集图像进行包裹检测的模块”。
[0127]
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备执行包括:对由拍摄装置采集到的采集图片进行包裹检测,获取所述采集图片中的对应于各个包裹的包裹子区域;将所述包裹子区域中所有物品的物品子图按照预先确定的顺序加工为序列,并将所述序列输入到神经网络;利用所述神经网络,得到所述包裹子区域中的对象的基于物品关联关系的子序列;以及根据所述子序列进行对象识别,其中,所述神经网络是基于训练样本训练而成:收集具有多个包裹且包裹中包含多个物品的图片以生成所述训练样本;对所述图片进行包裹检测;并且将所获得的包裹子图中含有的多个物品的物品子图加工为序列,并标记对应的物品及其位置,以建立基于物品关联关系的对应物品位置数据库。
[0128]
根据本发明实施例的技术方案,由于本发明直接使用了例如电商销售的sku物品关联关系(即,初始化时使用sku物品的关联矩阵)来辅助对象识别这样的技术手段,因此减少了训练学习的成本,并且克服了在对象体积较小或形状差异大时难以识别以及颜色成像时检测模型通用性较差这样的技术问题,因此达到了能够在降低成本的同时提高对象识别率这样的技术效果。
[0129]
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
再多了解一些

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

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

相关文献