王海帆,馬福昌
(太原理工大學 測控技術研究所,山西 太原030024)
責任編輯:任健男
隨著科學技術以及人工智能的迅猛發展,視頻監控技術已經被運用到生活的各個領域,視頻監控已經進入了數字化、網絡化的時代,即第三代的視頻監控系統。而隨著社會發展的需求,智能視頻監控系統也在最近幾年興起,智能視頻監控系統就是在無人看守的情況下,能夠實時監測環境中的運動目標,通過對運動物體特征值的提取分析,對獲得的有用信息進行處理,同時去掉大量不需要的數據信息,達到節省存儲空間的目的。本文設計了一種采用FPGA[1-4]和ARM的嵌入式智能液位視頻監控系統,對采集到的圖像信息進行圖像識別,得到液位信息,同時將超出設定值的圖像信息應用WiFi技術遠程傳輸出去,實現了液位的遠程無線視頻監控,具有實時性強、可靠性高、靈活性好的特點。
系統主要由圖像的采集、圖像的緩存、圖像的顯示、圖像的識別、數據的存儲與傳輸等部分組成。系統框圖如圖1所示。圖像的采集采用CMOS圖像傳感器,雖然CMOS圖像傳感器采集出來的圖像較CCD傳感器略差,但是CCD的成本遠高于CMOS產品,而且CMOS傳感器的功耗比CCD產品低。用SDRAM實現圖像數據的緩存,供VGA實時地顯示圖像。圖像采集、緩存和顯示單元由FPGA完成。圖像的識別、存儲和傳輸由ARM9微控制器完成。其中FPGA和ARM通過雙口RAM進行通信。
系統工作流程:OV7670采集輸出的16 bit的RGB565視頻數據通過FPGA內部的FIFO緩存進入SDRAM,OV7670通過SCCB協議由FPGA進行配置,VGA實時地讀取SDRAM中的數據進行顯示,同時FPGA讀取SDRAM中的數據存入雙口RAM中,讀取完一幀圖像后向ARM微控制器發送中斷信號,ARM微控制器將讀取的視頻數據通過內部的圖像識別模塊實現液面高度的自動讀數,并判斷液位是否超出預設值,如果超出則并啟動WiFi[5-7]模塊將視頻數據發送出去并報警,同時將視頻數據保存到SD卡中,如果沒有超出則重新讀取圖像進行分析[8-12]。

圖1 系統總體設計框圖
FPGA選用的是Altera公司的EP3C25Q240C8N,它是Altera的Cyclone系列的第三代產品。CycloneⅢ系列FPGA較之前的產品具有更低的功耗、成本和更高性能,得到了廣泛的應用。EP3C25擁有24 624個邏輯單元,內部集成了66個嵌入式存儲器模塊M9K,608 kbit的內部RAM,并有66個18×18嵌入式乘法器,4個內部PLL,最大用戶可用148個I/O引腳,83個差分通道。
2.1.1 圖像采集模塊
本系統采用的攝像頭是CMOS攝像頭OV7670圖像傳感器,特點是體積小,工作電壓低,通過SCCB總線控制,輸出16位數據,圖像最高幀率達到30幀/秒(f/s)。數字輸出格式有YUV/YCrCb 4∶2∶2,RGB 4∶2∶2,RGB565/555/444,Raw RGB Data。支持色彩飽和度、灰度、Gamma、銳度(邊緣增強)和像素反轉等參數的調節,具有自動曝光控制、自動增益控制、自動白平衡、自動亮度控制和自動噪聲控制等功能。圖像采集模塊具體電路設計如圖2所示。

圖2 圖像采集模塊電路設計(截圖)
2.1.2 圖像顯示模塊
圖像顯示模塊主要作用是將CMOS采集到的數字圖像轉換成模擬圖像,通過VGA接口顯示到LCD顯示器上。圖像顯示模塊電路包括數模轉換電路和VGA接口電路,如圖3所示,本電路中選用的數模轉換芯片為AD公司的ADV7123KST140,它有3組獨立的10 bit寬的RGB數字輸入口和3個相應的RGB模擬輸出口,5 V供電,速度為140 MHz,低功耗。其原理圖如圖3所示。

圖3 圖像顯示模塊具體電路(截圖)
2.1.3 圖像緩存模塊
SDRAM模塊包括SDRAM讀寫、向SDRAM寫數據FIFO和從SDRAM讀數據FIFO,采用異步FIFO的設計方法實現SDRAM的突發讀寫,同時FPGA為SDRAM提供同步命令接口和時序邏輯控制,從FPGA的輸入時鐘為50 MHz,通過內部PLL倍頻后成為100 MHz的時鐘供給SDRAM。本設計使用的是韓國HYUNDAI公司的HY57V641620,存儲容量為4組×16 Mbit(8 Mbyte),工作電壓為3.3 V,兼容LVTTL接口,支持自動刷新(Auto-Refresh)和自刷新(Self-Refresh),16位數據寬度。具體接口電路如圖4所示。

圖4 圖像緩存模塊接口電路(截圖)
ARM處理器采用2440 16/32 bit RISC微處理器。2440作為手持設備設計的專用芯片,具有低功耗、處理計算速度高等特點。該器件工作電壓為1.3 V,采用16/32 bit ARM 920T RISC核心,提供的接口包括NAMD閃存、數碼相機、TFT液晶屏、USB、SD/MMC存儲卡及觸摸屏等,支持Windows CE和Linux等系統。
2.2.1 SD卡存儲模塊
SD卡是一種低電壓的Flash閃存產品,有標準的SD/SPI兩種操作模塊。對于SD操作模式,讀寫速度快、控制信號線多、操作復雜,對于SPI操作模塊,速度慢、信號線少、操作相對簡單。本設計采用的是SD模式,在這種模式下,所有數據線都要接上拉電阻。具體接口電路如圖5所示。

圖5 SD卡接口電路(截圖)
2.2.2 WiFi傳輸模塊
目前,市面上的WiFi模塊有USB,UART,SPI,SDIO等4種接口,本設計采用SDIO接口的WiFi模塊。內部采用Marvell 88w8686芯片,支持1 200~115 200 baud的波特率范圍,支持單3.3 V供電,具體電路圖如圖6所示。

圖6 WiFi模塊接口電路(截圖)
在本系統中,FPGA的編程時通過Verilog語言來實現的,在QuartusⅡ環境下進行編程和調試的。其中FPGA實現3個功能:1)視頻信號的采集和顯示部分的時序控制;2)對OV7670進行控制、配置和初始化;3)視頻圖像信號壓縮和緩存的控制。ARM處理器用來實現圖像識別模塊、SD卡讀寫和WiFi模塊的控制。ARM嵌入式微處理器的軟件設計以實時嵌入式操作系統Linux為軟件平臺,系統各功能采用C語言編程來實現。系統工作流程如圖7所示。
視頻采集模塊分為攝像頭初始化、配置和數據格式轉換兩部分,一部分是按照SCCB總線時序,對OV7670進行初始化,并將數據寫入到攝像頭內部寄存器,控制它的工作模式,使它輸出RGB圖像信號,另一部分則將輸出的8 bit數據轉化為16 bit的RGB565信號。其中VSYNC為幀同步信號,HREF為行同步信號,XCLK為系統時鐘輸入信號,PCLK為像素時鐘。將得到的cmos_data數據的相鄰2個字節作為RGB565信號輸出,仿真圖如圖8和圖9所示。

圖7 系統軟件流程圖(截圖)


SDRAM的操作有以下幾個步驟:上電后等待200μs后進入穩定期,向SDRAM發送預充電命令,等待一定時鐘后發送8次刷新命令,設置SDRAM的工作模式寄存器,行列選擇之后可以進行讀寫操作,對SDRAM的操作時通過對CS#,RAS#,CAS#,WE#,ADDR的組合指令來完成的。SDRAM仿真時序圖如圖10所示。

圖像識別模塊將采集到的圖像進行處理,得到標尺的讀數。所用到的標尺如圖11所示。

圖11 刻度標尺(截圖)
在測量現場需要安裝標有刻度的專用標尺,標尺刻度用4位數碼管字體標注,刻度最小間距1 mm。由于測量現場必然受到噪聲等環境因素的影響,圖像存在一定的畸變,所以首先需要進行預處理,將獲得的圖像進行灰度處理,轉換為灰度圖像,接著進行二值化分割,分割出目標圖像;隨后進行形態學濾波,包括腐蝕、膨脹、開運算和閉運算;然后采用3×3的中值濾波模板進行,中值濾波后標尺的刻度邊緣得到保護,去除了噪聲的干擾。
經過圖像預處理后利用Canny算子進行邊緣檢測,從圖像中分離度數字圖像和其下方的刻度圖像,再利用水平投影法和垂直投影法,以及數字本身長度和面積等特征,通過多次采樣取平均值的方法標定出水位分割線和分割后的字符,利用數字結構特征分析法和穿線法識別單個字符,得到整數部分,利用分割線到整數刻度與兩個整數字符間的像素差的比值來得到小數部分,最終整數部分加小數部分得到所需要的數值。算法流程圖如圖12所示。

圖12 算法流程圖
本系統所使用的標尺上的刻度采用數碼管字體,這種字體沒有弧線,橫平豎直,簡化了識別的難度,同時提高了識別的準確性。
對上述字體在實驗室進行了數百次實驗,得到了可靠地實驗數據,見表1。通過測試可以看出,該識別算法能達到預定的設計目標。
本文基于FPGA和ARM設計了一種結構簡單、成本低、實用性強的智能高速液位無線視頻監控系統,能在無人看守的情況下遠程讀取液位數據。充分發揮了FPGA和ARM的特點,利用FPGA在邏輯控制和數據采集方面的優勢,以及ARM穩定性好、控制性強的特點,來實現液位數據的采集識別、存儲及傳輸,以及VGA的顯示。系統能夠很好地實現智能監控液位的目的,節省了人力和物力的成本,為實現更好的嵌入式無線液位監控系統提供了一個良好的解決方案。

表1 數字識別率測試
[1]莊聰聰,王大明.基于ARM7與FPGA架構的面陣CCD圖像采集系統的設計[J].科技廣場,2010(1):104-106.
[2]嚴華宇.基于FPGA的玻璃缺陷圖像采集預處理系統設計[D].武漢:武漢理工大學,2007.
[3]舒志猛,陳素華.基于FPGA和DSP的高速圖像處理系統[J].現代電子技術,2012,35(4):143-144.
[4]胡勝,楊雷,宋躍,等.基于ARM&FPGA的CCD圖像識別裝置[J].儀表技術與傳感器,2012(1):55-56.
[5]胡君連.基于WiFi的嵌入式無線視頻監控系統設計[D].上海:東華大學,2012.
[6]吳穎.基于視覺傳感的嵌入式液位測量系統[D].天津:天津大學,2009.
[7]薛子伯.基于WiFi的觸發式無線圖像采集系統的研究與設計[D].吉林:吉林大學,2011.
[8]宋樂,林玉池,吳穎,等.基于視覺傳感的嵌入式自動讀尺系統[J].傳感器與微系統,2009,28(8):87-88.
[9]趙瑤池,胡祝華,胡詩雨.嵌入式網絡智能視頻監控系統設計與實現[J].現代電子技術,2012,35(4):69-71.
[10]王剛,毛劍飛,田青,等.基于ARM11的無線視頻監控系統[J].計算機系統應用,2011,20(8):19-20.
[11]畢克宏.基于機器視覺的水位監控系統研究[D].鄭州:鄭州大學,2009.
[12]余振庭.排水系統中的網絡監控圖像識別控制設計與實現[D].杭州:浙江大學,2008.