亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        GPU加速的傅里葉變換輪廓術(shù)并行計(jì)算方法

        2013-10-14 06:55:48趙小敏周波劉春媛陶金
        機(jī)械制造與自動(dòng)化 2013年2期

        趙小敏,周波,劉春媛,陶金

        (黑龍江科技學(xué)院,黑龍江哈爾濱 150027)

        0 引言

        隨著計(jì)算機(jī)技術(shù),光學(xué)和光電子技術(shù)的迅速發(fā)展,物體三維面形測(cè)量[1]成為現(xiàn)代光學(xué)計(jì)量的一個(gè)重要分支,其以非接觸、高精度、易于測(cè)量[2]等優(yōu)勢(shì)得到廣泛應(yīng)用。在主動(dòng)三維面形測(cè)量技術(shù)中,傅里葉變換輪廓術(shù)(fourier transform profilometry)[3]只需要一幀變形條紋圖就能恢復(fù)出物體的三維面形,但當(dāng)圖像尺寸較大時(shí),其計(jì)算量較大,使用CPU或DSP串行處理圖像數(shù)據(jù)速度慢、效率低[4],難以實(shí)現(xiàn)對(duì)動(dòng)態(tài)物體的實(shí)時(shí)測(cè)量。值得慶幸的是,在利用傅里葉變換提取相位時(shí)其待處理的數(shù)據(jù)和已處理的數(shù)據(jù)是相對(duì)獨(dú)立的圖像像素,具有極高的計(jì)算密度,適于通過多線程運(yùn)行相同的程序計(jì)算,所以并行處理是提高其計(jì)算速度的最佳解決方案。

        圖形處理器(GPU)[5]是一種高度并行化、多線程、多核的處理器,專為計(jì)算密集型和高度并行化的計(jì)算而設(shè)計(jì),具有相當(dāng)高的內(nèi)存帶寬和大量的執(zhí)行單元,為圖形處理以外的通用計(jì)算提供了良好的運(yùn)行平臺(tái)。統(tǒng)一計(jì)算設(shè)備架構(gòu)(CUDA)[6]是NVIDIA推出的GPU通用計(jì)算產(chǎn)品,能夠有效利用GPU強(qiáng)勁的處理能力和巨大的存儲(chǔ)器帶寬進(jìn)行圖形渲染以外的計(jì)算,完全扭轉(zhuǎn)了傳統(tǒng)GPU通用性差這一困難局面,使得GPU打破圖形語言的局限成為真正的并行數(shù)據(jù)處理器。本文基于CUDA平臺(tái)實(shí)現(xiàn)了傅里葉變換輪廓術(shù)的GPU加速,利用CUDA并發(fā)執(zhí)行的優(yōu)點(diǎn),將計(jì)算過程中計(jì)算密度較大且可以并行計(jì)算的工作在GPU上完成,實(shí)現(xiàn)了CPU與GPU的協(xié)同工作,因此,在保證圖像品質(zhì)的情況下,提高了傅里葉變換輪廓術(shù)的計(jì)算速度,為實(shí)現(xiàn)實(shí)時(shí)三維測(cè)量奠定了基礎(chǔ)。

        1 傅里葉變換輪廓術(shù)

        傅里葉變換輪廓術(shù),是通過對(duì)獲取的光柵圖像進(jìn)行傅里葉變換、濾波和逆傅里葉變換提取出相位信息,由相位信息恢復(fù)出物體的三維面形高度分布[7]。

        1.1 基本原理

        圖1所示是傅里葉變換輪廓術(shù)的系統(tǒng)光路結(jié)構(gòu)圖[8],Ep和Ec分別是投影系統(tǒng)和成像系統(tǒng)的光軸,兩光軸與參考平面xoy相交。l0是成像系統(tǒng)到參考平面的距離,d是成像系統(tǒng)與投影系統(tǒng)之間的距離。

        按照?qǐng)D1中所示的坐標(biāo)系,將垂直于x軸的光柵投影到參考平面時(shí),CCD相機(jī)獲取的成像條紋記為:

        圖1 傅里葉變換輪廓術(shù)的系統(tǒng)光路結(jié)構(gòu)圖

        其中,An代表傅里葉級(jí)數(shù)的系數(shù);r0(x,y)是參考平面上的非均勻反射率分布函數(shù);f0為光柵像的空間頻率;φ0是參考平面上的相位分布。在結(jié)構(gòu)參數(shù)相同的條件下,將該光柵投影到待測(cè)物體表面上,CCD相機(jī)得到的變形條紋分布為:

        r(x,y)是物體表面非均勻反射率分布函數(shù);φ(x,y)是由于物體表面高度變化而引起的相位調(diào)制。為了獲得由物體高度引起的相位變化Δφ(x,y),分別對(duì)式(1)和式(2)進(jìn)行傅里葉變換,經(jīng)過濾波獲取所需要的相位信息的基頻分量,再對(duì)基頻分量進(jìn)行逆傅里葉變換,得到的復(fù)分布表示為:

        由物體高度分布引起的相位變化為:

        由于物體的高度信息被編碼在相位φ(x,y)中,而Δφ(x,y)對(duì)應(yīng)待測(cè)物體的真實(shí)高度分布h(x,y),因此,只需要求出相位差Δφ(x,y)并將其恢復(fù)為連續(xù)相位,再利用相位與高度之間的映射關(guān)系,即可計(jì)算出物體的三維面形。

        1.2 物體表面相位的計(jì)算

        對(duì)濾波后的基頻分量進(jìn)行逆傅里葉變換以后,獲得條紋圖像的復(fù)分布式(3)和式(4),將式(3)和式(4)的共軛相乘,得:

        其中,“* ”表示共軛,|A1|2,r(x,y),r0(x,y),Δφ(x,y)均為實(shí)函數(shù),則變形條紋相對(duì)于參考平面的相位差為:

        1.3 相位-高度的轉(zhuǎn)換

        系統(tǒng)光路結(jié)構(gòu)如圖1所示,投影在參考平面上的光柵條紋是等周期分布的,其頻率為f0,相位分布φ(x,y)是坐標(biāo) x的線性函數(shù)[9],記為:

        以參考平面上O點(diǎn)為原點(diǎn),C點(diǎn)的相位為:

        被測(cè)三維表面H點(diǎn)的相位對(duì)應(yīng)于參考平面上D點(diǎn)的相位,即:

        因此,由物體高度引起的相位調(diào)制Δφ(x,y)為:

        由△HCD與△HEpEc相似,可得:

        由式(12)和式(13),得:

        即可恢復(fù)出物體的三維面形高度分布。

        2 GPU加速

        2.1 GPU高性能運(yùn)算模型CUDA

        CUDA是NVIDIA公司發(fā)布的用于GPU通用計(jì)算的開發(fā)環(huán)境和軟件體系[10],利用GPU強(qiáng)大的運(yùn)算能力,可實(shí)現(xiàn)并行處理。GPU的硬件架構(gòu)以NVIDIA Quadro FX 1700為例,如圖2所示,該GPU由16個(gè)SM(流多處理器)組成,每個(gè)SM包含8個(gè)SP(流處理器)、常量緩存和紋理緩存以及其他單元。在CUDA架構(gòu)下[11],GPU作為設(shè)備執(zhí)行高度線程化的并行處理任務(wù),運(yùn)行在GPU上的函數(shù)稱為 Kernel,其線程被組織成三層結(jié)構(gòu),即:線程網(wǎng)格(grid)、線程塊(block)和線程(thread)。CUDA的執(zhí)行模型如圖3所示[12],Thread以Block為單位分配到 SM,SM采用Warp管理線程的執(zhí)行,同一Block中連續(xù)的32個(gè)線程組成一個(gè)Warp。Thread在執(zhí)行時(shí)將會(huì)訪問到處于多個(gè)不同存儲(chǔ)空間中的數(shù)據(jù)[13-15],如圖4所示,Grid中的所有線程可訪問全局存儲(chǔ)器、常數(shù)存儲(chǔ)器、紋理存儲(chǔ)器,同一Block中的線程可訪問同一共享內(nèi)存,每個(gè)Thread擁有私有的寄存器和局部存儲(chǔ)器。

        2.2 GPU并行計(jì)算的實(shí)現(xiàn)

        傅里葉變換輪廓術(shù)由多個(gè)不同的處理步驟組成,應(yīng)考慮各部分的計(jì)算復(fù)雜度,分別采用合適的處理平臺(tái),使CPU與GPU協(xié)同工作,以達(dá)到最優(yōu)的處理速度。由于在相位展開時(shí)存在大量的分支語句,不適合GPU實(shí)現(xiàn),而在提取相位部分需處理全部的像素且計(jì)算規(guī)整,因此,本文的GPU加速主要針對(duì)提取相位部分。

        3 實(shí)驗(yàn)結(jié)果及分析

        采用Nvidia公司的Quadro FX 1700顯卡作為GPU硬件,它集成了128個(gè)流處理器,板載512 MB顯存;CPU為Intel Core-4 E5420@2.5 GHz;軟件開發(fā)工具為 Microsoft visual studio 2005。為驗(yàn)證本文提出算法的有效性,使用了多組大小不同的計(jì)算機(jī)模擬條紋圖進(jìn)行了驗(yàn)證,并與在CPU上使用fftw庫算法進(jìn)行了比較,表1是在CPU與GPU上處理時(shí)間的對(duì)比結(jié)果。

        表1 GPU與CPU的處理效率對(duì)比

        從表1可以看出,隨著圖像尺寸增大,GPU較CPU的相對(duì)運(yùn)行時(shí)間明顯偏少,并行計(jì)算優(yōu)勢(shì)顯現(xiàn)。影響GPU整體性能的原因有兩個(gè):1)對(duì)于小尺寸的圖像而言,其CPU計(jì)算循環(huán)次數(shù)較少而且CPU主頻高于GPU和單線程計(jì)算能力突出,制約了GPU加速性能;2)由于GPU的加速處理時(shí)間包括數(shù)據(jù)在CPU和GPU之間傳輸?shù)臅r(shí)間,當(dāng)圖像像素?cái)?shù)目增多時(shí),計(jì)算量隨之增大,計(jì)算時(shí)間占總處理時(shí)間的比例越大,因此,GPU強(qiáng)大的并行執(zhí)行能力明顯體現(xiàn)。為驗(yàn)證本算法的精度,選取256×256的模擬條紋圖如圖7(a)所示,分別在CPU與GPU上進(jìn)行處理,處理后的結(jié)果如圖7(b),(c)所示,可以看出GPU在提高計(jì)算速度的同時(shí)沒有產(chǎn)生額外的計(jì)算誤差。由此可見,GPU并行運(yùn)算在保證圖像處理效果和低成本的前提下,有著很高的并行效率。

        4 結(jié)論

        針對(duì)在傅里葉變換輪廓術(shù)中相位計(jì)算耗時(shí)的問題,本文將相位計(jì)算等需要大量計(jì)算并且可以并行計(jì)算的部分移植到GPU上進(jìn)行計(jì)算,利用GPU并發(fā)執(zhí)行的優(yōu)點(diǎn),在保證算法精度的同時(shí)提高了計(jì)算速度。從上述算法的實(shí)現(xiàn)可以看出,由于受數(shù)據(jù)相關(guān)性以及編程的復(fù)雜性的制約,其只能夠?qū)ρh(huán)結(jié)構(gòu)進(jìn)行并行化,對(duì)分支結(jié)構(gòu)執(zhí)行效率低下;其次,數(shù)據(jù)在主存和顯存之間的傳輸也是影響整體速度的主要因素。因此,應(yīng)在對(duì)分支結(jié)構(gòu)的執(zhí)行和數(shù)據(jù)的傳輸這兩方面進(jìn)一步優(yōu)化。

        [1]Zhang Song.Recent Progresses on Real-time 3D Shape Measurement Using Digital Fringe Projection Techniques[J].Optics and Lasers in Engineering,2010,48(2):149-158.

        [2]譚優(yōu).基于FTP的動(dòng)物體三維面形測(cè)量系統(tǒng)的研究[D].成都:西南交通大學(xué)光學(xué)工程,2007.

        [3]毛先福,陳文靜,蘇顯渝,等.傅里葉變換輪廓術(shù)中新的相位及高度算法分析[J].光學(xué)學(xué)報(bào),2007,27(2):225-229.

        [4]張彤,劉釗,歐陽寧.基于GPU的圖像快速傅里葉變換研究[J].微計(jì)算機(jī)信息,2009,25(5):286-288.

        [5]張舒,褚艷麗.GPU高性能運(yùn)算之CUDA[M].北京:中國水利水電出版社,2009.3-20.

        [6]NVIDIA.CUDAProgrammingGuideVersion2.0[EB/OL].[2011-9-14].http://www.docin .com/p-34710013.html.

        [7]張啟燦.基于傅里葉變換輪廓術(shù)的動(dòng)態(tài)物體三維面形測(cè)量的研究[D].成都:四川大學(xué)光學(xué),2001.

        [8] Mitsuo Takeda,Hideki Ina* ,SeijiKobayashi.Fourier-transform method of fringe-pattern analysis for computer-based topography and interferometry[J].Opt.Soc.Am,1982,72(1):156-160.

        [9]趙煥東.相位測(cè)量輪廓術(shù)的理論研究及應(yīng)用[D].杭州:浙江大學(xué)電子科學(xué)與技術(shù),2001.

        [10]顏瑞.基于CUDA的立體匹配及去隔行算法[D].杭州:浙江大學(xué)信息與電子工程學(xué)系,2010.

        [11]田力.CUDA在高性能計(jì)算中的應(yīng)用[D].杭州:浙江大學(xué)理學(xué)院,2008.

        [12]杜歆,顏瑞.監(jiān)控?cái)z像機(jī)視頻去隔行和CUDA加速[J].傳感技術(shù)學(xué)報(bào),2010,23(3):393-398.

        [13]覃方濤,方斌.CUDA并行技術(shù)與數(shù)字圖像幾何變換[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2009,19(10):169-172.

        [14]SongZhang,Dale Royer,Shing_TungYan.GPU_assisted highresolution,real_time 3D Shape measurement[J].Optical Society of America,2006,14(20):9120-9129.

        [15]Bi Wenyuan,Chen Zhiqiang.Real-Time Visualize the 3D Reconstruction Procedure Using CUDA[J].CT Theory and Applications,2010,19(2):1-8.

        日韩精品成人一区二区三区久久久 | 水蜜桃无码视频在线观看| 自拍偷拍亚洲一区| 绿帽人妻被插出白浆免费观看| 亚洲av成人一区二区| 色综合久久中文娱乐网| 亚洲欧美日韩在线一区| 中文字幕有码一区二区三区| av一区二区三区有码| 男人的天堂av高清在线| 少妇做爰免费视频网站| 精品亚洲欧美高清不卡高清| 日本久久黄色高清视频| 人妖一区二区三区四区| 玩弄放荡人妻少妇系列| 亚洲欧美一区二区三区国产精| 国产视频在线播放亚洲| 五月激情综合婷婷六月久久| 国产 字幕 制服 中文 在线| 人妻AV无码一区二区三区奥田咲| 超短裙老师在线观看一区二区| 亚洲乱码中文字幕在线播放| 亚洲av无码一区二区三区人妖| 亚洲AV无码一区二区三区ba | 国产精品毛片一区二区三区| 人人做人人妻人人精| 爱v天堂在线观看| 青青草好吊色在线观看| 久久久久亚洲精品无码网址蜜桃| 国产高清在线精品免费| 亚洲精品在线观看一区二区| 日本免费大片一区二区| 欧美艳星nikki激情办公室| 在线精品日韩一区二区三区| 亚洲av免费看一区二区三区| 亚洲人成人无码www| 欧美人与动牲交a欧美精品| 国内视频一区| 国产精品成人自拍在线观看| 最爽无遮挡行房视频| 国产91福利在线精品剧情尤物|