999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FPGA的運動目標遠程監(jiān)視系統(tǒng)設計

2023-06-02 06:32:36劉存領林青松于洪澤
計算機測量與控制 2023年5期
關(guān)鍵詞:檢測

劉存領,林青松,于洪澤

(河南科技大學 信息工程學院,河南 洛陽 471023)

0 引言

隨著科技的不斷發(fā)展,人們的安全意識不斷提高,智能安防行業(yè)得到了飛速發(fā)展。近年來,隨著網(wǎng)絡信息技術(shù)與傳感器技術(shù)的不斷發(fā)展,智能監(jiān)控系統(tǒng)逐漸走進了人們的日常生活當中,在交通、公安、住宅等多個領域起著重要的作用。如今的安防系統(tǒng)向著高清化、網(wǎng)絡化的方向發(fā)展,隨著移動互聯(lián)網(wǎng)的不斷發(fā)展,遠距離、高效率、低成本的傳輸數(shù)據(jù)成為可能,視頻傳輸技術(shù)也向著高實時性、可靠性的方向發(fā)展。另一方面,F(xiàn)PGA強大的性能和可并行處理的能力在醫(yī)療、交通、公共安全、智能安防、軍事等領域得到了廣泛地應用。FPGA對于視頻圖像處理以及高性能數(shù)據(jù)傳輸擁有著獨特的優(yōu)勢,面對復雜多變的環(huán)境以及多元化的應用場景,能夠滿足智能安防系統(tǒng)小型化、低功耗、高性能的需求,因此本文采用FPGA作為硬件平臺。

運動目標檢測技術(shù)一直是安防領域的重要研究方向之一,通過監(jiān)控攝像頭實時監(jiān)視視頻中出現(xiàn)的運動目標,并給予預警提示是當前研究的熱點。而傳統(tǒng)的運動目標檢測技術(shù)多通過樣本訓練神經(jīng)網(wǎng)絡的方式來提高檢測精度[1-4],或者通過建立模型、改進相關(guān)算法、仿真驗證[5-8]等方式在計算機上實現(xiàn),這種方法的開發(fā)難度大、訓練周期長,功耗較大,不適合應用到實際場景。而基于FPGA的運動目標檢測大多通過外接LCD顯示屏或者HDMI顯示屏的方式來顯示檢測結(jié)果[9-10],無法滿足遠距離視頻傳輸?shù)男枨蟆?/p>

綜上所述,當前對于多個運動目標的檢測系統(tǒng)主要在計算機以及FPGA上實現(xiàn),無法對遠距離目標實時監(jiān)測。為此,本系統(tǒng)提出來可遠距離檢測的新型解決方案,采用以太網(wǎng)接口,運用UDP作為通信協(xié)議,確保視頻傳輸?shù)母咝裕捎脦g差分法實現(xiàn)對多個運動目標的實時檢測,提高了檢測速度。本文詳細介紹了FPGA實現(xiàn)運動目標檢測的具體方法,包括圖像的采集、圖像處理算法、圖像數(shù)據(jù)的緩存等方面,對于多個運動目標提出了一種基于鄰域的檢測方法,然后介紹了以太網(wǎng)傳輸視頻檢測結(jié)果到上位機的具體實現(xiàn)流程,接著通過實驗對系統(tǒng)的功能進行驗證,最后分析了系統(tǒng)的性能參數(shù),滿足設計要求,具有廣泛的應用價值。本系統(tǒng)相比于其他系統(tǒng)具有以下優(yōu)勢:(1)體積小、低功耗,性價比高,檢測效率高,可進行加密設置,確保運行安全;(2)板載 1片 2 Gbit DDR3內(nèi)存,傳輸速率可以高達800 MHz,可以提供12.8 Gbps 帶寬,為視頻數(shù)據(jù)遠距離傳輸提供高速緩存;(3)利用FPGA并行的特性,對視頻圖像做預處理操作,實現(xiàn)對圖像處理算法的加速,提高了檢測速度。

1 系統(tǒng)的總體設計

本系統(tǒng)主要由時鐘模塊、圖像采集模塊、圖像處理模塊、數(shù)據(jù)存儲模塊、以太網(wǎng)傳輸模塊組成。其中時鐘模塊是系統(tǒng)時鐘經(jīng)過 PLL 分頻,為攝像頭驅(qū)動模塊、DDR3緩存模塊、以太網(wǎng)傳輸模塊等提供驅(qū)動時鐘。

系統(tǒng)的主要設計流程為系統(tǒng)時鐘經(jīng)過分頻器為各模塊提供驅(qū)動時鐘。首先OV5640驅(qū)動模塊通過I2C總線協(xié)議配置相應的寄存器,完成對攝像頭的初始化。將攝像頭采集到的圖像數(shù)據(jù)送入灰度化模塊,將灰度化處理后的第K-1幀圖像緩存到DDR3數(shù)據(jù)緩存模塊中,延時兩個時鐘周期,將第K幀圖像和緩存模塊中讀出的第K-1幀圖像送入差分模塊,將得到的差分圖像數(shù)據(jù)進行二值化和形態(tài)學濾波處理,進而得到運動目標的標志信息。經(jīng)由邊框檢測模塊得到運動目標的4個頂點坐標,通過疊加矩形框畫出運動目標的邊框,將帶有運動目標檢測邊框的圖像數(shù)據(jù)進行打包,通過以太網(wǎng)UDP協(xié)議傳輸檢測結(jié)果。通過配置上位機的IP地址等參數(shù),實現(xiàn)FPGA與上位機的通信握手,F(xiàn)PGA將處理后的視頻圖像實時的傳輸?shù)缴衔粰C進行顯示,在保證圖像分辨率的前提下,提升運動目標的檢測速度以及以太網(wǎng)的傳輸速度,最終實現(xiàn)遠距離監(jiān)視與跟蹤多個運動目標,系統(tǒng)設計框圖如圖1所示。

圖1 系統(tǒng)設計框圖

1.1 圖像采集模塊設計

圖像采集模塊采用美國豪威公司的OV5640攝像頭,具有很好的圖像處理性能,支持較高的分辨率,其感光陣列達到500W 像素,可支持高速率圖像采集,傳感器采用先進的背光技術(shù)使采集的圖像擁有更高的靈敏度、更低的噪聲,支持兩種輸出接口包括MIPI、DVP,支持多種數(shù)據(jù)像素格式,如YUV、RGB565、RGB555、RAW等,通過操作相應的寄存器即可輸出不同的像素格式。其主要工作原理:CMOS傳感器通過控制感光陣列將光信號轉(zhuǎn)換為模擬信號,將模擬信號經(jīng)過放大器和數(shù)模轉(zhuǎn)換器轉(zhuǎn)換為數(shù)字信號,經(jīng)過一系列的圖像處理,最終轉(zhuǎn)化為視頻流數(shù)據(jù)輸出。

通過配置相應的寄存器來完成攝像頭初始化,寄存器的配置需要 SCCB 接口協(xié)議來驅(qū)動,由于SCCB傳輸協(xié)議與I2C總線協(xié)議相似,可以采用編寫I2C驅(qū)動程序來完成攝像頭的初始化配置[11-12]。完成OV5640的SCCB讀寫協(xié)議配置后,對攝像頭相關(guān)寄存器進行配置,包括輸入輸出寄存器、系統(tǒng)分頻寄存器、數(shù)據(jù)輸出格式寄存器、復位寄存器等,寄存器配置完成后,即可通過圖像采集模塊產(chǎn)生正確的時序信號,采集攝像頭所捕獲的圖像信息。具體配置如下:系統(tǒng)時鐘經(jīng)過 PLL為I2C驅(qū)動模塊提供時鐘,通過I2C驅(qū)動程序來調(diào)用SCCB接口總線,對攝像頭的寄存器地址和相關(guān)信號進行配置,完成對攝像頭的初始化。攝像頭初始化成功后,通過圖像采集模塊完成8位圖像數(shù)據(jù)轉(zhuǎn)16位RGB565格式數(shù)據(jù)輸出,并輸出行場同步信號。

1.2 圖像處理模塊設計

1.2.1 灰度化處理

攝像頭采集的圖像為RGB彩色圖像,其中包含了運動目標的顏色信息、位置信息、輪廓信息、梯度信息等,為了剔除冗余的無用信息,提取出運動目標的重要信息,需要對圖像進行灰度化處理,同時可以減少板載資源的消耗,減輕后續(xù)圖像處理的運算量,從而加快運動目標的檢測速度。

由于OV5640攝像頭采集到的圖像數(shù)據(jù)為RGB565格式,需要通過高位補低位的方式實現(xiàn)16位RGB565格式到24位RGB888格式的數(shù)據(jù)轉(zhuǎn)換。由色彩空間轉(zhuǎn)換公式(1)~(3)可知,將24位RGB888格式轉(zhuǎn)換為24位YCbCr格式數(shù)據(jù),并提取Y分量作為灰度信息,即可實現(xiàn)[13]。

Y=0.229R+0.587G+0.11B

Cb=-0.172R-0.339G+0.511B+128

Cr=0.511R-0.428G-0.083B+128

(1)

(2)

(3)

式中,Y為亮度信息,Cb為偏藍色分量,Cr為偏紅色分量,R為RGB三原色中的紅色分量,G為藍色分量,B為綠色分量。

由于在FPGA中對數(shù)據(jù)進行浮點運算所消耗的資源較高,因此采取用精度換取資源的方式,首先將浮點數(shù)據(jù)擴大256倍化為整型數(shù)據(jù),再將整型數(shù)據(jù)相加消去負數(shù),最后將所得數(shù)據(jù)整體右移8位,即直接提取數(shù)據(jù)的高八位作為Y,Cb,Cr分量,其中Y分量值即為灰度值。

1.2.2 中值濾波

攝像頭在采集圖像數(shù)據(jù)之前,通過攝像頭自身的圖像處理單元對圖像進行降噪處理,但是由于環(huán)境中存在的噪聲多種多樣,經(jīng)過一次處理不能完全濾除,因此為了進一步提升圖像的質(zhì)量,降低噪聲對檢測精度的干擾,需要對圖像進行二次濾波。常見的圖像濾波可以分為線性濾波與非線性濾波。典型的線性濾波包括均值濾波、高斯濾波等,非線性濾波主要包括中值濾波、最大值濾波等。圖像中經(jīng)常采用均值濾波或者中值濾波來處理圖像數(shù)據(jù),其中均值濾波通過計算滑動窗口內(nèi)像素的平均值來取代原來的像素值,雖然對高斯噪聲的濾除效果較好,但是在濾波的同時損失了圖像的細節(jié)信息,使得圖像變得模糊,具有無法彌補的缺陷。而中值濾波通過求取滑動窗口中的像素的中值來代替原來的像素值,對椒鹽噪聲具有很好的濾除效果,同時可以消除孤點噪聲,保護圖像的邊緣信息。為了在濾除噪聲的同時確保圖像的質(zhì)量,決定采用中值濾波處理該系統(tǒng)圖像數(shù)據(jù)中的噪聲。

中值濾波的基本原理是將圖像中一點的像素值用其鄰域中各個像素的中值所代替,使得周圍的像素點更加接近真實值,因此中值濾波對脈沖噪聲具有很好的濾除作用,濾波后的圖像信息更加平滑。中值濾波的實現(xiàn)方式多種多樣,常見的方法有冒泡排序法、選擇排序法等,這些方法不適合運用到FPGA中,考慮到邏輯資源的消耗以及實現(xiàn)的難易程度,選擇流水線的方式來實現(xiàn)。通過Shift_RAM IP來生成3×3的滑動窗口,用來遍歷整幅圖片,與卷積操作類似。由于Shift_RAM IP核一次只能存儲一行數(shù)據(jù),因此需要例化兩次IP核再加上即將輸入的當前行組成3×3的矩陣。通過設計一個排序模塊,對矩陣的每一行進行排序,對矩陣的第一行像素數(shù)據(jù)進行排序得到中值,然后依次對矩陣的第二行、第三行像素數(shù)據(jù)進行排序得到中值,最后對得到的3個中值繼續(xù)排序得到最終的中值,將所得的中值代替圖像中原像素值,通過3×3的矩陣從上到下從左到右不斷遍歷,直到替換完成整幅圖像相應的像素點。通過這種方式實現(xiàn)對圖像的中值濾波,可以減少板上資源的消耗,提高圖像處理的速度。

1.2.3 差分及二值化處理

常見的運動目標檢測方法大致分為:光流法、背景減法、幀間差分法。相比于背景減法,幀間差分法無需對背景進行復雜的建模,相比于光流法,幀間差分法設計更加簡單,檢測速度更快,魯棒性更好。同時在相同條件下,該方法設計周期短,占用資源少,運行功耗最小,因此本系統(tǒng)采用幀間差分法實現(xiàn)對運動目標的檢測。

幀間差分法主要通過對比視頻流中相鄰兩個圖像序列的差異來實現(xiàn)對視頻中運動目標的檢測。當視頻中出現(xiàn)運動目標時,相鄰兩幀圖像的差值的絕對值大于設定的檢測閾值時,則判斷視頻圖像中存在運動目標,反之視為無運動目標,通過該方法可以快速的檢測運動目標。該方法具體的實現(xiàn)方法:為了實現(xiàn)相鄰兩幀圖像的差分運算,需要將前一幀數(shù)據(jù)通過FIFO寫入到DDR3中進行緩存,并標記幀起始信號,因為從FIFO中寫入與讀出都需要一個時鐘周期,因此延遲兩個時鐘周期用于同步數(shù)據(jù)。當數(shù)據(jù)緩存模塊檢測到幀起始信號,則從FIFO中讀出前一幀數(shù)據(jù),將兩幀圖像送入差分運算模塊做差分運算,運算公式如(4)和(5)所示。

Fn(x,y)=|fk(x,y)-fk-1(x,y)|

(4)

(5)

式中,fk(x,y)和-fk-1(x,y)為灰度化處理后的第K幀圖像和第K-1幀圖像,為差分結(jié)果,T為檢測閾值,為圖像背景。

由運算公式(4)和(5)可知,灰度化處理后的第K幀圖像和第K-1幀圖像為和,兩幀圖像相減取絕對值,所得差分結(jié)果為,設定檢測閾值為T,將差分結(jié)果與閾值T對比,如果大于T則將圖像背景設定為白色,即圖像灰度值為255,否則圖像背景設定為黑色,即圖像灰度值為0,完成對圖像數(shù)據(jù)的二值化處理。

1.2.4 形態(tài)學濾波處理

圖像數(shù)據(jù)經(jīng)過形態(tài)學濾波濾除噪聲,保留了物體的輪廓信息。本系統(tǒng)采用先腐蝕后膨脹的方法,消除運動目標外的雜點,保證運動目標的大小和位置不變。

1)圖像腐蝕處理:

在實現(xiàn)圖像腐蝕處理之前需要調(diào)用Shift_RAM IP來生成3×3的矩陣。具體的實現(xiàn)步驟是:例化2個Shift_RAM移位寄存器,將二值化處理后的一行圖像數(shù)據(jù)送入移位寄存器1中進行緩存;下一行數(shù)據(jù)到來時,將移位寄存器1中的數(shù)據(jù)送入移位寄存器2中進行緩存,移位寄存器1緩存當前行數(shù)據(jù);緩存了前兩行數(shù)據(jù)加上即將輸入的第三行數(shù)據(jù)一起組成的矩陣3×3的矩陣,如圖2所示。

圖2 矩陣生成示意圖

將生成的3×3矩陣中的9個值進行相與運算,當矩陣中的值全為1時則輸出圖像腐蝕處理后的值為1,否則為0。具體分為兩步實現(xiàn),首先將矩陣中第一行中的3個元素進行相與,后面兩行進行相同操作,最后將三行所得結(jié)果再進行相與運算,得到腐蝕后的輸出結(jié)果。

2)圖像膨脹處理:

在實現(xiàn)圖像膨脹處理之前同樣需要調(diào)用Shift_RAM IP來生成3×3的矩陣,具體方法與圖像腐蝕處理中方法一致。將生成的3×3矩陣中的9個值進行相或運算,當矩陣中的值有一個值為1時則輸出圖像膨脹處理后的值為1,當矩陣中的值全為0時,則輸出為0。具體分為兩步實現(xiàn),首先將矩陣中第一行、第二行、第三行中的3個元素進行或運算,最后將三行所得結(jié)果再進行或運算,得到膨脹后的輸出結(jié)果。

1.2.5 運動目標邊框檢測

將形態(tài)學濾波后的數(shù)據(jù)送入到運動目標檢測模塊得到邊框的4個頂點坐標,為后續(xù)畫出運動目標邊框提供位置信息。

首先,初始化行計數(shù)和列計數(shù),當數(shù)據(jù)有效并且行計數(shù)與列計數(shù)為1則判定為一幀圖像的起始信號,否則當數(shù)據(jù)有效且行計數(shù)和列計數(shù)達到最大值時判定為一幀圖像的結(jié)束信號。通過幀起始信號和結(jié)束信號進行行列計數(shù)來獲得一幀圖像的像素坐標。具體做法為:定義兩個變量分別對x,y方向進行計數(shù),定義上下左右4個變量用于獲取運動目標的位置坐標。當幀起始信號有效時,初始化變量,當系統(tǒng)復位時,將變量值賦為0。通過橫縱坐標寄存器計數(shù)掃描當前幀圖像,當形態(tài)學濾波結(jié)果與數(shù)據(jù)有效信號都為1時,表示該點為運動目標,寄存該點的位置信息,當一幀圖像掃描結(jié)束,更新位置信息。當然此方法有一定的弊端,當圖像中出現(xiàn)一個以上目標時,輸出結(jié)果仍為一個運動目標,不適合對多個目標進行檢測。

本文采用一種基于鄰域的檢測方法,提前手動設定一個最小閾值,通過幀起始信號與行結(jié)束信號來掃描一幀圖像,獲取運動目標的4個頂點坐標。當出現(xiàn)多個運動目標時,以檢測到的第一個目標邊界為標準,向上下左右邊界疊加設定的最小閾值,形成一個目標檢測鄰域。判斷各個運動目標之間的間距是否重合,如果沒有落在鄰域范圍內(nèi)則說明出現(xiàn)了新的運動目標,進而將新的目標的邊界信息更新到運動目標列表,繼續(xù)進行判斷,直到檢測出所有的運動目標。如果出現(xiàn)重合則說明未出現(xiàn)新目標,寄存此時的邊界信息,繼續(xù)檢測,進而實現(xiàn)對多個運動目標的檢測。

1.2.6 疊加矩形框

疊加矩形框就是將已知的運動目標位置坐標,用紅色矩形框進行標記。理論上矩形框的邊框?qū)挾仁?,即矩形的4條邊都是由像素寬度為1的線段組成,為了使矩形框更加突出醒目,便于人眼觀察,可以適當加寬矩形框4條邊框的寬度。對輸入的像素坐標進行判斷,確定是輸出矩形框還是原像素數(shù)據(jù)。對輸入的圖像坐標進行x,y方向計數(shù),設定一個寄存器類型變量,用來標記像素數(shù)據(jù)是否在運動目標的上下左右邊框上,如果是則將信號拉高,否則將信號拉低。當標志信號為高電平時,將像素數(shù)據(jù)標記為紅色,否則輸出原像素數(shù)據(jù),最終實現(xiàn)在圖像數(shù)據(jù)疊加紅色矩形框的效果,完成對運動目標的標記。

1.3 圖像緩存模塊的設計

圖像緩存模塊采用的是DDR3 SDRAM,相比于DDR2,DDR3在降低電壓的同時擁有更高的運行性能,DDR SDRAM是在SDRAM技術(shù)的基礎上不斷發(fā)展改進而來,相比于傳統(tǒng)的SDRAM,它采用雙沿觸發(fā)方式提高數(shù)據(jù)緩存效率,即在時鐘的上升沿和下降沿同時進行數(shù)據(jù)的采集與發(fā)送,這大大提高了數(shù)據(jù)的傳輸速度,在相同的時鐘下,DDR3 SDRAM要比傳統(tǒng)的SDRAM提升一倍的數(shù)據(jù)讀寫速度。本系統(tǒng)采用的DDR3 SDRAM芯片型號為NT5CB128M16CP-DI,它具有16 bit的數(shù)據(jù)位寬,bank位寬為3,行位寬為14,列位寬為10,地址大小為128 M,容量大小為256 Mbyte,擁有高速的帶寬和較大的存儲容量。為了降低開發(fā)難度,提高用戶體驗,Xilinx提供了間接調(diào)用DDR3外設的方案,通過調(diào)用MIG IP核實現(xiàn)對DDR的讀寫控制[14-16]。對DDR3讀寫操作的設計流程如下:系統(tǒng)的時鐘模塊,負責產(chǎn)生外部模塊、DDR控制模塊以及MIG IP核所需的時鐘信號。DDR 控制模塊負責驅(qū)動 MIG模塊實現(xiàn)數(shù)據(jù)讀寫操作,寫入或讀出DDR3緩存的圖像數(shù)據(jù),實現(xiàn)與 MIG IP 核的數(shù)據(jù)交互。MIG 模塊負責連接外設和FPGA,數(shù)據(jù)緩存控制流程圖如圖3所示。

圖3 數(shù)據(jù)緩存模塊流程圖

通過配置MIG IP核的26個用戶端口,來實現(xiàn)DDR3的讀寫命令操作,其中主要關(guān)注讀寫操作命令。對于寫命令操作,通過檢查寫命令準備信號是否為高,如果信號為高,則表明IP核已經(jīng)準備好命令的接收,此時拉高時鐘信號,發(fā)送寫命令和要寫的地址即可正常寫入數(shù)據(jù)。對于讀命令操作,用戶只需發(fā)出讀命令,等待數(shù)據(jù)的有效信號拉高,表示總線上的返回的數(shù)據(jù)是有效的,即可正常讀取數(shù)據(jù)。由流程圖可知,數(shù)據(jù)的緩存主要包含3個模塊,分別是FIFO讀寫控制、MIG IP核配置模塊、時鐘模塊。時鐘模塊為MIG IP核產(chǎn)生兩個時鐘信號,分別是系統(tǒng)時鐘與參考時鐘,F(xiàn)IFO讀寫控制模塊主要產(chǎn)生讀寫MIG IP核所需要的時序信號,從而實現(xiàn)兩者之間數(shù)據(jù)的交互,最為重要的是對于MIG IP核的配置,一方面MIG IP核負責與FPGA進行數(shù)據(jù)交互,另一方面還負責產(chǎn)生正確的讀寫時序,實現(xiàn)對DDR3芯片的讀寫操作。

2 以太網(wǎng)傳輸模塊設計

常見的以太網(wǎng)通信協(xié)議包括TCP協(xié)議、UDP協(xié)議,TCP協(xié)議是一種可靠的通信協(xié)議,在傳輸過程中能夠保證數(shù)據(jù)的完整性和有序性,通過連接發(fā)送數(shù)據(jù),屬于流傳輸協(xié)議,當然TCP傳輸所占用的資源較多,傳輸速度較慢,適合文件傳輸?shù)葘ξ募暾砸筝^高的場合。而UDP屬于不可靠的傳輸協(xié)議,傳輸過程不需要連接,屬于數(shù)據(jù)報協(xié)議,UDP傳輸數(shù)據(jù)占用資源較少,傳輸速度要比TCP快,適合傳輸音頻、視頻等對實時性要求較高的場合。

圖像傳輸模塊采用以太網(wǎng)傳輸協(xié)議UDP來實現(xiàn)視頻傳輸。UDP協(xié)議不同于TCP協(xié)議,在數(shù)據(jù)傳輸過程中無需建立安全的數(shù)據(jù)通路,減少了資源的消耗,傳輸效率更高[17]。在數(shù)據(jù)傳輸過程中,發(fā)送端只負責發(fā)送信息,不考慮接收端能否接收到數(shù)據(jù)。同樣接收端只負責接收,不考慮數(shù)據(jù)是否發(fā)送成功。UDP協(xié)議屬于一種特殊的IP協(xié)議,通過以太網(wǎng)發(fā)送和接收用戶數(shù)據(jù),需要對數(shù)據(jù)進行逐層封裝處理[18-20]。用戶數(shù)據(jù)加上UDP首部封裝為IP協(xié)議數(shù)據(jù)段,UDP 協(xié)議層加上IP首部封裝為IP協(xié)議層,IP協(xié)議加上前導碼、SFD、以太網(wǎng)幀頭封裝到MAC層,UDP傳輸數(shù)據(jù)格式如圖4所示。

圖4 UDP傳輸數(shù)據(jù)格式

以太網(wǎng)傳輸模塊主要由開始傳輸控制模塊、圖像封裝模塊、UDP頂層模塊組成。開始傳輸控制模塊用來解析以太網(wǎng)接收到的數(shù)據(jù),當接收到上位機發(fā)送的數(shù)據(jù)為1時,將開始傳輸信號設定為真,否則將開始傳輸信號設定為假。圖像數(shù)據(jù)封裝模塊將幀頭信息、圖像分辨率、圖像數(shù)據(jù)封裝起來,緩存待發(fā)送的圖像數(shù)據(jù),輸出圖像數(shù)據(jù)發(fā)送的字節(jié)數(shù)和發(fā)送信號。

UDP 頂層模塊包含3個模塊,首先接收模塊解析接受到的數(shù)據(jù)判斷目的MAC地址、IP地址與源MAC地址、IP地址是否一致。然后發(fā)送數(shù)據(jù)模塊對數(shù)據(jù)進行封裝,并通過CRC校驗模塊完成對封裝數(shù)據(jù)的校驗,確保數(shù)據(jù)的完整,最后等待開始發(fā)送信號的到來,完成數(shù)據(jù)的傳輸。

接收模塊采用狀態(tài)機跳轉(zhuǎn)的形式進行數(shù)據(jù)接收,通過判斷使能信號是否有效來接收前導碼和以太網(wǎng)幀頭,如果接收數(shù)據(jù)無誤則繼續(xù)接收IP首部、UDP首部以及UDP數(shù)據(jù),否則視為數(shù)據(jù)接收錯誤,結(jié)束數(shù)據(jù)接收。所有數(shù)據(jù)接收無誤,完成數(shù)據(jù)接收。同樣UDP 發(fā)送模塊也借助狀態(tài)機來完成數(shù)據(jù)的接收,發(fā)送模塊通過判定使能信號是否有效來進行狀態(tài)跳轉(zhuǎn),首先對IP首部進行校驗,校驗無誤后,依次發(fā)送前導碼和SFD,發(fā)送完成后再依次以太網(wǎng)幀頭、IP 首部和UDP 首部,最后發(fā)送UDP 數(shù)據(jù)以及對發(fā)送數(shù)據(jù)進行CRC 校驗。數(shù)據(jù)校驗成功后,完成以太網(wǎng)數(shù)據(jù)的發(fā)送。

3 實驗結(jié)果

3.1 系統(tǒng)功能驗證

本次實驗以Vivado 2018.3為開發(fā)環(huán)境,以Verilog HDL為開發(fā)語言在Xilinx公司的A7系列FPGA開發(fā)板上實現(xiàn)。將OV5640攝像頭連接到開發(fā)板上,通過網(wǎng)線將電腦和開發(fā)板相連,設置主機IP地址以及從機IP地址,上位機選定傳輸協(xié)議為UDP,并且設定好主機從機的端口號,搭建好測試環(huán)境。上位機打開即可傳輸視頻圖像,當視頻圖像中未出現(xiàn)運動目標時,上位機顯示此時的實時畫面,當視頻圖像中出現(xiàn)運動目標時,F(xiàn)PGA將實時檢測并用紅色的矩形框標記運動目標,將帶有標記信息的視頻圖像傳輸?shù)缴衔粰C顯示,通過上位機即可實現(xiàn)遠程監(jiān)視的目的。本次實驗通過不斷晃動兩支筆來模擬多個運動物體,F(xiàn)PGA實現(xiàn)對兩支筆的檢測并用矩形框進行標記,上位機實時顯示檢測結(jié)果,如圖5~6所示。

圖5 測試結(jié)果圖

圖6 以太網(wǎng)傳輸速度

通過實驗完成對系統(tǒng)設計的檢驗,實現(xiàn)了遠程監(jiān)視運動目標的目的,本系統(tǒng)可實現(xiàn)最多16個目標的檢測,也可通過手動更改檢測數(shù)量,設置的檢測目標越多所消耗的邏輯資源越多,系統(tǒng)的功耗越大。實驗結(jié)果顯示UDP傳輸速度達到了133 Mbit/s,上位機視頻圖像輸出幀率為26 fps,大于人眼的可視幀率24 fps,圖像分辨率為640*480,滿足視頻傳輸實時性的要求,可進一步運用到智能安防系統(tǒng)中。

3.2 系統(tǒng)性能分析

1)系統(tǒng)功耗:

由Vivado軟件檢測系統(tǒng)功耗如圖7~8所示,總功耗為0.918 W,其中動態(tài)功耗為0.843 W,靜態(tài)功耗為0.075 W,滿足系統(tǒng)設計低功耗的要求。

圖7 系統(tǒng)總功耗

2)系統(tǒng)資源利用率:

系統(tǒng)總的資源利用率如圖9所示,由圖可知,資源消耗均未超過45%,可以根據(jù)實際需求合理添加運動目標檢測數(shù)量,數(shù)量越多資源消耗越大,功耗越大,為后續(xù)系統(tǒng)升級預留出大量資源。

圖9 系統(tǒng)資源利用率

3)數(shù)據(jù)包抓取:

為進一步驗證系統(tǒng)傳輸數(shù)據(jù)的穩(wěn)定性和可靠性,通過Wireshark軟件抓取圖像數(shù)據(jù),由圖10,11可知,圖像數(shù)據(jù)源IP 地址為 192.168.1.10,與開發(fā)板設定IP地址相同,目的 IP 地址為 192.168.1.102,與以太網(wǎng)設定IP地址相同,源端口號為1 234,與目的端口號相同,實現(xiàn)了1 322字節(jié)數(shù)據(jù)在線發(fā)送與接收,除去前導碼、校驗碼等實際傳輸為1 280字節(jié)數(shù)據(jù),實驗驗證了數(shù)據(jù)傳輸?shù)耐暾浴?/p>

圖10 Wireshark抓取到的圖像數(shù)據(jù)

圖11 某一幀圖像詳細的數(shù)據(jù)

4 結(jié)束語

本文分別從圖像的采集、預處理、存儲、運動目標的檢測、以太網(wǎng)視頻傳輸?shù)确矫娼榻B了基于FPGA的運動目標遠程監(jiān)視系統(tǒng)的設計方法,并通過實驗驗證和分析了系統(tǒng)的功能與性能的可靠性。實現(xiàn)了對多個運動目標的遠距離監(jiān)視和預警,上位機視頻圖像幀率為26 fps,以太網(wǎng)UDP的傳輸速度達到了133 Mbit/s,能夠滿足視頻傳輸實時性的要求,為運動目標的遠程監(jiān)視提供了一種有效的解決方案。

猜你喜歡
檢測
QC 檢測
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
“幾何圖形”檢測題
“角”檢測題
“有理數(shù)的乘除法”檢測題
“有理數(shù)”檢測題
“角”檢測題
“幾何圖形”檢測題
主站蜘蛛池模板: 99精品免费欧美成人小视频| 国产探花在线视频| 九色国产在线| 免费Aⅴ片在线观看蜜芽Tⅴ| 国产XXXX做受性欧美88| 亚洲午夜国产精品无卡| 国产不卡国语在线| 久爱午夜精品免费视频| a级毛片免费在线观看| 国产福利观看| 午夜毛片免费观看视频 | 另类欧美日韩| 国产18在线| 国产本道久久一区二区三区| 欲色天天综合网| 另类重口100页在线播放| 日韩国产综合精选| 老汉色老汉首页a亚洲| 国产欧美综合在线观看第七页| 国产成人久久777777| 日本a级免费| 午夜欧美理论2019理论| 亚洲无码精彩视频在线观看| 香蕉国产精品视频| 亚洲IV视频免费在线光看| 中文字幕在线观看日本| 天天综合天天综合| 99热这里只有免费国产精品 | 亚洲国产午夜精华无码福利| 东京热高清无码精品| 久久久久亚洲Av片无码观看| 色婷婷亚洲综合五月| 久久亚洲综合伊人| 亚洲欧美h| 五月天丁香婷婷综合久久| 精品少妇三级亚洲| 日韩毛片在线播放| 色综合天天娱乐综合网| 亚洲永久色| 一本二本三本不卡无码| 四虎永久在线精品影院| 免费无码又爽又黄又刺激网站| 天天干伊人| 亚洲中文字幕在线精品一区| 国产综合在线观看视频| 国产成人精品免费视频大全五级 | 精品国产91爱| 欧美日韩国产精品综合| 亚洲网综合| 美女啪啪无遮挡| 中字无码av在线电影| 午夜不卡视频| 岛国精品一区免费视频在线观看| 国产成人亚洲日韩欧美电影| 精品无码国产一区二区三区AV| 日韩国产综合精选| 免费观看国产小粉嫩喷水| 亚洲色图狠狠干| 欧美激情视频一区二区三区免费| 又污又黄又无遮挡网站| 99re在线视频观看| 国产不卡一级毛片视频| 国内精品免费| 精品无码一区二区三区电影| 毛片最新网址| 欧美日韩第二页| 手机成人午夜在线视频| 国产99免费视频| 日韩成人在线网站| 欧美成人手机在线观看网址| 六月婷婷激情综合| 国产精品3p视频| 99在线免费播放| 国产无码精品在线| 国产大片黄在线观看| 自拍偷拍欧美| 看av免费毛片手机播放| 操操操综合网| 国产亚洲欧美在线中文bt天堂| 欧美一区二区丝袜高跟鞋| 麻豆国产在线观看一区二区| 亚洲综合第一页|