2. 长春汽车工业高等专科学校, 吉林 长春 130013;
3. 长春师范大学, 吉林 长春 130032
2. Changchun Automobile Industry Institute, Changchun 130013, China;
3. Changchun Normal University, Changchun 130032, China
室内场景的三维重构是计算机视觉领域的研究热门, 它是移动机器人自主导航、未知环境模型重构的重要组成部分.
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步: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所示.
假定在相邻两帧图像间找到了匹配点对(P(K), P(K+1)).在特征点P(K)周围有3个近邻特征点,在第K+1帧图像中这3个特征点所对应的特征点分别是:P(K+1)N1,P(K+1)N2,P(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)i‖2≤δN, q=1, 2, 3;
约束2:‖C-1(X(K+1)iq)-X(K)i‖2≤δ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.
最终确定的载体姿态估计信息可作为初始值引入到图优化方法中, 来生成最终的三维点云, 实现室内场景的三维重建.
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个外点.而采用本文的外点移除方法, 能将全部的误匹配点移除掉.由此可见, 引入局部近邻约束和深度信息约束后, 图像在相邻帧间特征点对的匹配效果准确性更高, 鲁棒性更好.
三维点云程序都是在Linux系统下实现的, 采用Intel i5处理器, 4 GB内存.实验者手持Kinect在室内自由运动采集数据, 如图 5a所示.编写的程序能够实时解算出摄像机的位置、姿态和点云信息, 重建的点云在X, Y方向的平均深度误差是(3.75 cm, 2.77 cm).
第二组实验是采用本算法重构的华晨中华汽车三维点云模型.图 6是Kinect重构的车头部分和车尾部分场景, 重建的点云在X, Y方向的平均深度误差是(2.13 cm, 1.85 cm).
本文利用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 |