劉 偉,程春玲,杜金楷,章丁祥
(南京郵電大學 計算機學院,江蘇 南京 210003)
隨著網(wǎng)絡信息技術(shù)的發(fā)展,基于室內(nèi)位置服務的需求大幅增加,如安防救援和工業(yè)生產(chǎn)流程的可視化、商場定位、病患位置監(jiān)測等,因此對高精度室內(nèi)定位技術(shù)的研究具有非常重要的現(xiàn)實意義[1]。但由于信號的衰減、多徑效應、軟件不適配等多種原因,傳統(tǒng)的室外定位設(shè)施并不能在室內(nèi)有效的工作,室內(nèi)定位的精度和穩(wěn)定性無法達到要求。目前,采用不同通信手段的定位技術(shù)不斷涌現(xiàn),基于Wi-Fi信號的室內(nèi)定位技術(shù)相對于藍牙、紅外線等技術(shù)來說具有成本低、覆蓋率高、信號穩(wěn)定等優(yōu)點,有著更大的研究潛力[2]。近年來,深度學習迅速發(fā)展,其中卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network,CNN)在圖像分類、人類活動識別等方向被廣泛應用。在室內(nèi)定位中引入CNN,構(gòu)建位置圖像并實現(xiàn)位置分類是一種非常新穎的定位方式。文獻[3]中提出了將深層卷積神經(jīng)網(wǎng)絡和指紋定位相結(jié)合的定位方案Ci-Fi,利用Wi-Fi的信道狀態(tài)信息(Channel State Information,CSI)構(gòu)建圖像,利用深層卷積神經(jīng)網(wǎng)絡(Deep Convolutional Neural Network,DCNN)實現(xiàn)位置分類,但DCNN模型存在擬合能力弱、未知位置識別能力弱的問題。
針對DCNN存在的問題,該文對其進行改進,提出了能夠識別未知位置的I-DCNN(Improved-Deep Convolutional Neural Network)模型。調(diào)整了DCNN結(jié)構(gòu),通過提升模型復雜度、增加(Batch Normalization,BN)、更換激活函數(shù)等手段解決了DCNN在不同數(shù)據(jù)集上擬合能力有差異的問題;利用數(shù)據(jù)增強方式擴充數(shù)據(jù)集,增加dropout層防止過擬合,提升了DCNN在測試集上的定位精度;將DCNN與I-Openmax(Improved-Openmax)算法相結(jié)合,利用I-Openmax層代替DCNN中的softmax層,實現(xiàn)了未知位置識別。
基于Wi-Fi的定位技術(shù)常常使用接收信號強度(Received Signal Strength,RSS)[4]或CSI來進行定位[5]。CSI是Wi-Fi信道的物理層數(shù)據(jù),其中含有的幅值和相位信息無論數(shù)據(jù)穩(wěn)定性和數(shù)據(jù)精度都高于RSS。因此包含細粒度信道信息的CSI數(shù)據(jù),可以提供更高的定位精度。目前室內(nèi)定位技術(shù)大都嘗試將基于RSS室內(nèi)定位技術(shù)與深度學習相結(jié)合,實現(xiàn)位置分類。為了解決接收信號強度指示(Received Signal Strength Indication,RSSI)易隨時間和環(huán)境的變化而變化的問題,劉偉明團隊提出了一種基于深度負相關(guān)學習的WiFi室內(nèi)定位模型[6],該模型通過負相關(guān)學習約束,不同的學習器學習多個表征特性,極大地提高了模型的泛化能力,很好地解決了該問題。Ayesha Sahar團隊首次嘗試將長短期記憶(Long Short-Term Memory,LSTM)神經(jīng)網(wǎng)絡與基于RSS定位技術(shù)相結(jié)合,實現(xiàn)室內(nèi)定位[7]。該方案將定位過程分為兩個階段,離線階段利用RSS信號構(gòu)建WiFi指紋序列,在線階段利用搭建好的LSTM模型實現(xiàn)定位。由于RSS信號的特性,上述方案數(shù)據(jù)獲取成本低,但定位精度無法達到要求。
CSI數(shù)據(jù)由于包含細粒度信道信息,可以提供更高的定位精度。Ci-Fi室內(nèi)定位系統(tǒng)[3]是將卷積神經(jīng)網(wǎng)絡與基于CSI定位技術(shù)相結(jié)合的室內(nèi)定位方案,該方案利用CSI相位特征計算相位差并估計到達角(Angle Of Arrival),證明AoA值的穩(wěn)定性,最后利用AoA值構(gòu)建尺寸60×60的數(shù)據(jù)圖像。離線階段,搭建DCNN模型,利用來自訓練位置的圖像訓練DCNN,在線定位階段,使用一種基于概率的多圖像定位算法實現(xiàn)圖像位置的估計。該方案使用CSI進行室內(nèi)定位,提升了室內(nèi)定位精度,但該方案存在不同數(shù)據(jù)集上擬合能力差異顯著、未知位置識別能力弱的問題。
該文通過實驗發(fā)現(xiàn),DCNN存在如下問題:(1)不同數(shù)據(jù)集下擬合不穩(wěn)定;(2)未知位置識別魯棒性弱;(3)在嘗試提升模型擬合能力后,其定位精度仍低于使用預期。因此,該文提出新的深度學習模型I-DCNN,結(jié)構(gòu)如圖1所示。
圖1 I-DCNN結(jié)構(gòu)
如圖1所示,I-DCNN針對DCNN模型存在的問題進行改進,針對擬合能力差的問題調(diào)整模型結(jié)構(gòu),提升模型復雜度;針對定位精度問題擴充訓練集,增加dropout層;針對未知位置識別能力弱的問題使用I-Openmax算法代替DCNN中的softmax層。
為提升模型的擬合能力并細化每一層的特征學習,I-DCNN提升了模型的深度。為了學習到更為豐富的圖片特征,提升了模型每一層的寬度[8]。對模型結(jié)構(gòu)的調(diào)整如下:(1)全連接層隱藏層層數(shù)從1層增加到2層;(2)增加全連接層網(wǎng)絡寬度,將隱藏層第一層神經(jīng)元數(shù)量從64提升到128。
DCNN模型使用的激活函數(shù)是Sigmoid,Sigmoid激活函數(shù)有如下缺點:(1)容易出現(xiàn)梯度消失現(xiàn)象,當激活函數(shù)接近飽和區(qū)時,變化太緩慢,導數(shù)接近0,從而無法完成深層網(wǎng)絡的訓練;(2)Sigmoid函數(shù)的輸出不是0均值,會對梯度產(chǎn)生影響,使得收斂緩慢。LeakyReLu函數(shù)[9]則是對ReLu函數(shù)的一種改進版本,它用一個類似于0.01的小值來初始化神經(jīng)元,從而解決神經(jīng)元壞死問題。LeakyReLu函數(shù)表達式如式(1)所示:
f(x)=max(0.01x,x)
(1)
其中,x表示激活函數(shù)前網(wǎng)絡層輸出,實驗表明,LeakyReLu函數(shù)相較Sigmoid函數(shù),解決了梯度消失的問題,加快了模型收斂速度。
BN層[10]是近年來深度學習方向的重要突破,已經(jīng)被廣泛證明其有效性和重要性。BN層本質(zhì)上則是通過一定規(guī)范化手段,將每一層輸入值變換到均值為0,方差為1的標準正態(tài)分布,公式如式(2)、式(3)所示:
(2)
(3)
其中,γ和β是可學習參數(shù),m指的是mini-batch size,xi指的是當前層輸入。該文在所有卷積層后面加入了BN層,使得每層輸入保持獨立同分布。
DCNN模型使用的是SGD優(yōu)化器,但SGD由于更新頻繁,會造成損失函數(shù)有嚴重的振蕩,容易陷入局部極小值,且SGD對于學習率比較敏感,需要花費較多的時間在學習率的調(diào)整上。所以對優(yōu)化器進行改進,使用基于自適應學習率算法的AdamW優(yōu)化器[11],AdamW優(yōu)化器是在Adam和L2正則化基礎(chǔ)上進行改進的自適應算法,為解決SGD收斂性問題而提出。
3.4節(jié)的實驗表明,在經(jīng)過上述改進后,模型擬合能力明顯增強,能夠順利學習數(shù)據(jù)特征。但改進后的模型存在泛化能力不夠的問題。
在解決模型欠擬合問題后,模型的定位精度低于預期,DCNN有過擬合趨勢。過擬合是機器學習方法設(shè)計不好的一個重要問題,推測由于解決方案不夠合理,改進后的模型產(chǎn)生了過擬合問題。
模型在測試集上表現(xiàn)較差,模型處于過擬合狀態(tài),可能由于訓練集數(shù)據(jù)過少,無法描述問題的真實分布,所以嘗試通過圖像平移和翻轉(zhuǎn)等方式擴充數(shù)據(jù)集[12]。通過3.2節(jié)所示數(shù)據(jù)采集方法采集數(shù)據(jù),訓練集中每個位置可構(gòu)建53幅60×112的數(shù)據(jù)圖像,共構(gòu)建477張圖像。通過圖像翻轉(zhuǎn)、平移、裁剪等方式將數(shù)據(jù)集擴充到750張圖像,實驗結(jié)果表明該方法能夠在一定程度上解決改善過擬合問題。
該文在DCNN模型的全連接層加入了兩層dropout層,有效避免了模型過擬合。dropout操作[13]防止過擬合原因:(1)dropout起到取平均的作用;(2)減少神經(jīng)元之間復雜共適應關(guān)系。加入dropout層后,模型過擬合問題基本解決,在已知位置上表現(xiàn)較好,但是當測試集包含未知位置時,模型性能有較為顯著的下降,所以將DCNN與I-Openmax算法相結(jié)合,提升未知位置識別能力。
室內(nèi)定位常常要求對任意位置進行定位,模型在訓練階段僅對已采集的標記點位進行學習,對新的位置的預測精度較低。為實現(xiàn)未知位置分類,該文首先嘗試將Openmax算法[14]與DCNN模型相結(jié)合,使用Openmax層代替DCNN全連接層中的softmax層。傳統(tǒng)的softmax層只能輸出圖像屬于各個已知位置的概率,而Openmax層可以同時輸出圖像屬于已知位置和未知位置的概率。用Openmax替換softmax層,測試結(jié)果表明現(xiàn)有的Openmax算法在識別未知位置圖像時準確率較高,能夠準確地將其判斷為unknown。但當識別已知圖像時,有一定的可能將已知圖像識別成unknown。
因此對Openmax算法進行改進,提出I-Openmax算法。I-Openmax算法實現(xiàn)流程如下:(1)訓練階段,利用與Openmax同樣方法擬合分布模型;(2)測試階段,給定位置每4張測試圖像分為一組,該位置的一組圖像輸入模型中,經(jīng)過Openmax計算輸出。判斷4張圖像輸出結(jié)果,當不少于3張圖像被判定為unknown時,判斷該位置為未知位置,否則,判斷該位置為已知位置,將數(shù)據(jù)輸入原來的softmax層進行計算,輸出判斷結(jié)果。計算代碼如下所示:if numunknownlocation is unknown else Softmax,其中numunknown表示4張輸入圖像被判斷為未知位置的數(shù)量,Softmax表示將Openmax替換成softmax層進行操作。
(1)數(shù)據(jù)采集硬件環(huán)境。
在10 m×7 m的空曠會議室中對實現(xiàn)的I-DCNN模型進行測試,使用了2臺安裝了Intel Wi-Fi Link 5300無線網(wǎng)卡和Ubuntu操作系統(tǒng)的筆記本分別作為發(fā)射端和接收端,發(fā)射端使用1根天線,接收端使用3根天線,將工作頻率設(shè)置為5 GHz。
(2)仿真的軟硬件環(huán)境。
仿真實驗在筆記本電腦上完成,配置為:Intel i5,硬盤512 G,windows10,采用Pytorch框架構(gòu)建實驗所需的神經(jīng)網(wǎng)絡模型,使用MATLAB對于采集到的數(shù)據(jù)進行預處理,使用PyCharm作為編寫程序的IDE,最后的網(wǎng)絡訓練和測試環(huán)節(jié)均在Google的Colab平臺上完成。
數(shù)據(jù)采集方式如下:以會議室平面圖右上角作為原點,將接收端固定在原點處,發(fā)射端與接收端的距離設(shè)置為1.3 m,將發(fā)射端繞接收端做圓周運動。分別采集0°、22.5°、45°、67.5°、90°、112.5°、135°、157.5°、180°這9個角度的數(shù)據(jù),為每個位置采集4 000條數(shù)據(jù),共采集36 000條數(shù)據(jù)。接收端有三根天線,每根天線提供30個子載波信號,所以每條數(shù)據(jù)包含90個子載波信號。對數(shù)據(jù)集按照8∶1∶1進行劃分,80%數(shù)據(jù)作為訓練集,10%數(shù)據(jù)作為驗證集,10%數(shù)據(jù)作為測試集。
數(shù)據(jù)圖像構(gòu)建方式如下,利用MATLAB從子載波數(shù)據(jù)集中提取CSI相位數(shù)據(jù),計算天線之間的CSI相位數(shù)據(jù)差值,每條數(shù)據(jù)最終可以得到60個CSI相位差值,選取60條數(shù)據(jù)構(gòu)建圖像,可以構(gòu)建出一幅大小為60×60的數(shù)據(jù)圖像。采用該構(gòu)建方式分別對訓練集和測試集進行圖像構(gòu)建。訓練集中,每個位置可以構(gòu)建53幅圖像,訓練集共可以構(gòu)建477幅圖像,通過數(shù)據(jù)增強的方式將訓練集擴充至750幅圖像。測試集中,每個位置可以構(gòu)建13幅圖像,測試集共可以構(gòu)建117幅圖像。
實驗評價指標如下:
(1)均方誤差(Mean Square Error,MSE)。
若待測點估計位置的角度和真實位置的角度分別為θi和θ0,則通過多次實驗之后,定位系統(tǒng)定位偏離期望值的幅度可用均方誤差表示,其計算公式如式(4)所示:
MSE=[(θi-θ0)2]
(4)
(2)平均絕對誤差(Mean Absolute Error,MAE)。
若待測點估計位置的角度和真實位置的角度分別為θi和θ0,多次輸入測試圖像后,每次輸出值及其絕對誤差不會相同,將各次測量的絕對誤差取絕對值后再取平均值,稱其為絕對平均誤差,計算公式如式(5)所示:
(5)
(3)識別準確率R。
利用指標R來描述模型訓練過程中每次迭代后的準確率,在訓練集每張CSI圖像的輸出中挑選概率最大的位置作為其輸出,并與該圖像位置標簽進行比較,在所有訓練集圖像輸出完畢后,計算判斷正確的位置圖像占圖像總數(shù)比例。R計算公式如式(6)所示:
(6)
其中,N表示訓練集圖像總數(shù),predsi表示第i張圖像的輸出,labeli表示第i個訓練圖像的標簽,total_num表示測試圖像總數(shù)量。
(1)DCNN擬合能力分析。
設(shè)置訓練批次batch_size=16,迭代次數(shù)epoch=40,損失函數(shù)為交叉熵損失函數(shù)(cross entropy loss)。在不同學習率下對模型進行多次訓練,選取loss收斂后損失值最低的模型作為最優(yōu)模型。對比學習率分別為0.001、0.005、0.01、0.05、0.1、0.5時的最優(yōu)模型在訓練集上的擬合情況,如圖2所示。
(a)0.001、0.007、0.01學習率擬合表現(xiàn) (b)0.05、0.1、0.5學習率擬合表現(xiàn)
從圖2可以看出,多次調(diào)整學習率,模型仍然處于一種欠擬合狀態(tài),無法學習CSI圖像的數(shù)據(jù)特征,其擬合能力無法達到要求。
(2)I-DCNN模型擬合能力分析。
選取AlexNet模型和DCNN模型作為擬合能力對比模型,AlexNet模型是2012年ImageNet競賽的冠軍模型,是圖像分類領(lǐng)域的經(jīng)典模型,DCNN則在室內(nèi)定位方案中展示了強大的圖像分類能力,該文選取這兩種模型與I-DCNN進行擬合能力對比分析。對AlexNet模型和DCNN模型進行調(diào)優(yōu)后,將I-DCNN在訓練集上的擬合能力和DCNN以及AlexNet進行對比,訓練批次batch-size=16,迭代次數(shù)epoch=40,DCNN學習率a=0.1,AlexNet學習率b=0.01。三種模型在同一訓練集上擬合能力如圖3所示。
圖3 I-DCNN與DCNN和AlexNet對比
對三種模型的訓練時間進行了比較,對三種模型進行10次訓練,訓練時間取平均值,三種模型訓練時間如表1所示。
表1 三種模型訓練耗時對比
從表1可以看出,AlexNet由于模型復雜度較高,所以運行時間明顯較長,DCNN運行時間最短,I-DCNN時間適中。從圖3可以看出,I-DCNN可以較快收斂,且波動較小,而AlexNet和DCNN正確率均在0.1左右波動,處于欠擬合狀態(tài)。實驗結(jié)果表明,I-DCNN具有更好的擬合能力。
由于DCNN模型和AlexNet模型在文中訓練集上處于欠擬合狀態(tài),所以無法將三者的定位性能進行進一步比較。而基于SVR的室內(nèi)定位算法[15]在文中數(shù)據(jù)集上也取得了很好的效果,所以選取SVR算法與基于I-DCNN室內(nèi)定位算法進行比較。分別對兩種算法進行了30次測試,測試結(jié)果取平均值,結(jié)果如圖4所示。
(a)識別準確率對比 (b)MSE對比 (c)MAE對比
(1)識別準確率R比較。
圖4分別展示在不包含未知位置,包含未知位置不使用I-Openmax算法以及包含未知角使用I-Openmax算法三種情況下,兩種算法的性能表現(xiàn)。圖4(a)顯示當未使用I-Openmax算法,不包含未知角情況下兩種算法識別準確率都達到了95%以上。當測試集包含未知位置,兩者的識別準確率都降到了90%以下。當使用I-Openmax算法的時候,I-DCNN的性能明顯好于傳統(tǒng)機器學習算法。
(2)MSE比較。
從圖4(b)可以看出,當不包含未知位置時,兩者均方誤差都較低。當包含未知位置時,兩者均方誤差顯著升高,但I-DCNN明顯好于傳統(tǒng)機器學習SVR,證明對于未知位置的估計,使用圖像定位算法后的I-DCNN效果要好于SVR。當使用I-Openmax算法后,I-DCNN的均方誤差要明顯小于SVR。
(3)MAE比較。
平均絕對誤差刻畫了預測值和其真實值之間的距離,從圖4(c)可以看出,測試集不包含未知位置時,預測值和真實值的距離很小,當包含未知位置時,兩種算法的距離均顯著增大,但I-DCNN的誤差距離明顯小于SVR,而I-Openmax算法的使用則明顯降低了I-DCNN預測值和誤差之間的距離。
上述比較證明,在包含未知位置的測試集上,基于I-DCNN的室內(nèi)定位算法性能優(yōu)于SVR算法。
針對基于卷積神經(jīng)網(wǎng)絡室內(nèi)定位方案中對于未知位置識別的需求,基于開放集識別的核心思想,該文提出了I-DCNN模型,I-DCNN模型通過改進模型結(jié)構(gòu),解決DCNN存在的擬合能力弱、定位精度不夠的問題,通過與I-Openmax算法相結(jié)合解決未知位置識別能力弱的問題,在物流機器人定位、室內(nèi)目標追蹤等連續(xù)定位場景具有廣闊的應用潛力。
在實驗中發(fā)現(xiàn),I-DCNN模型性能與數(shù)據(jù)集質(zhì)量關(guān)聯(lián)顯著,對采集環(huán)境和采集設(shè)備要求較高,同時當數(shù)據(jù)集質(zhì)量較低時,訓練集和測試集的數(shù)據(jù)關(guān)聯(lián)性顯著減弱,以上問題限制了模型的大規(guī)模推廣。因此,下一步的工作主要有:(1)尋找采集效率更高、采集成本更低的CSI數(shù)據(jù)采集方式;(2)對圖像的構(gòu)建方式進行改進,充分利用CSI數(shù)據(jù)振幅、相位等特征,減弱數(shù)據(jù)集質(zhì)量對模型性能的影響。