CN106780601A - 一种空间位置追踪方法、装置及智能设备 - Google Patents

一种空间位置追踪方法、装置及智能设备 Download PDF

Info

Publication number
CN106780601A
CN106780601A CN201611094374.XA CN201611094374A CN106780601A CN 106780601 A CN106780601 A CN 106780601A CN 201611094374 A CN201611094374 A CN 201611094374A CN 106780601 A CN106780601 A CN 106780601A
Authority
CN
China
Prior art keywords
data
camera
cloud data
frame
point cloud
Prior art date
Application number
CN201611094374.XA
Other languages
English (en)
Inventor
吴昊
柳俊杰
孙铮
康沛华
Original Assignee
北京未动科技有限公司
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 北京未动科技有限公司 filed Critical 北京未动科技有限公司
Priority to CN201611094374.XA priority Critical patent/CN106780601A/zh
Publication of CN106780601A publication Critical patent/CN106780601A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds

Abstract

本发明公开了一种空间位置追踪方法、装置及智能设备,用以解决现有空间位置追踪方案,依赖于激光扫描设备发射的激光束进行定位,激光扫描设备安装校准麻烦,精度依赖于光敏传感器的分布,且活动区域受限的问题,以高精度实现六自由度空间位置追踪,同时无活动区域限制。所述空间位置追踪方法,包括:采集相机的运动数据以及相机所拍摄的彩色图像和深度图像,所述运动数据包括相机的在空间中移动时的角速度和加速度;根据采集到的彩色图像和深度图像以及相机的运动数据,确定相机拍摄每帧图像的时刻相机在空间中的位姿数据,得到多个时刻相机在空间中的位姿数据;根据确定出的多个时刻相机在空间中的位姿数据,对相机在空间中的位置进行追踪。

Description

一种空间位置追踪方法、装置及智能设备

技术领域

[0001] 本发明涉及智能设备技术领域,尤其涉及一种空间位置追踪方法、装置及智能设 备。

背景技术

[0002] 随着虚拟现实技术(Virtual Reality,VR)以及增强现实技术(Augmented Reality,AR)的发展,VR和AR渐渐被公众所熟知,但是VR和AR设备在技术实现上依然面临许 多瓶颈,例如:VR和AR设备的空间位置追踪的问题。

[0003] 简单来说,VR设备的空间位置追踪技术可以使得用户在佩戴VR头盔时,除了在沉 浸式的世界里原地旋转之外,还能利用算法和传感器感知到用户的移动,从而确定用户在 空间里的相对位置。具有空间定位与位置追踪的VR设备不仅能更好地提供沉浸感,大幅降 低产生的眩晕感,而且用户因为位移造成的画面不同步感完全消失,使得虚拟世界可以与 用户身体保持一致的移动性。

[0004]目前,VR设备的空间位置追踪技术大都米用由外而内(Outside-in)式的位置追踪 方案,例如:Lighthouse追踪系统(使用了激光+光敏传感器的方式)和Constellation系统 (使用了外置摄像头+红外主动马克点的方式)。这两种方案都可以提供由外而内六自由度 的空间位置跟踪。

[0005] 以Lighthouse追踪系统为例,Lighthouse追踪系统是靠激光和光敏传感器来确定 运动物体的位置。具体来说,两个激光发射器被安置在空间内的两个对角位置处,形成一个 15X15英尺的长方体空间区域,激光发射器中有两排固定的LED灯用于发射激光束,每秒6 次,每个激光发射器内设计有两个扫描模块,分别在水平和垂直方向轮流对定位空间发射 激光扫描15X15英尺的空间区域。

[0006] VR设备(例如:头盜)上设置有多个(例如:超过70个)光敏传感器,激光束扫过的同 时,头盔开始计数,光敏传感器接收到激光后,利用光敏传感器位置和接收到激光的时间, 计算每个光敏传感器相对于激光发射器的准确位置,同一时间内激光束击中的光敏传感器 足够多时,就能形成一个3D的模型,根据3D模型不仅能探测出头盔的位置,还可以捕捉到头 盔的方向,从而实现六自由度的空间位置跟踪。

[0007] Outside-in空间位置追踪方案的主要优势是精度高,但对于VR设备和应用来说, 还有诸多缺点:(1)需要固定安装辅助的激光扫描设备,激光扫描设备的安装和校准比较麻 烦;(2)精度依赖于光敏传感器的分布,设备尺寸与外形受限;(3)缺乏可扩展性,时分复用, 任意时刻只有一个激光扫描设备发光,多个激光扫描设备同时工作会产生干扰,计算精度 变差;(4)激光扫描设备震动部件的震动易产生跟踪误差;(5)只能跟踪定位有光敏传感器 的物体,导致用户移动时容易碰撞到障碍物;(6)只能跟踪定位特定范围内的移动,移动区 域受限。

[0008]_综上所述,现有0utside-in空间位置追踪方案,依赖于激光扫描设备发射的激光 束进行定位,激光扫描设备安装校准麻烦,精度依赖于光敏传感器的分布,且只能跟踪特定 范围内的移动,移动区域受限。

发明内容

[0009]本发明实施例提供了一种空间位置追踪方法、装置及智能设备,用以解决现有空 间位置追踪方案,依赖于激光扫描设备发射的激光束进行定位,激光扫描设备安装校准麻 烦,精度依赖于光敏传感器的分布,且活动区域受限的问题,以高精度实现六自由度空间位 置追踪,同时无活动区域限制。

[0010] 本发明实施例提供的一种空间位置的追踪方法,该方法包括:采集相机的运动数 据以及相机所拍摄的彩色图像和深度图像,所述运动数据包括相机的在空间中移动时的角 速度和加速度;根据采集到的彩色图像和深度图像以及相机的运动数据,确定相机拍摄每 帧图像的时刻相机在空间中的位姿数据,得到多个时刻相机在空间中的位姿数据;根据确 定出的多个时刻相机在空间中的位姿数据,对相机在空间中的位置进行追踪。

[0011]本发明实施例提供的上述方法中,通过采集相机的运动数据以及相机所拍摄的彩 色图像和深度图像,根据采集到的彩色图像和深度图像以及相机的运动数据,确定相机拍 摄每帧图像的时刻相机在空间中的位姿数据,得到多个时刻相机在空间中的位姿数据,进 而根据确定出的多个时刻相机在空间中的位姿数据,对相机在空间中的位置进行追踪,与 现有空间位置追踪方案,依赖于激光扫描设备发射的激光束进行定位,激光扫描设备安装 校准麻烦,精度依赖于光敏传感器的分布,且活动区域受限相比,无需使用激光扫描设备即 可实现对相机在空间中的位置进行追踪,从而避免了使用激光扫描设备时设备安装校准麻 烦,精度依赖于光敏传感器的分布,且活动区域受限的问题,在以高精度实现六自由度空间 位置追踪的同时,无活动区域限制。

[0012] 在一种可能的实施方式中,本发明实施例提供的上述方法中,所述根据采集到的 彩色图像和深度图像以及相机的运动数据,确定相机拍摄每帧图像的时刻相机在空间中的 位姿数据,包括:针对相机拍摄任一帧图像的时刻,根据当前时刻与前一时刻之间相机的运 动数据、当前帧彩色图像和深度图像、缓存的前一帧彩色图像以及缓存的全局3D点云数据, 确定当前时刻相机在空间中的位姿数据;其中,所述全局3D点云数据包括多个点云数据,每 个点云数据用于标识相机移动时视野中一个空间点的坐标信息,且所述每一空间点的坐标 信息是以相机初始位置为坐标原点计算生成的。

[0013]在一种可能的实施方式中,本发明实施例提供的上述方法中,所述根据当前时刻 与前一时刻之间相机的运动数据、当前帧彩色图像和深度图像、缓存的前一帧彩色图像以 及缓存的全局3D点云数据,确定当前时刻相机在空间中的位姿数据,包括:根据当前时刻以 及前一时刻之间相机的运动数据,确定相机移动之后的初始位姿数据;将当前帧彩色图像 与前一帧彩色图像进行对比,在当前帧彩色图像和前一帧彩色图像之间进行特征点匹配, 根据匹配结果生成特征点跟踪数据,其中,所述特征点跟踪数据包括匹配成功的特征点,所 述特征点包括彩色图像中灰度值发生变化位置处的一个或多个像素点;对所述初始位姿数 据以及所述特征点跟踪数据进行滤波处理,利用所述特征点跟踪数据对所述初始位姿数据 进行校准,确定相机移动之后的中间位姿数据;基于当前帧深度图像,生成局部3D点云数 据,其中,所述局部邪点云数据中包括多个点云数据,每个点云数据用于标识当前时刻相机 视野中一个空间点的坐标信息,且所述每一空间点的坐标信息是以相机当前所在位置为坐 标原点计算生成的;基于所述中间位姿数据、所述局部3D点云数据以及缓存的全局3D点云 数据,利用第一优化策略对所述中间位姿数据进行优化,确定相机移动之后的目标位姿数 据,并将所述目标位姿数据确定为当前时刻相机在空间中的位姿数据。

[0014] 在一种可能的实施方式中,本发明实施例提供的上述方法中,在基于当前帧深度 图像,生成局部3D点云数据之前,该方法还包括:基于当前帧彩色图像,对当前帧深度图像 进行配准;所述基于当前帧深度图像,生成局部3D点云数据,包括:基于配准后的深度图像, 生成局部3D点云数据。

[0015] 在一种可能的实施方式中,本发明实施例提供的上述方法中,所述基于所述中间 位姿数据、所述局部3D点云数据以及缓存的全局3D点云数据,利用第一优化策略对所述中 间位姿数据进行优化,确定相机移动之后的目标位姿数据,包括:基于所述中间位姿数据, 将局部3D点云数据中的点云数据转换为以相机的初始位置为坐标原点的点云数据,得到转 换后的局部3D点云数据;利用第一优化策略将转换后的局部3D点云数据与全局3D点云数据 进行融合,并确定转换后的局部3D点云数据与全局3D点云数据融合时的调整数据;利用所 述调整数据对所述中间位姿数据进行修正,得到相机移动之后的目标位姿数据。

[0016] 在一种可能的实施方式中,本发明实施例提供的上述方法中,在利用第一优化策 略将转换后的局部3D点云数据与全局3D点云数据进行融合之后,该方法还包括:利用融合 后的全局3D点云数据对缓存的全局3D点云数据进行第一次更新。

[0017] 在一种可能的实施方式中,本发明实施例提供的上述方法中,该方法还包括:利用 预设规则判断当前帧彩色图像是否为多帧彩色图像中的关键帧;在判定当前帧彩色图像为 多帧彩色图像中的关键帧条件下,确定与当前帧彩色图像空间相关联的所有关键帧;利用 第二优化策略对第一次更新后的全局3D点云数据、当前帧对应时刻相机在空间中的位姿数 据以及缓存的与当前帧空间相关联的所有关键帧对应时刻相机在空间中的位姿数据进行 非线性优化;利用优化结果对缓存的与当前帧空间相关联的所有关键帧对应时刻相机在空 间中的位姿数据进行更新,对确定出的当前帧对应时刻相机在空间中的位姿数据进行更新 以及对第一次更新后的全局3D点云数据进行第二次更新,并缓存当前帧的彩色图像。

[0018] 在一种可能的实施方式中,本发明实施例提供的上述方法中,在确定当前帧彩色 图像为多帧彩色图像中的关键帧条件下,该方法还包括:判断相机移动过的路径是否构成 闭环;在判定相机移动过的路径构成闭环的条件下,利用第三优化策略对缓存的闭环所包 含关键帧对应时刻相机在空间中的位姿数据以及第二次更新后的全局3D点云数据进行优 化;利用优化结果对缓存的闭环所包含关键帧对应时刻相机在空间中的位姿数据进行更 新,以及对第二次更新后的全局3D点云数据进行第三次更新。

[0019] 在一种可能的实施方式中,本发明实施例提供的上述方法中,所述判断相机移动 过的路径是否构成闭环,包括:基于词袋算法分别计算当前帧彩色图像与目标关键帧集合 中每一关键帧彩色图像之间的相似度;若确定当前帧彩色图像与目标关键帧集合中任一关 键帧彩色图像的相似度大于预设相似度阈值,则判定相机在拍摄该关键帧的位置以及拍摄 当前帧所在位置之间移动过的路径构成闭环,否则,判定相机移动过的路径未构成闭环,其 中,所述目标关键帧集合中包括与当前帧空间相关联的所有关键帧。

[0020] 在一种可能的实施方式中,本发明实施例提供的上述方法中,所述确定与当前帧 彩色图像空间相关联的所有关键帧,包括:在利用第一优化策略将转换后的基于当前帧生 成的局部3D点云数据与缓存的全局3D点云数据进行融合之后,在融合后的全局3D点云数据 中,针对每一关键巾贞,判断当前桢与该关键帧之间的公共点云数据是否大于预设数量阈值, 右判走结果为是,则确定该关键巾贞与当_ U巾贞空间相关联。

[0021] 本发明实施例提供的一种空间位置的追踪装置,该装置包括:采集单元,用于采集 相机的运动数据以及相机所拍摄的彩色图像和深度图像,所述运动数据包括相机的在空间 中移动时的角速度和加速度;处理单元,用于根据采集到的彩色图像和深度图像以及相机 的运动数据,确定相机拍摄每帧图像的时刻相机在空间中的位姿数据,得到多个时刻相机 在空间中的位姿数据;位置追踪单元,用于根据确定出的多个时刻相机在空间中的位姿数 据,对相机在空间中的位置进行追踪。

[0022] 本发明实施例提供的上述装置中,通过采集相机的运动数据以及相机所拍摄的彩 色图像和深度图像,根据采集到的彩色图像和深度图像以及相机的运动数据,确定相机拍 摄每帧图像的时刻相机在空间中的位姿数据,得到多个时刻相机在空间中的位姿数据,进 而根据确定出的多个时刻相机在空间中的位姿数据,对相机在空间中的位置进行追踪,与 现有空间位置追踪方案,依赖于激光扫描设备发射的激光束进行定位,激光扫描设备安装 校准麻烦,精度依赖于光敏传感器的分布,且活动区域受限相比,无需使用激光扫描设备即 可实现对相机在空间中的位置进行追踪,从而避免了使用激光扫描设备时设备安装校准麻 烦,精度依赖于光敏传感器的分布,且活动区域受限的问题,在以高精度实现六自由度空间 位置追踪的同时,无活动区域限制。

[0023] 在一种可能的实施方式中,本发明实施例提供的上述装置中,所述处理单元根据 采集到的彩色图像和深度图像以及相机的运动数据,确定相机拍摄每帧图像的时刻相机在 空间中的位姿数据,具体用于:针对相机拍摄任一帧图像的时刻,根据当前时刻与前一时刻 之间相机的运动数据、当前帧彩色图像和深度图像、缓存单元缓存的前一帧彩色图像以及 所述缓存单元缓存的全局3D点云数据,确定当前时刻相机在空间中的位姿数据;其中,所述 全局3D点云数据包括多个点云数据,每个点云数据用于标识相机移动时视野中一个空间点 的坐标信息,且所述每一空间点的坐标信息是以相机初始位置为坐标原点计算生成的。 [0024] 在一种可能的实施方式中,本发明实施例提供的上述装置中,所述处理单元根据 当前时刻与前一时刻之间相机的运动数据、当前帧彩色图像和深度图像、缓存单元缓存的 前一帧彩色图像以及所述缓存单元缓存的全局3D点云数据,确定当前时刻相机在空间中的 位姿数据,具体用于:根据当前时刻以及前一时刻之间相机的运动数据,确定相机移动之后 的初始位姿数据;将当前帧彩色图像与前一帧彩色图像进行对比,在当前帧彩色图像和前 一帧彩色图像之间进行特征点匹配,根据匹配结果生成特征点跟踪数据,其中,所述特征点 跟踪数据包括匹配成功的特征点,所述特征点包括彩色图像中灰度值发生变化位置处的一 个或多个像素点;对所述初始位姿数据以及所述特征点跟踪数据进行滤波处理,利用所述 特征点跟踪数据对所述初始位姿数据进行校准,确定相机移动之后的中间位姿数据;基于 当前帧深度图像,生成局部3D点云数据,其中,所述局部3D点云数据中包括多个点云数据, 每个点云数据用于标识当前时刻相机视野中一个空间点的坐标信息,且所述每一空间点的 坐标信息是以相机当前所在位置为坐标原点计算生成的;基于所述中间位姿数据、所述局 部3D点云数据以及所述缓存单元缓存的全局3D点云数据,利用第一优化策略对所述中间位 姿数据进行优化,确定相机移动之后的目标位姿数据,并将所述目标位姿数据确定为当前 时刻相机在空间中的位姿数据。

[0025] 在一种可能的实施方式中,本发明实施例提供的上述装置中,所述处理单元还用 于:在基于当前帧深度图像,生成局部3D点云数据之前,基于当前帧彩色图像,对当前帧深 度图像进行配准;则所述处理单元基于当前帧深度图像,生成局部3D点云数据,具体用于: 基于配准后的深度图像,生成局部3D点云数据。

[0026] 在一种可能的实施方式中,本发明实施例提供的上述装置中,所述处理单元基于 所述中间位姿数据、所述局部3D点云数据以及所述缓存单元缓存的全局3D点云数据,利用 第一优化策略对所述中间位姿数据进行优化,确定相机移动之后的目标位姿数据,具体用 于:基于所述中间位姿数据,将局部3D点云数据中的点云数据转换为以相机的初始位置为 坐标原点的点云数据,得到转换后的局部3D点云数据;利用第一优化策略将转换后的局部 3D点云数据与全局邪点云数据进行融合,并确定转换后的局部3D点云数据与全局3D点云数 据融合时的调整数据;利用所述调整数据对所述中间位姿数据进行修正,得到相机移动之 后的目标位姿数据。

[0027] 在一种可能的实施方式中,本发明实施例提供的上述装置中,所述处理单元,还用 于:在利用第一优化策略将转换后的局部3D点云数据与全局3D点云数据进行融合之后,利 用融合后的全局3D点云数据对所述缓存单元中缓存的全局3D点云数据进行第一次更新。 [0028] 在一种可能的实施方式中,本发明实施例提供的上述装置中,该装置还包括:关键 帧判断单元,用于利用预设规则判断当前帧彩色图像是否为多帧彩色图像中的关键帧;关 联关键帧确定单元,用于在判定当前帧彩色图像为多帧彩色图像中的关键帧条件下,确定 与当前帧彩色图像空间相关联的所有关键帧;第一优化处理单元,用于利用第二优化策略 对第一次更新后的全局3D点云数据、当前帧对应时刻相机在空间中的位姿数据以及所述缓 存单元缓存的与当前帧空间相关联的所有关键帧对应时刻相机在空间中的位姿数据进行 非线性优化;第一数据更新单元,用于利用优化结果对所述缓存单元中缓存的与当前帧空 间相关联的所有关键帧对应时刻相机在空间中的位姿数据进行更新,对确定出的当前时刻 相机在空间中的位姿数据进行更新,以及对第一次更新后的全局3D点云数据进行第二次更 新;所述缓存单元,还用于缓存当前帧的彩色图像。

[0029]在一种可能的实施方式中,本发明实施例提供的上述装置中,该装置还包括:闭环 判断单元,用于在确定当前帧彩色图像为多帧彩色图像中的关键帧条件下,判断相机移动 过的路径是否构成闭环;第二优化处理单元,用于在判定相机移动过的路径构成闭环的条 件下,利用第三优化策略对所述缓存单元缓存的闭环所包含关键帧对应时刻相机在空间中 的位姿数据以及第二次更新后的全局3D点云数据进行优化;第二数据更新单元,用于利用 优化结果对所述缓存单元中缓存的闭环所包含关键帧对应时刻相机在空间中的位姿数据 进行更新,以及对第二次更新后的全局3D点云数据进行第三次更新。

[0030]在一种可能的实施方式中,本发明实施例提供的上述装置中,所述闭环判断单元, 具体用于:基于词袋算法分别计算当前帧彩色图像与目标关键帧集合中每一关键帧彩色图 像之间的相似度;若确定当前帧彩色图像与目标关键帧集合中任一关键帧彩色图像的相似 度大于预设相似度阈值,则判定相机在拍摄该关键帧的位置以及拍摄当前帧所在位置之间 移动过的路径构成闭环,否则,判定相机移动过的路径未构成闭环,其中,所述目标关键帧 集合中包括与当前帧空间相关联的所有关键帧。

[0031] 在一种可能的实施方式中,本发明实施例提供的上述装置中,所述关联关键帧确 定单元,具体用于:在利用第一优化策略将转换后的基于当前帧生成的局部3D点云数据与 所述缓存单元缓存的全局3D点云数据进行融合之后,在融合后的全局3D点云数据中,针对 每一关键帧,判断当前帧与该关键帧之间的公共点云数据是否大于预设数量阈值,若判定 结果为是,则确定该关键帧与当前帧空间相关联。

[0032] 本发明实施例提供的一种智能设备,所述智能设备包括本发明上述实施例提供的 空间位置追踪装置。

[0033] 本发明实施例提供的上述智能设备中,通过在智能设备中增加本发明实施例提供 的空间位置追踪装置,从而能够通过采集相机的运动数据以及相机所拍摄的彩色图像和深 度图像,根据采集到的彩色图像和深度图像以及相机的运动数据,确定相机拍摄每帧图像 的时刻相机在空间中的位姿数据,得到多个时刻相机在空间中的位姿数据,进而根据确定 出的多个时刻相机在空间中的位姿数据,对相机在空间中的位置进行追踪,也即对智能设 备在空间中的位姿进行追踪,与现有空间位置追踪方案,依赖于激光扫描设备发射的激光 束进行定位,激光扫描设备安装校准麻烦,精度依赖于光敏传感器的分布,且活动区域受限 相比,无需使用激光扫描设备即可实现对相机在空间中的位置进行追踪,从而避免了使用 激光扫描设备时设备安装校准麻烦,精度依赖于光敏传感器的分布,且活动区域受限的问 题,在以高精度实现六自由度空间位置追踪的同时,无活动区域限制。

附图说明

[0034]图1为本发明实施例提供的一种空间位置追踪方法的示意流程图;

[0035]图2为本发明实施例提供的一种确定相机在空间中位姿数据的示意流程图;

[0036]图3为本发明实施例提供的一种空间位置追踪方法的具体流程的示意流程图; [0037]图4为本发明实施例提供的一种空间位置追踪装置的结构示意图。

具体实施方式

[0038]下面结合附图,对本发明实施例提供的一种空间位置追踪方法、装置及智能设备 的具体实施方式进行详细地说明。

[0039] 本发明实施例提供的一种空间位置的追踪方法,如图1所示,该方法包括:

[0040] 步骤102,采集相机的运动数据以及相机所拍摄的彩色图像和深度图像,运动数据 包括相机的在空间中移动时的角速度和加速度。

[0041] 本步骤中,相机的运动数据,也即相机在空间中移动时的角速度和加速度可以通 过惯性测量单元(Inertial measurement unit,IMU)进行测量,而惯性测量单元可以安装 在相机中,也可以与相机一起安装在智能设备中,本发明对此不做具体限定,其中,智能设 备包括但不限于:VR设备、AR设备、机器人、无人机以及移动终端(例如:手机、平板电脑等)。 彩色图像和深度图像,可以直接由相机进行拍摄。

[0042] 值得说明的是,本发明实施例中采集相机拍摄的彩色图像和深度图像,用于对相 机在空间中的位置进行追踪,而在本发明其它实施例中,也可以采集相机所拍摄的灰度图 像和深度图像,用于对相机在空间中的位置进行追踪,其中,彩色图像可以通过RGB摄像头 进行拍摄,灰度图像可以通过灰度摄像头进行拍摄,深度图像采用深度摄像头进行拍摄,深 度图傢中像累值的大小反映了物体离相机的远近距离。

[0043]步骤104,根据采集到的彩色图像和深度图像以及相机的运动数据,确定相机拍摄 每中贞图像的时刻相机在空间中的位姿数据,得到多个时刻相机在空间中的位姿数据。

[0044]具体^施时,在采集到相机的运动数据以及相机所拍摄的彩色图像和深度图像之 后,即可根据采集到的彩色图像和深度图像以及相机的运动数据,确定相机拍摄每帧图像 的时刻相机在空间中的位姿数据,也即确定出相机每次移动后的位姿数据,进而得到多个 时刻相机在空间中的位姿数据,而由于相机安装在智能设备中,因此,相机在空间中的位姿 数据,也即每次移动后智能设备的位姿数据。 值得说明的是,本发明实施例中所提到的相机拍摄每帧图像的时刻相机在空间中 的位姿数据,包括:相机拍摄每帧图像的时刻相机在空间中的位置数据和姿态数据。

[0046] 步骤丨〇6,根据确定出的多个时刻相机在空间中的位姿数据,对相机在空间中的位 置进行追踪。

[0047] 具体实施时,确定出多个时刻相机在空间中的位姿数据之后,根据多个时刻之间 的时间顺序,即可对相机在空间中的位置进行追踪,其中,根据确定出的多个时刻相机在空 间中的位姿数据,对相机在空间中的位置进行追踪的方法,可以采用现有技术中的方法,此 处不再赘述。

[0048] 本发明实施例提供的方法中,通过采集相机的运动数据以及相机所拍摄的彩色图 像和深度图像,根据采集到的彩色图像和深度图像以及相机的运动数据,确定相机拍摄每 帧图像的时刻相机在空间中的位姿数据,得到多个时刻相机在空间中的位姿数据,进而根 据确定出的多个时刻相机在空间中的位姿数据,对相机在空间中的位置进行追踪,与现有 空间位置追踪方案,依赖于激光扫描设备发射的激光束进行定位,激光扫描设备安装校准 麻烦,精度依赖于光敏传感器的分布,且活动区域受限相比,无需使用激光扫描设备即可实 现对相机在空间中的位置进行追踪,从而避免了使用激光扫描设备时设备安装校准麻烦, 精度依赖于光敏传感器的分布,且活动区域受限的问题,在以高精度实现六自由度空间位 置追踪的同时,无活动区域限制。

[0049]在一种可能的实施方式中,本发明实施例提供的方法中,根据采集到的彩色图像 和深度图像以及相机的运动数据,确定相机拍摄每帧图像的时刻相机在空间中的位姿数 据,包括:针对相机拍摄任一帧图像的时刻,根据当前时刻与前一时刻之间相机的运动数 据、当前帧彩色图像和深度图像、缓存的前一帧彩色图像以及缓存的全局3D点云数据,确定 当前时刻相机在空间中的位姿数据;其中,全局3D点云数据包括多个点云数据,每个点云数 据用于标识相机移动时视野中一个空间点的坐标信息,且每一空间点的坐标信息是以相机 初始位置为坐标原点计算生成的。

[0050] 较为优选地,在确定当前时刻相机在空间中的位姿数据时,还需要根据相机前一 时刻在空间中的位姿数据,也即针对相机拍摄任一帧图像的时刻,根据当前时刻与前一时 刻之间相机的运动数据、当前帧彩色图像和深度图像、缓存的前一帧彩色图像、缓存的全局 3D点云数据以及前一时刻相机在空间中的位姿数据,确定当前时刻相机在空间中的位姿数 据。

[0051] 其中,本发明实施例,缓存的前一帧彩色图像是实时更新的,具体来说,针对第二 帧彩色图像而言,缓存的前一帧彩色图像是相机开机之后采集的第一帧彩色图像,而针对 第三帧彩色图像而言,缓存的前一帧彩色图像则是指相机采集的第二帧彩色图像,以此类 推。因此,缓存的前一帧彩色图像需要实时更新,以保证确定出的相机在空间中的位置的准 确性。

[0052]具体实施时,根据当前时刻与前一时刻之间相机的运动数据、当前帧彩色图像和 深度图像、缓存的前一帧彩色图像以及缓存的全局3D点云数据,确定当前时刻相机在空间 中的位姿数据,如图2所示,包括:

[0053]步骤202,根据当前时刻以及前一时刻之间相机的运动数据,确定相机移动之后的 初始位姿数据。

[0054]具体实施时,根据当前时刻以及前一时刻之间相机的运动数据,结合相机前一时 刻在空间的位姿数据,即可确定出相机移动之后的初始位姿数据。

[0055] 步骤2〇4,将当前帧彩色图像与前一帧彩色图像进行对比,在当前帧彩色图像和前 一帧彩色图像之间进行特征点匹配,根据匹配结果生成特征点跟踪数据,其中,特征点跟踪 数据包括匹配成功的特征点,特征点包括彩色图像中灰度值发生变化位置处的一个或多个 像素点。

[0056] 本发明实施例中,将彩色图像中灰度值发生变化位置处的一个或多个像素点称为 特征点,而彩色图像中灰度值不变位置处的像素点不作为特征点,当然,本领域技术人员应 当理解的是,在本发明其它实施例中,还可以采用其它方法确定彩色图像中的特征点。

[0057] 具体实施时,对于彩色图像中的每个特征点,建立特征点的描述数据,在将当前帧 彩色图像与前一帧彩色图像进行对比,在当前帧彩色图像和前一帧彩色图像之间进行特征 点匹配时,针对当前帧彩色图像中的每个特征点,例如:特征点A,计算该特征点A的描述数 据与前一帧彩色图像中各个特征点描述数据之间的相似度,若该特征点A的描述数据与前 一帧彩色图像中任一特征点描述数据之间的相似度大于预设相似度阈值,例如:该特征点A 的描述数据与前一帧彩色图像中特征点B描述数据之间的相似度大于预设相似度阈值,则 确定当前帧彩色图像中的特征点A和前一帧彩色图像中的特征点B匹配成功。其中,预设相 似度阈值可以自由设定,例如:预设阈值取值为90%,计算两个特征点描述数据之间的相似 度的方法可以采用现有技术中的方法,此处不再赘述。

[0058] 当然,在本发明其它实施例中,在将当前帧彩色图像与前一帧彩色图像进行对比, 在当前帧彩色图像和前一帧彩色图像之间进行特征点匹配时,还可以将当前帧彩色图像中 的特征点A的描述数据与另一指定帧彩色图像中的特征点C的描述数据进行相似度计算,然 后将前一帧彩色图像中的特征点B的描述数据与另一指定帧彩色图像中的特征点C的描述 数据进行相似度计算,若当前帧彩色图像中的特征点A的描述数据以及前一帧彩色图像中 的特征点B的描述数据与另一指定帧彩色图像中的特征点C的描述数据的相似度均大于预 设相似度阈值,则确定当前帧彩色图像中的特征点A和前一帧彩色图像中的特征点B匹配成 功。较为优选地,指定帧彩色图像为多帧彩色图像中关键帧的彩色图像。

[0059]具体实施时,在确定出所有匹配成功的特征点之后,该方法还包括:确定匹配成功 的特征点的数量是否大于预设特征点数量阈值,若匹配成功的特征点的数量大于预设特征 点数量阈值,则确定匹配成功,利用所有匹配成功的特征点生成特征点跟踪数据,若匹配成 功的特征点的数量小于或者等于预设特征点数量阈值,则确定匹配失败,则将当前帧彩色 图像与当前时刻之前的各关键帧彩色图像分别进行对比,在当前帧彩色图像和当前时刻之 前的关键帧彩色图像之间分别进行特征点匹配,直至匹配成功,利用所有匹配成功的特征 点生成特征点跟踪数据,当然,若当前帧彩色图像与当前时刻之前所有关键帧彩色图像之 间匹配成功的特征点的数量均小于或等于预设特征点数量阈值,也即当前帧彩色图像与当 前时刻之前所有关键帧彩色图像均匹配失败,则不生成特征点跟踪数据。其中,在将当前帧 彩色图像和当前时刻之前的关键帧彩色图像分别进行特征点匹配时,较为优选地,根据拍 摄每一关键帧的时刻与当前时刻的时间关系顺序进行。其中,预设特征点数量阈值可以根 据实际情况自由设定,例如:预设特征点数量阈值的取值为30。

[0060] 需要说明的是,本发明具体实施时,需要缓存每一关键帧的彩色图像,以在生成特 征点跟踪数据时使用,具体确定多帧彩色图像中关键帧的方法将在本发明其它实施例中进 行详细说明,此处不再赘述。

[0061] 作为较为具体的实施例,假设拍摄关键帧A的时刻为00:05,拍摄关键帧B的时刻为 〇〇: 15,拍摄关键帧C的时刻为00:20,拍摄前一帧彩色图像的时刻为00:21,拍摄当前帧彩色 图像的时刻,也即当前时刻为00:22,则生成特征点跟踪数据时,先将当前帧彩色图像与前 一帧彩色图像进行对比,在当前帧彩色图像和前一帧彩色图像之间进行特征点匹配,若当 前帧彩色图像与前一帧彩色图像之间匹配成功的特征点数量大于预设特征点数量阈值,则 确定匹配成功,利用所有匹配成功的特征点生成特征点跟踪数据,若当前帧彩色图像与前 一帧彩色图像之间匹配成功的特征点数量小于或等于预设特征点数量阈值,则确定匹配失 败,则在当前帧彩色图像和关键帧C的彩色图像之间进行特征点匹配,若匹配成功,利用所 有匹配成功的特征点生成特征点跟踪数据,若匹配失败,则在当前帧彩色图像和关键帧B的 彩色图像之间进行特征点匹配,若匹配成功,利用所有匹配成功的特征点生成特征点跟踪 数据,若匹配失败,则在当前帧彩色图像和关键帧A的彩色图像之间进行特征点匹配,若匹 配成功,利用所有匹配成功的特征点生成特征点跟踪数据,若匹配失败,则不生成特征点跟 踪数据。

[0062] 步骤206,对初始位姿数据以及特征点跟踪数据进行滤波处理,利用特征点跟踪数 据对初始位姿数据进行校准,确定相机移动之后的中间位姿数据。

[0063]具体实施时,对初始位姿数据以及特征点跟踪数据进行滤波处理,可以利用卡尔 曼滤波器对初始位姿数据以及特征点跟踪数据进行滤波处理,以利用特征点跟踪数据对初 始位姿数据进行校准,从而得到校准后的位姿数据,也即相机移动之后的中间位姿数据。当 然,本发明实施例中利用卡尔曼滤波器对初始位姿数据以及特征点跟踪数据进行滤波处 理,在本发明其它实施例中还可以使用其它滤波方法,例如:滑动窗口滤波、粒子滤波等,此 处并不用于具体限定。

[0064] 步骤2〇8,基于当前帧深度图像,生成局部邪点云数据,其中,局部3D点云数据中包 括多个点云数据,每个点云数据用于标识当前时刻相机视野中一个空间点的坐标信息,且 每一空间点的坐标信息是以相机当前所在位置为坐标原点计算生成的。

[0065] 较为优选地,为了提高生成局部3D点云数据的准确性,在基于当前帧深度图像,生 成局部3D点云数据之前,该方法还包括:基于当前帧彩色图像,对当前帧深度图像进行配 准;基于当前帧深度图像,生成局部3D点云数据,包括:基于配准后的深度图像,生成局部3D 点云数据。

[0066] 值得说明的是,由于彩色图像和深度图像是通过两个或多个位于不同位置处的摄 像机拍摄,因此,同一时刻拍摄的彩色图像和深度图像所拍摄的场景会存在一定差别,而基 于当前帧彩色图像,对当前帧深度图像进行配准,即是以当前帧彩色图像为基准,移动当前 帧深度图像中的像素,使得针对同一物体同一位置,当前帧深度图像中该位置对应的像素 以及彩色图像中该位置对应的像素处于相同的坐标。

[0067]在基于当前帧彩色图像,对当前帧深度图像进行配准之后,基于配准后的深度图 像,生成局部邪点云数据,局部3D点云数据中包括多个点云数据,每个点云数据用于标识当 前时刻相机视野中一个空间点的坐标信息,且每一空间点的坐标信息是以相机当前所在位 置为坐标原点计算生成的。其中,基于配准后的深度图像,生成局部3D点云数据可以采用现 有技术中的方法,此处不再赘述。

[0068] 值得说明的是,步骤202、步骤204以及步骤208的实施顺序可以是任意的,并不限 于本实施例中提到的顺序,当然,步骤2〇6需要在步骤202和步骤204之后实施。

[0069]步骤210,基于中间位姿数据、局部邪点云数据以及缓存的全局3D点云数据,利用 第一优化策略对中间位姿数据进行优化,确定相机移动之后的目标位姿数据,并将目标位 姿数据确定为当前时刻相机在空间中的位姿数据。

[0070] 其中,第一优化策略可以使用就近点搜索(Iterative Closest Point,ICP)算法, 当然,也可以使用其它算法,此处并不用于具体限定。

[0071]本f明实施例中缓存的全局邪点云数据,是指从相机开机开始,实时采集深度图 像,并基于采集的每帧深度图像生成局部3D点云数据,然后将所有局部3D点云数据进行融 合生成的。

[0072]作为较为具体的实施例,在相机开机之后,采集第一帧深度图像,基于第一帧深度 图像生成局部3D点云数据,由于基于第一帧深度图像生成的局部3D点云数据是以相机当前 的位置为坐标原点,而相机当前的位置也是相机的初始位置,全局3D点云数据是以相机初 始位置为坐标原点计算的,因此,基于第一帧深度图像生成的局部3D点云数据,无需经过转 换,就是全局3D点云数据,假设将此时的全局3D点云数据(也即基于第一帧深度图像生成的 局部3D点云数据)记为Ml,则缓存全局3D点云数据Ml。

[0073]相机移动一次之后,采集第二帧深度图像,并基于第二帧深度图像生成局部3D点 云数据,则在确定采集第二帧深度图像时刻相机在空间中的位姿数据时,所使用的缓存的 全局3D点云数据,即为全局3D点云数据Ml,在确定采集第二帧深度图像时刻相机在空间中 的位姿数据之后,将基于第二帧深度图像生成的局部3D点云数据中的点云数据转换为以相 机初始位置为坐标原点的点云数据,得到转换后的局部3D点云数据,并将转换后的局部3D 点云数据与全局3D点云数据Ml进行融合,得到全局3D点云数据M2,并使用全局3D点云数据 M2更新缓存中的全局3D点云数据Ml,此时缓存的全局抑点云数据更新为全局3D点云数据 M2〇

[OO74]依次类推,在相机再次移动之后,采集第三帧深度图像,则在确定采集第三帧深度 图像时刻相机在空间中的位姿数据时,所使用的缓存的全局3D点云数据即为全局3D点云数 据M2,同时在确定采集第三帧深度图像时刻相机在空间中的位姿数据之后,同样需要将基 于第三帧深度图像生成的局部3D点云数据融合到全局邪点云数据M2中,并更新缓存中的全 局邪点云数据,以在确定采集下一帧深度图像时刻相机在空间中的位姿数据时使用。

[0075]相机每米集一帧深度图像,则更新一次缓存中的全局3D点云数据,更新过程与采 果f1 一皮图1家以及第二帧深度图像的更新过程类似,此处不再赘述。其中,将转换后的 局部3D点zc数据与缓存的全局3D点云数据进行融合,包括以下两种情况,具体来说:

[0076]情况一、针对空Pg中任一点,若在转换后的局部3D点云数据以及全局3D点云数据 中均存在该点对应的点云数据肩确定转换后的局部3D点云数据中该点对应点云数据的描 ^数据与_局30点云数据中该点对应点云数据的描述数据是否相同,若相同,则不需要进 行^正,若不1,则需要对转换后的局部3D点云数据中该点的点云数据(或者对点云数据的 描述数行修正,使得转换后的局部3D点云数据中该点对应点云数据的描述数据与全 局3D点石数据中该点对应点云数据的描述数据相同。当然,在本发明其它实施例中,在将转 换后的局部3D点云数据与缓存的全局3£)点云数据进行融合时,也可以对全局邪点云数据中 该^对应的点云数据(或者^•点云数据的描述数据)进行修正,或者同时对转换后的局部3D 点z?数据士该点对应的点云数据(或者对点云数据的描述数据)和全局3D点云数据中该占 对应的点云数据(或者对点云数据的描述数据)进行修正。 、

[0OT7]情况二、针对空间中的任一点,若在转换后的局部3D点云数据中存在该点对应的 点云数据,而在全局3D点云数据中不存在该点对应的点云数据,则将该点在转换后的局部 3D点云数据中对应的点云数据增加到全局3D点云数据中。

[0078]需要说明的是,本发明实施例通过不断的计算全局3D点云数据,在基于全局3D点 S数据对相机在空间中的位置进行追踪的同时,还可以对相机移动经过的场景进行三维重 建,用在AR设备上可以提供更加逼真的AR效果,用在呢设备上可以探测障碍物并提示,基于 全局3D点云数据对场景的三维重建,也可以用在机器人以及无人机等智能移动设备的障碍 物规避方面。

[0079]具体实施时,基于中间位姿数据、局部3D点云数据以及缓存的全局3D点云数据,利 用第一优化策略对中间位姿数据进行优化,确定相机移动之后的目标位姿数据,包括:基于 中间位姿数据,将局部3D点云数据中的点云数据转换为以相机的初始位置为坐标原点的点 云数据,得到转换后的局部3D点云数据;利用第一优化策略将转换后的局部3D点云数据与 全局3D点云数据进行融合,并确定转换后的局部31)点云数据与全局3D点云数据融合时的调 整数据;利用调整数据对中间位姿数据进行修正,得到相机移动之后的目标位姿数据。

[00S0]具体来说,由于局部3D点云数据中的点云数据是以相机当前所在位置为坐标原点 计算生成的,而全局3D点云数据是以相机初始位置为坐标原点计算生成的,因此,可以基于 预if的转换规则将局部3D点云数据中的点云数据转换为以相机的初始位置为坐标原点的 点云数据,得到转换后的局部3D点云数据。在计算得到转换后的局部3D点云数据之后,利用 第一优化策略(例如:ICP算法)将转换后的局部3D点云数据与全局3D点云数据进行融合,并 确定转换后的局部3D点云数据与全局3D点云数据融合时的调整数据,进而可以根据调整数 据对中间位姿数据进行修正,得到相机移动之后的目标位姿数据,也即得到相机移动之后 在空间中的位姿数据。其中,转换后的局部3D点云数据与全局3D点云数据融合过程中的调 整数据,包括以下两种中的至少一种:

[0081] —、对点云数据(或者点云数据的描述数据)的修正数据,具体来说:

[0082]针对空间中任一点,若在转换后的局部3D点云数据以及全局3D点云数据中均存在 该点对应的点云数据,则确定转换后的局部3D点云数据中该点对应点云数据的描述数据与 全局3D点云数据中该点对应点云数据的描述数据是否相同,若相同,则不需要进行修正,若 个=,则W要对转换后的局部3D点云数据中该点的点云数据(或者对点云数据的描述数据) 进行修正,使得转换后的局部邪点云数据中该点对应点云数据的描述数据与全局3D点云数 据中if点对应点云数据的描述数据相同。当然,在本发明其它实施例中,在将转换后的局部 3D点石数据与缓存的全局邪点云数据进行融合时,也可以对全局3D点云数据中该点对应的 点云数据(或者对点云数据的描述数据)进行修正,或者同时对转换后的局部3D点云数据中 该点对应的点云数据(或者对点云数据的描述数据)和全局3D点云数据中该点对应的占云 数据(或者对点云数据的描述数据)进行修正。

[0083]二、新增的点云数据,具体来说:

[0084]针对空间中的任一点,若在转换后的局部3D点云数据中存在该点对应的点云数 据,而在全局3D点云数据中不存在该点对应的点云数据,则将该点在转换后的局部3D点云 数据中对应的点云数据增加到全局3D点云数据中。

[0085] 一具体实施时,根据调整数据对中间位姿数据进行修正,包括:根据修正数据以及新 增的点云数据对中间位姿数据进行修正,以得到更加准确的位姿数据,并将得到的位姿数 据作为相机移动之后在空间中的位姿数据。具体修正方式可以采用现有技术中的方式,此 处不再赘述。

[0086^较为优选地,在利用第一优化策略将转换后的局部3D点云数据与全局3D点云数据 进行融合之后,该方法还包括:利用融合后的全局3D点云数据对缓存的全局3D点云数据进 行第一次更新。

[0087]具体实施时,在利用第一优化策略将转换后的局部3D点云数据与全局3D点云数据 进行融合之后,利用融合后的全局3D点云数据对缓存的全局3D点云数据进行更新,以保证 下一时刻确定相机在空间中的位姿数据时,使用的全局3D点云数据为包含当前帧的局部3D 点云数据的最新的全局3D点云数据,以进一步提高确定出的相机在空间中的位姿数据的准 确性。

[0088]本发明实施例中,为了提高全局3D点云数据的准确性,并提高基于全局3D点云数 据计算得到的相机在空间中的位姿数据的准确性,还可以对全局3D点云数据进行优化,并 更新缓存的全局3D点云数据,具体来说:

[0089]在一种可能的实施方式中,本发明实施例提供的方法中,该方法还包括:利用预设 规则判断当前帧彩色图像是否为多帧彩色图像中的关键帧;在判定当前帧彩色图像为多帧 彩色图像中的关键帧条件下,确定与当前帧彩色图像空间相关联的所有关键帧;利用第二 优化策略对第一次更新后的全局3D点云数据、当前帧对应时刻相机在空间中的位姿数据以 及缓存的与当前帧空间相关联的所有关键帧对应时刻相机在空间中的位姿数据进行非线 性优化;利用优化结果对缓存的与当前帧空间相关联的所有关键帧对应时刻相机在空间中 的位姿数据进行更新,对确定出的当前帧对应时刻相机在空间中的位姿数据进行更新以及 对第一次更新后的全局3D点云数据进行第二次更新,并缓存当前帧的彩色图像。

[0090] 值得说明的是,本发明实施例中的关键帧的选取原则是:与前一关键帧彩色图像 包括共同场景,且共同场景在当前帧彩色图像中的占比处于预设阈值范围内,以在完全表 示场景信息的同时,避免选择过多的冗余关键帧,则预设规则可以包括:当前帧彩色图像与 前一关键帧彩色图像之间存在共同场景,且共同场景在当前帧彩色图像中的占比处于预设 阈值范围内。其中,预设阈值范围可以根据实际需要进行设定,例如:预设阈值范围为区域

[40%,S0%]。具体实施时,确定当前帧与前一关键帧之间是否存在共同场景,以及存在共 同场景的条件下,确定共同场景在当前帧彩色图像中的占比是否处于预设阈值范围内均可 以采用现有技术中的方法,此处不再赘述。

[0091]当然,在本发明其它实施例中,也可以采用其它方式判断当前帧彩色图像是否为 多帧彩色图像中的关键帧,也即预设规则还可以包括其它规则,例如:当前帧彩色图像与前 一帧关键帧彩色图像之间存在共同特征点,且共同特征点的数量处于预设特征点阈值范 围。其中,预设特征点阈值范围根据实际需要进行设定,例如:预设特征点阈值范围为区间 [20,40] 〇

[0092]其中,在判定当前帧彩色图像为多帧彩色图像中的关键帧条件下,确定与当前帧 彩色图像空间相关联的所有关键帧,包括:在利用第一优化策略将转换后的基于当前帧生 成的局部3D点云数据与缓存的全局3D点云数据进行融合之后,在融合后的全局3D点云数据 中,针对每一关键帧,判断当前帧与该关键帧之间的公共点云数据是否大于预设数量阈值, 若判定结果为是,则确定该关键帧与当前帧空间相关联。具体实施时,确定与当前帧彩色图 像空间相关联的所有关键帧,包括以下两种实施方式。

[0093] 实施方式一、

[0094]—在利用第=优化策略将转换后的基于当前帧生成的局部3D点云数据与缓存的全 局3D点云数据进行融合之后,在融合后的全局3D点云数据中确定当前帧视野中空间点的点 云数据集合,其中,当前帧视野中空间点的点云数据集合包括:基于当前帧生成的局部3D点 云数据中每个空间点在融合后的全局3D点云数据中对应的点云数据;针对缓存的每一关键 帧视野中空间点的点云数据集合:判断当前帧视野中空间点的点云数据集合与该关键帧视 野中空间点的点云数据集合之间公共点云数据的数量是否大于预设数量阈值,若判定结果 为是,则确定该关键帧与当前帧空间相关联。

[0095]其中,当前帧视野中空间点的点云数据集合是指针对基于当前帧深度图像,生成 的局部3Df云数据,在将局部卻点云数据转换到以相机初始位置为坐标原点,且与全局3D 点z?数据融合之后,由局部3D点云数据中每个点云数据在融合后全局3D点云数据中对应的 点云数据组成的集合。

[0096]作为较为具体的实施例,假设第一个局部3D点云数据中,包括点云数据△、点云数 据B以及点云数据C,而第一个局$3D点云数据中的点云数据A、点云数据]^以及点云数据〇经 过转换,并且与全局3D点z?数据融合之后分别得到点云数据a、点云数据b以及点云数据c, ^二个局部3D点云数据中,包括点云数据D和点云数据e,而第二个局部3D点云数据中的点 云数据D和点云数据E经过转换,并且与全局3D点云数据融合之后分别得到点云数据(1和'占' 云数据e,则此时融合后的全局邪点云数据中包括:点云数据a、点云数据b、点云数据(;、占g 数据d以及点云数据e,由于全局3D点云数据中的点云数据&与第一局部3D点云数据中g占 云数据A相对应^全局邪点云数据中的点云数据b与第一局部3D点云数据中的点云数据 对应,全局3D点石数据中的点云数据c与第一局部3D点云数据中的点云数据(:相对应,因此 第一局部3D点云数据对应帧视野中空间点的点云数据集合包括:点云数据a、点云数据匕以 f点z?数据=,同理,第二局部邪点云数据对应帧视野中空间点的点云数据集合包括:点云 数据d和点石数据e。本实施例中,第一局部3D点云数据和第二局部邪点云数据仅用于区分 基于两帧不同深度图像生成的局部邪点云数据。

[0097]在确定当前帧视野中空间点的点云数据集合之后,针对缓存的每一关键帧视野中 空间点的点云数据集合:判断当前帧视野中空间点的点云数据集合与该关键帧视野中空间 点的点云数据集合之间公共点云数据的数量是否大于预设数量阈值,若判定结果为是,则 确定该关键帧与当前帧空间相关联。其中,预设数量阈值可以根据实际需要自由设定。

[0098]作为较为具体的实施例,假设预设数量阈值为2,当前帧视野中空间点的点云数据 集合中包括的点云数据为点云数据a、点云数据b、点云数据C、点云数据d以及点云数据e,而 关键帧A视野中空间点的点云数据集合中包括的点云数据为点云数据a、点云数据b、点云数 据c、点云数据f以及点云数据g,关键帧B视野中空间点的点云数据集合中包括的点云数据 为点云数据P、点云数据b、点云数据i、点云数据f以及点云数据g,则当前帧视野中空间点的 点云数据集合与关键帧A视野中空间点的点云数据集合之间公共点云数据的数量为3,大于 预设数量阈值2,因此,关键帧A为当前帧空间相关联的关键帧,而当前帧视野中空间点的点 云数据集合与关键帧B视野中空间点的点云数据集合之间公共点云数据的数量为丨,小于预 设数量阈值2,因此,关键帧B不是当前帧空间相关联的关键帧。

[0099] 实施方式二

[0100] 在缓存的全局3D点云数据中,记录每一点云数据所属的关键帧,在确定当前帧视 野中空间点的点云数据集合之后,根据当前帧视野中空间点的点云数据集合以及缓存的全 局3D点云数据中每一点云数据所属的关键帧,针对每一关键帧,判断当前帧与该关键帧之 间的公共点云数据是否大于预设数量阈值,若判定结果为是,则确定该关键帧与当前帧空 间相关联。

[0101]作为较为具体的实施例,假设预设数量阈值为3,当前帧视野中空间点的点云数据 集合中包括点云数据a、点云数据b、点云数据c以及点云数据d,且当前帧之前有关键帧a、关 键帧0以及关键帧y,且已知在缓存的全局3D点云中,点云数据a属于关键帧a和关键帧队点 云数据b属于关键巾贞a和关键巾贞0,点云数据c属于关键帧a,点云数据d属于关键帧a和关键中贞 Y,则由此可以确定,当前帧与关键帧a之间公共点云数据为:点云数据a、点云数据b、点云 数据c以及点云数据d,也即当前帧与关键帧a之间公共点云数据的数量为4个,大于预设数 量阈值,因此,关键帧a与当前帧空间相关联,同理,当前帧与关键帧P之间公共点云数据的 数量为2个,小于预设数量阈值,当前帧与关键帧丫之间公共点云数据的数量为1个,也小于 预设数量阈值,因此,关键帧0和关键帧Y不与当前帧空间相关联。

[0102]在确定当前帧为多帧彩色图像中的关键帧,且确定与当前帧空间相关联的关键巾贞 之后,利用第二优化策略对第一次更新后的全局3D点云数据、当前帧对应时刻相机在空间 中的位姿数据以及缓存的与当前帧空间相关联的所有关键帧对应时刻相机在空间中的位 姿数据进行非线性优化;利用优化结果对缓存的与当前帧空间相关联的所有关键倾对应时 刻相机在空间中的位姿数据进行更新,对确定出的当前帧对应时刻相机在空间中的位姿数 据进行更新以及对第一次更新后的全局3D点云数据进行第二次更新,并缓存当前帧的彩色 图像。

[0103] 其中,第二优化策略可以米用光束平差(Bundle Adjustment,BA)算法,当然,在本 发明其它实施例中,也可以采用其它算法,例如:粒子滤波等算法。

[0104]在利用第二优化策略对第一次更新后的全局3D点云数据、当前帧对应时刻相机在 空间中的位姿数据以及缓存的与当前帧空间相关联的所有关键帧对应时刻相机在空间中 的位姿数据进行非线性优化之后,利用优化结果对缓存的与当前帧空间相关联的所有关键 帧对应时刻相机在空间中的位姿数据进行更新,以保证为下一次优化提供更为准确的数 据,而对第一次更新后的全局3D点云数据进行第二次更新,可以更进一步提高全局3D点云 数据的准确性,从而提高确定出的下一时刻相机在空间中位姿数据的准确性。

[0105] 本发明实施例中,对确定出的当前帧对应时刻相机在空间中的位姿数据进行更 新,一方面能够提高对相机在空间中的位置进行追踪的准确性,另一方面便于当前帧成为 其他关键帧空间相关联的关键帧时,对当前帧对应时刻相机在空间中的位姿数据进行优 化。

[0106]当然,需要说明的是,在确定当前帧彩色图像为多帧彩色图像中的关键帧条件下, 若先缓存当前帧对应时刻相机在空间中的位姿数据,则对确定出的当前帧对应时刻相机在 空间中的位姿数据进行更新,具体为:对缓存的当前帧对应时刻相机在空间中的位姿数据 进行更新;若在确定当前帧彩色图像为多帧彩色图像中的关键帧条件下,未缓存当前帧对 应时刻相机在空间中的位姿数据,则对确定出的当前帧对应时刻相机在空间中的位姿数据 进行更新,具体为:缓存优化后的当前帧对应时刻相机在空间中的位姿数据。

[01 07] 本发明实施例中,缓存当前帧的彩色图像用于确定下一时刻相机在空间中的中间 位姿数据。较为优选地,在本发明其它实施例中,还可以缓存所有关键帧的彩色图像,以用 于在当前帧彩色图像以及前一帧彩色图像之间进行特征点跟踪,具体利用关键帧的彩色图 像,在当前帧彩色图像以及前一帧彩色图像之间进行特征点跟踪与本发明实施例中提到的 特征点跟踪方法类似,此处不再赘述。

[0108]在一种可能的实施方式中,本发明实施例提供的方法中,在确定当前帧彩色图像 为多帧彩色图像中的关键帧条件下,该方法还包括:判断相机移动过的路径是否构成闭环; 在判定相机移动过的路径构成闭环的条件下,利用第三优化策略对缓存的闭环所包含关键 帧对应时刻相机在空间中的位姿数据以及第二次更新后的全局3D点云数据进行优化;利用 优化结果对缓存的闭环所包含关键帧对应时刻相机在空间中的位姿数据进行更新,以及对 第二次更新后的全局3D点云数据进行第三次更新。

[0109] 较为优选地,判断相机移动过的路径是否构成闭环,包括:基于词袋算法分别计算 当前帧彩色图像与目标关键帧集合中每一关键帧彩色图像之间的相似度;若确定当前帧彩 色图像与目标关键帧集合中任一关键帧彩色图像的相似度大于预设相似度阈值,则判定相 机在拍摄该关键帧的位置以及拍摄当前帧所在位置之间移动过的路径构成闭环,否则,判 定相机移动过的路径未构成闭环,其中,目标关键帧集合中包括与当前帧空间相关联的所 有关键中贞。

[0110]具体实施时,在判定相机移动过的路径构成闭环的条件下,利用第三优化策略对 缓存的闭环所包含关键帧对应时刻相机在空间中的位姿数据以及第二次更新后的全局3D 点云数据进行优化,其中,第三优化策略可以为SBO优化算法,当然,还可以采用现有技术 中的其它优化算法,此处并不用于具体限定。

[0111]在利用第三优化策略对缓存的闭环所包含关键帧对应时刻相机在空间中的位姿 数据以及第二次更新后的全局3D点云数据进行优化之后,利用优化结果对缓存的闭环所包 含关键帧对应时刻相机在空间中的位姿数据进行更新,以及对第二次更新后的全局3D点云 数据进行第三次更新,以缓存更为准确的关键帧的位姿数据以及全局3D点云数据,提高计 算下一时刻相机在空间中位姿数据的准确性。

[0112]本发明实施例在实施过程中,需要缓存当前时刻以及当前时刻之前所有关键帧的 位姿数据、缓存全局3D点云数据以及缓存前一帧彩色图像,优选地,还需要缓存所有关键帧 的彩色图像,当然,需要说明的是,本发明实施例中缓存的所有数据在确定每一时刻相机在 空间中的位姿数据之后,都需要进行更新,以在确定下一时刻相机在空间中的位姿数据时 使用,提高确定出的相机在空间中的位姿数据的准确性。

[0113]下面结合图3对本发明实施例提供的空间位置追踪方法进行详细说明,如图3所 示,本发明实施例提供的空间位置追踪方法的具体步骤包括:

[0114] 步骤302,采集彩色图像和深度图像以及前一时刻到当前时刻相机的运动数据;其 中,相机的运动数据包括角速度和加速度,可以通过IMU进行测量,而彩色图像和深度图像 可以直接通过相机拍摄。

[0115]步骤304,基于彩色图像,对深度图像进行配准,其中,对深度图像进行配准可以采 用现有技术中的方法,此处不再赘述。

[0116] 步骤3〇6,基于配准后的深度图像,生成局部3D点云数据,其中,局部3D点云数据中 包括多个点云数据,每个点云数据用于标识当前时刻相机视野中一个空间点的坐标信息, 且每一空间点的坐标信息是以相机当前所在位置为坐标原点计算生成的。

[0117]步骤308,将当前帧彩色图像与前一帧彩色图像进行对比,生成特征点跟踪数据, 其中,特征点跟踪数据包括匹配成功的特征点,特征点包括彩色图像中灰度值发生变化位 置处的一个或多个像素点。

[0118]步骤310,根据前一时刻到当前时刻相机的运动数据,确定相机在空间中的初始位 姿数据P0。

[0119]步骤312,对初始位姿数据P0以及特征点跟踪数据进行滤波处理,例如:进行卡尔 曼滤波处理,利用特征点跟踪数据对初始位姿数据P0进行修正,得到相机在空间中的中间 位姿数据PU

[0120]步骤314,基于中间位姿数据、局部3D点云数据以及缓存的全局3D点云数据对中间 位姿数据P1进行优化,得到当前时刻相机在空间中的目标位姿数据P2,其中,该目标位姿数 据P2即为确定出的当前时刻相机在空间中的位姿数据。

[0121]步骤316,根据多个时刻相机在空间中的位姿数据,对相机在空间中的位置进行追 踪D

[0122]当然,值得说明的是,本发明实施例在确定当前时刻相机在空间中的位姿数据之 后,也可以输出当前时刻相机在空间中的位姿数据。

[0123] 本发明实施例提供的一种空间位置的追踪装置,如图4所示,该装置包括:采集单 元4〇2,用于采集相机的运动数据以及相机所拍摄的彩色图像和深度图像,运动数据包括相 机的在空间中移动时的角速度和加速度;处理单元404,用于根据采集到的彩色图像和深度 图像以及相机的运动数据,确定相机拍摄每帧图像的时刻相机在空间中的位姿数据,得到 多个时刻相机在空间中的位姿数据;位置追踪单元406,用于根据确定出的多个时刻相机在 空间中的位姿数据,对相机在空间中的位置进行追踪。

[0124] 本发明实施例提供的装置中,通过采集相机的运动数据以及相机所拍摄的彩色图 像和深度图像,根据采集到的彩色图像和深度图像以及相机的运动数据,确定相机拍摄每 帧图像的时刻相机在空间中的位姿数据,得到多个时刻相机在空间中的位姿数据,进而根 据确定出的多个时刻相机在空间中的位姿数据,对相机在空间中的位置进行追踪,与现有 空间位置追踪方案,依赖于激光扫描设备发射的激光束进行定位,激光扫描设备安装校准 麻烦,精度依赖于光敏传感器的分布,且活动区域受限相比,无需使用激光扫描设备即可实 现对相机在空间中的位置进行追踪,从而避免了使用激光扫描设备时设备安装校准麻烦, 精度依赖于光敏传感器的分布,且活动区域受限的问题,在以高精度实现六自由度空间位 置追踪的同时,无活动区域限制。

[0125]在一种可能的实施方式中,本发明实施例提供的装置中,处理单元404根据采集到 的彩色图像和深度图像以及相机的运动数据,确定相机拍摄每帧图像的时刻相机在空间中 的位姿数据,具体用于:针对相机拍摄任一帧图像的时刻,根据当前时刻与前一时刻之间相 机的运动数据、当前帧彩色图像和深度图像、缓存单元408缓存的前一帧彩色图像以及缓存 单元408缓存的全局3D点云数据,确定当前时刻相机在空间中的位姿数据;其中,全局3D点 Z5T数据包括多个点Z?数据,每个点数据用于标识相机移动时视野中一个空间点的坐标信 息,且每一空间点的坐标信息是以相机初始位置为坐标原点计算生成的。

[0126]在一种可能的实施方式中,本发明实施例提供的装置中,处理单元404根据当前时 刻与前一时刻之间相机的运动数据、当前帧彩色图像和深度图像、缓存单元408缓存的前一 帧彩色图像以及缓存单元4〇8缓存的全局3D点云数据,确定当前时刻相机在空间中的位姿 数据,具体用于:根据当前时刻以及前一时刻之间相机的运动数据,确定相机移动之后的初 始位姿数据;将当前帧彩色图像与前一帧彩色图像进行对比,在当前帧彩色图像和前一帧 彩色图像之间进行特征点匹配,根据匹配结果生成特征点跟踪数据,其中,特征点跟踪数据 包括匹配成功的特征点,特征点包括彩色图像中灰度值发生变化位置处的一个或多个像素 点;对初始位姿数据以及特征点跟踪数据进行滤波处理,利用特征点跟踪数据对初始位姿 数据进行校准,确定相机移动之后的中间位姿数据;基于当前帧深度图像,生成局部3D点云 数据,其中,局部3D点云数据中包括多个点云数据,每个点云数据用于标识当前时刻相机视 野中一个空间点的坐标信息,且每一空间点的坐标信息是以相机当前所在位置为坐标原点 计算生成的;基于中间位姿数据、局部3D点云数据以及缓存单元408缓存的全局3D点云数 据,利用第一优化策略对中间位姿数据进行优化,确定相机移动之后的目标位姿数据,并将 目标位姿数据确定为当前时刻相机在空间中的位姿数据。

[0127]在一种可能的实施方式中,本发明实施例提供的装置中,处理单元404还用于:在 基于当前帧深度图像,生成局部3D点云数据之前,基于当前帧彩色图像,对当前帧深度图像 进行配准;则处理单元基于当前帧深度图像,生成局部3D点云数据,具体用于:基于配准后 的深度图像,生成局部3D点云数据。

[0128]在一种可能的实施方式中,本发明实施例提供的装置中,处理单元404基于中间位 姿数据、局部3D点云数据以及缓存单元408缓存的全局3D点云数据,利用第一优化策略对中 间位姿数据进行优化,确定相机移动之后的目标位姿数据,具体用于:基于中间位姿数据, 将局部3D点云数据中的点云数据转换为以相机的初始位置为坐标原点的点云数据,得到转 换后的局部3D点云数据;利用第一优化策略将转换后的局部3D点云数据与全局3D点云数据 进行融合,并确定转换后的局部3D点云数据与全局3D点云数据融合时的调整数据;利用调 整数据对中间位姿数据进行修正,得到相机移动之后的目标位姿数据。

[0129]在一种可能的实施方式中,本发明实施例提供的装置中,处理单元4〇4,还用于:在 利用第一优化策略将转换后的局部3D点云数据与全局3D点云数据进行融合之后,利用融合 后的全局3D点云数据对缓存单元408中缓存的全局3D点云数据进行第一次更新。

[0130]_在一种可能的实施方式中,本发明实施例提供的装置中,该装置还包括:关键帧判 断单元410,用于利用预设规则判断当前帧彩色图像是否为多帧彩色图像中的关键帧;关联 关键帧确定单元412,用于在判定当前帧彩色图像为多帧彩色图像中的关键帧条件下,确定 与当前帧彩色图像空间相关联的所有关键帧;第一优化处理单元414,用于利用第二优化策 略对第一次更新后的全局3D点云数据、当前帧对应时刻相机在空间中的位姿数据以及缓存 单元408缓存的与当前帧空间相关联的所有关键帧对应时刻相机在空间中的位姿数据进行 非线性优化;第一数据更新单元416,用于利用优化结果对缓存单元4〇8中缓存的与当前帧 空间相关联的所有关键帧对应时刻相机在空间中的位姿数据进行更新,对确定出的当前时 刻相机在空间中的位姿数据进行更新,以及对第一次更新后的全局30点云数据进行第二次 更新,缓存单元4〇8,还用于缓存当前帧的彩色图像。

[0131]在一种可能的实施方式中,本发明实施例提供的装置中,该装置还包括:闭环判断 单元418,用于在确定当前帧彩色图像为多帧彩色图像中的关键帧条件下,判断相机移动过 的路径是否构成闭环;第二优化处理单元42〇,用于在判定相机移动过的路径构成闭环的条 件下,利用第三优化策略对缓存单元408缓存的闭环所包含关键帧对应时刻相机在空间中 的位姿数据以及第二次更新后的全局3D点云数据进行优化;第二数据更新单元422,用于利 用优化结果对缓存单元4〇8缓存的闭环所包含关键帧对应时刻相机在空间中的位姿数据进 行更新,以及对第二次更新后的全局3D点云数据进行第三次更新。

[0132]在一种可能的实施方式中,本发明实施例提供的装置中,闭环判断单元418,具体 用于:基于词袋算法分别计算当前帧彩色图像与目标关键帧集合中每一关键帧彩色图像之 间的相似度;若确定当前帧彩色图像与目标关键帧集合中任一关键帧彩色图像的相似度大 于预设相似度阈值,则判定相机在拍摄该关键帧的位置以及拍摄当前帧所在位置之间移动 过的路径构成闭环,否则,判定相机移动过的路径未构成闭环,其中,目标关键帧集合中包 括与当前帧空间相关联的所有关键帧。

[0133]在一种可能的实施方式中,本发明实施例提供的装置中,关联关键帧确定单元 412,具体用于:在利用第一优化策略将转换后的基于当前帧生成的局部3£)点云数据与缓存 单元408缓存的全局3D点云数据进行融合之后,在融合后的全局3D点云数据中,针对每一关 键帧,判断当前帧与该关键帧之间的公共点云数据是否大于预设数量阈值,若判定结果为 是,则确定该关键帧与当前帧空间相关联。

[0134]本发明实施例提供的空间位置追踪装置,可以集成在智能设备,智能设备包括但 不限于:VR设备、AR设备、机器人、无人机以及移动终端(例如:手机、平板电脑等),也可以集 成在与智通设备相连接的控制器中,其中,处理单兀404、第一优化处理单元414以及第二优 化处理单元420可以采用同一硬件或者设备,也可以采用不同的硬件或者设备,缓存单元 40S中需要缓存当前时刻以及当前时刻之前所有关键帧的位姿数据、缓存全局3D点云数据、 缓存前一帧彩色图像以及缓存所有关键帧的彩色图像,可以通过一个缓存设备进行缓存, 也可以通过多个缓存设备分别进行缓存,本发明对此不做限定。

[0135]本发明实施例提供的一种智能设备,智能设备包括本发明实施例提供的空间位置 追踪装置。

[0136]本发明实施例提供的智能设备中,通过在智能设备中增加本发明实施例提供的空 间位置追踪装置,从而能够通过采集相机的运动数据以及相机所拍摄的彩色图像和深度图 像,根据采集到的彩色图像和深度图像以及相机的运动数据,确定相机拍摄每帧图像的时 刻相机在空间中的位姿数据,得到多个时刻相机在空间中的位姿数据,进而根据确定出的 多个时刻相机在空间中的位姿数据,对相机在空间中的位置进行追踪,也即对智能设备在 €间中的位姿进行追踪,与现有空间位置追踪方案,依赖于激光扫描设备发射的激光束进 行定位,激光扫描设备安装校准麻烦,精度依赖于光敏传感器的分布,且活动区域受限相 比,无需使用激光扫描设备即可实现对相机在空间中的位置进行追踪,从而避免了使用激 光扫f设备时设备安装校准麻烦,精度依赖于光敏传感器的分布,且活动区域受限的问题, 在以高精度实现六自由度空间位置追踪的同时,无活动区域限制。

[0137] 综上所述,本发明实施例提供的一种空间位置追踪方法、装置及智能设备,通过采 集相机的运动数据以及相机所拍摄的彩色图像和深度图像,根据采集到的彩色图像和深度 图像以及相机的运动数据,确定相机拍摄每帧图像的时刻相机在空间中的位姿数据,得到 多个时刻相机在空间中的位姿数据,进而根据确定出的多个时刻相机在空间中的位姿数 据,对相机在空间中的位置进行追踪,也即对智能设备在空间中的位姿进行追踪,无需使用 激光扫描设备即可实现对相机在空间中的位置进行追踪,从而避免了使用激光扫描设备时 设备安装校准麻烦,精度依赖于光敏传感器的分布,且活动区域受限的问题,在以高精度实 现六自由度空间位置追踪的同时,无活动区域限制。

[0138] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序 产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实 施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机 可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形 式。

[0139] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程 图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流 程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序 指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产 生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实 现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

[0140] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特 定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指 令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或 多个方框中指定的功能。

[0141]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计 算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或 其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一 个方框或多个方框中指定的功能的步骤。

[0142]显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精 神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围 之内,则本发明也意图包含这些改动和变型在内。

Claims (21)

1. 一种空间位置的追踪方法,其特征在于,该方法包括: 采集相机的运动数据以及相机所拍摄的彩色图像和深度图像,所述运动数据包括相机 的在空间中移动时的角速度和加速度; 根据采集到的彩色图像和深度图像以及相机的运动数据,确定相机拍摄每帧图像的时 刻相机在空间中的位姿数据,得到多个时刻相机在空间中的位姿数据; 根据确定出的多个时刻相机在空间中的位姿数据,对相机在空间中的位置进行追踪。
2.根据权利要求1所述的方法,其特征在于,所述根据采集到的彩色图像和深度图像以 及相机的运动数据,确定相机拍摄每帧图像的时刻相机在空间中的位姿数据,包括: 针对相机拍摄任一帧图像的时刻,根据当前时刻与前一时刻之间相机的运动数据、当 前帧彩色图像和深度图像、缓存的前一帧彩色图像以及缓存的全局3D点云数据,确定当前 时刻相机在空间中的位姿数据; 其中,所述全局3D点云数据包括多个点云数据,每个点云数据用于标识相机移动时视 野中一个空间点的坐标信息,且所述每一空间点的坐标信息是以相机初始位置为坐标原点 计算生成的。
3. 根据权利要求2所述的方法,其特征在于,所述根据当前时刻与前一时刻之间相机的 运动数据、当前帧彩色图像和深度图像、缓存的前一帧彩色图像以及缓存的全局3D点云数 据,确定当前时刻相机在空间中的位姿数据,包括: 根据当前时刻以及前一时刻之间相机的运动数据,确定相机移动之后的初始位姿数 据; 将当前帧彩色图像与前一帧彩色图像进行对比,在当前帧彩色图像和前一帧彩色图像 之间进行特征点匹配,根据匹配结果生成特征点跟踪数据,其中,所述特征点跟踪数据包括 匹配成功的特征点,所述特征点包括彩色图像中灰度值发生变化位置处的一个或多个像素 占. 对所述初始位姿数据以及所述特征点跟踪数据进行滤波处理,利用所述特征点跟踪数 据对所述初始位姿数据进行校准,确定相机移动之后的中间位姿数据; 基于当前帧深度图像,生成局部3D点云数据,其中,所述局部3D点云数据中包括多个点 云数据,每个点云数据用于标识当前时刻相机视野中一个空间点的坐标信息,且所述每一 空间点的坐标信息是以相机当前所在位置为坐标原点计算生成的; 基于所述中间位姿数据、所述局部3D点云数据以及缓存的全局3D点云数据,利用第一 优化策略对所述中间位姿数据进行优化,确定相机移动之后的目标位姿数据,并将所述目 标位姿数据确定为当前时刻相机在空间中的位姿数据。
4. 根据权利要求3所述的方法,其特征在于,在基于当前帧深度图像,生成局部3D点云 数据之前,该方法还包括: 基于当前帧彩色图像,对当前帧深度图像进行配准; 所述基于当前帧深度图像,生成局部3D点云数据,包括: 基于配准后的深度图像,生成局部3D点云数据。
5. 根据权利要求3所述的方法,其特征在于,所述基于所述中间位姿数据、所述局部3D 点云数据以及缓存的全局3D点云数据,利用第一优化策略对所述中间位姿数据进行优化, 确定相机移动之后的目标位姿数据,包括: 基于所述中间位姿数据,将局部3D点云数据中的点云数据转换为以相机的初始位置为 坐标原点的点云数据,得到转换后的局部3D点云数据; 利用第一优化策略将转换后的局部3D点云数据与全局3D点云数据进行融合,并确定转 换后的局部3D点云数据与全局3D点云数据融合时的调整数据; 利用所述调整数据对所述中间位姿数据进行修正,得到相机移动之后的目标位姿数 据。
6. 根据权利要求5所述的方法,其特征在于,在利用第一优化策略将转换后的局部3D点 云数据与全局3D点云数据进行融合之后,该方法还包括: 利用融合后的全局3D点云数据对缓存的全局3D点云数据进行第一次更新。
7. 根据权利要求6所述的方法,其特征在于,该方法还包括: 利用预设规则判断当前帧彩色图像是否为多帧彩色图像中的关键帧; 在判定当前帧彩色图像为多帧彩色图像中的关键帧条件下,确定与当前帧彩色图像空 间相关联的所有关键帧; 利用第二优化策略对第一次更新后的全局3D点云数据、当前帧对应时刻相机在空间中 的位姿数据以及缓存的与当前帧空间相关联的所有关键帧对应时刻相机在空间中的位姿 数据进行非线性优化; 利用优化结果对缓存的与当前帧空间相关联的所有关键帧对应时刻相机在空间中的 位姿数据进行更新,对确定出的当前帧对应时刻相机在空间中的位姿数据进行更新以及对 第一次更新后的全局3D点云数据进行第二次更新,并缓存当前帧的彩色图像。
8. 根据权利要求7所述的方法,其特征在于,在确定当前帧彩色图像为多帧彩色图像中 的关键帧条件下,该方法还包括: 判断相机移动过的路径是否构成闭环; 在判定相机移动过的路径构成闭环的条件下,利用第三优化策略对缓存的闭环所包含 关键帧对应时刻相机在空间中的位姿数据以及第二次更新后的全局3D点云数据进行优化; 利用优化结果对缓存的闭环所包含关键帧对应时刻相机在空间中的位姿数据进行更 新,以及对第二次更新后的全局3D点云数据进行第三次更新。
9. 根据权利要求8所述的方法,其特征在于,所述判断相机移动过的路径是否构成闭 环,包括: 基于词袋算法分别计算当前帧彩色图像与目标关键帧集合中每一关键帧彩色图像之 间的相似度; 若确定当前帧彩色图像与目标关键帧集合中任一关键帧彩色图像的相似度大于预设 相似度阈值,则判定相机在拍摄该关键帧的位置以及拍摄当前帧所在位置之间移动过的路 径构成闭环,否则,判定相机移动过的路径未构成闭环,其中,所述目标关键帧集合中包括 与当前帧空间相关联的所有关键帧。
10. 根据权利要求7-9中任一项所述的方法,其特征在于,所述确定与当前帧彩色图像 空间相关联的所有关键帧,包括: 在利用第一优化策略将转换后的基于当前帧生成的局部3D点云数据与缓存的全局3D 点云数据进行融合之后,在融合后的全局3D点云数据中,针对每一关键帧,判断当前帧与该 关键帧之间的公共点云数据是否大于预设数量阈值,若判定结果为是,则确定该关键帧与 当前帧空间相关联。
11. 一种空间位置的追踪装置,其特征在于,该装置包括: 采集单元,用于采集相机的运动数据以及相机所拍摄的彩色图像和深度图像,所述运 动数据包括相机的在空间中移动时的角速度和加速度; 处理单元,用于根据采集到的彩色图像和深度图像以及相机的运动数据,确定相机拍 摄每帧图像的时刻相机在空间中的位姿数据,得到多个时刻相机在空间中的位姿数据; 位置追踪单元,用于根据确定出的多个时刻相机在空间中的位姿数据,对相机在空间 中的位置进行追踪。
12. 根据权利要求11所述的装置,其特征在于,所述处理单元根据采集到的彩色图像和 深度图像以及相机的运动数据,确定相机拍摄每帧图像的时刻相机在空间中的位姿数据, 具体用于: 针对相机拍摄任一帧图像的时刻,根据当前时刻与前一时刻之间相机的运动数据、当 前帧彩色图像和深度图像、缓存单元缓存的前一帧彩色图像以及所述缓存单元缓存的全局 3D点云数据,确定当前时刻相机在空间中的位姿数据; 其中,所述全局3D点云数据包括多个点云数据,每个点云数据用于标识相机移动时视 野中一个空间点的坐标信息,且所述每一空间点的坐标信息是以相机初始位置为坐标原点 计算生成的。
13. 根据权利要求12所述的装置,其特征在于,所述处理单元根据当前时刻与前一时刻 之间相机的运动数据、当前帧彩色图像和深度图像、缓存单元缓存的前一帧彩色图像以及 所述缓存单元缓存的全局3D点云数据,确定当前时刻相机在空间中的位姿数据,具体用于: 根据当前时刻以及前一时刻之间相机的运动数据,确定相机移动之后的初始位姿数 据; 将当前帧彩色图像与前一帧彩色图像进行对比,在当前帧彩色图像和前一帧彩色图像 之间进行特征点匹配,根据匹配结果生成特征点跟踪数据,其中,所述特征点跟踪数据包括 匹配成功的特征点,所述特征点包括彩色图像中灰度值发生变化位置处的一个或多个像素 占. 对所述初始位姿数据以及所述特征点跟踪数据进行滤波处理,利用所述特征点跟踪数 据对所述初始位姿数据进行校准,确定相机移动之后的中间位姿数据; 基于当前帧深度图像,生成局部3D点云数据,其中,所述局部3D点云数据中包括多个点 云数据,每个点云数据用于标识当前时刻相机视野中一个空间点的坐标信息,且所述每一 空间点的坐标信息是以相机当前所在位置为坐标原点计算生成的; 基于所述中间位姿数据、所述局部3D点云数据以及所述缓存单元缓存的全局3D点云数 据,利用第一优化策略对所述中间位姿数据进行优化,确定相机移动之后的目标位姿数据, 并将所述目标位姿数据确定为当前时刻相机在空间中的位姿数据。
14. 根据权利要求13所述的装置,其特征在于,所述处理单元还用于: 在基于当前帧深度图像,生成局部3D点云数据之前,基于当前帧彩色图像,对当前帧深 度图像进行配准; 则所述处理单元基于当前帧深度图像,生成局部3D点云数据,具体用于: 基于配准后的深度图像,生成局部3D点云数据。
15.根据权利要求13所述的装置,其特征在于,所述处理单元基于所述中间位姿数据、 所述局部3D点云数据以及所述缓存单元缓存的全局3D点云数据,利用第一优化策略对所述 中间位姿数据进行优化,确定相机移动之后的目标位姿数据,具体用于: 基于所述中间位姿数据,将局部3D点云数据中的点云数据转换为以相机的初始位置为 坐标原点的点云数据,得到转换后的局部3D点云数据; 利用第一优化策略将转换后的局部3D点云数据与全局3D点云数据进行融合,并确定转 换后的局部3D点云数据与全局3D点云数据融合时的调整数据; 利用所述调整数据对所述中间位姿数据进行修正,得到相机移动之后的目标位姿数 据。
16.根据权利要求15所述的装置,其特征在于,所述处理单元,还用于: 在利用第一优化策略将转换后的局部3D点云数据与全局3D点云数据进行融合之后,利 用融合后的全局3D点云数据对所述缓存单元中缓存的全局3D点云数据进行第一次更新。
17. 根据权利要求16所述的装置,其特征在于,该装置还包括: 关键帧判断单元,用于利用预设规则判断当前帧彩色图像是否为多帧彩色图像中的关 键帧; 关联关键帧确定单元,用于在判定当前帧彩色图像为多帧彩色图像中的关键帧条件 下,确定与当前帧彩色图像空间相关联的所有关键帧; 第一优化处理单元,用于利用第二优化策略对第一次更新后的全局3D点云数据、当前 帧对应时刻相机在空间中的位姿数据以及所述缓存单元缓存的与当前帧空间相关联的所 有关键帧对应时刻相机在空间中的位姿数据进行非线性优化; 第一数据更新单元,用于利用优化结果对所述缓存单元中缓存的与当前帧空间相关联 的所有关键帧对应时刻相机在空间中的位姿数据进行更新,对确定出的当前时刻相机在空 间中的位姿数据进行更新,以及对第一次更新后的全局3D点云数据进行第二次更新; 所述缓存单元,还用于缓存当前帧的彩色图像。
18. 根据权利要求17所述的装置,其特征在于,该装置还包括: 闭环判断单元,用于在确定当前帧彩色图像为多帧彩色图像中的关键帧条件下,判断 相机移动过的路径是否构成闭环; 第二优化处理单元,用于在判定相机移动过的路径构成闭环的条件下,利用第三优化 策略对所述缓存单元缓存的闭环所包含关键帧对应时刻相机在空间中的位姿数据以及第 二次更新后的全局3D点云数据进行优化; 第二数据更新单元,用于利用优化结果对所述缓存单元中缓存的闭环所包含关键帧对 应时刻相机在空间中的位姿数据进行更新,以及对第二次更新后的全局3D点云数据进行第 三次更新。
19. 根据权利要求18所述的装置,其特征在于,所述闭环判断单元,具体用于: 基于词袋算法分别计算当前帧彩色图像与目标关键帧集合中每一关键帧彩色图像之 间的相似度; 若确定当前帧彩色图像与目标关键帧集合中任一关键帧彩色图像的相似度大于预设 相似度阈值,则判定相机在拍摄该关键帧的位置以及拍摄当前帧所在位置之间移动过的路 径构成闭环,否则,判定相机移动过的路径未构成闭环,其中,所述目标关键帧集合中包括 与当前帧空间相关联的所有关键帧。
20. 根据权利要求17-19中任一项所述的装置,其特征在于,所述关联关键帧确定单元, 具体用于: 在利用第一优化策略将转换后的基于当前帧生成的局部3D点云数据与所述缓存单元 缓存的全局邪点云数据进行融合之后,在融合后的全局劝点云数据中,针对每一关键帧,判 断当前帧与该关键帧之间的公共点云数据是否大于预设数量阈值,若判定结果为是,则确 定该关键帧与当前帧空间相关联。
21. —种智能设备,其特征在于,所述智能设备包括如权利要求20中任一项所述的 空间位置追踪装置。
CN201611094374.XA 2016-12-01 2016-12-01 一种空间位置追踪方法、装置及智能设备 CN106780601A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611094374.XA CN106780601A (zh) 2016-12-01 2016-12-01 一种空间位置追踪方法、装置及智能设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611094374.XA CN106780601A (zh) 2016-12-01 2016-12-01 一种空间位置追踪方法、装置及智能设备

Publications (1)

Publication Number Publication Date
CN106780601A true CN106780601A (zh) 2017-05-31

Family

ID=58882811

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611094374.XA CN106780601A (zh) 2016-12-01 2016-12-01 一种空间位置追踪方法、装置及智能设备

Country Status (1)

Country Link
CN (1) CN106780601A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107346551A (zh) * 2017-06-28 2017-11-14 太平洋未来有限公司 一种光场光源定向方法
CN107888828A (zh) * 2017-11-22 2018-04-06 网易(杭州)网络有限公司 空间定位方法及装置、电子设备、以及存储介质
CN108564600A (zh) * 2018-04-19 2018-09-21 北京华捷艾米科技有限公司 运动物体姿态跟踪方法及装置
CN109903308A (zh) * 2017-12-08 2019-06-18 百度在线网络技术(北京)有限公司 用于获取信息的方法及装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040119716A1 (en) * 2002-12-20 2004-06-24 Chang Joon Park Apparatus and method for high-speed marker-free motion capture
CN102431034A (zh) * 2011-09-05 2012-05-02 天津理工大学 基于颜色识别的机器人追踪方法
CN102692236A (zh) * 2012-05-16 2012-09-26 浙江大学 基于rgb-d相机的视觉里程计方法
CN103902035A (zh) * 2012-12-24 2014-07-02 财团法人工业技术研究院 三维互动装置及其操控方法
CN104021538A (zh) * 2013-02-28 2014-09-03 株式会社理光 物体定位方法和装置
CN104333506A (zh) * 2014-10-24 2015-02-04 北京兴远永网络科技有限公司 一种通讯端联系方法及装置
CN104463146A (zh) * 2014-12-30 2015-03-25 华南师范大学 基于近红外tof相机深度信息的姿势识别方法和装置
CN105164726A (zh) * 2013-01-24 2015-12-16 微软技术许可有限责任公司 用于3d重构的相机姿态估计
CN105339981A (zh) * 2013-06-19 2016-02-17 三菱电机株式会社 用于使用一组基元配准数据的方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040119716A1 (en) * 2002-12-20 2004-06-24 Chang Joon Park Apparatus and method for high-speed marker-free motion capture
CN102431034A (zh) * 2011-09-05 2012-05-02 天津理工大学 基于颜色识别的机器人追踪方法
CN102692236A (zh) * 2012-05-16 2012-09-26 浙江大学 基于rgb-d相机的视觉里程计方法
CN103902035A (zh) * 2012-12-24 2014-07-02 财团法人工业技术研究院 三维互动装置及其操控方法
CN105164726A (zh) * 2013-01-24 2015-12-16 微软技术许可有限责任公司 用于3d重构的相机姿态估计
CN104021538A (zh) * 2013-02-28 2014-09-03 株式会社理光 物体定位方法和装置
CN105339981A (zh) * 2013-06-19 2016-02-17 三菱电机株式会社 用于使用一组基元配准数据的方法
CN104333506A (zh) * 2014-10-24 2015-02-04 北京兴远永网络科技有限公司 一种通讯端联系方法及装置
CN104463146A (zh) * 2014-12-30 2015-03-25 华南师范大学 基于近红外tof相机深度信息的姿势识别方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
姜明新等: "相机运动状态下的实时运动目标跟踪算法", 《大连民族学院学报》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107346551A (zh) * 2017-06-28 2017-11-14 太平洋未来有限公司 一种光场光源定向方法
CN107888828A (zh) * 2017-11-22 2018-04-06 网易(杭州)网络有限公司 空间定位方法及装置、电子设备、以及存储介质
CN109903308A (zh) * 2017-12-08 2019-06-18 百度在线网络技术(北京)有限公司 用于获取信息的方法及装置
CN108564600A (zh) * 2018-04-19 2018-09-21 北京华捷艾米科技有限公司 运动物体姿态跟踪方法及装置
CN108564600B (zh) * 2018-04-19 2019-12-24 北京华捷艾米科技有限公司 运动物体姿态跟踪方法及装置

Similar Documents

Publication Publication Date Title
US8218825B2 (en) Capturing and processing facial motion data
JP6110573B2 (ja) 仮想現実システムの較正
JP3728160B2 (ja) 奥行き画像計測装置及び方法、並びに複合現実感提示システム
US8854470B2 (en) Vision-based augmented reality system using invisible marker
EP2391142B1 (en) Imaging device, method and program, and recording medium using same
EP2966863B1 (en) Hmd calibration with direct geometric modeling
JP5443134B2 (ja) シースルー・ディスプレイに現実世界の対象物の位置をマークする方法及び装置
Mueggler et al. Event-based, 6-DOF pose tracking for high-speed maneuvers
KR101251701B1 (ko) 게임용 스테레오 비디오에 대하여 장치가 프로세스를실행할 수 있게 하는 정보를 저장하는 하나 이상의 컴퓨터판독가능 매체
US9122053B2 (en) Realistic occlusion for a head mounted augmented reality display
US20070098250A1 (en) Man-machine interface based on 3-D positions of the human body
JP2015513662A (ja) 深度カメラを使用した頭部姿勢トラッキング
US20110085017A1 (en) Video Conference
Klein et al. Robust visual tracking for non-instrumental augmented reality
JP2006502675A (ja) 生物の眼球運動神経システムに基づいたバイオ型自動視覚と視線制御システム
US9892563B2 (en) System and method for generating a mixed reality environment
CN105765631B (zh) 对跟踪和映射误差稳健的大规模表面重构
US6278479B1 (en) Dual reality system
CN104995583A (zh) 用于混合现实环境的直接交互系统
CN100453966C (zh) 一种摄像机空间三维位置姿态测量方法
WO2013155217A1 (en) Realistic occlusion for a head mounted augmented reality display
JP2000350860A (ja) 複合現実感装置及び複合現実空間画像の生成方法
JP2014167786A (ja) 拡張現実のための自動基準フレーム較正
EP2119223B1 (fr) Procede de commande a partir d'un signal oculaire volontaire, notamment pour une prise de vues
WO2010130245A1 (de) Verfahren zur echtzeitfähigen, rechnergestützten analyse einer eine veränderliche pose enthaltenden bildsequenz

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