林 青,黃玉蕾,焦 純
(西安培華學院 中興電信學院,西安 710125)
基于FPGA的實時圖像采集與分析系統(tǒng)設計
林 青,黃玉蕾,焦 純
(西安培華學院 中興電信學院,西安 710125)
當今社會通信技術的發(fā)展促進了視頻技術的運用,而視頻圖像分析技術在安防、娛樂、交通等領域受到了廣泛的關注并遇到一些挑戰(zhàn);而近些年FPGA的穩(wěn)定可靠、研發(fā)周期短等特性和該技術的成熟運用為圖像的采集分析提供了一個新的方向;因此文章研究分析將FPGA運用到實時圖像采集分析系統(tǒng)的技術;分析方法從介紹軟硬件基礎入手,硬件分析中主要講解了各個功能模塊的硬件選則和工作原理,軟件部分分析了圖像處理的算法并通過仿真檢驗算法;最后利用視頻庫資源的實驗表明,系統(tǒng)可以完成對圖像信息的讀取、存儲、算法檢測、顯示等功能,盡管存在一定的不足;從而得出結論:基于FPGA芯片技術為核心的系統(tǒng)可以完成對實時圖像的采集與分析功能,較好地滿足了系統(tǒng)對實時性的要求。
FPGA;實時采集;圖像處理
隨著經濟發(fā)展,社會生活對視頻圖像的需求量增長巨大。通過對圖像的處理,可以快速的發(fā)現(xiàn)目標,并實現(xiàn)對目標的識別判斷、路線跟蹤、位置定位等任務。視頻圖像的分析技術為人類社會的有序發(fā)展提供了安全保障[1-3]。
近年來,依托現(xiàn)場可編門陣列FPGA(Field programmable gate arrays)技術來加大系統(tǒng)運算能力,受到大量研究關注。使用FPGA芯片可以利用其可編寫特點,提高研發(fā)速率從而搶占市場先機。使用FPGA及相關技術有望滿足市場對圖像高速分析處理和速度快的要求[4-6]。
2014年,李華等的基于FPGA的彩色圖像實時采集系統(tǒng)設計[7];2013年,貢鎮(zhèn)的基于FPGA的實時視頻圖像采集與顯示系統(tǒng)的設計與實現(xiàn)[8]。2014年,張智勇等人提出了基于FPGA的紅外圖像處理算法的測試系統(tǒng)[9];這些系統(tǒng)的設計說明FPGA技術越來越成熟并受到廣泛關注和運用。
本文提出,以基于FPGA技術來建設一個實時圖像采集系統(tǒng)是一個實用性強的有效方案。以FPGA為核心,完成圖像采集模塊,完成圖像信息的采集和輸入,圖像存儲模塊,圖像分析算法以及圖像顯示功能。方案通過實驗獲得成功,驗證了基于FPGA技術系統(tǒng)的穩(wěn)定高效性。
整個系統(tǒng)的設計分為兩大部分,硬件和軟件。硬件部分分為對圖像信息采集模塊,對數據的存儲及讀取顯示模塊。根據目的要求,在圖像采集中使用了CMOS數字圖像傳感器MT9M011,該芯片具有性能穩(wěn)定、簡單特點,被廣泛用于圖像采集。圖像顯示使用VGA顯示接口,使用數字存儲器SDRAM作為圖像數據緩沖器。
圖1 實時圖像采集與分析系統(tǒng)框架
如圖1所示,系統(tǒng)以FPGA控制器為核心,輔助以圖像采集、存儲、顯示電路模塊。
系統(tǒng)工作時,當系統(tǒng)上電穩(wěn)定后,F(xiàn)PGA控制中心對圖像采集器發(fā)送信息,使其進入到工作狀態(tài)并按序將圖像輸送到控制器中??刂破鲗斎氲膱D像數據先進行量化,同時將10位數字像素處理成為30位RGB信息。此時數據可以存儲起來也可以經過算法處理用于圖像輸出顯示。30位數字信號用于VGA顯示之前,需要通過數模轉換,將模擬信號供于終端顯示器。
另一方面需要對實時采集到的圖像信息處理進行目標識別判斷。目標識別需要對實時獲取的圖像進行特征提取,然后與目標圖像作對比。由于采集的圖像存在背景和其它干擾信息,需要對多個采集圖像建模,提高對個體比較的準確率。使用合適的圖像處理算法去除背景噪音,快速的提取實時圖像的特征信息。
系統(tǒng)設定對圖像采集大小為320X240,對圖像的接受格式為SXGA;系統(tǒng)設定以27 MHz時鐘頻率進行轉換數據;圖像的存儲位置設定優(yōu)先SRAM-A,顯示模塊中,輸出圖像大小為320X240,,幀數20/s。
2.1 實時圖像采集模塊
本方案中,使用的是CMOS型數字圖像傳感器MT9M011,輸出SXGA格式。芯片內部將模擬電信號轉成10位數字信號輸出。另外該芯片內部包含I2C總線控制,所以操作容易,時序簡單,利于控制器的編程控制。
如圖2所示,圖像采集器與控制器連接接口示意圖。MT9M011雖然有許多的引腳,但是與控制器主要接口是主時鐘、總線控制、場有效信號、行有效信號、像素時鐘、數據輸出為0~9。主時鐘線是FPGA用來給圖像采集芯片提供主時鐘。 使用場有效信號、行有效信號、像素時鐘配合IO來輸出10位數字圖像信息數據流。
圖2 圖像采集器與控制器連接
I2C總線控制是相當重要的,控制器通過總線中的SCLK和SDATA來完成對圖像采集傳感器的設置。因為總線可對MT9M011得內部寄存器設置進行改寫、配置、編程等操作。列如改變調節(jié)曝光時間、分辨率、幀率等。
圖3 I2C總線時序圖
如圖3是總線讀寫時序圖。本系統(tǒng)FPGA作為主機向MT9M011發(fā)送地址,再發(fā)送對采集器內部寄存器地址設置,最后發(fā)送配置數據。當SCK高電平,SDA有高變低時,視為其實信號,觸發(fā)工作機制。當SCK高電平,SDA有低變高時停止工作。在此期間,SDA發(fā)送大量的信息到采集器。
2.2 圖像存儲模塊
為了提高系統(tǒng)容量,需要外接SDRAM存儲器用來輔助。由于外接圖像顯示模塊對圖像幀的需求速率難免和外接圖像采集設備傳輸圖像速率不一致,導致存儲讀取矛盾。為使系統(tǒng)正常工作,存儲器模塊需要采取適當的策略:乒乓策略。
如圖4,為了解決采集與顯示模塊處理速率矛盾,設計存儲模塊使用兩片SRAM構成,兩片RAM在高層控制管理下,輪流執(zhí)行相應的工作,即乒乓操作。
圖4 存儲模塊乒乓操作原理
當管理層將采集的圖像數據寫入SRAM-A時,SRAM-B處于穩(wěn)定狀態(tài),此時高層控制器命令視頻顯示模塊只能夠從B處讀取數據進行顯示;相反的,SRAM-B進行更新時,SRAM-A處于穩(wěn)定狀態(tài),此時高層控制器命令視頻顯示模塊只能夠從A處讀取數據;使用乒乓原理,系統(tǒng)可實現(xiàn)圖像采集和實時顯示的連續(xù)性,解決了潛在的模塊間的不兼容問題。
2.3 圖像顯示模塊
系統(tǒng)從SDRAM里讀出的數據信息,需要經過經D/A轉換,本系統(tǒng)使用ADV7123 轉換器將數字信號轉成模擬信號,由VGA 顯示終端顯示出來。在VGA模式中,VGA時序標準是由HS和VS信號來指定行起始點和幀起始點。
圖5是利用ADC7123完成數模轉換原理圖。IOR、IOG、IOB分別為紅、綠、藍色接口的輸出端。CLK是時鐘信號,SYNC是FPGA提供的同步信號。由圖可以看出,HS和VS直接由FPGA控制器提供給VGA接口。使用HS和VS的組合,可以為地址產生提供依據,因為其具有行列計數器功能。地址產生和RAM控制程序依據VGA時序,例如對行列極速器檢測,將關于數字圖像的數據發(fā)至數模轉換器中,依據VGA的時序。最后將模擬信號送至VGA接口和顯示終端。
圖5 圖像AD轉換及VGA顯示接口
圖6是信息同步時序圖。如圖,當VS高電平時,場信息和行信息有效。同步信號可以在FPGA里面構建。使用800像素脈沖計數器。PCLK在計數器8-103之間輸出低電平,其它為高,那么為行同步信號HS。以HS行為單位計數到4時輸出低電平,計數器清零,作為VS同步信號。
圖6 行場同步時序圖
3.1 基于LBP圖像識別算法
圖像識別技術在生活中應用越來越廣泛,為生活、安全提供了極大方便。使用擴展LBP技術,可以對物體的特征進行紋理提取。
擴展LBP的算子可以由(P,R)表示,P代表和中心像素相鄰像素點的數量,R表示以中心像素點為中心相鄰點到中心的距離。圖7可以很容易看出原理。
圖7 不同參數像素分布示意圖
為了方便對LBP算子描述,使用函數E表示中心像素點和相鄰點的分布:
E=e(gr,g0,g1…gk-1)
(1)
式中,gr代表某個中心像素點的灰度值,gk表示與中心點相鄰的像素點。每個中心點和相鄰點組成半徑和數量可以不同。一個中心點周圍其他點gk的坐標為(xk,yk) 可以如下表示:
(2)
假設每個點是相互獨立的,有:
E=e(gr,g0-gr,g1-gr…gk-1-gr)
(3)
中心像素點的相互獨立雖然會造成部分數據的丟失,但對結果影響不大。
由于主要是為了獲得二值特征,只需要知道差值結果符號,這樣的結果不受曝光強度影響:
E=e(s(g0-gr),s(g1-gr)…s(gk-1-gr))
(4)
式子中,
(5)
計算獲取的二值,s需要權重值,再進行求和運算,可獲得此像素點局部紋理特征值,表達式:
(6)
算法步驟總計以下幾步:
1.將檢測圖像劃分多個分塊;
2. 對于每塊中的一個像素,將相鄰的多個像素的灰度值與其進行比較,若周圍像素值大于中心像素值,則該像素點的位置被標記為1,否則為0,即得到該窗口中心像素點的LBP值;
3.計算每塊的直方圖;
4.統(tǒng)計每塊的直方圖并整合為特征向量。
3.2 算法檢測
為了驗證該算法,本文對兩幅大小不同的圖片使用了LBP算法進行了作處理,進行算法驗證。一般情況下,算法對圖像的處理首先是將圖片分割成塊,然后對每塊圖像矩陣信息進行計算,然后對每塊的統(tǒng)計信息左整合處理,得到原圖的特征數據圖。對圖像的分割顯得尤為重要,分割的數量要根據實際情況確定。數量過多,那么算法對圖形的描述更精細,是LBP算法維度過高;若數量太少,獲取的信息又較為粗糙,失去細節(jié)信息,對原圖的數據估計和掌握姜出現(xiàn)不足。所以,經過多次驗證,對參數P取值8較為合適。
圖8是對花瓣進行LBP算法處理后的獲取的圖片特征信息。左圖是原圖,右圖是仿真獲取的LBP特征圖譜??梢杂^察發(fā)現(xiàn),特征圖是對原圖紋理信息的提取。圖像輪廓較為清晰,算法處理得到較好數據。
圖8 200*200圖像LBP預處理
圖9是對小圖進行LBP算法處理后的獲取的圖片特征信息。雖然右圖仿真獲取的LBP特征圖譜相比圖8顆粒較為粗,但獲取的輪廓信息依然較為清晰,算法處理得到較好數據。
圖9 100*100圖像LBP預處理
4.1 實驗過程
本次實驗視頻數據庫來自UCSD,用于系統(tǒng)圖像采集模塊對圖像的采集。FPGA控制系統(tǒng)可以調用顯示模塊顯示獲取的圖像。在圖像的檢測階段,將截取的圖像使用LBP算法對其進行紋理輪廓的提取獲得LBP圖譜。該方法對特征信息提取能力很突出,且有一定的穩(wěn)定性。對提取的圖像建立圖像集,利用圖像集建模為后期圖像比對識別提供建模資源。
本實驗使用共100個視頻資源,包含了不同場景、光照、行為等。隨機使用20個視屏作為系統(tǒng)學習訓練,將剩下的作為實驗的檢測測試。為了有個說服力較高的結果,對部分圖像隨機加了干擾噪聲等。
4.2 實驗結果及分析
本節(jié)展示實驗的結果。
圖10是系統(tǒng)對花瓣經過系統(tǒng)處理后顯示和經過算法處理后的效果圖。(a)圖是給系統(tǒng)圖形采集模塊需要采集的原圖像,(b)圖是系統(tǒng)將采集后的圖像經過顯示模塊顯示,觀察發(fā)現(xiàn),圖像出現(xiàn)一定程度的斑點和毛刺,但不影響視覺信息的獲取。(c)圖是進行LBP算法處理后的圖譜,獲取原圖像的紋理信息。圖10結果表明,該系統(tǒng)對實時圖像采集分析能力達到基本要求,實驗具有較好的效果,圖片清晰,特征圖譜紋理清晰。
圖10 花瓣實驗圖像效果
圖11是對圖片的檢測成功概率。隨著圖片數量的增加,檢測識別率提高,因為隨著數據輸入的增加,所可以使用的資源越來越多,識別率慢慢穩(wěn)定。由圖中可以得出,在大型的圖像識別系統(tǒng)中,需要大量圖像數據存儲庫來比對識別。特別是完成較復雜的圖像建模工作,需要大量的基礎圖像數據。圖11的結果表明,該系統(tǒng)對圖片的處理計算能力任務較好的完成,識別成功率高,利于后續(xù)工作展開。
圖11 測試結果
從實驗中,可以得出一個結論:
1)該系統(tǒng)可以完成實時圖像采集;顯示輸出圖片完成有序,沒有明顯信息丟失和亂碼,系統(tǒng)具有基本工作能力;
2)系統(tǒng)使用的算法在圖片集數量大的情況下,正確識別率增大,所以在系統(tǒng)正式開始之前,可以對系統(tǒng)進行訓練或者增加圖片集數量,待穩(wěn)定后再投入工作;
3)使用的圖片集越多,計算消耗時間有所增加。
本文首先從硬件角度分析了各個功能模塊的主要器件和工作方式,了解各個模塊的特點。然后介紹系統(tǒng)圖像處理算法,算法是檢測識別的核心。最后實驗驗證得出結論:基于FPGA作為控制系統(tǒng)的核心控制芯片,設計實現(xiàn)實時圖像采集與分析系統(tǒng),能夠高效穩(wěn)定安全運行,經過對系統(tǒng)實驗分析,本系統(tǒng)達到了到了目標要求。
本方案的不足依然存在一些不足:
1)算法有待完善,當數據量增大后,系統(tǒng)消耗時間有所在增加,對系統(tǒng)的實時性有潛在的挑戰(zhàn);為了克服此問題,需要尋找更為合理高效的圖像處理算法;
2)系統(tǒng)顯示模塊的輸出圖像質量與目標圖像存在一點點差距,可以進一步優(yōu)化對信息的采集方式,同時加入去噪的補償電路或者算法,提高圖像的輸出質量。
[1] 李 燕,湯心溢,葛 軍,等.基于FPGA的多通道紅外圖像實時采集系[J].紅外與激光工程,2012,41(5):1364-1368.
[2] 劉龍申,沈明霞,孫玉文,等.基于FPGA的農田圖像采集與3G 無線傳輸系統(tǒng)設計[J].農業(yè)機械學報,2011,42(2):186-190.
[3] 朱奕丹,方怡冰.基于FPGA 的圖像采集與VGA 顯示系統(tǒng)[J].計算機應用,2011,31(5):1258-1264.
[4] 劉明波,顧夏華,周琳琦.基于FPGA的遠程溫濕度監(jiān)測系統(tǒng)設計與實現(xiàn)[J].計算機測量與控制,2011,19(11):2619-1622.
[5] 趙 晶,陳向東,陳欣鵬,等.基于FPGA的QCM濕度測量系統(tǒng)程序設計與仿真[J].電子設計工程,2013,21(22):126-132.
[6] 程素娥.基于FPGA的智能壓力傳感器系統(tǒng)[J]. 監(jiān)測與儀表, 2010,37(8):53-55.
[7] 李 華,朱 波.基于FPGA的彩色圖像實時采集系統(tǒng)設計[J].液晶與顯示,2014,29(2):258-265.
[8] 貢 鎮(zhèn).基于FPGA的實時視頻圖像采集與顯示系統(tǒng)的設計與實現(xiàn)[J].現(xiàn)代電子技術,2013,36(13):46-48.
[9] 張智勇,楊 晨,劉海橋,等.基于FPGA的紅外圖像處理算法的測試系統(tǒng)[J].激光與紅外,2014,44(7):829-831.
FPGA-Based Design and Analysis of Real Time Image Acquisition and Analysis System
Lin Qing, Huang Yulei, Jiao Chun
(ZTE Telecommunication College, Xian Peihua University, Xi’an 710125,China)
Nowadays, the development of communication technology has promoted the application of video technology, and the video image analysis technology has been paid more and more attention. In recent years, the stable and reliable FPGA, short development cycle and other characteristics and the mature application of the technology provides a new direction for image acquisition and analysis. Therefore, this paper studies the application of FPGA to real-time image acquisition and analysis system. Based on the introduction of hardware and software, the hardware analysis mainly explains the hardware selection and working principle of each functional module. Finally, the experimental results show that the system can complete the function of reading, storing, detecting and displaying the image information. The conclusion is drawn that the system based on FPGA chip technology can complete the function of real-time image acquisition and analysis.
image processing; collection; real time
2017-01-05;
2017-02-06。
陜西省高等教育教學改革研究項目(15BY122);西安培華學院教育教學改革研究項目(PHZ1606)。
林 青(1979-),女,陜西西安人,副教授,主要從事計算機網絡、大數據方向的研究。
焦 純(1973-),男,湖北武漢人,工學博士,副教授,系主任,主要從事計算機專業(yè)教學及科研工作方向的研究。
1671-4598(2017)07-0218-04
10.16526/j.cnki.11-4762/tp.2017.07.054
TP216
A