一种基于对称结构的三维花朵建模方法\n技术领域\n[0001] 本发明专利针对输入的单幅花朵图像,借助用户少量的交互,提供了一种基于对称结构的快速生成三维花朵建模的方法。\n背景技术\n[0002] 三维花朵的建模是计算机视觉和计算机图形学中的重点问题,加上输入的仅为单幅图像,这使得建模的难度进一步加大。为了解决这个难题,研究者们大多采用三种方法:\n1)基于过程式的全交互花朵建模方法,该方法是根据花卉表、花序以及用户的临摹交互来一步步生成完整的花朵模型;2)基于花朵模型库的建模方法,即根据输入的单幅图像分析出花朵在图像中的位置以及形态,使用三维模型库的花朵模型来变形拟合二维图像中的花朵,从而达到三维的建模效果;3)基于单幅图像的半自动花朵建模,即根据输入的单幅图像进行相关预处理,由图像中花朵的所有花瓣拟合生成一个花瓣模板,由该花瓣模板去变形拟合其他的花瓣,最终生成符合二维投影的三维花朵模型。\n[0003] 在计算机视觉领域,模型深度信息的恢复是从单幅二维图像生成三维模型过程中的难点。为了解决这个问题,往往采用人工交互的方法,即根据输入的单幅图像,用户可以手绘出图像中花朵每个花瓣的两条边缘曲线。另一方面,在对花朵结构的研究中发现,自然界中大部分的花朵都具有一定的结构对称性,主要分为仅有一个对称面的两侧对称和含有多个对称面的辐射对称两种,由于两侧对称含有的信息量较少,因此只考虑辐射对称的花朵建模情况.本发明假设二维图像上的手绘曲线即为三维模型投影轮廓线的平行投影下,在基于花朵对称结构的建模过程中,利用自然界中花朵所共有的对称的性质,结合手绘出的花朵花瓣的边缘曲线,确定边缘的对称匹配关系求得每个花瓣每条边缘采样点处的深度,进而重建出整个花朵的三维模型。在该建模方法中充分利用了花朵的结构对称性。\n发明内容\n[0004] 为了解决三维花朵建模中交互量大、预处理复杂、建模效果差的不足,本发明提供了一种方便快捷、高效易学且真实感强的基于花朵对称结构的单幅图像建模方法。\n[0005] 本发明解决的技术问题所采用的解决方案是:\n[0006] 1)根据输入的单幅二维图像,用户在图像画板上交互式地手动描绘出花朵上每个花瓣的两条边缘曲线,系统即时地捕捉手绘边缘曲线上的点,并插值生成相应的二次B样条曲线,然后根据用户自定义的每条边缘曲线应包含的采样点数对得到的二次B样条曲线进行均匀采样离散化。\n[0007] 2)在确定了花朵上每个花瓣的两条边缘手绘曲线后,利用对称性计算这两个手绘曲线上每对采样点的深度信息;基于花朵特殊的对称结构和生物结构,本文在把花瓣的两条手绘轮廓线看作其三维构造曲线投影线的前提下,先将整个花朵拟合到一个圆锥体上,通过拟合圆锥确定花朵上每个花瓣的对称面;通过遍历每个花瓣上的两条边缘手绘曲线,结合求得的该花瓣对称面信息,计算出该花瓣两条构造曲线的深度信息;\n[0008] 具体地说,首先根据用户交互的手绘曲线,将图像中的花朵整体拟合为一个圆锥,由于圆锥的底面投影为花瓣顶点拟合的椭圆,因此关键得到圆锥的母线长;由投影变换关系可得:\n[0009]\n[0010] 其中r为拟合圆锥的顶点与圆锥底面圆心的投影点的平面距离,AB为拟合的椭圆的长轴长,BC为拟合椭圆的短轴长,通过计算可以得到母线R的大小,进一步可以求出底面圆心的垂直距离h;在平行投影下,所求的三维构造曲线上点的x坐标和y坐标取值即为画板上输入的相应花瓣边缘曲线上采样点x坐标和y坐标,花朵各个花瓣的两条边缘构造曲线的三维信息的计算主要在于采样点z坐标的计算;在此基础上,利用花朵的对称结构可以求出每个花瓣的对称面;以一个花瓣的对称面求取为例:\n[0011]\n[0012] 其中,(2)式中已知的有Oz″-Oz=h,Oz″-Pz的值可根据垂直关系求出,从而可以得到该花瓣对应的法向量n;根据计算得到每个花瓣的对称面,求出每个花瓣两条边缘曲线上每对对称采样点的深度如下:设点P1=(x1,y1,z1)和P2=(x2,y2,z2)分别为花瓣两条边缘曲线上的一对对称点,花瓣对称面法向量为n=(nx,ny,nz),则有:\n[0013]\n[0014]\n[0015] 从而,可以计算得到花瓣两条边缘曲线的各对对称采样点深度,进而得到每个花瓣的两条三维边缘构造曲线。\n[0016] 3)对于层次结构较明显的花朵,在拟合圆锥时利用花瓣的逐层处理方式并分别计算花瓣边缘曲线的采样点深度信息;本发明仅考虑两层花朵的建模,用户首先按顺序描绘出第一层上的所有花瓣,接着继续描绘第二层上的所有花瓣,等;设第一层花瓣数目为m,将前m个花瓣单独保存并作为单个花朵进行圆锥拟合处理和深度计算;接着处理第二层花瓣,设其花瓣数目为l,将后l个花瓣单独保存并进行与前m个花瓣类似的处理;这里需要指出的是,由于对同一层的花朵花瓣需要进行圆锥拟合,因此要求每一层上的花瓣数目至少为3个,当然不同层上的花瓣数目可以有所不同。\n[0017] 4)在计算得到每个花瓣的两条边缘曲线的深度信息后,为了达到更好的三维建模效果,规定花朵三维模型上每个顶点处的深度值均大于零;在完成每个花瓣的处理后,通过离散化网格处理构建出每个花瓣的三维模型,进而得到整个花朵的三维模型;进一步,根据输入图像的纹理信息为生成的花朵模型进行纹理合成,最终生成真实感很强的三维花朵模型。\n[0018] 本发明的有益效果主要表现在:方便快捷、高效易操作、真实感强。\n附图说明\n[0019] 图1为本发明用户输入图示例,其中包含用户的交互手绘线。\n[0020] 图2为图1实例中花朵拟合圆锥的效果显示。\n[0021] 图3为本发明单个花瓣的网格效果示例。\n[0022] 图4为图1示例的花朵三维建模效果。\n[0023] 图5为本发明设计生成的部分花朵建模示例。\n具体实施方式\n[0024] 下面参照附图对本发明的技术方法和生成的各种三维花朵模型作进一步地描述和详细说明:\n[0025] 参照附图1---附图5,基于花朵对称结构的单幅图像建模方法包括以下步骤:\n[0026] 1)根据输入的单幅二维图像,用户在图像画板上交互式地手动描绘出花朵上每个花瓣的两条边缘曲线,如附图1所示,系统即时地捕捉手绘边缘曲线上的点,并插值生成相应的二次B样条曲线,然后根据用户自定义的每条边缘曲线应包含的采样点数对得到的二次B样条曲线进行均匀采样离散化。\n[0027] 2)在确定了花朵上每个花瓣的两条边缘手绘曲线后,利用对称性计算这两个手绘曲线上每对采样点的深度信息;基于花朵特殊的对称结构和生物结构,本文在把花瓣的两条手绘轮廓线看作其三维构造曲线投影线的前提下,先将整个花朵拟合到一个圆锥体上,如附图2所示,通过拟合圆锥确定花朵上每个花瓣的对称面;通过遍历每个花瓣上的两条边缘手绘曲线,结合求得的该花瓣对称面信息,计算出该花瓣两条构造曲线的深度信息。\n[0028] 3)对于层次结构较明显的花朵,在拟合圆锥时利用花瓣的逐层处理方式并分别计算花瓣边缘曲线的采样点深度信息;根据输入的花朵图像,对位于不同层上的花瓣进行相应的圆锥拟合,从而求出不同层上花瓣的对称面,并通过遍历每层花瓣的两条边缘手绘曲线,结合分层处理时得到的相应该花瓣的对称面信息,计算每个花瓣两条曲线的深度信息;\n本发明仅考虑两层花朵的建模,用户首先按顺序描绘出第一层上的所有花瓣,接着继续描绘第二层上的所有花瓣,等;设第一层花瓣数目为m,将前m个花瓣单独保存并作为单个花朵进行圆锥拟合处理和深度计算;接着处理第二层花瓣,设其花瓣数目为l,将后l个花瓣单独保存并进行与前m个花瓣类似的处理;这里需要指出的是,由于对同一层的花朵花瓣需要进行圆锥拟合,因此要求每一层上的花瓣数目至少为3个,当然不同层上的花瓣数目可以有所不同。\n[0029] 4)在计算得到每个花瓣的两条边缘曲线的深度信息后,为了达到更好的三维建模效果,规定花朵三维模型上每个顶点处的深度值均大于零;在完成每个花瓣的处理后,通过离散化网格处理构建出每个花瓣的三维模型,如附图3所示,进而得到整个花朵的三维模型;进一步,根据输入图像的纹理信息为生成的花朵模型进行纹理合成,最终生成真实感很强的三维花朵模型,如附图4所示。\n[0030] 附图1显示了用户在输入图像上交互式地输入每个花瓣两条边缘曲线;附图2是在附图1用户手绘曲线的基础上将整个花朵拟合到一个圆锥上;附图3显示了在求得每个花瓣的对称面法向量后,得到的花瓣两条边缘构造曲线,通过离散化网格法得到的单个花瓣的三角网格模型;附图4显示附图1的输入图的最终三维建模效果;附图5是利用本发明生成的花朵模型效果示例,主要分为三个花瓣、四个花瓣、五个花瓣以及六个花瓣的三维花朵建模效果,附图5(a)是输入的花朵图像,附图5(b)为对应生成的三维模型,附图5(c)纹理贴图后的三维花朵模型,附图5(d)为花朵模型的侧视图,附图5(e)为花朵模型的左或右视图。