一种实时大规模场景三维扫描建模方法及系统转让专利

申请号 : CN201710021754.9

文献号 : CN106856012B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 黄经纬

申请人 : 上海云拟科技有限公司

摘要 :

本发明涉及一种实时大规模场景三维扫描建模方法及系统,所述方法包括如下步骤:获取RGB‑D视频流;对上述视频流进行全局相机姿势优化,获取全局相机预测位置;根据所述全局相机预测位置,进行全局优化的三维扫描建模。本发明实现实时的、终端到终端的建模。因此,本发明不依赖于局部的相机追踪,而是时刻保持全局最优的相机定位。本发明提出并开发了一个结合了稀疏特征点、稠密几何以及颜色信息的并行优化建模系统,它同时可以实时的预测全局最优的相机位置,并且支持相机重定位、实时更新全局一致的最优三维模型。本发明的系统应用于大规模的室内扫描,能够获得高质量的三维模型。

权利要求 :

1.一种实时大规模场景三维扫描建模方法,其特征在于,所述方法包括如下步骤:获取RGB-D视频流;

对上述视频流进行全局相机姿势优化,获取全局相机预测位置;

根据所述全局相机预测位置,进行全局优化的三维扫描建模;

所述对上述视频流进行全局相机姿势优化,获取全局相机预测位置的步骤包括以下子步骤:(1)特征匹配搜索:通过SIFT建立逐对输入帧的特征匹配,被检测的SIFT特征点将与所有之前的帧进行匹配,并滤掉错误的匹配;

(2)建立层次化的优化模型:将所述视频流分成包括连续帧的小块,在最底层的优化中,只优化小块内部的帧,而在上层的优化中,使用关键帧的对应点关联所有块,将块作为整体相互对齐;

(3)姿势对齐与能量最小化:将矩阵参数化为一个六维向量,其中三个未知量来自于旋转,三个未知量来自于平移;对齐的能量由稀疏能量和稠密能量的线性组合得到,并且稠密能量的权重逐步增大,从而得到从粗糙到精细的全局优化。

2.如权利要求1所述的实时大规模场景三维扫描建模方法,其特征在于,上述子步骤(1)的过程如下:(i)、匹配筛选,基于颜色和几何的一致性来过滤错误的特征点:对于每一对RGB-D帧,逐次结合潜在的特征匹配并通过最小化匹配误差来计算两帧的刚性变换矩阵;接着计算对应点协方差矩阵最大最小特征值的比值是否过大,如果最大的匹配误差超过0.02m,或者比值大于100,则这样的匹配被删除;

(ii)、表面积筛选,检测每帧匹配点所覆盖的最大平面面积是否足够大:对于一对RGB-D帧,计算对应点在每帧向主平面的投影,如果投影的2D包围矩形大于0.032平方米,则认为覆盖的表面积足够的大;

(iii)、稠密验证:对于获取的刚性变换矩阵,将前一帧变换到后一帧的空间,并进行逐像素的色彩与深度比较,如果色彩和深度足够接近的像素未超过一定比例,则该变换不正确。

3.如权利要求1所述的实时大规模场景三维扫描建模方法,其特征在于,上述子步骤(2)的过程如下:(i)、块内部相机姿势优化,基于块内部逐对帧的所有被验证的特征匹配点来优化相机姿势,所述优化是基于稀疏特征点和稠密颜色几何信息,最小化能量来得到的;

(ii)、获取块的关键帧,计算该关键帧相关的特征点集合:根据已优化的块内部相机姿势,合并块内帧的特征点,并计算一个一致的三维特征点;

(iii)、全局块优化,通过累积变换的方式,得到关键帧全局的位置,并将该位置作为初始化,利用能量最小化优化模型优化关键帧的姿势,从而得到块的全局最优化。

4.如权利要求1所述的实时大规模场景三维扫描建模方法,其特征在于,上述子步骤(3)的过程如下:(i)、稀疏特征点匹配:对于一组帧集合,计算在矩阵变换下任意匹配对的误差,并将其平方和作为系数匹配的能量;

(ii)、稠密匹配,包括亮度误差和几何误差的线性组合:对于每对对应帧,将图像从一帧变换到另外一帧,并计算逐像素亮度误差;对于几何误差,将深度图从一帧变换到另外一帧,并计算逐像素对应3D矢量与表面法相的点积。

5.一种实时大规模场景三维扫描建模系统,其特征在于,所述系统包括如下模块:视频流获取模块,用于获取RGB-D视频流;

全局相机姿势优化模块,用于对上述视频流进行全局相机姿势优化,获取全局相机预测位置;

三维建模模块,用于根据所述全局相机预测位置,进行全局优化的三维扫描建模;

所述全局相机姿势优化模块包括以下单元:

特征匹配搜索单元,用于通过SIFT建立逐对输入帧的特征匹配,被检测的SIFT特征点将与所有之前的帧进行匹配,并滤掉错误的匹配;

层次化的优化模型建立单元,用于将所述视频流分成包括连续帧的小块,在最底层的优化中,只优化小块内部的帧,而在上层的优化中,使用关键帧的对应点关联所有块,将块作为整体相互对齐;

姿势对齐与能量最小化单元,用于将矩阵参数化为一个六维向量,其中三个未知量来自于旋转,三个未知量来自于平移;对齐的能量由稀疏能量和稠密能量的线性组合得到,并且稠密能量的权重逐步增大,从而得到从粗糙到精细的全局优化。

6.如权利要求5所述的实时大规模场景三维扫描建模系统,其特征在于,上述特征匹配搜索单元包括如下子单元:匹配筛选子单元,用于基于颜色和几何的一致性来过滤错误的特征点:对于每一对RGB-D帧,逐次结合潜在的特征匹配并通过最小化匹配误差来计算两帧的刚性变换矩阵;接着计算对应点协方差矩阵最大最小特征值的比值是否过大,如果最大的匹配误差超过

0.02m,或者比值大于100,则这样的匹配被删除;

表面积筛选子单元,用于检测每帧匹配点所覆盖的最大平面面积是否足够大:对于一对RGB-D帧,计算对应点在每帧向主平面的投影,如果投影的2D包围矩形大于0.032平方米,则认为覆盖的表面积足够的大;

稠密验证子单元,用于对于获取的刚性变换矩阵,将前一帧变换到后一帧的空间,并进行逐像素的色彩与深度比较,如果色彩和深度足够接近的像素未超过一定比例,则该变换不正确。

7.如权利要求5所述的实时大规模场景三维扫描建模系统,其特征在于,上述层次化的优化模型建立单元包括如下子单元:块内部相机优化子单元,用于基于块内部逐对帧的所有被验证的特征匹配点来优化相机姿势,所述优化是基于稀疏特征点和稠密颜色几何信息,最小化能量来得到的;

块的关键帧获取子单元,用于计算该关键帧相关的特征点集合:根据已优化的块内部相机姿势,合并块内帧的特征点,并计算一个一致的三维特征点;

全局块优化子单元,用于通过累积变换的方式,得到关键帧全局的位置,并将该位置作为初始化,利用能量最小化优化模型优化关键帧的姿势,从而得到块的全局最优化。

8.如权利要求5所述的实时大规模场景三维扫描建模系统,其特征在于,所述姿势对齐与能量最小化单元包括如下子单元:稀疏特征点匹配子单元,用于对于一组帧集合,计算在矩阵变换下任意匹配对的误差,并将其平方和作为系数匹配的能量;

稠密匹配子单元,用于包括亮度误差和几何误差的线性组合:对于每对对应帧,将图像从一帧变换到另外一帧,并计算逐像素亮度误差;对于几何误差,将深度图从一帧变换到另外一帧,并计算逐像素对应3D矢量与表面法相的点积。

说明书 :

一种实时大规模场景三维扫描建模方法及系统

技术领域

[0001] 本发明涉及三维建模领域,具体而言,本发明涉及一种实时大规模场景三维扫描建模的方法及系统。

背景技术

[0002] 实时高质量的大规模场景三维扫描是虚拟增强现实和机器人领域的重要应用。RGB-D相机的普及,使得三维扫描发生了巨大的改革。3D打印,虚拟与增强现实,游戏以及机器人领域,对大规模的实时三维扫描拥有重要的需求:机器人或者普通用户通过实时扫描能够即时获得合成的三维模型,从而能够应用到机器人导航,将物理世界引入虚拟环境,或者提供给用户实时的信息回馈。
[0003] 然而,尽管三维重建系统发展已久,仍然没有一个成熟的解决方案能够让普通用户方便的建模。这里拥有许多挑战需要被解决:
[0004] 1.高质量的表面建模:图形应用往往需要无噪音、有纹理的场景。三维信息的表达方式应该是连续的表面而不是点云。
[0005] 2.可扩展性:对于混合实境和机器人导航系统,需要获取整个房间或数个较大的三维空间。
[0006] 3.全局模型一致性:为了达到大规模场景,需要矫正相机位置的误差和偏移,以及三维模型的变形。实时的矫正是保证全局模型一致的关键,拥有巨大的挑战。
[0007] 4.稳定的相机追踪:除了每帧增加的误差,在特征不明显的区域相机追踪可能失败。为了恢复相机位置,需要相机重定位的能力。已有的方法通常需要被恢复帧与以往帧拥有极高的相似性,因此限制了相机精确定位和定位失败后恢复的能力。
[0008] 5.实时的三维模型更新:在拥有稳定的相机追踪同时,系统需要集合每帧的三维数据,得到一个完整的三维模型并实时可视化。在相机位置更新的同时进行模型的更新是一个巨大的挑战。
[0009] 6.实时性:快速的实时是许多虚拟/增强现实和机器人应用中不可或缺的元素,拥有巨大的挑战。
[0010] 现有技术中已有解决上述问题的尝试。例如,申请号为201410461249.2的中国发明专利申请,公开了一种基于低质量GRB-D数据的场景恢复方法及装置。通过首先根据语义关系以及点云分类器恢复出场景中的主要物体模型,然后从对应的彩色图像准确的提取出小物体的轮廓,采用轮廓检索方法来帮助恢复细小物体。这样极大提高了从低质量RGB-D图像序列中恢复三维模型的准确率,实现了在不需要人工干预的前提下自动恢复出语义上正确的、视觉上逼真的虚拟三维场景模型。
[0011] 然而,到目前为止,相机位置预测的偏移误差仍然会在建模过程中引入重大的误差,从而成为这个领域的重大挑战。为了解决这个问题,已有的方法通常通过数小时的后期计算来得到全局正确的模型。较近的线上建模方法通常存在以下问题:(1)仍然需要数分钟的矫正,从而不能达到实时。(2)帧到帧或者帧到模型的相机追踪方式非常脆弱,经常导致无可挽回的错误。(3)只支持无结构点云的表示方法,严重影响到扫描的质量和实用性。

发明内容

[0012] 鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的实时大规模场景三维扫描建模的方法及系统。
[0013] 本发明主要的核心创新在于全新的全局相机在线优化,从稀疏到稠密的联合优化,以及在线模型矫正优化。同时,本发明通过CPU-GPU内存管理和Hash表存储,使得本发明的模型精度可以在大规模空间建模的前提下保证在0.5cm的级别。
[0014] 本发明是通过下述技术方案来解决上述技术问题的:
[0015] 具体的,根据本发明的一个方面,本发明提供了一种实时大规模场景三维扫描建模方法,所述方法包括如下步骤:
[0016] 获取RGB-D视频流;
[0017] 对上述视频流进行全局相机姿势优化,获取全局相机预测位置;
[0018] 根据所述全局相机预测位置,进行全局优化的三维扫描建模。
[0019] 优选的,如上所述的实时大规模场景三维扫描建模方法,所述RGB-D视频流由深度摄像机实时拍取。
[0020] 优选的,如上所述的实时大规模场景三维扫描建模方法,所述对上述视频流进行全局相机姿势优化,获取全局相机预测位置的步骤包括以下子步骤:
[0021] (1)特征匹配搜索:通过SIFT建立逐对输入帧的特征匹配,将被检测的SIFT特征点将与所有之前的帧进行匹配,并滤掉错误的匹配;
[0022] (2)建立层次化的优化模型:将所述视频流分成包括连续帧的小块,在最底层的优化中,只优化小块内部的帧,而在上层的优化中,使用关键帧的对应点关联所有块,将块作为整体相互对齐。
[0023] (3)姿势对齐与能量最小化:将矩阵参数化为一个六维向量,其中三个未知量来自于旋转,三个未知量来自于平移;对齐的能量由稀疏能量和稠密能量的线性组合得到,并且稠密能量的权重逐步增大,从而得到从粗糙到精细的全局优化。
[0024] 更优选的,如上所述的实时大规模场景三维扫描建模方法,上述子步骤(1)的过程如下:
[0025] (i)、匹配筛选,基于颜色和几何的一致性来过滤错误的特征点:对于每一对RGB-D帧,逐次结合潜在的特征匹配并通过最小化匹配误差来计算两帧的刚性变换矩阵;接着计算对应点协方差矩阵最大最小特征值的比值是否过大,如果最大的匹配误差超过0.02m,或者比值大于100,则这样的匹配被删除;
[0026] (ii)、表面积筛选,检测每帧匹配点所覆盖的最大平面面积是否足够大:对于一对RGB-D帧,计算对应点在每帧向主平面的投影,如果投影的2D包围矩形足够的大,则认为覆盖的表面积足够的大;
[0027] (iii)、稠密验证:对于获取的刚性变换矩阵,将前一帧变换到后一帧的空间,并进行逐像素的色彩与深度比较,如果色彩和深度足够接近的像素未超过一定比例,则该变换不正确。
[0028] 更优选的,如上所述的实时大规模场景三维扫描建模方法,上述子步骤(2)的过程如下:
[0029] (i)、块内部相机姿势优化,基于块内部逐对帧所有被验证的特征匹配点来优化相机姿势,所述优化是基于稀疏特征点,和稠密颜色几何信息,最小化能量来得到的;
[0030] (ii)、获取块的关键帧,计算该关键帧相关的特征点集合:根据已优化的块内部相机姿势,合并块内帧的特征点,并计算一个一致的三维特征点;
[0031] (iii)、全局块优化,通过累积变换的方式,得到关键帧全局的位置,并将该位置作为初始化,利用能量最小化优化模型优化关键帧的姿势,从而得到块的全局最优化。
[0032] 更优选的,如上所述的实时大规模场景三维扫描建模方法,上述子步骤(3)的过程如下:
[0033] (i)、稀疏特征点匹配:对于一组帧集合,计算在矩阵变换下任意匹配对的误差,并将其平方和作为系数匹配的能量;
[0034] (ii)、稠密匹配,包括亮度误差和几何误差的线性组合:对于每对对应帧,将图像从一帧变换到另外一帧,并计算逐像素亮度误差;对于几何误差,将深度图从一帧变换到另外一帧,并计算逐像素对应3D矢量与表面法相的点积。
[0035] 优选的,如上所述的实时大规模场景三维扫描建模方法,所述根据所述全局相机预测位置,进行全局优化的三维扫描建模的步骤包括以下子步骤:
[0036] (1)、场景表达,通过逐步融合输入的RGB-D数据到TSDF来完成;
[0037] (2)、场景内存管理,通过hash表来存储上述TSDF:对于每一个空间点,将其通过大质数乘积累加求模的方法进行编码,同时通过一个长度为7的链表解决碰撞;
[0038] (3)、融合与去融合:对于每一个体元,记录其到最近物体表面的带符号距离和权重;对于一个新的帧,通过加权平均的方式更新带符号距离和权重,从而完成融合,或者将上述融合逆向化,完成去融合;
[0039] (4)、管理重建的更新:将帧通过新旧姿势的差距进行降序排序,所述姿势包含旋转矩阵的欧拉角向量和平移向量;将其欧几里得距离的线性组合作为新旧姿势的差距,对于每一个新接受的输入帧,更新若干个差距最大的帧从而完成对三维模型的优化。
[0040] 根据本发明的另一个方面,还提供了一种实时大规模场景三维扫描建模系统,所述系统包括如下模块:
[0041] 视频流获取模块,用于获取RGB-D视频流;
[0042] 全局相机姿势优化模块,用于对上述视频流进行全局相机姿势优化,获取全局相机预测位置;
[0043] 三维建模模块,用于根据所述全局相机预测位置,进行全局优化的三维扫描建模。
[0044] 优选的,如上所述的实时大规模场景三维扫描建模系统,所述RGB-D视频流由深度摄像机实时拍取。
[0045] 优选的,如上所述的实时大规模场景三维扫描建模系统,所述全局相机姿势优化模块包括以下单元:
[0046] 特征匹配搜索单元,用于通过SIFT建立逐对输入帧的特征匹配,将被检测的SIFT特征点将与所有之前的帧进行匹配,并滤掉错误的匹配;
[0047] 层次化的优化模型建立单元,用于将所述视频流分成包括连续帧的小块,在最底层的优化中,只优化小块内部的帧,而在上层的优化中,使用关键帧的对应点关联所有块,将块作为整体相互对齐。
[0048] 姿势对齐与能量最小化单元,用于将矩阵参数化为一个六维向量,其中三个未知量来自于旋转,三个未知量来自于平移;对齐的能量由稀疏能量和稠密能量的线性组合得到,并且稠密能量的权重逐步增大,从而得到从粗糙到精细的全局优化。
[0049] 更优选的,如上所述的实时大规模场景三维扫描建模系统,上述特征匹配搜索单元包括如下子单元:
[0050] 匹配筛选子单元,用于基于颜色和几何的一致性来过滤错误的特征点:对于每一对RGB-D帧,逐次结合潜在的特征匹配并通过最小化匹配误差来计算两帧的刚性变换矩阵;接着计算对应点协方差矩阵最大最小特征值的比值是否过大,如果最大的匹配误差超过
0.02m,或者比值大于100,则这样的匹配被删除;
[0051] 表面积筛选子单元,用于检测每帧匹配点所覆盖的最大平面面积是否足够大:对于一对RGB-D帧,计算对应点在每帧向主平面的投影,如果投影的2D包围矩形足够的大,则认为覆盖的表面积足够的大;
[0052] 稠密验证子单元,用于对于获取的刚性变换矩阵,将前一帧变换到后一帧的空间,并进行逐像素的色彩与深度比较,如果色彩和深度足够接近的像素未超过一定比例,则该变换不正确。
[0053] 更优选的,如上所述的实时大规模场景三维扫描建模系统,上述层次化的优化模型建立单元包括如下子单元:
[0054] 块内部相机优化子单元,用于基于块内部逐对帧所有被验证的特征匹配点来优化相机姿势,所述优化是基于稀疏特征点,和稠密颜色几何信息,最小化能量来得到的;
[0055] 块的关键帧获取子单元,用于计算该关键帧相关的特征点集合:根据已优化的块内部相机姿势,合并块内帧的特征点,并计算一个一致的三维特征点;
[0056] 全局块优化子单元,用于通过累积变换的方式,得到关键帧全局的位置,并将该位置作为初始化,利用能量最小化优化模型优化关键帧的姿势,从而得到块的全局最优化。
[0057] 更优选的,如上所述的实时大规模场景三维扫描建模系统,所述姿势对齐与能量最小化单元包括如下子单元:
[0058] 稀疏特征点匹配子单元,用于对于一组帧集合,计算在矩阵变换下任意匹配对的误差,并将其平方和作为系数匹配的能量;
[0059] 稠密匹配子单元,用于包括亮度误差和几何误差的线性组合:对于每对对应帧,将图像从一帧变换到另外一帧,并计算逐像素亮度误差;对于几何误差,将深度图从一帧变换到另外一帧,并计算逐像素对应3D矢量与表面法相的点积。
[0060] 优选的,如上所述的实时大规模场景三维扫描建模系统,所述三维建模模块包括如下单元:
[0061] 场景表达单元,用于通过逐步融合输入的RGB-D数据到TSDF来完成;
[0062] 场景内存管理单元,用于通过hash表来存储上述TSDF:对于每一个空间点,将其通过大质数乘积累加求模的方法进行编码,同时通过一个长度为7的链表解决碰撞;
[0063] 融合与去融合单元,用于对于每一个体元,记录其到最近物体表面的带符号距离和权重;对于一个新的帧,通过加权平均的方式更新带符号距离和权重,从而完成融合,或者将上述融合逆向化,完成去融合;
[0064] 管理重建的更新单元,用于将帧通过新旧姿势的差距进行降序排序,所述姿势包含旋转矩阵的欧拉角向量和平移向量;将其欧几里得距离的线性组合作为新旧姿势的差距,对于每一个新接受的输入帧,更新若干个差距最大的帧从而完成对三维模型的优化。
[0065] 本发明的有益效果在于:本发明实现实时的、终端到终端的建模。本发明的核心是稳定的相机预测方法,通过结合扫描的整个RGB-D视频,通过层次化的模型优化每个视频帧。因此,本发明不依赖于局部的相机追踪,而是时刻保持全局最优的相机定位。本发明提出并开发了一个结合了稀疏特征点、稠密几何以及颜色信息的并行优化建模系统,它同时可以实时的预测全局最优的相机位置,并且支持相机重定位、实时更新全局一致的最优三维模型。本发明的系统应用于大规模的室内扫描,能够获得高质量的三维模型。
[0066] 上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

[0067] 通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0068] 图1为本发明的实时大规模场景三维扫描建模的方法的流程图。
[0069] 图2为本发明的实时大规模场景三维扫描建模系统的结构示意图。

具体实施方式

[0070] 下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0071] 本发明技术的核心是全局相机位置优化算法,适用于大规模的三维重建系统。对于每一帧,本发明都会做相机姿势优化,并根据新的相机预测更新重建的模型。本发明不严格依赖时间的连续性,从而允许任意形式的相机路径,即时的重定位,并允许频繁的重新访问曾经经过的区域。
[0072] 图1为本发明的实时大规模场景三维扫描建模的方法的流程图。
[0073] 如图1所示,所述建模方法包括如下步骤:
[0074] S1、获取RGB-D视频流。所述RGB-D视频流通过普通的深度摄像机即可拍取,是实时的RGB-D视频流,通过商用的深度摄像头进行拍摄,如structure sensor,kinect,primesense。视频流通常分辨率为640X480,帧率为30fps。本发明假设每一帧的彩色信息和深度信息是完美对齐的。
[0075] S2、对上述视频流进行全局相机姿势优化,获取全局相机预测位置。
[0076] 所述全局姿势优化的方法是在线、全局一致的三维重建的基础。本发明的目标是找到帧之间3D的匹配点,并且找到一个优化的相机位置矩阵,从而使3D的匹配点最好的在矩阵下对齐。
[0077] 为此,上述步骤S2进一步通过以下步骤S21~S23来实现:
[0078] S21、特征匹配搜索。为了得到全局点云对齐的一致性,本发明使用了从稀疏到稠密的相机姿势预测:由于稀疏特征自然能够提供回路检测和重定位,本发明用稀疏特征的匹配来获取较为粗糙的全局对齐。其次,粗糙的对齐将通过稠密的图像和几何一致性进行优化和精细化。本发明用尺度不变特征转换(Scale-Invariant Feature Transform(SIFT))来建立逐对输入帧的特征匹配。被检测的SIFT特征点将与所有之前的帧进行匹配,并小心的滤掉错误的匹配,从而避免错误的回环检测。
[0079] 在本发明的系统中,本发明首先寻找帧之间的稀疏特征匹配。本发明使用到了快速的特征提取、特征匹配和匹配筛选步骤。对于每一个新的帧,本发明检测SIFT(尺度不变特征转换,Scale-Invariant Feature Transform)特征点,并与所有之前的帧做匹配。之所以使用SIFT特征点,是因为它能够包含手持扫描拍摄的区域的几乎全部变化,如平移、旋转和缩放。潜在的逐对特征匹配将通过筛选去除错误的匹配,并得到一组正确的逐对特征匹配结果。这个匹配将被用作全局的相机优化。本发明的特征搜索全部在GPU中完成,避免了CPU和GPU的数据传输。本发明计算SIFT特征点和描述算子通常需要4-5ms/frame,并使用约0.05ms匹配两帧。因此,在层次化的优化模型下,本发明可以在扫描超过20000帧的情况下依然得到实时的匹配。
[0080] 为此,上述步骤S21进一步通过以下步骤S211~S213来实现:
[0081] S211、匹配筛选。为了使错误的匹配最小化,本发明会基于颜色和几何的一致性来过滤错误的特征点。对于每一对RGB-D帧,本发明将逐次结合潜在的特征匹配并通过最小化匹配误差来计算两帧的刚性变换矩阵。本发明接着计算对应点协方差矩阵最大最小特征值的比值是否过大,来检验这样的变换是否存在模糊性。如果最大的匹配误差超过0.02m,或者比值大于100,则这样的匹配被删除,直到所有的条件被满足。如果剩下的匹配点过少,则这一对帧无法得到一个正确的变换矩阵,本发明将忽略他们的对应关系。
[0082] S212、表面积筛选。接着,本发明检测每帧匹配点所覆盖的最大平面面积是否足够大。如果覆盖面积小,则计算得到的矩阵存在不稳定性。对于一对RGB-D帧,本发明计算对应点在每帧向主平面的投影,如果投影的2D包围矩形足够的大(>0.032平方米),则本发明认为覆盖的表面积足够的大。
[0083] S213、稠密验证。对于获取的相对变换矩阵,本发明将前一帧变换到后一帧的空间,并进行逐像素的色彩与深度比较,如果色彩和深度足够接近的像素未超过一定的比例,这样的相对变换是不正确的。
[0084] 如果所有上述的检测都通过,则这一对RGB-D帧的匹配点会被加入一个正确匹配集合,并在将来被用作全局的相机姿势优化。本发明要求每一对RGB-D帧的匹配点数目不小于5,从而能确保得到的是一个可信的变换。
[0085] S22、建立层次化的优化模型
[0086] 为了保证在数以万计的RGB-D视频帧中保持实时的计算,本发明采取了层次化的优化策略。输入的视频序列被分成了包括连续帧的小块。在最底层的优化中,本发明只优化小块内部的帧。在上层的优化中,本发明用关键帧的对应点关联所有块,将块作为整体相互对齐。
[0087] 为了保证实时的全局姿势对齐优化,本发明用被筛选好的帧匹配点,做了一个层次化的,由局部到全局的姿势优化。在第一层优化中,每n个相邻的帧组成了一个小块,并将小块进行内部的整体优化。在第二层优化中,所有小块将通过匹配点被关联,并进行整体的优化。
[0088] 对于这两级优化,本发明都抽象为一个能量最小化问题,其中考虑了稀疏的特征点、稠密的图像和几何信息。本发明通过一个快速的并行化的显卡算法来解决这个高度非线性的优化问题。
[0089] 为此,上述步骤S22进一步通过以下步骤S221~S223来实现:
[0090] S221、块内部相机优化。块内部对齐优化基于一个拥有11个连续帧的块,每个相邻的块的头尾共享一帧。局部相机优化的目标是获得块内部对齐最优的相机姿势。在此,本发明基于块内部逐对帧所有被验证的特征匹配点来优化相机姿势。优化是基于稀疏特征点,和稠密颜色几何信息,最小化能量来得到的。由于每块只拥有少量的帧,相机姿势在块中变化不大。因此,本发明初始化每一帧的相机参数为一个单位矩阵。为了保证在优化收敛后的相机姿势足够的准确,本发明采用了稠密验证,过滤不够准确的帧。
[0091] S222、获取块的关键帧。一旦一个块的内部被优化,本发明定义块的第一帧为该块的关键帧。本发明同时需要计算该关键帧相关的特征点集合。根据已优化的块内相机姿势,本发明会合并块内帧的特征点,并计算一个一致的三维特征点。这些特征点可能存在同一个全局空间三维点的在多个视频帧的多个实例。本发明将所有帧的特征点在基于相对变换矩阵后变换到关键帧空间,并将特征点聚集到一个集合。对于小于0.03m的特征点,将他们合并成一个特征点。在获得一个关键帧的特征点后,其余帧的特征信息(特征点、描述算子和匹配关系)将可以被释放。
[0092] S223、全局块优化。稀疏特征匹配的搜索和过滤将同时被应用在块内部帧以及块之间的关键帧,只是在关键帧中的匹配使用的是块内所有特征点聚集的特征点集合。如果一个关键帧没有找到任何与之前帧的匹配对应,本发明将其视为未被验证的帧,并在与之后的帧找到对应后转换为已被验证的帧。本发明通过块内部的优化可以得到相邻块关键帧的相对矩阵变换。通过累积变换的方式,本发明能够得到关键帧全局的位置。本发明将这个位置作为初始化,并利用能量最小化优化模型优化关键帧的姿势,从而得到块的全局最优化。
[0093] S23、姿势对齐与能量最小化
[0094] 对于已经计算帧集合的三维对应点,姿势对齐的目标是找到一个最优的相机刚性变换矩阵,使得帧的特征点在变换矩阵下能够最好的对齐(误差最小)。本发明将矩阵参数化为一个六维向量,其中三个未知量来自于旋转,三个未知量来自于平移。对齐的能量是由稀疏能量和稠密能量的线性组合得到。稠密能量的权重逐步增大,从而得到从粗糙到精细的全局优化。这里,本发明固定第一帧的矩阵,优化其余帧的矩阵。
[0095] 为此,上述步骤S23进一步通过以下步骤S231~S233来实现:
[0096] S231、稀疏特征点匹配。对于一组帧集合,本发明计算在矩阵变换下任意匹配对的误差,并将其平方和作为系数匹配的能量。
[0097] S232、稠密匹配。本发明同时加入了稠密的图像和几何限制,来得到精细的对齐。到此,本发明考虑帧的深度值和彩色值。由于稠密对应的计算比稀疏对应大很多,本发明只在一些关联较大的帧上进行优化:相机的视角差小于60度,且之间存在重复区域。稠密的优化考虑到了稠密的图像和几何对齐信息,即亮度误差和几何误差的线性组合。对于每对对应帧,本发明将图像从一帧变换到另外一帧,并计算逐像素亮度误差,并定义为其平方和。
对于几何误差,本发明将深度图从一帧变换到另外一帧,并计算逐像素对应3D矢量与表面法相的点积,并定义为其平方和。
[0098] S3、根据所述全局相机预测位置,进行全局优化的三维扫描建模。
[0099] 稠密的场景三维重建是通过压缩的体元融合(volumetric representation and fusion)来表达,并可以实时应用在大规模的场景上。本发明基于持续改变的相机姿势,持续的改变并优化全局的三维重建模型。这里的关键在于允许对称的在线重组之前的RGB-D帧。为了保证被优化的帧影响到三维模型,本发明会撤销RGB-D帧在旧姿势对三维模型的作用,并取而代之以新的姿势。因此,体元模型(volumetric model)将在时刻进行全局优化的相机姿势前提下(如检测到环路),能够持续的被更新优化。
[0100] 在线全局一致的三维重建的关键在于能够实时的基于最新优化的相机位置来更新模型。因此,本发明会监测每帧持续变化的相机姿势,从而通过融合和去融合的方式更新每帧对三维模型的影响。基于这样的策略,累积的相机漂移误差和在特征不明显区域的误差可以在更优化的相机姿势计算出来后通过动态重建被消除。
[0101] 为此,上述步骤S3进一步通过以下步骤S31~S32来实现:
[0102] S31、场景表达
[0103] 场景的几何表达是通过逐步融合输入的RGB-D数据到implicit truncated signed distance(TSDF)[Curless 1996]来完成。TSDF由空间栅格的每个体元组成。
[0104] 进一步,在本发明允许RGB-D帧融合到TSDF的同时,允许RGB-D帧从TSDF中去融合。本发明同时保证融合和去融合的对称性,从而保证在相机位置的更新后旧相机的位置造成的融合+去融合不会对TSDF产生附加的影响。
[0105] S32、场景内存管理
[0106] 对于一个较大的场景,传统的TSDF通常需要耗费大量的内存。本发明通过hash表来存储TSDF,能够进行非常有效的内存压缩。本发明将一个无限大的均匀空间栅格细分为体元块。每个体元块是一个小的均匀体元栅格,其维度为8*8*8。本发明通过hash来存储这些体元块。对于每一个空间点(x,y,z),本发明将其通过大质数乘积累加求模的方法进行编码。本发明同时通过一个长度为7的链表解决碰撞。当链表已满,本发明将编码累加,并在下一个位置添加体元块。由于显卡内存仍然有限,在实时的重建中,本发明将维护一个半径为5m,圆心为相机点的球。将球内的体元记录在显卡中,将离开球的体元从显卡转移到内存,并将进入球的体元从内存转移到显卡。由此,本发明可以保证本发明的算法能够实时的维护并存储大规模的场景的数据。
[0107] S33、融合与去融合
[0108] 对于每一个体元,本发明记录了它到最近物体表面的带符号距离和权重。因此,对于一个新的帧,本发明可以通过加权平均的方式更新带符号距离和权重,从而达到融合的效果。同样,本发明可以将这个算子逆向化,得到去融合的效果。
[0109] 因此,对于一个更新姿势的帧,本发明可以将旧的姿势去融合,并将新的姿势融合到TSDF,达到更新三维模型的效果。
[0110] S34、管理重建的更新
[0111] 每一个输入帧都存储了其深度和颜色的数据,并同时拥有新旧两个姿势。旧的姿势在以往被融合时被更新,而新的姿势在每次全局优化后被更新。
[0112] 当一个输入帧到来时,本发明需要将其尽快融合到TSDF中,从而能够给予用户即刻的三维模型反馈。由于全局的优化是建立在块的基础上,优化的相机姿势不能直接被计算。本发明通过之前帧最优化的姿势,和通过特征点计算出的帧到帧的相对变换矩阵,来获取初始化的当前帧姿势。
[0113] 为了保证重建的更新能够最高效的反馈给用户,本发明将帧通过新旧姿势的差距进行降序排序。姿势是两个三维向量(旋转矩阵的欧拉角向量和平移向量)。本发明将其欧几里得距离的线性组合作为新旧姿势的差距。对于每一个新接受的输入帧,本发明会更新10个差距最大的帧对三维模型的优化。因此,本发明能够获得实时矫正优化的三维重建模型。
[0114] 图2为本发明的实时大规模场景三维扫描建模系统100的结构示意图。
[0115] 如图2所示,所述建模系统100包括如下模块:
[0116] 视频流获取模块110,用于获取RGB-D视频流。所述RGB-D视频流通过普通的深度摄像机即可拍取,是实时的RGB-D视频流,通过商用的深度摄像头进行拍摄,如structure sensor,kinect,primesense。视频流通常分辨率为640X480,帧率为30fps。本发明假设每一帧的彩色信息和深度信息是完美对齐的。
[0117] 全局相机姿势优化模块120,用于对上述视频流进行全局相机姿势优化,获取全局相机预测位置。
[0118] 所述全局姿势优化的方法是在线、全局一致的三维重建的基础。本发明的目标是找到帧之间3D的匹配点,并且找到一个优化的相机位置矩阵,从而使3D的匹配点最好的在矩阵下对齐。
[0119] 为此,上述全局相机姿势优化模块120进一步包括以下单元:
[0120] 特征匹配搜索单元121。为了得到全局点云对齐的一致性,本发明使用了从稀疏到稠密的相机姿势预测:由于稀疏特征自然能够提供回路检测和重定位,本发明用稀疏特征的匹配来获取较为粗糙的全局对齐。其次,粗糙的对齐将通过稠密的图像和几何一致性进行优化和精细化。本发明用尺度不变特征转换(Scale-Invariant Feature Transform(SIFT))来建立逐对输入帧的特征匹配。被检测的SIFT特征点将与所有之前的帧进行匹配,并小心的滤掉错误的匹配,从而避免错误的回环检测。
[0121] 在本发明的系统中,本发明首先寻找帧之间的稀疏特征匹配。本发明使用到了快速的特征提取、特征匹配和匹配筛选步骤。对于每一个新的帧,本发明检测SIFT(尺度不变特征转换,Scale-Invariant Feature Transform)特征点,并与所有之前的帧做匹配。之所以使用SIFT特征点,是因为它能够包含手持扫描拍摄的区域的几乎全部变化,如平移、旋转和缩放。潜在的逐对特征匹配将通过筛选去除错误的匹配,并得到一组正确的逐对特征匹配结果。这个匹配将被用作全局的相机优化。本发明的特征搜索全部在GPU中完成,避免了CPU和GPU的数据传输。本发明计算SIFT特征点和描述算子通常需要4-5ms/frame,并使用约0.05ms匹配两帧。因此,在层次化的优化模型下,本发明可以在扫描超过20000帧的情况下依然得到实时的匹配。
[0122] 为此,上述特征匹配搜索单元121进一步包括以下子单元:
[0123] 匹配筛选子单元1211。为了使错误的匹配最小化,本发明会基于颜色和几何的一致性来过滤错误的特征点。对于每一对RGB-D帧,本发明将逐次结合潜在的特征匹配并通过最小化匹配误差来计算两帧的刚性变换矩阵。本发明接着计算对应点协方差矩阵最大最小特征值的比值是否过大,来检验这样的变换是否存在模糊性。如果最大的匹配误差超过0.02m,或者比值大于100,则这样的匹配被删除,直到所有的条件被满足。如果剩下的匹配点过少,则这一对帧无法得到一个正确的变换矩阵,本发明将忽略他们的对应关系。
[0124] 表面积筛选子单元1212。接着,本发明检测每帧匹配点所覆盖的最大平面面积是否足够大。如果覆盖面积小,则计算得到的矩阵存在不稳定性。对于一对RGB-D帧,本发明计算对应点在每帧向主平面的投影,如果投影的2D包围矩形足够的大(>0.032平方米),则本发明认为覆盖的表面积足够的大。
[0125] 稠密验证子单元1213。对于获取的相对变换矩阵,本发明将前一帧变换到后一帧的空间,并进行逐像素的色彩与深度比较,如果色彩和深度足够接近的像素未超过一定的比例,这样的相对变换是不正确的。
[0126] 如果所有上述的检测都通过,则这一对RGB-D帧的匹配点会被加入一个正确匹配集合,并在将来被用作全局的相机姿势优化。本发明要求每一对RGB-D帧的匹配点数目不小于5,从而能确保得到的是一个可信的变换。
[0127] 建立层次化的优化模型单元122:
[0128] 为了保证在数以万计的RGB-D视频帧中保持实时的计算,本发明采取了层次化的优化策略。输入的视频序列被分成了包括连续帧的小块。在最底层的优化中,本发明只优化小块内部的帧。在上层的优化中,本发明用关键帧的对应点关联所有块,将块作为整体相互对齐。
[0129] 为了保证实时的全局姿势对齐优化,本发明用被筛选好的帧匹配点,做了一个层次化的,由局部到全局的姿势优化。在第一层优化中,每n个相邻的帧组成了一个小块,并将小块进行内部的整体优化。在第二层优化中,所有小块将通过匹配点被关联,并进行整体的优化。
[0130] 对于这两级优化,本发明都抽象为一个能量最小化问题,其中考虑了稀疏的特征点、稠密的图像和几何信息。本发明通过一个快速的并行化的显卡算法来解决这个高度非线性的优化问题。
[0131] 为此,上述建立层次化的优化模型单元122进一步包括以下子单元:
[0132] 块内部相机优化子单元1221。块内部对齐优化基于一个拥有11个连续帧的块,每个相邻的块的头尾共享一帧。局部相机优化的目标是获得块内部对齐最优的相机姿势。在此,本发明基于块内部逐对帧所有被验证的特征匹配点来优化相机姿势。优化是基于稀疏特征点,和稠密颜色几何信息,最小化能量来得到的。由于每块只拥有少量的帧,相机姿势在块中变化不大。因此,本发明初始化每一帧的相机参数为一个单位矩阵。为了保证在优化收敛后的相机姿势足够的准确,本发明采用了稠密验证,过滤不够准确的帧。
[0133] 块的关键帧获取子单元1222。一旦一个块的内部被优化,本发明定义块的第一帧为该块的关键帧。本发明同时需要计算该关键帧相关的特征点集合。根据已优化的块内相机姿势,本发明会合并块内帧的特征点,并计算一个一致的三维特征点。这些特征点可能存在同一个全局空间三维点的在多个视频帧的多个实例。本发明将所有帧的特征点在基于相对变换矩阵后变换到关键帧空间,并将特征点聚集到一个集合。对于小于0.03m的特征点,将他们合并成一个特征点。在获得一个关键帧的特征点后,其余帧的特征信息(特征点、描述算子和匹配关系)将可以被释放。
[0134] 全局块优化子单元1223。稀疏特征匹配的搜索和过滤将同时被应用在块内部帧以及块之间的关键帧,只是在关键帧中的匹配使用的是块内所有特征点聚集的特征点集合。如果一个关键帧没有找到任何与之前帧的匹配对应,本发明将其视为未被验证的帧,并在与之后的帧找到对应后转换为已被验证的帧。本发明通过块内部的优化可以得到相邻块关键帧的相对矩阵变换。通过累积变换的方式,本发明能够得到关键帧全局的位置。本发明将这个位置作为初始化,并利用能量最小化优化模型优化关键帧的姿势,从而得到块的全局最优化。
[0135] 姿势对齐与能量最小化单元123:
[0136] 对于已经计算帧集合的三维对应点,姿势对齐的目标是找到一个最优的相机刚性变换矩阵,使得帧的特征点在变换矩阵下能够最好的对齐(误差最小)。本发明将矩阵参数化为一个六维向量,其中三个未知量来自于旋转,三个未知量来自于平移。对齐的能量是由稀疏能量和稠密能量的线性组合得到。稠密能量的权重逐步增大,从而得到从粗糙到精细的全局优化。这里,本发明固定第一帧的矩阵,优化其余帧的矩阵。
[0137] 为此,上述姿势对齐与能量最小化123进一步包括以下子单元:
[0138] 稀疏特征点匹配子单元1231。对于一组帧集合,本发明计算在矩阵变换下任意匹配对的误差,并将其平方和作为系数匹配的能量。
[0139] 稠密匹配子单元1232。本发明同时加入了稠密的图像和几何限制,来得到精细的对齐。到此,本发明考虑帧的深度值和彩色值。由于稠密对应的计算比稀疏对应大很多,本发明只在一些关联较大的帧上进行优化:相机的视角差小于60度,且之间存在重复区域。稠密的优化考虑到了稠密的图像和几何对齐信息,即亮度误差和几何误差的线性组合。对于每对对应帧,本发明将图像从一帧变换到另外一帧,并计算逐像素亮度误差,并定义为其平方和。对于几何误差,本发明将深度图从一帧变换到另外一帧,并计算逐像素对应3D矢量与表面法相的点积,并定义为其平方和。
[0140] 三维建模模块130,用于根据所述全局相机预测位置,进行全局优化的三维扫描建模。
[0141] 稠密的场景三维重建是通过压缩的体元融合(volumetric representation and fusion)来表达,并可以实时应用在大规模的场景上。本发明基于持续改变的相机姿势,持续的改变并优化全局的三维重建模型。这里的关键在于允许对称的在线重组之前的RGB-D帧。为了保证被优化的帧影响到三维模型,本发明会撤销RGB-D帧在旧姿势对三维模型的作用,并取而代之以新的姿势。因此,体元模型(volumetric model)将在时刻进行全局优化的相机姿势前提下(如检测到环路),能够持续的被更新优化。
[0142] 在线全局一致的三维重建的关键在于能够实时的基于最新优化的相机位置来更新模型。因此,本发明会监测每帧持续变化的相机姿势,从而通过融合和去融合的方式更新每帧对三维模型的影响。基于这样的策略,累积的相机漂移误差和在特征不明显区域的误差可以在更优化的相机姿势计算出来后通过动态重建被消除。
[0143] 为此,上述三维建模模块130进一步包括以下单元:
[0144] 场景表达单元131:
[0145] 场景的几何表达是通过逐步融合输入的RGB-D数据到implicit truncated signed distance(TSDF)[Curless 1996]来完成。TSDF由空间栅格的每个体元组成。
[0146] 进一步,在本发明允许RGB-D帧融合到TSDF的同时,允许RGB-D帧从TSDF中去融合。本发明同时保证融合和去融合的对称性,从而保证在相机位置的更新后旧相机的位置造成的融合+去融合不会对TSDF产生附加的影响。
[0147] 场景内存管理单元132:
[0148] 对于一个较大的场景,传统的TSDF通常需要耗费大量的内存。本发明通过hash表来存储TSDF,能够进行非常有效的内存压缩。本发明将一个无限大的均匀空间栅格细分为体元块。每个体元块是一个小的均匀体元栅格,其维度为8*8*8。本发明通过hash来存储这些体元块。对于每一个空间点(x,y,z),本发明将其通过大质数乘积累加求模的方法进行编码。本发明同时通过一个长度为7的链表解决碰撞。当链表已满,本发明将编码累加,并在下一个位置添加体元块。由于显卡内存仍然有限,在实时的重建中,本发明将维护一个半径为5m,圆心为相机点的球。将球内的体元记录在显卡中,将离开球的体元从显卡转移到内存,并将进入球的体元从内存转移到显卡。由此,本发明可以保证本发明的算法能够实时的维护并存储大规模的场景的数据。
[0149] 融合与去融合单元133:
[0150] 对于每一个体元,本发明记录了它到最近物体表面的带符号距离和权重。因此,对于一个新的帧,本发明可以通过加权平均的方式更新带符号距离和权重,从而达到融合的效果。同样,本发明可以将这个算子逆向化,得到去融合的效果。
[0151] 因此,对于一个更新姿势的帧,本发明可以将旧的姿势去融合,并将新的姿势融合到TSDF,达到更新三维模型的效果。
[0152] 管理重建的更新单元134:
[0153] 每一个输入帧都存储了其深度和颜色的数据,并同时拥有新旧两个姿势。旧的姿势在以往被融合时被更新,而新的姿势在每次全局优化后被更新。
[0154] 当一个输入帧到来时,本发明需要将其尽快融合到TSDF中,从而能够给予用户即刻的三维模型反馈。由于全局的优化是建立在块的基础上,优化的相机姿势不能直接被计算。本发明通过之前帧最优化的姿势,和通过特征点计算出的帧到帧的相对变换矩阵,来获取初始化的当前帧姿势。
[0155] 为了保证重建的更新能够最高效的反馈给用户,本发明将帧通过新旧姿势的差距进行降序排序。姿势是两个三维向量(旋转矩阵的欧拉角向量和平移向量)。本发明将其欧几里得距离的线性组合作为新旧姿势的差距。对于每一个新接受的输入帧,本发明会更新10个差距最大的帧对三维模型的优化。因此,本发明能够获得实时矫正优化的三维重建模型。
[0156] 本发明的系统是一个能够同时解决现有技术中存在的所有问题,并且拥有终端到终端实时建模能力的综合系统。本发明的核心是稳定的相机位置预测方法,通过层次化的局部到全局的优化方法,结合所有拍摄的RGB-D视频帧来优化相机。由于本发明同时考虑到了所有的视频帧,本发明不再需要显式的环路检测。目前的实时的相机追踪通常是帧到帧或帧到模型的匹配技术,拥有较大的相机追踪错误或者误差,这在本发明的方法中能够很好的避免。另一方面,即使相机预测失败,或者视频从完全不同的角度重新拍摄,本发明的系统能够立即将这些不连续的帧通过全局的匹配得到全局最优的相机预测。这个技术能够保证稳定的扫描体验,让普通用户可以成功的进行大规模的扫描。
[0157] 本发明系统的关键是并行化的从稀疏到稠密的全局相机预测系统:稀疏的RGB特征被应用于粗略的全局相机预测,从而保证相机预测位置足够精确,使得随后的稠密优化模型可以收敛。因此,本发明在保证局部建模精度的同时,实时的维护一个全局最优的相机结构。另外,本发明的模型更新支持相机矫正而引起的模型矫正,从而保证已扫描的空间在重新访问时能够保证一致性。就此,本发明比起传统的方法,拥有极大的速度提升,并在模型精度和稳定性上也高于许多离线的方法,方便普通的用户使用。
[0158] 综上,本发明的创新点在于:
[0159] 1.一个新颖,实时的全局一致相机模型优化系统,考虑到所有曾经拍摄的RGB-D视频帧,摒弃了基于时间连续假设的相机追踪缺陷,同时通过层次化的局部到全局的优化分离达到实时的要求。
[0160] 2.一个从稀疏到稠密的模型匹配方法,保证一致的全局结构和较为精确细致的局部表面细节。
[0161] 3.RGB-D重结合方法,在相机位置被矫正时,实时的更新该相机数据对全局三维模型造成的影响。
[0162] 4.大规模的几何以及纹理重建。
[0163] 需要说明的是:
[0164] 在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0165] 在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0166] 类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
[0167] 本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0168] 此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0169] 本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的虚拟机的创建装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0170] 应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。