本發(fā)明涉及無(wú)線局域網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種基于雙向信號(hào)強(qiáng)度數(shù)據(jù)的wifi定位方法及服務(wù)器。
背景技術(shù):
目前在世界范圍內(nèi)的定位技術(shù)主要有GPS定位、Wi-Fi定位、藍(lán)牙定位等,GPS定位主要應(yīng)用于室外,Wi-Fi、藍(lán)牙定位既可用于室內(nèi),也可用于室外。由于Wi-Fi定位相對(duì)成熟,下面以Wi-Fi定位技術(shù)為背景來(lái)介紹本發(fā)明的具體內(nèi)容。隨著無(wú)線路由器的普及,目前大部分公共區(qū)域都已經(jīng)實(shí)現(xiàn)十幾個(gè)甚至幾十個(gè)WiFi信號(hào)覆蓋,而且這些路由器在向四周傳播WiFi信號(hào)的同時(shí),也不停的發(fā)送其物理地址與信號(hào)強(qiáng)度等信息,只要在其信號(hào)覆蓋范圍內(nèi),即使不知道Wi-Fi的密碼,也同樣能獲得這些信息。
通用的WiFi室內(nèi)定位技術(shù)大多是基于IEEE802.11b/g協(xié)議的無(wú)線局域網(wǎng)(WLAN)的信號(hào)強(qiáng)度定位技術(shù)。基于信號(hào)強(qiáng)度的定位技術(shù)基本原理是根據(jù)接收到的信號(hào)的強(qiáng)度推算信號(hào)接收器與信號(hào)源之間的距離,主要分成兩類(lèi):三角形強(qiáng)度算法以及位置指紋識(shí)別算法。其中三角形強(qiáng)度算法精度低,難以滿足室內(nèi)定位要求;而普通指紋識(shí)別算法又存在接收設(shè)備不同而使得接收信號(hào)存在誤差的缺陷。
技術(shù)實(shí)現(xiàn)要素:
為解決上述技術(shù)問(wèn)題,本發(fā)明提供一種基于雙向信號(hào)強(qiáng)度數(shù)據(jù)的wifi定位方法及服務(wù)器,通過(guò)采集待檢測(cè)客戶端接收各個(gè)無(wú)線接入點(diǎn)的對(duì)應(yīng)的雙向信號(hào)強(qiáng)度數(shù)據(jù),實(shí)現(xiàn)基于深度神經(jīng)網(wǎng)絡(luò)的WiFi定位。
本發(fā)明提供的技術(shù)方案如下:
本發(fā)明公開(kāi)了一種基于雙向信號(hào)強(qiáng)度數(shù)據(jù)的wifi定位方法,所述方法包括步驟:S100、當(dāng)待檢測(cè)客戶端與所有無(wú)線接入點(diǎn)中的任意一個(gè)無(wú)線接入點(diǎn)關(guān)聯(lián)之后,獲取檢測(cè)區(qū)域內(nèi)待檢測(cè)客戶端的雙向信號(hào)強(qiáng)度數(shù)據(jù);S200、將所述雙向信號(hào)強(qiáng)度數(shù)據(jù)輸入訓(xùn)練后的定位模型的數(shù)據(jù)數(shù)據(jù)輸入層;S300、基于訓(xùn)練后的定位模型的網(wǎng)絡(luò)層計(jì)算所述雙向信號(hào)強(qiáng)度數(shù)據(jù),在定位模型的輸出層輸出預(yù)測(cè)結(jié)果,根據(jù)所述預(yù)測(cè)結(jié)果確定待檢測(cè)客戶端的位置。
進(jìn)一步優(yōu)選的,所述雙向信號(hào)強(qiáng)度數(shù)據(jù)包括待檢測(cè)客戶端接收各個(gè)無(wú)線接入點(diǎn)信號(hào)的與各個(gè)無(wú)線接入點(diǎn)對(duì)應(yīng)的第一接收信號(hào)強(qiáng)度指示,以及各個(gè)無(wú)線接入點(diǎn)接收待檢測(cè)客戶端信號(hào)的第二接收信號(hào)強(qiáng)度指示。
進(jìn)一步優(yōu)選的,所述步驟S100進(jìn)一步包括以下步驟:S101、當(dāng)待檢測(cè)客戶端發(fā)送探測(cè)請(qǐng)求報(bào)文至所有無(wú)線接入點(diǎn)時(shí),根據(jù)所述探測(cè)請(qǐng)求報(bào)文獲得各個(gè)無(wú)線接入點(diǎn)接收到的待檢測(cè)客戶端所發(fā)的信號(hào)的第一接收信號(hào)強(qiáng)度指示;S102、當(dāng)待檢測(cè)客戶端接收到所有無(wú)線接入點(diǎn)返回的探測(cè)響應(yīng)報(bào)文,與其中任意一個(gè)無(wú)線接入點(diǎn)關(guān)聯(lián)時(shí),響應(yīng)已關(guān)聯(lián)的無(wú)線接入點(diǎn)發(fā)送的ICMP請(qǐng)求報(bào)文,并返回ICMP回復(fù)報(bào)文至已關(guān)聯(lián)的無(wú)線接入點(diǎn),所述ICMP回復(fù)報(bào)文中包含待檢測(cè)客戶端接收到的已關(guān)聯(lián)的無(wú)線接入點(diǎn)所發(fā)信號(hào)的接收強(qiáng)度數(shù)據(jù);S103、向除了已關(guān)聯(lián)的無(wú)線接入點(diǎn)以外的其他無(wú)線接入點(diǎn)分別發(fā)送探測(cè)回復(fù)報(bào)文,根據(jù)所述探測(cè)回復(fù)報(bào)文中獲得待檢測(cè)客戶端接收到的除了已關(guān)聯(lián)的無(wú)線接入點(diǎn)以外的其他無(wú)線接入點(diǎn)所發(fā)信號(hào)的接收強(qiáng)度數(shù)據(jù);S104、根據(jù)待檢測(cè)客戶端接收到的已關(guān)聯(lián)的無(wú)線接入點(diǎn)所發(fā)信號(hào)的接收強(qiáng)度數(shù)據(jù)以及待檢測(cè)客戶端接收到的除了已關(guān)聯(lián)的無(wú)線接入點(diǎn)以外的其他無(wú)線接入點(diǎn)所發(fā)信號(hào)的接收強(qiáng)度數(shù)據(jù)生成第二接收信號(hào)強(qiáng)度指示。
進(jìn)一步優(yōu)選的,所述步驟S100之前還包括:S000、預(yù)先訓(xùn)練深度神經(jīng)網(wǎng)絡(luò),將訓(xùn)練后的深度神經(jīng)網(wǎng)絡(luò)作為所述定位模型。
進(jìn)一步優(yōu)選的,所述步驟S000進(jìn)一步包括步驟:S001、預(yù)先設(shè)置訓(xùn)練位置標(biāo)簽;S002、在訓(xùn)練位置標(biāo)簽在檢測(cè)區(qū)域內(nèi)對(duì)應(yīng)位置上將訓(xùn)練終端依次與各個(gè)無(wú)線接入點(diǎn)關(guān)聯(lián),多次采集訓(xùn)練終端與每個(gè)無(wú)線接入點(diǎn)關(guān)聯(lián)時(shí)的雙向信號(hào)數(shù)據(jù);所述雙向信號(hào)數(shù)據(jù)包括各個(gè)無(wú)線接入點(diǎn)接收到的訓(xùn)練終端所發(fā)的信號(hào)的第一接收信號(hào)強(qiáng)度指示,以及訓(xùn)練終端接收到的各個(gè)無(wú)線接入點(diǎn)所發(fā)的信號(hào)的第二接收信號(hào)強(qiáng)度指示;將所述雙向信號(hào)數(shù)據(jù)與對(duì)應(yīng)的訓(xùn)練位置標(biāo)簽作為一組訓(xùn)練樣本數(shù)據(jù);S003、按步驟S002所述方法采集所有訓(xùn)練位置標(biāo)簽在檢測(cè)區(qū)域內(nèi)對(duì)應(yīng)位置上的雙向信號(hào)數(shù)據(jù),生成多組訓(xùn)練樣本數(shù)據(jù),根據(jù)所述多組訓(xùn)練樣本數(shù)據(jù)生成訓(xùn)練數(shù)據(jù)集,送入深度神經(jīng)網(wǎng)絡(luò);S004、將深度神經(jīng)網(wǎng)絡(luò)的輸入數(shù)據(jù)層定義為雙通道數(shù)據(jù)層,所述雙通道數(shù)據(jù)層的節(jié)點(diǎn)與各個(gè)無(wú)線接入點(diǎn)相對(duì)應(yīng);按照雙通道數(shù)據(jù)層的節(jié)點(diǎn)與各個(gè)無(wú)線接入點(diǎn)對(duì)應(yīng)的方式分別將每個(gè)訓(xùn)練樣本數(shù)據(jù)中第一接收信號(hào)強(qiáng)度指示以及第二接收信號(hào)強(qiáng)度指示輸入對(duì)應(yīng)的節(jié)點(diǎn)的兩個(gè)通道,經(jīng)過(guò)所述深度神經(jīng)網(wǎng)絡(luò)輸出與所述訓(xùn)練樣本數(shù)據(jù)中所述訓(xùn)練位置標(biāo)簽相對(duì)應(yīng)的訓(xùn)練結(jié)果;S005、依次將輸出的訓(xùn)練結(jié)果與其對(duì)應(yīng)的所述訓(xùn)練位置標(biāo)簽進(jìn)行比較,根據(jù)比較結(jié)果對(duì)深度神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,將訓(xùn)練后的深度神經(jīng)網(wǎng)絡(luò)作為所述定位模型。
本發(fā)明還公開(kāi)了一種基于雙向信號(hào)強(qiáng)度數(shù)據(jù)的wifi定位服務(wù)器,包括:數(shù)據(jù)采集模塊,用于當(dāng)待檢測(cè)客戶端與所有無(wú)線接入點(diǎn)中的任意一個(gè)無(wú)線接入點(diǎn)關(guān)聯(lián)之后,獲取檢測(cè)區(qū)域內(nèi)待檢測(cè)客戶端的雙向信號(hào)強(qiáng)度數(shù)據(jù);所述雙向信號(hào)強(qiáng)度數(shù)據(jù)包括待檢測(cè)客戶端接收各個(gè)無(wú)線接入點(diǎn)信號(hào)的與各個(gè)無(wú)線接入點(diǎn)對(duì)應(yīng)的第一接收信號(hào)強(qiáng)度指示,以及各個(gè)無(wú)線接入點(diǎn)接收待檢測(cè)客戶端信號(hào)的第二接收信號(hào)強(qiáng)度指示;定位模塊,用于將所述雙向信號(hào)強(qiáng)度數(shù)據(jù)輸入訓(xùn)練后的定位模型的數(shù)據(jù)數(shù)據(jù)輸入層,基于訓(xùn)練后的定位模型的網(wǎng)絡(luò)層計(jì)算所述雙向信號(hào)強(qiáng)度數(shù)據(jù),在定位模型的輸出層輸出預(yù)測(cè)結(jié)果,根據(jù)所述預(yù)測(cè)結(jié)果確定待檢測(cè)客戶端的位置。
進(jìn)一步優(yōu)選的,所述雙向信號(hào)強(qiáng)度數(shù)據(jù)包括各個(gè)無(wú)線接入點(diǎn)接收到的待檢測(cè)客戶端所發(fā)的信號(hào)的第一接收信號(hào)強(qiáng)度指示,以及待檢測(cè)客戶端接收到的各個(gè)無(wú)線接入點(diǎn)所發(fā)的信號(hào)的第二接收信號(hào)強(qiáng)度指示。
進(jìn)一步優(yōu)選的,所述數(shù)據(jù)采集模塊進(jìn)一步包括:第一接收信號(hào)強(qiáng)度指示獲取模塊,用于當(dāng)待檢測(cè)客戶端發(fā)送探測(cè)請(qǐng)求報(bào)文至所有無(wú)線接入點(diǎn)時(shí),根據(jù)所述探測(cè)請(qǐng)求報(bào)文獲得各個(gè)無(wú)線接入點(diǎn)接收到的待檢測(cè)客戶端所發(fā)的信號(hào)的第一接收信號(hào)強(qiáng)度指示;第二接收信號(hào)強(qiáng)度指示獲取模塊,用于當(dāng)待檢測(cè)客戶端與其中任意一個(gè)無(wú)線接入點(diǎn)關(guān)聯(lián),響應(yīng)已關(guān)聯(lián)的無(wú)線接入點(diǎn)發(fā)送的ICMP請(qǐng)求報(bào)文時(shí),返回ICMP回復(fù)報(bào)文至已關(guān)聯(lián)的無(wú)線接入點(diǎn),所述ICMP回復(fù)報(bào)文中包含待檢測(cè)客戶端接收到的已關(guān)聯(lián)的無(wú)線接入點(diǎn)所發(fā)信號(hào)的接收強(qiáng)度數(shù)據(jù),并向除了已關(guān)聯(lián)的無(wú)線接入點(diǎn)以外的其他無(wú)線接入點(diǎn)分別發(fā)送探測(cè)回復(fù)報(bào)文,根據(jù)所述探測(cè)回復(fù)報(bào)文獲得待檢測(cè)客戶端接收到的除了已關(guān)聯(lián)的無(wú)線接入點(diǎn)以外的其他無(wú)線接入點(diǎn)所發(fā)信號(hào)的接收強(qiáng)度數(shù)據(jù),根據(jù)待檢測(cè)客戶端接收到的已關(guān)聯(lián)的無(wú)線接入點(diǎn)所發(fā)信號(hào)的接收強(qiáng)度數(shù)據(jù)以及待檢測(cè)客戶端接收到的除了已關(guān)聯(lián)的無(wú)線接入點(diǎn)以外的其他無(wú)線接入點(diǎn)所發(fā)信號(hào)的接收強(qiáng)度數(shù)據(jù)生成第二接收信號(hào)強(qiáng)度指示。
進(jìn)一步優(yōu)選的,還包括:訓(xùn)練模塊,用于預(yù)先訓(xùn)練深度神經(jīng)網(wǎng)絡(luò),將訓(xùn)練后的深度神經(jīng)網(wǎng)絡(luò)作為所述定位模型。
進(jìn)一步優(yōu)選的,所述訓(xùn)練模塊進(jìn)一步包括:標(biāo)簽預(yù)設(shè)子模塊,用于預(yù)先設(shè)置訓(xùn)練位置標(biāo)簽;訓(xùn)練數(shù)據(jù)集生成子模塊,用于在訓(xùn)練位置標(biāo)簽在檢測(cè)區(qū)域內(nèi)對(duì)應(yīng)位置上將訓(xùn)練終端依次與各個(gè)無(wú)線接入點(diǎn)關(guān)聯(lián),多次采集訓(xùn)練終端與每個(gè)無(wú)線接入點(diǎn)關(guān)聯(lián)時(shí)的雙向信號(hào)數(shù)據(jù),所述雙向信號(hào)數(shù)據(jù)包括各個(gè)無(wú)線接入點(diǎn)接收到的訓(xùn)練終端所發(fā)的信號(hào)的第一接收信號(hào)強(qiáng)度指示,以及訓(xùn)練終端接收到的各個(gè)無(wú)線接入點(diǎn)所發(fā)的信號(hào)的第二接收信號(hào)強(qiáng)度指示,將所述雙向信號(hào)數(shù)據(jù)與對(duì)應(yīng)的訓(xùn)練位置標(biāo)簽作為一組訓(xùn)練樣本數(shù)據(jù),采集所有訓(xùn)練位置標(biāo)簽在檢測(cè)區(qū)域內(nèi)對(duì)應(yīng)位置上的雙向信號(hào)數(shù)據(jù),生成多組訓(xùn)練樣本數(shù)據(jù),根據(jù)所述多組訓(xùn)練樣本數(shù)據(jù)生成訓(xùn)練數(shù)據(jù)集,送入深度神經(jīng)網(wǎng)絡(luò);訓(xùn)練預(yù)測(cè)子模塊,用于將深度神經(jīng)網(wǎng)絡(luò)的輸入數(shù)據(jù)層定義為雙通道數(shù)據(jù)層,所述雙通道數(shù)據(jù)層的節(jié)點(diǎn)與各個(gè)無(wú)線接入點(diǎn)相對(duì)應(yīng),按照雙通道數(shù)據(jù)層的節(jié)點(diǎn)與各個(gè)無(wú)線接入點(diǎn)對(duì)應(yīng)的方式分別將每個(gè)訓(xùn)練樣本數(shù)據(jù)中第一接收信號(hào)強(qiáng)度指示以及第二接收信號(hào)強(qiáng)度指示輸入對(duì)應(yīng)的節(jié)點(diǎn)的兩個(gè)通道,經(jīng)過(guò)所述深度神經(jīng)網(wǎng)絡(luò)輸出與所述訓(xùn)練樣本數(shù)據(jù)中所述訓(xùn)練位置標(biāo)簽相對(duì)應(yīng)的訓(xùn)練結(jié)果,依次將輸出的訓(xùn)練結(jié)果與其對(duì)應(yīng)的所述訓(xùn)練位置標(biāo)簽進(jìn)行比較,根據(jù)比較結(jié)果對(duì)深度神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,將訓(xùn)練后的深度神經(jīng)網(wǎng)絡(luò)作為所述定位模型。
與現(xiàn)有技術(shù)相比,本發(fā)明提供的一種基于雙向信號(hào)強(qiáng)度數(shù)據(jù)的wifi定位服務(wù)器,通過(guò)收集待測(cè)客戶端的與各個(gè)無(wú)線接入點(diǎn)相對(duì)應(yīng)的雙向信號(hào)強(qiáng)度數(shù)據(jù)輸入訓(xùn)練好的定位模型,即可確定待測(cè)客戶端所在位置,通過(guò)利用含有大量訓(xùn)練樣本數(shù)據(jù)的訓(xùn)練數(shù)據(jù)集對(duì)深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練,采用深度神經(jīng)網(wǎng)絡(luò)作為定位模型,不僅提升定位精度的提升,同時(shí)能夠在不影響定位速度的情況下提升定位結(jié)果的準(zhǔn)確性,成功將定位問(wèn)題融入到大數(shù)據(jù)的背景中,并有效的利用大數(shù)據(jù)的優(yōu)勢(shì)來(lái)提高實(shí)時(shí)定位服務(wù)器的性能。
附圖說(shuō)明
下面將以明確易懂的方式,結(jié)合附圖說(shuō)明優(yōu)選實(shí)施方式,對(duì)本發(fā)明予以進(jìn)一步說(shuō)明。
圖1為本發(fā)明一種基于雙向信號(hào)強(qiáng)度數(shù)據(jù)的wifi定位方法的主要步驟示意圖;
圖2為本發(fā)明一種基于雙向信號(hào)強(qiáng)度數(shù)據(jù)的wifi定位方法的一個(gè)實(shí)施例的步驟示意圖;
圖3為本發(fā)明一種基于雙向信號(hào)強(qiáng)度數(shù)據(jù)的wifi定位方法的訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)的步驟示意圖;
圖4為本發(fā)明一種基于雙向信號(hào)強(qiáng)度數(shù)據(jù)的wifi定位服務(wù)器的主要組成示意圖;
圖5為本發(fā)明一種基于雙向信號(hào)強(qiáng)度數(shù)據(jù)的wifi定位服務(wù)器的完整的組成示意圖;
附圖標(biāo)記:
100、數(shù)據(jù)采集模塊,101、第一接收信號(hào)強(qiáng)度指示獲取模塊,102、第二接收信號(hào)強(qiáng)度指示獲取模塊,200、定位模塊,300、訓(xùn)練模塊,301、標(biāo)簽預(yù)設(shè)子模塊,302、訓(xùn)練數(shù)據(jù)集生成子模塊,303、訓(xùn)練預(yù)測(cè)子模塊。
具體實(shí)施方式
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)照附圖說(shuō)明本發(fā)明的具體實(shí)施方式。顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖,并獲得其他的實(shí)施方式。
為使圖面簡(jiǎn)潔,各圖中只示意性地表示出了與本發(fā)明相關(guān)的部分,它們并不代表其作為產(chǎn)品的實(shí)際結(jié)構(gòu)。另外,以使圖面簡(jiǎn)潔便于理解,在有些圖中具有相同結(jié)構(gòu)或功能的部件,僅示意性地繪示了其中的一個(gè),或僅標(biāo)出了其中的一個(gè)。在本文中,“一個(gè)”不僅表示“僅此一個(gè)”,也可以表示“多于一個(gè)”的情形。
圖1為本發(fā)明一種基于雙向信號(hào)強(qiáng)度數(shù)據(jù)的wifi定位方法的主要步驟示意圖,如圖1所示,一種基于雙向信號(hào)強(qiáng)度數(shù)據(jù)的wifi定位方法,所述方法包括步驟:S100、當(dāng)待檢測(cè)客戶端與所有無(wú)線接入點(diǎn)中的任意一個(gè)無(wú)線接入點(diǎn)關(guān)聯(lián)之后,獲取檢測(cè)區(qū)域內(nèi)待檢測(cè)客戶端的雙向信號(hào)強(qiáng)度數(shù)據(jù);S200、將所述雙向信號(hào)強(qiáng)度數(shù)據(jù)輸入訓(xùn)練后的定位模型的數(shù)據(jù)數(shù)據(jù)輸入層;S300、基于訓(xùn)練后的定位模型的網(wǎng)絡(luò)層計(jì)算所述雙向信號(hào)強(qiáng)度數(shù)據(jù),在定位模型的輸出層輸出預(yù)測(cè)結(jié)果,根據(jù)所述預(yù)測(cè)結(jié)果確定待檢測(cè)客戶端的位置。
具體的,上述待檢測(cè)客戶端(以下簡(jiǎn)稱(chēng)STA)是以智能手機(jī)、筆記本電腦或個(gè)人平板電腦等智能終端設(shè)備為載體。上述無(wú)線接入點(diǎn)以AP簡(jiǎn)稱(chēng)。
本實(shí)施例中所述雙向信號(hào)強(qiáng)度數(shù)據(jù)包括各個(gè)無(wú)線接入點(diǎn)接收到的待檢測(cè)客戶端所發(fā)的信號(hào)的第一接收信號(hào)強(qiáng)度指示,以及待檢測(cè)客戶端接收到的各個(gè)無(wú)線接入點(diǎn)所發(fā)的信號(hào)的第二接收信號(hào)強(qiáng)度指示,通過(guò)獲取雙向的信號(hào)強(qiáng)度數(shù)據(jù)增加了定位準(zhǔn)確度。
本發(fā)明中的定位模型采用訓(xùn)練后的深度神經(jīng)網(wǎng)絡(luò),通過(guò)大量訓(xùn)練樣本數(shù)據(jù)對(duì)深度神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,提升定位準(zhǔn)確性以及精度。
圖2為本發(fā)明一種基于雙向信號(hào)強(qiáng)度數(shù)據(jù)的wifi定位方法的一個(gè)實(shí)施例的步驟示意圖。如圖2所示,具體的,本實(shí)施例中第一接收信號(hào)強(qiáng)度指示通過(guò)以下步驟獲得:
S101、當(dāng)待檢測(cè)客戶端發(fā)送探測(cè)請(qǐng)求報(bào)文至所有無(wú)線接入點(diǎn)時(shí),根據(jù)所述探測(cè)請(qǐng)求報(bào)文獲得各個(gè)無(wú)線接入點(diǎn)接收到的待檢測(cè)客戶端所發(fā)的信號(hào)的第一接收信號(hào)強(qiáng)度指示。其中,STA在檢測(cè)區(qū)域中實(shí)時(shí)發(fā)送探測(cè)幀,無(wú)線接入點(diǎn)收到后獲取所述探測(cè)幀的信號(hào)強(qiáng)度,各個(gè)無(wú)線接入點(diǎn)上報(bào)信號(hào)強(qiáng)度至本地服務(wù)器或云服務(wù)器,服務(wù)器根據(jù)各個(gè)無(wú)線接入點(diǎn)上報(bào)的RSSI生成第一接收強(qiáng)度指示。
具體的,本實(shí)施例中第二接收信號(hào)強(qiáng)度指示通過(guò)以下步驟獲得:
S102、當(dāng)待檢測(cè)客戶端接收到所有無(wú)線接入點(diǎn)返回的探測(cè)響應(yīng)報(bào)文,與其中任意一個(gè)無(wú)線接入點(diǎn)關(guān)聯(lián)時(shí),響應(yīng)已關(guān)聯(lián)的無(wú)線接入點(diǎn)發(fā)送的ICMP請(qǐng)求報(bào)文,并返回ICMP回復(fù)報(bào)文至已關(guān)聯(lián)的無(wú)線接入點(diǎn),所述ICMP回復(fù)報(bào)文中包含待檢測(cè)客戶端接收到的已關(guān)聯(lián)的無(wú)線接入點(diǎn)所發(fā)信號(hào)的接收強(qiáng)度數(shù)據(jù);
具體的,在STA關(guān)聯(lián)上AP并通過(guò)DHCP獲得IP地址之后,AP和STA直接便可以通過(guò)ping發(fā)送ICMP報(bào)文,當(dāng)AP發(fā)送ICMP request報(bào)文后,STA必須會(huì)ICMP response報(bào)文。本發(fā)明對(duì)ping報(bào)文進(jìn)行一擴(kuò)展,根據(jù)ICMP協(xié)議,ICMP response報(bào)文會(huì)把ICMP request報(bào)文的payload部分原封不動(dòng)的拷貝到ICMP response中,現(xiàn)在擴(kuò)展ICMP response的payload部分,不僅把把ICMP request報(bào)文的payload部分原封不動(dòng)的拷貝到ICMP response中,而且在其之后,加上ICMP request的RSSI(STA接收到ICMP request,自然能檢測(cè)到ICMP request的RSSI)。
整個(gè)流程如下:
AP通過(guò)ping發(fā)送ICMP request給STA。
STA按ICMP協(xié)議生成ICMP response,并擴(kuò)展ICMP的payload,把接收ICMP request獲得的RSSI加入payload中。
STA發(fā)送ICMP response到AP。
AP收到ICMP response,獲知ICMP response報(bào)文的RSSI。然后通過(guò)解析ICMP response的payload,獲知ICMP request的RSSI。另外AP對(duì)STA ping的周期可自由設(shè)定,減小發(fā)送周期也可提高精度。
S103、向除了已關(guān)聯(lián)的無(wú)線接入點(diǎn)以外的其他無(wú)線接入點(diǎn)分別發(fā)送探測(cè)回復(fù)報(bào)文,根據(jù)所述探測(cè)回復(fù)報(bào)文中獲得待檢測(cè)客戶端接收到的除了已關(guān)聯(lián)的無(wú)線接入點(diǎn)以外的其他無(wú)線接入點(diǎn)所發(fā)信號(hào)的接收強(qiáng)度數(shù)據(jù);
具體的,本發(fā)明定義一種Probe ACK報(bào)文即探測(cè)回復(fù)報(bào)文,作為對(duì)Probe response即報(bào)文探測(cè)請(qǐng)求報(bào)文的應(yīng)答報(bào)文。
整個(gè)流程如下:
STA發(fā)送Probe Request報(bào)文給AP。
AP回Probe Response報(bào)文給STA。
STA發(fā)送Probe ACK報(bào)文給AP,在Probe ACK的payload中帶上STA收到Probe Response報(bào)文的RSSI。AP收到Probe ACK,獲知Probe ACK報(bào)文的RSSI。然后通過(guò)解析Probe ACK的payload,獲知Probe Response的RSSI。
S104、根據(jù)待檢測(cè)客戶端接收到的已關(guān)聯(lián)的無(wú)線接入點(diǎn)所發(fā)信號(hào)的接收強(qiáng)度數(shù)據(jù)以及待檢測(cè)客戶端接收到的除了已關(guān)聯(lián)的無(wú)線接入點(diǎn)以外的其他無(wú)線接入點(diǎn)所發(fā)信號(hào)的接收強(qiáng)度數(shù)據(jù)生成第二接收信號(hào)強(qiáng)度指示。
本發(fā)明中第一接收信號(hào)強(qiáng)度指示通過(guò)STA向所有AP發(fā)送的探測(cè)請(qǐng)求報(bào)文即可獲得,而AP的第二接收信號(hào)強(qiáng)度指示包括了已關(guān)聯(lián)的AP的接收強(qiáng)度數(shù)據(jù)以及未和STA關(guān)聯(lián)的AP的接收強(qiáng)度數(shù)據(jù),對(duì)于未和STA關(guān)聯(lián)的AP的接收強(qiáng)度數(shù)據(jù),本發(fā)明通過(guò)增加一個(gè)探測(cè)回復(fù)報(bào)文,在所述探測(cè)回復(fù)報(bào)文中增加AP到STA的接收強(qiáng)度數(shù)據(jù)獲得,對(duì)于已關(guān)聯(lián)的AP的接收強(qiáng)度數(shù)據(jù),通過(guò)STA與已關(guān)聯(lián)的AP之間的IMCP報(bào)文獲得,通過(guò)對(duì)IMCP報(bào)文進(jìn)行擴(kuò)展,在ICMP回復(fù)報(bào)文中增加已關(guān)聯(lián)的AP的接收強(qiáng)度數(shù)據(jù)。需要說(shuō)明的是,相比于全部采用增加探測(cè)回復(fù)報(bào)文的方法獲得所有AP的接收強(qiáng)度數(shù)據(jù),本發(fā)明針對(duì)已關(guān)聯(lián)的AP和未關(guān)聯(lián)的AP采用不同的方式獲得AP的接收強(qiáng)度數(shù)據(jù),使得實(shí)際定位時(shí)數(shù)據(jù)源更加可靠精確,從而提高定位精度。
本發(fā)明通過(guò)將待檢測(cè)客戶端所在位置的雙向信號(hào)強(qiáng)度數(shù)據(jù)作為輸入定位模型的原始數(shù)據(jù),例如,雙向信號(hào)強(qiáng)度數(shù)據(jù)的格式為<(RSSI11,RSSI12),(RSSI21,RSSI22),(RSSI31,RSSI32),(RSSI41,RSSI42)>,其中RSSI11為AP1收到的STA的RSSI,RSSI12為STA收到的AP1的RSSI,RSSI21為AP2收到的STA的RSSI,RSSI22為STA收到的AP2的RSSI,以此類(lèi)推。
優(yōu)選的,所述步驟S100之前還包括步驟:S000、預(yù)先訓(xùn)練深度神經(jīng)網(wǎng)絡(luò),將訓(xùn)練后的深度神經(jīng)網(wǎng)絡(luò)作為所述定位模型。
具體的,本發(fā)明中根據(jù)定位得到的輸出結(jié)果不同,可以包含兩種具體實(shí)現(xiàn)方式,方式一是通過(guò)深度神經(jīng)網(wǎng)絡(luò)作為定位模型輸出待檢測(cè)客戶端所在位置所屬某個(gè)預(yù)先設(shè)置的分類(lèi)的概率值,方式二是通過(guò)深度神經(jīng)網(wǎng)絡(luò)作為定位模型直接輸出待檢測(cè)客戶端所在位置的預(yù)設(shè)位置坐標(biāo)。
方式一輸出待檢測(cè)客戶端所在位置所屬某個(gè)預(yù)先設(shè)置的分類(lèi)的概率值,其采用的深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練網(wǎng)絡(luò)的結(jié)構(gòu)如下:
數(shù)據(jù)層->卷積層1->卷積層2->ReLU層->Max Pooling層->全連接層1->全連接層2->SoftMaxLoss層
當(dāng)網(wǎng)絡(luò)參數(shù)訓(xùn)練完成之后,將深度神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)參數(shù)更新為訓(xùn)練后的網(wǎng)絡(luò)參數(shù),同時(shí)將訓(xùn)練網(wǎng)絡(luò)最后一層SoftMaxLoss層更為SoftMax層,形成實(shí)施網(wǎng)絡(luò),用于作為定位模型參與實(shí)際定位過(guò)程。其中SoftMaxLoss層用于深度神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練時(shí)輸出訓(xùn)練的輸出結(jié)果與實(shí)際的訓(xùn)練位置標(biāo)簽的誤差,而SoftMax層用于在實(shí)施網(wǎng)絡(luò)在定位時(shí),輸出待檢測(cè)客戶端所在位置所屬分類(lèi)的概率值。
訓(xùn)練網(wǎng)絡(luò)和實(shí)施網(wǎng)絡(luò)除了最后一層不一樣(訓(xùn)練網(wǎng)絡(luò)為SoftMaxLoss層,實(shí)施網(wǎng)絡(luò)為),其他層都一樣,訓(xùn)練網(wǎng)絡(luò)所得到的網(wǎng)絡(luò)參數(shù)可以直接用在實(shí)施網(wǎng)絡(luò)中。
方式二直接輸出待檢測(cè)客戶端所在位置的預(yù)設(shè)位置坐標(biāo),其采用的深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練網(wǎng)絡(luò)的結(jié)構(gòu)如下:
數(shù)據(jù)層->全連接層1->ReLU層->全連接層2->Euclidean Loss層
當(dāng)網(wǎng)絡(luò)參數(shù)訓(xùn)練完成之后,將深度神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)參數(shù)更新為訓(xùn)練后的網(wǎng)絡(luò)參數(shù),同時(shí)將訓(xùn)練網(wǎng)絡(luò)最后一層Euclidean Loss層去除,形成實(shí)施網(wǎng)絡(luò),用于作為定位模型參與實(shí)際定位過(guò)程。其中Euclidean Loss層用于深度神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練時(shí)輸出訓(xùn)練的輸出結(jié)果與實(shí)際的訓(xùn)練位置標(biāo)簽的誤差,而實(shí)施網(wǎng)絡(luò)在定位時(shí),直接在網(wǎng)絡(luò)層輸出待檢測(cè)客戶端所在位置的預(yù)測(cè)位置坐標(biāo)。
訓(xùn)練網(wǎng)絡(luò)和實(shí)施網(wǎng)絡(luò)除了最后一層不一樣(訓(xùn)練網(wǎng)絡(luò)為Euclidean Loss層,實(shí)施網(wǎng)絡(luò)去除Euclidean Loss層),其他層都一樣,訓(xùn)練網(wǎng)絡(luò)所得到的網(wǎng)絡(luò)參數(shù)可以直接用在實(shí)施網(wǎng)絡(luò)中。
具體的,本發(fā)明采用有監(jiān)督的全局參數(shù)訓(xùn)練的方法:已知與各個(gè)無(wú)線接入點(diǎn)對(duì)應(yīng)的信號(hào)強(qiáng)度數(shù)據(jù)的實(shí)際位置屬于某個(gè)網(wǎng)格,通過(guò)不斷調(diào)整網(wǎng)絡(luò)參數(shù)使得深度神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)層的輸出和真實(shí)的結(jié)果相同。
圖3為本發(fā)明一種基于雙向信號(hào)強(qiáng)度數(shù)據(jù)的wifi定位方法的訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)的步驟示意圖。優(yōu)選的,如圖3所示,所述步驟S000進(jìn)一步包括步驟:S001、預(yù)先設(shè)置訓(xùn)練位置標(biāo)簽;S002、在訓(xùn)練位置標(biāo)簽在檢測(cè)區(qū)域內(nèi)對(duì)應(yīng)位置上將訓(xùn)練終端依次與各個(gè)無(wú)線接入點(diǎn)關(guān)聯(lián),多次采集訓(xùn)練終端與每個(gè)無(wú)線接入點(diǎn)關(guān)聯(lián)時(shí)的雙向信號(hào)數(shù)據(jù);所述雙向信號(hào)數(shù)據(jù)包括各個(gè)無(wú)線接入點(diǎn)接收到的訓(xùn)練終端所發(fā)的信號(hào)的第一接收信號(hào)強(qiáng)度指示,以及訓(xùn)練終端接收到的各個(gè)無(wú)線接入點(diǎn)所發(fā)的信號(hào)的第二接收信號(hào)強(qiáng)度指示;將所述雙向信號(hào)數(shù)據(jù)與對(duì)應(yīng)的訓(xùn)練位置標(biāo)簽作為一組訓(xùn)練樣本數(shù)據(jù);S003、按步驟S002所述方法采集所有訓(xùn)練位置標(biāo)簽在檢測(cè)區(qū)域內(nèi)對(duì)應(yīng)位置上的雙向信號(hào)數(shù)據(jù),生成多組訓(xùn)練樣本數(shù)據(jù),根據(jù)所述多組訓(xùn)練樣本數(shù)據(jù)生成訓(xùn)練數(shù)據(jù)集,送入深度神經(jīng)網(wǎng)絡(luò);S004、將深度神經(jīng)網(wǎng)絡(luò)的輸入數(shù)據(jù)層定義為雙通道數(shù)據(jù)層,所述雙通道數(shù)據(jù)層的節(jié)點(diǎn)與各個(gè)無(wú)線接入點(diǎn)相對(duì)應(yīng);按照雙通道數(shù)據(jù)層的節(jié)點(diǎn)與各個(gè)無(wú)線接入點(diǎn)對(duì)應(yīng)的方式分別將每個(gè)訓(xùn)練樣本數(shù)據(jù)中第一接收信號(hào)強(qiáng)度指示以及第二接收信號(hào)強(qiáng)度指示輸入對(duì)應(yīng)的節(jié)點(diǎn)的兩個(gè)通道,經(jīng)過(guò)所述深度神經(jīng)網(wǎng)絡(luò)輸出與所述訓(xùn)練樣本數(shù)據(jù)中所述訓(xùn)練位置標(biāo)簽相對(duì)應(yīng)的訓(xùn)練結(jié)果;S005、依次將輸出的訓(xùn)練結(jié)果與其對(duì)應(yīng)的所述訓(xùn)練位置標(biāo)簽進(jìn)行比較,根據(jù)比較結(jié)果對(duì)深度神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,將訓(xùn)練后的深度神經(jīng)網(wǎng)絡(luò)作為所述定位模型。
具體的,本實(shí)施例中預(yù)先設(shè)置訓(xùn)練位置標(biāo)簽可通過(guò)前述方式一對(duì)檢測(cè)區(qū)域進(jìn)行網(wǎng)絡(luò)劃分成多個(gè)分類(lèi),每個(gè)分類(lèi)分配訓(xùn)練位置標(biāo)簽,也可以通過(guò)前述方式二對(duì)檢測(cè)區(qū)域進(jìn)行坐標(biāo)劃分,將預(yù)設(shè)的訓(xùn)練位置的坐標(biāo)作為訓(xùn)練位置標(biāo)簽。本發(fā)明對(duì)于訓(xùn)練位置標(biāo)簽如何設(shè)置不作具體限定。
具體的,下面以具體實(shí)例介紹本發(fā)明對(duì)深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練的過(guò)程。
1、首先是預(yù)先設(shè)置訓(xùn)練位置標(biāo)簽
假設(shè)本實(shí)施例中采用前述方式一預(yù)設(shè)訓(xùn)練位置標(biāo)簽,具體過(guò)程為:對(duì)檢測(cè)區(qū)域進(jìn)行網(wǎng)格劃分,得到多個(gè)平面網(wǎng)格,并為每個(gè)平面網(wǎng)格分配對(duì)應(yīng)的用于訓(xùn)練的訓(xùn)練位置標(biāo)簽。本實(shí)施例中深度神經(jīng)網(wǎng)絡(luò)的將檢測(cè)區(qū)域網(wǎng)格化分為多個(gè)平面網(wǎng)格,為每個(gè)平面網(wǎng)格分配對(duì)應(yīng)的訓(xùn)練位置標(biāo)簽,比如檢測(cè)區(qū)域?yàn)橐粋€(gè)長(zhǎng)方向,假設(shè)長(zhǎng)為M,寬為N,面積為M*N。根據(jù)WIFI的精度特性本實(shí)施例中以3米作為基本單位,則這個(gè)內(nèi)部空間的劃分為M/3*N/3個(gè)方格。為了方便解釋?zhuān)僭O(shè)M/3和N/3為整數(shù),假設(shè)M=30,N=21,則M/3=10,N/3=7,整個(gè)檢測(cè)區(qū)域經(jīng)過(guò)網(wǎng)格劃分之后劃分為70個(gè)空格,定義這70個(gè)空格為深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)的70類(lèi),分別為這70類(lèi)分配訓(xùn)練位置標(biāo)簽,例如,可以按照從左到右從上到下的順序,依次為各個(gè)平面網(wǎng)格進(jìn)行編號(hào),從而可以得到從1到70的這70個(gè)標(biāo)識(shí)。為各個(gè)平面網(wǎng)格分配的標(biāo)識(shí)可以作為訓(xùn)練位置標(biāo)簽。例如,第34個(gè)平面網(wǎng)格的標(biāo)識(shí)“34”便可以作為訓(xùn)練位置標(biāo)簽。
假設(shè)本實(shí)施例中采用前述方式二預(yù)設(shè)訓(xùn)練位置標(biāo)簽,具體過(guò)程為:根據(jù)檢測(cè)區(qū)域建立平面直角坐標(biāo)系,在所述平面直角坐標(biāo)系中標(biāo)出用于訓(xùn)練的預(yù)設(shè)訓(xùn)練位置坐標(biāo),X軸和Y軸的單位長(zhǎng)度設(shè)為預(yù)設(shè)值。比如檢測(cè)區(qū)域的內(nèi)部空間為一個(gè)長(zhǎng)方向,假設(shè)長(zhǎng)為M,寬為N,面積為M*N。根據(jù)WIFI的精度特性以3米作為X軸和Y軸的單位長(zhǎng)度,確定左下角為原點(diǎn),則X軸的單位刻度為3米一單位,最大刻度為M/3,Y軸的單位刻度為3米一單位,最大刻度為N/3。依次在建立好坐標(biāo)系的檢測(cè)區(qū)域標(biāo)出用于訓(xùn)練的預(yù)設(shè)訓(xùn)練位置坐標(biāo),比如label=<1.4,5.3>,表示此位置的坐標(biāo)為:X=1.4,Y=5.3。
2、采集訓(xùn)練樣本數(shù)據(jù)
依次采集每個(gè)所述訓(xùn)練位置標(biāo)簽在檢測(cè)區(qū)域內(nèi)所對(duì)應(yīng)的網(wǎng)格上的雙向信號(hào)強(qiáng)度數(shù)據(jù),具體的,比如在上述70個(gè)網(wǎng)格的檢測(cè)區(qū)域中標(biāo)識(shí)為1的網(wǎng)格對(duì)應(yīng)的位置上或在檢測(cè)區(qū)域中坐標(biāo)為<1.4,5.3>所在位置上通過(guò)訓(xùn)練終端發(fā)出探測(cè)幀,無(wú)線接入點(diǎn)收到后獲取所述探測(cè)幀的信號(hào)強(qiáng)度,各個(gè)無(wú)線接入點(diǎn)上報(bào)信號(hào)強(qiáng)度至本地服務(wù)器或云服務(wù)器。通過(guò)服務(wù)器采集各個(gè)AP的RSSI獲得與各個(gè)AP對(duì)應(yīng)的第一接收信號(hào)強(qiáng)度指示,同時(shí),將訓(xùn)練終端與其中任意一個(gè)AP關(guān)聯(lián),響應(yīng)已關(guān)聯(lián)的無(wú)線接入點(diǎn)發(fā)送的ICMP請(qǐng)求報(bào)文,并返回ICMP回復(fù)報(bào)文至已關(guān)聯(lián)的無(wú)線接入點(diǎn),所述ICMP回復(fù)報(bào)文中包含待檢測(cè)客戶端接收到的已關(guān)聯(lián)的無(wú)線接入點(diǎn)所發(fā)信號(hào)的接收強(qiáng)度數(shù)據(jù),同時(shí)向除了已關(guān)聯(lián)的無(wú)線接入點(diǎn)以外的其他無(wú)線接入點(diǎn)分別發(fā)送探測(cè)回復(fù)報(bào)文,根據(jù)待檢測(cè)客戶端接收到的已關(guān)聯(lián)的無(wú)線接入點(diǎn)所發(fā)信號(hào)的接收強(qiáng)度數(shù)據(jù)以及待檢測(cè)客戶端接收到的除了已關(guān)聯(lián)的無(wú)線接入點(diǎn)以外的其他無(wú)線接入點(diǎn)所發(fā)信號(hào)的接收強(qiáng)度數(shù)據(jù)生成第二接收信號(hào)強(qiáng)度指示,第一接收信號(hào)強(qiáng)度指示和第二接收信號(hào)強(qiáng)度指示組成雙向信號(hào)強(qiáng)度數(shù)據(jù)。
需要說(shuō)明的是,在某一個(gè)訓(xùn)練位置標(biāo)簽所在位置上采集雙向信號(hào)強(qiáng)度數(shù)據(jù)時(shí),進(jìn)行多次采集,雙向信號(hào)強(qiáng)度數(shù)據(jù)根據(jù)訓(xùn)練終端所處方向以及采集的時(shí)間不同處于變化狀態(tài),因此進(jìn)行多次采集獲得多組數(shù)據(jù)對(duì)深度神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練可提高定位的精確程度。
將標(biāo)識(shí)為1的網(wǎng)格的訓(xùn)練位置標(biāo)簽或坐標(biāo)為<1.4,5.3>的訓(xùn)練位置標(biāo)簽結(jié)合雙向信號(hào)強(qiáng)度數(shù)據(jù)生成一組訓(xùn)練樣本數(shù)據(jù),假設(shè)檢測(cè)區(qū)域中有4個(gè)AP,則一組訓(xùn)練樣本數(shù)據(jù)表示為:<(RSSI11,RSSI12),(RSSI21,RSSI22),(RSSI31,RSSI32),(RSSI41,RSSI42),1>,或<(RSSI11,RSSI12),(RSSI21,RSSI22),(RSSI31,RSSI32),(RSSI41,RSSI42),1.4,5.3>,其中RSSI11為AP1收到的訓(xùn)練終端的RSSI,RSSI12為訓(xùn)練終端收到的AP1的RSSI,RSSI21為AP2收到的訓(xùn)練終端的RSSI,RSSI22為訓(xùn)練終端收到的AP2的RSSI,以此類(lèi)推,其中,前四個(gè)數(shù)值的單位可以為dBm,最后一個(gè)數(shù)值可以無(wú)量綱。
3、其次將訓(xùn)練樣本數(shù)據(jù)中的雙向信號(hào)強(qiáng)度數(shù)據(jù)輸入深度神經(jīng)網(wǎng)絡(luò)進(jìn)行計(jì)算,最后輸出訓(xùn)練結(jié)果與訓(xùn)練位置標(biāo)簽的誤差。
本發(fā)明中采集的雙向信號(hào)數(shù)據(jù)包括兩種數(shù)據(jù),即第一接收信號(hào)強(qiáng)度指示以及第二接收信號(hào)強(qiáng)度指示,因此定義深度神經(jīng)網(wǎng)絡(luò)的輸入數(shù)據(jù)層的數(shù)據(jù)通道為雙通道,將訓(xùn)練樣本數(shù)據(jù)中的RSSI11和RSSI12輸入數(shù)據(jù)層的對(duì)應(yīng)AP1的節(jié)點(diǎn)的兩個(gè)通道,將訓(xùn)練樣本數(shù)據(jù)中的RSSI21和RSSI22輸入數(shù)據(jù)層的對(duì)應(yīng)AP2的節(jié)點(diǎn)的兩個(gè)通道,以此類(lèi)推,在SoftMaxLoss層用label進(jìn)行回歸,通過(guò)訓(xùn)練在SoftMaxLoss層輸出Loss。
4、最后通過(guò)調(diào)整深度神經(jīng)網(wǎng)絡(luò)中的參數(shù)使得整個(gè)網(wǎng)絡(luò)的Loss即誤差最小。
具體的,計(jì)算所述比較結(jié)果與其對(duì)應(yīng)的所述訓(xùn)練位置標(biāo)簽的誤差,根據(jù)所述誤差調(diào)整深度神經(jīng)網(wǎng)絡(luò)的參數(shù),直到所述比較結(jié)果與其對(duì)應(yīng)的所述預(yù)測(cè)位置標(biāo)簽的誤差收斂于預(yù)設(shè)范圍內(nèi),訓(xùn)練過(guò)程可采用隨機(jī)梯度下降、批梯度下降和共軛梯度下降等方法,具體不作限定。
需要說(shuō)明的是,整個(gè)深度神經(jīng)網(wǎng)絡(luò)中沒(méi)有標(biāo)明具體參數(shù),因?yàn)檫@些參數(shù)和具體的空間以及AP的個(gè)數(shù)有關(guān),不在本專(zhuān)利的范圍內(nèi)。
圖4為本發(fā)明一種基于雙向信號(hào)強(qiáng)度數(shù)據(jù)的wifi定位服務(wù)器的主要組成示意圖,如圖4所示,基于雙向信號(hào)強(qiáng)度數(shù)據(jù)的wifi定位服務(wù)器,包括:數(shù)據(jù)采集模塊100,用于當(dāng)待檢測(cè)客戶端與所有無(wú)線接入點(diǎn)中的任意一個(gè)無(wú)線接入點(diǎn)關(guān)聯(lián)之后,獲取檢測(cè)區(qū)域內(nèi)待檢測(cè)客戶端的雙向信號(hào)強(qiáng)度數(shù)據(jù);所述雙向信號(hào)強(qiáng)度數(shù)據(jù)包括待檢測(cè)客戶端接收各個(gè)無(wú)線接入點(diǎn)信號(hào)的與各個(gè)無(wú)線接入點(diǎn)對(duì)應(yīng)的第一接收信號(hào)強(qiáng)度指示,以及各個(gè)無(wú)線接入點(diǎn)接收待檢測(cè)客戶端信號(hào)的第二接收信號(hào)強(qiáng)度指示;定位模塊200,用于將所述雙向信號(hào)強(qiáng)度數(shù)據(jù)輸入訓(xùn)練后的定位模型的數(shù)據(jù)數(shù)據(jù)輸入層,基于訓(xùn)練后的定位模型的網(wǎng)絡(luò)層計(jì)算所述雙向信號(hào)強(qiáng)度數(shù)據(jù),在定位模型的輸出層輸出預(yù)測(cè)結(jié)果,根據(jù)所述預(yù)測(cè)結(jié)果確定待檢測(cè)客戶端的位置。
具體的,上述待檢測(cè)客戶端(以下簡(jiǎn)稱(chēng)STA)是以智能手機(jī)、筆記本電腦或個(gè)人平板電腦等智能終端設(shè)備為載體。
本實(shí)施例中所述雙向信號(hào)強(qiáng)度數(shù)據(jù)包括各個(gè)無(wú)線接入點(diǎn)接收到的待檢測(cè)客戶端所發(fā)的信號(hào)的第一接收信號(hào)強(qiáng)度指示,以及待檢測(cè)客戶端接收到的各個(gè)無(wú)線接入點(diǎn)所發(fā)的信號(hào)的第二接收信號(hào)強(qiáng)度指示,通過(guò)獲取雙向的信號(hào)強(qiáng)度數(shù)據(jù)增加了定位準(zhǔn)確度。本發(fā)明通過(guò)將待檢測(cè)客戶端所在位置的雙向信號(hào)強(qiáng)度數(shù)據(jù)作為輸入定位模型的原始數(shù)據(jù),例如,雙向信號(hào)強(qiáng)度數(shù)據(jù)的格式為<(RSSI11,RSSI12),(RSSI21,RSSI22),(RSSI31,RSSI32),(RSSI41,RSSI42)>,其中RSSI11為AP1收到的STA的RSSI,RSSI12為STA收到的AP1的RSSI,RSSI21為AP2收到的STA的RSSI,RSSI22為STA收到的AP2的RSSI,以此類(lèi)推。
本發(fā)明中的定位模型采用訓(xùn)練后的深度神經(jīng)網(wǎng)絡(luò),通過(guò)大量訓(xùn)練樣本數(shù)據(jù)對(duì)深度神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,提升定位準(zhǔn)確性以及精度。
圖5為本發(fā)明一種基于雙向信號(hào)強(qiáng)度數(shù)據(jù)的wifi定位服務(wù)器的完整的組成示意圖。優(yōu)選的,如圖5所示,所述數(shù)據(jù)采集模塊100進(jìn)一步包括:第一接收信號(hào)強(qiáng)度指示獲取模塊101,用于當(dāng)待檢測(cè)客戶端發(fā)送探測(cè)請(qǐng)求報(bào)文至所有無(wú)線接入點(diǎn)時(shí),根據(jù)所述探測(cè)請(qǐng)求報(bào)文獲得各個(gè)無(wú)線接入點(diǎn)接收到的待檢測(cè)客戶端所發(fā)的信號(hào)的第一接收信號(hào)強(qiáng)度指示;第二接收信號(hào)強(qiáng)度指示獲取模塊102,用于當(dāng)待檢測(cè)客戶端與其中任意一個(gè)無(wú)線接入點(diǎn)關(guān)聯(lián),響應(yīng)已關(guān)聯(lián)的無(wú)線接入點(diǎn)發(fā)送的ICMP請(qǐng)求報(bào)文時(shí),返回ICMP回復(fù)報(bào)文至已關(guān)聯(lián)的無(wú)線接入點(diǎn),所述ICMP回復(fù)報(bào)文中包含待檢測(cè)客戶端接收到的已關(guān)聯(lián)的無(wú)線接入點(diǎn)所發(fā)信號(hào)的接收強(qiáng)度數(shù)據(jù),并向除了已關(guān)聯(lián)的無(wú)線接入點(diǎn)以外的其他無(wú)線接入點(diǎn)分別發(fā)送探測(cè)回復(fù)報(bào)文,根據(jù)所述探測(cè)回復(fù)報(bào)文獲得待檢測(cè)客戶端接收到的除了已關(guān)聯(lián)的無(wú)線接入點(diǎn)以外的其他無(wú)線接入點(diǎn)所發(fā)信號(hào)的接收強(qiáng)度數(shù)據(jù),根據(jù)待檢測(cè)客戶端接收到的已關(guān)聯(lián)的無(wú)線接入點(diǎn)所發(fā)信號(hào)的接收強(qiáng)度數(shù)據(jù)以及待檢測(cè)客戶端接收到的除了已關(guān)聯(lián)的無(wú)線接入點(diǎn)以外的其他無(wú)線接入點(diǎn)所發(fā)信號(hào)的接收強(qiáng)度數(shù)據(jù)生成第二接收信號(hào)強(qiáng)度指示。
具體的,當(dāng)待檢測(cè)客戶端發(fā)送探測(cè)請(qǐng)求報(bào)文至所有無(wú)線接入點(diǎn)時(shí),根據(jù)所述探測(cè)請(qǐng)求報(bào)文獲得待檢測(cè)客戶端接收各個(gè)無(wú)線接入點(diǎn)信號(hào)的與各個(gè)無(wú)線接入點(diǎn)對(duì)應(yīng)的第一接收信號(hào)強(qiáng)度指示。其中,STA在檢測(cè)區(qū)域中實(shí)時(shí)發(fā)送探測(cè)幀,刺激各個(gè)無(wú)線接入點(diǎn)(簡(jiǎn)稱(chēng)AP)產(chǎn)生RSSI場(chǎng)強(qiáng)報(bào)文,各個(gè)無(wú)線接入點(diǎn)上報(bào)RSSI場(chǎng)強(qiáng)報(bào)文至本地服務(wù)器,服務(wù)器根據(jù)各個(gè)無(wú)線接入點(diǎn)上報(bào)的RSSI場(chǎng)強(qiáng)報(bào)文生成第一接收強(qiáng)度指示。
具體的,在STA關(guān)聯(lián)上AP并通過(guò)DHCP獲得IP地址之后,AP和STA直接便可以通過(guò)ping發(fā)送ICMP報(bào)文,當(dāng)AP發(fā)送ICMP request報(bào)文后,STA必須會(huì)ICMP response報(bào)文。本發(fā)明對(duì)ping報(bào)文進(jìn)行一擴(kuò)展,根據(jù)ICMP協(xié)議,ICMP response報(bào)文會(huì)把ICMP request報(bào)文的payload部分原封不動(dòng)的拷貝到ICMP response中,現(xiàn)在擴(kuò)展ICMP response的payload部分,不僅把把ICMP request報(bào)文的payload部分原封不動(dòng)的拷貝到ICMP response中,而且在其之后,加上ICMP request的RSSI(STA接收到ICMP request,自然能檢測(cè)到ICMP request的RSSI)。
整個(gè)流程如下:
AP通過(guò)ping發(fā)送ICMP request給STA。
STA按ICMP協(xié)議生成ICMP response,并擴(kuò)展ICMP的payload,把接收ICMP request獲得的RSSI加入payload中。
STA發(fā)送ICMP response到AP。
AP收到ICMP response,獲知ICMP response報(bào)文的RSSI,然后通過(guò)解析ICMP response的payload,獲知ICMP request的RSSI,即獲得已關(guān)聯(lián)的AP的接收強(qiáng)度數(shù)據(jù)。另外AP對(duì)STA ping的周期可自由設(shè)定,減小發(fā)送周期也可提高精度。
同時(shí),向除了已關(guān)聯(lián)的無(wú)線接入點(diǎn)以外的其他無(wú)線接入點(diǎn)分別發(fā)送探測(cè)回復(fù)報(bào)文,根據(jù)所述探測(cè)回復(fù)報(bào)文中獲得除了已關(guān)聯(lián)的無(wú)線接入點(diǎn)以外的其他無(wú)線接入點(diǎn)的接收強(qiáng)度數(shù)據(jù)。
具體的,本發(fā)明定義一種Probe ACK報(bào)文即探測(cè)回復(fù)報(bào)文,作為對(duì)Probe response即報(bào)文探測(cè)請(qǐng)求報(bào)文的應(yīng)答報(bào)文。
整個(gè)流程如下:
STA發(fā)送Probe Request報(bào)文給AP。
AP回Probe Response報(bào)文給STA。
STA發(fā)送Probe ACK報(bào)文給AP,在Probe ACK的payload中帶上STA收到Probe Response報(bào)文的RSSI。AP收到Probe ACK,獲知Probe ACK報(bào)文的RSSI,然后通過(guò)解析Probe ACK的payload,獲知Probe Response的RSSI,即獲得未關(guān)聯(lián)的AP的接收強(qiáng)度數(shù)據(jù)。
根據(jù)未關(guān)聯(lián)的AP的接收強(qiáng)度數(shù)據(jù)和已關(guān)聯(lián)的AP的接收強(qiáng)度數(shù)據(jù)生成第二接收強(qiáng)度指示。
本發(fā)明中第一接收信號(hào)強(qiáng)度指示通過(guò)STA向所有AP發(fā)送的探測(cè)請(qǐng)求報(bào)文即可獲得,而AP的第二接收信號(hào)強(qiáng)度指示包括了已關(guān)聯(lián)的AP的接收強(qiáng)度數(shù)據(jù)以及未和STA關(guān)聯(lián)的AP的接收強(qiáng)度數(shù)據(jù),對(duì)于未和STA關(guān)聯(lián)的AP的接收強(qiáng)度數(shù)據(jù),本發(fā)明通過(guò)增加一個(gè)探測(cè)回復(fù)報(bào)文,在所述探測(cè)回復(fù)報(bào)文中增加AP到STA的接收強(qiáng)度數(shù)據(jù)獲得,對(duì)于已關(guān)聯(lián)的AP的接收強(qiáng)度數(shù)據(jù),通過(guò)STA與已關(guān)聯(lián)的AP之間的IMCP報(bào)文獲得,通過(guò)對(duì)IMCP報(bào)文進(jìn)行擴(kuò)展,在ICMP回復(fù)報(bào)文中增加已關(guān)聯(lián)的AP的接收強(qiáng)度數(shù)據(jù)。需要說(shuō)明的是,相比于全部采用增加探測(cè)回復(fù)報(bào)文的方法獲得所有AP的接收強(qiáng)度數(shù)據(jù),本發(fā)明針對(duì)已關(guān)聯(lián)的AP和未關(guān)聯(lián)的AP采用不同的方式獲得AP的接收強(qiáng)度數(shù)據(jù),使得實(shí)際定位時(shí)數(shù)據(jù)源更加可靠精確,從而提高定位精度。
優(yōu)選的,如圖5所示,還包括:訓(xùn)練模塊300,用于預(yù)先訓(xùn)練深度神經(jīng)網(wǎng)絡(luò),將訓(xùn)練后的深度神經(jīng)網(wǎng)絡(luò)作為所述定位模型。
具體的,本發(fā)明中根據(jù)定位得到的輸出結(jié)果不同,可以包含兩種具體實(shí)現(xiàn)方式,方式一是通過(guò)深度神經(jīng)網(wǎng)絡(luò)作為定位模型輸出待檢測(cè)客戶端所在位置所屬某個(gè)預(yù)先設(shè)置的分類(lèi)的概率值,方式二是通過(guò)深度神經(jīng)網(wǎng)絡(luò)作為定位模型直接輸出待檢測(cè)客戶端所在位置的預(yù)設(shè)位置坐標(biāo)。
方式一輸出待檢測(cè)客戶端所在位置所屬某個(gè)預(yù)先設(shè)置的分類(lèi)的概率值,其采用的深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練網(wǎng)絡(luò)的結(jié)構(gòu)如下:
數(shù)據(jù)層->卷積層1->卷積層2->ReLU層->Max Pooling層->全連接層1->全連接層2->SoftMaxLoss層
當(dāng)網(wǎng)絡(luò)參數(shù)訓(xùn)練完成之后,將深度神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)參數(shù)更新為訓(xùn)練后的網(wǎng)絡(luò)參數(shù),同時(shí)將訓(xùn)練網(wǎng)絡(luò)最后一層SoftMaxLoss層更為SoftMax層,形成實(shí)施網(wǎng)絡(luò),用于作為定位模型參與實(shí)際定位過(guò)程。其中SoftMaxLoss層用于深度神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練時(shí)輸出訓(xùn)練的輸出結(jié)果與實(shí)際的訓(xùn)練位置標(biāo)簽的誤差,而SoftMax層用于在實(shí)施網(wǎng)絡(luò)在定位時(shí),輸出待檢測(cè)客戶端所在位置所屬分類(lèi)的概率值。
訓(xùn)練網(wǎng)絡(luò)和實(shí)施網(wǎng)絡(luò)除了最后一層不一樣(訓(xùn)練網(wǎng)絡(luò)為SoftMaxLoss層,實(shí)施網(wǎng)絡(luò)為),其他層都一樣,訓(xùn)練網(wǎng)絡(luò)所得到的網(wǎng)絡(luò)參數(shù)可以直接用在實(shí)施網(wǎng)絡(luò)中。
方式二直接輸出待檢測(cè)客戶端所在位置的預(yù)設(shè)位置坐標(biāo),其采用的深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練網(wǎng)絡(luò)的結(jié)構(gòu)如下:
數(shù)據(jù)層->全連接層1->ReLU層->全連接層2->Euclidean Loss層
當(dāng)網(wǎng)絡(luò)參數(shù)訓(xùn)練完成之后,將深度神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)參數(shù)更新為訓(xùn)練后的網(wǎng)絡(luò)參數(shù),同時(shí)將訓(xùn)練網(wǎng)絡(luò)最后一層Euclidean Loss層去除,形成實(shí)施網(wǎng)絡(luò),用于作為定位模型參與實(shí)際定位過(guò)程。其中Euclidean Loss層用于深度神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練時(shí)輸出訓(xùn)練的輸出結(jié)果與實(shí)際的訓(xùn)練位置標(biāo)簽的誤差,而實(shí)施網(wǎng)絡(luò)在定位時(shí),直接在網(wǎng)絡(luò)層輸出待檢測(cè)客戶端所在位置的預(yù)測(cè)位置坐標(biāo)。
訓(xùn)練網(wǎng)絡(luò)和實(shí)施網(wǎng)絡(luò)除了最后一層不一樣(訓(xùn)練網(wǎng)絡(luò)為Euclidean Loss層,實(shí)施網(wǎng)絡(luò)去除Euclidean Loss層),其他層都一樣,訓(xùn)練網(wǎng)絡(luò)所得到的網(wǎng)絡(luò)參數(shù)可以直接用在實(shí)施網(wǎng)絡(luò)中。
具體的,本發(fā)明采用有監(jiān)督的全局參數(shù)訓(xùn)練的方法:已知與各個(gè)無(wú)線接入點(diǎn)對(duì)應(yīng)的信號(hào)強(qiáng)度數(shù)據(jù)的實(shí)際位置屬于某個(gè)網(wǎng)格,通過(guò)不斷調(diào)整網(wǎng)絡(luò)參數(shù)使得深度神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)層的輸出和真實(shí)的結(jié)果相同。
具體的,本發(fā)明采用有監(jiān)督的全局參數(shù)訓(xùn)練的方法:已知與各個(gè)無(wú)線接入點(diǎn)對(duì)應(yīng)的信號(hào)強(qiáng)度數(shù)據(jù)的實(shí)際位置屬于某個(gè)網(wǎng)格,通過(guò)不斷調(diào)整網(wǎng)絡(luò)參數(shù)使得深度神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)層的輸出和真實(shí)的結(jié)果相同。
如圖5所示,優(yōu)選的,所述訓(xùn)練模塊300進(jìn)一步包括:標(biāo)簽預(yù)設(shè)子模塊301,用于預(yù)先設(shè)置訓(xùn)練位置標(biāo)簽;訓(xùn)練數(shù)據(jù)集生成子模塊302,用于在訓(xùn)練位置標(biāo)簽在檢測(cè)區(qū)域內(nèi)對(duì)應(yīng)位置上將訓(xùn)練終端依次與各個(gè)無(wú)線接入點(diǎn)關(guān)聯(lián),多次采集訓(xùn)練終端與每個(gè)無(wú)線接入點(diǎn)關(guān)聯(lián)時(shí)的雙向信號(hào)數(shù)據(jù),所述雙向信號(hào)數(shù)據(jù)包括各個(gè)無(wú)線接入點(diǎn)接收到的訓(xùn)練終端所發(fā)的信號(hào)的第一接收信號(hào)強(qiáng)度指示,以及訓(xùn)練終端接收到的各個(gè)無(wú)線接入點(diǎn)所發(fā)的信號(hào)的第二接收信號(hào)強(qiáng)度指示,將所述雙向信號(hào)數(shù)據(jù)與對(duì)應(yīng)的訓(xùn)練位置標(biāo)簽作為一組訓(xùn)練樣本數(shù)據(jù),采集所有訓(xùn)練位置標(biāo)簽在檢測(cè)區(qū)域內(nèi)對(duì)應(yīng)位置上的雙向信號(hào)數(shù)據(jù),生成多組訓(xùn)練樣本數(shù)據(jù),根據(jù)所述多組訓(xùn)練樣本數(shù)據(jù)生成訓(xùn)練數(shù)據(jù)集,送入深度神經(jīng)網(wǎng)絡(luò);訓(xùn)練預(yù)測(cè)子模塊303,用于將深度神經(jīng)網(wǎng)絡(luò)的輸入數(shù)據(jù)層定義為雙通道數(shù)據(jù)層,所述雙通道數(shù)據(jù)層的節(jié)點(diǎn)與各個(gè)無(wú)線接入點(diǎn)相對(duì)應(yīng),按照雙通道數(shù)據(jù)層的節(jié)點(diǎn)與各個(gè)無(wú)線接入點(diǎn)對(duì)應(yīng)的方式分別將每個(gè)訓(xùn)練樣本數(shù)據(jù)中第一接收信號(hào)強(qiáng)度指示以及第二接收信號(hào)強(qiáng)度指示輸入對(duì)應(yīng)的節(jié)點(diǎn)的兩個(gè)通道,經(jīng)過(guò)所述深度神經(jīng)網(wǎng)絡(luò)輸出與所述訓(xùn)練樣本數(shù)據(jù)中所述訓(xùn)練位置標(biāo)簽相對(duì)應(yīng)的訓(xùn)練結(jié)果,依次將輸出的訓(xùn)練結(jié)果與其對(duì)應(yīng)的所述訓(xùn)練位置標(biāo)簽進(jìn)行比較,根據(jù)比較結(jié)果對(duì)深度神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,將訓(xùn)練后的深度神經(jīng)網(wǎng)絡(luò)作為所述定位模型。
需要說(shuō)明的是,對(duì)于上述訓(xùn)練模塊300的訓(xùn)練過(guò)程詳見(jiàn)本發(fā)明對(duì)于前述方法中對(duì)應(yīng)深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練的解釋?zhuān)颂幉辉購(gòu)?fù)述。本服務(wù)器中各模塊之間的信息交互、執(zhí)行過(guò)程等內(nèi)容與上述方法實(shí)施例基于同一構(gòu)思,具體內(nèi)容可參見(jiàn)本發(fā)明方法實(shí)施例中的敘述,此處不再贅述。
應(yīng)當(dāng)說(shuō)明的是,上述實(shí)施例均可根據(jù)需要自由組合。以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。