货架定位地图的生成方法与流程

文档序号:29627691发布日期:2022-04-13 14:56阅读:284来源:国知局
货架定位地图的生成方法与流程

1.本发明涉及数据处理技术领域,具体涉及货架定位地图的生成方法。


背景技术:

2.随着智能仓储、智慧门店的发展,基于商超、仓库环境下的定位技术被越来越多的使用。在定位服务中,场景地图是不可或缺的,所有的结果呈现和结果分析都是需要参考地图的。然而地图的制作却非常繁琐,一般需要人工手动画图,根据客户提供的cad图纸,一个货架一个货架的绘制,从cad图上丈量出货架长宽、间隔距离、方向等,存在人力成本高、绘制时间长和容易出错的问题。


技术实现要素:

3.针对现有技术中所存在的不足,本发明提供的货架定位地图的生成方法,其解决了通过人工手动绘制货架定位地图存在的人力成本高、绘制时间长和容易出错等问题,提高了货架定位地图生成效率和精度。
4.本发明提供一种货架定位地图的生成方法,所述方法包括:根据滑动检测窗口对目标货架图像进行横向和纵向遍历,检测出每条线段的位置信息;根据每条线段的位置信息,计算出线段交点坐标;根据所有线段交点坐标生成矩形货架;根据所述矩形货架的参数信息,得到所述目标区域的货架定位地图。
5.可选地,在根据滑动检测窗口对目标货架图像进行横向和纵向遍历,检测出每条线段的位置信息之前,所述方法还包括:根据目标区域的平面结构图,得到货架图层;将所述货架图层进行图像转换,得到初始货架图像;对所述初始货架图像进行灰度处理和图像反色,得到预处理货架图像;对所述预处理货架图像进行二值化处理,得到目标货架图像。
6.可选地,根据滑动检测窗口对目标货架图像进行横向和纵向遍历,检测出每条线段的位置信息,包括:对所述目标货架图像建立索引,得到每个像素点对应的索引编号和索引值,所述索引值为每个像素点的像素值;对滑动检测窗口中每个索引值的判断,检测出线段的起始位置和终点位置;根据每条线段起始位置和终点位置,得到每条线段的位置信息。
7.可选地,对滑动检测窗口中每个索引值的判断,检测出线段的起始位置和终点位置,包括:若判断出当前滑动检测窗口内第一像素点的索引值为第一目标值,且在当前滑动检测窗口内除第一像素点的剩余像素点的索引值都为第二目标值时,则将所述当前滑动检测窗口中第二个像素点的索引编号作为当前线段的起始位置;若检测出当前滑动检测窗口内最后一个像素点的索引值为第一目标值,且当前滑动检测窗口内除最后一个像素点的剩余像素点的索引值都为第二目标值,则将所述当前滑动检测窗口中倒数第二个像素点的索引编号作为当前线段的终点位置。
8.可选地,在根据每条线段的位置信息,计算出线段交点坐标之前,所述方法还包括:以所述目标货架图像的第一目标像素点为原点建立直角坐标系;将所述每个像素点的索引编号转换到所述直角坐标系,得到每个像素点的坐标信息。
9.可选地,根据每条线段的位置信息,计算出线段交点坐标,包括:根据每条线段的位置信息,得到每条线段中每个像素点的坐标信息;将坐标信息相同的第二目标像素点作为线段交点,并将所述第二目标像素点的坐标信息作为所述线段交点的坐标信息。
10.可选地,根据所有线段交点坐标生成矩形货架,包括:根据每个线段交点坐标,获取到每个线段交点作为第一顶点的货架单元;根据所有货架单元的参数信息,生成所述矩形货架,所述参数信息包括货架单元的顶点坐标、货架单元的长度值和货架单元的宽度值。
11.可选地,根据每个线段交点坐标,获取到每个线段交点作为第一顶点的货架单元,包括:将当前线段交点作为第一顶点;根据所述第一顶点的坐标信息,获取到与所述第一顶点距离最近的第二顶点;根据所述第二顶点的坐标信息,获取到与所述第二顶点距离最近的第三顶点;根据所述第一顶点的坐标信息和所述第三顶点的坐标信息,计算出第四顶点的坐标信息;当所述所有线段交点坐标中存在所述第四顶点的坐标信息时,将所述第一顶点、第二顶点、第三顶点和第四顶点组成的矩形作为当前线段交点对应的货架单元。
12.可选地,根据所述矩形货架的参数信息,得到所述目标区域的货架定位地图,包括:以所述第一目标像素点对应的目标位置为原点建立定位坐标系;根据所述直角坐标系和所述定位坐标系,得到坐标转换关系;根据所述坐标转换关系将所述矩形货架的参数信息转换到所述定位坐标系中,生成所述目标区域的货架定位地图。
13.可选地,在根据所述矩形货架的参数信息,得到所述目标区域的货架定位地图之前,所述方法还包括:根据所述矩形货架的参数信息,得到所述矩形货架的面积;若所述矩形货架的面积小于预设阈值时,删除所述矩形货架。
14.相比于现有技术,本发明具有如下有益效果:
15.本发明通过滑动检测窗口对目标货架图像进行像素遍历,检测出横向和纵向的线段,根据线段的位置信息得到所有交点的坐标,由交点坐标生成矩形货架,最后根据矩形货架的参数信息生成货架定位地图。本发明解决了通过人工手动绘制货架定位地图存在的人力成本高、绘制时间长和容易出错等问题,提高了货架定位地图生成效率和精度。
附图说明
16.图1所示为本发明实施例提供的一种货架定位地图的生成方法的流程示意图;
17.图2所示为本发明实施例图1中步骤s101的具体流程示意图;
18.图3所示为本发明实施例提供的一种矩形货架示意图;
19.图4所示为本发明实施例提供的另一种货架定位地图的生成方法的流程示意图。
具体实施方式
20.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术的一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
21.图1所示为本发明实施例提供的一种货架定位地图的生成方法的流程示意图,如图1所示,所述货架定位地图的生成方法具体包括以下步骤:
22.步骤s101,根据滑动检测窗口对目标货架图像进行横向和纵向遍历,检测出每条
线段的位置信息。
23.在本实施例在根据滑动检测窗口对目标货架图像进行横向和纵向遍历,检测出每条线段的位置信息之前,所述方法还包括:根据目标区域的平面结构图,得到货架图层;将所述货架图层进行图像转换,得到初始货架图像;对所述初始货架图像进行灰度处理和图像反色,得到预处理货架图像;对所述预处理货架图像进行二值化处理,得到目标货架图像。
24.需要说明的是,所述目标区域的平面结构图一般为cad图,所述目标区域包括但不限于超市,其中所述平面结构图中包括货架图层、超市的平面设计图层等,需要将平面结构图进行预处理仅留下货架图层;预处理好的货架图层导出成png格式的原图,得到初始货架图像,导出的png图不会失真,也不会存在像素缺失的现象而影响后面的货架识别性能;对图像进行灰度化处理,然后对图像反色,将反色后的图像根据阈值法进行二值化处理,得到所述目标货架图像。
25.在本发明的实施例中,如图2所示,根据滑动检测窗口对目标货架图像进行横向和纵向遍历,检测出每条线段的位置信息具体包括如下步骤:
26.步骤s201,对所述目标货架图像建立索引,得到每个像素点对应的索引编号和索引值,所述索引值为每个像素点的像素值;
27.步骤s202,对滑动检测窗口中每个索引值的判断,检测出线段的起始位置和终点位置;
28.步骤s203,根据每条线段起始位置和终点位置,得到每条线段的位置信息。
29.进一步地,对滑动检测窗口中每个索引值的判断,检测出线段的起始位置和终点位置,包括:若判断出当前滑动检测窗口内第一像素点的索引值为第一目标值,且在当前滑动检测窗口内除第一像素点的剩余像素点的索引值都为第二目标值时,则将所述当前滑动检测窗口中第二个像素点的索引编号作为当前线段的起始位置;
30.若检测出当前滑动检测窗口内最后一个像素点的索引值为第一目标值,且当前滑动检测窗口内除最后一个像素点的剩余像素点的索引值都为第二目标值,则将所述当前滑动检测窗口中倒数第二个像素点的索引编号作为当前线段的终点位置。
31.需要说明的是,二值化处理后得到的目标货架图像中亮色部分像素值为255,暗色部分像素值为0。对目标货架图像的像素在横向和纵向方向进行遍历,采用滑动检测窗口的方式检测每条横向线段和纵向线段;其中,滑动检测窗口的遍历方向均为从左到右。
32.在本实施例中,由于有的线段长度过于短,可能是干扰信息,或者是货架上的局部组成部分,是不希望被检测出来的,所以可以对线段长度给一个阈值line_th,将长度小于阈值line_th的线段进行丢弃;其中,要检测出来长度为line_th的线段,滑动检测窗口的大小window_size需满足以下公式(1),在滑动检测窗口中如果满足第一个像素值是0,后面的所有像素值都是255,那么说明线段的起始位置为滑动检测窗口中第二个像素点的索引编号,起始位置索引start_index如以下公式(2)所示。如果满足滑动检测窗口内最后一个像素值是0,前面的所有像素值都是255,则找到了线段终止索引,线段终止索引为end_index如公式(3)所示。基于相同的方法和原理,可以得到纵向的线段起始位置和终点位置,并且根据每条线段起始位置和终点位置,得到每条线段的位置信息,其中,所述每条线段的位置信息包括但不限于起始位置、终点位置和线段长度。
33.window_size=line_th+1
ꢀꢀꢀ
(1)
34.start_index=index+1
ꢀꢀꢀ
(2)
35.end_index=index+line_th-1
ꢀꢀꢀ
(3)
36.其中,index表示当前滑动检测窗口内第一个像素点的索引编号。
37.步骤s102,根据每条线段的位置信息,计算出线段交点坐标。
38.在本实施例中,在根据每条线段的位置信息,计算出线段交点坐标之前,所述方法还包括:以所述目标货架图像的第一目标像素点为原点建立直角坐标系;将所述每个像素点的索引编号转换到所述直角坐标系,得到每个像素点的坐标信息。
39.进一步地,根据每条线段的位置信息,计算出线段交点坐标,包括:根据每条线段的位置信息,得到每条线段中每个像素点的坐标信息;将坐标信息相同的第二目标像素点作为线段交点,并将所述第二目标像素点的坐标信息作为所述线段交点的坐标信息。
40.如图3所示,在本实施例中所述第一目标像素点为所述目标货架图像左上角第一个像素点,所述第二目标像素点为坐标信息相同的像素点,其中第二目标像素点的数量为若干个,例如在第一条横线段中包括第一中间像素点(2,2),第二中间像素点(4,2),第三中间像素点(6,2),第一条纵线段中包括第一中间像素点(2,2),第四中间像素点(2,4),第二条纵线段中包括第二中间像素点(4,2),第五中间像素点(4,4),由此可知,第一条横线段中的第一中间像素点的坐标信息和第一条纵线段中的第一中间像素点的坐标信息相同,第一条横线段中的第二中间像素点的坐标信息和第二条纵线段中的第二中间像素点的坐标信息相同,因此将第一中间像素点和第二中间像素点都作为第二目标像素点,也就是两个线段交点,且将第一中间像素点的坐标信息和第二中间像素点的坐标信息分别为两个线段交点的坐标信息。
41.步骤s103,根据所有线段交点坐标生成矩形货架。
42.在本实施例中,根据所有线段交点坐标生成矩形货架,包括:根据每个线段交点坐标,获取到每个线段交点作为第一顶点的货架单元;根据所有货架单元的参数信息,生成所述矩形货架,所述参数信息包括货架单元的顶点坐标、货架单元的长度值和货架单元的宽度值。
43.进一步地,如图4所示,根据每个线段交点坐标获取到每个线段交点作为第一顶点的货架单元具体包括如下步骤:
44.步骤s301,将当前线段交点作为第一顶点;
45.步骤s302,根据所述第一顶点的坐标信息,获取到与所述第一顶点距离最近的第二顶点;
46.步骤s303,根据所述第二顶点的坐标信息,获取到与所述第二顶点距离最近的第三顶点;
47.步骤s304,当所述所有线段交点坐标中存在所述第四顶点的坐标信息时,将所述第一顶点、第二顶点、第三顶点和第四顶点组成的矩形作为当前线段交点对应的货架单元。
48.需要说明的是,在上述实施例得到了每个线段交点的位置信息,对其中每个交点依次向右、向下寻找最近的交点,再根据第一个交点和第三个交点的坐标,计算第四个交点坐标,判断第四个点是否在交点集合中,是否与第一个点和第三个点相连,如果符合,则所计算的第四个点为矩形的第四个点,如果这样找不到可以构成矩形的四个点,则对该交点
向下、向右寻找最近的交点,同理得到第四个点,这样对每个交点至多采取两次不同的搜索,如果两次都没有成功,则放弃该交点的搜索,采用这种算法可以得到构成矩形的四个角点。在寻找最近交点的阶段,交点被采用需要满足两个要求:1.找最近交点,2.两交点必须在某一条线段上,即交点之间必须线段可达,将满足矩形的四个交点找到之后,可以得到矩形宽、长的像素个数和像素坐标位置,从而得到当前线段交点对应的货架单元的参数信息;以此类推,将每个线段交点作为第一顶点,按照上述的步骤依次找出所有的货架单元,再将所有货架单元拼接出矩形货架,其中,所述矩形货架可以相互独立的货架。
49.步骤s104,根据所述矩形货架的参数信息,得到所述目标区域的货架定位地图。
50.在本实施例中,在根据所述矩形货架的参数信息,得到所述目标区域的货架定位地图之前,所述方法还包括:根据所述矩形货架的参数信息,得到所述矩形货架的面积;若所述矩形货架的面积小于预设阈值时,删除所述矩形货架。
51.在本实施例中,根据所述矩形货架的参数信息,得到所述目标区域的货架定位地图,包括:以所述第一目标像素点对应的目标位置为原点建立定位坐标系;根据所述直角坐标系和所述定位坐标系,得到坐标转换关系;根据所述坐标转换关系将所述矩形货架的参数信息转换到所述定位坐标系中,生成所述目标区域的货架定位地图。
52.需要说明的是,为了进一步消除干扰信息,可以根据矩形货架的面积进行筛选,过滤掉面积小于预设阈值的矩形。并且在根据图像像素与实际物理长度之间的关系,可以计算出货架宽高、坐标的实际位置,即可自动化生成货架定位地图;其中,图像像素与实际物理长度之间的关系也就是所述直角坐标系和定位坐标系的坐标转换关系。
53.本发明通过滑动检测窗口对目标货架图像进行像素遍历,检测出横向和纵向的线段,根据线段的位置信息得到所有交点的坐标,由交点坐标生成矩形货架,最后根据矩形货架的参数信息生成货架定位地图。本发明解决了通过人工手动绘制货架定位地图存在的人力成本高、绘制时间长和容易出错等问题,提高了货架定位地图生成效率和精度。
54.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
55.需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除
在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1