999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Canny算子在DSP上的實現及優化

2014-03-22 17:50:24徐克強等
現代電子技術 2014年6期

徐克強等

摘 要: 為了在DSP平臺實現細胞圖像快速分割,詳細分析Canny算子原理,結合TI DSP TMS320C6678處理器特性,實現了算法移植。針對與外部存儲器圖像數據交互,改變以往對圖像逐灰度值進行訪問的方式, 設計了矢量化數據打包方法處理高斯濾波來提高并行運算。且在梯度計算、閾值計算過程中,采用寬存儲器訪問方法提高讀寫外部存儲器效率。結果表明設計的優化方法在不改變分割效果前提下改善了算子速度,可為工程人員在DSP平臺進行算法移植與優化提供借鑒。

關鍵詞: 圖像處理; Canny算子; DSP優化; 圖像快速分割

中圖分類號: TN919?34 文獻標識碼: A 文章編號: 1004?373X(2014)06?0008?04

0 引 言

Canny算子屬于圖像處理和計算機視覺中的重要研究領域——邊緣檢測問題。邊緣檢測對后續的圖像分析和識別意義重大。例如,在鏡檢細胞圖像識別中,邊緣檢測就是要把從采集到的圖像中各種有形成分準確分離出來,進入后端進行特征建模與識別,邊緣檢測是整個系統的關鍵和核心,承上啟下,好的檢測效果是系統實現前提[1],快速檢測是智能系統的內在要求。

John F.Canny將邊緣檢測問題歸結為檢測圖像梯度函數的極大值問題,提出了邊緣檢測最優算法的三個評價準則,并基于該準則開發了一種多級邊緣檢測算法。目前,Canny算子在生物醫學,智能監控,航空航天等領域應用廣泛,并由學者和工程人員不斷加以改進和優化。例如韓慧妍等針對高斯濾波器的方差以及滯后閾值的選擇需要人工指定的問題,將形態學平滑和Otsu(最大類間方差法)方法引入Canny算子[2]。洪運國針對間斷的邊緣問題,提出矩量保持法來求取最優閾值等[3]。

眾多Canny的改進都體現在算法思想上,并在Windows操作系統和通用PC中得到廣泛應用,然而,在嵌入式平臺如DSP加以應用時,很少細致深入地研究實用有效的優化方法使得Canny算子在DSP平臺高效率運行。例如金澤安在其學位論文中,詳盡設計了基于DSP的紅細胞圖像處理系統,但在圖像處理算法性能優化方面只做了粗略的優化方法介紹[4]。通過詳細分析Canny算子原理基礎上,結合DSP特性,將矢量化打包數據處理在高斯濾波過程加以應用,提高運算并行性,并在邊緣計算過程中,靈活地使用對齊和非對齊的寬存儲器訪問,推導出梯度和方向的等價計算公式,四鄰域、八鄰域的等價的連續點四領域、八鄰域模板。

1 Canny算法實現步驟

經典著名的Canny準則是指:

(1) 完全性。對邊緣檢測的錯誤率盡可能低。

(2) 定位性。檢測結果和實際情況盡可能接近。

(3) 最小性。圖像中的邊緣應該只被檢測一次[5]。

基于邊緣檢測效果的三準則,結合原始Canny算子及改進思想,實現了顯微細胞圖像Canny分割,算法思想和步驟如下描述:

Step 1:用二維高斯濾波模板進行卷積以消除雜點,采用的模板計算公式如下:

濾波過程即將原輸入圖像與高斯模板進行卷積,濾波長度依據參數sigma而定,用公式表示如下:

Step 2:計算差分圖像。一般采用2×2鄰域范圍,原圖中每一點水平方向和垂直方向的差分計算公式如下:

式中IG為差分圖像的輸入,即二維高斯濾波后的結果;Δx為水平方向差分;Δy為垂直方向差分。

Step 3:計算弧度和梯度,公式如下:

Step 4:對梯度幅值進行非最大值抑制。若某個像素的灰度值與其梯度方向上前后兩個像素的灰度值相比不是最大的,那個這個像素置為255(白點),即不是邊緣 。

Step 5:使用累計直方圖計算兩個閾值。凡是大于高閾值的一定作為邊緣,像素點置0;凡是小于低閾值的一定不是邊緣,像素點置255;若檢測結果位于兩者之間,檢測其鄰接像素中超過高閾值的邊緣像素:存在則為邊緣點,否則非邊緣點[6]。

以上步驟結束,由輸入的原圖像得到一副二值邊緣圖。

2 Canny算子的DSP優化

在DSP平臺編程實現和優化Canny算子時,需要根據特定處理器的特點來展開,主要參考數據總線寬度,核內功能單元、寄存器等。

2.1 TMS320C6678特性和優化概述

TMS320C6678在單芯片上集成8顆1.25 GHz C66X核,支持定點運算,字寬一般為16位;支持浮點運算,字寬可為32位、40位、48位、64位。每個核具有8個功能單元(.M1,.L1,.D1,.S1.,M2,.L2,.D2,.S2),2個寄存器組(A,B兩組64個寄存器)和2條數據通路。每個C66X核的.M單元在每個時鐘周期內能夠執行以下定點操作:4個32×32 b乘法,16個16×16 b乘法,4個16×32 b乘法,8個8×8 b乘法, 4個16×16 b乘法和加減運算。.L和.S單元支持64 b操作數據,如此可以容納多算術、邏輯和數據打包指令并行處理。還可以通過長型操作數,最長可達128位,完成雙倍數據的轉換[7]。

在DSP平臺上,數據傳輸的設計是圖像系統的關鍵環節,CPU處理任務時的速度很大程度都受到外部存儲器的限制[8]。TMS320C6678片內存儲器含寄存器、Cache、L2、共享存儲器,訪問速度快,然而容量卻非常有限,當圖像數據量較大時,無法將待分割的整幅圖像和一些中間結果置于片內進行處理。例如對800×600、24位BMP圖像數據處理,其大小為1.37 MB,考慮到C6678片內存儲器的大小,分割的圖像數據和中間結果分布在外圍DDR,因此,在任務處理過程中,CPU直接訪問外部存儲器接口的情況下,頻繁與外部存儲器發生數據交互大大影響程序的執行效率。

針對以上問題,實現了基于矢量化打包數據處理實現預處理過程(高斯濾波)提高算法的并行能力,在分割過程(邊緣計算)中靈活運用對齊和非對齊的寬存儲器訪問提高存儲器讀/寫效率,另外,還參考的一般的優化方法,如避免跳轉,展開不必要的循環等。

2.2 矢量化打包數據處理高斯濾波

高斯濾波是分割處理一個重要過程,在實現過程中,將輸入圖像與高斯模板進行卷積,橫向濾波時的單個像素點的濾波的濾波結果示意圖如圖1所示,縱向過程與之類似。

采用乘累加容易實現高斯濾波,其偽代碼如下(橫向為例):

采用以上方式實現的高斯濾波,代碼包含三重循環,代碼前后相關性大,不利于編譯器優化,每計算出單點的濾波結果,需要訪存N(N為濾波器長度)。針對該過程,采用矢量化的打包數據處理對高斯濾波進行優化,其根本思想是利用TMS320C6678在一個時鐘周期內能夠執行多個乘法運算,從而將濾波展開成多操作并行的代碼結構,另外,利用高斯模板的對稱結構,將兩次乘法運算優化為一次加法和乘法。具體實現步驟如下描述:

(1) 為更有效地讀取數據,讀取和存儲必須向量化。待處理數據最好在內存空間連續存儲,若不連續,采用額外的數據打包操作,準備好數據。

(2) 在讀取數據時,需要將一次并行處理的數據全部讀入,這一步需要采用寬存儲器對連續數據進行訪問,具體寬度根據需要并行的操作、處理器并行操作的能力、處理器單次最大訪問寬度而定。

最后,將運算相關的指令合并成intrinsic函數[9},以充分利用C66x的特性。intrinsics函數直接調用某些匯編語句,其前綴以下劃線表明,和普通函數調用方法相同。如_mpy2實現將輸入的兩個操作數的高低16位相乘,_swap4將操作數高低半字中的每一對字節分別做大端終結交換,_dopt2實現低16位乘積和高16位乘積相加[10]。實現的矢量化打包數據處理高斯濾波偽采用以上方法,分解了濾波長度帶來的第三重循環,多次調用內聯函數,執行效率高,充分利用C66x在一個周期內,完成多個16×16的乘法運算的性能,單像素結果需要進行7次乘累加的操作,可在一個周期內并行完成,以上優化思想和代碼結構在DSP平臺運行,極具優勢。另外,進行縱向濾波處理,由于輸入圖像在內存一般采用按行優先存儲,需要采用額外的數據打包處理,其他過程類似。

2.3 寬存儲器訪問計算邊緣

寬長度存儲器訪問是指充分利用C6x系列DSP一次讀取32 位數的特性,并利用一個指令周期能讀取多個數據的特點在DSP處理過程中,盡可能多的將所需短字長操作數讀入,如一次讀入2×32 b,4×16 b,甚至8×8 b等,可成倍減少與外部存儲器發生交互,是DSP優化過程中一個重要的優化手段。在實現C6678 DSP平臺的Canny算法時,不止是在高斯濾波的處理過程中,計算圖像梯度信息,進行非最大抑制等過程中也同樣采用寬長度存儲器訪問,脫離傳統的按單位像素交互圖像數據的思維和編程方式,結合具體芯片的處理性能和應用程序要求實現和優化Canny算子,例如C6678甚至支持128 b的超長數據,在訪問和保存中間圖像結果時,具體采用的數據位寬需要結合系統對精度的要求,當用16位來表示梯度信息,即C語言中的short類型,采用64 b寬存儲器訪問,便推導出梯度計算公式的等價公式如下:

采用寬存儲器非對齊數據訪問可以從DSP內存中任意起始地址開始讀取和存儲2 B,4 B,8 B的數據,分別使用(&)_mem2_(const),(&)_mem4_(const),(&)_mem8_(const)函數。如此,便可以將圖像處理領域中頻繁使用的四鄰域模板進行推導,處理具體任務時,將四領域模板升級為連續四點四鄰區,連續八點四鄰區,其示意圖如圖3所示。

圖3(a)為四鄰域模板示意圖, (b)和(c)為分別采用4 B和8 B訪問時,鄰域模板示意圖。對(b)和(c)圖像進行處理的前提和依據是:連續4點的四鄰域在內存存儲中也是連續的(不包含邊界),連續訪問的4點,在物理位置上其相關鄰點也連續。如此,可成倍節省外部存儲器訪問操作時間。訪問(a)的四鄰域點,需要4次仿存,采用推導出等價模板后,處理連續四點和八點只需4次訪問。在Canny邊緣計算過程中,需對輸入逐點遍歷,如計算梯度時遍歷整幅圖像灰度,非最大抑制時遍歷梯度和方向等,以上等價模板思想,當需要處理圖像的八鄰域或在其他比較規整的膨脹和腐蝕模板同樣適應。

3 硬件仿真結果

硬件平臺采用TMS320C6678LE評估板,開發軟件采用CCS V5.3,量化位數16位,對一副800×600的顯微細胞圖像進行處理,分割效果良好,見圖4。此外,在優化前后,分別對Canny算法步驟進行分析和測試,耗時統計采用TSCL和TSCH寄存器,結果見表1,所統計的結果均是在勾選相同的編譯器優化選項后的比對。

4 結 語

在DSP平臺中,采用以上思想進行優化后,對同樣的圖像進行處理,相對于原算法,性能可以提高近3倍,在差分圖像計算時,效果極為明顯。在DSP系統設計中,頻繁地直接外部存儲器接口訪問,是系統性能提升的瓶頸,優化結果表明,采用數據打包處理和寬存儲器訪問方式能在一定程度上解決該問題,雖不能實現數量級的優化,但研究的優化方法同樣可以在工程中作為輔助的優化策略,并且具有實際優化效果。

圖4 分割前后的顯微細胞圖像

表1 耗時測試仿真結果 cycle

參考文獻

[1] 梁光明.體液細胞圖像有形成分智能識別關鍵技術研究[D].長沙:國防科技大學,2008.

[2] 韓慧妍,韓燮.形態學和Otsu方法在Canny邊緣檢測算子中的應用[J].微電子學與計算機,2012,29(2):156?159.

[3] 洪運國.基于改進Canny 算子和神經網絡的人體行為識別模型[J].計算機工程與應用,2013,49(8):202?205.

[4] 金澤安.基于DSP紅細胞圖像處理技術[D].南京:南京理工大學,2009.

[5] 孫興華,郭麗.數字圖像處理:編程框架、理論分析、實例應用和源碼實現[M].北京:機械工業出版社,2012.

[6] 左飛,萬晉森,劉航.數字圖像處理原理與實踐:基于Visual C++開發[M].北京:電子工業出版社,2011.

[7] Texas Instruments. TMS320C66x DSP CPU and instruction set reference guide [M]. USA: TI, 2010.

[8] QURESHI Shehrzad. Embedded image processing on the TMS320C6000? DSP: examples in code composer studio and MATLAB [M]. [S.l.]: Springer Verlag, 2005.

[9] Texas Instruments. TMS320C6000系列DSP編程工具與指南[M].田黎育,何佩琨,朱夢宇,譯.北京:清華大學出版社,2006.

[10] Texas Instruments. Multicore fixed and floating?point digital signal processor TMS320C6678 data manual [M]. USA: TI, 2013.

針對以上問題,實現了基于矢量化打包數據處理實現預處理過程(高斯濾波)提高算法的并行能力,在分割過程(邊緣計算)中靈活運用對齊和非對齊的寬存儲器訪問提高存儲器讀/寫效率,另外,還參考的一般的優化方法,如避免跳轉,展開不必要的循環等。

2.2 矢量化打包數據處理高斯濾波

高斯濾波是分割處理一個重要過程,在實現過程中,將輸入圖像與高斯模板進行卷積,橫向濾波時的單個像素點的濾波的濾波結果示意圖如圖1所示,縱向過程與之類似。

采用乘累加容易實現高斯濾波,其偽代碼如下(橫向為例):

采用以上方式實現的高斯濾波,代碼包含三重循環,代碼前后相關性大,不利于編譯器優化,每計算出單點的濾波結果,需要訪存N(N為濾波器長度)。針對該過程,采用矢量化的打包數據處理對高斯濾波進行優化,其根本思想是利用TMS320C6678在一個時鐘周期內能夠執行多個乘法運算,從而將濾波展開成多操作并行的代碼結構,另外,利用高斯模板的對稱結構,將兩次乘法運算優化為一次加法和乘法。具體實現步驟如下描述:

(1) 為更有效地讀取數據,讀取和存儲必須向量化。待處理數據最好在內存空間連續存儲,若不連續,采用額外的數據打包操作,準備好數據。

(2) 在讀取數據時,需要將一次并行處理的數據全部讀入,這一步需要采用寬存儲器對連續數據進行訪問,具體寬度根據需要并行的操作、處理器并行操作的能力、處理器單次最大訪問寬度而定。

最后,將運算相關的指令合并成intrinsic函數[9},以充分利用C66x的特性。intrinsics函數直接調用某些匯編語句,其前綴以下劃線表明,和普通函數調用方法相同。如_mpy2實現將輸入的兩個操作數的高低16位相乘,_swap4將操作數高低半字中的每一對字節分別做大端終結交換,_dopt2實現低16位乘積和高16位乘積相加[10]。實現的矢量化打包數據處理高斯濾波偽采用以上方法,分解了濾波長度帶來的第三重循環,多次調用內聯函數,執行效率高,充分利用C66x在一個周期內,完成多個16×16的乘法運算的性能,單像素結果需要進行7次乘累加的操作,可在一個周期內并行完成,以上優化思想和代碼結構在DSP平臺運行,極具優勢。另外,進行縱向濾波處理,由于輸入圖像在內存一般采用按行優先存儲,需要采用額外的數據打包處理,其他過程類似。

2.3 寬存儲器訪問計算邊緣

寬長度存儲器訪問是指充分利用C6x系列DSP一次讀取32 位數的特性,并利用一個指令周期能讀取多個數據的特點在DSP處理過程中,盡可能多的將所需短字長操作數讀入,如一次讀入2×32 b,4×16 b,甚至8×8 b等,可成倍減少與外部存儲器發生交互,是DSP優化過程中一個重要的優化手段。在實現C6678 DSP平臺的Canny算法時,不止是在高斯濾波的處理過程中,計算圖像梯度信息,進行非最大抑制等過程中也同樣采用寬長度存儲器訪問,脫離傳統的按單位像素交互圖像數據的思維和編程方式,結合具體芯片的處理性能和應用程序要求實現和優化Canny算子,例如C6678甚至支持128 b的超長數據,在訪問和保存中間圖像結果時,具體采用的數據位寬需要結合系統對精度的要求,當用16位來表示梯度信息,即C語言中的short類型,采用64 b寬存儲器訪問,便推導出梯度計算公式的等價公式如下:

采用寬存儲器非對齊數據訪問可以從DSP內存中任意起始地址開始讀取和存儲2 B,4 B,8 B的數據,分別使用(&)_mem2_(const),(&)_mem4_(const),(&)_mem8_(const)函數。如此,便可以將圖像處理領域中頻繁使用的四鄰域模板進行推導,處理具體任務時,將四領域模板升級為連續四點四鄰區,連續八點四鄰區,其示意圖如圖3所示。

圖3(a)為四鄰域模板示意圖, (b)和(c)為分別采用4 B和8 B訪問時,鄰域模板示意圖。對(b)和(c)圖像進行處理的前提和依據是:連續4點的四鄰域在內存存儲中也是連續的(不包含邊界),連續訪問的4點,在物理位置上其相關鄰點也連續。如此,可成倍節省外部存儲器訪問操作時間。訪問(a)的四鄰域點,需要4次仿存,采用推導出等價模板后,處理連續四點和八點只需4次訪問。在Canny邊緣計算過程中,需對輸入逐點遍歷,如計算梯度時遍歷整幅圖像灰度,非最大抑制時遍歷梯度和方向等,以上等價模板思想,當需要處理圖像的八鄰域或在其他比較規整的膨脹和腐蝕模板同樣適應。

3 硬件仿真結果

硬件平臺采用TMS320C6678LE評估板,開發軟件采用CCS V5.3,量化位數16位,對一副800×600的顯微細胞圖像進行處理,分割效果良好,見圖4。此外,在優化前后,分別對Canny算法步驟進行分析和測試,耗時統計采用TSCL和TSCH寄存器,結果見表1,所統計的結果均是在勾選相同的編譯器優化選項后的比對。

4 結 語

在DSP平臺中,采用以上思想進行優化后,對同樣的圖像進行處理,相對于原算法,性能可以提高近3倍,在差分圖像計算時,效果極為明顯。在DSP系統設計中,頻繁地直接外部存儲器接口訪問,是系統性能提升的瓶頸,優化結果表明,采用數據打包處理和寬存儲器訪問方式能在一定程度上解決該問題,雖不能實現數量級的優化,但研究的優化方法同樣可以在工程中作為輔助的優化策略,并且具有實際優化效果。

圖4 分割前后的顯微細胞圖像

表1 耗時測試仿真結果 cycle

參考文獻

[1] 梁光明.體液細胞圖像有形成分智能識別關鍵技術研究[D].長沙:國防科技大學,2008.

[2] 韓慧妍,韓燮.形態學和Otsu方法在Canny邊緣檢測算子中的應用[J].微電子學與計算機,2012,29(2):156?159.

[3] 洪運國.基于改進Canny 算子和神經網絡的人體行為識別模型[J].計算機工程與應用,2013,49(8):202?205.

[4] 金澤安.基于DSP紅細胞圖像處理技術[D].南京:南京理工大學,2009.

[5] 孫興華,郭麗.數字圖像處理:編程框架、理論分析、實例應用和源碼實現[M].北京:機械工業出版社,2012.

[6] 左飛,萬晉森,劉航.數字圖像處理原理與實踐:基于Visual C++開發[M].北京:電子工業出版社,2011.

[7] Texas Instruments. TMS320C66x DSP CPU and instruction set reference guide [M]. USA: TI, 2010.

[8] QURESHI Shehrzad. Embedded image processing on the TMS320C6000? DSP: examples in code composer studio and MATLAB [M]. [S.l.]: Springer Verlag, 2005.

[9] Texas Instruments. TMS320C6000系列DSP編程工具與指南[M].田黎育,何佩琨,朱夢宇,譯.北京:清華大學出版社,2006.

[10] Texas Instruments. Multicore fixed and floating?point digital signal processor TMS320C6678 data manual [M]. USA: TI, 2013.

針對以上問題,實現了基于矢量化打包數據處理實現預處理過程(高斯濾波)提高算法的并行能力,在分割過程(邊緣計算)中靈活運用對齊和非對齊的寬存儲器訪問提高存儲器讀/寫效率,另外,還參考的一般的優化方法,如避免跳轉,展開不必要的循環等。

2.2 矢量化打包數據處理高斯濾波

高斯濾波是分割處理一個重要過程,在實現過程中,將輸入圖像與高斯模板進行卷積,橫向濾波時的單個像素點的濾波的濾波結果示意圖如圖1所示,縱向過程與之類似。

采用乘累加容易實現高斯濾波,其偽代碼如下(橫向為例):

采用以上方式實現的高斯濾波,代碼包含三重循環,代碼前后相關性大,不利于編譯器優化,每計算出單點的濾波結果,需要訪存N(N為濾波器長度)。針對該過程,采用矢量化的打包數據處理對高斯濾波進行優化,其根本思想是利用TMS320C6678在一個時鐘周期內能夠執行多個乘法運算,從而將濾波展開成多操作并行的代碼結構,另外,利用高斯模板的對稱結構,將兩次乘法運算優化為一次加法和乘法。具體實現步驟如下描述:

(1) 為更有效地讀取數據,讀取和存儲必須向量化。待處理數據最好在內存空間連續存儲,若不連續,采用額外的數據打包操作,準備好數據。

(2) 在讀取數據時,需要將一次并行處理的數據全部讀入,這一步需要采用寬存儲器對連續數據進行訪問,具體寬度根據需要并行的操作、處理器并行操作的能力、處理器單次最大訪問寬度而定。

最后,將運算相關的指令合并成intrinsic函數[9},以充分利用C66x的特性。intrinsics函數直接調用某些匯編語句,其前綴以下劃線表明,和普通函數調用方法相同。如_mpy2實現將輸入的兩個操作數的高低16位相乘,_swap4將操作數高低半字中的每一對字節分別做大端終結交換,_dopt2實現低16位乘積和高16位乘積相加[10]。實現的矢量化打包數據處理高斯濾波偽采用以上方法,分解了濾波長度帶來的第三重循環,多次調用內聯函數,執行效率高,充分利用C66x在一個周期內,完成多個16×16的乘法運算的性能,單像素結果需要進行7次乘累加的操作,可在一個周期內并行完成,以上優化思想和代碼結構在DSP平臺運行,極具優勢。另外,進行縱向濾波處理,由于輸入圖像在內存一般采用按行優先存儲,需要采用額外的數據打包處理,其他過程類似。

2.3 寬存儲器訪問計算邊緣

寬長度存儲器訪問是指充分利用C6x系列DSP一次讀取32 位數的特性,并利用一個指令周期能讀取多個數據的特點在DSP處理過程中,盡可能多的將所需短字長操作數讀入,如一次讀入2×32 b,4×16 b,甚至8×8 b等,可成倍減少與外部存儲器發生交互,是DSP優化過程中一個重要的優化手段。在實現C6678 DSP平臺的Canny算法時,不止是在高斯濾波的處理過程中,計算圖像梯度信息,進行非最大抑制等過程中也同樣采用寬長度存儲器訪問,脫離傳統的按單位像素交互圖像數據的思維和編程方式,結合具體芯片的處理性能和應用程序要求實現和優化Canny算子,例如C6678甚至支持128 b的超長數據,在訪問和保存中間圖像結果時,具體采用的數據位寬需要結合系統對精度的要求,當用16位來表示梯度信息,即C語言中的short類型,采用64 b寬存儲器訪問,便推導出梯度計算公式的等價公式如下:

采用寬存儲器非對齊數據訪問可以從DSP內存中任意起始地址開始讀取和存儲2 B,4 B,8 B的數據,分別使用(&)_mem2_(const),(&)_mem4_(const),(&)_mem8_(const)函數。如此,便可以將圖像處理領域中頻繁使用的四鄰域模板進行推導,處理具體任務時,將四領域模板升級為連續四點四鄰區,連續八點四鄰區,其示意圖如圖3所示。

圖3(a)為四鄰域模板示意圖, (b)和(c)為分別采用4 B和8 B訪問時,鄰域模板示意圖。對(b)和(c)圖像進行處理的前提和依據是:連續4點的四鄰域在內存存儲中也是連續的(不包含邊界),連續訪問的4點,在物理位置上其相關鄰點也連續。如此,可成倍節省外部存儲器訪問操作時間。訪問(a)的四鄰域點,需要4次仿存,采用推導出等價模板后,處理連續四點和八點只需4次訪問。在Canny邊緣計算過程中,需對輸入逐點遍歷,如計算梯度時遍歷整幅圖像灰度,非最大抑制時遍歷梯度和方向等,以上等價模板思想,當需要處理圖像的八鄰域或在其他比較規整的膨脹和腐蝕模板同樣適應。

3 硬件仿真結果

硬件平臺采用TMS320C6678LE評估板,開發軟件采用CCS V5.3,量化位數16位,對一副800×600的顯微細胞圖像進行處理,分割效果良好,見圖4。此外,在優化前后,分別對Canny算法步驟進行分析和測試,耗時統計采用TSCL和TSCH寄存器,結果見表1,所統計的結果均是在勾選相同的編譯器優化選項后的比對。

4 結 語

在DSP平臺中,采用以上思想進行優化后,對同樣的圖像進行處理,相對于原算法,性能可以提高近3倍,在差分圖像計算時,效果極為明顯。在DSP系統設計中,頻繁地直接外部存儲器接口訪問,是系統性能提升的瓶頸,優化結果表明,采用數據打包處理和寬存儲器訪問方式能在一定程度上解決該問題,雖不能實現數量級的優化,但研究的優化方法同樣可以在工程中作為輔助的優化策略,并且具有實際優化效果。

圖4 分割前后的顯微細胞圖像

表1 耗時測試仿真結果 cycle

參考文獻

[1] 梁光明.體液細胞圖像有形成分智能識別關鍵技術研究[D].長沙:國防科技大學,2008.

[2] 韓慧妍,韓燮.形態學和Otsu方法在Canny邊緣檢測算子中的應用[J].微電子學與計算機,2012,29(2):156?159.

[3] 洪運國.基于改進Canny 算子和神經網絡的人體行為識別模型[J].計算機工程與應用,2013,49(8):202?205.

[4] 金澤安.基于DSP紅細胞圖像處理技術[D].南京:南京理工大學,2009.

[5] 孫興華,郭麗.數字圖像處理:編程框架、理論分析、實例應用和源碼實現[M].北京:機械工業出版社,2012.

[6] 左飛,萬晉森,劉航.數字圖像處理原理與實踐:基于Visual C++開發[M].北京:電子工業出版社,2011.

[7] Texas Instruments. TMS320C66x DSP CPU and instruction set reference guide [M]. USA: TI, 2010.

[8] QURESHI Shehrzad. Embedded image processing on the TMS320C6000? DSP: examples in code composer studio and MATLAB [M]. [S.l.]: Springer Verlag, 2005.

[9] Texas Instruments. TMS320C6000系列DSP編程工具與指南[M].田黎育,何佩琨,朱夢宇,譯.北京:清華大學出版社,2006.

[10] Texas Instruments. Multicore fixed and floating?point digital signal processor TMS320C6678 data manual [M]. USA: TI, 2013.

主站蜘蛛池模板: 国产精品黄色片| 欧美日韩va| 国产三级韩国三级理| 日韩中文无码av超清| 亚洲精品制服丝袜二区| 亚洲天堂网在线视频| 波多野结衣一区二区三区四区| 成人福利在线观看| 波多野结衣视频一区二区| 久青草网站| 国产精品性| 国产精品成人不卡在线观看| 日韩精品一区二区三区免费| 亚洲AⅤ无码国产精品| 九色免费视频| 国产视频自拍一区| 国产一二三区视频| 欧美午夜视频在线| 在线视频亚洲色图| 2021精品国产自在现线看| 无码中文AⅤ在线观看| 亚洲第一成年人网站| 亚洲av综合网| 无码专区国产精品第一页| 亚洲娇小与黑人巨大交| 亚洲一级色| 99人体免费视频| 国产第四页| 亚洲男女天堂| 女人一级毛片| 国产在线无码一区二区三区| 欧美在线伊人| 久久久久人妻一区精品色奶水 | 凹凸国产熟女精品视频| 久久久久国产精品嫩草影院| 久久性妇女精品免费| 一本大道视频精品人妻 | 国产又爽又黄无遮挡免费观看 | 高清色本在线www| 欧美另类图片视频无弹跳第一页| 国产男人的天堂| 国产精品午夜电影| 欧美日韩成人| 中文成人在线| 在线视频97| 国产日韩丝袜一二三区| 欧美一级一级做性视频| 久久综合色视频| 国产精品yjizz视频网一二区| 久久综合亚洲鲁鲁九月天| 夜色爽爽影院18禁妓女影院| 一级片免费网站| 一区二区三区国产| 久久久久久久97| 白丝美女办公室高潮喷水视频| 欧美精品在线免费| 久久伊人色| 国产亚洲欧美在线视频| 丰满人妻一区二区三区视频| 日本尹人综合香蕉在线观看| 日韩欧美中文字幕在线精品| 一区二区三区四区精品视频 | 岛国精品一区免费视频在线观看| 日韩少妇激情一区二区| 亚洲高清中文字幕| 无码人妻热线精品视频| 欧美日韩精品在线播放| 99精品伊人久久久大香线蕉| 国产精品密蕾丝视频| 无码内射在线| 亚洲伊人天堂| 欧美在线精品一区二区三区| 91精品情国产情侣高潮对白蜜| 亚洲美女久久| 国产视频一区二区在线观看 | 99ri国产在线| 宅男噜噜噜66国产在线观看| 波多野结衣无码AV在线| 不卡午夜视频| 91亚洲影院| 国产在线日本| 99ri国产在线|