李丹陽
摘要:針對移動目標圖像輪廓的識別,設(shè)計了一種基于Sobel算子的FPGA實時圖像邊緣檢測優(yōu)化系統(tǒng),利用FPGA并行運算特性,采用流水線的方法極大提高了系統(tǒng)對圖像數(shù)據(jù)的處理速率。系統(tǒng)具有結(jié)構(gòu)簡單、運行穩(wěn)定、處理數(shù)據(jù)速度快的優(yōu)點,通過實驗測試取得了良好的使用效果。
關(guān)鍵詞:Soble算子;邊緣檢測;FPGA
中圖分類號:TP391.4 文獻標識碼:A 文章編號:1007-9416(2017)11-0137-02
1 引言
圖像的邊緣檢測技術(shù),是數(shù)字視頻圖像數(shù)據(jù)處理的重要方式之一,在計算機視覺、模式識別、遙感等領(lǐng)域都有著廣泛的應(yīng)用。邊緣檢測是對圖像上亮度發(fā)生突變的區(qū)域的確定,這些亮度發(fā)生突變的區(qū)域就是物體的邊緣,其包含著一幅圖像的大部分特征信息,是圖像分析的基礎(chǔ)。怎樣才能更快速、更精準的實時檢測圖像的邊緣信息一直是國內(nèi)外圖像處理領(lǐng)域研究的熱點之一。
快速精準的將動態(tài)圖像邊緣提取出來,不僅包含復(fù)雜計算的算法,對于系統(tǒng)的處理速度也有著較高的要求?,F(xiàn)代的FPGA器件就具備著片上邏輯資源豐富、能夠高速并行處理大量數(shù)據(jù)的優(yōu)點,能夠快速實時的進行圖像的邊緣檢測。本文以Xilinx Spartan-6系列高性能FPGA為核心,采用Soble圖像邊緣檢測算法,以Verilog HDL語言設(shè)計了實時圖像邊緣檢測系統(tǒng)。
2 Soble算子的圖像邊緣檢測原理
Soble 算子法又稱加權(quán)平均差分法,它的原理是計算x和y方向亮度信號的導(dǎo)數(shù)值,最大導(dǎo)數(shù)值和最小導(dǎo)數(shù)值就是亮度變化最劇烈的區(qū)域,也就是圖像的邊緣。利用水平和垂直方向3*3的Soble卷積表Gx和Gy作為模板如圖1(b,c),與圖像中同樣大小的3*3區(qū)域像素(如圖1(a))的對應(yīng)點像素進行乘積求和運算,得到x方向和y方向的偏導(dǎo)數(shù)Dx和Dy如式(1),式(2)所示[1-2]。
進而可以求出中心像素的導(dǎo)數(shù)如式(3)所示。對于灰度圖像,其像素值是無符號的,一般由8比特數(shù)據(jù)來表示其256個亮度等級,從0(黑色)到255(白色)。將中心像素的導(dǎo)數(shù)值與設(shè)定的閾值進行對比,大于閾值就設(shè)置中心像素點的灰度值為255,反之設(shè)置為0。將待處理圖像的每一像素點都進行一次運算,就得到了邊緣圖像。因為開平方與平方函數(shù)都是單調(diào)的,而邊緣檢測只關(guān)注導(dǎo)數(shù)幅值的最值,故可將上式化簡如下絕對值之和的形式,
|D|=|Dx|+|Dy|
可以看出實際計算幅值的最值與近似后公式計算的最值發(fā)生在圖像的同一處位置。而且優(yōu)化后的近似計算絕對值能夠更加節(jié)省硬件資源,提高數(shù)據(jù)的處理速度。
3 圖像邊緣檢測的系統(tǒng)設(shè)計
3.1 系統(tǒng)的整體結(jié)構(gòu)設(shè)計
圖像邊緣檢測系統(tǒng)的整體設(shè)計結(jié)構(gòu)如圖2所示,主要以Xlinx Spartan-6 FPGA為核心,包括了實時圖像的采集、存儲、邊緣檢測和圖像的顯示模塊。實時圖像采集的傳感器采用VO7670 CMOS圖像傳感器,該傳感器能夠?qū)崟r輸出YcrCb灰度圖像,數(shù)據(jù)可直接提供給邊緣檢測模塊進行數(shù)據(jù)處理。邊緣檢測模塊主要依靠FPGA并行運算的優(yōu)勢實現(xiàn)Soble算法的邏輯設(shè)計。圖像顯示控制模塊主要對處理之后的邊緣圖像進行實時的動態(tài)顯示。
3.2 圖像數(shù)據(jù)處理的FPGA優(yōu)化設(shè)計
為了系統(tǒng)高效穩(wěn)定的進行數(shù)據(jù)的處理,在FPGA內(nèi)部搭建了數(shù)據(jù)處理的片上系統(tǒng)模型,使得圖像數(shù)據(jù)在控制流的控制下能夠有序的通過數(shù)據(jù)處理單元。如圖3所示,CMOS圖像傳感器通過I/O邏輯將圖像數(shù)據(jù)連續(xù)的保存到存儲器中,控制器控制Soble加速器讀入存儲器中的源數(shù)據(jù)進行邊緣檢測,再將處理后的圖像寫回存儲器或顯示到顯示器,仲裁器負責(zé)各模塊請求的仲裁。
3.3 數(shù)據(jù)處理邏輯單元的實現(xiàn)及結(jié)果分析
VO7670 CMOS的圖像分辨率為640*480,幀率為30fps,每秒有約100萬個像素數(shù)據(jù)待處理。欲滿足實時性需求,必須在100ns內(nèi)至少完成一個像素的所有運算操作。像素數(shù)據(jù)是8bit字節(jié)數(shù)據(jù),一幀圖像里一行的像素從左至右,一行像素接著一行像素,順次存儲在連續(xù)的地址空間存儲器中。I/O邏輯單獨寫一像素數(shù)據(jù)到存儲器會占用20ns,即數(shù)據(jù)處理帶寬的20%。采用Soble算子進行圖像的邊緣檢測,同樣要求在100ns內(nèi)進行9個原始像素數(shù)據(jù)的讀取一個導(dǎo)數(shù)像素值得計算,和處理后該像素值的存儲。發(fā)現(xiàn)順次的讀寫處理數(shù)據(jù)不能夠滿足系統(tǒng)實時性的需求。
本設(shè)計在數(shù)據(jù)寫操作上進行優(yōu)化處理,采用4字節(jié)32bit一次寫操作,可以使得平均每個像素寫操作時間降低到5ns,在數(shù)據(jù)處理上我們采用Soble邊緣檢測加速器的方式進行(如圖4所示)。從原始圖像中讀取三行作為一個數(shù)據(jù)塊,每行4個相鄰的像素,把這些像素值存儲在加速器的32位寄存器中以待處理,再讓這些像素按時鐘節(jié)拍流過右側(cè)的乘法器陣列,然后向下流過加法器到達Dx和Dy寄存器,再通過絕對值電路和加法器到達RSE寄存器,再經(jīng)閾值比較得到結(jié)果數(shù)據(jù)[3-4]。整塊的數(shù)據(jù)經(jīng)過加速器以后,形成導(dǎo)數(shù)圖像中的一整行。因此數(shù)據(jù)塊的處理過程共包括起始、重復(fù)計算、和完成三個階段。這三個階段不斷重復(fù)的執(zhí)行,就可以計算出邊緣圖像每一行像素的數(shù)據(jù),可以將結(jié)果像素數(shù)據(jù)發(fā)送給I/O邏輯寫回存儲器或顯示器顯示。
圖5為CMOS采集的源圖像,圖6為系統(tǒng)進行數(shù)據(jù)處理后的圖像。從結(jié)果上可以看出,在FPGA上實現(xiàn)Soble算法的圖像邊緣檢測,能夠?qū)︻愃朴谖淖值葓D像邊緣數(shù)據(jù)的準確提取。
4 結(jié)語
本文實現(xiàn)了一種基于Soble算子的實時圖像邊緣檢測系統(tǒng),在FPGA數(shù)據(jù)處理架構(gòu)上,采用了數(shù)字邏輯片上系統(tǒng),設(shè)計了Soble硬件加速器,以流水線方式優(yōu)化了邏輯設(shè)計。在保證系統(tǒng)實時性的基礎(chǔ)上,提高了系統(tǒng)的集成度,通過實測體現(xiàn)出了FPGA數(shù)字邏輯在系統(tǒng)設(shè)計速度上的優(yōu)勢。
參考文獻
[1]張輝,曲仕茹.基于FPGA硬件實現(xiàn)的圖像邊緣檢測及仿真[J].計算機仿真,2010(3):232-236.
[2]Donald G.Bailey.Design for Ebedded Imagae Processing on FPGAs[M].北京.電子工業(yè)出版社:270-293.
[3]任文平,賈贊.基于FPGA的圖像處理電路的設(shè)計與實現(xiàn)[J].電子技術(shù)應(yīng)用,2010(2):44-46.
[4]Zai-quan, Guo; Hui, Chen; Li, Peng. Research on Remote Sensing Image Fusion Methods based on Soble Operator Wavelet Packet Transform[J]. Journal of Convergence Information Technology 2013(ProQuest):300-306.
Abstract:In order to identify contour of the moving target, a real-time image edge dectection optimization system has been designed based on Soble algorithm. The system using the parallel computing characteristics of FPGA, and pipeline design method, impoves the processing speed of image data. The device has the advantages of simple structure and fast processing, achieved good results through experimental tests.
Key Words:soble;image edge detection;FPGAendprint