Accelerating Depth Image-Based Rendering Using GPU

合集下载

DEPTH-IMAGE-BASED RENDERING

DEPTH-IMAGE-BASED RENDERING
申请人:HUANG, Yu,LLACH,US 代理机构:SHEDD, Robert, D. 更多信息请下载全文后查看
专利内容由知识产权出版社提供
专利名称:DEPTH-IMAGE-BASED RENDERING 发明人:HUANG, Yu,LLACH, Joan 申请号:US200900024 5 申请日:20090115 公开号:WO09/091563P1 公开日:20090723
摘要:Various implementations are described. Several implementations relate to depth-image-based rendering. Many of these implementations use temporal information in synthesizing an image. For example, temporal information may be used to generate a background layer for a warped image, and then the background layer may be blended with the main layer. One method includes accessing information from a reference image (1005). The reference image is for a reference view at a particular time. Information from a second image is accessed (1010). The second image is for a different time than the particular time. An additional image is created based on the information from the reference image and on the information from the second image (1015). The additional image is for an additional view that is different from the reference view and being for the particular time.

利用计算机视觉技术实现图像语义分割的步骤与技巧

利用计算机视觉技术实现图像语义分割的步骤与技巧

利用计算机视觉技术实现图像语义分割的步骤与技巧图像语义分割是计算机视觉领域的一项重要任务,它的目标是对图像中的每个像素进行分类,并将其与其他像素区分开来。

这项技术在许多领域具有广泛的应用,如自动驾驶、医学图像分析和智能视频监控等。

在实现图像语义分割的过程中,我们需要经历一系列的步骤和使用一些关键技巧。

以下将详细介绍这些步骤和技巧:1. 数据准备:首先,需要准备用于训练和测试的图像数据集。

这些图像应包含被标注了像素级别标签的图像,标签指示每个像素所属的类别。

例如,对于道路图像,标签可以表示道路、车辆、行人等。

合理选择并准备高质量的数据集对于算法的效果至关重要。

2. 数据预处理:对于图像数据进行预处理是必要的步骤。

常见的预处理方法包括图像缩放、裁剪、旋转和灰度化等。

这些预处理操作旨在减小数据的大小、消除图像的无关信息,并确保数据集的一致性。

3. 特征提取:特征提取是图像语义分割的核心步骤。

在这一步中,我们需要选择合适的特征来表示图像中的每个像素。

常用的特征提取方法包括传统的局部特征,如颜色、纹理和形状等,以及深度学习的卷积神经网络特征。

近年来,深度学习方法在图像语义分割任务中取得了令人瞩目的成果。

4. 模型选择和训练:在特征提取之后,需要选择适合该任务的模型来训练。

常用的模型包括基于传统机器学习的方法,如随机森林、支持向量机和条件随机场等,以及基于深度学习的方法,如全卷积网络(FCN)、U-Net和SegNet等。

选择合适的模型可以提高算法的精确度和效率。

在选择模型后,需要对其进行训练。

训练模型的关键是使用标注好的数据进行监督学习。

通过比较模型输出的预测结果与真实标签,利用损失函数进行优化,以提高模型的准确性。

5. 模型评估和优化:训练完成后,需要对模型进行评估和优化。

在模型评估阶段,我们可以使用一些指标(如精确度、召回率和F1分数)来评估模型的性能。

通过分析评估结果,可以了解模型的强项和弱项,并针对性地进行优化。

基于语义分割的遥感图像分类

基于语义分割的遥感图像分类

基于语义分割的遥感图像分类遥感图像是近年来在各行各业中广泛使用的一种技术手段。

利用遥感图像可以对地球表面进行高精度的监测和识别,具有非常重要的应用价值。

然而,遥感图像的分类是一个非常复杂的问题,因为遥感图像中的信息量非常大,需要大量的计算和分析才能进行有效的分类。

为了解决这个问题,近年来涌现出了许多基于语义分割的遥感图像分类方法,这些方法将遥感图像分割为不同的区域,并将每个区域与其所属的类别进行关联,从而实现遥感图像的自动分类。

基于语义分割的遥感图像分类方法可以分为两大类:基于光谱信息的方法和基于空间信息的方法。

基于光谱信息的方法采用了传统的图像分类技术,通常使用机器学习算法(如SVM)来训练分类器,并使用像素级别的光谱信息作为输入特征。

然而,这种方法往往不能充分考虑遥感图像的空间信息特征,分类精度有限。

因此,近年来越来越多的研究者开始采用基于空间信息的方法来解决遥感图像分类问题。

基于空间信息的方法是指将遥感图像分割为不同的区域,然后对每个区域进行分类。

这种方法通常使用语义分割技术进行遥感图像分割,然后使用语义分割结果中的每个区域作为输入进行分类。

相比于基于光谱信息的方法,基于空间信息的方法具有更好的分类精度和鲁棒性。

目前,基于空间信息的方法已经成为遥感图像分类的主流方法之一。

目前,基于语义分割的遥感图像分类研究主要集中在以下几个方向上:1. 基于深度学习的遥感图像分类方法近年来,深度学习(如卷积神经网络)在遥感图像分类中的应用越来越广泛。

这种方法可以利用大量标记数据进行训练,并能够自动学习光谱、空间和语义信息,从而实现更高的分类精度。

基于深度学习的遥感图像分类方法已经在遥感图像分类竞赛中取得了很好的成绩,是当前遥感图像分类研究的热点方向之一。

2. 基于多尺度特征的遥感图像分类方法遥感图像中往往存在着多个尺度的信息,因此采用多尺度特征进行分类可以提高分类精度。

目前,基于多尺度特征的遥感图像分类方法已经成为遥感图像分类的主要方法之一。

Creating full view panoramic image mosaics and environment maps

Creating full view panoramic image mosaics and environment maps
The case of general camera rotation has been studied previously [12, 9, 18], using an 8-parameter planar perspective motion model. By contrast, our algorithm uses a 3-parameter rotational motion model, which is more robust since it has fewer unknowns. Since this algorithm requires knowing the camera’s focal length, we develop a method for computing an initial focal length estimate from a set of 8-parameter perspective registrations. We also investigate how to close the “gap” (or “overlap”) due to accumulated registration errors after a complete panoramic sequence has been assembled. To demonstrate the advantages of our algorithm, we apply it to a sequence of images taken with a handheld digital camera.
Copyright ©1997 by the Association for Computing Machinery, Inc. Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers, or to distribute to lists, requires prior specific permission and/or a fee.

基于最近邻域像素梯度的视频背景快速提取

基于最近邻域像素梯度的视频背景快速提取

基于最近邻域像素梯度的视频背景快速提取赵树言;路艳雪;韩晓霞【期刊名称】《计算机应用》【年(卷),期】2016(36)8【摘要】针对嵌入式设备对视频背景的实时提取问题,提出一种基于最近邻域像素梯度(N2PG)稳定性的视频背景快速提取方法.首先,以视频中任意帧作为初始背景,并计算此背景图像的N2PG矩阵;然后,以背景帧之后若干帧图像作为背景更新图像,同理计算N2PG矩阵;最后,将背景图像N2PG矩阵与更新图像N2PG矩阵进行差分,并通过实时估计的梯度稳定性阈值快速判断背景模型中各像素点是静态背景像素点还是非背景像素点,进而对其更新或替换,以得到视频当前背景.经计算机仿真测试,与常用的卡尔曼滤波法和混合高斯法相比,基于N2PG的视频背景提取方法得到相同质量背景仅需10 ~ 50帧图像,并且平均处理速度分别提高36%和75%;和改进的视觉背景提取(ViBe)算法相比,在所需帧数和所得背景质量相近的情况下,该算法背景更新速度提升一倍.实验结果表明,基于N2PG的视频背景提取算法具有很强的自适应性,并且速度快、内存消耗小,背景提取准确度达到90%以上,可满足真实自然环境下嵌入式视觉设备的应用.【总页数】5页(P2322-2326)【作者】赵树言;路艳雪;韩晓霞【作者单位】太原理工大学信息工程学院,太原030024;太原理工大学信息工程学院,太原030024;太原理工大学信息工程学院,太原030024【正文语种】中文【中图分类】TP391.41【相关文献】1.一种基于像素梯度信息的背景减除法 [J], 张小骏;刘志镜;陈昆2.基于像素邻域点信息的藏文图像细化算法研究 [J], 刘芳;张云洋3.基于四邻域对角线上灰度约束的亚像素角点检测 [J], 骆荣坤;刘桂礼;孔全存;李东4.基于像素邻域的传动轴亚像素边缘检测 [J], 朱莹莹;卜雄洙;曹一涵;黄泽江5.超像素梯度流与元胞机融合的视频显著图检测 [J], 张荣国;贾玉闪;胡静;刘小君;李晓明因版权原因,仅展示原文概要,查看原文内容请购买。

深度缓存 遮挡剔除 原理

深度缓存 遮挡剔除 原理

深度缓存遮挡剔除原理
深度缓存和遮挡剔除是计算机图形学中常用的技术,用于提高渲染效率和减少不必要的计算。

深度缓存(Depth Buffer)是一种用来存储场景中每个像素的深度信息的缓存,它可以帮助计算机图形学中的渲染器确定哪些像素应该被绘制在屏幕上,哪些应该被遮挡。

深度缓存的原理是在渲染场景时,对每个像素计算其在场景中的深度值,并将这个深度值存储在深度缓存中。

当渲染器绘制下一个像素时,它会检查该像素的深度值与深度缓存中对应位置的值进行比较,如果该像素的深度值比深度缓存中的值小,那么该像素就会被绘制在屏幕上,否则就会被遮挡。

遮挡剔除(Occlusion Culling)是另一种常用的技术,它用于在渲染前确定哪些物体在场景中是不可见的,从而减少需要渲染的物体数量,提高渲染效率。

遮挡剔除的原理是通过检测物体之间的遮挡关系,确定哪些物体在当前视角下是被遮挡的,从而不需要被渲染。

深度缓存和遮挡剔除的原理结合起来,可以在计算机图形学中
提高渲染效率和减少不必要的计算。

深度缓存可以帮助确定哪些像素需要被绘制,遮挡剔除可以帮助确定哪些物体在当前视角下是不可见的,从而减少需要渲染的物体数量。

这些技术的应用可以使计算机图形学中的渲染过程更加高效和流畅。

图像识别中目标跟踪算法的使用技巧

图像识别中目标跟踪算法的使用技巧

图像识别中目标跟踪算法的使用技巧在图像识别领域,目标跟踪算法是一种重要的技术,它可以实现对特定目标在一系列连续帧中的跟踪。

这项技术在许多应用中具有广泛的用途,如视频监控、智能交通、无人驾驶等领域。

本文将介绍一些常用的目标跟踪算法以及它们的使用技巧。

1. 基于特征点的目标跟踪算法基于特征点的目标跟踪算法是一种常用的方法。

该方法通过提取图像中的特征点,然后利用这些特征点进行目标跟踪。

在实际应用中,我们可以使用各种特征点提取算法,如SIFT、SURF和ORB等。

这些算法可以提取出图像的关键特征点,从而实现目标的稳定跟踪。

在使用基于特征点的目标跟踪算法时,我们应该注意以下几个技巧:- 选择适当的特征点提取算法,根据不同场景选择合适的算法。

例如,在光照变化较大的环境中,我们可以选择适应光照变化的特征点提取算法。

- 选择适当的特征点匹配算法,特征点的匹配非常重要,决定了跟踪的准确度。

常见的特征点匹配算法有基于匹配矩阵的方法和基于局部特征描述符的方法等。

- 对于目标遮挡等情况,可以通过重新检测目标并更新特征点的方法来实现跟踪的鲁棒性。

2. 基于深度学习的目标跟踪算法近年来,深度学习在图像识别领域取得了显著的成果,也为目标跟踪算法带来了新的思路和方法。

基于深度学习的目标跟踪算法通过神经网络模型实现对目标的识别和跟踪。

常见的深度学习模型包括卷积神经网络(CNN)、循环神经网络(RNN)和长短期记忆网络(LSTM)等。

使用基于深度学习的目标跟踪算法时,我们应该注意以下几个技巧:- 选择适当的神经网络模型,根据不同的应用场景选择合适的模型。

例如,在需要对目标进行长期跟踪的场景中,可以选择LSTM模型。

- 进行数据预处理,对图像数据进行标准化、归一化等操作,以提高神经网络的训练效果。

- 进行数据增强,通过对图像进行旋转、缩放、平移等操作,增加训练数据的多样性,提高模型的鲁棒性。

3. 基于卡尔曼滤波的目标跟踪算法卡尔曼滤波是一种常用的滤波算法,广泛应用于目标跟踪中。

实景合成原理及应用实例

实景合成原理及应用实例

实景合成原理及应用实例实景合成(Image-based Rendering) 是指根据已有的场景图像或模型信息,通过计算机算法生成新的合成图像的过程。

实景合成技术在计算机图形学、计算机视觉、虚拟现实等领域得到广泛应用。

实景合成的原理主要分为两种方法:基于图像的实景合成和基于模型的实景合成。

1. 基于图像的实景合成:基于图像的实景合成是在已有的一组图片上进行合成。

这种方法利用图像的纹理和颜色信息,通过对图像进行几何和光照的变换,生成新的合成图像。

常用的方法包括纹理映射(Texure Mapping)和视图插值(View Interpolation)。

- 纹理映射:纹理映射是将一个图片的纹理映射到另一个几何模型上的过程。

通过将源图像中的纹理信息根据新的几何模型进行变换,可以生成一个新的合成图像。

纹理映射广泛应用于计算机游戏、虚拟现实、电影特效等领域。

- 视图插值:视图插值是在已知的多个角度或视角的图像上生成新的视角图像。

通过计算不同视角图像之间的差异,再根据新的视角位置生成中间视角的图像。

视图插值在视频压缩、视频合成等领域中得到广泛应用。

2. 基于模型的实景合成:基于模型的实景合成是在已有的三维模型或场景信息的基础上进行合成。

这种方法利用已知的几何、光照和材质等信息,通过渲染算法生成新的合成图像。

常用的方法包括光线追踪(Ray Tracing)和辐射传输方程(Radiosity)。

- 光线追踪:光线追踪是一种模拟光线在场景中的传播和反射的算法。

通过追踪反射、折射和阴影等现象,计算光线最终到达像素的颜色和亮度。

光线追踪可以生成高质量的合成图像,但计算复杂度较高,常用于电影特效和产品设计等领域。

- 辐射传输方程:辐射传输方程是描述光在物体表面上的传播和散射的方程。

通过求解辐射传输方程,可以计算物体表面上每个点的颜色和亮度。

辐射传输方程常用于室内场景的光照计算和逼真的渲染。

实景合成技术在多个领域都有广泛应用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Accelerating Depth Image-Based RenderingUsing GPUMan Hee Lee and In Kyu ParkSchool of Information and Communication Engineering, Inha University253 Yonghyun dong, Nam-gu, INCHEON 402-751, Koreamaninara@, pik@inha.ac.krAbstract. In this paper, we propose a practical method for hardware-accelerated rendering of the depth image-based representation (DIBR) object,which is defined in MPEG-4 Animation Framework eXtension (AFX). Theproposed method overcomes the drawbacks of the conventional rendering, i.e. itis slow since it is hardly assisted by graphics hardware and surface lighting isstatic. Utilizing the new features of modern graphic processing unit (GPU) andprogrammable shader support, we develop an efficient hardware-acceleratedrendering algorithm of depth image-based 3D object. Surface rendering in re-sponse of varying illumination is performed inside the vertex shader whileadaptive point splatting is performed inside the fragment shader. Experimentalresults show that the rendering speed increases considerably compared with thesoftware-based rendering and the conventional OpenGL-based renderingmethod.1 IntroductionImage-based rendering has received wide interests from computer vision and graphics researchers since it can represent complex 3D models with just a few reference im-ages, which are inherently photorealistic. When the camera position changes, the novel view can be synthesized using the reference images along with their camera information, without reconstructing the actual 3D shape [2]. Therefore, compared with the conventional polygon-based modeling, it is simple and efficient way to rep-resent photorealistic 3D models.However, there apparently exists the negative side of image-based rendering. One of them is the lack of hardware acceleration. Since image-based rendering does not use the conventional polygon-filling rasterization, rendering its primitives, i.e. point spatting, should be done in software processing. In image-based rendering, splat size optimization and splat rendering are the most common and basic operations as well as in more general point-based rendering [5]. Another disadvantage is that lighting in image-based rendering is mostly static; therefore the novel view usually appears arti-ficial since there is no change in surface shading, specular reflection, and shadow.On the other hand, the recent advances in modern GPU have shown two directions of evolution. One is to increase the processor’s processing power. For example, a B. Gunsel et al. (Eds.): MRCS 2006, LNCS 4105, pp. 562–569, 2006.© Springer-Verlag Berlin Heidelberg 2006Accelerating Depth Image-Based Rendering Using GPU 563Fig. 1. Reference images (surroundings) and a result of novel view synthesis (center) of a DIBR model (SimpleTexture model)GeForce FX 5900 GPU performs 20 Giga FLOPS, while 3GHz Pentium 4 CPU does only 6 Giga FLOPS. The other direction which is more recent trend is to allow the user programmability of internal GPU functionality. This is known as the vertex and fragment (pixel) shaders. Using shaders, it is possible to customize the functionalities of graphics pipeline in GPU. For example, we can change the type of projective trans-formation, the illumination models, and the texture mapping methods, allowing more general and photorealistic effects which the conventional fixed pipeline cannot handle.In this paper, we propose a practical method of accelerating image-based rendering using GPU and shaders. Although any particular image-based rendering algorithms can be accelerated, our target is the one which is used as an international standard, i.e. SimpleTexture format in depth image-based representation (DIBR) of MPEG-4 AFX (Animation Framework eXtension) [1][8]. The SimpleTexture format is a set of refer-ence images covering visible surfaces of the 3D object. Similar to the relief texture [3], each reference image consists of the texture (color) image and the corresponding depth map, in which each pixel value denotes the distance from the image plane to the surface of the object. An example of a 3D model in SimpleTexture format is shown in Figure 1. From now on, we will use the DIBR term to represent the SimpleTexture format. The proposed method can be extended and applied to other image-based ren-dering algorithms without big modification.This paper is organized as follows. In Section 2, we start with a brief review of the previous related works. In Section 3 we describe the proposed methods in detail. Ex-perimental results are shown in Section 4. Finally, we give a conclusive remark in Section 5.2 Previous WorkThe DIBR format of 3D model stores the regular layout of 3D points in depth and texture images separately [1][8]. This representation is similar to the relief texture [3] in that the pixel values represent the distance of 3D point from the camera plane and the point’s color, respectively. Rendering of DIBR can be done by usual 3D warping algorithm [2] which requires geometric transformations and splatting in screen space. However, splatting is slow since it could not be accelerated by hardware so far.564 M.H. Lee and I.K. ParkThere have been a couple of noticeable methodologies of image-based rendering: light field rendering and point-based rendering. Although light field rendering and its extension, i.e. surface light field [4][6], can provide high quality rendering results with varying illumination, the application of this approach is a bit impractical since we need too many input images and the amount of data to handle is huge. Therefore, in this paper, we focus on the ‘multiview’ image-based rendering in which only a few images are used as the reference image. Based on this idea, point-based rendering [5] is an off-the-shelf rendering method for image-based rendering. The common point is that both use 3D point as the rendering primitive, while the main difference is points are arranged as the regular grid structure in image-based rendering. GPU acceleration of point-based rendering has been reported in a few previous works [7][9], in which point blending, splat shape and size computation problem have been addressed.A noticeable previous work is Botsch and Kobbelt’s GPU-accelerated rendering framework for point-sampled geometry [7]. In order to provide high visual quality and fast rendering together, they performed most of the major procedures of point-based rendering on GPU, including splat size and shape computation, splat filtering, and per-pixel normalization. Although their general framework can be applied to image-based rendering, the proposed approach has more customized framework for DIBR data, utilizing fast texture buffer access inside GPU.3 Proposed ApproachIn this paper, we propose the method for rendering of DIBR object using GPU accel-eration. The proposed approach consists of a sequence of reference data setting, pro-jective transformation, surface reflection computation, and point splatting, which will be described in detail in the following subsections.3.1 Caching Reference Images on Texture BufferDIBR data is well-suited for GPU-based acceleration since the reference images can be regarded as texture data and set on the texture buffer on graphic card. Compared with conventional method in which geometry primitives are stored in system memory or partially in video memory, this scheme reduces heavy traffics on AGP bus signifi-cantly and therefore increases the frame rate. In other words, all the further processing including transformation, shading, and splatting are performed by GPU. This allevi-ates the burden of CPU, letting it devote to other non-graphic processes.In order to access the texture buffer in vertex shader, new feature of the Native Shader Model 3.0, i.e. Vertex Texture fetch [13], is employed. Vertex Texture allows us to access the texture data just as fragment shader does. One problem in Vertex Texture is that the maximum number of texture which vertex shader can access is limited to only four. However, since at least twelve (cube map) and usually more reference images are used in DIBR, all the reference images cannot be loaded on the texture buffer together. In order to solve the problem, the reference images are recon-figured into a few texture images less than five. In Figure 2(a) and 2(b), 32 referenceAccelerating Depth Image-Based Rendering Using GPU 565(a) (b) (c) Fig. 2. Merged reference images and normal map for Vertex Texture. The resolution is 1024x1024. The resolution of individual reference image is 256x256. (a) Merged depth image. (b) Merged color image. (c) Normal map computed from (a) and (b).images are merged into two reference images, one for depth image and the other for color (texture) image. They are fed onto the Vertex Texture using standard OpenGL commands. Further geometric processing is performed by the commands in the vertex shader codes.3.2 Geometric Transformation and LightingGeometric transformation consists of three intermediate transformations, i.e . refer-ence-to-world coordinates, world-to-camera coordinates, and camera projection trans-formation. Since the camera position and viewing direction constantly changes, the(a) (b) (c)(d) (e) (f) Fig. 3. Real test data [10]. Each resolution is 2048x1536. (a) Break-dance – Color. (b) Break-dance – Depth. (c) Break-dance – Normal map. (d) Ballet – Color. (e) Ballet – Depth. (f) Ballet – Normal map.566 M.H. Lee and I.K. Parkfirst transformation is the only one which remains unchanged. The total transforma-tion matrix is computed and assigned in the vertex shader.Normal vectors are computed in the preprocessing stage using the 4-neighbor pix-els of depth image. Since they should be used to compute the surface shading by light models, they should be transferred somehow to the vertex shader. In our approach, the normal map is constructed for each point in the reference images. In the normal map, (x, y, z) elements of the normal vector are scaled to [0, 255] and stored in RGB chan-nel of the normal map. Thus, the normal map is eventually another texture data which can be set onto the texture buffer in the video memory. In Figure 2(c), the normal map which corresponds to the reference image in Figure 2(a) and 2(b) is shown in the RGB color image format. Subsequently, the vertex shader can access the normal map and use it to compute the surface lighting of each point. In our implementation, the common Phong illumination model is used in order to compare the performance with the fixed-function state pipeline, although any other illumination model can be adopted. In result, the proposed method of surface lighting is very efficient, in that what have to do is just fetch the Vertex Texture which is a small communication be-tween GPU and video memory.4 Experimental ResultsIn order to evaluate the performance of the proposed approach, the experiment has been carried on the synthetic DIBR data shown in Figure 2 and the real calibrated color-depth pair image set shown in Figure 3.4.1 Experiments SetupThe experiments are performed on NVIDIA GeForce 7800GTX GPU and 2.0GHz AMD Athlon64 CPU with 2GB memory. The codes are written based on GLSL (GL shading language [11]) which has been included formally in OpenGL 2.0 [12].4.1.1 Implementation OverviewIn Figure 4, the block diagram of the developed rendering framework is shown. In the main program, the reference images are reconfigured first, yielding less than five textures. Next, normal maps are also computed from the depth images. The reconfigured reference images and the normal maps are set as the vertex textures and stored in the video memory, which will be accessed in the vertex shader. Finally, the reference-to-screen transformation matrices are computed and set ready for use in the vertex shader.4.1.2 Vertex and Fragment ShaderVertex shader performs the per-vertex operations for geometric transformation, surface reflection, and splat size computation. All the data required for those operations are fetched from Vertex Texture cache, therefore there is little data traffic between GPU and system memory which was usually a bottleneck in the conventional rendering system.In the fragment shader, the per-pixel operations are performed to compute the final pixel color in the frame buffer. The output of the vertex shader is transferred to theAccelerating Depth Image-Based Rendering Using GPU 567Fig. 4. Block diagram of the developed rendering frameworkfragment shader, which includes the position in screen coordinates, the albedo in surface reflection, and the splat size. According to the splat size, each individual pixel is usually overlapped by a few splats. The fragment shader performs each splat’s color computation using Phong illumination model and blends those overlaps, yield-ing smooth filtering effect across the whole target image.4.2 Rendering ResultsThe rendering speed of the proposed approach is compared with that of the conven-tional methods. The statistical summary is given in Table 1 and 2. As shown in the tables, in contrast to the software rendering and the conventional OpenGL render-ing, it is observed that the rendering frame rate increases remarkably. Shader-based rendering shows more than 6 times faster than OpenGL-based rendering. The main difference from the conventional OpenGL rendering is where the splat size is com-puted; there is no way to accelerate it unless the shaders are used. In our implemen-tation, the splat size is computed as inversely proportional to the distance from the view point. The proportional coefficient is found empirically and further intensive research is required to find the optimal splat size which would be best for any DIBR data.The effect of dynamic illumination is shown in Figure 5. The left image is the re-sult of the conventional DIBR rendering, which has no surface lighting effect. On the contrary, the proposed method enables the lighting effect and it increases the photore-alism much. In Figure 5 (b), the light position is approximately at the lower-left cor-ner of the model, yielding the shown reflection pattern.In Figure 6, a rendered example of splat size control is shown. It can be clearly seen that nearer surface has larger splats (magnification in lower-right corner) while farther surface has smaller splats (magnification in upper-left corner).Vertex shader Fragment shader Main Program568 M.H. Lee and I.K. ParkTable 1. Comparison of rendering speed (Synthetic DIBR data [8]) Frames Per Second (FPS), Mega Points Per Second (MPPS)# of ReferenceImages # of pointsShader OpenGL Software 559.84 94.17 14.59 4 45,012 25.19 4.24 0.66310.18 50.96 7.89 9 83,521 25.74 4.23 0.65152.32 25.25 3.93 16 167,980 25.44 4.22 0.66Table 2. Comparison of rendering speed (Real image data – Ballet [10]) Frames Per Second (FPS), Mega Points Per Second (MPPS)# of ReferenceImages # of points Shader OpenGL Software 33.7 5.44 0.85 1 786,432 26.35 4.25 0.678.29 1.35 0.22 4 3,145,728 26.02 4.23 0.694.78 0.78 0.12 8 6,291,456 30.04 4.87 0.77(a) (b) Fig. 5. Result of surface lighting. (a) Without surface lighting. (b) With surface lighting.Fig. 6. An example of controlling splat sizeAccelerating Depth Image-Based Rendering Using GPU 569 5 ConclusionIn this paper, we presented a practical method of GPU-based DIBR object rendering. By employing the new features of modern graphic processing unit and programmable shader support, we developed an efficient hardware accelerated rendering algorithm of image-based 3D object. The rendering speed increased remarkably compared with software-based rendering and conventional OpenGL-based rendering.Future research will be focused on the optimization of the splat shape and size should be performed. Furthermore, given a 3D model, it will be also valuable to de-sign an efficient algorithm to select the optimal set of reference images, which would minimize the number of reference images.AcknowledgementThis work was supported by Korea Research Foundation Grant funded by Korea Government (MOEHRD, Basic Research Promotion Fund) (KRF-2005-003D00320). Referencesrmation Technology – Coding of Audio-Visual Objects – Part 16: Animation Frame-work eXtension (AFX), ISO/IEC Standard JTC1/SC29/WG11 14496–16: 2003.2.L. McMillan and G. Bishop, “Plenoptic modeling: An image-based rendering system,”Proc. SIGGRAPH ’95, pp. 39–46, Los Angeles, USA, August 1995.3.M. Oliveira, G. Bishop, and D. McAllister, “Relief textures mapping,” Proc. SIGGRAPH’00, pp. 359–368, July 2000.4. D. Wood et al, “Surface light fields for 3D photography,” Proc. SIGGRAPH ’00, pp. 359–368, July 2000.5.M. Zwicker, H. Pfister, J. Van Baar, and M. Gross, “Surface splatting,” Proc. SIGGRAPH’01, pp. 371-378, Los Angeles, USA, July 2001.6.W. Chen et al, “Light field mapping: Efficient representation and hardware rendering ofsurface light fields,” ACM Trans. on Graphics. 21(3): pp. 447-456, July 2002.7.M. Botsch and L. Kobbelt, “High-quality point-based rendering on modern GPUs,” Proc.11th Pacific Conference on Computer Graphics and Applications, October 2003.8.L. Levkovich-Maslyuk et al, “Depth image-based representation and compression for staticand animated 3D objects,” IEEE Trans. on Circuits and Systems for Video Technology, 14(7): 1032-1045, July 2004.9.R. Pajarola, M. Sainz, and P. Guidotti, “Confetti: Object-space point blending and splat-ting,” IEEE Trans. on Visualization and Computer Graphics, 10(5): 598-608, Septem-ber/October 2004.10. C. Zitnick et al, “High-quality video view interpolation using a layered representation,”ACM Trans. on Graphics, 23(3): 600-608, August 2004.11.R. Rost, OpenGL® Shading Language, Addison Wesley, 2004.12.J. Leech and P. Brown (editors), The OpenGL® Graphics System: A Specification (Ver-sion 2.0), October 2004.13.NVIDIA GPU Programming Guide Version 2.2.0, /object/gpu_programming_guide.html。

相关文档
最新文档