掌桥专利:专业的专利平台
掌桥专利
首页

一种基于深度相机的动态场景处理方法及装置

文献发布时间:2023-06-19 11:49:09


一种基于深度相机的动态场景处理方法及装置

技术领域

本发明涉及计算机视觉图像处理技术领域,特别是涉及一种基于深度相机的动态场景处理方法及装置。

背景技术

同时定位与地图构建(SLAM,Simultaneous LocalizationAnd Mapping)是指移动机器人在未知环境中通过传感器建立环境模型并确定自身位置。SLAM技术可应用于许多领域,如自动驾驶、增强和虚拟现实、移动机器人和无人机导航。但是,由于现实世界中的场景往往是比较复杂的,例如,场景中有运动的行人、车辆、动物等动态物体,这种情况下会导致视觉SLAM跟踪精度降低甚至失败。

目前,虽然可以通过剔除动态场景中的动态点来提高SLAM跟踪精度,但是采用传统几何方法对静态点和动态点的判别,误判较多,而采用深度学习的方案计算量太大,均无法实现对动态场景的较好处理,降低了系统的鲁棒性和精度。

发明内容

针对于上述问题,本发明提供一种基于深度相机的动态场景处理方法及装置,实现了提升系统鲁棒性和精度。

为了实现上述目的,本发明提供了如下技术方案:

一种基于深度相机的动态场景处理方法,包括:

获取目标图像,所述目标图像为同时定位与地图构建系统输入的图像;

对所述目标图像的每一帧图像进行特征点提取,获得若干特征点以及与每一特征点所对应的描述子;

对所述特征点进行聚类,获得若干节点,所述节点对应若干特征点;

获取关键帧与当前帧同一个节点中的所有特征点,并计算所述特征点对应的描述子的第一距离,依据所述第一距离确定内点和外点;

计算当前帧所有内点的第二距离,并基于所述第二距离确定动态点和静态点,所述第二距离表征几何距离的一阶近似值;

对所述目标图像进行聚类,确定每个聚类区域中静态点和动态点的比例;

基于所述比例,确定动态的聚类区域;

剔除所述动态的聚类区域对应的动态点。

可选地,所述方法还包括:

利用剔除动态点后的静态点进行位姿优化处理,获得位姿数据。

可选地,所述获取目标图像,包括:

获取同时定位与地图构建系统输入的彩色图像;

将所述彩色图像转换为灰度图,并将转换为的灰度图确定为目标图像。

可选地,所述对所述特征点进行聚类,获得若干节点,包括:

基于每一特征点对应的描述子,构建词袋模型,所述描述子为二进制编码的,对特征点的特征进行描述的信息;

利用所述词袋模型对所述特征点进行聚类,获得若干节点。

可选地,所述依据所述第一距离确定内点和外点,包括:

对所述特征点进行遍历,若所述第一距离大于第一阈值,将当前帧的特征点的内点特征值加一;

当遍历结束后,将内点特征值大于第二阈值的特征点确定为内点;

将当前帧中没有匹配上的特征点为无效点,并将除内点和无效点之外的特征点确定为外点。

一种基于深度相机的动态场景处理装置,包括:

图像获取单元,用于获取目标图像,所述目标图像为同时定位与地图构建系统输入的图像;

提取单元,用于对所述目标图像的每一帧图像进行特征点提取,获得若干特征点以及与每一特征点所对应的描述子;

聚类单元,用于对所述特征点进行聚类,获得若干节点,所述节点对应若干特征点;

第一确定单元,用于获取关键帧与当前帧同一个节点中的所有特征点,并计算所述特征点对应的描述子的第一距离,依据所述第一距离确定内点和外点;

计算单元,用于计算当前帧所有内点的第二距离,并基于所述第二距离确定动态点和静态点,所述第二距离表征几何距离的一阶近似值;

第二确定单元,用于对所述目标图像进行聚类,确定每个聚类区域中静态点和动态点的比例;

第三确定单元,用于基于所述比例,确定动态的聚类区域;

剔除单元,用于剔除所述动态的聚类区域对应的动态点。

可选地,所述装置还包括:

位姿处理单元,用于利用剔除动态点后的静态点进行位姿优化处理,获得位姿数据。

可选地,所述图像获取单元包括:

第一获取子单元,用于获取同时定位与地图构建系统输入的彩色图像;

转换子单元,用于将所述彩色图像转换为灰度图,并将转换为的灰度图确定为目标图像。

可选地,所述聚类单元包括:

构建子单元,用于基于每一特征点对应的描述子,构建词袋模型,所述描述子为二进制编码的,对特征点的特征进行描述的信息;

聚类子单元,用于利用所述词袋模型对所述特征点进行聚类,获得若干节点。

可选地,所述第一确定单元包括:

遍历子单元,用于对所述特征点进行遍历,若所述第一距离大于第一阈值,将当前帧的特征点的内点特征值加一;

第一确定子单元,用于当遍历结束后,将内点特征值大于第二阈值的特征点确定为内点;

第二确定子单元,用于将当前帧中没有匹配上的特征点为无效点,并将除内点和无效点之外的特征点确定为外点。

相较于现有技术,本发明提供了一种基于深度相机的动态场景处理方法及装置,包括:获取目标图像,目标图像为同时定位与地图构建系统输入的图像;对目标图像的每一帧图像进行特征点提取,获得若干特征点以及与每一特征点所对应的描述子;对特征点进行聚类,获得若干节点,节点对应若干特征点;获取关键帧与当前帧同一个节点中的所有特征点,并计算特征点对应的描述子的第一距离,依据第一距离确定内点和外点;计算当前帧所有内点的第二距离,并基于第二距离确定动态点和静态点,第二距离表征几何距离的一阶近似值;对目标图像进行聚类,确定每个聚类区域中静态点和动态点的比例;基于比例,确定动态的聚类区域;剔除动态的聚类区域对应的动态点。本发明可以有效剔除场景中的动态内容,提高系统鲁棒性和精度。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例提供的一种基于深度相机的动态场景处理方法的流程示意图;

图2为本发明实施例提供的一种基于深度相机的动态场景处理装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的说明书和权利要求书及上述附图中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有设定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。

在本发明实施例中提供了一种基于深度相机的动态场景处理方法,基于RGB-D相机(深度相机)的彩色图和深度图,根据特征点的匹配情况剔除动态点,包括:基于前面多个关键帧与当前帧做特征点匹配,得到动态场景中内点和外点的统计。基于深度图的动态场景特征点聚类,可以区分出静态的背景和运动的物体。利用该方法可以在实际的场景中可以剔除动态点,改善跟踪定位和建图的精度,给用户更好的体验。

参见图1,本发明实施例提供的一种基于深度相机的动态场景处理方法,可以包括以下步骤:

S101、获取目标图像。

所述目标图像为同时定位与地图构建(SLAM)系统输入的图像,为了便于处理,可以将彩色图像转换为灰度图。即获取同时定位与地图构建系统输入的彩色图像;将所述彩色图像转换为灰度图,并将转换为的灰度图确定为目标图像。

将SLAM输入的彩色图像转换为灰度图,可以按照以下方式转换:

RGB(彩色)转换Gray(灰度):0.299*R+0.587*G+0.114*B–>Y。

S102、对所述目标图像的每一帧图像进行特征点提取,获得若干特征点以及与每一特征点所对应的描述子。

在本发明实施例中可以采用ORB(Oriented FAST and Rotated BRIEF)算法进行特征点的提取,其中,ORB是一种快速特征点提取和描述的算法。ORB特征检测具有尺度和旋转不变性,对于噪声及其透视变换也具有不变性,并且其运行时间远远优于SIFT和SURF,可应用于实时性特征检测,可以直接使用ORB SLAM2中的ExtractORB()来提取图像的特征点。

BRIEF是对已检测到的特征点进行描述,它是一种二进制编码的描述子,放弃了利用区域灰度直方图描述特征点的传统方法,大大的加快了特征描述符建立的速度,同时也极大的降低了特征匹配的时间。BRIEF算法提取得到的特征点描述符是一个二进制的字符串,可以使用ORB SLAM2中的computerOrbDescriptor()计算。

S103、对所述特征点进行聚类,获得若干节点。

所述节点对应若干特征点,在该过程中可以根据特征点的特性进行聚类,将特征点特性相匹配的聚类为一个节点。在本发明实施例可以基于每一特征点对应的描述子,构建词袋模型,所述描述子为二进制编码的,对特征点的特征进行描述的信息;利用所述词袋模型对所述特征点进行聚类,获得若干节点。

具体的,词袋就像一个个袋子,每个袋子里装置同样的词,这构成了一种文本的表示方式,在计算机视觉领域,图像通常以特征点及其特征描述来表达。如果把特征描述看做单词,那么就能构建出相应的词袋模型。

例如,可以采用DBoW2算法实现,DBoW2是一种高效的回环检测算法,DBow2算法的全称为Bags of binary words for fast place recognition in image sequence,使用的特征检测算法为Fast,描述子为BRIEF描述子,是一种离线方法。DBoW2通过图像中大量提取的特征,利用K-Means方法聚类出n个单词。这n个单词是利用K叉树,通过多次聚类得到的。具体如下图。在每一层依次用K-means算法聚类成K类。最后形成的叶子node就是单词。

DBoW2通过transform()可以计算出图像的FeatureVector,表示这个图像特征点位于哪些node(节点)上,以及这个node上对应此图像哪些特征点(索引)。

S104、获取关键帧与当前帧同一个节点中的所有特征点,并计算所述特征点对应的描述子的第一距离,依据所述第一距离确定内点和外点。

在该步骤是关键帧匹配,以判别静态点和动态点。SLAM系统输入的是时间连续的图像,相邻帧之间的变化并不大,为了检测动态的物体,可以用当前帧和前面3个关键帧做匹配。同时为了加速匹配,可以用当前帧的词袋模型与前面关键帧进行匹配。具体的,可以对所述特征点进行遍历,若所述第一距离大于第一阈值,将当前帧的特征点的内点特征值加一;当遍历结束后,将内点特征值大于第二阈值的特征点确定为内点;将当前帧中没有匹配上的特征点为无效点,并将除内点和无效点之外的特征点确定为外点。

以遍历前面的3个关键帧为例,遍历关键帧在DBoW2中的node(节点),然后遍历node中的所有特征点,取当前帧与关键帧同一个node中的所有特征点,计算描述子距离(可以称为第一距离)Dist,若Dist大于阈值MAX_DIST(如第一阈值),则当前帧的特征点的内点特征值(如inlier_flag)加一;遍历结束后,当前帧中没有匹配上的特征点为无效点,inlier_flag>=2的特征点为内点,否则为外点。

S105、计算当前帧所有内点的第二距离,并基于所述第二距离确定动态点和静态点。

其中,所述第二距离表征几何距离的一阶近似值,在本发明实施例中基于基础矩阵的约束来初步区分静态点和动态点。基础矩阵描述了图像点与对应在另一帧中对应的极线之间的关系。

两帧中一对匹配点对记为x,x’,则基础矩阵F的约束为:

x*F*x’=0

第二距离即Sampson距离是集合距离的一阶近似,描述了图像点与它在另一帧图像中对应的极线之间的距离,可以提高算法的鲁棒性。计算如下:

其中,

计算出当前帧所有内点的第二距离的均值,以d_avg表示。

若某个内点的第二距离与均值的差值大于预设阈值,则初步判定该点为动态点,否则为静态点,其中预设阈值为用户设置的阈值。

S106、对所述目标图像进行聚类,确定每个聚类区域中静态点和动态点的比例。

S107、基于所述比例,确定动态的聚类区域。

S108、剔除所述动态的聚类区域对应的动态点。

深度图可以得到每个像素点的距离,而对于场景中的动态物体,可以通过深度图来区分背景和动态物体。

假设彩色图像(RGB图像)和深度图像(Depth图像)已经做了配准,因为像素点与深度图之间具有一对一的对应关系。通常采用16位无符号整数来记录深度图的信息,也就是位于0~65535的值。换算成米的话,最大可以表示65米。为了便于显示,将深度值除以1000。

具体的,可以选择K=9个初始中心点,使用k-means聚类算法对深度图聚类,得到每个像素的所属类别,并创建一张新的灰度图保存聚类后的结果lable[x][y];计算每个聚类中的动态比例,即动态点数量与动态点和静态点的之和的比值,该比值为动态点的百分比。即:

dynamic_percent=dynamic_points/(dynamic_points+static_points)

其中,dynamic_percent为动态点的百分比,dynamic_points为动态点的数量,static_points为静态点的数量。

如果dynamic_percent大于阈值DYNA_PER,则标记这个聚类中的所有特征点为动态点。

可以将这些动态点进行剔除,然后得到稳定的静态点。

在本发明实施例中还包括:

利用剔除动态点后的静态点进行位姿优化处理,获得位姿数据。

即使用所有的静态点做位姿优化,静态点即为动态场景中的静态特征点。

在本发明实施例中,优化的目标函数为:

其中,e

本发明实施例提供了一种基于深度相机的动态场景处理方法,包括:获取目标图像,目标图像为同时定位与地图构建系统输入的图像;对目标图像的每一帧图像进行特征点提取,获得若干特征点以及与每一特征点所对应的描述子;对特征点进行聚类,获得若干节点,节点对应若干特征点;获取关键帧与当前帧同一个节点中的所有特征点,并计算特征点对应的描述子的第一距离,依据第一距离确定内点和外点;计算当前帧所有内点的第二距离,并基于第二距离确定动态点和静态点,第二距离表征几何距离的一阶近似值;对目标图像进行聚类,确定每个聚类区域中静态点和动态点的比例;基于比例,确定动态的聚类区域;剔除动态的聚类区域对应的动态点。可以有效剔除场景中的动态内容,提高系统鲁棒性和精度。

参见图2,本发明实施例还提供了一种基于深度相机的动态场景处理装置,包括:

图像获取单元10,用于获取目标图像,所述目标图像为同时定位与地图构建系统输入的图像;

提取单元20,用于对所述目标图像的每一帧图像进行特征点提取,获得若干特征点以及与每一特征点所对应的描述子;

聚类单元30,用于对所述特征点进行聚类,获得若干节点,所述节点对应若干特征点;

第一确定单元40,用于获取关键帧与当前帧同一个节点中的所有特征点,并计算所述特征点对应的描述子的第一距离,依据所述第一距离确定内点和外点;

计算单元50,用于计算当前帧所有内点的第二距离,并基于所述第二距离确定动态点和静态点,所述第二距离表征几何距离的一阶近似值;

第二确定单元60,用于对所述目标图像进行聚类,确定每个聚类区域中静态点和动态点的比例;

第三确定单元70,用于基于所述比例,确定动态的聚类区域;

剔除单元80,用于剔除所述动态的聚类区域对应的动态点。

可选地,所述装置还包括:

位姿处理单元,用于利用剔除动态点后的静态点进行位姿优化处理,获得位姿数据。

可选地,所述图像获取单元包括:

第一获取子单元,用于获取同时定位与地图构建系统输入的彩色图像;

转换子单元,用于将所述彩色图像转换为灰度图,并将转换为的灰度图确定为目标图像。

可选地,所述聚类单元包括:

构建子单元,用于基于每一特征点对应的描述子,构建词袋模型,所述描述子为二进制编码的,对特征点的特征进行描述的信息;

聚类子单元,用于利用所述词袋模型对所述特征点进行聚类,获得若干节点。

可选地,所述第一确定单元包括:

遍历子单元,用于对所述特征点进行遍历,若所述第一距离大于第一阈值,将当前帧的特征点的内点特征值加一;

第一确定子单元,用于当遍历结束后,将内点特征值大于第二阈值的特征点确定为内点;

第二确定子单元,用于将当前帧中没有匹配上的特征点为无效点,并将除内点和无效点之外的特征点确定为外点。

本发明实施例提供了一种基于深度相机的动态场景处理装置,获取目标图像,目标图像为同时定位与地图构建系统输入的图像;对目标图像的每一帧图像进行特征点提取,获得若干特征点以及与每一特征点所对应的描述子;对特征点进行聚类,获得若干节点,节点对应若干特征点;获取关键帧与当前帧同一个节点中的所有特征点,并计算特征点对应的描述子的第一距离,依据第一距离确定内点和外点;计算当前帧所有内点的第二距离,并基于第二距离确定动态点和静态点,第二距离表征几何距离的一阶近似值;对目标图像进行聚类,确定每个聚类区域中静态点和动态点的比例;基于比例,确定动态的聚类区域;剔除动态的聚类区域对应的动态点。可以有效剔除场景中的动态内容,提高系统鲁棒性和精度。

基于前述实施例,本申请的实施例提供一种计算机可读存储介质,计算机可读存储介质存储有一个或者多个程序,该一个或者多个程序可被一个或者多个处理器执行,以实现如上任一项的基于深度相机的动态场景处理方法的步骤。

本发明实施例还提供了一种电子设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现的基于深度相机的动态场景处理方法的步骤。

需要说明的是,上述处理器或CPU可以为特定用途集成电路(ApplicationSpecific Integrated Circuit,ASIC)、数字信号处理器(Digital Signal Processor,DSP)、数字信号处理装置(Digital Signal Processing Device,DSPD)、可编程逻辑装置(Programmable Logic Device,PLD)、现场可编程门阵列(Field Programmable GateArray,FPGA)、中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器中的至少一种。可以理解地,实现上述处理器功能的电子器件还可以为其它,本申请实施例不作具体限定。

需要说明的是,上述计算机存储介质/存储器可以是只读存储器(Read OnlyMemory,ROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性随机存取存储器(Ferromagnetic Random Access Memory,FRAM)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(Compact Disc Read-Only Memory,CD-ROM)等存储器;也可以是包括上述存储器之一或任意组合的各种终端,如移动电话、计算机、平板设备、个人数字助理等。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本申请各实施例中的各功能单元可以全部集成在一个处理模块中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。

本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。

本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

相关技术
  • 一种基于深度相机的动态场景处理方法及装置
  • 一种基于深度相机的大规模场景3D建模方法及其装置
技术分类

06120113065932