一种识别货架商品的方法、计算机可读介质及识别系统与流程

文档序号:18011065发布日期:2019-06-26 00:04阅读:187来源:国知局
一种识别货架商品的方法、计算机可读介质及识别系统与流程

本发明涉及无人零售领域,提供了一种识别货架商品的方法、计算机可读介质及识别系统。



背景技术:

现有的无人商店盘点货架上商品的方法一般为人工盘点或者通过拍摄图片盘点,拍摄图片盘点的主要手段是将货架中的商品拍摄为多张互相有重合的图片,通过surf等算法寻找图片中的商品特征,并去除相邻图片中重合部分的商品特征,最后对图片进行拼接实现对货架上商品的盘点。当货架中摆放有大量相似或相同的商品时,则很难区分出相邻图片中重合的部分,导致最终拼接出错。



技术实现要素:

为克服现有技术存在的问题,本发明提供一种识别货架商品的方法、计算机可读介质及识别系统。

本发明解决技术问题的方案是提供一种识别货架商品的方法,用于识别货架上的商品,该方法包括以下步骤,步骤s1:将货架上的商品拍摄成至少两张图片;步骤s2:检测图片中的商品特征;步骤s3:建立坐标系,获得商品相邻对,并对相邻对进行标注;步骤s4:将相邻两张图片中相同的标注进行重叠映射,以将所有图片拼接为一张图片,从而识别出商品。

优选地,步骤s3还包括步骤:步骤s31:建立坐标系;步骤s32:根据商品在坐标系中的位置,确定相邻的商品间的位置关系;步骤s33:结合商品特征及商品间的位置关系定义相邻对,并将商品间的位置关系及商品特征作为该相邻对的标注。

优选地,所述相邻对为在坐标系内互为相邻的三个商品。

优选地,检测图片中的商品特征后使用高层语义选择不受光照角度等因素影响的商品特征作为商品的标识。

优选地,所述商品特征包括商品的外观特征和位置特征。

优选地,所述外观特征包括商品的形状、颜色及图案,所述位置特征为商品在坐标系中的坐标。

优选地,将货架上的商品拍摄成图片之前,先标记商品信息,商品信息包括商品的外观特征、名称和单价。

优选地,在识别出的商品后,根据商品信息获得商品在货架上的分布情况、所占比例及商品总价。

本发明还提供一种计算机可读介质,其特征在于:所述计算机可读介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述的识别货架商品的方法。

本发明还提供一种识别系统,其特征在于:所述货架商品盘点系统包括拍摄模块,用于将货架上的商品拍摄成图片;检测模块,用于检测图片中的商品特征;编码模块,用于建立坐标系,获得商品相邻对,并对相邻对进行标注;整合模块,将相邻两张图片中相同的标注进行重叠映射,以将所有的图片拼接为一张图片,从而识别出商品。

与现有技术相比,本发明的识别货架商品的方法具有以下优点:

1.相邻对中包含重叠部分,使用相邻对作为一个商品的特征,可扩大感受野,避免因为只使用一个商品特征进行识别时,导致同一张图片中相同类别商品特征过于相似造成错误匹配。

2.高层语义选择的商品特征不受光照角度等因素的影响,通过高层语义选的商品特征可以更准确的识别出其对应的商品。

3.将所有图片中的标注依次映射到同一平面中,重复部分采用重叠映射,继而从拼接的图片中可直观地获得商品在货架上的分布情况、所占比例及商品总价。

【附图说明】

图1是本发明第一实施例识别货架商品的方法流程示意图。

图2是本发明第一实施例识别货架商品的方法中步骤s3的流程示意图。

图3a是本发明第一实施例识别货架商品的方法的标注示意图。

图3b是本发明第一实施例识别货架商品的方法根据标注映射的示意图。

图4是本发明第三实施例识别系统的模块示意图。

附图标记说明:1、识别系统;11、拍摄模块;12、检测模块;13、编码模块;14、整合模块;131、建模模块;132、分析模块;133、标注模块。

【具体实施方式】

为了使本发明的目的,技术方案及优点更加清楚明白,以下结合附图及实施实例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

请参阅图1,本发明第一实施例提供一种识别货架商品的方法,用于识别货架上的商品,该方法包括以下步骤,

步骤s1:将货架上的商品拍摄成至少两张图片;

步骤s2:检测图片中的商品特征;

步骤s3:建立坐标系,获得商品相邻对,并对相邻对进行标注;

步骤s4:将相邻两张图片中相同的标注进行重叠映射,以将所有图片拼接为一张图片,从而识别出商品。

首先将货架上的商品拍摄成图片,由于货架长度问题,通过单次的拍摄无法将货架上的所有商品全部拍摄到一张图片中,因此至少要经过两次拍摄,才能将货架上的全部商品都拍摄下来。为了防止拍摄时有商品遗漏而影响识别结果,所以在拍摄时会选择将相邻的两张图片部分重合拍摄;继而根据拍摄的图片检测图片中的商品特征,检测图片中的商品特征后使用高层语义选择不受光照角度等因素影响的商品特征作为商品的标识;然后建立坐标系,从坐标系中获得商品相邻对,并使用语义编码标注相邻对,以区分出每个相邻对;最后将所有图片中相邻对的标注映射到同一平面,相邻两张图片中相同的标注进行重叠映射,以将所有图片拼接为一张图片,根据拼接的图片识别出货架上的商品。

商品相邻对即在坐标系内互为相邻的至少两个商品,可以为两个、三个、四个或多个,优选地,相邻对为在像素坐标系内互为相邻的三个商品。商品相邻对可以在图片边缘区域获取,即在远离坐标系原点的位置获取;也可以在图片中任意区域获取,即在坐标系中的任意区域获取。

可以理解,将拍摄的图片沿货架中商品摆放的顺序依次排序,从而获得相邻两张图片。相邻两张图片中相同的标注即为相邻两张图片中重复的部分,为避免重复部分影响统计货架上商品的结果,因此要对相同的标注进行重叠映射。重叠映射为将两个相同的标注映射在同一平面中完全相同的位置,因此重叠映射后的两个标注只显示一个。检测图片中商品特征的方法为,使用神经网络将每一张图片中的商品特征检测出来。拍摄货架上的商品可以是人工拍摄,也可以是电子监控拍摄。

可以理解,商品特征为通过神经网络检测出来,商品特征包括商品的外观特征和位置特征,外观特征包括形状、颜色及图案,位置特征为商品在坐标系中的坐标。如货架中摆放有一瓶红茶,红茶的形状、颜色及本身具备的图案为外观特征,红茶在坐标系中的坐标为位置特征。进一步地,根据商品的坐标,可计算出商品之间的距离,由于每件商品在货架上的摆放位置不同,所以每个商品之间的距离不同。

可以理解,高层语义为在一个商品的所有商品特征中选择不受光照角度等因素影响的商品特征作为该商品的标识,使用高层语义选择的商品特征最能代表该商品。如货架中有一瓶红茶,瓶身上半部分由于灯光的照射以导致曝光,继而通过高层语义选择这瓶红茶的商品特征时会避开曝光部分的商品特征以选择出最能代表出这瓶红茶的商品特征。

请参阅图2,步骤s3还包括步骤:

步骤s31:建立坐标系;

步骤s32:根据商品在坐标系中的位置,确定相邻的商品间的位置关系;

步骤s33:结合商品特征及商品间的位置关系定义相邻对,并将商品间的位置关系及商品特征作为该相邻对的标注。

首先建立坐标系,坐标系为像素坐标系,以图片的左下角为原点,以保证每个商品都在像素坐标系的第一象限;然后根据商品在像素坐标系中的位置,确定相邻的商品间的位置关系;最后结合商品特征及商品间的位置关系定义相邻对,并将商品间的位置关系及商品特征作为该相邻对的标注,从而可以在相邻两张图片中匹配出相同的标注。

可以理解,商品间的位置关系为商品之间的顺序,也即商品在像素坐标系中的顺序,如货架上从左往右依次有红茶、绿茶、可乐三个商品,则这三个商品之间的顺序为商品间的位置关系,结合商品间的位置关系及商品特征定义的相邻对,使用语义编码进行标注。所有图片的商品特征均在像素坐标系的第一象限,同一象限内更方便匹配出相同的标注。

由于每个商品之间的距离不同,所以一张图片中每个相邻对的标注不同,类似的,相邻两张图片的像素坐标系中,商品特征相同且相同商品特征间的距离相同的相邻对标注相同,如相邻两张图片的像素坐标系中,均选择了相邻的三个商品的商品特征,且第一张图片像素坐标系中的三个商品特征与第二张图片像素坐标系中的三个商品特征相同,同时第一张图片像素坐标系中的三个商品特征之间的距离与第二张图片像素坐标系中的三个商品特征的距离相同,则对这两张图片中的三个商品特征定义的相邻对采用相同的标注。

请参阅图3a,步骤s33具体为,结合商品特征及商品间的位置关系定义相邻对,并将商品间的位置关系及商品特征作为该相邻对的标注。以第n张图片和第n+1张图片建立的像素坐标系为例,货架中摆放有一层商品,像素坐标系中为通过高层语义选择的商品特征。以像素坐标系内互为相邻的三个商品为一个相邻对,在第n张图片的像素坐标系中,有6个商品特征,依次为a、b、b、c、b、c,对应的像素坐标依次为(0,0)、(1,0.2)、(2.1,0)、(3,0.4)、(4.2,0)、(4.9,0.2)。通过像素坐标系中6个商品特征得到6个相邻对,即(none,a,b)、(a,b,b)、(b,b,c)、(b,c,b)、(c,b,c)及(b,c,none)。在第n+1张图片的像素坐标系中,有6个商品特征,依次为c、b、c、c、d、d,对应的像素坐标依次为(0,0.4)、(1.2,0)、(1.9,0.2)、(3.3,0)、(4,0.7)、(5.1,0.4)。通过6个相邻的商品特征得到6个相邻对,即(none,c,b)、(c,b,c)、(b,c,c)、(c,c,d)、(c,d,d)及(d,d,none)。none代表该商品特征的左侧或右侧没有商品特征。

在第n张图片的像素坐标系中,6个相邻对中的商品特征不同,因此对这6个相邻对采用不同的标注;第n+1张图片的像素坐标系中,6个相邻对中的商品特征不同,因此对这6个相邻对采用不同的标注。由于第n张图片中的相邻对(c、b、c)与第n+1张图片中的相邻对(c、b、c)中的商品特征相同,且相邻对中商品特征之间的距离也相同,所以对两张图片中的相邻对c、b、c采用相同的标注。即在第n张图片中标注(none,a,b)为a,(a,b,b)为b,(b,b,c)为c,(b,c,b)为d,(c,b,c)为e,(b,c,none)为f;在第n+1张图片中标注(none,c,b)为g,(c,b,c)为e,(b,c,c)为h,(c,c,d)为i,(c,d,d)为j,(d,d,none)为k,。最后根据这两张图片相邻对的标注,匹配出相同的标注,即e为相同的标注。

请参阅图3b,步骤s4具体为,将所有图片中的标注依次映射到同一平面,相邻两张图片中相同的标注采用重叠映射,以将所有的图片拼接为一张图片,继而根据拼接的图片识别出货架上的商品,也即,根据拼接图片中的标注识别出每个商品,以确定货架上商品。将第n张图片中相邻对的标注a、b、c、d、e、f和第n+1张图片中相邻对的标注g、e、h、i、j、k映射到同一平面,对相同的相邻对e采用重叠映射,映射的结果为a、b、c、d、e、f、g、h、i、j、k,继而将所有的图片拼接为一张,最后根据拼接的图片识别出货架上的商品。

可以理解,用第n张图片和第n+1张图片拍摄出了货架上所有的商品,则拼接出的图片包含了货架上所有商品的商品特征,且商品特征的数量与货架中商品的数量相等。

可以理解,每个商品的外观特征为提前提取并储存的,由于商品特征是从商品中提取的,因此商品特征与商品为一一对应的,由于相邻对的标注为像素坐标系中互为相邻的至少两个商品,因此根据相邻对的标注可获得标注中所包含的商品特征。继而将拼接图片中的商品特征与存储的商品的外观特征逐一对比,以确定货架上具有哪些商品,并且可以根据拼接出的图片确定每个商品处于货架上的位置。

进一步的,将货架上的商品拍摄成图片之前,先标记商品信息,商品信息包括商品的外观特征、名称和单价。进而在识别出的商品后,可以根据商品信息获得商品在货架上的分布情况、所占比例及商品总价。可以理解,根据拼接出的图片,可以获得商品的分布情况和所占比例,根据每件商品的单价,可以获得货架上商品的总价。

作为一种变形,像素坐标系可以以图片中任意位置为原点建立,即商品特征可以在像素坐标系的任意象限。

本发明第二实施例提供的计算机可读介质,所述计算机可读介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述的识别货架商品的方法。

请参阅图4,本发明第三实施例提供的识别系统1,其包括拍摄模块11、检测模块12、编码模块13、整合模块14;编码模块13包括建模模块131、分析模块132及标注模块133。拍摄模块11将货架上的商品拍摄成至少两张图片;检测模块12检测图片中的商品特征;建模模块131建立坐标系;分析模块132根据商品在坐标系中的位置,确定相邻的商品间的位置关系;标注模块133结合商品特征及商品间的位置关系定义相邻对,并将商品间的位置关系及商品特征作为该相邻对的标注;整合模块14将相邻两张图片中相同的标注进行重叠映射,以将所有的图片拼接为一张图片,从而识别出商品。

根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理单元(cpu)执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

与现有技术相比,本发明的识别货架商品的方法具有以下优点:

1.相邻对中包含重叠部分,使用相邻对作为一个商品的特征,可扩大感受野,避免因为只使用一个商品特征进行识别时,导致同一张图片中相同类别商品特征过于相似造成错误匹配。

2.高层语义选择的商品特征不受光照角度等因素的影响,通过高层语义选的商品特征可以更准确的识别出其对应的商品。

3.将所有图片中的标注依次映射到同一平面中,重复部分采用重叠映射,继而从拼接的图片中可直观地获得商品在货架上的分布情况、所占比例及商品总价。

以上所述仅为本发明较佳实施例而已,并不用以限制本发明,凡在本发明原则之内所作的任何修改,等同替换和改进等均应包含本发明的保护范围之内。

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