《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于GPU的CLABP特征提取方法研究
基于GPU的CLABP特征提取方法研究
2014年微型機(jī)與應(yīng)用第16期
羅 沛1,梁 鵬2,3
1.英偉達(dá)半導(dǎo)體(深圳)有限公司,廣東 深圳 518057,; 2.廣東技術(shù)師范學(xué)院 計(jì)算機(jī)科學(xué)學(xué)院,,廣東 廣州 510665,; 3.華南理工大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,廣東 廣州 510006
摘要: 彩色局部角度二值模式(CLABP)可以有效地提取彩色圖像中的紋理特征,,但是算法復(fù)雜,、計(jì)算量大。針對(duì)這一問題,,采用GPU實(shí)現(xiàn)CLABP特征提取和表示的并行方法,。該方法一方面使用異步處理的方式實(shí)現(xiàn)CLABP的并行加速,另一方面采用共享內(nèi)存的形式減少讀取數(shù)據(jù)的次數(shù),。為了驗(yàn)證該方法的有效性,,在Outex紋理圖像數(shù)據(jù)庫上與CPU程序性能進(jìn)行對(duì)比,結(jié)果表明,,GPU實(shí)現(xiàn)方法可以提升加速比約25倍
Abstract:
Key words :

  摘  要彩色局部角度二值模式(CLABP)可以有效地提取彩色圖像中的紋理特征,,但是算法復(fù)雜、計(jì)算量大,。針對(duì)這一問題,,采用GPU實(shí)現(xiàn)CLABP特征提取和表示的并行方法。該方法一方面使用異步處理的方式實(shí)現(xiàn)CLABP的并行加速,,另一方面采用共享內(nèi)存的形式減少讀取數(shù)據(jù)的次數(shù),。為了驗(yàn)證該方法的有效性,在Outex紋理圖像數(shù)據(jù)庫上與CPU程序性能進(jìn)行對(duì)比,,結(jié)果表明,,GPU實(shí)現(xiàn)方法可以提升加速比約25倍。

  關(guān)鍵詞: GPU,;彩色局部角度二值模式,;異步處理

  局部紋理特征在圖像分類和目標(biāo)識(shí)別中得到廣泛應(yīng)用,是圖像的重要特征之一,。局部二值模式LBP(Local Binary Patterns)[1-2]具有良好的幾何不變性,、角度不變性和旋轉(zhuǎn)不變性等適應(yīng)性,在許多方法中得到了應(yīng)用和推廣[3-4],。然而LBP特征對(duì)圖像光照變化敏感,,針對(duì)這一問題,參考文獻(xiàn)[5]提出了一種彩色局部角度二值模式CLABP(Color Local Angel Binary Patterns),,通過提取不同信號(hào)通道之間的像素夾角,,對(duì)不同光照變化下的彩色人臉圖像進(jìn)行分類,提高了不同光照變化條件下對(duì)人臉圖像識(shí)別的準(zhǔn)確率,。但是對(duì)于大量的圖像檢索數(shù)據(jù)而言,,CPU實(shí)現(xiàn)的CLABP紋理特征提取方法速度較慢,,對(duì)圖像檢索性能產(chǎn)生很大影響,。解決這一問題的方法是采用GPU對(duì)CLABP紋理特征提取方法進(jìn)行編程,,實(shí)現(xiàn)并行計(jì)算加速。近年來,,已經(jīng)有部分學(xué)者嘗試使用GPU對(duì)各種圖像方法進(jìn)行編碼[6-8],。

  本文采用GPU對(duì)參考文獻(xiàn)[5]中提出的CLABP實(shí)現(xiàn)并行化編程。首先將方法分解為GPU和CPU任務(wù),,然后對(duì)GPU實(shí)現(xiàn)部分進(jìn)行核函數(shù)處理和共享內(nèi)存設(shè)計(jì),,最后通過實(shí)驗(yàn)驗(yàn)證所提方法的有效性。實(shí)驗(yàn)結(jié)果表明,,本文采用的GPU實(shí)現(xiàn)方法在Outex紋理圖像數(shù)據(jù)庫中能取得將近25倍的加速比,。

1 彩色局部角度二值模式

  參考文獻(xiàn)[5]針對(duì)紋理特征對(duì)光照變化下識(shí)別率不高的問題,提出了彩色局部角度二值模式紋理特征,。如圖1所示,,無論空間矢量的大小發(fā)生怎樣的變化,它與各個(gè)通道的夾角始終沒有發(fā)生變化,。定義Y,、Cb、Cr三信號(hào)模型中任意兩個(gè)信號(hào)通道之間像素值的夾角為,,定義空間矢量r與信號(hào)通道內(nèi)投影與參光線夾角為?茲0,,則根據(jù)CLABP紋理特征的定義,用旋轉(zhuǎn)不變的uniform LBP對(duì)圖中任意像素點(diǎn)z及其鄰近像素點(diǎn)的彩色角度進(jìn)行編碼如下:

  1.png

  其中,,s(x)是階躍函數(shù),,H是對(duì)中心像素點(diǎn)周圍P個(gè)像素點(diǎn)的比較結(jié)果。將所有的圖像像素點(diǎn)用網(wǎng)格形式進(jìn)行統(tǒng)計(jì),,最后用級(jí)聯(lián)的形式將所有網(wǎng)格的CLABP紋理特征連成CLABP直方圖,,如式(2)所示:

  2.jpg

2 CLABP紋理特征并行實(shí)現(xiàn)

  CLABP紋理特征提取分為以下三個(gè)部分實(shí)現(xiàn):

  (1)用CPU將彩色圖像分為Y,、Cb,、Cr顏色圖像,然后將圖像數(shù)據(jù)分別送入GPU顯存,;

 ?。?)啟動(dòng)核函數(shù)計(jì)算Y、Cb,、Cr顏色圖像的CLABP紋理特征,;

  (3)將CLABP紋理特征從GPU送回CPU,。

  CLABP的三個(gè)實(shí)現(xiàn)步驟是串行實(shí)現(xiàn)的,,而影響實(shí)現(xiàn)方法性能的關(guān)鍵在于步驟之間的數(shù)據(jù)傳輸,。為了利用GPU的多核并行計(jì)算和多存儲(chǔ)器功能,需要使用異步傳輸?shù)姆绞綄?shí)現(xiàn)數(shù)據(jù)傳輸,,即主機(jī)無需等待設(shè)備端完成計(jì)算,,就可返回繼續(xù)準(zhǔn)備下一個(gè)圖像的傳輸和接收工作,如圖2所示,。

001.jpg

002.jpg

  GPU中的并行計(jì)算由核函數(shù)完成,,核函數(shù)由網(wǎng)格、線程塊和線程組成,,啟動(dòng)一個(gè)核函數(shù)就對(duì)應(yīng)一個(gè)網(wǎng)格,,網(wǎng)格由多個(gè)線程塊組成,每個(gè)線程塊包括多個(gè)線程,。計(jì)算時(shí)將線程塊送入多核處理器中運(yùn)行,,線程塊的最小執(zhí)行單元為warp,每個(gè)warp由32個(gè)線程組成,,而CLABP計(jì)算屬于二維的塊計(jì)算,,因此將線程塊大小定義為[32,32],。

  以P=8,,R=1為例,當(dāng)核函數(shù)開始計(jì)算時(shí),,每個(gè)線程對(duì)圖像中的一個(gè)像素點(diǎn)進(jìn)行CLABP編碼,,由于CLABP是對(duì)Y、Cb,、Cr顏色模型中三個(gè)信號(hào)通道內(nèi)的圖像像素值之間的夾角進(jìn)行計(jì)算,,因此每次計(jì)算均需要從全局存儲(chǔ)器中讀取三幅圖像中的3×9=27個(gè)像素點(diǎn)值,而頻繁地讀取全局存儲(chǔ)器將會(huì)導(dǎo)致?lián)砣F(xiàn)象,。

  為了減少并行計(jì)算時(shí)對(duì)全局存儲(chǔ)器的頻繁讀取,,GUP中提供了大量的共享內(nèi)存和寄存器解決這一問題。同一個(gè)線程塊內(nèi)的程序通過訪問共享內(nèi)存可以獲取到計(jì)算所需數(shù)據(jù),,無需再訪問全局存儲(chǔ)器,,而寄存器可以保存每個(gè)線程的私有數(shù)據(jù)。

  因此在計(jì)算像素點(diǎn)的CLABP值時(shí),,每次將整個(gè)線程塊所需的34×34個(gè)像素點(diǎn)的值送入共享內(nèi)存,,則每個(gè)像素點(diǎn)的數(shù)據(jù)均可以讀取共享內(nèi)存以提高數(shù)據(jù)的讀取速度。將每個(gè)像素點(diǎn)的CLABP值計(jì)算完成后送入寄存器,,進(jìn)行直方圖的統(tǒng)計(jì),。再將每個(gè)線程塊的直方圖統(tǒng)計(jì)結(jié)果送回全局存儲(chǔ)器進(jìn)行統(tǒng)計(jì),得到最終的CLABP直方圖,。

3 實(shí)驗(yàn)及討論

  本文采用的實(shí)驗(yàn)平臺(tái)是Windows 7,,MATLAB 2011b,,聯(lián)想ThinkPad T420筆記本,其CPU為Intel Core i7 2.8 GHz,,顯卡為NVIDIA NVS 4200M,。評(píng)價(jià)數(shù)據(jù)集是公開的紋理數(shù)據(jù)庫Outex[9]。該數(shù)據(jù)庫包含了大量的紋理圖片,,包括自然紋理和表面紋理,,而且提供了不同的光照條件、旋轉(zhuǎn)角度和分辨率,。圖3是Outex紋理圖像數(shù)據(jù)庫的部分示例圖像。所有的圖像尺度都重新變換為128像素×128像素大小,,CLABP的局部區(qū)域大小采用3像素×3像素和4像素×4像素兩種尺寸,。

  本文所采用的評(píng)價(jià)準(zhǔn)則是加速比,即:

  T7QJSN~HDFLROOW7D}M]}_6.jpg

003.jpg

  對(duì)于每幅圖像,,對(duì)GPU提取的CLABP特征進(jìn)行10次實(shí)驗(yàn),,加速比取這10次實(shí)驗(yàn)的平均值。表1為不同圖像數(shù)量下CLABP特征提取時(shí)間及加速比,。

005.jpg

  從表1可以看出,,本文采用的GPU實(shí)現(xiàn)方法比CPU實(shí)現(xiàn)方法效率要高,而且隨著處理的圖像個(gè)數(shù)的增多,,加速比逐漸變大,。這是因?yàn)閭鬏攬D像數(shù)據(jù)采用的是異步傳輸?shù)姆绞剑瑐鬏數(shù)膱D像數(shù)量越多,,加速越明顯,,效果越好。

007.jpg

  圖4是不同圖像個(gè)數(shù)下的CLABP紋理特征提取加速比,。從圖中可以看出,,隨著圖像個(gè)數(shù)增加,加速比也隨之增多,,但是當(dāng)圖像個(gè)數(shù)穩(wěn)定為200個(gè)之后,,加速比提升不明顯。這是因?yàn)楫惒絺鬏敽筒⑿杏?jì)算加速已經(jīng)趨于穩(wěn)定,,進(jìn)一步提升加速比需要加入其他的加速方法或技巧,。

  本文針對(duì)CLABP特征提取速度較慢的問題,采用GPU對(duì)CLABP特征提取方法進(jìn)行加速,,通過異步傳輸和核函數(shù)并行計(jì)算提高了紋理特征的計(jì)算效率,。實(shí)驗(yàn)結(jié)果表明,本文所采用的GPU實(shí)現(xiàn)方法在Outex紋理數(shù)據(jù)庫上具有將近25倍的加速比,。對(duì)于其他的紋理特征提取方法,,本文方法也同樣適用,。

  由于本文主要研究程序方面的優(yōu)化,對(duì)于GPU硬件優(yōu)化并無深入,,將CLABP紋理特征與GPU硬件結(jié)合將是今后研究的重點(diǎn),。

  參考文獻(xiàn)

  [1] AHONEN T, HADID A,, PIETIK?魧INEN M. Face description with local binary pattern: application to face recognition[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence,, 2006, 28(12):2037-2041.

  [2] OJALA T,, PIETIKAINEN M,, MAENPAA T. Multiresolution gray-scale and rotation-invariant texture classification with local binary patterns[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2002,, 24(7):971-987.

  [3] 林似水,,鄭力新.聯(lián)合LBP與SOM的多分辨率織物疵點(diǎn)檢測[J].微型機(jī)與應(yīng)用,2012,,31(23):45-47.

  [4] 郭春鳳,,何建農(nóng).彩色與紋理不變性的陰影消除新算法[J].微型機(jī)與應(yīng)用,2013,,32(5):38-41.

  [5] LEE S H,, CHOI J Y, RO Y M,, et al. Local color vector binary patterns from multi-channel face images for face recognition[J]. IEEE Transactions on Image Processing,, 2012, 21(4):2347-2353.

  [6] KIRK D B,, HWU W W.大規(guī)模并行處理器編程實(shí)戰(zhàn)[M].陳曙暉,,熊淑華,譯.北京:清華大學(xué)出版社,,2010.

  [7] SANDERS J,, KANDROT E. GPU高性能編程CUDA實(shí)戰(zhàn)[M].聶雪軍,譯.北京:機(jī)械工業(yè)出版社,,2011.

  [8] 張舒,,褚艷利,趙開勇,,等.GPU高性能運(yùn)算之CUDA[M].北京:中國水利水電出版社,,2009.

  [9] OJALA T, MAENPAA T,, PIETIKAINEN M,, et al. Outex-a new framework for empirical evaluation of texture analysis algorithms[C]. Proceedings of the 16th Conference on Pattern Recognition, 2002:701-706.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。