《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 自適應實時邊緣檢測系統設計
自適應實時邊緣檢測系統設計
2017年電子技術應用第2期
李錦明,高文剛,張虎威,吳正洋
中北大學 電子測試技術國家重點實驗室,山西 太原030051
摘要: 針對傳統邊緣檢測系統缺乏自適應及實時性差的問題,利用FPGA的高速并行處理能力和改進的Canny算子設計了一種自適應實時邊緣檢測系統。系統根據采集圖像的幅值梯度直方圖特征,自主提取Canny算子所需的高低閾值,并輔以雙閾值化處理來提取圖像邊緣信息;同時采用多級流水和并行處理的方式,將浮點數轉化為整數計算,加快處理速度。實驗結果表明,該系統提取邊緣完整,實時性好,自適應能力強。
中圖分類號: TP391
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2017.02.020
中文引用格式: 李錦明,高文剛,張虎威,等. 自適應實時邊緣檢測系統設計[J].電子技術應用,2017,43(2):85-87,91.
英文引用格式: Li Jinming,Gao Wengang,Zhang Huwei,et al. The design of adaptive real-time edge detection system[J].Application of Electronic Technique,2017,43(2):85-87,91.
The design of adaptive real-time edge detection system
Li Jinming,Gao Wengang,Zhang Huwei,Wu Zhengyang
National Kay Laboratory for Electronic Measurement Technology,North University of China,Taiyuan 030051,China
Abstract: Aiming at the problem that the traditional edge detection system is lack of adaptive and poor real-time performance, an adaptive real-time edge detection system is designed by using the high speed parallel processing ability of FPGA and the improved Canny operator. The system extracts the high threshold value of Canny operator according to the characteristic of the amplitude gradient histogram, and extracts edge information by double threshold processing. At the same time,it converts floating point number into integer to improve the processing speed by multilevel pipelining and parallel processing. The experimental results show that the system can extract complete edge and has the characters of good real-time performance and strong adaptive ability.
Key words : edge detection;adaptive;Canny operator;gradient histogram;parallel processing

0 引言

    圖像邊緣是圖像像素灰度值有階躍變化的像素集合,反映了圖像灰度的不連續性,包含了豐富的圖像信息,被廣泛應用于圖像識別領域[1]。常用邊緣檢測算子有Roberts、Prewitt、Sobel、Canny等[2],其中Canny算子是基于最優化邊緣的檢測方法,具有很高的檢測精度和信噪比。但計算量大、實時性差、需要預先設置閾值等弊端制約了其在系統中的應用。

    為此,利用FPGA的高速并行處理能力和豐富的邏輯資源[3],設計了一種適應性較強的實時邊緣檢測系統。該系統無需預先設定閾值,可根據圖像的幅值梯度直方圖特性[4],自動計算Canny邊緣檢測算法所需的高低閾值,能在不同環境下完成對圖像的邊緣檢測,具有較強的適應能力。

1 邊緣檢測系統結構設計

    自適應實時邊緣檢測系統由圖像采集、灰度轉換、數據緩存、Canny算子邊緣檢測以及VGA顯示控制等模塊組成。系統硬件結構如圖1所示。

ck7-t1.gif

    系統選用Cyclone III系列的EP3C40F484為核心處理器。上電后,圖像采集模塊通過SCCB總線初始化CMOS相機并采集圖像數據,然后將圖像數據轉換成灰度圖像以便Canny算子邊緣檢測模塊提取圖像的邊緣信息,而VGA顯示模塊是為了邊緣圖像的實時顯示。同時采用外擴SDRAM的方式來實現對圖像數據的跨時域操作。

2 Canny算子自適應雙閾值選擇

    傳統Canny算子的檢測結果極易受到外部環境影響,本文采用一種自適應雙閾值選取算法來增強系統的抗干擾能力。

    統計非極大值抑制后圖像的梯度直方圖,由梯度直方圖的性質可得低閾值位于第一個大波峰和第一個小波峰之間。為了便于閾值選取和硬件實現,將梯度直方圖轉化為差分直方圖,如式(1)所示:

     ck7-gs1.gif

其中,diff(i)=|NMS(i+1)-NMS(i)|,i=1,2,3,…,NMS(i)是非極大值抑制后的梯度直方圖。然后選擇第一個零點的梯度值作為高閾值,如式(2)所示,低閾值可通過式(3)得到:

     ck7-gs2-3.gif

其中,Arg表示第一次滿足Diff(i)=0的像素點i的梯度值。

3 自適應實時邊緣檢測系統的實現

    系統前端搭載CMOS相機OV5620采集圖像。上電后,圖像采集模塊通過SCCB總線對相機進行初始化,然后相機輸出640×480像素大小的圖像數據。圖像采集模塊在接收圖像數據的同時會根據像素時鐘、同步信號來確定數據的有效位,并將數據傳遞到下一模塊進行灰度化處理。系統中采用4.7 kΩ的上拉電阻來解決SCCB接口只能輸出低電平的問題。

    灰度轉換模塊采用一個乘加器來實現。由于FPGA不擅長浮點數處理,可先將浮點參數左移10 bit變為整數參與計算,接著例化一個乘加器,然后再把輸出結果右移10 bit得到圖像灰度值,如式(4)所示:

    ck7-gs4.gif

3.1 圖像緩存模塊的實現

    系統中采用外擴SDRAM芯片MT48LC8M32(2 M×32 bit×4 bank)作為數據緩存器來解決數據的跨時域問題[5]。為了充分利用FPGA的并行處理能力和SDRAM的高速讀寫能力,設計了雙端口(Wr_FIFO和Rd_FIFO)的SDRAM控制器。在SignalTap II中對SDRAM控制器進行功能驗證,仿真結果表明,所設計的SDRAM控制器滿足要求。SDRAM控制器仿真波形如圖2所示。

ck7-t2.gif

3.2 Canny邊緣檢測模塊的實現

    Canny算子是一種面向圖像幅值梯度的邊緣檢測方法。在計算幅值梯度前利用中值濾波代替高斯濾波進行圖像預處理,不僅能平滑圖像噪聲,而且能更好地保留圖像的細小邊緣。

3.2.1 幅值梯度計算

    圖像中某一像素的幅值梯度是不同方向模板對該像素點鄰域卷積的結果。可采用水平和垂直2個方向的3×3模板來計算圖像梯度。方向模板如圖3所示。

ck7-t3.gif

    中心像素點a4的梯度幅值和梯度方向如式(5)所示:

     ck7-gs5.gif

    根據分析,梯度計算模塊可由6個乘加器、2個加法器和1個開方器組成,實現過程如圖4所示。其中一個乘加器包含3個乘法運算和1個加法運算,可直接完成一行像素與對應模板的卷積,再調用一個加法器就可得到某一方向的梯度值,然后結合兩個方向梯度值和一個開方運算來確定該像素點的幅值梯度值。

ck7-t4.gif

3.2.2 非極大值抑制

    非極大值抑制就是比較中心像素梯度值與其梯度方向上相鄰像素梯度值的大小。實現時可將梯度方向分為0°、45°、90°和135°四個方向[6],每個方向包含左右各22.5°范圍,梯度方向根據μ=|Py/Px|的值和tan22.5°≈13/32、tan67.5°≈77/32來確定。梯度方向定義如式(6)所示:

     ck7-gs6.gif

    在確定梯度方向之后,判斷中心像素點是否為該梯度方向上的極大值。先利用移位寄存器和鎖存器來獲得3×3鄰域內的9個像素梯度值,然后通過選擇器找出與中心像素點在同一梯度方向上的兩個梯度值,最后利用比較器進行大小判斷。如果當前像素點的梯度值大于其他兩個梯度值,則該像素點梯度值為極大值,需要參與后續的雙閾值化處理,否則直接輸出該像素點的梯度值為0。

3.2.3 自適應雙閾值處理

    根據所述算法,系統利用梯度直方圖的差分直方圖來自適應選擇雙閾值。由于處理的是256灰度級的圖像,需要在FPGA內部開辟一個256×16的RAM塊來存儲不同梯度值像素點的個數,并把對應的梯度值作為寄存器組RAM的地址。自適應雙閾值選擇電路如圖5所示。

ck7-t5.gif

    當接收到開始信號時,寄存器組自動清零,把圖像梯度值Grad送入地址選擇器來選擇相應的RAM塊,經累加器b對圖像梯度的各個值進行個數統計后,將結果寫入原來的RAM塊中,直到一幀圖像統計完成;當圖像結束信號到來時,時鐘保持電路會自動保持256個系統時鐘,累加器a在時鐘驅動下順序產生寄存器組的地址,并把該地址和下一地址的數據分別送入寄存器a和 b中,由差分電路處理后,使用比較器將差分結果與0進行比較;若結果為 0 則發出停止累加信號,此時累加器a的值就是高閾值ThH,同時把ThH右移1位得到低閾值ThL

    自動計算雙閾值后,直接對非極大值抑制后的圖像進行雙閾值分割。首先采用兩個比較器將中心像素點的梯度值Grad(i,j)分別與高低閾值ThH、ThL作比較來確定強弱邊緣。若Grad(i,j)>ThH,則為強邊緣,輸出0xFF;若Grad(i,j)<ThL,不是邊緣點,輸出0;若ThL<Grad(i,j)<ThH,則為弱邊緣,需要結合強邊緣進行連通域處理。連通域處理是在中心像素點的8連通區域內,若有強邊緣像素點的存在,則該像素點將被判定為強邊緣,輸出0xFF,否則輸出為0。雙閾值分割電路如圖6所示。

ck7-t6.gif

    利用SignalTap II驗證Canny邊緣檢測模塊,仿真結果如圖7所示。

ck7-t7.gif

4 實驗結果及分析

    根據系統設計方案,在FPGA上實現了基于自適應雙閾值Canny算法的邊緣檢測系統。系統可自適應選擇合適閾值,集圖像采集、邊緣提取和實時顯示功能于一體,同時實現了基于傳統Canny算子的邊緣測系統。為了增加實驗的對比性,在實驗室環境下,固定CMOS相機,分別采用高低閾值與自適應閾值進行對比測試,測試結果如圖8所示。

ck7-t8.gif

    從圖8中可以看出,在圖像紋理較為復雜的情況下,對于傳統的Canny邊緣檢測系統,當閾值設置過低時,盡管能得到更多的邊緣信息,但虛假邊緣會增加,受噪聲的干擾明顯,檢測結果偏差較大,如圖8(c)所示;隨著閾值的增高,邊緣檢測能力減弱,將逐漸丟失部分緩變邊緣,降低圖像的信息量,直接表現為植物上很多細小的斑點沒有被檢測出來,如圖8(d)所示;而所設計的自適應邊緣系統無需手動設置閾值就能提取較為完整的圖像邊緣,對圖像細節和整體輪廓表現較好,如圖8(b)所示,這避免了人為因素對檢測結果的影響,提高了系統的自適應性。

    系統最差路徑的最大頻率為113.51 MHz,系統在留有20%余量情況下處理一幀圖像的時間約為3.4 ms,實時性較好。

5 結論

    本文以FPGA為核心設計并實現了一種實時邊緣檢測系統。系統利用圖像的幅值梯度直方圖信息,可在不同場景下自適應選取Canny算子所需的高低閾值,有效解決了Canny算子邊緣檢測中需要手動設置閾值的弊端。實驗測試結果表明,自適應實時邊緣檢測系統具有精度高、實時性好、抗干擾能力強的優點,可廣泛應用于視頻監控、目標跟蹤、醫療設備等領域。

參考文獻

[1] 陳娟,陳乾輝,師路歡.圖像跟蹤中的邊緣檢測技術[J].中國光學與應用光學,2009,2(1):46-53.

[2] 陳彥燕,王元慶.常用邊緣檢測算法的定量比較[J].計算機工程,2008,34(17):202-204.

[3] 李佩斌,黃瑩,趙譽婷.基于DSP+FPGA的嵌入式圖像處理系統設計[J].現代電子技術,2014,37(20):95-98.

[4] 黃河,李慶武,范習健.采用局部動態閾值的圖像分割算法[J].光電子技術,2011,31(1):78-80.

[5] 項力領,劉智,楊陽,等.單片SDRAM的數據讀寫乒乓操作設計[J].長春理工大學學報(自然科學版),2013(5):140-143.

[6] 李華,朱波.基于FPGA的彩色圖像實時采集系統設計[J].液晶與顯示,2014,29(2):258-265.

[7] 于建軍,吳志勇.CameraLink在視頻控制系統中的應用[J].光機電信息,2011,28(5):42-45.



作者信息:

李錦明,高文剛,張虎威,吳正洋

(中北大學 電子測試技術國家重點實驗室,山西 太原030051)

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 激情综合激情 | 成年男女的免费视频网站 | 全部免费a级毛片 | 国产高清在线 | 97视频在线观看视频最新 | 国产在线精品一区二区 | 国产在线永久视频 | 91一区二区三区四区五区 | 日韩免费不卡视频 | 欧美激情网址 | 日韩国产中文字幕 | 可以免费观看的毛片 | www.欧美.com| 久久久国产99久久国产久 | 日本69色视频在线观看 | 精品久久人人做人人爽综合 | 六月婷婷七月丁香 | 久久国产精品-国产精品 | 99在线国产视频 | 美日韩在线视频 | 欧美色视频在线观看 | 精品一区二区三区四区 | 精品九九视频 | 久久99精品久久久久久野外 | 欧美一区二区三区不卡免费观看 | 国产高清在线 | 色综合久久综合 | 国产精品亚洲αv天堂2021 | 免费看黄色小视频 | 久久久香蕉视频 | 国产成人毛片 | 久久久久久久久网站 | 日本国产精品 | 免费观看性行为的视频网站 | 狠狠躁夜夜躁人人爽天天段 | 私人免费电影影院 | 国产一区二区三区在线观看精品 | 免费在线小视频 | 妞干网欧美 | 99香蕉国产精品偷在线观看 | 99精品视频在线播放2 |