用于货架的商品检测方法及装置与流程

文档序号:17223487发布日期:2019-03-27 12:17阅读:176来源:国知局
用于货架的商品检测方法及装置与流程

本申请涉及计算机视觉领域,具体而言,涉及一种用于货架的商品检测方法及装置。



背景技术:

基于目标检测作为计算机视觉领域的一个重要研究问题,在过去的十年里受到国内外学者的广泛关注。但是在基于现实的实际应用中,由于输入数据的背景复杂度和噪音,使得不管是准确率较高的two-stage检测模型还是计算速度较快的one-stage检测模型都表现不出其应有的水平。

发明人发发现,由于在现实生活中的货架的周边环境较为复杂,比如,灯光的亮度、饱和度和色调等因素以及广告或镜面上等虚拟成像,使得一次根据全图输出结果会存在商品漏检、多检和误检等情况。

针对相关技术中对于货架的商品检测出错率较高的问题,目前尚未提出有效的解决方案。



技术实现要素:

本申请的主要目的在于提供一种用于货架的商品检测方法及装置,以解决对于货架的商品检测出错率较高的问题。

为了实现上述目的,根据本申请的一个方面,提供了一种用于货架的商品检测方法。

根据本申请的用于货架的商品检测方法包括:按照预设样例准备样本并训练得到第一检测模型和第二检测模型,其中,所述第一检测模型用于按照排检测货架,所述第二检测模型用于按照类别检测货架;输入待检测图像;以及对所述待检测图像按照排执行预设分割操作后检测图像中商品的类别,输出检测结果。

进一步地,对所述待检测图像按照排执行预设分割操作后检测图像中商品的类别包括:对所述待检测图像执行预处理后输入到所述第一检测模型;在所述第一检测模型按照排检测货架上的商品;根据按照排检测货架上的商品的结果切割出目标图片并作为所述第二检测模型的输入。

进一步地,对所述待检测图像按照排执行预设分割操作后检测图像中商品的类别包括:对切割后的图片执行预设处理后输入到所述第二检测模型;在所述第二检测模型中按照类别检测货架上的商品;获取第二检测模型输出的商品类别预测结果和商品选框位置;以及将输出结果与所述按照排检测货架上的商品的结果切割出目标图片整合。

进一步地,输入待检测图像之后还包括:对待检测图像执行尺寸调整操作;以及对尺寸调整操作的结果执行归一化处理。

进一步地,按照预设样例准备样本并训练得到第一检测模型和第二检测模型包括:训练所述第一检测模型和所述第二检测模型时选择one-stage或two-stage在训练之前加载在imagenet上预训练的参数。

为了实现上述目的,根据本申请的另一方面,提供了一种用于货架的商品检装置。

根据本申请的用于货架的商品检装置包括:模型训练模块,用于按照预设样例准备样本并训练得到第一检测模型和第二检测模型,其中,所述第一检测模型用于按照排检测货架,所述第二检测模型用于按照类别检测货架;输入模块,用于输入待检测图像;以及执行模块,用于对所述待检测图像按照排执行预设分割操作后检测图像中商品的类别,输出检测结果。

进一步地,所述执行模块包括:第一检测单元,用于对所述待检测图像执行预处理后输入到所述第一检测模型;第一执行单元,用于在所述第一检测模型按照排检测货架上的商品;切割单元,用于根据按照排检测货架上的商品的结果切割出目标图片并作为所述第二检测模型的输入。

进一步地,所述执行模块包括:第二检测单元,用于对切割后的图片执行预设处理后输入到所述第二检测模型;第二执行单元,用于在所述第二检测模型中按照类别检测货架上的商品;结果获取单元,用于获取第二检测模型输出的商品类别预测结果和商品选框位置;以及整合单元,用于将输出结果与所述按照排检测货架上的商品的结果切割出目标图片整合。

进一步地,所述输入模块包括:尺寸调整单元,用于对待检测图像执行尺寸调整操作;以及归一化处理单元,用于对尺寸调整操作的结果执行归一化处理。

进一步地,所述模型训练模块包括:训练单元,所述训练单元,用于训练所述第一检测模型和所述第二检测模型时选择one-stage或two-stage在训练之前加载在imagenet上预训练的参数。

在本申请实施例中,采用按照预设样例准备样本并训练得到第一检测模型和第二检测模型的方式,通过输入待检测图像,达到了对所述待检测图像按照排执行预设分割操作后检测图像中商品的类别,输出检测结果的目的,从而实现了先筛除复杂的背景和噪音再进行具体类别检测的技术效果,进而解决了对于货架的商品检测出错率较高的技术问题。

附图说明

构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它特征、目的和优点变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是根据本申请第一实施例的用于货架的商品检测方法示意图;

图2是根据本申请第二实施例的用于货架的商品检测方法示意图;

图3是根据本申请第三实施例的用于货架的商品检测方法示意图;

图4是根据本申请第四实施例的用于货架的商品检测方法示意图;

图5是根据本申请第五实施例的用于货架的商品检测方法示意图;

图6是根据本申请第一实施例的用于货架的商品检测装置示意图;

图7是根据本申请第二实施例的用于货架的商品检测装置示意图;

图8是根据本申请第三实施例的用于货架的商品检测装置示意图;

图9是根据本申请第四实施例的用于货架的商品检测装置示意图;

图10是根据本申请第五实施例的用于货架的商品检测装置示意图;

图11是按照排检测货架模型的输入图片示意图;

图12是按照排检测货架模型的输出图片示意图;

图13是按类别检测商品模型的输入图片示意图;

图14是按类别检测商品模型的输出结果示意图;以及

图15是模型整体最终输出图片示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

如图1所示,该方法包括如下的步骤s102至步骤s106:

步骤s102,按照预设样例准备样本并训练得到第一检测模型和第二检测模型,

所述第一检测模型用于按照排检测货架,所述第二检测模型用于按照类别检测货架。

具体地,可以训练两个检测模型,分别针对按排检测货架和按类别检测商品,根据图11和图13所示的样例准备样本数据分别训练一个根据按排检测货架和按类别检测类别的模型。模型可选择“two-stage”或“one-stage”,训练之前加载在imagenet上预训练的参数。

步骤s104,输入待检测图像;

先对于待检测图像采用二进制哈希距离对数据库中相似较高的测试图片进行去重。

并通过应用opencv等图像处理库将图片变换长、宽到统一尺寸,通常可以一般采用双线性插值法。

再针对输入待检测图,将统一尺寸的图片做归一化处理。

需要注意的是,针对待检测图的数据处理方式要和训练数据的方式一致,可以选择每个特征值除以255,使得特征值范围在[0,255],或者normalize特征值,即减均值除以标准差。

步骤s106,对所述待检测图像按照排执行预设分割操作后检测图像中商品的类别,输出检测结果。

将处理好的数据输入到按排检测货架的模型,完成对所述待检测图像按照排执行预设分割操作。

具体地,首先,将分割操作得到的结果以作为按类别检测商品模型的测试数据。

然后,通过应用opencv等图像处理库将图片变换长、宽到统一尺寸,通常可以一般采用双线性插值法。以及再针对输入待检测图,将统一尺寸的图片做归一化处理后,可以得到统一的输入数据。

最后,将处理好的数据输入到按类别检测商品的模型中。

需要注意的是,输出的检测结果中包括类别预测结果和框位置预测结果,并将结果整合到通过预设分割操作切割后对应的图片上。

从以上的描述中,可以看出,本申请实现了如下技术效果:

在本申请实施例中,采用按照预设样例准备样本并训练得到第一检测模型和第二检测模型的方式,通过输入待检测图像,达到了对所述待检测图像按照排执行预设分割操作后检测图像中商品的类别,输出检测结果的目的,从而实现了先筛除复杂的背景和噪音再进行具体类别检测的技术效果,进而解决了对于货架的商品检测出错率较高的技术问题。

根据本申请实施例,作为本实施例中的优选,如图2所示,对所述待检测图像按照排执行预设分割操作后检测图像中商品的类别包括:

步骤s202,对所述待检测图像执行预处理后输入到所述第一检测模型;

第一检测模型是按排检测货架的模型。

对所述待检测图像执行预处理包括:通过应用opencv等图像处理库将图片变换长、宽到统一尺寸,通常可以一般采用双线性插值法。

再针对输入待检测图,将统一尺寸的图片做归一化处理。

步骤s204,在所述第一检测模型按照排检测货架上的商品;

通过第一检测模型按照排对货架上的商品进行检测。具体地,如图12所示。

步骤s206,根据按照排检测货架上的商品的结果切割出目标图片并作为所述第二检测模型的输入。

得到的检测结果在原始图中对应的位置进行切割。具体地,输出的图片检测结果如图13所示。

根据本申请实施例,作为本实施例中的优选,如图3所示,对所述待检测图像按照排执行预设分割操作后检测图像中商品的类别包括:

步骤s302,对切割后的图片执行预设处理后输入到所述第二检测模型;

第二检测模型按照商品类别进行检测。具体地,按照商品类别进行检测结果如图14所示。

对切割后的图片执行预设处理包括:通过应用opencv等图像处理库将图片变换长、宽到统一尺寸,通常可以一般采用双线性插值法。

再针对输入待检测图,将统一尺寸的图片做归一化处理。

步骤s304,在所述第二检测模型中按照类别检测货架上的商品;

通过第二检测模型按照类别对货架上的商品进行检测。具体类别的检测过程可以提高商品检测的识别率。

步骤s306,获取第二检测模型输出的商品类别预测结果和商品选框位置;

获取第二检测模型输出结果包括:类别预测结果和框位置的预测结果。

步骤s308,将输出结果与所述按照排检测货架上的商品的结果切割出目标图片整合。

将结果整合到通过预设分割操作切割后对应的图片上。具体地,图片的整合结果如图15所示。

根据本申请实施例,作为本实施例中的优选,如图4所示,输入待检测图像之后还包括:

步骤s402,对待检测图像执行尺寸调整操作;

具体地,应用opencv等图像处理库将图片变换长、宽到统一尺寸。一般采用双线性插值法。

步骤s404,对尺寸调整操作的结果执行归一化处理。

具体地,可以将统一尺寸的图片做归一化处理,方式要和训练数据的方式一致,可以选择每个特征值除以255,使得特征值范围在[0,255],或者normalize特征值,即减均值除以标准差。

根据本申请实施例,作为本实施例中的优选,如图5所示,按照预设样例准备样本并训练得到第一检测模型和第二检测模型包括:

步骤s102,训练所述第一检测模型和所述第二检测模型时选择one-stage或two-stage在训练之前加载在imagenet上预训练的参数。

具体地,可以训练两个检测模型,分别针对按排检测货架和按类别检测商品,根据图11和图13所示的样例准备样本数据分别训练一个根据按排检测货架和按类别检测类别的模型。模型可选择“two-stage”或“one-stage”,训练之前加载在imagenet上预训练的参数。

需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

根据本申请实施例,还提供了一种用于实施上述商品检测方法的用于货架的商品检装置,如图6所示,该装置包括:模型训练模块10,用于按照预设样例准备样本并训练得到第一检测模型和第二检测模型,其中,所述第一检测模型用于按照排检测货架,所述第二检测模型用于按照类别检测货架;输入模块20,用于输入待检测图像;以及执行模块30,用于对所述待检测图像按照排执行预设分割操作后检测图像中商品的类别,输出检测结果。

本申请实施例的模型训练模块10中所述第一检测模型用于按照排检测货架,所述第二检测模型用于按照类别检测货架。

具体地,可以训练两个检测模型,分别针对按排检测货架和按类别检测商品,根据图11和图13所示的样例准备样本数据分别训练一个根据按排检测货架和按类别检测类别的模型。模型可选择“two-stage”或“one-stage”,训练之前加载在imagenet上预训练的参数。

本申请实施例的输入模块20中先对于待检测图像采用二进制哈希距离对数据库中相似较高的测试图片进行去重。

并通过应用opencv等图像处理库将图片变换长、宽到统一尺寸,通常可以一般采用双线性插值法。

再针对输入待检测图,将统一尺寸的图片做归一化处理。

需要注意的是,针对待检测图的数据处理方式要和训练数据的方式一致,可以选择每个特征值除以255,使得特征值范围在[0,255],或者normalize特征值,即减均值除以标准差。

本申请实施例的执行模块30中将处理好的数据输入到按排检测货架的模型,完成对所述待检测图像按照排执行预设分割操作。

具体地,首先,将分割操作得到的结果以作为按类别检测商品模型的测试数据。

然后,通过应用opencv等图像处理库将图片变换长、宽到统一尺寸,通常可以一般采用双线性插值法。以及再针对输入待检测图,将统一尺寸的图片做归一化处理后,可以得到统一的输入数据。

最后,将处理好的数据输入到按类别检测商品的模型中。

需要注意的是,输出的检测结果中包括类别预测结果和框位置预测结果,并将结果整合到通过预设分割操作切割后对应的图片上。

根据本申请实施例,作为本实施例中的优选,如图7所示,所述执行模块30包括:第一检测单元301,用于对所述待检测图像执行预处理后输入到所述第一检测模型;第一执行单元302,用于在所述第一检测模型按照排检测货架上的商品;切割单元303,用于根据按照排检测货架上的商品的结果切割出目标图片并作为所述第二检测模型的输入。

本申请实施例的第一检测单元301中第一检测模型是按排检测货架的模型。

对所述待检测图像执行预处理包括:通过应用opencv等图像处理库将图片变换长、宽到统一尺寸,通常可以一般采用双线性插值法。

再针对输入待检测图,将统一尺寸的图片做归一化处理。

本申请实施例的第一执行单元302中通过第一检测模型按照排对货架上的商品进行检测。具体地,如图12所示。

本申请实施例的切割单元303中得到的检测结果在原始图中对应的位置进行切割。具体地,输出的图片检测结果如图13所示。

根据本申请实施例,作为本实施例中的优选,如图8所示,所述执行模块包括:第二检测单元304,用于对切割后的图片执行预设处理后输入到所述第二检测模型;第二执行单元305,用于在所述第二检测模型中按照类别检测货架上的商品;结果获取单元306,用于获取第二检测模型输出的商品类别预测结果和商品选框位置;以及整合单元307,用于将输出结果与所述按照排检测货架上的商品的结果切割出目标图片整合。

本申请实施例的第二检测单元304中第二检测模型按照商品类别进行检测。具体地,按照商品类别进行检测结果如图14所示。

对切割后的图片执行预设处理包括:通过应用opencv等图像处理库将图片变换长、宽到统一尺寸,通常可以一般采用双线性插值法。

再针对输入待检测图,将统一尺寸的图片做归一化处理。

本申请实施例的第二执行单元305中通过第二检测模型按照类别对货架上的商品进行检测。具体类别的检测过程可以提高商品检测的识别率。

本申请实施例的结果获取单元306中获取第二检测模型输出结果包括:类别预测结果和框位置的预测结果。

本申请实施例的整合单元307中将结果整合到通过预设分割操作切割后对应的图片上。具体地,图片的整合结果如图15所示。

根据本申请实施例,作为本实施例中的优选,如图9所示,所述输入模块包括:尺寸调整单元201,用于对待检测图像执行尺寸调整操作;以及归一化处理单元202,用于对尺寸调整操作的结果执行归一化处理。

本申请实施例的尺寸调整单元201中具体地,应用opencv等图像处理库将图片变换长、宽到统一尺寸。一般采用双线性插值法。

本申请实施例的归一化处理单元202中具体地,可以将统一尺寸的图片做归一化处理,方式要和训练数据的方式一致,可以选择每个特征值除以255,使得特征值范围在[0,255],或者normalize特征值,即减均值除以标准差。

根据本申请实施例,作为本实施例中的优选,如图10所示,所述模型训练模块10包括:训练单元101,所述训练单元,用于训练所述第一检测模型和所述第二检测模型时选择one-stage或two-stage在训练之前加载在imagenet上预训练的参数。

本申请实施例的训练单元101中具体地,可以训练两个检测模型,分别针对按排检测货架和按类别检测商品,根据图11和图13所示的样例准备样本数据分别训练一个根据按排检测货架和按类别检测类别的模型。模型可选择“two-stage”或“one-stage”,训练之前加载在imagenet上预训练的参数。

请参考图11至图15,是本申请的实现原理步骤示意图。

步骤1,根据图11和图13所示的样例准备样本数据分别训练一个根据按排检测货架和按类别检测类别的模型。模型可选择“two-stage”或“one-stage”,训练之前加载在imagenet上预训练的参数。

步骤2,采用二进制哈希距离对数据库中相似较高的测试图片进行去重。

步骤3,应用opencv等图像处理库将图片变换长、宽到统一尺寸。一般采用双线性插值法。

步骤4,将统一尺寸的图片做归一化处理,方式要和训练数据的方式一致,可以选择每个特征值除以255,使得特征值范围在[0,255],或者normalize特征值,即减均值除以标准差。

步骤5,将处理好的数据输入到按排检测货架的模型中。

步骤6,获取步骤5的输出结果,如图12所示。并根据结果切割出如图13所示的图片,以作为按类别检测商品模型的测试数据。

步骤7,对步骤6切割后的图片再次执行步骤3和步骤4,得到统一的输入数据。

步骤8,将处理好的数据输入到按类别检测商品的模型中。

步骤9,获取步骤8得到的类别预测结果和框位置预测结果,并将结果整合到步骤6切割后对应的图片上。整合结果如图14所示。

步骤10,将步骤9整合的结果再整合到其对应的原图中,最终输出结果如图15所示。

显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1