《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 自適應(yīng)實(shí)時(shí)邊緣檢測系統(tǒng)設(shè)計(jì)
自適應(yīng)實(shí)時(shí)邊緣檢測系統(tǒng)設(shè)計(jì)
2017年電子技術(shù)應(yīng)用第2期
李錦明,高文剛,張虎威,吳正洋
中北大學(xué) 電子測試技術(shù)國家重點(diǎn)實(shí)驗(yàn)室,山西 太原030051
摘要: 針對傳統(tǒng)邊緣檢測系統(tǒng)缺乏自適應(yīng)及實(shí)時(shí)性差的問題,利用FPGA的高速并行處理能力和改進(jìn)的Canny算子設(shè)計(jì)了一種自適應(yīng)實(shí)時(shí)邊緣檢測系統(tǒng)。系統(tǒng)根據(jù)采集圖像的幅值梯度直方圖特征,自主提取Canny算子所需的高低閾值,并輔以雙閾值化處理來提取圖像邊緣信息;同時(shí)采用多級流水和并行處理的方式,將浮點(diǎn)數(shù)轉(zhuǎn)化為整數(shù)計(jì)算,加快處理速度。實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)提取邊緣完整,實(shí)時(shí)性好,自適應(yīng)能力強(qiáng)。
中圖分類號: TP391
文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.2017.02.020
中文引用格式: 李錦明,高文剛,張虎威,等. 自適應(yīng)實(shí)時(shí)邊緣檢測系統(tǒng)設(shè)計(jì)[J].電子技術(shù)應(yīng)用,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 引言

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

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

1 邊緣檢測系統(tǒng)結(jié)構(gòu)設(shè)計(jì)

    自適應(yīng)實(shí)時(shí)邊緣檢測系統(tǒng)由圖像采集、灰度轉(zhuǎn)換、數(shù)據(jù)緩存、Canny算子邊緣檢測以及VGA顯示控制等模塊組成。系統(tǒng)硬件結(jié)構(gòu)如圖1所示。

ck7-t1.gif

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

2 Canny算子自適應(yīng)雙閾值選擇

    傳統(tǒng)Canny算子的檢測結(jié)果極易受到外部環(huán)境影響,本文采用一種自適應(yīng)雙閾值選取算法來增強(qiáng)系統(tǒng)的抗干擾能力。

    統(tǒng)計(jì)非極大值抑制后圖像的梯度直方圖,由梯度直方圖的性質(zhì)可得低閾值位于第一個(gè)大波峰和第一個(gè)小波峰之間。為了便于閾值選取和硬件實(shí)現(xiàn),將梯度直方圖轉(zhuǎn)化為差分直方圖,如式(1)所示:

     ck7-gs1.gif

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

     ck7-gs2-3.gif

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

3 自適應(yīng)實(shí)時(shí)邊緣檢測系統(tǒng)的實(shí)現(xiàn)

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

    灰度轉(zhuǎn)換模塊采用一個(gè)乘加器來實(shí)現(xiàn)。由于FPGA不擅長浮點(diǎn)數(shù)處理,可先將浮點(diǎn)參數(shù)左移10 bit變?yōu)檎麛?shù)參與計(jì)算,接著例化一個(gè)乘加器,然后再把輸出結(jié)果右移10 bit得到圖像灰度值,如式(4)所示:

    ck7-gs4.gif

3.1 圖像緩存模塊的實(shí)現(xiàn)

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

ck7-t2.gif

3.2 Canny邊緣檢測模塊的實(shí)現(xiàn)

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

3.2.1 幅值梯度計(jì)算

    圖像中某一像素的幅值梯度是不同方向模板對該像素點(diǎn)鄰域卷積的結(jié)果??刹捎盟胶痛怪?個(gè)方向的3×3模板來計(jì)算圖像梯度。方向模板如圖3所示。

ck7-t3.gif

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

     ck7-gs5.gif

    根據(jù)分析,梯度計(jì)算模塊可由6個(gè)乘加器、2個(gè)加法器和1個(gè)開方器組成,實(shí)現(xiàn)過程如圖4所示。其中一個(gè)乘加器包含3個(gè)乘法運(yùn)算和1個(gè)加法運(yùn)算,可直接完成一行像素與對應(yīng)模板的卷積,再調(diào)用一個(gè)加法器就可得到某一方向的梯度值,然后結(jié)合兩個(gè)方向梯度值和一個(gè)開方運(yùn)算來確定該像素點(diǎn)的幅值梯度值。

ck7-t4.gif

3.2.2 非極大值抑制

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

     ck7-gs6.gif

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

3.2.3 自適應(yīng)雙閾值處理

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

ck7-t5.gif

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

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

ck7-t6.gif

    利用SignalTap II驗(yàn)證Canny邊緣檢測模塊,仿真結(jié)果如圖7所示。

ck7-t7.gif

4 實(shí)驗(yàn)結(jié)果及分析

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

ck7-t8.gif

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

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

5 結(jié)論

    本文以FPGA為核心設(shè)計(jì)并實(shí)現(xiàn)了一種實(shí)時(shí)邊緣檢測系統(tǒng)。系統(tǒng)利用圖像的幅值梯度直方圖信息,可在不同場景下自適應(yīng)選取Canny算子所需的高低閾值,有效解決了Canny算子邊緣檢測中需要手動(dòng)設(shè)置閾值的弊端。實(shí)驗(yàn)測試結(jié)果表明,自適應(yīng)實(shí)時(shí)邊緣檢測系統(tǒng)具有精度高、實(shí)時(shí)性好、抗干擾能力強(qiáng)的優(yōu)點(diǎn),可廣泛應(yīng)用于視頻監(jiān)控、目標(biāo)跟蹤、醫(yī)療設(shè)備等領(lǐng)域。

參考文獻(xiàn)

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

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

[3] 李佩斌,黃瑩,趙譽(yù)婷.基于DSP+FPGA的嵌入式圖像處理系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2014,37(20):95-98.

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

[5] 項(xiàng)力領(lǐng),劉智,楊陽,等.單片SDRAM的數(shù)據(jù)讀寫乒乓操作設(shè)計(jì)[J].長春理工大學(xué)學(xué)報(bào)(自然科學(xué)版),2013(5):140-143.

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

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



作者信息:

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

(中北大學(xué) 電子測試技術(shù)國家重點(diǎn)實(shí)驗(yàn)室,山西 太原030051)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
主站蜘蛛池模板: 成人禁在线观看| jlzzjlzz欧美大全| 最近免费中文字幕中文高清 | 好吊色青青青国产在线播放| 丰满年轻的继坶| 日本高清乱码中文字幕| 亚洲va无码va在线va天堂| 欧美日韩国产精品| 亚洲福利视频网| 激情内射亚洲一区二区三区爱妻 | 日韩精品极品视频在线观看免费| 亚洲成a人片在线观看久| 浪小辉chinese野战做受| 免费又黄又爽又猛的毛片| 精品国产三级在线观看| 啊用力太猛了啊好深视频 | 精品乱子伦一区二区三区| 四虎在线精品观看免费| 草的爽免费视频| 国产你懂的在线| 高潮毛片无遮挡高清免费| 国产日韩亚洲欧美| 人人澡人人爽人人| 国产精品12页| 手机在线看片你懂得| 国产精品美女久久久| 91不卡在线精品国产| 国内自产拍自a免费毛片| 99精品国产在热久久无毒不卡| 天天爽亚洲中文字幕| www日本xxx| 好大好深别停视频视频| 一级做性色a爰片久久毛片| 性高湖久久久久久久久aaaaa| 中文字幕中韩乱码亚洲大片| 新婚侵犯乐派影院| 久久91精品国产91久久麻豆| 无遮无挡爽爽免费视频| 久久88色综合色鬼| 无码h黄肉3d动漫在线观看| 中日韩欧美视频|