《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于Vivado HLS的邊緣檢測硬件加速應用
基于Vivado HLS的邊緣檢測硬件加速應用
2017年電子技術應用第5期
彭習武,張 濤
武漢科技大學 信息科學與工程學院,湖北 武漢430081
摘要: 針對計算機處理高清圖像或視頻的邊緣檢測時存在延時長和數據存儲帶寬受限的缺點,提出了用Vivado HLS將邊緣檢測軟件代碼轉換成RTL級硬件電路的硬件加速方法。硬件加速是將運算量大的功能模塊由硬件電路實現,根據硬件電路工作頻率高和數據位寬自定義,可以解決延時長和數據寬度受限的缺點。實驗結果表明,邊緣檢測硬件加速方法不僅使延時和數據帶寬都得到了改善,而且也縮短了邊緣檢測的開發周期。
中圖分類號: TN919.82
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2017.05.017
中文引用格式: 彭習武,張濤. 基于Vivado HLS的邊緣檢測硬件加速應用[J].電子技術應用,2017,43(5):70-73.
英文引用格式: Peng Xiwu,Zhang Tao. Edge detection hardware acceleration based on Vivado HLS[J].Application of Electronic Technique,2017,43(5):70-73.
Edge detection hardware acceleration based on Vivado HLS
Peng Xiwu,Zhang Tao
Institute of Information Science and Engineering,Wuhan University of Science and Technology,Wuhan 430081,China
Abstract: For the issues of large delay and data storage limited by the bandwidth in the handling of high-definition images and video edge detection by computer,an optimized hardware acceleration design scheme using Vivado HLS transform edge detection software code into the RTL hardware circuit is proposed. Hardware acceleration is the computation of function module by the hardware circuit implementation,which is to solve the delay and data bandwidth constrained defect based on the hardware circuit with high working frequency and the custom data width. The results prove that the edge detection hardware acceleration method not only improved in both time delay and data bandwidth, but also shorten the development cycle of the edge detection.
Key words : HLS;edge detection module;hardware acceleration;SoC

0 引言

    在計算機視覺和圖像處理領域中,圖像邊緣檢測技術起著重要的作用,其效果好壞直接影響整個系統的性能。由于圖像的邊緣蘊含了豐富的內在信息,是進行圖像分割、特征值提取的重要依據。邊緣檢測不僅能減少處理數據,又能保留圖像中物體的形狀信息,是實時圖像處理中的重要內容之一[1]

    在現階段,主要采用軟件方式或者FPGA硬件方式來實現邊緣檢測。文獻[2]-[4]采用軟件方法實現圖像的邊緣檢測,雖然邊緣檢測的效果得到了改善,但是不能在延時和數據帶寬方面做出改善。文獻[5]-[7]采用FPGA方法實現圖像的邊緣檢測,此硬件方法雖然改善了邊緣檢測的延時長和數據帶寬受限的不足,但是由于FPGA硬件設計的復雜性會導致整個電路開發周期變長。

    本文采用Xilinx公司的Vivado HLS將邊緣檢測的軟件代碼轉化為RTL硬件電路。這樣不僅解決了軟件方法所帶給系統延時長和數據帶寬窄的缺點,而且避免了FPGA硬件電路設計周期長的不足。

1 邊緣檢測算法設計

    基于Sobel算子的邊緣檢測具有算法簡單、實現方便等優勢,但在處理圖像時會存在對噪聲敏感和邊緣界限模糊等不足,所以需要在Sobel算法的基礎上進行優化。優化后的邊緣檢測由中值濾波、膨脹濾波、邊緣檢測模塊和腐蝕濾波模塊構成,如圖1所示。在圖像輸入后,首先中值濾波器對輸入圖像進行平滑圖像噪聲處理,然后由膨脹濾波器求出圖像的局部最大值,再由邊緣檢測模塊來提取圖像的邊緣信息,最后由腐蝕濾波器消除圖像中的“斑點”噪聲,從而得到最佳的圖像邊緣。

qrs4-t1.gif

2 邊緣檢測軟硬件協同設計

    邊緣檢測的軟硬件協同設計主要包括軟件應用設計、硬件加速設計和SoC應用設計。

2.1 軟硬件協作開發流程

    軟件應用設計是將邊緣檢測的功能用OpenCV函數或者自定義功能函數實現;硬件加速設計將軟件代碼轉換為RTL電路,其中不可綜合的函數或者語句需用Vivado HLS支持的函數替換;SoC應用設計將Vivado HLS輸出的RTL電路應用到實際的SoC系統[8]。圖2是邊緣檢測硬件加速流程圖。

qrs4-t2.gif

    如圖2所示,首先完成軟件應用的開發,然后將Vivado HLS不能綜合的OpenCV函數鏈替換成HLS視頻庫函數鏈,最后封裝成IP在FPGA中調用。

2.2 邊緣檢測軟硬件協作實現

    在軟件實現階段使用OpenCV函數庫或者自定義的C語言函數實現邊緣檢測算法,但Vivado HLS不能綜合所有的軟件代碼。當軟件代碼中存在Vivado HLS不能綜合的函數時就需要將這些函數展開或者替換,如定點運算、片上的行緩存和窗口緩存來完成動態的內存分配、浮點和圖像在外部存儲器中存放和修改的操作。

    硬件加速方案是在軟件應用的基礎上實現的。在搭建SoC時,使用的是芯片內部的AXI互聯總線,其所支持的數據類型是AXI4 video stream。在設計邊緣檢測IP接口時需要將AXI4 video stream與Vivado HLS所支持的hls::Mat類型進行相互轉換。數據的轉換模塊見圖2中AXIvideo2Mat和Mat2AXIvideo模塊。Vivado HLS將OpenCV函數鏈轉換成HLS視頻庫函數鏈。硬件加速階段包括邊緣檢測的仿真與優化,只有在優化和仿真通過之后才將RTL級電路封裝成IP核輸出。

3 系統搭建與IP核優化

    邊緣檢測的軟硬件協作應用具有一定的局限性,只能在具備處理器和可編程邏輯陣列的SoC中應用。本文是在Xilinx公司的zc7z020clg484-1系列芯片中進行邊緣檢測的系統搭建與功能驗證。

3.1 SoC系統設計

    Vivado HLS將邊緣檢測IP輸出到Vivado的IP catalog,在SoC系統設計時調用邊緣檢測IP核即可。搭建的邊緣檢測SoC系統如圖3所示。

qrs4-t3.gif

    在圖3中,粗箭頭表示圖像數據流的路徑,細箭頭表示控制信號的方向。圖3所示的陰影部分為可裁剪系統(PS),白色區域為可編程邏輯(PL)。由于Vivado HLS不支持指針訪問幀緩存,需要用AXI VDMA來訪問幀數據。

    視頻流經過HDMI輸入到視頻輸入控制器,數據流通過AXI互聯總線存入到DDR3存儲器中,Cortex-A9通過AXI互聯總線控制AXI VDMA和邊緣檢測IP去存取圖像數據,處理完的數據緩存到DDR3,最后 Cortex-A9將處理好的數據輸出到視頻顯示控制器。硬件加速是將Cortex-A9處理的運算轉移到PL去完成,這樣會減少處理器的負載。

3.2 HLS模塊優化

    Vivado HLS有兩種優化方式,一種是在Directive控制欄設置優化變量和參數,另一種方法是在代碼中使用#pragma命令來定義變量實現類型和結構。根據系統的需求對邊緣檢測進行串行和并行實現策略。

3.2.1 串行實現方案

    串行實現是保持軟件代碼的順序執行結構,邊緣檢測模塊按照順序串行執行。當硬件電路工作在100 MHz頻率時,處理像素為(1 080×1 092)的圖像速率為0.7幀/s。通過表1可知Sobel子模塊消耗了1 142 ms,導致了整個邊緣檢測功能塊的速率降低。當邊緣檢測IP的數據的寬度為16 bit、像素深度為8 bit時,邊緣檢測的處理速率為825.5 KB/s。

qrs4-b1.gif

3.2.2 并行實現方案

    并行實現是將for循環打平、替換數組和增加流水線操作來實現并行執行。與串行實現對比可知,在速率方面提高68.5倍左右,在100 MHz的頻率下,處理像素為(1 080×1 092)的圖像速率為48幀/s。當邊緣檢測IP的數據的寬度為16 bit、像素深度為8 bit時,邊緣檢測的處理速率為56 609.28 KB/s。

    通過以上兩種實現可知,并行比串行實現的處理速率速度提高了68.5倍左右,與處理時間相對應的數據吞吐率也提高了68.5倍。當數據帶寬不滿足要求時,可以通過修改軟件代碼中變量的位寬來增加IP數據端口的寬度,從而提高數據吞吐量。

    硬件電路所使用的資源往往也是算法考慮的因素之一。表2是兩種實現策略所需要的硬件資源。

qrs4-b2.gif

    在資源使用方面,并行比串行實現所使用的資源多,占整個芯片的資源分別為BRAM_18K為10%,DSP48E為0,FF為3%,LUT為10%。可知資源滿足設計要求。

4 結果分析

    通過三組公路真實場景來驗證本文邊緣檢測的效果。第一組是在白天拍攝的公路場景,見圖4,圖4(a)為輸入的原始圖像,圖4(b)為OpenCV邊緣檢測的結果,圖4(c)為硬件加速邊緣檢測結果。第二組是在晚間拍攝的公路場景(曝光效果差),見圖5,圖5(a)為輸入的原始圖像,圖5(b)為OpenCV邊緣檢測的結果,圖5(c)為硬件加速邊緣檢測結果。第三組是在晚間拍攝的公路場景,見圖6,圖6(a)為輸入的原始圖像,圖6(b)為OpenCV邊緣檢測的結果,圖6(c)為硬件加速邊緣檢測結果。

qrs4-t4.gifqrs4-t5.gifqrs4-t6.gif

    對圖4、圖5和圖6從橫縱兩個角度來分析硬件加速邊緣檢測的效果。橫向分析,與OpenCV邊緣檢測結果比較可知,硬件加速方案輸出邊緣圖像線條更加的明顯,在圖5曝光效果差的情況下OpenCV存在邊緣漏檢測的情形,而硬件加速方案則不存在漏檢的情況;縱向分析,在白天拍攝的場景邊緣檢測的結果要比晚上輸出的效果好些,在晚上拍攝的場景曝光好的邊緣檢測效果要比曝光差輸出的效果好。

    對三組場景下的硬件加速邊緣檢測效果分析可知,硬件加速邊緣檢測明效果顯優于OpenCV邊緣檢測,同時在相機曝光效果差或者外界環境復雜的情況下,硬件加速邊緣檢測都能進行有效邊緣檢測。

5 結論

    針對傳統OpenCV圖像處理存在延時長和數據帶寬受限的缺點,采用硬件加速可以彌此不足。采用Vivado HLS在軟件應用的基礎上進一步實現硬件電路設計,大大縮短了系統的開發周期。本文不僅提出邊緣檢測的硬件加速方案,同時提出了在數據處理量大和處理速度快的應用中可以通過軟硬件結合來提供系統設計的方案。

參考文獻

[1] 關新平,趙立興,唐英干.圖像去噪混合濾波方法[J].中國圖象圖形學報,2005,10(3):332-337.

[2] 蔣婷,譚躍剛,劉泉.基于SOBEL算子的圖像清晰度評價函數研究[J].計算機與數字工程,2008(8):129-131,191.

[3] 靳鵬飛.一種改進的Sobel圖像邊緣檢測算法[J].應用光學,2008(4):625-628.

[4] 白俊江,洪春勇.基于Sobel的邊緣檢測方法[J].電腦知識與技術,2009(21):5847-5849.

[5] 李錦明,閆曉俊,江旭東,等.Sobel圖像邊沿檢測算法的優化設計與實現[J].電子技術應用,2016,42(3):71-73.

[6] 楊新華,寇為剛.基于FPGA的Sobel算子圖像邊緣檢測算法[J].儀表技術與傳感器,2013(1):102-104.

[7] 寧賽男,朱明,孫宏海,等.一種改進的Sobel自適應邊緣檢測的FPGA實現[J].液晶與顯示,2014(3):395-402.

[8] 郭豐收.Xilinx FPGA/Zynq設計中使用HLS實現OpenCV的開發流程[J].電子產品世界,2014(2-3):50-52.



作者信息:

彭習武,張  濤

(武漢科技大學 信息科學與工程學院,湖北 武漢430081)

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美一级电影久久| 99香蕉国产精品偷在线观看| 亚洲国产三级在线| 国产一区二区三区无遮挡| 国产精品美女久久| 欧美四级在线观看| 欧美色偷偷大香| 欧美啪啪一区| 欧美母乳在线| 欧美日韩精品在线播放| 欧美人与禽猛交乱配| 欧美国产欧美亚洲国产日韩mv天天看完整 | 欧美高清在线视频| 欧美二区在线播放| 欧美精品乱码久久久久久按摩 | 欧美乱妇高清无乱码| 欧美大片在线观看| 欧美激情视频在线免费观看 欧美视频免费一 | 久久精品国产综合| 亚洲电影成人| 亚洲欧洲日本专区| 亚洲免费观看视频| 一区二区三区精品久久久| 一区二区三区www| 亚洲自拍都市欧美小说| 亚洲欧美成人| 久久国产婷婷国产香蕉| 久久精品日韩欧美| 久久琪琪电影院| 欧美aⅴ99久久黑人专区| 欧美激情综合色| 欧美日韩一区二区三区四区五区 | 欧美亚洲一区二区在线| 久久国产日韩| 欧美不卡视频| 欧美日韩另类丝袜其他| 国产精品国产三级国产专区53| 国产精品丝袜久久久久久app| 国产欧美在线观看| 亚洲成人影音| 一区二区三区高清在线观看| 亚洲自拍偷拍麻豆| 亚洲高清在线观看| 在线视频你懂得一区| 性色av一区二区三区| 玖玖玖免费嫩草在线影院一区| 欧美韩日高清| 国产精品毛片在线| 伊人久久婷婷色综合98网| 亚洲每日在线| 欧美亚洲在线观看| 亚洲精品影院| 欧美伊久线香蕉线新在线| 老司机精品视频网站| 欧美日韩一区在线观看视频| 国产日韩精品入口| 亚洲精品视频在线看| 欧美一级一区| av成人免费观看| 久久久久免费视频| 欧美日韩在线视频首页| 国产一区二区三区四区老人| 亚洲免费大片| 亚洲国产国产亚洲一二三| 亚洲一区中文| 麻豆精品视频| 国产精品视频一区二区三区| 在线播放不卡| 亚洲尤物视频在线| 99国产精品自拍| 久久久久国产精品厨房| 欧美日韩亚洲一区二| 狠狠色综合日日| 亚洲一级二级在线| 一区二区激情视频| 久久午夜电影| 国产精品一级二级三级| 亚洲全部视频| 亚洲国产精品电影| 欧美有码在线视频| 欧美三区在线| 亚洲欧洲一级| 亚洲国产另类久久久精品极度| 欧美一区二区成人6969| 欧美日韩在线观看视频| 亚洲成色www久久网站| 欧美一区二区三区喷汁尤物| 亚洲无线一线二线三线区别av| 美女91精品| 国产亚洲成年网址在线观看| 一区二区三区高清不卡| 亚洲乱码国产乱码精品精天堂 | 亚洲一级片在线观看| 欧美电影免费观看| 国外成人在线视频| 亚洲欧美春色| 亚洲欧美日韩在线一区| 欧美日本不卡视频| 亚洲国产高潮在线观看| 久久国产精品免费一区| 欧美一级片在线播放| 欧美婷婷在线| 99国产精品视频免费观看| 99re热这里只有精品视频 | 国产精品一卡| 夜夜爽www精品| 99xxxx成人网| 欧美精品一区二区久久婷婷| 亚洲国产精品一区二区第一页 | 亚洲伦理网站| 欧美成人中文字幕| 在线日韩日本国产亚洲| 亚洲国产福利在线| 狼人社综合社区| 精品成人在线观看| 久久精品亚洲一区二区| 久久久久国产一区二区| 国产亚洲电影| 久久国产精品一区二区| 久久久久久久一区二区| 国产午夜精品在线观看| 欧美在线不卡视频| 久久精品视频在线播放| 国产一区二区三区久久悠悠色av| 亚洲免费视频一区二区| 欧美影视一区| 国产亚洲福利一区| 久久精品官网| 母乳一区在线观看| 亚洲黄色视屏| 亚洲天堂免费在线观看视频| 欧美三级欧美一级| 亚洲图片自拍偷拍| 欧美亚洲一区在线| 国内成人精品一区| 亚洲观看高清完整版在线观看| 久久综合久久综合九色| 亚洲第一黄网| 一区二区三区久久精品| 国产精品电影网站| 午夜久久美女| 久热成人在线视频| 亚洲免费久久| 欧美一区二区三区视频在线观看 | 欧美在线综合视频| 欧美福利视频| 亚洲视频中文字幕| 久久成人综合网| 亚洲电影有码| 在线视频欧美日韩精品| 国产欧美高清| 亚洲欧洲在线一区| 国产精品成人v| 欧美在线高清| 欧美久久久久久久| 亚洲永久视频| 免费av成人在线| 99精品国产在热久久| 欧美一区二视频| 亚洲国产va精品久久久不卡综合| 一区二区欧美视频| 国产日韩久久| 亚洲美女精品久久| 国产精品一区二区久久精品| 久久精品亚洲一区| 欧美少妇一区| 久久精品国产在热久久| 欧美日韩国产在线观看| 亚洲欧美日韩综合| 欧美高清视频www夜色资源网| 正在播放欧美视频| 蜜乳av另类精品一区二区| 在线视频欧美一区| 久久天天综合| 一区二区三区久久网| 久久躁狠狠躁夜夜爽| 一区二区三区日韩欧美| 狼人社综合社区| 亚洲一区二区三区在线播放| 免费在线欧美黄色| 亚洲欧美日韩一区在线| 欧美激情影音先锋| 欧美一区二区女人| 欧美日韩一区三区| 亚洲国产精品一区二区www在线| 国产精品a久久久久久| 亚洲成人在线视频播放| 欧美日韩免费高清一区色橹橹| 翔田千里一区二区| 欧美日韩伦理在线| 亚洲黄色高清| 国产区精品在线观看| 中国av一区| 亚洲福利国产| 久久精品国产久精国产一老狼| 亚洲乱码精品一二三四区日韩在线 | 亚洲国产小视频| 久久久久久久久综合| 在线一区二区视频| 欧美激情一区二区三区在线|