范永杰,陳 華
?
基于MEMS陀螺儀的實(shí)時(shí)電子穩(wěn)像技術(shù)
范永杰,陳 華
(昆明理工大學(xué)理學(xué)院,昆明 650500)
采用MPU-6050 MEMS陀螺儀和Xilinx FPGA實(shí)現(xiàn)了一套實(shí)時(shí)電子穩(wěn)像系統(tǒng)。該系統(tǒng)可對(duì)視頻序列中的橫向、縱向以及旋轉(zhuǎn)方向的非意向運(yùn)動(dòng)(抖動(dòng))進(jìn)行有效補(bǔ)償,并保留操作者的意向運(yùn)動(dòng)。針對(duì)PAL視頻時(shí),補(bǔ)償范圍為橫向±240像素,縱向±240像素,旋轉(zhuǎn)±45°,系統(tǒng)延時(shí)小于20ms。給出了實(shí)現(xiàn)過(guò)程、硬件使用情況以及實(shí)驗(yàn)效果。
電子穩(wěn)像;陀螺儀;MEMS;FPGA
各種攝像設(shè)備(如可見光攝像機(jī)、紅外熱像儀)的工作平臺(tái)通常都是處于不穩(wěn)定的狀態(tài),諸如手持設(shè)備、車載設(shè)備、機(jī)載設(shè)備,甚至一些我們認(rèn)為穩(wěn)定的平臺(tái)也會(huì)由于一些外因引起不穩(wěn)定,例如處于高桿上的監(jiān)控?cái)z像頭,有可能因?yàn)閺?qiáng)風(fēng)而產(chǎn)生晃動(dòng)。工作平臺(tái)的不穩(wěn)定,使得攝像設(shè)備輸出的視頻可能會(huì)產(chǎn)生隨機(jī)運(yùn)動(dòng),從而影響觀察效果。穩(wěn)像技術(shù)則要克服以上的不利因素,消除視頻的抖動(dòng),提高視頻的觀察效果。
穩(wěn)像技術(shù)經(jīng)歷了由機(jī)械穩(wěn)像到光學(xué)穩(wěn)像,再到電子穩(wěn)像的一個(gè)發(fā)展過(guò)程。傳統(tǒng)的機(jī)械穩(wěn)像和光學(xué)穩(wěn)像通常都需要附加一些設(shè)備,如機(jī)械陀螺、伺服系統(tǒng)、光學(xué)元件等,使得穩(wěn)像系統(tǒng)變的復(fù)雜,成本高。常應(yīng)用于復(fù)雜的高精度系統(tǒng)。
電子穩(wěn)像則利用圖像處理技術(shù),使得抖動(dòng)視頻得到穩(wěn)定。因此電子穩(wěn)像技術(shù)具有操作簡(jiǎn)易、體積相對(duì)較小、成本低、開發(fā)周期短、可移植性高、功耗相對(duì)小等優(yōu)點(diǎn)。電子穩(wěn)像則常用于精度要求相對(duì)較低,但對(duì)成本比較敏感的手持設(shè)備以及其他一些小型設(shè)備[1-2]。
目前廣泛研究的電子穩(wěn)像技術(shù)主要是通過(guò)對(duì)相鄰幀圖像的特征進(jìn)行匹配,再計(jì)算出相鄰幀的相對(duì)位移,繼而進(jìn)行運(yùn)動(dòng)補(bǔ)償[3]。這種方式雖然排除了傳統(tǒng)陀螺儀的使用,但匹配算法通常較為復(fù)雜,難以在實(shí)時(shí)系統(tǒng)中實(shí)現(xiàn)。另外,當(dāng)遇到天空、海洋一類比較純凈的場(chǎng)景時(shí),圖像中很難找到可以用于匹配的特征時(shí),這一類算法就有匹配誤差加大的風(fēng)險(xiǎn)。
而隨著MEMS技術(shù)的突飛猛進(jìn),MEMS陀螺儀以其體積?。ㄆ溥呴L(zhǎng)可均小于5mm)、重量輕(通常只有幾克)、成本低、可靠性好、測(cè)量范圍大等優(yōu)點(diǎn)在民用領(lǐng)域得到廣泛的應(yīng)用。因此將MEMS陀螺引入到電子穩(wěn)像技術(shù)中,可以在只增加極少量電路板面積的條件下,實(shí)時(shí)得到精確的平臺(tái)姿態(tài)數(shù)據(jù),大幅降低了圖像運(yùn)動(dòng)補(bǔ)償算法的復(fù)雜度,提高了系統(tǒng)的穩(wěn)定性[4]。
本文將介紹利用MPU-6050陀螺儀和FPGA實(shí)現(xiàn)實(shí)時(shí)電子穩(wěn)像系統(tǒng)的過(guò)程。本系統(tǒng)可補(bǔ)償橫向、縱向以及旋轉(zhuǎn)帶來(lái)的圖像抖動(dòng),硬件僅為原理驗(yàn)證,還可大幅簡(jiǎn)化。
如圖1所示,MPU-6050陀螺儀是InvenSense公司出品的六軸陀螺儀(三軸角速度計(jì)、三軸加速度計(jì))。封裝大小4mm×4mm×0.9mm;2.375~3.46V供電,最大電流3.9mA;角速度計(jì)采樣率最高可達(dá)8kHz;角速度量程可分為±250、±500、±1000和±2000°/s四檔,均采用16bitAD進(jìn)行采樣,量程約小采樣精度越高;利用I2C接口進(jìn)行參數(shù)配置以及數(shù)據(jù)讀出,數(shù)據(jù)率400kHz[5]。
圖1 MPU-6050角速度計(jì)旋轉(zhuǎn)軸方向示意
電子穩(wěn)像算法的基本結(jié)構(gòu)主要由全局運(yùn)動(dòng)計(jì)算、全局運(yùn)動(dòng)平滑濾波以及全局運(yùn)動(dòng)補(bǔ)償3個(gè)部分組成,如圖2。通常工作平臺(tái)的振動(dòng)頻率遠(yuǎn)高于操作帶來(lái)的意向運(yùn)動(dòng)頻率。算法執(zhí)行時(shí),首先估計(jì)視頻的運(yùn)動(dòng)矢量,之后利用低通濾波器對(duì)運(yùn)動(dòng)矢量進(jìn)行平滑移濾波,分離運(yùn)動(dòng)矢量中的意向位移和工作平臺(tái)的振動(dòng);最后對(duì)高頻振動(dòng)進(jìn)行補(bǔ)償,達(dá)到穩(wěn)定視頻的效果[6-7]。
圖2 電子穩(wěn)像處理結(jié)構(gòu)框圖
在此需要注意如何將角速度轉(zhuǎn)化為圖像位移的像素值。由于陀螺儀輸出的角速度值,視頻幀周期為,則幀間轉(zhuǎn)動(dòng)的角度值為:
若圖像像素的瞬時(shí)視場(chǎng)為IFOV則在水平或垂直方向上移動(dòng)的像素值為:
=/IFOV(2)
當(dāng)角速度值轉(zhuǎn)化為像素值后便可按照電子穩(wěn)像的常規(guī)補(bǔ)償方法進(jìn)行補(bǔ)償[4-5]。圖像旋轉(zhuǎn)的補(bǔ)償則不必轉(zhuǎn)化為像素值,可直接對(duì)圖像進(jìn)行反向旋轉(zhuǎn)補(bǔ)償即可。
系統(tǒng)實(shí)現(xiàn)主要分為MPU-6050模塊以及處理電路系統(tǒng)2個(gè)部分。
如圖3,MPU-6050模塊固定于攝像頭之上,可隨攝像平臺(tái)運(yùn)動(dòng),實(shí)時(shí)獲得攝像平臺(tái)的運(yùn)動(dòng)角速度。
處理電路沿用了文獻(xiàn)[8]中,以Xilinx XC5VLX50T FPGA為核心處理器件的通用硬件平臺(tái)。區(qū)別為,從上層的AD電路中引出了MPU-6050模塊所需的3.3V電源,以及通信I2C總線。
圖3 處理電路及穩(wěn)像演示系統(tǒng)
系統(tǒng)工作流程如圖4。數(shù)據(jù)的采集包括兩個(gè)通路:一路由SAA7113完成輸入PAL模擬視頻的采集,形成CCIR656數(shù)字視頻,數(shù)字視頻輸入到FPGA后,經(jīng)過(guò)Sram控制模塊,將視頻存入Sram中;另一路則是由FPGA片內(nèi)軟核MicroBlaze的I2C端口實(shí)時(shí)的讀取MPU-6050陀螺的角速度數(shù)據(jù),之后將數(shù)據(jù)送入運(yùn)動(dòng)計(jì)算模塊。
運(yùn)動(dòng)計(jì)算模塊在幀周期內(nèi),根據(jù)三軸的角速度數(shù)據(jù)計(jì)算當(dāng)前幀與上一幀之間的橫向、縱向以及旋轉(zhuǎn)的差值。于場(chǎng)消隱期起始時(shí),將差值送入運(yùn)動(dòng)濾波模塊。
運(yùn)動(dòng)濾波模塊會(huì)記錄一段時(shí)間內(nèi)的幀間差值,通過(guò)濾波區(qū)分操作者的意向運(yùn)動(dòng)(低頻分量)以及攝像平臺(tái)的抖動(dòng)(高頻分量)。并計(jì)算補(bǔ)償量。將補(bǔ)償量于下一場(chǎng)起始前送至運(yùn)動(dòng)補(bǔ)償模塊。以PAL 720×576幅面為標(biāo)準(zhǔn),補(bǔ)償范圍為水平±240像素,垂直±240像素,旋轉(zhuǎn)±45°。
圖4 電子穩(wěn)像處理流程框圖
運(yùn)動(dòng)補(bǔ)償模塊則根據(jù)輸出視頻同步信息以及補(bǔ)償量,產(chǎn)生對(duì)應(yīng)的讀出地址送至SRAM控制器,讀出圖像數(shù)據(jù),形成補(bǔ)償后的視頻流用于顯示。
系統(tǒng)工作時(shí)MicroBlaze還用于系統(tǒng)啟動(dòng)時(shí),SAA7113和SA7121的配置。
整個(gè)系統(tǒng)有一場(chǎng)的延時(shí)。
由圖4可以看出整個(gè)系統(tǒng)核心的處理器件只需要MPU-6050,F(xiàn)PGA以及Sram幀存各一片,電路中的其他資源實(shí)際處于空閑狀態(tài)。若需要處理模擬視頻則加入視頻AD/DA,若處理數(shù)字視頻可省去AD/DA。
整個(gè)設(shè)計(jì)完成后,ISE的綜合報(bào)告中顯示的FPGA的資源使用狀況為(限于篇幅僅提供百分比數(shù)據(jù)):
Device utilization summary:
Selected Device : 5vlx50tff1136-1
Slice Logic Utilization:
Number of Slice Registers: 26%
Number of Slice LUTs: 25%
Slice Logic Distribution:
Number of LUT Flip Flop pairs used:
Number with an unused Flip Flop: 34%
Number with an unused LUT: 36%
Specific Feature Utilization:
Number of Block RAM/FIFO: 20%
Number of DCM_ADVs: 16%
Number of DSP48Es: 89%
Found area constraint ratio of 100(+5) on block top, actual ratio is 30.
可以看到,僅DSP48E由于需要做濾波運(yùn)算消耗較多外,整個(gè)設(shè)計(jì)FPGA資源使用還有很大的冗余,且使用資源中的相當(dāng)部分是用于MicroBlaze處理器的搭建。通過(guò)整合算法還可進(jìn)一步降低DSP48E的使用量。這樣的資源使用量完全可以用一個(gè)小封裝的Spartan6器件實(shí)現(xiàn),實(shí)際應(yīng)用的系統(tǒng)可以非常的小巧。
我們搭建了一個(gè)驗(yàn)證演示平臺(tái),如圖5,攝像頭輸出的PAL視頻分為兩路,一路提供給處理電路,另一路提供給USB多路采集卡;處理電路處理后的PAL視頻也提供給USB多路采集卡,如此可在PC機(jī)上同時(shí)觀察原始視頻和穩(wěn)像后視頻。
圖5 4路采集卡及試驗(yàn)框圖
通過(guò)對(duì)攝像頭施加人為隨機(jī)振動(dòng),在PC機(jī)上觀察穩(wěn)像的實(shí)際效果,可以看到處理電路能正確計(jì)算視頻序列的運(yùn)動(dòng),并通過(guò)濾波去除視頻中的非意向抖動(dòng),將攝像頭的意向運(yùn)動(dòng)提取出來(lái),對(duì)橫向、縱向以及旋轉(zhuǎn)的抖動(dòng)進(jìn)行補(bǔ)償,穩(wěn)定圖像。穩(wěn)定的圖像效果,如圖6。
由于試驗(yàn)用的攝像頭為行曝光攝像頭,當(dāng)抖動(dòng)過(guò)于劇烈時(shí),此種曝光方式將會(huì)帶來(lái)圖像畸變;當(dāng)光線不足時(shí),攝像頭需要延長(zhǎng)曝光時(shí)間,如此會(huì)造成圖像產(chǎn)生拖尾。圖像畸變和拖尾實(shí)際上對(duì)各種穩(wěn)像方法均會(huì)造成不利的影響。
本方法暫時(shí)還無(wú)法對(duì)畸變和圖像拖尾進(jìn)行補(bǔ)償。因此在工況惡劣的環(huán)境下需要采用幀曝光攝像頭才能保證成像效果。
同理,若前端采用熱像儀,非制冷熱像儀的積分方式和特性將使其在平臺(tái)劇烈抖動(dòng)時(shí)造成較大畸變和拖尾,而制冷熱像儀采用全幀積分,且積分時(shí)間較短的特點(diǎn),將大大降低畸變和拖尾的影響。
圖6 穩(wěn)像實(shí)驗(yàn)效果
本文介紹了基于XC5VLX50T FPGA和MPU- 6050 MEMS陀螺儀的嵌入式實(shí)時(shí)電子穩(wěn)像系統(tǒng)的開發(fā)流程以及實(shí)驗(yàn)效果。系統(tǒng)可對(duì)圖像的橫向、縱向以及旋轉(zhuǎn)方向的抖動(dòng)具有較好的穩(wěn)定效果。系統(tǒng)按場(chǎng)進(jìn)行補(bǔ)償,延時(shí)小于一場(chǎng),對(duì)外圍硬件以及FPGA的資源需求較小,并且還可以進(jìn)一步簡(jiǎn)化。采用MEMS陀螺,可以避免采用圖像匹配一類方法受圖像特征的影響,可將該穩(wěn)像系統(tǒng)應(yīng)用于可見光、紅外等各種攝像應(yīng)用中。
[1] 董立羽, 卜彥龍, 戴斌. 電子穩(wěn)像技術(shù)發(fā)展評(píng)述[J]. 信息技術(shù)與信息化, 2004, 2004(6): 17-20.
[2] 王志民, 徐曉剛. 電子穩(wěn)像技術(shù)綜述[J]. 中國(guó)圖象圖形學(xué)報(bào), 2010, 15(3): 470-480
[3] 吉淑嬌, 朱明, 胡漢平. 基于特征點(diǎn)匹配的電子穩(wěn)像技術(shù)[J]. 中國(guó)光學(xué), 2013, 6(6): 841-849.
[4] 韓穎, 黃劍俠, 高原. MEMS陀螺在紅外成像系統(tǒng)中的研究應(yīng)用[J]. 紅外技術(shù), 2015, 37(3): 248-257.
[5] MPU-6000 and MPU-6050 product specification revision 3.4[EB/OL].[2015-02-15].http://www.invensense.com/mems/gyro/mpu6050.html.
[6] Touraj Tajbakhsh. Real-time global motion estimation for video stabili- zation[C]//,, 2009, 7244: 72440B1-12.
[7] Peng Yu-Chun, Lu Meng-Ting, Chen, Homer. DSP implementation of digital image stabilizer[C]//,2005, 2005: 808-811.
[8] 范永杰, 金偉其, 李力, 等. 基于FPGA的可見光/紅外雙通道實(shí)時(shí)視頻融合系統(tǒng)[J]. 紅外技術(shù), 2011, 33(5): 257-261.
Real-time Video Stabilization System Based on MEMS Gyroscope
FAN Yong-jie,CHEN Hua
(,,650500,)
A real-time video stabilization system is realized by using MEMS gyroscope (MPU-6050) and Xilinx FPGA. Unwanted camera motion (jitter) in horizontal, vertical, and rotation direction could be compensated, and wanted camera motion by the operator could be reserved. The compensation ranges are ±240 pixels in horizontal and vertical direction, and ±45°in rotation direction for PAL video. Time delay of the system iswithin 20ms. Implementation process, hardware consumption, and the experimental result are given.
video stabilization,gyroscope,MEMS,F(xiàn)PGA
TP751
A
1001-8891(2015)09-0724-04
2015-03-02;
2015-04-15.
范永杰(1980-),男,講師,主要從事夜視與紅外技術(shù)、光電圖像處理以及光電檢測(cè)方面的研究與教學(xué)工作。E-mail:fanyj1980@263.net。
省級(jí)項(xiàng)目(人培),編號(hào):KKSY201207066。