CN105913489B - 一种利用平面特征的室内三维场景重构方法 - Google Patents
一种利用平面特征的室内三维场景重构方法 Download PDFInfo
- Publication number
- CN105913489B CN105913489B CN201610241054.6A CN201610241054A CN105913489B CN 105913489 B CN105913489 B CN 105913489B CN 201610241054 A CN201610241054 A CN 201610241054A CN 105913489 B CN105913489 B CN 105913489B
- Authority
- CN
- China
- Prior art keywords
- plane
- point cloud
- dimensional point
- frame
- dimensional
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/08—Indexing scheme for image data processing or generation, in general involving all processing steps from image acquisition to 3D model generation
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
Abstract
本发明提供一种利用平面特征的室内三维场景重构方法,包括实时获取室内场景的RGB图像和深度图像,完成单帧三维点云重构;对相邻两帧RGB图像进行特征提取,得到相邻两帧三维点云的初步旋转矩阵;对各帧点云进行降采样,从各帧三维点云中提取室内场景的平面特征;确定各平面位置;计算误差旋转矩阵;对初步旋转矩阵进行修正,对每两帧三维点云拼接配准;通过对各帧三维点云拼接配准最终实现室内三维场景重构。本发明利用点云的几何特征来进行误差消除,快速且有效地提取出点云的平面特征。当前帧与上一帧点云的平面特征进行匹配的成功度较高。根据平面特征判断平面类型,从而计算出误差矩阵,对初步旋转矩阵进行修正,获得较准确的室内三维点云地图。
Description
技术领域
本发明涉及的三维场景重构技术领域,具体涉及一种利用平面特征的室内三维场景重构方法。
背景技术
基于视觉的三维重建技术,是指利用数字摄像机作为图像传感器,综合运用图像处理、视觉计算等技术进行非接触三维测量,通过计算机程序获取物体的三维信息。很多相关的工程技术研究要对三维环境或者物体进行相关的分析运算,以便更直观的获取有用的数字信息,从而指导相关的工程计算。因此,三维场景重构正被越来越多地应用于工业、灾难救援、移动机器人自主导航、服务系统、增强现实等领域。以前通常采用价格昂贵、装置复杂的三维扫描仪或结构光设备获取点云地图。2010年微软Kinect摄像机的问世为室内三维场景重建问题的解决提供了新的思路。Kinect摄像机作为一种新型深度相机,具有价格低廉、深度数据获取能力强、RGB图像与深度图像同步获取等优势。利用深度图像,可以很好地克服可见光图像识别常遇到的困难,保障环境识别与建模的精确度。然而,由于Kinect摄像机视角和视距范围有限,室内三维场景重构必然会产生误差积累问题,特别在回路闭合处,误差积累表现得更为明显。另一方面,当要求快速匹配或者点云数据量过大时,场景重构的实时性无法满足应用要求。因此,室内三维场景重构的关键在于能够快速地获得一个比较准确、可利用的三维地图。
目前,多数RGB-D SLAM系统利用迭代最近点方法(Iterative Closest Point,ICP)进行不同点云间的配准。ICP方法是基于最小二乘法的最优匹配算法,它重复进行“确定对应关系点集-计算最优刚体变换”的过程,直到表示正确匹配的收敛准则被满足,最终获得目标点集与参考点之间的旋转矩阵R和平移矩阵T。该算法具有简单且计算复杂度低的优势,不过结果准确性严重依赖初始配准位置以及配准点集有无噪声点。三维点云配准中,特征匹配过程存在的误匹配点会导致获得的匹配点集不准确,从而使最后算出的转换矩阵有所偏差。g2o图优化算法是在SLAM系统后端进行全局优化,让当前帧与之前帧比较形成回环;该方法可以减小点云间累积误差,但实时性不够好。Kinect-Fusion系统利用硬件设备,采用GPU并行计算实现了实时的定位与重建,用于动态场景的增强现实应用;该系统利用GPU实现了实时ICP配准,并同步生成环境地图的三维表面;不过利用GPU加速对于硬件要求较高,制约了其使用范围。
综上所述,目前的室内三维场景重构方法在点云配准时较强依赖点云的初始位置,以致准确度降低。而后期的优化方法采用了多帧点云间的回环比较,增加了计算难度,使三维重构的实时性下降。
发明内容
针对现有技术存在的问题,本发明提供一种利用平面特征的室内三维场景重构方法。
本发明的技术方案是:
一种利用平面特征的室内三维场景重构方法,包括:
利用Kinect摄像机实时获取室内场景的RGB图像和深度图像,将单帧RGB图像数据和深度图像数据根据Kinect摄像机的内参矩阵转换成三维点云形式,完成单帧三维点云重构;
利用SURF特征描述子对相邻两帧RGB图像进行特征提取,采用欧式距离作为相似性度量,采用PnP求解得到相邻两帧三维点云的初步旋转矩阵;
采用VoxelGrid滤波器对重构出的各帧点云进行降采样,采用RANSAC算法从各帧三维点云中提取室内场景的平面特征;
利用从各帧三维点云提取的室内场景的平面特征确定各平面位置;
利用从各帧三维点云提取的室内场景的平面特征计算误差旋转矩阵;
利用误差旋转矩阵对于初步旋转矩阵进行修正,对每两帧三维点云拼接配准;
通过对各帧三维点云拼接配准最终实现室内三维场景重构。
所述单帧三维点云重构,具体方法如下:
对Kinect摄像机的RGB摄像头的视角和深度摄像头的视角进行标定,使Kinect摄像机采集的RGB图像和深度图像统一到同一个视角下,得到Kinect摄像机的内参矩阵;
利用Kinect摄像机实时获取室内场景的RGB图像和深度图像;
将单帧RGB图像数据和深度图像数据根据Kinect摄像机的内参矩阵转换成三维点云形式,即得到多个以世界坐标数据与RGB数据表示的空间点。
所述采用RANSAC算法从单帧三维点云中提取室内场景的平面特征,具体方法如下:
设定距离阈值,距离阈值表示点到平面的距离最大值;
利用随机采样一致性算法分割单帧三维点云,将距离某平面小于设定的距离阈值的空间点作为该平面内点,其余作为该平面外点;
提取出室内场景内各平面的平面特征,包括单帧三维点云各平面内点及平面方程的系数。
所述根据从多帧三维点云提取的室内场景的平面特征确定各平面位置,具体方法如下:
水平旋转Kinect摄像机,通过改变分割阈值调节提取平面特征的数量,分割阈值表示单帧三维点云内的平面数量最大值;
根据平面内点的数量对单帧三维点云内的各平面进行降序排序;
对前若干帧点云分别提取出的多个平面特征组进行分析,确定各个平面特征组内平面间的相对位置。
所述确定各个平面特征组内平面间的相对位置,具体方法如下:
对同一平面特征组内的平面进行分类:若同一平面特征组内某两个平面法向量的夹角等于0,则该两个平面的分类为棚顶或地面,若该夹角不等于0,则该两个平面的分类为侧面墙壁;
将第一帧三维点云的平面组作为基础平面组,对后续各帧三维点云中提取室内场景的平面特征进行检测与确定。
所述对后续各帧三维点云中提取室内场景的平面特征进行检测与确定,具体方法如下:
若后续某帧三维点云中的侧面墙壁与基础平面组内的侧面墙壁的夹角小于设定夹角下限,则不进行基础平面的修改,若后续某帧三维点云中的侧面墙壁与基础平面组内的侧面墙壁的夹角大于设定夹角上限,则将该帧三维点云中的平面组作为基础平面组,继续迭代判断直至遍历所有帧三维点云。
所述利用从各帧三维点云提取的室内场景的平面特征计算误差旋转矩阵,具体方法如下:
利用初步旋转矩阵将从各帧三维点云提取的室内场景的平面特征进行旋转;
计算旋转前后两个平面的交线;
根据旋转后的平面法向量、交线单位方向向量、交线上一内点、偏差旋转角度,计算误差修正矩阵。
所述利用初步旋转矩阵将从各帧三维点云提取的室内场景的平面特征进行旋转,是利用初步旋转矩阵旋转各帧三维点云中某个平面的一个内点,即可得到旋转后的该平面。
所述利用初步旋转矩阵将从各帧三维点云提取的室内场景的平面特征进行旋转,是通过对各帧三维点云中某个平面的所有内点进行旋转并重新估计此时的该平面的平面方程参数,即可得到旋转后的该平面。
有益效果:
本发明充分利用了点云的几何特征来进行误差消除,带来如下技术效果:
1.快速性好。利用VoxelGrid滤波器对点云进行降采样之后,可以快速且有效地提取出点云的平面特征。
2.鲁棒性好。当前帧点云所提取出的平面特征与上一帧点云的平面特征进行匹配的成功度较高,同时其在与特征子匹配结合中显示出较高的鲁棒性。
3.准确性好。根据所提取的平面特征判断平面类型,从而计算出误差矩阵,对原有的旋转矩阵进行修正,可以获得较准确的室内三维点云地图。
附图说明
图1是本发明具体实施方式的利用平面特征的室内三维场景重构方法流程图;
图2是本发明具体实施方式的点的数量随栅格大小变化;
图3是本发明具体实施方式的内点比例随栅格大小变化;
图4是本发明具体实施方式的提取时间随栅格大小变化;
图5是本发明具体实施方式的法向量夹角余弦值变化;
图6是本发明具体实施方式的从Kinect摄像机看到的不同平面的俯视图。
具体实施方式
下面结合附图对本发明的具体实施方式做详细说明。
本实施方式选取环境较为复杂的实验室作为重构的室内场景,使用图像分辨率为640×480的Kinect摄像机。实验程序结合PCL点云库在Ubuntu系统下采用C++实现本方法,本实施方式是在Intel双核2.93GHz CPU的计算机上运行。为了验证本方法的实时性和稳定性,利用手持Kinect摄像机在场景中进行自由运动采集数据。
以Kinect摄像机作为彩色图像和深度图像的采集工具,首先通过Kinect摄像机得到RGB图像和深度图像。接着,对彩色图像进行特征提取,建立初步旋转矩阵。同时,通过深度图像进行三维点云的单帧重构,对单帧点云进行降采样之后,从中提取平面特征。最后,利用平面特征得到修正初步旋转矩阵,从而达到对点云配准进行优化的目的。
一种利用平面特征的室内三维场景重构方法,如图1所示,包括:
步骤1、利用Kinect摄像机实时获取室内场景的RGB图像和深度图像,将单帧RGB图像数据和深度图像数据根据Kinect摄像机的内参矩阵转换成三维点云形式,完成单帧三维点云重构;
单帧三维点云重构,具体方法如下:
步骤1-1、对Kinect摄像机的RGB摄像头的视角和深度摄像头的视角进行标定,使Kinect摄像机采集的RGB图像和深度图像统一到同一个视角下,得到Kinect摄像机的内参矩阵;
步骤1-2、利用Kinect摄像机实时获取室内场景的RGB图像和深度图像;
步骤1-3、将单帧RGB图像数据和深度图像数据根据Kinect摄像机的内参矩阵转换成三维点云形式,即得到多个以世界坐标数据与RGB数据表示的空间点。
经过标定后的RGB摄像头和深度摄像头可以等同为理想的针孔成像模型,因此,一个空间点(x,y,z)和其在RGB图像和深度图像中的像素坐标(u,v,d)有如下对应关系:
把fx,fy,cx,cy这四个参数定义为Kinect摄像机的内参矩阵C,fx,fy分别为Kinect摄像机的x、y方向的旋转参数,cx,cy分别为Kinect摄像机的x、y方向的平移参数,得到内参矩阵之后将每个空间点的位置坐标与像素坐标用以下矩阵模型进行描述:
其中,R和t表示Kinect摄像机的姿态。R代表旋转矩阵,t代表位移矢量。因为是单帧三维点云,认为Kinect摄像机没有旋转和平移。所以,把R设成单位矩阵I,把t设成零。s(scaling factor)表示深度图像里给的数据与实际距离的比例。由于深度数据是short类型(mm),s通常为1000。从而可以将二维图像转换成三维点云。
步骤2、利用SURF特征描述子对相邻两帧RGB图像进行特征提取,采用欧式距离作为相似性度量,取欧式距离阈值为0.4,采用PnP求解得到相邻两帧三维点云的初步旋转矩阵;同时采用VoxelGrid滤波器对重构出的各帧点云进行降采样,采用RANSAC算法从各帧三维点云中提取室内场景的平面特征;
由于实时的三维点云数据量较大,一般计算机的计算速度无法满足实时性要求。因此,先对每帧三维点云数据进行降采样,采用VoxelGrid滤波器能在减少大量点云数据的同时,较好地保留原始点云的形状特征与空间结构信息。
利用多幅单帧含有平面的三维点云进行提取平面的测试,首先对三维点云进行降采样,针对不同尺寸的三维体素栅格进行对比实验,来观察其对平面提取时间、平面内三维点云占的比例的变化,平面法向量、平面归属三维点云集等结果的影响。
在三维点云中的总点数为307200从图2、图3中看出,利用一定范围内的不同尺寸的三维体素栅格进行降采样后的平面归属点集占采样后点云数据量的百分比未发生较大改变,整体上来说对平面的准确提取不会造成太大的影响。为栅格大小在一定范围内变化提供了一定的变化区域来适应不同的环境。
分析在设定不同的栅格阈值时,提取平面花费的时间与平面特征的提取是否影响较大,从图4中可以看出,在栅格大小增大到一定程度后提取时间快速下降,降采样能在很大程度上提高平面提取速度。之后对不同栅格大小下的三维点云中平面的法向量进行了夹角余弦值的计算,从图5结果来看几乎没有影响.保证了栅格滤波后系数的准确性。
采用RANSAC算法从单帧三维点云中提取室内场景的平面特征,具体方法如下:
步骤2-1、设定距离阈值,距离阈值表示点到平面的距离最大值;
步骤2-2、利用随机采样一致性算法分割单帧三维点云,将距离某平面小于设定的距离阈值的空间点作为该平面内点,其余作为该平面外点;
步骤2-3、提取出室内场景内各平面的平面特征,包括单帧三维点云各平面内点及平面方程Ax+By+Cz+D=0的系数A(系数1)、B(系数2)、C(系数3)、D(系数4),前x帧三维点云提取采集的各平面的平面特征形成二维数组Plane(x,n),每帧三维点云一次最多可以提取的平面共有n个墙面。本实施方式提取出的三维点云提取的平面特征如表1所示。
表1三维点云提取的平面特征
帧数 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
第一平面点数 | 4473 | 3660 | 4346 | 4189 | 4051 | 4249 | 3650 |
系数1 | -0.0840148 | -0.0907186 | -0.0763542 | -0.0828344 | -0.0852882 | -0.0977235 | -0.0962756 |
系数2 | -0.995332 | -0.994968 | -0.995887 | -0.994451 | -0.995411 | -0.992882 | -0.992225 |
系数3 | 0.0474915 | 0.0425278 | 0.0487708 | 0.064848 | 0.0433943 | 0.0680903 | 0.0788693 |
系数4 | -1.53951 | -1.49759 | -1.51164 | -1.52967 | -1.45461 | -1.54058 | -1.57875 |
第二平面点数 | 2458 | 2421 | 1971 | 2320 | 3018 | 3418 | 3027 |
系数1 | 0.719819 | -0.692765 | -0.66044 | -0.616351 | -0.583654 | -0.535098 | -0.50754 |
系数2 | -0.0935075 | 0.100757 | 0.125774 | 0.119048 | 0.0820451 | 0.0860654 | 0.0505864 |
系数3 | -0.687835 | 0.71409 | 0.74027 | 0.778421 | 0.807847 | 0.840395 | 0.860142 |
系数4 | 2.51399 | -2.50388 | -2.45378 | -2.483 | -2.47356 | -2.46584 | -2.4247 |
步骤3、利用从各帧三维点云提取的室内场景的平面特征确定各平面位置;
步骤3-1、水平旋转Kinect摄像机,通过改变分割阈值调节提取平面特征的数量,分割阈值表示单帧三维点云内的平面数量最大值;
通过调整分割出平面后的剩余点占原点云的比例阈值即分割阈值,来改变所分割出的平面的个数,如果阈值设的过于低,会分割出许多小的点云内部的平面特征,设定阈值为0.85或者设置更低一些到0.7为比较合适的范围。本实施方式采集前7帧的点云当中提取出的数据作为基础的判断,在这些点云中偶尔会提取出第三个平面内点数量太少不做匹配估计,因为相对来说外部平面的内点数量还是比较大的,并且在之后的旋转过程与重新提取时能够保证一定的准确率,减少了计算出错带来的失误,通过分割阈值改变剔除了第个三平面,每帧能够提取到2个点云。
步骤3-2、根据平面内点的数量对单帧三维点云内的各平面进行降序排序;
步骤3-3、对前x(x小于等于7)帧点云分别提取出的多个平面特征组进行分析,确定各个平面特征组内平面间的相对位置。
确定各个平面特征组内平面间的相对位置,具体方法如下:
步骤3-3-1、对同一平面特征组内的平面进行分类:若同一平面特征组内某两个平面法向量的夹角等于0,则该两个平面的分类为棚顶或地面,无法用于点云的配准优化,舍弃;若该夹角不等于0,则该两个平面的分类为侧面墙壁;
设定两个平面的法向量为n1(x1,y1,z1)、n2(x2,y2,z2),两个法向量的夹角可以余弦定理进行计算。通过平面法线方向是否发生变化可以确定平面的分类,法线方向不变表示该平面不受点云水平旋转的影响,将其分类为棚顶或地面,法线方向发生变化的平面分类为侧面墙壁。
步骤3-3-2、将第一帧三维点云的平面组作为基础平面组,对后续各帧三维点云中提取室内场景的平面特征进行检测与确定。
对后续各帧三维点云中提取室内场景的平面特征进行检测与确定:若后续某帧三维点云中的侧面墙壁与基础平面组内的侧面墙壁的夹角小于设定夹角下限β1(取值范围2°~3°),即夹角过小,则不进行基础平面的修改,无法用于点云的配准优化,舍弃;若后续某帧三维点云中的侧面墙壁与基础平面组内的侧面墙壁的夹角大于设定夹角上限β2(取值范围87°~90°),则将该帧三维点云中的平面组作为基础平面组,继续迭代判断直至遍历所有帧三维点云。
如果某帧三维点云中的侧面墙壁与基础平面组内的侧面墙壁的夹角为接近直角时,视为Kinect摄像机旋转到了当前室内另一个平面的情况,将当前帧三维点云作为基础平面组,并进行保存,更新其为初始帧点三维云,进行迭代计算。
表2法向量夹角变化数据
平面一法向量方向变化角度 | 1 | 1 | 0.9998 | 1 | 0.9997 | 0.9994 |
平面二法向量方向变化角度 | 0.9991 | 0.9973 | 0.9913 | 0.9835 | 0.9719 | 0.9613 |
对比表2中数据可以看出,旋转对三维点云的内点数量相对改变还是比较明显的,所以限制在了几帧之内以防止出现较大内点变化改变了平面的相对大小来增加匹配的一些计算。
对于平面一的变化可以很明显的看到法向量的方面最大的变化只达到了0.9994,相对于第一帧时相差1.985度,小于夹角下限β1,而相对来说平面二反映出了比较剧烈的相对变化,在五六帧过后,余弦值达到了0.9613,得到了16.01度的旋转角度,所以可以直接认定平面一为地面或棚顶,平面二为侧面,并判定为基础平面,进行之后的步骤。
步骤4、利用从各帧三维点云提取的室内场景的平面特征计算误差旋转矩阵;
步骤4-1、利用初步旋转矩阵将从各帧三维点云提取的室内场景的平面特征进行旋转;
可以采用如下两种方法进行将从各帧三维点云提取的室内场景的平面特征进行旋转:
(1)利用初步旋转矩阵旋转各帧三维点云中某个平面的一个内点,即可得到旋转后的该平面;
先将平面法向量旋转过去,然后带入一个平面上的点得到。获得步骤1中得到的初步旋转矩阵T之后,先对平面的法向量进行旋转,设平面A的法向量为A1(x,y,z),平面中的点p1(x1,y1,z1)、p2(x2,y2,z2),则有关系:
A1(p2-p1)T=0 (3)
根据已经得到的3×3初步旋转矩阵T,旋转之后的点p1′(x1′,y1′,z1′),p2′(x2′,y2′,z2′)有对应关系:
(p1′-p1′)T=T·(p2-p1) (4)
旋转之后的法向量为A1′(x′,y′,z′),则仍应有
A1′(p1′-p1′)T=0 (5)
联立式上面3个式子,可以得到平面的法向量与旋转部分的关系:
A1′=T-1·A1 (6)
至此,平面旋转后的法向量已经确定,接下来再用初步旋转矩阵T旋转平面A的一个内点就可以得到这个平面。
(2)通过对各帧三维点云中某个平面的所有内点进行旋转并重新估计此时的该平面的平面方程参数,即可得到旋转后的该平面。
由于降采样后的平面本身就不具有很多的点,旋转花费的时间非常少。对于其他旋转中的三维点云,在旋转之后,采取平面内点全部旋转然后重新提取平面方程参数的方法。相对于直接计算,这里可以减少选取一个点的累计误差,不过在处理数据量非常大时,累计的时间损耗会体现出来一些。
步骤4-2、计算旋转前后两个平面的交线;
两个平面的法向量为A(ax,ay,az),B(bx,by,bz),根据向量的外积,确定两个平面交线的方向向量K′:
将2个平面方程联立得到交线上的一点n0(x0,y0,z0)确定这条交线方程。
步骤4-3、根据旋转后的平面法向量A(n1,n2,n3)、交线单位方向向量K′(x,y,z)、交线上一内点n1(x1,y1,z1)、偏差旋转角度θ,计算误差修正矩阵。
旋转后的平面与基础平面进行比较,设旋转之后仍具有θ角度的误差即偏差旋转角度,得到:
可以得到如下误差修正矩阵:
其中:
a=[1-n1 2(1-cosθ)-cosθ]x1-[n1n2(1-cosθ)-n3sinθ]y1-[n1n3(1-cosθ)-n2sinθ]z1
b=-[n1n2(1-cosθ)+n3sinθ]x1+[1-n2 2(1-cosθ)-cosθ]y1-[n2n3(1-cosθ)-n1sinθ]z1
c=-[n1n3(1-cosθ)-n2sinθ]x1-[n2n3(1-cosθ)-n1sinθ]y1+[1-n3 2(1-cosθ)-cosθ]z1
步骤5、利用误差旋转矩阵对于初步旋转矩阵进行修正,对每两帧三维点云拼接配准;
利用基础矩阵将平面旋转之后与基础平面的夹角为θ,并将其分成两部分进行旋转θ=θ1+θ2最终得到修正的旋转矩阵R为:
R=T(a)·M(θ2)·T(θ1) (10)
其中T(a)为之前得到的初步旋转矩阵,M(θ2)为将θ2带入误差旋转矩阵后得到的矩阵,T(θ1)为将θ1带入初步旋转矩阵得到的修正矩阵。
假设Kinect摄像机处于水平的运动状态,那么从俯视角度看在侧面的点云平面应该投影为一条直线。如图6所示,点云初配准之后得到了一个初始旋转角度θ1,通过平面特征对点云进行优化后得到一个误差修正旋转角度θ2。根据图6,由平行内错关系易证得旋转矩阵T的转轴到平面的垂线与X轴的夹角和平面法向量角度差是互余的,进一步也就是说可以将角度分开。由于2个平面的交线转轴的变化是相对来说较大,先以交线为轴转动θ2,再进行初始旋转矩阵的转动,最终得到优化的旋转矩阵为R=T(a)·M(θ2)·T(θ1)。
以第六帧到第七帧的变化为说明,首先通过特征提取PNP求解得到其初步旋转矩阵为
对三维点云直接旋转,之后直接提取对应平面系数为(0.0980289,0.994206,0.0441006,-1.52528),进一步对得到旋转之后与基础平面的夹角余弦值为0.998,仍有3.6度的夹角差异,联立的到交线的向量方向为(0.008534532,0.0039549456,0.999812543)为不过由于分为2个度数,这里取平均分配,
首先对于M(θ2)之后根据三维点云中的一个点(1.63074-1.46378 3.16046)为三维点云中取到的第50个点,带入θ2=1.8和交线向量进行解算
[0.999570854324,0.000932646709477031,0.0002184776014886,0.0009326467
-0.00096086792196,0.9999994714611428,0.0003658008850258,0.000043341
-0.00034740011976,-0.00007061960428678,0.999961242280636,0.0005426354]
在求解的过程中由于对于旋转矩阵的求解先获得的是旋转向量得到的是旋转向量
[-0.003762835345228757;0.2184932238819398;-0.009568336133905755]
对于θ1分配的旋转的角度为1.8度,通过解算得旋转修正矩阵T(θ1)
[0.9997608553254324,0.000952646709477031,0.02184776014164886,0
-0.0009608679219377496,0.9999994714611428,0.0003658008634850258,0
-0.02184740011526976,-0.0003867061960428678,0.9997612422806363,0
0001]
总体修正完毕旋转后重新提取,旋转前三维点云的墙面的平面方程系数为(0.0980289,0.994206,0.0441006,-1.52528),进一步旋转点云后提取得到:(-0.0862555,-0.993924,0.0683797,-1.52615)为修正后的平面方程系数,此时保证了与基础平面的夹角,同时保证了与下一帧对应平面法向量的系数的相对一致,产生了修正的效果。
步骤6、通过对各帧三维点云拼接配准最终实现室内三维场景重构。对之后的各帧点云进行平面组提取,获得该点云和上一帧点云的旋转修正矩阵。根据修正矩阵对当前两帧点云的拼接配准进行优化,如此反复,不断有新的点云加入到旧的点云中,最终实现室内场景的三维重建。
Claims (6)
1.一种利用平面特征的室内三维场景重构方法,其特征在于,包括:
利用Kinect摄像机实时获取室内场景的RGB图像和深度图像,将单帧RGB图像数据和深度图像数据根据Kinect摄像机的内参矩阵转换成三维点云形式,完成单帧三维点云重构;
利用SURF特征描述子对相邻两帧RGB图像进行特征提取,采用欧式距离作为相似性度量,采用PnP求解得到相邻两帧三维点云的初步旋转矩阵;
采用VoxelGrid滤波器对重构出的各帧点云进行降采样,采用RANSAC算法从各帧三维点云中提取室内场景的平面特征;将距离某平面小于设定的距离阈值的空间点作为该平面内点,其余作为该平面外点;
利用从各帧三维点云提取的室内场景的平面特征确定各平面位置;
利用从各帧三维点云提取的室内场景的平面特征计算误差旋转矩阵;
利用误差旋转矩阵对于初步旋转矩阵进行修正,对每两帧三维点云拼接配准;
通过对各帧三维点云拼接配准最终实现室内三维场景重构;
所述利用从各帧三维点云提取的室内场景的平面特征确定各平面位置,具体是:
水平旋转Kinect摄像机,通过改变分割阈值调节提取平面特征的数量,分割阈值表示单帧三维点云内的平面数量最大值;
根据平面内点的数量对单帧三维点云内的各平面进行降序排序;
对前x帧点云分别提取出的多个平面特征组进行分析,确定各个平面特征组内平面间的相对位置;
所述确定各个平面特征组内平面间的相对位置,具体方法如下:对同一平面特征组内的平面进行分类:若同一平面特征组内某两个平面法向量的夹角等于0,则该两个平面的分类为棚顶或地面,无法用于点云的配准优化,舍弃;若该夹角不等于0,则该两个平面的分类为侧面墙壁;将第一帧三维点云的平面组作为基础平面组,对后续各帧三维点云中提取室内场景的平面特征进行检测与确定;
所述利用从各帧三维点云提取的室内场景的平面特征计算误差旋转矩阵,具体方法如下:
利用初步旋转矩阵将从各帧三维点云提取的室内场景的平面特征进行旋转;
计算旋转前后两个平面的交线;
根据旋转后的平面法向量、交线单位方向向量、交线上一内点、偏差旋转角度,计算误差修正矩阵;
所述提取出室内场景内各平面的平面特征,包括单帧三维点云各平面内点及平面方程的系数。
2.根据权利要求1所述的利用平面特征的室内三维场景重构方法,其特征在于,所述单帧三维点云重构,具体方法如下:
对Kinect摄像机的RGB 摄像头的视角和深度摄像头的视角进行标定,使Kinect摄像机采集的RGB图像和深度图像统一到同一个视角下,得到Kinect摄像机的内参矩阵;
利用Kinect摄像机实时获取室内场景的RGB图像和深度图像;
将单帧RGB图像数据和深度图像数据根据Kinect摄像机的内参矩阵转换成三维点云形式,即得到多个以世界坐标数据与RGB数据表示的空间点。
3.根据权利要求1所述的利用平面特征的室内三维场景重构方法,其特征在于,所述采用RANSAC算法从单帧三维点云中提取室内场景的平面特征,具体方法如下:
设定距离阈值,距离阈值表示点到平面的距离最大值;
利用随机采样一致性算法分割单帧三维点云;
提取出室内场景内各平面的平面特征,包括单帧三维点云各平面内点及平面方程的系数。
4.根据权利要求1所述的利用平面特征的室内三维场景重构方法,其特征在于,所述对后续各帧三维点云中提取室内场景的平面特征进行检测与确定,具体方法如下:
若后续某帧三维点云中的侧面墙壁与基础平面组内的侧面墙壁的夹角小于设定夹角下限,则不进行基础平面的修改,若后续某帧三维点云中的侧面墙壁与基础平面组内的侧面墙壁的夹角大于设定夹角上限,则将该帧三维点云中的平面组作为基础平面组,继续迭代判断直至遍历所有帧三维点云。
5.根据权利要求1所述的利用平面特征的室内三维场景重构方法,其特征在于,所述利用初步旋转矩阵将从各帧三维点云提取的室内场景的平面特征进行旋转,是利用初步旋转矩阵旋转各帧三维点云中某个平面的一个内点,即可得到旋转后的该平面。
6.根据权利要求1所述的利用平面特征的室内三维场景重构方法,其特征在于,所述利用初步旋转矩阵将从各帧三维点云提取的室内场景的平面特征进行旋转,是通过对各帧三维点云中某个平面的所有内点进行旋转并重新估计此时的该平面的平面方程参数,即可得到旋转后的该平面。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610241054.6A CN105913489B (zh) | 2016-04-19 | 2016-04-19 | 一种利用平面特征的室内三维场景重构方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610241054.6A CN105913489B (zh) | 2016-04-19 | 2016-04-19 | 一种利用平面特征的室内三维场景重构方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105913489A CN105913489A (zh) | 2016-08-31 |
CN105913489B true CN105913489B (zh) | 2019-04-23 |
Family
ID=56746390
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610241054.6A Expired - Fee Related CN105913489B (zh) | 2016-04-19 | 2016-04-19 | 一种利用平面特征的室内三维场景重构方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105913489B (zh) |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106570903B (zh) * | 2016-10-13 | 2019-06-18 | 华南理工大学 | 一种基于rgb-d摄像头的视觉识别与定位方法 |
CN106570507B (zh) * | 2016-10-26 | 2019-12-27 | 北京航空航天大学 | 单目视频场景三维结构的多视角一致的平面检测解析方法 |
WO2018112795A1 (en) * | 2016-12-21 | 2018-06-28 | Intel Corporation | Large scale cnn regression based localization via two-dimensional map |
CN106652026A (zh) * | 2016-12-23 | 2017-05-10 | 安徽工程大学机电学院 | 基于多传感器融合的三维空间自动标定的方法 |
CN106910242B (zh) * | 2017-01-23 | 2020-02-28 | 中国科学院自动化研究所 | 基于深度相机进行室内完整场景三维重建的方法及系统 |
CN106940186B (zh) * | 2017-02-16 | 2019-09-24 | 华中科技大学 | 一种机器人自主定位与导航方法及系统 |
CN108510530B (zh) * | 2017-02-28 | 2021-03-05 | 深圳市朗驰欣创科技股份有限公司 | 一种三维点云匹配方法及其系统 |
CN106909149B (zh) * | 2017-03-14 | 2020-09-22 | 深圳蓝因机器人科技有限公司 | 一种深度摄像头避障的方法及装置 |
US10139833B1 (en) * | 2017-05-17 | 2018-11-27 | GM Global Technology Operations LLC | Six-dimensional point cloud system for a vehicle |
WO2018214086A1 (zh) * | 2017-05-25 | 2018-11-29 | 深圳先进技术研究院 | 场景的三维重建方法、装置及终端设备 |
CN107292949B (zh) * | 2017-05-25 | 2020-06-16 | 深圳先进技术研究院 | 场景的三维重建方法、装置及终端设备 |
CN107610219B (zh) * | 2017-08-29 | 2020-03-10 | 武汉大学 | 三维场景重构中几何线索感知的像素级点云稠密化方法 |
CN107610176B (zh) * | 2017-09-15 | 2020-06-26 | 斯坦德机器人(深圳)有限公司 | 一种基于Kinect的栈板动态识别与定位方法、系统及介质 |
CN108030452A (zh) * | 2017-11-30 | 2018-05-15 | 深圳市沃特沃德股份有限公司 | 视觉扫地机器人及建立场景地图的方法 |
CN108171715B (zh) * | 2017-12-05 | 2020-08-04 | 浙江大华技术股份有限公司 | 一种图像分割方法及装置 |
CN107860390A (zh) * | 2017-12-21 | 2018-03-30 | 河海大学常州校区 | 基于视觉ros系统的非完整机器人远程定点自导航方法 |
CN108645398A (zh) * | 2018-02-09 | 2018-10-12 | 深圳积木易搭科技技术有限公司 | 一种基于结构化环境的即时定位与地图构建方法及系统 |
CN110274602A (zh) * | 2018-03-15 | 2019-09-24 | 奥孛睿斯有限责任公司 | 室内地图自动构建方法及系统 |
CN108898661B (zh) * | 2018-05-31 | 2023-04-18 | 深圳先进技术研究院 | 三维图像构建的方法、装置及具有存储功能的装置 |
CN108876906A (zh) * | 2018-06-06 | 2018-11-23 | 链家网(北京)科技有限公司 | 基于点云的全局平面优化建立虚拟三维模型的方法及装置 |
CN109903330B (zh) * | 2018-09-30 | 2021-06-01 | 华为技术有限公司 | 一种处理数据的方法和装置 |
CN109509208B (zh) * | 2018-10-08 | 2023-06-13 | 香港理工大学 | 一种高精度三维点云获取方法、系统、装置及存储介质 |
CN111768489B (zh) * | 2019-04-01 | 2023-09-26 | 丰翼科技(深圳)有限公司 | 一种室内导航地图构建方法和系统 |
CN110111374B (zh) * | 2019-04-29 | 2020-11-17 | 上海电机学院 | 基于分组阶梯式阈值判断的激光点云匹配方法 |
CN111767767B (zh) * | 2019-05-24 | 2024-07-19 | 北京京东乾石科技有限公司 | 室内物体的检测方法、装置、电子设备与存储介质 |
CN111582285B (zh) * | 2020-04-28 | 2023-05-23 | 清华大学 | 点云图像的平面提取方法 |
CN111986296B (zh) * | 2020-08-20 | 2024-05-03 | 叠境数字科技(上海)有限公司 | 一种用于子弹时间的cg动画合成方法 |
CN112285735B (zh) * | 2020-09-18 | 2023-04-18 | 北京捷象灵越科技有限公司 | 一种用于自动标定单线激光雷达的角度分辨率的系统 |
CN112258474A (zh) * | 2020-10-22 | 2021-01-22 | 深圳集智数字科技有限公司 | 一种墙面异常检测方法和装置 |
CN112861674B (zh) * | 2021-01-28 | 2024-09-06 | 中振同辂(江苏)机器人有限公司 | 一种基于地面特征的点云优化方法及计算机可读存储介质 |
CN112991524B (zh) * | 2021-04-20 | 2022-03-25 | 北京的卢深视科技有限公司 | 三维重建的方法、电子设备及存储介质 |
CN113139217B (zh) * | 2021-04-30 | 2023-08-29 | 深圳市行识未来科技有限公司 | 一种平面设计与三维空间设计的转换系统 |
CN113407798B (zh) * | 2021-06-22 | 2023-12-22 | 深圳大学 | 度量空间划分多边界搜索性能衡量的方法及相关组件 |
CN113768419B (zh) * | 2021-09-17 | 2023-06-23 | 安克创新科技股份有限公司 | 确定扫地机清扫方向的方法、装置及扫地机 |
CN114897895B (zh) * | 2022-07-12 | 2022-11-15 | 深圳市信润富联数字科技有限公司 | 点云调平方法、装置、电子设备及存储介质 |
CN115205461B (zh) * | 2022-07-15 | 2023-11-14 | 小米汽车科技有限公司 | 场景重建方法、装置、可读存储介质及车辆 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103106688A (zh) * | 2013-02-20 | 2013-05-15 | 北京工业大学 | 基于双层配准方法的室内三维场景重建方法 |
CN103279987A (zh) * | 2013-06-18 | 2013-09-04 | 厦门理工学院 | 基于Kinect的物体快速三维建模方法 |
CN104392486A (zh) * | 2014-11-25 | 2015-03-04 | 西安理工大学 | 一种点云场景重建方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100944293B1 (ko) * | 2007-12-27 | 2010-02-24 | 중앙대학교 산학협력단 | 단일 축 회전 영상들로부터의 효율적인 전 방향 3차원모델의 재구성 방법 |
-
2016
- 2016-04-19 CN CN201610241054.6A patent/CN105913489B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103106688A (zh) * | 2013-02-20 | 2013-05-15 | 北京工业大学 | 基于双层配准方法的室内三维场景重建方法 |
CN103279987A (zh) * | 2013-06-18 | 2013-09-04 | 厦门理工学院 | 基于Kinect的物体快速三维建模方法 |
CN104392486A (zh) * | 2014-11-25 | 2015-03-04 | 西安理工大学 | 一种点云场景重建方法 |
Non-Patent Citations (2)
Title |
---|
一种改进的KinectFusion三维重构算法;朱笑笑 等;《机器人》;20140331;第36卷(第2期);第129-136页 |
室内环境下移动机器人三维视觉SLAM;张毅 等;《智能系统学报》;20150831;第10卷(第4期);第615-619页 |
Also Published As
Publication number | Publication date |
---|---|
CN105913489A (zh) | 2016-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105913489B (zh) | 一种利用平面特征的室内三维场景重构方法 | |
CN107301654B (zh) | 一种多传感器的高精度即时定位与建图方法 | |
US6985620B2 (en) | Method of pose estimation and model refinement for video representation of a three dimensional scene | |
Pizzoli et al. | REMODE: Probabilistic, monocular dense reconstruction in real time | |
Tykkälä et al. | Direct iterative closest point for real-time visual odometry | |
Williams et al. | Simultaneous registration of multiple corresponding point sets | |
Pollefeys | Self-calibration and metric 3D reconstruction from uncalibrated image sequences | |
CN109146935B (zh) | 一种点云配准方法、装置、电子设备及可读存储介质 | |
CN109166149A (zh) | 一种融合双目相机与imu的定位与三维线框结构重建方法与系统 | |
CN107240129A (zh) | 基于rgb‑d相机数据的物体及室内小场景恢复与建模方法 | |
JP6483832B2 (ja) | Rgb−dセンサを使用して物体を走査する方法とシステム | |
Sweeney et al. | Efficient computation of absolute pose for gravity-aware augmented reality | |
CN109272537A (zh) | 一种基于结构光的全景点云配准方法 | |
CN104359464A (zh) | 基于立体视觉的移动机器人定位方法 | |
Pirchheim et al. | Homography-based planar mapping and tracking for mobile phones | |
CN103106688A (zh) | 基于双层配准方法的室内三维场景重建方法 | |
JP2009093611A (ja) | 三次元オブジェクト認識のためのシステムおよび方法 | |
CN104835144A (zh) | 利用一个球的球心的像及正交性求解摄像机内参数 | |
Eichhardt et al. | Affine correspondences between central cameras for rapid relative pose estimation | |
CN113393524A (zh) | 一种结合深度学习和轮廓点云重建的目标位姿估计方法 | |
Babaee et al. | 3-D object modeling from 2-D occluding contour correspondences by opti-acoustic stereo imaging | |
Yao et al. | Relative camera refinement for accurate dense reconstruction | |
Tong et al. | 3D point cloud initial registration using surface curvature and SURF matching | |
Tykkälä et al. | A dense structure model for image based stereo SLAM | |
CN106408654B (zh) | 一种三维地图的创建方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190423 Termination date: 20210419 |
|
CF01 | Termination of patent right due to non-payment of annual fee |