• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Zynq 的視頻實(shí)時(shí)拼接系統(tǒng)*

      2021-03-11 03:55:16陳子為朱美吉蘇魯陽(yáng)
      電子技術(shù)應(yīng)用 2021年2期
      關(guān)鍵詞:角點(diǎn)像素點(diǎn)攝像頭

      陳子為,陳 龍,朱美吉,蘇魯陽(yáng)

      (成都信息工程大學(xué) 電子工程學(xué)院,四川 成都610225)

      0 引言

      隨著生產(chǎn)生活和科學(xué)技術(shù)的進(jìn)步,數(shù)碼攝像設(shè)備得到了廣泛地普及與應(yīng)用。但是由于數(shù)碼攝像設(shè)備自身物理?xiàng)l件的限制,普通數(shù)碼攝像設(shè)備獲取視頻的視野范圍較小,超廣角鏡頭或者魚眼鏡頭又會(huì)對(duì)圖像產(chǎn)生畸變[1],不能滿足實(shí)際的應(yīng)用需求。利用單一攝像頭捕捉多張視頻畫面合成寬視野圖像的辦法不僅費(fèi)時(shí)費(fèi)力,而且獲得的全景圖像的質(zhì)量一般不佳。視頻拼接技術(shù)很好地解決了這一問(wèn)題。所謂視頻拼接就是將幾個(gè)存在內(nèi)容相關(guān)性的窄視野視頻的每一幀圖像進(jìn)行拼接融合處理,得到一幅寬視野的甚至是全景的視頻圖像。視頻拼接本質(zhì)上就是圖像拼接,但由于其對(duì)于實(shí)時(shí)性的要求很高,使得在該領(lǐng)域的技術(shù)實(shí)踐更需要關(guān)注平臺(tái)的處理性能和算法的復(fù)雜性。

      目前市面上普遍采用基于ARM、DSP、FPGA 的嵌入式平臺(tái)方案,以及多通道圖像采集拼接形成全景的通用計(jì)算機(jī)平臺(tái)方案來(lái)實(shí)現(xiàn)視頻拼接。這些實(shí)現(xiàn)方案存在一定的缺陷,基于ARM 的實(shí)現(xiàn)方案處理能力較弱,無(wú)法進(jìn)行復(fù)雜視頻算法;基于DSP 的實(shí)現(xiàn)方案處理速度比FPGA慢[2];基于FPGA 的實(shí)現(xiàn)方案靈活性較差且成本較高;基于計(jì)算機(jī)平臺(tái)的實(shí)現(xiàn)方案憑借性能優(yōu)勢(shì)獲得好的效果,但設(shè)備體積龐大、功耗高且價(jià)格昂貴[3]。

      針對(duì)以上問(wèn)題,本文首先對(duì)特征點(diǎn)檢測(cè)效率表現(xiàn)優(yōu)異的ORB 算法進(jìn)行改進(jìn),并利用Vivado HLS 工具將改進(jìn)的視頻拼接算法進(jìn)行硬件加速并部署到Zynq 的PL中,然后利用Zynq 的PS 搭建嵌入式Linux 系統(tǒng),進(jìn)行用戶界面開發(fā),實(shí)現(xiàn)任務(wù)調(diào)度,最后提出了一種基于Zynq平臺(tái)對(duì)多通道視頻進(jìn)行無(wú)縫拼接處理的解決方案。

      1 算法設(shè)計(jì)

      圖1 視頻圖像拼接流程圖

      視頻拼接流程如圖1 所示。 首先通過(guò)攝像頭采集兩路視頻圖像,然后進(jìn)行視頻圖像幀同步,接著再進(jìn)行預(yù)處理,預(yù)處理主要用于解決視頻圖像采集過(guò)程中引入的噪聲、亮度差異調(diào)整等問(wèn)題。預(yù)處理完成后進(jìn)行圖像的配準(zhǔn)和變換,其中圖像配準(zhǔn)是視頻拼接中最關(guān)鍵、最耗時(shí)的步驟,可以采用基于圖像灰度統(tǒng)計(jì)特性、基于圖像特征點(diǎn)和基于圖像理解三種圖像配準(zhǔn)方式。綜合考慮算法復(fù)雜度和配準(zhǔn)準(zhǔn)確率,本設(shè)計(jì)采用基于特征點(diǎn)的方式進(jìn)行圖像配準(zhǔn)。圖像變換主要是解決圖像配準(zhǔn)后圖像的內(nèi)容拉伸變形的問(wèn)題。 為了消除圖像拼接產(chǎn)生的拼接縫隙,使其更加平滑、過(guò)渡更自然,需要在圖像配準(zhǔn)和變換后進(jìn)行圖像融合。 最后把處理過(guò)后的視頻圖像進(jìn)行輸出。

      1.1 基于ORB 的圖像配準(zhǔn)算法

      基于特征點(diǎn)的圖像配準(zhǔn)基本流程如圖2 所示,視頻圖像采集完成后先進(jìn)行特征點(diǎn)的檢測(cè),然后對(duì)特征點(diǎn)進(jìn)行描述,得到特征點(diǎn)的集合后再進(jìn)行特征點(diǎn)的匹配。 在特征點(diǎn)的匹配過(guò)程中,一般用特征點(diǎn)間的“距離”(例如歐式距離、漢明距離)來(lái)估算不同特征點(diǎn)之間的相似性度量(Similarity Measurement),然后采用最短距離的方法尋找最佳匹配點(diǎn)對(duì)[4]。 完成特征點(diǎn)的檢測(cè)和匹配后就完成了圖像的配準(zhǔn)工作。

      圖2 基于特征點(diǎn)的圖像配準(zhǔn)流程圖

      使用特征點(diǎn)來(lái)實(shí)現(xiàn)圖像配準(zhǔn)的方法比較多,目前使用比較廣泛的方法有SIFT、SURF、ORB 等,由于ORB 速度上比SIFT 和SURF 快得多, 而性能上與兩者不相上下[5],因而本文采用ORB 算法作為視頻拼接的配準(zhǔn)算法。ORB(Oriented FAST and Rotated BRIEF)算法[5]是一種快速的特征點(diǎn)檢測(cè)與描述算法,它基于FAST(Features from Accelerated Segment Test)關(guān)鍵點(diǎn)檢測(cè)[6]和BRIEF(Binary Robust Independent Elementary Features)[7]描述符的組合,具有旋轉(zhuǎn)不變性和對(duì)噪聲的魯棒性。

      1.1.1 ORB 特征點(diǎn)檢測(cè)子

      ORB 特征點(diǎn)檢測(cè)采用的是FAST 角點(diǎn)檢測(cè)算法,它的核心思想就是在眾多的像素點(diǎn)里找出與眾不同的像素點(diǎn)。在灰度圖像中,F(xiàn)AST 角點(diǎn)定義為:任取一個(gè)像素點(diǎn),使其與鄰域內(nèi)的其他像素點(diǎn)進(jìn)行比較,如果有一定數(shù)量的點(diǎn)與其差別很大,那么這個(gè)像素點(diǎn)就被選為角點(diǎn)[8]。FAST 角點(diǎn)檢測(cè)示意圖如圖3 所示,選取一個(gè)像素點(diǎn)p(其灰度值為Ip), 然后在像素點(diǎn)p 的鄰域以r 為半徑的圓周上找到n 個(gè)像素點(diǎn)Ik,其中k=1,2,3,…,n。 那么FAST 角點(diǎn)的判別表達(dá)式如式(1)所示:

      式中t 表示閾值。 通常r=3,n=16。

      圖3 FAST 角點(diǎn)檢測(cè)示意圖

      FAST 角點(diǎn)的具體計(jì)算過(guò)程是:

      (1)在圖像上選擇一個(gè)像素點(diǎn)p,設(shè)其灰度值為Ip。

      (2)設(shè)置一個(gè)合適的閾值t,如果兩個(gè)像素點(diǎn)的差值大于閾值,則認(rèn)為這兩個(gè)像素點(diǎn)不同。

      (3)比較以r=3 時(shí)的圓周上的16 個(gè)像素點(diǎn)。

      (4)如果這16 個(gè)像素點(diǎn)與像素點(diǎn)p 有m 個(gè)點(diǎn)不同,這里m=12,那么這個(gè)點(diǎn)就是角點(diǎn)。

      (5)使用一個(gè)高效的排除算法,比如,僅檢查圓周上位置為1、5、9、13 這四個(gè)位置的像素點(diǎn),可以先檢查1、9,看CRF=1 是否成立,然后再檢查5、13。 如果是角點(diǎn),那么上述的四個(gè)像素點(diǎn)至少有3 個(gè)應(yīng)該滿足CRF=1,如果不是這樣,那么這個(gè)點(diǎn)肯定不是一個(gè)角點(diǎn)。

      FAST 角點(diǎn)檢測(cè)要對(duì)比的像素點(diǎn)太多,處理起來(lái)速度很慢,其實(shí)檢測(cè)一個(gè)點(diǎn)是不是角點(diǎn),沒(méi)有必要把所有的點(diǎn)都進(jìn)行對(duì)比。 文獻(xiàn)[9]中使用決策樹算法構(gòu)造一個(gè)角點(diǎn)分類器,判斷一個(gè)點(diǎn)是不是角點(diǎn)只需平均檢測(cè)周圍3.8 個(gè)像素點(diǎn)即可。

      1.1.2 ORB 特征點(diǎn)描述子

      特征點(diǎn)描述子就是在特征點(diǎn)鄰域內(nèi)隨機(jī)選取若干點(diǎn)對(duì),將這些點(diǎn)對(duì)灰度值的大小組合得到一個(gè)確定的二進(jìn)制串,這個(gè)二進(jìn)制串就是該特征點(diǎn)的描述子[10]。 特征點(diǎn)隨機(jī)點(diǎn)對(duì)如圖4 所示,特征點(diǎn)p 的鄰域內(nèi)存在若干點(diǎn)對(duì),圖中以不同顏色作為不同點(diǎn)對(duì)的區(qū)分。 ORB 特征點(diǎn)描述使用的是基于像素的二進(jìn)制位比較的BRIEF 特征描述子[7],求解BRIEF 描述子的具體過(guò)程如下:

      (1)選擇其中一個(gè)特征點(diǎn)p,以特征點(diǎn)p 為圓心,在其鄰域內(nèi)以d 為半徑畫圓;

      (2)在圓周內(nèi)按照某一模式取個(gè)n 點(diǎn)對(duì),為了方便敘述這里取n=5;

      (3)標(biāo)記這5 個(gè)點(diǎn)對(duì),分別是p1(A,B),p2(A,B),p3(A,B),p4(A,B),p5(A,B),A 和B 分別表示點(diǎn)對(duì)兩端的像素點(diǎn);

      (4)定義一種運(yùn)算關(guān)系T,其表達(dá)式如式(2)所示:

      式中,IA、IB分別表示A 和B 點(diǎn)的灰度值。

      (5)對(duì)所有點(diǎn)對(duì)進(jìn)行T 運(yùn)算,將得到的結(jié)果按照式(3)進(jìn)行組合:

      上式中得到的二進(jìn)制串01101 就是需要的ORB 特征描述子。

      圖4 特征點(diǎn)隨機(jī)點(diǎn)對(duì)示意圖

      1.2 算法改進(jìn)

      ORB 算法作為一種特征點(diǎn)檢測(cè)與描述算法,在圖像較小時(shí)效果還比較好,但是圖像較大時(shí)消耗的時(shí)間較多,不適于視頻配準(zhǔn)的需求,因此對(duì)其進(jìn)行改進(jìn)。 已知攝像頭的安裝位置,即輸入視頻流的相對(duì)位置是已知的和固定的。 ORB 算法檢測(cè)的特征點(diǎn)是針對(duì)于整幅圖像的,運(yùn)算量比較大,運(yùn)算時(shí)間很長(zhǎng)。 既然知道了兩幅視頻幀圖像的相對(duì)位置, 就可以找出ROI 區(qū)域(感興趣區(qū)域),即如圖5 所示的兩幅圖中虛線內(nèi)的圖像部分,取該ROI 區(qū)域的圖像進(jìn)行ORB 運(yùn)算,可大大減少運(yùn)算量(此時(shí)的運(yùn)算量可減少為原來(lái)的一半)[11-12]。

      因此改進(jìn)的ORB 檢測(cè)流程如圖6 所示。

      圖5 視頻幀圖像示意圖

      圖6 改進(jìn)的ORB 檢測(cè)流程圖

      1.3 算法仿真

      首先拍攝兩張具有重疊區(qū)域的圖片,如圖7 所示。

      圖7 算法驗(yàn)證實(shí)驗(yàn)圖

      對(duì)圖7 中左右兩幅圖進(jìn)行ORB 算法檢測(cè)特征點(diǎn)的匹配操作,效果圖如圖8 所示。

      圖8 ORB 算法檢測(cè)特征點(diǎn)匹配圖

      再利用改進(jìn)的ORB 算法進(jìn)行仿真,實(shí)驗(yàn)效果如圖9所示。

      圖9 改進(jìn)ORB 算法檢測(cè)特征點(diǎn)匹配圖

      從上面的實(shí)驗(yàn)結(jié)果對(duì)比可以看出,使用改進(jìn)的ORB檢測(cè)算法可以大大壓縮傳統(tǒng)的圖像檢測(cè)時(shí)間,提高了算法的檢測(cè)效率,使得圖像檢測(cè)拼接技術(shù)可以應(yīng)用于視頻拼接。

      2 系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)

      2.1 系統(tǒng)構(gòu)成

      本系統(tǒng)基于Xilinx 公司的Zynq-7000 系列AP SoC(All Programmable System on Chip,全可編程的片上系統(tǒng))平臺(tái)進(jìn)行設(shè)計(jì),在FPGA 架構(gòu)中集成了一個(gè)處理系統(tǒng)PS(Processing System,即雙核ARM Cortex-A9 硬核)和一個(gè)等價(jià)于一片F(xiàn)PGA 的可編程邏輯PL(Programmable Logic)。本系統(tǒng)硬件上主要由視頻采集、視頻拼接處理和視頻顯示三部分構(gòu)成,如圖10 所示。 視頻采集設(shè)備使用的是兩路500 萬(wàn)像素的OV5640 攝像頭。 由于多個(gè)攝像頭采集數(shù)據(jù)會(huì)有很大的吞吐量, 因此利用Vivado HLS 工具在Zynq 的PL 部分采用若干個(gè)IP 核對(duì)視頻數(shù)據(jù)進(jìn)行流水采集(#pragma HLS dataflow 和#pragma HLS PIPELINE II=1),并循環(huán)流水線核展開嵌套循環(huán)(#pragma HLS LOOP_FLATTEN),達(dá)到并行讀取攝像頭數(shù)據(jù)的目的,同時(shí)還利用Vivado HLS 對(duì)視頻拼接算法中的特征點(diǎn)檢測(cè)進(jìn)行硬件加速IP 核封裝設(shè)計(jì),實(shí)現(xiàn)算法的高速并行處理。 視頻顯示部分通過(guò)VDMA 傳輸待顯示的圖像數(shù)據(jù)到HDMI接口進(jìn)而傳送到LCD 顯示器上進(jìn)行顯示。

      圖10 系統(tǒng)功能結(jié)構(gòu)圖

      為了實(shí)現(xiàn)良好的人機(jī)交互和提升系統(tǒng)的靈活性,在Zynq 的PS 部分,搭建嵌入式Linux 系統(tǒng),移植部分OpenCV庫(kù)和Qt 庫(kù)并進(jìn)行程序的編譯、配置等工作,完成視頻圖像拼接系統(tǒng)的軟硬件協(xié)調(diào)及人機(jī)交互用戶界面。

      2.2 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

      兩個(gè)OV5640 攝像頭首先連接到Zynq 的PL 端,采用Verilog 語(yǔ)言按照SCCB 協(xié)議構(gòu)造攝像頭驅(qū)動(dòng)模塊,然后在Zynq 的PS 端按照標(biāo)準(zhǔn)的字符設(shè)備驅(qū)動(dòng)方式采用C語(yǔ)言編寫圖像采集驅(qū)動(dòng)程序,最后將攝像頭模塊連接在VDMA 上通過(guò)AXI4 總線傳輸數(shù)據(jù)。 對(duì)于圖像顯示部分,VDMA 傳輸?shù)娘@示數(shù)據(jù)連接到HDMI 驅(qū)動(dòng)顯示模塊,進(jìn)而顯示在顯示器上。 系統(tǒng)硬件實(shí)物如圖11 所示。

      本文所提到的應(yīng)用程序的用戶界面是利用Qt 軟件開發(fā)的,包括顯示源視頻圖像的窗口、輸出結(jié)果的窗口、必要的功能按鍵等。 開發(fā)的應(yīng)用程序運(yùn)行在基于Zynq平臺(tái)的嵌入式Linux 系統(tǒng)上。硬件設(shè)備上電操作之后,在控制臺(tái)電腦上可以看到嵌入式Linux 系統(tǒng)的啟動(dòng)信息。當(dāng)Linux 系統(tǒng)啟動(dòng)完成,可以通過(guò)命令對(duì)應(yīng)用程序進(jìn)行啟動(dòng),之后使用鼠標(biāo)對(duì)應(yīng)用程序進(jìn)行操作,右上角有相應(yīng)的按鈕,可以打開和關(guān)閉攝像頭,可以完成視頻流的圖片截取,可以完成視頻的拼接。 應(yīng)用程序進(jìn)行視頻拼接時(shí)的運(yùn)行效果如圖12 所示。

      圖11 系統(tǒng)硬件實(shí)物圖

      圖12 系統(tǒng)應(yīng)用程序運(yùn)行圖

      3 性能分析

      本文使用清晰度和空間頻率作為視頻拼接質(zhì)量的客觀評(píng)價(jià)標(biāo)準(zhǔn)[13]。 不同重合率拼接質(zhì)量客觀評(píng)價(jià)分析如表1 所示。

      表1 不同重合率拼接質(zhì)量客觀評(píng)價(jià)表

      從表1 可以得出,不同重合率的視頻圖像的拼接對(duì)于拼接質(zhì)量影響不同,重合率過(guò)小會(huì)導(dǎo)致圖像無(wú)法配準(zhǔn),而重合率過(guò)大則導(dǎo)致配準(zhǔn)后的圖像信息量較少,拼接后的效果反而降低。 因此要選擇合適的重合率,一般以30%~50%為宜。

      再對(duì)拼接時(shí)效進(jìn)行分析。 實(shí)驗(yàn)輸入的視頻圖像的分辨率為640×480。 每隔0.5 s 取一幀圖像,連續(xù)取10 幀。記錄了兩組視頻拼接時(shí)間的數(shù)據(jù),一組是未使用ROI 和未硬件加速的處理時(shí)間,如表2 所示;另一組是在使用ROI 改進(jìn)算法并利用FPGA 邏輯資源對(duì)耗時(shí)最多的特征點(diǎn)檢測(cè)算法進(jìn)行硬件加速的情況下的拼接處理時(shí)間,如表3 所示。

      通過(guò)對(duì)比兩張表中的數(shù)據(jù),可知使用ROI 和硬件加速的拼接處理時(shí)間遠(yuǎn)遠(yuǎn)小于未使用ROI 和未硬件加速的處理時(shí)間。 主要體現(xiàn)在特征點(diǎn)檢測(cè)和特征點(diǎn)匹配上,特征點(diǎn)檢測(cè)部分未使用ROI 和未硬件加速的處理時(shí)間是使用ROI 和硬件加速的處理時(shí)間的17.57 倍,特征點(diǎn)匹配部分未使用ROI 和未硬件加速的處理時(shí)間是使用ROI 和硬件加速的處理時(shí)間的1.26 倍。 對(duì)比其他部分,沒(méi)有明顯差異。 這是因?yàn)槭褂肦OI 算法后,特征點(diǎn)的搜索區(qū)域變?yōu)樵瓉?lái)的50%,減少了檢測(cè)時(shí)間,降低了誤匹配率。 特征點(diǎn)匹配上得益于ROI 算法,減少了特征點(diǎn)的分布區(qū)域,提高了特征點(diǎn)匹配的質(zhì)量。

      表2 未使用ROI 和未硬件加速的拼接時(shí)間(ms)

      表3 使用ROI 和硬件加速的拼接時(shí)間(ms)

      實(shí)驗(yàn)結(jié)果表明采用合適的重合率可以得到質(zhì)量較好的拼接效果,使用FPGA 硬件加速算法大大提高了算法的效率,減少了拼接的時(shí)間。

      4 結(jié)論

      本文針對(duì)ORB 算法特征點(diǎn)檢測(cè)進(jìn)行了改進(jìn)創(chuàng)新,實(shí)驗(yàn)證明改進(jìn)后的算法在運(yùn)行時(shí)間上減少了很多,滿足了視頻處理的實(shí)時(shí)性。 對(duì)于利用Vivado HLS 設(shè)計(jì)工具將算法進(jìn)行IP 核封裝,實(shí)現(xiàn)硬件加速處理予以了驗(yàn)證,證明可以較大地提高算法的實(shí)時(shí)性。 同時(shí),本文采用Zynq 平臺(tái)設(shè)計(jì)視頻拼接系統(tǒng),對(duì)系統(tǒng)中各個(gè)模塊進(jìn)行了合理的任務(wù)分配,使得系統(tǒng)同時(shí)擁有ARM 的靈活性以及FPGA的并行處理能力,充分地展現(xiàn)了并行異構(gòu)架構(gòu)的優(yōu)勢(shì),為機(jī)器視覺(jué)的小型化應(yīng)用提供了重要參考。

      猜你喜歡
      角點(diǎn)像素點(diǎn)攝像頭
      浙江首試公路非現(xiàn)場(chǎng)執(zhí)法新型攝像頭
      攝像頭連接器可提供360°視角圖像
      基于FAST角點(diǎn)檢測(cè)算法上對(duì)Y型與X型角點(diǎn)的檢測(cè)
      基于canvas的前端數(shù)據(jù)加密
      基于逐像素點(diǎn)深度卷積網(wǎng)絡(luò)分割模型的上皮和間質(zhì)組織分割
      基于邊緣的角點(diǎn)分類和描述算法
      電子科技(2016年12期)2016-12-26 02:25:49
      基于圓環(huán)模板的改進(jìn)Harris角點(diǎn)檢測(cè)算法
      奔馳360°攝像頭系統(tǒng)介紹
      基于Node-Cell結(jié)構(gòu)的HEVC幀內(nèi)編碼
      基于Harris角點(diǎn)和質(zhì)量評(píng)價(jià)的圖像篡改檢測(cè)
      崇左市| 区。| 达拉特旗| 乡宁县| 古浪县| 福鼎市| 连江县| 怀来县| 南川市| 德兴市| 玛沁县| 淮安市| 东兰县| 稻城县| 张家川| 桐城市| 亚东县| 湟源县| 教育| 侯马市| 苍南县| 安阳市| 溧水县| 赤壁市| 建德市| 桑日县| 宣汉县| 苍溪县| 若尔盖县| 威信县| 独山县| 昭通市| 德庆县| 泸溪县| 固原市| 盐边县| 固始县| 和静县| 泸西县| 洪湖市| 庆阳市|