李世文 李立聰



摘 要:針對艦船邊緣信息檢測實時性差、檢測效果不佳等問題,通過選取適用于艦船邊緣檢測的數學形態運算與最大類間方差二值法的方法,并結合 FPGA并行處理能力,構建艦船邊緣檢測硬件平臺。在該硬件平臺上,采用FPGA對艦船目標相關算法進行硬件實現。從艦船圖像處理結果分析可知,采用傳統CPU進行算法處理需要約120ms,采用FPGA實現僅需21.2ms,采用FPGA加速后處理速度提高5倍以上,完全可滿足實時性要求,因此該方法具有良好的應用前景。
關鍵詞:FPGA;OSTU;數學形態;邊緣檢測
DOI:10. 11907/rjdk. 191442
中圖分類號:TP317.4
文獻標識碼:A文章編號:1672-7800(2019)006-0176-05
Abstract: In order to solve the problems of poor real-time performance and poor detection effect in ship edge information detection, this paper constructs a hardware platform for ship edge detection by choosing the methods of mathematical morphology operation and OSTU, and combining the parallel processing ability of FPGA. On this hardware platform, we use FPGA to implement the related algorithm of ship target. From our analysis of the results of ship image processing, it takes about 120ms to process the ship image using traditional CPU. It takes about 21.2ms to implement by using FPGA. The speed of post-processing accelerated by using FPGA is ?five times faster than traditional CPU, which can meet the real-time requirements and has broad application prospects.
Key Words: FPGA; OSTU; ?mathematical morphology; edge detection
0 引言
艦船目標邊緣信息非常豐富,通過提取艦船目標邊緣信息可以進一步識別艦船目標,因此艦船邊緣信息提取研究具有重要意義,目前在具體目標識別系統中已有相關應用。但是艦船目標邊緣檢測具有以下特點:首先艦船目標所處環境非常復雜,包括復雜多變的海面背景和艦船在航行中激起的浪花軌跡等,其次對邊緣檢測系統實時性要求高。
目前國內外眾多學者對艦船目標邊緣檢測進行了深入研究[1-6]。文獻[1]基于SIM 模型的目標檢測技術,采用事前設定的閾值二值化及腐蝕膨脹進行前期預處理,但圖像提取效果不佳;文獻[2]利用支持向量機并結合船體邊緣信息識別檢測目標,但還是采用傳統方法獲取邊緣信息;文獻[3]采用多向梯度的艦船邊緣檢測,可以有效去除海洋虛電噪聲,識別率較高;文獻[4]采用模板匹配方法,但先驗信息獲取較困難;文獻[5]主要采用模糊Sobel算子進行邊緣檢測,提高了邊緣檢測準確度;文獻[6]主要利用海洋和艦船的紋理進行檢測,對海上航行的船只檢測效果較好,但在碼頭停靠時檢測效果不佳。同時上述文獻在邊緣檢測中均采用軟件實現相關算法,導致實時性差。
針對上述問題,本文采用FPGA對相關算法進行硬件加速。FPGA指現場可編程門陣列,其最大優勢是其并行處理能力,而數學形態學和OSTU算法具有形態分析和算法處理的并行實現結構,所以適用于FPGA。因此本文通過FPGA實現OSTU和數學形態算法,以此實現艦船目標邊緣檢測[7]。
1 艦船目標邊緣檢測流程及方案設計
1.1 基于FPGA的艦船目標邊緣檢測流程
艦船目標邊緣檢測流程如圖1所示。首先獲取待測彩色圖像,然后對圖像進行灰度化,由于圖像在拍攝過程中,受環境等原因影響存在噪聲干擾,需進行中值濾波消去圖像噪聲干擾。濾波后圖像進行最大類間方差二值化運算,對圖像進行分割,OSTU算法利用統計學相關知識確定一個最佳閾值,然后根據該閾值對圖像進行分割。
由于艦船圖像存在海洋背景、浪花等干擾,不能直接獲取艦船圖像邊緣,需進一步對圖像進行形態運算,即進行腐蝕、膨脹等運算消除相應背景干擾,之后采用Sobel算子進行艦船圖像邊緣檢測。
1.2 基于FPGA 的設計方案
艦船目標檢測的FPGA設計方案如圖2所示。FPGA內部電路主要包括控制模塊、中值濾波模塊、最大類間方差二值化模塊、數學形態運算模塊、邊緣檢測模塊、SDRAM控制模塊和協調模塊各種狀態的機控制電路[8-9]。電路工作時,艦船圖像傳入FPGA后,利用中值濾波對灰度化后的艦船目標圖像進行濾波,濾波后的圖像存入動態存儲器中。在中值濾波的同時利用OSTU圖像相關像素進行統計、計算獲取艦船目標圖像最佳自適應分割閾值,再從地圖存儲器中讀出處理后的艦船目標圖像,由于在中值濾波后獲得了分割閾值,本文利用該閾值對艦船目標圖像作二值化處理,然后通過Sobel算子運算進行艦船目標圖像邊緣檢測,將檢測到的艦船圖像送往顯示器。
2 艦船目標圖像FPGA實現
2.1 艦船目標圖像中值濾波及其FPGA實現
由于艦船處于復雜的環境,在圖像傳輸、圖像拍攝等過程中存在噪聲,影響圖像真實性,所以需要對圖像進行濾波。本文在FPGA中采用中值濾波的方式,中值濾波采用非線性平滑技術處理圖像,尤其對椒鹽噪聲的濾波效果非常好,同時中值濾波在濾波時對艦船邊緣影響較小。
中值濾波指用像素點灰度值的中值替代具體某點的像素值。中值濾波在FPGA中的實現方法多樣,本文采用Shift_RAM實現中值濾波。在FPGA中實現中值濾波包括3個步驟:①在Shift_RAM中保存3行數據,之后在每行對這3個像素進行并行排序;②獲取3個像素中的最大值、最小值和中間值;③將得到的最大值、最小值和中間值再次求中值,該值為求得的中值。具體實現過程如圖3所示,中值濾波包括緩存器、排序模塊和D觸發器。圖像數據通過Shift_RAM進行數據緩存和移位操作,首先每行相應像素數據通過模塊1-3進行排序,在FPGA中并行執行3個像素數據的排序。
接著排序模塊4-6對已處理后的數據再次進行處理,處理過程是把排序模塊1-3中的最大值作為排序輸出輸入到排序模塊4中,最小值輸入到排序模塊6中,中間值輸入到排序模塊5中。將排序模塊4的最小值、排序模塊5的中間值和排序模塊6的最大值輸入到排序模塊7中,然后由排序模塊7對這3個數進行排序,取中間值位置濾波輸出的結果。中值濾波在FPGA中實現后,在Modelsim中對其進行仿真。從仿真結果可以看出,中值濾波符合設計要求。
3 實驗結果
完成系統硬件平臺設計之后,本文利用從網絡下載的圖片對相關算法進行測試,測試時利用MATLAB把圖片轉換成imag.txt文件,然后通過串口把圖片數據發給FPGA,FPGA把數據存儲在SDRAM中,之后從SDRAM中讀出圖像并進行處理,相關算法完成處理后通過USB串口在電腦中顯示。
將相關算法處理后的圖像進行分析,其中圖11是目標原圖,圖12是本文采用自適應閾值進行二值化分割后的結果,圖13是本文采用文獻[8]中的方法進行二值化分割后的結果,對比兩種分隔情況可以看出來,利用OSTU分隔方法進行分隔的圖像邊緣信息更加豐富,圖像細節更加清晰。
利用OSTU算法進行圖像二值化后,再進行腐蝕和膨脹處理。由于艦船在航行中引起的浪花對艦船目標實際邊緣影響最大,需要對圖像進行濾波以進一步消除相關干擾,本文主要采用數學形態的濾波方法消除噪聲干擾。圖14是經過腐蝕和膨脹之后的艦船目標,從圖14可以看出經過形態濾波之后很大一部分干擾信息被消除。圖15是在形態濾波的基礎上艦船目標邊緣檢測結果,邊緣檢測本身具有平滑作用,所以從圖15可以看出,經過OSTU算法和數學形態濾波技術處理后可以較精準地確定艦船目標邊緣信息,沒有經過數學形態而直接進行邊緣檢測得到的邊緣信息如圖16所示,可以看出沒有形態濾波邊緣檢測圖像里干擾信息非常大。
同時本文在FPGA中對相關算法加以實現,由于FPGA并行處理能力非常強,所以目標邊緣檢測實時性很高,從實驗和仿真結果來看,仿真時采用仿真頻率為50MHz的時鐘驅動,在FPGA中處理600×480圖像大約需21.2ms,每秒鐘大約可處理207幅圖像,完全可以滿足艦船目標對系統實時性要求。
4 結語
本文提出利用自適應OSTU算法和數學形態學的方法對艦船目標進行邊緣檢測,并利用FPGA硬件平臺對相關算法加以實現。測試結果表明,利用OSTU算法對艦船目標進行二值化的分割效果更好,利用數學形態學的方法可以更好地消除包括復雜的海水背景和航行波浪產生的影響。同時由于本系統采用FPGA進行實現,耗時比傳統方法提高5倍以上。但本文采用自適應OSTU算法獲取的圖像閾值為全局閾值,在圖像分割中受光照不均勻等因素影響較大,這也是下一步待研究解決的問題。
參考文獻:
[1] 宋明珠,張素霞. 含噪光學遙感圖像海面弱小艦船目標檢測[J]. 光學學報2017,24(37):1-7.
[2] 吳飛,汪渤,周志強. 基于船頭特征提取和輪廓定位的港口艦船檢測[J]. 北京理工大學學報,2018,20(38):387-393.
[3] 胡耀輝,張科,邢超. 基于海天線的艦船弱小目標檢測[J]. 西北工業大學學報,2019,37(1):35-40.
[4] LI WK,FU K,SUN H. Integrated localization and recognition for inshore ships in large scene remote sensing images[J]. IEEE Geoscience and Remote Sensing Letters.2017,14(6): 936-940.
[5] GONZALEZ C I,MELIN P,CASTRO J R,et al. An improved Sobel edge detection method based on generalized type-2 fuzzy logic[J].Soft Computing,2016,20(2):773-784.
[6] YANG G,LI B ,JI S. Ship detection from optical satellite images based on sea surface analysis[J]. IEEE Geoscience and Remote Sensing Letters , 2014, 11(3): 641-645.
[7] 杜默,王清理. 基于雙邊緣檢測的目標定位技術[J]. 計算機與現代化,2016, 56(1):56-59.
[8] 侯宏錄,張文芳. 基于 FPGA 的 SDRAM 控制器設計方案[J]. 兵工自動化, 2012, 31(2):57-60.
[9] 梁晨,趙邦信. 基于 FPGA 和DDR3 SDRAM 的大規模查找表設計與實現[J]. 電子器件,2017,40(4): 849-855.
[10] 宋森森,賈振紅,楊杰. 結合Ostu閾值法的最小生成樹圖像分割算法[J]. 計算機工程與應用,2018,56(1):1-7.
[11] 趙冬梅,楊薇. 數學形態濾波的圖像邊緣檢測[J]. 艦船科學技術,2018, 40(5A):31-35.
[12] 郭海濤,徐雷,趙紅葉. 一種抑制聲吶圖像散斑噪聲的形態學濾波器[J]. 儀器儀表學報,2015,36(3):654-660.
[13] 仝海峰. 基于FPGA實時Sobel邊緣檢測形態學優化設計[J]. 微電子學,2015,6(45):781-784.
[14] 葉惠嬌,冉全,成果. FPGA 圖像邊緣檢測系統的設計與實現[J]. 計算機應用與軟件,2018,12(35):237-302.
[15] 李正,張海. 一種基于梯度方向一致性的邊緣檢測新算法[J]. 電子與信息學報,2016, 38(7):1674-1681.
[16] 徐文晴,王敏. 基于自適應形態學濾波的紅外小目標檢測算法[J]. 激光與紅外,2017, 47(1):108-113.
[17] 金大超,冷建偉. 基于 FPGA-邊緣檢測算法的設計[J]. 電子設計工程,2017, 25(13):159-162.
[18] 溫杰,李錦明. 基于 FPGA 的實時圖像邊沿檢測系統的實現[J]. 電子技術應用,2015,41(10):65-67.
[19] 何春華,張雪飛,胡迎春. 基于改進 Sobel 算子的邊緣檢測算法的研究[J]. 光學技術,2015,38(3):323-327.
[20] 董立紅,彭業勛,符立梅. 基于Sobel邊緣檢測的圓周Harris角點檢測算法[J]. 西安科技大學學報,2019,2(38):374-380.
(責任編輯:江 艷)