东北大学学报:自然科学版  2017, Vol. 38 Issue (12): 1764-1768  
0

引用本文 [复制中英文]

胡正乙, 谭庆昌, 孙秋成. 基于RGB-D的室内场景实时三维重建算法[J]. 东北大学学报:自然科学版, 2017, 38(12): 1764-1768.
[复制中文]
HU Zheng-yi, TAN Qing-chang, SUN Qiu-cheng. RGB-D Based Indoor Scene Real-Time 3D Reconstruction Algorithm[J]. Journal of Northeastern University Nature Science, 2017, 38(12): 1764-1768. DOI: 10.12068/j.issn.1005-3026.2017.12.020.
[复制英文]

基金项目

国家自然科学基金资助项目(51405184)

作者简介

胡正乙(1984-), 男, 吉林长春人, 吉林大学博士研究生,长春汽车工业高等专科学校讲师;
谭庆昌(1957-),男, 吉林海龙人,吉林大学教授,博士生导师。

文章历史

收稿日期:2016-07-18
基于RGB-D的室内场景实时三维重建算法
胡正乙1,2, 谭庆昌1, 孙秋成3    
1. 吉林大学 机械科学与工程学院, 吉林 长春 130022;
2. 长春汽车工业高等专科学校, 吉林 长春 130013;
3. 长春师范大学, 吉林 长春 130032
摘要:针对基于视觉的室内场景三维重建过程中存在三维点云匹配不准确、过程耗时和深度信息部分缺失的问题, 提出一种带有深度约束和局部近邻约束的基于RGB-D的室内场景实时三维重建算法.该算法首先利用RGB-D相机采集到的RGB图像做哈里斯角点检测, 再用SURF特征点描述方法对检测到的特征点生成64维特征描述子.接着利用特征点集合的深度信息和局部近邻特征点信息作为约束, 初步筛选出相邻帧间正确的匹配点对, 再结合随机抽样一致性(RANSAC)算法去除外点, 以此得到相机的姿态估计.最后利用RGB-D的深度图像, 在图优化方法(g2o)的基础上生成三维点云, 实现室内场景的三维重建.实验中, RGB-D摄像头装载在自主移动导航的小车上, 实时重构的三维场景验证了所提算法的可行性和准确性.
关键词RGB-D    三维重建    特征点深度约束    特征点局部近邻约束    实时性    
RGB-D Based Indoor Scene Real-Time 3D Reconstruction Algorithm
HU Zheng-yi1,2, TAN Qing-chang1, SUN Qiu-cheng3    
1. College of Mechanical Science & Engineering, Jilin University, Changchun 130022, China;
2. Changchun Automobile Industry Institute, Changchun 130013, China;
3. Changchun Normal University, Changchun 130032, China
Corresponding author: HU Zheng-yi, E-mail: luozhangyulong@163.com
Abstract: A novel RGB-D based feature point depth constraint and locality constraint integrated real-time indoor scene 3D reconstruction algorithm is proposed, which focusing to solve problems such as the inaccuracy of 3D point cloud matching, excessive time consuming and the loss of point depth. Firstly, the feature points are detected using Harris point detector, and then labeled with 64 dimensional vector using SURF descriptor. Secondly, the initial correct feature point pairs are selected between the successive frames with the depth information constraint and feature point locality constraint in addition to vector similarity constraint. Thirdly, the outliers are removed and the camera pose is estimated based on the random sample consensus(RANSAC) method. Eventually, 3D point clouds are determined using the general graph optimization (g2o) facilitating the indoor scene reconstruction. In the experiments, the RGB-D camera is fixed on the automatic guided vehicle to capture the indoor surrounding scenes. Experimental results validate that the proposed approach is feasible and effective.
Key Words: RGB-D    3D reconstruction    feature point depth constraint    feature point locality constraint    instantaneity    

室内场景的三维重构是计算机视觉领域的研究热门, 它是移动机器人自主导航、未知环境模型重构的重要组成部分.

RGB-D摄像机除了能提供彩色图像, 还能提供图像像素点对应的深度信息[1].这弥补了以往利用双目相机做场景三维重建运算量大、实时性差的缺陷和单目相机做三维重建深度信息缺失的不足.而且现有的RGB-D摄像机, 比如微软的Kinect[2]、华硕的AxusXtion[3]相机价格低廉, 完全适用于室内场景3D重建的环境.不过RGB-D摄像机采集到的深度测量范围受限, 测量值还包含噪音, 而且稳定性不高.此外, 深度图像还会出现空洞区域[4].以上缺陷极大地限制了RGB-D相机在三维重建中的应用.

国内外学者将RGB-D相机应用在室内场景和目标物体的三维重建上.文献[5]利用Kinect彩色图像提取的特征点, 结合深度信息与迭代最近点算法ICP实现了交互式的三维重建系统.它能根据用户选择的关键帧进行配准, 让重建的点云应用在建筑物的工程视图中[6].但此三维重建方法运行速度慢, 其单帧处理时间是500 ms.有人提出采用GPU加速的实时ICP配准功能[7], 但此算法对硬件要求高, 限制了其使用范围.Dryanovski等[8]提出采用卡尔曼滤波算法估计并更新载体的姿态信息, 但在载体位姿大幅度变化时, 图像中目标的观测视角会发生较大改变.为此, 辛菁等[9]提出一种基于快速仿射不变特征的三维V-SLAM系统.

本文针对三维重建过程中相邻帧间RGB图像特征点对的匹配速度慢、鲁棒性不足的问题提出一种带有约束的RGB-D三维重建方法.创新点包括:

1) 在相邻帧间特征点匹配中, 利用特征点深度信息和局部近邻特征点作为约束, 以保证特征点对匹配的准确性, 同时也可以加快特征点匹配的过程;

2) 正确匹配的特征点对解算出的载体姿态估计信息可作为初始值引入到RANSAC样本一致性分析中, 能保证姿态估计的快速性和全局最优性;

3) 搭建了携带有RGB-D摄像机的自主导航小车系统, 可在室内环境中移动采集场景信息, 在ROS操作系统上完成室内场景的三维重建和运动轨迹的估计.

1 三维重建算法流程

本文中三维重建算法的整体实施流程共分成4步, 如图 1所示.

图 1 三维重建算法流程图 Fig.1 Flowchart of the 3D reconstruction algorithm

第1步:RGB-D相机采集的RGB图像进行灰度变换, 并对生成的灰度图像, 利用哈里斯角点检测器检测图像的特征点.再利用SURF(speeded up robust feature)算法对每个特征点生成64维特征点描述子;

第2步:利用局部近邻约束和深度约束对相邻两帧图像间的特征点集合做特征点匹配;

第3步:将匹配结果引入到RANSAC模型中, 以此得到相机的姿态;

第4步:由RGB-D深度图像获得的稠密点集和载体的姿态估计信息, 用图优化的方法生成最终的三维点云.

2 相邻帧间特征点检测与匹配

常见的特征点检测通常分为两类:一类是角点检测, 比如Harris角点、FAST角点; 一类是斑块特征点, 比如SIFT, SURF, CENSURE[10].角点检测方法计算速度快, 但检测到的特征点存在尺度不确定性; 而斑点检测器计算耗时, 但找到的特征点区分度更高, 而且具备尺度不变性.考虑到RGB-D装载在行进速度比较快的移动导航小车上, 采用运算速度更快的哈里斯(Harris)角点检测器.

常见的特征点描述子有SIFT,SURF,ORB等, 本文采用区分度好、容易计算的SURF特征点描述子, 来对特征点生成64维特征向量.

3 深度信息和局部近邻特征点约束

以往方法在寻找特征点匹配对中, 通常是通过寻找特征点描述子之间的欧氏距离最小值来实现的.这种方法往往会因为图像全局搜索中出现的周期性纹理特征而导致特征点对的误匹配, 这会严重影响后续载体的姿态估计和室内场景的三维重建.考虑到以上仅仅基于欧氏距离匹配法的弊端, 本方法结合图像的局部信息和深度信息来约束匹配过程.本方法基于两个假设, 假设1:在第K帧图像中, 特征点和其邻近特征点在对应的第K+1帧图像中依然为邻近特征点; 假设2:相邻两帧图像的特征点匹配对所对应的两个深度值差别不大.

特征点的近邻约束假设如图 2所示.为了更好理解下面的算法, 先定义一些变量, 如表 1所示.

图 2 特征点对应的近邻特征点距离约束 Fig.2 Illustration of the nearest feature points corresponding to the objective feature point
表 1 变量的定义 Table 1 Variable definition

假定在相邻两帧图像间找到了匹配点对(P(K), P(K+1)).在特征点P(K)周围有3个近邻特征点,在第K+1帧图像中这3个特征点所对应的特征点分别是:P(K+1)N1P(K+1)N2P(K+1)N3.从直观上看, 如果匹配点对(P(K), P(K+1))存在, 则{P(K)N1, P(K+1)N1}, {P(K)N2, P(K+1)N2}, {P(K)N3, P(K+1)N3}三个点对的距离小于预先设定的阈值.同理, 第K+1帧图像特征点的邻近特征点和其对应的第K帧图像的Q点也需要满足其局部约束条件.

特征点的深度约束条件是可行的特征匹配对间, 如(PK, PK+1), 其对应的深度信息值(Depth(PK), Depth(PK+1))绝对值之差小于某预先设定深度阈值.

建立带有局部近邻约束和深度约束的模型:

目标函数为

约束条件为

约束1:‖C(X(K)iq)-X(K+1)i2δN, q=1, 2, 3;

约束2:‖C-1(X(K+1)iq)-X(K)i2δN, q=1, 2, 3;

约束3:‖Depth(X(K+1))-Depth(X(k))‖2δD.

目标函数表示要寻求的最为相似的特征点对.其中C(X(K)i)表示第K帧图像中第i个特征点的描述子; Depth(X(K)i)表示第K帧图像中第i个特征点的深度值; δN表示近邻约束阈值;δD表示深度约束阈值.本文中, 采用目标特征点的三个近邻点作为局部约束.

4 相机姿态和三维点云

假设点P在第K帧图像中相机坐标系下的坐标为(x, y, z)T, 点P在第K+1帧图像中的相机坐标系下的坐标为(x′, y′, z′)T, 则存在一个变换矩阵, 使得

其中:RK表示正交旋转矩阵;TK表示平移向量.

要获得相机姿态, 可对样本集采用最小二乘的方法[11].而最小二乘法在数据集中存在外点(噪声点)的情况下, 参数估计效果非常差.为此, 可在最小二乘法之前利用RANSAC移除外点, 再在内点集中应用最小二乘方法.如果样本集中外点数量很多, RANSAC算法的性能会大打折扣.为此采用有近邻约束和深度约束得到的准确的匹配点对来辅助RANSAC实现相机的姿态估计, 加此约束同时又能缩短RANSAC的参数估计时间.姿态估计过程具体参见图 3.

图 3 姿态估计流程图 Fig.3 Flowchart of pose estimation

最终确定的载体姿态估计信息可作为初始值引入到图优化方法中, 来生成最终的三维点云, 实现室内场景的三维重建.

5 实验结果与分析

本文做了两组实验, 都是在办公室内进行的.第一组实验中, 实验者手持Kinect在室内自由运动采集室内场景的图像, 第二组实验中, 将Kinect搭载在移动小车上采集RGB图像和深度图像.

5.1 相邻帧间特征点匹配

在载体姿态估计步骤中, 采用了图像特征点的局部近邻约束和深度约束后, 得到的匹配点对全部都是正确的, 而用传统的随机采样一致性分析方法却没有将外点全部移除掉.

图 4所示, 图 4a的左右两幅彩色图像是用Kinect拍摄的相邻两帧图像, 图 4b是利用RANSAC算法得到的特征点匹配结果, 匹配点对由红色的空心圈标注并用红色的直线连接; 图 4c是使用传统的MLESAC方法得到的匹配点; 图 4d是使用MSAC方法得到的匹配点; 图 4e是使用本文提出的带有约束的特征点对匹配结果.用RANSAC算法得到的匹配点对仍存在3个外点; 用MLESAC方法得到的匹配点对存在2个外点; 用MSAC方法得到的匹配点对存在3个外点; 用本文提出的方法得到的匹配点对没有外点.此外, 为了更全面地分析误匹配点移除的鲁棒性, 从不同角度拍摄了50帧图像.笔者从中选取80组图像, 并对每组图像间的匹配点对移除做了分析:传统的RANSAC,MSAC,MLESAC方法分别仍存在121个外点、109个外点和113个外点.而采用本文的外点移除方法, 能将全部的误匹配点移除掉.由此可见, 引入局部近邻约束和深度信息约束后, 图像在相邻帧间特征点对的匹配效果准确性更高, 鲁棒性更好.

图 4 相邻帧间特征点对匹配 Fig.4 Feature point matching between camera adjacent frames (a)—原始图像;(b)—RANSAC;(c)—MLESAC;(d)—MSAC;(e)—本文方法.
5.2 Kinect生成三维点云

三维点云程序都是在Linux系统下实现的, 采用Intel i5处理器, 4 GB内存.实验者手持Kinect在室内自由运动采集数据, 如图 5a所示.编写的程序能够实时解算出摄像机的位置、姿态和点云信息, 重建的点云在X, Y方向的平均深度误差是(3.75 cm, 2.77 cm).

图 5 手持Kinect实时生成三维点云 Fig.5 Hand-held Kinect generates the real-time point cloud (a)—采集数据;(b)—生成点云.

第二组实验是采用本算法重构的华晨中华汽车三维点云模型.图 6是Kinect重构的车头部分和车尾部分场景, 重建的点云在X, Y方向的平均深度误差是(2.13 cm, 1.85 cm).

图 6 基于Kinect的汽车三维重建 Fig.6 Automobile 3D reconstruction using Kinect
6 结论

本文利用RGB-D摄像头输出的深度图像信息和彩色图像信息实现了室内场景的实时三维重构和载体的姿态估计.本方法首先利用哈里斯角点检测器, 提取RGB图像的特征点, 再利用SURF特征点描述子生成64维特征向量.在相邻帧间特征点匹配中, 采用了两类约束:特征点局部近邻约束和深度约束, 利用这两种约束条件明显增加了特征点对的匹配准确率.实验结果验证了本方法在室内场景三维重构和载体姿态估计中的准确性和鲁棒性.

参考文献
[1] 郑立国, 罗江林, 许舸. 基于Kinect的动作捕捉系统的实现[J]. 吉林大学学报(工学版), 2013, 43(sup1): 249–255.
( Zheng Li-guo, Luo Jiang-lin, Xu Ge. Implementationon mocap system based on Kinect[J]. Journal of Jilin University(Engineering and Technology Edition), 2013, 43(sup1): 249–255. )
[2] Khoshelham K, Elberink S O. Accuracy and resolution of Kinect depth data for indoor mapping applications[J]. Sensors, 2012, 12(2): 1437–1454.
[3] 王鑫, 汪晋宽, 刘志刚, 等. 基于随机森林的认知网络主用户信号调制类型识别算法[J]. 东北大学学报(自然科学版), 2014, 35(12): 1706–1709.
( Wang Xin, Wang Jin-kuan, Liu Zhi-gang, et al. Primary user signal recognition algorithm based on random forest in cognitive network[J]. Journal of Northeastern University(Natural Science), 2014, 35(12): 1706–1709. DOI:10.3969/j.issn.1005-3026.2014.12.008 )
[4] Ma X F, Volos H I, Zheng X W, et al.A variation-aware approach for task allocation in wireless distributed computing systems[C]// IEEE Global Communications Conference.Atlanta, 2013:5006-5011.
[5] Besl P J, McKay N D. Method for registration of 3-D shapes[J]. IEEE Transaction and Pattern Analysis and Machine Intelligence, 1992, 14(2): 586–606.
[6] Du H, Henry P, Ren X.Interactive 3D modeling of indoor environments with a consumer depth camera[C]// Proceedings of the 13th International Conference on Ubiquitous Computing.Beijing, 2011:75-84.
[7] Newcombe R A, Izadi S, Hilliges O.Kinect fusion:real-time dense surface mapping and tracking[C]//10th IEEE International Symposium on Mixed and Augmented Reality (ISMAR).Basel, 2011:127-136.
[8] Dryanovski I, Valenti R G, Xiao J.Fast visual odometry and mapping from RGB-D data[C]// IEEE International Conference on Robotics and Automation (ICRA).Karlsruhe, 2013:2305-2310.
[9] 辛菁, 苟蛟龙, 马晓敏, 等. 基于Kinect的移动机器人大视角3维V-SLAM[J]. 机器人, 2014, 36(5): 560–568.
( Xin Jing, Gou Jiao-long, Ma Xiao-min, et al. A largeviewing angle 3-dimensional V-SLAM algorithm with a Kinect-based mobile robot system[J]. Robot, 2014, 36(5): 560–568. )
[10] Ma X F, Fang Y, Ba X Z.A balanced energy consumption clustering algorithm for heterogeneous energy wireless sensor networks[C]//IEEE International Conference on Wireless Communications, Networking and Information Security.Beijing, 2010:382-386.
[11] Umeyama S. Least-squares estimation of transformation parameters between two point patterns[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1991, 13(4): 376–380. DOI:10.1109/34.88573