本发明专利技术提出了一种基于GPU的视觉凸壳加速绘制方法,本发明专利技术采用的技术方案包括以下几个步骤:1)生成基于图像的视觉凸壳模型。2)生成基于图像的纹理信息。3)初始化GPU的运行环境。4)加载视觉凸壳模型,并进行加速绘制和显示。本发明专利技术将传统的基于几何模型的绘制方法和基于图像的绘制方法相结合,以达到对三维物体的真实的绘制效果。本方法使用的图像采集设备简单,只需普通的照相机即可,无需三维扫描仪等昂贵的采集设备;本方法在相机标定,视觉凸壳的生成,纹理融合方面都是全自动的,无需手工干预;同时,由于使用真实照片作为模型纹理,并且借助图形硬件的加速功能,本方法达到了逼真的绘制效果和高效的绘制速度。
【技术实现步骤摘要】
本专利技术属于计算机图形学和虚拟现实
,具体涉及一种基于图形处理芯片(Graphics Processing Unit-GPU)的视觉凸壳加速绘制方法。
技术介绍
在计算机图形学中,传统的三维场景的绘制技术是基于几何模型的绘制技术。它将场景描述成一系列基本的几何基元,然后定义光源的分布与性质,物体表面材质与反射特性,最后通过绘制公式的计算产生出虚拟的图像。这种技术不但计算量大,而且很难逼真的再现真实物体的纹理效果和光照效果。随着虚拟现实技术的发展,出现了基于图像的绘制技术。这种技术避免了复杂的建模过程,直接利用采集的图像来绘制三维场景。它的优点在于能够更加逼真的再现三维场景的光照效果。例如,文献“Image-Based Visual Hulls.”(Matusik,W.,Buehler,C.,Raskar,R.,Gortler,S.,and McMillan,L.SIGGRAPH 2000,July23-28,2000,369-374)提出了一种基于图像的三维物体的分布式绘制方法。这种方法没有计算出物体的完整的三维模型,而是在绘制每帧图像时,根据视点的位置和所采集的图像的三维位置,计算出视觉图像上的象素点和采样图像上的象素点之间的对应关系,并通过一定的融合方法绘制出最终的视觉图像。由于这种方法需要处理的图像数量很大,以及对实时性的要求,文献中给出一种分布式的实时绘制系统。此系统虽然可以实现动态物体的实时绘制,但是所需的硬件和实现方式相当复杂。由此可以看出,虽然基于图像绘制技术具有一定的优点,但是它需要实时地处理大量的图像,因此运算缓慢。为了从硬件上提高图形计算的速度,现在已经出现了很多可编程的图形处理芯片。这种芯片与计算机中传统的中央处理器(CPU)不同,它虽然没有CPU的功能强大,不具有通用性,但是它对图形处理的操作具有更快速度,和更强大的并行机制。这主要表现在,GPU可以在显卡的存储单元中对三维模型进行两方面的可编程操作,它包括对模型顶点的变换,以及模型栅格化后的颜色处理。随着硬件技术的发展,GPU的可编程能力也越来越强,所使用的编程接口也越来越规范。这些都为基于图像的三维模型的加速绘制提供了可能。
技术实现思路
本专利技术的目的是针对目前大多数基于图像的绘制方法速度较慢的问题,提出了一种基于GPU的视觉凸壳加速绘制方法。这种方法结合了传统绘制方法和基于图像绘制方法的优点,并且能够充分利用GPU的并行运算能力来进行加速绘制,实现对真实静态物体的实时显示。为达到上述目的,本专利技术采用的技术方案是一种基于GPU的视觉凸壳加速绘制方法,包括以下几个步骤1)生成基于图像的视觉凸壳模型。我们使用基于图像的方法生成视觉凸壳模型。首先对特定的物体进行拍照,然后对所得的图像进行相机标定。最后根据图像的三维位置信息和物体在图像中的轮廓信息计算出物体的视觉凸壳模型。2)生成基于图像的纹理信息。保存步骤1)中所采集的所有图像,同时保存通过相机标定计算出的图像三维位置信息。这些信息将作为模型绘制阶段的纹理信息使用。3)初始化GPU的运行环境。将纹理信息输入GPU的存储器中。同时对GPU的可编程单元进行功能设定,包括两方面顶点处理单元的功能设定和纹理处理单元的功能设定。4)加载视觉凸壳模型,并进行加速绘制和显示。将步骤1)中生成视觉凸壳模型输入GPU的存储器中,同时将浏览视觉凸壳模型时的视点信息输入GPU的存储器中。然后利用GPU的并行能力进行加速绘制,生成最终的视图。本专利技术的优点在于将传统的基于几何模型的绘制方法和基于图像的绘制方法相结合,以达到对三维物体的真实的绘制效果。本方法使用的图像采集设备简单,只需普通的照相机即可,无需三维扫描仪等昂贵的采集设备;本方法在相机标定,视觉凸壳的生成,纹理融合方面都是全自动的,无需手工干预;同时,由于使用真实照片作为模型纹理,并且借助图形硬件的加速功能,本方法达到了逼真的绘制效果和高效的绘制速度。附图说明下面结合附图对本专利技术进一步详细地说明图1是基于GPU的视觉凸壳加速绘制方法流程示意图;图2是视觉凸壳的生成过程示意图;图3是用于相机自动标定的平面控制面板示意图;图4是拍摄图像时的相机位置分布示意图;图5a是拍摄的图像示意图;图5b是对拍摄图像进行分割处理后的结果示意图;图6是视觉凸壳生成原理示意7是GPU加速绘制的流程示意图;图8是基于GPU的视觉凸壳加速绘制结果示意图。最佳实施例详细描述下面参照本专利技术的附图,更详细地描述本专利技术的最佳实施例。图1显示了本专利技术所提出的一种基于GPU的视觉凸壳加速绘制方法的具体流程。下面结合图示对本专利技术的具体实施方式作进一步详细地描述本专利技术所提出的一种基于GPU的视觉凸壳加速绘制方法,包括以下几个步骤1)生成基于图像的视觉凸壳模型。即使用基于图像的方法提取出物体的视觉凸壳模型。这一步骤的流程如图2所示。具体包括以下步骤a)制作相机标定的控制场。制作控制场的过程就是在被拍摄的物体的周围标定一些控制点,并记录下控制点在世界坐标系中的三维坐标的过程,这些控制点将用于相机参数的计算。不同的控制场具有不同的优点,例如三维控制场(所有的控制点不在一个平面上)可以获得较高的标定精度。但是,在实际中,选择平面控制场(所有的控制点都在一个平面上)更方便,因为从多个角度拍摄物体的时候,平面控制场不会遮挡被拍摄的物体。图3是我们使用的平面控制场,它是有一系列独立的纯色同心圆组成,我们需要记录每个同心圆的圆心位置。b)拍摄图像,并对每幅图像进行相机位置的标定。将目标物体放在控制场中,然后从不同角度对物体进行拍照。为了采样均匀,图像之间的角度间隔应该近似一致,图4显示了一系列拍摄的图像的三维位置。为了自动的进行相机标定,首先通过图像分割的方法从图像中自动的提取出同心圆的圆心点,然后根据它的实际的三维位置,对每幅图像进行相机位置的标定。c)制作侧影图像。侧影图像就是已经分割出了目标和背景的图像。图像分割是一个比较复杂问题,它与图像中目标和背景的颜色信息有很大的关系,因此,很难设计出一种通用的图像分割方法。所以,我们使用手工的方法来对图像进行分割。图5a是一幅拍摄的图像,图5b是进行图像分割后的结果,我们将背景都填充为白色。d)生成物体的视觉凸壳模型。当有了标定信息和侧影图像后,我们就可以计算出物体的模型。如图6所示,每个侧影图像中的物体的轮廓和它的相机位置都构成了一个视线锥体,所有的锥体的交集就是目标物体的视觉凸壳,所以我们使用三维求交的方法就可以计算出目标物体的视觉凸壳。我们使用三角形网格模型表示物体。整个步骤1)中对相机进行标定的方法,我们采用的是基于平面标志的标定方法。为了能够自动完成控制点的提取,我们将控制点设计为纯色同心圆。同时事先确定控制点坐标,以便实现整个标定过程的自动化。2)生成基于图像的纹理信息。这一步骤中保存的图像纹理信息,我们直接使用采集的图像作为绘制时的纹理图像,增强了绘制结果的真实感。保存步骤1)中生成的的所有侧影图像,同时保存通过相机标定计算出的图像三维位置信息。这些信息将作为模型绘制阶段的纹理信息使用。3)初始化GPU的运行环境这部分的步骤包括以下几步a)传递参数信息为了进行纹理的实时绘制,我们需要将步骤2)中记录的纹理图像信息,以及图像的本文档来自技高网...
【技术保护点】
一种基于图形处理芯片的视觉凸壳加速绘制方法,具体包括以下步骤:1)生成基于图像的视觉凸壳模型;2)生成基于图像的纹理信息;3)初始化图形处理芯片的运行环境;4)加载视觉凸壳模型,并进行加速绘制和显示。
【技术特征摘要】
【专利技术属性】
技术研发人员:周秉锋,安维华,章卫祥,
申请(专利权)人:北京大学,北京北大方正技术研究院有限公司,
类型:发明
国别省市:11[中国|北京]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。