一种基于随机三角形纹理的四维重构的方法
【专利摘要】本发明公开了一种基于随机三角形纹理的四维重构的方法。一是生成随机的三角形纹理,将纹理印到纸、布等对象的表面上;二是使用标定的两个同步相机拍摄变形表面的动态过程,获得两个同步的图像序列;三是提出一种在图像上稳定地检测三角形的方法,使用该方法检测两个同步的图像序列中每个图像上的三角形;四是根据提出的基于全局与局部相结合的三角形描述符和三角形极线约束方法,匹配第一帧图像上的三角形,并根据三角形匹配的结果将第一帧进行三维重建,根据三维重建的信息生成每个三角形的局部拓扑结构;最后是在两个同步的图像序列中追踪三角形,根据第一帧的对应关系重建所追踪的当前帧,并且利用局部拓扑结构检测并修复出现的错误。
【专利说明】—种基于随机三角形纹理的四维重构的方法【技术领域】
[0001]本发明属于计算机视觉领域,具体是涉及ー种基于随机三角形纹理的四维重构的方法。
技术背景
[0002]近些年来,在医学领域、力学领域、动画制作、游戏以及一些其他的虚拟现实领域,对于动态变形表面的精确的、生动的模拟与可视化的需求越来越迫切。例如在动画或者游戏领域,需要获取旗帜、窗帘等生动而精确的动态过程模型,在力学领域,需要研究薄膜材料的动态物力特性,这些应用都需要获取动态物体的四维数据。这是计算机视觉中的ー个难题,目前比较实用的方法就是通过摄像机拍摄动态物体的运动过程,然后通过图像处理的手段,来获取四维数据。
[0003]近些年来,也有ー些学者提出了ー些方法,主要包括两类:一类是无标记的方法,另一类是有标记的方法。无标记的方法([1]M.Salzmann, R.Hartley, and P.Fua.Convex optimization for deformable surface3-d tracKing.1n Proceedings ofIEEE International Conference on Computer Vision, Rio dejaneiro, Brazil, 2007.,[2]F.Huguet and F.Devernay.A variational method for scene flow estimationfrom stereo sequences.1n Proc.1ntl.Conf.0n Computer Vision, Rio deJaneiro,Brasil,Oct.2007.1EEE.[3]Y.Furukawa and J.Ponce.dense3D motioncapture for human faces.1n IEEE Conference on Computer Vision and PatternRecognition, 2009.CVPR2009, pagesl674 - 1681,2009.)不需要在物体表面印纹理,而是使用自然纹理,使用起来比较方便。但是这种方法往往都是通过优化进行的,计算复杂度高,并且在处理比较长的视频时会有较大的累积误差,精度不够,所以在进行精确测量时,这类方法并不实用。
[0004]有标记的方法([4]`S.Park and J.Hodgins.Capturing andanimating skin deformation in human motion.ACM Transactions onGraphics (TOG), 25(3):889, 2006.[5]R.White, A.0bay, and D.Forsyth.Cloth capture.1nACM SIGGRAPH2005Sketches, page37.ACM, 2005.)需要在物体表面印上特殊的纹理,然后根据算法进行匹配和追踪这些特殊的纹理,从而获得物体的四维数据,这种方法虽然使用起来有点麻烦,但是不会产生累积误差,并且精度也会很高,非常的稳定。目前的有标记方法中,ー类主要的方法就是在物体表面印彩色编码的纹理,然后根据彩色编码进行左右匹配和前后帧的追踪。但是这种彩色纹理容易受到光照和相机性能的影响,产生顔色失真,这使得在图像匹配时,产生一定的难度,并且不够准确。
【发明内容】
[0005]针对现有技术的不足,本发明的目的是提出一种鲁棒的,没有累积误差的动态表面四维重构方法。[0006]为达到上述目的的,本发明的技术方案是:ー种基于随机三角形纹理的四维重构的方法,包含以下步骤:
[0007]步骤1:生成随机的三角形纹理;
[0008]步骤2:在图像上检测三角形;
[0009]步骤3:匹配第一帧中的三角形,并对其三维重构;
[0010]步骤4:计算局部三角形拓扑;
[0011]步骤5:在图像序列中追踪三角形;
[0012]步骤6:基于局部拓扑结构检测错误与恢复。
[0013]其中,步骤I所述的生成随机的三角形纹理,包含以下步骤: [0014]首先在图像上生成若干可控的随机点;
[0015]然后将生成的随机点进行三角化,根据三角化的结果在黑图像上使用白色画三角形的边;
[0016]最后将三角形图像转印到物体的表面上。
[0017]步骤2所述的在图像上检测三角形,包含以下步骤:
[0018]首先根据自适应的图像二值化方法,将图像进行二值化,生成二值图像;
[0019]接着在二值图像上检测三角形连通区域,根据连通区域计算三角形的重心;
[0020]然后只保留连通区域的边缘点,其他的点丢掉,在连通区域的边缘点中,计算每个被检测点的N个邻居,然后计算该点与其N个邻居点分别到重心点的距离,如果该被检测的点到重心的距离大于其N个邻居点到重心的距离,该点就是ー个三角形的角点。
[0021]步骤3所述的匹配第一帧中的三角形,包含以下步骤:
[0022]首先以每个三角形的重心为极点,以从重心开始,经由三个顶点的三条射线为极轴,建立三个极坐标系,在姆个极坐标系中建立一个3X16的48维的直方图来描述局部三角形的分布情況;对于每个48维的直方图,其径向增量为r/3,r是ー个预先设定的值,角度增量为^ /8 ;
[0023]接着在每个极坐标系中,根据局部邻居三角形的重心相对于极点的距离,和相对于极轴的角度,在相应的直方图槽中累加;
[0024]最后将形成的三个48维的向量按照三角形顶点的顺时针方向集成在一起形成一个128维的局部三角形描述符,左右图像便可以根据三角形描述符进行匹配。
[0025]步骤6所述的基于局部拓扑结构检测错误与恢复是根据在第一帧中生成的局部拓扑结构信息,检测每一帧重建的三角形,判断其是否符合拓扑结构;如果有差別,就将该被检测的三角形列入错误列表;在错误列表中的三角形,会利用局部拓扑信息进行修复,从而取得较好的四维重建效果。
[0026]所述的局部拓扑结构是根据步骤3第一帧中的三维重构结果生成,其包括每个空间三角形的邻居三角形、每个三角形的三个边长、三角形的顶点到邻居顶点的距离,在重建出第一帧之后,后续的帧都是通过追踪两个图像序列中的三角形而得到的。
[0027]模拟的和实际的实验表明,利用本发明的方法能够稳定地获取四维数据,并且非常的精确,能够有效地用于动画、游戏建模,或者力学特性的研究。
【专利附图】
【附图说明】[0028]图1:本发明基于随机三角形纹理的四维重构的过程图。
[0029]图2:生成的随机点和随机三角形的图示。
[0030]图3:在图像上检测三角形的过程图示。
[0031]图4:从三角形的连通区域的边缘中提取三角形三个顶点的图示。
[0032]图5:三角形极线约束的图示。
[0033]图6:创建三角形局部描述符的图示。
【具体实施方式】
[0034]下面结合附图1对本发明的内容作进ー步的详细介绍。
[0035]第一歩,生成随机的三角形纹理
[0036]首先在黒色的图像上产生随机的点,通过控制产生的点之间的距离,来控制随机三角形的大小,以便产生的大小适合的三角形;然后通过三角化的算法对产生的随机点进行三角化;最后根据三角化的结果在黑色图像上用白色画线。具体生成随机点和三角形的结果如图2所示,具体生成随机三角形纹理的算法步骤如下:
[0037]1.设置随机点的生成范围;
[0038]2.随机生成第一个点并且加到集合ST中;
[0039]3.设置控制三角形边长的參数Dl和D2 ;
[0040]4.do
[0041]5?产生一个新的随机点Pnew ;
[0042]6.计算从Pnew到集合ST中点的最大距离dmax,和最小距离dmin ;
[0043]7.1f dmin>Dl&&dmax〈D2then ;
[0044]8.将 Pnew 放到 ST 中;
[0045]9.else
[0046]10.丢弃 Pnew ;
[0047]11.until没有合适的点产生;
[0048]12.对ST中的所有点进行三角化;
[0049]13.根据三角化的结果在黒色的图像上,使用白色的边画线;
[0050]14.将生成的纹理转印到物体的表面上。
[0051]第二步,在图像上检测三角形
[0052]首先在原始图像上,使用局部自适应二值化的方法进行二值化,得到二值图像。之所以使用局部自适应二值化方法,是因为在表面的运动过程中会由于遮挡等原告因引起局部光照的变化,如果使用ー个固定的域值进行二值化,将会产生错误。然后,在二值图像上检测三角形连通区域,并计算三角形连通区域的重心和连通区域的边界点。接下来,检测三角形的顶点,其具体方法如下:找到每个边界点P的N个邻居点Pn,并计算P与Pn到达重心的距离,如果P点到重心的距离大于它的N个邻居到重心的距离,则P是ー个候选的三角形顶点。这样便能检测到所有的候选三角形顶点,但是在这些候选点中,也可能存在噪声点,如果是噪声点,必须将其删除。最后,在所用的候选三角形顶点中,计算候选顶点中的任意三个点组成的三角形面积,找到组成三角形的面积最大的三个点,即为顶点。这样便可以使用三角形的三个顶点和ー个重心来标识三角形。可以通过这种方法,检测到图像序列中每个图像上的三角形。见图3和图4所示。
[0053]第三歩,匹配第一帧中的三角形,并对其三维重构
[0054]在匹配第一帧中的三角形时,采用两种手段:三角形的极线约束,和全局与局部相结合的三角形描述符。给定左边图像上的ー个三角形,在右边图像上存在四条极线,这四条极线分别对应左边三角形的三个顶点和ー个重心,见图5。首先通过这四条极线过滤掉很多错误的三角形,保留下可能的三角形集合ST。接下来,创建每个三角形的全局与局部相结合的三角形描述符,根据全局与局部相结合的三角形描述符可以在集合ST找到精确对应的三角形。全局与局部相结合的三角形描述符如公式(I)所示:
【权利要求】
1.ー种基于随机三角形纹理的四维重构的方法,其特征在于包含以下步骤: 步骤1:生成随机的三角形纹理; 步骤2:在图像上检测三角形; 步骤3:匹配第一帧中的三角形,并对其三维重构; 步骤4:计算局部三角形拓扑; 步骤5:在图像序列中追踪三角形; 步骤6:基于局部拓扑结构检测错误与恢复。
2.根据权利要求1所述的ー种基于随机三角形纹理的四维重构的方法,其特征在于步骤I所述的生成随机的三角形纹理包含以下步骤: 首先在图像上生成若干可控的随机点; 然后将生成的随机点进行三角化,根据三角化的结果在黑图像上使用白色画三角形的边; 最后将三角形图像转印到物体的表面上。
3.根据权利要求1所述的ー种基于随机三角形纹理的四维重构的方法,其特征在于步骤2所述的在图像上检测三角形,包含以下步骤:` 首先根据自适应的图像二值化方法,将图像进行二值化,生成二值图像; 接着在二值图像上检测三角形连通区域,根据连通区域计算三角形的重心; 然后只保留连通区域的边缘点,其他的点丢掉,在连通区域的边缘点中,计算每个被检测点的N个邻居,然后计算该点与其N个邻居点分别到重心点的距离,如果该被检测的点到重心的距离大于其N个邻居点到重心的距离,该点就是ー个三角形的角点。
4.根据权利要求1所述的ー种基于随机三角形纹理的四维重构的方法,其特征在于步骤3所述的匹配第一帧中的三角形包含以下步骤: 首先以每个三角形的重心为极点,以从重心开始,经由三个顶点的三条射线为极轴,建立三个极坐标系,在每个极坐标系中建立ー个3 X 16的48维的直方图来描述局部三角形的分布情況;对于每个48维的直方图,其径向增量为r/3,r是ー个预先设定的值,角度增量为^ /8 ; 接着在每个极坐标系中,根据局部邻居三角形的重心相对于极点的距离,和相对于极轴的角度,在相应的直方图槽中累加; 最后将形成的三个48维的向量按照三角形顶点的顺时针方向集成在一起形成ー个128维的局部三角形描述符,左右图像便可以根据三角形描述符进行匹配。
5.根据权利要求1所述的ー种基于随机三角形纹理的四维重构的方法,其特征在于步骤6所述的基于局部拓扑结构检测错误与恢复是根据在第一帧中生成的局部拓扑结构信息,检测每一帧重建的三角形,判断其是否符合拓扑结构;如果有差别,就将该被检测的三角形列入错误列表;在错误列表中的三角形,会利用局部拓扑信息进行修复,从而取得较好的四维重建效果。
6.根据权利要求1或5所述的ー种基于随机三角形纹理的四维重构的方法,其特征在于所述的局部拓扑结构是根据权利要求1步骤3第一帧中的三维重构结果生成,其包括每个空间三角形的邻居三角形、每个三角形的三个边长、三角形的顶点到邻居顶点的距离,在重建出第一帧之后,后续的帧都是通过追踪两个图像序列中的三角形而得到的。
【文档编号】G06T15/04GK103606183SQ201310554069
【公开日】2014年2月26日 申请日期:2013年11月8日 优先权日:2013年11月8日
【发明者】史金龙, 刘镇, 王直, 钱强, 庞林斌, 白素琴 申请人:江苏科技大学