CN116452636A - 一种基于目标跟踪的无人售货柜动态商品识别方法及相关装置 - Google Patents
一种基于目标跟踪的无人售货柜动态商品识别方法及相关装置 Download PDFInfo
- Publication number
- CN116452636A CN116452636A CN202310451179.1A CN202310451179A CN116452636A CN 116452636 A CN116452636 A CN 116452636A CN 202310451179 A CN202310451179 A CN 202310451179A CN 116452636 A CN116452636 A CN 116452636A
- Authority
- CN
- China
- Prior art keywords
- commodity
- frame
- cabinet
- track
- video
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 24
- 230000001133 acceleration Effects 0.000 claims abstract description 10
- 230000002159 abnormal effect Effects 0.000 claims abstract description 9
- 238000001514 detection method Methods 0.000 claims description 89
- 239000013598 vector Substances 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 13
- 238000012549 training Methods 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 12
- 230000006399 behavior Effects 0.000 claims description 11
- 239000011159 matrix material Substances 0.000 claims description 10
- 238000002372 labelling Methods 0.000 claims description 7
- 230000007704 transition Effects 0.000 claims description 6
- 230000000875 corresponding effect Effects 0.000 claims description 4
- 238000000605 extraction Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 2
- 230000002596 correlated effect Effects 0.000 claims description 2
- 238000005070 sampling Methods 0.000 claims description 2
- 230000002618 waking effect Effects 0.000 claims description 2
- 238000001914 filtration Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 6
- 230000003068 static effect Effects 0.000 description 6
- 230000000007 visual effect Effects 0.000 description 5
- 230000007547 defect Effects 0.000 description 3
- 206010000117 Abnormal behaviour Diseases 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010408 sweeping Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/277—Analysis of motion involving stochastic approaches, e.g. using Kalman filters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/46—Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30241—Trajectory
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Medical Informatics (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Operations Research (AREA)
- Algebra (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种基于目标跟踪的无人售货柜动态商品识别方法,属于动态识别领域。本发明对多目标跟踪算法进行了改进,使用了匀变速卡尔曼滤波来预测轨迹,对于用户行为的加速、减速和突然停顿能够较好的适应;本发明提出的匹配策略,同时关注商品的运动特征和外观特征,能够较好的恢复由于遮挡而短暂丢失的轨迹,保证商品运动轨迹的连贯性;本发明的步骤4所提出的判断方案,能够基于商品的运动方向对用户的购物行为做出判断,同时具有一定的异常情况识别能力。另一方面,本发明能够基于单摄像头进行拍摄,所需要部署的摄像头个数少,部署成本更低;由于本发明能够采用外置摄像头的方式,能够大大的提升柜内的空间利用率。
Description
技术领域
本发明属于动态识别领域,尤其是一种基于目标跟踪的无人售货柜动态商品识别方法及相关装置。
背景技术
无人零售是近年的新兴领域,无人售货聚焦于更加自动化地解决售货问题。相比于传统的售货方式,无人售货具有更高的时间、空间灵活性,无人售货柜可以在办公楼、学校、路边等部署,还能实现24小时售货,极大地提高购物便捷性和提升经济效率。
传统的无人售货柜是由用户提前手动选择需要购买的商品,然后投币或扫码支付来完成交易流程。如今配合新兴的支付手段,投币流程已经基本被取代,但该类解决方案最核心的痛点是必须提前选择所需要购买的商品,再由售货柜返回商品,整个购物流程是封闭式的,售货柜内部具有复杂的机械结构。新兴的无人售货柜提出了为消费者实现“扫码直接开门,拿取货物,关门自动结算”的开放式售货服务,这种更加便利的消费流程。
目前常见的无人售货柜的方案有RFID射频标签、静态视觉识别和动态视觉识别等。RFID是一种无线射频识别技术,是通过RFID标签与阅读器之间进行短近场通信从而达到识别目标商品的目的。具体来说,将商品的具体信息先写入到一个RFID标签中,然后将标签粘贴在商品包装上,在进行判定时售货柜可以通过检验哪个标签消失了来判断用户购买了哪些商品。RFID标签的识别方法准确率很高,但是其缺点非常明显,就是标签的成本较高,而且若粘贴不牢或人为损毁导致标签脱落都会导致识别不准,目前该种方案已经基本不再使用。静态视觉识别的方案是通过识别开门和关门前后柜内的商品,然后比较差距得到最终的购物结果,具体来说:在开门前拍摄一张柜内物品照片,关门后再拍摄一张,关门后照片内缺少的商品即为用户所购买。在智能柜的构造方面,静态识别方案要求柜内的每一层都安装一个摄像头,以能够完整的获取到柜内所有商品的状态。另一方面,由于摄像头的视角有限,为了能够完全的拍摄到所有的商品,必须要求货柜每一层之间有足够的高度,并且商品不可以重叠放置,以免对数量检测产生影响。
传统方案货柜内部机械结构复杂,RFID标签方案的成本高,标签容易脱落;静态视觉识别方案需要安装的摄像头数量多,货柜内的空间利用率低。而动态视觉识别的方案能够较好地解决上述方案的缺点。
发明内容
本发明的目的在于克服上述现有技术的缺点,提供一种基于目标跟踪的无人售货柜动态商品识别方法及相关装置。
为达到上述目的,本发明采用以下技术方案予以实现:
一种基于目标跟踪的无人售货柜动态商品识别方法,包括以下步骤:
步骤1、获取用户在无人售货柜的消费行为视频,抽取帧并标注视频数据集;
步骤2、使用所述视频数据集,对YOLOX目标检测网络模型进行训练;
步骤3、使用所述YOLOX目标检测网络模型对待识别的售货柜视频进行逐帧识别,获得每帧画面中出现的商品检测框;
利用改进的多目标跟踪算法ByteTrack对待识别的视频进行逐帧处理,获得每帧商品的运动轨迹;
将每帧商品检测框与商品的运动轨迹进行匹配和关联,获得商品完整的运动轨迹,将未成功匹配的检测框与处于丢失状态的轨迹进行二次匹配和关联;
所述改进的多目标跟踪算法ByteTrack使用了包含加速度状态分量的卡尔曼滤波器;
步骤4、根据所述商品完整的轨迹信息,基于商品自身的运动方向来判断是否被售卖,最终得到用户购物结果。
进一步的,步骤(3)中利用改进的多目标跟踪算法ByteTrack对待识别的视频进行逐帧处理,获得视频中每件商品的运动轨迹信息,具体操作为:
使用匀变速卡尔曼滤波器预测每个商品轨迹的状态,得到轨迹预测的位置;改进后ByteTrack算法中匀变速卡尔曼滤波的状态向量为:
(x,y,r,h,xv,yv,rv,hv,xa,ya,ra,ha)T
其中,x,y表示目标的坐标,r表示目标的宽高比例,h表示目标的高度,xv,yv,rv,hv则分别对应x,y,r,h四个状态的速度分量,xa,ya,ra,ha为加速度分量;
匀变速卡尔曼滤波器状态转移矩阵为:
式中,Δt为采样周期,在逐帧处理的视频中即为帧间隔;
匀变速卡尔曼滤波器的状态转移方程和观测方程为:
式中,S为状态向量的前四项(x,y,r,h);V为状态向量的(xv,yv,rv,hv),代表x,y,r,h四个状态的速度分量;a为(xa,ya,ra,ha),代表x,y,r,h四个状态的加速度分量;ωt代表t时刻的过程噪声,用来描述状态转移矩阵和实际的运动过程之间所存在的误差,对应的是xt+1中期望为0,协方差为Q的高斯噪声;θt+1是t+1时刻的观测噪声,服从一个期望为0,协方差为R的高斯分布;R作为观测噪声的协方差Q和R均为噪声协方差矩阵。
进一步的,步骤3中将每帧图片中商品检测框与商品的运动轨迹进行匹配和关联,实施步骤如下:
301、将所述商品检测框按照置信度分为高分检测框和低分检测框;
302、将所述高分检测框与每件商品的运动轨迹,根据IoU距离构建代价矩阵,使用匈牙利算法匹配,将匹配的检测框与轨迹关联,同时得到未成功匹配的检测框与商品的运动轨迹;
303、将未成功匹配的商品的运动轨迹与所述低分检测框,根据IoU距离构建代价矩阵,使用匈牙利算法匹配,再次得到未成功匹配的检测框与商品的运动轨迹,对应为新出现的检测框和未处于丢失状态的轨迹。
进一步的,将未成功匹配的检测框与处于丢失状态的轨迹进行二次匹配和关联,具体实施步骤为:
304、对于处于丢失状态的轨迹,在每一帧上计算最大匹配距离,同时,使用轻量级特征提取网络模型来提取目标的外观特征,获取目标外观特征向量;
305、将所述新出现检测框与处于丢失状态的轨迹进行匹配,首先计算新检测框与丢失轨迹最后出现位置之间的距离;
之后使用特征提取网络模型提取新检测框的外观特征向量,计算新检测框的外观特征向量与所述目标外观特征向量的欧氏距离;
当空间距离Dm小于最大匹配距离DA,且欧氏距离Da小于预设阈值时,则将目标p与轨迹A进行匹配关联,唤醒丢失的轨迹A。
进一步的:
步骤304中,在每一帧计算一个最大匹配距离,计算公式为:
DA=(Tcurrent-Tlast)*speed
式中,DA代表轨迹A的最远匹配距离,Tlast表示目标最后一次出现的帧数,Tcurrent表示当前检测的帧数,speed为一个超参数,衡量目标的平均移动速度;或/和
步骤305中,计算其余丢失轨迹与新出现检测框的距离Dm,公式为:
式中,Dm表示新检测框p与轨迹A的距离,xp、yp表示检测框p的中心点坐标,xlast、ylast表示轨迹A最后一次出现的中心点坐标;或/和
步骤305中,计算欧氏距离Da,公式为:
式中,表示新目标p的外观特征向量,/>是存储的丢失目标A的外观特征向量,n为特征向量的维度,Da是目标p与A外观特征向量的欧氏距离。
进一步的,还包括以下操作:
对于处于丢失状态的时间达到预设阈值的轨迹,进行删除;
对于二次仍未成功匹配的高分检测框,为其创建新的轨迹。
进一步的,步骤4的实施步骤为:
S401、读取视频每一帧画面与步骤3所得的商品轨迹信息;
S402、确定视频每帧画面中内外的分界线,将视频画面分为5个区域:柜内区域、柜外区域、预入柜区域、预离柜区域,所述预入柜区域为柜外靠近分界线的部分区域,所述预离柜区域为柜内靠近分界线的部分区域;
S403、创建三个集合:预入柜集合、预离柜集合、和临时购物车集合,所述预入柜集合存储当前处于预入柜区域的商品,所述预离柜集合存储当前处于预离柜区域的商品,所述临时购物车存储当前被拿出售货柜的商品;
S404、若一个商品在画面中从预离柜区域穿过分界线进入到预入柜区域,定义为发生了离柜撞线,此时则认为用户拿取了所述商品,将所述商品加入临时购物车中;
若一件商品在画面中从预入柜区域穿过分界线进入到预离柜区域,定义为发生了入柜撞线,此时认为用户放回了所述商品,将所述商品从临时购物车中扣除;
若一件商品在画面中发生了所述的入柜撞线,但所述商品之前并不存在于临时购物车中,此时认为用户向柜内放入了未知商品,则将所述购物订单标记为异常;
S405、循环处理视频每帧,直至视频结束;
处理结束后,临时购物车内存储的商品种类与数量即为用户购物最终结果。
一种基于目标跟踪的无人售货柜动态商品识别装置,包括视频数据集获取模块、目标检测网络模型训练模块、商品检测框与运动轨迹匹配模块和购物结果识别模块;
所述视频数据集获取模块,用于获取用户在无人售货柜的消费行为视频,抽取帧并标注视频数据集;
所述目标检测网络模型训练模块,用于使用所述视频数据集,对YOLOX目标检测网络模型进行训练;
所述商品检测框与运动轨迹匹配模块,用于使用所述YOLOX目标检测网络模型对待识别的售货柜视频进行逐帧识别,获得每帧画面中出现的商品检测框;还用于
利用改进的多目标跟踪算法ByteTrack对待识别的视频进行逐帧处理,获得视频中商品的运动轨迹;还用于
将商品检测框与商品的运动轨迹进行匹配和关联,将未成功匹配的检测框与处于丢失状态的轨迹进行二次匹配和关联;
所述购物结果识别模块,用于根据所述商品完整的轨迹信息,基于商品自身的运动方向来判断是否被售卖,最终得到用户购物结果。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的基于目标跟踪的无人售货柜动态商品识别方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述的基于目标跟踪的无人售货柜动态商品识别方法的步骤。
与现有技术相比,本发明具有以下有益效果:
本发明提供一种基于目标跟踪的无人售货柜动态商品识别方法,选取的数据集来自于真实的用户购物场景,因此所训练出来的模型能够更好的适应实际的购物场景;本发明对多目标跟踪算法进行了改进,使用了匀变速卡尔曼滤波来预测轨迹,对于用户行为的加速、减速和突然停顿能够较好的适应;本发明提出的匹配策略,同时关注商品的运动特征和外观特征,能够较好的恢复由于遮挡而短暂丢失的轨迹,保证商品运动轨迹的连贯性;本发明的步骤4所提出的判断方案,能够基于商品的运动方向对用户的购物行为做出判断,同时具有一定的异常情况识别能力。另一方面,本发明能够基于单摄像头进行拍摄,只拍摄用户的购物行为,所需要部署的摄像头个数少,部署成本更低;由于本发明能够采用外置摄像头的方式,因此对售货柜内各层的高度没有要求,同时柜内商品可以随意重叠放置,能够大大的提升柜内的空间利用率。
本发明提供的一种基于目标跟踪的无人售货柜动态商品识别方法,包含完成上述工作方法的具体模块。
本发明提供一种基于目标跟踪的无人售货柜动态商品识别方法的计算机设备及存储介质,用于实现上述工作方法的具体步骤。
附图说明
图1为基于静态视觉识别和动态识别两种方案售货柜的对比;
图2为多目标跟踪算法进行商品跟踪的流程;
图3为视频画面关键区域示意图;
图4为商品离柜判定示意图;
图5为商品入柜判定示意图;
图6为异常情况判定示意图;
图7为实施例的购物视频的关键帧展示。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面结合附图对本发明做进一步详细描述:
本发明设计了一种基于多目标跟踪算法的无人售货柜商品动态识别方法,改进了ByteTrack算法中的卡尔曼滤波模块,设计了丢失轨迹与新检测框的匹配策略,保证更连贯的跟踪效果。本发明所使用的无人售货柜的构造如图1右侧所示,其摄像头安装在货柜的上方,摄像头视野仅关注用户的行为,而不拍摄货柜内商品的状态。相比之下,货柜能够容纳更多商品,需要部署更少的摄像头。以一个六层的货柜为例,静态方案需要安装6个摄像头,而动态方案仅需1到2个摄像头。
如图2所示,本发明的具体实施方式有以下步骤:
步骤1、用户开启柜门,摄像头开启,开始记录用户购物视频片段;
步骤2、用户结束购物,关闭柜门,摄像头关闭,存储购物视频片段,并传输至服务器;
步骤3、服务器处理视频片段,对视频使用目标检测逐帧检测其中出现的商品;
步骤4、根据视频画面和商品检测框,逐帧处理视频画面并生成商品轨迹信息;
步骤5、根据商品运行轨迹信息,分析出视频片段中的用户所购买商品的种类和数量。
如图3所示,在具体确定商品的售卖结果时,需要根据商品的运行轨迹来确定,本发明的方法是在用户购物的视频片段中,以售货柜门为界,将视频画面分为两个区域:柜内区域和柜外区域,设置柜内靠近分界线的一部分为预离柜区域,柜外靠近分界线的一部分为预入柜区域。在进行分析时,维护三个集合:预离柜商品集合、预入柜商品集合和临时购物车集合。预离柜商品集合保存的是当前处于预离柜区域的商品轨迹;预入柜商品集合保存的是当前处于预入柜区域的商品轨迹;临时购物车保存被拿出售货柜外的商品。对于一件商品在整个视频中的轨迹,将会出现三种情况:
1、离柜:是指该商品在画面中从预离柜区域穿过分界线进入到预入柜区域,定义为其发生了离柜撞线。此时认为用户拿取了一件商品,将其加入临时购物车中。
2、入柜:是指该商品在画面中从预入柜区域穿过分界线进入到预离柜区域,定义为其发生了入柜撞线。此时认为用户放回了一件商品,若临时购物车中存在这件商品,将其从临时购物车中扣除。
3、异常:是指一件商品如2中所述发生了入柜撞线,但是该商品之前并不存在于临时购物车中。此时认为用户向柜内放入了未知商品,需要将该次购物订单标记为异常。
为了更好的解释方案,结合图4-6来具体对上述三种情况进行描述:
参见图4,图4为商品离柜的示意图。商品A1在第T帧时处于售货柜内;在第T+1帧时,被拿取进入预离柜区域中,此时将其编号A1加入预离柜集合中;在第T+2帧时,A1从预离柜发生离柜撞线进入预入柜区域,此时将A1加入临时购物车中,且将其从预离柜集合移入预入柜集合内;在T+3帧时,A1离开预入柜区域来到售货柜外,将其从预入柜集合中删除。在T+3帧以后,用户的临时购物车中新增商品A1一件。
参见图5,图5为商品入柜示意图。商品A(编号为1)在第T帧时处于售货柜外部,临时购物车内有商品A1一件;在T+1帧时,被拿取进入预入柜区域中,此时将其编号A1加入预入柜集合中;在T+2帧时,A1从预入柜区域发生入柜撞线进入预离柜区域,此时将A商品的数量从临时购物车中扣除1件,且将轨迹A1从预入柜区域移入预离柜集合;在T+3帧时,A1离预离柜区域被放置在柜内,将其从预离柜集合中删除。在T+3帧之后,A商品被放回售货柜,临时购物车为空。
参见图6,图6为异常情况示意图。在第T帧时商品A处于柜外,临时购物车内有A商品一件;在第T+1帧时,商品B(编号为2)从柜外进入预入柜区域,此时将轨迹B2加入预入柜集合;在第T+2帧时,B2从预入柜发生入柜撞线进入预离柜区域,此时将B2从预入柜集合移入预离柜集合,由于临时购物车内没有B商品扣除,判断发生异常行为,将该订单标记为“异常”;在T+3帧时,商品B离开黄色区域被放入柜中,将其从预离柜集合中删除;在T+3帧以后,临时购物车内仍有商品A一件,该订单被标记为异常订单。
本发明还提供一种基于目标跟踪的无人售货柜动态商品识别装置,包括视频数据集获取模块、目标检测网络模型训练模块、商品检测框与运动轨迹匹配模块和购物结果识别模块;
所述视频数据集获取模块,用于获取用户在无人售货柜的消费行为视频,抽取帧并标注视频数据集;
所述目标检测网络模型训练模块,用于使用所述视频数据集,对YOLOX目标检测网络模型进行训练;
所述商品检测框与运动轨迹匹配模块,用于使用所述YOLOX目标检测网络模型对待识别的售货柜视频进行逐帧识别,获得每帧画面中出现的商品检测框;还用于
利用改进的多目标跟踪算法ByteTrack对待识别的视频进行逐帧处理,获得视频中商品的运动轨迹;还用于
将商品检测框与商品的运动轨迹进行匹配和关联,将未成功匹配的检测框与处于丢失状态的轨迹进行二次匹配和关联;
所述购物结果识别模块,用于根据所述商品完整的轨迹信息,基于商品自身的运动方向来判断是否被售卖,最终得到用户购物结果。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机程序被处理器执行时以实现基于目标跟踪的无人售货柜动态商品识别方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:步骤1、获取用户在无人售货柜的消费行为视频,抽取帧并标注视频数据集;
步骤2、使用所述视频数据集,对YOLOX目标检测网络模型进行训练;
步骤3、使用所述YOLOX目标检测网络模型对待识别的售货柜视频进行逐帧识别,获得每帧画面中出现的商品检测框;
利用改进的多目标跟踪算法ByteTrack对待识别的视频进行逐帧处理,获得视频中商品的运动轨迹;
将商品检测框与商品的运动轨迹进行匹配和关联,将未成功匹配的检测框与处于丢失状态的轨迹进行二次匹配和关联;
所述改进的多目标跟踪算法ByteTrack使用了包含加速度状态分量的卡尔曼滤波器;
步骤4、根据所述商品的完整轨迹信息,基于商品自身的运动方向来判断是否被售卖,最终得到用户购物结果。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:步骤1、获取用户在无人售货柜的消费行为视频,抽取帧并标注视频数据集;
步骤2、使用所述视频数据集,对YOLOX目标检测网络模型进行训练;
步骤3、使用所述YOLOX目标检测网络模型对待识别的售货柜视频进行逐帧识别,获得每帧画面中出现的商品检测框;
利用改进的多目标跟踪算法ByteTrack对待识别的视频进行逐帧处理,获得视频中商品的运动轨迹;
将商品检测框与商品的运动轨迹进行匹配和关联,将未成功匹配的检测框与处于丢失状态的轨迹进行二次匹配和关联;
所述改进的多目标跟踪算法ByteTrack使用了包含加速度状态分量的卡尔曼滤波器;
步骤4、根据所述商品完整的轨迹信息,基于商品自身的运动方向来判断是否被售卖,最终得到用户购物结果。
实施例
参见图7,图7为实施例的购物视频的关键帧展示,该购物视频关键帧描述了用户取出一件商品然后放回,然后连续取出两件商品,最后关闭柜门的过程。第44帧,柜门开启,用户开始购物。第79帧,用户拿取“元气森林外星人”一件(轨迹ID为4),进入预离柜区域,第85帧,商品发生离柜撞线,临时购物车中加入“元气森林外星人”一件。第88帧,用户将商品放回,商品进入预离柜区域,发生入柜撞线,临时购物车中扣除“元气森林外星人”一件。第188帧,用户再次拿取“元气森林外星人”一件(轨迹ID为17),进入预离柜区域,第189帧,商品发生离柜撞线,临时购物车中加入“元气森林外星人”一件。第221帧,用户再次拿取“元气森林外星人”一件(轨迹ID为19),第223帧,商品发生离柜撞线,临时购物车中加入“元气森林外星人”一件。第247帧,用户关闭柜门,最终临时购物车中记录用户拿取商品“元气森林外星人”两件。
以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。
Claims (10)
1.一种基于目标跟踪的无人售货柜动态商品识别方法,其特征在于,包括以下步骤:
步骤1、获取用户在无人售货柜的消费行为视频,抽取帧并标注视频数据集;
步骤2、使用所述视频数据集,对YOLOX目标检测网络模型进行训练;
步骤3、使用所述YOLOX目标检测网络模型对待识别的售货柜视频进行逐帧识别,获得每帧画面中出现的商品检测框;
利用改进的多目标跟踪算法ByteTrack对待识别的视频进行逐帧处理,获得每帧商品的运动轨迹;
将每帧商品检测框与商品的运动轨迹进行匹配和关联,获得商品完整的运动轨迹,将未成功匹配的检测框与处于丢失状态的轨迹进行二次匹配和关联;
所述改进的多目标跟踪算法ByteTrack使用了包含加速度状态分量的卡尔曼滤波器;
步骤4、根据所述商品完整的轨迹信息,基于商品自身的运动方向来判断是否被售卖,最终得到用户购物结果。
2.根据权利要求1所述的基于目标跟踪的无人售货柜动态商品识别方法,其特征在于,步骤(3)中利用改进的多目标跟踪算法ByteTrack对待识别的视频进行逐帧处理,获得视频中每件商品的运动轨迹信息,具体操作为:
使用匀变速卡尔曼滤波器预测每个商品轨迹的状态,得到轨迹预测的位置;改进后ByteTrack算法中匀变速卡尔曼滤波的状态向量为:
(x,y,r,h,xv,yv,rv,hv,xa,ya,ra,ha)T
其中,x,y表示目标的坐标,r表示目标的宽高比例,h表示目标的高度,xv,yv,rv,hv则分别对应x,y,r,h四个状态的速度分量,xa,ya,ra,ha为加速度分量;
匀变速卡尔曼滤波器状态转移矩阵为:
式中,Δt为采样周期,在逐帧处理的视频中即为帧间隔;
匀变速卡尔曼滤波器的状态转移方程和观测方程为:
式中,S为状态向量的前四项(x,y,r,h);V为状态向量的(xv,yv,rv,hv),代表x,y,r,h四个状态的速度分量;a为(xa,ya,ra,ha),代表x,y,r,h四个状态的加速度分量;ωt代表t时刻的过程噪声,用来描述状态转移矩阵和实际的运动过程之间所存在的误差,对应的是xt+1中期望为0,协方差为Q的高斯噪声;θt+1是t+1时刻的观测噪声,服从一个期望为0,协方差为R的高斯分布;R作为观测噪声的协方差Q和R均为噪声协方差矩阵。
3.根据权利要求1所述的基于目标跟踪的无人售货柜动态商品识别方法,其特征在于,步骤3中将每帧图片中商品检测框与商品的运动轨迹进行匹配和关联,实施步骤如下:
301、将所述商品检测框按照置信度分为高分检测框和低分检测框;
302、将所述高分检测框与每件商品的运动轨迹,根据IoU距离构建代价矩阵,使用匈牙利算法匹配,将匹配的检测框与轨迹关联,同时得到未成功匹配的检测框与商品的运动轨迹;
303、将未成功匹配的商品的运动轨迹与所述低分检测框,根据IoU距离构建代价矩阵,使用匈牙利算法匹配,再次得到未成功匹配的检测框与商品的运动轨迹,对应为新出现的检测框和未处于丢失状态的轨迹。
4.根据权利要求3所述的基于目标跟踪的无人售货柜动态商品识别方法,其特征在于,将未成功匹配的检测框与处于丢失状态的轨迹进行二次匹配和关联,具体实施步骤为:
304、对于处于丢失状态的轨迹,在每一帧上计算最大匹配距离,同时,使用轻量级特征提取网络模型来提取目标的外观特征,获取目标外观特征向量;
305、将所述新出现检测框与处于丢失状态的轨迹进行匹配,首先计算新检测框与丢失轨迹最后出现位置之间的距离;
之后使用特征提取网络模型提取新检测框的外观特征向量,计算新检测框的外观特征向量与所述目标外观特征向量的欧氏距离;
当空间距离Dm小于最大匹配距离DA,且欧氏距离Da小于预设阈值时,则将目标p与轨迹A进行匹配关联,唤醒丢失的轨迹A。
5.根据权利要求4所述的基于目标跟踪的无人售货柜动态商品识别方法,其特征在于:
步骤304中,在每一帧计算一个最大匹配距离,计算公式为:
DA=(Tcurrent-Tlast)*speed
式中,DA代表轨迹A的最远匹配距离,Tlast表示目标最后一次出现的帧数,Tcurrent表示当前检测的帧数,speed为一个超参数,衡量目标的平均移动速度;或/和
步骤305中,计算其余丢失轨迹与新出现检测框的距离Dm,公式为:
式中,Dm表示新检测框p与轨迹A的距离,xp、yp表示检测框p的中心点坐标,xlast、ylast表示轨迹A最后一次出现的中心点坐标;或/和
步骤305中,计算欧氏距离Da,公式为:
式中,表示新目标p的外观特征向量,/>是存储的丢失目标A的外观特征向量,n为特征向量的维度,Da是目标p与A外观特征向量的欧氏距离。
6.根据权利要求4所述的基于目标跟踪的无人售货柜动态商品识别方法,其特征在于,还包括以下操作:
对于处于丢失状态的时间达到预设阈值的轨迹,进行删除;
对于二次仍未成功匹配的高分检测框,为其创建新的轨迹。
7.根据权利要求1所述的基于目标跟踪的无人售货柜动态商品识别方法,其特征在于,步骤4的实施步骤为:
S401、读取视频每一帧画面与步骤3所得的商品轨迹信息;
S402、确定视频每帧画面中内外的分界线,将视频画面分为5个区域:柜内区域、柜外区域、预入柜区域、预离柜区域,所述预入柜区域为柜外靠近分界线的部分区域,所述预离柜区域为柜内靠近分界线的部分区域;
S403、创建三个集合:预入柜集合、预离柜集合、和临时购物车集合,所述预入柜集合存储当前处于预入柜区域的商品,所述预离柜集合存储当前处于预离柜区域的商品,所述临时购物车存储当前被拿出售货柜的商品;
S404、若一个商品在画面中从预离柜区域穿过分界线进入到预入柜区域,定义为发生了离柜撞线,此时则认为用户拿取了所述商品,将所述商品加入临时购物车中;
若一件商品在画面中从预入柜区域穿过分界线进入到预离柜区域,定义为发生了入柜撞线,此时认为用户放回了所述商品,将所述商品从临时购物车中扣除;
若一件商品在画面中发生了所述的入柜撞线,但所述商品之前并不存在于临时购物车中,此时认为用户向柜内放入了未知商品,则将所述购物订单标记为异常;
S405、循环处理视频每帧,直至视频结束;
处理结束后,临时购物车内存储的商品种类与数量即为用户购物最终结果。
8.一种基于目标跟踪的无人售货柜动态商品识别装置,其特征在于,包括视频数据集获取模块、目标检测网络模型训练模块、商品检测框与运动轨迹匹配模块和购物结果识别模块;
所述视频数据集获取模块,用于获取用户在无人售货柜的消费行为视频,抽取帧并标注视频数据集;
所述目标检测网络模型训练模块,用于使用所述视频数据集,对YOLOX目标检测网络模型进行训练;
所述商品检测框与运动轨迹匹配模块,用于使用所述YOLOX目标检测网络模型对待识别的售货柜视频进行逐帧识别,获得每帧画面中出现的商品检测框;还用于
利用改进的多目标跟踪算法ByteTrack对待识别的视频进行逐帧处理,获得视频中商品的运动轨迹;还用于
将商品检测框与商品的运动轨迹进行匹配和关联,将未成功匹配的检测框与处于丢失状态的轨迹进行二次匹配和关联;
所述购物结果识别模块,用于根据所述商品完整的轨迹信息,基于商品自身的运动方向来判断是否被售卖,最终得到用户购物结果。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-7任一项所述的基于目标跟踪的无人售货柜动态商品识别方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7任一项所述的基于目标跟踪的无人售货柜动态商品识别方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310451179.1A CN116452636A (zh) | 2023-04-24 | 2023-04-24 | 一种基于目标跟踪的无人售货柜动态商品识别方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310451179.1A CN116452636A (zh) | 2023-04-24 | 2023-04-24 | 一种基于目标跟踪的无人售货柜动态商品识别方法及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116452636A true CN116452636A (zh) | 2023-07-18 |
Family
ID=87131882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310451179.1A Pending CN116452636A (zh) | 2023-04-24 | 2023-04-24 | 一种基于目标跟踪的无人售货柜动态商品识别方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116452636A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117354449A (zh) * | 2023-09-30 | 2024-01-05 | 武汉小麦便利科技有限公司 | 基于动态视觉的商品识别方法、系统、设备及存储介质 |
CN118097519A (zh) * | 2024-04-24 | 2024-05-28 | 南京亿猫信息技术有限公司 | 基于商品轨迹分析的智能购物车购物行为分析方法及系统 |
-
2023
- 2023-04-24 CN CN202310451179.1A patent/CN116452636A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117354449A (zh) * | 2023-09-30 | 2024-01-05 | 武汉小麦便利科技有限公司 | 基于动态视觉的商品识别方法、系统、设备及存储介质 |
CN118097519A (zh) * | 2024-04-24 | 2024-05-28 | 南京亿猫信息技术有限公司 | 基于商品轨迹分析的智能购物车购物行为分析方法及系统 |
CN118097519B (zh) * | 2024-04-24 | 2024-06-25 | 南京亿猫信息技术有限公司 | 基于商品轨迹分析的智能购物车购物行为分析方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111415461B (zh) | 物品识别方法及系统、电子设备 | |
CN109003390B (zh) | 一种商品识别方法、无人售货机及计算机可读存储介质 | |
CN108985359B (zh) | 一种商品识别方法、无人售货机及计算机可读存储介质 | |
CN116452636A (zh) | 一种基于目标跟踪的无人售货柜动态商品识别方法及相关装置 | |
CN106408369B (zh) | 一种智能鉴别购物车内商品信息的方法 | |
CN109409291B (zh) | 智能货柜的商品识别方法和系统及购物订单的生成方法 | |
CN108109293B (zh) | 一种商品防盗结算方法、装置及电子设备 | |
CN109271847B (zh) | 无人结算场景中异常检测方法、装置及设备 | |
CN109979130A (zh) | 一种商品自动识别和结算售货柜、方法以及系统 | |
CN111263224B (zh) | 视频处理方法、装置及电子设备 | |
US11526843B2 (en) | Product identification systems and methods | |
EP3901841B1 (en) | Settlement method, apparatus, and system | |
CN111222870B (zh) | 结算方法、装置和系统 | |
JP7086138B2 (ja) | 物体識別方法、システム及び電子機器 | |
CN111723777A (zh) | 商品取放过程判别方法、装置、智能货柜和可读存储介质 | |
CN111126990B (zh) | 物品自动识别方法、结算方法、装置、终端及存储介质 | |
CN109447619A (zh) | 基于开放环境的无人结算方法、装置、设备和系统 | |
CN113468914B (zh) | 一种商品纯净度的确定方法、装置及设备 | |
CN112907168A (zh) | 动态商品识别方法、无人售货柜及其售货方法 | |
CN111260685B (zh) | 视频处理方法、装置及电子设备 | |
CN112991379B (zh) | 一种基于动态视觉的无人售货方法及系统 | |
CN103377479A (zh) | 事件检测方法、装置和系统,以及摄像机 | |
CN110443946B (zh) | 售货机、物品种类的识别方法和装置 | |
CN115601686B (zh) | 物品交付确认的方法、装置和系统 | |
CN112735030B (zh) | 售货柜的视觉识别方法、装置、电子设备和可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |