張久鑫
(1.中國科學(xué)院上海微系統(tǒng)與信息技術(shù)研究所,上海200050;2.上??萍即髮W(xué)信息與技術(shù)學(xué)院,上海201210;3.中國科學(xué)院大學(xué)北京100049)
隨著移動設(shè)備與互聯(lián)網(wǎng)技術(shù)的高速發(fā)展,基于位置服務(wù)(Location Based Service,LBS)得到越來越廣泛的應(yīng)用[1-2],由于GPS系統(tǒng)在室內(nèi)遮蔽環(huán)境下無法準(zhǔn)確定位,人們對LBS的另一核心技術(shù)——室內(nèi)定位技術(shù)提出了更高的要求。評價一項室內(nèi)定位技術(shù)的指標(biāo)主要有精度,成本和易用性等。在當(dāng)前的室內(nèi)定位技術(shù)研究熱點中,基于Wi-Fi、藍(lán)牙等無線電信號的定位技術(shù)[3-4]存在精度上的局限性;超寬帶[2]定位精度較高,但需要佩戴額外標(biāo)簽,不能滿足一般環(huán)境下的應(yīng)用;行人航位推測(Pedestrian Dead Reckoning,PDR)[5-8]易用性強,但存在誤差校正的難題;可見光定位技術(shù)(Visible Light Positioning,VLP)[9-12]精度高,但是成本和易用性難以令人滿意。這些技術(shù)各有優(yōu)劣,但均無法較好地同時滿足精確,廉價和易用的要求。
文中提出了一中基于低分辨率監(jiān)控攝像頭和智能手機(jī)的行人室內(nèi)定位與識別系統(tǒng),應(yīng)用基于卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)的物體追蹤算法進(jìn)行行人追蹤和定位。此系統(tǒng)可以達(dá)到厘米級的定位精確度,并且充分利用建筑物內(nèi)已有的監(jiān)控攝像頭和行人普遍擁有的智能手機(jī),無需額外架設(shè)硬件。同時,行人無需進(jìn)行拍照等復(fù)雜操作即可獲得定位信息,易用性得到保障。
提出的室內(nèi)定位系統(tǒng)框架如圖1所示。系統(tǒng)主要分為兩個主要部分,第一部分是對監(jiān)控攝像頭視頻流的處理。監(jiān)控攝像頭采集視頻數(shù)據(jù)輸入系統(tǒng)后,系統(tǒng)從視頻每一幀中提取出各個運動著的行人的圖像[13],并對視野中的每個人進(jìn)行定位,然后系統(tǒng)提取出每個行人行走的視頻步態(tài)特征。同時,行人手機(jī)中的運動傳感器記錄目標(biāo)行人的運動數(shù)據(jù),系統(tǒng)從中提取出目標(biāo)行人的步態(tài)特征,將其與視頻中各個行人的特征進(jìn)行對比,從而確認(rèn)持有智能手機(jī)的目標(biāo)行人在視頻中對應(yīng)視頻中哪一個行人,最終得到目標(biāo)行人的位置信息并返回給手機(jī)。
圖1 室內(nèi)定位系統(tǒng)框架
在采集視頻數(shù)據(jù)前,對實驗中使用的攝像頭進(jìn)行校準(zhǔn),以消除圖像畸變,以便讓定位后的坐標(biāo)變換是線性且易標(biāo)定的。
文中應(yīng)用高斯混合模型(Gaussian Mixture Model,GMM)提取視頻幀中的運動部分[14]。GMM算法用于分離運動的前景和靜止的背景。高斯模型儲存動態(tài)的背景模型,每個像素點的高斯模型保存著此像素位置上的背景特征。對于圖像中的每一幀,均建立一組高斯模型來擬合背景中的RGB值,當(dāng)新一幀圖像中的像素值輸入后,通過將其與背景高斯模型對比,可以判定此像素是否屬于運動前景。高斯模型的參數(shù)在線下初始化后,在線上根據(jù)持續(xù)輸入的連續(xù)幀中的相應(yīng)位置的像素值來更新,也就是說,高斯模型是動態(tài)的,代表最新的背景特征。
通過GMM算法得到的前景圖像包含陰影,經(jīng)過陰影剪除后,可以得到清晰的行人輪廓。通過形態(tài)學(xué)的開操作和閉操作,可以減少前景圖像周圍的毛刺與斷裂。通過對連接區(qū)域的分析,可以從整個視頻幀的前景中分離出每個人的前景圖像,前景提取和陰影剪除如圖2所示,圖2(a)為視頻幀原圖像;圖2(b)為GMM提取的前景圖像,灰色部分為陰影;圖2(c)為陰影剪除后的前景區(qū)域。
圖2 視頻圖像處理
當(dāng)視頻中的行人容易部分遮擋,無法提取出完整的行人前景輪廓,因此無法進(jìn)行有效的定位。為了解決這一問題,應(yīng)用了基于卷積神經(jīng)網(wǎng)絡(luò)[15]的物體追蹤算法,對行人進(jìn)定位與追蹤。
卷積神經(jīng)網(wǎng)絡(luò)在計算機(jī)視覺領(lǐng)域有著優(yōu)異的表現(xiàn),在物體識別與追蹤上更是體現(xiàn)出遠(yuǎn)遠(yuǎn)超越傳統(tǒng)算法的精度和魯棒性。
在文中的室內(nèi)定位系統(tǒng)的算法中,已知之前幾幀圖片與圖片中行人的邊界框,輸入下一幀圖片,可以求得下一幀中行人的邊界框。首先在上一幀行人邊界框位置附近隨機(jī)取樣,取樣滿足高斯分布。然后對取得的每一個樣本,通過神經(jīng)網(wǎng)絡(luò)的前向傳播得到此樣本作為下一幀行人邊界框的可能性,可能性最大的樣本即為下一幀中的行人邊界框。算法從第一幀開始,逐幀預(yù)測下一幀行人的位置,在行人受到部分遮擋時,追蹤也能繼續(xù)進(jìn)行。將邊界框的下邊界中點近似為行人站立點在視頻上的位置。圖3為行人未受遮擋和受遮擋時CNN追蹤算法效果。
圖3 CNN追蹤定位
下一步我們將行人站立點定位坐標(biāo)從視頻空間轉(zhuǎn)換到實物空間。由于攝像頭已進(jìn)行過去畸變處理,坐標(biāo)轉(zhuǎn)換公式是簡單的線性公式,如下所示:
公式(1)中,(Xr,Yr)為實物空間坐標(biāo),(Xv,Yv)為視頻空間坐標(biāo),R為坐標(biāo)轉(zhuǎn)換矩陣,δ為常數(shù)。對于每個攝像頭,需要在使用之前進(jìn)行坐標(biāo)轉(zhuǎn)換矩陣R和常數(shù)δ的標(biāo)定。從兩個坐標(biāo)空間中采集4對以上的坐標(biāo)值,每對坐標(biāo)值代表同一個點在不同坐標(biāo)系中的兩種值。通過坐標(biāo)代入與最小二乘法,即可求解出近似的R和δ。經(jīng)過坐標(biāo)轉(zhuǎn)換公式,可以得到最終的結(jié)果,即行人在實物空間里的站立點坐標(biāo)值。
視頻中同時存在多個行人,通過上文所述的定位方法,可以得到視頻中每個人的位置信息。接下來,需要提取視頻中每個人的步態(tài)特征,通過視頻步態(tài)特征與智能手機(jī)提取出的步態(tài)特征的比對來找出視頻中哪一個行人對應(yīng)著智能手機(jī)的持有者,即定位服務(wù)的發(fā)起者,從而將正確的位置信息反饋給用戶。在實際應(yīng)用中,截取100幀長度的視頻步態(tài)特征和相對應(yīng)時間長度的智能手機(jī)步態(tài)特征。特征分為行走狀態(tài),步頻和行走方向3個方面。行走狀態(tài)分為走和停,分別用1和0表示;步頻體現(xiàn)行人行走的快慢;方向代表行人前進(jìn)的方位角,我們把北磁極的方向設(shè)為0°方位角。
視頻中的步態(tài)特征從行人前景圖中提取。行人雙腿的形態(tài)變化可以體現(xiàn)出走路的狀態(tài)。在行人前景圖的邊界框內(nèi),下半部分像素區(qū)域可看作雙腿。通過計算邊界框下半部分前景像素所占的比例,可以發(fā)現(xiàn)在行人行走時此比例值是周期性變化的,如圖4所示。視頻中行人兩條腿交疊在一起與兩條腿分開兩種情況下,此比例值一高一低。對曲線作平滑處理并提取極值點的橫坐標(biāo),可以計算出行人行走頻率。如果曲線中的某一段可以提取出明顯的極值點,這這一段曲線所對應(yīng)的幀被判定為行走狀態(tài),反之則為非行走狀態(tài)。相鄰兩幀中行人站立點的連線的方位角即為行人行走的方向。
圖4 目標(biāo)行人的手機(jī)步態(tài)特征
智能手機(jī)中的運動傳感器多種多樣,其中加速度傳感器采集絕對加速度,重力傳感器采集重力加速度,磁感應(yīng)器測定地磁的方向和大小。絕對加速度與重力加速度作差可求得智能手機(jī)相對于實物坐標(biāo)系的相對加速度。相對加速度的絕對值可作為步態(tài)特征的數(shù)據(jù)源。與3.1類似,對相對加速度絕對值曲線作平滑和提取極值點處理后,可以得到步頻和行走狀態(tài)兩種特征。通過磁感應(yīng)器測定的地磁方向,可以計算出手機(jī)相對于地面的傾斜角度,同時已經(jīng)求得加速度極大時加速度相對于手機(jī)的方向,通過坐標(biāo)變換易得加速度極大時加速度相對地面的方向,此方向可以看做行人行走方向,即為方向特征。方向特征只在行走狀態(tài)為1時有意義。
從視頻中和智能手機(jī)運動數(shù)據(jù)中均提取了行走狀態(tài)、步頻和方向3個特征。定位服務(wù)的發(fā)起者持有智能手機(jī),手機(jī)采集的是發(fā)起定位的行人的運動信息。系統(tǒng)從手機(jī)運動信息中提取出步態(tài)特征,然后與視頻中各個行人的視頻步態(tài)特征進(jìn)行對比。我們對連續(xù)100幀圖像時間內(nèi)的特征進(jìn)行比較,計算每一幀的特征匹配度,然后求和,即得到100幀的總匹配度。如圖4~5所示,圖4代表從智能手機(jī)中提取的行人加速度數(shù)據(jù),圖4描繪3名不同行人a,b,c的視頻特征數(shù)據(jù)。以第80幀為例,定位發(fā)起者行走狀態(tài)為行走,a和c的行走狀態(tài)同為行走,行走狀態(tài)差記為0,b在第20幀的行走狀態(tài)為靜止,行走狀態(tài)差為1。頻率差直接記為行走頻率的差值,a和c行走狀態(tài)一致,步頻明顯不同。方向差在差值大于閾值時記為1,在閾值范圍內(nèi)則記為0。對于每一幀,3個特征差的加權(quán)求和即為單幀特征差,然后對100幀的單幀特征差求和,即可得到總差。對每個行人總特征差排序,總特征差最小且小于預(yù)設(shè)閾值的行人被認(rèn)作目標(biāo)行人,系統(tǒng)將此行人位置反饋給定位發(fā)起者。行人a,b,c中,b與目標(biāo)行人的總特征差最小,與目標(biāo)行人匹配成功,b的定位信息反饋給目標(biāo)行人的智能手機(jī)。
圖5 3名行人的視頻步態(tài)特征
實驗場地為12 m×10 m的室內(nèi)空間,攝像頭安裝在坐標(biāo)(6,0)的墻面上,高度距地面3 m。卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)參照MDNet[16],使用MatConvNet深度學(xué)習(xí)框架構(gòu)建。智能手機(jī)型號LG G4,操作系統(tǒng)版本為Android 7.0。
對于沒有受遮擋的行人,定位平均誤差為14.63 cm,對于全程受遮擋行人,定位平均誤差增加到20.26 cm。在圖6顯示無遮擋情況下的一組實驗結(jié)果,定位誤差滿足大多數(shù)應(yīng)用場景的需求。
圖6 定位效果
文中提出一種結(jié)合監(jiān)控攝像頭與智能手機(jī)的行人室內(nèi)識別與定位系統(tǒng),引入基于卷積神經(jīng)網(wǎng)絡(luò)的追蹤算法處理遮擋,并提出了從視頻空間和智能手機(jī)同時提取步態(tài)特征進(jìn)行對比從而識別目標(biāo)行人的算法。此系統(tǒng)精度高,易使用,成本低,平均誤差可達(dá)十厘米以下。同時,此研究為室內(nèi)定位研究領(lǐng)域開辟了一種新的思路。