论文部分内容阅读
为了让机器代替人类完成一些危险、繁重、重复、持续的工作或者获取三维场景更加精确的信息,机器必须具有精准的三维场景感知能力。机器依据传感器获取场景的信息,而目前的传感器获取信息的维度以及范围都非常有限且包含随机噪声,融合多个传感器的信息对三维场景进行感知不仅可以提高系统稳定性,而且能够获取更加精确、完整信息。本文分两步进行了探索和尝试:第一步融合一个图像传感器和一个加速度传感器,在智能移动设备端对所观测到的三维场景进行测量,提供准确的深度、地面距离和物体尺寸信息。该方法虽然能够便携地获取准确的场景信息,但受限于智能移动设备端的传感器类型和数量,仅能够测量三维场景中比较有限的范围和结构信息。因此,本文在第二步的研究中拓展了传感器的数量,使用对三维场景具有更强感知能力的深度传感器,快速重建动态场景任意时刻的完整三维模型,为游戏、虚拟现实、电影特效以及三维直播等领域提供了大量真实的数据,使的机器具有连续感知一定范围内完整三维场景的能力。本文的研究内容有:智能移动端多传感器融合的距离测量、多深度传感器数据的快速融合以及动态场景三维模型的重建。主要工作和创新点包括:第一,提出了融合智能移动设备自身传感器的单幅图像距离测量算法。已存在的智能移动设备端的距离测量算法需要拍摄多幅图像或者仅能测量单一的距离类型。本文提出一种利用智能移动设备自身的加速传感器,仅需单幅图像的距离测量方法。该方法利用加速度传感器获取设备拍摄该图像时的方向,用于建立图像中像素点与场景地面上点的对应关系。这样,图像上两个像素点之间的距离被转换到缩放因子相关的线性模型中。依据这个模型,地而上的距离、深度和高度三种类型的距离可以通过用户在图像指定两个像素点,选择距离类型之后直接进行测量。其他类型的距离可以通过以上三种距离类型结合来完成测量。第二,提出了基于两层空间体素的多深度传感器数据快速融合算法。该方法针对目前空间体素融合算法速度低的不足,将三维空间剖分成两层空间体素,通过减少内存占用和提高内存访问效率,使多深度传感器数据在保证质量的同时更加快速的完成融合。首先,设计了一种高效的数据结构以及在GPU中并行操纵该数据结构的多深度传感器数据的快速融合算法,根层体素粗略的剖分物理三维空间,叶子层节点是高分辨的体素,用于存储隐式表示物体表面的有符号截断距离函数值。同时,对两层体素的数据结构进行高效编码压缩以减少内存的占用量与读写访问次数。其次,为了减少频繁向操作系统请求内存操作,在GPU中实现了一个基于高效循环队列的内存池。再次,本文改进了用于从空间体素中提取等值面的MarchingCubes算法,极大的减少了内存访问的数量,相比于原始的算法,明显的降低了提取等值面所需时间。最后,针对目前GPU的架构对本文的两级空间体素融合算法设计了相应的并行策略。第三,提出了基于多深度传感器融合的实时动态场景三维重建算法。由于场景物体的遮挡以及深度传感器自身的精度问题,融合了所有深度传感器数据的结果仍然可能包含大量的空洞以及因噪声引入的高频信息。另外,动态场景时刻存在的非刚体运动也增加了深度数据时分复用的困难。同时,实时重建出的网格流数据量巨大,远远超过目前互联网的传输能力。本文使用采样关键帧和非刚体点云配准技术对数据进行去噪、融合以及压缩传输。在该方法中,首先设计一个基于迭代最近邻点的投影非线性约束项迭代算法用于配准具有非刚体变换关系的两片点云。将非刚体配准问题中目标函数的非线性项抽离出来,采用投影的方式将非线性项转换成线性约束问题。使的原本求解非线性最小二乘问题转变为迭代求解线性最小二乘和投影操作,并进一步根据投影操作是将仿射矩阵投影到旋转矩阵空间的性质,通过并行的极分解快速的求出闭合解。在配准相邻帧之间的点云数据应用中,相比于直接求解非线性最小二乘问题,该算法在计算速度和算法鲁棒性方面的表现会更优。然后将配准后的两个模型通过空间体素实现间接的数据融合。最后,我们将抽取的关键帧和非关键帧的变换参数压缩传输,极大的减少了所需传输的数据量。