研究文章|gydF4y2Ba开放获取gydF4y2Ba
j·p·卢克,f·佩雷斯·纳瓦,j·g . Marichal-Hernandez j . m . Rodriguez-Ramos f·罗莎gydF4y2Ba,gydF4y2Ba ”gydF4y2Ba接近实时估计Super-resolved深度和All-In-Focus Plenoptic相机的图片使用图形处理单元gydF4y2Ba”,gydF4y2Ba国际期刊的数字多媒体广播gydF4y2Ba,gydF4y2Ba 卷。gydF4y2Ba2010年gydF4y2Ba,gydF4y2Ba 文章的IDgydF4y2Ba942037年gydF4y2Ba,gydF4y2Ba 12gydF4y2Ba 页面gydF4y2Ba,gydF4y2Ba 2010年gydF4y2Ba。gydF4y2Ba https://doi.org/10.1155/2010/942037gydF4y2Ba
接近实时估计Super-resolved深度和All-In-Focus Plenoptic相机的图片使用图形处理单元gydF4y2Ba
文摘gydF4y2Ba
深度范围内的摄像头是一种很有前途的解决方案3 dtv生产链。彩色图像的生成与伴随的深度值简化了传输带宽问题于3 d和收益率直接输入自动立体显示。最近的事态发展在plenoptic摄像机可以引入3 d相机操作类似传统相机。plenoptic相机3 dtv的使用一些好处对基于双立体相机的3 d捕捉系统由于没有几何和色彩校准或帧同步的必要性。本文提出一种方法,同时恢复深度和all-in-focus plenoptic相机的图片在附近实时使用图形处理单元(gpu)。以前的三维重建方法使用plenoptic图像空间分辨率低的缺点。这种方法克服了这一不足在并行硬件开发获取实时三维重建,并最终的空间分辨率gydF4y2Ba像素。这项决议适用于作为输入一些自动立体显示目前在市场上,表明基于plenoptic实时3 d摄像机技术是可行的。gydF4y2Ba
1。介绍gydF4y2Ba
电视问世以来,一直努力工作,提高观众的整体体验。改进的颜色、图像质量和音质造成了一个增强的观看体验。相信三维(3 d),使人们看电视内容在三维空间中进化的下一步是电视。3 dtv的支持者认为,它将给观众带来更自然的家庭娱乐和栩栩如生的视觉经验(gydF4y2Ba1gydF4y2Ba]。尽管有几次试图发起3 dtv [gydF4y2Ba2gydF4y2Ba)在过去的几十年里,它的引入被认为是变得越来越可行由于最近的技术和进步相机领域的发展,图像处理和显示的设计。gydF4y2Ba
3 dtv的完整的技术解决方案必须考虑整个生产链涉及内容创作、编码、传输和显示(gydF4y2Ba3gydF4y2Ba]。与传统电视相比,3 dtv捕获多视图的信息为了重建三维场景信息。大多数3 d材料拍摄使用的双摄像头配置或使用数组也推出的相机。这个3 d材料涉及的存储和传输大量的数据,因为一个立体图像包含多个视图。因此,一个相当大的努力参与了数字图像压缩为了获得节省带宽和存储容量。这是特别相关的3 d高清电视的情况下,在一个未压缩的高清电视频道可能消耗1 Gbit / s的传输带宽,或在3 d视频传输低带宽传输渠道,如互联网(gydF4y2Ba4gydF4y2Ba,gydF4y2Ba5gydF4y2Ba]。兼容现有的广播系统,双传输所需要的带宽将左眼和右眼的双摄像头的观点。使用深度范围相机记录附带的RGB图像和深度值每像素(2 d +深度格式)克服了这种带宽问题。有几个在这个地区发展:活跃相机像Axi-Vision NHK (gydF4y2Ba6gydF4y2Ba由3 dv[]或Z-camgydF4y2Ba7gydF4y2Ba]或被动相机像CAFADIS plenoptic飞(gydF4y2Ba8gydF4y2Ba,gydF4y2Ba9gydF4y2Ba]。尽管这是一个前景看好的领域,仍有一些挑战精确恢复深度有足够的空间和距离分辨率,观看舒适度至少是与传统的2 d电视。传播图像显示在立体或自动立体显示器(gydF4y2Ba10gydF4y2Ba]。立体显示要求观众戴一个光学设备(例如,偏振眼镜,快门眼镜)直接左右眼图像到适当的眼睛,在分离技术用于auto-stereoscopic显示集成到显示屏。gydF4y2Ba
立体视觉的发展显示,接受标准的2 d +深度格式(gydF4y2Ba11gydF4y2Ba]使可能的一个简单的解决方案3 dtv生产链相机基于最近开发的深度范围。这个解决方案是向后兼容传统的广播电视和确保逐步从一个系统转换到另一个。gydF4y2Ba
本文地址创建使用一个深度范围plenoptic网络摄像头3 d内容。很明显,3 dtv的引入条件的存在足够的3 d内容可以显示观众。内容创建过程需要的能力,捕捉场景实际使用计算机生成图形或重新创建它们。于3 d捕捉真实的场景需要一个重要的技术工作。多视图获得的信息必须与两个或两个以上的摄像头和数组处理,以获得必要的三维信息。相机阵列的使用不是一个便携解决方案,可以阻碍拍摄过程。相机阵列的另一个缺点是需要几何和色彩校准或相机之间的帧同步。是需要做3 d捕捉设备的尺寸类似传统的电视摄像机。一个这样的设备获取多视图信息,哪些不需要校准是一个plenoptic网络摄像头gydF4y2Ba8gydF4y2Ba,gydF4y2Ba9gydF4y2Ba]。Plenoptic相机使用微透镜阵列背后的主要镜头来捕捉多个视图,生成lightfield图像记录的光辉和方向所有场景中的光线。使用lightfield形象,可以使用几种方法生成焦堆栈(gydF4y2Ba12gydF4y2Ba- - - - - -gydF4y2Ba15gydF4y2Ba]。焦堆栈作为输入的多视图立体深度估计算法。使用估计深度和焦堆栈,它是直接获取all-in-focus形象和场景的深度图。gydF4y2Ba
plenoptic相机的一个重要缺点是低分辨率图像的生成由于spatioangular lightfield抽样(gydF4y2Ba16gydF4y2Ba]。角信息记录结果在一个小的输出图像与传感器相比产生的大小。方法基于超限分辨技术,克服这个空间分辨率限制最近提出(gydF4y2Ba17gydF4y2Ba,gydF4y2Ba18gydF4y2Ba];然而,这样的方法太时间密集型实时执行一个普通的CPU。解决方案实现的实时需求3 dtv的使用并行技术,增加了计算处理能力。近年来,图形处理单元(GPU)经历了巨大的变化,成为并行协处理器,用于执行通用计算与显著加速gydF4y2Ba19gydF4y2Ba]。在本文中,我们描述一个实现超分辨率的gpu和距离提取算法提出了(gydF4y2Ba18gydF4y2Ba]。gydF4y2Ba
本文的其余部分划分如下:在部分gydF4y2Ba2gydF4y2Ba我们现在获得all-in-focus和深度图像的超分辨率技术。multi-GPU实现的细节部分中解释gydF4y2Ba3gydF4y2Ba。部分gydF4y2Ba4gydF4y2Ba给出了一些实验结果,最后一节gydF4y2Ba5gydF4y2Ba包含了一些结论和未来的工作。gydF4y2Ba
2。同时超限分辨深度和All-In-Focus来自Plenoptic摄像机的图像gydF4y2Ba
在本节中,我们提出一种超分辨率技术(gydF4y2Ba18gydF4y2Ba)产生深度和all-in-focus来自plenoptic摄像机的图像。这项技术是基于超分辨率离散焦堆栈变换(SDFST)生成一个焦点堆栈,估计三维深度处理。这估计用于获得all-in-focus深度图像。本节我们提出整个过程。gydF4y2Ba
2.1。焦堆栈变换(置)gydF4y2Ba
SDFST是一个扩展焦栈的变换(gydF4y2Ba12gydF4y2Ba,gydF4y2Ba13gydF4y2Ba)处理lightfield图像从plenoptic相机并生成图像聚焦在一个预期的正面图。置基于摄影变换(gydF4y2Ba12gydF4y2Ba]从lightfield产生传统2 d照片。介绍摄影变换需要参数化定义的lightfield所有的光线在一个相机。我们使用2个飞机参数化写gydF4y2Ba的光辉从位置gydF4y2Ba(撇号意味着转置)透镜平面上的位置gydF4y2Ba在传感器平面。gydF4y2BaFgydF4y2Ba镜头和传感器之间的距离(参见图吗gydF4y2Ba1gydF4y2Ba改编自(gydF4y2Ba12gydF4y2Ba])。gydF4y2Ba
的lightfieldgydF4y2Ba可以用来计算传统2 d在任何深度的照片吗gydF4y2Ba。让gydF4y2Ba转换一个lightfield操作员gydF4y2Ba在传感器的深度gydF4y2Ba照片在传感器的深度gydF4y2Ba,那么摄影操作符可以写成(gydF4y2Ba12gydF4y2Ba]gydF4y2Ba 这个方程显示了如何计算gydF4y2Ba从lightfield在不同的深度gydF4y2Ba。当照片是计算每个传感器的深度gydF4y2Ba,我们获得焦点堆栈变换gydF4y2Balightfield定义为(gydF4y2Ba13gydF4y2Ba]gydF4y2Ba
只plenoptic相机捕捉lightfield的离散样本。我们将假定plenoptic相机组成gydF4y2Ba微透镜和每个人都生成一个gydF4y2Ba的形象。一个离散lightfield捕获plenoptic摄像头如图gydF4y2Ba2gydF4y2Ba(gydF4y2Ba12gydF4y2Ba]。获得焦点变换的离散版本需要插入lightfieldgydF4y2Ba和离散化积分(gydF4y2Ba1gydF4y2Ba)。有几个执行此插值技术(gydF4y2Ba12gydF4y2Ba- - - - - -gydF4y2Ba15gydF4y2Ba]。这些技术的共同结果是焦栈是由图像组成的gydF4y2Ba像素。几个焦点栈可以构建取决于应用程序。我们可以用lightfield的光辉gydF4y2Ba获得普通焦堆栈,措施集中获取拉普拉斯算子的局部堆栈(gydF4y2Ba13gydF4y2Ba,gydF4y2Ba15gydF4y2Ba),或photoconsistency得到方差焦堆栈的措施。gydF4y2Ba
(一)gydF4y2Ba
(b)gydF4y2Ba
介绍超分辨率焦堆栈需要展示如何计算离散lightfield摄影上变换。为了简化表示,超分辨率技术2 d,而不是3 d所示。结果的扩展到3 d很简单。在二维情况下,计算摄影变换(gydF4y2Ba1gydF4y2Ba在传感器的深度)gydF4y2Ba有必要在lightfield计算线积分。为每个gydF4y2BangydF4y2Ba像素的gydF4y2Ba轴,一个传感器的深度gydF4y2Ba生成一个线穿过gydF4y2Ba边坡是由谁的gydF4y2Ba(见图gydF4y2Ba3gydF4y2Ba)。由于线是连续的,近似积分我们必须和所有行和插入像素位置上的值并不是可用的。gydF4y2Ba
2.2。超限分辨离散局部堆栈变换gydF4y2Ba
超分辨率扩展焦点变换(SDFST)是基于执行焦点堆栈变换为一组不同的线。选择这个新组行解释在图gydF4y2Ba4gydF4y2Ba。gydF4y2Ba
新的线的斜率是一个扩展的初始行相同的斜率。这组新的经过每一个点的离散lightfield,不仅通过点gydF4y2Ba设在。在上面的例子中,这些线相交gydF4y2Ba设在我们看到,我们现在有两倍的分辨率和以前一样(参见数据的虚线gydF4y2Ba3gydF4y2Ba和gydF4y2Ba4gydF4y2Ba)。超分辨率算法只使用的样本完全在每一行和获得扩展的决议(使用下面的定理和推论gydF4y2Ba18gydF4y2Ba]。gydF4y2Ba
定理1。gydF4y2Ba给定一个lightfieldgydF4y2Ba,gydF4y2Ba ,gydF4y2Ba,gydF4y2Ba,gydF4y2Ba,gydF4y2Ba,gydF4y2Ba,gydF4y2Ba,如果我们垫gydF4y2Ba与gydF4y2Bazero-columns两边的gydF4y2Ba设在,焦堆栈图像超分辨率的斜率gydF4y2Ba有gydF4y2Ba分gydF4y2Ba,在那里gydF4y2Ba是最大公约数(最大公约数)的gydF4y2Ba和gydF4y2Ba。gydF4y2Ba
推论2。gydF4y2Ba前面的定理的条件下斜坡的集合gydF4y2Ba可以生成一个超分辨率焦栈gydF4y2Ba 在每个图像像素。gydF4y2Ba
因此,最终的分辨率大约是gydF4y2Ba,全面解决传感器的一半。上述结果的扩展到3 d使用方孔和微透镜是微不足道的。最后的决议,在这种情况下大约是完整的决议除以4。在实际plenoptic图像分辨率有点低的圆形微透镜及其边缘效应。超分辨率算法计算图像的焦点堆栈算法所示gydF4y2Ba1gydF4y2Ba(gydF4y2Ba18gydF4y2Ba]。gydF4y2Ba
|
||||||||||||||||
在算法gydF4y2Ba1gydF4y2Ba,gydF4y2Ba和gydF4y2Ba显微镜头的坐标和坐标的像素在其显微镜头,分别。gydF4y2BaggydF4y2Ba是最大公约数。gydF4y2Ba)。如前面所示定理,为了最大化价值的空间分辨率gydF4y2BaggydF4y2Ba必须等于1。焦栈的每架飞机与之关联的斜率gydF4y2BaugydF4y2Ba/gydF4y2BaxgydF4y2Ba集成算法gydF4y2Ba1gydF4y2Ba为每架飞机执行。gydF4y2Ba在采样lightfield离散点。gydF4y2Ba一个像素的坐标在焦堆栈飞机吗gydF4y2Balightfield数据积累终于给照片集中在深度与斜率有关吗gydF4y2Ba。gydF4y2Ba
完整的超分辨率的计算复杂度focal-stack在3 d的情况下gydF4y2Ba。gydF4y2Ba
算法的结果lightfield区域图gydF4y2Ba2gydF4y2Ba如图gydF4y2Ba5gydF4y2Ba。算法计算super-resolved焦堆栈,生成几个相同的对象集中在不同深度的照片。由此产生的图像有一个25岁gydF4y2Ba空间分辨率放大基于plenoptic相机(对以前的方法gydF4y2Ba12gydF4y2Ba- - - - - -gydF4y2Ba15gydF4y2Ba]。gydF4y2Ba
2.3。多视图立体超限分辨局部堆栈gydF4y2Ba
多视图立体算法作用于方差焦堆栈和能够获得gydF4y2BatgydF4y2Ba×gydF4y2BatgydF4y2Ba深度估计(gydF4y2Ba),gydF4y2Ba不同的价值观和深度gydF4y2Baall-in-focus形象。方差焦堆栈是基于photoconsistency假设(PA)即射线的辐射3 d点在各个方向都是一样的(传感器的模型)。测试PA假设所有点的方差来衡量每一行(见图gydF4y2Ba4gydF4y2Ba)。多视图立体算法使用这个方差衡量选择的最佳深度。一个简单的方法来解决多视图的音响问题将是为每个像素选择方差较小的线。然而众所周知,假设是必要的,如果要取得良好的效果。假设表面光滑可以使用方差焦堆栈和马尔可夫随机场(MRF)的方法来获得最优深度通过最小化能量函数(gydF4y2Ba20.gydF4y2Ba]。能量函数由一个数据项gydF4y2Ba和一个平滑项gydF4y2Ba,gydF4y2Ba,参数gydF4y2Ba每一项的相对重要性。数据项是简单的单像素数据的成本之和,gydF4y2Ba,在那里gydF4y2Ba像素方差衡量吗gydF4y2Basuperresolved形象和gydF4y2Ba是一个特定的斜率(参见图吗gydF4y2Ba4gydF4y2Ba)。平滑项是基于四连接每个像素,可以写成的邻居gydF4y2Ba在哪里gydF4y2Ba和gydF4y2Ba两个相邻的像素。gydF4y2Ba被定义为gydF4y2Ba
层次的信念传播(BP)的方法(gydF4y2Ba20.gydF4y2Ba)是用于优化能量函数gydF4y2Ba。该算法通过消息在四连接图像网格在迭代过程中使用以下信息更新规则:gydF4y2Ba
在哪里gydF4y2Ba消息从像素gydF4y2Ba对像素gydF4y2Ba的差距gydF4y2Ba在迭代gydF4y2Ba和gydF4y2Ba
在哪里gydF4y2Ba是像素的四个相连的邻居吗gydF4y2Ba和gydF4y2Ba。一旦迭代过程完成后固定数量的gydF4y2Ba迭代,计算每个像素的信念向量gydF4y2Ba
和的值gydF4y2Ba导致最低的gydF4y2Ba选为最佳的深度。gydF4y2Ba
一般的信念传播算法的需要gydF4y2Ba每个消息,计算时间gydF4y2Ba是标签的数量在每个像素(gydF4y2Ba深度的水平在我们的例子中)。许多技术可以用来减少算法的计算和内存需求(gydF4y2Ba21gydF4y2Ba]。消息可以计算gydF4y2Ba时间考虑的特定结构gydF4y2Ba功能和修改消息更新规则gydF4y2Ba
一个迭代的计算复杂度的信念传播算法在三维情况下gydF4y2Ba使用这个线性更新规则。gydF4y2Ba
两偶图的方法也可以用来计算消息更快,减少一半的内存需求。最后层次方法也可以用来计算消息更新,因为它比一般BP运行更快而产生类似的准确性。层次之间的主要区别一般英国石油公司和英国石油公司是分层BP在而且工作方式,首先执行BP在粗尺度,然后用粗尺度的输出初始化输入规模。gydF4y2Ba
3所示。实现在Multi-GPUgydF4y2Ba
近年来,图形硬件的发展朝着大规模并行协处理器,用于执行通用计算。gpu特别适合问题要求高的方式来表述数据并行处理的计算算法强度(gydF4y2Ba19gydF4y2Ba]。这意味着相同的程序可以使用一个SIMD并行执行在不同的数据元素(单指令多数据)编程模型,加速计算。此外,多个gpu可以用于提高并行计算的好处。许多算法在GPU上实现,结果往往会产生显著的加速顺序CPU实现相同的算法。在GPU上每个数据元素必须映射到并行处理的线程上执行一个SIMD架构。这需要一种不同的方法比顺序实现。gydF4y2Ba
直到现在,GPU通用处理是通过图形API使用材质语言。这使编程非常棘手,因为图形原语被用来实现nongraphic算法,导致的开销。最近,nVidia CUDA发布(统一计算设备架构)gydF4y2Ba22gydF4y2Ba),这是一个通用并行计算架构的可伸缩的编程模型中可用的最新一代的nVidia图形硬件。这种编程模型结构以这样一种方式,每个GPU并行处理多个线程执行的内核函数。CUDA内核与片段着色器有许多相似之处,这使流处理。然而,CUDA构思通用并行处理,消除图形API的开销,还包括一些特性的并行处理线程同步和随机存取内存写,也称为散射。执行内核函数的线程阻塞线程被分组到一个网格。每个线程都被一块标识符和一个线程块内的标识符。标识符可以是多维的,三维的。在核函数,线程标识符是用来确定哪些输入数据部分将被处理。gydF4y2Ba
内存的访问可能在多个内核内存空间中执行。每个线程都有一个私人地方的记忆。每个块都有一个为其所有线程共享内存块的生命周期内。最后,线程可以访问全局内存所有线程之间共享。全局内存是不缓存,但是通过使用方便的内存访问模式合并各种内存访问到一个更快和将数据共享内存,性能可以明显改善。gydF4y2Ba
使用多个与CUDA gpu来提高计时结果也是可能的。然而,它是程序员的责任设计任务是如何将gpu的。在理想的情况下,问题可以分为独立的部分可以并行处理,从而消除了gpu之间的通信的需要。如果是gpu之间传输数据,它导致的开销。减少数据传输是非常重要的,因为他们是非常耗时的。在传统并行编程,增加更多的处理器(gpu)也会导致更多的通信开销。gydF4y2Ba
我们使用CUDA实现部分中描述的算法gydF4y2Ba2gydF4y2BamultiGPU个人电脑上配备两英伟达9800 gx2卡片,每个都有两个gpu。四个gpu共有512个流处理器。gydF4y2Ba
在multi-GPU实现并行执行的有两个层次:在GPU多线程执行和GPU之间的并行性。输入数据的不同部分必须安排在可用的gpu,最小化gpu之间的数据传输。gydF4y2Ba
我们决定将输入分成部分重叠区域。调度方案如图gydF4y2Ba6gydF4y2Ba。它由一个输入数据的分解,对每个处理步骤,主要是独立的GPU,改写的部分解决方案获得全球解决方案。gydF4y2Ba
首先,lightfield输入数据从主机转移到GPU和一些重叠。这种重叠允许我们计算均值和方差焦栈gpu之间没有任何数据传输通过执行一些冗余计算。结果是一个地区每个GPU上重叠的局部堆栈。gydF4y2Ba
同样的方法现在可以紧随其后的信念传播步骤,但gpu之间消息的传递是不可避免的。在每个迭代中,一些信息对应的边缘部门必须gpu之间交换。一次迭代过程完成后,部分的深度图和all-in-focus获得的图像是每个GPU。最后部分结果将被传递回足够的位置在主机内存产生整个结果。gydF4y2Ba
每个GPU数据处理由几种内核执行如图gydF4y2Ba7gydF4y2Ba。第一步计算super-resolved均值和方差焦堆栈。然后执行两级层次的信念传播使用方差焦堆栈。信仰传播迭代部分组成的消息传递的执行内核。一定数量的迭代后跳转到下一个水平,再次发生类似的迭代过程。然后信念函数最小化获得super-resolved深度地图。最后,all-in-focus使用深度图生成图像和焦堆栈。gydF4y2Ba
3.1。并行的SDFSTgydF4y2Ba
节中给出的算法的仔细检查gydF4y2Ba2.2gydF4y2Ba显示每个焦堆栈数据元素的计算只需要一组输入像素从离散lightfield plenoptic相机捕获。这意味着每个焦堆栈数据元素可以并行计算如果可以同时读lightfield数据。gydF4y2Ba
开发一个高效的访问计划,有必要找到一个输入和输出之间的映射元素。向前映射关系的输入元素从lightfield输出像素焦堆栈,均值和方差的积累。这种方法的伪代码中使用部分gydF4y2Ba2.2gydF4y2Ba。反向映射,另一方面,与输出内存位置输入内存lightfield的位置,这样可以确定必要的输入像素对于一个给定的输出像素的位置。gydF4y2Ba
全局内存带宽使用更有效地在CUDA的线程内存访问可以合并在一个内存访问。nVidia gpu计算能力1.1必须按顺序访问内存地址,这样gydF4y2BajgydF4y2Ba线程访问的内存位置gydF4y2BajgydF4y2Ba实现合并。检查映射,可以看出顺序存取只能一边的映射。向前映射的输入可以访问的顺序模式和输出积累更新uncoalesced读/写访问。如果使用反向映射,输入数据的阅读是uncoalesced和可以执行一个合并输出写访问。每个线程可以计算累积在寄存器,然后将结果写入全局内存。所以向后映射更为充足的,因为它需要更少的内存访问在uncoalesced端。gydF4y2Ba
考虑到正向映射gydF4y2Ba反向映射gydF4y2Ba
一旦确定反向映射,每个CUDA线程负责计算一个像素的均值和方差的积累焦堆栈。每个线程标识gydF4y2Ba。使用的逆映射(gydF4y2Ba8gydF4y2Ba),一组gydF4y2Ba对,gydF4y2Ba和gydF4y2Ba,决定从gydF4y2Ba。Lightfield值为每个gydF4y2Ba对加载和积累。平方值也积累。然后方差和均值焦堆栈。gydF4y2Ba
3.2。并行化的信仰传播gydF4y2Ba
信念传播算法非常适合GPU的并行实现。存在一些实现使用材质语言(gydF4y2Ba23gydF4y2Ba,gydF4y2Ba24gydF4y2Ba]。CUDA实现也可以发现(gydF4y2Ba25gydF4y2Ba]。这些GPU实现显示CPU实现显著加快。gydF4y2Ba
研究线性时间的消息更新规则(gydF4y2Ba7gydF4y2Ba),可以看出每个输出消息只取决于输入消息的相邻像素在前面的迭代和当前像素的数据项。没有依赖其他的部分结果。这意味着消息更新在相同的迭代可以映射容易在CUDA执行模型。gydF4y2Ba
必须特别注意在迭代的实现消息传递因为这个过程是非常耗时的。gydF4y2Ba
两偶图的方法是用于提高消息传递步骤的加快(gydF4y2Ba21gydF4y2Ba]。图像像素组分成两个不相交的子集,A和B(棋盘模式),所以只取决于消息发送消息从B在前面的迭代中,反之亦然。这使得计算设定一个奇怪的迭代和消息的消息集合B的迭代。当解收敛它可以假设gydF4y2Ba这可以由两组一个最终的解决方案。这个的优点是在每次迭代中只有一半的消息必须计算,它允许两倍的速度或执行迭代次数的两倍。内存需求也减少一半,因为消息可以计算。gydF4y2Ba
消息必须适当的组织,以支持合并的内存访问。也方便在共享内存,一旦获得结果写回全局内存。解释记忆组织是有用的在多维矩阵描述内存寻址。从先前的迭代中传入的消息存储在一个gydF4y2Bafloat4gydF4y2Ba结构。不同的内存组织可以用来获得线性地址从一个三维坐标gydF4y2Ba,在那里gydF4y2BaxgydF4y2Ba和gydF4y2Ba焦栈的空间坐标和吗gydF4y2Ba代表了深度的水平。在组织记忆的差异本质上是由于坐标转换为线性时的顺序地址。gydF4y2Ba
在迭代过程中,必须gpu之间交换的消息。这意味着从一个GPU数据传输到主机内存和从主机内存到另一个GPU。它是方便减少调用的数量gydF4y2BacudaMemcpygydF4y2Ba函数执行数据传输。可以通过适当的组织在GPU内存的消息。一个适当的组织使用gydF4y2Ba点坐标,因为gpu之间的分区是由行和消息所有深度水平为每一行被转移。其他订购需要更多的内存副本因为深度水平不是存储在相邻的位置。gydF4y2Ba
接下来,消息传递规则的两种可能的实现方法进行了讨论。第一个使用并行方案计算最小化减少消息的更新规则(gydF4y2Ba4gydF4y2Ba)。第二种方法是类似于在[gydF4y2Ba25gydF4y2Ba)和消息传递中的顺序执行最小化内核。然而,在(gydF4y2Ba25gydF4y2Ba不同的表达gydF4y2Ba使用。gydF4y2Ba
在第一种方法中,每个线程块的计算(gydF4y2Ba5gydF4y2Ba),并将其存储在共享内存的深度水平。之后,所有线程在减少并行块合作方案计算gydF4y2Ba的子表达式(gydF4y2Ba7gydF4y2Ba)共同所有深度的水平。然后,每个线程都有计算(gydF4y2Ba7gydF4y2Ba),使用前面的深度水平获得全球最低。这个实现是有限的可用共享内存,但它的优点是顺序执行的线程块网格由CUDA安排,而不是由程序员。从内存的角度组织gydF4y2Ba订购似乎以来最充足的不同深度层次的信息存储在相邻的内存位置,可以载入联合访问。这个内存组织的数量也减少了gydF4y2BacudaMemcpygydF4y2Ba调用,减少gpu之间数据传输的开销。gydF4y2Ba
第二种方法实现顺序执行全球最低的消息更新规则(gydF4y2Ba25gydF4y2Ba]。在GPU上每个线程负责计算当前迭代的一个消息使用前一个消息。在那之后,对于每一个深度的水平gydF4y2Ba全球最小和之间的最小gydF4y2Ba计算。它提供的好处有一个更容易扩展,因为内核函数的编程更像传统的顺序程序设计。然而,由于每个线程计算为每个像素传出消息,是没有意义的线程之间共享数据。尽管共享内存仍然可以用于存储中间结果在消息计算,这就迫使以来每个块的线程数量的减少所需的内存增加。随着连续的编码风格,这对性能有负面影响。对于这种方法gydF4y2Ba协调订购更合适。然而,棋盘模式结果在只有奇数或偶数像素使用每一行的每一次迭代。这并不支持合并的内存访问,因为像素读取不相邻的内存位置。gydF4y2Ba
这两种方法的结果写入到相应的内存位置。这不能通过接合的内存访问,因为传出消息要分发给每个像素邻近像素的访问只有一个成员gydF4y2Bafloat4gydF4y2Ba结构。这个问题可以得到解决,除以gydF4y2Bafloat4gydF4y2Ba结构为单独的内存区域。然而,棋盘模式用于实现两偶图再次打破了聚结。gydF4y2Ba
经过一定数量的迭代算法跳跃到下一个层次水平和重复迭代消息传递规则。迭代过程完成后,信念函数必须最小化获得深度图。gydF4y2Ba
最终决定实施第一种方法,在于降低并行消息传递规则预计将产生更好的性能。gydF4y2Ba
4所示。结果gydF4y2Ba
本节讨论的一些结果与前面的章节中描述的技术。首先,一些图像和距离地图获得来自不同plenoptic图像显示方法的有效性提出高分辨率图像适合3 d高清电视。自的目标是生成图像适合商业3 dtv自动立体显示,输入更lightfield降低gydF4y2Ba被用来进行性能测试的GPU实现。对于这个lightfield一gydF4y2Baall-in-focus图像和深度地图为飞利浦WOVvx 20gydF4y2Ba显示生成(gydF4y2Ba11gydF4y2Ba]。最后,参数值的敏感性这一信念传播算法在三维重建进行了研究。gydF4y2Ba
4.1。实验结果gydF4y2Ba
在图gydF4y2Ba8gydF4y2Ba我们可以看到all-in-focus从超分辨率图像和深度估计焦堆栈和多视图立体使用lightfield图算法gydF4y2Ba2gydF4y2Ba。图gydF4y2Ba9gydF4y2Ba显示了一个地区从plenoptic形象gydF4y2Ba12gydF4y2Ba)比较放大的结果。上图显示了最近邻插值和中心显示了双立方插值后的图像gydF4y2Ba总关注图像与先前的计算方法。最后,下面的图片介绍了超分辨率技术的结果。结果显示细节和降噪的改善。还应该注意到,从理论的角度来看,超分辨率焦堆栈有效增加分辨率传感器的场景,因为每个像素在形成最终的图像数据直接从现场使用plenoptic相机记录。在插值技术的情况下创建新的像素值从邻近的值,而不需要直接的信息。gydF4y2Ba
(一)gydF4y2Ba
(b)gydF4y2Ba
(一)gydF4y2Ba
(b)gydF4y2Ba
(c)gydF4y2Ba
从其他lightfield数据更多的结果gydF4y2Ba12gydF4y2Ba)如图gydF4y2Ba11gydF4y2Ba为gydF4y2Balightfield图gydF4y2Ba10gydF4y2Ba。这表明,该方法也可以用于广泛的场景。gydF4y2Ba
(一)gydF4y2Ba
(b)gydF4y2Ba
(一)gydF4y2Ba
(b)gydF4y2Ba
可观测到的结果的主要缺点是低分辨率深度。这是由于每个显微镜头(背后的低数量的像素gydF4y2Ba)。这可以通过使用不同的解决plenoptic相机配置具有更高的价值gydF4y2Ba。gydF4y2Ba
4.2。性能测试gydF4y2Ba
研究实时三维重建的可行性plenoptic网络摄像头,一些性能措施获得multiGPU实现减少使用并行技术在消息传递的信念传播算法的步骤。gydF4y2Ba
与128年四个gpu,每个计算核心,被用来在执行计算gydF4y2Balightfield如图gydF4y2Ba12gydF4y2Ba,这是一个部分lightfield图gydF4y2Ba2gydF4y2Ba保证一个gydF4y2Ba像素输出。表gydF4y2Ba1gydF4y2Ba显示与4 gpu加速的结果对一个连续实现CPU上执行2.5 GHz的英特尔酷睿2四核。gydF4y2Ba
|
||||||||||||||||||||||||||||||||||||
这个顺序实现只有一个核心上执行,不使用特殊的指令集扩展,特定的代码优化,或外部库。程序编译使用GCC 4.1设置o3对代码优化开关。与每个GPU multiGPU实现使用一个核心。gydF4y2Ba
附近的结果表明,有四个gpu可以实现实时性能,如果我们考虑到视频帧速率是每秒24帧。gydF4y2Ba
考虑并行实现的另一个特性是可伸缩性。在理想的情况下,性能会增加线性的处理器数量。然而,在实践中有一些开销引起的处理器(gpu)之间的数据通信。研究造成的影响是很重要的开销随着gpu的数量增加,决定最优数量的gpu。显示实现的可伸缩性,不同数量的gpu的帧率是衡量,如图gydF4y2Ba13gydF4y2Ba。结果表明,帧速率增长是拟线性对处理器的数量四个gpu。然而,正如所料,增长率小于在理想的情况下。提高帧速率更充分的使用和记忆像nVidia Tesla gpu更多处理核心,因为这需要更少的交流同样的处理能力。gydF4y2Ba
性能也取决于输入的大小;所以必要的帧速率生成输出图像具有不同空间分辨率测量和描绘在图gydF4y2Ba14gydF4y2Ba显示可以达到的速度。gydF4y2Ba
理论算法的复杂度是O (gydF4y2BangydF4y2Ba2gydF4y2Ba×mgydF4y2Ba3gydF4y2Ba+ ngydF4y2Ba2gydF4y2Ba×mgydF4y2Ba3gydF4y2Ba×BP迭代gydF4y2Ba)。注意,当gydF4y2Ba米gydF4y2Ba的数量gydF4y2Ba英国石油(BP)迭代gydF4y2Ba是固定的,复杂度是O (gydF4y2BangydF4y2Ba2gydF4y2Ba)。在这种情况下,算法是线性的输出大小gydF4y2Ba。这个结果也显示了更高的分辨率达到令人满意的结果的可行性在不久的将来使用更多的计算能力。gydF4y2Ba
4.3。对BP算法的参数值gydF4y2Ba
信念传播算法的参数对最终的结果有很大影响。迭代的数量由实时需求和价值gydF4y2Ba必须进行调整,以获得令人满意的结果。较小的值gydF4y2Ba导致粗糙的深度地图,而高值gydF4y2Ba导致顺利的解决方案。gydF4y2Ba
现在让我们考虑算法的变化的敏感性gydF4y2Ba。因为真正的地面真值是未知的,相等的像素之间的比例选择质量好的参考深度地图(gydF4y2Ba)和深度地图获得的不同的值gydF4y2Ba计算。图gydF4y2Ba15gydF4y2Ba获得的结果显示了参数值影响。参数的变化在一个小范围的选择最优参数不产生显著不同的结果。gydF4y2Ba
图gydF4y2Ba16gydF4y2Ba表明深度值的数量不同于选择参考地图每像素深度地图。这让我们看到边界像素更受参数的影响。gydF4y2Ba
5。结论和未来的工作gydF4y2Ba
本文提出一种新颖的方法来获得一个3 d重建一个场景使用plenoptic网络摄像头。同时super-resolved深度地图和all-in-focus图像空间分辨率的缺点估计解决以往技术基于plenoptic相机。结果几个lightfields显示。gydF4y2Ba
实时执行的问题,也解决了使用多个gpu。实时的lightfield附近gydF4y2Ba是实现。由此产生的深度图和all-in-focus形象适合作为输入到飞利浦WOVvx 20gydF4y2Ba自动立体显示的空间分辨率800×600。这表明一个适当的组合与快速并行处理算法的硬件,如gpu,可以开发一个便携式plenoptic飞到2 d颜色+深度输出。gydF4y2Ba
plenoptic相机3 dtv的使用一些好处对基于双立体相机的3 d捕捉系统由于没有几何和色彩校准或帧同步的必要性。Plenoptic相机还提高了后期制作的过程因为可以轻易添加特效与合成内容场景因为深处是已知的。这将使它更容易结合真实和合成场景。它会导致更低的后期制作成本和时间。还有其他特性,使这种格式有趣的后期制作流程。由于彩色图像是完全集中,特效在需求可能包括散焦模糊像素与特定的深度值。其他颜色的影响也可以应用于场景中特定的深度(图gydF4y2Ba17gydF4y2Ba)。gydF4y2Ba
深度范围内摄像头的另一个优点是,它们的输出可以被视为一个压缩编码一个场景的三维信息。相比其他格式如双重立体视频,对传统的信息量压缩2 d格式是翻了一倍,2 d颜色+深度格式只需要更多的比特率(10% - -20%gydF4y2Ba4gydF4y2Ba]。注意,使用一对立体深度图和彩色图像可以重组。gydF4y2Ba
紧凑设计的使用像plenoptic摄像机和适当处理的硬件就可以创建被动便携式3 d视频捕捉设备。创建这类设备将促进3 d内容创建。目前缺乏内容的主要障碍之一是引入3数字电视在家里。设备为“裸眼3 d”生成内容显示在一个简单的方法将有助于减轻这种短缺。gydF4y2Ba
未来的扩展我们的工作将努力提高处理速度和超分辨率技术。gydF4y2Ba
为了提高帧速率使用CUDA 2.2或更高版本将被考虑。这个新版本的CUDA有一些有趣的特性,如便携式固定内存和内存映射。这些可以帮助提高gpu之间的沟通。同时,硬件的计算能力1.2合并内存访问(更灵活的条件gydF4y2Ba22gydF4y2Ba]。此外,OpenCL 1.0框架将是一个有趣的候选人在未来,因为它允许在异构并行计算系统。其他改进与处理时间将包括将这种技术移植到FPGA(现场可编程门阵列)来获得低成本加工设备的尺寸将允许它作为图像处理芯片内部集成plenoptic相机原始plenoptic图像编码到一个2 d颜色+深度格式。gydF4y2Ba
超分辨率算法的改进将包括使用各自的超分辨率技术来实现更高的分辨率和增加地图和all-in-focus深度图像的鲁棒性。最后,深度分辨率的缺点将通过联合spatial-angular超分辨率技术。gydF4y2Ba
确认gydF4y2Ba
这项工作由国家研发项目(项目2006 - 07906 DPI)科技部和欧洲区域发展基金(ERDF)。gydF4y2Ba
引用gydF4y2Ba
- l . Onural”,在3 d电视:前景是什么?”gydF4y2BaIEEE学报》gydF4y2Ba,卷95,不。6,1143 - 1145年,2007页。gydF4y2Ba视图:gydF4y2Ba出版商的网站gydF4y2Ba|gydF4y2Ba谷歌学术搜索gydF4y2Ba
- c . Fehn“3 d电视广播”gydF4y2Ba3 d VideocommunicationgydF4y2Bao . Schreer, p . Kauff和t . Sikora, Eds。约翰•威利& Sons奇切斯特,英国,2005年。gydF4y2Ba视图:gydF4y2Ba谷歌学术搜索gydF4y2Ba
- l·m·j·梅斯特、w·A·IJsselsteijn和p . j . h . Seuntiens“感知的调查评估和需求的三维电视,”gydF4y2BaIEEE电路和系统视频技术gydF4y2Ba,14卷,不。3、381 - 391年,2004页。gydF4y2Ba视图:gydF4y2Ba出版商的网站gydF4y2Ba|gydF4y2Ba谷歌学术搜索gydF4y2Ba
- a . Smolic k·米勒:Stefanoski et al .,“编码算法3 dtv-a调查,”gydF4y2BaIEEE电路和系统视频技术gydF4y2Ba,17卷,不。11日,第1620 - 1606页,2007年。gydF4y2Ba视图:gydF4y2Ba出版商的网站gydF4y2Ba|gydF4y2Ba谷歌学术搜索gydF4y2Ba
- g . b . Akar a . m . Tekalp c . Fehn和m . r . Civanlar运输方法在3 dtv-a调查中,“gydF4y2BaIEEE电路和系统视频技术gydF4y2Ba,17卷,不。11日,第1630 - 1622页,2007年。gydF4y2Ba视图:gydF4y2Ba出版商的网站gydF4y2Ba|gydF4y2Ba谷歌学术搜索gydF4y2Ba
- m . Kawakita k . Iizuka t Aida et al .,“Axi-vision相机:三维相机,”gydF4y2Ba三维图像捕获和应用三世gydF4y2Ba卷,3958gydF4y2Ba学报学报gydF4y2Ba圣何塞,页61 - 70年,加州,美国,2000年1月。gydF4y2Ba视图:gydF4y2Ba出版商的网站gydF4y2Ba|gydF4y2Ba谷歌学术搜索gydF4y2Ba
- Z-cam,“3 dv系统”,gydF4y2Bahttp://www.3dvsystems.com/gydF4y2Ba。gydF4y2Ba视图:gydF4y2Ba谷歌学术搜索gydF4y2Ba
- f·p·纳瓦,j·p·卢克,j·g . Marichal-Hernandez f·罗莎和j·m·Rodriguez-Ramos”cafadis的模拟器实时3 d相机”gydF4y2Ba学报3 dtv-conference:真正的机器视觉、传输和显示3 d视频(3 dtv-con 08年)gydF4y2Ba,页321 - 324,伊斯坦布尔,土耳其,2008年5月。gydF4y2Ba视图:gydF4y2Ba出版商的网站gydF4y2Ba|gydF4y2Ba谷歌学术搜索gydF4y2Ba
- CAFADIS相机:国际专利号码,PCT / ES2007/000046和ES2008/000126。gydF4y2Ba
- p . Benzie, j·沃森,p .苏尔曼et al .,“3 dtv的调查显示:技术和技术,”gydF4y2BaIEEE电路和系统视频技术gydF4y2Ba,17卷,不。11日,第1657 - 1647页,2007年。gydF4y2Ba视图:gydF4y2Ba出版商的网站gydF4y2Ba|gydF4y2Ba谷歌学术搜索gydF4y2Ba
- 飞利浦Wowx显示器,gydF4y2Bahttp://www.businesssites。philips.com/3dsolutions/servicesupport/docs/docs.pagegydF4y2Ba。gydF4y2Ba
- r·Ng,“傅里叶片摄影,”gydF4y2Ba《计算机图形学和互动技术国际会议(SIGGRAPH ' 05)gydF4y2Ba,页735 - 744年,洛杉矶,加州,美国,2005年。gydF4y2Ba视图:gydF4y2Ba出版商的网站gydF4y2Ba|gydF4y2Ba谷歌学术搜索gydF4y2Ba
- f·佩雷斯,j·g·Marichal和j . m . Rodriguez-Ramos“离散焦堆栈变换”gydF4y2Ba第16届欧洲信号处理研讨会论文集(EUSIPCO ' 08)gydF4y2Ba2008年8月,瑞士洛桑。gydF4y2Ba视图:gydF4y2Ba谷歌学术搜索gydF4y2Ba
- j·g . Marichal-Hernandez j.p.卢克,f .罗莎·f·佩雷斯和j·m·Rodriguez-Ramos“快速近似焦堆栈变换”gydF4y2Ba学报3 dtv-conference:真正的机器视觉、传输和显示3 d视频(3 dtv-con ' 09)gydF4y2Ba2009年5月,德国波茨坦。gydF4y2Ba视图:gydF4y2Ba谷歌学术搜索gydF4y2Ba
- f·佩雷斯和j·p·卢克。”一位O (gydF4y2Balogn)平面离散焦堆栈变换快,”gydF4y2Ba光学三维测量技术学报》上gydF4y2Ba,2009年。gydF4y2Ba视图:gydF4y2Ba谷歌学术搜索gydF4y2Ba
- t·吉奥吉夫k.c.郑,b . Curless d•纳亚尔,和c . Intwala“Spatio-angular决议权衡整体摄影,”gydF4y2Ba《Eurographics研讨会上呈现gydF4y2Ba,2006年。gydF4y2Ba视图:gydF4y2Ba谷歌学术搜索gydF4y2Ba
- a . Lumsdaine t·吉奥吉夫,“全分辨率lightfield渲染,“技术。代表,Adobe Systems Inc .) 2008年1月。gydF4y2Ba视图:gydF4y2Ba谷歌学术搜索gydF4y2Ba
- f·佩雷斯和j.p.路加福音”,同时估计superresolved深度和all-in-focus plenoptic相机的图片”gydF4y2Ba学报3 dtv-conference:真正的机器视觉、传输和显示3 d视频(3 dtv-con ' 09)gydF4y2Ba2009年5月,德国波茨坦。gydF4y2Ba视图:gydF4y2Ba谷歌学术搜索gydF4y2Ba
- j·d·欧文斯d Luebke: Govindaraju et al .,“通用计算图形硬件上的调查,”gydF4y2Ba计算机图形学论坛gydF4y2Ba,26卷,不。1,第113 - 80页,2007。gydF4y2Ba视图:gydF4y2Ba出版商的网站gydF4y2Ba|gydF4y2Ba谷歌学术搜索gydF4y2Ba
- d . Scharstein和r . Szeliski”密集的双座立体通信算法的分类和评价,“gydF4y2Ba国际计算机视觉杂志》上gydF4y2Ba卷,47号1 - 3,7-42,2002页。gydF4y2Ba视图:gydF4y2Ba出版商的网站gydF4y2Ba|gydF4y2Ba谷歌学术搜索gydF4y2Ba
- p . f . Felzenszwalb和d . p . Huttenlocher“早期有效的信念传播愿景,”gydF4y2Ba《IEEE计算机学会学报计算机视觉与模式识别会议(CVPR ' 04)gydF4y2Ba,1卷,页261 - 268,华盛顿特区,美国,2004年7月。gydF4y2Ba视图:gydF4y2Ba谷歌学术搜索gydF4y2Ba
- nVidia公司,“nVidia CUDA编程指南”。gydF4y2Ba视图:gydF4y2Ba谷歌学术搜索gydF4y2Ba
- 问:杨,r, l . Wang Wang, m .廖和d . nist,“实时全球立体匹配使用分层的信念传播,”gydF4y2Ba英国机器视觉研讨会论文集(BMVC 06年)gydF4y2Ba2006年9月,页989 - 998。gydF4y2Ba视图:gydF4y2Ba谷歌学术搜索gydF4y2Ba
- a·勃氏c蜀,g·罗斯,“立体视觉的GPU,信念传播”gydF4y2Ba第三加拿大会议程序计算机和机器人视觉(CRV 06年)gydF4y2Ba2006年6月,76年,页。gydF4y2Ba视图:gydF4y2Ba出版商的网站gydF4y2Ba|gydF4y2Ba谷歌学术搜索gydF4y2Ba
- s . Grauer-Gray c Kambhamettu, k .印度”的信念传播使用CUDA GPU实现云追踪和重建,”gydF4y2Ba学报IAPR车间在遥感模式识别(PRRS ' 08)gydF4y2Ba美国佛罗里达州坦帕,页1 - 4,,2008。gydF4y2Ba视图:gydF4y2Ba出版商的网站gydF4y2Ba|gydF4y2Ba谷歌学术搜索gydF4y2Ba
版权gydF4y2Ba
版权©2010 j·p·卢克等。这是一个开放的分布式下文章gydF4y2Ba知识共享归属许可gydF4y2Ba,它允许无限制的使用、分配和复制在任何媒介,提供最初的工作是正确引用。gydF4y2Ba