CN113033286A - 一种货柜内商品的识别方法及装置 - Google Patents
一种货柜内商品的识别方法及装置 Download PDFInfo
- Publication number
- CN113033286A CN113033286A CN202110115364.4A CN202110115364A CN113033286A CN 113033286 A CN113033286 A CN 113033286A CN 202110115364 A CN202110115364 A CN 202110115364A CN 113033286 A CN113033286 A CN 113033286A
- Authority
- CN
- China
- Prior art keywords
- commodity
- goods
- commodities
- channel
- fisheye image
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000012856 packing Methods 0.000 claims abstract description 4
- 238000001514 detection method Methods 0.000 claims description 87
- 238000012545 processing Methods 0.000 claims description 48
- 238000004590 computer program Methods 0.000 claims description 13
- 238000012937 correction Methods 0.000 claims description 11
- 230000009466 transformation Effects 0.000 claims description 11
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 230000009977 dual effect Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 239000003086 colorant Substances 0.000 description 6
- 238000003384 imaging method Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000005192 partition Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 238000003672 processing method Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 239000003550 marker Substances 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 241000251468 Actinopterygii Species 0.000 description 2
- 235000020197 coconut milk Nutrition 0.000 description 2
- 239000000571 coke Substances 0.000 description 2
- 235000015205 orange juice Nutrition 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 235000008645 Chenopodium bonus henricus Nutrition 0.000 description 1
- 244000138502 Chenopodium bonus henricus Species 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/04—Context-preserving transformations, e.g. by using an importance map
- G06T3/047—Fisheye or wide-angle transformations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/10—Image enhancement or restoration using non-spatial domain filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/62—Analysis of geometric attributes of area, perimeter, diameter or volume
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- 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/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- 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/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
-
- 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/20048—Transform domain processing
- G06T2207/20061—Hough transform
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/07—Target detection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Multimedia (AREA)
- Life Sciences & Earth Sciences (AREA)
- Geometry (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Image Analysis (AREA)
Abstract
本发明实施例提供了一种货柜内商品的识别方法及装置,该方法包括获取针对任一货架层的鱼眼图像,对鱼眼图像进行目标检测,确定出鱼眼图像中各商品的商品类型和各商品所在的货道,统计位于同一货道且属于同一商品类型的商品的数量,将数量最多的商品类型确定为同一货道上的各商品的商品类型。其中,货柜内每层货架设置图像采集装置,每层货架设置有多个货道,同一货道上的各商品属于同一类型。由于不同货道设置的商品类型不同,同一货道上的各商品属于同一类型,因此可以将同一货道上数量最多的商品类型确定为该货道上各商品的商品类型,如此可以及时准确地识别出货柜内各商品的商品类型,并可以提高货柜内商品的多样性和商品上货组合的灵活性。
Description
技术领域
本发明实施例涉及智能货柜技术领域,尤其涉及一种货柜内商品的识别方法及装置。
背景技术
目前在市面上有着广泛应用的智能售货柜,无需售货人员,即可自动售卖。这种智能售货柜一般包括四到五层货架(每层高度可相等或不等),用来放置零售商品,且每层顶部均有一个鱼眼摄像头,用于确定用户购买的商品。一种方式是通过每次顾客关门后拍摄的商品照片,使用目标检测技术计算其中各种类型的商品分别有多少个,并与上次关门后计算出的商品个数进行比较,即可得出本次顾客购买的商品种类与个数并进行自动结算。智能售货柜中存在商品的外形差异虽然较大,但是商品的顶部差异却不大的情况。然而,由于鱼眼摄像头只能拍摄到商品的顶部,因此会导致商品的类别难以区分。
现阶段,通常采用的方法是在同一个柜子(或柜子的同一层)中不上架相似的商品。这样,如果检测出了属于某些相似的商品,则只需要把它们的类别都改为该货架层设定的商品类别即可。然而,这种处理方式会降低智能售货柜内商品的多样性和商品上货组合的灵活性。
综上,目前亟需一种货柜内商品的识别方法,用以提高识别货柜内商品的商品类型的效率、准确性,并提高货柜内商品的多样性和商品上货组合的灵活性。
发明内容
本发明实施例提供了一种货柜内商品的识别方法及装置,用以提高识别货柜内商品的商品类型的效率、准确性,并提高货柜内商品的多样性和商品上货组合的灵活性。
第一方面,本发明实施例提供了一种货柜内商品的识别方法,所述货柜内设置有至少一层货架,每层货架的顶部设置有图像采集装置,每层货架设置有多个货道,同一货道上的各商品属于同一类型,所述方法包括:
获取针对任一货架层的鱼眼图像;
对所述鱼眼图像进行目标检测,确定出所述鱼眼图像中各商品的商品类型和各商品所在的货道;
统计位于同一货道且属于同一商品类型的商品的数量;
将数量最多的商品类型确定为所述同一货道上的各商品的商品类型。
上述技术方案中,货柜内设置有至少一层货架,每层货架的顶部设置有图像采集装置,每层货架设置有多个货道,同一货道上的各商品属于同一类型。获取针对任一货架层的鱼眼图像,并对鱼眼图像进行目标检测,确定出鱼眼图像中各商品的商品类型和各商品所在的货道。再统计位于同一货道且属于同一商品类型的商品的数量,并将数量最多的商品类型确定为同一货道上的各商品的商品类型。由于每层货架设置有多个货道,不同的货道所设置的商品类型各不相同,且同一货道上的各商品属于同一类型,因此在统计位于同一货道且属于同一商品类型的商品的数量后,可以将同一货道上数量最多的商品类型确定为该货道上各商品的商品类型,如此可以及时准确地识别出货柜内各商品的商品类型,从而可以提高识别货柜内商品的商品类型的效率、准确性,并可以提高货柜内商品的多样性和商品上货组合的灵活性,进而可以解决现有技术中存在由于同一个柜子(或柜子的同一层)中不上架相似的商品导致货柜内商品的多样性和商品上货组合的灵活性降低的问题。
可选地,所述对所述鱼眼图像进行目标检测,确定出所述鱼眼图像中各商品所在的货道,包括:
对所述鱼眼图像进行目标检测,确定出所述鱼眼图像中各商品的初始位置信息;
对所述各商品的初始位置信息进行修正,得到所述各商品的修正位置信息;
根据所述各商品的修正位置信息,确定所述各商品所属的货道。
上述技术方案中,由于该处理方式仅对各商品的初始位置信息(即中心坐标)进行修正,因此相比对各商品的所有位置都进行修正,该处理方式所耗费的计算量更少,如此可以提高数据处理的效率,从而可以提高针对货柜内商品的商品类型的识别效率。
可选地,所述根据所述各商品的修正位置信息,确定所述各商品所属的货道,包括:
根据所述各商品的修正位置信息中第一方向的坐标值,对所述各商品进行排序;
将第i个商品在所述第一方向的第一坐标值,与第i-1个商品在所述第一方向的第二坐标值进行比较,确定所述第i个商品是否属于所述第i-1个商品所在货道;
其中,所述第i-1个商品在排序上位于所述第i个商品之前。
上述技术方案中,通过将第i个商品在第一方向的第一坐标值,与第i-1个商品在第一方向的第二坐标值进行比较,可以及时准确地确定出第i个商品属于哪个货道,从而可以及时准确地识别出第i个商品的商品类型。
可选地,所述将第i个商品在所述第一方向的第一坐标值,与第i-1个商品在所述第一方向的第二坐标值进行比较,确定所述第i个商品是否属于所述第i-1个商品所在货道,包括:
若确定所述第一坐标值与所述第二坐标值的差值小于间距阈值,则确定所述第i个商品属于所述第i-1个商品所在货道。
上述技术方案中,若确定第一坐标值与第二坐标值的差值小于间距阈值,则可以准确地确定第i个商品与第i-1个商品属于同一货道,从而可以及时准确地识别出第i个商品的商品类型。
可选地,在与第i-1个商品在所述第一方向的第二坐标值进行比较之前,还包括:
确定所述第i-1个商品所在货道的各商品的数量小于预设的货道商品数。
上述技术方案中,若确定第i-1个商品所在货道的各商品的数量小于预设的货道商品数时,就可以直接将第i个商品在第一方向的第一坐标值,与第i-1个商品在第一方向的第二坐标值进行比较。若确定第i-1个商品所在货道的各商品的数量小于预设的货道商品数,需要新增一个与第i-1个商品所在货道相邻的货道。如此,可以确保识别第i个商品的商品类型的准确性。
可选地,所述方法还包括:
若所述第一坐标值与所述第二坐标值的差值不小于所述间距阈值,则确定所述第i个商品不属于所述第i-1个商品所在货道,并新增一个与所述第i-1个商品所在货道相邻的货道,并将所述第i个商品确定为新增货道中位于起始位置的商品。
上述技术方案中,若确定第一坐标值与第二坐标值的差值不小于间距阈值,则可以准确地确定第i个商品与第i-1个商品不属于同一货道,以此将该第i个商品放在与第i-1个商品所在货道相邻的货道。如此,基于第i个商品所属的货道,就可以及时识别出第i个商品的商品类型。
可选地,所述方法还包括:
若确定货架层中的货道数量大于所述货架层所能容纳的货道数量阈值,则将货道间距最小的两个货道合并为一个货道。
上述技术方案中,在确定货架层中的货道数量大于货架层所能容纳的货道数量阈值时,可以将货道间距最小的两个货道合并为一个货道,如此可以确保针对货柜内商品的识别结果符合业务规则,并可以提高识别货柜内商品的商品类型的准确性。
可选地,所述对所述各商品的初始位置信息进行修正,得到所述各商品的修正位置信息,包括:
对所述鱼眼图像进行霍夫圆变换处理,得到所述鱼眼图像的中心位置和球面半径;
根据所述中心位置和所述球面半径,建立球面模型;
基于所述球面模型,确定所述鱼眼图像中各商品的初始位置在球面上的球面坐标点;
按照双经度坐标转换规则,对所述鱼眼图像中各商品的球面坐标点进行转换处理,得到所述鱼眼图像中各商品的双经度坐标;
基于坐标矫正规则,对所述鱼眼图像中各商品的双经度坐标进行处理,得到所述各商品的修正位置信息。
上述技术方案中,通过基于霍夫圆变换、双经度坐标转换规则以及坐标矫正规则对各商品的初始位置信息进行修正处理,可以及时准确地得到各商品的修正位置信息,从而可以为后续确定各商品所属的货道提供支持。
第二方面,本发明实施例还提供了一种货柜内商品的识别装置,所述货柜内设置有至少一层货架,每层货架的顶部设置有图像采集装置,每层货架设置有多个货道,同一货道上的各商品属于同一类型,所述装置包括:
获取单元,用于获取针对任一货架层的鱼眼图像;
处理单元,用于对所述鱼眼图像进行目标检测,确定出所述鱼眼图像中各商品的商品类型和各商品所在的货道;统计位于同一货道且属于同一商品类型的商品的数量;将数量最多的商品类型确定为所述同一货道上的各商品的商品类型。
可选地,所述处理单元具体用于:
对所述鱼眼图像进行目标检测,确定出所述鱼眼图像中各商品的初始位置信息;
对所述各商品的初始位置信息进行修正,得到所述各商品的修正位置信息;
根据所述各商品的修正位置信息,确定所述各商品所属的货道。
可选地,所述处理单元具体用于:
根据所述各商品的修正位置信息中第一方向的坐标值,对所述各商品进行排序;
将第i个商品在所述第一方向的第一坐标值,与第i-1个商品在所述第一方向的第二坐标值进行比较,确定所述第i个商品是否属于所述第i-1个商品所在货道;
其中,所述第i-1个商品在排序上位于所述第i个商品之前。
可选地,所述处理单元具体用于:
若确定所述第一坐标值与所述第二坐标值的差值小于间距阈值,则确定所述第i个商品属于所述第i-1个商品所在货道。
可选地,所述处理单元还用于:
在与第i-1个商品在所述第一方向的第二坐标值进行比较之前,确定所述第i-1个商品所在货道的各商品的数量小于预设的货道商品数。
可选地,所述处理单元还用于:
若所述第一坐标值与所述第二坐标值的差值不小于所述间距阈值,则确定所述第i个商品不属于所述第i-1个商品所在货道,并新增一个与所述第i-1个商品所在货道相邻的货道,并将所述第i个商品确定为新增货道中位于起始位置的商品。
可选地,所述处理单元还用于:
若确定货架层中的货道数量大于所述货架层所能容纳的货道数量阈值,则将货道间距最小的两个货道合并为一个货道。
可选地,所述处理单元具体用于:
对所述鱼眼图像进行霍夫圆变换处理,得到所述鱼眼图像的中心位置和球面半径;
根据所述中心位置和所述球面半径,建立球面模型;
基于所述球面模型,确定所述鱼眼图像中各商品的初始位置在球面上的球面坐标点;
按照双经度坐标转换规则,对所述鱼眼图像中各商品的球面坐标点进行转换处理,得到所述鱼眼图像中各商品的双经度坐标;
基于坐标矫正规则,对所述鱼眼图像中各商品的双经度坐标进行处理,得到所述各商品的修正位置信息。
第三方面,本发明实施例提供一种计算设备,包括至少一个处理器以及至少一个存储器,其中,所述存储器存储有计算机程序,当所述程序被所述处理器执行时,使得所述处理器执行上述第一方面任意所述的货柜内商品的识别方法。
第四方面,本发明实施例提供一种计算机可读存储介质,其存储有可由计算设备执行的计算机程序,当所述程序在所述计算设备上运行时,使得所述计算设备执行上述第一方面任意所述的货柜内商品的识别方法。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种系统架构的示意图;
图2为本发明实施例提供的一种货柜内商品的识别方法的流程示意图;
图3a为本发明实施例提供的一种球面模型的结构示意图;
图3b为本发明实施例提供的一种鱼眼图像上的像素点与球面上对应点之间的关系的坐标示意图;
图3c为本发明实施例提供的一种正畸后的像素点的坐标示意图;
图4为本发明实施例提供的一种货柜内商品的识别装置的结构示意图;
图5为本发明实施例提供的一种计算设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种系统架构。如图1所示,该系统架构可以为服务器100,包括处理器110、通信接口120和存储器130。
其中,通信接口120用于与终端设备进行通信,收发该终端设备传输的信息,实现通信。
处理器110是服务器100的控制中心,利用各种接口和线路连接整个服务器100的各个部分,通过运行或执行存储在存储器130内的软件程序/或模块,以及调用存储在存储器130内的数据,执行服务器100的各种功能和处理数据。可选地,处理器110可以包括一个或多个处理单元。
存储器130可用于存储软件程序以及模块,处理器110通过运行存储在存储器130的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器130可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据业务处理所创建的数据等。此外,存储器130可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
需要说明的是,上述服务器100为一种独立于货柜外的远程服务器,货柜内的处理装置可以与该服务器100进行远程交互。即,该货柜内的处理装置在对采集好的图像进行预处理后,可以将预处理的图像发送给远程的数据中心的服务器,在远程的数据中心的服务器中对图像进行识别和正畸处理。或者,本发明实施例可以不需要该远程服务器100,可以通过货柜内设置的处理装置对采集好的图像进行识别和正畸处理。上述图1所示的结构仅是一种示例,本发明实施例对此并不作限定。
基于上述描述,图2示例性的示出了本发明实施例提供的一种货柜内商品的识别方法的流程,该流程可以由货柜内商品的识别装置执行。
如图2所示,该流程具体包括:
步骤201,获取针对任一货架层的鱼眼图像。
步骤202,对所述鱼眼图像进行目标检测,确定出所述鱼眼图像中各商品的商品类型和各商品所在的货道。
步骤203,统计位于同一货道且属于同一商品类型的商品的数量。
步骤204,将数量最多的商品类型确定为所述同一货道上的各商品的商品类型。
上述步骤201和步骤202中,该货柜内设置有至少一层货架,每层货架的顶部设置有图像采集装置,每层货架设置有多个货道,同一货道上的各商品属于同一类型。通过每层货架设置的图像采集装置拍摄该层货架的各商品,即可采集到货柜内中各层货架的鱼眼图像。针对任一货架层的鱼眼图像,通过对鱼眼图像进行目标检测,即可确定出鱼眼图像中各商品的商品类型和各商品所在的货道。具体地,先对鱼眼图像进行目标检测,确定出鱼眼图像中各商品的初始位置信息。再对各商品的初始位置信息进行修正,得到各商品的修正位置信息。之后根据各商品的修正位置信息,就可以及时准确地确定出各商品所属的货道。由于该处理方式仅对各商品的初始位置信息(即中心坐标)进行修正,因此相比对各商品的所有位置都进行修正,该处理方式所耗费的计算量更少,如此可以提高数据处理的效率,从而可以提高针对货柜内商品的商品类型的识别效率。
其中,根据各商品的修正位置信息,确定出各商品所属的货道。即,根据各商品的修正位置信息中第一方向的坐标值,对各商品进行排序。再将第i个商品在第一方向的第一坐标值,与第i-1个商品在第一方向的第二坐标值进行比较,以便通过确定第一坐标值与第二坐标值的差值是否小于间距阈值来确定第i个商品是否属于第i-1个商品所在货道。如此,可以及时准确地确定出第i个商品属于哪个货道,从而可以及时准确地识别出第i个商品的商品类型。其中,第i-1个商品在排序上位于第i个商品之前。若确定第一坐标值与第二坐标值的差值小于间距阈值,则确定第i个商品属于第i-1个商品所在货道。若确定第一坐标值与第二坐标值的差值不小于间距阈值,则确定第i个商品不属于第i-1个商品所在货道,并新增一个与第i-1个商品所在货道相邻的货道,并将第i个商品确定为新增货道中位于起始位置的商品。如此,基于第i个商品所属的货道,就可以及时识别出第i个商品的商品类型。此外,在新增货道后,如果确定货架层中的货道数量大于货架层所能容纳的货道数量阈值,则需要将货道间距最小的两个货道合并为一个货道,如此可以确保针对货柜内商品的识别结果符合业务规则,并可以提高识别货柜内商品的商品类型的准确性。其中,间距阈值可以根据实际应用场景或根据技术人员的经验或根据技术人员所做的实验结果等进行设置,本发明实施例对此并不作限定。
需要说明的是,若确定第i-1个商品所在货道的各商品的数量小于预设的货道商品数时,就可以直接将第i个商品在第一方向的第一坐标值,与第i-1个商品在第一方向的第二坐标值进行比较。若确定第i-1个商品所在货道的各商品的数量小于预设的货道商品数,需要新增一个与第i-1个商品所在货道相邻的货道。如此,可以确保识别第i个商品的商品类型的准确性。
此外,下面对各商品的初始位置信息进行修正,得到各商品的修正位置信息的过程进行描述。该过程具体为:
首先对鱼眼图像进行霍夫圆变换处理,得到鱼眼图像的中心位置和球面半径,并根据中心位置和球面半径,建立球面模型。再基于球面模型,确定鱼眼图像中各商品的初始位置在球面上的球面坐标点,并按照双经度坐标转换规则,对鱼眼图像中各商品的球面坐标点进行转换处理,得到鱼眼图像中各商品的双经度坐标。然后,基于坐标矫正规则,对鱼眼图像中各商品的双经度坐标进行处理,得到各商品的修正位置信息。如此,通过基于霍夫圆变换、双经度坐标转换规则以及坐标矫正规则对各商品的初始位置信息进行修正处理,可以及时准确地得到各商品的修正位置信息,从而可以为后续确定各商品所属的货道提供支持。
上述步骤203和步骤204中,在确定出鱼眼图像中各商品的商品类型和各商品所在的货道后,即可统计位于同一货道且属于同一商品类型的商品的数量,并将数量最多的商品类型确定为同一货道上的各商品的商品类型。具体地,在确定出鱼眼图像中各商品的商品类型和各商品所在的货道后,检查每一个货道,并对于每个货道,按照该货道中的商品类型,统计每种商品类型下的各商品的数量。在统计出各种商品类型所拥有的商品数量后,可以将商品数量少的商品类型修改为商品数量多的商品类型,以便确保该货道中的各商品的商品类型符合该货道所设置的商品类型要求。基于此,即可及时准确地确定出货柜内每个商品的商品类型。
需要说明的是,对于静态智能货柜,静态智能货柜中每层都会分割为6至7个给货道,以便使得商品排列整齐美观,并且规定单一货道只会上货同一种类的商品。根据这一规定,就可以利用整个货道上所有商品识别的结果,来一起用于单个商品的类别判断。即,如果单个商品的类别难以确定,就观察该货道上其他商品的类别进行参考,一条货道上总有些位置的商品更容易识别出的。
然而,由于鱼眼图像是鱼眼镜头拍摄的,因此会存在一定的畸变,尤其是越靠近边缘的货道越是呈现“弧形”,所以并不能非常简单地通过各商品的中心坐标信息,判断各商品是否属于同一货道。但是,如果能够对鱼眼图像进行正畸,纠正接近边缘处的圆弧形畸变,并将其改为呈直的货道排布,这样就能够比较容易划分货道。
有鉴于此,下面对本发明实施例中货柜内商品的识别的实施过程进行具体描述。
Step1:基于用户对智能货柜的操作,采集智能货柜内各层的鱼眼图像。
示例性地,用户在需要购买智能货柜内的商品时,通过使用终端设备以扫描二维码(智能货柜的外壁上设置有二维码)的方式进入到与智能货柜对应的应用程序中,应用程序在用户登录成功时获取用户的身份信息,并对用户的身份信息进行识别,在确认用户的身份信息后允许用户打开智能货柜的柜门。或者,通过智能货柜的外壁上设置的图像采集设备获取用户的人脸图像,并对用户的人脸图像进行识别,在确认用户的身份信息后允许用户打开智能货柜的柜门。然后,用户开启智能货柜的柜门,并在取走想要购买的商品后关闭智能货柜的柜门(或者未取走任何商品关闭智能货柜的柜门)。在检测到用户关闭智能货柜的柜门后,鱼眼摄像头采集智能货柜内各层中全部商品的鱼眼图像。通过对本次关闭智能货柜的柜门后各层中全部商品的鱼眼图像以及与本次相邻的上一次关闭智能货柜的柜门后各层中全部商品的鱼眼图像进行处理,确定出用户本次购买的商品的商品类型、商品数量,并基于用户本次购买的商品的商品类型、商品数量进行自动结算。
或者,在检测到用户开启智能货柜的柜门后,鱼眼摄像头采集一次智能货柜内各层中全部商品的鱼眼图像,并在检测到用户关闭智能货柜的柜门后,鱼眼摄像头采集一次智能货柜内各层中全部商品的鱼眼图像。通过对开启智能货柜的柜门后各层中全部商品的鱼眼图像以及关闭智能货柜的柜门后各层中全部商品的鱼眼图像进行处理,确定出用户本次购买的商品的商品类型、商品数量,并基于用户本次购买的商品的商品类型、商品数量进行自动结算。
需要说明的是,在用户通过使用终端设备以扫描二维码的方式进入到与智能货柜对应的应用程序时,倘若用户未注册过,应用程序会提醒用户进行注册,并在注册成功后基于用户的授权获取用户的身份信息。其中,应用程序会提醒用户进行绑定免密支付等,以便用户在购买商品后,智能货柜基于用户本次购买的商品的商品类型、商品数量进行自动结算。
Step2:对集智能货柜内每层的鱼眼图像进行目标检测,确定出每层的鱼眼图像中各商品的中心坐标、商品类型。
将每层的鱼眼图像输入到多目标检测模型进行识别,识别出鱼眼图像中各商品的边界框、商品类型,并对鱼眼图像中各商品的边界框进行处理,确定出鱼眼图像中各商品的中心坐标。其中,多目标检测模型是基于鱼眼图像样本集对预设的目标检测模型进行训练确定的。
此外,在基于鱼眼图像样本集对预设的目标检测模型进行训练确定多目标检测模型时。首先获取大量的鱼眼图像样本集,该鱼眼图像样本可以为同一商品形成的鱼眼图像,或者可以为两种不同商品形成的鱼眼图像,或者也可以为两种以上不同商品混合形成的鱼眼图像等,本发明实施例对此并不作限定。再对鱼眼图像样本集中的各商品的商品类型进行标注,得到标注后的鱼眼图像样本集,并对标注后的鱼眼图像样本集进行向量化处理,得到标注后的鱼眼图像样本集对应的样本向量集。之后将标注后的鱼眼图像样本集对应的样本向量集输入到预设的目标检测模型进行训练,得到多目标检测模型。其中,预设的目标检测模型可以为YOLOv3(You only look once version 3,目标检测算法)、YOLACT(You OnlyLook At CoefficienTs,目标检测算法)、Mask R-CNN(Mask Region-ConvolutionalNeural Network,目标检测算法)等。
Step3:对鱼眼图像中各商品的中心坐标进行正畸处理,得到正畸后的各商品的中心坐标。
由于鱼眼图像是鱼眼镜头拍摄的,因此会存在一定的畸变,尤其是越靠近边缘的货道越是呈现“弧形”,所以并不能非常简单地通过各商品的中心坐标信息,判断各商品是否属于同一货道。但是,如果能够对鱼眼图像进行正畸,纠正接近边缘处的圆弧形畸变,并将其改为呈直的货道排布,这样就能够比较容易划分货道。
此外,对鱼眼图像进行正畸可以有多种方法,比如有“双经度正畸法”、“经纬映射正畸法”、“投影旋转矩阵正畸法”等。其中,按正畸后的图像是否可视化,可分为“虚”、“实”两类。“实”方法是通过正畸算法将原鱼眼图像转化为可视化的正图像;“虚”方法是通过正畸算法只矫正原鱼眼图像中各商品被识别处的坐标,不转化为可视化的正图像。本发明实施例采用“虚”方法对原鱼眼图像中各商品的检测框的坐标进行矫正,即“先检测后正畸”,这种方法比直接对原鱼眼图像进行正畸要快的多,因为“实”方法对整个鱼眼图像进行正畸就需要计算整个鱼眼图像上的每个像素点正畸的位置,而采用“虚”方法只需要对检测出来的各商品的检测框的中心坐标进行计算即可,如此可以减少鱼眼图像正畸所耗费的计算量,从而可以提高数据处理的效率。
具体地,本发明实施例采用“双经度正畸法”对多目标检测模型在鱼眼图像上检测到的各商品的bbox(bounding-box,边界框)的中心坐标进行矫正。根据鱼眼摄像头拍摄到的鱼眼图像,能够观察到成像区域是一个大致完整的圆心,要对鱼眼图像中各商品的边界框的中心坐标进行正畸,就需要首先找到成像区域的圆心中心坐标(即鱼眼镜头的光学中心),因为该圆心中心坐标并不一定在鱼眼图像的集合中心点,因此需要去定位寻找。本发明实施例使用霍夫圆变换对鱼眼图像进行处理,确定鱼眼图像的中心坐标(即鱼眼镜头的光学中心)和球面半径,建立如图3a所示的球面模型。其中,使用霍夫圆变换可以找到鱼眼图像上各种能够形成接近圆形的轨迹,即,根据成像区域的大致半径、大致中心位置进行筛选,即可找到所需要的圆,进而找到圆心。此外,如果有时候找不到合适的圆,也可以通过灰度图的像素点分数,划分一个阈值将成像区域(分数一般较高)的中心点获取到。
在找到成像区域的圆心中心坐标后,即可根据球面模型建立鱼眼图像上的像素点与球面上对应点之间的关系(比如图3b所示的点p3′为球面上的点p在鱼眼图像上的对应点)。再将球面三维坐标点转化为半球面双经度坐标,然后将球面双经度坐标转化为平面坐标,就可以得到如图3c所示的正畸后的对应点。其中,根据图3a可知,点p是球面上的一点,点p1、点p2、点p3分别是点p在yoz、xoz、xoy平面的投影,op1与oy正向的夹角为θ,op2与ox正向的夹角为则点p的竖向经度为水平经度为β=π-θ。根据图3b可知,点o是鱼眼图像的中心点,对应图3a中的坐标原点,点p3′对应图3a中的点p3。根据图3c可知,点o′对应图3b中的点o,点p′对应图3a中的点p。
通过正交投影,球面上的点p(x,y,z)在鱼眼图像上映射为点p3′(s,t),p3′对应p在xoy面的投影点p3,因此球面上的坐标点p与鱼眼图像点p3′的对应关系为:
其中,(x0,y0)为鱼眼图像的中心点o。
当投影模型为半球面时,以2R作为正畸后图像的行列像素数目,横向经度与纵向经度均为0~π。因此球面上的点p的双经度坐标(α,β)与正畸后的图像上点p′的坐标(u,v)关系为:
根据球面上的坐标点p与鱼眼图像点p3′的对应关系即可进一步将球面上的点p的双经度坐标(α,β)与正畸后的图像上点p′的坐标(u,v)关系表示为:
基于上述公式,即可从鱼眼图像上的点p3′的坐标(s,t)得到其正畸后的点p′的坐标(u,v)。
如此,基于上述方法,即可计算出智能货柜中每层的鱼眼图像中各商品的检测框的正畸中心坐标。
Step4:对正畸后的各商品的中心坐标进行聚类处理,确定出鱼眼图像中各商品所属的货道。
示例性地,在实际业务场景中,除相似商品外,多目标检测模型对其它商品分类的准确率都很高。因此,为了减少多目标检测模型在难分类商品间的误判,最大限度地提高商品类别分类的准确率,本发明实施例制定了3条业务规则,即:一条货道只能放同一类商品;一层只有M条货道;一条货道最多放L个商品等。基于这些规则,在多目标检测模型对鱼眼图像中各商品进行检测分类完成后,先对正畸后的各商品的检测框的中心坐标进行聚类处理。再将聚类在同一条货道上同属HardGroup集(难分类商品组,或称为相似商品组)的所有检测框的类别,按照这些检测框中类别占比多的类进行修正。例如,在正畸后的各商品的中心坐标进行聚类完成后,某条货道上同属难分类商品组的检测框有5个。其中,“零度可乐”有3个,“青岛王子1”有2个,那么就将原“青岛王子1”的检测框的类别修正为“零度可乐”。如此,就可以通过中心坐标聚类,纠正多目标检测模型对难分类商品组的分类错误,从而可以进一步提高智能货柜中各商品的类别的识别准确率。
对于中心坐标聚类,首先是按照从小到大的顺序对智能货柜中任一层的鱼眼图像中各商品的检测框的正畸中心坐标进行排序,得到排序后的各检测框的正畸中心坐标。再按照各检测框的正畸中心坐标的顺序,依次遍历各检测框的正畸中心坐标,在遍历到当前检测框A的正畸中心坐标时,计算出当前检测框A的正畸中心坐标的横坐标与前一个检测框B的正畸中心坐标的横坐标之差的绝对值。若该绝对值小于预设的间距阈值INTERVAL_THRESHOLD,则将当前检测框A聚类到检测框B所在的货道上。若该绝对值大于等于预设的间距阈值,则新增一个与检测框B所在的货道相邻的货道,并将当前检测框A设置为该新增货道上的第一个检测框。其中,在该绝对值小于预设的间距阈值且检测框B所在的货道上的商品个数大于该货道所能容纳的最大商品数L,则新增一个与检测框B所在的货道相邻的货道,并将当前检测框A设置为该新增货道上的第一个检测框。
需要说明的是,在本发明的另一种实施方式中,可以在遍历到当前检测框A的正畸中心坐标时,计算出当前检测框A的正畸中心坐标与前一个检测框B的正畸中心坐标之间的距离值。通过将该距离值与设置的间距阈值进行比较,来确定当前检测框A是否属于检测框B所在的货道。若该距离值小于设置的间距阈值,则将当前检测框A聚类到检测框B所在的货道上。若该距离值大于等于设置的间距阈值,则新增一个与检测框B所在的货道相邻的货道,并将当前检测框A设置为该新增货道上的第一个检测框。其中,在该距离值小于设置的间距阈值且检测框B所在的货道上的商品个数大于该货道所能容纳的最大商品数L,则新增一个与检测框B所在的货道相邻的货道,并将当前检测框A设置为该新增货道上的第一个检测框。
此外,如果新增货道后,导致智能货柜中该层货架的货道数大于该层货架能容纳的最大货道数M,就将该层货架的各货道中间距最小的两条货道合并聚类为一条货道。基于上述方法进行循环,直至遍历完鱼眼图像中的所有检测框为止。在遍历完鱼眼图像中的所有检测框后,检查中心坐标聚类所确定的各个货道,对各个货道中同属HardGroup集(难分类商品组,或称为相似商品组)的所有检测框进行分类计数。针对每个货道,将该货道中类别占比少的检测框的类别修正为类别占比多的检测框的类别。需要说明的是,在对各个货道中同属HardGroup集的所有检测框进行分类计数后,针对任一货道,倘若该货道中出现类别占比相同的检测框的类别,则可以将该货道中位置最好的检测框的类别确定为该货道所对应的检测框类别(即商品类型)。
其中,中心坐标聚类的算法为:
Input:img(一张鱼眼图像),bbox_arr[N,6](鱼眼图像中每个bbox的中心坐标,类别,置信度),HardGroup集(相似商品组),INTERVAL_THRESHOLD(间距阈值),L(每个货道能容纳的最大物品数),M(每层货架能容纳的最大货道数)。
Output:bbox_arr_Undisort[N,6](聚类后的bbox,主要对属于难分类集的样本进行类别调整)。
示例性地,下面以智能货柜中程序处理鱼眼图像的方式对本发明实施例中货柜内商品的识别的实施过程进行描述。
步骤1:确定正畸后的各商品的检测框的中心坐标。
racks=[],intervals=[],labels=[],uc=[],vc=[],i=0,j=0,k=0,(0≤i≤M-1,0≤j≤L-1),racks[i][j]=bbox_arr[0,0:3],labels[i]=bbox_arr[0,4]。
基于中心坐标正畸法对各检测框的中心坐标进行正畸处理,得到正畸后的各检测框的中心坐标,即(uc[i][j],vc[i][j])。例如,uc_last_bbox=uc[i][j],vc_last_bbox=vc[i][j],rack_last_bbox=i,item_last_bbox=j。
步骤2:聚类正畸后的各检测框的中心坐标。
从0~N-1遍历所有bbox,获取第k个bbox的中心坐标以及类别。
计算第k个bbox的中心坐标的横坐标与前一个bbox(last_bbox)的中心坐标的横坐标的差值,即计算intervals[i]=|uc_k-uc[i][j]|。
if intervals[i]<INTERVAL_THRESHOLD:
将第k个bbox聚类到racks[i]轨道,并用此bbox的信息更新last_bbox。
j++。
if j>L:
新增一个货道racks[i+1],并将第k个bbox记为新货道的racks[i+1][0]。
else:
新增一个货道racks[i+1],并将第k个bbox记为新货道的racks[i+1][0]。
if len(racks)>M:
将intervals[i]中间距最小的两个货道进行合并。
步骤3:检测框的类别修正。
检测中心坐标聚类所确定的所有货道,对每个货道上同属HardGroup集的检测框进行分类计数,将类别占比少的检测框的类别bbox_arr[k][5]修正为类别占比多的检测框的类别。
步骤4:返回bbox_arr。
需要说明的是,由于不同的货道所设置的商品类型各不相同,且同一货道上的各商品属于同一类型。因此,本发明还可以通过一种实施方式来实现对货柜内商品的商品类型的准确识别。即,可以通过设置有不同颜色的隔板来隔离开不同的货道,也就是说,通过不同颜色的隔板来区分不同的货道。比如,假设有三个货道,第一个货道和第二个货道之间设置红色的隔板,第二个货道和第三个货道之间设置蓝色的隔板。且第一个货道放置可乐,第二个货道放置橙汁,第三个放置椰奶。基于此,即可区分出不同的货道,以便根据不同的货道确定出该货道所对应的商品类型,从而可以识别出该货道内各商品的商品类型。或者,可以通过在各货道的上方悬挂有不同颜色的标志物来隔离开货道,也就是说,通过不同颜色的标志物来区分不同的货道。比如,假设有三个货道,第一个货道上方悬挂红色的标志物,第二个货道上方悬挂蓝色的标志物,第三个货道上方悬挂绿色的标志物。且第一个货道放置可乐,第二个货道放置橙汁,第三个放置椰奶。基于此,即可区分出不同的货道,以便根据不同的货道确定出该货道所对应的商品类型,从而可以识别出该货道内各商品的商品类型。当然,也可以采用其它方式来区分不同的货道,本发明实施例对此并不作限定。基于此,即可通过不同颜色的隔板或不同颜色的标志物,准确地识别出不同的货道,也就可以识别出该货道内各商品的商品类型。
上述实施例表明,获取针对任一货架层的鱼眼图像,并对鱼眼图像进行目标检测,确定出鱼眼图像中各商品的商品类型和各商品所在的货道。再统计位于同一货道且属于同一商品类型的商品的数量,并将数量最多的商品类型确定为同一货道上的各商品的商品类型。其中,货柜内设置有至少一层货架,每层货架的顶部设置有图像采集装置,每层货架设置有多个货道,同一货道上的各商品属于同一类型。由于每层货架设置有多个货道,不同的货道所设置的商品类型各不相同,且同一货道上的各商品属于同一类型,因此在统计位于同一货道且属于同一商品类型的商品的数量后,可以将同一货道上数量最多的商品类型确定为该货道上各商品的商品类型,如此可以及时准确地识别出货柜内各商品的商品类型,从而可以提高识别货柜内商品的商品类型的效率、准确性,并可以提高货柜内商品的多样性和商品上货组合的灵活性,进而可以解决现有技术中存在由于同一个柜子(或柜子的同一层)中不上架相似的商品导致货柜内商品的多样性和商品上货组合的灵活性降低的问题。
基于相同的技术构思,图4示例性的示出了本发明实施例提供的一种货柜内商品的识别装置,该装置可以执行货柜内商品的识别方法的流程。其中,所述货柜内设置有至少一层货架,每层货架的顶部设置有图像采集装置,每层货架设置有多个货道,同一货道上的各商品属于同一类型。
如图4所示,该装置包括:
获取单元401,用于获取针对任一货架层的鱼眼图像;
处理单元402,用于对所述鱼眼图像进行目标检测,确定出所述鱼眼图像中各商品的商品类型和各商品所在的货道;统计位于同一货道且属于同一商品类型的商品的数量;将数量最多的商品类型确定为所述同一货道上的各商品的商品类型。
可选地,所述处理单元402具体用于:
对所述鱼眼图像进行目标检测,确定出所述鱼眼图像中各商品的初始位置信息;
对所述各商品的初始位置信息进行修正,得到所述各商品的修正位置信息;
根据所述各商品的修正位置信息,确定所述各商品所属的货道。
可选地,所述处理单元402具体用于:
根据所述各商品的修正位置信息中第一方向的坐标值,对所述各商品进行排序;
将第i个商品在所述第一方向的第一坐标值,与第i-1个商品在所述第一方向的第二坐标值进行比较,确定所述第i个商品是否属于所述第i-1个商品所在货道;
其中,所述第i-1个商品在排序上位于所述第i个商品之前。
可选地,所述处理单元402具体用于:
若确定所述第一坐标值与所述第二坐标值的差值小于间距阈值,则确定所述第i个商品属于所述第i-1个商品所在货道。
可选地,所述处理单元402还用于:
在与第i-1个商品在所述第一方向的第二坐标值进行比较之前,确定所述第i-1个商品所在货道的各商品的数量小于预设的货道商品数。
可选地,所述处理单元402还用于:
若所述第一坐标值与所述第二坐标值的差值不小于所述间距阈值,则确定所述第i个商品不属于所述第i-1个商品所在货道,并新增一个与所述第i-1个商品所在货道相邻的货道,并将所述第i个商品确定为新增货道中位于起始位置的商品。
可选地,所述处理单元402还用于:
若确定货架层中的货道数量大于所述货架层所能容纳的货道数量阈值,则将货道间距最小的两个货道合并为一个货道。
可选地,所述处理单元402具体用于:
对所述鱼眼图像进行霍夫圆变换处理,得到所述鱼眼图像的中心位置和球面半径;
根据所述中心位置和所述球面半径,建立球面模型;
基于所述球面模型,确定所述鱼眼图像中各商品的初始位置在球面上的球面坐标点;
按照双经度坐标转换规则,对所述鱼眼图像中各商品的球面坐标点进行转换处理,得到所述鱼眼图像中各商品的双经度坐标;
基于坐标矫正规则,对所述鱼眼图像中各商品的双经度坐标进行处理,得到所述各商品的修正位置信息。
基于相同的技术构思,本发明实施例还提供了一种计算设备,如图5所示,包括至少一个处理器501,以及与至少一个处理器连接的存储器502,本发明实施例中不限定处理器501与存储器502之间的具体连接介质,图5中处理器501和存储器502之间通过总线连接为例。总线可以分为地址总线、数据总线、控制总线等。
在本发明实施例中,存储器502存储有可被至少一个处理器501执行的指令,至少一个处理器501通过执行存储器502存储的指令,可以执行前述的货柜内商品的识别方法中所包括的步骤。
其中,处理器501是计算设备的控制中心,可以利用各种接口和线路连接计算设备的各个部分,通过运行或执行存储在存储器502内的指令以及调用存储在存储器502内的数据,从而实现数据处理。可选的,处理器501可包括一个或多个处理单元,处理器501可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理下发指令。可以理解的是,上述调制解调处理器也可以不集成到处理器501中。在一些实施例中,处理器501和存储器502可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器501可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合货柜内商品的识别实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器502作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器502可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器502是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本发明实施例中的存储器502还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
需要说明的是,上述计算设备可以设置在货柜内,该货柜内的图像采集装置在采集好图像后,可以将采集好的图像发送给处理器501进行识别和正畸处理,以便可以及时准确地识别出货柜内各商品的商品类型。或者,该货柜内也存在处理装置(包括处理器和存储器等),但是该处理器只负责对采集好的图像进行简单的预处理(比如对采集好的图像进行封装处理或者对采集好的图像进行格式转换处理等),并不对采集好的图像进行识别和正畸处理,而是通过和远程的服务器进行交互来完成对采集好的图像进行识别和正畸处理。即,该处理器对采集好的图像进行简单的预处理后,将预处理好的图像发送给远程的数据中心的服务器,在远程的数据中心的服务器中对图像进行识别和正畸处理,以便可以及时准确地识别出货柜内各商品的商品类型。
基于相同的技术构思,本发明实施例还提供了一种计算机可读存储介质,其存储有可由计算设备执行的计算机程序,当所述程序在所述计算设备上运行时,使得所述计算设备执行上述货柜内商品的识别方法的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (11)
1.一种货柜内商品的识别方法,其特征在于,所述货柜内设置有至少一层货架,每层货架的顶部设置有图像采集装置,每层货架设置有多个货道,同一货道上的各商品属于同一类型,所述方法包括:
获取针对任一货架层的鱼眼图像;
对所述鱼眼图像进行目标检测,确定出所述鱼眼图像中各商品的商品类型和各商品所在的货道;
统计位于同一货道且属于同一商品类型的商品的数量;
将数量最多的商品类型确定为所述同一货道上的各商品的商品类型。
2.如权利要求1所述的方法,其特征在于,所述对所述鱼眼图像进行目标检测,确定出所述鱼眼图像中各商品所在的货道,包括:
对所述鱼眼图像进行目标检测,确定出所述鱼眼图像中各商品的初始位置信息;
对所述各商品的初始位置信息进行修正,得到所述各商品的修正位置信息;
根据所述各商品的修正位置信息,确定所述各商品所属的货道。
3.如权利要求2所述的方法,其特征在于,所述根据所述各商品的修正位置信息,确定所述各商品所属的货道,包括:
根据所述各商品的修正位置信息中第一方向的坐标值,对所述各商品进行排序;
将第i个商品在所述第一方向的第一坐标值,与第i-1个商品在所述第一方向的第二坐标值进行比较,确定所述第i个商品是否属于所述第i-1个商品所在货道;
其中,所述第i-1个商品在排序上位于所述第i个商品之前。
4.如权利要求3所述的方法,其特征在于,所述将第i个商品在所述第一方向的第一坐标值,与第i-1个商品在所述第一方向的第二坐标值进行比较,确定所述第i个商品是否属于所述第i-1个商品所在货道,包括:
若确定所述第一坐标值与所述第二坐标值的差值小于间距阈值,则确定所述第i个商品属于所述第i-1个商品所在货道。
5.如权利要求3所述的方法,其特征在于,在与第i-1个商品在所述第一方向的第二坐标值进行比较之前,还包括:
确定所述第i-1个商品所在货道的各商品的数量小于预设的货道商品数。
6.如权利要求4所述的方法,其特征在于,所述方法还包括:
若所述第一坐标值与所述第二坐标值的差值不小于所述间距阈值,则确定所述第i个商品不属于所述第i-1个商品所在货道,并新增一个与所述第i-1个商品所在货道相邻的货道,并将所述第i个商品确定为新增货道中位于起始位置的商品。
7.如权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:
若确定货架层中的货道数量大于所述货架层所能容纳的货道数量阈值,则将货道间距最小的两个货道合并为一个货道。
8.如权利要求2所述的方法,其特征在于,所述对所述各商品的初始位置信息进行修正,得到所述各商品的修正位置信息,包括:
对所述鱼眼图像进行霍夫圆变换处理,得到所述鱼眼图像的中心位置和球面半径;
根据所述中心位置和所述球面半径,建立球面模型;
基于所述球面模型,确定所述鱼眼图像中各商品的初始位置在球面上的球面坐标点;
按照双经度坐标转换规则,对所述鱼眼图像中各商品的球面坐标点进行转换处理,得到所述鱼眼图像中各商品的双经度坐标;
基于坐标矫正规则,对所述鱼眼图像中各商品的双经度坐标进行处理,得到所述各商品的修正位置信息。
9.一种货柜内商品的识别装置,其特征在于,所述货柜内设置有至少一层货架,每层货架的顶部设置有图像采集装置,每层货架设置有多个货道,同一货道上的各商品属于同一类型,所述装置包括:
获取单元,用于获取针对任一货架层的鱼眼图像;
处理单元,用于对所述鱼眼图像进行目标检测,确定出所述鱼眼图像中各商品的商品类型和各商品所在的货道;统计位于同一货道且属于同一商品类型的商品的数量;将数量最多的商品类型确定为所述同一货道上的各商品的商品类型。
10.一种计算设备,其特征在于,包括至少一个处理器以及至少一个存储器,其中,所述存储器存储有计算机程序,当所述程序被所述处理器执行时,使得所述处理器执行权利要求1至8任一权利要求所述的方法。
11.一种计算机可读存储介质,其特征在于,其存储有可由计算设备执行的计算机程序,当所述程序在所述计算设备上运行时,使得所述计算设备执行权利要求1至8任一权利要求所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110115364.4A CN113033286B (zh) | 2021-01-28 | 2021-01-28 | 一种货柜内商品的识别方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110115364.4A CN113033286B (zh) | 2021-01-28 | 2021-01-28 | 一种货柜内商品的识别方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113033286A true CN113033286A (zh) | 2021-06-25 |
CN113033286B CN113033286B (zh) | 2024-02-27 |
Family
ID=76459403
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110115364.4A Active CN113033286B (zh) | 2021-01-28 | 2021-01-28 | 一种货柜内商品的识别方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113033286B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113657317A (zh) * | 2021-08-23 | 2021-11-16 | 上海明略人工智能(集团)有限公司 | 一种货物位置识别方法、系统、电子设备及存储介质 |
CN116957979A (zh) * | 2023-07-29 | 2023-10-27 | 京品高科信息科技(北京)有限公司 | 一种货品陈列监管方法、货柜及服务器 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019184646A1 (zh) * | 2018-03-27 | 2019-10-03 | 合肥美的智能科技有限公司 | 货品识别方法及装置、货柜 |
CN111145430A (zh) * | 2019-12-27 | 2020-05-12 | 北京每日优鲜电子商务有限公司 | 检测商品摆放状态的方法、装置及计算机存储介质 |
CN111612000A (zh) * | 2020-05-26 | 2020-09-01 | 创新奇智(西安)科技有限公司 | 一种商品分类方法、装置、电子设备及存储介质 |
-
2021
- 2021-01-28 CN CN202110115364.4A patent/CN113033286B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019184646A1 (zh) * | 2018-03-27 | 2019-10-03 | 合肥美的智能科技有限公司 | 货品识别方法及装置、货柜 |
CN111145430A (zh) * | 2019-12-27 | 2020-05-12 | 北京每日优鲜电子商务有限公司 | 检测商品摆放状态的方法、装置及计算机存储介质 |
CN111612000A (zh) * | 2020-05-26 | 2020-09-01 | 创新奇智(西安)科技有限公司 | 一种商品分类方法、装置、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
刘照邦;袁明辉;: "基于深度神经网络的货架商品识别方法", 包装工程, no. 01 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113657317A (zh) * | 2021-08-23 | 2021-11-16 | 上海明略人工智能(集团)有限公司 | 一种货物位置识别方法、系统、电子设备及存储介质 |
CN116957979A (zh) * | 2023-07-29 | 2023-10-27 | 京品高科信息科技(北京)有限公司 | 一种货品陈列监管方法、货柜及服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN113033286B (zh) | 2024-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111415461B (zh) | 物品识别方法及系统、电子设备 | |
CN108491799B (zh) | 一种基于图像识别的智能售货柜商品管理方法及系统 | |
CN108549870B (zh) | 一种对物品陈列进行鉴别的方法及装置 | |
US8983200B2 (en) | Object segmentation at a self-checkout | |
CN107463946B (zh) | 一种结合模板匹配与深度学习的商品种类检测方法 | |
CN111061890B (zh) | 一种标注信息验证的方法、类别确定的方法及装置 | |
US20160155011A1 (en) | System and method for product identification | |
CN113269073A (zh) | 一种基于yolo v5算法的船舶多目标追踪方法 | |
Negri et al. | An oriented-contour point based voting algorithm for vehicle type classification | |
CN108345912A (zh) | 一种基于rgbd信息与深度学习的商品快速结算系统 | |
CN113033286B (zh) | 一种货柜内商品的识别方法及装置 | |
CN111507327B (zh) | 一种目标检测方法及装置 | |
Klein et al. | Boosting scalable gradient features for adaptive real-time tracking | |
CN115546542A (zh) | 目标识别方法、装置、电子设备及存储介质 | |
CN107403179A (zh) | 一种物品包装信息的注册方法及装置 | |
CN111428743B (zh) | 商品识别方法、商品处理方法、装置及电子设备 | |
CN116740539A (zh) | 基于轻量化目标检测网络的视觉slam方法及系统 | |
CN111325084A (zh) | 一种基于yolo神经网络的菜品信息识别方法、终端 | |
CN109886206A (zh) | 一种三维物体识别方法及设备 | |
CN115601686B (zh) | 物品交付确认的方法、装置和系统 | |
Rogez et al. | Exploiting projective geometry for view-invariant monocular human motion analysis in man-made environments | |
Geng et al. | Shelf Product Detection Based on Deep Neural Network | |
Achakir et al. | An automated AI-based solution for out-of-stock detection in retail environments | |
CN112150398B (zh) | 图像合成方法、装置及设备 | |
CN113850167A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |