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

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

  關鍵詞: GPU;彩色局部角度二值模式;異步處理

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

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

1 彩色局部角度二值模式

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

  1.png

  其中,s(x)是階躍函數,H是對中心像素點周圍P個像素點的比較結果。將所有的圖像像素點用網格形式進行統計,最后用級聯的形式將所有網格的CLABP紋理特征連成CLABP直方圖,如式(2)所示:

  2.jpg

2 CLABP紋理特征并行實現

  CLABP紋理特征提取分為以下三個部分實現:

 ?。?)用CPU將彩色圖像分為Y、Cb、Cr顏色圖像,然后將圖像數據分別送入GPU顯存;

 ?。?)啟動核函數計算Y、Cb、Cr顏色圖像的CLABP紋理特征;

 ?。?)將CLABP紋理特征從GPU送回CPU。

  CLABP的三個實現步驟是串行實現的,而影響實現方法性能的關鍵在于步驟之間的數據傳輸。為了利用GPU的多核并行計算和多存儲器功能,需要使用異步傳輸的方式實現數據傳輸,即主機無需等待設備端完成計算,就可返回繼續準備下一個圖像的傳輸和接收工作,如圖2所示。

001.jpg

002.jpg

  GPU中的并行計算由核函數完成,核函數由網格、線程塊和線程組成,啟動一個核函數就對應一個網格,網格由多個線程塊組成,每個線程塊包括多個線程。計算時將線程塊送入多核處理器中運行,線程塊的最小執行單元為warp,每個warp由32個線程組成,而CLABP計算屬于二維的塊計算,因此將線程塊大小定義為[32,32]。

  以P=8,R=1為例,當核函數開始計算時,每個線程對圖像中的一個像素點進行CLABP編碼,由于CLABP是對Y、Cb、Cr顏色模型中三個信號通道內的圖像像素值之間的夾角進行計算,因此每次計算均需要從全局存儲器中讀取三幅圖像中的3×9=27個像素點值,而頻繁地讀取全局存儲器將會導致擁塞現象。

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

  因此在計算像素點的CLABP值時,每次將整個線程塊所需的34×34個像素點的值送入共享內存,則每個像素點的數據均可以讀取共享內存以提高數據的讀取速度。將每個像素點的CLABP值計算完成后送入寄存器,進行直方圖的統計。再將每個線程塊的直方圖統計結果送回全局存儲器進行統計,得到最終的CLABP直方圖。

3 實驗及討論

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

  本文所采用的評價準則是加速比,即:

  T7QJSN~HDFLROOW7D}M]}_6.jpg

003.jpg

  對于每幅圖像,對GPU提取的CLABP特征進行10次實驗,加速比取這10次實驗的平均值。表1為不同圖像數量下CLABP特征提取時間及加速比。

005.jpg

  從表1可以看出,本文采用的GPU實現方法比CPU實現方法效率要高,而且隨著處理的圖像個數的增多,加速比逐漸變大。這是因為傳輸圖像數據采用的是異步傳輸的方式,傳輸的圖像數量越多,加速越明顯,效果越好。

007.jpg

  圖4是不同圖像個數下的CLABP紋理特征提取加速比。從圖中可以看出,隨著圖像個數增加,加速比也隨之增多,但是當圖像個數穩定為200個之后,加速比提升不明顯。這是因為異步傳輸和并行計算加速已經趨于穩定,進一步提升加速比需要加入其他的加速方法或技巧。

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

  由于本文主要研究程序方面的優化,對于GPU硬件優化并無深入,將CLABP紋理特征與GPU硬件結合將是今后研究的重點。

  參考文獻

  [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] 林似水,鄭力新.聯合LBP與SOM的多分辨率織物疵點檢測[J].微型機與應用,2012,31(23):45-47.

  [4] 郭春鳳,何建農.彩色與紋理不變性的陰影消除新算法[J].微型機與應用,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.大規模并行處理器編程實戰[M].陳曙暉,熊淑華,譯.北京:清華大學出版社,2010.

  [7] SANDERS J, KANDROT E. GPU高性能編程CUDA實戰[M].聶雪軍,譯.北京:機械工業出版社,2011.

  [8] 張舒,褚艷利,趙開勇,等.GPU高性能運算之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.


此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 色噜噜狠狠狠色综合久 | 欧美日韩一区二区在线观看 | 特一级黄 | 亚洲精品天堂在线 | 黄色短视频在线免费观看 | 在线性爱视频 | 琪琪色网站 | 欧美人成在线 | 天天碰天天摸天天操 | 日韩美毛片 | 野花视频在线观看-高清中文 | 亚洲福利天堂网福利在线观看 | 亚洲三级精品 | 国产无遮挡床戏视频免费 | 免费大黄网站在线看 | www成人在线观看 | 国产精品精品国产一区二区 | 欧美国产成人一区二区三区 | 欧美一区二区三区在线 | 国产v在线在线观看羞羞答答 | 久久黄色网 | 成年网站免费视频黄 | 91av综合 | 好紧好湿好黄的视频 | 日本人的色道免费网站 | 日韩手机看片 | 欧美高清欧美videosex | 成人欧美一区二区三区在线观看 | hd中国xxxx | 狠狠色丁香婷婷综合欧美 | 777奇米影视一区二区三区 | 成人羞羞视频在线观看免费 | 美女视频永久黄网站在线观看 | 美女激情影院午夜网 | 日本三级午夜 | 国产综合日韩伦理 | 一级一级一级毛片 | 五月激情六月丁香 | 一本久道在线 | 成人在线综合 | 国产成人在线观看网站 |