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