当前位置: 首页 > 专利查询>王斌专利>正文

一种基于图片的三维场景重建方法技术

技术编号:19636359 阅读:39 留言:0更新日期:2018-12-01 16:54
本发明专利技术公开了一种基于图片的三维场景重建方法,使用SIFT算法提取无序图片中的特征点得到模型的稀疏点云数据,然后使用Bundler+PMVS算法加密特征点得到密集点云,最后使用泊松区间重建算法将点云中的信息点连接得到最终的三维模型。与现有技术相比,本发明专利技术可以使用手机或者相机拍摄需重建模型的图片精准还原出模型形态、颜色、表面纹理等真实的三维模型特征。

A Picture-based 3D Scene Reconstruction Method

The invention discloses a method of image-based three-dimensional scene reconstruction, which uses SIFT algorithm to extract feature points in disordered pictures to obtain sparse point cloud data of the model, then uses Bundler+PMVS algorithm to encrypt feature points to obtain dense point cloud, and finally uses Poisson interval reconstruction algorithm to connect information points in point cloud to get the final point cloud. Three dimensional model. Compared with the prior art, the present invention can accurately restore the real three-dimensional model features such as model shape, color, surface texture and so on by taking pictures of the model to be reconstructed by mobile phones or cameras.

【技术实现步骤摘要】
一种基于图片的三维场景重建方法
本专利技术涉及图片的三维重建
,特别是一种基于图片的三维场景重建方法。
技术介绍
随着计算机图形学和计算机视觉技术的发展,三维重建技术广泛应用在医学、虚拟现实、三维测量、计算机动画、工业检测以及地质学等方面。基于图片的三维重建技术就是从已获得图像中提取所需要的二维信息,并通过相机定标、特征点提取、特征匹配和三维重建算法等相关技术将物体的三维信息恢复出来的过程。现有国内外的大量机构都借助于Kinect进行研究,用户需手持kinect设备,扫描需要重建的物品或者场景,有Kinect相连的计算机会逐步重建出物品或者场景。但是该方法需要操作人员购买Kinect设备,同时需要性能较高的计算机处理Kinect发送的数据。此外,使用Kinect时需要将该设备与电脑连接,限制了重建操作的应用场景。正是由于上述的缺点,使用Kinect重建三维模型技术只能重建物体或者小规模的场景模型。
技术实现思路
本专利技术的目的是要解决现有技术中存在的不足,提供一种基于图片的三维场景重建方法。为达到上述目的,本专利技术是按照以下技术方案实施的:一种基于图片的三维场景重建方法,包括以下步骤:步骤1、使用SIFT算法提取输入图片中包含的特征点信息,所述特征点信息包括特征点的位置、尺寸、旋转不变量,得到稀疏点云;步骤2、使用bundler和PMVS算法密集化特征点,相对均匀的向三维空间扩散特征点,从而得到稠密点云;步骤3、使用泊松区间重建算法将稠密点云中的信息点连接成曲面,再经空间中的所有曲面逐步连接在一起,最终得到重建的三维模型。具体地,所述步骤1包括:步骤101、尺度空间极值检测:由于在不同的尺度空间不能使用相同的窗口检测极值点。对小的角点要用小的窗口,对大的角点只能使用大的窗口。为了达到这个目的我们要使用尺度空间滤波器。(尺度空间滤波器可以使用一些列具有不同方差σ的高斯卷积核构成)。使用具有不同方差值σ的高斯拉普拉斯算子(LoG)对图像进行卷积,LoG由于具有不同的方差值σ所以可以用来检测不同大小的斑点(当LoG的方差σ与斑点直径相等时能够使斑点完全平滑)。简单来说方差σ就是一个尺度变换因子。例如,上图中使用一个小方差σ的高斯卷积核是可以很好的检测出小的角点,而使用大方差σ的高斯卷积核时可以很好的检测除大的角点。所以我们可以在尺度空间和二维平面中检测到局部最大值,如(x,y,σ),这表示在σ尺度中(x,y)点可能是一个关键点。(高斯方差的大小与窗口的大小存在一个倍数关系:窗口大小等于6倍方差加1,所以方差的大小也决定了窗口大小)但是这个LoG的计算量非常大,所以SIFT算法使用高斯差分算子(DoG)来对LoG做近似。这里需要再解释一下图像金字塔,我们可以通过减少采样(如只取奇数行或奇数列)来构成一组图像尺寸(1,0.5,0.25等)不同的金字塔,然后对这一组图像中的每一张图像使用具有不同方差σ的高斯卷积核构建出具有不同分辨率的图像金字塔(不同的尺度空间)。DoG就是这组具有不同分辨率的图像金字塔中相邻的两层之间的差值。如图2所示。在DoG完成之后,就可以在不同的尺度空间和2D平面中搜索局部最大值了。对于图像中的一个像素点而言,它需要与自己周围的8邻域,以及尺度空间中上下两层中的相邻的18(2x9)个点相比。如果是局部最大值,它就可能是一个关键点。基本上来说关键点是图像在相应尺度空间中的最好代表。如图3所示。本方法使用IFT参数的经验值:octaves=4(通过降低采样从而减小图像尺寸,构成尺寸减小的图像金字塔(4层)),尺度空间为5,也就是每个尺寸使用5个不同方差的高斯核进行卷积,初始方差是1.6,k等于根号2等。步骤102、关键点(极值点)定位:一旦找到关键点,我们就要对它们进行修正从而得到更准确的结果。本方法使用尺度空间的泰勒级数展开来获得极值的准确位置,如果极值点的灰度值小于阈值(0.03)就会被忽略掉。DoG算法对边界非常敏感,所以我们必须要把边界去除。本方法使用2x2的Hessian矩阵计算主曲率。从Harris角点检测的算法中,我们知道当一个特征值远远大于另外一个特征值时,检测到的是边界。所以使用了一个简单的函数,如果比例高于阈值,这个关键点就会被忽略。本方法中给出的边界阈值为10。所以低对比度的关键点和边界关键点都会被去除掉,剩下的就是我们感兴趣的关键点了。步骤103、为关键点(极值点)指定方向参数:现在我们要为每一个关键点赋予一个方向参数,这样它才会具有旋转不变性。获取关键点所在尺度空间的邻域,然后计算这个区域的梯度级和方向。根据计算得到的结果创建一个含有36个柱子(每10度一个柱子)的方向直方图。(使用当前尺度空间σ值的1.5倍为方差的圆形高斯窗口和梯度级做权重)。直方图中的峰值为主方向参数,如果其他的任何柱子的高度高于峰值的80%被认为是辅方向。这就会在相同的尺度空间相同的位置构建除具有不同方向的关键点。这对于匹配的稳定性会有所帮助。步骤104、关键点描述符:新的关键点描述符被创建了。选取与关键点周围一个16x16的邻域,把它分成16个4x4的小方块,为每个小方块创建一个具有8个柱子的方向直方图。总共加起来有128个柱子。由此组成长为128的向量就构成了关键点描述符。除此之外还要进行几个测量以达到对光照变化,旋转等的稳定性。如图5所示具体地,所述步骤2包括:步骤201、关键点匹配:根据步骤1得到的特征点信息,采用关键点特征向量的欧式距离来作为两幅图像中关键点的相似性判定度量。取拍摄图片的第一个图的某个关键点,通过遍历找到第二幅图像中的距离最近的那个关键点。但有些情况下,第二个距离最近的关键点与第一个距离最近的关键点靠的太近。这可能是由于噪声等引起的。此时要计算最近距离与第二近距离的比值。如果比值大于0.8,就忽略掉。这会去除90%的错误匹配,同时只去除5%的正确匹配。重复步骤201可得到图片间的相对位置关系。步骤202、根据步骤201获取的图片间的相对位置关系,首先把三维空间划分为等大网格,目标是每个网格中至少有一个特征点,利用现有的特征点向其网格的邻域扩散,若这个邻域中已经存在一个与特征点距离较近的特征点或者这个邻域中已经存在一个平均相关系数较大的特征点,则不向该邻域扩散,扩散是将现有特征点的特征值复制到需要扩散的区域;步骤203、根据步骤201生成图片间的匹配关系,根据匹配关系生成track匹配链,生成track匹配链的步骤如下:对每一张图片的每一个特征作为种子点进行深度优先搜索,并且搜索的时候使用标记不重复访问同一张图片;使用不同图片的特征作为遍历起始点就可以获得双向匹配检验的信息,因此可以对最后的结果进行处理检测一致的track;因为查找的时候涉及的图片数可能会很多,对每一次查询都全部复位运算量太大,使用touched数据结构标记每一张被访问过的图片,使得可以保证生成track的过程中不会重复考虑同一张图片,并且可以根据此信息有选择的将标记数据结构复位;最后将生成的track信息分派到关联的图片,只要有一个track就标记相关图片为相邻的。具体地,所述步骤3包括:步骤301、定义八叉树:使用八叉树结构存储点集,根据采样点集的位置定义八叉树,然后细分八叉树使每个采样点都落本文档来自技高网...

【技术保护点】
1.一种基于图片的三维场景重建方法,其特征在于,包括以下步骤:步骤1、使用SIFT算法提取输入图片中包含的特征点信息,所述特征点信息包括特征点的位置、尺寸、旋转不变量,得到稀疏点云;步骤2、使用bundler和PMVS算法密集化特征点,相对均匀的向三维空间扩散特征点,从而得到稠密点云;步骤3、使用泊松区间重建算法将稠密点云中的信息点连接成曲面,再经空间中的所有曲面逐步连接在一起,最终得到重建的三维模型。

【技术特征摘要】
1.一种基于图片的三维场景重建方法,其特征在于,包括以下步骤:步骤1、使用SIFT算法提取输入图片中包含的特征点信息,所述特征点信息包括特征点的位置、尺寸、旋转不变量,得到稀疏点云;步骤2、使用bundler和PMVS算法密集化特征点,相对均匀的向三维空间扩散特征点,从而得到稠密点云;步骤3、使用泊松区间重建算法将稠密点云中的信息点连接成曲面,再经空间中的所有曲面逐步连接在一起,最终得到重建的三维模型。2.根据权利要求1所述的基于图片的三维场景重建方法,其特征在于:所述步骤1包括:步骤101、输入图片的尺度空间极值点检测:搜索输入图片的所有尺度空间上的图像位置,通过高斯微分函数来识别潜在的对于尺寸和旋转不变量的兴趣点;步骤102、关键点定位:通过拟合三维二次函数来精确确定关键点的位置和尺寸;步骤103、关键点方向确定:基于图像局部的梯度方向,分配给每个关键点位置一个或多个方向;步骤104、关键点特征描述:在每个关键点周围的邻域内,在选定的尺度上测量图像局部的梯度,对于每一个关键点拥有3个信息:位置、尺寸以及方向,用一组向量将这个关键点描述出来,使其不随各种变化而改变。3.根据权利要求1所述的基于图片的三维场景重建方法,其特征在于:所述步骤2包括:步骤201、关键点匹配:根据步骤1得到的特征点信息,采用关键点特征向量的欧式距离来作为两幅图像中关键点的相似性判定度量;取拍摄图片的第一个图的某个关键点,通过遍历找到第二幅图像中的距离最近的那个关键点,计算最近距离与第二近距离的比值,如果比值大于0.8,就忽略掉,这会去除90%的错误匹配,同时只去除5%的正确匹配;重复步骤201得到图片间的相对位置关系;步骤202、根据步骤201获取的图片间的相对位置关系,首先把三维空间划分为等大网格...

【专利技术属性】
技术研发人员:王斌杨晓春张鑫
申请(专利权)人:王斌
类型:发明
国别省市:辽宁,21

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1