掌桥专利:专业的专利平台
掌桥专利
首页

用于瓶体检测分类的方法、装置及瓶体柜

文献发布时间:2023-06-19 09:29:07


用于瓶体检测分类的方法、装置及瓶体柜

技术领域

本申请涉及计算机图形与图像处理技术领域,例如涉及一种用于瓶体检测分类的方法、装置及瓶体柜。

背景技术

目前,图像目标检测是计算机视觉的一项基本任务,其目的是在图像中检测到目标并得到目标的位置。各式各样的饮料在便利店中随处可见,生产厂家往往需要统计便利店冷柜中的饮料种类。然而对于冷柜中饮料的数量统计仍然需要人工统计,极大的耗费了时间和人力资源。若能采用相机和计算机视觉算法来检测分类饮料,自动统计冷柜中饮料的类别和数量,并对不合格的饮料摆放发出报警,将有极大的实际应用价值。已有的算法形如AlexNet(一种神经网络)使用深度网络来提取特征,对原图像滑窗取样,对于外观特征明显且尺度变化较小的目标能取得不错的效果,但是对于尺度的计算鲁棒性较差;利用区域候选网络实现实时目标检测网络R-CNN(Towards Real-Time Object Detection withRegion Proposal Networks)针对于尺度变化问题,建立了大量的感兴趣区域ROI(Regionof Interest),这些区域被转换为固定大小的图像,并分别馈送到卷积神经网络中。该网络架构后面会跟几个全连接层,以实现目标分类并提炼边界框。其中,Faster R-CNN是近年来提出的一种优秀的检测算法。

在实现本公开实施例的过程中,发现相关技术中至少存在如下问题:

Faster R-CNN的检测精度是建立在外观特征明显的类别上,难以应对饮料瓶细粒度分类的问题。

发明内容

为了对披露的实施例的一些方面有基本的理解,下面给出了简单的概括。所述概括不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围,而是作为后面的详细说明的序言。

本公开实施例提供了一种用于瓶体检测分类的方法、装置及瓶体柜,以解决现有技术难以应对饮料瓶细粒度分类的技术问题。

在一些实施例中,所述方法包括:

检测待检测图像中的瓶体位置;

根据所述瓶体位置获得瓶体特征;

对瓶体特征进行分类。

在一些实施例中,所述装置包括:

包括处理器和存储有程序指令的存储器,所述处理器被配置为在执行所述程序指令时,执行前述的方法。

在一些实施例中,所述瓶体柜包括前述的装置。

本公开实施例提供的用于瓶体检测分类的方法、装置及瓶体柜,可以实现以下技术效果:

在识别瓶体的过程中,将对瓶体位置的识别过程和对瓶体特征的识别过程划分为两个独立的过程,可为检测瓶体位置的过程选择出较佳的检测方式,也可为对瓶体分类的过程选择较佳的分类方式,通过对每个过程分别采取较佳的处理方式,提高了对饮料瓶等瓶体分类的细粒度。

以上的总体描述和下文中的描述仅是示例性和解释性的,不用于限制本申请。

附图说明

一个或一个以上实施例通过与之对应的附图进行示例性说明,这些示例性说明和附图并不构成对实施例的限定,附图中具有相同参考数字标号的元件示为类似的元件,附图不构成比例限制,并且其中:

图1是本公开实施例提供的用于瓶体检测分类的方法的流程示意图;

图2是本公开实施例提供的用于瓶体检测分类的方法的流程示意图;

图3是本公开实施例提供的检测瓶体位置的方法的流程示意图;

图4是本公开实施例提供的检测网络的方框示意图;

图5是本公开实施例提供的训练过程的流程示意图;

图6是本公开实施例提供的分类过程的流程示意图;

图7是本公开实施例提供的获取瓶体特征的流程示意图;

图8是本公开实施例提供的用于检测瓶体位置的装置的方框示意图。

附图标记:

41:共享卷积层;42:特有卷积层;43:ROI池化层;44:全连接层;45:RPN;46:滑动窗口;47:第一卷积层;48:第二卷积层;81:处理器;82:存储器;83:通信接口;84:总线。

具体实施方式

为了能够更加详尽地了解本公开实施例的特点与技术内容,下面结合附图对本公开实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本公开实施例。在以下的技术描述中,为方便解释起见,通过多个细节以提供对所披露实施例的充分理解。然而,在没有这些细节的情况下,一个或一个以上实施例仍然可以实施。在其它情况下,为简化附图,熟知的结构和装置可以简化展示。

在本公开中,对瓶体内所盛放的物品不做限定,例如,瓶体可包括饮料瓶、酒瓶、装饰瓶、药瓶等。

对瓶体进行检测分类,通过瓶体上的特征对放置在一起的瓶体进行分类,例如,当瓶体用于盛放不同的饮料时,对瓶体检测分类,即为对饮料检测分类,可识别出不同的饮料;当瓶体用于盛放不同的酒时,对瓶体检测分类,即为对酒检测分类,可识别出不同的酒。

本公开实施例提供了一种用于瓶体检测分类的方法。

图1是本公开实施例提供的用于瓶体检测分类的方法的流程示意图,如图1所示,在一些实施例中,用于瓶体检测分类的方法包括:

步骤S101、检测待检测图像中的瓶体位置;

步骤S102、根据瓶体位置获得瓶体特征;

步骤S103、对瓶体特征进行分类。

在识别瓶体的过程中,将对瓶体位置的识别过程和对瓶体特征的识别过程划分为两个独立的过程,可为检测瓶体位置的过程选择出较佳的检测方式,也可为对瓶体分类的过程选择较佳的分类方式,通过对每个过程分别采取较佳的处理方式,提高了瓶体分类的细粒度。

图2是本公开实施例提供的用于瓶体检测分类的方法的流程示意图,如图2所示,在一些实施例中,用于瓶体检测分类的方法包括:

步骤S201、通过基于利用区域候选网络实现实时目标检测网络Faster R-CNN的神经网络检测待检测图像中的瓶体位置。

可选地,待检测图像每两张为一组。其中,每张待检测图像在不同角度反映同一场景中的瓶体。则步骤S201包括:通过基于Faster R-CNN的神经网络检测一组待检测图像中的瓶体位置。在摄像头拍摄图像的过程中,往往会出现畸变,采用一组待检测图像,可降低每张待检测图像的畸变对检测分类结果的影响,提高了对瓶体检测分类的准确度。

步骤S202、根据瓶体位置获得瓶体特征。

在步骤S201中获得瓶体位置后,即可提取瓶体位置处的特征图像,并进一步地解析出瓶体特征。该过程可在本方法中执行,例如,用于执行本方法的控制器,同时执行获取特征图像并解析瓶体特征的过程;该过程不在本方法中执行,本方法只需获得瓶体特征即可,例如:在其他控制器中执行获取特征图像并解析瓶体特征的过程,并将瓶体特征发送至执行本方法的控制器中。

步骤S203、通过k最临近算法KNN(k-NearestNeighbor)分类器对瓶体特征进行分类。

通过基于Faster R-CNN的神经网络作为检测框架来提取出瓶体柜中的瓶体,利用了Faster R-CNN框架适合分类外观特征比较明显的类别的优势,如,利用Faster R-CNN框架可较佳地区分出瓶体和柜体,再用KNN分类器实现了对瓶体(例如饮料瓶)的细粒度分类。

图3是本公开实施例提供的检测瓶体位置的方法的流程示意图,如图3所示,在一些实施例中,步骤S201中通过基于Faster R-CNN的神经网络检测出待检测图像中的瓶体位置,包括:

步骤S301、通过共享卷积层提取待检测图像的第一特征图像。

步骤S302、通过特有卷积层在第一特征图像中提取第二特征图像。

即,特有卷积层的输入为共享卷积层的输出。

步骤S303、通过区域候选网络RPN(Region Proposal Network)在第一特征图像中提取第一候选框。

即,RPN的输入为共享卷积层的输出。

步骤S304、通过ROI池化层处理第一特征图像和第一候选框,输出第二候选框。

即,共享卷积层和RPN的输出共同作为ROI池化层的输入。

步骤S305、通过全连接层处理第二候选框,输出瓶体位置。

即,全连接层的输入为ROI池化层的输出,全连接层可回归出瓶体位置。

基于Faster R-CNN的神经网络执行上述步骤后,可检测出比较准确的瓶体位置。

图4是本公开实施例提供的检测网络的方框示意图,如图4所示,基于Faster R-CNN的神经网络包括:共享卷积层41、特有卷积层42、RPN45、ROI池化层43和全连接层44。其中,共享卷积层41与特有卷积层42连接,共享卷积层41的输出为特有卷积层42的输入;共享卷积层41与RPN45连接,共享卷积层41的输出为RPN45的输入;特有卷积层42和ROI池化层43连接,RPN45与ROI池化层43连接,特有卷积层42和RPN45的输出作为ROI池化层43的输入;ROI池化层43与全连接层44连接,ROI池化层43的输入作为全连接层44的输出。

其中,RPN45包括滑动窗口46、第一卷积层47和第二卷积层48。滑动窗口46的与第一卷积层47连接,滑动窗口46的输出作为第一卷积层47的输入;第一卷积层47与第二卷积层48连接,第一卷积层47的输出作为第二卷积层48的输入;第二卷积层48可输出区域建议和第一候选框。可选地,第一卷积层47和第二卷积层48均为全连接层44。

在一些实施例中,步骤S303通过RPN在第一特征图像中提取第一候选框,包括:

将第一特征图像依次经过滑动窗口、第一卷积层和第二卷积层处理,获得第一候选框。

可选地,在获得候选框的过程中,采用非极大值抑制方法,可减少重叠候选框。其中,候选框包括第一候选框和第二候选框。

在一些实施例中,基于Faster R-CNN的神经网络的训练过程为联合训练过程。通过联合训练过程获得的神经网络可提高检测准确度。

在一些实施例中,基于Faster R-CNN的神经网络为通过一下训练方式获得的:

训练共享卷积层和RPN,并训练共享卷积层、特有卷积层和全连接层;

再次训练共享卷积层和RPN,并训练特有卷积层和全连接层。

基于Faster R-CNN的神经网络通过上述训练方式获得,可提高检测的瓶体位置的准确度。

图5是本公开实施例提供的训练过程的流程示意图,如图5所示,上述训练方式包括:

步骤S501、训练共享卷积层和RPN。

本步骤为第一次训练神经网络的过程,共享卷积层和RPN中的初始参数均为默认参数,在本步骤中更新共享卷积层和RPN的参数。

步骤S502、训练共享卷积层、特有卷积层和全连接层。

本步骤为第二次训练神经网络的过程,共享卷积层的初始参数为在步骤S501的训练过程中所获得的参数,特有卷积层和全连接层的参数为默认参数,在本步骤中更新共享卷积层、特有卷积层和全连接层的参数。

步骤S503、训练共享卷积层和RPN。

本步骤为第三次训练神经网络的过程,共享卷积层的初始参数为在步骤S502的训练过程中所获得的参数,RPN的初始参数为在步骤S501的训练过程中所获得的参数,在本步骤中,更新共享卷积层和PRN网络的参数。

步骤S504、训练特有卷积层和全连接层。

本步骤为第四次训练神经网络的过程,特有卷积层和全连接层的初始参数为在步骤S502的训练过程中所获得的参数,在本步骤中更新特有卷积层和全连接层的参数。

在一些实施例中,基于Faster R-CNN的神经网络在训练过程中采用的损失函数为多标签损失函数。可计算出神经网络在不同过程中出现的损失,提高训练准确度。

可选地,多标签损失函数包括分类损失和边框回归损失。

可选地,基于Faster R-CNN的神经网络在训练过程中的损失是通过以下方式获取的:

其中,L为损失,i是每个小批量锚点的序号,p是锚点i是目标的概率,p

在训练基于Faster R-CNN的神经网络的过程中,若该瓶体检测分类方法应用于对冷柜的饮料检测分类,则训练集中需包括大量的冷柜饮料数据。

图6是本公开实施例提供的分类过程的流程示意图,如图6所示,在一些实施例中,步骤S203中通过KNN分类器对瓶体特征进行分类,包括:

步骤S601、计算出瓶体特征与每个样本对象的距离;

步骤S602、当距离小于等于阈值时,圈定与瓶体特征距离最近的k个近邻样本对象。

当距离小于等于阈值时,则该瓶体特征为需要分类的正样本;当距离大于等于阈值时,则该瓶体特征为非需要分类的负样本。通过设置阈值,降低了计算量,提高了而分类速度。

步骤S603、依据k个近邻样本对象所属的主要类别,对瓶体特征分类;

其中,k为预设值。

本实施例可实现对瓶体的细粒度分类。

图7是本公开实施例提供的获取瓶体特征的流程示意图,如图7所示,在一些实施例中,步骤S102或步骤S202中根据瓶体位置获得瓶体特征,包括:

步骤S701、剪切瓶体位置处的特征图像;

步骤S702、通过ResNet101在特征图像中提取瓶体特征。可获得瓶体位置处的瓶体特征,例如一个瓶体的瓶体特征为一个2018维向量,进而便于对瓶体特征进行分类。

在获得瓶体特征后,保存该瓶体特征,KNN分类器读取所保存的瓶体特征,将该瓶体特征与模版库中的样本进行匹配,从而获得该瓶体特征所述的类别,即,获得该瓶体所属的类别。在分类过程中,可提高模板库中样本数量,以提高分类准确性。

在冷柜应用场景中,当训练集的数量足够多的情况下,该用于瓶体检测分类的方法的检测分类精度可达到商用水平。

本公开实施例提供了一种用于瓶体检测分类的装置。

图8是本公开实施例提供的用于检测瓶体位置的装置的方框示意图,如图8所示,在一些实施例中,用于瓶体检测分类的装置,包括:

处理器(processor)81和存储器(memory)82,还可以包括通信接口(Communication Interface)83和总线84。其中,处理器81、通信接口83、存储器82可以通过总线84完成相互间的通信。通信接口83可以用于信息传输。处理器81可以调用存储器82中的逻辑指令,以执行上述实施例的用于瓶体检测分类的方法。

此外,上述的存储器82中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。

存储器82作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令/模块。处理器81通过运行存储在存储器82中的软件程序、指令以及模块,从而执行功能应用以及数据处理,即实现上述方法实施例中的用于瓶体检测分类的方法。

存储器82可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器82可以包括高速随机存取存储器,还可以包括非易失性存储器。

本公开实施例提供了一种瓶体柜。

在一些实施例中,瓶体柜包括前述的用于瓶体检测分类的装置。

例如,该瓶体柜可为存储罐装饮料的冷柜,可为存储红酒的酒柜。该瓶体柜可用于冷藏瓶体中的物品,也可用于展示瓶体中的物品。

在一些实施例中,瓶体柜包括两个摄像头。可选地,该两个摄像头设置在瓶体柜的上部和下部,分别用于采集瓶体柜的上部和下部的图像。

在一些实施例中,瓶体柜包括柜门和陀螺仪,陀螺仪设置在柜门上,用于检测柜门的开度。

在柜门的开度达到一定角度时,控制器控制摄像头对瓶体柜内的瓶体进行拍摄,将拍摄的图像传输至用于瓶体检测分类的装置中。可选地,瓶体柜还包括无线传输装置,通过无线传输装置将拍摄的图像传输至用于瓶体检测分类的装置中。可选地,可以是摄像头直接将拍摄的图像传输至用于瓶体检测分类的装置中;也可以是控制器将拍摄的图像传输至用于瓶体检测分类的装置中。

在一些实施例中,瓶体柜的控制器被配置为:在对瓶体分类后,判断瓶体所在位置是否正确,若是,则继续执行其他步骤;否则发送提醒信息,该提醒信息用于表示该瓶体的摆放位置不正确。

该瓶体柜可节约人力资源,提高效率。

在一些实施例中,瓶体柜的控制器被配置为:

获取瓶体柜中每种瓶体的数量;

当一种瓶体的数量超过阈值,发送提示信息。

在一些实施例中,获取瓶体柜中每种瓶体的数量,包括:

在往瓶体柜中添加瓶体的过程中,识别待添加的瓶体的种类,该种类瓶体的数量加1;

在从瓶体柜中取出瓶体的过程中,识别待取出的瓶体的种类,该种类瓶体的数量减1。

可选地,识别瓶体中的种类,包括:

通过摄像头将瓶体的图像传输至用于瓶体检测分类的装置中,用于瓶体检测分类的装置识别出瓶体种类,并将该瓶体种类发送至瓶体柜的控制器。

本公开实施例提供了一种计算机可读存储介质,存储有计算机可执行指令,计算机可执行指令设置为执行上述用于瓶体检测分类的方法。

本公开实施例提供了一种计算机程序产品,计算机程序产品包括存储在计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被计算机执行时,使计算机执行上述用于瓶体检测分类的方法。

上述的计算机可读存储介质可以是暂态计算机可读存储介质,也可以是非暂态计算机可读存储介质。

本公开实施例的技术方案可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括一个或一个以上指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开实施例所述方法的全部或部分步骤。而前述的存储介质可以是非暂态存储介质,包括:U盘、移动硬盘、只读存储器ROM(Read-OnlyMemory)、随机存取存储器RAM(Random Access Memory)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。

以上描述和附图充分地示出了本公开的实施例,以使本领域的技术人员能够实践它们。其他实施例可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施例的部分和特征可以被包括在或替换其他实施例的部分和特征。本公开实施例的范围包括权利要求书的整个范围,以及权利要求书的所有可获得的等同物。当用于本申请中时,虽然术语“第一”、“第二”等可能会在本申请中使用以描述各元件,但这些元件不应受到这些术语的限制。这些术语仅用于将一个元件与另一个元件区别开。比如,在不改变描述的含义的情况下,第一元件可以叫做第二元件,并且同样地,第二元件可以叫做第一元件,只要所有出现的“第一元件”一致重命名并且所有出现的“第二元件”一致重命名即可。第一元件和第二元件都是元件,但可以不是相同的元件。而且,本申请中使用的用词仅用于描述实施例并且不用于限制权利要求。如在实施例以及权利要求的描述中使用的,除非上下文清楚地表明,否则单数形式的“一个”(a)、“一个”(an)和“所述”(the)旨在同样包括复数形式。类似地,如在本申请中所使用的术语“和/或”是指包含一个或一个以上相关联的列出的任何以及所有可能的组合。另外,当用于本申请中时,术语“包括”(comprise)及其变型“包括”(comprises)和/或包括(comprising)等指陈述的特征、整体、步骤、操作、元素,和/或组件的存在,但不排除一个或一个以上其它特征、整体、步骤、操作、元素、组件和/或这些的分组的存在或添加。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法或者设备中还存在另外的相同要素。本文中,每个实施例重点说明的可以是与其他实施例的不同之处,各个实施例之间相同相似部分可以互相参见。对于实施例公开的方法、产品等而言,如果其与实施例公开的方法部分相对应,那么相关之处可以参见方法部分的描述。

本领域技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,可以取决于技术方案的特定应用和设计约束条件。所述技术人员可以对每个特定的应用来使用不同方法以实现所描述的功能,但是这种实现不应认为超出本公开实施例的范围。所述技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

本文所披露的实施例中,所揭露的方法、产品(包括但不限于装置、设备等),可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,可以仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例。另外,在本公开实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

附图中的流程图和框图显示了根据本公开实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或一个以上用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

相关技术
  • 用于瓶体检测分类的方法、装置及瓶体柜
  • 瓶体气密性检测机构以及瓶体气密性检测系统
技术分类

06120112181880