• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      光學(xué)圖像高斯平滑濾波的DSP優(yōu)化

      2013-01-23 02:40:12牛照東王丁禾陳曾平李曉鵬
      激光與紅外 2013年12期
      關(guān)鍵詞:掩膜空域高斯

      湯 達,牛照東,王丁禾,陳曾平,李曉鵬

      (1.國防科學(xué)技術(shù)大學(xué)ATR重點實驗室,湖南 長沙410073;2.中國人民解放軍77108部隊,四川 成都611233)

      1 引言

      光學(xué)傳感器在傳輸、接收和處理圖像數(shù)據(jù)的過程中,往往會存在一定程度的噪聲干擾,惡化了圖像的質(zhì)量。高斯平滑濾波具有優(yōu)良的噪聲平滑性能和邊緣保留能力,適合平滑圖像、去除噪聲,但運算量較大,限制了其在實時圖像處理系統(tǒng)中的應(yīng)用。因此,有必要對高斯平滑濾波算法進行優(yōu)化,使其滿足圖像處理系統(tǒng)的實時性需求。

      目前,已有專家學(xué)者針對算法的硬件優(yōu)化進行研究,并取得了一定的成果。文獻[1]、[2]介紹了DSP代碼開發(fā)流程以及代碼優(yōu)化的思路與方法,但并未結(jié)合實例進行具體說明;陳松[3]等人對三種圖像預(yù)處理算法進行了優(yōu)化,但同樣缺乏對優(yōu)化方法的詳細陳述;雷濤[4-5]等人提出了一種空域低通濾波優(yōu)化方法,但該方法對濾波掩膜的系數(shù)取值有嚴格的限制,具有較大的局限性;黃德天[6]等針對中值濾波進行了不同程度的優(yōu)化,取得了較好的效果,但其優(yōu)化方法仍有較大的改進空間。

      本文基于 TMS320C6x 系列[7-8]定點處理器,利用高斯濾波掩膜的可分解性,提出了一種單次遍歷實現(xiàn)兩次卷積的高斯平滑濾波DSP優(yōu)化方法。實驗結(jié)果表明,該方法能夠顯著提升濾波效率,達到了算法優(yōu)化的目的。

      2 基本的空域濾波優(yōu)化方法

      空域濾波在圖像空間中的實現(xiàn)是通過在待處理圖像中逐點移動掩膜進行卷積來完成的。常用的掩膜尺寸為3×3或5×5,掩膜系數(shù)隨功能變化而變化。圖1給出了兩種尺度的高斯平滑掩膜,用于平滑圖像、減小噪聲。本文就以圖1(a)所示5×5高斯平滑掩膜為例,說明對空域濾波的優(yōu)化,對其他尺度濾波掩膜,同樣可借鑒本文優(yōu)化思想。

      圖1 兩種高斯平滑掩膜Fig.1 Two Gaussian smoothing masks

      圖2描述了傳統(tǒng)的空域濾波過程,A0等點代表待濾波圖像數(shù)據(jù),虛線方框表示濾波掩膜遍歷至C2點時,濾波掩膜覆蓋到的圖像區(qū)域。將該區(qū)域內(nèi)每個點的像素值與掩膜對應(yīng)位置濾波系數(shù)相乘,累加后除以濾波系數(shù)總和,即可得到濾波結(jié)果R11。如此,對單個像素點濾波,需要25次乘法運算、24次加法運算和1次除法運算。

      分析傳統(tǒng)空域濾波耗時原因,不難發(fā)現(xiàn),其中存在大量的數(shù)據(jù)重復(fù)訪問。如對C2、C3兩點的濾波均用到了C1至C4點所在列圖像數(shù)據(jù)。如果兩次濾波過程均讀取掩膜覆蓋區(qū)域內(nèi)全部圖像數(shù)據(jù),將造成C1至C4點所在列圖像數(shù)據(jù)重復(fù)讀取。C6x編譯器訪問存儲器是很費時的,為了提高數(shù)據(jù)處理率,應(yīng)使一條Load/Store指令能夠訪問多個數(shù)據(jù)[9]。針對上述問題,利用內(nèi)聯(lián)函數(shù)[10]_memd8(),一次讀取圖2中第一行A0到A7的全部8個原始圖像數(shù)據(jù)。如此,只需五條數(shù)據(jù)讀取指令,就可以讀取圖2所示全部圖像數(shù)據(jù),同時對多個點進行濾波。

      作為一種快速求點積和指令,_dotpsu4()函數(shù)將32位輸入src1與src2的每8位對應(yīng)相乘后的累加值作為結(jié)果輸出,可實現(xiàn)同一行中4個相鄰圖像數(shù)據(jù)與濾波系數(shù)的相乘后累加工作。鑒于此,對圖2所示圖像區(qū)域內(nèi)C2至C5點,調(diào)用_dotpsu4()函數(shù)分別計算相應(yīng)覆蓋區(qū)域與濾波掩膜的卷積和,除以濾波系數(shù)總和,即可得到濾波結(jié)果R11、R12、R13和R14。

      圖2 5×5空域濾波示意Fig.2 5 ×5 Gaussian smoothing

      利用上述方法,每次讀取40個圖像數(shù)據(jù),可計算同行相鄰4個像素點對應(yīng)的濾波結(jié)果。其中,對單個像素點的濾波需要調(diào)用10次_dotpsu4()函數(shù)。橫向遍歷原始圖像,對一個寬、高各為M和N原始圖像,遍歷MN/4次,即可得到空域濾波后結(jié)果圖像。

      3 高斯平滑濾波優(yōu)化

      3.1 高斯平滑掩膜的可分解性

      在空域濾波的實際應(yīng)用中,為了減少運算量,通常會在滿足濾波性能的前提下,有針對性地設(shè)計濾波掩膜。常用的方法是利用兩個一維濾波掩膜的逐次卷積來代替二維濾波掩膜,而高斯平滑濾波就是其典型代表。

      二維高斯濾波掩膜(i,j)處濾波系數(shù)取值如下:

      式中,(i0,j0)為掩膜中心位置坐標;σ為高斯分布參數(shù),決定高斯函數(shù)的平滑程度;c為歸一化系數(shù)。令一維高斯掩膜濾波系數(shù)取值如下:

      由式(1)、式(2),以及高斯掩膜的中心對稱性,有:

      式中,W為掩膜寬度。由式(3),進一步得到二維高斯掩膜g(σ;i,j)與兩個相互垂直的一維高斯掩膜g(σ;i)、g(σ;j)之間滿足:

      結(jié)合式(4),將 g(σ;i,j)與待濾波圖像 f(i,j)卷積,可得:

      式(5)說明了高斯平滑掩膜的可分解性[11-12],二維高斯平滑掩膜與圖像卷積等效于將圖像與一維高斯平滑掩膜卷積,然后再將卷積結(jié)果與方向垂直的一維高斯平滑掩膜進行卷積。這樣,對單個像素點濾波,只需要10次乘法運算、8次加法運算和2次除法運算,大大減少了計算量。

      3.2 高斯平滑濾波優(yōu)化

      高斯平滑掩膜的可分解性為高斯平滑濾波的進一步優(yōu)化提供了理論基礎(chǔ)。鑒于此,將5×5濾波掩膜分解為5×1橫向掩膜N與1×5縱向掩膜M的相乘,高斯平滑濾波等效于原始圖像先與M卷積(以下稱橫向卷積)后再與N卷積(以下稱縱向卷積)。接下來,本文從以下幾個方面考慮,對逐次卷積過程進行優(yōu)化。

      3.2.1 基本運算單元

      為了最大限度減少算法耗時,應(yīng)避免對濾波中產(chǎn)生的中間結(jié)果進行存取操作,這就要求上述逐次卷積過程應(yīng)在一次遍歷中完成。在明確這一需求后,需進一步確定每次遍歷讀取多大的圖像區(qū)域作為基本運算單元進行逐次卷積,能使優(yōu)化效果達到最優(yōu)。

      為了借助_mem4()函數(shù)實現(xiàn)對濾波結(jié)果的快速存儲,應(yīng)使每次遍歷算得的濾波結(jié)果在行方向上相鄰且為4的整數(shù)倍。為了借助_dotpsu4()函數(shù)實現(xiàn)圖像數(shù)據(jù)與掩膜系數(shù)的相乘累加,每次讀取同一行中相鄰8個圖像數(shù)據(jù)參與橫向卷積,同理,每次使同一列中相鄰8個橫向卷積結(jié)果參與到縱向卷積?;谝陨蟽牲c考慮,選擇8×8區(qū)域作為卷積的基本運算單元,經(jīng)橫向卷積,得到卷積結(jié)果大小為8×4,再經(jīng)縱向卷積得到濾波結(jié)果為4×4大小區(qū)域。

      3.2.2 重組卷積結(jié)果

      重組卷積結(jié)果的目的就是整合橫向卷積結(jié)果,以便利用內(nèi)聯(lián)函數(shù)快速完成縱向卷積。下面借助圖3(a)與圖3(b),結(jié)合重組橫向卷積結(jié)果,說明逐次卷積過程。

      數(shù)據(jù)打包讀取原始圖像數(shù)據(jù)A0至A7及其正下方7行圖像數(shù)據(jù),橫向卷積得到 F1,G1,H1,I1,…,F(xiàn)i,Gi,Hi,Ii(i=1,…,8)。利用內(nèi)聯(lián)函數(shù)_packl4()與_pack2()對F1等進行重組,如對F1至F8,利用式(6)、式(7),將其組合為2個32位整數(shù)data_h與data_l。將data_h、data_l以及濾波系數(shù)組合coeff_h、coeff_l一同作為_dotpsu4()函數(shù)的輸入,利用式(8)計算縱向卷積結(jié)果。式中,利用邏輯位移代替除法運算,X為邏輯右移位數(shù)。

      通過橫向卷積結(jié)果在兩次卷積中的合理過渡,不僅使逐次卷積能夠在對圖像的單次遍歷中完成,且由于逐次卷積過程中大量使用內(nèi)聯(lián)函數(shù),使得算法執(zhí)行效率得到了大幅提升。

      3.2.3 復(fù)用卷積結(jié)果

      分別讀取原始圖像中以像素點(m,n)和(m+4,n)為左上角端點的2組8×8圖像數(shù)據(jù),各自與M卷積,得到 Fi、Gi、Hi、Ii。兩次橫向卷積結(jié)果前者 i取值從m至m+7,后者i取值從m+4至m+11??梢姡笳咔耙话氲木矸e結(jié)果已由前者算得,無須重復(fù)計算,只需再計算后一半卷積結(jié)果即可。

      圖3 優(yōu)化后濾波計算與流程圖Fig.3 Calculation and flow chart of filtering algorithm after optimization

      鑒于此,縱向遍歷時,除了在圖像頂端的初始遍歷讀取大小8×8圖像區(qū)域,算得8×4橫向卷積結(jié)果外,其余遍歷時復(fù)用前一次遍歷產(chǎn)生的4×4橫向卷積結(jié)果,另外讀取4×8基本運算單元,算得可復(fù)用于下次遍歷的4×4橫向卷積結(jié)果即可。在獲得同等數(shù)量濾波結(jié)果情況下,復(fù)用過程結(jié)果,數(shù)據(jù)讀取量與卷積運算量均減半,且濾波過程無多余的數(shù)據(jù)存取,既節(jié)省了時間,又節(jié)約了空間。

      3.2.4 濾波流程

      綜上所述,優(yōu)化后高斯平滑濾波算法步驟如下,m、n初始值均為0。

      Step1:數(shù)據(jù)打包讀取圖像數(shù)據(jù)O'=O0n8×8,其中Omn8×8代表以原始圖像中(m,n)點為矩陣左上角的8×8圖像數(shù)據(jù),讀取圖像數(shù)據(jù)后將m賦值為8;

      Step2:O'的每一行與 M 卷積,得到 F1,G1,H1,I1,…,F(xiàn)i,Gi,Hi,Ii(i=1,…,8),記為 T;

      Step3:T 的每一列與 N 卷積,得到 Rmn,Rm+1,n,Rm+2,n, Rm+3,n, …, Rm,n+3, Rm+1,n+3, Rm+2,n+3,Rm+3,n+3,除以系數(shù)累加和作為濾波結(jié)果輸出;

      Step4:利用式(9)-(12),復(fù)用卷積結(jié)果,更新Fi、Gi、Hi、Ii(i=1,…,4);

      Step5:數(shù)據(jù)打包讀取原始圖像數(shù)據(jù) O'=Omn4×8,其中 Omn4×8代表以原始圖像中(m,n)點為矩陣左上角的4×8圖像數(shù)據(jù);

      Step6:O'的每一行與 M 卷積,得到 F5,G5,H5,I5,…,F(xiàn)i,Gi,Hi,Ii(i=5,…,8);

      Step7:如果m小于原始圖像高度M,m=m+4,重復(fù)Step3至Step6,否則跳轉(zhuǎn)至Step8;

      Step8:如果n小于原始圖像寬度N,n=n+4,跳轉(zhuǎn)至Step1,否則結(jié)束濾波。

      4 實驗結(jié)果與分析

      為了測試優(yōu)化性能,利用圖1(a)所示5×5高斯平滑濾波掩膜對不同尺寸的原始圖像進行濾波,得到優(yōu)化前后濾波耗時如表1所示。實驗仿真環(huán)境為 DSP集成開發(fā)環(huán)境 CCS v3.2,處理器為TMS320C6455/1GHz,處理時間為CCS軟件內(nèi)部剖析時鐘顯示的程序耗時。

      表1 優(yōu)化前后濾波耗時對比Tab.1 Time cost before and after optimization

      由表1,在-o3模式下編譯未經(jīng)優(yōu)化的高斯平滑濾波代碼,對不同尺寸圖像的濾波均耗時較長。利用文獻[3]所述傳統(tǒng)的空域濾波方法進行優(yōu)化,濾波效率平均提升約16倍。借助高斯平滑掩膜的可分解性,對原始圖像進行逐次卷積,該過程首先遍歷原始圖像進行橫向卷積,再遍歷橫向卷積結(jié)果進行縱向卷積。逐次卷積耗時如表1第四列所示,對小尺寸圖像的逐次卷積耗時相比傳統(tǒng)空域濾波有小幅減小,對大尺寸圖像的逐次卷積耗時反而超過了傳統(tǒng)空域濾波耗時,這主要是因為兩次遍歷中橫向卷積結(jié)果的存取消耗了大量的時間,且圖像尺寸越大,存取操作耗時也就越多。利用本文方法,重組并復(fù)用橫向卷積結(jié)果,使逐次卷積能夠在對圖像的單次遍歷中完成,濾波效率較傳統(tǒng)優(yōu)化方法和逐次卷積方法有了進一步的提升。實驗結(jié)果表明,對不同尺寸的圖像,濾波效率提升32倍以上,且圖像尺寸越大,濾波效率的提升就顯著。

      對一幅320×240×8bit圖像,利用不同尺度的高斯平滑掩膜進行濾波,得到濾波耗時如表2所示。隨著掩膜尺度的增大,掩膜分解前后算法運算量差異就越大。因此,越是大尺度的濾波掩膜,利用本文方法濾波,優(yōu)化效果也就越顯著。

      表2 不同尺度掩膜優(yōu)化性能對比Tab.2 Results of optimization experiments with different scale masks

      5 結(jié)論

      本文以TMS320C6x系列DSP為應(yīng)用平臺,基于高斯平滑掩膜的可分解性,提出了一種單次遍歷實現(xiàn)兩次卷積的高斯平滑濾波DSP優(yōu)化方法,首先,依次打包讀取4×8圖像區(qū)域作為基本運算單元,有效降低對數(shù)據(jù)的重復(fù)訪問;其次,在基本運算單元內(nèi),利用內(nèi)聯(lián)函數(shù)并行計算橫向模板的一次卷積;然后,重組并復(fù)用橫向模板卷積單元直接進行縱向模板的二次卷積。最后,以基本運算單元為單位遍歷處理圖像,計算平滑濾波結(jié)果。實驗表明,本文方法能夠顯著提升高斯平滑濾波效率,具有較大的工程應(yīng)用價值。

      [1] Diao Yiping,Zhao Xiaoqun.C code optimization for TI C6000 DSPs[J].Microcomputer Applications,2007,28(5):544 -548.(in Chinese)刁一平,趙曉群.基于TI C6000DSP的C/C++語言代碼效率優(yōu)化[J].微計算機應(yīng)用,2007,28(5):544-548.

      [2] YangGuangyu,Gao Xiaorong,Wang Li,et al.Technology of C/C++Program Optimization Based on TI C6000 DSP[J].Modern Electronics Technique,2009,33(8):544 -548.(in Chinese)楊光宇,高曉蓉,王黎,等.基于TI C6000系列DSP的C/C++程序優(yōu)化技術(shù)[J].現(xiàn)代電子技術(shù),2009,33(8):544-548.

      [3] Chen Song,Zheng Hong,Wu Xinghua,et al.Optimization method of digital image preprocessing algorithm based on DSP[J].Electronic Instrumentation Customer,2010,17(3):58 -60.(in Chinese)陳松,鄭紅,吳興華,等.基于DSP的數(shù)字圖像預(yù)處理算法優(yōu)化方法[J].儀器儀表用戶,2010,17(3):58-60.

      [4] Lei Tao,Cao Xiaowei,Wu Qinzhang.The optimization of the space low-pass filtering module in the real-time image processing based on DSP[J].Opto - Electronic Engineering,2012,39(5):116 -120.(in Chinese)雷濤,曹曉偉,吳欽章.實時DSP圖像處理空間低通濾波模塊優(yōu)化[J].光電工程,2012,39(5):116 -120.

      [5] Lei Tao,Zhou Jin,Wu Qinzhang.Research on optimization method of DSP real-time image processing software[J].Computer Engineering,2012,38(14):177 - 180.(in Chinese)雷濤,周進,吳欽章.DSP實時圖像處理軟件優(yōu)化方法研究[J].計算機工程,2012,38(14):177 -180.

      [6] Huang Detian,Chen Jianhua.Code optimization of DSP image processing[J].Chinese Journal of Optics and Applied Optics,2009,2(5):452 -459.(in Chinese)黃德天,陳建華.DSP圖像處理的程序優(yōu)化[J].中國光學(xué)與應(yīng)用光學(xué),2009,2(5):452 -459.

      [7] Texas Instruments.TMS320C6455 Technical Reference[EB/OL].2005.(SPRU965)

      [8] Li Kun,Dong Wenjuan,Wang Weihua,et al.Implementation of a hardware platform for infrared image information processing and optimization of software based on double DSPs[J].Infrared Technology,2008,30(9):533 - 536.(in Chinese)李坤,董文娟,王衛(wèi)華,等.基于雙DSP的紅外圖像信息處理硬件平臺的實現(xiàn)及軟件優(yōu)化[J].紅外技術(shù),2008,30(9):533 -536.

      [9] Li Fanghui,Wang Fei,He Peikun.The principle and application of TMS320C6000 DSPs[M].2nd ed.Beijing:Publishing House of Electronics Industry,2003.(in Chinese)李方慧,王飛,何佩琨.TMS320C6000系列DSPs原理與應(yīng)用[M].2版.北京:電子工業(yè)出版社,2003.

      [10] Texas Instruments.TMS320C64x/C64x+DSP CPU and Instruction SetReference Guide [EB/OL].2008.(SPRU732)

      [11] Byung Soo Moon.A gaussian smoothing algorithm to generate trend curves[J].Korean Journal of Computational and Applied Mathematics,2001,8(3):507 -518.

      [12] Frank Y Shih,Yi- Ta Wu.Decomposition of arbitrary gray - scale morphological structuring elements[J].Pattern Recognition,2005,38(12):2323 -2332.

      猜你喜歡
      掩膜空域高斯
      小高斯的大發(fā)現(xiàn)
      利用掩膜和單應(yīng)矩陣提高LK光流追蹤效果
      一種結(jié)合圖像分割掩膜邊緣優(yōu)化的B-PointRend網(wǎng)絡(luò)方法
      我國全空域防空體系精彩亮相珠海航展
      天才數(shù)學(xué)家——高斯
      光纖激光掩膜微細電解復(fù)合加工裝置研發(fā)
      基于貝葉斯估計的短時空域扇區(qū)交通流量預(yù)測
      多層陰影掩膜結(jié)構(gòu)及其制造和使用方法
      科技資訊(2016年21期)2016-05-30 18:49:07
      淺談我國低空空域運行管理現(xiàn)狀及發(fā)展
      基于能量空域調(diào)控的射頻加熱花生醬均勻性研究
      息烽县| 蓬安县| 伊通| 钟祥市| 高碑店市| 安福县| 衡山县| 南昌县| 随州市| 阿荣旗| 星子县| 峨山| 宁海县| 临夏市| 静宁县| 高淳县| 丹江口市| 昌黎县| 崇义县| 龙州县| 台安县| 灵寿县| 嘉黎县| 乐业县| 茂名市| 武山县| 昌图县| 阳西县| 卓尼县| 双鸭山市| 周口市| 沧州市| 平泉县| 吉水县| 巴塘县| 蛟河市| 贡觉县| 松潘县| 贵德县| 同德县| 蚌埠市|