武翠云,徐 靜,岳想想,李紹穩(wěn)
(安徽農(nóng)業(yè)大學 信息與計算機學院,安徽 合肥 230036)
作為森林和植物種質(zhì)資源的重要組成部分,竹類種質(zhì)資源具有功能多、用途廣的特點,其采集和保存利用一直受到世界各國的高度重視[1].目前,國內(nèi)外對于竹類種質(zhì)資源信息的采集主要是以人工采集的方式為主,傳統(tǒng)的竹類種質(zhì)資源信息采集采用的是紙質(zhì)采集表的形式,需要耗費大量的人力物力到野外作業(yè),再將采集到的數(shù)據(jù)進行整理、錄入和分析[2],這種作業(yè)方式不僅費時費力而且難以進行圖片等至關(guān)重要的多媒體數(shù)據(jù)的快速采集.竹類種質(zhì)資源研究對圖像的需求不僅僅局限于它的可視性,而且亟需一種實時、移動、多源的采集方式,去獲取集成程度更高(包含基本內(nèi)容、地理位置、方位信息以及其他多媒體信息等)的圖像數(shù)據(jù)信息.野外采集作業(yè)對實時定位有較高的要求,單一的傳統(tǒng)實時定位方法在偏遠山區(qū)時,有時甚至無法進行.隨著定位技術(shù)的發(fā)展和研究的不斷深入,在實現(xiàn)定位的同時,如何提高定位速度實現(xiàn)實時定位始終是個難點.
文中以竹類種質(zhì)資源為研究對象,針對其基礎(chǔ)數(shù)據(jù)信息獲取不便、采集方式落后等問題進行研究,重點解決野外圖像采集時面臨的實時定位問題.
根據(jù)定位策略和定位方式的不同,大體上將移動定位的方法分為基于網(wǎng)絡的定位和基于終端的定位兩種,表1展示了有關(guān)基于網(wǎng)絡定位和基于終端定位的性能比較.基于移動終端的位置服務(如圖1所示)為人們的日常以及野外采集作業(yè)帶來了極大的方便,這也使得移動定位技術(shù)得以迅猛發(fā)展[3-4].
表1 定位技術(shù)方法比較
圖1 基于移動終端的定位技術(shù)架構(gòu)
基于終端的移動定位包括GPS,A-GPS和BDS定位技術(shù),基于網(wǎng)絡的移動定位有Wi-Fi和COO定位技術(shù).由表1可見,基于終端的移動定位服務普遍精度較高,尤其是GPS的覆蓋范圍廣而且全天候,而基于A-GPS和基于BDS的定位技術(shù)成本較高而且操作繁瑣,還要進行設(shè)備改造,使用起來不太實際.同時基于網(wǎng)絡的移動定位服務中Wi-Fi不適用于野外操作,COO雖說精度不高,但是響應時間較短、實現(xiàn)簡單、成本低、硬件要求低,這些優(yōu)越性能超過了它的弊端.綜上所述,若想實現(xiàn)適用于基于智能手機的實時圖像定位方法,僅使用以上哪一種方法可能都不太妥當,如果能將其中兩種移動定位技術(shù)結(jié)合起來,就能克服每種定位方法自身的缺點,同時降低成本,故文中在處理定位問題時,采用了COO與GPS相結(jié)合的方式.GPS衛(wèi)星信號易受干擾,借助COO定位方法的輔助,可以緩解在GPS信號不良的情況下定位的難度,能夠有效提高定位精度[5-7].
圖像的定位一直以來都是野外采集行業(yè)比較棘手的問題,解決定位問題并不困難,難點在于如何提高定位速度實現(xiàn)實時定位.GPS定位易受到干擾,可以利用無損Kalman濾波算法來估計定位系統(tǒng)的各種狀態(tài),并用狀態(tài)的估計值來矯正系統(tǒng).無損Kalman濾波又稱無跡Kalman濾波(unscented Kalman filter,UKF),它可以剔除隨機干擾噪聲從而達到定位更快的目的[8].無損Kalman濾波算法也有缺點,比如定位時會出現(xiàn)一些跟其他數(shù)值相差較大的極端數(shù)值,它屬于不可靠數(shù)據(jù),稱之為異常觀察值.因此如何消除無損Kalman濾波算法中的異常值、提高該算法的“抗野”能力,成了亟需研究的問題.文中針對這一問題提出了如下改進算法.
1.2.1基于最小平方法的Kalman濾波算法
利用最小平方法消除無損Kalman濾波法中的異常值,從而產(chǎn)生一種改進的算法—最小平方法無損Kalman濾波(least square unscented Kalman filter,LSUKF).根據(jù)無損Kalman濾波法的原理,只要進行一次算法計算就要進行一次非線性到線性的靠攏變換,并且利用觀測值進行一次更新修正;但是倘若監(jiān)測出現(xiàn)了問題,再利用觀測數(shù)據(jù)去進行更新修正,只會使數(shù)據(jù)誤差變得更大,異常程度更高[9-10].無損Kalman濾波方程式為
(1)
已經(jīng)獲取的估計值和預測估計值的平均數(shù)計算式為
(2)
(3)
通過最小平方法去估算p,q,計算式為
(4)
得出p,q后將值代到式(1)中就可以得到有異常值時的估計值.
最小平方算法本身具有一個特征,即預估值保持固有的線性,因此消去無損Kalman濾波法中的異常值再使用最小平方法擬合,最終得到的結(jié)果也和之前的變化一致,即有
(5)
1.2.2仿真試驗分析
在Matlab下進行仿真試驗,仿真環(huán)境如下配置:假設(shè)線性的勻加速運動,初始速度、位移都為0,加速度a為一定值,誤差系數(shù)為0.4.系統(tǒng)的狀態(tài)方程為
(6)
測量方程為
(7)
狀態(tài)變量X=[x1,x2,x3]T,其中x1是位置,x2是速度,x3是加速度.在觀測的過程中,人為加入若干異常值,通過無損Kalman濾波進行濾波,效果如圖2所示.
圖2 存在異常值的UKF
假如提前觀測了是否存在異常值,若有,則對其進行異常值摘除,通過LSUKF算法求取近似曲線估計值,濾波效果如圖3所示.圖3中濾波變得平緩,可見使用LSUKF算法可改善異常值對UKF濾波的干擾.
圖3 LSUKF濾波
數(shù)字圖像又稱數(shù)碼圖像,它的表達方式與傳統(tǒng)圖像有所不同,是使用二維數(shù)字或數(shù)組、矩陣進行內(nèi)容表達的圖像.數(shù)字圖像文件的一種格式為“可交換圖像文件”(exchangeable image file,EXIF).目前大多數(shù)的數(shù)碼相機所拍攝的照片使用EXIF文件格式,它存儲著拍照時的一些參數(shù),包含相機型號、拍攝的時間、焦距、GPS信息等.
EXIF在JPEG格式文件中加進了存儲信息的標識段—MS(marker segments),它擁有良好的可擴充性,而且使用起來十分靈活.利用Android操作系統(tǒng)中的ExifInterface類,即可將GPS定位信息寫入到圖像中,實現(xiàn)圖像與定位信息的整合,具體信息整合的步驟如下:
① 初始化,設(shè)置參數(shù),并獲取能放置經(jīng)緯度的對象;
② 寫入緯度信息;
③ 寫入經(jīng)度信息;
④ 采用saveAttributes()方法使得寫入的信息生效.
根據(jù)上述將數(shù)據(jù)與圖像進行整合的方法,建立實時圖像的模型,模型包括圖像信息、基礎(chǔ)數(shù)據(jù)信息、圖像的定位信息3大塊,如圖4所示.將該模型用于文中竹類種質(zhì)資源圖像采集過程,實現(xiàn)竹類圖像、GPS、信息、方位、文本等一體的圖像表達.
圖4 實時定位圖像模型
實時定位系統(tǒng)由Android采集終端和后臺服務器組成,運用Java語言在Eclipse平臺上進行開發(fā),包括開發(fā)環(huán)境的搭建、實時定位圖像采集功能的實現(xiàn)等.
該系統(tǒng)的前端應用于Android平臺環(huán)境下,為研究與開發(fā)開源免費及人性化操作的數(shù)據(jù)采集系統(tǒng)提供了一個好的研發(fā)平臺,也提供了更為靈活的軟件設(shè)計空間;后端則使用Leancloud(云服務器),這種開源服務器的使用不僅解決了后端硬件資源的部署和運維工作,還省掉了業(yè)務系統(tǒng)的開發(fā)和維護成本.系統(tǒng)主要分為3個主要功能模塊和3個輔助功能模塊,如圖5所示.
圖5 竹類種質(zhì)資源數(shù)據(jù)采集系統(tǒng)功能模塊
圖像采集實時定位模塊主要包括4個子模塊:拍照、調(diào)用地圖SDK、電子羅盤以及GPS定位;獲取系統(tǒng)服務中GPS、羅盤服務;設(shè)置監(jiān)聽器;獲取方位信息.調(diào)用ExifInterface類對圖像進行操作,并將采集結(jié)果存入Leancloud.
圖像采集的實時定位過程設(shè)計如圖6所示,大體上分為兩大模塊:可視化圖片及其基本信息采集和位置方位信息采集.可視化圖片信息采集時需要調(diào)用智能手機自帶的相機去攝取采集地的圖片,這時拍攝的照片除了圖像本身還有以它為載體的基礎(chǔ)數(shù)據(jù)信息[11-12].
圖6 實時定位圖像采集過程
LSUKF算法的基本思想如下:采用信號與噪聲的狀態(tài)空間模型,利用前一時刻的估計值和現(xiàn)時刻的觀測值來更新對狀態(tài)變量的估計,求出現(xiàn)時刻的估計值,若現(xiàn)時刻的觀測值出現(xiàn)跟其他數(shù)值相差較大的極端數(shù)值,則利用最小平方法消除異常值再進行估計.此算法適合于實時處理和計算機運算.
假設(shè)線性時變系統(tǒng)的離散狀態(tài)方程和觀測方程為
X(k)=F(k,k-1)·X(k-1)+
T(k,k-1)·U(k-1),
(8)
Y(k)=H(k)·X(k)+N(k),
(9)
式中:X(k)和Y(k)分別為k時刻的狀態(tài)矢量和觀測矢量;F(k,k-1)為狀態(tài)轉(zhuǎn)移矩陣;U(k)為k時刻動態(tài)噪聲;T(k,k-1)為系統(tǒng)控制矩陣;H(k)為k時刻觀測矩陣;N(k)為k時刻觀測噪聲.則LSUKF算法流程如下:
① 預估計:
X(k|k-1)=F(k,k-1)·X(k-1);
② 計算預估計協(xié)方差矩陣:
C(k|k-1)=F(k,k-1)C(k)F(k,k-1)′+
T(k,k-1)Q(k)T(k,k-1)′,
Q(k)=U(k)×U(k)′;
③ 計算Kalman增益矩陣:
K(k)=C(k|k-1)H(k)′[H(k)×
C(k|k-1)H(k)′+R(k)]-1,
R(k)=N(k)×N(k)′;
④ 更新估計:
X(k)~=X(k|k-1)+K(k)[Y(k)-
H(k)X(k|k-1)],
在這一步當觀測值有異常時,利用上述最小平方法消除異常值,再進行更新估計,得到現(xiàn)時刻的估計值;
⑤ 計算更新后估計協(xié)防差矩陣:
C(k)~=[1-K(k)H(k)]C(k|k-1)[1-
K(k)H(k)]′+K(k)R(k)K(k)′,
X(k+1)=X(k)~,
C(k+1)=C(k)~;
⑥ 令k=k+1,重復以上步驟,預測下一時刻的估計值,直到估計結(jié)束.
算法流程圖如圖7所示.
圖7 算法流程圖
將LSUKF算法用于COO與GPS結(jié)合的實時定位中,去除異常值使定位更加準確,最終實現(xiàn)不再是單一數(shù)據(jù)源的實時定位圖像采集.界面顯示有普通、跟隨、羅盤3種模式進行切換,點擊右上角拍照按鈕,采集所需圖片數(shù)據(jù),如圖8所示.
圖8 采集系統(tǒng)界面
獲取圖片成功后,點擊右上角上傳標識將圖片上傳至服務器(如圖9所示),此時上傳的圖片內(nèi)包含有圖片位置、方位等信息的集成.
圖9 圖片獲取示意圖
文中研究了EXIF數(shù)字圖像文件格式,完成了圖像采集實時定位模型的建立,實現(xiàn)了圖像、GPS信息、方位、文本等一體的圖像表達.同時還對基于終端和網(wǎng)絡的兩種移動定位方法進行了研究,對基于實時圖像采集的混合移動定位方法提出了優(yōu)化建議.討論了如何將圖像與定位信息進行整合.通過研究實時定位的常用算法,提出了一種新的改進算法LSUKF,該算法可行性得到了驗證,完成了實時定位圖像采集系統(tǒng)的整體流程設(shè)計與應用,改變了傳統(tǒng)落后的采集方式.有待下一步解決的問題是Kalman濾波在實時定位過程中的噪聲問題.