《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于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| 亚洲专区免费| 亚洲一区二区三区中文字幕在线 | 国产视频精品va久久久久久| 欧美午夜不卡| 欧美香蕉视频| 国产精品免费看久久久香蕉| 国产精品播放| 国产精品久久久对白| 国产精品99免费看 | 久久国产夜色精品鲁鲁99| 亚洲欧美综合另类中字| 亚洲永久免费av| 亚洲欧美日本视频在线观看| 亚洲欧美日韩精品一区二区| 午夜精品久久久久久久久久久久| 亚洲免费一在线| 亚欧成人在线| 久久久国际精品| 久久尤物视频| 免费亚洲网站| 欧美日韩精品免费观看| 欧美少妇一区二区| 国产精品免费一区二区三区观看| 国产精品免费一区豆花| 国产欧美日韩综合一区在线观看 | 一区二区久久久久久| 中文亚洲欧美| 羞羞答答国产精品www一本| 久久精品国产77777蜜臀| 久久久噜噜噜久噜久久| 男人插女人欧美| 欧美日韩国产美女| 国产精品国产自产拍高清av| 国产日韩欧美电影在线观看| 在线看国产日韩| 一本久道久久综合婷婷鲸鱼| 亚洲一区免费在线观看| 欧美一级大片在线免费观看| 亚洲激精日韩激精欧美精品| 日韩香蕉视频| 午夜欧美理论片| 老司机午夜精品| 欧美日韩视频专区在线播放| 国产精品系列在线播放| 136国产福利精品导航网址应用 | 亚洲午夜高清视频| 久久精品一区四区| 欧美精品乱码久久久久久按摩| 国产精品福利网| 国产主播一区二区| 亚洲欧洲日产国产综合网| 亚洲一区二区三区免费视频| 亚洲第一在线综合网站| 亚洲视频网站在线观看| 久久九九久久九九| 欧美精品成人一区二区在线观看| 国产精品羞羞答答xxdd| 亚洲第一在线综合在线| 亚洲一区二区不卡免费| 亚洲国产婷婷综合在线精品 | 极品尤物久久久av免费看| 亚洲精品在线观看免费| 亚洲欧美日韩一区二区| 亚洲日本一区二区| 性娇小13――14欧美| 欧美黄在线观看| 国产日韩欧美综合| 亚洲精品中文在线| 亚洲电影免费观看高清| 亚洲欧美国产不卡| 欧美成人乱码一区二区三区| 国产精品一页| 99re66热这里只有精品4| 欧美在线视频a| 亚洲一区国产视频| 欧美大片在线观看一区| 国产视频一区在线观看| 99天天综合性| 亚洲国产精品一区二区www在线| 亚洲欧美日韩一区二区三区在线观看| 麻豆精品精品国产自在97香蕉| 国产精品一区2区| 亚洲毛片网站| 91久久精品国产91久久性色tv| 羞羞色国产精品| 欧美午夜寂寞影院| 亚洲欧洲中文日韩久久av乱码| 欧美伊人久久久久久午夜久久久久 | 欧美国产日本在线| 国产自产在线视频一区| 亚洲一级免费视频| 在线综合欧美| 欧美精品v国产精品v日韩精品| 狠狠色丁香婷婷综合| 亚洲欧美国产精品桃花 | 午夜精品视频网站| 欧美三级乱码| 日韩视频欧美视频| 99视频精品免费观看| 免费看成人av| 一色屋精品视频在线看| 久久av一区| 久久精品网址| 国内揄拍国内精品久久 | 亚洲高清免费| 久久久久高清| 国产一区二区剧情av在线| 午夜久久电影网| 欧美精品自拍| 亚洲国产精品久久久久秋霞影院| 欧美一区亚洲二区| 久久精品国产久精国产思思| 国产精品亚洲综合天堂夜夜| 亚洲一区二区三区色| 亚洲女同精品视频| 国产精品久久久久久久午夜| 一区二区三区免费观看| 亚洲午夜日本在线观看| 欧美日韩一区二区视频在线观看| 亚洲美女视频在线观看| 中日韩高清电影网| 欧美特黄一级| 亚洲无亚洲人成网站77777| 亚洲欧美日韩爽爽影院| 国产精品视频一二| 亚洲欧美三级伦理| 久久激情网站| 激情欧美一区二区三区在线观看| 久久精品免费观看| 欧美va日韩va| 日韩视频免费大全中文字幕| 亚洲午夜激情| 国产精品一香蕉国产线看观看| 欧美一区二区三区久久精品| 久久久久久一区二区| 在线成人av| 99re8这里有精品热视频免费| 欧美三级第一页| 亚洲欧美日韩一区二区| 久久影视精品| 亚洲日本欧美| 亚洲欧美日韩直播| 国产一区二区成人| 亚洲激情自拍| 欧美日韩中文| 欧美亚洲网站| 欧美精品www| 亚洲一区二区三区精品视频| 久久久久久91香蕉国产| 亚洲国产成人porn| 亚洲一区二三| 好吊日精品视频| 亚洲最新视频在线| 国产精品自拍视频| 91久久香蕉国产日韩欧美9色| 欧美日韩亚洲精品内裤| 亚洲欧美一区二区三区在线| 久久夜色精品国产亚洲aⅴ | 欧美精品久久久久久久久老牛影院| 日韩亚洲欧美中文三级| 欧美一级欧美一级在线播放| 激情欧美一区二区| 在线亚洲一区二区| 国产一区99| 一区二区日韩| 国模私拍视频一区| 一区二区福利| 国产一区二区三区免费在线观看| 亚洲精品1区2区| 国产精品极品美女粉嫩高清在线 | 午夜精品福利视频| 美女脱光内衣内裤视频久久影院 | 一色屋精品亚洲香蕉网站| 在线一区二区日韩| 国内精品国产成人| 亚洲一区一卡| 亚洲高清资源| 欧美亚洲综合网| 91久久久久久| 久久国产66| 夜夜嗨av色综合久久久综合网| 久久久噜噜噜久久人人看| 在线视频精品一区| 蜜臀久久99精品久久久画质超高清 | 亚洲香蕉伊综合在人在线视看| 久久视频一区| 亚洲——在线| 欧美精品福利视频| 欧美一级片一区| 欧美体内谢she精2性欧美| 亚洲黄网站在线观看| 国产视频一区二区在线观看| 亚洲一级黄色| 亚洲精品1区| 久久亚洲精品网站| 亚洲欧美日韩精品|