深度相机 物体三维重建_基于深度相机的实时物体三维重建方法与流程

本发明涉及三维成像领域,特别是一种能够实时地对物体或人体进行三维重建的方法。

背景技术:

三维重建技术一直是计算机图形学和计算机视觉领域的热点课题。三维重建就是从输入数据中建立3D模型。随着各种面向普通消费者的深度相机的出现,基于深度相机的三维扫描和重建技术得到了飞速发展。对于现实场景中的点,深度相机扫描得到的每一帧数据不仅包括了场景中的点的彩色RGB图像,还包括每个点到深度相机所在的垂直平面的距离值。这个距离值成为深度值(depth),这些深度值共同组成了这一帧的深度图像。

深度图像可以看做是一幅灰度图像,图像中的每一个点的灰度值代表了这个点在现实中的位置到相机所在垂直平面的真实距离距离。RGB图像中的每个点都会对应一个在相机的局部坐标系中的三维点。因此,深度相机的每一帧的深度图像相当于一个在相机的局部三维坐标系中的点云模型。基于深度相机的三维重建技术所使用的输入数据是RGB图像和深度图像,因此,这类技术也被称为基于RGBD数据的三维重建技术(D表示深度值,Depth)。

基于深度相机的三维重建的核心问题有:1、深度相机的数据量非常庞大,如何在重建过程中处理庞大的数据。并且,深度相机所得到的深度数据是存在误差的,即使相机位置固定,现实场景中的点在不同帧中的深度值也会有所区别,那么如何估计点的最终位置?2、相机位置的估计,即如何在位置环境中通过获取周围的环境数据来确定自己所在的位置?

Newcombe等人于2011年发表的“KinectFusion:real-time 3D reconstruction and interaction using a moving depth camera”提出了三维重建的经典方法KinectFusion,使用迭代最近点(Iterative closest point,ICP)方法来解决上述核心问题。KinectFusion提出在世界坐标系中定义一个立方体,并把该立方体按照一定的分辨率切割成小立方体,使用截断有符号距离函数(truncated signed distance function,TSDF)的方法来更新每个小网格中的一个数值,该数值代表该网格到模型表面的最近距离(TSDF值)。对于每个网格,在每一帧都会更新并记录TSDF值,通过TSDF值还原出重建模型。通过不断更新并“融合”TSDF值,来接近所需要的真实值。KinectFusion方法定义的立方体中的所有的网格中的TSDF都需要记录,即便这个网格在显示场景中根本没有点,这就造成极大的内存空间的浪费,并限制了扫描范围。

Thomas Whelan等人在2015年发表Kintinuous“Robust Real-Time Visual Odometry for Dense RGB-D Mapping”是在KinectFusion的基础上加入移动TSDF的技巧从而达到大范围场景重建,并且提出ICP+RGBD匹配算法提高点云匹配精度,加入回环检测从而平摊累积误差,提高估计的相机位姿精度。

但是无论是KinectFusion还是Kintinuous,都存在以下缺点:

1、未将物体或人从场景中分割出来,在重建对象为场景中的物体或人时,需要在重建后的三维模型中分割对象,分割的复杂度高,因此,不适合用于重建对象为场景中的物体或人的情况。

2、由于相机拍照的帧率是固定的,当扫描速度较快时,前后两帧相机位姿相差较大,导致KinectFusion以及Kintinuous使用的ICP+RGBD匹配算法匹配失败。

3、累积误差导致三维物体模型精度下降,虽然Kintinuous中已经加入回环检测并且对于场景重建时能够有效的检测出回环并进行回环优化从而修正模型,但是在人体扫描过程中此种回环检测方式经常会出现错误的回环或者无回环。

技术实现要素:

本发明的目的在于提供一种能够避免ICP匹配算法失效,降低累积误差提高模型精度的适用于重建指定物体或人的基于深度相机的实时物体三维重建方法。

基于深度相机的实时物体三维重建方法,包括以下步骤:

步骤1:从深度相机中按顺序获取一帧深度图像作为当前帧,对当前帧进行预处理,预处理包括在深度图像中将对象从场景中分割出来、将分割出来的对象数据去除边界噪声,将去噪后的对象数据生成有序点云和用PCA(主成分分析)计算点云法向量;

步骤2:判断当前帧是否第一帧,若是,则获取相机的物理位姿作为相机的精确位姿,进入步骤3;若否,则通过质心ICP算法估算出的当前帧和前一帧的相对位姿,用前一帧的精确位姿与当前帧和前一帧的相对位姿计算得到当前帧相机的精确位姿,进入步骤3;

步骤3:利用相机的精确位姿将当

  • 2
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值