《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于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亚洲国产精品_日韩亚洲一区二区
亚洲一区二区三区精品视频| 亚洲国产精品va| 国产一区二区| 国产精品黄色在线观看| 欧美三级在线视频| 欧美老女人xx| 欧美激情一区二区三区在线视频观看| 免费欧美电影| 欧美成人免费播放| 欧美 日韩 国产在线| 久久综合九色九九| 久久一区二区三区国产精品| 久久久91精品国产一区二区精品| 欧美伊人久久久久久午夜久久久久| 亚洲一区高清| 午夜精品久久久久久久蜜桃app | 日韩午夜中文字幕| 亚洲精品视频在线| 亚洲理伦电影| 一本色道久久综合狠狠躁的推荐| 99国产精品国产精品毛片| 日韩亚洲精品在线| 一区二区三区**美女毛片| 一区二区三区日韩在线观看| 亚洲午夜av在线| 亚洲嫩草精品久久| 性久久久久久久久久久久| 久久精品72免费观看| 久久久久久久久岛国免费| 久久亚洲欧美| 欧美黄色一区二区| 欧美日韩另类丝袜其他| 欧美三日本三级少妇三2023| 国产精品毛片在线看| 国产日韩欧美综合| 激情综合久久| 亚洲日本中文字幕免费在线不卡| 日韩网站在线| 亚洲一区观看| 亚洲福利在线观看| 亚洲精品视频二区| 亚洲中无吗在线| 久久精品视频va| 欧美成年人网| 国产精品成人av性教育| 国产欧美一区二区三区久久| 一区二区三区在线观看视频| 亚洲人体影院| 亚洲女爱视频在线| 亚洲国产mv| 亚洲图色在线| 久久综合给合久久狠狠狠97色69| 欧美精品高清视频| 国产美女扒开尿口久久久| 尹人成人综合网| 99热精品在线| 欧美在线视屏| 亚洲视屏在线播放| 久久精品最新地址| 欧美日本精品| 国产午夜精品全部视频在线播放| 亚洲国产清纯| 午夜精品一区二区三区在线| 亚洲精品一二三区| 欧美在线看片| 欧美日韩mv| 韩国在线视频一区| 亚洲婷婷综合久久一本伊一区| 亚洲东热激情| 欧美一区二区三区免费视| 欧美电影免费观看网站| 国产欧美视频一区二区| 亚洲日本中文字幕| 久久狠狠久久综合桃花| 中文在线一区| 鲁大师成人一区二区三区 | 一区二区三区日韩在线观看| 久久精品日韩| 午夜一区二区三视频在线观看 | 亚洲国产精品久久人人爱蜜臀| 亚洲视频一区二区在线观看| 亚洲国产日韩美| 午夜在线观看欧美| 欧美精品国产一区二区| 国产亚洲一级高清| 一区二区三区精品视频在线观看| 亚洲人www| 久久久亚洲国产天美传媒修理工| 国产精品久久久久一区二区| 亚洲一二三四区| 一区二区欧美在线| 狂野欧美一区| 国产日本欧美一区二区| 在线亚洲观看| 日韩一二在线观看| 久久综合给合久久狠狠色| 国产免费一区二区三区香蕉精| 99精品视频免费观看| 亚洲免费观看高清完整版在线观看熊 | 欧美一级久久| 欧美色网一区二区| 亚洲国产精品久久久久| 亚洲国产成人av| 久久精品人人做人人爽电影蜜月 | 欧美一区二区三区久久精品茉莉花 | 欧美日本在线播放| 亚洲国产裸拍裸体视频在线观看乱了中文 | 亚洲欧美另类中文字幕| 亚洲一区二区三区在线播放| 欧美精品一区二区视频| 亚洲国产精品免费| 亚洲精品极品| 欧美激情国产日韩精品一区18| 久久激情视频| 国产精品日韩精品| 一区二区日本视频| 亚洲视频图片小说| 欧美人与禽性xxxxx杂性| 亚洲国产三级在线| 亚洲人在线视频| 欧美成人日本| 亚洲黄色在线看| 亚洲免费激情| 欧美日韩亚洲国产精品| 99伊人成综合| 亚洲女性喷水在线观看一区| 国产精品高潮呻吟久久av无限| 一区二区三区日韩欧美精品| 亚洲免费在线精品一区| 国产精品乱人伦一区二区| 亚洲一区二三| 久久精品亚洲精品| 国产自产精品| 亚洲激情视频| 欧美精品观看| 亚洲视频中文| 久久精品123| 在线成人小视频| 日韩亚洲欧美一区| 欧美三级欧美一级| 亚洲一区二区在线观看视频| 久久精品国产一区二区三| 极品少妇一区二区三区精品视频| 亚洲欧洲视频在线| 欧美日韩不卡一区| 亚洲一区二区3| 久久精品国产亚洲高清剧情介绍| 精品电影在线观看| 亚洲麻豆国产自偷在线| 欧美日韩一本到| 性8sex亚洲区入口| 免费不卡亚洲欧美| 99国产精品99久久久久久| 欧美一级片在线播放| 国模大胆一区二区三区| 亚洲精品中文在线| 国产精品久久久久99| 亚洲精品在线免费观看视频| 亚洲欧美日韩国产| 久久资源av| 亚洲免费av电影| 欧美一区二区在线看| 红桃视频亚洲| 亚洲天堂网站在线观看视频| 国产欧美一区二区三区久久人妖| 亚洲国产欧美一区二区三区久久| 欧美日韩午夜激情| 欧美亚洲一区| 欧美日韩国产va另类| 欧美伊人精品成人久久综合97 | 欧美成人亚洲| 亚洲一区二区欧美| 美日韩精品免费| 亚洲午夜激情免费视频| 老司机午夜精品视频| 一区二区国产日产| 久久亚洲图片| 亚洲一区二区黄色| 久久影院午夜论| 在线一区二区日韩| 欧美gay视频激情| 亚洲免费视频一区二区| 欧美激情无毛| 欧美在线短视频| 欧美日韩久久精品| 亚洲第一在线视频| 国产精品麻豆va在线播放| 亚洲国产美女精品久久久久∴| 国产精品国产三级国产专播品爱网 | 久久精品中文字幕一区二区三区| 99成人在线| 欧美成人综合网站| 午夜精品短视频| 欧美日韩亚洲一区二区三区四区| 国产日韩欧美一区在线| 久久综合九色欧美综合狠狠| 一区二区高清| 欧美激情欧美狂野欧美精品| 欧美伊人久久大香线蕉综合69| 欧美婷婷久久|