CN112381828A - 基于语义和深度信息的定位方法、装置、介质与设备 - Google Patents

基于语义和深度信息的定位方法、装置、介质与设备 Download PDF

Info

Publication number
CN112381828A
CN112381828A CN202011241694.XA CN202011241694A CN112381828A CN 112381828 A CN112381828 A CN 112381828A CN 202011241694 A CN202011241694 A CN 202011241694A CN 112381828 A CN112381828 A CN 112381828A
Authority
CN
China
Prior art keywords
image
semantic
information
pose
depth
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
Application number
CN202011241694.XA
Other languages
English (en)
Other versions
CN112381828B (zh
Inventor
樊欢欢
李姬俊男
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN202011241694.XA priority Critical patent/CN112381828B/zh
Priority claimed from CN202011241694.XA external-priority patent/CN112381828B/zh
Publication of CN112381828A publication Critical patent/CN112381828A/zh
Application granted granted Critical
Publication of CN112381828B publication Critical patent/CN112381828B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • G06T2207/20128Atlas-based segmentation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)

Abstract

本公开提供了基于语义和深度信息的定位方法、装置、计算机可读存储介质与电子设备,涉及计算机视觉技术领域。其中,一种定位方法包括:获取针对目标场景所拍摄的待定位图像与所述待定位图像的深度信息;确定所述待定位图像对应的第一位姿;利用所述第一位姿,从所述目标场景的地图数据中获取所述待定位图像对应的投影图像;基于所述待定位图像的语义信息与所述投影图像的语义信息,所述待定位图像的深度信息与所述投影图像的深度信息,确定所述待定位图像对应的第二位姿。本公开降低了视觉定位对图像特征的依赖性,提高了视觉定位的鲁棒性,改善了位姿精度。

Description

基于语义和深度信息的定位方法、装置、介质与设备
技术领域
本公开涉及计算机视觉技术领域,尤其涉及基于语义和深度信息的定位方法、基于语义和深度信息的定位装置、计算机可读存储介质与电子设备。
背景技术
在AR(Augmented Reality,增强现实)、SLAM(Simultaneous Localization andMapping,即时定位与建图)等领域中,视觉定位技术具有重要的应用,通过对相机采集的图像和已建立的地图进行匹配,将搭载相机的设备(如智能手机、增强现实眼镜、机器人等)定位到地图中,以实现路径规划导航、虚拟影像渲染等场景功能。
相关技术中,在进行视觉定位时,通常需要对图像进行特征提取与特征匹配求解,以计算位姿。可见,其定位结果极大地依赖于图像中的特征质量。然而,实际应用中经常存在难以提取显著图像特征的情况,例如所拍摄的场景纹理稀疏,图像清晰度不高等,导致所提取的图像特征质量较低,最终影响定位准确度。
发明内容
本公开提供了基于语义和深度信息的定位方法、基于语义和深度信息的定位装置、计算机可读存储介质与电子设备,进而至少在一定程度上改善相关技术中视觉定位依赖于图像特征质量的问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的第一方面,提供一种基于语义和深度信息的定位方法,包括:获取针对目标场景所拍摄的待定位图像与所述待定位图像的深度信息;确定所述待定位图像对应的第一位姿;利用所述第一位姿,从所述目标场景的地图数据中获取所述待定位图像对应的投影图像;基于所述待定位图像的语义信息与所述投影图像的语义信息,所述待定位图像的深度信息与所述投影图像的深度信息,确定所述待定位图像对应的第二位姿。
根据本公开的第二方面,提供一种基于语义和深度信息的定位方法,包括:获取针对目标场景所拍摄的待定位图像与所述待定位图像的深度信息;根据所述待定位图像的语义信息和深度信息,匹配所述待定位图像与所述目标场景的地图数据,确定所述待定位图像的第一位姿;利用所述第一位姿,从所述地图数据中获取所述待定位图像对应的投影图像;基于所述待定位图像与所述投影图像,确定所述待定位图像对应的第二位姿。
根据本公开的第三方面,提供一种基于语义和深度信息的定位装置,包括:待定位图像获取模块,用于获取针对目标场景所拍摄的待定位图像与所述待定位图像的深度信息;第一位姿确定模块,用于确定所述待定位图像对应的第一位姿;投影图像获取模块,用于利用所述第一位姿,从所述目标场景的地图数据中获取所述待定位图像对应的投影图像;第二位姿确定模块,用于基于所述待定位图像的语义信息与所述投影图像的语义信息,所述待定位图像的深度信息与所述投影图像的深度信息,确定所述待定位图像对应的第二位姿。
根据本公开的第四方面,提供一种基于语义和深度信息的定位装置,包括:待定位图像获取模块,用于获取针对目标场景所拍摄的待定位图像与所述待定位图像的深度信息;第一位姿确定模块,用于根据所述待定位图像的语义信息和深度信息,匹配所述待定位图像与所述目标场景的地图数据,确定所述待定位图像的第一位姿;投影图像获取模块,用于利用所述第一位姿,从所述地图数据中获取所述待定位图像对应的投影图像;第二位姿确定模块,用于基于所述待定位图像与所述投影图像,确定所述待定位图像对应的第二位姿。
根据本公开的第五方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一或第二方面的基于语义和深度信息的定位方法及其可能的实现方式。
根据本公开的第六方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述第一或第二方面的基于语义和深度信息的定位方法及其可能的实现方式。
本公开的技术方案具有以下有益效果:
在视觉定位过程中利用了图像的语义信息与深度信息,一方面,降低了对图像特征的依赖性,即使待定位图像的特征质量较低,例如场景纹理稀疏、图像清晰度不高等导致特征显著性较差的情况下,也可以通过语义信息与深度信息形成信息补充,保证定位准确度,从而提高视觉定位的鲁棒性。另一方面,图像信息的维度更加全面、丰富,有利于实现更加有效的图像匹配,改善位姿精度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施方式,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本示例性实施方式中一种电子设备的结构示意图;
图2示出本示例性实施方式中一种基于语义和深度信息的定位方法的流程图;
图3示出本示例性实施方式中一种确定第一位姿方法的流程图;
图4示出本示例性实施方式中一种生成特征描述信息方法的流程图;
图5示出本示例性实施方式中一种生成特征描述信息的示意图;
图6示出本示例性实施方式中一种剔除动态物体方法的流程图;
图7示出本示例性实施方式中一种建立地图数据方法的流程图;
图8示出本示例性实施方式中一种建立地图数据的流示意图;
图9示出本示例性实施方式中待定位图像与投影图像的对比示意图;
图10示出本示例性实施方式中待定位图像与投影图像的语义信息、深度信息对比示意图;
图11示出本示例性实施方式中一种确定第二位姿方法的流程图;
图12示出本示例性实施方式中一种建立语义代价项方法的流程图;
图13示出本示例性实施方式中另一种建立语义代价项方法的流程图图;
图14示出本示例性实施方式中一种迭代优化位姿方法的流程图;
图15示出本示例性实施方式中离线建图与终端定位的示意图;
图16示出本示例性实施方式中另一种基于语义和深度信息的定位方法的流程图;
图17示出本示例性实施方式中一种基于语义和深度信息的定位装置的结构示意图;
图18示出本示例性实施方式中另一种基于语义和深度信息的定位装置的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的步骤。例如,有的步骤还可以分解,而有的步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
本公开的示例性实施方式首先提供一种基于语义和深度信息的定位方法,其应用场景包括但不限于:用户处于商场中,需要前往某家餐厅,传统的GPS(Global PositioningSystem,全球定位系统)等服务无法提供足够的导航精度,用户可以使用智能手机等终端拍摄场景图像,同时终端从云端获取该商场的地图数据,执行本示例性实施方式的定位方法以确定当前位姿,进而规划出前往餐厅的路径;或者用户使用终端拍摄场景图像后,将图像上传到云端,云端执行定位方法以确定终端的当前位姿,进而生成导航信息,发送到终端,实现室内导航服务。
本公开的示例性实施方式还提供一种电子设备,用于执行上述基于语义和深度信息的定位方法。该电子设备可以是上述终端或云端的服务器,包括但不限于计算机、智能手机、可穿戴设备(如AR眼镜)、机器人、无人机等。一般的,电子设备包括处理器和存储器。存储器用于存储处理器的可执行指令,也可以存储应用数据,如图像数据、视频数据等;处理器配置为经由执行可执行指令来执行本示例性实施方式中的基于语义和深度信息的定位方法。
下面以图1中的移动终端100为例,对上述电子设备的构造进行示例性说明。本领域技术人员应当理解,除了特别用于移动目的的部件之外,图1中的构造也能够应用于固定类型的设备。
如图1所示,移动终端100具体可以包括:处理器110、内部存储器121、外部存储器接口122、USB(Universal Serial Bus,通用串行总线)接口130、充电管理模块140、电源管理模块141、电池142、天线1、天线2、移动通信模块150、无线通信模块160、音频模块170、扬声器171、受话器172、麦克风173、耳机接口174、传感器模块180、显示屏190、摄像模组191、指示器192、马达193、按键194以及SIM(Subscriber Identification Module,用户标识模块)卡接口195等。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括AP(Application Processor,应用处理器)、调制解调处理器、GPU(Graphics ProcessingUnit,图形处理器)、ISP(Image Signal Processor,图像信号处理器)、控制器、编码器、解码器、DSP(Digital Signal Processor,数字信号处理器)、基带处理器和/或NPU(Neural-Network Processing Unit,神经网络处理器)等。
编码器可以对图像或视频数据进行编码(即压缩),例如对拍摄的场景图像进行编码,形成对应的码流数据,以减少数据传输所占的带宽;解码器可以对图像或视频的码流数据进行解码(即解压缩),以还原出图像或视频数据,例如对场景图像的码流数据进行解码,得到完整的图像数据,便于执行本示例性实施方式的定位方法。移动终端100可以支持一种或多种编码器和解码器。这样,移动终端100可以处理多种编码格式的图像或视频,例如:JPEG(Joint Photographic Experts Group,联合图像专家组)、PNG(Portable NetworkGraphics,便携式网络图形)、BMP(Bitmap,位图)等图像格式,MPEG(Moving PictureExperts Group,动态图像专家组)1、MPEG2、H.263、H.264、HEVC(High Efficiency VideoCoding,高效率视频编码)等视频格式。
在一些实施方式中,处理器110可以包括一个或多个接口,通过不同的接口和移动终端100的其他部件形成连接。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括易失性存储器与非易失性存储器。处理器110通过运行存储在内部存储器121的指令,执行移动终端100的各种功能应用以及数据处理。
外部存储器接口122可以用于连接外部存储器,例如Micro SD卡,实现扩展移动终端100的存储能力。外部存储器通过外部存储器接口122与处理器110通信,实现数据存储功能,例如存储图像,视频等文件。
USB接口130是符合USB标准规范的接口,可以用于连接充电器为移动终端100充电,也可以连接耳机或其他电子设备。
充电管理模块140用于从充电器接收充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为设备供电;电源管理模块141还可以监测电池的状态。
移动终端100的无线通信功能可以通过天线1、天线2、移动通信模块150、无线通信模块160、调制解调处理器以及基带处理器等实现。天线1和天线2用于发射和接收电磁波信号。移动通信模块150可以提供应用在移动终端100上的包括2G/3G/4G/5G等无线通信的解决方案。无线通信模块160可以提供应用在移动终端100上的包括WLAN(Wireless LocalArea Networks,无线局域网)(如Wi-Fi(Wireless Fidelity,无线保真)网络)、BT(Bluetooth,蓝牙)、GNSS(Global Navigation Satellite System,全球导航卫星系统)、FM(Frequency Modulation,调频)、NFC(Near Field Communication,近距离无线通信技术)、IR(Infrared,红外技术)等无线通信解决方案。
移动终端100可以通过GPU、显示屏190及AP等实现显示功能,显示用户界面。例如,当用户开启拍摄功能时,移动终端100可以在显示屏190中显示拍摄界面和预览图像等。
移动终端100可以通过ISP、摄像模组191、编码器、解码器、GPU、显示屏190及AP等实现拍摄功能。例如,用户可以启动视觉定位的相关服务,触发开启拍摄功能,此时可以通过摄像模组191实时采集图像,并进行定位。
移动终端100可以通过音频模块170、扬声器171、受话器172、麦克风173、耳机接口174及AP等实现音频功能。
传感器模块180可以包括深度传感器1801,深度传感器1801用于检测深度信息,例如前方物体与深度传感器1801在深度方向上的距离。深度传感器1801可以采用TOF(Timeof Flight,飞行时间)、结构光等原理实现。在一种实施方式中,深度传感器1801可以位于摄像模组191中,用于与摄像模组191配合工作,例如形成RGB-D深度相机,以拍摄深度图像。
此外,传感器模块180还可以包括压力传感器1802、陀螺仪传感器1803、气压传感器1804等,以实现相应的感应检测功能。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。马达193可以产生振动提示,也可以用于触摸振动反馈等。按键194包括开机键,音量键等。
移动终端100可以支持一个或多个SIM卡接口195,用于连接SIM卡,以实现通话与移动通信等功能。
图2示出了上述基于语义和深度信息的定位方法的示例性流程,可以包括:
步骤S210,获取针对目标场景所拍摄的待定位图像与待定位图像的深度信息;
步骤S220,确定待定位图像对应的第一位姿;
步骤S230,利用第一位姿,从目标场景的地图数据中获取待定位图像对应的投影图像;
步骤S240,基于待定位图像的语义信息与投影图像的语义信息,待定位图像的深度信息与投影图像的深度信息,确定待定位图像对应的第二位姿。
其中,语义信息是指对图像进行视觉语义层面的识别所得到的信息,如识别图像包含哪些物体,每个物体在图像中所占的区域;深度信息是指终端与被拍摄物体在深度方向上的距离检测信息。第一位姿为初始确定的终端位姿,是较为粗略的位姿;第二位姿为最终确定的终端位姿,是较为精确的位姿。
通过上述方法,在视觉定位过程中利用了图像的语义信息与深度信息,一方面,降低了对图像特征的依赖性,即使待定位图像的特征质量较低,例如场景纹理稀疏、图像清晰度不高等导致特征显著性较差的情况,也可以通过语义信息与深度信息形成信息补充,保证定位准确度,从而提高视觉定位的鲁棒性。另一方面,图像信息的维度更加全面、丰富,有利于实现更加有效的图像匹配,改善位姿精度。
下面对图2中的步骤进行具体说明。
步骤S210中,获取针对目标场景所拍摄的待定位图像与待定位图像的深度信息。
目标场景是终端当前所在的场景,如可以是商场、街道等。待定位图像可以是终端当前拍摄的目标场景的图像,在拍摄待定位图像时,可以采集深度信息,通常是待定位图像中各个部分的深度值。
继续参考图2,步骤S220中,确定待定位图像对应的第一位姿。
第一位姿是较为粗略的位姿,相当于提供初始的位姿信息参考,在后续步骤中需要进一步优化,得到精确的第二位姿。第一位姿和第二位姿可以是终端在目标场景中的绝对位姿,如可以是6DOF(Degree of Freedom,自由度)位姿数据,包括3个位置坐标和3个旋转角度;也可以是终端在目标场景中相对于某个基准位姿的相对位姿,如可以包括平移矩阵和旋转矩阵。
本公开对于确定第一位姿的具体方式不做限定,下面提供三种示例性方式:
方式一、随机初始化位姿,以作为第一位姿。
例如,获取目标场景的地图数据,根据地图数据设置位姿边界条件(如位置不能超出地图),在位姿边界条件的约束下进行位姿的随机初始化,得到第一位姿。随机初始化的计算量较小,有利于快速确定第一位姿。
方式二、基于图像检索确定第一位姿。
对于目标场景的地图数据,可以构建关键帧图像、点云、特征点等的集合,输入待定位图像后,在集合中检索与待定位图像相匹配的关键帧图像、点云、特征点等,得到对应的局部地图数据。
基于局部地图数据,可以采用PnP算法(Perspective-n-Point,求解3D-2D点对运动的方法),对局部地图数据中n个特征点与待定位图像中n个特征点进行匹配,进而求解待定位图像的位姿,即第一位姿。
在一种实施方式中,考虑到PnP算法较为复杂,耗时较高,也可以采用简化算法。例如:在PnP算法中,减少特征点数量,这样虽然无法求解出位姿,但是可以得到关于位姿的约束条件,在约束条件内,随机初始化位姿或选取位姿中心点(选取位姿中心点,有利于后续实现位姿的局部优化),得到第一位姿;或者在局部地图数据所对应的位姿范围内,随机初始化位姿或选取位姿中心点,得到第一位姿。由此,实际上对求解第一位姿的过程采用了一定程度的近似处理,能够实现处理过程的显著加速,并且由于后续还需要进一步优化位姿,这里的近似处理对于最终定位的精度没有明显影响。
方式三、根据待定位图像的语义信息和深度信息,匹配待定位图像与目标场景的地图数据,确定第一位姿。
其中,目标场景的地图数据可以是三维语义地图数据,携带有语义信息和深度信息。由此,将待定位图像的语义信息和深度信息,与目标场景的语义信息和深度信息进行匹配,可以实现相同或相似场景的检索,找到与待定位图像相匹配的局部地图数据,进而根据上述方式二中的PnP算法或者近似处理方式确定第一位姿。由此,能够改善场景检索的准确度,提高第一位姿的精度。
需要说明的是,在进行待定位图像与地图数据的匹配时,可以对语义信息和深度信息分别使用。例如,先根据待定位图像的语义信息对目标场景的地图数据进行筛选,由于语义信息的维度相对较少,可以实现快速筛选,得到与待定位图像的语义重合的地图数据子集,进一步在地图数据子集匹配待定位图像的深度信息,以确定第一位姿;或者先通过深度信息进行匹配,得到地图数据子集,再通过语义信息进行匹配。
在一种实施方式中,也可以对语义信息和深度信息同时进行匹配。参考图3所示,步骤S220可以包括以下步骤S310和S320:
步骤S310,根据待定位图像的语义信息和深度信息,生成待定位图像的特征描述信息;
步骤S320,匹配待定位图像的特征描述信息与地图数据中局部地图数据的特征描述信息,根据匹配结果确定第一位姿。
语义信息和深度信息是图像信息的两个方面,将语义信息和深度信息结合起来,可以得到更为全面的特征描述信息。类似的,可以从目标场景的地图数据中提取不同局部的语义信息和深度信息,形成局部地图数据的特征描述信息。将待定位图像的特征描述信息与局部地图数据的特征描述信息进行匹配,以确定第一位姿。
在一种实施方式中,参考图4所示,步骤S310可以包括以下步骤S410至S430:
步骤S410,对待定位图像进行语义分割,根据语义分割的结果提取待定位图像的语义描述信息。
语义分割是指对图像进行像素级别的语义分类,可以采用FCN(FullyConvolutional Network,全卷积网络)或其变体网络(如Unet)等实现。参考图5所示,待定位图像为商场中的局部场景,包括地板、墙壁、门、天花板等几个部分,对待定位图像进行语义分割,可以得到每个像素点的语义分类识别结果,以不同的颜色表示不同的分类,输出对应的语义分割图像,其中地板、墙壁、门、天花板分别为不同的颜色,代表不同的语义信息。
进一步的,可以将语义分割图像输入CNN(Convolutional Neural Network,卷积神经网络),利用CNN提取语义分割图像的特征,即语义描述信息。
在一种实施方式中,对待定位图像进行语义分割后,可以根据每个像素点的语义分类识别结果生成待定位图像的语义标签集合,语义标签集合包括待定位图像中出现的语义标签以及每个语义标签的权重(一般可以采用语义标签覆盖的像素点比例计算权重)。每个语义标签可以采用预先建立的视觉语义词袋(一般可以将目标场景中的所有语义标签形成视觉语义词袋)进行描述,将语义标签集合中每个语义标签的描述信息及其权重进行排列,形成待定位图像的语义描述信息。
步骤S420,根据待定位图像的深度信息,获取待定位图像的深度描述信息。
深度描述信息是对图像的深度信息进行抽象表示的稠密信息。深度信息通常是较为直观、表层的信息,其中包含了不同像素点之间在深度方面的关联,因此可以通过挖掘与学习得到深度描述信息。
在一种实施方式中,步骤S420可以包括:
根据待定位图像的深度信息生成深度图像;
从深度图像中提取待定位图像的深度描述信息。
一般的,待定位图像的深度信息包括每个像素点的深度值,将深度值映射为灰度值,可以生成单通道的深度图像,例如可以参考图5中的深度图像。在得到深度图像后,可以提取图像特征信息,以作为待定位图像的深度描述信息。例如图5中示出了通过CNN从深度图像中提取深度描述信息;也可以对深度图像中的特征点进行描述,融合各特征点的描述子,得到待定位图像的深度描述信息。
特征点是图像中具有代表性的、辨识度较高的点或区域,例如图像中的角点、边缘点等,例如在深度图像中,可以检测灰度值发生突变的区域,在该区域中提取特征点。本示例性实施方式可以采用FAST(Features From Accelerated Segment Test,基于加速分割检测的特征)、BRIEF(Binary Robust Independent Elementary Features,二进制鲁棒独立基本特征)、ORB(Oriented FAST and Rotated BRIEF,面向FAST和旋转BRIEF)、SIFT(Scale-Invariant Feature Transform,尺度不变特征变换)、SURF(Speeded Up RobustFeatures,加速鲁棒特征)等算法提取特征点并对特征点进行描述。
步骤S430,基于上述语义描述信息和深度描述信息,生成待定位图像的特征描述信息。
语义描述信息和深度描述信息可以是向量,将两向量拼接,生成向量形式的特征描述信息,或者将两向量转变为相同维度数(如对其中维度数较高的向量降维,或者对维度数较低的向量升维),合并为矩阵形式的特征描述信息等,本公开对于语义描述信息和深度描述信息的具体结合方式不做限定。
在一种实施方式中,除了上述语义描述信息和深度描述信息外,还可以从待定位图像中提取图像描述信息。图像描述信息是指不包含语义的图像特征信息,参考图5所示,可以通过CNN从待定位图像中提取图像描述信息;也可以对待定位图像中的特征点进行描述,融合各特征点的描述子,得到待定位图像的图像描述信息,从待定位图像中提取特征点并进行描述的方式,可以参考上述从深度图像中提取特征点并进行描述的方式,因而不再赘述。
进而,可以合并图像描述信息、语义描述信息和深度描述信息,得到待定位图像的特征描述信息。由此,使得特征描述信息包含了图像的三方面信息,其对于图像的表征非常全面、充分。进而,在将待定位图像的特征描述信息与目标场景的局部地图数据的特征描述信息进行匹配时,能够进一步提高匹配处理速度与匹配精度,以得到更为准确的第一位姿。
图5示出了一种实施方式中生成特征描述信息的示意性流程:将待定位图像、语义分割图像、深度图像分别输入预先训练的CNN,经过CNN的卷积、池化、全连接等操作后,从CNN的中间层分别提取图像描述信息、语义描述信息、深度描述信息;对三者进行合并,如图像描述信息、语义描述信息、深度描述信息均为向量时,可以拼接三个向量,得到向量形式的特征描述信息。
在一种实施方式中,可以通过真实图像、语义分割图像、深度图像这三种模态的图像共同训练图5中的CNN。举例来说,获取大量的真实场景图像及其深度信息,将真实场景图像作为样本真实图像,深度信息转换为样本深度图像;对样本真实图像进行语义分割,得到样本语义分割图像;进行标注,样本真实图像是目标场景中的图像则标注为1,不是目标场景中的图像则标注为0,样本语义分割图像与样本深度图像的标注与对应的样本真实图像的标注相同;构建包含上述三种图像的混合数据集;通过该混合数据集训练初始的CNN,该CNN可以是单通道输入;当CNN输出的分类结果达到一定的准确率时,表示训练完成。
在一个实例中,待定位图像的特征描述信息为4096维的向量;对于目标场景的局部地图数据,同样可以构建4096维的特征描述信息;计算待定位图像的特征描述信息与局部地图数据的特征描述信息之间的向量距离(如欧式距离),距离越小则匹配度越高,由此可以得到与待定位图像相匹配的局部地图数据,并确定第一位姿。
待定位图像中可能存在不属于目标场景的物体,一般为动态物体,如人、动物、车辆等,会增加冗余的图像信息,对上述特征描述信息的匹配及整个视觉定位过程造成干扰。基于此,在一种实施方式中,生成待定位图像的特征描述信息之前,可以先执行以下步骤:
根据待定位图像的语义信息,识别待定位图像中的动态物体,并从待定位图像中剔除动态物体。
其中,待定位图像的语义信息可用于对图像中各部分的语义进行表示,如可以表示为语义描述子或语义分类结果,通过语义描述子或语义分类结果可以识别待定位图像中的哪些部分为动态物体,进而剔除动态物体的部分。由此,在后续处理中,不会提取动态物体部分的描述信息,从而避免产生干扰。
在剔除动态物体时,可以采用语义描述子或语义分类结果。下面分别说明:
一、采用语义描述子。将待定位图像划分为不同的子区域,可以采用语义描述子来描述子区域中的特征点;然后通过目标场景的视觉语义词袋对特征点的语义描述子进行匹配;如果匹配不成功,说明特征点的语义描述子不在视觉语义词袋中,则特征点所属的物体大概率不是目标场景中的物体,即为动态物体;因此,可以将特征点所在的子区域从待定位图像中剔除。
二、采用语义分类结果。图6示出了从待定位图像中剔除动态物体的示例性流程,可以包括:
步骤S610,获取待定位图像中各子区域的语义标签;
步骤S620,当子区域的语义标签属于预设标签集时,确定该子区域为动态物体,并从待定位图像中剔除该子区域。
对待定位图像进行语义分割时,将待定位图像按照语义分割为不同的子区域,同时得到每个子区域的语义分类结果,即上述语义标签。预设标签集是动态物体的语义标签的集合,如可以包括人、动物、车辆等,可根据目标场景中实际会出现的动态物体确定预设标签集。在确定每个子区域的语义标签后,依次将每个子区域的语义标签与预设标签集对比,当子区域的语义标签属于预设标签集时,说明该子区域为动态物体,从待定位图像中予以剔除。
在一种实施方式中,目标场景的地图数据可以由本终端预先建立,例如扫地机器人在新场景中首次启动时,先进行扫描建图,之后每次启动工作时,可以根据已建立的地图数据进行视觉定位。图7示出了建立地图数据的示例性流程,可以包括:
步骤S710,获取针对目标场景拍摄的多张基准图像与基准图像的深度信息;
步骤S720,对基准图像与基准图像的深度信息进行三维重建处理,得到目标场景的三维地图;
步骤S730,根据基准图像的语义信息,生成三维地图的语义信息,并剔除三维地图中的动态物体,得到目标场景的地图数据。
其中,基准图像是指在建图阶段所拍摄的目标场景的图像,在拍摄的同时检测场景的深度信息。一般的,终端一边移动或转动,一边拍摄基准图像并检测深度信息,可以使基准图像覆盖到整个目标场景。不同的基准图像之间存在针对同一场景局部的三角化关系,由此可以重建出三维信息,同时深度信息也可以辅助重建出三维信息。本示例性实施方式可以采用SFM(Structure-From-Motion,运动化结构)等算法对基准图像与深度信息进行三维重建处理,得到目标场景的三维地图,通常是三维点云数据。
获取基准图像的语义信息,如可以对基准图像进行语义分割,得到图像中每个物体的语义标签。将基准图像的语义信息添加到三维地图中,为地图中的物体生成语义信息,如可以对三维地图中的建筑、地面、天空等生成语义标签;同时,建图过程中可能拍摄到动态物体,如人、动物、车辆等,而动态物体不需要建立在地图数据中,为此,可以根据基准图像的语义信息识别到动态物体,并从三维地图中予以剔除;最终得到三维稠密语义地图,通常是包含语义标签的三维点云数据,即目标场景的地图数据。
在一种实施方式中,步骤S710中获取的深度信息可能存在缺失,如场景局部纹理稀疏、存在遮挡关系、实际距离过近或过远等情况所导致的局部深度信息缺失。基于此,在进行上述三维重建处理(即步骤S720)之前,可以先对基准图像的深度信息进行补全处理。例如可以采用深度补全算法:预先训练两个神经网络,包括针对RGB图像的表面法线预测网络与针对物体边缘遮挡的预测网络;将RGB格式的基准图像和深度图像输入第一个网络中,输出基准图像中所有平面的表面法线;将基准图像和深度图像输入第二个网络中,输出基准图像中的物体边缘遮挡结果;以深度图像为正则化,采用基准图像中的表面法线与物体边缘遮挡结果进行全局线性优化,得到补全的深度图像。由此,进一步提高了三维重建处理的精度,有利于得到高质量的地图数据。
在建立目标场景的地图数据后,可以将地图数据上传到云端,便于后续有定位或导航需求时从云端获取地图数据,也便于其他用户获取地图数据以进行视觉定位。
图8示出了一种实施方式中建立地图数据的示意性流程,包括:
步骤S810,采集基准图像与深度信息;
步骤S820,通过SFM算法对基准图像与深度信息进行三维重建处理,得到三维地图;
步骤S830,对基准图像进行语义分割;
步骤S840,根据语义分割对三维地图添加语义标签,并剔除动态物体,得到三维稠密语义地图,即目标场景的地图数据;
步骤S850,将地图数据上传到云端。
上述流程可以在离线阶段执行。
继续参考图2,步骤S230中,利用第一位姿,从目标场景的地图数据中获取所述待定位图像对应的投影图像。
一般的,将第一位姿代入目标场景的地图数据中,可以截取目标场景的一个局部断面,称为投影图像,其表示按照第一位姿处于目标场景中时所能观察到的景象。
在一种实施方式中,步骤S230可以包括:
利用第一位姿,将地图数据重投影至待定位图像的平面,生成投影图像。
其中,地图数据是基于目标场景的世界坐标系的数据,待定位图像的平面处于图像坐标系中。在进行重投影时,需要将地图数据按照第一位姿转换到图像坐标系中。具体地,可以根据第一位姿确定终端的相机坐标系,将地图数据转换到相机坐标系中;然后根据终端的相机内参,确定相机坐标系与图像坐标系的转换关系,进而将地图数据从相机坐标系转换到图像坐标系中,得到投影图像。由此,可以使待定位图像与投影图像更好地对应起来,以便于后续优化位姿。
需要说明的是,由于地图数据是三维的,本身携带有深度信息。在截取地图断面或进行重投影的过程中,深度信息被保留下来,作为投影图像的深度信息。
在一种实施方式中,投影图像可以是由三维点云投影后形成的虚拟化图像,为了补全投影图像的内容,可以对其进行渲染。参考图9所示,为待定位图像与经过渲染的投影图像。实际上,投影图像更好地反映了在第一位姿下所能观测到的真实信息。
继续参考图2,步骤S240中,基于待定位图像的语义信息与投影图像的语义信息,待定位图像的深度信息与投影图像的深度信息,确定待定位图像对应的第二位姿。
其中,投影图像的语义信息可以通过以下方式获取:
如果地图数据本身携带有语义信息,在提取投影图像时,可以获取投影图像中各个物体的语义信息,即得到投影图像的语义信息;
如果地图数据不携带语义信息,提取投影图像后,可以对投影图像进行语义分割,得到其语义信息。
理论上,如果第一位姿完全准确,则待定位图像与投影图像可以近乎完全一致(多数情况下会存在环境与状态差别,如白天、黑夜的差别,场景本身在不同时刻的差别)。实际上,由于第一位姿普遍存在误差,待定位图像与投影图像的语义信息和深度信息都存在差别。图10示出了两图像的语义信息和深度信息的对比,其中将语义信息表示为语义分割图像,将深度信息表示为深度图像,可以看出,左右图像并非完全一致。通过比较待定位图像的语义信息与投影图像的语义信息,以及待定位图像的深度信息与投影图像的深度信息,可以表征第一位姿的误差,进而对其进行优化,最终得到第二位姿。
在一种实施方式中,参考图11所示,步骤S240可以包括以下步骤S1110至S1140:
步骤S1110,基于待定位图像的语义信息与投影图像的语义信息,建立语义代价项。
语义代价项了用于表示待定位图像的语义信息与投影图像的语义信息的相似度或差异度。
在一种实施方式中,参考图12所示,步骤S1110可以包括:
步骤S1210,获取待定位图像的第一语义分割图像以及投影图像的第二语义分割图像;
步骤S1220,根据第一语义分割图像与第二语义分割图像中语义相同的像素点数量,建立语义代价项。
其中,第一语义分割图像是待定位图像的语义分割图像,第二语义分割图像是投影图像的语义分割图像,通过“第一”、“第二”加以区分。第一语义分割图像与第二语义分割图像的像素点数量一般相同。可以统计第一语义分割图像与第二语义分割图像中语义相同的像素点,即两图像的像素点交集,将这部分像素点数量与任一张语义分割图像的像素点总数计算比值,即两图像的像素点IOU(Intersection over Union,交并比),以IOU作为语义代价项。
在一种实施方式中,参考图13所示,步骤S1220可以包括:
步骤S1310,确定第一语义分割图像中各第一子区域的语义标签,以及第二语义分割图像中各第二子区域的语义标签;
步骤S1320,将语义标签相同的第一子区域与第二子区域形成子区域对;
步骤S1330,计算每个子区域对中像素点的交并比,并对各子区域对中像素点的交并比取平均,以建立语义代价项。
其中,第一子区域是第一语义分割图像中各语义分割区域,第二子区域是第二语义分割图像中各语义分割区域,通过“第一”、“第二”加以区分。每个子区域对包括一个第一子区域和一个第二子区域,这两个子区域的语义标签相同。例如,第一语义分割图像中包括四个第一子区域,其语义标签分别为地板、墙壁、门、天花板,第二语义分割图像中包括四个第二子区域,其语义标签也分别为地板、墙壁、门、天花板;将语义标签为“地板”的第一子区域和第二子区域形成一个子区域对,同理可以一共形成四个子区域对。然后对每个子区域对计算像素点的交并比,即该子区域对中的第一子区域和第二子区域取像素点交集并统计其中的像素点数量,取像素点并集并统计其中的像素点数量,计算交集的像素点数量与并集的像素点数量之比,得到该子区域对的交并比;对每个子区域对计算交并比后,取平均值,例如对上述四个子区域对的交并比取平均值,可以采用算术平均值或加权平均值(如可以根据子区域对的交集像素点数量或并集像素点数量确定权重),得到mIOU(mean IOU,平均交并比)。
由上可知,mIOU越高,表示待定位图像的语义信息与投影图像的语义信息越相似,因此可以以mIOU作为语义代价项。
此外,也可以基于语义信息的差异度建立语义代价项,例如将待定位图像的语义信息和投影图像的语义信息分别转换为语义向量,将两语义向量之间的距离作为语义代价项。当然也可以通过其他方式来建立语义代价项,本公开不做具体限定。
步骤S1120,基于待定位图像的深度信息与投影图像的深度信息,建立深度信息代价项。
深度信息代价项了用于表示待定位图像的深度信息与投影图像的深度信息的相似度或差异度。
在一种实施方式中,步骤S1120可以包括:
基于待定位图像中各像素点的深度值与投影图像中对应的像素点的深度值之差,建立深度信息代价项。
例如,可以将待定位图像与投影图像中位置相同的像素点分别形成像素点对,每个像素点对包括一个待定位图像的像素点和一个投影图像的像素点,这两个像素点的位置相同;然后计算每个像素点对中两像素点的深度值之差,并取绝对值;对所有像素点对的深度值之差取平均值,作为深度信息代价项。
此外,也可以基于深度信息的相似度建立深度信息代价项,例如获取待定位图像的深度图像与投影图像的深度图像,统计两深度图像中深度值相同的像素点数量,进而计算两深度图像的像素点交并比,以作为深度信息代价项。当然也可以通过其他方式来建立深度信息代价项,本公开不做具体限定。
步骤S1130,根据语义代价项和深度信息代价项建立代价函数。
通常可以将语义代价项和深度信息代价项相加,以得到代价函数。在相加时,需要注意两代价项的符号。由于代价函数常采用优化最小值的方式,如果语义代价项表征语义差异度,则其符号为正,如果语义代价项表征语义相似度,则其符号为负;深度信息代价项的符号原理相同。由此,可以建立代价函数如下:
Figure BDA0002768611780000191
其中,ε表示代价函数。
Figure BDA0002768611780000192
为深度信息代价项,i表示深度图像中的像素点,n为深度图像中的总数,Di与D'i分别表示待定位图像的深度图像中像素点i的深度值,以及投影图像的深度图像中像素点i的深度值;由于深度信息代价项表征深度信息差异度,因此符号为正。-mIOU为语义代价项,表示第一语义分割图像与第二语义分割图像的平均交并比(参考图13的计算过程),由于其表征语义相似度,因此符号为负。a表示深度信息代价项的系数,用于调节深度信息代价项与语义代价项的比重,如可以采用经验值1/2。
需要说明的是,语义代价项和深度信息代价项是匹配待定位图像与投影图像时所采用的两个约束项,此外还可以在代价函数中增加其他约束项,例如对待定位图像与投影图像分别提取图像特征向量,计算两图像特征向量的距离,作为图像特征代价项,等等。本公开对此不做限定。
步骤S1140,通过优化代价函数,得到第二位姿。
一般的,需要迭代优化代价函数的最小值,在全局或局部找到代价函数的最小值,其对应的位姿为最终的第二位姿。
在一种实施方式中,参考图14所示,步骤S1140可以包括以下迭代过程:
步骤S1410,将待定位图像的语义信息和深度信息、投影图像的语义信息和深度信息代入代价函数,判断是否达到收敛条件;
步骤S1420,当达到收敛条件时,输出第一位姿,以作为第二位姿,迭代结束;
步骤S1430,当未达到收敛条件时,更新第一位姿,并利用更新后的第一位姿对地图数据进行重投影,以更新投影图像,然后跳转至步骤S1410,开始下一轮迭代。
其中,收敛条件包括以下至少一条:
①代价函数在本轮迭代中的迭代差值为负且大于第一阈值。
迭代差值是指代价函数在相邻两轮迭代中的后一轮函数值减去前一轮函数值,如果当前为第j轮迭代,以εj表示第j轮的迭代函数值,则本轮的迭代差值Δεj为:
Δεj=εjj-1 (2)
条件①可以表示为Δεj<0且Δεj>T1。第一阈值T1可以根据经验或实际需求设定,其表示相邻两轮的函数值之差已足够小。
②代价函数在连续M轮迭代中的迭代差值均为正,属于连续收敛的判定。M为不小于2的正整数,可以根据经验或实际需求设定。当满足条件②时,说明代价函数已经达到局部最小值,因此可以收敛。
③代价函数在连续N轮迭代中的迭代差值均为负且大于第二阈值,也属于连续收敛的判定。N为不小于2的正整数,N与第二阈值T2均可以根据经验或实际需求设定。条件③表示连续N轮迭代中代价函数的优化程度较低,因此可以收敛。
在一种实施方式中,第二阈值可以小于第一阈值。
④达到预设迭代轮数。属于强制收敛条件,例如设置预设迭代轮数为100,则达到100轮迭代后,无论代价函数是否达到最优,均强制收敛。
实际应用中,可以结合上述多个条件使用。
在迭代中,可以对当前的第一位姿进行微调,以更新第一位姿,在更新第一位姿后,可以利用更新后的第一位姿重新获取投影图像。可见,每轮迭代均需要更新第一位姿与投影图像。随后,获取更新后的投影图像的语义信息和深度信息,代入代价函数中,计算本轮的函数值。如果未收敛,则更新第一位姿与投影图像后进入下一轮迭代;如果收敛,则输出当前的第一位姿,作为优化得到的第二位姿,即终端最终的定位结果。
通过上述迭代的方式,可以在目标场景的局部或全局中找到最优的位姿,实现高精度的视觉定位。
图15示出了本示例性实施方式的离线建图与终端定位的示意图。在离线建图阶段,采集基准图像与深度信息,根据基准图像与深度信息进行三维重建处理,并通过基准图像的语义信息添加三维地图的语义信息,建立三维稠密语义地图。在终端定位阶段,终端采集待定位图像与深度信息,获取待定位图像的语义信息,根据图像、语义信息、深度信息这三方面信息,在三维稠密语义地图中进行场景检索,确定第一位姿,进而获取并渲染投影图像,再通过优化得到第二位姿,从而实现终端的视觉定位。
本公开的示例性实施方式还提供另一种基于语义和深度信息的定位方法,参考图16所示,包括以下步骤:
步骤S1610,获取针对目标场景所拍摄的待定位图像与待定位图像的深度信息;
步骤S1620,根据待定位图像的语义信息和深度信息,匹配待定位图像与目标场景的地图数据,确定待定位图像的第一位姿;
步骤S1630,利用第一位姿,从地图数据中获取待定位图像对应的投影图像;
步骤S1640,基于待定位图像与投影图像,确定待定位图像对应的第二位姿。
与图2相比,区别在于:步骤S1620中确定引入待定位图像的语义信息和深度信息来匹配目标场景的地图数据与待定位图像,以进行场景检索。步骤S1620的实现可以参考步骤S220部分的方式三内容,在此不再赘述。步骤S1640和步骤S240相比,并不限定通过语义信息和深度信息来优化求解第二位姿,例如:可以仅采用待定位图像与投影图像的语义信息,而不采用深度信息,构建仅包含语义代价项的代价函数,并通过迭代优化求解第二位姿;或者仅采用待定位图像与投影图像的深度信息,而不采用语义信息,构建仅包含深度信息代价项的代价函数,并通过迭代优化求解第二位姿;或者采用语义信息和深度信息以外的信息,如对待定位图像与投影图像分别提取图像特征向量,计算两图像特征向量的距离,作为图像特征代价项,并以此建立代价函数,通过迭代优化求解第二位姿,等等。
通过上述方法,采用语义信息和深度信息来匹配目标场景的地图数据与待定位图像,有利于实现更加准确地场景检索,提高检索速度与第一位姿的精度,进而提高后续位姿优化的精度,实现准确的视觉定位。
本公开的示例性实施方式还提供一种基于语义和深度信息的定位装置。参考图17所示,该定位装置1700可以包括:
待定位图像获取模块1710,用于获取针对目标场景所拍摄的待定位图像与待定位图像的深度信息;
第一位姿确定模块1720,用于确定待定位图像对应的第一位姿;
投影图像获取模块1730,用于利用第一位姿,从目标场景的地图数据中获取待定位图像对应的投影图像;
第二位姿确定模块1740,用于基于待定位图像的语义信息与投影图像的语义信息,待定位图像的深度信息与投影图像的深度信息,确定待定位图像对应的第二位姿。
在一种实施方式中,第一位姿确定模块1720,被配置为:
根据待定位图像的语义信息和深度信息,匹配待定位图像与地图数据,确定第一位姿。
在一种实施方式中,第一位姿确定模块1720,被配置为:
根据待定位图像的语义信息和深度信息,生成待定位图像的特征描述信息;
匹配待定位图像的特征描述信息与地图数据中局部地图数据的特征描述信息,根据匹配结果确定第一位姿。
在一种实施方式中,第一位姿确定模块1720,被配置为:
对待定位图像进行语义分割,根据语义分割的结果提取待定位图像的语义描述信息;
根据待定位图像的深度信息,获取待定位图像的深度描述信息;
基于语义描述信息和深度描述信息,生成待定位图像的特征描述信息。
在一种实施方式中,第一位姿确定模块1720,被配置为:
根据待定位图像的深度信息生成深度图像;
从深度图像中提取待定位图像的深度描述信息。
在一种实施方式中,第一位姿确定模块1720,被配置为:
从待定位图像中提取图像描述信息;
合并图像描述信息、语义描述信息和深度描述信息,得到待定位图像的特征描述信息。
在一种实施方式中,第一位姿确定模块1720,被配置为:
根据待定位图像的语义信息,识别待定位图像中的动态物体,并从待定位图像中剔除动态物体。
在一种实施方式中,第一位姿确定模块1720,被配置为:
获取待定位图像中各子区域的语义标签;
当子区域的语义标签属于预设标签集时,确定子区域为动态物体,并从待定位图像中剔除子区域。
在一种实施方式中,定位装置1700还可以包括地图数据建立模块,被配置为:
获取针对目标场景拍摄的多张基准图像与基准图像的深度信息;
对基准图像与基准图像的深度信息进行三维重建处理,得到目标场景的三维地图;
根据基准图像的语义信息,生成三维地图的语义信息,并剔除三维地图中的动态物体,得到目标场景的地图数据。
在一种实施方式中,地图数据建立模块,被配置为:
在对基准图像与基准图像的深度信息进行三维重建处理之前,对基准图像的深度信息进行补全处理。
在一种实施方式中,投影图像获取模块1730,被配置为:
利用第一位姿,将地图数据重投影至待定位图像的平面,生成投影图像。
在一种实施方式中,第二位姿确定模块1740,被配置为:
基于待定位图像的语义信息与投影图像的语义信息,建立语义代价项;
基于待定位图像的深度信息与投影图像的深度信息,建立深度信息代价项;
根据语义代价项和深度信息代价项建立代价函数;
通过优化代价函数,得到第二位姿。
在一种实施方式中,第二位姿确定模块1740,被配置为:
获取待定位图像的第一语义分割图像以及投影图像的第二语义分割图像;
根据第一语义分割图像与第二语义分割图像中语义相同的像素点数量,建立语义代价项。
在一种实施方式中,第二位姿确定模块1740,被配置为:
确定第一语义分割图像中各第一子区域的语义标签,以及第二语义分割图像中各第二子区域的语义标签;
将语义标签相同的第一子区域与第二子区域形成子区域对;
计算每个子区域对中像素点的交并比,并对各子区域对中像素点的交并比取平均,以建立语义代价项。
在一种实施方式中,第二位姿确定模块1740,被配置为:
基于待定位图像中各像素点的深度值与投影图像中对应的像素点的深度值之差,建立深度信息代价项。
在一种实施方式中,第二位姿确定模块1740,被配置为执行以下迭代过程:
将待定位图像的语义信息和深度信息、投影图像的语义信息和深度信息代入代价函数,判断是否达到收敛条件;
当达到收敛条件时,输出第一位姿,以作为第二位姿;
当未达到收敛条件时,更新第一位姿,并利用更新后的第一位姿对地图数据进行重投影,以更新投影图像。
在一种实施方式中,上述收敛条件可以包括以下至少一条:
①代价函数在本轮迭代中的迭代差值为负且大于第一阈值;迭代差值为代价函数在相邻两轮迭代中的后一轮函数值减去前一轮函数值;
②代价函数在连续M轮迭代中的迭代差值均为正,M为不小于2的正整数;
③代价函数在连续N轮迭代中的迭代差值均为负且大于第二阈值,N为不小于2的正整数;
④达到预设迭代轮数。
本公开的示例性实施方式还提供另一种基于语义和深度信息的定位装置。参考图18所示,该定位装置1800可以包括:
待定位图像获取模块1810,用于获取针对目标场景所拍摄的待定位图像与待定位图像的深度信息;
第一位姿确定模块1820,用于根据待定位图像的语义信息和深度信息,匹配待定位图像与目标场景的地图数据,确定待定位图像的第一位姿;
投影图像获取模块1830,用于利用第一位姿,从地图数据中获取待定位图像对应的投影图像;
第二位姿确定模块1840,用于基于待定位图像与投影图像,确定待定位图像对应的第二位姿。
在一种实施方式中,第二位姿确定模块1840,被配置为:
通过比较待定位图像的语义信息与投影图像的语义信息,或者比较待定位图像的深度信息与投影图像的深度信息,确定待定位图像对应的第二位姿。
上述装置1700与装置1800中各部分的具体细节在方法部分实施方式中已经详细说明,因而不再赘述。
本公开的示例性实施方式还提供了一种计算机可读存储介质,可以实现为一种程序产品的形式,其包括程序代码,当程序产品在电子设备上运行时,程序代码用于使电子设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。在一种实施方式中,该程序产品可以实现为便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在电子设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的示例性实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施方式。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施方式仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限定。

Claims (22)

1.一种基于语义和深度信息的定位方法,其特征在于,包括:
获取针对目标场景所拍摄的待定位图像与所述待定位图像的深度信息;
确定所述待定位图像对应的第一位姿;
利用所述第一位姿,从所述目标场景的地图数据中获取所述待定位图像对应的投影图像;
基于所述待定位图像的语义信息与所述投影图像的语义信息,所述待定位图像的深度信息与所述投影图像的深度信息,确定所述待定位图像对应的第二位姿。
2.根据权利要求1所述的方法,其特征在于,所述确定所述待定位图像对应的第一位姿,包括:
根据所述待定位图像的语义信息和深度信息,匹配所述待定位图像与所述地图数据,确定所述第一位姿。
3.根据权利要求2所述的方法,其特征在于,所述根据所述待定位图像的语义信息和深度信息,匹配所述待定位图像与所述地图数据,确定所述第一位姿,包括:
根据所述待定位图像的语义信息和深度信息,生成所述待定位图像的特征描述信息;
匹配所述待定位图像的特征描述信息与所述地图数据中局部地图数据的特征描述信息,根据匹配结果确定所述第一位姿。
4.根据权利要求3所述的方法,其特征在于,所述根据所述待定位图像的语义信息和深度信息,生成所述待定位图像的特征描述信息,包括:
对所述待定位图像进行语义分割,根据语义分割的结果提取所述待定位图像的语义描述信息;
根据所述待定位图像的深度信息,获取所述待定位图像的深度描述信息;
基于所述语义描述信息和所述深度描述信息,生成所述待定位图像的特征描述信息。
5.根据权利要求4所述的方法,其特征在于,所述根据所述待定位图像的深度信息,获取所述待定位图像的深度描述信息,包括:
根据所述待定位图像的深度信息生成深度图像;
从所述深度图像中提取所述待定位图像的深度描述信息。
6.根据权利要求4所述的方法,其特征在于,所述根据所述待定位图像的语义信息和深度信息,生成所述待定位图像的特征描述信息,还包括:
从所述待定位图像中提取图像描述信息;
所述基于所述语义描述信息和所述深度描述信息,生成所述待定位图像的特征描述信息,包括:
合并所述图像描述信息、所述语义描述信息和所述深度描述信息,得到所述待定位图像的特征描述信息。
7.根据权利要求3所述的方法,其特征在于,在根据所述待定位图像的语义信息和深度信息,生成所述待定位图像的特征描述信息之前,所述方法还包括:
根据所述待定位图像的语义信息,识别所述待定位图像中的动态物体,并从所述待定位图像中剔除所述动态物体。
8.根据权利要求7所述的方法,其特征在于,所述根据所述待定位图像的语义信息,识别所述待定位图像中的动态物体,并从所述待定位图像中剔除所述动态物体,包括:
获取所述待定位图像中各子区域的语义标签;
当所述子区域的语义标签属于预设标签集时,确定所述子区域为动态物体,并从所述待定位图像中剔除所述子区域。
9.根据权利要求1所述的方法,其特征在于,所述目标场景的地图数据,通过以下方式建立:
获取针对所述目标场景拍摄的多张基准图像与所述基准图像的深度信息;
对所述基准图像与所述基准图像的深度信息进行三维重建处理,得到所述目标场景的三维地图;
根据所述基准图像的语义信息,生成所述三维地图的语义信息,并剔除所述三维地图中的动态物体,得到所述目标场景的地图数据。
10.根据权利要求9所述的方法,其特征在于,在对所述基准图像与所述基准图像的深度信息进行三维重建处理之前,所述方法还包括:
对所述基准图像的深度信息进行补全处理。
11.根据权利要求1所述的方法,其特征在于,所述利用所述第一位姿,从所述目标场景的地图数据中获取所述待定位图像对应的投影图像,包括:
利用所述第一位姿,将所述地图数据重投影至所述待定位图像的平面,生成所述投影图像。
12.根据权利要求1所述的方法,其特征在于,所述基于所述待定位图像的语义信息与所述投影图像的语义信息,所述待定位图像的深度信息与所述投影图像的深度信息,确定所述待定位图像对应的第二位姿,包括:
基于所述待定位图像的语义信息与所述投影图像的语义信息,建立语义代价项;
基于所述待定位图像的深度信息与所述投影图像的深度信息,建立深度信息代价项;
根据所述语义代价项和所述深度信息代价项建立代价函数;
通过优化所述代价函数,得到所述第二位姿。
13.根据权利要求12所述的方法,其特征在于,所述基于所述待定位图像的语义信息与所述投影图像的语义信息,建立语义代价项,包括:
获取所述待定位图像的第一语义分割图像以及所述投影图像的第二语义分割图像;
根据所述第一语义分割图像与所述第二语义分割图像中语义相同的像素点数量,建立所述语义代价项。
14.根据权利要求13所述的方法,其特征在于,所述根据所述第一语义分割图像与所述第二语义分割图像中语义相同的像素点数量,建立所述语义代价项,包括:
确定所述第一语义分割图像中各第一子区域的语义标签,以及所述第二语义分割图像中各第二子区域的语义标签;
将所述语义标签相同的所述第一子区域与所述第二子区域形成子区域对;
计算每个所述子区域对中像素点的交并比,并对各所述子区域对中像素点的交并比取平均,以建立所述语义代价项。
15.根据权利要求12所述的方法,其特征在于,所述基于所述待定位图像的深度信息与所述投影图像的深度信息,建立深度信息代价项,包括:
基于所述待定位图像中各像素点的深度值与所述投影图像中对应的像素点的深度值之差,建立所述深度信息代价项。
16.根据权利要求12所述的方法,其特征在于,所述通过优化所述代价函数,得到所述第二位姿,包括以下迭代过程:
将所述待定位图像的语义信息和深度信息、所述投影图像的语义信息和深度信息代入所述代价函数,判断是否达到收敛条件;
当达到收敛条件时,输出所述第一位姿,以作为所述第二位姿;
当未达到收敛条件时,更新所述第一位姿,并利用更新后的所述第一位姿对所述地图数据进行重投影,以更新所述投影图像。
17.根据权利要求16所述的方法,其特征在于,所述收敛条件包括以下至少一条:
所述代价函数在本轮迭代中的迭代差值为负且大于第一阈值;所述迭代差值为所述代价函数在相邻两轮迭代中的后一轮函数值减去前一轮函数值;
所述代价函数在连续M轮迭代中的所述迭代差值均为正,M为不小于2的正整数;
所述代价函数在连续N轮迭代中的所述迭代差值均为负且大于第二阈值,N为不小于2的正整数;
达到预设迭代轮数。
18.一种基于语义和深度信息的定位方法,其特征在于,包括:
获取针对目标场景所拍摄的待定位图像与所述待定位图像的深度信息;
根据所述待定位图像的语义信息和深度信息,匹配所述待定位图像与所述目标场景的地图数据,确定所述待定位图像的第一位姿;
利用所述第一位姿,从所述地图数据中获取所述待定位图像对应的投影图像;
基于所述待定位图像与所述投影图像,确定所述待定位图像对应的第二位姿。
19.一种基于语义和深度信息的定位装置,其特征在于,包括:
待定位图像获取模块,用于获取针对目标场景所拍摄的待定位图像与所述待定位图像的深度信息;
第一位姿确定模块,用于确定所述待定位图像对应的第一位姿;
投影图像获取模块,用于利用所述第一位姿,从所述目标场景的地图数据中获取所述待定位图像对应的投影图像;
第二位姿确定模块,用于基于所述待定位图像的语义信息与所述投影图像的语义信息,所述待定位图像的深度信息与所述投影图像的深度信息,确定所述待定位图像对应的第二位姿。
20.一种基于语义和深度信息的定位装置,其特征在于,包括:
待定位图像获取模块,用于获取针对目标场景所拍摄的待定位图像与所述待定位图像的深度信息;
第一位姿确定模块,用于根据所述待定位图像的语义信息和深度信息,匹配所述待定位图像与所述目标场景的地图数据,确定所述待定位图像的第一位姿;
投影图像获取模块,用于利用所述第一位姿,从所述地图数据中获取所述待定位图像对应的投影图像;
第二位姿确定模块,用于基于所述待定位图像与所述投影图像,确定所述待定位图像对应的第二位姿。
21.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至18任一项所述的方法。
22.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至18任一项所述的方法。
CN202011241694.XA 2020-11-09 基于语义和深度信息的定位方法、装置、介质与设备 Active CN112381828B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011241694.XA CN112381828B (zh) 2020-11-09 基于语义和深度信息的定位方法、装置、介质与设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011241694.XA CN112381828B (zh) 2020-11-09 基于语义和深度信息的定位方法、装置、介质与设备

Publications (2)

Publication Number Publication Date
CN112381828A true CN112381828A (zh) 2021-02-19
CN112381828B CN112381828B (zh) 2024-06-07

Family

ID=

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113240723A (zh) * 2021-05-18 2021-08-10 中德(珠海)人工智能研究院有限公司 一种单目深度估计方法、装置以及深度评估设备
CN113393515A (zh) * 2021-05-21 2021-09-14 杭州易现先进科技有限公司 一种结合场景标注信息的视觉定位方法和系统
CN116109893A (zh) * 2023-04-11 2023-05-12 宁波长壁流体动力科技有限公司 一种矿井场景图像分类方法、系统及存储介质
CN117078985A (zh) * 2023-10-17 2023-11-17 之江实验室 一种景象匹配方法、装置、存储介质及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019153245A1 (en) * 2018-02-09 2019-08-15 Baidu.Com Times Technology (Beijing) Co., Ltd. Systems and methods for deep localization and segmentation with 3d semantic map
CN110853085A (zh) * 2018-08-21 2020-02-28 深圳地平线机器人科技有限公司 基于语义slam的建图方法和装置及电子设备
CN111325796A (zh) * 2020-02-28 2020-06-23 北京百度网讯科技有限公司 用于确定视觉设备的位姿的方法和装置
CN111583331A (zh) * 2020-05-12 2020-08-25 北京轩宇空间科技有限公司 用于同时定位和地图构建的方法及装置
CN111724439A (zh) * 2019-11-29 2020-09-29 中国科学院上海微系统与信息技术研究所 一种动态场景下的视觉定位方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019153245A1 (en) * 2018-02-09 2019-08-15 Baidu.Com Times Technology (Beijing) Co., Ltd. Systems and methods for deep localization and segmentation with 3d semantic map
CN110853085A (zh) * 2018-08-21 2020-02-28 深圳地平线机器人科技有限公司 基于语义slam的建图方法和装置及电子设备
CN111724439A (zh) * 2019-11-29 2020-09-29 中国科学院上海微系统与信息技术研究所 一种动态场景下的视觉定位方法及装置
CN111325796A (zh) * 2020-02-28 2020-06-23 北京百度网讯科技有限公司 用于确定视觉设备的位姿的方法和装置
CN111583331A (zh) * 2020-05-12 2020-08-25 北京轩宇空间科技有限公司 用于同时定位和地图构建的方法及装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113240723A (zh) * 2021-05-18 2021-08-10 中德(珠海)人工智能研究院有限公司 一种单目深度估计方法、装置以及深度评估设备
CN113393515A (zh) * 2021-05-21 2021-09-14 杭州易现先进科技有限公司 一种结合场景标注信息的视觉定位方法和系统
CN113393515B (zh) * 2021-05-21 2023-09-19 杭州易现先进科技有限公司 一种结合场景标注信息的视觉定位方法和系统
CN116109893A (zh) * 2023-04-11 2023-05-12 宁波长壁流体动力科技有限公司 一种矿井场景图像分类方法、系统及存储介质
CN116109893B (zh) * 2023-04-11 2023-09-15 宁波长壁流体动力科技有限公司 一种矿井场景图像分类方法、系统及存储介质
CN117078985A (zh) * 2023-10-17 2023-11-17 之江实验室 一种景象匹配方法、装置、存储介质及电子设备
CN117078985B (zh) * 2023-10-17 2024-01-30 之江实验室 一种景象匹配方法、装置、存储介质及电子设备

Similar Documents

Publication Publication Date Title
US20240112035A1 (en) 3d object recognition using 3d convolutional neural network with depth based multi-scale filters
CN112270710B (zh) 位姿确定方法、位姿确定装置、存储介质与电子设备
CN111598776B (zh) 图像处理方法、图像处理装置、存储介质与电子设备
CN112269851B (zh) 地图数据更新方法、装置、存储介质与电子设备
CN113096185B (zh) 视觉定位方法、视觉定位装置、存储介质与电子设备
CN111429517A (zh) 重定位方法、重定位装置、存储介质与电子设备
US20160125626A1 (en) Method and an apparatus for automatic segmentation of an object
CN112288816B (zh) 位姿优化方法、位姿优化装置、存储介质与电子设备
CN112270755B (zh) 三维场景构建方法、装置、存储介质与电子设备
CN113822427A (zh) 一种模型训练的方法、图像匹配的方法、装置及存储介质
CN115222974A (zh) 特征点匹配方法及装置、存储介质及电子设备
CN114495916A (zh) 背景音乐的插入时间点确定方法、装置、设备和存储介质
CN116129228B (zh) 图像匹配模型的训练方法、图像匹配方法及其装置
CN117237761A (zh) 对象重识别模型的训练方法、对象重识别方法和装置
CN112381828B (zh) 基于语义和深度信息的定位方法、装置、介质与设备
CN114241039A (zh) 地图数据处理方法、装置、存储介质与电子设备
CN112381828A (zh) 基于语义和深度信息的定位方法、装置、介质与设备
CN114419189A (zh) 地图构建方法及装置、电子设备、存储介质
CN116883708A (zh) 图像分类方法、装置、电子设备及存储介质
CN111859001B (zh) 图像相似度检测方法、装置、存储介质与电子设备
US20240104781A1 (en) 3D Map Compression Method and Apparatus, and 3D Map Decompression Method and Apparatus
Thinh et al. Depth-aware salient object segmentation
WO2021244604A1 (en) Visual-based relocalization method, and electronic device
CN118053009A (zh) 视差处理方法、视差处理装置、介质与电子设备
He et al. Efficient image retrieval based mobile indoor localization

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