一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

在沙盘中进行定位的方法、系统、装置、设备、存储介质与流程

2022-03-16 16:28:04 来源:中国专利 TAG:


1.本技术涉及计算机视觉领域,涉及但不限定于一种在沙盘中进行定位的方法、装置、设备、存储介质。


背景技术:

2.在演示目标物具有的一些功能时,例如,演示机器人自动驾驶,自动躲避障碍物、自动清扫等,需要搭建指定的沙盘,且在沙盘周围搭建高于20cm的围栏(用于激光雷达定位)。在多次演示过程中,发现如下问题:1、硬质(木制、kt板等)沙盘、围栏大小固定,且过于沉重,不方便携带;2、纸质(油画布、喷绘等)沙盘、围栏容易破损、大小固定,且布置困难;3、场地受限,需经常调整沙盘(地图)大小;4、演示方案时,只能提前很长时间布置(搭建沙盘、围栏)场地,耗时耗力。
3.另外,在演示时,目标物需要时刻感知自身的全局定位,若使用目前比较成熟的定位方案,有如下问题:1、基于车载激光雷达的全局定位在每次改变沙盘环境时需提前建图,建图过程比较复杂;2、基于外部定位装置(如全身动作捕捉系统等)的全局定位通常价格比较昂贵,且安装复杂。


技术实现要素:

4.本技术实施例提供一种在沙盘中进行定位的方法、系统、装置、设备、存储介质。
5.本技术实施例的技术方案是这样实现的:
6.第一方面,本技术实施例提供一种在沙盘中进行定位的方法,包括:获取待处理图像,所述待处理图像包括目标物及通过投影形成沙盘的图像;
7.对所述待处理图像进行边缘检测和校正处理,得到包括校正后沙盘的目标图像;
8.在所述目标图像的沙盘中,确定所述目标物的位置信息。
9.在一些可能的实施例中,所述对所述待处理图像进行边缘检测和校正处理,得到包括校正后沙盘的目标图像,包括:
10.对所述待处理图像进行边缘提取,得到沙盘边界框;
11.对所述沙盘边界框内的图像进行校正处理,得到包括校正后沙盘的目标图像。
12.这样,通过对待处理图像进行边缘提取,得到沙盘边界框;对边界框内的图像进行校正处理,将待处理图像恢复到正常的状态,从而提高定位的精确度。
13.在一些可能的实施例中,所述对所述待处理图像进行边缘提取,得到沙盘边界框,包括:
14.至少对所述待处理图像进行高斯模糊处理、二值化处理,得到二值图像;
15.基于所述二值图像,对所述待处理图像进行边缘提取,得到至少一个多边形;
16.提取面积最大或边长最长的多边形作为沙盘边界框。
17.这样,通过对待处理图像进行高斯模糊、二值化处理,可以减小待处理图像的噪声和降低细节层次,更有利于进行边缘提取,从而提高检测精度。
18.在一些可能的实施例中,所述对所述沙盘边界框内的图像进行校正处理,得到包括校正后沙盘的目标图像,包括:
19.获取所述沙盘边界框的顶点坐标;
20.基于所述边界框的顶点坐标和预设的成像大小,确定目标图像的顶点坐标;
21.基于所述边界框的顶点坐标和所述目标图像的顶点坐标,确定变换矩阵;
22.基于所述变换矩阵,对所述沙盘边界框内的图像进行校正处理,得到包括校正后沙盘的目标图像。
23.这样,通过确定变换矩阵,对沙盘边界框内的图像都执行变换矩阵的变换,实现沙盘边界框中的图像进行校正处理,得到包括校正后沙盘的目标图像,使目标图像中的沙盘更加接近投影得到的沙盘图像,从而使目标物的定位更加精确。
24.在一些可能的实施例中,所述在所述目标图像的沙盘中,确定所述目标物的位置信息,包括:
25.基于深度神经网络模型对所述目标图像进行目标识别,获取包围所述目标物的检测框;
26.获取所述检测框的顶点的坐标;
27.基于所述检测框的顶点的坐标,确定所述目标图像的沙盘中所述目标物的位置。
28.这样,基于深度神经网络模型对目标图像进行目标识别,获取包围目标物的检测框,根据检测框的顶点坐标,确定目标图像的沙盘中目标物的位置,能够精确定位目标物在沙盘中的位置。
29.在一些可能的实施例中,所述目标物为移动机器人,所述方法还包括:在所述目标图像的沙盘中,确定所述移动机器人的航向角;至少基于所述航向角和所述位置信息,确定所述移动机器人的移动指令。
30.这样,在目标图像的沙盘中确定移动机器人的航向角,并且根据航向角和位置信息,能够准确确定移动机器人在沙盘中的移动指令,更好地控制其运动。
31.在一些可能的实施例中,所述检测框的顶点包括左上角顶点、右上角顶点、左下角顶点和右下角顶点,所述在所述目标图像的沙盘中,确定所述移动机器人的航向角,包括:基于所述左上角顶点的坐标和所述右上角顶点的坐标,确定位于所述左上角顶点和所述右上角顶点之间连线的第一中心点;基于所述左下角顶点的坐标和所述右下角顶点的坐标,确定位于所述左下角顶点和所述右下角顶点之间连线的第二中心点;基于所述第一中心点的坐标和所述第二中心点的坐标,确定所述移动机器人的航向角。
32.这样,根据检测框的四个顶点坐标求出第一中心点的坐标和第二中心点的坐标,从而确定出移动机器人的航向角,从而可以更加准确地确定移动机器人的移动指令。
33.第二方面,本技术实施例提供一种在沙盘中进行定位的系统,包括:投影模组,用于在目标场地投影形成沙盘;图像采集模组,用于采集待处理图像,所述待处理图像包括目标物及通过投影形成沙盘的图像;所述目标物,用于对所述待处理图像进行边缘检测和校正处理,得到包括校正后沙盘的目标图像;在所述目标图像的沙盘中,确定所述目标物的位置信息。
34.第三方面,本技术实施例提供一种在沙盘中进行定位的装置,包括:获取模块,用于获取待处理图像,所述待处理图像包括目标物及通过投影形成沙盘的图像;处理模块,用
于对所述待处理图像进行边缘检测和校正处理,得到包括校正后沙盘的目标图像;第一确定模块,用于在所述目标图像的沙盘中,确定所述目标物的位置信息。
35.第四方面,本技术实施例提供一种电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述在沙盘中进行定位的方法中的步骤。
36.第五方面,本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述在沙盘中进行定位的方法中的步骤。
37.本技术实施例提供的技术方案带来的有益效果至少包括:
38.本技术实施例中,通过获取待处理图像,待处理图像包括目标物及通过投影形成沙盘的图像;对待处理图像进行边缘检测和校正处理,得到包括校正后沙盘的目标图像;在目标图像的沙盘中,确定所述目标物的位置信息。一方面,采用投影的方式形成沙盘图像,而不是采用现场搭建的方式,从而不需要携带搭建沙盘的材料,只需具有形成沙盘图像的投影模组,减少场地对沙盘形成的限制,缩短了现场搭建沙盘的时间,节省了人力,降低了沙盘布置的难度,方便调整沙盘大小;另一方面,相较于基于同步定位与建图(simultaneous localization and mapping,slam)目标物的全局定位方法,无需在每次改变沙盘环境时进行建图,操作简单;并且不需额外安装外部定位装置,从而降低了成本,安装简单。
附图说明
39.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图,其中:
40.图1a为本技术实施例提供的一种在沙盘中进行定位的方法的架构示意图;
41.图1b为本技术实施例提供的一种在沙盘中进行定位的方法的架构示意图;
42.图1c为本技术实施例提供的一种在沙盘中进行定位的方法的流程示意图;
43.图2为本技术实施例提供的一种在沙盘中进行定位的方法的流程示意图;
44.图3a为本技术实施例提供的一种在沙盘中进行定位的方法的流程示意图;
45.图3b为本技术实施例提供的一种移动机器人位置示意图;
46.图4a至图4d为本技术实施例提供的一种在沙盘中进行定位的方法的过程示意图;
47.图5为本技术实施例提供的一种在沙盘中进行定位的系统的组成结构示意图;
48.图6为本技术实施例提供的一种在沙盘中进行定位的装置的组成结构示意图;
49.图7为本技术实施例提供的电子设备的硬件实体示意图。
具体实施方式
50.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。以下实施例用于说明本技术,但不用来限制本技术的范围。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下
所获得的所有其他实施例,都属于本技术保护的范围。
51.在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
52.需要指出,本技术实施例所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本技术实施例能够以除了在这里图示或描述的以外的顺序实施。
53.本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本技术实施例所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
54.图1a为本技术实施例提供的一种沙盘中进行定位的方法的架构示意图,参见图1a,目标物100通过网络200连接图像采集模组300。网络200可以是广域网或者局域网,又或者是二者的组合。图像采集模组300可以通过网络200将采集到的待处理图像发送或存储至目标物100。目标物100对待处理图像进行处理得到包括校正后沙盘的目标图像,基于目标图像确定自身的位置信息。目标物100可基于自身的位置信息和到达目标位置的路径信息生成移动指令。
55.图1b为本技术实施例提供的一种沙盘中进行定位的方法的架构示意图,参见图1b,目标物100通过网络200连接图像采集模组300,目标物100和图像采集模组300通过网络200连接至服务器400。图像采集模组300可以通过网络200将采集到的待处理图像发送或存储至服务器400;服务器400对待处理图像进行处理得到包括校正后沙盘的目标图像,服务器400基于目标图像确定目标物100的位置信息。在一些实施例中,服务器400可以将目标物100的位置信息发给目标物100,目标物100基于自身的位置信息和到达目标位置的路径信息生成移动指令。在另一些实施例中,服务器400可以基于目标物100的位置信息和到达目标位置的路径信息生成移动指令,然后将移动指令发送向目标物100。
56.在一些可能的实施例中,服务器400可以是独立的计算设备例如手机、计算机、笔记本电脑等,也可以是多个物理计算设备构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。图像采集模组300以及服务器400可以通过有线或无线通信方式进行直接或间接地连接,本技术实施例中不做限制。
57.图1c为本技术实施例提供的一种在沙盘中进行定位的方法的流程示意图,如图1c所示,该方法至少包括以下步骤:
58.步骤s110,获取待处理图像,所述待处理图像包括目标物及通过投影形成沙盘的图像。
59.这里,电子设备可以从图像采集模组获取待处理的图像,图像采集模组可以是照相机或者摄像头等能够进行图像采集的终端设备,图像采集模组与电子设备之间可以通过
传输线等有线方式连接,也可以通过蓝牙或者无线网络等无线模式连接。
60.目标物是指需要对其进行定位的对象,可以是小车、扫地机器人等移动机器人,还可以是障碍物、红绿灯、行人、宠物等,这里并不限定。沙盘可以是投影模组在目标场地上投影形成的,例如,通过投影仪在目标场地上投影形成的,目标物可以在沙盘上演示一些功能,例如移动机器人演示自动驾驶、自动清扫等功能。
61.本技术实施例提供一种在沙盘中进行定位的方法,应用于电子设备。所述电子设备可以是图1a中的目标物100,也可以是图1b中的服务器400。该方法所实现的功能可以通过电子设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该电子设备至少包括处理器和存储介质。
62.沙盘可以是用于演示自动驾驶的智能交通实训沙盘,其中可以包括道路、建筑、行人、车辆、交通标志等,也可以是用于演示扫地机器人进行清扫的沙盘,其中可以包括餐桌、沙发、茶几、椅子等家具,还可以包括放置于地面的玩具、垃圾等。沙盘的大小可以根据实际需求(如实际场景尺寸)通过调整投影模组的投影高度等确定,例如沙盘的大小可以是1米(m)
×
2m、1.5m
×
3m或者2m
×
4m等等。
63.步骤s120,对所述待处理图像进行边缘检测和校正处理,得到包括校正后沙盘的目标图像。
64.图像一般具有方向和幅度两个特征,沿边缘走向,像素值变化比较平缓;垂直于边缘走向,像素值变化比较剧烈,可能呈现阶跃状,也可能呈现斜坡状。因此边缘可以分为两种:一种为阶跃性边缘,该阶跃性边缘两边的像素灰度值有着明显的不同;另一种为屋顶状边缘,该屋顶状边缘位于灰度值从增加到减少的变化转折点。对于阶跃性边缘,二阶方向导数在边缘处呈零交叉,而对于屋顶状边缘,二阶方向导数在边缘处取极值。
65.对所述待处理图像进行边缘检测可以采用微分运算,包括一阶微分边缘检测算子和二阶边缘微分算子,其中一阶微分边缘检测算子包括:robert算子、索贝尔(sobel)算子和prewitt算子,二阶边缘微分算子包括:拉普拉斯(laplacian)算子和坎尼(canny)算子。在一些实施例中,检测时可通过canny法、边缘和线段检测(edge drawing,ed)、无参数的边缘检测(edge drawing parameter free,edp)等边缘检测方法中一个或多个进行边缘检测。
66.待处理图像的边缘可以随着图像采集模组采集角度不同、高度不同等发生变化。在实施时,可以将训练好的多个边缘检测模型存储于电子设备中,在使用时可以进行匹配选择合适的边缘检测模型。
67.可以理解的是,由于图像采集模组采集角度的问题,采集的图像会发生变形,例如,距离图像采集模组近的位置,采集的图像较宽、较大;距离图像采集模组较远的位置,采集的图像较窄、较小,最终可能会使长方形的图像呈现出梯形。校正处理是指将几何失真或变形等失真的图像恢复到正常状态。校正处理可以包括图像几何校正和灰度校正等,图像几何校正可以包括仿射变换和透视变换处理,这两种变换原理相似,结果也类似。透视变换(perspective transformation)是将图片投影到一个新的视平面(viewing plane),也称作投影映射(projective mapping)。透视变换对畸变图像的校正需要获取畸变图像(待校正图像)的一组4个点的坐标和目标图像的一组4个点的坐标,通过两组坐标点可以计算出透视变换的变换矩阵,对整个待处理图像执行变换矩阵的变换,从而实现图像校正。
68.步骤s130,在所述目标图像的沙盘中,确定所述目标物的位置信息。
69.这里,步骤s130在实施时,可以是在目标图像中进行目标检测,目标检测的对象是目标物,从而确定出目标物在目标图像的沙盘中的位置信息。目标检测输入的是目标图像,输出的是图像中物体的类别、置信度和位置(如检测框)。目标检测的算法包括传统目标检测算法和基于深度学习的目标检测算法,传统的目标检测算法需要手动设计特征提取器,而深度学习目标检测算法则由深度卷积神经网络实现自动特征提取,无需手动设计特征提取器。
70.本技术一些实施例中,在实施步骤s130之前,该方法还包括:在目标图像的沙盘中建立坐标系,坐标系可以是笛卡尔坐标系、极坐标系等。本技术实施例的图4a是以笛卡尔坐标系为例的,建立笛卡尔坐标系的过程可以是:在目标图像的沙盘中确定一点作为原点,例如将目标图像的沙盘的左下角确定为原点,以原点为起点分别确定笛卡尔坐标系的x轴和y轴,确定x轴和y轴后确定坐标系的单位,之后确定目标物的坐标点就可以确定目标物的位置信息。
71.在一些实施例中,可以以目标物与沙盘中对象的相对大小来确定沙盘的相对尺寸,当然也可以确定出沙盘的实际尺寸。例如确定沙盘实际尺寸可以以目标物的实际尺寸作为参照标准,从而确定出目标图像中的投影的沙盘的大小,例如目标物的实际尺寸(如长度)是10cm,目标物的尺寸与沙盘中道路的宽度之间的第一比例是1:2,那么投影出来道路的宽度即为20cm,而投影的道路的宽度与沙盘的宽度之间的第二比例是固定的,投影的道路的宽度与沙盘的长度之间的第三比例也是固定的,这样即可以根据目标图像中目标物的尺寸确定出目标图像中沙盘的实际尺寸。
72.在实施时,在投影比固定的情况下,可以调整投影组件的高度(即投影距离)来调整沙盘的大小。例如,在投影比为1.2,想要投影得到宽度为2m的沙盘,则需要调整投影组件的高位为2.4m。
73.本技术实施例中,通过获取待处理图像,待处理图像包括目标物以及通过投影形成沙盘的图像;对待处理图像进行边缘检测和校正处理,得到包括校正后沙盘的目标图像;在目标图像的沙盘中,确定所述目标物的位置信息。一方面,采用投影的方式形成沙盘图像,而不是采用现场搭建的方式,从而不需要携带搭建沙盘的材料,只需具有形成沙盘图像的投影模组,减少场地对沙盘形成的限制,缩短了现场搭建沙盘的时间,节省了人力,降低了沙盘布置的难度,方便调整沙盘大小;另一方面,相较于基于同步定位与建图(simultaneous localization and mapping,slam)目标物的全局定位方法,无需在每次改变沙盘环境时进行建图,操作简单;并且无需额外安装外部定位装置,从而降低了成本,安装简单。
74.在一些可能的实施例中,步骤s120可以通过步骤s121和步骤s122来实现。
75.步骤s121,对所述待处理图像进行边缘提取,得到沙盘边界框。
76.这里,边缘提取是指对图像轮廓的处理。例如,利用边缘算子提取出反映灰度变化的边缘点集,在边缘点集合中剔除某些边界点或者填补边界间断点,并将这些边缘连接成完整的线。对待处理图像进行边缘提取,将边缘点连接成完整的线就得到至少一个多边形的边界框,多边形可以为三角形、四边形、五边形等,其中,这些多边形可以包括沙盘的边界框、道路的边界框、建筑的边界框等。
77.步骤s122,对所述沙盘边界框内的图像进行校正处理,得到包括校正后沙盘的目标图像。
78.本技术实施例中,通过对待处理图像进行边缘提取,得到沙盘边界框;对边界框内的图像进行校正处理,将待处理图像恢复到正常的状态,从而提高定位的精确度。
79.图2为本技术实施例提供的一种在沙盘中进行定位的方法的流程示意图,如图2所示,该方法至少包括以下步骤:
80.步骤s210,获取待处理图像,所述待处理图像包括目标物及通过投影形成沙盘的图像。
81.步骤s220,至少对所述待处理图像进行高斯模糊处理、二值化处理,得到二值图像。
82.这里,高斯模糊处理是指图像与正态分布做卷积,用来减少图像噪声以及降低细节层次。模糊可以理解为每一像素都取周边像素的平均值,即“中间点”取“周围点”的平均值;在图像中,“中间点”失去细节,从而产生模糊效果;其中,模糊半径越大,图像就越模糊。
83.二值化处理是指将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的黑白效果的过程。即将256个亮度等级的灰度图像通过适当的阈值选取而获得仍然可以反映图像整体和局部特征的二值化图像。图像的二值化使图像中数据量大为减少,从而能凸显出目标的轮廓,更有利于进行后续的边缘提取。
84.步骤s230,基于所述二值图像,对所述待处理图像进行边缘提取,得到至少一个多边形。
85.步骤s240,提取面积最大或边长最长的多边形作为沙盘边界框。
86.这里,分别计算每一个多边形的面积,提取面积最大的多边形,将其作为沙盘的边界。
87.在一些可能的实施例中,也可以提取边长最长的多边形作为沙盘边界框,从而简化计算过程,缩短确定位置信息的时间。
88.步骤s250,对所述沙盘边界框内的图像进行校正处理,得到包括校正后沙盘的目标图像。
89.步骤s260,在所述目标图像的沙盘中,确定所述目标物的位置信息。
90.本技术实施例中,通过对待处理图像进行高斯模糊、二值化处理,可以减小待处理图像的噪声和降低细节层次,更有利于进行边缘提取,从而提高检测精度。
91.在一些可能的实施例中,步骤s250可以通过步骤s251至步骤s254来实现。
92.步骤s251,获取所述沙盘边界框的顶点坐标。
93.这里,如前所述边界框是多边形,基于多边形的边界框可以提取出边界框的多个顶点坐标,例如三角形的边界框可以提取出三个顶点坐标,四边形(矩形)的边界框可以提取出4个顶点坐标。可以在目标图像中建立坐标系,基于建立的坐标系可以确定沙盘边界框的顶点坐标。在实施的过程中,通常以矩形进行边界框提取,那么沙盘的边界框的顶点坐标包括4个顶点坐标,即,左上角顶点、右上角顶点、左下角顶点和右下角顶点。
94.步骤s252,基于所述边界框的顶点坐标和预设的成像大小,确定目标图像的顶点坐标。
95.这里,预设成像的大小可以为目标图像的大小,预设成像的大小可以根据边界框
的顶点坐标计算得到,例如,边界框的左上角顶点为(x1,y1)、右上角顶点为(x2,y2)、右下角顶点为(x3,y3)和左下角顶点为(x4,y4),目标图像为矩形,则预设的成像大小包括矩形的长w和宽h,可以根据公式(1)计算得到。
[0096][0097]
矩形的长w和宽h以及图像中的坐标(例如顶点的坐标)在实施时可以采用像素点的索引来表示的,由于像素点的索引是从0开始的,当顶点的坐标采用矩形的长w和宽h表示时,可以确定出目标图像的顶点坐标为:左上角顶点的坐标为(0,h-1)、右上角顶点的坐标为(w-1,h-1)、右下角顶点的坐标为(w-1,0)和左下角顶点的坐标为(0,0)。根据公式(2)计算出变换矩阵。
[0098][0099]
其中,[x,y,1]为边界框的顶点坐标,[μ,ν,1]为目标图像顶点坐标。
[0100]
在一些实施例中,预设成像的大小可以根据投影形成的沙盘的实际尺寸设置得到,例如,投影形成的沙盘实际尺寸为长3m,宽6m,可以设置预设成像的长为6cm,宽为5cm。可以确定出目标图像的顶点坐标为:左上角顶点为(0,5)、右上角顶点为(6,5)、右下角顶点为(6,0)和左下角顶点为(0,0)。根据公式(2)计算出变换矩阵。
[0101]
步骤s253,基于所述边界框的顶点坐标和所述目标图像的顶点坐标,确定变换矩阵。
[0102]
这里,根据公式(2)计算出变换矩阵a,参见公式(3)。
[0103][0104]
例如采用opencv来实现时,opencv已经提供了getperspectivetransform函数来获取四对点间的转换矩阵,输出矩阵为3*3,同时也提供了warpperspective函数实现通过变换矩阵来对图像进行透视变换的操作,同时还提供了perspectivetransform来提供对点的转换。
[0105]
步骤s254,基于所述变换矩阵,对所述沙盘边界框内的图像进行校正处理,得到所述目标图像。
[0106]
这里,可以根据上述公式(2),将所述沙盘边界框内的图像的像素坐标转换为目标图像的像素坐标。例如可采用opencv已有的函数来实现。
[0107]
本技术实施例中,通过确定变换矩阵,对沙盘边界框内的图像都执行变换矩阵的变换,实现沙盘边界框中的图像进行校正处理,得到包括校正后沙盘的目标图像,使目标图像的沙盘更加接近投影得到的沙盘图像,从而使目标物的定位更加精确。
[0108]
图3a为本技术实施例提供的一种在沙盘中进行定位的方法的流程示意图,如图3a所示,该方法至少包括以下步骤:
[0109]
步骤s310,获取待处理图像,所述待处理图像包括目标物及通过投影形成沙盘的图像。
[0110]
步骤s320,对所述待处理图像进行边缘检测和校正处理,得到包括校正后沙盘的目标图像。
[0111]
步骤s330,基于深度神经网络模型对所述目标图像进行目标识别,得到包围所述目标物的检测框。
[0112]
这里,可以将目标图像输入至训练好的深度神经网络模型,输出目标图像的沙盘中的目标物的检测框,其中,检测框是指在目标检测过程中得到的目标物的位置。深度网络模型可以包括一个多层级联的回归网络。可以理解的是,回归网络包含多层回归结构,上一层回归结构的输出为下一层回归结构的输入。例如,多层级联的回归网络包含第一层回归结构、第二层回归结构和第三层回归结构,第一层回归结构的输出为第二层回归结构的输入,第二层回归结构的输出为第三层回归结构的输入,第一层回归结构、第二层回归结构和第三层回归结构各分别对特征图进行了一次分类和回归。在实际应用中,回归网络中回归结构的层数可以根据实际业务需求来确定,此处并不限定。
[0113]
在实施时,目标图像从输入端输入至深度神经网络模型,经过深度神经网络模型的池化层进行降维处理后,获得多个不同尺度的特征图,多层级联的回归网络对输入的每一特征图进行多次分类和回归,回归就是指对目标物体检测框大小和位置的预测。输出端输出目标图像中的目标物的检测框,完成对目标物的检测,提高了检测精度。
[0114]
步骤s340,获取所述检测框的顶点的坐标。
[0115]
这里,检测框可以是三角形、四边形、五边形等等多边形。当检测框为三角形时,获取三角形三个顶点的坐标;当检测框为四边形时,获取四边形四个顶点的坐标。
[0116]
步骤s350,基于所述检测框的顶点的坐标,确定所述目标图像的沙盘中所述目标物的位置。
[0117]
这里,可以根据多边形角中任意一个角的顶点坐标作为目标物的位置。为了更加精确地定位,可以基于多边形多个的顶点的坐标,确定出目标物中心部位的坐标,从而确定出目标物的位置。
[0118]
在本技术实施例中,基于深度神经网络模型对所述目标图像进行目标识别,获取包围目标物的检测框,根据检测框的四个角的顶点坐标,确定目标图像的沙盘中目标物的位置,能够精确定位目标物在沙盘中的位置。
[0119]
在一些可能的实施例中,所述目标物为移动机器人,所述方法还包括步骤s360和步骤s370。
[0120]
步骤s360,在所述目标图像的沙盘中,确定所述移动机器人的航向角;
[0121]
这里,航向角是指地面坐标系下,移动机器人的质心速度与横轴的夹角。根据航向角可以知道移动机器人的移动方向。
[0122]
步骤s370,至少基于所述航向角和所述位置信息,确定所述移动机器人的移动指令。
[0123]
这里,移动指令可以起导航作用,移动机器人需要移动指令指示应该怎样移动,例如,如图3b所示,移动机器人需要从a地直线移动经过c地然后右转直行前往b地,若确定出移动机器人目前的位置信息是在a地,其航向角为90
°
,那么移动指令可以是“直行”;若确定
出移动机器人的位置是在c地,其航向角是90
°
,那么移动指令可以是“右转之后直行”。
[0124]
在一些可能的实施例中,还可以获取移动机器人的速度、加速度信息等,结合位置信息确定出移动机器人的移动指令。例如,如图3b所示,移动机器人目前处于a地,在距a地50厘米(cm)的d地有一障碍物,此时的移动指令就可以是“减速慢行,注意前方50cm躲避障碍物”。
[0125]
本技术实施例中,在目标图像的沙盘中确定移动机器人的航向角,并且根据航向角和位置信息,能够准确确定移动机器人在沙盘中的移动指令,更好地控制其运动。
[0126]
在一些可能的实施例中,所述检测框的顶点包括左上角顶点、右上角顶点、左下角顶点和右下角顶点,步骤s360包括步骤s361、步骤s362和步骤s363。
[0127]
步骤s361,基于所述左上角顶点的坐标和所述右上角顶点的坐标,确定位于所述左上角顶点和所述右上角顶点之间连线的第一中心点。
[0128]
步骤s362,基于所述左下角顶点的坐标和所述右下角顶点的坐标,确定位于所述左下角顶点和所述右下角顶点之间连线的第二中心点。
[0129]
这里,左上角顶点和右上角顶点可以指检测框中对应移动机器人前端的两个顶点,例如,移动机器人是小车,则左上角顶点和右上角顶点是指检测框中车头对应的顶点,这两个坐标对应项和的一半即为第一中心的坐标;对应地,左下角顶点和右下角顶点是指检测框中车尾对应的顶点,这两个坐标对应项和的一半即为第二中心的坐标。
[0130]
步骤s363,基于所述第一中心点的坐标和所述第二中心点的坐标,确定所述移动机器人的航向角。
[0131]
这里,若左上角的顶点和右上角的顶点是指检测框中车头对应的顶点,左下角的顶点和右下角的顶点是指检测框中车尾对应的顶点,则第一中心点的坐标减去第二中心点的坐标形成向量与坐标轴的夹角即为移动机器人的航向角。
[0132]
在本技术实施例中,根据检测框的四个顶点坐标求出第一中心点的坐标和第二中心点的坐标,从而确定出移动机器人的航向角,从而可以更加准确地确定移动机器人的移动指令。
[0133]
应注意,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0134]
下面结合一个具体实施例对上述一种在沙盘中进行定位的方法进行说明,其中,然而值得注意的是,该具体实施例仅是为了更好地说明本技术,并不构成对本技术的不当限定。本技术实施例以目标物为小车为例,该方法包括:
[0135]
步骤s410,场地搭建有投影仪及wifi摄像头模块,通过调整投影仪高度、投影仪投影大小、投影仪梯形校正等步骤,控制投影仪在场地上投影出合适大小的沙盘。
[0136]
这里,投影仪即为投影模组,wifi摄像头模块即为图像采集模组。在实施时,用户可以手动或通过控制设备自动调整wifi摄像头模块的高度及角度,使wifi摄像头模块的拍摄区域能覆盖投影沙盘即可。
[0137]
步骤s420,小车接收从wifi摄像头模块传来的图像。
[0138]
这里,即为获取待处理图像,所述待处理图像包括目标物及通过投影形成沙盘的图像,待处理图像可以参考图4a,可以看出待处理图像不是矩形。
[0139]
步骤s430,对图像进行高斯模糊、图像二值化、边缘检测。
array,fpga)等。
[0155]
图6为本技术实施例提供的一种在沙盘中进行定位的装置的组成结构示意图,如图6所示,装置600包括:
[0156]
获取模块610,用于获取待处理图像,所述待处理图像包括目标物及通过投影形成沙盘的图像;
[0157]
处理模块620,用于对所述待处理图像进行边缘检测和校正处理,得到包括校正后沙盘的目标图像;
[0158]
第一确定模块630,用于在所述目标图像的沙盘中,确定所述目标物的位置信息。
[0159]
在一些可能的实施例中,所述处理模块包括:边缘提取子模块,用于对所述待处理图像进行边缘提取,得到沙盘边界框;校正处理子模块,用于对所述沙盘边界框内的图像进行校正处理,得到包括校正后沙盘的目标图像。
[0160]
在一些可能的实施例中,所述边缘提取子模块包括:第一处理单元,用于至少对所述待处理图像进行高斯模糊处理、二值化处理,得到二值图像;第一提取单元,用于基于所述二值图像,对所述待处理图像进行边缘提取,得到至少一个多边形;第二提取单元,用于提取面积最大或边长最长的多边形作为沙盘边界框。
[0161]
在一些可能的实施例中,所述校正处理子模块包括:获取单元,用于获取所述沙盘边界框的顶点坐标;第一确定单元,用于基于所述边界框的顶点坐标和预设的成像大小,确定目标图像的顶点坐标;第二确定单元,用于基于所述边界框的顶点坐标和所述目标图像的顶点坐标,确定变换矩阵;第二处理单元,用于基于所述变换矩阵,对所述沙盘边界框内的图像进行校正处理,得到包括校正后沙盘的目标图像。
[0162]
在一些可能的实施例中,所述第一确定模块包括:第一获取子模块,用于基于深度神经网络模型对所述目标图像进行目标识别,获取包围所述目标物的检测框;第二获取子模块,用于获取所述检测框的顶点的坐标;第一确定子模块,用于基于所述检测框的顶点的坐标,确定所述目标图像的沙盘中所述目标物的位置。
[0163]
在一些可能的实施例中,所述目标物为移动机器人,所述装置还包括:第二确定模块,用于在所述目标图像的沙盘中,确定所述移动机器人的航向角;第三确定模块,用于至少基于所述航向角和所述位置信息,确定所述移动机器人的移动指令。
[0164]
在一些可能的实施例中,所述检测框的顶点包括左上角顶点、右上角顶点、左下角顶点和右下角顶点;所述第二确定模块包括:第二确定子模块,用于基于左上角顶点和右上角顶点的坐标,确定位于左上角顶点和右上角顶点连线中心的第一中心坐标;第三确定子模块,用于基于左下角顶点和右下角顶点的坐标,确定位于左下角顶点和右下角顶点连线中心的第二中心坐标;第四确定子模块,用于基于所述第一中心坐标和所述第二中心坐标,确定所述移动机器人的航向角。
[0165]
这里需要指出的是:以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本技术装置实施例中未披露的技术细节,请参照本技术方法实施例的描述而理解。
[0166]
需要说明的是,本技术实施例中,如果以软件功能模块的形式实现上述在沙盘中进行定位的方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对相关技术做出贡献的
部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备(可以是具有摄像头的智能手机、平板电脑等)执行本技术各个实施例所述方法的全部或部分。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read only memory,rom)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本技术实施例不限制于任何特定的硬件和软件结合。
[0167]
对应地,本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任一实施例中所述一种在沙盘中进行定位的方法中的步骤。
[0168]
对应地,本技术实施例中,还提供了一种芯片,所述芯片包括可编程逻辑电路和/或程序指令,当所述芯片运行时,用于实现上述任一实施例中所述在沙盘中进行定位的方法中的步骤。
[0169]
对应地,本技术实施例中,还提供了一种计算机程序产品,当该计算机程序产品被电子设备的处理器执行时,其用于实现上述任一实施例中所述在沙盘中进行定位的方法中的步骤。
[0170]
基于同一技术构思,本技术实施例提供一种电子设备,用于实施上述方法实施例记载的在沙盘中进行定位的方法。图7为本技术实施例提供的电子设备的硬件实体示意图,如图7所示,所述电子设备700包括存储器710和处理器720,所述存储器710存储有可在处理器720上运行的计算机程序,所述处理器720执行所述程序时实现本技术实施例任一所述在沙盘中进行定位的方法中的步骤。
[0171]
存储器710配置为存储由处理器720可执行的指令和应用,还可以缓存待处理器720以及电子设备中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(flash)或随机访问存储器(random access memory,ram)实现。
[0172]
处理器720执行程序时实现上述任一项的在沙盘中进行定位的方法步骤。处理器720通常控制电子设备700的总体操作。
[0173]
上述处理器可以为特定用途集成电路(application specific integrated circuit,asic)、数字信号处理器(digital signal processor,dsp)、数字信号处理装置(digital signal processing device,dspd)、可编程逻辑装置(programmable logic device,pld)、现场可编程门阵列(field programmable gate array,fpga)、中央处理器(central processing unit,cpu)、控制器、微控制器、微处理器中的至少一种。可以理解地,实现上述处理器功能的电子器件还可以为其它,本技术实施例不作具体限定。
[0174]
上述计算机存储介质/存储器可以是只读存储器(read only memory,rom)、可编程只读存储器(programmable read-only memory,prom)、可擦除可编程只读存储器(erasable programmable read-only memory,eprom)、电可擦除可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、磁性随机存取存储器(ferromagnetic random access memory,fram)、快闪存储器(flash memory)、磁表面存储器、光盘、或只读光盘(compact disc read-only memory,cd-rom)等存储器;也可以是包括上述存储器之一或任意组合的各种电子设备,如移动电话、计算机、平板设备、个人数字助理等。
[0175]
这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本技术存储介质和设备实施例中未披露的技术细节,请参照本技术方法实施例的描述而理解。
[0176]
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本技术的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本技术的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
[0177]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0178]
在本技术所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
[0179]
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本技术实施例方案的目的。
[0180]
另外,在本技术各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0181]
或者,本技术上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得设备自动测试线执行本技术各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、磁碟或者光盘等各种可以存储程序代码的介质。
[0182]
本技术所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
[0183]
本技术所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
[0184]
以上所述,仅为本技术的实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在
本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献