江 河,李曉茹,孫 敏
(1.太原學院 計算機科學與技術系,山西 太原 030012;2.山西大學 計算機與信息技術學院,山西 太原 030006)
作為無線定位技術的一種,無源定位(device-free localization,DFL)技術[1]作為在物聯網環境下提供高質量服務的新興技術,得到了廣泛的關注[2,3]。由于DFL可以在不攜帶任何附加設備或標簽的情況下定位目標,所以催生了大量新興的工業和家庭應用,如安全防護中的入侵檢測、移動機器人定位,以及患者和老年人的醫療監控等[4,5]。
傳統的無源定位中由于傳感器節點生成的數據具有與特定目標位置相關且與其它節點不同的特定模式,因此模式信息可用于定位。從這個角度出發,以往的研究將定位問題轉化為分類問題[6]。為了解決分類問題,許多流行的機器學習方法如k-最近鄰(KNN)[7]、支持向量機(support vector machine,SVM)[8]和深度學習[9],可用于精確的單目標定位。然而,對于多目標定位問題,現有的分類方法如深度自動編碼器和KNN等,需要配置復雜的決策規則,且定位精度較低。為了精確定位目標,先前的研究已經提出了許多方案。文獻[10]利用貪婪匹配追蹤(greedy-matching pursuit,GMP)算法解決了l1范數正則化最小化問題。文獻[11]利用CS建模目標函數中的1范數,采用貝葉斯貪婪匹配追蹤(Bayesian greedy-matching pursuit,BGMP)方法進行單目標定位。文獻[12]將DFL描述為一個稀疏表達分類問題,并通過稀疏編碼來定位單個目標來解決最小化問題。然而,上述方法中DFL數據中自然群稀疏性的研究并不充分。此外,由于稀疏解的元素索引與網格ID相關,0范數或1范數方法通常通過選擇稀疏解中的最大值來估計目標位置。然而,在實際場景中,目標可能具有不同的大小或尺寸類型。解決這一問題的有效方法是在原始信號中引入相位偏移或振幅變化,從而使攻擊者或入侵者無法獲得正確的感應信號,這種方法在很大程度上導致了信號衰落,嚴重降低了解碼信噪比,因此,有必要開發一種魯棒可靠的DFL算法,使其能夠在這種具有挑戰性的情況下工作,并具有良好的信號恢復性能。
針對上述問題,提出了一種基于塊稀疏編碼的物聯網無源定位機器學習算法,并通過實驗驗證了提出算法能夠有效克服無源定位相關的機器學習算法不考慮群體結構,定位精度低,可靠性差等缺點。
如圖1中的步驟(1)所示,為了更方便進行DFL操作,檢測區域被幾個無線發送器-接收器節點包圍,并且將其分割成多個網格。沒有將無線節點有規律地進行分布,其位置也不一定是已知的。由于存在散射、衍射和吸收,目標會影響信號的廣播,從而改變每個節點的統計平方公差(received signal strength,RSS)的測量值。當目標位于網格上時,可以檢測到包含特定RSS測量的聯合信號配置。此外,從封閉的目標位置感應到的RSS信號通常表示出類似的特征。因此,如果將目標捕獲的網格視為一種類別,則目標定位問題可以轉化為分類問題。
另外,如果將RSS測量值視為圖像的像素值,可以將收集的RSS信號構建為具有特定模式的RSS圖像。此外,由于RSS測量的信號基礎比目標引起的信號變化要強得多,因此重要的特性通常會被淹沒在原始信號中。這將不利于定位分析。為了克服這一問題,采用背景消除策略對原始信號進行預處理。然后得到具有明顯特征的RSS變異圖像,當目標在不同的檢測區域網格內移動時,將得到不同的RSS信號變化特征。
1.2.1 數據采集及背景消除
根據式(1)消除背景
(1)

假設無線傳感器節點總數為N。 如圖1中步驟(1)的說明,每個節點作為時間日程表發送無線信號,而其它節點接收和測量信號。然后,得到由N個所有節點的變化組成的矩陣ΔR,如式(2)所示
(2)
式中:c是目標捕獲的網格的索引,l是目標位于第c個網格時的樣本索引。 ΔRi,j中的i是輸入ID,j是接收ID。
1.2.2 構造數據集
構造數據集主要分為以下兩個步驟:
(1)構建傳感矩陣。如圖1中步驟(2)所示,假設檢測區域中有C個網格,每個網格被視為一個類別。在這個區域中,所有潛在目標的位置都被歸為C個類。對于每一個類c=1,2,…,C, 當一個物體在相應的網格上時,令l=1,2,…,L, 共進行了L次實驗。
(2)在線狀態處理測試信號。在此狀態下采用了類似的處理過程,包括數據收集、背景消除和矩陣到向量的轉換。當目標T定位在不同的網格上時,得到觀測信號y,其中T必須小于總網格數。如果T=1時,是單目標定位,則當T>1時,為多目標定位。

圖1 塊稀疏編碼結構框架
1.2.3 測試信號的稀疏表示
現在將定位問題進一步表述為稀疏表示分類問題,其實質就是將定位問題轉換為尋找識別匹配問題。為了便于理解稀疏表示模型的原理,首先看一下圖2(a)中的一個簡單示例,其中將檢測區域分割為9個網格,即C=9, 因此,矩陣包括9類樣本。由于同一類數據之間存在高度一致性,因此每個類的數據空間分布表現如圖2(b)所示。這就導致了測試信號優先選擇同一類中的基礎樣本來表示自身的現象。因此,如圖2(a)所示,當測試信號屬于第一類時,用三角形標記的樣本代表測試信號。方塊表示測試信號,其它符號是矩陣的樣本。

圖2 測試信號稀疏表示分類
從上文分析可知在線狀態時,當目標位于檢測區域時,得到測試信號y。此處以兩個目標為例,假設目標分別位于第p個網格和第q個網格。如果給定足夠的樣本,測試信號y可以用矩陣D的兩個相應樣本集線性表示,該線性表示如以下公式所示

(3)
式中:x=[0…0xp,1…xp,L0…0xq,1…xq,L0…0]T∈Rn是一個由系數組成的向量;xp,j和xq,j∈R(1 總之,觀測信號y可以用矩陣D中n個基礎樣本稀疏表示。從這個角度來看,式(3)變成了稀疏表示問題,其中x是稀疏系數向量,其非零元素與目標位置相關。基于式(3),一旦稀疏解即稀疏系數向量x被確定,目標的準確位置就被估計出來了。因此,DFL問題本質上是一個稀疏表示分類問題,可以很好地用稀疏表示模型來表示。 2.1.1 稀疏編碼存在的問題 稀疏編碼是基于矩陣D和觀測信號y尋找一個包含小部分非零值分量的潛在向量變量,稱為稀疏。在實際應用中,為了獲得精確的DFL,在構造矩陣時需要大量的樣本。這導致基礎樣本總數n大于字典數m的可能性很高。因此,式(4)通常是一個不確定系統,其解不是唯一的,即問題是不固定的。 然而,通過選擇最稀疏解,可以使問題確定下來。這啟發了本文用稀疏正則化方法來解決最優化問題,以找到最稀疏解。最常用的稀疏正則化項是l0范數和l1范數,但是用l0來尋找待定系統中線性方程的最稀疏解是NP難問題。l1范數將稀疏模式獨立地看作一個單粒子,在個體水平上產生稀疏性。相比之下,由于目標位置較近,導致了DFL數據的內群結構,個體選擇l1范數和l0范數會降低定位精度。 2.1.2 具有塊稀疏模式的新目標函數 為了確定最稀疏解,本文利用l2,1范數作為正則項來進行分組,在稀疏解中生成塊稀疏模式。目標函數如式(4)所示 (4) 2.2.1 基于近端算子的塊稀疏編碼 雖然等式(4)不是光滑的,但它有全局最優解。通常采用次梯度法求解式(4),通過對式(4)求導,并令其為零,可以得到最小值x* (5) (6) 為了與式(6)一致,本文基于式(4)進行了修改。修改和推導的過程在附錄部分有詳細的說明。那么,接下來考慮比式(4)更簡單的目標函數的最小化方法,如式(7)所示 (7) 式中:K被視為已知常數,因為它和x沒有關系;μ是一個比例因子,其值應大于 (DTD) 的最大特征值e, 例如1.01×e;b是與x大小相同的中間變量,推導過程如以下公式所示 (8) (9) (10) 2.2.2 基于塊稀疏解的目標定位 為了便于位置估計,將x*轉換成塊稀疏解β* (11) (12) 提出的定位算法簡稱BSCPO,其偽碼如算法1所示。原始目標函數(13)的方程如下 (13) 通過對式(13)求導,并將其等于零,可以得到最小的x*如式(14)所示 (14) 修改后的目標函數如式(15)所示 (15) 式中:K是已知常數,與x無關。μ是大于 (DTD) 最大特征值的比例參數,例如,設為最大特征值的1.01倍。b是中間變量,和x的大小一致。以上就是從式(13)~式(15)的修改和推導的詳細過程。式(13)中的J(x) 不易取得最小值,因為求解 (DTD)-1的計算量非常大,而且容易出錯。因此構造了一個新的函數,避免用最大最小化(MM)優化算法求解 (DTD)-1。 根據MM的原理,找到一個Hk(x), 以便在每次迭代中,可以選擇在x(k)處與J(x) 一致的Hk(x) 值,否則上界J(x)需要滿足以下條件: (1)Hk(x)≥J(x), 對于全部x (2)Hm(x(k))=J(x(k)) 利用體視顯微鏡或金相顯微鏡觀察分析剪切破壞后的焊接連接面的表面狀態,以評估焊接質量,分析強度值形成原因。 然后,用以下公式進行推導 Hk(x)=J(x)+x的非負函數 (16) (17) 其中,μ必須選擇等于或大于 (DTD) 的最大特征值。那么 (μI-DTD) 是一個半正定矩陣,這將推導出 vT(μI-DTD)v≥0, ?v μ≥(DTD)的最大奇異值 (18) 由此得到了期望的Hk(x) 值。下面檢驗新函數對x的導數 (19) (20) 將式(20)和式(14)相比,可以看出式(20)無需求解 (DTD)-1, 這將大大節省計算量。最后,通過式(21),可以得到修正后的目標函數 (21) 令 (22) 就可以得到下面的二次表達式 (23) 式中:K1由式(22)的前兩項組成,和x無關。K和x有關,是關于x的常數,關系式如下 (24) 因此,式(15)中的問題P(x) 等于最小化式(23)中的Hk(x)。 算法1:基于鄰近算子的塊稀疏編碼 輸入:y∈Rm,D∈Rm×n,μ,λ,x0=0 輸出:φ1,…,φs (1) for k=0 to 最大迭代次數 do (4) 直到滿足收斂準則或達到最大迭代次數。 (5) end for (6)x*←x(k+1) (7) 根據式 (12)β*←x* (8) 根據式 (13) 估計目標位置位于第φ1、φ2、φS個網格 (9) 返回{φ1,…,φS} 在室外無源定位的真實實驗數據集上驗證本文提出的方法的性能。實驗環境是Matlab R2016b,硬件配置為64位、8 GB內存和Intel CoreTM i7 CPU系統為Windows10的計算機。 如圖3所示,方形檢測區域面積為21×21英尺,被分割成36個網格,周圍有28個TelosB傳感器節點。每個傳感器節點的工作頻段為2.4 GHz。兩個相鄰節點之間的間隔距離為3英尺,每個節點距地面3英尺。基站監聽整個網絡流量,通過USB端口將采集到的實時數據傳送到計算機。在每個網格上,進行30次實驗,每次時間間隔都較短。每個網格分配有一個網格號,最左下角的網格為1號網格,從左往右,從下往上依次編碼。 圖3 DFL系統的實驗裝置 對于單目標定位實驗,將RSS樣本矩陣分為兩部分,其中25個樣本用于構建字典,其余樣本為測試樣本;對于多目標定位實驗,它與單目標實驗共享同一個字典,而測試信號來自兩個定位目標的新RSS示例。矩陣大小為784×900,每個測試樣本大小為784×1。 3.1.1 背景消除時采用的數據預處理 由于原始RSS信號是直接從環境中測量的,可能包含很多無用的信號分量,這些分量比有用的信號波動更強烈。例如,即使在檢測區域中有目標,背景信號也不會改變。因此,有必要對背景像素進行預處理。在室外DFL實驗中,通過從Rtarget中減去Rv acant進行數據預處理,如圖4所示。經過預處理后,可以消除大部分無用信號分量,且信號變化明顯。 圖4 數據預處理的示例 3.1.2 不同方法的性能比較 l0和l1范數是DFL領域中最流行的稀疏正則化范數,許多相關文獻證明了它們的有效性。因此,比較了本文提出的BSCPO算法與含有l0范數和l1范數的算法的性能。此外,為了驗證所提出的塊稀疏算法的性能有所提高,本文還將其與多基線和最新的機器學習算法進行了比較,包括具有卷積自動編碼器(CAE)的深度神經網絡、一維卷積神經網絡(CNN-1D)、支持向量機(SVM)、KNN、基于迭代收縮閾值算法的稀疏編碼(SC-ISTA)和正交匹配追蹤稀疏編碼(SC-OMP)。 3.1.3 其它參數設置和指標 為了明確算法的性能評價和結果比較,本文將定位的精度作為評價算法性能的指標。為了保護隱私,在原始RSS信號中加入了嚴重的高斯噪聲,以防止網絡相關隱私泄露給入侵者或攻擊者。在實際應用中,DFL系統會不可避免地受到環境噪聲的干擾,例如周圍無線設備引起的電磁干擾。因此,信號的恢復性、魯棒性和可靠性對DFL算法至關重要。本文用信噪比來衡量信號質量。SNR定義為SNR(dB)=10log10(Psignal/Pnoise), 式中:Psignal和Pnoise分別代表信號功率和噪聲功率。另外定位準確率(%)表示提出方法定位的準確樣本與所有定位樣本數的比值。 3.2.1 單目標定位方法的性能 該方法當DFL系統受到嚴重噪聲干擾時仍具有較好的魯棒性能。圖5描述了當目標位于檢測區域的第36個網格處時的示例。從圖5(a)中,與圖4(c)的原始無噪聲信號相比,測試信號受噪聲污染更嚴重。盡管存在這種不利條件,但由于塊稀疏解的相關元素是非零的,所以通過塊稀疏解,目標仍然可以精確被定位,模型已較清晰地重構測試信號,這也可以驗證模型的有效性。 圖5 對無噪測試信號和有噪測試信號進行成像 如圖6所示,用一個例子解釋了本文方案比具有l0范數和l1范數的算法能更好地處理DFL。通過l0范數或l1范數的稀疏解,由于噪聲的影響,另一組的元素值大于真實值,從而導致目標位置估計錯誤。相比之下,使用BSCPO的群稀疏解,由于最大元素與真實情況一致,因此可以正確地定位目標。對所有測試樣本進行測試,圖7給出了BSCPO的定位精度以及在各種噪聲條件下的結果比較。從圖7可以看出,本文提出的BSCPO算法在定位精度和魯棒性方面都優于引入l0范數和l1范數的算法。當帶有噪聲的測試信號和帶有噪聲的字典的信噪比分別超過-10 dB和-20 dB時,BSCPO定位精度達到100%。 圖6 算法性能比較 圖7 算法的定位精度 如圖8所示,以無線發送器-接收器-傳感器為例來展示本文算法的恢復性能和去噪性能。噪聲信號的信噪比為-5 dB。從圖8可以看出,在噪聲信號和原始信號之間存在一些明顯的振幅偏移。通過BSCPO算法進行去噪處理,信號幾乎可以完全恢復,兩個恢復的信號分別與對應的無噪聲原始信號非常接近。 圖8 提出的BSCPO算法的信號恢復性能 3.2.2 對比分析 將本文方案與其它6種機器學習方法進行比較,除了先前討論過的具有l0范數和l1范數的算法。特別是,Deep CAE[13]、SC-ISTA[14]和SC-OMP[15]是當前最先進的DFL算法,均采用了本文的數據集。SC-ISTA、SC-OMP和KNN使用未經消除背景的原始RSS信號。因此,在不同實驗中設置相同的條件。此外,還使用了常用的基本分類方法進行了實驗,有支持向量機和一維卷積神經網絡(CNN-1D)。對于支持向量機,采用一對一策略和徑向基函數核進行多分類。 比較結果見表1。從中可以看出,在矩陣的信噪比為-10 dB及測試信號的信噪比為-5 dB的嚴重噪聲條件下,BSCPO算法的定位精度最高。這表明,BSCPO算法在魯棒性和定位精度方面優于其它6種機器學習算法,從而可說明DFL處理過程也較可靠。 表1 本文算法與其它機器學習算法的定位準確性的比較 3.2.3 多目標定位方法的性能 以兩個目標定位為例,對本文BSCP多目標定位性能進行了評價。目標真實位置見表2所列的6種情況。 表2 6種情況下兩個目標的真實位置分布 原始測試數據的定位結果如圖9所示,可以從情況1到情況5準確地定位目標。在此以一個正確定位的塊稀疏解為例,即情況1。對于情況6,網格23處的目標位于對角相鄰的網格28處,這是不正確的,但是仍然接近正確的位置,而另一個目標可以正確地定位在網格25處,如圖9(b)和圖9(c)所示。這表明該算法在多目標定位中性能良好。 圖9 多目標實驗中的定位結果 為了解決傳統的無源定位機器學習算法的缺點,提出了一種基于塊稀疏編碼的物聯網環境下無源定位機器學習算法,并且通過數據集實驗進行了驗證,可以得出如下結論: (1)當無源定位系統受到嚴重噪聲干擾時仍具有較好的魯棒性能與恢復性能。 (2)由于充分考慮了群體結構信息,所以本文提出的BSCPO算法在定位精度優于其它算法。 (3)在原始感知信號中加入了嚴重的高斯噪聲,既能夠保護網絡隱私,又提高了模型的魯棒性。 但是,在現有的研究條件下,用戶的隱私數據保護仍舊是急需解決的問題,下一步將研究如何在不泄漏真實數據的情況下更新矩陣的變量,從而達到分類與保護的效果。2 提出的方法
2.1 現存問題及本文提出的解決方案

2.2 塊稀疏編碼定位算法

















3 實驗與分析
3.1 實驗相關介紹


3.2 實驗結果及分析







4 結束語