国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種基于ZYNQ的視頻采集處理系統(tǒng)

2022-11-25 02:56魏洪健徐琦琳孫科學(xué)
關(guān)鍵詞:實(shí)時性圖像處理攝像頭

魏洪健,徐琦琳,張 瑛,孫科學(xué),2*

(1.南京郵電大學(xué) 電子與光學(xué)工程學(xué)院,江蘇 南京 210023;2.射頻集成與微組裝技術(shù)國家地方聯(lián)合工程實(shí)驗(yàn)室,江蘇 南京 210023)

0 引 言

實(shí)時視頻處理技術(shù)在工業(yè)生產(chǎn)、缺陷檢測、自動駕駛等領(lǐng)域有不可替代的作用,同時各個領(lǐng)域也對圖像處理帶寬、實(shí)時性及清晰度有了更高的要求。以往的基于ARM(Advanced RISC Machine)數(shù)字圖像處理系統(tǒng)[1-2]雖然能滿足復(fù)雜的圖像處理需求,但因?yàn)槠涮幚砥魅勇实停y以得到帶寬及實(shí)時性的保障。而基于DSP(Digital Signal Processing)的處理框架[3]能滿足高實(shí)時性的需求,但在開發(fā)高復(fù)雜度的集成系統(tǒng)時周期長,且系統(tǒng)并行度低。在目標(biāo)識別、機(jī)器驗(yàn)布、流水線產(chǎn)品缺陷檢測等領(lǐng)域[4-6],圖像處理系統(tǒng)需要采集產(chǎn)品實(shí)時的高清畫面,并且同步處理視頻特征信息,圖像的有效信息通常只會存在1~2幀,這就要求系統(tǒng)要具有極高的實(shí)時性。此外對不同產(chǎn)品檢測時算法的選擇也不同,這便要求處理系統(tǒng)不僅需要具有高實(shí)時性的特點(diǎn),也要具有一定的靈活性。而ARM+FPGA(Field Programmable Gate Array)的異構(gòu)處理框架可以很好地兼顧兩者。FPGA在處理高帶寬視頻數(shù)據(jù)時能充分展現(xiàn)其強(qiáng)大的并行計算能力[7],對已經(jīng)相對成熟的圖像預(yù)處理算法可以用Verilog HDL硬件描述語言來實(shí)現(xiàn)硬件的加速。因此以FPGA來實(shí)現(xiàn)數(shù)字圖像處理算法,用ARM進(jìn)行控制的系統(tǒng)框架可以滿足對視頻處理有較高實(shí)時性需求的領(lǐng)域。

該文設(shè)計了一種基于Xilinx公司推出的ZYNQ系列ARM+FPGA異構(gòu)結(jié)構(gòu)作為處理核心的視頻數(shù)據(jù)實(shí)時采集、處理、控制、輸出的框架,可支持高清1 280×720分辨率下60幀的實(shí)時處理。結(jié)合了雙核ARMCortex-A9處理器強(qiáng)大的驅(qū)動能力、高靈活性、可配置性與FPGA并行、高速、再編程的特點(diǎn),實(shí)現(xiàn)了軟硬均可重復(fù)編程的結(jié)構(gòu)?;赩erilog HDL硬件描述語言實(shí)現(xiàn)了圖像的均值模糊,中值濾波,高斯模糊、邊緣特征銳化、二值化、色彩空間轉(zhuǎn)化、sobel邊緣檢測、形態(tài)學(xué)腐蝕與膨脹等經(jīng)典圖像預(yù)處理算法,均采用流水處理的形式最大化處理速度來保障系統(tǒng)的實(shí)時性[8],并且可以通過上位機(jī)來實(shí)現(xiàn)不同預(yù)處理算法的組合與實(shí)時切換,所有算法均封裝為IP核來增加算法的靈活性與可移植性。主要由軟件處理系統(tǒng)PS(Processing System)端與硬件可編程邏輯PL(Programmable Logic)端的軟硬協(xié)同方式進(jìn)行工作。

1 系統(tǒng)整體框架

系統(tǒng)采用ZYNQ系列的XC7Z020-CLG400芯片作為主控,OV5640攝像頭作為視頻數(shù)據(jù)源,另外還包括一臺支持HDMI高清接口的顯示器。搭建了視頻數(shù)據(jù)的輸入、輸出通路以及硬件算法模塊,整體結(jié)構(gòu)框圖如圖1所示。PL硬件部分負(fù)責(zé)完成視頻輸入、硬件算法設(shè)計、視頻輸出等部分。PS處理器部分實(shí)現(xiàn)對整個系統(tǒng)的控制,包括硬件初始化流程,本地網(wǎng)絡(luò)初始化以及UDP網(wǎng)絡(luò)數(shù)據(jù)的接收與判斷,并且通過AXI4總線對圖像處理算法模塊進(jìn)行控制。PL與PS通過AXI(Advanced eXtensible Interface)協(xié)議進(jìn)行數(shù)據(jù)互通,實(shí)現(xiàn)軟硬件的協(xié)同工作。

從視頻數(shù)據(jù)采集并在系統(tǒng)中的傳輸處理直至顯示角度,可將系統(tǒng)按功能劃分為如下主要模塊:

(1)視頻數(shù)據(jù)采集模塊:系統(tǒng)通過500萬像素CMOS攝像頭采集外界視頻數(shù)據(jù),輸入至PL硬件部分完成數(shù)據(jù)采集。攝像頭初始化由PL部分IIC時序控制器完成,在上電后2秒內(nèi)即可完成初始化,正常輸出視頻流數(shù)據(jù)。

(2)視頻輸入模塊:攝像頭RAW數(shù)據(jù)傳入后,通過Video in to AXI4StreamIP將數(shù)據(jù)格式轉(zhuǎn)化為 AXI-stream格式進(jìn)入demosaic模塊,對視頻色彩進(jìn)行插值還原,同時將單個像素數(shù)據(jù)由RAW轉(zhuǎn)化為RGB888格式,最后再經(jīng)VDMA(Video Direct Memory Access)緩存至DDR3中,完成視頻輸入通路搭建。

(3)視頻輸出模塊:首先通過AXI4Stream to Video out將圖像數(shù)據(jù)按行從DDR存儲器中讀出,再經(jīng)過硬件算法處理模塊,對視頻數(shù)據(jù)進(jìn)行流水線式處理,實(shí)時輸出處理后的視頻數(shù)據(jù),在經(jīng)過HDMI編碼器,將標(biāo)準(zhǔn)VGA時序協(xié)議視頻編碼為HDMI差分信號進(jìn)行輸出。

2 系統(tǒng)關(guān)鍵部分實(shí)現(xiàn)

2.1 攝像頭初始化

系統(tǒng)的圖像源由OmniVision公司的OV5640攝像頭進(jìn)行采集,其擁有2 592×1 944(500萬像素)的感光陣列,最大輸出能達(dá)到QSXVGA(2 592×1 944)下的15幀輸出,支持SCCB(Serial Camera Control Bus)協(xié)議控制。SCCB協(xié)議是一種向上兼容IIC協(xié)議的攝像頭寄存器配置協(xié)議,在主機(jī)以單字節(jié)發(fā)送數(shù)據(jù)至從機(jī)時完全兼容IIC協(xié)議。系統(tǒng)選擇了1 280×720(92萬像素)下60 FPS格式的視頻流輸出。由硬件PL端完成IIC時序控制器對攝像頭內(nèi)部控制寄存器以單字節(jié)寫的格式進(jìn)行初始化設(shè)置,表1列出了部分關(guān)鍵寄存器地址、功能及配置值。系統(tǒng)總共對OV5640內(nèi)部寄存器進(jìn)行253次SCCB讀寫配置。

表1 OV5640部分關(guān)鍵寄存器配置

輸出圖像的水平寬度為0x0500為1 280,豎直高度為0x02d0為720,即設(shè)定為1 280×720的輸出分辨率。此時可計算出輸出像素的時鐘為1 650×750×60=74.25 MHz。

2.2 攝像頭數(shù)據(jù)Demosaic

CMOS攝像頭是由覆蓋在硅襯底上的濾色片測量不同波長的光強(qiáng)度來采集圖像數(shù)據(jù),且每種濾色片只能對應(yīng)一種顏色,即每個像素原始數(shù)據(jù)只包含一種顏色信息,要通過臨近像素的可用信息來還原出原像素的三種顏色分量,而人眼對綠色的敏感度最高,因此往往CFA(Color Filter Array)陣列由1/2的綠色分量與1/4的紅色與藍(lán)色分量組成,bayer陣列共有四種排列模式,如圖2所示。

從CMOS攝像頭輸出的RAW格式的數(shù)據(jù),通過Video in to AXI4Steam轉(zhuǎn)化為AXI-stream格式的數(shù)據(jù)進(jìn)入Sensor Demosaic電路,利用5×5矩陣通過色度方差來抑制在還原像素時產(chǎn)生的顏色混疊效應(yīng),提升傳感器輸出圖像色彩質(zhì)量。同時由于CMOS攝像頭OV5640數(shù)據(jù)輸出引腳只有10位,實(shí)際上攝像頭的輸出為每2個pix clock輸出一個RGB565格式的像素數(shù)據(jù),Sensor Demosaic同時也對按字節(jié)接收到的RAW數(shù)據(jù)進(jìn)行格式重構(gòu),轉(zhuǎn)換RAW格式為24 bit的RGB888格式。Sensor Demosaic偏移地址0x28寄存器[1:0]的值對應(yīng)了全部四種bayer陣列格式??梢栽赑S端通過AXI總線來設(shè)定像素的陣列模式,色彩還原后仍然以AXI4-Stream格式輸出到DDR中進(jìn)行視頻緩存。

2.3 圖像處理IP封裝

圖像卷積運(yùn)算作為圖像預(yù)處理中應(yīng)用最廣泛的方式,由FPGA實(shí)現(xiàn)流水線運(yùn)算時,能達(dá)到最高的實(shí)時性[9],這是因?yàn)镕PGA在處理圖像進(jìn)行運(yùn)算時以行為單位,而CPU、GPU、DSP在處理時是以幀為單位。如圖3(左)所示,圖像的傳輸是從左上角的第一個像素開始,向右輸出1整行1 280個像素點(diǎn)后,向下移動一行開始傳輸?shù)诙械南袼財?shù)據(jù),直至720行掃描結(jié)束后完成整幀的輸出。通過ShiftRegister緩存圖像的前兩行數(shù)據(jù),同時接受當(dāng)前數(shù)據(jù)作為第三行,就實(shí)現(xiàn)了三行數(shù)據(jù)的同時緩存。每個時鐘的上升沿到來時,ShiftRegister中每個數(shù)據(jù)會向后移動一位,移位寄存器將最后一個數(shù)據(jù)作為當(dāng)前的輸出。圖3(右)結(jié)構(gòu)中ROW1~3即為當(dāng)前的三行像素數(shù)據(jù)輸出,通過對三行數(shù)據(jù)的一個緩存打拍處理,就可得到圖3(左)中原圖像左上角像素的3×3矩陣窗口,此時每經(jīng)過一個時鐘周期,就相當(dāng)于該3×3矩陣窗口在像素陣列中向右移動一格,即實(shí)現(xiàn)步長為1的圖像卷積運(yùn)算。

得到圖像的3×3像素矩陣后,通過與不同的卷積模板進(jìn)行運(yùn)算后再替換原像素點(diǎn)數(shù)據(jù),如此遍歷整幅圖像之后即可實(shí)現(xiàn)圖像的濾波操作。常見的處理有用9個數(shù)據(jù)平均值代替原像素點(diǎn)值的均值濾波;用9個值中的中值來代替原像素點(diǎn)的中值濾波。

以sobel邊緣檢測[10]為例,其原理是根據(jù)像素灰度值與其周圍的離散差值來近似計算出該點(diǎn)不同方向上的梯度。根據(jù)式(1)求出原像素矩陣I與兩個3×3核的卷積結(jié)果水平積分因子Gx與豎直積分因子Gy,再通過式(2)求出近似梯度G,判斷G與邊界閾值S大小即可判斷出該點(diǎn)是否為邊緣點(diǎn)。

(1)

(2)

(3)

為驗(yàn)證硬件算法的實(shí)時性,通過Vivado與Modelsim進(jìn)行聯(lián)合仿真,編寫測試文件模擬VGA時序驅(qū)動,每幀讀取不同的圖片,經(jīng)過硬件處理后再保存為新的圖片,共進(jìn)行三幀的仿真即處理三張不同的圖片,第四幀開始時結(jié)束仿真。結(jié)果表明,所述設(shè)計能滿足視頻處理實(shí)時性的要求。

2.4 硬件算法模塊實(shí)現(xiàn)

現(xiàn)代數(shù)字圖像處理的模型一般分為多級的形式,由視頻采集前端、圖像預(yù)處理以及圖像信息提取三個部分構(gòu)成。其中視頻采集前端往往是由采集端對原生圖像數(shù)據(jù)進(jìn)行最基本的處理,不會對原始圖像數(shù)據(jù)的信息特征產(chǎn)生較大影響。本系統(tǒng)中OV5640攝像頭內(nèi)部已集成了ISP圖像信號處理單元,其中包括AEC(自動曝光控制)、AWB(自動白平衡)、gamma矯正、BLC(黑電平矯正)等圖像補(bǔ)償功能。

該系統(tǒng)針對圖像預(yù)處理以及圖像信息提取給出了不同的方案,讀者可根據(jù)實(shí)際情況選擇或者增刪圖像處理模塊。系統(tǒng)硬件算法內(nèi)部結(jié)構(gòu)如圖4所示,其中圖像處理算法包括三種預(yù)處理濾波、邊緣檢測以及基于拉普拉斯算子的圖像邊緣增強(qiáng)、圖像形態(tài)學(xué)腐蝕與膨脹。均采用PL端硬件流水的形式完成圖像處理,封裝為通用視頻接口的IP核,保證了系統(tǒng)的可擴(kuò)展性與靈活性。視頻選擇器為封裝了AXI接口的數(shù)據(jù)接收自訂IP核,接收PS端的控制,可從輸入的視頻數(shù)據(jù)中選擇一路輸出。PS端通過對視頻選擇器的控制即可實(shí)時調(diào)整系統(tǒng)硬件算法的組合。

2.5 PS端實(shí)現(xiàn)

PS軟件部分[11]主要實(shí)現(xiàn)的內(nèi)容包括開啟DDR視頻緩存通道[12],初始化硬件算法模塊,設(shè)置開發(fā)板IP地址以及對UDP網(wǎng)絡(luò)數(shù)據(jù)的處理。SDK中處理的流程框圖如圖5所示。系統(tǒng)上電后,首先PS端將通過AXI總線對硬件算法模塊中的3個視頻選擇器進(jìn)行初始化配置,設(shè)置其默認(rèn)輸出原始視頻數(shù)據(jù)。隨后通過AXI總線向PL端的IIC時序控制器發(fā)送啟動信號,開始對OV5640攝像頭內(nèi)部寄存器進(jìn)行配置,共發(fā)送253個SCCB協(xié)議數(shù)據(jù)。PL端寄存器配置數(shù)據(jù)完成后,硬件端通過ZYNQ中IRQ_F2P接口發(fā)送硬件的中斷信號。IRQ_F2P為ZYNQ提供的硬件中斷接口,硬件中斷號ID有[91:84],[68:61]共16個,可以設(shè)置邊沿觸發(fā)或電平觸發(fā),本系統(tǒng)中使用上升邊沿觸發(fā)模式進(jìn)入中斷處理函數(shù)。通過硬件中斷功能軟件端可以在硬件信號觸發(fā)后最快地做出響應(yīng),即最優(yōu)先處理中斷處理函數(shù)中的程序部分。中斷處理函數(shù)中包括PS端對PL端VDMA進(jìn)行初始化配置。 視頻數(shù)據(jù)的DDR讀寫地址為0x01100000,緩存三張圖像。則從0x01100000開始的1 280×720×3個地址內(nèi)會按BGR順序存放第一幀的圖像數(shù)據(jù),從地址0x013A3000(0x01100000+1 280×720×3)開始會存放第二幀數(shù)據(jù),以此類推。

物聯(lián)網(wǎng)技術(shù)已被廣泛應(yīng)用在SOC領(lǐng)域,本系統(tǒng)基于RTL8211E千兆路由芯片[13-14],PS端部署lwip(light weight IP)輕量化IP協(xié)議實(shí)現(xiàn)網(wǎng)絡(luò)通信。通過UDP協(xié)議完成與上位機(jī)的數(shù)據(jù)交互,實(shí)現(xiàn)對系統(tǒng)的遠(yuǎn)程控制。PS端不斷讀取上位機(jī)發(fā)送的UDP網(wǎng)絡(luò)數(shù)據(jù)包,根據(jù)網(wǎng)絡(luò)指令通過AXI總線協(xié)議對圖4中的3個視頻選擇器的輸出進(jìn)行切換,也可以改變二值化閾值與sobel邊緣檢測閾值。

3 測試結(jié)果與分析

在vivado平臺與modelsim仿真器完成系統(tǒng)的設(shè)計與仿真后,進(jìn)行工程的綜合、實(shí)現(xiàn)、生成比特流文件,導(dǎo)出hardware進(jìn)入SDK環(huán)境進(jìn)行ps端程序開發(fā)。完成后創(chuàng)建FSBL(First Stage Boot Loader)工程對SDK中C程序進(jìn)行固化。

開啟系統(tǒng)等待初始化流程結(jié)束后顯示器通過HDMI線接收來自系統(tǒng)的1 280×720分辨率下60幀視頻數(shù)據(jù),圖6為在正光源照射下的書本文字顯示結(jié)果,其中左上至右下依次為原圖(a)、高斯濾波(b)、圖像銳化(c)、sobel邊緣檢測(d)、中值濾波+sobel邊緣檢測(e)、中值濾波+sobel邊緣檢測+圖像腐蝕(f)的處理效果圖。

圖7為拍攝帶有浮雕表面二維碼圖像的處理結(jié)果,其中左上至右下依次為原圖(a)、圖像銳化(b)、sobel邊緣檢測(c)、高斯濾波+sobel邊緣檢測(d)、高斯濾波+sobel邊緣檢測+圖像腐蝕(e)、二值化顯示(f)的處理結(jié)果。

上述兩種不同物體的實(shí)時圖像采集結(jié)果很好地證明了所述系統(tǒng)功能完備性以及算法有效性,通過不同的算法組合最終均可獲得較好的圖像特征信息,并且能直觀地觀察到每個中間級算法處理的結(jié)果。

以硬件流水線實(shí)現(xiàn)圖像處理算法時,其延時是可以計算出的[15]。該文所述設(shè)計中,處理算法使用的3×3緩存矩陣會使圖像同步時鐘延遲一行來進(jìn)行數(shù)據(jù)同步,1 280 p分辨率下則會延遲1 560個延時,后續(xù)則在進(jìn)行不同流水線算法時處理所用的延時不同。表2中給出了該系統(tǒng)中通過硬件算法與在ZYNQ芯片中ARM端調(diào)用OpenCV庫[16]處理一幀圖像的延時對比。

表2 不同算法處理延遲時間

對比軟硬件在圖像處理速度上的差異,該系統(tǒng)在進(jìn)行各種圖像的處理時均有更快的速度,且實(shí)現(xiàn)的算法復(fù)雜度越高,則硬件流水處理的提升越大。

4 結(jié)束語

該文提出并實(shí)現(xiàn)了一種基于ZYNQ-7020芯片的視頻實(shí)時采集、處理、顯示平臺,充分結(jié)合了ARM的靈活性與FPGA在圖像處理領(lǐng)域的高實(shí)時性。平臺集成了多種經(jīng)典的圖像預(yù)處理算法,延時低、易于替換與擴(kuò)展,為復(fù)雜圖像處理算法實(shí)現(xiàn)提供良好的基礎(chǔ)平臺。經(jīng)測試所述系統(tǒng)實(shí)時性高、性能穩(wěn)定,可應(yīng)用于動態(tài)捕捉、缺陷檢測、視頻前端處理等領(lǐng)域。

猜你喜歡
實(shí)時性圖像處理攝像頭
浙江首試公路非現(xiàn)場執(zhí)法新型攝像頭
海戰(zhàn)場偵察圖像處理技術(shù)圖譜及應(yīng)用展望
人工智能輔助冠狀動脈CTA圖像處理和診斷的研究進(jìn)展
攝像頭連接器可提供360°視角圖像
基于ARM嵌入式的關(guān)于圖像處理的交通信號燈識別
基于圖像處理的廢有色金屬自動分選算法研究
航空電子AFDX與AVB傳輸實(shí)時性抗干擾對比
計算機(jī)控制系統(tǒng)實(shí)時性的提高策略
可編程控制器的實(shí)時處理器的研究
奔馳360°攝像頭系統(tǒng)介紹