空托盘识别方法及其装置

文档序号:25608400发布日期:2021-06-25 14:23阅读:197来源:国知局
空托盘识别方法及其装置

1.本公开涉及智能旅检领域,并且更具体地涉及一种空托盘识别方法、一种空托盘识别装置、一种电子设备以及一种计算机可读存储介质。


背景技术:

2.传统的旅检流程通常为:由安检员引导旅客将行李物品按照一定的方法放入托盘中,安检员根据通过物品机或者ct机等行李扫描装置后的图像判断旅客所携带的行李物品是否符合规定,并对可疑行李进行安全检查;在旅客取走行李物品后,安检员将空托盘收回重新使用。因此,安检工作人员的工作非常辛苦和繁重。
3.因此,需要一种高效精确的方法和装置来自动识别托盘是否为空托盘,以实现空托盘自动回传,而无需安检员将空托盘收回重新使用,以此来减轻安检员工作压力,提高安检效率。


技术实现要素:

4.为了实现上述目的,在本申请的第一方面中,提供了一种空托盘识别方法,可以包括:从图像采集模块接收待识别的托盘的图像;对于所述图像,确定识别模块中是否存在针对所述图像的有效基准空托盘图像;响应于存在针对所述图像的有效基准空托盘图像,基于所述图像和/或针对所述图像的有效基准空托盘图像,利用第一方法确定与所述图像相对应的托盘是否为空托盘;响应于不存在针对所述图像的有效基准空托盘图像,仅基于所述图像利用与所述第一方法不同的第二方法来确定与所述图像相对应的托盘是否为空托盘,并且其中,在确定托盘为空托盘的情况下,将与该空托盘相对应的图像确定为新的有效基准空托盘图像。
5.根据本申请的第一方面,针对所述图像的有效基准空托盘图像可以是在从与所述图像的接收时间相差第一预定阈值的时刻起至所述图像的接收时间之间的空托盘图像。
6.根据本申请的第一方面,所述方法还可以包括:利用测距单元,测量在垂直方向上从所述测距单元至所述待识别的托盘的底面或者所述待识别的托盘中的物品的上表面上的最高点之间的距离;响应于所述距离小于第二预定阈值,确定所述待识别的托盘不是空托盘;以及响应于所述距离等于所述第二预定阈值,确定所述待识别的托盘是空托盘。
7.根据本申请的第一方面,所述方法还可以包括:响应于所述距离等于所述第二预定阈值确定所述待识别的托盘是空托盘,启动执行对于所述图像确定识别模块中是否存在针对所述图像的有效基准空托盘图像的操作。
8.根据本申请的第一方面,其中,基于所述图像和/或针对所述图像的有效基准空托盘图像利用第一方法确定与所述图像相对应的托盘是否为空托盘可以包括:计算所述图像与针对所述图像的有效基准空托盘图像中的每个对应的像素之间的差值,并且对各个差值的绝对值进行求和或者对各个差值求平方和;响应于所述和大于或等于第三预定阈值,确定与所述图像相对应的托盘不是空托盘;以及响应于所述和小于所述第三预定阈值,确定
与所述图像相对应的托盘是空托盘。
9.根据本申请的第一方面,其中,基于所述图像和/或针对所述图像的有效基准空托盘图像利用第一方法确定与所述图像相对应的托盘是否为空托盘可以包括:将不同时刻获得的大量空托盘图像两两组合,将不同时刻获得的大量空托盘图像与非空托盘图像两两组合,以获得第一样本集和第二样本集;基于所述第一样本集和所述第二样本集进行深度学习方法获得第一识别模型;以及利用所述第一识别模型确定与所述图像相对应的托盘是否为空托盘。
10.根据本申请的第一方面,其中,仅基于所述图像利用与所述第一方法不同的第二方法来确定与所述图像相对应的托盘是否为空托盘可以包括:对所述图像进行二值化处理以获得二值化图像;统计所述二值化图像中的像素的像素和;响应于所述像素和小于第四预定阈值,确定与所述图像相对应的托盘是空托盘;以及响应于所述像素和大于或等于所述第四预定阈值,确定与所述图像相对应的托盘不是空托盘。
11.根据本申请的第一方面,其中,仅基于所述图像利用与所述第一方法不同的第二方法来确定与所述图像相对应的托盘是否为空托盘可以包括:以不同时刻获得的大量空托盘图像和非空托盘图像作为第三样本集和第四样本集;以及基于所述第三样本集和所述第四样本集进行深度学习方法获得第二识别模型;以及利用所述第二识别模型确定与所述图像相对应的托盘是否为空托盘。
12.根据本申请的第一方面,所述方法还可以包括:利用第三方法在所述图像中获得感兴趣区域roi;以及基于所述roi或者所述roi和针对所述图像的有效基准空托盘图像,利用所述第一方法或所述第二方法确定与所述图像相对应的托盘是否为空托盘。
13.根据本申请的第一方面,其中,所述第三方法可以包括:边缘检测、自适应阈值二值化、模板匹配、图像梯度运算、深度学习。
14.在本申请的第二方面中,提供了一种空托盘识别装置,可以包括:图像采集模块,被配置为采集待识别的托盘的图像;以及识别模块,被配置为执行以下操作:从所述图像采集模块接收所述待识别的托盘的所述图像;对于所述图像,确定识别模块中是否存在针对所述图像的有效基准空托盘图像;响应于存在针对所述图像的有效基准空托盘图像,基于所述图像和/或针对所述图像的有效基准空托盘图像,利用第一方法确定与所述图像相对应的托盘是否为空托盘;响应于不存在针对所述图像的有效基准空托盘图像,仅基于所述图像利用与所述第一方法不同的第二方法来确定与所述图像相对应的托盘是否为空托盘,并且其中,在确定托盘为空托盘的情况下,将与该空托盘相对应的图像确定为新的有效基准空托盘图像。
15.在本申请的第三方面中,提供了一种电子设备,可以包括:一个或多个处理器;以及存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现根据第一方面所述的方法。
16.在本申请的第四方面中,提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现根据第一方面所述的方法。
17.基于本申请中提供的以上各个方面,可以在智能旅检过程中自动识别托盘是否为空托盘,并且可以将所识别的空托盘自动循环利用,而无需安检人员手动的收回托盘并将其重新投放到传送装置上,由此可以显著减轻安检人员的工作量,并且可以避免由于安检
人员疲劳或者疏忽而将具有非常小的物品的非空托盘回收的情况。
附图说明
18.通过参考附图详细描述本公开的实施例,本公开的上述和其它实施例和特征将变得更清楚,在附图中:
19.图1示意性示出了根据本公开实施例的空托盘识别方法的系统架构;
20.图2示意性示出了根据本公开实施例的空托盘识别方法的第一实施例的流程图;
21.图3示意性示出了根据本公开实施例的空托盘识别方法的第二实施例的流程图;
22.图4示意性示出了根据本公开实施例的利用第一方法确定托盘是否为空托盘的第一实施例的流程图;
23.图5示意性示出了根据本公开实施例的利用第一方法确定托盘是否为空托盘的第二实施例的流程图;
24.图6示意性示出了根据本公开实施例的利用第二方法确定托盘是否为空托盘的第一实施例的流程图;
25.图7示意性示出了根据本公开实施例的利用第二方法确定托盘是否为空托盘的第二实施例的流程图;
26.图8示意性示出了根据本公开实施例的空托盘检测装置的框图;
27.图9示意性示出了根据本公开实施例的适于实现空托盘检测方法的电子设备的框图。
具体实施方式
28.下面将详细描述本发明的具体实施例,应当注意,这里描述的实施例只用于举例说明,并不用于限制本发明。在以下描述中,为了提供对本发明的透彻理解,阐述了大量特定细节。然而,对于本领域普通技术人员显而易见的是:不必采用这些特定细节来实行本发明。在其他实例中,为了避免混淆本发明,未具体描述公知的电路、材料或方法。
29.在整个说明书中,对“一个实施例”、“实施例”、“一个示例”或“示例”的提及意味着:结合该实施例或示例描述的特定特征、结构或特性被包含在本发明至少一个实施例中。因此,在整个说明书的各个地方出现的短语“在一个实施例中”、“在实施例中”、“一个示例”或“示例”不一定都指同一实施例或示例。此外,可以以任何适当的组合和/或子组合将特定的特征、结构或特性组合在一个或多个实施例或示例中。
30.应当理解,当称元件“耦接到”或“连接到”另一元件时,它可以是直接耦接或连接到另一元件或者可以存在中间元件。相反,当称元件“直接耦接到”或“直接连接到”另一元件时,不存在中间元件。
31.此外,这里使用的术语“和/或”包括一个或多个相关列出的项目的任何和所有组合。
32.将理解的是,与术语相应的单数形式的名词可包括一个或更多个事物,除非相关上下文另有明确指示。如这里所使用的,诸如“a或b”、“a和b中的至少一个”、“a或b中的至少一个”、“a、b或c”、“a、b和c中的至少一个”以及“a、b或c中的至少一个”的短语中的每一个短语可包括在与所述多个短语中的相应一个短语中一起列举出的项的所有可能组合。如这里
所使用的,诸如“第1”和“第2”或者“第一”和“第二”的术语可用于将相应部件与另一部件进行简单区分,并且不在其它方面(例如,重要性或顺序)限制所述部件。
33.如这里所使用的,术语“模块”可包括以硬件、软件或固件实现的单元,并可与其他术语(例如,“逻辑”、“逻辑块”、“部分”或“电路”)可互换地使用。模块可以是被适配为执行一个或更多个功能的单个集成部件或者是该单个集成部件的最小单元或部分。例如,根据实施例,可以以专用集成电路(asic)的形式来实现模块。
34.应该理解的是,本公开的各种实施例以及其中使用的术语并不意图将在此阐述的技术特征限制于具体实施例,而是包括针对相应实施例的各种改变、等同形式或替换形式。除非本文另有明确定义,否则所有术语将给出其最广泛的可能解释,包括说明书中暗示的含义以及本领域技术人员理解的和/或字典、论文等中定义的含义。
35.此外,本领域普通技术人员应当理解,在此提供的附图都是为了说明的目的,并且附图不一定是按比例绘制的。对于附图的描述,相似的参考标号可用来指代相似或相关的元件。以下将参考附图对本公开进行示例性描述。
36.为了解决如背景技术部分中所阐述的问题,本公开的实施例提供了一种用于更高效地检测托盘是否为空托盘的方法以及能够应用该方法的装置。该方法包括:从图像采集模块接收待识别的托盘的图像;对于所述图像,确定识别模块中是否存在针对所述图像的有效基准空托盘图像,其中,针对所述图像的有效基准空托盘图像是在从与所述图像的接收时间相差第一预定阈值的时刻起至所述图像的接收时间之间的空托盘图像;响应于存在针对所述图像的有效基准空托盘图像,基于所述图像和/或针对所述图像的有效基准空托盘图像,利用第一方法确定与所述图像相对应的托盘是否为空托盘;响应于不存在针对所述图像的有效基准空托盘图像,仅基于所述图像利用与所述第一方法不同的第二方法来确定与所述图像相对应的托盘是否为空托盘。在确定托盘为空托盘的情况下,将与该空托盘相对应的图像确定为新的有效基准空托盘图像。
37.以下将参考附图并结合具体实施例详细阐述本公开。
38.图1示意性示出了根据本公开实施例的空托盘识别方法的系统架构。该系统架构100可以包括托盘传送装置101、中央处理单元102、图像采集模块103、以及可选的测距模块104。
39.如图所述,托盘传送装置101可以被配置为沿着第一方向x(水平方向)传送托盘。
40.托盘传送装置101上的右侧处设置有信号采集区,并且信号采集器的左右两侧设置有两对光电开光(其中,a和b为一对,c和d为另一对)。
41.在示例性实施例中,当托盘(例如,图1中的托盘n)完全进入信号采集区而遮挡住这两对光电开光时,光电开关改变状态(例如,从没有遮挡情况下的状态“0”变为有遮挡情况下的状态“1”,或者备选地,从没有遮挡情况下的状态“1”变为有遮挡情况下的状态“0”),并且向中央处理单元102发送指示该状态改变的信号。
42.中央处理单元102可以被配置为在接收到用于指示光电开关改变状态的信号之后,向图像采集模块103和可选的测距模块104发送启动信号,以促使图像采集模块103和测距模块104开始采集数据。
43.在另一示例性实施例中,当托盘(例如,图1中的托盘n)完全进入信号采集区而遮挡住这两对光电开光时,光电开关从低电平(例如,“0”)变为高电平(例如,“1”)或者从高电
平(例如,“1”)变为低电平(例如,“0”),中央处理单元102响应于光电开关处于改变后的高电平(例如,“1”)或者低电平(例如,“0”),使得图像采集模块103和可选的测距模块104持续进行信息采集。
44.在此情况下,为了防止图像采集模块和测距模块不断对相同的托盘进行成像和测距而使得计算负载过重,例如,可以设置第二预定时间段,以便从当前接收的图像和/或距离的时间开始计时,在经过第二预定时间段之后,再次获取并接收下一图像和/或距离。这可以有效减少中央处理单元的计算量、节省存储器的存储空间、减轻图像采集模块和测距模块的工作量等。
45.在示例性实施例中,数据可以包括由图像采集模块103对进入信号采集区的托盘进行成像而获得的图像,并且在系统框架100中设置有测距模块104的情况下,包括由测距模块104测量的从测距模块104在垂直方向(图1中的y方向,y方向与x方向以及托盘的底面均垂直)上距离其最近的点的距离。
46.图像采集模块103和可选的测距模块104将所采集的数据传送给中央处理单元102,以用于确定托盘是否为空托盘。以下将参考其他附图对其进行详细描述。
47.在示例性实施例中,图像采集模块103可以是拍摄静态图片的相机,也可以是拍摄视频的摄像机。
48.在示例性实施例中,优选地,图像采集模块103可以被配置为设置在信号采集区的中心点的正上方。
49.更优选地,图像采集模块103设置在与信号采集区的中心点相距1m的位置处。
50.在示例性实施例中,优选地,托盘n的底面的中心点可以与信号采集区的中心点重合。
51.尽管图1中仅示出了一个图像采集模块,但是本领域技术人员应当理解,可以设置两个或更多个图像采集模块。在这种情况下,图像采集模块103可以被配置为分别设置在信号采集区中的任一点的正上方。
52.测距模块的主要作用在于防止托盘中放置有大型物品,而将托盘误认为是空托盘。
53.在示例性实施例中,优选地,测距模块104可以被配置为处于信号采集区的中心点的正上方。
54.更优选地,测距模块设置在与信号采集区的中心点相距1m的位置处。
55.在备选实施例中,在存在多个测距模块的情况下,测距模块104可以被配置为设置在位于信号采集区中的任一点的正上方。
56.在示例性实施例中,在托盘为空托盘的情况下,则距离测距模块104最近的点为托盘的上底面上的点。此时,测距模块104测量到的距离空托盘底面的距离可以作为第二预定阈值,以用于确定托盘中是否存在物品。
57.具体地,在托盘中存在物品的情况下,则由测距模块104测量的到物品的最高点的距离必定小于第二预定阈值(即,测距模块104测量到的距离空托盘底面的距离)。此时,确定托盘不是空托盘。
58.尽管图1中仅示出了一个测距模块104,但是本领域技术人员应当理解,可以在位于信号采集区中的托盘上方设置多个测距模块。在此情况下,也可以通过比较各个测距模
块测量的到距离其最近的点的距离来判断托盘是否为空托盘。
59.具体地,在存在多个测距模块的情况下,如果各个测距模块测量的距离不一致,则表示托盘中存在物品,此时将托盘确定为非空托盘。相反,在各个测距模块测量对的距离一致(均等于第二预定阈值)时,将托盘确定为空托盘。
60.中央处理单元102可以包括:距离识别模块,以用于基于从测距模块104接收的距离来确定托盘是否为空托盘;以及图像识别模块,以用于基于从图像采集模块103接收的图像来确定托盘是否为空托盘。
61.关于距离识别模块和图像识别模块的详细操作,将在下文阐述。
62.中央处理模块102可以是设置有处理单元的台式计算机、平板电脑、膝上型计算机、智能电话等任何合适的电子设备。
63.中央处理单元102还可以包括存储器(未示出)和通信模块(未示出)等。
64.中央处理单元102的处理器可以被配置为:从图像采集模块103和可选的测距模块接收数据,以基于所接收的数据确定托盘是否为空托盘。
65.中央处理单元102的存储器可以存储与用于进行空托盘识别相关的数据和指令等。本领域技术人员应理解,中央处理单元102的存储器可以视情况存储各种合适的信息,在此不再详述。
66.中央处理单元102中的通信模块可以支持在中央处理单元102与外部电子装置之间建立直接(例如,有线)通信信道或无线通信信道,并经由建立的通信信道执行通信。例如,通信模块经由网络向图像采集模块103和/或测距模块104发送指令,并且经由网络从图像采集模块103和/或测距模块104接收数据。
67.通信模块可以包括能够与处理器(例如,应用处理器(ap))独立操作的一个或更多个通信处理器,并支持有线通信和/或无线通信。根据本公开实施例,通信模块可以包括无线通信模块(例如,蜂窝通信模块、短距离无线通信模块或全球导航卫星系统(gnss)通信模块)或有线通信模块(例如,局域网(lan)通信模块或电力线通信(plc)模块)。这些通信模块中的相应一个可经由第一网络(例如,短距离通信网络,诸如蓝牙、无线保真(wi-fi)直连或红外数据协会(irda))或第二网络(例如,长距离通信网络,诸如蜂窝网络、互联网、或计算机网络(例如,lan或广域网(wan)))与外部电子装置进行通信。可将这些各种类型的通信模块实现为单个部件(例如,单个芯片),或可将这些各种类型的通信模块实现为彼此分离的多个部件(例如,多个芯片)。无线通信模块可使用存储在用户识别模块中的用户信息(例如,国际移动用户识别码(imsi))识别并验证通信网络(诸如第一网络或第二网络)中的电子装置。
68.此外,中央处理单元102还可以包括显示器、麦克风、扬声器等,以用于显示或播报托盘的状态(即,是空托盘还是非空托盘)、或者告警等。
69.图2示意性示出了根据本公开实施例的空托盘识别方法的第一实施例的流程图。
70.如图2所示,该方法包括如下操作。
71.在操作s201中,中央处理单元102从图像采集模块103接收图像。
72.在操作s203中,对于所接收的图像,中央处理单元102确定是否存在针对该图像的有效基准空托盘图像。
73.在示例性实施例中,针对该图像的有效基准空托盘图像可以是在从与该图像的接
收时间相差第一预定阈值的时刻起至该图像的接收时间之间的空托盘图像。
74.示例性地,第一预定阈值为2min。
75.示例性地,在接收到图像时可以为图像添加时间戳、或者将图像与接收到的时间相关联地存储等,以确定对于所接收的图像而言在时间上距离其最近接收的空托盘图像是否为针对其的有效基准空托盘图像。
76.在本文中,设置有效基准空托盘图像的目的在于有效排除光照对图像的影响。这是因为,在短时间内,光照实质上没有差别,此时正被识别的托盘的图像与其有效基准空托盘图像中光照引起的噪声实质上相同,由此在基于正被识别的托盘的图像与其有效基准空托盘图像来确定图像中的托盘是否为空托盘时,可以不用考虑光照的影响。
77.在操作s205中,响应于存在针对所接收的图像的有效基准空托盘图像,基于该图像和/或针对该图像的有效基准空托盘图像,利用第一方法确定与该图像相对应的托盘是否为空托盘。
78.在示例性实施例中,第一方法可以包括差分图像方法和深度学习方法。将在下文对其进行详细描述。
79.在操作s207中,响应于不存在针对所接收的图像的有效基准空托盘图像,仅基于该图像利用与第一方法不同的第二方法来确定与该图像相对应的托盘是否为空托盘。
80.在操作s209中,确定与所接收的图像相对应的托盘是否为空托盘。在确定为空托盘的情况下,处理进行到操作s211;在确定为非空托盘的情况下,处理进行到操作s213。
81.在操作s211中,由于将托盘确定为空托盘,由此可以将该空托盘自动取回以循环利用,并且将确定其中的托盘为空托盘的图像存储为新的基准空托盘图像。此时,处理从操作s211进行到操作s203,用于将新确定的基准空托盘图像用于操作s203中执行的操作,从而确定该新确定的基准空托盘图像对于在其后的待识别的图像来说是否是有效基准空托盘图像。
82.在操作s213中,确定出托盘为非空托盘。
83.在示例性实施例中,此时,该托盘固定在信号采集区中不动,并且中央处理单元从确定其为非空托盘的时刻起开始计时,在计时时间超过第一预定时间段的情况下,中央处理单元102发出警告。
84.图3示意性示出了根据本公开实施例的空托盘识别方法的第二实施例的流程图。
85.如图3所示,该方法包括如下操作。
86.在操作s301中,利用测距模块测量到距其最近的点的距离。
87.在操作s303中,确定所测量的距离是小于还是等于第二预定阈值。
88.在本文中,第二预定阈值可以是从测距模块到空托盘上表面的距离。
89.在所测量的距离小于第二预定阈值的情况下,处理进行到操作s319,认为托盘中存在物品,由此该物品的顶表面上的点为距测距模块最近的点。
90.在所测量的距离等于第二预定阈值的情况下,处理进行到操作s305,初步将托盘确定为空托盘。
91.然后,处理开始执行操作s307至s319。操作s307至s319与图2中的操作s201至s213相同。在此不再赘述。
92.在直接基于图像确定托盘是否为空托盘之前,首先辅助地利用测距模块测量的距
离来确定托盘是否为空托盘,可以有效减少中央处理单元102的计算量。
93.相反,在利用测距模块测量的距离确定托盘是否为空托盘之后,再利用图像来进行进一步地确定,是为了防止托盘中存在的物品较小,利用测距模块测量距离时,该较小物品恰好在托盘的角落处,由此由测距模块测量的距离仍等于第二预定阈值。此时,直接基于距离等于第二预定阈值而武断地确定托盘为空托盘是不负责任的。
94.由此,本公开综合利用测距模块所测量的距离和图像识别模块对图像进行识别来确定托盘是否为空托盘,既能节省计算量,又能提高确定精度。
95.图4示意性示出了根据本公开实施例的利用第一方法确定托盘是否为空托盘的第一实施例的流程图。
96.如图4所示,该方法包括如下操作。
97.在操作s401中,利用差分图像方法逐像素地计算待识别托盘的图像与其有效基准空托盘图像中的对应像素之间的差值,并且对各个差值的绝对值进行求和或者对各个差值求平方和。
98.在操作s403中,确定所计算的和是否大于或等于第三预定阈值。
99.在所计算的和大于或等于第三预定阈值的情况下,处理进行到操作s405,在其中确定托盘为非空托盘。
100.在所计算的和小于第三预定阈值的情况下,处理进行到操作s407,在其中确定托盘为空托盘。
101.图5示意性示出了根据本公开实施例的利用第一方法确定托盘是否为空托盘的第二实施例的流程图。
102.如图5所示,该方法包括如下操作。
103.在操作s501中,从中央处理单元102的存储器中的用于存储空托盘图像和非空托盘图像的数据库中拣选大量的空托盘图像和非空托盘图像。
104.在操作s503中,将拣选出的不同时刻拍摄的空托盘的图像两两组合,并为这样的组合设置标签1,从而形成大量的标签为1的第一训练样本。
105.在操作s505中,将拣选出的不同时刻拍摄的非空托盘的图像与空托盘图像两两组合,并为这样的组合设置标签0,从而形成大量的标签为0的第二训练样本。
106.在操作s507中,基于第一训练样本和第二训练样本训练出第一识别模型。
107.当获得了待识别的托盘的图像时,在操作s511中,基于第一识别模型来确定待识别的托盘的图像是空托盘图像还是非空托盘图像。
108.在确定为空托盘图像的情况下,处理进行到操作s513,在其中确定待识别的托盘是空托盘,同时将该空托盘图像存储到数据库中,以用于操作s503至s507中的操作,以不断更新第一识别模型。
109.在确定为非空托盘图像的情况下,处理进行到操作s515,在其中确定待识别的托盘是非空托盘,同时将该非空托盘图像存储到数据库中,以用于操作s503至s507中的操作,以不断更新第一识别模型。
110.在示例中,训练数据包含标签为1的第一训练样本2万对,标签为0的第二训练样本5万对,测试数据包含标签为1的数据1万对,标签为0的数据1万对,使用基于vgg16的深度学习分类网络进行分类,训练模型可以准确区分空托盘和非空托盘。该方法在titanx上耗时
约为50ms,在inter i7-6500u的cpu上耗时为250ms。
111.尽管在示例性实施例中是将空托盘图像两两组合以形成第一训练样本,并且将其标签设置为1,将空托盘图像与非空托盘图像两两组合,并且将其标签设置为0,但是本领域技术人员应当理解,可以根据需要,将非空托盘图像两两组合,并且将其标签设置为0,并且将非空托盘图像与空托盘图像两两组合,并且将其标签设置为1。
112.在另外的实施例中,可以根据需要实现更多样化的组合,并且相对应地设置更多种类的标签。
113.图6示意性示出了根据本公开实施例的利用第二方法确定托盘是否为空托盘的第一实施例的流程图。
114.如图6所示,该方法包括如下操作。
115.在操作s601中,对待识别托盘的图像进行而二值化处理,以获得二值化图像。
116.在示例性实施例中,利用自适应阈值二值化方法进行二值化处理。本领域技术人员应当理解,也可以使用本领域人员公知的或者将来开发的任何方法来进行二值化处理。
117.在操作s603中,统计二值化图像中的像素的像素和。
118.在操作s605中,确定统计的像素和是否大于或等于第四预定阈值。
119.在统计的像素和大于或等于第四预定阈值的情况下,处理进行到操作s607,在其中确定托盘不是空托盘。
120.在统计的像素值小于第四预定阈值的情况下,处理进行到操作s609,在其中确定托盘是空托盘。
121.图7示意性示出了根据本公开实施例的利用第二方法确定托盘是否为空托盘的第二实施例的流程图。
122.如图7所示,该方法包括如下操作。
123.在操作s701中,从数据库中拣选大量的空托盘图像和非空托盘图像。
124.在操作s703中,以拣选出的空托盘图像作为第三训练样本,并且以拣选出的非空托盘图像作为第四训练样本。
125.在操作s705中,基于第三训练样本和第四训练样本训练出第二识别模型。
126.当获得待识别托盘的图像时,在操作s707中,基于第二识别模型确定待识别托盘的图像是否为空托盘。
127.当确定为空托盘图像时,处理进行到操作s709,并且处理从操作s709返回到s701,以将新的空托盘图像用于以后的模型训练中,由此不断更新第二识别模型。
128.当确定为非空托盘图像时,处理进行到操作s711,并且处理从操作s711返回到s701,以将新的非空托盘图像用于以后的模型训练中,由此不断更新第二识别模型。
129.在示例中,可以采用alexnet训练算法来训练第二识别模型。在示例中,训练数据包含空托盘图像20000个,非空托盘图像20000个,测试数据包含空托盘5000,非空托盘5000,训练集和测试集无重叠。测试分类准确率为99.9%,在titan 920m上耗时为4ms,在inter i7-6500u的cpu上耗时为150ms。
130.以上描述了基于待识别托盘的图像和/或有效基准空托盘图像利用不同方法确定待识别托盘是否为空托盘。
131.需要说明的是,本领域技术人员应当理解,以上基于待识别托盘的图像和/或有效
基准空托盘图像进行识别时,基于对应像素之间的匹配来实现的。用于实现像素之间的匹配的方法或算法可以采用本领域公知的或者将来开发的任何技术。
132.在示例性实施例中,还可以在待识别托盘的图像和有效基准空托盘图像中获得感兴趣区域roi(例如,托盘边框包围的区域),以更加精确地识别托盘是否为空托盘。
133.示例性地,可以利用边缘检测、自适应阈值二值化、模板匹配、图像梯度运算、深度学习等方法中的一项或多项来获得roi区域。
134.示例性地,在利用边缘检测的情况下,首先通过检测托盘边缘,确定托盘的边缘和旋转角度,将托盘转正并移动至固定位置后准确截取托盘roi,在空托盘的情况下,该方法的检测准确率为100%,在非空托盘的情况下,除非托盘边缘被遮挡,该方法都可以准确检测托盘区域。而当托盘边缘被遮挡时,托盘位置检测不准确会造成截取的roi包含托盘外侧的区域,在后续识别过程中可以轻易的被识别为非空托盘。该方法inter i7-6500u的cpu上的运行时间仅为20-30ms,耗时非常低。
135.示例性地,在深度学习的情况下,首先人工标定图像中托盘的准确位置5000张用于训练,然后使用yolov2或者faster-rcnn算法训练托盘检测算法来进行训练,由此获得用于识别roi区域的模型。在获取图像区域后,准确截取图像roi。在titan 1080ti上,使用faster rcnn模型托盘检测模块的耗时为150ms左右,使用yolov2算法托盘检测耗时约为40ms。
136.示例性地,在利用自适应阈值二值化的情况下,可以在二值化图像中容易地识别到roi区域。
137.在获得roi区域之后,可以基于roi区域和/或有效基准空托盘图像,根据以上描述的操作来确定待识别图像是否为空托盘图像。
138.在示例性实施例中,可以在获得roi区域之后,可以将roi区域旋转至与有效基准空托盘图像中的空托盘一致的位置,以使得roi区域与有效基准空托盘图像中的托盘区域对齐。
139.在示例性实施例中,如上所述,在托盘固定在信号采集区中不动且固定时间超过第一预定时间段的情况下,中央处理单元102发出警告。
140.在示例性实施例中,在光照强度过强、人员遮挡光线等情况下,空托盘图像可能会被误判为非空托盘图像,此时该空托盘图像会被固定在信号采集区不动,并由此引发警告。
141.在这种情况下,无论是采用第一方法还是第二方法,都需要人员干预。
142.此时,需要人员确定待识别的托盘是否为空托盘,在托盘为空托盘的图像的情况下,将与该托盘相对应的图像确定为基准空托盘图像并对其进行存储,以用于以后的识别。
143.基于此,当以后再次出现由于光照强度过强、人员遮挡光线而获得类似的图像时,能够基于该经由人工干预确定的基准空托盘图像将其确定为空托盘图像,从而减少人工干预次数。
144.图8示意性示出了根据本公开实施例的空托盘检测装置的框图。
145.如图8所示,空托盘识别装置1000可以包括图像采集模块1001、以及识别模块1002。
146.图像采集模块1001可以被配置为采集待识别的托盘的图像。
147.识别模块1002可以被配置为执行以下操作:从所述图像采集模块接收所述待识别
的托盘的所述图像;对于所述图像,确定识别模块中是否存在针对所述图像的有效基准空托盘图像,其中,针对所述图像的有效基准空托盘图像是在从与所述图像的接收时间相差第一预定阈值的时刻起至所述图像的接收时间之间的空托盘图像;响应于存在针对所述图像的有效基准空托盘图像,基于所述图像和/或针对所述图像的有效基准空托盘图像,利用第一方法确定与所述图像相对应的托盘是否为空托盘;以及响应于不存在针对所述图像的有效基准空托盘图像,仅基于所述图像利用与所述第一方法不同的第二方法来确定与所述图像相对应的托盘是否为空托盘。在确定托盘为空托盘的情况下,将与该空托盘相对应的图像确定为新的有效基准空托盘图像。
148.在示例性实施例中,空托盘识别装置1000还可以包括:测距模块;检测模块,用于确定是否存在有效基准空托盘图像;对比识别模块,用于执行第一方法来确定托盘是否为空托盘;以及单图识别模块,用于利用第二方法来确定托盘是否为空托盘;报警单元,在托盘为非空托盘且在信号采集区中的时间超过第一预定时间段时,发出警报,等等。
149.根据需要,空托盘识别装置1000还可以包括另外的单元或模块,用于对应地执行上述各种操作。
150.为了清楚和简洁起见,在此不再赘述各个模块及其中所执行的对应操作。
151.根据本公开的实施例的多个模块的功能可以在一个模块中实现。根据本公开实施例的一个模块可以被拆分成多个模块来实现。根据本公开实施例的模块可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
152.根据本公开的实施例,上述模块中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。可选地,上述模块中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
153.图9示意性示出了根据本公开实施例的适于实现上文描述的空托盘识别方法的电子设备的方框图。图9示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
154.如图9所示,根据本公开实施例的电子设备900包括处理器901,其可以根据存储在只读存储器(rom)902中的程序或者从存储部分808加载到随机访问存储器(ram)903中的程序而执行各种适当的动作和处理。处理器901例如可以包括通用微处理器(例如cpu)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(asic)),等等。处理器901还可以包括用于缓存用途的板载存储器。处理器901可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
155.在ram 903中,存储有电子设备900操作所需的各种程序和数据。处理器901、rom 902以及ram 903通过总线904彼此相连。处理器901通过执行rom 902和/或ram 903中的程
序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除rom902和ram 903以外的一个或多个存储器中。处理器901也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
156.根据本公开的实施例,电子设备900还可以包括输入/输出(i/o)接口905,输入/输出(i/o)接口905也连接至总线904。电子设备900还可以包括连接至i/o接口905的以下部件中的一项或多项:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至i/o接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
157.根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被处理器901执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
158.本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
159.根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的rom 902和/或ram 903和/或rom 902和ram 903以外的一个或多个存储器。
160.附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
161.本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可
以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
162.以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1