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

高速動態圖像目標識別算法的設計與實現

2022-03-30 14:03:02張太然朱建國宋玉貴
計算機測量與控制 2022年2期
關鍵詞:背景檢測

張太然,朱建國,宋玉貴,王 永

(1.西安工業大學 光電工程學院,西安 710021;2.中國人民解放軍63850部隊,吉林 白城 137000)

0 引言

在彈箭研制、生產與訓練過程中,通常需要對彈箭的飛行參數如位置、姿態等進行跟蹤測試。隨著現代高超音速彈箭技術的飛速發展,使得相關的測試手段也愈發面臨挑戰。高速攝影技術[1]是目前用于跟蹤測量高速彈箭的常用手段,為了捕獲更高速的目標,高速攝影的速度也不斷提高,相應的圖像數據采集速度也需要急劇提升,而且需要配備額外的精確觸發設備以減少無效圖像數據帶來的存儲、傳輸等成本開銷。這樣就會使測試系統變得龐大,可移動性變差,如果圖像采集系統能夠配備實時完善的動態圖像識別功能將會大大簡化此類高速圖像測試測量系統的架構,提高系統的易部署性能。

運動目標檢測技術是利用計算機視覺技術去除視頻中時間和空間中的冗余信息以提取空間位置變化的過程,是計算機視覺領域的重要分支[2],也是目標跟蹤、運動圖像編碼、安全監控等視頻分析及處理應用的關鍵步驟[3]。

目前主流的移動目標檢測算法主要分為3類[4]:背景差分法[5-7]、光流法[8-9]和幀間差分法[10-12]。文獻[13]對常見的視頻序列中的運動目標檢測方法進行研究和分析, 并對這些方法的優越性和不足進行了比較,背景差分法檢測效果較好,可以滿足實時處理的要求,但是最終檢測的好壞取決于背景圖像的構造,如果構造不好再則不能及時地適應環境的變化[14];光流法可以有效地識別出運動目標但是需要專業的硬件支持,而且對FPGA內部資源要求很高; 幀間差分算法是最常用的目標圖像檢測算法,但是由于是利用相鄰兩幀的圖像進行處理容易發生“空洞”以及針對速度快的目標容易出現 “雙影”現象[15]。

本文在傳統背景差分算法的基礎上進行優化,利用FPGA特殊的結構,通過乒乓操作實現背景的實時更新,再通過流水線操作完成背景差處理,檢測到動態目標,相對傳統算法,新算法對FPGA操作平臺更加容易實現同時對環境的適應性更強,并且在對圖像進行二值化處理后再進行低通濾波處理,可以有效地降低噪聲污染,對動態圖像的捕獲率可以達到99%。

1 背景差分算法原理

背景差分算法主要需要通過以下操作完成:背景建模、前景檢測以及模型更新。該算法的基本思想將此刻獲取的每一幀圖像與事先存儲的背景圖像進行做差處理,對差值圖像數據進行二值化處理,超出閾值的動態區域則是目標圖像。該算法設計簡單,通過做差可以直接得出運動目標的位置、形狀以及大小等信息,能夠獲取完整的價目標區域。背景差分圖像算法中背景圖像反映的是當前的圖像背景,包括當前背景中靜止的以及運動的背景圖像信息,當前幀包含了感興趣的運動目標信息和環境背景信息[16]。通過對當前圖像與背景圖像做差,即做差所得到的信息就是當前感興趣的運動目標。該算法的原理如圖1所示。

圖1 傳統背景差分法原理圖

傳統的背景差分算法,在最初的時候,捕獲一張圖片進行數據分析,然后將這張圖片作為背景圖像存儲到存儲器,將采集到的實時圖像作為當前圖像,然后將二者進行做差處理,直到獲取到目標圖像前,背景都是不變的,但實際上,不同時刻環境變化很大,所以外部干擾很大,因此傳統的背景差分算法不能應對復雜環境下的背景變化,只適合單一背景。

改進的背景差分算法相針對背景建模進行了優化,該算法是通過將每次采集到的圖像都先進行緩存,然后將下一幀采集到的圖像與上一刻采集到的圖像進行做差,做差得到的就是目標圖像。由于本系統兩幀圖像之間時間間隔只有7.4 μs,所以可以相當于上一幀的圖像就是當前幀的圖像背景,這樣就可以保證背景是實時變化的。做差處理后,再進行二值化處理,并且對二值化化后的數據進行了低通濾波處理,即判斷是否有相鄰的幾個像素點均為1,這樣可以有效排除一些微小信號,降低外部蚊蟲以及一些微小信號的干擾,從而達到高效的捕獲率。改進的算法原理如圖2所示。

圖2 改進的背景差分原理圖

1)選取第一行圖像F0作為初始背景圖像B0;

2)求當前圖像Pt與背景圖像Bt的差分圖像;

Dt=Pt-Bt

(1)

3)對差分后的圖像用閾值T進行二值化處理:

(2)

4)對二值化后的數據進行低通濾波處理:

(3)

5)當對兩行圖像數據做過差分處理后,就將第k行數據作為背景圖像,第k+1行數據寫入新的圖像數據,作為當前圖像,對其做差即可得到目標圖像;下一次將第k+1行圖像作為背景,寫入第k行的圖像作為當前圖像,做差即可,依次反復做差即可得到完整的動態目標。

2 FPGA設計實現

2.1 總體設計方案

該系統采用自頂向下模塊化的設計思想將系統分為圖像數據接收模塊、目標提取模塊、DDR3讀寫控制模塊和USB傳輸模塊4個模塊,系統框圖如圖3所示。

圖3 系統框圖

2.2 圖像數據接收模塊

Camera Link是一種基于視頻應用發展而來的接口技術,是美國國家半導體實驗室于2000年推出的一種通信協議,主要是針對視頻輸出與采集卡之間數據傳輸速度不匹配的問題[17]。CameraLink通信協議是基于Channel Link技術發展的,Channel Link標準規定了圖像數據在傳輸過程中采用LVDS信號進行數據傳輸,4對LVDS信號在驅動器端并行傳輸,每路LVDS信號按照7∶1的比例串行序列化,每路LVDS信號在一個時鐘周期內傳輸7 bit數據,4路LVDS總共28 bit數據,24位有效數據,4位信號位。然后還有1路LVDS信號傳輸時鐘信號。

Camera Link標準定義了從A到H共8個端口,它們都是邏輯8位的字,低位用bit0,高位用bit7表示。Camera Link接口共有3種配置,分別為初級(Base)、中級(Medium)和高級( Full),在Full模式下的傳輸速率最高可以達到5.44 Gbps。在 Base配置模式下,只需一塊 Channel Link接口芯片;而在 Medium配置模式下,則需要兩塊Channel Link接口芯片;在 Full配置模式下就需要3塊Channel Link接口芯片[18]。3者需要的連接器、解碼芯片以及端口分配情況如表1所示。

表1 端口分配以及連接器數量

本系統采用的是外部芯片實現對Camera Link協議傳輸的數據進行編碼、解碼。數據輸入端通過芯片DS90CR287實現將28 bit并行數據轉為4對LVDS信號進行傳輸,數據接收端通過外部芯片DS90CR288芯片將4對LVDS信號按照Camera Link協議轉為28 bit并行數據傳輸給FPGA的IO部分。

圖4為相機Base模式下輸出的時序圖,Clk是像素的同步時鐘,Fval為幀有效信號,Lval為行有效信號,Data為數據信號,只有當行有效信號為高電平時,此時在像素時鐘上升沿采集到的數據才為有效數據[19]。Medium模式可以理解為等同兩個Base模式在同時進行傳輸數據,一個通過A~C端口傳輸,另一個則通過D~F端口進行傳輸數據;Full模式則可以理解為同時3個Base模式在進行數據傳輸,但是第3個Base模式不是傳輸24位數據而是傳輸16位數據,前兩個與Medium相同,第3個則傳輸G~H兩個端口數據。

圖4 輸出時序圖

由于本設計采用的線陣相機,行頻為140 kHz,一幀圖像有4 096個像素點,每個像素點8位,因此由公式(4)算出每秒采集的數據量為546.875 MB,由于本設計采用的時鐘是80 MHz時鐘,因此base或者medium模式均不能滿足數據的實時傳輸,因此本設計采用Camera Link Full模式進行數據采集。

140000×4096×8÷8÷1024÷1024=546.875 MB

(4)

為了接收高速線陣相機傳輸過來的數據,考慮到FPGA特殊的結構,該模塊采用并行設計,利用3個fifo同時接收相機傳輸來的8組數據,將A-C寫入一個fifo,D-F寫入第二個fifo,G-H寫入第三個fifo,只有當三個fifo均寫滿數據后,表示此時成功接收到圖像數據。圖像接收模塊的仿真如圖5所示,圖中fval_r3表示幀有效,fifo_wr_en為高電平表示此時數據有效,準備寫入fifo1;同理fifo_wr_en_1為高電平表示此時可以把數據寫入fifo2,fifo_wr_en_2為高表示此時可以把數據寫入fifo3。當檢測到3個fifo里均有數據時,且寫滿時,再開始進入下一個模塊處理。

圖5 圖像接收模塊的仿真圖

2.3 動態目標圖像識別系統設計

為了滿足動態目標圖像的識別以及將檢測到的有效的目標圖像信息傳輸到上位機,在FPGA設計中采用并行流水線模塊設計,并行設計如圖6所示。將該系統分為兩個子模塊進行設計:動態目標識別模塊以及DDR3數據緩存模塊,由于FPGA并行操作的特點,兩個模塊同時進行操作。在動態目標識別算法中,通過流水線設計完成對圖像的動態識別,由于通過調用fifo以及ram等FPGA內部資源,由于fifo以及ram的特性會造成幾個時鐘延時,因此相對原始數據采集輸入的時刻有5個時鐘周期的延時,一個時鐘周期只有10 ns,所以延時50 ns,可以忽略不計,從而保證動態目標圖像識別的實時性。在DDR3緩存模塊中,考慮到存在連續運動的高速目標會被檢測到,因此將DDR3分為32個區域,用來放置不同的動態目標,然后通過對DDR3的讀寫將連續運動的目標圖像上傳到上位機。

用動態目標識別模塊輸出的Flag信號來控制每一頁的讀寫,可以保證每一個目標在每一頁被采集。

上述兩個模塊同時進行處理,當動態識別模塊未檢測出目標圖像時,DDR3的數據只會在當前頁進行重復寫,當檢測到目標圖像后,此時對DDR3下一頁進行讀寫,當再次檢測到目標圖像的時i,繼續寫入下一頁。由于并行處理,大大提高了算法執行的速度,同時通過DDR3的分頁控制可以有高效的識別出連續檢測。

圖6 并行設計框圖

2.3.1 動態目標識別

動態目標識別算法主要是在背景差分算法的基礎上優化的,動態目標算法如圖7所示。首先將第k行、第k+1行圖像數據分別寫入到FPGA內部的兩個簡單雙口RAM中,然后在寫下一行圖像開始傳輸到第k行數據存儲的RAM時,此時將兩個RAM中數據同時讀出來,對讀出的數據進行絕對值做差處理,接著對做差之后的圖像數據進行二值化處理,通過二值處理就可以識別出動態目標圖像,但是考慮到在室外會存在蚊蟲等外部環境干擾,因此在二值化處理以后,還增加了一個低通濾波處理,即當檢測到有連續的幾個大于閾值的像素點時,才表明此時采集到的圖像數據為目標圖像數據。由于采集的動態目標圖像只有幾厘米,最大的也就幾十厘米,因此一幅圖像所占有的像素行數非常少,通過對目標圖像進行500行圖像數據的延時,保證采集到的圖像顯示在外接屏幕中間,當延時結束輸出一個標志位輸出到DDR3模塊,當DDR3接收到該信號時,開始對原始圖像數據進行傳輸。

圖7 動態目標算法框圖

圖8展示的是動態目標算法仿真圖,該圖通過modelsim10.7軟件仿真得出的圖,閾值(thresholdvalue)給的是14,閾值可以通過上位機經過USB發送到FPGA端進行閾值更改。當進行閾值處理后,通過判斷連續為1的值是否滿足設定的要求,設定的連續個數為6,通過判斷flag_trigNum信號,此時為FFFF,滿足低通濾波要求,此時表示檢測到目標信號,輸出flag_trig_r信號給DDR3模塊,表示此時可以將數據寫入到DDR3模塊,圖中的減數(jianshu)表示當前圖像數據,被減數(beijianshu)表示的是背景圖像。

圖8 動態目標算法仿真圖

2.3.2 DDR3控制模塊

DDR3(double date rate SDRAM)的中文名稱為雙倍速率同步動態隨機存儲器,雙倍速率是指在工作時鐘的上下沿都會對數據進行采樣[20]。通過上下沿采用的訪問方式可以讓該存儲器相對普通存儲器來說,采樣頻率會提高一倍,這種采樣方式造成存儲速率也得到提升。DDR3由8個bank組成,每個bank都是按照行、列形式排列,并且每個bank都對應一個片選信號(CS)。DDR3通過對bank地址以及行列地址的訪問來進行數據讀寫。并且為了保證所偶數據不丟失,DDR3需要進行定時刷新。

DDR3控制模塊是通過外掛兩片DDR3實現的,主要實現對圖像數據的實時緩存。利用XILINX提供的MIG IP核完成對DDR3的控制,首先DDR3進入空閑狀態,當檢測到寫狀態請求時,此時進入到寫狀態,當寫地址計數等于寫突發地址計數的時候,此時進入到狀態結束狀態,如果不等于寫突發地址計數的時候則繼續進入寫狀態;同樣,對于讀數據,當檢測到都狀態請求時,此時開始對DDR3的數據進行讀取,當讀地址滿足讀突發地址計數時,此時進入狀態結束狀態,反之繼續對數據進行讀取,DDR3的讀寫控制如圖9所示。

圖9 DDR3讀寫控制圖

通過對DDR3地址進行控制,實現將一片128 M的DDR3劃分為32個區域,同時第二片DDR3也進行同樣的處理,就得到32個圖像緩存區域,這樣是為了實現可以對高速動態圖像進行連續采集,采集原理就是:首先將采集到的圖像數據存儲在第一個存儲空間,當動態目標識別模塊檢測到動態目標之后,就會給DDR3一個信號,此時DDR3會將圖像采集模塊輸入的數據寫入到第二個存儲空間,同時將前一個存儲空間的數據讀出,并且往復循環讀寫,最終可以實現對高速連續的動態目標進行實時識別。

寫數據仲裁模塊,寫數據兩片DDR3是獨立實現的,但是是同步的,當數據流進入仲裁模塊后,此時檢測是否有寫命令以及寫地址,如果二者都有,此時將數據寫入到DDR3存儲空間,當沒有檢測到目標檢測模塊給出的有效信號時,DDR3一直在同一個區域進行寫數據,當寫到空間最后一個地址時,覆蓋最初的地址數據,繼續寫入數據。當檢測到目標模塊的有效信號時,此時開始將當前區域數據讀出,執行讀仲裁模塊,同時,對接下來傳輸的數據寫入到下一個區域。

2.4 USB傳輸模塊

千兆網、PCIE、光纖、SATA等傳輸方式是目前主流的傳輸方式,但是這些傳輸方式要么邏輯代碼復雜,占用資源多,要么布線復雜,會導致開發難度增大[21]。但是USB傳輸不同,隨著USB芯片內部架構的發展,在芯片內部集成緩存以及DMA等傳輸接口,USB3.0的傳輸速率最高可以達到5 Gbit/s,可以滿足該系統實時傳輸的要求,并且USB支持熱插拔,使用方便,而且與計算機兼容性更好。

USB3.0采用FT601芯片作為該模塊的接口芯片,該芯片的測試速率可以達到350 MB/s,并且改芯片采用QFN封裝,后期方便調試。該芯片內部自帶100 MHz的外部晶振,該時鐘在位自己提供工作時鐘的同時也可以為外部提供100 MHz時鐘[20]。該芯片主要是通過控制內部fifo的空滿標志位來實現對數據寫入以及讀出,實現對數據的實時傳輸。

對于USB傳輸模塊,主要是通過狀態機實現的,狀態機轉換如圖10所示,Ref_n為可讀標志位,低電平有效,Txe_n為可寫標志位,也是低電平有效,當檢測到Rxe_f為低電平以及fifo為空時,此時開始從DDR3讀出數據;當檢測到Txe_n為低電平且fifo為非空狀態,此時把fifo的數據讀出,傳給上位機。

圖10 USB傳輸模塊狀態機轉換示意圖

3 測試實驗及其結果分析

3.1 系統的邏輯代碼設計

驗證本設計代碼的可行性,系統采用的硬件平臺是Xilinx公司的xc7a200tfbv676-2芯片,整個系統通過Vivado2018.2進行代碼編寫,圖像采集模塊用的是Basler4096-140 KM的高速線陣相機,獲取黑白圖像,通過Camera Link接口協議將采集到的圖像信息傳輸給FPGA,通過FPGA完成對采集到的圖像數據進行分析,識別出動態目標圖像,并且利用流水線操作將采集到的圖像數據通過FPGA寫入到兩片DDR3 SDRAM,最終將目標圖像數據通過USB3.0傳輸到上位機。圖11是整個系統的RTL圖,圖11中的1、2、3、4、5、6分別在下面做出解釋。圖12為整個系統消耗的資源以及該芯片所擁有的資源,LUT消耗15.15%,FF消耗8.8%,BRAM消耗53.84%,由此可知該芯片完全滿足設計。

圖11 系統整體RTL圖

圖12 系統資源消耗圖

序列號1代表的是時鐘分頻模塊,將外部晶振產生的80 MHz系統時鐘,通過FPGA內部的PLL IP核對其進行分頻、倍頻,輸出分別為100 MHz、160 MHz以及200 MHz的時鐘。100 MHz作為外部DDR3的輸入時鐘,160 MHz作為目標識別算法模塊所需要的時鐘,200 MHz作為USB控制模塊的時鐘,通過PLL分頻得時鐘依舊是同源時鐘,進行時序分析的時候容易進行處理。

序列號2代表的圖像采集模塊,將高速線陣相機傳輸過來的數據進行采集然后利用外部芯片對采集到的數據按照Camera Link協議對數據進行解析,然后輸出對應Camera Link Full模式下的數據格式,Camera Link Full 模式下的數據輸出有8個端口,data_dout代表的是A、B、C三個端口數據,data_dout_1代表的是D、E、F三個端口的數據,data_dout_2則代表的是G、H端口的數據,然后將該模塊輸出的數據輸出到下一個模塊,作為下一個模塊的輸入。

序列號3代表的模塊是動態目標識別算法模塊,該模塊通過將圖像采集模塊輸出的A、B、C、D、E、F、G、H端口輸出的數據進行目標識別算法處理,當檢測到目標圖像后輸出error信號,并且將有效數據拼接成128位輸出到DDR模塊。

序列號6代表的是DDR3控制模塊,該模塊通過利用DDR3的地址實現對DDR3存儲器的分頁處理,對DDR3的區域進行循環讀寫。當檢測到External_trig信號為高電平時此時表示動態目標算法模塊檢測到目標圖像,此時開始將有效數據寫入DDR3。

序列4代表的模塊是緩存模塊,將DDR3的有效數據讀出,然后拆分成64位數據通過fifo實現數據緩存,當USB模塊給出命令時,將緩存數據寫入到USB模塊。

序列5表示的是USB控制模塊,該模塊通過USB芯片端反饋的信號,對DDR3芯片內部的數據進行讀出,將有效數據傳輸給上位機,同時接收上位機發出的指令,對整體系統進行啟動與停止。

3.2 實驗驗證

本次實驗設備主要有5部分組成,分別是圖像采集系統完成對圖像的采集與傳輸,圖像處理系統完成對有效目標圖像后期的處理,光纖和數據同步系統是由于有兩個同樣的采集系統在對數據進行采集是為了保持數據同步,外接一個顯示屏主要是對采集到的圖像進行顯示。

最終采集到的目標圖像在顯示屏中顯示,采集到的有效圖像數據如圖13(a)、(b)所示,最終實驗表明可以有效的識別動態圖像,由于使用是背景差分算法,所以只有檢測到的目標圖像是黑點,其余均是白色背景,即圖片中被黑色圓圈圈中的黑點即是檢測到的目標圖像。

圖13 檢測到的目標圖像

4 結束語

本實驗針對高速運動物體的實時目標檢測,提出了一種針對基于改進背景差分算法的目標檢測算法,并設計了一套基于FPGA的圖像采集系統,通過對6 mm的BB彈進行測試,驗證了該算法可以實時檢測出高速運動的目標圖像,并且通過對DDR3的分頁控制可以實現對連續射擊的槍彈圖像進行緩存,利用USB將采集到的數據實時傳輸到上位機。該設計后續還可以應用到車輛檢測、軍用監控以及半導體材料定位等方面。

猜你喜歡
背景檢測
“新四化”背景下汽車NVH的發展趨勢
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
“幾何圖形”檢測題
“角”檢測題
《論持久戰》的寫作背景
當代陜西(2020年14期)2021-01-08 09:30:42
黑洞背景知識
晚清外語翻譯人才培養的背景
小波變換在PCB缺陷檢測中的應用
主站蜘蛛池模板: 青青青国产视频手机| 国产一级在线观看www色| 亚洲不卡影院| 亚洲精品无码久久毛片波多野吉| 区国产精品搜索视频| 全部免费特黄特色大片视频| 欧美成人国产| 日韩视频免费| 国产精品偷伦在线观看| 91精品福利自产拍在线观看| 69免费在线视频| 国产亚洲视频中文字幕视频| 秘书高跟黑色丝袜国产91在线| 国产成人盗摄精品| 国产SUV精品一区二区6| аⅴ资源中文在线天堂| 亚洲国产精品日韩欧美一区| 欧美国产综合色视频| 19国产精品麻豆免费观看| 91口爆吞精国产对白第三集| 国产男人天堂| 久久综合九色综合97婷婷| 国产激情无码一区二区免费| 四虎成人免费毛片| 日本一区二区三区精品国产| 国内精自线i品一区202| 亚洲Va中文字幕久久一区| 色哟哟精品无码网站在线播放视频| 国产精品自在线拍国产电影| 国产精品无码AⅤ在线观看播放| 国产精品视屏| 97免费在线观看视频| 在线观看视频99| 综合色区亚洲熟妇在线| 日本在线亚洲| 亚洲日本中文字幕天堂网| 国产免费久久精品99re不卡| 亚洲成a人片77777在线播放| 永久免费无码日韩视频| 国产va视频| 试看120秒男女啪啪免费| 香蕉国产精品视频| 婷婷激情亚洲| 亚洲欧洲日产无码AV| 三区在线视频| 精品国产成人高清在线| 国产精品欧美日本韩免费一区二区三区不卡| 国产午夜精品一区二区三区软件| 国产三区二区| 中文字幕天无码久久精品视频免费| 四虎国产精品永久一区| 激情成人综合网| 国产不卡网| 欧美日韩国产一级| 欧美中文字幕在线视频| 久久久久人妻一区精品| 欧美精品啪啪一区二区三区| 亚洲av片在线免费观看| 国产成人精品一区二区| 青青草综合网| 久久精品丝袜| 国产高清在线精品一区二区三区 | 日本高清在线看免费观看| 成年免费在线观看| 女人18毛片一级毛片在线 | 欧美精品伊人久久| 伊人丁香五月天久久综合| 直接黄91麻豆网站| 国产欧美性爱网| 成人午夜视频网站| 久久久久人妻一区精品| 午夜国产大片免费观看| 99偷拍视频精品一区二区| 全部免费特黄特色大片视频| 国产在线97| 91伊人国产| 国产成人精品一区二区三区| 国产成人高清精品免费5388| 在线观看91精品国产剧情免费| 国国产a国产片免费麻豆| 国产在线视频二区| 国国产a国产片免费麻豆|