孫 健,于 浩,辛喜福,羅博文,閆 婷
(1.吉林吉大通信設(shè)計(jì)院股份有限公司 鐵塔分院,吉林 長(zhǎng)春 130012;2.吉林吉大通信設(shè)計(jì)院股份有限公司 政企分院,吉林 長(zhǎng)春 130012;3. 中國(guó)電信股份有限公司長(zhǎng)春分公司 智慧家庭運(yùn)營(yíng)中心,吉林 長(zhǎng)春 130000)
室內(nèi)定位作為一種定位技術(shù)的發(fā)展方向,主要針對(duì)室內(nèi)場(chǎng)景提供定位服務(wù),如室內(nèi)定位系統(tǒng)可以部署應(yīng)用于商場(chǎng)、會(huì)議中心或其他由于衛(wèi)星信號(hào)受到遮擋導(dǎo)致衛(wèi)星定位系統(tǒng)無(wú)法正常工作的環(huán)境中。該系統(tǒng)能夠彌補(bǔ)衛(wèi)星定位方法覆蓋受限導(dǎo)致室內(nèi)應(yīng)用不足的問(wèn)題。因此,近年來(lái),室內(nèi)定位方法已逐漸成為定位領(lǐng)域內(nèi)研究的熱點(diǎn)。
在目前研究的室內(nèi)定位實(shí)現(xiàn)方法中,文獻(xiàn)[1-3]將慣性導(dǎo)航系統(tǒng)(Inertial Navigation System,INS)和無(wú)線傳感器網(wǎng)絡(luò)(Wireless Sensors Network,WSN)相互結(jié)合,通過(guò)傳感器間的數(shù)據(jù)融合算法提高導(dǎo)航系統(tǒng)的室內(nèi)定位精度。同時(shí),定位和映射(Simultaneous Localization and Mapping,SLAM)算法[4-5]是一種與室內(nèi)慣導(dǎo)系統(tǒng)原理完全不同的室內(nèi)定位方法,其利用激光雷達(dá)掃描周圍區(qū)域建立基于距離與角度的極坐標(biāo)測(cè)量數(shù)據(jù)庫(kù),并以此為基礎(chǔ)構(gòu)造實(shí)時(shí)更新的“室內(nèi)地圖”。除此以外,Wi-Fi[6]、超寬帶(Ultra Wide Band,UWB)脈沖信號(hào)[7]和藍(lán)牙[8]也是較為常見(jiàn)的室內(nèi)定位解決方案。但是,上述室內(nèi)定位方法一般需要放置特殊的輔助設(shè)備,或在系統(tǒng)布置完成前的量測(cè)工作量過(guò)大,因此,一般僅能應(yīng)用于工業(yè)廠區(qū)或尚停留于實(shí)驗(yàn)室測(cè)試階段。
近年來(lái),隨著深度學(xué)習(xí)技術(shù)的突破,人工智能領(lǐng)域加速崛起,計(jì)算機(jī)視覺(jué)技術(shù)發(fā)展迅速。受到視覺(jué)識(shí)別算法的啟發(fā),文獻(xiàn)[9-10]提出了一種新型的基于視覺(jué)物體識(shí)別的室內(nèi)定位算法,該算法利用深度學(xué)習(xí)方法檢測(cè)、識(shí)別拍攝圖像中物體,并通過(guò)與數(shù)字地圖匹配計(jì)算大致位置,最后利用非線性解算方法計(jì)算準(zhǔn)確定位結(jié)果??紤]定位算法中的物體識(shí)別算法對(duì)物體識(shí)別的正確率不足,且對(duì)物體的輪廓識(shí)別精度差,因此影響了最終的定位精度。為了進(jìn)一步提高基于圖像物體識(shí)別算法的室內(nèi)定位精度和成功率,文獻(xiàn)[11-12]提出了將模板匹配與區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(Regional-Convolutional Neural Network,R-CNN)算法相結(jié)合的物體識(shí)算法,即區(qū)域卷積網(wǎng)絡(luò)-模板匹配聯(lián)合檢測(cè)(Parallel R-CNN Detection and Template Matching Refinement,PDTR)算法,該算法在一定程度上優(yōu)化了圖像中目標(biāo)識(shí)別的成功率,即減少了誤差識(shí)別,但模板匹配的引入也導(dǎo)致對(duì)物體識(shí)別的過(guò)程中需要對(duì)模板庫(kù)中的所有樣本進(jìn)行依次匹配,算法的復(fù)雜度有較大提升。
為了改善上述研究中由于物體識(shí)別不準(zhǔn)確導(dǎo)致定位準(zhǔn)確度差的問(wèn)題,擬提出一種改進(jìn)的并行全卷積神經(jīng)網(wǎng)絡(luò)(Parallel-Fully Convolutional Neural Network,P-FCN )物體識(shí)別算法。該改進(jìn)的P-FCN網(wǎng)絡(luò)對(duì)圖像中的物體進(jìn)行檢測(cè)與標(biāo)記,將傳統(tǒng)的全卷積神經(jīng)網(wǎng)絡(luò)(Fully Convolutional Neural Network,F(xiàn)CN )并行化,利用FCN網(wǎng)絡(luò)中的上采樣層和下采樣層,從多個(gè)維度對(duì)圖像中的每個(gè)像素進(jìn)行獨(dú)立分類,在有效提高物體識(shí)別率的同時(shí),提高物體的輪廓識(shí)別精度,并在此基礎(chǔ)上進(jìn)一步在P-FCN網(wǎng)絡(luò)中增加模糊區(qū)域確定網(wǎng)絡(luò),消除樓層模糊干擾,提高定位準(zhǔn)確性。
基于物體識(shí)別的室內(nèi)定位算法的工作步驟如下,具體工作過(guò)程如圖1所示。
步驟1在服務(wù)器端建立室內(nèi)電子地圖,在地圖中標(biāo)記如門、窗、燈等真實(shí)物體的位置坐標(biāo),并在地圖中各個(gè)位置、以不同角度產(chǎn)生用于描述真實(shí)物體相對(duì)空間關(guān)系,如上、下、左、右的拓?fù)鋱D,即地圖拓?fù)鋱D(Map Graph,MG)。
步驟2應(yīng)用智能手機(jī)拍攝周圍環(huán)境的照片,并將照片上傳服務(wù)器。
步驟3服務(wù)器端利用物體識(shí)別算法檢測(cè)圖像中的物體,并以相同的拓?fù)鋱D產(chǎn)生方式為用戶拍攝照片中檢測(cè)出的物體產(chǎn)生拓圖像拓?fù)鋱D(Image Graph,IG)。
步驟4將IG圖與生成的所有MG圖根據(jù)規(guī)則進(jìn)行比較,相似度最高的MG圖的位置和方向被選取為拍攝用戶的粗定位、定向結(jié)果。受到物體檢測(cè)算法性能和物體空間關(guān)系的不唯一性的影響,粗定位結(jié)果一般精度較低,且存在多種位置解的情況。
步驟5為了優(yōu)化定位精度,在得到了粗定位結(jié)果與物體匹配結(jié)果后,進(jìn)一步應(yīng)用圖像中物體的尺寸信息計(jì)算出物體偽距,建立并求解定位方程,實(shí)現(xiàn)精定位。
圖1 基于目標(biāo)的室內(nèi)定位系統(tǒng)的工作過(guò)程
根據(jù)上述步驟,當(dāng)前基于物體的室內(nèi)定位算法能夠在室內(nèi)環(huán)境下提供米級(jí)的定位精度,但仍有較高概率發(fā)生定位失敗或定位結(jié)果模糊問(wèn)題,制約上述定位算法性能的原因有:首先,在步驟4中,真實(shí)環(huán)境中常見(jiàn)物體的重復(fù)率很高,導(dǎo)致物體之間的空間關(guān)系在不同位置上也有很高重復(fù)概率,進(jìn)一步導(dǎo)致了用戶粗定位結(jié)果的模糊性和不確定性,甚至可能直接導(dǎo)致定位失??;其次,在步驟5中,算法將成功匹配的物體視為“衛(wèi)星”或“基站”,因此,可以從電子地圖上獲取成功匹配物體準(zhǔn)確的絕對(duì)位置,利用PDTR算法輸出的物體標(biāo)記框圖,計(jì)算出拍攝圖像的位置相對(duì)于物體的距離,并以此實(shí)現(xiàn)精確定位??紤]R-CNN算法和改進(jìn)后的PDTR算法輸出的標(biāo)記框都無(wú)法準(zhǔn)確覆蓋被檢測(cè)對(duì)象,并導(dǎo)致相對(duì)距離計(jì)算不準(zhǔn)確,最終導(dǎo)致定位精度的下降。
FCN網(wǎng)絡(luò)是Jonathan在文獻(xiàn)[13]中提出的一種新的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),是在傳統(tǒng)CNN網(wǎng)絡(luò)結(jié)構(gòu)的基礎(chǔ)上進(jìn)一步發(fā)展而來(lái)。一般來(lái)說(shuō),傳統(tǒng)的CNN網(wǎng)絡(luò)由輸入層、卷積層、池化層和最后的完全連接層組成,如圖2所示。對(duì)于CNN網(wǎng)絡(luò),輸入的數(shù)據(jù)在卷積層中與不同的核數(shù)據(jù)進(jìn)行卷積處理,得到不同維度下的特征信息。之后,池化層通過(guò)降采樣步驟大幅降低了網(wǎng)絡(luò)中參數(shù)的數(shù)量。在經(jīng)過(guò)多個(gè)交織的卷積層和池化層后,最終的全連接層將特征信息映射為一個(gè)固定長(zhǎng)度的向量,其中每一個(gè)值代表輸入?yún)?shù)屬于某種類的概率。CNN網(wǎng)絡(luò)在處理圖像數(shù)據(jù)時(shí),圖像中像素間的空間關(guān)系被舍棄,因此在圖像識(shí)別的應(yīng)用中,CNN網(wǎng)絡(luò)一般只適用于整張圖像級(jí)的分類和回歸任務(wù)。如在文獻(xiàn)[14]中,經(jīng)典的Alexnet是一個(gè)典型的圖像級(jí)識(shí)別網(wǎng)絡(luò),最終的結(jié)果是一個(gè)1 000維的向量,表示屬于每個(gè)種類的可能性,可能性最高的一個(gè)被認(rèn)為是輸入圖像的類型。
圖2 傳統(tǒng)CNN網(wǎng)絡(luò)結(jié)構(gòu)
為了實(shí)現(xiàn)在同一張圖像中檢測(cè)多種物體并對(duì)其進(jìn)行分類的目的,Jonathan提出了FCN網(wǎng)絡(luò),F(xiàn)CN的網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。FCN在保證CNN網(wǎng)絡(luò)架構(gòu)的基礎(chǔ)上,增加了反卷積和反池化層,通過(guò)這兩個(gè)網(wǎng)絡(luò)層可以將降采樣后的數(shù)據(jù)重新插值回原數(shù)據(jù)尺寸,同時(shí),CNN網(wǎng)絡(luò)中最后的全連接層被替換為卷積層,該卷積層尺寸一般為m×n,其中m為數(shù)據(jù)層數(shù),n為類別個(gè)數(shù)。因此,當(dāng)一幅H×W的圖像被輸入到FCN網(wǎng)絡(luò)后,F(xiàn)CN網(wǎng)絡(luò)最終的輸出為H×W×n維的數(shù)組,而每個(gè)像素點(diǎn)對(duì)應(yīng)的n維向量中數(shù)值最大的元素所對(duì)應(yīng)的索引,即是對(duì)該像素的分類結(jié)果。FCN在對(duì)數(shù)據(jù)的處理過(guò)程中保留了像素間的空間信息,因此帶來(lái)了像素級(jí)分類的效果。但一方面,用于像素點(diǎn)分類的特征值個(gè)數(shù)的減少,與CNN算法相比,F(xiàn)CN算法對(duì)每個(gè)像素分類精度將在一定程度上降低,尤其是對(duì)目標(biāo)邊緣像素點(diǎn)的敏感性;另一方面,用于訓(xùn)練的數(shù)據(jù)集中各種物體出現(xiàn)的頻次不同,如門和窗戶在室內(nèi)場(chǎng)景更為常見(jiàn),而垃圾桶和飲水機(jī)等則較少出現(xiàn),這種訓(xùn)練數(shù)據(jù)的不平衡將會(huì)引起網(wǎng)絡(luò)對(duì)罕見(jiàn)物體的特征信息收斂較差,從而進(jìn)一步影響訓(xùn)練效果。上述原因也導(dǎo)致在同樣的訓(xùn)練條件下,F(xiàn)CN對(duì)于目標(biāo)特征的收斂性能不如基于CNN的Faster R-CNN、YOLO(You Only Look Once)[15]等識(shí)別網(wǎng)絡(luò)。
圖3 FCN網(wǎng)絡(luò)結(jié)構(gòu)
針對(duì)上述情況,為了進(jìn)一步提高FCN算法的識(shí)別精度,特別是為了提高物體邊緣像素點(diǎn)的分類精度,提出一種P-FCN網(wǎng)絡(luò)架構(gòu),其采用獨(dú)立訓(xùn)練的FCN網(wǎng)絡(luò)識(shí)別不同的物體,并在融合器中將各個(gè)子網(wǎng)絡(luò)輸出的識(shí)別結(jié)果進(jìn)行匯總和融合,從而提高目標(biāo)識(shí)別的準(zhǔn)確率和成功率。所提出的P-FCN網(wǎng)絡(luò)的架構(gòu)如圖4所示,其中每個(gè)子網(wǎng)絡(luò)僅負(fù)責(zé)檢測(cè)一類對(duì)象,最后由融合器將每個(gè)子網(wǎng)絡(luò)的輸出結(jié)果進(jìn)行整合并輸出圖像的最終檢測(cè)結(jié)果。在此網(wǎng)絡(luò)中,每個(gè)子FCN網(wǎng)絡(luò)只需將像素分為兩類,即確定像素是屬于待檢測(cè)對(duì)象還是背景。另外,當(dāng)不同的子網(wǎng)絡(luò)將同一像素點(diǎn)識(shí)別為不同的物體類別時(shí),取可能性分?jǐn)?shù)高的輸出結(jié)果作為最終的分類結(jié)果。
圖4 并行FCN網(wǎng)絡(luò)結(jié)構(gòu)
粗定位結(jié)果的模糊性和不確定性是制約基于物體的室內(nèi)定位算法可用性的主要因素。產(chǎn)生模糊定位結(jié)果的場(chǎng)景如圖5所示。如圖5(a)和圖5(b)屬于兩個(gè)不同樓層但位置幾乎相同的圖像,可以看出,不同樓層中的物體分布具有很大的近似性。如果直接應(yīng)用文獻(xiàn)[9-10]中的粗定位算法,將很難區(qū)分用戶的樓層結(jié)果。在求解精確定位的非線性方程組時(shí),錯(cuò)誤的粗定位結(jié)果很可能導(dǎo)致收斂失敗,最終導(dǎo)致定位失敗。如圖5(c)和圖5(d)為兩個(gè)不同位置,但卻具有相似的物體分布,在這種情況下即便在同一樓層,粗定位模糊的問(wèn)題同樣有很大概率發(fā)生。
圖5 產(chǎn)生模糊定位結(jié)果的場(chǎng)景
雖然圖5(a)和圖5(b)、圖5(c)和圖5(d)在檢測(cè)到的物體分布上具有相似性,但是從圖5中可以觀察到,在不同區(qū)域下,不同圖像中的背景相差較大,這些差異主要來(lái)源于不同室內(nèi)場(chǎng)景的裝修、墻面涂刷和布局等因素,而這些因素可以用來(lái)判斷拍攝圖像的大致位置。因此,提出在上一節(jié)中并行FCN網(wǎng)絡(luò)的基礎(chǔ)上再增加一個(gè)CNN子網(wǎng)絡(luò)用于對(duì)輸入的圖片進(jìn)行區(qū)域分類,該子網(wǎng)絡(luò)稱為模糊區(qū)域確定網(wǎng)絡(luò)(Ambiguous Zone Determination-CNN,AZD-CNN)。
根據(jù)P-FCN的介紹,P-FCN網(wǎng)絡(luò)的輸出為與輸入圖像大小相同的分類圖譜,并且那些未被識(shí)別為物體的像素可以被視為背景。因此,可以通過(guò)對(duì)輸入圖像進(jìn)行簡(jiǎn)單的圖像處理,以保證輸入CNN網(wǎng)絡(luò)中的數(shù)據(jù)均為背景,減少物體對(duì)結(jié)果的影響,圖像中某像素點(diǎn)的原始值表達(dá)式為
(1)
其中:k為像素點(diǎn)的索引;c(k)為P-FCN網(wǎng)絡(luò)輸出的該像素點(diǎn)的分類結(jié)果,當(dāng)c(k)=0時(shí),表示像素點(diǎn)被分類為背景。
經(jīng)過(guò)式(1)處理后的圖像僅保留原圖中的背景信息,且圖像尺寸保持不變。將圖像輸入到CNN網(wǎng)絡(luò)中,CNN網(wǎng)絡(luò)的輸出為特定位置的區(qū)域。需要說(shuō)明的是,AZD-CNN的訓(xùn)練輸入數(shù)據(jù)是去除目標(biāo)后只包含背景的圖像,其輸出為結(jié)果所拍攝圖像的位置區(qū)域,而訓(xùn)練數(shù)據(jù)集則是通過(guò)人工將物體消除后的圖像數(shù)據(jù),與數(shù)字地圖相對(duì)應(yīng)的位置區(qū)域如圖6中所示,在訓(xùn)練數(shù)據(jù)集中,每個(gè)區(qū)域平均包含150張照片。
圖6 實(shí)驗(yàn)場(chǎng)景中的區(qū)域劃分
AZD-CNN網(wǎng)絡(luò)的輸出將對(duì)粗定位結(jié)果進(jìn)行修正,即當(dāng)粗定位結(jié)果落入AZD-CNN輸出的相應(yīng)區(qū)域時(shí),粗定位結(jié)果被認(rèn)為是正確的,并可以作為精確定位步驟中的初始位置。相反,當(dāng)粗定位結(jié)果落在AZD-CNN輸出的相應(yīng)區(qū)域之外時(shí),粗定位結(jié)果被認(rèn)為是不正確的,因此被舍棄。所提P-FCN網(wǎng)絡(luò)的完整結(jié)構(gòu)如圖7所示。
圖7 P-FCN網(wǎng)絡(luò)最終結(jié)構(gòu)
為了驗(yàn)證所提的P-FCN算法的性能,在室內(nèi)環(huán)境中進(jìn)行了實(shí)驗(yàn)測(cè)試,實(shí)驗(yàn)測(cè)試的范圍分別為2.4 m×33 m、2.4 m×52 m的走廊和多間7 m×7 m的房間。在測(cè)試環(huán)境中分布著包括飲水機(jī)、垃圾桶、桌子、柜子、窗戶和燈等多種室內(nèi)物體,部分物體用不同標(biāo)志標(biāo)記于圖8所示的二維圖中,在實(shí)驗(yàn)中共包含通過(guò)智能手機(jī)攝像頭拍攝的500張圖像,其中420張照片在通過(guò)研究人員的處理和人為標(biāo)記后為網(wǎng)絡(luò)提供訓(xùn)練數(shù)據(jù)。另外,80張照片作為定位算法的驗(yàn)證。實(shí)驗(yàn)中,對(duì)圖像中的10種物體,包括門、垃圾桶和燈等進(jìn)行標(biāo)記,表1中展示了訓(xùn)練數(shù)據(jù)集中包含的物體類型,以及與每種物體在所有500張照片中的出現(xiàn)次數(shù)。另外,為了建立物體數(shù)字地圖庫(kù),共記錄了94個(gè)物體及其在地圖中的位置。
圖8 部分物體在實(shí)驗(yàn)場(chǎng)景中的分布示例
表1 訓(xùn)練樣本中的物體種類和個(gè)數(shù)
在實(shí)驗(yàn)中,首先比較了PDTR、傳統(tǒng)FCN和P-FCN算法在目標(biāo)識(shí)別和標(biāo)記精度方面的性能,上述算法被分別用于檢測(cè)相同照片中的物體,原照片如圖9(a)中所示,PDTR、傳統(tǒng)FCN和P-FCN算法的檢測(cè)結(jié)果分別如圖9(b)、圖9(c)、圖9(d)。從圖9中可以看出,與傳統(tǒng)的FCN相比,PDTR和P-FCN在目標(biāo)識(shí)別的成功率上具有更大的優(yōu)勢(shì)。這主要是由于傳統(tǒng)的FCN在同一個(gè)網(wǎng)絡(luò)中有許多特征信息需要收斂,因此訓(xùn)練效果差。然而在PDTR和P-FCN中,每個(gè)子網(wǎng)只負(fù)責(zé)檢測(cè)一個(gè)物體,網(wǎng)絡(luò)中的參數(shù)可以更好地收斂到物體的特征。
圖9 不同算法的物體檢測(cè)結(jié)果對(duì)比
另外,訓(xùn)練集中的對(duì)象數(shù)目不相等,不同識(shí)別算法的物體標(biāo)記準(zhǔn)確度比較如表2所示。FCN網(wǎng)絡(luò)對(duì)物體的收斂效果參差不齊,如在圖9(c)中很容易觀察到不同物體的檢測(cè)性能的差異,F(xiàn)CN算法對(duì)于垃圾桶有較好的識(shí)別能力,但對(duì)于門和燈均無(wú)法很好地辨識(shí)。雖然PDTR和P-FCN在目標(biāo)檢測(cè)方面具有相同的性能,但在標(biāo)記精度方面,P-FCN具有像素級(jí)別的分類能力,能更準(zhǔn)確地標(biāo)記目標(biāo)。
表2 不同識(shí)別算法的物體標(biāo)記準(zhǔn)確度比較
表2中展示了3種算法對(duì)80張測(cè)試圖像的物體識(shí)別率和標(biāo)記準(zhǔn)確率。其中,標(biāo)記精度的計(jì)算表達(dá)式為
(2)
其中:s∩表示算法計(jì)算得到的物體標(biāo)記結(jié)果與研究人員手動(dòng)標(biāo)記框(視為真實(shí)值)的交集面積;s∪表示兩個(gè)標(biāo)記結(jié)果的總面積。從表2可以看出,與另外兩種算法相比,P-FCN算法的識(shí)別率分別提高了28%和9%,對(duì)物體的平均標(biāo)記準(zhǔn)確率分別提高了9%和17%。
除了對(duì)目標(biāo)檢測(cè)算法的性能進(jìn)行比較外,還對(duì)定位精度進(jìn)行了比較。不同算法的定位結(jié)果比較情況如表3所示。錯(cuò)誤率表示輸出的定位結(jié)果與用戶真實(shí)的位置的空間差大于3 m,模糊位置率表示輸出了多個(gè)可能的用戶位置。其中包含了用戶正確的位置,成功率則表示輸出位置唯一且正確。需要說(shuō)明的是,只有定位成功時(shí)才計(jì)算平均定位誤差。
表3 各算法的定位結(jié)果比較
從表3可以看出,與現(xiàn)有的基于PDTR的室內(nèi)定位算法相比,P-FCN的定位成功率提高了13%,平均定位誤差降低了1.2 m,上述定位性能顯著提高的原因不僅在于識(shí)別算法帶來(lái)了更精確的目標(biāo)識(shí)別結(jié)果,還在于P-FCN中的子網(wǎng)絡(luò)AZD-CNN能夠修正多位置模糊問(wèn)題。此外,從表3的結(jié)果可以看出,P-FCN算法的模糊位置率和模糊定位結(jié)果次數(shù)都有明顯的降低。
為了改善傳統(tǒng)基于視覺(jué)物體識(shí)別的室內(nèi)定位算法中物體識(shí)別不準(zhǔn)確導(dǎo)致定位精度低的問(wèn)題,提出了一種改進(jìn)的P-FCN物體識(shí)別算法。該改進(jìn)算法利用并行FCN網(wǎng)絡(luò)對(duì)室內(nèi)物體進(jìn)行檢測(cè)和標(biāo)記,并結(jié)合AZD-CNN網(wǎng)絡(luò)減少了粗定位的區(qū)域模糊概率。實(shí)驗(yàn)結(jié)果表明,相比于傳統(tǒng)的基于PDTR的算法,基于P-FCN的室內(nèi)視覺(jué)定位算法的定位成功率提高為85%,平均定位誤差降低為1.4 m。這一算法能夠提高圖像中物體識(shí)別的準(zhǔn)確率、輪廓識(shí)別精度和粗定位準(zhǔn)確性,并能提高最終的定位成功率和定位準(zhǔn)確率。