本發(fā)明涉及無(wú)線局域網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種WiFi定位方法及服務(wù)器及定位模型構(gòu)建方法。
背景技術(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)源之間的距離,主要分成兩類:三角形強(qiáng)度算法以及位置指紋識(shí)別算法。其中三角形強(qiáng)度算法精度低,難以滿足室內(nèi)定位要求;而普通指紋識(shí)別算法又存在接收設(shè)備不同而使得接收信號(hào)存在誤差的缺陷。
技術(shù)實(shí)現(xiàn)要素:
為解決上述技術(shù)問(wèn)題,本發(fā)明提供一種WiFi定位方法及服務(wù)器及定位模型構(gòu)建方法,通過(guò)采集各個(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)了一種WiFi定位方法,所述方法包括步驟:S100、獲取檢測(cè)區(qū)域中各個(gè)無(wú)線接入點(diǎn)接收到待檢測(cè)客戶端發(fā)出的信號(hào)的的信號(hào)強(qiáng)度數(shù)據(jù);S200、將步驟S100中獲取的所述信號(hào)強(qiáng)度數(shù)據(jù)輸入定位模型的輸入數(shù)據(jù)層;S300、基于訓(xùn)練后的定位模型的網(wǎng)絡(luò)層計(jì)算所述信號(hào)強(qiáng)度數(shù)據(jù),在定位模型的輸出層輸出位置預(yù)測(cè)集,所述位置預(yù)測(cè)集包括預(yù)測(cè)位置標(biāo)簽與對(duì)應(yīng)概率值,將所述位置預(yù)測(cè)集中概率值最大的所述預(yù)測(cè)位置標(biāo)簽所對(duì)應(yīng)的位置確定為所述待檢測(cè)客戶端所在的位置。
進(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、對(duì)檢測(cè)區(qū)域進(jìn)行網(wǎng)格劃分,得到多個(gè)平面網(wǎng)格,并為每個(gè)平面網(wǎng)格分配對(duì)應(yīng)的用于訓(xùn)練的訓(xùn)練位置標(biāo)簽;S002、依次在所述預(yù)設(shè)訓(xùn)練位置坐標(biāo)上設(shè)置訓(xùn)練終端,采集檢測(cè)區(qū)域內(nèi)各個(gè)無(wú)線接入點(diǎn)接收到的每個(gè)所述訓(xùn)練位置標(biāo)簽上訓(xùn)練終端發(fā)出的信號(hào)的信號(hào)強(qiáng)度數(shù)據(jù);S003、分別將每個(gè)所述訓(xùn)練位置標(biāo)簽以及所述步驟S002中采集的各個(gè)無(wú)線接入點(diǎn)接收到的每個(gè)所述訓(xùn)練位置標(biāo)簽發(fā)出的信號(hào)的信號(hào)強(qiáng)度數(shù)據(jù)作為一組訓(xùn)練樣本數(shù)據(jù),生成訓(xùn)練數(shù)據(jù)集,并送入深度神經(jīng)網(wǎng)絡(luò)中;S004、依次將訓(xùn)練數(shù)據(jù)集中的每一組訓(xùn)練樣本數(shù)據(jù)中的信號(hào)強(qiáng)度數(shù)據(jù)輸入所述深度神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)輸入層,經(jīng)過(guò)所述深度神經(jīng)網(wǎng)絡(luò)輸出相對(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ò)作為所述定位模型。
進(jìn)一步優(yōu)選的,所述步驟S005進(jìn)一步包括步驟:計(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)。
本發(fā)明還公開(kāi)了一種WiFi定位服務(wù)器,包括:數(shù)據(jù)采集模塊,用于獲取檢測(cè)區(qū)域中各個(gè)無(wú)線接入點(diǎn)接收到待檢測(cè)客戶端發(fā)出的信號(hào)的的信號(hào)強(qiáng)度數(shù)據(jù);定位模塊,用于將獲取的所述信號(hào)強(qiáng)度數(shù)據(jù)輸入定位模型的輸入數(shù)據(jù)層,基于訓(xùn)練后的定位模型的網(wǎng)絡(luò)層計(jì)算所述信號(hào)強(qiáng)度數(shù)據(jù),在定位模型的輸出層輸出位置預(yù)測(cè)集,所述位置預(yù)測(cè)集包括預(yù)測(cè)位置標(biāo)簽與對(duì)應(yīng)概率值,將所述位置預(yù)測(cè)集中概率值最大的所述預(yù)測(cè)位置標(biāo)簽所對(duì)應(yīng)的位置確定為所述待檢測(cè)客戶端所在的位置。
進(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)一步包括:網(wǎng)格劃分子模塊,用于對(duì)檢測(cè)區(qū)域進(jìn)行網(wǎng)格劃分,得到多個(gè)平面網(wǎng)格,并為每個(gè)平面網(wǎng)格分配對(duì)應(yīng)的用于訓(xùn)練的訓(xùn)練位置標(biāo)簽;訓(xùn)練數(shù)據(jù)集生成子模塊,用于依次在所述預(yù)設(shè)訓(xùn)練位置坐標(biāo)上設(shè)置訓(xùn)練終端,采集檢測(cè)區(qū)域內(nèi)各個(gè)無(wú)線接入點(diǎn)接收到的每個(gè)所述訓(xùn)練位置標(biāo)簽上訓(xùn)練終端發(fā)出的信號(hào)的信號(hào)強(qiáng)度數(shù)據(jù),分別將每個(gè)所述訓(xùn)練位置標(biāo)簽以及采集的各個(gè)無(wú)線接入點(diǎn)接收到的每個(gè)所述訓(xùn)練位置標(biāo)簽發(fā)出的信號(hào)的信號(hào)強(qiáng)度數(shù)據(jù)作為一組訓(xùn)練樣本數(shù)據(jù),生成訓(xùn)練數(shù)據(jù)集,并送入深度神經(jīng)網(wǎng)絡(luò)中;訓(xùn)練預(yù)測(cè)子模塊,用于依次將訓(xùn)練數(shù)據(jù)集中的每一組訓(xùn)練樣本數(shù)據(jù)中的信號(hào)強(qiáng)度數(shù)據(jù)輸入所述深度神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)輸入層,經(jīng)過(guò)所述深度神經(jīng)網(wǎng)絡(luò)輸出相對(duì)應(yīng)的訓(xùn)練結(jié)果,并依次將輸出的訓(xùn)練結(jié)果與其對(duì)應(yīng)的所述預(yù)測(cè)位置標(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)了一種定位模型構(gòu)建方法,包括步驟:S10、對(duì)檢測(cè)區(qū)域進(jìn)行網(wǎng)格劃分,得到多個(gè)平面網(wǎng)格,并為每個(gè)平面網(wǎng)格分配對(duì)應(yīng)的用于訓(xùn)練的訓(xùn)練位置標(biāo)簽;S11、依次在所述預(yù)設(shè)訓(xùn)練位置坐標(biāo)上設(shè)置訓(xùn)練終端,采集檢測(cè)區(qū)域內(nèi)各個(gè)無(wú)線接入點(diǎn)接收到的每個(gè)所述訓(xùn)練位置標(biāo)簽上訓(xùn)練終端發(fā)出的信號(hào)的信號(hào)強(qiáng)度數(shù)據(jù);S12、分別將每個(gè)所述訓(xùn)練位置標(biāo)簽以及所述步驟S11中采集的各個(gè)無(wú)線接入點(diǎn)接收到的每個(gè)所述訓(xùn)練位置標(biāo)簽發(fā)出的信號(hào)的信號(hào)強(qiáng)度數(shù)據(jù)作為一組訓(xùn)練樣本數(shù)據(jù),生成訓(xùn)練數(shù)據(jù)集,并送入深度神經(jīng)網(wǎng)絡(luò)中;S13、依次將訓(xùn)練數(shù)據(jù)集中的每一組訓(xùn)練樣本數(shù)據(jù)中的信號(hào)強(qiáng)度數(shù)據(jù)輸入所述深度神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)輸入層,經(jīng)過(guò)所述深度神經(jīng)網(wǎng)絡(luò)輸出相對(duì)應(yīng)的訓(xùn)練結(jié)果;S14、依次將輸出的訓(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ò)作為所述定位模型。
進(jìn)一步優(yōu)選的,所述步驟S14進(jìn)一步包括步驟:計(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)。
與現(xiàn)有技術(shù)相比,本發(fā)明提供的一種基于WiFi網(wǎng)絡(luò)的定位方法及服務(wù)器及定位模型構(gòu)建方法,通過(guò)收集待測(cè)客戶端的與各個(gè)無(wú)線接入點(diǎn)相對(duì)應(yīng)的信號(hào)強(qiáng)度數(shù)據(jù)輸入訓(xùn)練好的定位模型,即可獲得待測(cè)客戶端所在位置所屬分類的概率,根據(jù)概率值確定待測(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ā)明一種WiFi定位方法的主要步驟示意圖;
圖2為本發(fā)明一種WiFi定位服務(wù)器的主要組成示意圖;
圖3為本發(fā)明一種WiFi定位服務(wù)器的完整組成示意圖;
圖4為本發(fā)明一種定位模型構(gòu)建方法的主要步驟示意圖。
附圖標(biāo)記:
100、數(shù)據(jù)采集模塊,200、定位模塊,300、訓(xùn)練模塊,301、網(wǎng)格劃分子模塊,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ā)明一種WiFi定位方法的主要步驟示意圖,如圖1所示,一種WiFi定位方法,所述方法包括步驟:S100、獲取檢測(cè)區(qū)域中各個(gè)無(wú)線接入點(diǎn)接收到待檢測(cè)客戶端發(fā)出的信號(hào)的的信號(hào)強(qiáng)度數(shù)據(jù);S200、將步驟S100中獲取的所述信號(hào)強(qiáng)度數(shù)據(jù)輸入定位模型的輸入數(shù)據(jù)層;S300、基于訓(xùn)練后的定位模型的網(wǎng)絡(luò)層計(jì)算所述信號(hào)強(qiáng)度數(shù)據(jù),在定位模型的輸出層輸出位置預(yù)測(cè)集,所述位置預(yù)測(cè)集包括預(yù)測(cè)位置標(biāo)簽與對(duì)應(yīng)概率值,將所述位置預(yù)測(cè)集中概率值最大的所述預(yù)測(cè)位置標(biāo)簽所對(duì)應(yīng)的位置確定為所述待檢測(cè)客戶端所在的位置。
具體的,上述待檢測(cè)客戶端(以下簡(jiǎn)稱STA)是以智能手機(jī)、筆記本電腦或個(gè)人平板電腦等智能終端設(shè)備為載體。
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場(chǎng)強(qiáng)報(bào)文生成信號(hào)強(qiáng)度數(shù)據(jù)。本發(fā)明通過(guò)將各個(gè)無(wú)線接入點(diǎn)獲得的與各個(gè)無(wú)線接入點(diǎn)對(duì)應(yīng)的信號(hào)強(qiáng)度數(shù)據(jù)作為輸入定位模型的原始數(shù)據(jù),例如,信號(hào)強(qiáng)度數(shù)據(jù)的格式為<RSSI1,RSSI2,RSSI3,RSSI4,RSSI5>,其中RSSI1為AP1收到的STA的RSSI,RSSI2為AP2收到的STA的RSSI,以此類推。
本發(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)確性以及精度。本發(fā)明還可以將與信號(hào)強(qiáng)度數(shù)據(jù)相關(guān)的信號(hào)道、AP的輸入功率以及天氣環(huán)境等數(shù)據(jù)一同采集,能夠增加定位精確度。
優(yōu)選的,所述步驟S100之前還包括步驟:S000、預(yù)先訓(xùn)練深度神經(jīng)網(wǎng)絡(luò),將訓(xùn)練后的深度神經(jīng)網(wǎng)絡(luò)作為所述定位模型。
本發(fā)明設(shè)計(jì)的深度神經(jīng)網(wǎng)絡(luò)為訓(xùn)練網(wǎng)絡(luò),用于網(wǎng)絡(luò)參數(shù)的訓(xùn)練。本實(shí)施例中深度神經(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è)客戶端所在位置所屬分類的概率值。
訓(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ò)中。
優(yōu)選的,所述步驟S000進(jìn)一步包括步驟:S001、對(duì)檢測(cè)區(qū)域進(jìn)行網(wǎng)格劃分,得到多個(gè)平面網(wǎng)格,并為每個(gè)平面網(wǎng)格分配對(duì)應(yīng)的用于訓(xùn)練的訓(xùn)練位置標(biāo)簽;S002、依次采集每個(gè)所述訓(xùn)練位置標(biāo)簽在檢測(cè)區(qū)域內(nèi)所對(duì)應(yīng)的網(wǎng)格上接收各個(gè)無(wú)線接入點(diǎn)信號(hào)的信號(hào)強(qiáng)度數(shù)據(jù);S003、分別將每個(gè)所述訓(xùn)練位置標(biāo)簽以及其對(duì)應(yīng)的位置上接收各個(gè)無(wú)線接入點(diǎn)信號(hào)的信號(hào)強(qiáng)度數(shù)據(jù)作為一組訓(xùn)練樣本數(shù)據(jù),生成訓(xùn)練數(shù)據(jù)集,并送入深度神經(jīng)網(wǎng)絡(luò)中;S004、依次將訓(xùn)練數(shù)據(jù)集中的每一組訓(xùn)練樣本數(shù)據(jù)中的信號(hào)強(qiáng)度數(shù)據(jù)輸入所述深度神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)輸入層,經(jīng)過(guò)所述深度神經(jīng)網(wǎng)絡(luò)輸出相對(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ā)明采用有監(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é)果相同。
下面以具體實(shí)例結(jié)合上述步驟詳細(xì)介紹本發(fā)明深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過(guò)程。
1、首先是對(duì)檢測(cè)區(qū)域進(jìn)行劃分,在檢測(cè)區(qū)域內(nèi)采集訓(xùn)練樣本數(shù)據(jù)。
所述步驟S001對(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è)方格。為了方便解釋,假設(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類,分別為這70類分配訓(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)簽。
根據(jù)上述實(shí)例對(duì)所述步驟S002依次在所述預(yù)設(shè)訓(xùn)練位置坐標(biāo)上設(shè)置訓(xùn)練終端,采集檢測(cè)區(qū)域內(nèi)各個(gè)無(wú)線接入點(diǎn)接收到的每個(gè)所述訓(xùn)練位置標(biāo)簽上訓(xùn)練終端發(fā)出的信號(hào)的信號(hào)強(qiáng)度數(shù)據(jù)進(jìn)行說(shuō)明,具體如下:在上述70個(gè)網(wǎng)格的檢測(cè)區(qū)域中標(biāo)識(shí)為1的網(wǎng)格對(duì)應(yīng)的位置上通過(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場(chǎng)強(qiáng)報(bào)文獲得與各個(gè)AP對(duì)應(yīng)的信號(hào)強(qiáng)度數(shù)據(jù),同時(shí),將標(biāo)識(shí)為1的網(wǎng)格的訓(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ù)表示為:(RSSI1,RSSI2,RSSI3,RSSI4,34),以實(shí)例表示為<-30,-12,-14,-67,34>,其中,前四個(gè)數(shù)值的單位可以為dBm,最后一個(gè)數(shù)值可以無(wú)量綱。該訓(xùn)練樣本數(shù)據(jù)可以表示編號(hào)為1的接入點(diǎn)對(duì)應(yīng)的RSSI為-30dBm,編號(hào)為2的接入點(diǎn)對(duì)應(yīng)的RSSI為-12dBm,編號(hào)為3的接入點(diǎn)對(duì)應(yīng)的RSSI為-14dBm,編號(hào)為4的接入點(diǎn)對(duì)應(yīng)的RSSI為-67dBm,該STA位于標(biāo)識(shí)為34的平面網(wǎng)格中。
2、其次將訓(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)簽的誤差。
將訓(xùn)練樣本數(shù)據(jù)中的RSSI1到RSSI4從數(shù)據(jù)層輸入,在SoftMaxLoss層用label進(jìn)行回歸,通過(guò)訓(xùn)練在SoftMaxLoss層輸出Loss。
3、最后通過(guò)調(diào)整深度神經(jīng)網(wǎng)絡(luò)中的參數(shù)使得整個(gè)網(wǎng)絡(luò)的Loss即誤差最小。
需要說(shuō)明的是,整個(gè)深度神經(jīng)網(wǎng)絡(luò)中沒(méi)有標(biāo)明具體參數(shù),因?yàn)檫@些參數(shù)和具體的空間以及AP的個(gè)數(shù)有關(guān),不在本專利的范圍內(nèi)。
優(yōu)選的,所述步驟S005進(jìn)一步包括步驟:計(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)。
具體的,本實(shí)施例中訓(xùn)練過(guò)程可采用隨機(jī)梯度下降、批梯度下降和共軛梯度下降等方法,具體不作限定。
本發(fā)明中深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練后的參數(shù)可以直接用在實(shí)施網(wǎng)絡(luò)中,將實(shí)施網(wǎng)絡(luò)作為定位模型。深度神經(jīng)網(wǎng)絡(luò)作為實(shí)施網(wǎng)絡(luò)結(jié)構(gòu)如下:
數(shù)據(jù)層->卷積層1->卷積層2->ReLU層->Max Pooling層->全連接層1->全連接層2->SoftMax層
下面以實(shí)例介紹基于訓(xùn)練好的深度神經(jīng)網(wǎng)絡(luò)對(duì)待檢測(cè)客戶端所在位置所處分類進(jìn)行預(yù)測(cè),具體過(guò)程如下:
在檢測(cè)區(qū)域內(nèi)任意一個(gè)位置放置待檢測(cè)STA。該STA向外廣播探測(cè)請(qǐng)求幀,檢測(cè)區(qū)域內(nèi)的各個(gè)AP被刺激生成RSSI場(chǎng)強(qiáng)報(bào)文并上報(bào)到服務(wù)器,服務(wù)器根據(jù)所有AP上報(bào)的RSSI場(chǎng)強(qiáng)報(bào)文獲得與各個(gè)AP對(duì)應(yīng)的信號(hào)強(qiáng)度數(shù)據(jù),結(jié)合上述實(shí)例可表示為,(RSSI1,RSSI2,RSSI3,RSSI4)。
把待預(yù)測(cè)STA位置的檢測(cè)到的信號(hào)強(qiáng)度數(shù)據(jù)的RSSI1到RSSI4從數(shù)據(jù)層輸入,在SoftMax層輸出70類預(yù)測(cè)概率。
假設(shè)輸出70類概率從大到小排列為:
Label 44:0.7
Label 1:0.2
Label 21:0.1
Label 11:0.04
Labe l9:0.01
…
…
則選取Label44作為最后的預(yù)測(cè),即預(yù)測(cè)此STA在標(biāo)識(shí)為44的網(wǎng)格內(nèi)。
圖2為本發(fā)明一種WiFi定位服務(wù)器的組成示意圖,如圖2所示,一種WiFi定位服務(wù)器,包括:數(shù)據(jù)采集模塊100,用于獲取檢測(cè)區(qū)域中各個(gè)無(wú)線接入點(diǎn)接收到待檢測(cè)客戶端發(fā)出的信號(hào)的的信號(hào)強(qiáng)度數(shù)據(jù);定位模塊200,用于將獲取的所述信號(hào)強(qiáng)度數(shù)據(jù)輸入定位模型的輸入數(shù)據(jù)層,基于訓(xùn)練后的定位模型的網(wǎng)絡(luò)層計(jì)算所述信號(hào)強(qiáng)度數(shù)據(jù),在定位模型的輸出層輸出位置預(yù)測(cè)集,所述位置預(yù)測(cè)集包括預(yù)測(cè)位置標(biāo)簽與對(duì)應(yīng)概率值,將所述位置預(yù)測(cè)集中概率值最大的所述預(yù)測(cè)位置標(biāo)簽所對(duì)應(yīng)的位置確定為所述待檢測(cè)客戶端所在的位置。
具體的,上述待檢測(cè)客戶端(以下簡(jiǎn)稱STA)是以智能手機(jī)、筆記本電腦或個(gè)人平板電腦等智能終端設(shè)備為載體。
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場(chǎng)強(qiáng)報(bào)文生成信號(hào)強(qiáng)度數(shù)據(jù)。本發(fā)明通過(guò)將各個(gè)無(wú)線接入點(diǎn)獲得的與各個(gè)無(wú)線接入點(diǎn)對(duì)應(yīng)的信號(hào)強(qiáng)度數(shù)據(jù)作為輸入定位模型的原始數(shù)據(jù),例如,信號(hào)強(qiáng)度數(shù)據(jù)的格式為<RSSI1,RSSI2,RSSI3,RSSI4,RSSI5>,其中RSSI1為AP1收到的STA的RSSI,RSSI2為AP2收到的STA的RSSI,以此類推。
本發(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)確性以及精度。
圖3為本發(fā)明一種WiFi定位服務(wù)器的完整組成示意圖。優(yōu)選的,如圖3所示,還包括:訓(xùn)練模塊300,用于預(yù)先訓(xùn)練深度神經(jīng)網(wǎng)絡(luò),將訓(xùn)練后的深度神經(jīng)網(wǎng)絡(luò)作為所述定位模型。
本發(fā)明設(shè)計(jì)的深度神經(jīng)網(wǎng)絡(luò)為訓(xùn)練網(wǎng)絡(luò),用于網(wǎng)絡(luò)參數(shù)的訓(xùn)練,當(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è)客戶端所在位置所屬分類的概率值。
訓(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ò)中。
優(yōu)選的,所述訓(xùn)練模塊300進(jìn)一步包括:網(wǎng)格劃分子模塊301,用于對(duì)檢測(cè)區(qū)域進(jìn)行網(wǎng)格劃分,得到多個(gè)平面網(wǎng)格,并為每個(gè)平面網(wǎng)格分配對(duì)應(yīng)的用于訓(xùn)練的訓(xùn)練位置標(biāo)簽;訓(xùn)練數(shù)據(jù)集生成子模塊302,用于依次在所述預(yù)設(shè)訓(xùn)練位置坐標(biāo)上設(shè)置訓(xùn)練終端,采集檢測(cè)區(qū)域內(nèi)各個(gè)無(wú)線接入點(diǎn)接收到的每個(gè)所述訓(xùn)練位置標(biāo)簽上訓(xùn)練終端發(fā)出的信號(hào)的信號(hào)強(qiáng)度數(shù)據(jù),分別將每個(gè)所述訓(xùn)練位置標(biāo)簽以及采集的各個(gè)無(wú)線接入點(diǎn)接收到的每個(gè)所述訓(xùn)練位置標(biāo)簽發(fā)出的信號(hào)的信號(hào)強(qiáng)度數(shù)據(jù)作為一組訓(xùn)練樣本數(shù)據(jù),生成訓(xùn)練數(shù)據(jù)集,并送入深度神經(jīng)網(wǎng)絡(luò)中;訓(xùn)練預(yù)測(cè)子模塊303,用于依次將訓(xùn)練數(shù)據(jù)集中的每一組訓(xùn)練樣本數(shù)據(jù)中的信號(hào)強(qiáng)度數(shù)據(jù)輸入所述深度神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)輸入層,經(jīng)過(guò)所述深度神經(jīng)網(wǎng)絡(luò)輸出相對(duì)應(yīng)的訓(xùn)練結(jié)果,并依次將輸出的訓(xùn)練結(jié)果與其對(duì)應(yīng)的所述預(yù)測(cè)位置標(biāo)簽進(jìn)行比較,根據(jù)比較結(jié)果對(duì)深度神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,將訓(xùn)練后的深度神經(jīng)網(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é)果相同。
需要說(shuō)明的是,對(duì)于上述訓(xùn)練模塊300的訓(xùn)練過(guò)程詳見(jiàn)本發(fā)明對(duì)于WiFi定位方法中訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)的解釋,此處不再?gòu)?fù)述。本服務(wù)器中各模塊之間的信息交互、執(zhí)行過(guò)程等內(nèi)容與上述方法實(shí)施例基于同一構(gòu)思,具體內(nèi)容可參見(jiàn)本發(fā)明方法實(shí)施例中的敘述,此處不再贅述。
圖4為本發(fā)明一種定位模型構(gòu)建方法的主要步驟示意圖,如圖4所示,一種定位模型構(gòu)建方法,包括步驟:S10、對(duì)檢測(cè)區(qū)域進(jìn)行網(wǎng)格劃分,得到多個(gè)平面網(wǎng)格,并為每個(gè)平面網(wǎng)格分配對(duì)應(yīng)的用于訓(xùn)練的訓(xùn)練位置標(biāo)簽;S11、依次在所述預(yù)設(shè)訓(xùn)練位置坐標(biāo)上設(shè)置訓(xùn)練終端,采集檢測(cè)區(qū)域內(nèi)各個(gè)無(wú)線接入點(diǎn)接收到的每個(gè)所述訓(xùn)練位置標(biāo)簽上訓(xùn)練終端發(fā)出的信號(hào)的信號(hào)強(qiáng)度數(shù)據(jù);S12、分別將每個(gè)所述訓(xùn)練位置標(biāo)簽以及所述步驟S11中采集的各個(gè)無(wú)線接入點(diǎn)接收到的每個(gè)所述訓(xùn)練位置標(biāo)簽發(fā)出的信號(hào)的信號(hào)強(qiáng)度數(shù)據(jù)作為一組訓(xùn)練樣本數(shù)據(jù),生成訓(xùn)練數(shù)據(jù)集,并送入深度神經(jīng)網(wǎng)絡(luò)中;S13、依次將訓(xùn)練數(shù)據(jù)集中的每一組訓(xùn)練樣本數(shù)據(jù)中的信號(hào)強(qiáng)度數(shù)據(jù)輸入所述深度神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)輸入層,經(jīng)過(guò)所述深度神經(jīng)網(wǎng)絡(luò)輸出相對(duì)應(yīng)的訓(xùn)練結(jié)果;S14、依次將輸出的訓(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ò)作為所述定位模型。
優(yōu)選的,所述步驟S14進(jìn)一步包括步驟:計(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)。
需要說(shuō)明的是,本實(shí)施例中定位模型的構(gòu)建方法與上述WiFi定位方法中關(guān)于深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練方法基于同一構(gòu)思,可參見(jiàn)上述對(duì)于深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練方法部分的解釋,此處不作復(fù)述。
應(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ù)范圍。