孫 健,于 浩,辛喜福,羅博文,閆 婷
(1.吉林吉大通信設計院股份有限公司 鐵塔分院,吉林 長春 130012;2.吉林吉大通信設計院股份有限公司 政企分院,吉林 長春 130012;3. 中國電信股份有限公司長春分公司 智慧家庭運營中心,吉林 長春 130000)
室內定位作為一種定位技術的發展方向,主要針對室內場景提供定位服務,如室內定位系統可以部署應用于商場、會議中心或其他由于衛星信號受到遮擋導致衛星定位系統無法正常工作的環境中。該系統能夠彌補衛星定位方法覆蓋受限導致室內應用不足的問題。因此,近年來,室內定位方法已逐漸成為定位領域內研究的熱點。
在目前研究的室內定位實現方法中,文獻[1-3]將慣性導航系統(Inertial Navigation System,INS)和無線傳感器網絡(Wireless Sensors Network,WSN)相互結合,通過傳感器間的數據融合算法提高導航系統的室內定位精度。同時,定位和映射(Simultaneous Localization and Mapping,SLAM)算法[4-5]是一種與室內慣導系統原理完全不同的室內定位方法,其利用激光雷達掃描周圍區域建立基于距離與角度的極坐標測量數據庫,并以此為基礎構造實時更新的“室內地圖”。除此以外,Wi-Fi[6]、超寬帶(Ultra Wide Band,UWB)脈沖信號[7]和藍牙[8]也是較為常見的室內定位解決方案。但是,上述室內定位方法一般需要放置特殊的輔助設備,或在系統布置完成前的量測工作量過大,因此,一般僅能應用于工業廠區或尚停留于實驗室測試階段。
近年來,隨著深度學習技術的突破,人工智能領域加速崛起,計算機視覺技術發展迅速。受到視覺識別算法的啟發,文獻[9-10]提出了一種新型的基于視覺物體識別的室內定位算法,該算法利用深度學習方法檢測、識別拍攝圖像中物體,并通過與數字地圖匹配計算大致位置,最后利用非線性解算方法計算準確定位結果。考慮定位算法中的物體識別算法對物體識別的正確率不足,且對物體的輪廓識別精度差,因此影響了最終的定位精度。為了進一步提高基于圖像物體識別算法的室內定位精度和成功率,文獻[11-12]提出了將模板匹配與區域卷積神經網絡(Regional-Convolutional Neural Network,R-CNN)算法相結合的物體識算法,即區域卷積網絡-模板匹配聯合檢測(Parallel R-CNN Detection and Template Matching Refinement,PDTR)算法,該算法在一定程度上優化了圖像中目標識別的成功率,即減少了誤差識別,但模板匹配的引入也導致對物體識別的過程中需要對模板庫中的所有樣本進行依次匹配,算法的復雜度有較大提升。
為了改善上述研究中由于物體識別不準確導致定位準確度差的問題,擬提出一種改進的并行全卷積神經網絡(Parallel-Fully Convolutional Neural Network,P-FCN )物體識別算法。該改進的P-FCN網絡對圖像中的物體進行檢測與標記,將傳統的全卷積神經網絡(Fully Convolutional Neural Network,FCN )并行化,利用FCN網絡中的上采樣層和下采樣層,從多個維度對圖像中的每個像素進行獨立分類,在有效提高物體識別率的同時,提高物體的輪廓識別精度,并在此基礎上進一步在P-FCN網絡中增加模糊區域確定網絡,消除樓層模糊干擾,提高定位準確性。
基于物體識別的室內定位算法的工作步驟如下,具體工作過程如圖1所示。
步驟1在服務器端建立室內電子地圖,在地圖中標記如門、窗、燈等真實物體的位置坐標,并在地圖中各個位置、以不同角度產生用于描述真實物體相對空間關系,如上、下、左、右的拓撲圖,即地圖拓撲圖(Map Graph,MG)。
步驟2應用智能手機拍攝周圍環境的照片,并將照片上傳服務器。
步驟3服務器端利用物體識別算法檢測圖像中的物體,并以相同的拓撲圖產生方式為用戶拍攝照片中檢測出的物體產生拓圖像拓撲圖(Image Graph,IG)。
步驟4將IG圖與生成的所有MG圖根據規則進行比較,相似度最高的MG圖的位置和方向被選取為拍攝用戶的粗定位、定向結果。受到物體檢測算法性能和物體空間關系的不唯一性的影響,粗定位結果一般精度較低,且存在多種位置解的情況。
步驟5為了優化定位精度,在得到了粗定位結果與物體匹配結果后,進一步應用圖像中物體的尺寸信息計算出物體偽距,建立并求解定位方程,實現精定位。

圖1 基于目標的室內定位系統的工作過程
根據上述步驟,當前基于物體的室內定位算法能夠在室內環境下提供米級的定位精度,但仍有較高概率發生定位失敗或定位結果模糊問題,制約上述定位算法性能的原因有:首先,在步驟4中,真實環境中常見物體的重復率很高,導致物體之間的空間關系在不同位置上也有很高重復概率,進一步導致了用戶粗定位結果的模糊性和不確定性,甚至可能直接導致定位失敗;其次,在步驟5中,算法將成功匹配的物體視為“衛星”或“基站”,因此,可以從電子地圖上獲取成功匹配物體準確的絕對位置,利用PDTR算法輸出的物體標記框圖,計算出拍攝圖像的位置相對于物體的距離,并以此實現精確定位。考慮R-CNN算法和改進后的PDTR算法輸出的標記框都無法準確覆蓋被檢測對象,并導致相對距離計算不準確,最終導致定位精度的下降。
FCN網絡是Jonathan在文獻[13]中提出的一種新的神經網絡結構,是在傳統CNN網絡結構的基礎上進一步發展而來。一般來說,傳統的CNN網絡由輸入層、卷積層、池化層和最后的完全連接層組成,如圖2所示。對于CNN網絡,輸入的數據在卷積層中與不同的核數據進行卷積處理,得到不同維度下的特征信息。之后,池化層通過降采樣步驟大幅降低了網絡中參數的數量。在經過多個交織的卷積層和池化層后,最終的全連接層將特征信息映射為一個固定長度的向量,其中每一個值代表輸入參數屬于某種類的概率。CNN網絡在處理圖像數據時,圖像中像素間的空間關系被舍棄,因此在圖像識別的應用中,CNN網絡一般只適用于整張圖像級的分類和回歸任務。如在文獻[14]中,經典的Alexnet是一個典型的圖像級識別網絡,最終的結果是一個1 000維的向量,表示屬于每個種類的可能性,可能性最高的一個被認為是輸入圖像的類型。

圖2 傳統CNN網絡結構
為了實現在同一張圖像中檢測多種物體并對其進行分類的目的,Jonathan提出了FCN網絡,FCN的網絡結構如圖3所示。FCN在保證CNN網絡架構的基礎上,增加了反卷積和反池化層,通過這兩個網絡層可以將降采樣后的數據重新插值回原數據尺寸,同時,CNN網絡中最后的全連接層被替換為卷積層,該卷積層尺寸一般為m×n,其中m為數據層數,n為類別個數。因此,當一幅H×W的圖像被輸入到FCN網絡后,FCN網絡最終的輸出為H×W×n維的數組,而每個像素點對應的n維向量中數值最大的元素所對應的索引,即是對該像素的分類結果。FCN在對數據的處理過程中保留了像素間的空間信息,因此帶來了像素級分類的效果。但一方面,用于像素點分類的特征值個數的減少,與CNN算法相比,FCN算法對每個像素分類精度將在一定程度上降低,尤其是對目標邊緣像素點的敏感性;另一方面,用于訓練的數據集中各種物體出現的頻次不同,如門和窗戶在室內場景更為常見,而垃圾桶和飲水機等則較少出現,這種訓練數據的不平衡將會引起網絡對罕見物體的特征信息收斂較差,從而進一步影響訓練效果。上述原因也導致在同樣的訓練條件下,FCN對于目標特征的收斂性能不如基于CNN的Faster R-CNN、YOLO(You Only Look Once)[15]等識別網絡。

圖3 FCN網絡結構
針對上述情況,為了進一步提高FCN算法的識別精度,特別是為了提高物體邊緣像素點的分類精度,提出一種P-FCN網絡架構,其采用獨立訓練的FCN網絡識別不同的物體,并在融合器中將各個子網絡輸出的識別結果進行匯總和融合,從而提高目標識別的準確率和成功率。所提出的P-FCN網絡的架構如圖4所示,其中每個子網絡僅負責檢測一類對象,最后由融合器將每個子網絡的輸出結果進行整合并輸出圖像的最終檢測結果。在此網絡中,每個子FCN網絡只需將像素分為兩類,即確定像素是屬于待檢測對象還是背景。另外,當不同的子網絡將同一像素點識別為不同的物體類別時,取可能性分數高的輸出結果作為最終的分類結果。

圖4 并行FCN網絡結構
粗定位結果的模糊性和不確定性是制約基于物體的室內定位算法可用性的主要因素。產生模糊定位結果的場景如圖5所示。如圖5(a)和圖5(b)屬于兩個不同樓層但位置幾乎相同的圖像,可以看出,不同樓層中的物體分布具有很大的近似性。如果直接應用文獻[9-10]中的粗定位算法,將很難區分用戶的樓層結果。在求解精確定位的非線性方程組時,錯誤的粗定位結果很可能導致收斂失敗,最終導致定位失敗。如圖5(c)和圖5(d)為兩個不同位置,但卻具有相似的物體分布,在這種情況下即便在同一樓層,粗定位模糊的問題同樣有很大概率發生。

圖5 產生模糊定位結果的場景
雖然圖5(a)和圖5(b)、圖5(c)和圖5(d)在檢測到的物體分布上具有相似性,但是從圖5中可以觀察到,在不同區域下,不同圖像中的背景相差較大,這些差異主要來源于不同室內場景的裝修、墻面涂刷和布局等因素,而這些因素可以用來判斷拍攝圖像的大致位置。因此,提出在上一節中并行FCN網絡的基礎上再增加一個CNN子網絡用于對輸入的圖片進行區域分類,該子網絡稱為模糊區域確定網絡(Ambiguous Zone Determination-CNN,AZD-CNN)。
根據P-FCN的介紹,P-FCN網絡的輸出為與輸入圖像大小相同的分類圖譜,并且那些未被識別為物體的像素可以被視為背景。因此,可以通過對輸入圖像進行簡單的圖像處理,以保證輸入CNN網絡中的數據均為背景,減少物體對結果的影響,圖像中某像素點的原始值表達式為

(1)
其中:k為像素點的索引;c(k)為P-FCN網絡輸出的該像素點的分類結果,當c(k)=0時,表示像素點被分類為背景。
經過式(1)處理后的圖像僅保留原圖中的背景信息,且圖像尺寸保持不變。將圖像輸入到CNN網絡中,CNN網絡的輸出為特定位置的區域。需要說明的是,AZD-CNN的訓練輸入數據是去除目標后只包含背景的圖像,其輸出為結果所拍攝圖像的位置區域,而訓練數據集則是通過人工將物體消除后的圖像數據,與數字地圖相對應的位置區域如圖6中所示,在訓練數據集中,每個區域平均包含150張照片。

圖6 實驗場景中的區域劃分
AZD-CNN網絡的輸出將對粗定位結果進行修正,即當粗定位結果落入AZD-CNN輸出的相應區域時,粗定位結果被認為是正確的,并可以作為精確定位步驟中的初始位置。相反,當粗定位結果落在AZD-CNN輸出的相應區域之外時,粗定位結果被認為是不正確的,因此被舍棄。所提P-FCN網絡的完整結構如圖7所示。

圖7 P-FCN網絡最終結構
為了驗證所提的P-FCN算法的性能,在室內環境中進行了實驗測試,實驗測試的范圍分別為2.4 m×33 m、2.4 m×52 m的走廊和多間7 m×7 m的房間。在測試環境中分布著包括飲水機、垃圾桶、桌子、柜子、窗戶和燈等多種室內物體,部分物體用不同標志標記于圖8所示的二維圖中,在實驗中共包含通過智能手機攝像頭拍攝的500張圖像,其中420張照片在通過研究人員的處理和人為標記后為網絡提供訓練數據。另外,80張照片作為定位算法的驗證。實驗中,對圖像中的10種物體,包括門、垃圾桶和燈等進行標記,表1中展示了訓練數據集中包含的物體類型,以及與每種物體在所有500張照片中的出現次數。另外,為了建立物體數字地圖庫,共記錄了94個物體及其在地圖中的位置。

圖8 部分物體在實驗場景中的分布示例

表1 訓練樣本中的物體種類和個數
在實驗中,首先比較了PDTR、傳統FCN和P-FCN算法在目標識別和標記精度方面的性能,上述算法被分別用于檢測相同照片中的物體,原照片如圖9(a)中所示,PDTR、傳統FCN和P-FCN算法的檢測結果分別如圖9(b)、圖9(c)、圖9(d)。從圖9中可以看出,與傳統的FCN相比,PDTR和P-FCN在目標識別的成功率上具有更大的優勢。這主要是由于傳統的FCN在同一個網絡中有許多特征信息需要收斂,因此訓練效果差。然而在PDTR和P-FCN中,每個子網只負責檢測一個物體,網絡中的參數可以更好地收斂到物體的特征。

圖9 不同算法的物體檢測結果對比
另外,訓練集中的對象數目不相等,不同識別算法的物體標記準確度比較如表2所示。FCN網絡對物體的收斂效果參差不齊,如在圖9(c)中很容易觀察到不同物體的檢測性能的差異,FCN算法對于垃圾桶有較好的識別能力,但對于門和燈均無法很好地辨識。雖然PDTR和P-FCN在目標檢測方面具有相同的性能,但在標記精度方面,P-FCN具有像素級別的分類能力,能更準確地標記目標。

表2 不同識別算法的物體標記準確度比較
表2中展示了3種算法對80張測試圖像的物體識別率和標記準確率。其中,標記精度的計算表達式為

(2)
其中:s∩表示算法計算得到的物體標記結果與研究人員手動標記框(視為真實值)的交集面積;s∪表示兩個標記結果的總面積。從表2可以看出,與另外兩種算法相比,P-FCN算法的識別率分別提高了28%和9%,對物體的平均標記準確率分別提高了9%和17%。
除了對目標檢測算法的性能進行比較外,還對定位精度進行了比較。不同算法的定位結果比較情況如表3所示。錯誤率表示輸出的定位結果與用戶真實的位置的空間差大于3 m,模糊位置率表示輸出了多個可能的用戶位置。其中包含了用戶正確的位置,成功率則表示輸出位置唯一且正確。需要說明的是,只有定位成功時才計算平均定位誤差。

表3 各算法的定位結果比較
從表3可以看出,與現有的基于PDTR的室內定位算法相比,P-FCN的定位成功率提高了13%,平均定位誤差降低了1.2 m,上述定位性能顯著提高的原因不僅在于識別算法帶來了更精確的目標識別結果,還在于P-FCN中的子網絡AZD-CNN能夠修正多位置模糊問題。此外,從表3的結果可以看出,P-FCN算法的模糊位置率和模糊定位結果次數都有明顯的降低。
為了改善傳統基于視覺物體識別的室內定位算法中物體識別不準確導致定位精度低的問題,提出了一種改進的P-FCN物體識別算法。該改進算法利用并行FCN網絡對室內物體進行檢測和標記,并結合AZD-CNN網絡減少了粗定位的區域模糊概率。實驗結果表明,相比于傳統的基于PDTR的算法,基于P-FCN的室內視覺定位算法的定位成功率提高為85%,平均定位誤差降低為1.4 m。這一算法能夠提高圖像中物體識別的準確率、輪廓識別精度和粗定位準確性,并能提高最終的定位成功率和定位準確率。