《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于Android的移動(dòng)電子穩(wěn)像系統(tǒng)的研究與實(shí)現(xiàn)
基于Android的移動(dòng)電子穩(wěn)像系統(tǒng)的研究與實(shí)現(xiàn)
來源:電子技術(shù)應(yīng)用2013年第1期
丁 磊,, 肖麗萍,, 鄧杰航,, 林小平
廣東工業(yè)大學(xué) 計(jì)算機(jī)學(xué)院,, 廣東 廣州 510006
摘要: 利用基于Android操作系統(tǒng)的硬件平臺(tái)實(shí)現(xiàn)了移動(dòng)電子穩(wěn)像系統(tǒng),。該系統(tǒng)采用無需人工干預(yù)的灰度投影算法,,通過行列投影,、投影濾波和相關(guān)計(jì)算獲得運(yùn)動(dòng)補(bǔ)償量,,根據(jù)補(bǔ)償量對(duì)視頻進(jìn)行全局校正。對(duì)穩(wěn)像前后幀的行,、列投影及殘差圖像,,分析表明,該系統(tǒng)穩(wěn)像效果良好,,且具有攜帶方便的特點(diǎn),,易于推廣到各類移動(dòng)終端設(shè)備。
TP399
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2013)01-0112-04
Research and realization of mobile video stabilization system based on Android
Ding Lei,,Xiao Liping,,Deng Jiehang, Lin Xiaoping
School of Computers, Guangdong University of Technology, Guangzhou 510006, China
Abstract: A mobile electronic video stabilization system is implemented. It runs on a hardware platform based on Android. This system applies a projection algorithm, which contains three parts: an image gray projection, projection filtering and correlation calculation, to compute the motion offset. According to the offset the video is stabilized at last. In experiments, the comparison of row and column projections between the original frame and the stabilized one, and the analysis of residual images show that the system works well and is easy-carried. It is easy to be extended to other mobile terminals.
Key words : mobile video stabilization; Android; motion estimation; projection algorithm

    對(duì)存在抖動(dòng)的視頻進(jìn)行高精度圖像拼接,、運(yùn)動(dòng)目標(biāo)檢測和跟蹤時(shí),,必需對(duì)視頻進(jìn)行穩(wěn)像處理。視頻的抖動(dòng)是由于在拍攝時(shí),,手的抖動(dòng)或攝像平臺(tái)的不規(guī)則運(yùn)動(dòng)都會(huì)引起視頻圖像序列產(chǎn)生模糊和抖動(dòng),,嚴(yán)重影響了圖像信息的有效利用。穩(wěn)像技術(shù)的目的就是要去除視頻中的抖動(dòng),,使得視頻播放更連續(xù),、穩(wěn)定。

    近年來,,國內(nèi)外學(xué)者在該領(lǐng)域做了大量的研究與努力,,并取得了一定的成果。國外對(duì)電子穩(wěn)像技術(shù)的研究起步較早,,許多發(fā)達(dá)國家對(duì)電子穩(wěn)像技術(shù)在軍事方面的應(yīng)用進(jìn)行了較為深入的研究,,如美國、加拿大和俄羅斯等國家,。美國馬里蘭大學(xué)(University of Maryland)主要在軍用穩(wěn)像技術(shù)方面進(jìn)行研究,開發(fā)出了多種穩(wěn)像方法[1],。中國科學(xué)院長春光學(xué)精密機(jī)械與物理研究所趙紅穎[2]、鐘平[3]等人對(duì)電子穩(wěn)像技術(shù)的基本原理和應(yīng)用范圍進(jìn)行了初步研究,,對(duì)船載和機(jī)載攝像系統(tǒng)所獲取的圖像序列也進(jìn)行了穩(wěn)定的實(shí)驗(yàn)研究,,并取得了一定的效果。清華大學(xué)朱志剛,、楊雨東等人通過采用基于多分辨率金字塔匹配方法的光流法來計(jì)算幀間運(yùn)動(dòng)矢量,,并進(jìn)行了電子穩(wěn)像的實(shí)驗(yàn)研究[4]。西安電子科技大學(xué)機(jī)電工程學(xué)院ICIE研究所朱娟娟,、郭寶龍等人針對(duì)圖像序列的抖動(dòng),,研究了攝像機(jī)的抖動(dòng)和正常掃描這兩種運(yùn)動(dòng)的特點(diǎn),提出了一種帶運(yùn)動(dòng)修正的投影穩(wěn)像算法[5],。
     但是以上研究都是基于“攝像機(jī)—圖像采集卡—計(jì)算機(jī)”模式進(jìn)行,,存在攜帶不方便的缺點(diǎn)。張博等人研究并設(shè)計(jì)了基于FPGA的電子穩(wěn)像專用平臺(tái)[6]。該穩(wěn)像系統(tǒng)是一個(gè)專用的穩(wěn)像系統(tǒng),,難于與目前大多數(shù)移動(dòng)平臺(tái)整合在一起,,不便推廣。本文根據(jù)實(shí)際應(yīng)用中對(duì)實(shí)時(shí)移動(dòng)電子穩(wěn)像系統(tǒng)的需求,,在以三星公司ARM芯片為核心技術(shù)的平板電腦SMDKV210上,,基于通用的Android移動(dòng)操作系統(tǒng),采用無人工干預(yù)的灰度投影算法實(shí)現(xiàn)了移動(dòng)電子穩(wěn)像系統(tǒng),。
1 電子穩(wěn)像系統(tǒng)的原理與算法
1.1電子穩(wěn)像的基本原理
    電子穩(wěn)像穩(wěn)定是一個(gè)圖像序列,,圖像序列的不穩(wěn)定是由于幀與幀之間圖的像變化,并在圖像顯視器上顯示出來,?;谶@種分析,電子穩(wěn)像所要處理的就是通過求出視頻序列中各幀之間的變化,,然后以運(yùn)動(dòng)補(bǔ)償?shù)姆椒ㄈコ@種變化,,達(dá)到整個(gè)視頻序列穩(wěn)定的目的。其原理如圖1所示,。

    圖1(a),、圖1(b)分別表示當(dāng)圖像序列沒有抖動(dòng)時(shí),當(dāng)前幀B處圖像和參考幀A處圖像相匹配,。但當(dāng)攝像機(jī)固定時(shí),由于攝像機(jī)載體的運(yùn)動(dòng),,導(dǎo)致參考幀中位置A處的圖像移動(dòng)到了位置C處,。在顯示器上觀察時(shí),就會(huì)出現(xiàn)抖動(dòng)現(xiàn)象,,影響觀測效果,。而電子穩(wěn)像就是消除或減弱這種抖動(dòng)現(xiàn)象,通過一定的運(yùn)動(dòng)估計(jì)算法,,估算出A處圖像塊到C處圖像塊的位移和旋轉(zhuǎn)等參數(shù),,再通過運(yùn)動(dòng)補(bǔ)償算法,達(dá)到校正抖動(dòng)的目的,。
1.2 電子穩(wěn)像系統(tǒng)的基本結(jié)構(gòu)
    電子穩(wěn)像系統(tǒng)基本結(jié)構(gòu)如圖2 所示,。系統(tǒng)的三個(gè)模塊中,圖像預(yù)處理模塊用于濾除圖像噪聲,,提高整個(gè)系統(tǒng)對(duì)外界環(huán)境變化的穩(wěn)定性,;運(yùn)動(dòng)估計(jì)模塊是整個(gè)系統(tǒng)的核心,可以得到由于攝像平臺(tái)抖動(dòng)而帶來的幀間全局運(yùn)動(dòng)矢量和目標(biāo)物體的運(yùn)動(dòng)矢量,;運(yùn)動(dòng)補(bǔ)償模塊是在運(yùn)動(dòng)估計(jì)的基礎(chǔ)上,,利用前一幀對(duì)當(dāng)前幀進(jìn)行補(bǔ)償,采用不同的補(bǔ)償方式對(duì)最終輸出的圖像序列會(huì)產(chǎn)生不同的影響。

1.3 灰度投影算法
    傳統(tǒng)的塊匹配法[7]存在計(jì)算量大的問題,,而且需設(shè)定目標(biāo)的初始位置,,增加了后續(xù)穩(wěn)像的不確定因素。盡管不斷提出對(duì)塊匹配算法的改進(jìn),,但仍然很難滿足實(shí)時(shí)性的要求,。灰度投影算法[8](Projection Algorithm)充分利用了圖像總體灰度分布的變化規(guī)律,,無需人工干預(yù),,只需要對(duì)圖像行列的投影曲線做一次相關(guān)運(yùn)算,就能較準(zhǔn)確地獲取當(dāng)前幀相對(duì)于參考幀的運(yùn)動(dòng)矢量,大大降低了計(jì)算量,,而且保證了較高的計(jì)算精度,。灰度投影算法可分解成圖像灰度映射,、投影濾波和相關(guān)計(jì)算三個(gè)主要的步驟,。
1.3.1 圖像灰度映射[9]
     輸入圖像序列中的每一幀圖像經(jīng)過預(yù)處理后,將初始的二維圖像信息映射成兩個(gè)獨(dú)立的一維信息。計(jì)算公式為:
     

2 基于Android移動(dòng)電子穩(wěn)像系統(tǒng)的實(shí)現(xiàn)
2.1 硬件平臺(tái)

    系統(tǒng)的硬件平臺(tái)為SMDKV210平板電腦,。處理器型號(hào)ARMv7 Processor rev2(v71),,單核;集成370 MB內(nèi)存,,2.5 GB SD卡,;屏幕大小764×480像素;Android操作系統(tǒng)版本為4.0.3,。上位機(jī)為Lenovo公司ThinkPad E40系列,;Intel(R)酷睿i3處理器,主頻2.53 GHz,;內(nèi)存容量2 GB,。操作系統(tǒng)UBUNTU 11.04(natty)。
2.2 Android的系統(tǒng)架構(gòu)
    Android平臺(tái)[10]自底向上由以下4個(gè)層次組成:Linux內(nèi)核層,、Android運(yùn)行時(shí)庫和其他庫層,、應(yīng)用框架層、應(yīng)用程序?qū)印?br/>     (1)Linux內(nèi)核層:Android系統(tǒng)基于Linux2.6內(nèi)核,,其核心系統(tǒng)服務(wù)(安全性,、內(nèi)存管理、進(jìn)程管理,、網(wǎng)路協(xié)議以及驅(qū)動(dòng)模型)都依賴于Linux內(nèi)核,。
    (2)Android運(yùn)行時(shí)庫和其他庫層:Android運(yùn)行時(shí)庫包含一組核心庫(提供了Java語言核心庫內(nèi)的大部分功能)和Dalvik虛擬機(jī)。同時(shí)Android提供了其他豐富的庫類支持,。

    (3)應(yīng)用框架層:Android系統(tǒng)開發(fā)的基礎(chǔ),,很多核心應(yīng)用程序通過這一層來實(shí)現(xiàn)其核心功能,。
   (4)應(yīng)用程序?qū)樱篈ndroid平臺(tái)不僅僅是操作系統(tǒng),也包含了許多應(yīng)用程序,,如SMS短信客戶端程序,、電話撥號(hào)程序、圖片瀏覽器及Web瀏覽器等,。
    通過使用 Android Eclipse 插件,,可在Eclipse 環(huán)境中構(gòu)建 Android 應(yīng)用程序[11]。
    依次安裝Sun JDK 7,,版本號(hào):1.7.0_03,;Eclipse IDE,版本號(hào):3.7.2(indigo),;Android SDK,,版本號(hào):r17;Android開發(fā)插件(ADT),;Android NDK,,版本號(hào):android-ndk-r8。
2.3 移動(dòng)電子穩(wěn)像系統(tǒng)的軟件開發(fā)
    Android應(yīng)用工程目錄下主要包含了src,、jni,、libs、res 4個(gè)文件夾和AndroidManifest.xml全局配置文件,project.properties工程屬性文件等,。
    src文件夾下存放著Java應(yīng)用程序,,其中必須包含至少一個(gè)activity活動(dòng)。本文中調(diào)用攝像頭捕捉幀視頻等工作都是在這里完成,,工作流程圖如圖3所示,。res文件夾是應(yīng)用的資源文件夾(如圖片、xml文件等),;libs文件夾包含成功編譯后的本地庫;jni文件夾內(nèi)包含了應(yīng)用中用到的C/C++穩(wěn)像源代碼和NDK的編譯腳本Android.mk,、Application.mk,。這兩個(gè)腳本文件是由Makefile語言所寫,寫明了C++程序的編譯流程,,在整個(gè)應(yīng)用中起著至關(guān)重要的作用,。穩(wěn)像算法原理流程圖如圖4所示。

3 實(shí)驗(yàn)結(jié)果與分析
    本文通過平板電腦上的攝像機(jī)采集視頻進(jìn)行穩(wěn)像處理,。經(jīng)過測試,,其處理圖像的穩(wěn)像速率達(dá)到了15.68 f/s,滿足了實(shí)時(shí)性的要求,。
    為了驗(yàn)證灰度投影算法在電子穩(wěn)像中的效果,,對(duì)連續(xù)的多幀圖像進(jìn)行單子穩(wěn)像仿真實(shí)驗(yàn),。圖5、圖6分別反映的是穩(wěn)像前后連續(xù)6幀圖像的行投影值曲線從圖中可以清楚地看到穩(wěn)像前各幀圖像的行投影值曲線形狀接近,,但位置在橫坐標(biāo)方向上有較大的波動(dòng)差異,,而穩(wěn)像后的行投影值曲線形狀和位置基本一致。說明本文的穩(wěn)像處理算法能夠準(zhǔn)確計(jì)算出每幀圖像的位移矢量,,并根據(jù)位移矢量準(zhǔn)確穩(wěn)定圖像,。

    為了進(jìn)一步驗(yàn)證本文穩(wěn)像算法的準(zhǔn)確性,針對(duì)參考幀與當(dāng)前幀的殘差幀圖像的區(qū)別進(jìn)行了分析,。對(duì)參考幀與當(dāng)前幀做差值運(yùn)算,,結(jié)果如圖7(a)所示,圖中標(biāo)識(shí)1為參考幀圖像,,標(biāo)識(shí)2為目標(biāo)公交車的輪廓,,可以看出幀圖像的大致輪廓,這是由于車身的抖動(dòng),,穩(wěn)像前當(dāng)前幀與參考幀之間存在位移的偏差,。重合區(qū)域?yàn)楹谏珔^(qū)域代表差值像素為零。圖7(b)為穩(wěn)像后對(duì)應(yīng)兩幀的殘差圖像,圖中標(biāo)識(shí)3為目標(biāo)公交車的輪廓,??梢姡?jīng)過穩(wěn)像處理后,,對(duì)應(yīng)兩幀重合區(qū)域大,。說明穩(wěn)像效果較好。

 

 

    本文在研究各種電子穩(wěn)像技術(shù)算法的基礎(chǔ)上,,基于Android操作系統(tǒng)的移動(dòng)硬件平臺(tái),,實(shí)現(xiàn)了移動(dòng)電子穩(wěn)像系統(tǒng)。該系統(tǒng)無需人工干預(yù),,采用灰度投影,、運(yùn)動(dòng)補(bǔ)償算法進(jìn)行穩(wěn)像處理。穩(wěn)像后的行列投影和殘差圖像分析表明,該系統(tǒng)在移動(dòng)平臺(tái)上能夠進(jìn)行穩(wěn)像處理,,其穩(wěn)像速率達(dá)到了15.68 F/s,。而且該系統(tǒng)攜帶方便,易于推廣到各類移動(dòng)終端設(shè)備,,并為推動(dòng)穩(wěn)像技術(shù)的應(yīng)用和后續(xù)的視頻拼接,,運(yùn)動(dòng)目標(biāo)的識(shí)別、跟蹤等提供幫助,。
參考文獻(xiàn)
[1] BALAKIRSKY S B,, CHELLAPPA R. Performance charac terization of image stabilization algorithms[J]. Real-Time Imaging,1996(2):297-313.
[2] 趙紅穎,金宏,,熊經(jīng)武.電子穩(wěn)像技術(shù)概述[J].光學(xué)精密工程,2001,9(4):353-359.
[3] 鐘平.機(jī)載電子穩(wěn)像技術(shù)研究[D]. 長春:中國科學(xué)院長春光學(xué)精密機(jī)械與物理研究所,2004.
[4] 楊雨東,, 徐光祐,, 朱志剛. 2.5維數(shù)字圖像序列穩(wěn)定方法[J].計(jì)算機(jī)學(xué)報(bào),1988,21(z1):277-284.
[5] 朱娟娟,郭寶龍,,馮宗哲.一種基于灰度投影算法的電子穩(wěn)像方法[J].光子學(xué)報(bào),2005,34(8):1266-1269.
[6] 張博,吳芝路,張欣宇.基于FPGA的電子穩(wěn)像平臺(tái)的研究[J].電子技術(shù)應(yīng)用,2004,30(5):56-60.
[7] 張國棟, 王明泉, 郭棟.基于灰度投影算法的實(shí)時(shí)電子穩(wěn)像研究[J].微電子學(xué)與計(jì)算機(jī),2010,27(10):53-56.
[8] 張國棟.基于電子穩(wěn)像技術(shù)的視頻穩(wěn)像研究[D].太原:中北大學(xué),2010.
[9] 孫輝.快速灰度投影算法及其在電子穩(wěn)像中的應(yīng)用[J].光學(xué)精密工程,2007,15(3):412-416.
[10] 韓超, 梁泉. Android系統(tǒng)原理及開發(fā)要點(diǎn)詳解[M]. 北京:電子工業(yè)出版社,2009.
[11] Installing the Eclipse Piugin[EB/OL].[2012-09-10]. http://developer.android.com/sdk/instal-ling/installing-adt.html.

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。