CN113362387A - 一种动态环境移动机器人的环境地图构建方法 - Google Patents
一种动态环境移动机器人的环境地图构建方法 Download PDFInfo
- Publication number
- CN113362387A CN113362387A CN202110389497.0A CN202110389497A CN113362387A CN 113362387 A CN113362387 A CN 113362387A CN 202110389497 A CN202110389497 A CN 202110389497A CN 113362387 A CN113362387 A CN 113362387A
- Authority
- CN
- China
- Prior art keywords
- image frame
- image
- determining
- frame
- region
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/194—Segmentation; Edge detection involving foreground-background segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/579—Depth or shape recovery from multiple images from motion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
Abstract
本申请公开了一种动态环境移动机器人的环境地图构建方法,所述方法包括获取目标场景的若干图像帧,确定若干图像帧中的各图像帧各自对应的分割图像;基于各分割图像确定各图像帧各自对应的相机姿态;基于自适应区域生长算法修正各分割图像,并将修正后的各分割图像中的运动物体区域去除以得到各图像帧各自对应的参考图像帧;基于各参考图像帧及各相机姿态,确定目标场景对应的环境地图。本申请通过对图像帧进行分割确定图像帧,在通过对分割图像中的运动物体区域进行修正,这样可以提高运动物体区域的准确性,进而在基于去除运动物体区域的参考图像帧来构建环境地图,可以减少运动物体对环境地图的影响,从而可以提高环境地图的准确性。
Description
技术领域
本申请涉及移动机器人技术领域,特别涉及一种动态环境移动机器人的环境地图构建方法。
背景技术
移动机器人在位置环境中进行定位与环境地图构建是移动机器人的一个根本问题,通常我们把这个问题称为SLAM(Simultaneous Localization And Mapping,同时定位与地图构建)。SLAM中常用激光雷达、惯性传感器或者相机来实现采集数据,其中,由于相机具有成本低以及能获得的信息量丰富的特性,使得基于相机的视觉SLAM成为了应用研发的热点。
传统的视觉SLAM普遍是基于静态环境的假设来进行移动机器人的定位。使用ORB(Oriented Fast and Rotated Brief)特征提取的方法对图片中的特征点进行提取,然后构建世界地图点,从而进行自身位置估计得。在静态环境假设下,认为所提取的特征点都是为静态点,都可以进行自身位置估计得有效点。但是,由于动态环境中存在运动物体,运动物体在空间中的位置存在随时间变化而变化,从而导致构建地图中存在运动物体残影,不利于对空间环境的感知。
发明内容
本申请要解决的技术问题在于,针对现有技术的不足,提供一种动态环境移动机器人的环境地图构建方法。
为了解决上述技术问题,本申请实施例第一方面提供了一种动态环境移动机器人的环境地图构建方法,所述环境地图构建方法包括:
获取目标场景的若干图像帧,确定若干图像帧中的各图像帧各自对应的分割图像;
基于各分割图像确定各图像帧各自对应的相机姿态;
基于自适应区域生长算法修正各分割图像,并将修正后的各分割图像中的运动物体区域去除以得到各图像帧各自对应的参考图像帧;
基于各参考图像帧以及各参考图像帧各自对应的相机姿态,确定所述目标场景对应的环境地图。
所述动态环境移动机器人的环境地图构建方法,其中,所述分割图像包括运动物体区域以及背景区域,所述背景区域为所述图像帧中除运动物体所处区域的图像区域。
所述动态环境移动机器人的环境地图构建方法,其中,所述确定若干图像帧中的各图像帧各自对应的分割图像具体包括:
对于若干图像帧中的每个图像帧,确定该图像帧对应的候选背景区域以及物体区域;
基于所述候选背景区域,确定该图像帧对应的候选相机姿态;
基于所述候选背景区域、所述物体区域、该图像帧的前一图像帧以及所述候选相机姿态,确定该图像帧中的运动物体区域;
基于所述运动物体区域确定该图像帧对应的背景区域,以得到各图像帧各自对应的分割图像。
所述动态环境移动机器人的环境地图构建方法,其中,所述基于所述候选背景区域、所述物体区域、该图像帧的前一图像帧以及所述候选相机姿态,确定该图像帧中的运动物体区域具体包括:
确定候选背景区域中在所述前一图像帧中存在匹配特征点的目标背景特征点,以及物体区域中在所述前一图像帧中存在匹配特征点的目标物体特征点;
基于所述候选相机姿态,确定各目标背景特征点与各自对应的匹配特征点的背景误差值,以及各目标物体特征点与各自对应的匹配特征点的物体误差值;
基于各背景误差值及各物体误差值,确定该图像帧中的运动特征点;
基于确定的运动特征点,确定该图像帧中的运动物体区域。
所述动态环境移动机器人的环境地图构建方法,其中,所述基于自适应区域生长算法修正各分割图像具体包括:
对于每个分割图像,基于该分割图像中的各像素点各自对应的深度值确定种子起点;
将该目标像素点作为种子起点,通过自适应区域生长算法确定该图像帧对应的目标运动物体区域;
将该目标运动物体区域作为该分割图像的运动物体区域,以修正该分割图像。
所述动态环境移动机器人的环境地图构建方法,其中,所述基于该分割图像中的各像素点各自对应的深度值确定种子起点具体包括:
获取该分割图像中的各像素点各自对应的深度值的深度均值;
基于深度均值在该分割图像中选取深度值距离所述深度均值最近的像素点,并将选取到像素点作为种子起点。
所述动态环境移动机器人的环境地图构建方法,其中,所述基于各参考图像帧以及各参考图像帧各自对应的相机姿态,确定所述目标场景对应的环境地图具体包括:
对于若干参考图像帧中的每个参考图像帧,基于该参考图像帧对应的相机姿态,确定该参考图像帧对应的单帧点云数据;
基于各单帧点云数据,确定所述目标场景对应的环境地图。
所述动态环境移动机器人的环境地图构建方法,其中,所述基于各单帧点云数据,确定所述目标场景对应的环境地图具体包括:
将各单帧点云数据拼接以得到环境稠密点云数据;
通过三角剖分将所述环境稠密点云数据曲面化,以得到所述目标场景对应的环境地图。
所述动态环境移动机器人的环境地图构建方法,其中,所述将各单帧点云数据拼接以得到环境稠密点云数据之后,所述方法还包括:
对所述环境稠密点云数据进行降采样,并将降采样后的环境稠密点云数据作为环境稠密点云数据。
所述动态环境移动机器人的环境地图构建方法,其中,所述基于各参考图像帧以及各参考图像帧各自对应的相机姿态,确定所述目标场景对应的环境地图具体包括:
在若干图像帧中选取若干关键图像帧;
基于选取到若干关键图像帧各自对应的参考图像帧,以及各关键图像帧各自对应的相机姿态,确定所述目标场景对应的环境地图。
所述动态环境移动机器人的环境地图构建方法,其中,所述在若干图像帧中选取若干关键图像帧具体包括:
对于若干图像帧中的每个图像帧,获取该图像帧与前序关键图像帧之间的间隔帧数,其中,前序关键图像帧为按照采集时间位于该图像帧前,且与该图像帧距离最近的关键图像帧;
当间隔帧数达到预设帧数阈值时,基于该图像帧的目标相机姿态以及所述前序关键图像帧的目标相机姿态,确定该图像帧与前序关键图像帧的相机姿态变化值;
当所述相机姿态变化值达到预设变化阈值时,确定该图像帧与局部环境地图的匹配度,其中,所述局部环境地图为基于该图像帧前的关键图像帧拼接得到的;
当所述匹配度小于预设匹配度阈值时,将所述图像帧作为关键图像帧。
有益效果:与现有技术相比,本申请提供了一种动态环境移动机器人的环境地图构建方法,所述方法包括获取目标场景的若干图像帧,确定若干图像帧中的各图像帧各自对应的分割图像;基于各分割图像确定各图像帧各自对应的相机姿态;基于自适应区域生长算法修正各分割图像,并将修正后的各分割图像中的运动物体区域去除以得到各图像帧各自对应的参考图像帧;基于各参考图像帧以及各参考图像帧各自对应的相机姿态,确定所述目标场景对应的环境地图。本申请通过对图像帧进行分割确定图像帧,在通过对分割图像中的运动物体区域进行修正,这样可以提高运动物体区域的准确性,进而在基于去除运动物体区域的参考图像帧来构建环境地图,可以减少运动物体对环境地图的影响,从而可以提高环境地图的准确性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员而言,在不符创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的动态环境移动机器人的环境地图构建方法的流程图。
图2为本申请提供的动态环境移动机器人的环境地图构建方法的流程示例图。
图3为本申请提供的动态环境移动机器人的环境地图构建方法中的图像帧与前一图像帧的匹配示例图。
图4为本申请提供的动态环境移动机器人的环境地图构建方法中的误差变化图。
图5为无去除运动物体特征点的特征图像。
图6为去除运动物体特征点的特征图像。
图7为申请提供的动态环境移动机器人的环境地图构建方法的一图像帧的示例图。
图8为图7所述的图像帧对应的不完整分割图像。
图9为图7所述的图像帧对应的完整分割图像。
图10为小孔成像原理图。
图11为基于未去除运动物体区域的分割图像确定的环境地图。
图12为基于未修正的分割图像构建的环境地图。
图13为采用本实施例中的过自适应区域生长算法修改的环境地图。
图14为曲面化的流程示意图。
图15为三角剖分的流程示意图。
图16为无去除运动物体构建的环境地图的一个示例。
图17为去除运动物体构建的环境地图的一个示例。
图18为无去除运动物体构建的环境地图的一个示例。
图19为去除运动物体构建的环境地图的一个示例。
图20为无去除运动物体确定的曲面构图的一个示例。
图21为去除运动物体确定的曲面构图的一个示例。
图22为本申请提供的终端设备的结构原理图。
具体实施方式
本申请提供一种动态环境移动机器人的环境地图构建方法,为使本申请的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本申请进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
具体实现中,本申请实施例中描述的终端设备包括但不限于诸如具有触摸敏感表面(例如,触摸显示屏和/或触摸板)的移动电话,膝上形计算机或平板计算机之类的其他便携式设备。还应该理解的是,在某些实施例中,所述设备并非便携式通讯设备,而是具有触摸敏感表面(例如,触摸显示屏和/或触摸板)的台式计算机。
在接下来的讨论中,描述了包括显示器和触摸敏感表面的终端设备。然而,应当理解的是,终端设备还可以包括诸如物理键盘、鼠标和/或控制杆的一个或多个其他物理用户接口设备。
终端设备支持各种应用程序,例如以下中的一个或多个:绘图应用程序、演示应用程序、文字处理应用程序、视频会议应用程序、盘刻录应用程序、电子表格应用程序、游戏应用程序、电话应用程序、视频会议应用程序、电子邮件由于程序、即时消息收发应用程序、锻炼支持应用程序、照片管理应用程序、数据相机应用程序、数字摄像机应用程序、web浏览应用程序、数字音乐播放器应用程序和/或数字视频播放应用程序等。
可以在终端设备上执行的各种应用程序可以使用诸如触摸敏感表面的至少一个公共物理用户接口设备。可以在应用程序之间和/或相应应用程序内调整和/或改变触摸敏感表面的第一或多个功能以及终端上显示的相应信息。这样,终端的公共物理框架(例如,触摸敏感表面)可以支持具有对用户而言直观且透明的用户界面的各种应用程序。
应理解,本实施例中各步骤的序号和大小并不意味着执行顺序的先后,各过程的执行顺序以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
发明人经过研究发现,移动机器人在位置环境中进行定位与环境地图构建是移动机器人的一个根本问题,通常我们把这个问题称为SLAM(Simultaneous Localization AndMapping,同时定位与地图构建)。SLAM中常用激光雷达、惯性传感器或者相机来实现采集数据,其中,由于相机具有成本低以及能获得的信息量丰富的特性,使得基于相机的视觉SLAM成为了应用研发的热点。
传统的视觉SLAM普遍是基于静态环境的假设来进行移动机器人的定位。使用ORB(Oriented Fast and Rotated Brief)特征提取的方法对图片中的特征点进行提取,然后构建世界地图点,从而进行自身位置估计得。在静态环境假设下,认为所提取的特征点都是为静态点,都可以进行自身位置估计得有效点。但是,由于动态环境中存在运动物体,运动物体在空间中的位置存在随时间变化而变化,从而导致构建地图中存在运动物体残影,不利于对空间环境的感知。
为了解决上述问题,在本申请实施例中,获取目标场景的若干图像帧,确定若干图像帧中的各图像帧各自对应的分割图像;基于各分割图像确定各图像帧各自对应的相机姿态;基于自适应区域生长算法修正各分割图像,并将修正后的各分割图像中的运动物体区域去除以得到各图像帧各自对应的参考图像帧;基于各参考图像帧以及各参考图像帧各自对应的相机姿态,确定所述目标场景对应的环境地图。本申请通过对图像帧进行分割确定图像帧,在通过对分割图像中的运动物体区域进行修正,这样可以提高运动物体区域的准确性,进而在基于去除运动物体区域的参考图像帧来构建环境地图,可以减少运动物体对环境地图的影响,从而可以提高环境地图的准确性。
下面结合附图,通过对实施例的描述,对申请内容作进一步说明。
本实施例提供了一种动态环境移动机器人的环境地图构建方法,如图1和图2所示,所述方法包括:
S10、获取目标场景的若干图像帧,确定若干图像帧中的各图像帧各自对应的分割图像。
具体地,所述若干图像帧中的每个图像帧均为通过移动机器人自身配置的成像模组拍摄得到的,并且若干图像帧可以移动机器人在预设时间段内采集到的图像帧,例如,若干图像帧为移动机器人在预设时间段内采集到的连续图像帧。此外,成像模组可以为摄像头、单目相机以及双目相机等等。例如,所述移动机器人配置都深度相机,通过深度相机拍摄图像帧,使得图像帧携带有深度信息,这样可以解决尺度因子的问题,从而可以使得定位精度更加准确。
所述分割图像包括运动物体区域以及背景区域,所述运动物体区域为图像帧对应的拍摄场景中的运动物体(例如,人、动物、汽车等)所占的图像区域,背景区域为图像帧去除运动物体所占的图像区域外的图像区域。在本实施例的一个实现方式中,所述确定若干图像帧中的各图像帧各自对应的分割图像具体包括:
A10、对于若干图像帧中的每个图像帧,确定该图像帧对应的候选背景区域以及物体区域;
A20、基于所述候选背景区域,确定该图像帧对应的候选相机姿态;
A30、基于所述候选背景区域、所述物体区域、该图像帧的前一图像帧以及所述候选相机姿态,确定该图像帧中的运动物体区域;
A40、基于所述运动物体区域确定该图像帧对应的背景区域,以得到各图像帧各自对应的分割图像。
具体地,在所述步骤A10中,各图像帧中的每个图像帧均携带拍摄场景中的背景以及位于拍摄场景内的物体,并且拍摄场景中的背景在图像帧中所占的候选背景区域,以及拍摄场景的物体在图像帧中所占的物体区域可以通过分割网络模型对图像帧进行分割来得到。相应的,所述确定该图像帧对应的候选背景区域以及物体区域具体包括:
将图像帧输入经过训练的分割网络模型,通过所述分割网络模型输出图像帧对应的候选背景区域以及物体区域。
具体地,所述分割网络模型为经过训练的深度学习模块,分割网络模型输入项为图像帧,输出项为图像帧中的物体区域。可以理解的是,在将图像帧输入至分割网络模型后,分割网络模型输出携带有物体区域标注的标注图像,在获取到标注图像后,可以基于标注图像确定图像帧中的物体区域,并将图像帧中去除物体区域的图像区域作为图像帧的候选背景区域,以得到图像帧的候选背景区域以及物体区域。
在本实施例的一个实现方式中,所述分割网络模型可以采用yolact++网络模型,通过yolact++网络模型对图像帧进行实例分割,以得到图像帧中的物体区域,例如,人,车以及动物等对应到的物体区域。此外,图像帧可以包括若干物体(例如,人、小狗以及小猫等),相应的,物体区域也可以包括若干物体区域,若干物体区域中的每个物体区域对应的拍摄场景中的一个物体,并且各物体区域各自对应的物体不同。例如,拍摄场景中包括人体A和人体B,那么图像帧中包括人体区域a和人体区域b,人体A与人体区域a相对应,人体B与人体区域b相对应。在本实施例的一个具体实现方式中,为了提高计算速度,在通过分割网络模型时,可以对候选背景区域和物体区域进行特征点提取,以得到候选背景区域对应的背景特征点,以及物体区域对应的物体特征点,并采用背景特征点作为背景区域,采用物体特征点作为物体区域。
在所述步骤A20中,所述候选相机姿态为基于所述图像帧中的候选背景区域确定的,其中,所述候选背景区域为拍摄场景中的背景在图像帧中所占得到图像区域,所述候选背景区域中的每个特征点均可以认为是静态点,进而可以基于候选背景区域中来确定图像帧对应的候选相机姿态。
在本实施例的一个实现方式中,在基于所述候选背景区域,确定所述图像帧对应的候选相机姿态时,可以采用EPnP(Efficient Perspective-n-Point)和最小化重投影误差方式来确定图像帧对应的候选相机姿态。其中,PnP方式为根据四个不共面的控制点和空间点的位置关系以及空间点与图像帧的关系,确定各控制点在相机坐标系下的坐标,进而确定相机位姿,这样只用四个控制点来表示三维点,只需要针对四个控制点优化,从而可以提高相机姿态的确定速。
在本实施例的一个实现方式中,相机坐标系中的每个坐标点均可以表达式如下:
在确定各坐标点各自对应的表达式后,对多个坐标点进行相机旋转矩阵和位移向量的求解,得到候选相机位姿。和最小化重投影误差方式
在本实施例的一个实现方式中,通过上面的EPnP方式可以求得候选相机姿态(R,t),但是确定的候选相机位姿,并不是所有坐标点都可以使得重投影之后完全重合,从而需要对所求的候选相机位姿进行优化。所述优化过程可以为:
首先相机的投影模型方程为:
其中,si为尺度因子,K为相机内参,T为相机变换矩阵,Pi表示三维世界坐标点。
通过计算每个三维世界坐标点,投影到图像坐标系数,并且计算之间的距离作为代价函数,最小化代价函数可以找到最优的相机变换矩阵,表达式如下:
其中,Pi表示三维世界坐标点,pi表示投影图像中的二维坐标点。
利用列文伯格-马夸尔特方法对代价函数进行优化,以得到优化后的相机旋转矩阵和位移向量,并将优化后的相机旋转矩阵和位移向量作为目标图像对应的候选相机姿态。
在所述步骤A30中,所述前一图像帧的采集时刻位于图像帧的采集时刻之前,并且前一图像帧与图像帧相邻。运动物体区域为基于候选背景区域、所述物体区域、所述图像帧的前一图像帧以及所述候选相机姿态确定的目标图像中运动物体所对应的物体区域,其中,运动物体区域包含于物体区域中,例如,运动物体区域可以为物体区域中的部分图像区域,或者是,运动物体区域可以为物体区域中的全部图像区域。例如,物体区域包括若干物体区域,分别记为物体区域A和物体区域B,运动物体区域为物体区域A等。
在本实施例的一个实现方式中,所述基于所述候选背景区域、所述物体区域、所述图像帧的前一图像帧以及所述候选相机姿态,确定所述图像帧中的运动物体区域具体包括:
确定候选背景区域中在所述前一图像帧中存在匹配特征点的目标背景特征点,以及物体区域中在所述前一图像帧中存在匹配特征点的目标物体特征点;
基于所述候选相机姿态,确定各目标背景特征点与各自对应的匹配特征点的背景误差值,以及各目标物体特征点与各自对应的匹配特征点的物体误差值;
基于各背景误差值及各物体误差值,确定图像帧中的运动特征点;
基于确定的运动特征点,确定所述图像帧中的运动物体区域。
具体地,目标背景特征点为所述候选背景区域中的一特征点,并且在前一图像帧中存在与该特征点相匹配的匹配特征点,其中,目标背景特征点所对应的拍摄场景中的世界点与其对应的匹配特征点所对应的拍摄产假中的世界点相同,并且目标背景特征点所对应的拍摄场景中的世界点与其对应的匹配特征点所对应的拍摄产假中的世界点在相同坐标系下。例如,如图3所示,世界坐标系上的世界点P对应的图像帧I1中的特征点P1,并且该世界坐标系上的世界点P在图像帧I2中的特征点P2,那么将图像帧I1中的特征点P1作为目标特征点,图像帧I2中的特征点P2为特征点P1特征点。
此外,移动机器人在拍摄图像帧和拍摄前一图像帧的过程中会移动,使得图像帧的拍摄场景与前一图像帧的拍摄场景会有所不同。进而图像帧中的部分第一特征点在前一图像帧中不存在匹配特征点,其中,不存在匹配特征点的第一特征点可以部分包括于候选背景区域,部分包括于物体区域;或者是,全部包含于候选背景区域;或者是,全部包含于物体区域。基于此,在分别确定候选背景区域中的目标背景特征点,以及物体区域中的目标物体特征点,其中,目标物体特征点为所述物体区域中的一特征点,并且在前一图像帧中存在与该特征点相匹配的匹配特征点。
在本实施例的一个实现方式中,在确定候选背景区域中的目标背景特征点和物体区域中的目标物体特征点时,利用计算机多视图几何中的对极约束原理,如图3所示,图像帧中的特征点与前一图像帧中的特征点与世界点之间形成的平面与成像平面相交于两个匹配的特征点,并且在两个匹配特征点之间没有误差的情况下,两个匹配的特征点与相机变换的关系可以表示为:
其中,u2为匹配特征点,u1表示目标特征点,K为相机内参数,R为相机的旋转矩阵,t为相机的位移向量。
然而,在实际应用中,由于候选相机姿态会存在误差,从而使得式(1)不一定成立,从而需要对误差进行估计,以便于基于误差来确定物体区域中的运动物体区域。在本实施例的一个实现方式中,可以基于目标背景特征点与其对应的匹配特征点之间的误差来确定误差阈值,并基于误差阈值对目标物体特征点与其对应的匹配特征点的物体误差进行衡量,以便于确定目标物体特征点所对应的物体是否为运动物体。
基于此,所述基于所述候选相机姿态,确定各目标背景特征点与各自对应的匹配特征点的背景误差值,以及各目标物体特征点与各自对应的匹配特征点的物体误差值具体包括:
基于所述候选相机姿态,确定所述图像帧对应的变换矩阵;
对于各目标背景特征点和各目标物体特征点构成的目标特征点集合中的每个目标特征点,基于所述变换矩阵确定该目标特征点与其对应的匹配特征点,确定该目标特征点对应的目标误差值。
具体地,所述变化矩阵为基于候选相机姿态以及相机参数所述确定,用于将目标像素转换到世界坐标系内,其中,所述变化矩阵的计算公式可以为:
F=K-Tt×RK-1
其中,K为相机内参数,R为相机的旋转矩阵,t为相机的位移向量。
在获取到变化矩阵后,对于各目标背景特征点和各目标物体特征点构成的目标特征点集合中的每个目标特征点,将所述目标特征点进行齐次化,以将该目标特征点转换为三维特征点,并将转换得到的三维特征点作为目标特征点;并基于变化矩阵以及转换得到的三维特征点,计算该目标特征点对应的目标误差值,其中,该目标特征点对应的目标误差值的计算公式为:
其中,d表示目标误差值,F表示变换矩阵,u1表示目标特征点,u2表示目标特征点的匹配特征点,(Fu1)1表示该向量Fu1中的第1个向量元素,(Fu1)2表示向量Fu1中的第2个向量元素。
本实施例通过将目标特征点与其对应的匹配特征点构成一个四维向量进行估计,并且利用辛普森计算拟合二次曲面用的辛普森距离作为目标误差值,从而可以提高目标误差值的计算速度,以及目标误差值的准确性。
在本实施例的一个实现方式中,所述基于各背景误差值及各物体误差值,确定图像帧中的运动特征点具体包括:
基于各背景误差值,确定图像帧对应的误差阈值;
将各物体误差值分别与所述误差阈值进行比较,以选取物体误差值大于所述误差阈值的目标物体误差值;
将选取到的各目标物体误差值各自对应的目标物体特征点作为所述图像帧中的运动特征点。
具体地,由于候选背景区域中的背景特征点为静态点,背景特征点的运动姿态与相机姿态一致,从而可以随机选取一个背景误差值作为图像帧对应的误差阈值,并通过该误差阈值以及各目标物体误差值来确定物体区域中的运动特征点。这是由于运动物体不存在运动时,运动物体的位姿变换与相机变换一致,那么物体误差值与背景误差值基本相同,反之,如果运动物体存在运动,则物体误差值与背景误差值的差别会变大。由此,通过判断目标物体特征点与其对应的匹配特征点之间的物体误差值与误差阈值之间的大小关系来确定该目标物体特征点是否为运动特征点,例如,当目标物体特征点与其对应的匹配特征点之间的物体误差值大于误差阈值,则判定该目标物体特征点为运动特征点,即如满足表达式:
di>t
式中,di为第i个目标物体特征点对应的物体误差值,t为误差阈值。
在本实施例的一个实现方式中,由于在相机姿态估计过程中,估计得到的候选相机位姿与真实相机位姿之间可能会存在误差,并且在相机运动速度大于预设速度阈值时,图像帧与前一图像帧的候选背景区域和物体区域的提取,以及目标背景特征点和目标物体特征点的匹配均可能存在误差,如图4所示,会使得基于任一目标背景特征点对应的背景误差值作为预设阈值,或者基于一固定误差阈值对物体特征点是否为运动像素进行判断会存现误差。基于此,基于各背景误差值,确定图像帧对应的误差阈值时,可以使用自适应阈值的方式,计算目标背景特征点的背景误差值的均值,并将计算得到均值作为误差阈值,这样通过使用自适应阈值方法来进行运动物体的判断有着适用性强,鲁棒性好的优点。在一个具体实现方式中,所述误差阈值的计算公式可以为:
其中,dmean表示误差阈值,n表示目标背景特征点的数量,di表示第i个目标背景特征点的背景误差值。
进一步,在所述步骤A40中,所述物体区域包括若干物体区域;基于确定的运动特征点,确定所述图像帧中的运动物体区域具体包括:
对于每个物体区域,在所述运动特征点中选取位于该物体区域中的目标运动特征点,并确定选取的目标运动特征点的数量与该物体区域包括的特征点的数量的比值;
在若干物体区域中比值大于预设比值阈值的目标物体区域,并将选取的目标物体区域作为所述图像帧中的运动物体区域。
具体地,所述预设比值阈值为预先设置的,用于衡量物体区域是否为运动物体区域的依据,当物体区域中的目标运动特征点的数量与该物体区域包括的所有特征点的数量的比值大于预设比值阈值时,该物体区域为运动物体区域;反之,当物体区域中的目标运动特征点的数量与该物体区域包括的所有特征点的数量的比值小于或者等于预设比值阈值时,该物体区域不为运动物体区域。在本实施例的一个实现方式中,所述预设比值阈值大于50%,例如,60%等。
在本实施例的一个实现方式中,在采用目标图像帧与前一图像帧进行运动物体判断时,可能会因为误差等因素而导致运动物体判断不准确。从而,在基于图像帧和前一图像帧确定得到运动物体区域后,还可以通过物体跟踪方式确定该物体在图像帧的前预设数量帧中的运动状态,并结合获取到的运动状态来确定物体区域中的运动物体区域。基于此,所述基于所述候选背景区域、所述物体区域、所述图像帧的前一图像帧以及所述候选相机姿态,确定所述图像帧中的运动物体区域之后,所述方法还包括:
对于若干物体区域中的每个物体区域,获取该物体区域对应的候选运动状态,并获取所述候选运动状态对应的参照图像帧与所述图像帧之间的各候选图像帧中该物体区域对应的参考物体区域的参考运动状态;
基于所述候选运动状态、各参考运动状态以及所述图像帧对应的目标运动状态,确定该物体区域的运动状态;
当该物体区域的运动状态为运动时,将该物体区域作为所述图像帧中的运动物体区域;
当该动物体区域的运动状态为静止时,将该物体区域作为所述图像帧中的候选背景区域。
具体地,运动状态包括运动和静止,候选运动状态、参考运动状态以及目标运动状态均为运动和静止中的一种,例如,候选运动状态为运动,参考运动状态为静止,目标运动状态为运动等。此外,所述目标运动状态为物体区域在图像帧的运动状态,当物体区域在图像帧内为运动物体区域,则该物体区域的目标运动状态为运动,当当物体区域在图像帧内不为运动物体区域,则该物体区域的目标运动状态为静止。由此,在基于所述候选背景区域、所述物体区域、所述图像帧的前一图像帧以及所述候选相机姿态,确定所述图像帧中的运动物体区域之后,可以确定物体区域中的各物体区域的运动状态,当物体区域为运动物体区域时,物体区域的运动状态为运动,当物体区域不为运动物体区域时,物体区域的运动状态为静止。
所述候选运动状态为参照图像帧的运动状态,其中,所述参照图像帧的帧数为预设帧数阈值的倍数,并且所述参照图像为采集时间位于所述图像帧的采集时间之前且与图像帧的采集时间最近的图像帧。基于此,所述获取该物体区域对应的候选运动状态具体包括:
获取所述图像帧对应的参照图像帧;
将所述参照图像帧中该物体区域对应的候选物体区域的运动状态作为该物体区域对应的候选运动状态。
具体地,所述预设帧数阈值为预先设置的,通过预设帧数阈值来更新物体区域的候选运动状态,其中,所述候选运动状态可以作为一个配置参数存储,并且每间隔预设帧数阈值的图像帧更新一次所述配置参数,以更新候选运动状态,从而在获取所述图像帧对应的参照图像帧时,可以直接获取用于存储候选运动状态的配置参数,该配置参数中存储有各物体区域各自对应的候选运动状态,进而可以快速获取到该物体区域的运动状态。例如,移动机器人配置的相机以30帧/秒的帧率采集图像帧,预设帧数阈值为10帧,也就是0.3秒作为一个阶段,在10帧内持续计算同一物体对应的物体区域的运动状态,每10帧时对该物体的候选运动状态进行更新。
在本实施例的一个实现方式中,由于概率在0-1之间,若干图像帧的概率不断增加或者减少会使得概率超出该范围,从而采用加入和概率对数值来描述物体的运动状态,概率对数值的表达式可以为:
其中,y为概率对数值,P为物体运动概率。
利用概率对数值,对物体进行持续观测判断,如果当前图像帧观测判断物体对应的物体区域为运动物体区域时,物体的概率对数值加一,相反则减一。虽然对于物体的状态,使用概率对数有了一个持续的记录,但是一旦物体运动状态发生改变,例如从运动状态变为静止状态,或者从静止状态变为运动状态。所以这里每间隔预设帧数阈值的图像帧来更新物体的候选运动状态,并且当物体发生状态改变时,物体的运动概率也会发生改变。例如,每间隔预设帧数阈值的图像帧时,若干物体的概率对数值满足y≥0,则认为物体是运动的,将候选运动状态设置为1,反之则,将候选运动状态设置为-1。
在本实施例的一个实现方式中,参考运动状态为候选图像帧中与该物体区域对应的候选物体区域的运动状态,从而在获取到参考运动状态时,需要对物体进行追踪,以便于确定候选图像帧中与该物体区域对应的物体相同的候选物体区域,其中,参考图像帧与图像帧中可以存在一个候选图像帧,也可以存在多个候选图像帧,当存在一个候选图像帧时,可以直接将候选图像帧中的物体区域和图像帧中的物体区域进行匹配,以确定各物体区域对应的候选物体区域;当存在多个候选图像帧时,在确定每个候选图像帧的运动状态时,均会确定其与其对应的前一图像帧中的物物体匹配性,从而在确定该候选图像帧与其对应的前一图像帧中的物体匹配性时,记录各物体区域的对应关系即可,这样在使用时可以直接获取到图像帧的前一图像之前的各候选图像帧的各物体与图像帧的前一图像中的各物体的对应的关系,从而仅需要计算图像帧与其对应的前一图像帧的对应关系即可。
基于此,所述获取所述候选运动状态对应的图像帧与所述图像帧之间的各候选图像帧中该物体区域对应的参考物体区域的参考运动状态之前,所述方法还可以包括确定图像帧与其对应的前一图像帧中的各物体区域的对应关系的过程,该过程具体可以包括:
对于若干物体区域中的每个物体区域,确定该运动物体区域的区域位置与所述前一图像帧中的各参考运动物体区域的区域位置的空间位置匹配度,以及该运动物体区域中的特征点与各参考运动物体区域的特征点的匹配系数;
基于确定的所有空间位置匹配度确定空间位置相似矩阵,并基于确定的所有匹配系数,确定特征相似度矩阵;
基于所述空间位置相似矩阵以及所述特征相似度矩阵,确定各运动物体区域对应给的参考运动物体区域。
具体地,为了进行运动物体的连续多帧跟踪判断,需要对物体进行跟踪,本实施例采用基于卡尔曼滤波和图像特征融合的方法进行运动物体跟踪,卡尔曼滤波方程如下:
其中,xk为k时刻的状态,Ak为状态转移矩阵,uk为k时刻的输入量,wk为过程噪声,zk为k时刻的测量值,Ck为观测矩阵,vk为观测噪声。
由卡尔曼滤波方程中的上式可知,通过上图像帧的状态及图像帧的输入,可以估计图像帧的物体状态,尔曼滤波方程中的下式为运动方程,通过运动状态计算物体的位置。对于图像帧,通过计算可以得到图像帧中各个跟踪物体的估计位置,然后根据图像帧检测的各个物体的位置进行对比,就能计算跟踪物体和检测物体之间的空间位置匹配度,空间位置匹配度的表达式可以为:
其中,areai为第i个检测目标矩形框的面积,areaj为表示第j个被跟踪目标矩形框的面积,areain为两个矩形重叠区域的面积,iouij为第i个检测目标与第j个被跟踪目标间的重叠率。
通过各个跟踪物体与各个检测物体的重叠率关系构建空间位置相似矩阵:
然后计算特征点匹配相似度进行特征融合,首先由于在整体框架中,我们进行了ORB特征点提取,可以得到跟踪物体和检测物体的特征点,然后进行ORB特征点匹配,可以得到跟踪物体和检测物体的匹配点数,计算两帧间匹配点数占特征点总数的比例作为匹配系数,匹配系数的计算公式可以为:
其中,ni为第i个检测目标特征点数,nj为表示第j个被跟踪目标特征点数,nin为两个目标匹配成功点数,rateij为第i个检测目标与第j个被跟踪目标间的匹配系数。
通过匹配系数确定特征相似度矩阵:
通过计算得到上面的空间位置相似度矩阵和特征匹配相似度矩阵之后,需要对两个相似度矩阵进行融合,得到一个融合的相似度矩阵,计算如式:
W=aH+(1-a)P
其中,W为融合相似度矩阵,a为融合系数。
在本实施例的一个实现方式中,选取系数为0.5进行构建融合相似度矩阵,通过匈牙利算法进行求解,活动跟踪物体和检测物体一一对应的关系,以实现对运动物的跟踪。
S20、基于各分割图像确定各图像帧各自对应的相机姿态。
具体地,所述基于所述图像帧以及所述运动物体区域,确定所述图像帧对应的目标相机姿态指的是基于所述图像帧以及所述运动物体区域,确定图像帧中的静止物体区域,再将静止物体区域作为候选背景区域进行相机姿态估计,以得到目标相机姿态,其中,相机姿态估计过程与上述相机姿态估计过程相同,这里就不再赘述。例如,如图5所示无去除运动物体特征点的特征图像,通过对运动特征点进行去除后,可以得到如图6所述的去除运动物体特征点的特征图像,并基于去除运动物体特征点的特征图像确定目标相机姿态。
S30、基于自适应区域生长算法修正各分割图像,并将修正后的各分割图像中的运动物体区域去除以得到各图像帧各自对应的参考图像帧。
具体地,参考图像帧为其对应的图像帧去除运动物体区域所形成的图像帧,例如,可以将图像帧中的运动物体区域中的每个像素点的像素值均设置为预设像素值,例如,0,1等。在本实施例的一个具体实现方式中,可以将图像帧中的运动物体区域中的各像素点的像素值均设置为0。
进一步,在获取分割图像时,由于计算量和显存等原因,使得分割图像对应的不一定是像素级别,进而导致分割边缘不准确,甚至会导致分割不完整得到情况,例如,如图7所述的图像帧,分割得到的分割图像可以为如图8所示的分割图像,而图8所示的分割图像相对于图7所对应的如图9所示的完整分割图像而言,图8所示的分割图像中缺少部分图像区域。然而,分割不完整的分割图像或者分割边缘不准确的分割图像,会使得基于分割图像确定的环境地图存在运动物体残影想象。由此,本实施例在获取到分割图像后,会采用自适应区域生长算法对分割区域中的运动物体区域进行修正,提高运动物体区域的完整性以及边缘准确性,以提高基于分割图像确定的环境地图的准确性。例如,如图11所示的基于未去除运动物体区域的分割图像确定的环境地图,如图12所示的基于未修正的分割图像构建的环境地图,以及如图13所示的,采用本实施例中的过自适应区域生长算法修改的环境地图,从图11-13可以看出,图11所示的环境地图中存在人体影像,图12所示的环境地图中存在人体残影,图13所示的环境地图中不存人体残影。
在本实施例的一个具体实现方式中,所述基于自适应区域生长算法修正各分割图像具体包括:
对于每个分割图像,基于该分割图像中的各像素点各自对应的深度值确定种子起点;
以所述种子起点为启动,通过自适应区域生长算法确定该图像帧对应的目标运动物体区域;
将该目标运动物体区域作为该分割图像的运动物体区域,以修正该分割图像。
具体地,区域生长算法为以一个点为种子起点,将具有相似准则的像素点连接一起以形成一区域。区域生长算法中的两个重要因素分为种子起点以及生成判断阈值。在本实施例中,种子起点包括于该分割图像中,目并且种子起点可以是基于分割图像中各像素点各自对应的深度值确定,例如,所述种子起点可以为分割图像中各像素点各自对应的深度值的平均值对应的特征点,也可以是分割图像中各像素点各自对应的深度值中大于预设深度阈值的特征点等。
在本实施例的一个实现方式中,所述基于该分割图像中的各像素点各自对应的深度值确定种子起点具体包括:
获取该分割图像中的各像素点各自对应的深度值的深度均值;
基于深度均值在该分割图像中选取深度值距离所述深度均值最近的像素点,并将选取到像素点作为种子起点。
具体地,所述深度均值为分割图像中的各像素点各自对应的深度值的平均值,距离深度均值最近指的该像素点的深度值与深度均值的差值绝对值为分割图像中的各像素点的深度值与深度阈值的差值绝对值中最小的,例如,分割图像包括像素点A、像素点B以及像素点C,像素点A的深度值为a、像素点B的深度值为b,像素点C的深度值为c,像素点A的深度值、像素点B的深度值以及像素点C的深度值的深度均值为(a+b+c)/3,深度值a与深度均值的差值绝对值大于深度值b与深度均值的差值绝,深度值b与深度均值的差值绝对值大于深度值c与深度均值的差值绝,那么像素点a为种子起点。
此外,在选取种子起点时,为了避免没有深度值的像素点的影响,在确定分割图像中各像素点各自对应的深度值时,可以先选取分割图像中未携带深度值的候选像素点,并将选取到的候选像素点去除,并基于去除候选像素点的分割图像选取种子起点。当然,在实际工作中,可能会选取到多个距离所述深度均值最近的像素点,此时,可以在多个距离所述深度均值最近的像素点选取一个像素点作为种子起点,例如,随机选取一个像素点作为种子起点,或者是,选取距离中心最近的像素点作为种子起点等。
在本实施例的一个实现方式中,自适应区域生长算法的阈值为基于各深度值自适应确定,并且阈值与深度值的对应关系可以基于采用图像帧的成像模组确定,例如,获取成像模组对应的阈值与深度值的对应关系,基于该对应关系确定深度值对应的自适应阈值。其中,对应关系可以为预先建立的。例如,对于成像模组KinectV1和成像模组KinectV2,成像模组KinectV1的对应关系可以为:
KinectV2的对应关系可以为:
其中,t表示阈值,z表示深度值。
S40、基于各参考图像帧以及各参考图像帧各自对应的相机姿态,确定所述目标场景对应的环境地图。
具体地,所述环境地图为基于各参考图像帧对应的点云数据确定,各参考图像帧对应的点云数据基于该参考图像帧对应的相机姿态确定的,其中,相机姿态为该参考图像帧对应的图像帧对应的相机姿态。由此,在确定环境地图时,需要先确定各参考图像帧各自对应的单帧点云数据,再基于单帧点云数据构建环境地图。相应的,所述基于各参考图像帧以及各参考图像帧各自对应的相机姿态,确定所述目标场景对应的环境地图具体包括:
对于若干参考图像帧中的每个参考图像帧,基于该参考图像帧对应的相机姿态,确定该参考图像帧对应的单帧点云数据;
基于各单帧点云数据,确定所述目标场景对应的环境地图。
具体地,根据小孔成像原理,如图10所示,参考图像帧的每个像素点P′都可以对应空间环境中的一个空间点P,该空间点的表达式可以为:
sipi'=KPi c=K(RPi w+t)
其中,si尺度因子,pi'是像素平面坐标系下坐标,K是相机内参,Pi c是相机坐标系下坐标,R是相机旋转矩阵,t是相机平移向,Pi w是世界坐标系下坐标。
在空间点的表达式中,相机内参K可以通过标定获得,像素坐标是已知的。尺度因子为该像素点对应的空间点到相机的距离,由于使用的是深度相机,尺度因子为已知的(例如,当测量距离为1m时,尺度因子就位1),相机的旋转矩阵和位移向量基于相机姿态确定。由此,参考图像帧中的每个像素点都可以基于空间点的表达式确定该像素点在世界坐标系下的坐标,然后再添加图像帧中的彩色信息,即得到参考图像帧对应的单帧点云数据。
在本实施例的一个实现方式中,
所述基于各单帧点云数据,确定所述目标场景对应的环境地图具体包括:
将各单帧点云数据拼接以得到环境稠密点云数据;
通过三角剖分将所述环境稠密点云数据曲面化,以得到所述目标场景对应的环境地图。
具体地,环境稠密点云数据包括各单帧点云数据中的所有点云数据,并且各单帧点云数据在拼接时按照各单帧点云数据各自对应的图像帧的采集顺序依次拼接,以构建环境稠密点云数据。此外,在获取到环境稠密点云数据后,需要对环境稠密点云数据进行曲面重建,以得到目标场景对应的环境地图。本实施例通过去除运动物体区域,可以提高环境地图的精确性,例如,如图16所示的无去除运动物体构建的环境地图和如图17所示的去除运动物体构建的环境地图,如图18的无去除运动物体构建的环境地图和如图19所示的去除运动物体构建的环境地图,如图20的无去除运动物体确定的曲面构图和如图21所示的去除运动物体确定的曲面构图,可以看出基于去除运动物体构建的环境地图中不携带有人体残影。
在本实施例的一个实现方式中,由于RGB-D相机测量会存在误差,并且在相机有效测量范围外会有较大误差,从而在将各单帧点云数据进行拼接之前,可以对各单帧点云数据进行过滤,以去除各单帧点云数据中的孤立点,从而可以提高基于单帧点云数据构成的环境地图的准确。其中,在对各单帧点云数据进行过滤时,可以确定每个点云数据的5*5像素领域的深度均值,若该点云数据的深度值与深度均值的差值绝对值大于预设阈值,则将该点云数据去除。当然,在实际应用中,还可以采用其他方式进行过滤,例如,计算每个点云数据的3*3像素领域的深度均值,或者是,每个点云数据对应的像素邻域不同等。
进一步,由于包含于两个参考图像帧中的一目标点,在通过转换为点云数据时,可以转换成两个不同的点云数据,这样会使得在基于单帧点数据拼接得到的环境稠密点云数据中存在重复点云数据。由此,在获取到环境稠密点云数据后,可以对所述环境稠密点云数据进行降采样,并将降采样后的环境稠密点云数据作为环境稠密点云数据。在一个具体实现方式中,降采样可以为对于每个点云数据,确定该点云数据对应的目标范围内的所有点的重心,并采用该重心代替该点云范围内的所有点,以减少重复点云数,其中,目标范围可以为点云数据为中心,设定阈值为边长的正方形区域。例如,设定阈值为0.01m,目标范围为以点云数据为中心的0.01m方格。
进一步,三角剖分为将不连续的几何体剖分成随机的三角形网格,如图14示,三角剖分的过程可以为将二维实数域的有限点集Q中的随机两点作为端点,连接封闭线段e,所得到的所有封闭线段e构成有限点集Q对应的三角剖分E,其中,有限点集Q的三角剖分E为平面图,而且满足以下条件:
1)、任意封闭线段e均不与初端点外点相交;
3)、所有封闭线段e互不相交;
3)、三角剖分构建的所有的面均为三角面,并且各三角面相对于有限点集Q均为凸形的。
在本实施例的一个实现方式中,三角剖分可以采用Delaunay三角剖分,其中,Delaunay三角剖分为如果点集Q的一个三角剖分只包含Delaunay边,那么该三角剖分Delaunay三角剖分。其中,Delaunay边为若存在一个经过一条边端点的圆,那么圆内没有点集Q中的其他点。
基于此,如图15所示,通过三角剖分将所述环境稠密点云数据曲面化的具体过程可以为:
步骤1:构建一个包括所有环境稠密点云数据的三角形,并将该三角形的点云数据放入三角形链表中;
步骤2:将环境稠密点云数据中的点云数据逐点插入三角形链表内,找到三角形链表中圆周圆在三角形链表中的分散点云数据,并将公共点删除,并且连接环境稠密点云数据中的其他的点云数据以构成新的三角形点,完成三角形连接列表的插入;
步骤3:把构建符合条件的三角形放入三角形链表中,并检测环境稠密点云数据中的所有点云数据是否完全插入,若未完全插入,则继续执行步骤2;若完全插入,则执行步骤4;
步骤4:对三角剖分进行曲面重构,得到所述目标场景对应的环境地图。
在本实施例的一个实现方式中,由于相邻两个图像帧携带有重叠图像,从而对每一图像帧对应的单帧点云数据进行拼接,不仅耗费算力,而且也会因点云数巨大而使得内存消耗快。由此,在将各单帧点云数据进行拼接时,可以在若干图像帧选取部分图像帧作为关键图像帧,然后将选取到的关键图像帧进行拼接即可。
基于此,所述基于各参考图像帧以及各参考图像帧各自对应的相机姿态,确定所述目标场景对应的环境地图具体包括:
在若干图像帧中选取若干关键图像帧;
基于选取到若干关键图像帧各自对应的参考图像帧,以及各关键图像帧各自对应的相机姿态,确定所述目标场景对应的环境地图。
具体地,若干关键图像帧中的每个关键图像帧均包括于若干图像帧中,并且若干关键图像帧的数量小于若干图像帧的数量。可理解的是,在获取到若干图像帧中的各图像帧各自对应的参考图像帧后,可以在若干图像帧选取预设数量的图像帧作为若干关键图像帧,其中,在若干图像帧中选取关键图像帧时,可以每间隔预设数量图像帧选取一张图像帧作为关键图像帧,或者是,每当图像帧对应的相机姿态变化值大于预设变化阈值时,选取一张图像帧作为关键图像帧等等。
在本实施例的一个实现方式中,所述在若干图像帧中选取若干关键图像帧具体包括:
对于若干图像帧中的每个图像帧,获取该图像帧与前序关键图像帧之间的间隔帧数,其中,前序关键图像帧为按照采集时间位于该图像帧前,且与该图像帧距离最近的关键图像帧;
当间隔帧数达到预设帧数阈值时,基于该图像帧的目标相机姿态以及所述前序关键图像帧的目标相机姿态,确定该图像帧与前序关键图像帧的相机姿态变化值;
当所述相机姿态变化值达到预设变化阈值时,确定该图像帧与局部环境地图的匹配度,其中,所述局部环境地图为基于该图像帧前的关键图像帧拼接得到的;
当所述匹配度小于预设匹配度阈值时,将所述图像帧作为关键图像帧。
具体地,所述间隔帧数为预先设置的,每当确定一关键图像帧之后,开始计数,当计数达到将帧数时,将再次获取到的图像帧作为候选关键图像帧,这样通过间隔一定数量的图像帧作为候选关键图像帧,可以保证一段时间内有关键帧输入,防止环境信息丢失。
相机姿态变化值用于反映移动机器人的运动程度,当相机姿态变化值达到预设变化阈值时,说明需要增加关键图像帧。这是由于当移动机器人中的相机姿态变化时,移动机器人所拍摄的环境信息也会变化,从而需要对环境信息进行更新,从而可以在减少拼接图像帧的同时,尽量避免环境信息丢失。此外,若该图像帧的像素点在基于该图像帧之前的关键图像帧构成的环境地图中的匹配度小于预设匹配度阈值时,说明移动机器人处于新的环境内,持续需要选取新的关键图像帧,可以保证能使得新环境出现能被及时捕获到。其中,所述预设匹配度阈值可以为预先设置的,例如,90%等。
此外,在实际应用中,本实施例提供的环境地图构建方法可以是一个持续过程,在每获取到一个图像帧之后,均通过本实施例提供的方法确定该图像帧的对应的参考图像帧以及相机姿态,并基于参考图像帧以及相机姿态确定该图像帧是否为关键图像帧,当为关键图像帧时,确定该关键图像帧对应的单帧点云数据,将该单帧点云数据拼接到已经获取到的关键图像帧所形成的环境稠密点云数据,最后基于拼接后的环境稠密点云数据构成环境地图。
举例说明:在获取一图像帧A后,先判断图像帧A是否距离上一个关键帧达到20个图像帧,若为是,则判断图像帧A与上一帧关键图像帧之间的相机位姿变化值,如果相机位姿变化值的二范数大于0.05m,则判断图像帧A与基于图像帧A之前的关键图像帧确定的局部环境地图的匹配度是否少于90%时,若少90%则将该图像帧A作为关键图像帧,并将该图像帧A图像帧A之前的关键图像帧进行点云拼接,以生成环境地图。
综上所述,本实施例提供了一种动态环境移动机器人的环境地图构建方法,所述方法包括获取目标场景的若干图像帧,确定若干图像帧中的各图像帧各自对应的分割图像;基于各分割图像确定各图像帧各自对应的相机姿态;基于自适应区域生长算法修正各分割图像,并将修正后的各分割图像中的运动物体区域去除以得到各图像帧各自对应的参考图像帧;基于各参考图像帧及各相机姿态,确定目标场景对应的环境地图。本申请通过对图像帧进行分割确定图像帧,在通过对分割图像中的运动物体区域进行修正,这样可以提高运动物体区域的准确性,进而在基于去除运动物体区域的参考图像帧来构建环境地图,可以减少运动物体对环境地图的影响,从而可以提高环境地图的准确性。
基于上述动态环境移动机器人的环境地图构建方法,本实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上述实施例所述的动态环境移动机器人的环境地图构建方法中的步骤。
基于上述动态环境移动机器人的环境地图构建方法,本申请还提供了一种终端设备,如图22所示,其包括至少一个处理器(processor)20;显示屏21;以及存储器(memory)22,还可以包括通信接口(Communications Interface)23和总线24。其中,处理器20、显示屏21、存储器22和通信接口23可以通过总线24完成相互间的通信。显示屏21设置为显示初始设置模式中预设的用户引导界面。通信接口23可以传输信息。处理器20可以调用存储器22中的逻辑指令,以执行上述实施例中的方法。
此外,上述的存储器22中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器22作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令或模块。处理器20通过运行存储在存储器22中的软件程序、指令或模块,从而执行功能应用以及数据处理,即实现上述实施例中的方法。
存储器22可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器。例如,U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
此外,上述存储介质以及终端设备中的多条指令处理器加载并执行的具体过程在上述方法中已经详细说明,在这里就不再一一陈述。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (11)
1.一种动态环境移动机器人的环境地图构建方法,其特征在于,所述环境地图构建方法包括:
获取目标场景的若干图像帧,确定若干图像帧中的各图像帧各自对应的分割图像;
基于各分割图像确定各图像帧各自对应的相机姿态;
基于自适应区域生长算法修正各分割图像,并将修正后的各分割图像中的运动物体区域去除以得到各图像帧各自对应的参考图像帧;
基于各参考图像帧以及各参考图像帧各自对应的相机姿态,确定所述目标场景对应的环境地图。
2.根据权利要求1所述动态环境移动机器人的环境地图构建方法,其特征在于,所述分割图像包括运动物体区域以及背景区域,所述背景区域为所述图像帧中除运动物体所处区域的图像区域。
3.根据权利要求1所述动态环境移动机器人的环境地图构建方法,其特征在于,所述确定若干图像帧中的各图像帧各自对应的分割图像具体包括:
对于若干图像帧中的每个图像帧,确定该图像帧对应的候选背景区域以及物体区域;
基于所述候选背景区域,确定该图像帧对应的候选相机姿态;
基于所述候选背景区域、所述物体区域、该图像帧的前一图像帧以及所述候选相机姿态,确定该图像帧中的运动物体区域;
基于所述运动物体区域确定该图像帧对应的背景区域,以得到各图像帧各自对应的分割图像。
4.根据权利要求2所述动态环境移动机器人的环境地图构建方法,其特征在于,所述基于所述候选背景区域、所述物体区域、该图像帧的前一图像帧以及所述候选相机姿态,确定该图像帧中的运动物体区域具体包括:
确定候选背景区域中在所述前一图像帧中存在匹配特征点的目标背景特征点,以及物体区域中在所述前一图像帧中存在匹配特征点的目标物体特征点;
基于所述候选相机姿态,确定各目标背景特征点与各自对应的匹配特征点的背景误差值,以及各目标物体特征点与各自对应的匹配特征点的物体误差值;
基于各背景误差值及各物体误差值,确定该图像帧中的运动特征点;
基于确定的运动特征点,确定该图像帧中的运动物体区域。
5.根据权利要求1所述动态环境移动机器人的环境地图构建方法,其特征在于,所述基于自适应区域生长算法修正各分割图像具体包括:
对于每个分割图像,基于该分割图像中的各像素点各自对应的深度值确定种子起点;
将该目标像素点作为种子起点,通过自适应区域生长算法确定该图像帧对应的目标运动物体区域;
将该目标运动物体区域作为该分割图像的运动物体区域,以修正该分割图像。
6.根据权利要求5所述动态环境移动机器人的环境地图构建方法,其特征在于,所述基于该分割图像中的各像素点各自对应的深度值确定种子起点具体包括:
获取该分割图像中的各像素点各自对应的深度值的深度均值;
基于深度均值在该分割图像中选取深度值距离所述深度均值最近的像素点,并将选取到像素点作为种子起点。
7.根据权利要求1所述动态环境移动机器人的环境地图构建方法,其特征在于,所述基于各参考图像帧以及各参考图像帧各自对应的相机姿态,确定所述目标场景对应的环境地图具体包括:
对于若干参考图像帧中的每个参考图像帧,基于该参考图像帧对应的相机姿态,确定该参考图像帧对应的单帧点云数据;
基于各单帧点云数据,确定所述目标场景对应的环境地图。
8.根据权利要求7所述动态环境移动机器人的环境地图构建方法,其特征在于,所述基于各单帧点云数据,确定所述目标场景对应的环境地图具体包括:
将各单帧点云数据拼接以得到环境稠密点云数据;
通过三角剖分将所述环境稠密点云数据曲面化,以得到所述目标场景对应的环境地图。
9.根据权利要求8所述动态环境移动机器人的环境地图构建方法,其特征在于,所述将各单帧点云数据拼接以得到环境稠密点云数据之后,所述方法还包括:
对所述环境稠密点云数据进行降采样,并将降采样后的环境稠密点云数据作为环境稠密点云数据。
10.根据权利要求1-9任意一项所述动态环境移动机器人的环境地图构建方法,其特征在于,所述基于各参考图像帧以及各参考图像帧各自对应的相机姿态,确定所述目标场景对应的环境地图具体包括:
在若干图像帧中选取若干关键图像帧;
基于选取到若干关键图像帧各自对应的参考图像帧,以及各关键图像帧各自对应的相机姿态,确定所述目标场景对应的环境地图。
11.根据权利要求10所述动态环境移动机器人的环境地图构建方法,其特征在于,所述在若干图像帧中选取若干关键图像帧具体包括:
对于若干图像帧中的每个图像帧,获取该图像帧与前序关键图像帧之间的间隔帧数,其中,前序关键图像帧为按照采集时间位于该图像帧前,且与该图像帧距离最近的关键图像帧;
当间隔帧数达到预设帧数阈值时,基于该图像帧的目标相机姿态以及所述前序关键图像帧的目标相机姿态,确定该图像帧与前序关键图像帧的相机姿态变化值;
当所述相机姿态变化值达到预设变化阈值时,确定该图像帧与局部环境地图的匹配度,其中,所述局部环境地图为基于该图像帧前的关键图像帧拼接得到的;
当所述匹配度小于预设匹配度阈值时,将所述图像帧作为关键图像帧。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110389497.0A CN113362387B (zh) | 2021-04-12 | 2021-04-12 | 一种动态环境移动机器人的环境地图构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110389497.0A CN113362387B (zh) | 2021-04-12 | 2021-04-12 | 一种动态环境移动机器人的环境地图构建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113362387A true CN113362387A (zh) | 2021-09-07 |
CN113362387B CN113362387B (zh) | 2023-06-09 |
Family
ID=77525068
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110389497.0A Active CN113362387B (zh) | 2021-04-12 | 2021-04-12 | 一种动态环境移动机器人的环境地图构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113362387B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103119609A (zh) * | 2012-09-27 | 2013-05-22 | 华为技术有限公司 | 一种确定视频前景主体图像区域的方法和装置 |
CN104036483A (zh) * | 2013-03-06 | 2014-09-10 | 北京三星通信技术研究有限公司 | 图像处理系统和图像处理方法 |
CN108776492A (zh) * | 2018-06-27 | 2018-11-09 | 电子科技大学 | 一种基于双目相机的四轴飞行器自主避障与导航方法 |
CN110070615A (zh) * | 2019-04-12 | 2019-07-30 | 北京理工大学 | 一种基于多相机协同的全景视觉slam方法 |
CN110118554A (zh) * | 2019-05-16 | 2019-08-13 | 深圳前海达闼云端智能科技有限公司 | 基于视觉惯性的slam方法、装置、存储介质和设备 |
CN111325843A (zh) * | 2020-03-09 | 2020-06-23 | 北京航空航天大学 | 一种基于语义逆深度滤波的实时语义地图构建方法 |
-
2021
- 2021-04-12 CN CN202110389497.0A patent/CN113362387B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103119609A (zh) * | 2012-09-27 | 2013-05-22 | 华为技术有限公司 | 一种确定视频前景主体图像区域的方法和装置 |
CN104036483A (zh) * | 2013-03-06 | 2014-09-10 | 北京三星通信技术研究有限公司 | 图像处理系统和图像处理方法 |
CN108776492A (zh) * | 2018-06-27 | 2018-11-09 | 电子科技大学 | 一种基于双目相机的四轴飞行器自主避障与导航方法 |
CN110070615A (zh) * | 2019-04-12 | 2019-07-30 | 北京理工大学 | 一种基于多相机协同的全景视觉slam方法 |
CN110118554A (zh) * | 2019-05-16 | 2019-08-13 | 深圳前海达闼云端智能科技有限公司 | 基于视觉惯性的slam方法、装置、存储介质和设备 |
CN111325843A (zh) * | 2020-03-09 | 2020-06-23 | 北京航空航天大学 | 一种基于语义逆深度滤波的实时语义地图构建方法 |
Non-Patent Citations (2)
Title |
---|
XIAOWEI ZHANG ET AL.: "Moving object detection for camera pose estimation in dynamic environments", 《MOVING OBJECT DETECTION FOR CAMERA POSE ESTIMATION IN DYNAMIC ENVIRONMENTS》 * |
胡欢: "未知环境下预测显示遥操作关键技术研究", 《中国优秀博硕士学位论文全文数据库(博士)信息科技辑》 * |
Also Published As
Publication number | Publication date |
---|---|
CN113362387B (zh) | 2023-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Schöps et al. | Surfelmeshing: Online surfel-based mesh reconstruction | |
JP7403528B2 (ja) | シーンの色及び深度の情報を再構成するための方法及びシステム | |
US11830216B2 (en) | Information processing apparatus, information processing method, and storage medium | |
RU2642167C2 (ru) | Устройство, способ и система для реконструкции 3d-модели объекта | |
JP6011102B2 (ja) | 物体姿勢推定方法 | |
CN113689578B (zh) | 一种人体数据集生成方法及装置 | |
CN111462207A (zh) | 一种融合直接法与特征法的rgb-d同时定位与地图创建方法 | |
US9865032B2 (en) | Focal length warping | |
EP3326156B1 (en) | Consistent tessellation via topology-aware surface tracking | |
JP7280385B2 (ja) | 視覚的ポジショニング方法および関連装置、機器並びにコンピュータ可読記憶媒体 | |
CN113330486A (zh) | 深度估计 | |
JP2011008687A (ja) | 画像処理装置 | |
US9147279B1 (en) | Systems and methods for merging textures | |
CN112184603B (zh) | 一种点云融合方法、装置、电子设备和计算机存储介质 | |
JP2017011328A (ja) | 画像処理装置、画像処理方法および画像処理プログラム | |
CN112652020B (zh) | 一种基于AdaLAM算法的视觉SLAM方法 | |
CN111640180A (zh) | 一种三维重建方法、装置及终端设备 | |
US11741615B2 (en) | Map segmentation method and device, motion estimation method, and device terminal | |
CN105719248A (zh) | 一种实时的人脸变形方法及其系统 | |
JP2022541977A (ja) | 画像のラベリング方法、装置、電子機器及び記憶媒体 | |
CN112967340A (zh) | 同时定位和地图构建方法、装置、电子设备及存储介质 | |
CN113643414A (zh) | 一种三维图像生成方法、装置、电子设备及存储介质 | |
CN110310325B (zh) | 一种虚拟测量方法、电子设备及计算机可读存储介质 | |
CN113052907A (zh) | 一种动态环境移动机器人的定位方法 | |
Angladon et al. | Room floor plan generation on a project tango device |
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 | ||
GR01 | Patent grant |