《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 基于RGB-D单目视觉的室内场景三维重建
基于RGB-D单目视觉的室内场景三维重建
2017年微型机与应用第1期
刘三毛,朱文球,孙文静,王业祥
湖南工业大学 计算机学院,湖南 株洲 412007
摘要: 针对室内环境单目视觉的室内场景三维重建速度慢的问题,采用华硕Xtion单目视觉传感器获取的室内场景彩色图像和深度图像进行快速三维重建。在图像特征提取上使用ORB特征检测算法,并对比了几种经典特征检测算法在图像匹配中的效率,在图像匹配融合中采用Ransac算法和ICP算法进行点云融合。实现了一种室内简单、小规模的静态环境快速三维重建方法,通过实验验证了该方法有较好的精确性、鲁棒性、实时性和灵活性。
Abstract:
Key words :

  刘三毛,朱文球,孙文静,王业祥

  (湖南工业大学 计算机学院,湖南 株洲 412007)

        摘要:针对室内环境单目视觉的室内场景三维重建速度慢的问题,采用华硕Xtion单目视觉传感器获取的室内场景彩色图像和深度图像进行快速三维重建。在图像特征提取上使用ORB特征检测算法,并对比了几种经典特征检测算法在图像匹配中的效率,在图像匹配融合中采用Ransac算法和ICP算法进行点云融合。实现了一种室内简单、小规模的静态环境快速三维重建方法,通过实验验证了该方法有较好的精确性、鲁棒性、实时性和灵活性。

  关键词:单目视觉;点云;三维重建

  中图分类号:TP391文献标识码:ADOI: 10.19358/j.issn.1674-7720.2017.01.014

  引用格式:刘三毛,朱文球,孙文静,等.基于RGBD单目视觉的室内场景三维重建[J].微型机与应用,2017,36(1):44-47.

0引言

  三维重建(3D Reconstruction)是指利用计算机、传感器,通过对场景的纹理、深度等数据进行分析和处理后构建适合计算机表示和处理的数学模型。随着工业信息技术的发展三维重建得到了广泛应用,如在移动机器人自主导航、SLAM、虚拟现实和3D打印等诸多方面都发挥着十分重要的作用[1]。

  1965年ROBERT L提出了使用计算机视觉方法从二维图像获取物体三维信息的可能性。FAUGRAS M A和Hartley[23]于1992年开创性地提出了基于图像系列的三维重建理论,在他们的论文中,把三维重建总结为3个步骤:基础矩阵的估计、摄像机的标定以及计算投影矩阵和相应的三维空间坐标。即输入二维图像,通过求解对应摄像机运动参数及几何结构,生成图像场景的三维模型。随着RGBD相机的成熟,它可提供彩色深度图像和稠密深度图像视频流,这使得结合三维深度感测的视觉功能优势来快速、准确地创建大场景的三维场景信息[45]成为现实。

  采用RGBD相机获取彩色图像和深度图像,使用深度图像信息结合稀疏特征点创建三维场景模型。首先提取每帧图像的特征点,通过特征匹配找到两帧图像之间的对应特征点,由深度图像信息计算出对应点对的空间坐标(Xw,Yw,Zw)。针对图像特征点误匹配导致位姿估计的精度低的问题,采用随机采样一致性算法(Random Sample Consensus,RANSAC)[6]剔除误匹配点,其次在点云融合上,结合迭代最近算法(Iterative Closest Point,ICP)[7] 进行点云配准以进一步改善位姿精度,减少相机位姿漂移造成的误差。

12D到3D坐标转换

  设三维空间中任意一点P的坐标为(Xw,Yw,Zw),该点对应的相机坐标系坐标为(Yc,Zc),(x,y)、(u,v)分别是二维图像中的物理坐标和像素坐标。根据针孔相机模型,相机坐标系与世界坐标系关系如图1所示。

  

001.jpg

  对空间任意一点P(Xw,Yw,Zw)进行刚体变换,映射到相机坐标系中点P(Xc,Yc,Zc),如式(1):

  C0H`H5N3AH9S271KL$1R7_O.png

  其中T是三维空间平移向量,R是3×3的正交旋转矩阵。得到相机坐标系坐标后通过透射投影得到物理系坐标P(x,y),考虑到相机畸变因子,得到P(x,y)为:

  YD84OB79E{882@7OROOQE_O.png

  其中k1、k2、p1、p2为畸变系数,是相机外部参数矩阵M2,由物理坐标转换为像素坐标P(u,v)关系如下:

  8HG~A6J6E{~Q[N4)7NY5)TU.png

  其中,fx、fy指相机在x、y轴上的焦距,cx、cy指相机的光圈中心点坐标,fx、fy、cx、cy这4个参数为相机的内参矩阵M1,给定相机内参之后,每个点的空间位置与像素坐标就可以用矩阵模型表示:

  F@ORONATSES9VA8[~Z)A(M4.png

  其中,R和T是相机的姿态。R代表旋转矩阵,T代表位移矢量,s是深度距离与实际距离的比例因子。由上述结果进行齐次变换后得到三维空间点P与二维图像像素坐标的映射关系:

  s·p=M1M2P(5)

  其中,M1、M2为相机的内参和外参,由标定结果得到。P=(X,Y,Z)为空间点齐次坐标,p=(u,v,l)为二维图像像素齐次坐标。

2点云融合

  2.1特征检测

  图像的特征提取与匹配是实现三维重建的基础,现在常用的特征检测算法为1999年David Lowe提出的SIFT(Scale Invariant Feature Transform)算法,并于2004年进行了深入的发展和完善[8]。SIFT算法最大的优点是具有尺度不变性,图像之间发生了平移、旋转、仿射变换的情况下仍可以进行特性匹配。SIFT算法提取到的特征点丰富,适合图像精准匹配,但时间复杂度高,实时性差。BAY H等人于2006年改进了SIFT算法,提出了SURF[9](Speeded Up Robust Features)算法,SURF算法继承了SIFT算法尺度不变的优点,且大大提高了执行效率。ROSTEN E和DRUMMOND T于2006年提出了FAST[10]算法,该算法通过检查图像块中是否存在角点来判断特征点,算法简单,避免了求解二阶导数,因此运算速度上快于SURF和SIFT算法。

  RUBLEE E等人于2011年提出了ORB[11]算法,该算法采用视觉信息特征点检测与描述方法,结合了FAST算法特征点检测速度快的优势,加入FAST特征的方向信息,改进了FAST算法不具备检测特征点方向性的问题。特征点描述部分则是利用基于像素点二进制位比较的BRIEF[12]特征描述子,并改进了 BRIEF描述子对图像噪声敏感和不具备旋转不变性的缺点。准确、快速的特征提取与匹配算法是实时三维重建的重要前提,本文在特征匹配中比较了这几种常用的特征检测算法。

  2.2基于ORB的特征匹配

  由于同一场景的RGB图像和深度图像数据一一对应关系,通过二维图像坐标与三维坐标的映射关系可以得到场景的三维点云图像。相机的广度不能获取室内场景的全局图像,所以需要对连续帧进行融合获取大场景的图像。假设相机水平旋转获取的两帧相邻场景图像为K1、K2,使用ORB特征点匹配得到结果如图2所示。

002.jpg

  可以看出两帧图像的特征匹配存在误匹配特征点,对匹配特征点进行筛选可以提高匹配的准确性和效率。由于相机是水平旋转的,首先剔除水平距离过大的匹配点,然后采用RANSAC(随机采样一致性)算法[6]剔除误匹配,进一步提高匹配的准确性。通过特征匹配得到两幅图像的特征点均为800个,匹配特征点为788个,筛选后得到的匹配个数为72个,结果如图3。

 

003.jpg

  本文实验环境为Liunx平台下基于Opencv采用C++语言实现,运行硬件环境为Intel Pentium 3.0 GHz CPU,运行内存4 GB。

  SIFT、SURF、FAST、ORB 4种角点检测算法在特征提取和帧间匹配中的比较结果如表1。

009.jpg

  2.3点云拼接

  相机缓慢移动获得连续的图像帧序列,要进行图像的匹配融合首先要知道连续图像的运动关系,设相机运动如图4所示,其旋转矩阵为R、位移矩阵为T。

004.jpg

  提取相邻帧K1、K2间的特征点匹配对,描述为K1={p1,p2,…,pN},K2={q1,q2,…,qN},其中p、q都是三维坐标的点,于是有:

  i,pi=Rqi+T+Ni(6)

  其中Ni代表噪声。根据最优化理论,求解旋转矩阵R和平移矩阵T,需要满足下式最小:

  %U~A20%Z0@59$3P${D2NPYW.png

  通过求解最小误差可求得R和T,采用经典的ICP[7]算法求解。该算法是一种非线性迭代方法,通过不断迭代最近的匹配点求解变换矩阵,实现局部点云到整体点云的融合。

3基于ICP算法的三维重建框架

  3.1算法框架

  实验采用华硕公司的Xtion深度相机缓慢转动获取连续的数据帧,先将起始帧图像集合(RGB图像和深度图像)转换成点云,实现局部图像的二维到三维的转换,当相机采集到下一帧图像集合时,通过提取两帧图像的特征进行匹配,并计算相机的平移和旋转向量进行点云融合。通过相机移动形成完整的三维模型。算法流程如图5所示。

 

005.jpg

  主要步骤有:

  (1)相机标定,获取RGB图像和深度图像;

  (2)对彩色图像进行特征提取,结合特征点的深度信息实现2D到3D的转换,生成局部点云图;

  (3)相机跟踪,将当前帧3D 点云和由现有模型生成的预测的3D 点云进行ICP 匹配,计算得到当前帧相机的位姿;

  (4)点云融合,根据所计算出的当前相机位姿,将当前帧的3D 点云融合到现有模型中。

  3.2相机标定

  相机标定的目的是建立有效的成像模型,并确定相机内外部属性参数,以便建立空间与平面像素点之间的对应关系。相机是物体空间(三维空间)到2D图像之间的一种映射,而这种映射由相机成像的几何模型决定,几何模型的参数就是相机的参数,由这些参数可以推导三维空间坐标与二维图像坐标之间的变换关系。

  实验使用张正友棋盘标定算法[13],通过MATLAB工具箱(Camera Calibration Toolbox)中提供的方法进行相机标定。使用A4纸自制7×9方格标定模板,正方形小方格边长为27.8 mm,选取相机不同位姿拍摄的20幅标定模板图像对相机进行标定。

  通过华硕Xtion深度相机获取同一场景的RGB图像和中值滤波后的深度图像如图6所示,图(a)为RGB图像,图(b)为深度图像。

006.jpg

  3.3实验结果

  华硕(Xtion pro live)深度相机的深度有效距离约0.2~5 m,彩色图像和深度图像的分辨率都为640×480。由于相机的广度有限不能获取室内场景的全局图像,需要对获取的连续帧进行点云融合来获取大场景的图像。实验通过手持Xtion相机扫描室内场景,获取连续的数据帧,实现室内场景的实时三维重建,相机移动轨迹如图7所示。

007.jpg

  相机在室内移动采集数据帧,相邻帧之间可进行特征匹配,计算出相机运动的R和T矩阵,结合特征点的深度信息得到三维匹配关系, 基于ICP算法迭代相邻点云图像,不断融合新信息形成由局部三维点云场景到整个室内场景的三维重建。如图8所示,图(a)为局部三维场景点云图,图(b)为整体三维场景点云图。

008.jpg

4结论

  本文实现了基于RGB-D相机的室内场景三维重建方法,通过华硕(Xtion pro live)深度相机在室内环境中能够得到准确、稠密的三维模型,在特征提取上采用了ORB算法,特征匹配和点云拼接采用RANSAC和ICP算法。该方法在室内静态环境中有很强的实时性、准确性和鲁棒性,且大大提高了三维重建的效率。随着深度相机的价格不断下降,尤其是室内机器人自主导航的研究和发展,基于RGB-D的三维重建系统将会对人们的日常生活产生巨大的影响。

参考文献

  [1] THOMAS D, SUGIMOTO A. A flexible scene representation for 3D reconstruction using an RGBD camera[C]. IEEE International Conference on Computer Vision, IEEE Computer Society, 2013:2800-2807.

  [2] HARTLEY  R I. Estimation of relative camera positions for uncalibrated cameras[C]. European Conference on Computer Vision, SpringerVerlag, 1992:579-587.

  [3] FISCHLER M A, BOLLES R C. Random sample consensus: a paradigm for model fitting with applications to image analysis and automated cartography[M]. Readings in Computer Vision: Issues, Problems, Principles, and Paradigms. Morgan Kaufmann Publishers Inc. 1987:726-740.

  [4] LEE K R, NGUYEN T. Realistic surface geometry reconstruction using a handheld RGBD camera[J]. Machine Vision & Applications, 2016,27(3):377-385.

  [5] KERL C, STURM J, CREMERS D. Dense visual SLAM for RGBD cameras[C]. Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems, 2013:2100-2106.

  [6] SCHNABEL R, WAHL R, KLEIN R. Efficient RANSAC for pointcloud shape detection[J]. Computer Graphics Forum, 2007, 26(2):214-226.

  [7] BESL P J, MCKAY N D. Method for registration of 3D shapes[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 1992, 14(3):239-256.

  [8] LOWE D G. Distinctive image features from scaleinvariant keypoints[J]. International Journal of Computer Vision, 2004, 60(60):91-110.

  [9] BAY H, TUYTELAARS T, GOOL L V. SURF: speeded up robust features[J]. Computer Vision & Image Understanding, 2006, 110(3):404-417.

  [10] ROSTEN E, DRUMMOND T. Machine learning for highspeed corner detection[C]. European Conference on Computer Vision, SpringerVerlag, 2006:430-443.

  [11] RUBLEE E, RABAUD  V, KONOLIGE K, et al. ORB: an efficient alternative to SIFT or SURF[C]. In International Conference of Computer Vision(ICCV),2011: 2564-2571.

  [12] CALONDER′ M, LEPETIT V, STRECHA C, et al. Brief: binary robust independent elementary features[C]. In European Conference on Computer Vision,2010:778-792.

  [13] Zhang Zhengyou. A flexible new technique for camera calibration[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2000,22(11):1330-1334.


此内容为AET网站原创,未经授权禁止转载。