亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        嵌入式實(shí)時(shí)Canny邊緣檢測(cè)

        2017-10-21 03:40:34南開來(lái)傅超斌
        關(guān)鍵詞:梯度方向端點(diǎn)梯度

        南開來(lái),傅超斌

        (杭州電子科技大學(xué) 計(jì)算機(jī)學(xué)院,浙江 杭州 310018)

        嵌入式實(shí)時(shí)Canny邊緣檢測(cè)

        南開來(lái),傅超斌

        (杭州電子科技大學(xué) 計(jì)算機(jī)學(xué)院,浙江 杭州 310018)

        基于傳統(tǒng)Canny算子,提出CY68013+FPGA的嵌入式硬件架構(gòu)下的快速實(shí)時(shí)邊緣檢測(cè)算法。主機(jī)通過(guò)CY68013 USB接口芯片高速傳輸圖像數(shù)據(jù),F(xiàn)GPA從USB口采集圖像信息,并使用優(yōu)化的Canny算法實(shí)現(xiàn)邊緣提取。該算法針對(duì)FPGA的特點(diǎn)進(jìn)行了優(yōu)化,包括用模板替代卷積、適當(dāng)?shù)慕谱儞Q、充分利用FPGA的并行特性等,在保持了Canny算子原有的定位準(zhǔn)確、單邊響應(yīng)和信噪比高等優(yōu)點(diǎn)的基礎(chǔ)上,提高了邊緣提取的計(jì)算速度,減小了計(jì)算延遲,提高了實(shí)時(shí)性。

        CY68013;FPGA;Canny;嵌入式;邊緣檢測(cè)

        0 引言

        嵌入式的圖像處理在很多領(lǐng)域都具有重要作用,尤其是邊緣提取,但是現(xiàn)有的設(shè)備普遍計(jì)算復(fù)雜,等待時(shí)間較長(zhǎng),不具備高速實(shí)時(shí)檢測(cè)圖像邊緣的能力,使得生產(chǎn)效率受到了限制。為此,提出一種全新的嵌入式硬件架構(gòu)CY68013+FPGA,以及針對(duì)FPGA優(yōu)化的Canny邊緣檢測(cè)算法,其可以充分利用USB2.0 高速接口接收?qǐng)D像和FGPA的并行特性檢測(cè)邊緣,大大提高計(jì)算速度和實(shí)時(shí)性,同時(shí)解放主機(jī),分擔(dān)主機(jī)的計(jì)算壓力。

        1 數(shù)據(jù)傳輸部分

        主機(jī)通過(guò)發(fā)送圖像數(shù)據(jù)到現(xiàn)場(chǎng)可編程邏輯門陣列(Field-Programmable Gate Array, FPGA),F(xiàn)PGA對(duì)接收到的圖像進(jìn)行處理。為了提高處理的實(shí)時(shí)性能,選用了通用串行總線(Universal Serial Bus,USB)接口作為數(shù)據(jù)高速傳輸接口,為了簡(jiǎn)化USB協(xié)議的設(shè)計(jì),選用了USB協(xié)議處理芯片CY68013。

        1.1CY68013(EZ-USBFX2)

        CY68013 (EZ-USB FX2)[1]是Cypress半導(dǎo)體公司的新一代高速USB系列,可以用USB2.0最大數(shù)據(jù)傳輸速率傳輸數(shù)據(jù)。

        EZ-USB FX2芯片會(huì)自動(dòng)處理大部分的USB協(xié)議[2],用戶只需操作應(yīng)用層數(shù)據(jù)。芯片一共有4個(gè)端點(diǎn),以及4個(gè)緩沖區(qū)用于緩存接收或者發(fā)送的數(shù)據(jù)。

        自定義主機(jī)端與FPGA端的通信協(xié)議,主機(jī)端和FPGA端通信數(shù)據(jù)共分4種類型:

        (1)主機(jī)端寫FPGA端的寄存器;

        (2)主機(jī)端讀取FPGA端的寄存器;

        (3)主機(jī)端發(fā)送圖片數(shù)據(jù);

        (4)主機(jī)端接收?qǐng)D片數(shù)據(jù)。

        系統(tǒng)的整體模型如圖1所示。配置端點(diǎn)2為命令發(fā)送端點(diǎn),方向?yàn)镺UT,對(duì)FPGA端的寄存器進(jìn)行讀寫;配置端點(diǎn)4為圖片發(fā)送端點(diǎn),方向?yàn)镺UT,負(fù)責(zé)傳輸圖片數(shù)據(jù)到FPGA;配置端點(diǎn)6為命令返回值接收端點(diǎn),方向?yàn)镮N,讀取寄存器的值從端點(diǎn)6返回;配置端點(diǎn)8為圖片回傳端點(diǎn),方向?yàn)镮N,負(fù)責(zé)將FPGA中處理完成的圖片數(shù)據(jù)發(fā)回給主機(jī)。

        圖1 主機(jī)與FPGA數(shù)據(jù)交互示意圖

        所有的數(shù)據(jù)傳輸按照如下約定:

        (1)發(fā)送命令,其格式表如表1所示。

        表1 命令格式表

        (2)接收命令:只接收32位寄存器值。

        (3)發(fā)送圖片數(shù)據(jù):主機(jī)先通過(guò)端點(diǎn)2將待發(fā)送圖片相關(guān)信息寫入對(duì)應(yīng)寄存器,再發(fā)送圖片數(shù)據(jù)。發(fā)送的圖片數(shù)據(jù)是原始的灰度數(shù)據(jù)。

        (4)接收?qǐng)D片數(shù)據(jù):與發(fā)送圖片數(shù)據(jù)格式相同。

        1.2FPGA端控制讀取和發(fā)送USB數(shù)據(jù)

        CY68013的4個(gè)端點(diǎn)緩沖區(qū),緩存了主機(jī)發(fā)送給FPGA的數(shù)據(jù),再經(jīng)FPGA發(fā)送給主機(jī)的數(shù)據(jù)。FPGA通過(guò)從屬先進(jìn)先出緩沖區(qū)(Slave First-In-First-Out, Slave FIFO)接口的時(shí)序信號(hào)、握手信號(hào),讀/寫信號(hào)和輸出允許信號(hào)等,在接收時(shí)從CY68013內(nèi)部端點(diǎn)中取出應(yīng)用層的數(shù)據(jù),在發(fā)送時(shí)將待發(fā)送數(shù)據(jù)寫入CY68013端點(diǎn)緩沖區(qū)。Slave FIFO硬件連接如圖2所示。

        用于控制USB通信的狀態(tài)轉(zhuǎn)換過(guò)程如圖3所示。

        圖3 FPGA控制Slave FIFO接口的狀態(tài)轉(zhuǎn)換圖

        2 Canny算法設(shè)計(jì)與優(yōu)化實(shí)現(xiàn)

        2.1Canny算法的實(shí)現(xiàn)框架

        Canny算法分5個(gè)步驟實(shí)現(xiàn),分別為高斯平滑,梯度分量gx、gy的計(jì)算,梯度長(zhǎng)度平方計(jì)算以及方向編碼,非局部最大值抑制,雙閾值處理邊緣連接。FPGA實(shí)現(xiàn)Canny算法整體框圖如圖4所示。

        圖4 FPGA實(shí)現(xiàn)Canny算法整體框圖

        2.2高斯平滑去噪

        為了減少噪聲對(duì)邊緣提取的影響,先對(duì)圖像進(jìn)行平滑[3],圖像都是二維的,需要二維的正態(tài)分布,即高斯函數(shù)來(lái)做平滑處理。

        以中心點(diǎn)為原點(diǎn),對(duì)上述公式進(jìn)行離散采樣,并進(jìn)行規(guī)范化處理和整數(shù)化處理,得到經(jīng)典的3×3高斯平滑模板,如圖5所示。

        圖5 3×3高斯平滑模板

        圖像的3×3鄰域高斯平滑濾波,需要先生成3×3的數(shù)據(jù)區(qū),這里使用FPGA內(nèi)部資源構(gòu)建了一塊3行圖像寬度的緩沖區(qū)對(duì)3×3的像素進(jìn)行加權(quán)平均計(jì)算。

        2.3計(jì)算梯度幅值圖像和角度圖像

        2.3.1梯度

        凡是邊緣的地方應(yīng)該是灰度變化比較劇烈的地方,而且有一定的方向性要求。其中,梯度向量是描述灰度變化的劇烈程度和變化方向的重要數(shù)學(xué)工具。

        梯度向量有一個(gè)重要的幾何性質(zhì),它指出了f在位置(x,y)處的最大變化率的方向[4]。

        向量的長(zhǎng)度表示為M(x,y),即:

        它是梯度向量方向變化率的值。

        2.3.2梯度分量的離散數(shù)學(xué)近似

        由于處理的是數(shù)字量,因此需要求出關(guān)于一點(diǎn)的鄰域上的偏導(dǎo)數(shù)的數(shù)字近似。這里使用3×3模板來(lái)達(dá)到處理效果,3×3像素編號(hào)如圖6所示。

        圖6 3×3模板像素編號(hào)

        為了使圖像變得更平滑,消除噪聲對(duì)于邊緣提取的影響,將中間的系數(shù)取為2,得到圖7所示的模板[4]。

        圖7 左右分別為x方向和y方向的偏導(dǎo)模板

        其近似偏導(dǎo)數(shù)的簡(jiǎn)單的數(shù)字近似由下式給出:

        2.3.3FPGA實(shí)現(xiàn)梯度幅值和角度計(jì)算

        整體框圖中,梯度分量計(jì)算模塊的作用是為了從圖中求得梯度分量,即gx和gy,根據(jù)上述近似方法以及推導(dǎo)好的近似3×3模板對(duì)圖像進(jìn)行整體濾波即可求得。

        同樣的,α(x,y)如果按照公式求反三角函數(shù)的話會(huì)消耗掉大量的FPGA資源,價(jià)值不高,可以采用近似算法,根據(jù)gx和gy的比值關(guān)系以及gx和gy的符號(hào)正負(fù),將梯度向量的方向近似地劃分到8個(gè)區(qū)域中,如圖8所示。這些區(qū)域以0°、45°、90°、135°為中心角度,每個(gè)方向±22.5°。對(duì)于整個(gè)坐標(biāo)系而言,梯度向量的方向共分為8類,但是對(duì)于非局部最大值抑制的實(shí)現(xiàn),利用中心對(duì)稱原理,只需要4個(gè)方向。采用這樣的近似策略,能夠在幾乎不損失精度的情況下,大大減少FPGA的資源消耗。另外方向劃分需要用到除法,在FPGA中除法所需要消耗的資源和時(shí)鐘數(shù)遠(yuǎn)遠(yuǎn)大于乘法,為了進(jìn)一步減少資源的消耗,需要將兩者商的比較轉(zhuǎn)換為一個(gè)數(shù)與另兩個(gè)數(shù)的乘積的比較。

        (1)當(dāng)gy

        (2)當(dāng)gy>gx×tan22.5° 并且gy

        (3)當(dāng)gy>gx×tan67.5°,則為豎直邊緣,梯度方向?yàn)樗?,編碼“02”。

        (4)當(dāng)gy>gx×tan22.5° 并且gy

        梯度方向的編碼如圖9所示。

        圖8 梯度方向劃分為8類

        圖9 梯度方向的編碼

        其中,兩個(gè)三角函數(shù)的值可以事先計(jì)算出來(lái),可以將不等式兩邊都放大1 024倍,由于1 024為2的冪,乘積運(yùn)算可以轉(zhuǎn)成移位計(jì)算,效率非常高,而且又能等效地保留較多的小數(shù)位數(shù),保證了精確度。

        2.4對(duì)梯度幅值圖像應(yīng)用非最大值抑制

        僅僅得到全局的梯度并不足以確定邊緣,為確定邊緣,必須保留局部梯度最大的點(diǎn),而抑制非極大值。非局部極大值抑制模塊,首先取出3×3鄰域像素值,即正方形區(qū)域的9個(gè)像素值,根據(jù)中心點(diǎn)所劃分的梯度方向,判斷該中心點(diǎn)的像素的梯度長(zhǎng)度的平方Msquare是否為該3×3鄰域該梯度方向上的極大值,如果是則保留,如果不是則舍棄。

        2.5雙閾值處理及邊緣連接

        3 實(shí)驗(yàn)結(jié)果

        圖10從上至下從左至右依次是原圖、灰度圖、OpenCV軟件處理結(jié)果和FPGA硬件處理結(jié)果,實(shí)驗(yàn)結(jié)果表明CY68013+FPGA的架構(gòu)可以實(shí)時(shí)對(duì)圖像提取較為精準(zhǔn)的邊緣。

        圖10 實(shí)驗(yàn)結(jié)果圖

        4 結(jié)論

        本文通過(guò)USB2.0高速接口進(jìn)行圖像數(shù)據(jù)傳輸,基于對(duì)傳統(tǒng)Canny算法的分析,結(jié)合硬件實(shí)現(xiàn)的特點(diǎn)對(duì)算法進(jìn)行了改進(jìn),并在FPGA上實(shí)現(xiàn),實(shí)現(xiàn)FPGA接收?qǐng)D像,經(jīng)Canny邊緣提取然后高速將處理完的圖片傳回主機(jī)。實(shí)驗(yàn)結(jié)果表明在CY68013+FGPA的架構(gòu)下,該算法可以按照預(yù)期實(shí)時(shí)地提取出圖像的邊緣。

        [1] Cypress Semiconductor. EZ-USB technical reference manual[EB/OL].(2014-04-24)[2014-08-06].http://www.cypress.com.

        [2] 錢峰. EZ-USB FX2單片機(jī)原理、編程及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2006.

        [3] 王植,賀賽先. 一種基于Canny理論的自適應(yīng)邊緣檢測(cè)方法[J].中國(guó)圖像圖形學(xué)報(bào),2004,9(8): 957-958.

        [4] Gonzalez, Woods著. 數(shù)字圖像處理[M].阮秋琦,阮宇智,等譯. 北京:電子工業(yè)出版社, 2011.

        Embedeed real-time Canny edge detection

        Nan Kailai, Fu Chaobin

        (College of Computer, Hangzhou Dianzi University, Hangzhou 310018, China)

        Based on traditional Canny operator, a high speed and real-time edge detector based on embedded hardware architecture of CY68013 and FPGA is proposed. USB interface chip CY68013 is used to transmit the image data in high speed and FPGA is used to receive the image data from USB and realize edge detection by method of improved Canny algorithm. The proposed algorithm based on traditional Canny algorithm is improved in various aspects, including using the calculated template instead of convolution, appropriate approximate transformation, making full use of the parallel speciality. It not only keeps the advantages of traditional Canny algorithm, such as accurate positioning, unilateral response and high signal to noise ratio, but also speeds up the calculation of edge detection, decreases the latch, increases the real-time property.

        CY68013; FPGA; Canny; embedded; edge detection

        TP751

        A

        10.19358/j.issn.1674- 7720.2017.19.013

        南開來(lái),傅超斌.嵌入式實(shí)時(shí)Canny邊緣檢測(cè)[J].微型機(jī)與應(yīng)用,2017,36(19):45-47,51.

        2017-03-12)

        南開來(lái)(1992-),通信作者,男,碩士研究生,主要研究方向:基于可編程邏輯陣列的圖像處理。E-mail:379838266@qq.com。傅超斌(1993-),男,碩士研究生,主要研究方向:LD-VHDL的并行編譯。

        猜你喜歡
        梯度方向端點(diǎn)梯度
        非特征端點(diǎn)條件下PM函數(shù)的迭代根
        一個(gè)改進(jìn)的WYL型三項(xiàng)共軛梯度法
        基于機(jī)器視覺的鋼軌接觸疲勞裂紋檢測(cè)方法
        鐵道建筑(2021年11期)2021-03-14 10:01:48
        一種自適應(yīng)Dai-Liao共軛梯度法
        不等式求解過(guò)程中端點(diǎn)的確定
        基于梯度方向一致性引導(dǎo)的邊緣檢測(cè)研究
        一類扭積形式的梯度近Ricci孤立子
        基于光譜上下文特征的多光譜艦船ROI鑒別方法
        參數(shù)型Marcinkiewicz積分算子及其交換子的加權(quán)端點(diǎn)估計(jì)
        基于支持向量機(jī)的分類器訓(xùn)練研究
        日本不卡视频一区二区三区| 欧美性久久| 在线无码精品秘 在线观看| av在线播放一区二区免费| 中国娇小与黑人巨大交| 台湾无码av一区二区三区| 亚洲日韩精品欧美一区二区三区不卡 | 精品人妻码一区二区三区红楼视频 | 无码人妻久久一区二区三区免费丨| 少妇愉情理伦片丰满丰满午夜| 不卡高清av手机在线观看| 一个人的视频免费播放在线观看| 日本一区二区三区人妻| 国产熟妇按摩3p高潮大叫| 亚洲成av人片天堂网九九| 亚洲国产人成自精在线尤物| 天天做天天爱夜夜夜爽毛片| 男人添女人下部高潮全视频| 国产激情视频在线观看首页| 精品人妻午夜中文字幕av四季| 奇米影视色777四色在线首页| 国产又色又爽无遮挡免费| 天堂AV无码AV毛片毛| 漂亮人妻出轨中文字幕| 精品国产av色一区二区深夜久久| 午夜片无码区在线| 一区二区三区熟妇人妻18| 人妻诱惑中文字幕在线视频| 全免费a级毛片免费看网站| 亚洲成a人片在线观看导航| av资源在线免费观看| 国内揄拍国内精品少妇| 亚洲欧美成人a∨| 日本成人在线不卡一区二区三区| 精品一区二区三区芒果| 中国丰满熟妇av| 国产视频不卡在线| 人妻少妇精品专区性色anvn| 无码人妻av一二区二区三区| 野外三级国产在线观看| 国产自拍一区在线视频|