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

        ?

        基于Zynq與Qt的視頻采集與圖像邊緣檢測(cè)系統(tǒng)*

        2019-03-08 10:26:10寧效龍何子力張昕昱徐景宏劉文
        關(guān)鍵詞:嵌入式人工智能檢測(cè)

        寧效龍,何子力,張昕昱,徐景宏,劉文

        (1.中國(guó)科學(xué)技術(shù)大學(xué) 微電子學(xué)院,安徽 合肥 230026;2.中國(guó)科學(xué)技術(shù)大學(xué) 物理學(xué)院,安徽 合肥 230026)

        0 引言

        目前大多數(shù)人工智能應(yīng)用主要依靠的是云計(jì)算技術(shù),然而基于云計(jì)算技術(shù)的人工智能由于需要與云端的服務(wù)器進(jìn)行信息交互,而且對(duì)數(shù)據(jù)的處理與推斷基本上都是依賴云端的服務(wù)器,因此在實(shí)時(shí)性與安全性方面有著先天的不足[1-2]。而某些特定場(chǎng)景下的人工智能應(yīng)用(如自動(dòng)駕駛、機(jī)器人、智能家居等)又對(duì)實(shí)時(shí)性與安全性有著較高的要求[3],基于云計(jì)算技術(shù)的人工智能顯然不能很好地滿足這一要求。為了解決這一問(wèn)題,一種基于邊緣計(jì)算與嵌入式技術(shù)的人工智能概念被提了出來(lái),即將數(shù)據(jù)的處理與決策放到嵌入式終端去執(zhí)行,以此獲得更好的實(shí)時(shí)性與隱私性[4]。

        人工智能與圖像處理技術(shù)密不可分,無(wú)論是在自動(dòng)駕駛、智能安防還是智慧醫(yī)療領(lǐng)域,人工智能若想大展身手,必定都離不開圖像處理技術(shù)?,F(xiàn)有的應(yīng)用于圖像處理領(lǐng)域的嵌入式處理器主要包括ARM、FPGA、DSP以及GPU,而以單一種類處理器為平臺(tái)的嵌入式圖像處理方法已經(jīng)無(wú)法滿足邊緣人工智能中高速、低延時(shí)、數(shù)據(jù)吞吐量大的要求[5],因此需要用一款集成多種處理器優(yōu)點(diǎn)的嵌入式平臺(tái)來(lái)開展相關(guān)的研究。Xilinx公司推出的Zynq系列可擴(kuò)展處理平臺(tái)完美地解決了上述問(wèn)題,該系列器件配備ARM Cortex-A9處理器與Artix-7 FPGA芯片,集成了ARM處理器的軟件可編程性與FPGA的硬件可編程性,不僅可實(shí)現(xiàn)重要分析與硬件加速,同時(shí)還在單個(gè)器件上高度集成CPU、DSP以及混合信號(hào)功能。因此,本文決定使用該芯片進(jìn)行邊緣圖像處理技術(shù)方面的探索。

        1 邊緣檢測(cè)算法與相應(yīng)IP核的實(shí)現(xiàn)

        邊緣檢測(cè)是圖像處理與機(jī)器視覺中的重要技術(shù)之一[6],其目的是檢測(cè)識(shí)別出圖像中亮度變化劇烈的像素點(diǎn)構(gòu)成的集合。使用邊緣檢測(cè)技術(shù)可以大大減少源圖像的數(shù)據(jù)量,提取出源圖像中有用的信息,并保留圖像的重要結(jié)構(gòu)。邊緣檢測(cè)算法大致可以分為兩類:基于一階差分的方法和基于二階差分的方法[7]。一階差分方法通過(guò)計(jì)算圖像的梯度值來(lái)檢測(cè)圖像邊緣,二階差分方法通過(guò)尋求二階導(dǎo)數(shù)中的過(guò)零點(diǎn)來(lái)檢測(cè)邊緣。

        1.1 Sobel邊緣檢測(cè)算法

        Sobel邊緣檢測(cè)算子是應(yīng)用最廣泛的一階差分算子之一,其最早于1968年由SOBEL I所提出[8]。對(duì)于一幅數(shù)字圖像f(x,y),在像素(x,y)處的梯度可定義為向量

        (1)

        式中,Gx(x,y)與Gy(x,y)分別表示沿x與y方向上的梯度分量。

        在邊緣檢測(cè)中,梯度的幅值相較于方向更為重要,梯度幅值可用下式來(lái)表示:

        (2)

        由式(1)可以看出,數(shù)字圖像梯度的計(jì)算需要在每一個(gè)像素位置計(jì)算兩個(gè)方向的一階差分,這一操作可以通過(guò)將Sobel算子與源圖像進(jìn)行卷積來(lái)實(shí)現(xiàn)。圖1(a)和(b)分別是Sobel算子大小為3×3的水平卷積核與垂直卷積核。

        圖1 Sobel邊緣檢測(cè)算子

        圖像f(x,y)中任一像素點(diǎn)(x,y)的水平梯度分量Gx(x,y)和垂直梯度分量Gy(x,y)可以按下式計(jì)算:

        Gx(x,y)=f(x+1,y-1)+2×f(x+1,y)+f(x+1,y+1)-f(x-1,y-1)-2×f(x-1,y)-f(x-1,y+1)

        (3)

        Gy(x,y)=f(x-1,y+1)+2×f(x,y+1)+f(x+1,y+1)-f(x-1,y-1)-2×f(x,y-1)-f(x+1,y-1)

        (4)

        1.2 基于Vivado HLS的Sobel邊緣檢測(cè)IP核的設(shè)計(jì)

        Vivado HLS是Xilinx公司推出的一款高層次綜合工具,使用該工具可以實(shí)現(xiàn)直接使用C、C++以及System C語(yǔ)言規(guī)范對(duì)Xilinx系列FPGA進(jìn)行編程,無(wú)需手動(dòng)創(chuàng)建RTL,從而可加速IP創(chuàng)建[9]。

        本文中使用Vivado HLS工具設(shè)計(jì)并實(shí)現(xiàn)了Sobel邊緣檢測(cè)IP核。IP核的工作流程如下:

        (1)對(duì)輸入的格式為AXI_STREAMD的視頻流進(jìn)行格式轉(zhuǎn)換,轉(zhuǎn)換為Mat類型圖像數(shù)據(jù);

        (2)將圖像數(shù)據(jù)中的每個(gè)像素點(diǎn)與Sobel算子進(jìn)行卷積,得到邊緣檢測(cè)的圖像;

        (3)將得到的邊緣檢測(cè)圖像進(jìn)行二值化處理,使得圖像中的邊緣信息更加明顯;

        (4)將處理后的圖像數(shù)據(jù)再轉(zhuǎn)換為AXI_STREAMD視頻流格式進(jìn)行輸出。

        該IP核對(duì)圖像的處理流程如圖2所示。

        圖2 Sobel邊緣檢測(cè)IP核工作流程圖

        該IP核所占用的資源情況如表1所示。

        表1 Sobel邊緣檢測(cè)IP核片內(nèi)資源使用情況

        使用圖3對(duì)該IP核進(jìn)行測(cè)試,并與軟件方法實(shí)現(xiàn)的Sobel邊緣檢測(cè)進(jìn)行比較,如圖4所示??梢钥闯鰞煞N方法實(shí)現(xiàn)的Sobel邊緣檢測(cè)幾乎都能很好地檢測(cè)出物體的邊緣情況,功能上沒(méi)有顯著的差異。

        圖3 Sobel邊緣檢測(cè)測(cè)試用圖片

        圖4 基于軟件與硬件方法實(shí)現(xiàn)的Sobel邊緣檢測(cè)比較

        圖5 系統(tǒng)硬件組成

        2 系統(tǒng)硬件組成

        圖5大致描述了系統(tǒng)的硬件組成結(jié)構(gòu)。

        (1)圖像采集模塊。該部分由一個(gè)攝像頭及其讀寫電路組成,攝像頭的輸出格式為YUV422,分辨率為640×480。

        (2)視頻復(fù)制模塊。該部分由一個(gè)視頻復(fù)制IP核及其控制電路組成,其輸入端為攝像頭采集到的視頻數(shù)據(jù),輸出端為兩路(A路和B路)完全相同的輸入端視頻數(shù)據(jù)的復(fù)制,其目的是將輸入的視頻數(shù)據(jù)進(jìn)行復(fù)制,并得到兩路完全相同的視頻數(shù)據(jù)以供后面的圖像處理使用。

        (3)硬件Sobel邊緣檢測(cè)模塊。該部分由Sobel邊緣檢測(cè)IP核及其控制電路組成,其對(duì)由B路輸入的視頻數(shù)據(jù)進(jìn)行硬件Sobel邊緣檢測(cè)操作,并將處理完畢的數(shù)據(jù)輸出。

        (4)緩存模塊。該部分使用視頻直接內(nèi)存訪問(wèn)(Video Direct Memory Access,VDMA)工具,通過(guò)AXI_HP接口將兩路視頻數(shù)據(jù)直接搬移到外部DDR3存儲(chǔ)中進(jìn)行緩存,以供PS端的ARM主控芯片對(duì)視頻數(shù)據(jù)進(jìn)行處理。

        (5)軟件Sobel邊緣檢測(cè)模塊。該部分功能有PS端的ARM處理器實(shí)現(xiàn),ARM處理器使用OpenCV庫(kù)自帶的Sobel邊緣檢測(cè)函數(shù)對(duì)A路視頻數(shù)據(jù)進(jìn)行Sobel邊緣檢測(cè),并將處理完畢的數(shù)據(jù)再存儲(chǔ)到DDR中。

        (6)圖像顯示模塊。該部分由HDMI輸出端以及相應(yīng)的輸出時(shí)序控制模塊組成,HDMI的輸出時(shí)序控制由自帶IP核VTC(Video Timing Controller)實(shí)現(xiàn)。

        系統(tǒng)的工作流程主要如下:

        由攝像頭采集到的視頻數(shù)據(jù)首先通過(guò)視頻復(fù)制IP核處理生成完全相同的兩路視頻數(shù)據(jù),一路(A路)視頻數(shù)據(jù)直接經(jīng)過(guò)AXI_HP接口寫入DDR系統(tǒng)內(nèi)存目錄的緩沖區(qū),另一路(B路)視頻數(shù)據(jù)經(jīng)過(guò)Sobel邊緣檢測(cè)IP核處理后再經(jīng)過(guò)AXI_HP接口寫入DDR系統(tǒng)內(nèi)存目錄的緩沖區(qū)。位于PS部分的ARM處理器利用OpenCV自帶Sobel邊緣檢測(cè)函數(shù)對(duì)A路視頻數(shù)據(jù)進(jìn)行Sobel邊緣檢測(cè)處理,對(duì)B路視頻則不做處理。經(jīng)過(guò)處理后的兩路視頻數(shù)據(jù)再通過(guò)AXI_HP接口被傳輸?shù)紿DMI顯示端進(jìn)行輸出,進(jìn)而輸出在顯示屏上。

        3 系統(tǒng)軟件實(shí)現(xiàn)

        3.1 基于PetaLinux工具的嵌入式Linux系統(tǒng)的搭建

        PetaLinux是一款專為Xilinx SoC設(shè)備設(shè)計(jì)的嵌入式Linux系統(tǒng)開發(fā)工具。與以往通用的嵌入式Linux系統(tǒng)搭建方法相比,使用Petalinux工具為Xilinx SoC設(shè)備創(chuàng)建Linux系統(tǒng)可以大大減少開發(fā)時(shí)間以及避免繁瑣的操作,同時(shí)更方便在后期對(duì)Linux應(yīng)用程序的移植與拓展。

        PetaLinux的開發(fā)流程主要包括以下幾個(gè)步驟:

        (1)創(chuàng)建PetaLinux工程。

        (2)配置硬件信息。

        (3)配置設(shè)備樹文件。

        (4)配置內(nèi)核文件。

        (5)配置文件系統(tǒng)。

        (6)配置Uboot啟動(dòng)文件。

        (7)生成Boot.bin與images.ub文件并復(fù)制到啟動(dòng)SD卡中。

        3.2 基于Qt的Zynq可視化操作系統(tǒng)的搭建

        Qt是一個(gè)跨平臺(tái)C++ 圖形用戶界面應(yīng)用程序開發(fā)框架,使用Qt開發(fā)的軟件,相同的代碼可以在任何支持的平臺(tái)上編譯與執(zhí)行[10]。同時(shí)Qt支持的平臺(tái)非常豐富,幾乎涵蓋所用常用的操作系統(tǒng),包括Windows、UNIX、LINUX、Mac OS以及各類嵌入式平臺(tái)。為了實(shí)現(xiàn)對(duì)Zynq的可視化操控,且基于Qt的這些便捷特性,考慮使用Qt 5.6.2工具作為開發(fā)板的控制系統(tǒng)。

        首先,需要在PC Ubuntu環(huán)境下搭建Qt開發(fā)環(huán)境??梢詮腝t官網(wǎng)上下載適用于x64 Linux系統(tǒng)的Qt IDE安裝包,并進(jìn)行安裝。安裝結(jié)束后便可以進(jìn)行Qt應(yīng)用程序的開發(fā),需要注意的是為了能夠編譯出可以在Zynq開發(fā)板上運(yùn)行的Qt程序,需要選擇適配于Zynq開發(fā)板運(yùn)行環(huán)境的qmake編譯器。要想實(shí)現(xiàn)在Zynq開發(fā)板上運(yùn)行編譯好的Qt程序,還需要為開發(fā)板建立Qt運(yùn)行環(huán)境。

        4 系統(tǒng)測(cè)試

        將使用PetaLinux工具生成的Uboot文件與image.ub文件拷貝到SD卡中,并將Zynq與PC端的串口相連接,同時(shí)將Zynq端的HDMI接口連接到外部顯示器。打開超級(jí)終端工具(Hyper Terminal)并選擇正確的串口號(hào),給Zynq上電后便可以進(jìn)入Zynq的Linux終端界面。然后,便可以在Zynq上運(yùn)行已經(jīng)在PC端編譯好的測(cè)試程序。

        采取兩種不同的場(chǎng)景進(jìn)行測(cè)試,測(cè)試圖片如圖6所示,Zynq通過(guò)攝像頭(型號(hào)為OV5640)獲取測(cè)試圖片。兩次測(cè)試的結(jié)果分別如圖7(a)和(b)所示,其中Software(軟件)指的是在ARM處理器上由OpenCV自帶函數(shù)處理的結(jié)果,Hardware(硬件)指的是由邊緣檢測(cè)IP核處理的結(jié)果。

        圖6 測(cè)試用圖

        圖7 系統(tǒng)測(cè)試結(jié)果

        由圖7(a)和(b)可以得出硬件與軟件兩種Sobel邊緣檢測(cè)方法的耗時(shí)情況,如表2所示。

        表2 軟硬件Sobel邊緣檢測(cè)耗時(shí)比較

        由表2可以看出,所構(gòu)造的Sobel邊緣檢測(cè)IP核比ARM處理器上基于OpenCV的軟件Sobel邊緣檢測(cè)速度快了6倍多,在達(dá)到相同的圖像處理效果的同時(shí),極大地縮減了嵌入式系統(tǒng)的耗時(shí)。這說(shuō)明基于Zynq的硬件圖像處理方法可以有效加速在嵌入式ARM上的圖像處理操作,這為嵌入式實(shí)時(shí)圖像處理以及邊緣人工智能提供了一個(gè)可行的方案。

        5 結(jié)論

        本文設(shè)計(jì)并實(shí)現(xiàn)了一套基于Zynq與Qt的嵌入式視頻采集與邊緣檢測(cè)系統(tǒng),在該系統(tǒng)中設(shè)計(jì)了一個(gè)基于Zynq PL部分的硬件Sobel邊緣檢測(cè)IP核,并將該硬件Sobel邊緣檢測(cè)方法的效果和耗時(shí)與基于Zynq PS端實(shí)現(xiàn)的軟件Sobel邊緣檢測(cè)進(jìn)行了比較。結(jié)果表明,基于Zynq硬件Sobel邊緣檢測(cè)IP核實(shí)現(xiàn)的圖像邊緣檢測(cè)在效果上與軟件Sobel邊緣檢測(cè)方法十分接近,但在耗時(shí)上卻減少到后者的1/6,極大地縮減了圖像處理的耗時(shí),使得基于嵌入式系統(tǒng)的圖像處理實(shí)時(shí)性得到了很大程度的提升。

        綜上,本文中所設(shè)計(jì)與實(shí)現(xiàn)的嵌入式邊緣檢測(cè)系統(tǒng),充分證明了基于FPGA的硬件加速可以顯著降低圖像數(shù)據(jù)的處理耗時(shí),這為邊緣人工智能中邊緣終端數(shù)據(jù)處理量大以及耗時(shí)長(zhǎng)的問(wèn)題提供了一個(gè)新的解決思路。該設(shè)計(jì)方案可以應(yīng)用于諸如自動(dòng)駕駛汽車、機(jī)器人以及智能監(jiān)控等邊緣人工智能場(chǎng)景,在減少嵌入式終端系統(tǒng)運(yùn)行耗時(shí)、增強(qiáng)系統(tǒng)運(yùn)行可靠性的同時(shí),也極大地提高了數(shù)據(jù)的隱私性。

        猜你喜歡
        嵌入式人工智能檢測(cè)
        “不等式”檢測(cè)題
        “一元一次不等式”檢測(cè)題
        “一元一次不等式組”檢測(cè)題
        2019:人工智能
        商界(2019年12期)2019-01-03 06:59:05
        人工智能與就業(yè)
        搭建基于Qt的嵌入式開發(fā)平臺(tái)
        數(shù)讀人工智能
        小康(2017年16期)2017-06-07 09:00:59
        嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
        下一幕,人工智能!
        小波變換在PCB缺陷檢測(cè)中的應(yīng)用
        少妇高潮久久蜜柚av| 国产精品大屁股1区二区三区| 在线看亚洲十八禁网站| 不卡av一区二区在线| 精品国产yw在线观看| 久久国产精品精品国产色婷婷 | 亚洲精品成人av观看 | 加勒比精品视频在线播放| 人禽交 欧美 网站| 亚洲熟妇20| 美女叉开双腿让男人插| 中文有码人妻字幕在线| 国产人妻久久精品二区三区老狼| 四虎成人免费| 国产成人精品自拍在线观看| 亚洲一区丝袜美腿在线观看| 狂插美女流出白浆视频在线观看| 香港三日本三级少妇三级视频| 中文字幕无码免费久久| 黄片在线观看大全免费视频| 亚洲男人综合久久综合天堂| 久久久久无码精品国产app| 亚洲大尺度在线观看| 亚洲高清av一区二区| 欧美午夜理伦三级在线观看| 亚洲av电影天堂男人的天堂| 国产久视频| 亚洲大胆视频在线观看| 亚洲精品中文字幕视频色| 国产在线 | 中文| 麻豆AV免费网站| 香蕉蜜桃av一区二区三区| 4hu四虎永久免费地址ww416| 永久免费无码av在线网站| 大肥婆老熟女一区二区精品| 丝袜美腿亚洲第一免费| 性色av一区二区三区| 熟妇人妻不卡中文字幕| 草逼视频免费观看网站| 亚洲av不卡一区二区三区| 国产精品一区二区韩国AV|