CN117073662A - 地图构建方法、装置、机器人以及存储介质 - Google Patents
地图构建方法、装置、机器人以及存储介质 Download PDFInfo
- Publication number
- CN117073662A CN117073662A CN202311031967.1A CN202311031967A CN117073662A CN 117073662 A CN117073662 A CN 117073662A CN 202311031967 A CN202311031967 A CN 202311031967A CN 117073662 A CN117073662 A CN 117073662A
- Authority
- CN
- China
- Prior art keywords
- map
- target
- semantic
- image
- semantic object
- 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
- 238000010276 construction Methods 0.000 title claims abstract description 64
- 238000000034 method Methods 0.000 claims abstract description 38
- 238000000605 extraction Methods 0.000 claims abstract description 35
- 238000012545 processing Methods 0.000 claims abstract description 34
- 239000013598 vector Substances 0.000 claims description 45
- 238000004891 communication Methods 0.000 claims description 25
- 238000005457 optimization Methods 0.000 claims description 20
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 7
- 238000013507 mapping Methods 0.000 description 6
- 230000000007 visual effect Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 230000005021 gait Effects 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 239000011664 nicotinic acid Substances 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 241000282693 Cercopithecidae Species 0.000 description 1
- 241001442234 Cosa Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000009193 crawling Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000005034 decoration Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002572 peristaltic effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009182 swimming Effects 0.000 description 1
Classifications
-
- 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/40—Extraction of image or video features
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
- G01C21/16—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
- G01C21/165—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Manipulator (AREA)
Abstract
本申请公开了一种地图构建方法、装置、机器人以及存储介质,涉及图像处理技术领域。该方法包括:获取目标环境对应的初始图像;对初始图像进行语义提取,得到初始图像中的至少一个图像语义物体;获取至少一个图像语义物体对应的目标深度数据;对目标深度数据进行数据拟合,基于数据拟合结果和至少一个图像语义物体建立目标环境对应的初始地图;基于目标深度数据,对初始地图中的至少两个地图语义物体进行语义约束处理,得到目标语义约束关系;基于目标语义约束关系对初始地图进行优化处理,得到目标环境对应的目标地图。本申请基于物体的语义信息进行地图构建的约束,提高了构建的地图的准确性。
Description
技术领域
本申请涉及图像处理技术领域,更具体地,涉及一种地图构建方法、装置、机器人以及存储介质。
背景技术
随着科学技术的发展和人工智能研究的不断深入,服务机器人逐渐成为人类生活中不可或缺的角色,如,机器人广泛应用在餐饮、货物运输、医疗等领域中。在实际的一些应用场景中,机器人基于其自主定位导航功能,能够到达地图上指定的位置提供服务,由此,机器人的服务离不开导航地图。因此,相关技术中,机器人的应用存在获取精准地图的挑战。
发明内容
鉴于上述问题,本申请提出了一种地图构建方法、装置、机器人以及存储介质,可以基于物体的语义信息进行地图构建的约束,提高了构建的地图的准确性。
第一方面,本申请实施例提供了一种地图构建方法,所述方法包括:获取目标环境对应的初始图像;对所述初始图像进行语义提取,得到所述初始图像中的至少一个图像语义物体;获取所述至少一个图像语义物体对应的目标深度数据;对所述目标深度数据进行数据拟合,基于数据拟合结果和所述至少一个图像语义物体建立所述目标环境对应的初始地图,所述初始地图包括至少两个地图语义物体;基于所述目标深度数据,对所述初始地图中的所述至少两个地图语义物体进行语义约束处理,得到目标语义约束关系;基于所述目标语义约束关系对所述初始地图进行优化处理,得到所述目标环境对应的目标地图。
第二方面,本申请实施例提供了一种地图构建装置,所述装置包括:初始图像获取模块、语义物体提取模块、目标深度数据获取模块、数据拟合模块、语义约束模块以及地图优化模块。其中,初始图像获取模块用于获取目标环境对应的初始图像;语义物体提取模块用于对所述初始图像进行语义提取,得到所述初始图像中的至少一个图像语义物体;目标深度数据获取模块用于获取所述至少一个图像语义物体对应的目标深度数据;数据拟合模块用于对所述目标深度数据进行数据拟合,基于数据拟合结果和所述至少一个图像语义物体建立所述目标环境对应的初始地图,所述初始地图包括至少两个地图语义物体;语义约束模块用于基于所述目标深度数据,对所述初始地图中的所述至少两个地图语义物体进行语义约束处理,得到目标语义约束关系;地图优化模块用于基于所述目标语义约束关系对所述初始地图进行优化处理,得到所述目标环境对应的目标地图。
第三方面,本申请实施例提供了一种机器人,包括机身以及与所述机身通信的控制系统。其中,所述控制系统包括处理器和与所述处理器通信的存储器,所述存储器存储指令,所述指令在所述处理器上被运行时使所述处理器执行上述方法对应的操作。
第四方面,本申请实施例提供了一种计算机可读取存储介质,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行上述方法。
本申请实施例提供的地图构建方法、装置、机器人以及存储介质,通过获取目标环境对应的初始图像;对初始图像进行语义提取,得到初始图像中的至少一个图像语义物体;获取至少一个图像语义物体对应的目标深度数据;对目标深度数据进行数据拟合,基于数据拟合结果和至少一个图像语义物体建立目标环境对应的初始地图,初始地图包括至少两个地图语义物体;基于目标深度数据,对初始地图中的至少两个地图语义物体进行语义约束处理,得到目标语义约束关系;基于目标语义约束关系对初始地图进行优化处理,得到目标环境对应的目标地图,进而基于比图像底层特征点更鲁棒的语义级约束关系对构建的地图进行更高层次的优化,降低了对构建的地图中的深度估计的偏差,使得构建出的地图的尺寸和结构更精确,提高了构建的地图的准确性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出了本申请一实施例提供的机器人的硬件结构示意图;
图2示出了本申请实施例提供的机器人的机械结构示意图;
图3示出了本申请一实施例提供的地图构建方法的流程示意图;
图4示出了本申请一实施例提供的构建目标语义约束关系的原理图;
图5示出了本申请一实施例提供的地图构建方法的流程示意图;
图6示出了本申请一实施例提供的地图构建方法的流程示意图;
图7示出了本申请一实施例提供的地图构建方法的流程示意图;
图8示出了本申请一实施例提供的地图构建方法的流程示意图;
图9示出了本申请一实施例提供的地图构建方法的流程示意图;
图10示出了本申请一实施例提供的目标环境的示意图;
图11示出了本申请一实施例提供的目标地图的示意图;
图12示出了本申请一实施例提供的地图构建装置的模块框图;
图13示出了本申请实施例用于执行根据本申请实施例的地图构建方法的机器人的框图;
图14示出了本申请实施例的用于保存或者携带实现根据本申请实施例的地图构建方法的程序代码的存储单元。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
随着人工智能的发展,机器人的应用越来越广泛。相关技术中,室内空间是机器人活动的重要场所;目前,大多数室内环境的场所较小,内部摆设没有特别的规律,且经常有光滑地面、门面、墙壁等,且室内的光照也随着时间、天气变化。基于此,机器人活动于室内空间经常会面临近距离面对障碍物如墙壁、门框等场景,这些场景使得机器人对于一般的视觉深度估计偏差较大。
因此,构建一个可持续使用、尺寸精确、有语义信息的地图对于机器人的定位、规划、决策以及人机交互具有非常重要的作用。在这种语义地图下,机器人可以快速进行初始化定位和地图定位,也可以直接接收用户的语义地点进行导航规划。因此,相关技术中,机器人的应用存在获取精准地图的挑战。
针对上述问题,发明人经过长期的研究发现,并提出了本申请实施例提供的地图构建方法、装置、机器人以及存储介质,基于物体的语义信息进行地图构建的约束,提高了构建的地图的准确性。其中,具体的地图构建方法在后续的实施例中进行详细的说明。
请参阅图1,图1为本申请其中一个实施例提供的机器人的硬件结构示意图。机器人100可以是多种形态机器人中的任何一种,具体包括但不限于轮式机器人、足式机器人、履带式机器人、爬行机器人、蠕动式机器人或者游动式机器人等中的至少一种。例如,机器人100具体可以是足式机器人,可以是轮式机器人,也可以是足式与轮式相结合的机器人。其中,足式机器人包括单足、双足或者多足机器人。多足机器人是指具有三个足或者三个以上的足式机器人,例如多足机器人具体可以是四足机器人。
机器人是指一种能够半自主或全自主执行工作的机器,机器人并不限定于人形的机器装置,还可以包括例如狗、马、猿或猴等仿生构型的机器人,例如机器人具体可以是一种四足的机器马,机器人也可以不是仿生的构型。在图1所示的实施方式中,机器人100包括机械单元101、通讯单元102、传感单元103、接口单元104、存储器105、显示单元106、输入单元107、处理器110或电源111等中的至少一个。机器人100的各种部件可以以任何方式连接,包括有线或无线连接等。本领域技术人员可以理解,图1中示出的机器人100的具体结构并不构成对机器人100的限定,机器人100可以包括比图示更多或更少的部件,某些部件也并不属于机器人100的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略,或者组合某些部件。
图2是根据本申请一个实施例提供的机器人的机械结构示意图。下面结合图1和图2对机器人100的各个部件进行具体的介绍:
机械单元101为机器人100的硬件。如图1所示,机械单元101可包括驱动板1011、电动机1012、机械结构1013。如图2所示,机械结构1013可包括机身主体1014、可伸展的腿部1015、足部1016。机器人包括的机身可以是机身主体1014,也可以包括机身主体1014、可伸展的腿部1015或者足部1016等。在其他实施方式中,机械结构1013还可包括可伸展的机械臂(图未示)、可转动的头部结构1017、可摇动的尾巴结构1018、载物结构1019、鞍座结构1020或者摄像头结构1021等中的一个或者多个。需要说明的是,机械单元101的各个部件模块可以为一个也可以为多个,可根据具体情况设置,比如腿部1015可为4个,每个腿部1015可配置3个电动机1012,对应的电动机1012为12个。
通讯单元102可用于信号的接收和发送,还可以通过与网络和其他设备通信,比如,接收遥控器或其他机器人100发送的按照特定步态以特定速度值向特定方向移动的指令信息后,传输给处理器110处理。通讯单元102包括如WiFi模块、4G模块、5G模块、蓝牙模块、红外模块等。
传感单元103用于获取机器人100周围环境的信息数据以及监控机器人100内部各部件的参数数据,并发送给处理器110。传感单元103包括多种传感器,如获取周围环境信息的传感器:激光雷达(用于远程物体检测、距离确定和/或速度值确定)、毫米波雷达(用于短程物体检测、距离确定和/或速度值确定)、摄像头、红外摄像头、全球导航卫星系统(GNSS,Global Navigation Satellite System)等。如监控机器人100内部各部件的传感器:惯性测量单元(IMU,Inertial Measurement Unit)(用于测量速度值、加速度值和角速度值的值),足底传感器(用于监测足底着力点位置、足底姿态、触地力大小和方向)、温度传感器(用于检测部件温度)。至于机器人100还可配置的载荷传感器、触摸传感器、电动机角度传感器、扭矩传感器等其他传感器,在此不再赘述。
接口单元104可以用于接收来自外部装置的输入(例如,数据信息、电力等)并且将接收到的输入传输到机器人100内的一个或多个部件,或者可以用于向外部装置输出(例如,数据信息、电力等)。接口单元104可包括电源端口、数据端口(如USB端口)、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口等。
存储器105用于存储软件程序以及各种数据。存储器105可主要包括程序存储区和数据存储区,其中,程序存储区可存储操作系统程序、运动控制程序、应用程序(比如文本编辑器)等;数据存储区可存储机器人100在使用中所生成的数据(比如传感单元103获取的各种传感数据,日志文件数据)等。此外,存储器105可以包括高速随机存取存储器,还可以包括非易失性存储器,例如磁盘存储器、闪存器、或其他易失性固态存储器。
显示单元106用于显示由用户输入的信息或提供给用户的信息。显示单元106可包括显示面板1061,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板1061。
输入单元107可用于接收输入的数字或字符信息。具体地,输入单元107可包括触控面板1071或者其他的输入设备1072。触控面板1071,也称为触摸屏,可收集用户的触摸操作(比如用户使用手掌、手指或适合的附件在触控面板1071上或在触控面板1071附近的操作),并根据预先设定的程式驱动相应的连接装置。触控面板1071可包括触摸检测装置1073和触摸控制器1074两个部分。其中,触摸检测装置1073检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器1074;触摸控制器1074从触摸检测装置1073上接收触摸信息,并将它转换成触点坐标,再送给处理器110,并能接收处理器110发来的命令并加以执行。除了触控面板1071,输入单元107还可以包括其他输入设备1072。具体地,其他输入设备1072可以包括但不限于遥控操作手柄等中的一种或多种,具体此处不做限定。
进一步的,触控面板1071可覆盖显示面板1061,当触控面板1071检测到在其上或附近的触摸操作后,传送给处理器110以确定触摸事件的类型,随后处理器110根据触摸事件的类型在显示面板1061上提供相应的视觉输出。虽然在图1中,触控面板1071与显示面板1061是作为两个独立的部件来分别实现输入和输出功能,但是在某些实施例中,可以将触控面板1071与显示面板1061集成而实现输入和输出功能,具体此处不做限定。
处理器110是机器人100的控制中心,利用各种接口和线路连接整个机器人100的各个部件,通过运行或执行存储在存储器105内的软件程序,以及调用存储在存储器105内的数据,从而对机器人100进行整体控制。
电源111用于给各个部件供电,电源111可包括电池和电源控制板,电源控制板用于控制电池充电、放电、以及功耗管理等功能。在图1所示的实施方式中,电源111电连接处理器110,在其它的实施方式中,电源111还可以分别与传感单元103(比如摄像头、雷达、音箱等)、电动机1012电性连接。需要说明的是,各个部件可以各自连接到不同的电源111,或者由相同的电源111供电。
在上述实施方式的基础上,具体地,在一些实施方式中,可以通过终端设备来与机器人100进行通信连接,在终端设备与机器人100进行通信时,可以通过终端设备来向机器人100发送指令信息,机器人100可通过通讯单元102来接收指令信息,并可在接收到指令信息的情况下,将指令信息传输至处理器110,使得处理器110可根据指令信息来处理得到目标速度值。终端设备包括但不限于:具备图像拍摄功能的手机、平板电脑、服务器、个人计算机、可穿戴智能设备、其它电器设备。
指令信息可以根据预设条件来确定。在一个实施方式中,机器人100可以包括传感单元103,传感单元103可根据机器人100所在的当前环境可生成指令信息。处理器110可根据指令信息来判断机器人100的当前速度值是否满足对应的预设条件。若满足,则会保持机器人100的当前速度值和当前步态移动;若不满足,则会根据对应的预设条件来确定目标速度值和相应的目标步态,从而可控制机器人100以目标速度值和相应的目标步态移动。环境传感器可以包括温度传感器、气压传感器、视觉传感器、声音传感器。指令信息可以包括温度信息、气压信息、图像信息、声音信息。环境传感器与处理器110之间的通信方式可以为有线通信,也可以为无线通信。无线通信的方式包括但不限于:无线网络、移动通信网络(3G、4G、5G等)、蓝牙、红外。
请参阅图3,图3示出了本申请一实施例提供的地图构建方法的流程示意图。该地图构建方法基于物体的语义信息进行地图构建的约束,提高了构建的地图的准确性。在具体的实施例中,该地图构建方法可以应用于如图12所示的地图构建装置200以及配置有地图构建装置200的机器人100(图13)。下面将以机器人为例,说明本实施例的具体流程,当然,可以理解的,本实施例所应用的机器人可以包括轮式机器人、足式机器人、履带式机器人等电子设备,在此不做限定。下面将针对图3所示的流程进行详细的阐述,该地图构建方法具体可以包括以下步骤:
步骤S110:获取目标环境对应的初始图像。
在本实施例中,机器人可以确定目标环境。可选地,该目标环境可以包括厨房、客厅、卧室等室内环境或者室外环境,在此不作限。其中,机器人可以包括双目摄像头、单目摄像头等视觉传感器,在此不作限定。相应地,机器人可以获取视觉传感器采集的目标环境对应的图像作为初始图像。
作为一种可实施的方式,机器人可以接收用户发送的第一地图构建指令,其中,该第一地图构建指令中可以携带有该目标环境。相应地,该机器人可以对该第一地图构建指令进行解析,以确定该目标环境。
作为又一种可实施的方式,目标环境固定不变,基于此,该机器人可以预先获得并存储有该目标环境,那么,在需要通过机器人对目标环境进行地图构建时,该机器人可以接收用户发送的第二地图构建指令,其中,该第二地图构建指令未携带有该目标环境,相应地,该机器人可以对该第二地图构建指令进行解析,以确定需要进行地图构建,再基于预先存储的目标环境进行图像采集,获得该目标环境对应的初始图像。
可选地,在确定目标环境的情况下,该机器人可以移动至该目标环境,并可以基于视觉传感器采集该目标环境对应的初始图像;该机器人也可以通过无线通信技术(如,蓝牙、WiFi、zigbee等技术)从相关联的云端或电子设备获得该目标环境对应的初始图像;该机器人还可以通过串行通信接口(如,串行外设接口等)从相关联的电子设备获得该目标环境对应的初始图像。
在一些实施方式中,机器人在初始状态下处于休眠,在需要机器人进行地图构建时,则可以启动该机器人,即可以唤醒该机器人。
步骤S120:对初始图像进行语义提取,得到初始图像中的至少一个图像语义物体。
在本实施例中,机器人获得目标环境对应的初始图像后,可以对该初始图像进行语义提取,得到该初始图像中的至少一个图像语义物体。其中,机器人中可以预先设置有语义提取模型,如,卷积神经网络CNN、深度神经网络DNN、循环神经网络RNN等模型。相应地,机器人可以将获得的目标环境对应的初始图像输入该语义提取模型基于深度学习的方式,在该初始图像上进行语义物体识别,得到该语义提取模型输出的该初始图像中的至少一个图像语义物体。
其中,该语义提取模型可以用于对初始图像进行框的提取、线段的提取等语义提取。其中,初始图像中包括的至少一个图像语义物体可以包括墙接地线、墙竖直边沿线、门框线、门框、插座等语义物体。
步骤S130:获取至少一个图像语义物体对应的目标深度数据。
在本实施例中,机器人获得初始图像中的至少一个图像语义物体后,可以获取该至少一个图像语义物体对应的目标深度数据。其中,该至少一个图像语义物体对应的目标深度数据可以理解为该至少一个图像语义物体对应的3D的深度信息;其中,机器人可以根据各图像语义物体对应的目标深度数据,提取该图像语义物体在初始图像的像素点对应的深度信息。
作为一种可实施的方式,机器人可以包括双目摄像头,机器人获得该双目摄像头采集的目标环境对应的初始图像后,可以基于该双目摄像头的双目深度获取该初始图像中的至少一个图像语义物体对应的目标深度数据。其中,由于双目深度恢复的特点是根据左边图像的一个图像特征,去右边图像找对应的该图像特征的位置,并利用该两个图像特征的位置,计算出3D的深度信息。相应地,机器人可以基于双目摄像头对应的双目深度获得初始图像中的至少一个图像语义物体对应的目标深度数据。
作为又一种可实施的方式,机器人中可以预先设置有图像深度获取模型,如,CNN、DNN、RNN等模型或算法。相应地,机器人获得目标环境对应的初始图像后,可以将该初始图像输入该图像深度获取模型,获得该模型输出的该初始图像中的至少一个图像语义物体对应的目标深度数据。
步骤S140:对目标深度数据进行数据拟合,基于数据拟合结果和至少一个图像语义物体建立目标环境对应的初始地图,初始地图包括至少两个地图语义物体。
在一些实施方式中,机器人获得初始图像中至少一个图像语义物体对应的目标深度数据后,可以对该目标深度数据进行数据拟合,并基于数据拟合结果和该至少一个图像语义物体建立目标环境对应的初始地图。其中,该初始地图中可以包括至少两个地图语义物体。
其中,机器人可以将提取到的目标深度数据转换成3D数据,并且可以对初始图像中的线段类的图像语义物体,基于该图像语义物体的3D数据进行线段拟合,以初步消除个别错误点的影响。另外,机器人可以对初始图像中的块状类的图像语义物体,基于该图像语义物体的3D数据进行平面内的平均深度计算求取该图像语义物体的3D位置。
可以理解的是,对于目标环境中存在纹理、无纹理的地方,初始图像中的至少一个图像语义物体对应的目标深度数据可能存在空洞以及错误的数据,在本实施例中,可以对目标深度数据进行数据拟合,以初步消除个别错误点的影响,提高地图构建的准确性。
在本实施例中,机器人对目标深度数据进行数据拟合后,可以基于数据拟合结果和该至少一个图像语义物体建立该目标环境对应的初始地图。其中,数据拟合的结果可以包括图像语义物体对应在建立的初始地图的形状以及位置;其中,图像语义物体拟合后对应在初始地图中可以理解为地图语义物体。其中,该初始地图中可以包括至少两个地图语义物体。
步骤S150:基于目标深度数据,对初始地图中的至少两个地图语义物体进行语义约束处理,得到目标语义约束关系。
在一些实施方式中,机器人获得初始地图后,可以基于该目标深度数据,对该初始地图中的至少两个地图语义物体进行语义约束处理,得到目标语义约束关系。
其中,机器人中可以预先设置有语义约束原则,机器人获得初始地图后,可以结合该语义约束原则对该初始地图中的至少两个地图语义物体进行语义约束处理,得到目标语义约束关系。
可选的,语义约束原则可以包括不同语义物体之间的几何关系、距离关系等,如,垂直、平行、重合、共面等关系,在此不作限定。如,共线关系:墙竖线与墙接地线、门框线与接地线、插座投影点与接地线、门框线与接地线等;垂直关系:接地线之间等;平行关系:接地线之间等。示例性的,请参阅表1,其示出了本申请一实施例提供的语义约束原则对应的语义约束表格。
表1
其中,机器人可以提取初始地图中的地图语义物体,并可以根据预设约束原则明确该初始地图中的至少两个地图语义物体之间的语义约束关系,并可以对该初始地图中的至少两个地图语义物体进行约束关系构建,得到目标语义约束关系。
在一些实施方式中,初始地图中包括的各地图语义物体(如,墙接地线、门框线、插座等)可以被机器人在不同的位置观测到多次,由此,一个地图语义物体可以对应多个观测数据。其中,机器人可以基于预设约束原则构建观测数据的语义约束关系,并可以利用观测数据之间构建的语义约束关系构建初始地图中包括的至少两个地图语义物体之间的目标语义约束关系。
示例性的,请参阅图4,其示出了本申请一实施例提供的构建目标语义约束关系的原理图。其中,初始地图中可以包括地图语义物体A以及地图语义物体B;其中,地图语义物体A对应观测数据A,地图语义物体B对应观测数据B。基于此,机器人可以基于预设约束原则构建观测数据A与观测数据B之间的约束关系;相应地,机器人还可以基于观测数据A与观测数据B之间的约束关系,构建地图语义物体A与地图语义物体B之间的目标语义约束关系。
步骤S160:基于目标语义约束关系对初始地图进行优化处理,得到目标环境对应的目标地图。
在一些实施方式中,机器人获得初始地图中的至少两个地图语义物体对应的目标语义约束关系后,可以基于该目标语义约束关系对该初始地图进行优化处理,得到目标环境对应的目标地图。其中,目标约束关系可以包括垂直关系、平行关系、投影点落在接地线上、共面关系等关系。
作为一种可实施的方式,机器人可以基于垂直关系的目标语义约束关系,对初始地图进行优化处理,得到目标环境对应的目标地图。其中,机器人可以将初始地图中目标语义约束关系为垂直关系的至少两个地图语义物体的位置进行调整(如,平移、旋转等操作),直至目标语义约束关系为垂直关系的至少两个地图语义物体在地图中的方向向量之间的夹角为90°时,将该地图确定为目标环境对应的目标地图。
作为又一种可实施的方式,机器人可以基于平行关系的目标语义约束关系,对初始地图进行优化处理,得到目标环境对应的目标地图。其中,机器人可以将初始地图中目标语义约束关系为平行关系的至少两个地图语义物体的位置进行调整(如,平移、旋转等操作),直至目标语义约束关系为平行关系的一个地图语义物体在地图中的方向向量与另一个地图语义物体在该地图中的法向量的夹角为90°时,将该地图确定为目标环境对应的目标地图。
作为再一种可实施的方式,机器人可以基于投影点落在接地线上的目标语义约束关系,对初始地图进行优化处理,得到目标环境对应的目标地图。其中,机器人可以将初始地图中目标语义约束关系为投影点落在接地线上的地图语义物体的位置进行调整(如,平移、旋转等操作),直至目标语义约束关系为投影点落在接地线上的地图语义物体在初始地图中投影点落在接地线的位置与该地图语义物体在调整位置后的地图中投影点落在接地线的位置之间的距离小于或等于预设距离(如,0、1毫米等)时,将该地图语义物体调整位置后的地图确定为目标环境对应的目标地图。
可以理解的是,在本实施例中,机器人构建目标环境对应的地图的过程中,利用客观世界中语义物体之间的几何关系,构建出比底层特征点更鲁棒的语义级约束关系,对地图进行更高层次的优化,减小了对地图中元素的深度估计的误差,以构建出尺寸更精确以及结构更准确的地图。
本申请一实施例提供的地图构建方法,通过获取目标环境对应的初始图像;对初始图像进行语义提取,得到初始图像中的至少一个图像语义物体;获取至少一个图像语义物体对应的目标深度数据;对目标深度数据进行数据拟合,基于数据拟合结果和至少一个图像语义物体建立目标环境对应的初始地图,初始地图包括至少两个地图语义物体;基于目标深度数据,对初始地图中的至少两个地图语义物体进行语义约束处理,得到目标语义约束关系;基于目标语义约束关系对初始地图进行优化处理,得到目标环境对应的目标地图,进而基于比图像底层特征点更鲁棒的语义级约束关系对构建的地图进行更高层次的优化,降低了对构建的地图中的深度估计的偏差,使得构建出的地图的尺寸和结构更精确,提高了构建的地图的准确性。
请参阅图5,图5示出了本申请一实施例提供的地图构建方法的流程示意图。该方法应用于上述机器人,下面将针对图5所示的流程进行详细的阐述,该地图构建方法具体可以包括以下步骤:
步骤S210:获取目标环境对应的初始图像。
步骤S220:对初始图像进行语义提取,得到初始图像中的至少一个图像语义物体。
步骤S230:获取至少一个图像语义物体对应的目标深度数据。
其中,关于步骤S210-步骤S230的具体描述请参阅前文对步骤S110-步骤S130的具体描述,在此不再一一赘述。
步骤S240:当至少一个图像语义物体中包括线段类语义物体时,对线段类语义物体对应的目标深度数据进行线段拟合,得到第一拟合数据。
在一些实施方式中,机器人获得初始图像中的至少一个图像语义物体对应的目标深度数据可以理解为,获得初始图像中的至少一个图像语义物体对应的3D数据。其中,机器人获得初始图像包括的图像语义物体后可以对各图像语义物体进行语义物体种类的确认。其中,语义物体的种类可以包括线段类语义物体、块状类语义物体等。
示例性的,图像语义物体为墙接地线,机器人可以确定该图像语义物体的种类为线段类语义物体;图像语义物体为门框线,机器人可以确定该图像语义物体的种类为线段类语义物体;图像语义物体为插座,机器人可以确定该图像语义物体的种类为块状类语义物体。
作为一种可实施的方式,当机器人确定初始图像中包括的至少一个图像语义物体中包括线段类语义物体时,可以对该线段类语义物体对应的目标深度数据进行线段拟合,得到第一拟合数据。可以理解的是,机器人对于线段类语义物体利用3D语义物体进行线段拟合,可以初步消除目标深度数据中个别错误点的影响,提高了地图构建的精度。
步骤S250:当至少一个图像语义物体中包括块状类语义物体时,对块状类语义物体对应的目标深度数据进行平面拟合,得到第二拟合数据。
作为一种可实施的方式,当机器人确定初始图像中包括的至少一个图像语义物体中包括块状类语义物体时,可以对该块状类语义物体对应的目标深度数据进行平面拟合,得到第二拟合数据。可选地,机器人可以对块状类语义物体进行平面内的平均深度、深度中值、深度众数、深度最大值、深度最小值等计算,获得该块状类语义物体对应的3D位置。
步骤S260:根据第一拟合数据、第二拟合数据和至少一个图像语义物体,建立目标环境对应的初始地图。
在一些实施方式中,机器人获得第一拟合数据和第二数据后,可以根据该第一拟合数据、该第二拟合数据以及该至少一个图像语义物体,建立目标环境对应的初始地图。其中,建立初始地图的过程中,各图像语义物体对应的拟合数据(如,第一拟合数据或者第二拟合数据)可以理解为初始地图包括的地图语义物体对应的目标深度数据。其中,拟合数据中可以包括语义物体在构建的初始地图中的形状以及语义物体在构建的初始地图中的位置等信息。
步骤S270:基于目标深度数据,对初始地图中的至少两个地图语义物体进行语义约束处理,得到目标语义约束关系。
步骤S280:基于目标语义约束关系对初始地图进行优化处理,得到目标环境对应的目标地图。
其中,关于步骤S270-步骤S280的具体描述请参阅前文对步骤S150-步骤S160的具体描述,在此不再一一赘述。
本申请一实施例提供的地图构建方法,相较于图3所示的地图构建方法,本实施例还可以当至少一个图像语义物体中包括线段类语义物体时,对线段类语义物体对应的目标深度数据进行线段拟合,得到第一拟合数据;当至少一个图像语义物体中包括块状类语义物体时,对块状类语义物体对应的目标深度数据进行平面拟合,得到第二拟合数据;根据第一拟合数据、第二拟合数据和至少一个图像语义物体,建立目标环境对应的初始地图,进而初步消除目标深度数据中的错误数据,再对初始地图进行优化获得目标地图,基于物体的语义信息进行地图构建的约束,提高了构建的地图的准确性。
请参阅图6,图6示出了本申请一实施例提供的地图构建方法的流程示意图。该方法应用于上述机器人,在本实施例中,初始地图中可以包括第一地图语义物体和第二地图语义物体,下面将针对图6所示的流程进行详细的阐述,该地图构建方法具体可以包括以下步骤:
步骤S310:获取目标环境对应的初始图像。
步骤S320:对初始图像进行语义提取,得到初始图像中的至少一个图像语义物体。
步骤S330:获取至少一个图像语义物体对应的目标深度数据。
步骤S340:对目标深度数据进行数据拟合,基于数据拟合结果和至少一个图像语义物体建立目标环境对应的初始地图,初始地图包括至少两个地图语义物体。
步骤S350:基于目标深度数据,对初始地图中的至少两个地图语义物体进行语义约束处理,得到目标语义约束关系。
其中,关于步骤S330-步骤S350的具体描述请参阅前文对步骤S130-步骤S150的具体描述,在此不再一一赘述。
步骤S360:若第一地图语义物体与第二地图语义物体之间的目标语义约束关系为垂直关系,则优化第一地图语义物体和/或第二地图语义物体的位置,使得第一地图语义物体的第一方向向量与第二地图语义物体的第二方向向量之间的第一夹角满足第一预设条件,得到目标环境对应的目标地图。
在本实施例中,初始地图中可以包括第一地图语义物体和第二地图语义物体,其中,第一地图语义物体可以与第二地图语义物体为相同种类的语义物体,也可以为不同种类的语义物体,在此不作限定。
可以理解的是,在两线垂直的情况下,两线之间的夹角为90°,相应地,两线的方向向量之间的夹角为90°。基于此,在本实施例中,若机器人检测到第一地图语义物体与第二地图语义物体之间的目标语义约束关系为垂直关系,则可以优化该第一地图语义物体和/或该第二地图语义物体的位置,使得该第一地图语义物体的第一方向向量与该第二地图语义物体的第二方向向量之间的第一夹角满足第一预设条件,得到目标环境对应的目标地图。
其中,第一预设条件可以预先设置在机器人中,也可以由该机器人通过无线通信技术从相关联的云端或电子设备获得,还可以由该机器人通过串行通信接口从相关联的电子设备获得,在此不作限定。其中,该第一预设条件可以由用户自主设置,也可以通过第三方实验数据获得。示例性的,该第一预设条件为第一夹角与90°的偏差小于或等于第一角度阈值,其中,第一角度阈值可以为0°。
示例性的,若检测到第一地图语义物体与第二地图语义物体之间的目标语义约束关系为垂直关系,若第一地图语义物体在初始地图中的形式为a1x+b1y+c1=0,获得第一地图语义物体的方向向量(-b1,a1)作为第一方向向量;若第二地图语义物体在初始地图中的形式为a2x+b2y+c2=0,获得第二地图语义物体的方向向量/>(-b2,a2)作为第二方向向量。其中,第一预设条件可以为第一夹角为90°。
相应地,机器人可以获得第一方向向量与第二方向向量之间的夹角A作为第一夹角。可以理解的是,两线垂直的情况下cosA=0,对应的残差为e=0-cosA。相应地,机器人可以设置残差为1维的,对应的可以将残差理解为第一夹角的余弦值。其中,机器人可以根据第一方向向量与第二方向向量/>之间的点积等于第一方向向量的范数乘以第二方向向量的范数乘以第一夹角A的关系,获取优化该第一地图语义物体和/或该第二地图语义物体的位置,使得该第一地图语义物体的第一方向向量与该第二地图语义物体的第二方向向量之间的第一夹角满足第一预设条件。也即,机器人可以
根据
获取
步骤S370:若第一地图语义物体与第二地图语义物体的目标语义约束关系为平行关系,则优化第一地图语义物体和/或第二地图语义物体的位置,使得第一地图语义物体的第一方向向量与第二地图语义物体的第一法向量之间的第二夹角满足第二预设条件,得到目标环境对应的目标地图。
可以理解的是,在两线平行的情况下,可以利用垂直关系进行转化,如,可以转换成其中一条线的法向量与另一条线的方向向量之间的夹角为90°。基于此,在本实施例中,若机器人检测到第一地图语义物体与第二地图语义物体的目标语义约束关系为平行关系,则可以优化该第一地图语义物体和/或该第二地图语义物体的位置,使得该第一地图语义物体的第一方向向量与该第二地图语义物体的第一法向量之间的第二夹角满足第二预设条件,得到目标环境对应的目标地图。
其中,第二预设条件可以预先设置在机器人中,也可以由该机器人通过无线通信技术从相关联的云端或电子设备获得,还可以由该机器人通过串行通信接口从相关联的电子设备获得,在此不作限定。其中,该第二预设条件可以由用户自主设置,也可以通过第三方实验数据获得。示例性的,该第二预设条件为第二夹角与90°的偏差小于或等于第二角度阈值,其中,第二角度阈值可以为0°。
示例性的,若检测到第一地图语义物体与第二地图语义物体之间的目标语义约束关系为平行关系,其中,第一地图语义物体为接地线,第二地图语义物体为门框的两条竖线低端点的连线。其中,可以将该平行关系转换成接地线的方向向量与门框低端点连线的法向量垂直。其中,若门框连线在初始地图中的形式为a3x+b3y+c3=0,获得第二地图语义物体的法向量(-b3,a3)作为第一法向量;若接地线在初始地图中的形式为a4x+b4y+c4=0,获得第一地图语义物体的方向向量/>(a4,b4)作为第一方向向量。其中,第二预设条件为第二夹角为90°。
相应地,机器人可以设置残差为1维的,并可以获取优化该第一地图语义物体和/或该第二地图语义物体的位置,使得该第一地图语义物体的第一方向向量与该第二地图语义物体的第一法量之间的第二夹角满足第二预设条件。也即,机器人可以获取
步骤S380:若第一地图语义物体的投影与第二地图语义物体之间的目标语义约束关系为重合关系,则优化第一地图语义物体和/或第二地图语义物体的位置,使得图像投影位置与地图投影位置之间的投影距离满足第三预设条件,得到目标环境对应的目标地图,其中,图像投影位置是第一地图语义物体在初始图像中的投影位置,地图投影位置是第一地图语义物体在目标地图中的投影位置。
在一些实施方式中,若机器人检测到第一地图语义物体的投影与第二地图语义物体之间的目标语义约束关系为重合关系,则可以优化该第一地图语义物体和/或该第二地图语义物体的位置,使得图像投影位置与地图投影位置之间的投影距离满足第三预设条件,得到目标环境对应的目标地图。其中,该图像投影位置可以是该第一地图语义物体在初始图像中的投影位置,该地图投影位置可以是该第一地图语义物体在目标地图中的投影位置。
其中,可以理解的是,第一地图语义物体的投影点落在第二地图语义物体上,则可以表征第一地图语义物体在第二地图语义物体的投影距离为0,机器人可以优化该第一地图语义物体和/或该第二地图语义物体的位置避免第一地图语义物体在第二地图语义物体的投影距离发生改变,也即,最小化原始点在线段的投影点以及最小化优化后的点在线段上的投影点与原始投影点之间的距离。
其中,第三预设条件可以预先设置在机器人中,也可以由该机器人通过无线通信技术从相关联的云端或电子设备获得,还可以由该机器人通过串行通信接口从相关联的电子设备获得,在此不作限定。其中,该第三预设条件可以由用户自主设置,也可以通过第三方实验数据获得。示例性的,该第三预设条件可以为图像投影位置与地图投影位置之间的投影距离小于或等于长度阈值,其中,该长度阈值可以为0;该第三预设条件也可以为第一地图语义物体中的点到第二地图语义物体的投影距离小于或等于距离阈值,其中,该距离阈值可以为0。
示例性的,第一地图语义物体投影落在第二地图语义物体的投影点的2维坐标为(x,y),对应的线段的方程式为ax+by+c=0,第二地图语义物体为接地线。其中,第一地图语义物体的投影点落在接地线上,也即,第一地图语义物体的投影点在接地线的投影距离为0。其中,若原始点P0表征初始地图中第一地图语义物体的目标点,优化后的点P1表征目标地图中第一地图语义物体的该目标点。其中,原始点P0与优化后的点P1在接地线上的投影距离,可以理解为(P0-P1)连线在接地线上的投影;其中,若接地线的单位向量为line_unit,对应的可以获得该投影距离为(o0-n0).dot(line_unit),其中,o0为初始地图中P0在接地线上的投影点,n0为目标地图中P1在接地线上的投影点。
其中,若残差为0,机器人可以获取点到直线的距离:residual[0]=ax+by+c/sqrt(a×a+b×b),并可以根据该距离优化第一地图语义物体和/或第二地图语义物体的位置,使得图像投影位置与地图投影位置之间的投影距离满足第三预设条件,得到目标环境对应的目标地图。其中,若残差为1,机器人可以获取优化之前的P0点与优化后的P1点,在接地线上的投影长度residual[1]=(P0-P1).dot(line_unit),并可以根据该投影长度优化第一地图语义物体和/或第二地图语义物体的位置,使得图像投影位置与地图投影位置之间的投影距离满足第三预设条件,得到目标环境对应的目标地图。
本申请一实施例提供的地图构建方法,相较于图3所示的地图构建方法,本实施例还可以若第一地图语义物体与第二地图语义物体之间的目标语义约束关系为垂直关系,则优化第一地图语义物体和/或第二地图语义物体的位置,使得第一地图语义物体的第一方向向量与第二地图语义物体的第二方向向量之间的第一夹角满足第一预设条件,得到目标环境对应的目标地图;若第一地图语义物体与第二地图语义物体的目标语义约束关系为平行关系,则优化第一地图语义物体和/或第二地图语义物体的位置,使得第一地图语义物体的第一方向向量与第二地图语义物体的第一法向量之间的第二夹角满足第二预设条件,得到目标环境对应的目标地图;若第一地图语义物体的投影与第二地图语义物体之间的目标语义约束关系为重合关系,则优化第一地图语义物体和/或第二地图语义物体的位置,使得图像投影位置与地图投影位置之间的投影距离满足第三预设条件,得到目标环境对应的目标地图,其中,图像投影位置是第一地图语义物体在初始图像中的投影位置,地图投影位置是第一地图语义物体在目标地图中的投影位置,进而基于语义物体间的几何约束关系构建地图,提高了构建的地图的精度。
请参阅图7,图7示出了本申请一实施例提供的地图构建方法的流程示意图。该方法应用于上述机器人,下面将针对图7所示的流程进行详细的阐述,该地图构建方法具体可以包括以下步骤:
步骤S410:获取目标环境对应的初始图像。
步骤S420:对初始图像进行语义提取,得到初始图像中的至少一个图像语义物体。
步骤S430:获取至少一个图像语义物体对应的目标深度数据。
步骤S440:对目标深度数据进行数据拟合,基于数据拟合结果和至少一个图像语义物体建立目标环境对应的初始地图,初始地图包括至少两个地图语义物体。
步骤S450:基于目标深度数据,对初始地图中的至少两个地图语义物体进行语义约束处理,得到目标语义约束关系。
步骤S460:基于目标语义约束关系对初始地图进行优化处理,得到目标环境对应的目标地图。
其中,关于步骤S410-步骤S460的具体描述请参阅前文对步骤S110-步骤S160的具体描述,在此不再一一赘述。
步骤S461:获取目标环境对应的更新图像。
在一些实施方式中,机器人获得目标地图对应的目标地图后,还可以获取目标环境对应的更新图像。其中,机器人可以通过双目摄像头采集目标环境的图像作为更新图像,也可以从相关联的云端或电子设备获得目标环境对应的图像作为更新图像。示例性的,机器人可以在目标环境内移动的过程中,获取该目标环境对应的图像作为更新图像。
步骤S462:对更新图像进行语义提取,得到更新图像中的至少一个更新语义物体。
在一些实施方式中,机器人获得目标环境对应的更新图像后,可以对该更新图像进行语义提取,得到该更新图像中的至少一个更新语义物体。其中,机器人可以基于深度学习的方式对该更新图像进行框、线段等语义提取,得到该更新图像中的至少一个更新语义物体。其中,更新语义物体可以包括墙接地线、门框线、插座等语义物体,在此不作限定。
步骤S463:获取目标地图中的至少两个地图语义物体与更新图像中的至少一个更新语义物体的关联关系,其中,关联关系包括有关联或者无关联,有关联用于表征至少一个更新语义物体中存在与至少两个地图语义物体相同的更新语义物体,无关联用于表征至少一个更新语义物体中不存在与至少两个地图语义物体相同的更新语义物体。
在一些实施方式中,机器人获得更新图像中的至少一个更新语义物体后,可以获取目标地图中的至少两个地图语义物体与该更新图像中的至少一个更新语义物体的关联关系。
其中,该关联关系包括有关联或者无关联。其中,有关联可以用于表征该至少一个更新语义物体中存在与该至少两个地图语义物体相同的更新语义物体;其中,无关联可以用于表征该至少一个更新语义物体中不存在与该至少两个地图语义物体相同的更新语义物体。
在一些实施方式中,机器人获取目标地图中至少两个地图语义物体与更新图像中的至少一个更新语义物体的关联关系的过程可以包括,基于该目标地图中的至少两个地图语义物体获得该目标地图对应的物体跟踪列表,并可以基于该物体跟踪列表,获取该目标地图中的至少两个地图语义物体与该更新图像中的至少一个更新语义物体的关联关系。
其中,机器人也可以基于目标地图对应的目标约束关系获得该物体跟踪列表。其中,该物体跟踪列表中可以包括目标地图中的至少两个地图语义物体。
步骤S464:基于关联关系对目标地图进行优化,得到优化后的目标地图。
在一些实施方式中,机器人获得目标地图中的至少两个地图语义物体与更新图像中的至少一个更新语义物体的关联关系后,可以基于该关联关系对该目标地图进行优化,得到优化后的目标地图。
其中,机器人基于关联关系对目标地图进行优化,得到优化后的目标地图的过程可以包括,获取该至少一个更新语义物体对应的更新深度数据;若该关联关系为有关联,则可以基于该更新深度数据更新该目标地图,得到优化后的目标地图;或者若该关联关系为无关联,则可以将该更新深度数据对应的语义物体作为待补充语义物体,并将该待补充语义物体更新至该目标地图,得到优化后的目标地图。
其中,机器人获得更新图像中的至少一个图像语义物体后,可以获取该至少一个更新语义物体对应的更新深度数据。其中,至少一个更新语义物体对应的更新深度数据可以理解为该至少一个更新语义物体对应的3D的深度信息;其中,机器人可以根据各图像语义物体对应的更新深度数据,提取该更新语义物体在更新图像的像素点对应的深度信息。
其中,机器人基于该更新深度数据更新该目标地图,得到优化后的目标地图可以包括将该更新数据融合到该目标地图,获得优化后的目标地图。其中,机器人可以对该更新深度数据进行数据拟合,并基于数据拟合结果和该目标环境将对应的目标地图构建新的待优化地图。相应地,机器人也可以基于该关联关系对该待优化地图中的语义物体进行语义约束处理,得到优化语义约束关系。相应地,机器人可以基于该待优化语义约束关系和该更新深度数据更新该目标地图,获得优化后的目标地图。可以理解的是,该优化的目标地图可以包括初始图像获得的目标地图,以及将更新图像对应的数据融合到该目标地图的数据。
其中,机器人将该更新深度数据对应的语义物体作为待补充语义物体,并将该待补充语义物体更新至该目标地图,得到优化后的目标地图可以包括,对该更新深度数据进行数据拟合,并可以基于数据拟合结果和该至少一个更新语义物体建立目标环境对应的新的初始地图。其中,该新的初始地图中可以包括至少两个新的地图语义物体。
相应地,机器人可以基于该更新深度数据,对该新的初始地图中的至少两个新的地图语义物体进行语义约束处理,得到新的目标语义约束关系。其中,可以将更新深度数据理解为对目标环境构建地图的新的约束数据。相应地,机器人可以基于该新的目标语义约束关系对该新的初始地图进行优化处理,得到该目标环境对应新的目标地图。其中,机器人可以将该新的目标地图中包括的该更新深度数据对应的语义物体作为待补充语义物体,并可以将该待补充语义物体更新至该目标地图,得到优化后的目标地图。可以理解的是,优化后的目标地图中包括基于初始图像获得的目标环境对应的目标地图以及基于更新图像获得目标环境对应的新的目标地图。
示例性的,请参阅图8,其示出了本申请一实施例提供的地图构建的流程示意图。其中,机器人可以包括双目摄像头。其中,机器人可以获取双目摄像头采集的双目图像作为初始图像。相应地,机器人可以对该初始图像进行语义信息提取,获得该初始图像中的至少一个图像语义物体,如,墙接地线、墙竖直边沿线、门框线、门框、插座等。
其中,机器人也可以获取双目摄像头的双目深度,并基于该双目深度以及获取的至少一个图像语义物体获得该至少一个图像语义物体对应的目标深度数据。可以理解的是,该目标深度数据中可能包括有误差的深度数据。
相应地,机器人可以对该目标深度数据进行数据拟合,并可以基于数据拟合结果和该至少一个图像语义物体建立该目标环境对应的初始地图。其中,初始地图包括3D语义数据。其中,机器人可以对线段类语义物体对应的目标深度数据进行线段拟合,如,对线状的语义物体对应的深度数据进行3D线段拟合;可以对块状类语义物体对应的目标深度数据进行平面拟合获得目标环境对应的初始地图,如,对块状物体求取平均深度。
其中,机器人可以对该初始地图中的至少两个地图语义物体进行语义约束处理,得到目标语义约束关系。如,共线关系:墙竖线与墙接地线、门框线与接地线、插座投影点与接地线、门框线与接地线;垂直关系:接地线之间;平行关系:接地线之间。其中,机器人可以基于该目标语义约束关系对该初始地图进行优化处理,得到目标环境对应的目标地图,也可以基于该目标语义约束关系建立物体跟踪列表。
其中,机器人获得更新图像后,可以检测该更新图像对应的语义物体与该物体跟踪列表的关联关系。其中,若机器人检测到若该关联关系为有关联,则可以基于该更新图像更新该目标地图,得到优化后的目标地图。其中,机器人可以将更新图像对应的3D数据融合到该目标地图中,得到优化后的目标地图,还可以基于优化后的目标地图更新该物体跟踪列表。
其中,若机器人检测到该关联关系为无关联,则可以将该更新图像对应的语义物体作为待补充语义物体,并将该待补充语义物体更新至目标地图,得到优化后的目标地图。其中,机器人可以将该更新图像对应的语义物体作为新检测到的语义物体,并将该新检测到的语义物体的几何数据作为当前提取的目标环境的几何数据,并可以基于该几何数据构建更新图像对应的初始地图,并获取该更新图像对应的新的目标语义约束关系,并基于该新的目标语义约束关系以及该初始地图,获得优化后的目标地图。
其中,机器人也可以检测更新图像对应的语义物体与目标地图对应的地图语义物体之间的距离,并可以根据该距离建立距离约束关系,并可以基于该距离约束关系、更新图像对应的新的目标地图以及初始图像对应的目标地图,获得优化后的目标地图中。其中,优化后的目标地图对应的新的目标语义约束关系以及该距离约束关系可以共同组成优化后的目标地图对应的全局语义几何约束关系。
可以理解的是,机器人每次获取到目标环境对应的新的约束数据时,可以执行目标地图的优化,并可以将优化后的目标地图包括的语义物体纳入物体跟踪列表。其中,由于单帧图像视野有限,将这些语义物体纳入物体跟踪列表后,可以供帧与帧之间进行几何约束关系的目标地图构建,使得构建的目标环境对应的轻量、语义级的目标地图中语义物体的几何约束更完整,以最大限度的消除双目深度的误差,提高地图构建的精度,以及使得目标地图可以长期使用。
本申请一实施例提供的地图构建方法,相较于图3所示的地图构建方法,本实施例还可以在基于目标语义约束关系对初始地图进行优化处理,得到目标环境对应的目标地图之后,获取目标环境对应的更新图像;对更新图像进行语义提取,得到更新图像中的至少一个更新语义物体;获取目标地图中的至少两个地图语义物体与更新图像中的至少一个更新语义物体的关联关系,其中,关联关系包括有关联或者无关联,有关联用于表征至少一个更新语义物体中存在与至少两个地图语义物体相同的更新语义物体,无关联用于表征至少一个更新语义物体中不存在与至少两个地图语义物体相同的更新语义物体;基于关联关系对目标地图进行优化,得到优化后的目标地图,进而在基于物体的语义信息进行地图构建的约束的同时,实时更新目标环境对应的目标地图,提高了构建的地图的精度,也提高了地图的完整性和实用性。
请参阅图9,图9示出了本申请一实施例提供的地图构建方法的流程示意图。该方法应用于上述机器人,在本实施例中,初始图像可以包括机器人在目标环境内移动的过程中,控制机器人获取的目标环境对应的图像,下面将针对图9所示的流程进行详细的阐述,该地图构建方法具体可以包括以下步骤:
步骤S510:获取目标环境对应的初始图像。
步骤S520:对初始图像进行语义提取,得到初始图像中的至少一个图像语义物体。
步骤S530:获取至少一个图像语义物体对应的目标深度数据。
步骤S540:对目标深度数据进行数据拟合,基于数据拟合结果和至少一个图像语义物体建立目标环境对应的初始地图,初始地图包括至少两个地图语义物体。
步骤S550:基于目标深度数据,对初始地图中的至少两个地图语义物体进行语义约束处理,得到目标语义约束关系。
步骤S560:基于目标语义约束关系对初始地图进行优化处理,得到目标环境对应的目标地图。
其中,关于步骤S510-步骤S560的具体描述请参阅前文对步骤S110-步骤S160的具体描述,在此不再一一赘述。
步骤S570:控制机器人展示目标环境对应的目标地图。
在一些实施方式中,初始图像可以包括机器人在目标环境内移动的过程中,获取的目标环境对应的图像。其中,机器人在目标环境内移动的过程中,相关联的电子设备可以控制该机器人获取该目标环境对应的图像作为初始图像。
示例性的,请参阅图10,其示出了本申请一实施例提供的目标环境的示意图。其中,机器人在目标环境内移动的轨迹如图10中的曲线所示。其中,机器人可以在目标环境内移动的过程中,通过机器人包括的处理器控制该机器人获取的目标环境对应的初始图像。
在一些实施方式中,机器人可以接收用户发送的显示指令,并可以响应于该显示指令,在该机器人获得目标环境对应的目标地图后,通过该机器人包括的处理器控制该机器人展示该目标环境对应的目标地图。
可选地,控制机器人展示目标环境对应的目标地图的方式可以包括,机器人包括显示屏,其中,机器人可以基于该显示屏展示该目标环境对应的目标地图;机器人可以与相关联的电子设备连接,并可以将目标环境对应的目标地图发送至相关联的电子设备,相应地,机器人可以控制相关联的电子设备展示该目标环境对应的目标地图,在本实施例中,控制机器人展示目标环境对应的目标地图的方式,在此不作限定。
示例性的,请参阅图11,其示出了本申请一实施例提供的目标地图的示意图。其中,机器人在目标环境内移动的轨迹如图11中的曲线所示。可以理解的是,机器人将目标环境对应的目标地图进行展示,可以使用户可以准确地确定目标环境中物体的位置,以便于用户对机器人进行路径规划、定位等操作,提高了用户的体验感。相应地,机器人也可以基于该目标地图进行定位、规划、决策以及人机交互等操作,提高了机器人的实用性。
本申请一实施例提供的地图构建方法,相较于图3所示的地图构建方法,本实施例还可以控制机器人展示目标环境对应的目标地图,进而在基于物体的语义信息进行地图构建的约束,提高构建的地图的精度的同时,也提高了用户的体验感。
请参阅图12,图12示出了本申请一实施例提供的地图构建装置的模块框图。下面将针对图12所示的流程进行详细的阐述,该地图构建装置200包括:初始图像获取模块210、语义物体提取模块220、目标深度数据获取模块230、数据拟合模块240、语义约束模块250以及地图优化模块260,其中:
初始图像获取模块210,用于获取目标环境对应的初始图像。
语义物体提取模块220,用于对初始图像进行语义提取,得到初始图像中的至少一个图像语义物体。
目标深度数据获取模块230,用于获取至少一个图像语义物体对应的目标深度数据。
数据拟合模块240,用于对目标深度数据进行数据拟合,基于数据拟合结果和至少一个图像语义物体建立目标环境对应的初始地图,初始地图包括至少两个地图语义物体。
语义约束模块250,用于基于目标深度数据,对初始地图中的至少两个地图语义物体进行语义约束处理,得到目标语义约束关系。
地图优化模块260,用于基于目标语义约束关系对初始地图进行优化处理,得到目标环境对应的目标地图。
进一步地,数据拟合模块240可以包括:第一拟合数据获得单元、第二拟合数据获得单元以及初始地图建立单元,其中:
第一拟合数据获得单元,用于当至少一个图像语义物体中包括线段类语义物体时,对线段类语义物体对应的目标深度数据进行线段拟合,得到第一拟合数据。
第二拟合数据获得单元,用于当至少一个图像语义物体中包括块状类语义物体时,对块状类语义物体对应的目标深度数据进行平面拟合,得到第二拟合数据。
初始地图建立单元,用于根据第一拟合数据、第二拟合数据和至少一个图像语义物体,建立目标环境对应的初始地图。
进一步地,初始地图中可以包括第一地图语义物体和第二地图语义物体,地图优化模块260可以包括:垂直关系位置优化单元、平行关系位置优化单元以及重合关系位置优化单元,其中:
垂直关系位置优化单元,用于若第一地图语义物体与第二地图语义物体之间的目标语义约束关系为垂直关系,则优化第一地图语义物体和/或第二地图语义物体的位置,使得第一地图语义物体的第一方向向量与第二地图语义物体的第二方向向量之间的第一夹角满足第一预设条件,得到目标环境对应的目标地图。
平行关系位置优化单元,用于若第一地图语义物体与第二地图语义物体的目标语义约束关系为平行关系,则优化第一地图语义物体和/或第二地图语义物体的位置,使得第一地图语义物体的第一方向向量与第二地图语义物体的第一法向量之间的第二夹角满足第二预设条件,得到目标环境对应的目标地图。
重合关系位置优化单元,用于若第一地图语义物体的投影与第二地图语义物体之间的目标语义约束关系为重合关系,则优化第一地图语义物体和/或第二地图语义物体的位置,使得图像投影位置与地图投影位置之间的投影距离满足第三预设条件,得到目标环境对应的目标地图,其中,图像投影位置是第一地图语义物体在初始图像中的投影位置,地图投影位置是第一地图语义物体在目标地图中的投影位置。
进一步地,在基于目标语义约束关系对初始地图进行优化处理,得到目标环境对应的目标地图之后,地图构建装置200还可以包括:更新图像获取模块、更新语义物体提取模块、关联关系获取模块以及目标地图优化模块,其中:
更新图像获取模块,用于获取目标环境对应的更新图像。
更新语义物体提取模块,用于对更新图像进行语义提取,得到更新图像中的至少一个更新语义物体。
关联关系获取模块,用于获取目标地图中的至少两个地图语义物体与更新图像中的至少一个更新语义物体的关联关系,其中,关联关系包括有关联或者无关联,有关联用于表征至少一个更新语义物体中存在与至少两个地图语义物体相同的更新语义物体,无关联用于表征至少一个更新语义物体中不存在与至少两个地图语义物体相同的更新语义物体。
目标地图优化模块,用于基于关联关系对目标地图进行优化,得到优化后的目标地图。
进一步地,目标地图优化模块可以包括:更新深度数据获取单元、有关联地图优化单元以及无关地图优化单元,其中:
更新深度数据获取单元,用于获取至少一个更新语义物体对应的更新深度数据。
有关联地图优化单元,用于若关联关系为有关联,则基于更新深度数据更新目标地图,得到优化后的目标地图。
无关地图优化单元,用于若关联关系为无关联,则将更新深度数据对应的语义物体作为待补充语义物体,并将待补充语义物体更新至目标地图,得到优化后的目标地图。
进一步地,关联关系获取模块可以包括:物体跟踪列表获得单元以及关联关系获取子单元,其中:
物体跟踪列表获得单元,用于基于目标地图中的至少两个地图语义物体获得目标地图对应的物体跟踪列表,其中,物体跟踪列表中包括至少两个地图语义物体。
关联关系获取子单元,用于基于物体跟踪列表,获取目标地图中的至少两个地图语义物体与更新图像中的至少一个更新语义物体的关联关系。
进一步地,初始图像包括机器人在目标环境内移动的过程中,控制机器人获取的目标环境对应的图像,在基于目标语义约束关系对初始地图进行优化处理,得到目标环境对应的目标地图之后,地图构建装置200可以包括:地图展示单元,其中:
地图展示单元,用于控制机器人展示目标环境对应的目标地图。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,模块相互之间的耦合可以是电性,机械或其它形式的耦合。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
请参阅图13,其示出了本申请实施例提供的一种机器人100的结构框图。该机器人100可以是足式机器人、轮式机器人等可移动机器人。本申请中的机器人100可以包括:机身1001、与机身1001通信的控制系统1002,控制系统1002可以包括处理器110和与处理器110通信的存储器105,存储器105存储指令,该指令在处理器110上被运行时使处理器110执行操作。其中,该操作可以包括:获取目标环境对应的初始图像;对初始图像进行语义提取,得到初始图像中的至少一个图像语义物体;获取至少一个图像语义物体对应的目标深度数据;对目标深度数据进行数据拟合,基于数据拟合结果和至少一个图像语义物体建立目标环境对应的初始地图,初始地图包括至少两个地图语义物体;基于目标深度数据,对初始地图中的至少两个地图语义物体进行语义约束处理,得到目标语义约束关系;基于目标语义约束关系对初始地图进行优化处理,得到目标环境对应的目标地图。
其中,处理器110可以包括一个或者多个处理核。处理器110利用各种接口和线路连接整个机器人100内的各个部分,通过运行或执行存储在存储器105内的指令、程序、代码集或指令集,以及调用存储在存储器105内的数据,执行机器人100的各种功能和处理数据。可选地,处理器110可以采用数字信号处理(Digital Signal ProceSSing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(ProgrammableLogic Array,PLA)中的至少一种硬件形式来实现。处理器110可集成中央处理器、图形处理器(Graphics ProceSSing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责待显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块通信芯片进行实现。
存储器105可以包括随机存储器(Random AcceSS Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器105可用于存储指令、程序、代码、代码集或指令集。存储器105可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储机器人100在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
请参阅图14,其示出了本申请实施例提供的一种计算机可读取存储介质的结构框图。该计算机可读取介质300中存储有程序代码,该程序代码可被处理器调用执行上述方法实施例中所描述的方法。
计算机可读取存储介质300可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读取存储介质300包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读取存储介质300具有执行上述方法中的任何方法步骤的程序代码310的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码310可以例如以适当形式进行压缩。
综上所述,本申请实施例提供的地图构建方法、装置、机器人以及存储介质,通过获取目标环境对应的初始图像;对初始图像进行语义提取,得到初始图像中的至少一个图像语义物体;获取至少一个图像语义物体对应的目标深度数据;对目标深度数据进行数据拟合,基于数据拟合结果和至少一个图像语义物体建立目标环境对应的初始地图,初始地图包括至少两个地图语义物体;基于目标深度数据,对初始地图中的至少两个地图语义物体进行语义约束处理,得到目标语义约束关系;基于目标语义约束关系对初始地图进行优化处理,得到目标环境对应的目标地图,进而基于比图像底层特征点更鲁棒的语义级约束关系对构建的地图进行更高层次的优化,降低了对构建的地图中的深度估计的偏差,使得构建出的地图的尺寸和结构更精确,提高了构建的地图的准确性。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种地图构建方法,其特征在于,所述方法包括:
获取目标环境对应的初始图像;
对所述初始图像进行语义提取,得到所述初始图像中的至少一个图像语义物体;
获取所述至少一个图像语义物体对应的目标深度数据;
对所述目标深度数据进行数据拟合,基于数据拟合结果和所述至少一个图像语义物体建立所述目标环境对应的初始地图,所述初始地图包括至少两个地图语义物体;
基于所述目标深度数据,对所述初始地图中的所述至少两个地图语义物体进行语义约束处理,得到目标语义约束关系;
基于所述目标语义约束关系对所述初始地图进行优化处理,得到所述目标环境对应的目标地图。
2.根据权利要求1所述的方法,其特征在于,所述对所述目标深度数据进行数据拟合,基于数据拟合结果和所述至少一个图像语义物体建立所述目标环境对应的初始地图,包括:
当所述至少一个图像语义物体中包括线段类语义物体时,对所述线段类语义物体对应的目标深度数据进行线段拟合,得到第一拟合数据;
当所述至少一个图像语义物体中包括块状类语义物体时,对所述块状类语义物体对应的目标深度数据进行平面拟合,得到第二拟合数据;
根据所述第一拟合数据、所述第二拟合数据和所述至少一个图像语义物体,建立所述目标环境对应的初始地图。
3.根据权利要求1所述的方法,其特征在于,所述初始地图中包括第一地图语义物体和第二地图语义物体,所述基于所述目标语义约束关系对所述初始地图进行优化处理,得到所述目标环境对应的目标地图,包括:
若所述第一地图语义物体与所述第二地图语义物体之间的目标语义约束关系为垂直关系,则优化所述第一地图语义物体和/或所述第二地图语义物体的位置,使得所述第一地图语义物体的第一方向向量与所述第二地图语义物体的第二方向向量之间的第一夹角满足第一预设条件,得到所述目标环境对应的目标地图;
若所述第一地图语义物体与所述第二地图语义物体的目标语义约束关系为平行关系,则优化所述第一地图语义物体和/或所述第二地图语义物体的位置,使得所述第一地图语义物体的第一方向向量与所述第二地图语义物体的第一法向量之间的第二夹角满足第二预设条件,得到所述目标环境对应的目标地图;
若所述第一地图语义物体的投影与所述第二地图语义物体之间的目标语义约束关系为重合关系,则优化所述第一地图语义物体和/或所述第二地图语义物体的位置,使得图像投影位置与地图投影位置之间的投影距离满足第三预设条件,得到所述目标环境对应的目标地图,其中,所述图像投影位置是所述第一地图语义物体在所述初始图像中的投影位置,所述地图投影位置是所述第一地图语义物体在所述目标地图中的投影位置。
4.根据权利要求1所述的方法,其特征在于,在所述基于所述目标语义约束关系对所述初始地图进行优化处理,得到所述目标环境对应的目标地图之后,还包括:
获取所述目标环境对应的更新图像;
对所述更新图像进行语义提取,得到所述更新图像中的至少一个更新语义物体;
获取所述目标地图中的至少两个地图语义物体与所述更新图像中的至少一个更新语义物体的关联关系,其中,所述关联关系包括有关联或者无关联,所述有关联用于表征所述至少一个更新语义物体中存在与所述至少两个地图语义物体相同的更新语义物体,所述无关联用于表征所述至少一个更新语义物体中不存在与所述至少两个地图语义物体相同的更新语义物体;
基于所述关联关系对所述目标地图进行优化,得到优化后的目标地图。
5.根据权利要求4所述的方法,其特征在于,所述基于所述关联关系对所述目标地图进行优化,得到优化后的目标地图,包括:
获取所述至少一个更新语义物体对应的更新深度数据;
若所述关联关系为有关联,则基于所述更新深度数据更新所述目标地图,得到优化后的目标地图;或者
若所述关联关系为无关联,则将所述更新深度数据对应的语义物体作为待补充语义物体,并将所述待补充语义物体更新至所述目标地图,得到优化后的目标地图。
6.根据权利要求4所述的方法,其特征在于,所述获取所述目标地图中的至少两个地图语义物体与所述更新图像中的至少一个更新语义物体的关联关系,包括:
基于所述目标地图中的至少两个地图语义物体获得所述目标地图对应的物体跟踪列表,其中,所述物体跟踪列表中包括所述至少两个地图语义物体;
基于所述物体跟踪列表,获取所述目标地图中的至少两个地图语义物体与所述更新图像中的至少一个更新语义物体的关联关系。
7.根据权利要求1-6任一所述的方法,其特征在于,所述初始图像包括机器人在所述目标环境内移动的过程中,控制所述机器人获取的所述目标环境对应的图像,在所述基于所述目标语义约束关系对所述初始地图进行优化处理,得到所述目标环境对应的目标地图之后,还包括:
控制所述机器人展示所述目标环境对应的目标地图。
8.一种地图构建装置,其特征在于,所述装置包括:
初始图像获取模块,用于获取目标环境对应的初始图像;
语义物体提取模块,用于对所述初始图像进行语义提取,得到所述初始图像中的至少一个图像语义物体;
目标深度数据获取模块,用于获取所述至少一个图像语义物体对应的目标深度数据;
数据拟合模块,用于对所述目标深度数据进行数据拟合,基于数据拟合结果和所述至少一个图像语义物体建立所述目标环境对应的初始地图,所述初始地图包括至少两个地图语义物体;
语义约束模块,用于基于所述目标深度数据,对所述初始地图中的所述至少两个地图语义物体进行语义约束处理,得到目标语义约束关系;
地图优化模块,用于基于所述目标语义约束关系对所述初始地图进行优化处理,得到所述目标环境对应的目标地图。
9.一种机器人,其特征在于,所述机器人包括:
机身;
与所述机身通信的控制系统,所述控制系统包括处理器和与所述处理器通信的存储器,所述存储器存储指令,所述指令在所述处理器上被运行时使所述处理器执行操作,所述操作包括:
获取目标环境对应的初始图像;
对所述初始图像进行语义提取,得到所述初始图像中的至少一个图像语义物体;
获取所述至少一个图像语义物体对应的目标深度数据;
对所述目标深度数据进行数据拟合,基于数据拟合结果和所述至少一个图像语义物体建立所述目标环境对应的初始地图,所述初始地图包括至少两个地图语义物体;
基于所述目标深度数据,对所述初始地图中的所述至少两个地图语义物体进行语义约束处理,得到目标语义约束关系;
基于所述目标语义约束关系对所述初始地图进行优化处理,得到所述目标环境对应的目标地图。
10.一种计算机可读取存储介质,其特征在于,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311031967.1A CN117073662A (zh) | 2023-08-15 | 2023-08-15 | 地图构建方法、装置、机器人以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311031967.1A CN117073662A (zh) | 2023-08-15 | 2023-08-15 | 地图构建方法、装置、机器人以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117073662A true CN117073662A (zh) | 2023-11-17 |
Family
ID=88714590
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311031967.1A Pending CN117073662A (zh) | 2023-08-15 | 2023-08-15 | 地图构建方法、装置、机器人以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117073662A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117765186A (zh) * | 2024-02-18 | 2024-03-26 | 广东电网有限责任公司广州供电局 | 一种环境空间的重构方法、装置、设备和存储介质 |
-
2023
- 2023-08-15 CN CN202311031967.1A patent/CN117073662A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117765186A (zh) * | 2024-02-18 | 2024-03-26 | 广东电网有限责任公司广州供电局 | 一种环境空间的重构方法、装置、设备和存储介质 |
CN117765186B (zh) * | 2024-02-18 | 2024-05-28 | 广东电网有限责任公司广州供电局 | 一种环境空间的重构方法、装置、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102567525B1 (ko) | 이동 로봇 시스템, 이동 로봇 및 이동 로봇 시스템의 제어 방법 | |
US10723027B2 (en) | Robot systems incorporating cloud services systems | |
CN117073662A (zh) | 地图构建方法、装置、机器人以及存储介质 | |
US12093054B2 (en) | Moving target following method, robot and computer-readable storage medium | |
CN114800535B (zh) | 机器人的控制方法、机械臂控制方法、机器人及控制终端 | |
US20240077875A1 (en) | Robot and method for robot positioning | |
JP2018190363A (ja) | 携帯型移動ロボット及びその操作方法 | |
US11645778B2 (en) | Apparatus and method for identifying and picking object using artificial intelligence algorithm | |
KR20180058303A (ko) | 이동 로봇, 그를 포함하는 시스템 및 이동 로봇의 제어 방법 | |
CN111630346A (zh) | 基于图像和无线电词语的移动设备的改进定位 | |
CN116358522A (zh) | 局部地图生成方法和装置、机器人、计算机可读存储介质 | |
CN114663754A (zh) | 检测方法、装置、多足机器人及存储介质 | |
CN117452464A (zh) | 定位方法、装置、机器人以及存储介质 | |
CN117808709A (zh) | 地图补全方法、装置、机器人以及存储介质 | |
CN115922731B (zh) | 一种机器人的控制方法以及机器人 | |
CN116820099A (zh) | 目标位置的确定方法、装置、机器人和存储介质 | |
CN116295338A (zh) | 一种定位方法、装置、机器人及计算机可读存储介质 | |
CN117621068A (zh) | 基于机器人的拍摄方法及机器人 | |
CN115774497A (zh) | 操作动作识别方法、装置及计算机存储介质 | |
CN115981346B (zh) | 机器人控制方法以及机器人 | |
CN117589153B (zh) | 一种地图更新的方法及机器人 | |
CN116772851A (zh) | 定位方法、装置、机器人以及存储介质 | |
CN116974288B (zh) | 机器人控制方法以及机器人 | |
CN115446844B (zh) | 机器人的控制方法、机器人及控制终端 | |
CN116012424A (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 |