漆為民,周 俊,張 霞
(江漢大學 物理與信息工程學院,湖北 武漢 430056)
基于Nios II的光學定位跟蹤系統(tǒng)
漆為民,周 俊,張 霞
(江漢大學 物理與信息工程學院,湖北 武漢 430056)
介紹了一套由SOPC開發(fā)平臺構(gòu)成的定位跟蹤系統(tǒng),該平臺核心為Altera的FPGA及內(nèi)嵌的軟核Nios II CPU。系統(tǒng)采用DE2開發(fā)板、OV7670數(shù)字攝像頭以及數(shù)字觸摸屏實現(xiàn)。該裝置操作方便,能進行一定范圍內(nèi)運動物體的光學定位追蹤,同時還具備手動式協(xié)調(diào)定位功能。實驗結(jié)果表明,該系統(tǒng)功耗低、設計靈活、可拓展性強、能穩(wěn)定精確地定位被跟蹤目標。
光學定位跟蹤;FPGA;Nios II;觸摸屏
傳統(tǒng)圖像檢測一般采用模擬圖像、人工判讀方式,無法適應目標自動檢測、識別、跟蹤等問題。隨著數(shù)字圖像分析處理技術的發(fā)展與應用,光測圖像判讀設備的硬件組成越來越簡單,性能越來越強大。目前,眾多研究者專注于運動目標的自動檢測與跟蹤定位的有關技術,研發(fā)高精度、高可靠性以及自動化的圖像判讀系統(tǒng),從而使其在人體運動測量、數(shù)字醫(yī)療、安防、智能交通、航空航天等領域得到廣泛應用。
傳統(tǒng)的運動物體定位跟蹤檢測技術大多依靠PC或DSP實現(xiàn)。PC實現(xiàn)圖像處理成本高、體積大、不便于攜帶,且速度無優(yōu)勢。DSP雖然處理速度快,但其功能和相關參數(shù)固定,靈活性不足。采用FPGA配合Nios II軟核實現(xiàn)本系統(tǒng)具有較強的優(yōu)勢,關鍵數(shù)據(jù)處理及算法可以用HDL在硬件中實現(xiàn),系統(tǒng)及功能擴展方便,兼顧了處理速度和靈活性,同時具有嵌入式系統(tǒng)固有的低成本、便攜的優(yōu)點;且軟件開發(fā)周期短,代碼可移植,結(jié)合用戶自定義硬件邏輯,可以并行地完成復雜的圖像處理任務,極大地體現(xiàn)了FPGA的優(yōu)勢。對本系統(tǒng)來說,相關組件可以很容易整合,被跟蹤運動物體圖像數(shù)據(jù)處理過程中的相關參數(shù)可以方便調(diào)節(jié),這對于實現(xiàn)不同的性能指標,滿足不同條件下的用戶需求是很有利的。
光學測量通常以光學望遠鏡、攝像機、紅外、激光等技術的測量設備對目標進行跟蹤測量[1],具有測量精度高、可獲得目標影像、直觀性強、可事后復現(xiàn)、不受電磁波干擾的特點。但光學測量的作用距離較近,并受到氣候條件的限制。采用激光測量可在一定程度上提高測量距離及精度。
定位跟蹤技術最早用于航空航天領域,目前已廣泛應用于醫(yī)療、安防等領域。光學定位跟蹤是目前使用最廣泛、精度最高的一種定位方法[2]。光學定位跟蹤一般通過攝像機等觀察目標,然后根據(jù)立體視覺原理重建出目標的空間位置。在需要高精度的場合,常采用激光對目標進行定位。
本系統(tǒng)主要由FPGA開發(fā)板、OV7670數(shù)字攝像頭以及數(shù)字觸摸屏構(gòu)成。FPGA對高清CMOS攝像頭采集的視頻數(shù)據(jù)進行存儲、分析與處理,獲取圖像中的指定物體并進行定位鎖定,然后通過光源系統(tǒng)跟蹤該物體的運動位置,同時可用數(shù)字觸摸屏的串口數(shù)據(jù)處理手動協(xié)調(diào)激光定位,通過VGA顯示屏輸出,通過數(shù)據(jù)處理提取出來的相關參數(shù)調(diào)控舵機與激光探頭,實現(xiàn)對運動中被鎖定物體的精確跟蹤。
系統(tǒng)充分利用了FPGA開發(fā)板所配資源,時鐘信號由FPGA內(nèi)嵌的PLL獲得。通過特定算法對圖像中提取出的相關參數(shù)進行運算,調(diào)控舵機與激光探頭對指定物體實現(xiàn)定位跟蹤監(jiān)測任務。利用數(shù)字觸摸屏手動操作,輔助協(xié)調(diào)光學定位。系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)圖
就國內(nèi)外已發(fā)表的文獻看,運動目標檢測的算法非常多,本文采用了基于統(tǒng)計模型的目標檢測算法。根據(jù)貝葉斯理論構(gòu)造出如下運動估計模型[3]:
其中gk、gk-1表示觀察到的序列圖像,(m1,m2)表示運動估計值。等式右邊分子第一項是條件概率,其物理意義在于:在給定前一幀觀察圖像gk-1及估計的(m1,m2)情況下,如何更好地解釋觀察的當前圖像gk。第二項是運動場的先驗概率,它反映了有關實際運動場的先驗知識。
首先利用較簡單的算法對運動場進行粗略估計,然后根據(jù)馬爾科夫(Markov)隨機場理論,構(gòu)造運動場的間斷點分布模型,利用此模型來檢測運動場間斷點,以此來實現(xiàn)運動目標的檢測[4]。實驗表明這一方法十分有效且運算負擔較小,采用Cyclone II系列的FPGA可以實現(xiàn)實時檢測。
本系統(tǒng)采用Altera FPGA以及內(nèi)含的軟核處理器Nios II構(gòu)建片上可編程系統(tǒng)(SOPC),選用友晶公司的DE2-70作為硬件開發(fā)平臺,配合OV7670 CMOS攝像頭進行視頻信號采集,通過對視頻圖像信號進行處理,再由算法程序控制S3010型號舵機改變激光探頭鎖定目標以及手動調(diào)節(jié)串口數(shù)字觸摸屏的串口數(shù)據(jù),調(diào)節(jié)激光探頭方向,實現(xiàn)實時定位被跟蹤運動物體的檢測,最后由普通的VGA顯示器或彩色液晶顯示屏進行輸出。FPGA主要完成對CMOS攝像頭和S3010舵機的控制、數(shù)字觸摸屏的串口數(shù)據(jù)傳輸處理、Bayer Pattern到RGB的轉(zhuǎn)換、物體定位、運動物體跟蹤檢測、參數(shù)提取、串口數(shù)據(jù)調(diào)試傳輸和VGA輸出等工作,其中Nios II構(gòu)建的SOPC系統(tǒng)完成視頻信號到SDRAM的存儲與處理并控制顯示輸出。光學定位跟蹤系統(tǒng)硬件組成見圖2。
圖2 系統(tǒng)硬件組成
4.1 圖像采集和存儲子模塊
為實現(xiàn)實時跟蹤運動物體,必須要保證視頻顯示的流暢性和質(zhì)量,攝像頭產(chǎn)生圖像的分辨率及幀率也應達到一定的要求,且攝像頭產(chǎn)生的圖像質(zhì)量要好,要求具備較好的感光性能[5]。所以本系統(tǒng)采用攝像頭型號為OV7670的CMOS攝像頭圖像處理方法,設置分辨率為320×240,輸出為16位Bayer Pattern顏色值,轉(zhuǎn)換為10位RGB圖像數(shù)據(jù)存儲,VGA顯示分辨率設置為640× 480,場頻60 Hz。
數(shù)字攝像頭傳輸過來的圖像數(shù)據(jù)首先經(jīng)過攝像頭自帶緩存,再通過緩存中的圖像數(shù)據(jù)存入DE2開發(fā)板的SDRAM中。FPGA將在SDRAM中對圖像數(shù)據(jù)進行處理。
4.2 核心處理子模塊
本系統(tǒng)使用友晶公司的DE2開發(fā)平臺,該平臺有豐富的外圍設備接口,采用Altera公司的EP2C35F672C6芯片。系統(tǒng)使用SOPC技術,利用了FPGA可重復編程的特性,嵌入了NiosⅡ軟核處理器,系統(tǒng)程序和運行數(shù)據(jù)均存放在SRAM里。這種設計增強了系統(tǒng)的靈活性和完整性,縮短了前期開發(fā)周期,提高了設計效率,具有良好的可擴展性和可升級性,且價格低廉,具有極強的市場競爭力。
4.3 圖像數(shù)據(jù)顯示處理子模塊
系統(tǒng)基于FPGA配合Nios II實現(xiàn)圖像數(shù)據(jù)處理。圖像的關鍵數(shù)據(jù)處理及算法可用HDL在硬件中實現(xiàn),系統(tǒng)功能方便擴展,兼顧了處理速度和靈活性。采用HDL和C語言編程,使得整個系統(tǒng)具有較短的開發(fā)周期,代碼可移植。結(jié)合用戶自定義硬件邏輯,可完成復雜的圖像處理任務。
4.4 光學定位跟蹤子模塊
本模塊利用光源系統(tǒng)對指定物體進行定位跟蹤。由于小光斑激光探頭具有強抗干擾性、高穩(wěn)定性、抑制浪涌電流及緩啟動等特點,以其為定位光源效果較理想。使用的舵機型號為S3010,具有反應速度快、無反應區(qū)范圍小、定位精度高、抗干擾能力強等優(yōu)點。兩者配合組成光學定位跟蹤模塊,可以實現(xiàn)光源系統(tǒng)在攝像頭所攝范圍內(nèi)的任意一點定位跟蹤測試[6-7]。
4.5 系統(tǒng)硬件配置
本系統(tǒng)的硬件配置采用了多個IP核的共同協(xié)調(diào)工作(見圖3)。首先需搭建基本的CPU處理器及其他通用外設,再加入本系統(tǒng)所需要的一些針對性的IP核。如DMA控制器用于圖像采集的大量數(shù)據(jù)搬運工作;Character Buffer IP核用于在VGA顯示屏的圖像背景上添加字符;Scaler IP核用于對圖像像素的擴大與縮小處理等。各種IP的搭配構(gòu)成了本系統(tǒng)。
圖3 系統(tǒng)的硬件配置圖
FPGA中模塊采用Verlog HDL語言以及SOPC Builder定制實現(xiàn),SOPC Builder能根據(jù)定制結(jié)果自動生成針對特定硬件環(huán)境的C語言和匯編語言的頭文件以及HAL函數(shù)庫,通過調(diào)用HAL函數(shù),可以不必去過多地關心硬件底層構(gòu)架。Altera提供了豐富的IP模塊資源,可以使設計更為快捷。SOPC Builder中提供的各IP模塊以及軟核CPU通過Avalon總線連接。
5.1 圖像輸出顯示
圖像采集模塊的主要功能是依據(jù)OV7670采集產(chǎn)生圖像的時序,設計相應的接收程序。圖像采集模塊還應考慮系統(tǒng)的可控性和如何將數(shù)據(jù)存入SDRAM,方便進行處理。VGA的數(shù)據(jù)輸出基本時序如圖4所示。
圖4 VGA輸出時序圖
圖4中水平時序HSync和垂直時序VSync由高電平變?yōu)榈碗娖角倚杞?jīng)過0.607 ms(Back Porch)后,視頻信號才可有效傳輸,且傳輸數(shù)據(jù)需滿足Top/Left Border→Addressable Video→Bot?tom/Right Border的時序要求。再經(jīng)過0.026 ms(Front Porch)后,水平和垂直時序才可變?yōu)橄乱淮胃唠娖健?/p>
由于顯示輸出時需要從SDRAM連續(xù)讀取數(shù)據(jù),而輸出數(shù)據(jù)又要滿足VGA的時序要求,為此應按Avalon ST總線封裝設計顯示控制模塊。
5.2 圖像信號轉(zhuǎn)換
攝像頭傳來的信號為Bayer Pattern形式,如圖5所示,必須經(jīng)過一些轉(zhuǎn)換才能供普通VGA顯示輸出。由于要送入VGA顯示的數(shù)據(jù)是一行一行地讀,系統(tǒng)通過Quartus II所帶的Shift_Register核,構(gòu)建出Pixel_Buffer進行緩存操作,實現(xiàn)了兩行數(shù)據(jù)對應位依次同時輸出,這樣就能解決RGB數(shù)據(jù)獲得的問題[8]。
圖5 Bayer模式轉(zhuǎn)換方法
在有些圖像處理中,選用YCbCr的圖像格式更合適。其中Y是指亮度分量,Cb指藍色色度分量,而Cr指紅色色度分量。人的肉眼對視頻的Y分量更敏感,因此在通過對色度分量進行子采樣來減少色度分量后,肉眼將基本察覺不到圖像質(zhì)量的變化。主要的子采樣格式有YCbCr 4∶2∶0、YCbCr 4∶2∶2、YCbCr 4∶4∶4和YCbCr 4∶1∶1。
轉(zhuǎn)換公式如下:
用HDL語言描述如下:
5.3 運動物體圖像顯示處理
攝像頭實時輸入的圖像數(shù)據(jù)可顯示在VGA顯示屏上。由于對VGA顯示屏有分屏處理,必須在圖像數(shù)據(jù)的傳輸過程中對圖像像素進行裁剪與添加。攝像頭輸出的圖像像素是320×240,但是顯示在VGA上的圖像中的攝像頭部分是320× 480。因此必須對攝像頭輸入進來的圖像像素通過Scaler IP將圖像像素的縱向擴大為320×480(見圖6)。為使VGA以最佳效果顯示圖像,需讓VGA一半的空間顯示攝像頭獲取的畫面,另一半則顯示操作界面和系統(tǒng)信息,這部分不需要實時刷新,在保證最佳的顯示效果的同時也節(jié)約系統(tǒng)資源。為了讓兩邊的畫面匹配,右側(cè)的靜態(tài)畫面的分辨率也設置為360×240,這樣,當前畫面的分辨率為640×240。
圖6 Scaler IP核結(jié)構(gòu)
5.4 系統(tǒng)界面
通過軟件編程讓640×480的液晶顯示屏分左右兩屏。在顯示過程中,首先對屏幕進行清屏處理,然后在顯示屏上顯示初始化二分屏圖像。方顯示輸出圖像,右方顯示跟蹤對象像素坐標,最后通過攝像頭視頻輸入,讓液晶屏實時顯現(xiàn)視頻圖像。效果展示如圖7所示。
圖7 圖形化界面
同時系統(tǒng)還擴展了800×600的數(shù)字觸摸屏,在觸摸屏上虛擬出一些多功能按鍵,從而使用戶更易于操作。
本文詳細討論了基于Nios II的光學定位跟蹤系統(tǒng)設計方案。該系統(tǒng)采用FPGA開發(fā),擴展功能強,硬件設計靈活,由于大量地使用Altera提供的IP Core,大大縮短了開發(fā)時間。各個子系統(tǒng)模塊的控制器都集中在一片F(xiàn)PGA中,使得系統(tǒng)具有較高的可靠性,同時也降低了成本。該系統(tǒng)跟蹤精度高、實時性好,在舞臺人員報幕跟蹤、家庭安保等實際應用領域中取得較好效果。
[1] 何照才.光學測量系統(tǒng)[M].北京:國防工業(yè)出版社,2002.
[2] 孫九愛.計算機輔助外科手術中被動式多眼定位器的研究[D].上海:上海交通大學,2001.
[3] 魏波.點時空約束圖像目標跟蹤理論與實時實現(xiàn)技術研究[D].成都:電子科技大學,2000.
[4] 馬頌德,張正友.計算機視覺:計算理論與算法基礎[M].北京:科學出版社,1998.
[5] Rosin P L,Ellis T J.Image difference threshold strate?gies and shadow detection[C]//BMVC’95 Proceedings of the 1995 British Conference on Machine Vision,Bir?mingham,1995:347-356.
[6] Okada R,Shirai Y,Miura J.Object tracking based on optical flow and depth[C]//Proceedings of International Conference on Multisensor Fusion and Integration for In?telligent Systems,1996:565-571.
[7] Tsaig Y,Averbuch A.Automatic segmentation of mov?ing objects in video sequences:a region labeling ap?proach[J].IEEE Transactions on Circuits and Systems for Video Technology,2002,12(7):597-612.
[8] Zhu S,Ma K K.A new diamond search algorithm for fast block-matching motion estimation[J].IEEE Trans?actions on Image Processing,2000,9(2):287-290.
Optical Orientating and Tracking System Based on Nios II
QI Wei-min,ZHOU Jun,ZHANG Xia
(School of Physics and Information Engineering,Jianghan University,Wuhan 430056,Hubei,China)
Introduces a optical orientating and tracking system based on SOPC platform,the core of the platform consist of FPGA of Altera and embedded Nios II CPU.The system adopts DE2 development board,OV7670 digital camera and digital touch screen.It is easy for operating and can automatically locate and track the moving object in a certain range.It also can be adjusted with manu?al operating.Experiment shows it has low power consumption,flexibility,expansibility,and it can locate and track targets steadily and accurately.
optical orientating and tracking;FPGA;Nios II;touch screen
TP273
:A
:1673-0143(2013)02-0018-05
(責任編輯:曾 婷)
2012-12-25
武漢市教育局教研項目(2011055)
漆為民(1975—),男,副教授,碩士,研究方向:嵌入式系統(tǒng)。