











關鍵詞:超寬帶;非視距/視距識別;卷積神經網絡;通道注意力模塊;信道脈沖響應
0引言
隨著物聯網技術、智能移動終端技術和移動計算技術的飛速發展,諸多行業對于室內位置服務的需求越來越高,對于實現人員實時定位的需求也愈加迫切。超寬帶(Ultra-Wideband,UWB)技術因發射功率低、傳輸速率高、穿透能力強和抗干擾性強等優勢在無線定位技術中脫穎而出,但同時又受限于實際場景中的多用戶干擾、時鐘漂移、頻率漂移和非視距(None Line of Sight,NLoS)傳播等。而信號在NLoS狀態下傳播受障礙物的影響會增加到達時間從而引起距離測量的正偏置,這種情況被認為是高精度定位系統面臨的主要挑戰之一。因此,在定位前進行NLoS的識別尤為重要。
NLoS和視距(Line of Sight,LoS)識別方法可以分為3類。第一類是基于距離估計法,主要利用概率密度函數或距離估計的方差來識別NLoS和LoS。該方法相對簡單,然而受限于分布函數或時間延遲。第二類是基于位置估計法,在有冗余測距信息時通過比較距離估計的不同子集產生的位置估計來識別NLoS,在無冗余測距信息時此方法無效。第三類是基于信號的信道脈沖響應(ChannelImpulse Response,CIR)估計法,因CIR體現了信道環境中信號的波動和衰減,可將CIR的特征參量與閾值比較、聯合似然函數、支持向量機(SupportVector Machine,SVM)等方法相結合來識別NLoS和LoS,此方法具有更好的性能。現有文獻中提出的信道特征參量主要包括峰度、偏度、最大振幅、峰值時間、上升時間、總能量、平均附加時延、均方根時延擴展、飽和度、峰均比、接收信號功率、能量陡升幅度、環境噪聲誤判數、首徑判斷誤差和首徑信號距離誤差等。文獻提出把峰度、均方根時延擴展和平均附加時延3種特征參量作為統計信息并通過建立似然函數來識別NLoS和LoS的方法。文獻提出了先從CIR波形中提取接收信號功率、最大振幅、上升時間、平均附加時延、均方根時延擴展和峰度6種特征參量,再利用最小二乘SVM進行NLoS與LoS識別的方法,但該方法并未考慮特征參量間的相關性。文獻提出了將峰值時間與上升時間之和作為一個新的特征參量并與未檢測到峰值數進行聯合識別的新方法。該方法在閾值選取合適時識別率高,但當峰值時間和上升時間與預期相差較大或者閾值選取有誤時,容易造成識別出錯。NLoS/LoS識別本質上屬于二分類問題,而以上方法需要人工提取CIR的特征參量進行NLoS/LoS識別,系統的可靠性和魯棒性得不到保證。近年來,隨著深度神經網絡的發展,基于深度學習的NLoS/LoS識別方法受到學者們的廣泛關注。該類方法以CIR數據作為系統輸入,通過模型自學習的方式完成特征提取。文獻提出了對公開數據集(歐洲地平線2020計劃項目eWINE)使用可逆變換進行去噪處理并利用卷積神經網絡(Convolutional Neural Net-work,CNN)來識別NLoS的方法。該方法識別精度最高可達81.68%。文獻將公開數據集(歐洲地平線2020計劃項目eWINE)作為輸入對CNN結合長短期記憶網絡(Long Short Term Memory,LSTM)模型進行訓練和測試,該方法識別效果最佳可達82.14%。文獻提出了把原始CIR及其傅里葉變換后的實部與虛部作為輸入并利用三通道的CNN結合雙向長短期記憶網絡(Bidirectional LongShort Term Memory,BiLSTM)進行識別的方法。采用公開數據集(歐洲地平線2020計劃項目eWINE)進行了驗證,發現所提方法性能優于LSTM、CNN-LSTM。文獻提出了一種全卷積網絡(FullyConvolutional Network,FCN)聯合自注意力機制的NLoS/LoS識別方法。使用公開數據集進行實驗,發現所提方法識別性能優于CNN、LSTM、CNN-LSTM、FCN、LSTM-FCN,然而此方法受訓練數據集質量和數量的影響。文獻提出了將一維CIR數據轉換為二維圖像利用深度學習網絡進行識別的方法,精度受圖像大小的影響且運行效率不高。
針對現有方法下人工提取特征易忽略本質特征、多場景下難以選取合適閾值以及其他神經網絡方法識別精度不高的問題,本文提出了一種基于多層CNN結合通道注意力模塊(Channel AttentionModule,CAM)的NLoS/LoS識別方法。在多層CNN模塊中嵌入CAM減少了特征自提取中產生的冗余信息,提高了CNN的表征能力;輸入層用一維特征圖代替二維特征圖降低了計算復雜度;對傳統CNN做出改進,在卷積層和池化層之間引入批量歸一化層(Batch Normalization,BN)加快了收斂速度,同時選用全局平均池化層代替全連接層以減少可訓練參數,提高模型泛化能力。與其他方法相比,使用CNN-CAM具有更好的識別效果。
1NLoS/LoS問題描述
CIR是接收脈沖的總和,通過評估累積傳人樣本與預期前序序列的相關性獲取,可用下式描述.
接收端在LoS和NLoS環境下接收的CIR波形如圖1所示。從圖中可以看出,在LoS環境下由于信號可以通過直達路徑到達接收端,信號衰減相對慢且CIR波形峰值高,而在NLoS環境下受障礙物的阻擋使得信號幅值相對小、衰減快。
基于UWB的室內定位系統利用來自不同信道的距離信息計算定位結果。為了測試LoS和NLoS環境下UWB測距性能的差異性,本文進行了LoS和NLoS環境下的測距實驗,圖2為LoS和NLoS環境不同距離下的測距誤差棒圖。
由圖2可知,在LoS環境下錨節點與目標節點之間的測距誤差不大,測距誤差均值和標準差最大分別不超過0.1198、0.0497m;而在NLoS環境下測距誤差均值不小于0.3476m,測距誤差標準差不小于0.0318m。因此利用距離信息進行定位時為實現更好的定位效果,定位之前進行NLoS的識別非常有必要。
2CNN-CAM網絡模型
本文以構建識別率較高、環境適用性較強、計算復雜度較低的實時NLoS/LoS識別方法為目的,提出了一種多層CNN結合CAM的NLoS/LoS識別方法。給出了CNN和CAM各部分的相關理論,詳細介紹了所提出的CNN-CAM網絡架構。
2.1CNN理論
CNN是一種受生物自然視覺認知機制啟發而來的前饋神經網絡,通過構建多個濾波器對輸入數據進行多次卷積與池化運算,從而得到數據內部的高級特征。一維CNN的結構主要包括卷積層、池化層和全連接層。
卷積層利用滑動卷積核執行卷積操作,隨后這些內核濾波器的輸出通常被饋送到激活函數中以提取特征,一維卷積如下:
之后將網絡末端的池化層進行扁平化處理并與一層或多層全連接層相連進行最后的分類。
2.2注意力機制
注意力機制已廣泛應用于數據預測、水聲識別和圖像分割等領域。與深度學習網絡架構相比,注意力機制是一個輕量級模塊,其以生成和分配權重來調整網絡參數,并通過訓練使網絡聚集于關鍵信息,從而提高準確率。本文在CNN基礎上添加CAM,其結構如圖3所示。先將輸入特征分別進行全局最大池化(GlobalMax Pooling,GMP)和全局平均池化(Global AveragePooling,GAP);隨后分別通過一個共享的多層感知器(Multilayer Perceptron,MLP);最后為了得到特征圖所對應通道的權重值,對MLP的2個輸出項按照通道進行求和并使用激活函數sigmoid進行歸一化操作。如式(4)所示:
2.3CNN-CAM網絡架構
UWB的CIR可以視為時間序列,LoS情況下前后數據存在一定的相關性,NLoS條件下數據具有明顯差異,因此本文引入CNN,其在學習CIR數據間的結構化關系方面更具優勢。傳統CNN對特征圖的每個通道采取同等方式進行卷積,實際上不同通道承載信息的重要程度不同,因此對每個通道以相同方式進行處理會使網絡精度有所下降。而CAM是一個輕量級通用模塊,不僅能對輸入特征賦予不同權重以實現突出重要特征并抑制無用特征響應的作用,還能與任何CNN架構無縫集成共同進行端到端的訓練。其優勢已在不同的分類和檢測數據集上得到驗證。因此,本文在多層CNN中嵌入CAM,搭建了基于CNN-CAM的NLoS/LoS識別系統。圖4所示為CNN-CAM網絡架構,其具體參數如表1所示。
首先,使用3層卷積模塊,每層卷積模塊由卷積層、BN層、ReLU和最大池化層組成。輸入為1016x1的CIR數據,第一層卷積中使用10個4xl的卷積核進行特征初步提取操作;第二層卷積中使用20個5×1的卷積核;第三層卷積中使用32個3x1的卷積核對上層輸出特征進行深層次的挖掘。每層卷積層的步長均為2。BN層可以使輸入樣本變為均值為0、方差為1的正態分布,以此解決由于樣本特征分布較散而導致網絡學習速度緩慢的問題。因此,本文為了加快模型訓練速度在各卷積層后添加BN層。同時選用ReLU作為BN層后的激活函數。池化層不僅能縮小參數矩陣的尺寸,還可以對CIR信號在硬件電路、傳輸路徑、NLoS接收表面以及其他因素的影響下引入額外的噪聲進行濾波操作。因此本文在每個卷積層之后加入2x1的最大池化層,步長為2。
其次,在上述基礎上添加CAM,進一步加強模型特征提取能力。即將第三層卷積模塊中的池化層作為CAM的輸入,并分別進行GMP和GAP操作,隨后2個池化層依次通過8個1X1的卷積、BN層、ReLU函數、32個1x1的卷積,然后將其特征圖疊加并經過sigmoid函數后與CAM的輸入特征相乘。
接著,使用一個卷積層轉換數據維度,并利用GAP層代替全連接層進行特征整合。最后,由激活函數softmax完成NLoS/LoS的識別。
3實驗與評估
使用公開數據集進行了一系列可視化分析并對基于CNN-CAM的NLoS/LoS識別步驟進行了說明;設計實驗確定了學習率和訓練批次的最佳值;進行不同結構的模型和不同識別方法的實驗以驗證CNN-CAM模型用于NLoS/LoS識別中的先進性和有效性。
3.1數據集
本文使用由歐洲地平線2020計劃項目eWINE撥款資助并且由Bregar等建立的公開數據集進行實驗。數據是在7種不同的室內場景下測量的,包括辦公室1、辦公室2、小公寓、小作坊、廚房、臥室和鍋爐房,且每個場景收集3000個LoS信道測量值和3000個NLoS信道測量值。
上述7種場景下的CIR采樣點示意如圖5所示,可以看出CIR波形在各個場景下區分不明顯,體現了該數據集的復雜性。
LoS和NLoS環境下CIR特征參量數值分布如圖6所示,以最大振幅、上升時間、噪聲標準差、接收信號功率、峰度、偏度、總能量、均方根時延擴展、峰值時間、平均附加時延、峰均比、能量陡升幅度為例,可以看出這些特征參量的重合度都比較高,說明LoS和NLoS數據集之間存在的差異不明顯。綜上所述,本文選取的數據集具備驗證所提出方法的試驗條件。
3.2識別流程
基于CNN-CAM的NLoS/LoS識別流程如圖7所示。主要包括以下3個步驟。
步驟1:獲取CIR數據,并按7:2:1的比例劃分為訓練集、驗證集與測試集。
步驟2:對CNN-CAM模型用訓練集進行訓練,之后用驗證集驗證訓練后的模型性能,當訓練時期達到所設置的數值時,停止訓練并保存此時的模型。
步驟3:對訓練好的模型用測試集進行測試,以得到最終的NLoS/LoS識別結果。
本文對訓練集的順序進行隨機打亂以提高模型的魯棒性。此外,最大訓練時期為25,對于每個訓練時期使用Adam優化器,并設置學習率下降周期為10,學習率衰減為原來的0.5倍。
3.3結果分析
在基于CNN-CAM的NLoS/LoS識別中,為了找到合適的模型參數,選取不同大小的學習率和訓練批次進行實驗;設計了6種不同結構的模型驗證添加CAM和3層卷積模塊(“卷積+BN+ReLU+最大池化”)的有效性;為了驗證模型的先進性,采用多種方法與本文的CNN-CAM進行比較,主要包括特征參量聯合機器學習的識別方法以及其他深度學習的識別方法。
3.3.1參數分析
模型參數對網絡的性能表現起關鍵作用,合適的參數不僅能提高訓練階段的收斂速度,而且有利于實現更好的識別效果。為了找到學習率和訓練批次的最佳值,選取不同大小的學習率和不同批次的訓練方式進行性能比較,如圖8所示。
從圖8(a)可以看出,模型的準確率與學習率存在一定關系,在0.001處取得最大值89.62%,然而當學習率下降到0.0001時,準確率反而下降。故本文的CNN-CAM模型最終確定的學習率為0.001。從圖8(b)可以看出,當訓練批次大小為64時,模型的準確率最高,故模型訓練批次設置為64時可以取得最優效果。
3.3.2性能分析
為了對所提模型的性能進行評估,使用準確率(Accuracy)、LoS召回率(Recall).NLoS召回率(Recall)和F1分數(F1-score)作為性能度量指標。
3.3.2.1不同結構模型的對比實驗
為驗證所提模型的有效性,構建了6種不同結構的模型并分析了其性能,分別如圖9、表2和圖10所示。
可以看出,模型A未添加CAM,其準確率最低。模型B由一層卷積模塊(“卷積+BN+ReLU+最大池化”)、CAM、“卷積+GAP”組成。當訓練模型隨著迭代次數增加時,準確率趨于平穩,此時模型B的準確率為86.40%,LoS召回率為90.76%,NLoS召回率為82.05%,F1-score為86.97%,模型參數2124個。模型C在模型B的基礎上增加了一層卷積模塊(“卷積+BN+ReLU+最大池化”),其準確率為88.40%,LoS召回率為91.38%,NLoS召回率為85.43%,F1-score為88.74%,參數4804個。本文所提模型是在模型B的基礎上添加了2層卷積模塊(“卷積+BN+ReLU+最大池化”),其準確率達到90.00%,LoS召回率為92.29%,NLoS召回率為87.71%,F1-score為90.22%,參數8764個。模型C和本文所提模型雖然加大了參數量,但準確率分別提高了2.00%和3.60%,LoS召回率分別提高了0.62%和1.53%,NLoS召回率分別提高了3.38%和5.66%,F1-score分別提高了1.77%和3.25%,說明添加CAM和增加卷積模塊可以提高識別精度。模型D中繼續增加一層卷積模塊其識別率反而降低,驗證了使用3層卷積模塊的可行性。模型E是將本文所提模型中的GAP層替換成全連接層,全連接層的每個神經元都與前一層的所有神經元相連接,可訓練參數從8764個上升到70204個,進而產生了過擬合現象。通過分析上述不同結構模型的性能,發現本文所提模型在保證良好的擬合性能的同時訓練參數較少,模型精度也最高,驗證了本文所提模型的有效性。
3.3.2.2不同識別方法對比實驗
為了驗證所提模型的先進性,選取文獻提出的CNN-LSTM、CNN-SVM、隨機森林(Random Fo-rest,RF)模型與本文的CNN-CAM模型進行比較。其中,CNN-SVM模型是以CNN全連接層提取的特征向量作為SVM分類器的輸入對SVM進行訓練,并選取徑向基函數作為SVM的核函數。RF(單一特征參量)是將CIR數據中的峰度特征作為輸入再利用RF進行識別。RF(多個特征參量)是先對CIR數據提取峰度、偏度、總能量、均方根時延擴展、峰值時間、平均附加時延、峰均比、能量陡升幅度、最大振幅、上升時間、噪聲標準差和接收信號功率12個特征參量,再利用RF進行識別。此外,RF決策樹數目設置為100,葉子節點最少樣本數設為1。不同識別方法性能對比如表3所示。
由表3可知,CNN-SVM相比CNN-LSTM的準確率提高了1.18%,F1-score提高了1.13%。在RF模型中使用多個特征參量比使用單一特征參量做識別效果好,且比CNN-LSTM和CNN-SVM模型的準確率都高,但這些人工提取的特征間不可避免地存在一定量的無關、冗余信息,從而導致準確率以及穩定性不好。本文提出的模型準確率高達90.00%,LoS召回率達到了92.29%,NLoS召回率達到了87.71%,F1-score達到了90.22%,說明其提取特征敏感性更高。因此,本文的CNN-CAM網絡模型相比于現有神經網絡模型和機器學習模型具有明顯的性能提升效果,更適合用于NLoS/LoS的識別。
4結束語
本文提出了一種多層CNN與CAM相結合的網絡模型。該模型在3層CNN模塊(“卷積+BN+ReLU+最大池化”)中嵌入CAM減少了特征自提取中產生的冗余信息,有效提高了模型對CIR信息的聚焦能力;采用最大池化層對CIR信號引入的額外噪聲進行濾波操作;通過GAP層代替全連接層,相較于模型E參數減少了87.52%避免了過擬合現象。此外,為了比較所提出模型的識別性能,使用公開數據集進行了不同結構模型、特征參量聯合機器學習的識別方法、其他深度學習識別方法的對比實驗,發現本文模型有90.00%的準確率,92.29%的LoS召回率,87.71%的NLoS召回率以及90.22%的F1-score,在NLoS/LoS識別中實現了較高的識別精度,驗證了模型的有效性和先進性。然而,在實際應急場景下無法采集大量數據,一定程度上限制了該網絡的應用場景。因此在未來的工作中將考慮小樣本情況下的NLoS/LoS識別。