基于深度学习的货架动态商品识别与顾客购物匹配方法

    专利查询2022-07-08  135



    1.本发明属于新零售与图像识别技术领域,涉及一种基于深度学习的货架动态商品识别与顾客购物匹配方法。


    背景技术:

    2.目前,无人货柜或货架的商品售卖识别有两种解决方案,分为非视觉解决方案和视觉解决方案。
    3.非视觉解决方案主要采用rfid无线射频识别技术或者重力感应技术,其中,rfid无线射频识别技术需要人工主动写入rfid标签,需要大量时间成本和标签成本。其次标签容易被屏蔽和撕毁,而且在金属和液体商品上的识别效果会受到影响,使用稳定性较差;若采用重力感应技术,单一的重量检测只能识别重量不同的商品,重量相近的商品无法识别,灵活性差,使用场景非常局限。
    4.视觉解决方案分为动态解决方案和静态解决方案。相对于非视觉的解决方案,视觉解决方案的技术门槛更高,同时因为边际成本效应,实际成本也更加低廉。静态解决方案通过对比购买前后货架商品静态图像差异,检测被购买商品。识别商品所用摄像头需要安装在货架内部,所以对货架的层间距离和商品摆放有一定要求,从而会导致货架的空间利用率较低,假如商品倒下或者堆叠在一起,会使静态识别方法失效,此外这种方式不适用于多人购物的情况。介于以上方法都存在一定局限性,因此提出一种基于深度学习的智能货架动态商品识别与顾客购物匹配方法,克服以上方式的不足。


    技术实现要素:

    5.本发明的目的是提供一种基于深度学习的货架动态商品识别与顾客购物匹配方法,解决了现有rfid无线射频识别技术中标签成本高、容易损毁和失效,稳定性差的问题。
    6.本发明所采用的技术方案是,基于深度学习的货架动态商品识别与顾客购物匹配方法,具体包括如下步骤:
    7.步骤1,顾客在检测区域发生购买行为,摄像头a采集货架前顾客购买行为视频流,重力传感器采集货架对应区域实时重力感应数据,视频流与重力感应数据同时回传到后台服务器;
    8.步骤2,对步骤1采集的视频流,逐帧图像输入到商品检测网络和顾客轨迹检测网络,得到商品检测框与顾客轨迹框;
    9.步骤3,在检测时间序列中,通过商品检测框在图像中的移动,判断商品拿出和放入状态;
    10.步骤4,根据关键帧中商品检测框和顾客轨迹框中心点坐标距离匹配顾客id与所拿商品;
    11.步骤5,根据货架对应区域实时重力感应数据,辅助判断顾客拿出放入商品,生成购买清单。
    12.本发明的特点还在于:
    13.步骤2中构建商品检测网络的具体过程为:
    14.步骤2.1.1,搭建图像采集平台,采集不同角度的商品图像并进行人工标注;
    15.步骤2.1.2,对采集到的商品图像进行水平或垂直翻转、镜像和旋转操作扩充商品数据集;
    16.步骤2.1.3,通过分割单一商品图像与货架背景生成真实场景商品数据集;
    17.步骤2.1.4,将采集的商品数据集、扩充的商品数据集和合成的商品数据集按照8:1:1的比例划分为训练集、验证集和测试集;
    18.步骤2.1.5,使用yolov5目标检测网络对划分好的数据集进行训练,得到商品检测网络。
    19.步骤2.1.3具体包括以下步骤:
    20.步骤2.1.3.1,对单个商品图像分别以一倍和两倍标注框进行裁剪;
    21.步骤2.1.3.2,对两倍标注框大小的图像进行saliency-detection,将前后景区分开来;
    22.步骤2.1.3.3,将步骤2.1.3.2得到的结果通过crf条件随机场进行细化处理,对结果进行一倍标注框裁剪,得到细化的分离结果;
    23.步骤2.1.3.4,将步骤2.1.3.3得到的结果与一倍标注框商品图进行累加,之后将黑色背景透明化得到分割过后的商品图像;
    24.步骤2.1.3.5,对所有种类商品分割后的结果图,以每张图五件商品,遮挡率不超过50%,与货架背景图合成真实场景商品数据集。
    25.述步骤2中顾客轨迹检测过程包括:
    26.步骤2.2.1,对步骤1采集视频流按视频帧顺序处理;
    27.步骤2.2.2,读取当前帧中顾客检测框位置;
    28.步骤2.2.3,对顾客检测框进行轨迹处理和状态估计:
    29.状态估计在一个八维状态空间上定义,如下所示:
    [0030][0031]
    其中,(u,v)为检测框中心位置,γ为长宽比,h为高度,为u,v,γ,h在图像坐标的速度;
    [0032]
    步骤2.2.4,匹配行人目标检测框和有效轨迹,采用运动匹配度和表观匹配度:
    [0033]
    步骤2.2.5,通过matching cascade关联遮挡过后的目标,得到最终的轨迹id。
    [0034]
    步骤2.2.4中,运动匹配度:使用第j个检测框和第i个轨迹检测框之间的马氏距离描述运动匹配度d
    (1)
    (i,j):
    [0035][0036]
    其中,(yi,si)表示第i个轨迹分布到测量空间的投影,dj表示第j个检测框状态;yi表示第i个轨迹检测框在当前时刻的预测值,si表示由卡尔曼滤波器得到的第i个轨迹检测框在当前时刻观测空间的协方差矩阵;
    [0037]
    表观匹配度:使用第j个检测框和第i个轨迹检测框的深度特征向量之间的最小余
    弦距离描述表观匹配度d
    (2)
    (i,j):
    [0038][0039]
    其中,ri表示第j个检测框的外观描述符,表示第i个轨迹检测框的深度特征向量;深度特征向量通过在行人重识别数据集mars上训练cnn模型获得。ri表示第i个轨迹检测框过去成功跟踪物体检测框后对应的特征向量集合。
    [0040]
    步骤4中具体包括以下步骤:
    [0041]
    步骤4.1,通过步骤2得到的结果生成所有商品和顾客检测框的坐标向量:
    [0042]ci
    =[(x,y),(m,n)];
    [0043]
    pj=[(p,q),(e,f)];
    [0044]
    其中,ci为第i个顾客轨迹框的坐标向量,(x,y)为第i个顾客轨迹框左上坐标,(m,n)为第i个顾客轨迹框右下坐标,其中pj为第j个商品检测框坐标向量,(p,q)为第j个商品的检测框左上坐标,(e,f)为第j个商品的检测框右下坐标;
    [0045]
    步骤4.2,计算当前帧中第i个顾客的轨迹框x<p,y<q,m>e,n>f与所有商品的匹配集合mi,
    [0046]
    其中,mi∈pj,mi中x<p,y<q,m>e,n>f;
    [0047]
    步骤4.3,若商品j同时属于多个顾客的匹配集合,则计算商品j与所有匹配顾客的检测框中心点坐标距离并排序,将距离最近的结果作为商品j与顾客的最终匹配结果。
    [0048]
    步骤5具体包括以下步骤:
    [0049]
    步骤5.1,顾客从货架拿出了商品的瞬间,货架重力传感器回传当前货架重量减少;
    [0050]
    步骤5.2,根据步骤4的最终匹配结果得出顾客与所拿商品匹配,结合步骤5.1的重力感应数据确认顾客购买了商品,生成购买清单。
    [0051]
    本发明的有益效果如下:
    [0052]
    1.通过对视频流进行深度学习模型推理和重量传感器实现对智能货架的动态商品识别,避免了单一重量传感技术只能上架重量不同商品问题,不用对所有上架商品都人工贴rfid无线射频标签,节省人工成本,对货架商品摆放,布局结构没有特别要求,降低运营管理成本,采集训练商品数据集就可以快速上架新商品,商家易于使用;
    [0053]
    2.可以同时对多名顾客的购买行为进行识别,为顾客赋予id,分别检测对应id购买了什么商品,生成购买清单;
    [0054]
    3.视觉和重力感应双重判断识别,避免单一视觉技术造成的漏检和误检,识别过程稳定性强,抗干扰能力强。
    附图说明
    [0055]
    图1是本发明基于深度学习的货架动态商品识别与顾客购物匹配方法中货架的结构示意图;
    [0056]
    图2是本发明基于深度学习的货架动态商品识别与顾客购物匹配方法的流程图;
    [0057]
    图3是本发明基于深度学习的货架动态商品识别与顾客购物匹配方法中构建商品检测网络流程图;
    [0058]
    图4是本发明基于深度学习的货架动态商品识别与顾客购物匹配方法中构建顾客轨迹检测网络流程图;
    [0059]
    图5是本发明基于深度学习的货架动态商品识别与顾客购物匹配方法的检测效果图。
    [0060]
    图中,1.货架,2.摄像头,3.重力传感器,4.商品,5.检测区域,6.后台服务器,7.商品a,8.商品b,9.商品a检测框,10.商品b检测框,11.顾客c,12.顾客d,13.顾客c轨迹框,14.顾客d轨迹框。
    具体实施方式
    [0061]
    下面结合附图和具体实施方式对本发明进行详细说明。
    [0062]
    本发明基于深度学习的货架动态商品识别与顾客购物匹配方法,采用一种智能货架,如图1所示,包括摄像头2和重力传感器3,摄像头2和重力传感器3连接后台服务器6回传实时数据,摄像头2会记录购买区域5的所有购买商品4行为,重力传感器3分别记录着对应货架区域的重力感应数据。
    [0063]
    本发明基于深度学习的货架动态商品识别与顾客购物匹配方法,如图2所示,具体按照以下步骤实施:
    [0064]
    步骤1,顾客在检测区域5中发生购买行为,摄像头a2采集货架前检测区域5中的顾客购买行为视频流,重力传感器3采集货架对应区域实时重力感应数据,视频流与重力感应数据同时回传到后台服务器6;
    [0065]
    步骤2,后台服务器6对步骤1采集的视频流,逐帧图像输入到商品检测网络和顾客轨迹检测网络,得到商品检测框与顾客轨迹框;
    [0066]
    如图3所示,步骤2中构建商品检测网络包括:
    [0067]
    步骤2.1.1,搭建图像采集平台,采集不同角度的商品图像并进行人工标注;
    [0068]
    步骤2.1.2,对采集到的商品图像进行水平或垂直翻转、镜像和旋转操作扩充商品数据集;
    [0069]
    步骤2.1.3,通过分割单一商品图像与货架背景生成真实场景商品数据集;
    [0070]
    步骤2.1.3中具体包括以下步骤:
    [0071]
    步骤2.1.3.1,对单个商品图像以一倍和两倍标注框进行裁剪;
    [0072]
    步骤2.1.3.2,对两倍标注框大小的图像进行saliency-detection,将前后景区分开来;
    [0073]
    步骤2.1.3.3,将步骤2.1.3.2得到的结果通过crf条件随机场进行细化处理,对结果进行一倍标注框裁剪,得到细化的分离结果;
    [0074]
    步骤2.1.3.4,将步骤2.1.3.3得到的结果与一倍标注框商品图进行累加,之后将黑色背景透明化得到分割过后的商品图像;
    [0075]
    步骤2.1.3.5,对所有种类商品分割后的结果图,以每张图五件商品,遮挡率不超过50%,与货架背景图合成真实场景商品数据集。
    [0076]
    步骤2.1.4,将采集的商品数据集、扩充的商品数据集和合成的商品数据集按照8:1:1的比例划分为训练集、验证集和测试集;
    [0077]
    步骤2.1.5,使用yolov5目标检测网络对划分好的数据集进行训练,得到商品检测
    网络。
    [0078]
    如图4所示,步骤2中构建顾客轨迹检测过程包括:
    [0079]
    步骤2.2.1,对步骤1采集视频流按视频帧顺序处理;
    [0080]
    步骤2.2.2、读取当前帧中顾客检测框位置;
    [0081]
    步骤2.2.3,对顾客检测框进行轨迹处理和状态估计:
    [0082]
    状态估计在一个八维状态空间上定义:
    [0083][0084]
    其中,(u,v)为检测框中心位置,γ为长宽比,h为高度,为它们各自在图像坐标的速度,
    [0085]
    轨迹处理使用卡尔曼滤波器更新,采用匀速模型和线性观测模型;
    [0086]
    步骤2.2.4,匹配行人目标检测框和有效轨迹,主要采用运动匹配度和表观匹配度:
    [0087]
    运动匹配度:
    [0088]
    使用第j个检测框和第i个轨迹检测框之间的马氏距离描述运动匹配度d
    (1)
    (i,j):
    [0089][0090]
    其中,(yi,si)表示第i个轨迹分布到测量空间的投影,dj表示第j个检测框状态;yi表示第i个轨迹检测框在当前时刻的预测值,si表示由卡尔曼滤波器得到的第i个轨迹检测框在当前时刻观测空间的协方差矩阵;
    [0091]
    表观匹配度:使用第j个检测框和第i个轨迹检测框的深度特征向量之间的最小余弦距离描述表观匹配度d
    (2)
    (i,j):
    [0092][0093]
    其中,ri表示第j个检测框的外观描述符,表示第i个轨迹检测框的深度特征向量;深度特征向量通过在行人重识别数据集mars上训练cnn模型获得。ri表示第i个轨迹检测框过去成功跟踪物体检测框后对应的特征向量集合。
    [0094]
    步骤2.2.5,通过matching cascade关联遮挡过后的目标,得到最终的轨迹id,如图5所示,顾客c轨迹框13标有顾客c11轨迹id,顾客d轨迹框14标有顾客d12轨迹id。
    [0095]
    步骤3,在检测时间序列中,如图5所示,通过商品a检测框9与商品b检测框10在图像中的移动,判断商品a7和商品b8的拿出和放入状态;
    [0096]
    步骤4,如图5所示,根据关键帧中商品a检测框9和顾客c轨迹框13的坐标向量匹配顾客轨迹id与所拿商品;
    [0097]
    步骤4中具体包括以下步骤:
    [0098]
    步骤4.1,通过步骤2得到的结果生成所有商品和顾客检测框的坐标向量:
    [0099]ci
    =[(x,y),(m,n)];
    [0100]
    pj=[(p,q),(e,f)];
    [0101]
    其中,ci为第i个顾客轨迹框的坐标向量,(x,y)为第i个顾客轨迹框左上坐标,(m,n)为第i个顾客轨迹框右下坐标,其中pj为第j个商品检测框坐标向量,(p,q)为第j个商品
    的检测框左上坐标,(e,f)为第j个商品的检测框右下坐标;
    [0102]
    步骤4.2,计算当前帧中第i个顾客的轨迹框x<p,y<q,m>e,n>f与所有商品的匹配集合mi,
    [0103]
    其中,mi∈pj,mi中x<p,y<q,m>e,n>f;
    [0104]
    步骤4.3,若商品j同时属于多个顾客的匹配集合,则计算商品j与所有匹配顾客的检测框中心点坐标距离并排序,将距离最近的结果作为商品j与顾客的最终匹配结果。
    [0105]
    步骤5,根据货架对应区域实时重力感应数据,辅助判断顾客拿出放入商品,生成购买清单。
    [0106]
    步骤5中具体包括以下步骤:
    [0107]
    步骤5.1,如图5所示顾客c11从货架拿出了商品a7的瞬间,货架重力传感器回传当前货架重量减少500g;
    [0108]
    步骤5.2,根据步骤4的最终匹配结果得出顾客c11与商品a7所匹配,结合步骤5.1的重力感应数据确认顾客c11购买了商品a7,生成购买清单。
    [0109]
    基于深度学习的货架动态商品识别与顾客购物匹配方法的特点为:
    [0110]
    1.通过对视频流进行深度学习模型推理和重量传感器实现对智能货架的动态商品识别,避免了单一重量传感技术只能上架重量不同商品问题,不用对所有上架商品都人工贴rfid无线射频标签,节省人工成本,对货架商品摆放,布局结构没有特别要求,降低运营管理成本,采集训练商品数据集就可以快速上架新商品,商家易于使用;
    [0111]
    2.如图5所示,可以同时对多名顾客的购买行为进行识别,为顾客赋予id,分别检测对应id购买了什么商品,生成购买清单;
    [0112]
    3.在步骤5中,通过视觉和重力感应双重判断识别,避免单一视觉技术造成的漏检和误检,识别过程稳定性强,抗干扰能力强。
    转载请注明原文地址:https://tc.8miu.com/read-2550.html

    最新回复(0)