本申请属于智能商超技术领域,尤其涉及一种商品陈列巡检方法及巡检机器人以及存储介质。
背景技术:
近几年,与人们生活密切联系的智能新零售迅速发展,数字货架是智能新零售业务中重要的一个环节,在进行商品管理时,需要对商品货架进行盘检。现有的对于商品货架的盘检主要有两种方法:一种是通过人力盘检数据并且手动录入数据库;另一种是为每一个货架安装固定的相机拍摄货架,采集商品图像,通过识别图像实现盘检。第一种方式需要耗费大量的人力,并且通过人力无法精准的获取货架、商品的位置信息;第二种方式需要精准的设置相机和货架的距离和位置,以及设置特定的商品价签,才能完成盘检,不具有广泛的适用性。
技术实现要素:
本申请实施例提供了一种商品陈列巡检方法及巡检机器人,可以解决现有的商品货架盘检耗费人力并且不具有广泛适用性的问题。
第一方面,本申请实施例提供了一种商品陈列巡检方法,包括:
根据预设巡检信息进行移动,当检测到当前位于预设巡检拍摄位置时,获取所述预设巡检拍摄位置对应的货架的巡检图像;
从所述巡检图像中识别目标商品及其价签和商品编码、所述目标商品的缺货信息,并且获取所述价签在所述巡检图像中的第一位置信息;
根据预设位置信息转换策略和所述第一位置信息确定所述价签在陈列空间中的空间位置信息;
将所述缺货信息和所述空间位置信息发送至服务器,用于触发所述服务器生成商品陈列信息。
进一步地,所述空间位置信息包括水平位置信息、纵向位置信息和竖直位置信息;
所述根据预设位置信息转换策略和所述第一位置信息确定所述价签在陈列空间中的空间位置信息,包括:
获取所述巡检机器人的相机标定外参参数、中心位置信息和递进步长系数;所述中心位置信息为中心点的位置信息,所述中心点为拍摄所述巡检图像的相机的相机中心点投影在所述巡检图像中的点;
根据所述第一位置信息、所述中心位置信息、所述相机标定外参参数、所述递进步长系数和第一像素密度系数,计算所述价签的水平位置信息和纵向位置信息;
根据所述第一位置信息、所述相机标定外参参数和第二像素密度系数,计算所述价签的竖直位置信息。
进一步地,所述根据所述第一位置信息、所述中心位置信息、所述相机标定外参参数、所述递进步长系数和第一像素密度系数,计算所述价签的水平位置信息和纵向位置信息,包括:
根据所述中心位置信息、所述相机标定外参参数和所述递进步长系数,确定所述中心点在机器人地图上对应的第二位置信息;
根据所述第二位置信息、所述第一位置信息和第一像素密度系数,计算所述水平位置信息和所述纵向位置信息。
进一步地,所述根据所述中心位置信息、所述相机标定外参参数和所述递进步长系数,确定所述中心点在机器人地图上对应的第二位置信息,包括:
根据所述中心位置信息、所述相机标定外参参数和所述递进步长系数,第一位置信息对应关系;所述第一位置信息对应关系包括所述中心位置信息与所述巡检机器人的底盘中心点的位置信息之间的对应关系;
根据所述第一位置信息对应关系计算所述中心点在机器人地图上对应的第二位置信息。
进一步地,所述相机标定外参参数包括所述巡检机器人的底盘中心点与深度相机之间的第一距离;
所述根据所述中心位置信息、所述相机标定外参参数和所述递进步长系数,第一位置信息对应关系,包括:
根据所述第一距离、所述深度相机与所述货架之间的第二距离,确定高清相机与所述货架之间的第三距离;
根据所述第三距离、所述中心位置信息和所述递进步长系数,得到第一位置信息对应关系。
进一步地,所述根据所述第二位置信息、所述第一位置信息和第一像素密度系数,计算所述水平位置信息和所述纵向位置信息,包括:
根据第一像素密度系数计算所述巡检图像的中心点和待计算目标点之间的第四距离;
根据所述第二位置信息、所述第一位置信息和所述第四距离,计算所述待计算目标点的水平位置信息和所述纵向位置信息。
进一步地,所述根据所述第一位置信息、所述相机标定外参参数和第二像素密度系数,计算所述价签的竖直位置信息,包括:
获取所述中心点对应的第五距离;所述第五距离为所述中心点对应水平面的竖直高度;
根据所述第二像素密度系数计算在竖直方向上所述中心点和待计算目标点之间的第六距离;
根据所述第五距离和所述第六距离计算得到所述目标价签的竖直位置信息。
进一步地,在所述根据预设位置信息转换策略和所述第一位置信息确定所述价签在陈列空间中的空间位置信息之前,还包括:
对所述价签进行去重处理。
第二方面,本申请实施例提供了一种巡检机器人,包括:
第一处理单元,用于根据预设巡检信息进行移动,当检测到当前位于预设巡检拍摄位置时,获取所述预设巡检拍摄位置对应的货架的巡检图像;
第二处理单元,用于从所述巡检图像中识别目标商品及其价签和商品编码、所述目标商品的缺货信息,并且获取所述价签在所述巡检图像中的第一位置信息;
第三处理单元,用于根据预设位置信息转换策略和所述第一位置信息确定所述价签在陈列空间中的空间位置信息;
发送单元,用于将所述缺货信息和所述空间位置信息发送至服务器,用于触发所述服务器生成商品陈列信息。
进一步地,所述空间位置信息包括水平位置信息、纵向位置信息和竖直位置信息;
所述第三处理单元,具体用于:
获取所述巡检机器人的相机标定外参参数、中心位置信息和递进步长系数;所述中心位置信息为中心点的位置信息,所述中心点为拍摄所述巡检图像的相机的相机中心点投影在所述巡检图像中的点;
根据所述第一位置信息、所述中心位置信息、所述相机标定外参参数、所述递进步长系数和第一像素密度系数,计算所述价签的水平位置信息和纵向位置信息;
根据所述第一位置信息、所述相机标定外参参数和第二像素密度系数,计算所述价签的竖直位置信息。
所述第三处理单元,具体用于:
根据所述中心位置信息、所述相机标定外参参数和所述递进步长系数,确定所述中心点在机器人地图上对应的第二位置信息;
根据所述第二位置信息、所述第一位置信息和第一像素密度系数,计算所述水平位置信息和所述纵向位置信息。
所述第三处理单元,具体用于:
根据所述中心位置信息、所述相机标定外参参数和所述递进步长系数,第一位置信息对应关系;所述第一位置信息对应关系包括所述中心位置信息与所述巡检机器人的底盘中心点的位置信息之间的对应关系;
根据所述第一位置信息对应关系计算所述中心点在机器人地图上对应的第二位置信息。
进一步地,所述相机标定外参参数包括所述巡检机器人的底盘中心点与深度相机之间的第一距离;
所述第三处理单元,具体用于:
根据所述第一距离、所述深度相机与所述货架之间的第二距离,确定高清相机与所述货架之间的第三距离;
根据所述第三距离、所述中心位置信息和所述递进步长系数,得到第一位置信息对应关系。
所述第三处理单元,具体用于:
根据第一像素密度系数计算所述巡检图像的中心点和待计算目标点之间的第四距离;
根据所述第二位置信息、所述第一位置信息和所述第四距离,计算所述待计算目标点的水平位置信息和所述纵向位置信息。
所述第三处理单元,具体用于:
获取所述中心点对应的第五距离;所述第五距离为所述中心点对应水平面的竖直高度;
根据所述第二像素密度系数计算在竖直方向上所述中心点和待计算目标点之间的第六距离;
根据所述第五距离和所述第六距离计算得到所述目标价签的竖直位置信息。
进一步地,所述巡检机器人,还包括:
第四处理单元,用于对所述价签进行去重处理。
第三方面,本申请实施例提供了一种巡检机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的商品陈列巡检方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的商品陈列巡检方法。
本申请实施例中,根据预设巡检信息进行移动,当检测到当前位于预设巡检拍摄位置时,获取预设巡检拍摄位置对应的货架的巡检图像;从巡检图像中识别目标商品及其价签和商品编码、目标商品的缺货信息,并且获取价签在巡检图像中的第一位置信息;根据预设位置信息转换策略和第一位置信息确定价签在陈列空间中的空间位置信息;将缺货信息和空间位置信息发送至服务器,用于触发服务器生成商品陈列信息。上述方法,通过巡检机器人的巡检获取相关信息,生成每个货架和价签的空间坐标信息,实现货架缺货检测的智能化、数字化需求,且本技术方案部署简单、计算快速、精确度高、适用性好,能够很好的满足对所有传统货架的数字化建模需求。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请第一实施例提供的一种商品陈列巡检方法的示意流程图;
图2是本申请第一实施例提供的一种商品陈列巡检方法中的巡检机器人巡检场景的示意图;
图3是本申请第一实施例提供的一种商品陈列巡检方法中s103细化的示意流程图;
图4是本申请第一实施例提供的一种商品陈列巡检方法中的中心点的示意图;
图5是本申请第一实施例提供的一种商品陈列巡检方法中的机器人和货架位置关系的水平位置的示意图;
图6是本申请第一实施例提供的一种商品陈列巡检方法中的巡检机器人从起点开始沿着货架按照步长在每个预设巡检拍摄位置拍摄的示意图;
图7是本申请第一实施例提供的一种商品陈列巡检方法中s1032细化的示意流程图;
图8是本申请第一实施例提供的一种商品陈列巡检方法中s10321细化的示意流程图;
图9是本申请第二实施例提供的巡检机器人的示意图;
图10是本申请第三实施例提供的巡检机器人的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
近几年,与人们生活密切联系的智能新零售迅速发展,其运用互联网、物联网、大数据、人工智能等技术赋能商超、便利店等数字化、智能化管理,同时优化商品和用户和支付之间的关系,给予顾客更快、更好、更方便的购物体验。
数字货架或将传统货架数字化是智能新零售业务中重要的一个环节。排面智能检测、缺货智能报警等需求赋予了数字货架的智能化管理的新需求,同时在5g来临的时代背景下,通过云端,远程、高效、实时的管理货架和掌握货架信息,以及对所有商品精准定位、导航,陈列轨迹追踪分析,成为新零售技术的必然需求,这就要求货架能够数字化,而大量现存的传统货架如何将其数字孪生,成为一个重大的和需要解决的问题。
针对上述需求,传统的手段都是人力盘检记录数据并手动录入数据库。但是这种方式操作耗时且极易出错,有些国家或地区的人力成本又相当高昂。针对上述处理方案的痛点,本专利提出了一种商品陈列巡检方法,本实施例中基于巡检机器人和识别商品价签并将所有价签位置换算成空间坐标的方法将商品和货架生成相应的数字孪生信息的智能巡检技术方案。该方案能够利用巡检机器人精细准确的对货架排面进行价签以及商品的陈列检测。特别适合于面积大货架多的大型商超的巡检工作。
请参见图1,图1是本申请第一实施例提供的一种商品陈列巡检方法的示意流程图。本实施例中一种商品陈列巡检方法的执行主体为巡检机器人。如图1所示的商品陈列巡检方法可包括:
s101:根据预设巡检信息进行移动,当检测到当前位于预设巡检拍摄位置时,获取所述预设巡检拍摄位置对应的货架的巡检图像。
需要说明的是,在本实施例中采用的是带有运动底盘的巡检机器人,在巡检机器人上,搭载了多个高清相机,高清相机用于拍摄货架的巡检图像。其中,高清相机的数量要根据高清相机的视场角来确定,保证高清相机的画面能够覆盖整个货架即可。
在巡检机器人进行巡检之前,需要进行工勘部署,得到预设巡检信息。可以由本实施中的机器人来进行工勘部署。在工勘部署时,需要对场地的环境进行扫描,构建地图,获取待巡检的货架。根据构建好的地图预先设置巡检路线,以及巡检机器人在每个货架通道的拍照起点位置和拍照终点位置。起点位置和终点位置的选择标准是巡检机器人的高清相机距离货架价签50cm左右,货架两端的边缘尽量正对巡检机器人的拍照中心位置。设定好每个货架的起点位置和终点位置后,需要设定沿货架拍摄的步长,和货架在起点方向的左右相对位置如图2所示,图2为巡检机器人巡检时的示意图。对于货架a来说在巡检机器人前进方向的左侧,所以这种情况下工勘时部署货架a需要设置的左右相对位置为左;对于货架b来说,在巡检机器人前进方向的右侧,所以对于货架b在工勘时需要设置的左右相对位置为右。可以根据这些信息计算出每个具体的拍摄点位以及货架的左右边缘位置并记录在本地。以上获取到的信息都属于预设巡检信息,在巡检机器人实际巡检时读取预设巡检信息来对需要巡检的货架进行巡检。
巡检机器人开始进行巡检,根据预设巡检信息进行移动,当巡检机器人检测到自己当前位于预设巡检拍摄位置时,控制相机进行拍摄,获取预设巡检拍摄位置对应的货架的巡检图像。
s102:从所述巡检图像中识别目标商品及其价签和商品编码、所述目标商品的缺货信息,并且获取所述价签在所述巡检图像中的第一位置信息。
巡检机器人中预先存储智能识别算法,智能识别算法用于识别巡检图像,可以是通过训练的神经网络模型等等,此处不做限制。巡检机器人获取到预设巡检位置对应的货架的巡检图像后,可以通过智能识别算法对巡检图像进行识别,识别出巡检图像中的目标商品及其商品编码、目标商品的价签以及价签在巡检图像中的第一位置信息、目标商品的缺货信息。其中,价签的在巡检图像中的第一位置信息可以为二维像素坐标。
巡检机器人根据预设巡检信息进行移动,每当移动到预设巡检位置时,都获取该位置对应的货架的巡检图像,拍摄完巡检图像后移动到下一个预设巡检位置。巡检机器人同时对每一个巡检图像进行识别,得到每个货架中的目标商品及其商品编码、目标商品的价签以及价签在巡检图像中的第一位置信息。
s103:根据预设位置信息转换策略和所述第一位置信息确定所述价签在陈列空间中的空间位置信息。
巡检机器人中存储预设位置信息转换策略,预设位置信息转换策略用于将价签在巡检图像中的二维位置信息转换成为在陈列空间中的空间位置信息。巡检机器人根据预设位置信息转换策略将第一位置信息转换成空间位置信息。
其中,空间位置信息包括水平位置信息、纵向位置信息和竖直位置信息,下面具体来说明一下如何确定空间位置信息中的水平位置信息、纵向位置信息和竖直位置信息。s103可以包括s1031~s1033,如图3所示,s1031~s1033具体如下:
s1031:获取所述巡检机器人的相机标定外参参数、中心位置信息和递进步长系数。
巡检机器人获取巡检机器人的相机标定外参参数,相机标定外参参数是预先设置好的相机相关的参数,可以包括巡检机器人底盘中心点和巡检机器人上搭载的深度相机之间的距离、深度相机和高清相机之间的空间相对位置关系、每个高清相机的实际装配高度等等。其中,深度相机和高清相机之间的空间相对位置关系也就是两个相机之间的变换的旋转平移矩阵。
巡检机器人获取中心位置信息,所述中心位置信息为中心点的位置信息,所述中心点为拍摄所述巡检图像的相机中心点投影在所述巡检图像中的点。如图4和图5所示,图4为中心点的示意图,图中显示的是相机拍摄的画面的正面图,图5为机器人和货架位置关系的水平位置的示意图。将和地面水平的相机中心轴线投影在货架的像素点命名为c点,c点的坐标为中心位置信息,图5中的中心点即为c点。
其中,c点的横坐标是根据高清相机的像素宽度来确定的,由于c点为中心点,所以,高清相机的横向像素宽度除以2可以计算得到c点的横坐标。c点的纵坐标对应着高清相机的物理高度,并且可以理解的是,不论巡检机器人距离货架多远,c点的纵坐标都是不变的。假设c点的坐标为(xc,yc),则xc=wp/2;其中,wp是高清相机的横向像素宽度。
巡检机器人获取递进步长系数。如图6所示,图6为巡检机器人从起点开始沿着货架按照步长在每个预设巡检拍摄位置拍摄的示意图。起点的坐标就是(xs,ys,rs),下一个点是(x1,y1,r1),后面依次类推。x和y分别是在机器人地图上x轴和y轴上的坐标值,r是巡检机器人正前方朝向的角度值。两个底盘之间的线段就是每次移动的步长,比如步长是20cm,那么线段的长度就是20cm,换算成机器人地图的像素值就是20÷5=4。而δx和δy分别是步长在x轴和y轴上的分量的绝对值,因为上图中x轴上的分量是负方向的,所以用虚线表示。所以(x1,y1,r1)与(xs,ys,rs)之间满足如下关系:
x1=xs–δx
y1=ys δy
r1=rs
而每个定位点的δx和δy和步长(后面以δstep表示)之间又满足下面的固定关系:
α=δx÷δstep
β=δy÷δstep
这里的α和β就是步长递进系数。假设我们称δy和线段之间的夹角为θ,也就是货架排面方向与y轴正方向之间的夹角,那么步长递进系数α和β就可以通过三角函数的计算方法得到,如下所示:
α=-sinθ
β=cosθ
当然上图只是机器人运动方向的一种情况,其他情况下的步长递进系数α和β的计算方法根据具体情况类似,此处不再赘述。
s1032:根据所述第一位置信息、所述中心位置信息、所述相机标定外参参数、所述递进步长系数和第一像素密度系数,计算所述价签的水平位置信息和纵向位置信息。
巡检机器人根据第一位置信息、中心位置信息、相机标定外参参数和递进步长系数和第一像素密度系数,计算价签的水平位置信息和纵向位置信息。
其中,第一像素密度系数为在横向上每个物理长度上对应的高清相机拍摄的巡检图像上的像素个数之间的比例关系。可以通过以下方式计算得到:
巡检机器人根据拍摄巡检图像的高清相机到货架的距离l1,高清相机的内参横向视场角θfov_h,来计算高清相机拍摄到的巡检图像的画面水平方向上的最大长度l2。可以根据下面的公式计算l1:
l1=l3 l4
其中,l3为高清相机和深度相机之间在底盘半径方向上的距离关系,可以通过相机外参参数中该高清相机和深度相机之间的旋转平移矩阵来计算;l4为巡检机器人底盘中心点和巡检机器人上搭载的深度相机之间的距离,属于相机外参参数。则,高清相机拍摄到的巡检图像的画面水平方向上的最大长度l2=l1*tan(θfov_h/2)*2。
第一像素密度rl2p=wp÷l2,rl2p就是横向的像素密度系数。
具体来说,计算水平位置信息和纵向位置信息可以采用s10321~s10322中的方式,如图7所示,s10321~s10322具体如下:
s10321:根据所述中心位置信息、所述相机标定外参参数和所述递进步长系数,确定所述巡检图像的中心点在机器人地图上对应的第二位置信息。
巡检机器人根据中心位置信息、相机标定外参参数和递进步长系数,确定巡检图像的中心点在机器人地图上对应的第二位置信息。也就是将中心位置信息转换成为巡检空间中的三维空间中水平方向的横纵坐标。
具体来说,巡检机器人可以确定位置对应关系,根据位置对应关系计算出第二位置信息。s10321可以包括s103211~s103212,如图8所示,s103211~s103212具体如下:
s103211:根据所述中心位置信息、所述相机标定外参参数和所述递进步长系数,确定第一位置信息对应关系;所述第一位置信息对应关系包括所述中心位置信息与所述巡检机器人的底盘中心点的位置信息之间的对应关系。
巡检机器人根据中心位置信息、相机标定外参参数和递进步长系数,确定第一位置信息对应关系。第一位置信息对应关系即为中心位置信息与巡检机器人的底盘中心点的位置信息之间的对应关系。巡检机器人的底盘中心点的位置信息是已知的,即为巡检机器人当前的机器人中心点的坐标。以第一位置信息对应关系为基础就可以根据所有巡检图像上二维像素的x轴坐标计算出对应的在机器人地图上的坐标值。
具体来说,相机标定外参参数包括巡检机器人的底盘中心点与深度相机之间的第一距离。根据所述第一距离、所述深度相机与所述货架之间的第二距离,确定高清相机与所述货架之间的第三距离;根据第三距离、中心位置信息和递进步长系数,得到第一位置信息对应关系。设中心点c点在俯视角度的机器人地图上坐标为(xr`,yr`),巡检机器人当前的底盘中心点坐标为(xr,yr),底盘中心点就是预先设置的预设巡检拍照位置。那么c点在机器人地图上的坐标(xr`,yr`)就可以根据高清相机与货架的距离l5,以及货架排面方向与y轴正方向之间的夹角θr计算得到。
而其中:
l5=l6 l7
其中,l6是深度相机距离货架的距离,这个是由工勘的时候用深度相机测定的起始点和结束点距离货架的距离得来。l7是巡检机器人的底盘中心点与深度相机之间的第一距离。
而θr=θ
因此
xr`=xr-cosθ*l5
yr`=yr–sinθ*l5
而cosθ和–sinθ正好是前面提到的步长递进系数β和α,于是有
xr`=xr-β*l5
yr`=yr α*l5
这样就有了中心位置信息与所述巡检机器人的底盘中心点的位置信息之间的对应关系,即为第一位置信息对应关系,即中心点的二维像素x轴坐标和机器人底盘中心点坐标的对应关系:xc→(xr-β*l5,yr α*l5)。
s103212:根据所述第一位置信息对应关系计算所述中心点在机器人地图上对应的第二位置信息。
巡检机器人根据
xr`=xr-β*l5
yr`=yr α*l5
这两个公式就可以计算得到中心点c点在俯视角度的机器人地图上坐标(xr`,yr`),也就是中心点在机器人地图上对应的第二位置信息。
s10322:根据所述第二位置信息、所述第一位置信息和第一像素密度系数,计算所述水平位置信息和所述纵向位置信息。
巡检机器人根据第二位置信息、第一位置信息和第一像素密度系数,计算水平位置信息和纵向位置信息。巡检机器人可以通过第二位置信息和第一位置信息之间的距离来计算水平位置信息和纵向位置信息。
具体来说,巡检机器人根据第一像素密度系数计算中心点和待计算目标点之间的第四距离。根据所述第二位置信息、第一位置信息和第四距离,计算所述待计算目标点的水平位置信息和所述纵向位置信息。待计算目标点c1点的第一位置信息为(x1,y1),在巡检图像上的x轴坐标为x1,那么c1点和中心点c点之间的像素距离为xc–x1,而两点之间的第四距离l8就可以通过像素密度系数计算得到:
l8=(xc–x1)÷rl2p
那么c1点在机器人地图上的坐标(x1,y1)就可以按下面的方法计算获得:
x1=xr` α*l8
y1=yr` β*l8。
s1033:根据所述第一位置信息、所述相机标定外参参数和第二像素密度系数,计算所述目标价签的竖直位置信息。
巡检机器人根据第一位置信息、相机标定外参参数和第二像素密度系数,计算所述目标价签的竖直位置信息。
其中,第二像素密度系数为在竖向上每个物理长度上对应的高清相机照片上的像素个数之间的比例关系,可以通过以下方式计算得到:
巡检机器人根据高清相机的内参竖向视场角角度θfov_v和高清相机到货架的距离l1,来计算高清相机画面拍摄到的画面竖直方向最大长度l9,可以根据以下公式计算l1:
l1=l3 l4
其中,l3为高清相机和深度相机之间在底盘半径方向上的距离关系,可以通过相机外参参数中该高清相机和深度相机之间的旋转平移矩阵来计算;l4为巡检机器人底盘中心点和巡检机器人上搭载的深度相机之间的距离,属于相机外参参数。则,高清相机画面拍摄到的画面竖直方向最大长度l9=l1*tan(θfov_v/2)*2。
第二像素密度rh2p=hp÷l9,其中,rh2p就是纵向的第二像素密度系数,hp是高清相机拍摄的巡检图像的最大像素高度。
具体来说,在获取待计算目标点的水平位置信息和纵向位置信息之后,计算待计算目标点的竖直位置信息可以采用以下方式,获取中心点对应的第五距离,其中,第五距离为中心点对应水平面的竖直高度,第五距离就是高清相机的安装高度,这个参数属于相机外参参数。根据第二像素密度系数计算在竖直方向上巡检图像的中心点和待计算目标点之间的第六距离。举例来说,假设待计算目标点c1点在巡检图像上的y轴坐标为y1,中心点c点的y轴坐标为yc,那么c1点和中心点c点之间的像素距离为y1–yc,而两点之间的实际物理长度,也就是第六距离l10就可以通过第二像素密度系数rh2p计算得到:
l10=(y1–yc)÷rh2p。
则巡检机器人根据第五距离和第六距离计算得到目标价签的竖直位置信息。待计算目标点的竖直位置信息z1=zc-l10。
在s103之前,可以对价签进行去重处理,去重的依据是价签的像素位置与对应照片的中心点的像素距离,距离越小则置信度越高,保留该相机拍摄的价签。
s104:将所述缺货信息和所述空间位置信息发送至服务器,用于触发所述服务器生成商品陈列信息。
巡检机器人可以将缺货信息和空间位置信息发送至服务器,用于触发服务器生成商品陈列信息。同时,巡检机器人构建完成的所有价签的空间坐标信息后,可以呈现出所有商品和对应价签的空间布局地图,并将空间布局地图也发送至服务器。
本申请实施例中,根据预设巡检信息进行移动,当检测到当前位于预设巡检拍摄位置时,获取预设巡检拍摄位置对应的货架的巡检图像;从巡检图像中识别目标商品及其价签和商品编码、目标商品的缺货信息,并且获取价签在巡检图像中的第一位置信息;根据预设位置信息转换策略和第一位置信息确定价签在陈列空间中的空间位置信息;将缺货信息和空间位置信息发送至服务器,用于触发服务器生成商品陈列信息。上述方法,通过巡检机器人的巡检获取相关信息,生成每个货架和价签的空间坐标信息,实现货架缺货检测的智能化、数字化需求,且本技术方案部署简单、计算快速、精确度高、适用性好,能够很好的满足对所有传统货架的数字化建模需求。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
请参见图9,图9是本申请第二实施例提供的巡检机器人的示意图。包括的各单元用于执行图1、图3、图7~图8对应的实施例中的各步骤,具体请参阅图1、图3、图7~图8对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。参见图9,巡检机器人9包括:
第一处理单元910,用于根据预设巡检信息进行移动,当检测到当前位于预设巡检拍摄位置时,获取所述预设巡检拍摄位置对应的货架的巡检图像;
第二处理单元920,用于从所述巡检图像中识别目标商品及其价签和商品编码、所述目标商品的缺货信息,并且获取所述价签在所述巡检图像中的第一位置信息;
第三处理单元930,用于根据预设位置信息转换策略和所述第一位置信息确定所述价签在陈列空间中的空间位置信息;
发送单元940,用于将所述缺货信息和所述空间位置信息发送至服务器,用于触发所述服务器生成商品陈列信息。
进一步地,所述空间位置信息包括水平位置信息、纵向位置信息和竖直位置信息;
所述第三处理单元930,具体用于:
获取所述巡检机器人的相机标定外参参数、中心位置信息和递进步长系数;所述中心位置信息为中心点的位置信息,所述中心点为拍摄所述巡检图像的相机的相机中心点投影在所述巡检图像中的点;
根据所述第一位置信息、所述中心位置信息、所述相机标定外参参数、所述递进步长系数和第一像素密度系数,计算所述价签的水平位置信息和纵向位置信息;
根据所述第一位置信息、所述相机标定外参参数和第二像素密度系数,计算所述价签的竖直位置信息。
所述第三处理单元930,具体用于:
根据所述中心位置信息、所述相机标定外参参数和所述递进步长系数,确定所述中心点在机器人地图上对应的第二位置信息;
根据所述第二位置信息、所述第一位置信息和第一像素密度系数,计算所述水平位置信息和所述纵向位置信息。
所述第三处理单元930,具体用于:
根据所述中心位置信息、所述相机标定外参参数和所述递进步长系数,第一位置信息对应关系;所述第一位置信息对应关系包括所述中心位置信息与所述巡检机器人的底盘中心点的位置信息之间的对应关系;
根据所述第一位置信息对应关系计算所述中心点在机器人地图上对应的第二位置信息。
进一步地,所述相机标定外参参数包括所述巡检机器人的底盘中心点与深度相机之间的第一距离;
所述第三处理单元930,具体用于:
根据所述第一距离、所述深度相机与所述货架之间的第二距离,确定高清相机与所述货架之间的第三距离;
根据所述第三距离、所述中心位置信息和所述递进步长系数,得到第一位置信息对应关系。
所述第三处理单元930,具体用于:
根据第一像素密度系数计算所述巡检图像的中心点和待计算目标点之间的第四距离;
根据所述第二位置信息、所述第一位置信息和所述第四距离,计算所述待计算目标点的水平位置信息和所述纵向位置信息。
所述第三处理单元930,具体用于:
获取所述中心点对应的第五距离;所述第五距离为所述中心点对应水平面的竖直高度;
根据所述第二像素密度系数计算在竖直方向上所述中心点和待计算目标点之间的第六距离;
根据所述第五距离和所述第六距离计算得到所述目标价签的竖直位置信息。
进一步地,所述巡检机器人9,还包括:
第四处理单元,用于对所述价签进行去重处理。
图10是本申请第三实施例提供的巡检机器人的示意图。如图10所示,该实施例的巡检机器人10包括:处理器100、存储器101以及存储在所述存储器101中并可在所述处理器100上运行的计算机程序102,例如商品陈列巡检程序。所述处理器100执行所述计算机程序102时商品陈列巡检方法实施例中的步骤,例如图1所示的步骤101至104。或者,所述处理器100执行所述计算机程序102时实现上述各装置实施例中各模块/单元的功能,例如图9所示模块910至940的功能。
示例性的,所述计算机程序102可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器101中,并由所述处理器100执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序102在所述巡检机器人10中的执行过程。例如,所述计算机程序102可以被分割成第一处理单元、第二处理单元、第三处理单元、发送单元,各单元具体功能如下:
第一处理单元,用于根据预设巡检信息进行移动,当检测到当前位于预设巡检拍摄位置时,获取所述预设巡检拍摄位置对应的货架的巡检图像;
第二处理单元,用于从所述巡检图像中识别目标商品及其价签和商品编码、所述目标商品的缺货信息,并且获取所述价签在所述巡检图像中的第一位置信息;
第三处理单元,用于根据预设位置信息转换策略和所述第一位置信息确定所述价签在陈列空间中的空间位置信息;
发送单元,用于将所述缺货信息和所述空间位置信息发送至服务器,用于触发所述服务器生成商品陈列信息。
所述巡检机器人可包括,但不仅限于,处理器100、存储器101、高清相机、深度相机。本领域技术人员可以理解,图10仅仅是巡检机器人10的示例,并不构成对巡检机器人10的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述巡检机器人还可以包括输入输出设备、网络接入设备、总线等。
所称处理器100可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器101可以是所述巡检机器人10的内部存储单元,例如巡检机器人10的硬盘或内存。所述存储器101也可以是所述巡检机器人10的外部存储设备,例如巡检机器人10上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器101还可以既包括所述巡检机器人10的内部存储单元也包括外部存储设备。所述存储器101用于存储所述计算机程序以及所述巡检机器人所需的其他程序和数据。所述存储器101还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
1.一种商品陈列巡检方法,其特征在于,应用于巡检机器人,包括:
根据预设巡检信息进行移动,当检测到当前位于预设巡检拍摄位置时,获取所述预设巡检拍摄位置对应的货架的巡检图像;
从所述巡检图像中识别目标商品及其价签和商品编码、所述目标商品的缺货信息,并且获取所述价签在所述巡检图像中的第一位置信息;
根据预设位置信息转换策略和所述第一位置信息确定所述价签在陈列空间中的空间位置信息;
将所述缺货信息和所述空间位置信息发送至服务器,用于触发所述服务器生成商品陈列信息。
2.如权利要求1所述的商品陈列巡检方法,其特征在于,所述空间位置信息包括水平位置信息、纵向位置信息和竖直位置信息;
所述根据预设位置信息转换策略和所述第一位置信息确定所述价签在陈列空间中的空间位置信息,包括:
获取所述巡检机器人的相机标定外参参数、中心位置信息和递进步长系数;所述中心位置信息为中心点的位置信息,所述中心点为拍摄所述巡检图像的相机的相机中心点投影在所述巡检图像中的点;
根据所述第一位置信息、所述中心位置信息、所述相机标定外参参数、所述递进步长系数和第一像素密度系数,计算所述价签的水平位置信息和纵向位置信息;
根据所述第一位置信息、所述相机标定外参参数和第二像素密度系数,计算所述价签的竖直位置信息。
3.如权利要求2所述的商品陈列巡检方法,其特征在于,所述根据所述第一位置信息、所述中心位置信息、所述相机标定外参参数、所述递进步长系数和第一像素密度系数,计算所述价签的水平位置信息和纵向位置信息,包括:
根据所述中心位置信息、所述相机标定外参参数和所述递进步长系数,确定所述中心点在机器人地图上对应的第二位置信息;
根据所述第二位置信息、所述第一位置信息和第一像素密度系数,计算所述水平位置信息和所述纵向位置信息。
4.如权利要求3所述的商品陈列巡检方法,其特征在于,所述根据所述中心位置信息、所述相机标定外参参数和所述递进步长系数,确定所述中心点在机器人地图上对应的第二位置信息,包括:
根据所述中心位置信息、所述相机标定外参参数和所述递进步长系数,第一位置信息对应关系;所述第一位置信息对应关系包括所述中心位置信息与所述巡检机器人的底盘中心点的位置信息之间的对应关系;
根据所述第一位置信息对应关系计算所述中心点在机器人地图上对应的第二位置信息。
5.如权利要求4所述的商品陈列巡检方法,其特征在于,所述相机标定外参参数包括所述巡检机器人的底盘中心点与深度相机之间的第一距离;
所述根据所述中心位置信息、所述相机标定外参参数和所述递进步长系数,第一位置信息对应关系,包括:
根据所述第一距离、所述深度相机与所述货架之间的第二距离,确定高清相机与所述货架之间的第三距离;
根据所述第三距离、所述中心位置信息和所述递进步长系数,得到第一位置信息对应关系。
6.如权利要求3所述的商品陈列巡检方法,其特征在于,所述根据所述第二位置信息、所述第一位置信息和第一像素密度系数,计算所述水平位置信息和所述纵向位置信息,包括:
根据第一像素密度系数计算所述巡检图像的中心点和待计算目标点之间的第四距离;
根据所述第二位置信息、所述第一位置信息和所述第四距离,计算所述待计算目标点的水平位置信息和所述纵向位置信息。
7.如权利要求2所述的商品陈列巡检方法,其特征在于,所述根据所述第一位置信息、所述相机标定外参参数和第二像素密度系数,计算所述价签的竖直位置信息,包括:
获取所述中心点对应的第五距离;所述第五距离为所述中心点对应水平面的竖直高度;
根据所述第二像素密度系数计算在竖直方向上所述中心点和待计算目标点之间的第六距离;
根据所述第五距离和所述第六距离计算得到所述目标价签的竖直位置信息。
8.如权利要求1所述的商品陈列巡检方法,其特征在于,在所述根据预设位置信息转换策略和所述第一位置信息确定所述价签在陈列空间中的空间位置信息之前,还包括:
对所述价签进行去重处理。
9.一种巡检机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至8任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述的方法。
技术总结