首页> 中国专利> 一种基于RGB-D图像的室内场景三维重建方法

一种基于RGB-D图像的室内场景三维重建方法

摘要

本发明公开了一种基于RGB‑D图像的室内场景三维重建方法,利用语义分割结果修复深度图像空洞,为三维重建提供物体轮廓与类别信息,根据先验知识获取到物体的形状和外观,从而为三维重建提供更加精确的数据。三维重建为语义分割提供三维空间信息,解决二维图像分割中存在的物体交叠、受光照影响等导致的误分割。使用多层次的相机位姿估计,稀疏的特征匹配提供粗略的估计位姿,再通过密集的几何、光度优化方法,得到精确相机位姿,为重建模型提供更加精确的相机位姿。在重建过程中,对每帧进行局部优化,同时加入关键帧机制,建立全局优化与闭环检测,将关键帧像素对应的空间点建立约束,有效抑制误差累积,进一步优化相机位姿,提高重建结果的精度。

著录项

  • 公开/公告号CN109658449A

    专利类型发明专利

  • 公开/公告日2019-04-19

    原文格式PDF

  • 申请/专利权人 华中科技大学;

    申请/专利号CN201811466786.0

  • 申请日2018-12-03

  • 分类号G06T7/50(20170101);G06T7/70(20170101);G06T17/00(20060101);G06K9/62(20060101);G06K9/46(20060101);G06K9/34(20060101);

  • 代理机构42201 华中科技大学专利中心;

  • 代理人李智;曹葆青

  • 地址 430074 湖北省武汉市洪山区珞喻路1037号

  • 入库时间 2024-02-19 09:35:35

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-07-10

    授权

    授权

  • 2019-05-14

    实质审查的生效 IPC(主分类):G06T7/50 申请日:20181203

    实质审查的生效

  • 2019-04-19

    公开

    公开

说明书

技术领域

本发明属于计算机视觉技术领域,更具体地,涉及一种基于RGB-D图像的室内场景三维重建方法。

背景技术

深度相机Kinect的原理为红外发射器发射红外线,照射到物体表面,形成随机的反射散斑,进而被深度传感器接收,再由系统芯片运算生成深度图像。对于透明材质、纹理缺失的平面,红外线无法反射形成散斑或者效果较差,从而得到的深度图像带有空洞。目前,大多研究工作采用双边滤波方法对深度图像进行简单预处理。

现有技术中,基于RGB-D图像的三维重建主要包括:Newcombe等人通过预处理的深度图像直接计算得到空间点的三维坐标,再用迭代最近点方法估计相邻帧相机运动,用立方体网格模型存储重建点云。但是,该方法固定了重建场景大小,对于大场景无法适用,同时重建结果精度不高。Thomas Whelan提出的改进算法Kintinuous和Niebner等人提出的基于体素哈希的模型表示方法,解决了显存消耗和计算消耗的问题。但是,这两个方法无法应对丢失情况,对于长时间大范围的重建容易发生漂移,精度不高。

然而,上述方法均存在重建精度不高、无法解决深度图像空洞导致的误分割的缺陷。

发明内容

针对现有技术的缺陷,本发明的目的在于解决现有技术重建精度不高、无法解决深度图像空洞导致的误分割的技术问题。

为实现上述目的,第一方面,本发明实施例提供了一种基于RGB-D图像的室内场景三维重建方法,该方法包括以下步骤:

S1.连续采集室内场景的D图像和RGB图像,同时选取关键帧,建立关键帧数据库;

S2.对当前帧RGB图像进行语义分割,得到当前帧语义分割结果和当前帧像素分类结果;

S3.利用所述当前帧语义分割结果,修复当前帧D图像的空洞,得到当前帧修复后D图像;

S4.根据当前帧修复后D图像,计算当前帧相机位姿,根据当前帧相机位姿,将当前帧三维点云融合到已重建好的三维点云中;

S5.根据当前帧相机位姿,将重建后的三维点云反投影为当前帧RGB-D图像,执行相机位姿的局部优化,根据优化后位姿对三维点云进行更新,并将当前帧与关键帧数据库中关键帧进行匹配,若匹配成功,则进入步骤S6,否则,进入步骤S7;

S6.对当前帧进行闭环检测,闭环检测成功时,更新相机位姿,根据更新的相机位姿对三维点云进行更新;

S7.确立当前帧是否为关键帧,如果是,确定为关键帧,加入关键帧数据库,进入步骤S8,否则,直接进入步骤S9;

S8.基于关键帧执行相机位姿的全局优化,根据优化后位姿对三维点云进行更新;

S9.将所述当前帧像素分类结果融合到更新后的三维点云中,得到重建后的室内场景。

具体地,关键帧的选取方式为:当图像帧与上一关键帧视差大于阈值并且匹配点数少于设定数量时,将其确立为关键帧。

具体地,基于CNN和CRF进行语义分割。

具体地,步骤S3具体包括以下子步骤:

S301.根据语义分割结果获取物体类别与物体轮廓;

S302.利用物体类别与物体轮廓信息,提取D图像空洞对应物体区域;

S303.平面拟合D图像空洞对应物体表面;

S304.重投影填充空洞区域。

具体地,步骤S4具体包括以下子步骤:

S401.根据修复后D图像,利用稀疏特征点匹配得到粗略的相机位姿;

S402.在所述粗略的相机位姿基础上,通过几何误差与光度误差最小化,得到精确的相机位姿;

S403.将当前帧三维点云融合到已重建好的三维点云中。

具体地,闭环检测时,当前图像帧与历史图像帧的相似度如果达到相似度阈值,则可认为产生回环。

具体地,二进制编码块之间的相似度由汉明距离决定,相似度计算公式如下:

将两幅图像A和B所有对应二进制编码块的相似度值累加就可以得到图像的相似度,计算公式如下:

其中,表示图像A中第k个二进制码块,表示图像B中第k个二进制码块,m表示二进制码块的个数。

第二方面,本发明实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述第一方面所述的室内场景三维重建方法。

总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效果:

1.本发明利用语义分割结果修复深度图像空洞,语义分割可以为三维重建提供物体轮廓与类别信息,根据先验知识获取到物体的形状和外观,从而帮助优化三维重建的粗糙模型结果,为三维重建提供更加精确的数据。三维重建可以为语义分割提供三维空间信息,解决二维图像分割中存在的物体交叠、受光照影响等导致的误分割技术问题。

2.本发明使用多层次的相机位姿估计,稀疏的特征匹配提供粗略的估计位姿,再通过密集的几何、光度优化方法,得到精确相机位姿,为重建模型提供更加精确的相机位姿;在重建过程中,对每帧进行局部优化,同时加入关键帧机制,建立全局优化与闭环检测,将关键帧像素对应的空间点建立约束,有效抑制误差累积,进一步优化相机位姿,提高重建结果的精度。

附图说明

图1为本发明实施例提供的一种基于RGB-D图像的室内场景三维重建方法流程图;

图2为本发明实施例提供的透明材质深度图像空洞示意图;

图3为本发明实施例提供的线性摄像机投影模型示意图;

图4为本发明实施例提供的几何误差示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

首先,对本发明中用到的一些术语进行解释。

RGB-D图像:包括彩色图像(RGB图像)和深度图像。通常,彩色图像和深度图像是配准的,因而像素点之间具有一对一的对应关系。

深度图像:Depth Image,深度图,下文简称为D图像,包含与视点的场景对象的表面的距离有关的信息的图像或图像通道。它的每个像素值是传感器距离物体的实际距离。

三维点云:将深度图的每个像素投影到对应的三维坐标向量中,以此形成三维点云。

反投影:是根据重建的三维点云得到深度图像

重投影:保持摄像机投影中心不变,通过改变焦距和成像平面的方向,将实际获取的景物图像重新投影到另一个图像平面上,从而达到改变图像几何特性的目的。

如图1所示,一种基于RGB-D图像的室内场景三维重建方法,该方法包括以下步骤:

S1.连续采集室内场景的D图像和RGB图像,同时选取关键帧,建立关键帧数据库;

S2.对当前帧RGB图像进行语义分割,得到当前帧语义分割结果和当前帧像素分类结果;

S3.利用所述当前帧语义分割结果,修复当前帧D图像的空洞,得到当前帧修复后D图像;

S4.根据当前帧修复后D图像,计算当前帧相机位姿,根据当前帧相机位姿,将当前帧三维点云融合到已重建好的三维点云中;

S5.根据当前帧相机位姿,将重建后的三维点云反投影为当前帧RGB-D图像,执行相机位姿的局部优化,根据优化后位姿对三维点云进行更新,并将当前帧与关键帧数据库中关键帧进行匹配,若匹配成功,则进入步骤S6,否则,进入步骤S7;

S6.对当前帧进行闭环检测,闭环检测成功时,更新相机位姿,根据更新的相机位姿对三维点云进行更新;

S7.确立当前帧是否为关键帧,如果是,确定为关键帧,加入关键帧数据库,进入步骤S8,否则,直接进入步骤S9;

S8.基于关键帧执行相机位姿的全局优化,根据优化后位姿对三维点云进行更新;

S9.将所述当前帧像素分类结果融合到更新后的三维点云中,得到重建后的室内场景。

步骤S1.连续采集室内场景的D图像和RGB图像,同时选取关键帧,建立关键帧数据库。

2010年微软公司发布消费级深度相机Kinect,该相机可以实时获取场景RGB图像和D图像,而基于深度图像可以直接计算空间点的三维坐标,重建模型精度更高。对于快速运动、透明材质物体,深度图像精度较低,甚至出现空洞。因此,在采集室内场景图像时,相机运动速度不宜过快。深度图像空洞直接影响室内场景重建结果精度,后面将对此进行修复。

采集的同时构建了一个关键帧数据库,为全局优化和闭环检测提供依据。关键帧是指在图像序列中具有代表性、与已有帧具有一定差异的图像帧。当图像帧与上一关键帧视差大于阈值并且匹配点数少于设定数量时,将其确立为关键帧。本发明实施例中阈值为0.8,设定数量为500。

步骤S2.对当前帧RGB图像进行语义分割,得到当前帧语义分割结果和当前帧像素分类结果。

图像分割技术将图像划分为多个区域,每个区域之间具有一定的差异。从语义分割结果可提取两种信息:物体轮廓与物体类别。

本发明实施例中数据集为DA-RNN,图像数据集中的各帧RGB-D图像分辨率为640×480像素,均带有标定分割结果,共包括14个RGB-D图像序列,11427幅图像。其中,12个图像序列用于训练,2个图像序列用测试,验证集从训练图像中随机抽取。场景中的标定物体包括:瓷碗、棒球帽、麦片盒、马克杯、咖啡桌、办公椅、罐装苏打水、沙发、桌子,其他物体均视为背景,包括背景在内的总类别数为10。

任意语义分割算法都可以,本发明优选CNN+CRF。使用语义数据集训练CNN(Convolutional Neural Network,卷积神经网络)模型,得到训练好的语义分割模型。在语义分割模型的输出端加入CRF(Condition Random Field,条件随机场),用于对CNN网络模型得到的初步图像分割结果进行优化。CRF构建无向图模型,优化图像边缘,得到更加精确的物体分割结果。将该模型融合到三维重建模型中,实时生成三维点云的同时,得到图像语义分割结果,将像素类别信息映射到三维点云上,得到语义点云。

步骤S3.利用所述当前帧语义分割结果,修复当前帧D图像的空洞,得到当前帧修复后D图像。

受限于深度设备精度,以及室内环境中物体纹理缺失等因素的影响,尤其是透明材质,获取到的D图像存在空洞或缺失。如图2所示,深度图像空洞是指透明物体对应区域深度值与背景深度值一样,发生错误,其原因是深度相机红外线测距过程中,发生透射,导致测量深度值发生错误。三维重建过程中点云三维坐标的计算直接依赖于D图像,若像素深度值丢失,直接影响三维点云结果,因此,对D图像的修复十分重要。

首先,根据线性摄像机模型计算D图像像素点的三维坐标,反投影为三维点云,在三维空间中拟合平面,然后重投影得到D图像,填充深度值丢失的像素。如图3所示,线性摄像机模型是指通过透视投影建立的真实世界中三维点与相机成像平面二维像素点之间的对应关系,建立了四个坐标系,包括:世界坐标系、相机坐标系、图像坐标系、像素坐标系。

线性摄像机投影模型如下公式所示,该公式建立了三维空间中点与二维图像中像素点之间的坐标变换关系。其中,u,v为像素坐标点,zc为该点在相机坐标系中的z坐标,xw,yw,zw为该点在世界坐标系中对应的坐标,u0,v0为相机光心在图像平面的位置坐标,f为相机焦距,dx,dy分别表示在图像坐标系下x方向和y方向移动一个像素的距离,R为旋转矩阵,t为平移向量。

由深度图像可以得到某一像素点的像素坐标(u,v)和深度值d,深度值对应为相机坐标系z坐标zc。在获取相机参数(f,dx,dy,u0,v0)之后,初始化R,t为单位矩阵即可得到该像素点对应的世界坐标系三维点坐标(xw,yw,zw),左右像素点对应三维点坐标组合到一起构成三维点云。

通过语义分割结果获取图像中物体类别与轮廓信息,利用该信息对D图像进行修复,提取物体区域,根据其类别及先验知识可以得到物体表面的几何形状,在三维空间中拟合平面,重投影填充D图像对应的空洞区域。另一方面,利用该信息对三维重建模型中的物体进行优化调整,提高精度。相比通过滤波修复深度图像空洞的方法,本专利提出的方法更具针对性地对空洞进行修复,不会影响周围区域,且修复精度更高。

S301.根据语义分割结果获取物体类别与物体轮廓;

S302.利用物体类别与物体轮廓信息,提取D图像空洞对应物体区域;

S303.平面拟合D图像空洞对应物体表面;

S304.重投影填充空洞区域。

平面拟合的是深度值丢失的物体区域表面。重投影就是由三维空间拟合的三维平面投影为二维图像去填充深度图像对应的空洞区域。

步骤S4.根据当前帧修复后D图像,计算当前帧相机位姿,根据当前帧相机位姿,将当前帧三维点云融合到已重建好的三维点云中。

相机位姿用来描述机器人移动变换。每帧图像中的像素点都可以通过相机内参计算得到三维坐标,而这个三维坐标是相对于当前相机坐标系而言的。机器人不断移动,每个时刻对应一个相机坐标系,需要把每帧的三维空间点转换到同一个世界坐标系中,才能形成统一的重建点云。相机位姿估计是计算相邻两帧之间相机的变换,三维重建系统中,使用相机位姿来描述每一时刻采集设备所处的位置和朝向,作为机器人的定位数据。以第一帧作为参考世界坐标系,则随后的图像帧都可以通过估计的位姿变换到世界坐标系中。

相机位姿估计的目的是估算相邻帧图像间相机的运动,即相机位姿,包括相机位置和变换。本系统融合稀疏特征点法,最小化点到平面距离与光度误差,来估算相机位姿。

S401.根据修复后D图像,利用稀疏特征点匹配得到粗略的相机位姿。

S402.在所述粗略的相机位姿基础上,通过几何误差与光度误差最小化,得到精确的相机位姿。

根据前一帧估计的相机位姿,对当前重建好的三维点云反投影,得到前一帧深度图像,作为相邻帧。联合当前帧修复后D图像和前一帧D图像,估计当前帧相机位姿。具体为:首先提取D图像帧稀疏特征点,与相邻帧进行特征点匹配,构建最优化问题,最小化匹配点对应三维空间距离,计算粗略位姿。然后在该粗略位姿基础上,通过点到平面距离和像素值差异,得到相机的精确位姿。通过相机位姿估计得到的变换矩阵。

稀疏特征点的优化目标是最小化匹配点之间的欧氏距离,如图4所示,几何误差是当前帧对应的三维点(源点)到已重建好的三维点(目标点)的切平面之间的距离。

S403.将当前帧三维点云融合到已重建好的三维点云中。

具体为:根据估计的相机位姿计算当前帧三维点对应的世界坐标,记为p′,已重建好的三维点云该点世界坐标为p,加权融合得到更新的三维坐标计算公式如下:

其中,w,w′为权重系数。

步骤S5.根据当前帧相机位姿,将重建后的三维点云反投影为当前帧RGB-D图像,执行相机位姿的局部优化,根据优化后位姿对三维点云进行更新,并将当前帧与关键帧数据库中关键帧进行匹配,若匹配成功,则进入步骤S6,否则,进入步骤S7。

按照当前帧位姿,反投影重建点云,得到D图像。按照重建时间先后顺序,将重建点云划分为活跃和不活跃两部分。较早重建的点为不活跃点,经过优化,属于比较精确的点,较新重建的点为活跃点,属于待优化点。具体地,重建时间早于t时刻的为不活跃点,晚于t时刻的为活跃点。对这两部分点数据进行约束,优化得到新的位姿。局部优化在每帧进行,因而可以使三维重建结果一直保持较高的精度。

图像匹配操作首先对图像进行像素RGB-D四通道编码,再通过计算编码之间汉明距离得到图像相似度。基于像素编码的方法。对于RGB-D图像,共4个通道,记为c∈{R,G,B,D},像素位置x处对应特定通道的像素值记为Ic(x),给定阈值τ,将像素值与τ比较,编码为二进制位0或1,记为编码f,计算公式如下:

每个像素点都有4通道,构成二进制编码块为bF=f1f2f3f4。每个像素点都可以编码为一个4位的二进制代码,所有的bF构成一个代码字典一幅图像则可编码为

步骤S6.对当前帧进行闭环检测,闭环检测成功时,更新相机位姿,根据更新的相机位姿对三维点云进行更新。

如果不进行闭环检测,最终重建模型会出现无法闭合的情况。因此,首先需要检测出可能产生回环的地方,然后进行优化。闭环检测是一种检测机器人是否到达先前到达过的位置的机制。对于当前帧,如果与关键帧数据库中某一关键帧相似度超过一定阈值,那么判定闭环产生。此时,对当前帧与匹配关键帧进行约束,优化当前帧位姿,从而使先后到达的同一位置保持一致。当触发闭环条件时,当前帧与关键帧数据库进行查找匹配,找到最相近的关键帧,恢复当前帧的位姿,从而将发生漂移的模型恢复到正常状态。将当前帧深度图像与匹配图像建立约束关系,估计位姿变换,进而将当前帧及相邻帧相机位姿变换为匹配帧相机位姿。

k时刻,机器人移动到某一位置,需要将当前图像帧与历史图像帧进行对比,也就是相似度计算,如果达到相似度阈值,则可认为产生回环。本发明实施例中相似度阈值为0.75。

二进制编码块之间的相似度由汉明距离决定,相似度计算公式如下:

将两幅图像A和B所有对应二进制编码块的相似度值累加就可以得到图像的相似度,计算公式如下:

步骤S7.确立当前帧是否为关键帧,如果是,确定为关键帧,加入关键帧数据库,进入步骤S8,否则,直接进入步骤S9。

当图像帧与上一关键帧视差大于一定阈值并且匹配点数少于一定数量时,将其确立为关键帧。判断当前帧与前一关键帧点距离和法矢变换是否超过一定阈值,以及匹配点数是否低于一定阈值,如果满足,则确立为关键帧。

步骤S8.基于关键帧执行相机位姿的全局优化,根据优化后位姿对三维点云进行更新。

三维重建过程中每帧都以前一帧为参考进行位姿估计,这个误差会传递到下一帧,不断累积,导致最终重建误差较大。针对误差累积问题,采用基于关键帧的全局优化来解决。将这些关键帧的位姿与对应重建好的三维点建立非线性优化模型,即基于关键帧的全局优化,优化位姿与三维点云坐标,提高重建结果精度。每当新的帧成为关键帧,执行一次全局优化操作。全局优化将所有关键帧的相机位姿、三维点坐标及其数据关联构建成一个图优化问题。

在k时刻,机器人相机位姿为xk,通过相机设备得到一个观测值而由估计的相机位姿,重投影得到的观测值为zk=h(xk),其中h为观测函数。由于误差的存在,这两个观测值不可能一致,于是就产生了误差,如公式所示。

根据位姿与路标之间的关系,构造目标函数如公式所示。

其中,Ω为权值矩阵,表征每个位姿边的重要程度。该目标函数实际是一个最小二乘问题,最小化误差累加和求解相机位姿。将上式利用一阶泰勒公式展开,再用高斯牛顿方法求解即可得到最终结果。

点云指三维重建得到的三维点转换到同一坐标系下构成的集合。每帧图像计算三维点坐标,通过相机位姿估计得到的变换矩阵将点坐标转换到同一世界坐标系中,与原先点按权值融合。每个三维点除了位置信息,还有语义信息,保存所属类别概率,按照贝叶斯策略进行更新。

步骤S9.将所述当前帧像素分类结果融合到更新后的三维点云中,得到重建后的室内场景。

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

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号