沈立新,胡威,王艷紅
(1.長春師范高等專科學校,長春 130216;2.長春理工大學 計算機科學技術學院,長春 130022)
據世界衛生組織(WHO)數據顯示,全球約有7 500 萬盲人和約1.24 億的視力低下的人群。由于視力受損,該人群的自理能力和生活質量都受到了極大的影響。隨著物質生活和科技水平的不斷提高,視障患者也有與正常人一樣享受物質文化成果和體驗科技進步的需求。然而,視覺的缺失嚴重限制了視障患者的信息獲取能力,在無他人幫助的情況下,視障患者無法通過自主運動而完成正常的生活活動。同時,視力受損導致的行動能力缺失,使視障患者無法參與到社會活動中。
區別于室外導航服務系統,室內環境普遍存在遮擋和多徑效應,因此,無法通過接收衛星定位信號為用戶提供位置服務[1-2]。視障患者在室內空間中迫切需要確定自身位置并感知環境信息,因此,研究和開發不依賴衛星信號的室內輔助導航系統是十分重要的。近年來,隨著圖像處理與傳感器技術的發展,視覺驅動的定位方法逐漸成為了輔助導航領域的研究熱點。
室內輔助導航根據其使用設備不同,可分為視覺導航系統、視覺-深度(RGB-D)導航系統、智能手杖系統以及輔助導航車系統等[3-5]。綜合考慮定位精度、有效距離以及使用便利性等因素,認為RGB-D 輔助導航系統在保證性能的同時,更具有使用便利性。視障患者受制于生理缺陷,無法通過視覺系統獲取導航指引信息和環境感知結果。因此,跨模態的信息交互方法是指導患者完成環境感知和自主運動的關鍵。Li 等人[6]提出了可穿戴式輔助導航系統,該系統雖然可以在室外環境中借助于GPS 信號為患者提供位置信息,但該系統無法在室內環境中工作。Hirano 等人[7]通過觸覺感知系統將運動指導信息傳遞給參與運動的視障患者,并對患者的運動動作提供指導。近年來,語音提示功能被引入到面向視障患者的環境感知和輔助導航系統中[8-9]。但是,視障患者無法通過語音提示(例如“前、后、左、右”等方位提示)理解環境中地理要素的準確位置,尤其是當患者需要與室內設施發生互動時,準確的方位指引便顯得尤為重要。因此,在本文中,將視覺可見的地理要素轉化為虛擬聲源,以跨模態的方式傳遞給視障患者。通過調制虛擬聲場的頻率、振幅和響度,賦予地理要素不同的語義標簽,從而指導視障患者完成環境感知。在此基礎上,通過深度學習方法,實現對視障患者的跨模態導航。
本文提出的跨模態導航系統由兩個消費級傳感器(RGB-D 傳感器和骨傳導耳機)以及一個微型計算機構成,如圖1所示。在該系統中,RGB-D傳感器采集室內環境中的視覺特征以及視覺特征對應的深度信息。視覺和深度信息在計算機中進行處理和運算,生成聽覺導航信息,并由骨傳導耳機傳遞給視障患者。震動馬達放置于患者的腰部,用于發送運動方向指令。

圖1 輔助導航系統示意圖
在跨模態導航系統中,視覺傳感器采集到的信息首先被輸入到YOLO-V3 深度學習模型[10]中,對室內場景中的重要地理要素進行識別和標記。對于視障患者來說,室內環境中的重要地理要素主要包括生活中所必須使用的生活設施,例如桌椅、電器、衣柜等。通過深度學習方法可以對圖像中的地理要素進行識別并加以理解和標記。獲得地理要素標簽后,將地理要素以聲學符號的形式加以描述,并以虛擬聲源的方式將地理要素進行表示。在室內地理要素轉換為虛擬聲源之前,需要根據人耳的聽力范圍,對不同的語義元素進行音頻編碼,即對不同的語義元素賦予不同頻率的音頻信號,頻譜劃分示例如圖2 所示。人的聽覺系統可以分辨20~20 000 Hz 范圍內的聲音信號。本系統中選用更為舒適的頻率區間(即200~8 000 Hz)用于對地理要素的音頻編碼。

圖2 虛擬聲源頻譜劃分示例
在本導航系統中,將采用頭相關傳輸函數進行視覺地理要素的跨模態聲學渲染。頭相關傳輸函數(Head Related Transfer Function,HRTF)是一個與頭部相關脈沖響應的傅里葉變換,頭相關傳輸函數結果取決于患者與地理要素之間的相對位置。頭相關傳輸函數是一個線性時不變的傳遞函數,因此可以用線性時不變模型來近似[11]。本系統中主要利用頭相關傳輸函數的空間指向特性來實現對地理要素的聲學渲染。
根據RGB-D 傳感器的原理可知,視覺圖像中地理要素與傳感器之間的距離可以通過深度傳感器進行測量,該距離r在本系統認為是患者與地理要素之間的距離。利用頭相關傳輸函數可以對地理要素進行二維聲學渲染,得到在P位置處的渲染結果為:
其中,方位角φk表示患者與地理要素在水平面上的相對位置關系;wk為與方位角相關的權重。如果將RGB-D 傳感器上彩色相機的光心與地理要素之間的連線稱為視覺線,那么方位角即為視覺線與彩色相機光軸在水平面上的夾角。
由式(1)可知,P位置處的聲學渲染結果是由已測量的HRTF 函數結果f(φk) 加權相加得到的。
通過參數(φ,r) 可以表示出患者與地理要素之間的相對位置關系。當地理要素與患者的方向角為φ(φk≤φ≤φk+1)時,利用鄰域線性插值法可得[12]:
由式(3)可知,視障患者與地理要素之間的相對位置關系由渲染結果表示。在實際應用過程中,需要針對左右耳分別進行聲學渲染,從而獲得左右耳的渲染結果和。此外,地理要素與患者之間的距離用音頻的強度來表示,不同地理要素之間用不同頻率的音頻信號來加以區分。這樣,RGB-D 傳感器采集到的視覺信號便轉化為了視障患者可以感知的音頻信號。
本系統中提出了基于深度學習的視聽覺協同導航框架(如圖3 所示),在此框架下為視障患者提供環境感知和輔助導航信息。視聽覺協同導航框架包含有三個卷積神經網絡(CNN)層(卷積核尺寸分別為8 × 8、4 × 4 以及3 × 3)、一個線性層以及一個門限循環單元。導航框架的輸入是視覺信息、深度信息以及經過處理的雙耳音頻信號,經過卷積網絡處理后,得到向量VV、VD和VA。將三個向量串聯并輸入到門控循環單元中,門控循環單元同時處理當前輸入狀態ht和歷史累積狀態ht-1,從而更新當前狀態,并輸出觀測狀態ot。利用評判(Critic)模塊和執行(Actor)模塊可以進一步計算出狀態值V(ot,ht-1)以及策略分布πφ(at|ot,ht-1)。動作采樣器對執行模塊數據進行處理,并結合室內環境形成“動作-狀態”集反饋給輸入端,從而為下一步運動提供參考策略。

圖3 基于深度學習的視聽覺協同導航框架
面向視障患者的輔助導航系統在提供運動決策方案時,需要預先定義運動指令集合A={MF,TL,TR,LF,RF,S} ,其中,MF 表示前進、TL 表示左轉、TR 表示右轉、LF 表示向左前方前進、RF表示向右前方前進,S表示停止。在某個時間t,室內環境狀態為st∈S,輔助導航系統觀測到的狀態為ot,該狀態包含有輔助導航系統渲染的音頻、RGB-D 傳感器采集的視覺和深度信息。輔助導航系統根據先前狀態ht-1和當前觀測狀態ot制定策略πt,θ:A→[ 0,1] ,其中,輔助導航系統在時刻t指導患者實施動作a(tat∈A)的概率是πt,θ(at|ot,ht-1)。當輔助導航系統進入下一個狀態st+1,即時獎勵定義為rt∈?。未來衰減獎勵之和Gt,γ為:
其中,γ∈[ 0,1] 是衰減系數,用于調節對近期或長期獎勵權重;Vt,θ(ot,ht-1)的值是期望回報。本系統采用近端策略優化(Proximal Policy Optimization)[13]對導航系統進行優化,近端策略優化是一種具有高魯棒性和高采樣率的一階優化方法,在充分考慮視障患者運動特性和安全約束規則的條件下,近端策略算法可以實現對患者運動方案的優化,從而提高輔助導航系統的性能表現。優化后的導航系統可以向視障患者發出運動指令,指導患者在室內環境中進行自主移動。
在輔助導航系統運行過程中,室內環境信息(包括障礙物檢測結果、人類狀態識別結果等)和輔助導航信息通過骨傳導耳機和振動馬達傳遞給視障患者,指導患者與室內設施的互動,并指引患者進行自主運動。具體來說,患者利用數字鍵盤選擇一個地理要素作為導航目的地,這樣患者便可以通過音頻渲染結果識別出地理要素的距離和方位,同時通過振動馬達感知運動方向。這樣,視障患者便可以在已知目的地方位的情況下,依據震動信號進行室內行走,更有利于發揮患者的主觀能動性,更好地完成自主運。
本文中提出的輔助定位系統以RGB-D 傳感器(Intel Real Sense D435i)作為信息輸入設備,信息經過微型計算機運算和加工后,導航信息通過骨傳導耳機(SHOKZ Open Run Pro)和震動馬達傳遞給視障患者。輔助導航系統運行在ubuntu18.04 操作系統上,配備有Intel I7 9700K 處理器和NVIDIA GeForce RTX 2070 SUPER 顯卡。本文實驗主要驗證輔助導航系統的導航指引性能和地理要素感知性能。
輔助導航系統通過渲染聲音信號,為患者提供地理要素指引信息,即方位信息。為了驗證輔助導航系統的方位指引能力,實驗前召集了16 名身體健康的志愿者作為測試對象。測試對象接收到音頻信號后,需要根據左右耳信號差別,判斷地理要素的方向。實驗中共設置12 類生活常用物品(包括冰箱、電視機、計算機、打印機等),對不同種類物品賦予不同的音頻標簽,以供用戶判斷物品種類。不同物品分別擺放在與人體矢狀面夾角為-90°、-60°、-30°、0°、30°、60°、90°位置處,不同位置被編號為P1、P2、…、P7。對于每位待測試志愿者,分別在不同位置擺放不同物品用于測試,每個物品重復測試10 次,計算志愿者感知到的方位與真實方位之間的角度誤差,結果如表1 所示。綜合分析16 名志愿者的方向指引結果,在位置P1、P2、P3、P4、P5、P6、P7處的平均方位指引誤差分別為2.5°、3.3°、4.5°、8.1°、4.9°、4.2°、2.7°。

表1 輔助導航系統方位指引誤差統計表
從輔助導航系統方位指引誤差統計結果來看,方位指引精度在人體矢狀面夾角為-90°和90°時,方位指引精度最高;物品位置與人體矢狀面夾角為0°時,方位指引誤差較大。該結果表明,當被測試者接收到的左右耳信號差別較大時(即在P1和P7位置處),被測試者方位辨別能力較強;當被測試者接收到的左右耳信號差別較小時(即在P4位置處),被測試者方位辨別能力較弱。對于所有被測試志愿者,不同角度下的方位指引平均誤差為4.31°。
在蒙住眼睛的情況下,志愿者佩戴導航系統進行室內行走實驗,導航目的地為預先設定好的地點。志愿者事先不了解測試場地的實際情況,開始測試時蒙住眼睛并由工作人員帶領至測試場地。導航開始后,志愿者僅依靠輔助導航系統在室內進行自主行走。測試場地中安裝有光學三維動作捕捉系統,可以完整記錄志愿者的運動軌跡。通過比較志愿者的運動軌跡和導航規劃路徑,可以評估輔助導航系統的性能表現。圖4 所示為某個志愿者的輔助導航結果示例,圖中由黑色圓點組成的軌跡是導航系統的規劃路徑,由星號組成的軌跡是志愿者實際運動路徑。

圖4 輔助導航結果示例
通過圖4 所示結果可知,當導航系統引導志愿者進入轉彎狀態時,產生的導航誤差較大;當志愿者直行時導航誤差較小。這是因為導航系統向志愿者發出轉彎信號后,志愿者接收信號并執行時會產生偏差,從而導致實際路徑與規劃路徑不一致。導航系統的引導誤差用均方根誤差(RMSE)進行評價,計算公式如下:
其中,pi為導航規劃路徑點;p?i為志愿者實際運動軌跡點。
在實際的輔助導航實驗中發現,導航系統在引導視障患者直線行走時,導航精度較高;當導航系統引導患者進行轉彎時,產生的引導誤差大于直行引導誤差。因此,本文對不同導航狀態下的引導誤差進行了統計,結果如表2 所示。對于16 位參與實驗的志愿者,每位志愿者均在導航系統的指引下完成10 次輔助導航任務,直行狀態平均引導誤差為5.936 cm,轉彎狀態平均引導誤差為17.793 cm,不同導航引導狀態下的平均引導誤差為15.125 cm。通過分析導航誤差結果可知,在輔助導航系統引導志愿者進行直行時,引導誤差較低,僅為5.936 cm。但是,當輔助導航系統引導志愿者進行轉彎時,平均導航誤差達到17.793 cm。

表2 輔助導航引導誤差統計表
在轉彎狀態下,導致系統引導誤差較高的原因主要有兩個方面:(1)志愿者接收到系統發送的以震動形式傳遞的轉彎信號后,需要一段反應時間,導致運動方向的改變滯后于系統指令;(2)志愿者對方位理解存在偏差,無法準確地對“向左前方前進”、“向右前方前進”等指令做出準確的響應動作。針對以上兩個問題,可以讓使用輔助導航系統的患者參加短期導航訓練。實驗表明,當16 名志愿者分別參加20 次導航訓練后,轉彎引導誤差的平均值可以降至9.476 cm,綜合導航引導誤差可以控制在10 cm 以內。
針對視障患者在室內場景中行動困難的問題,提出了跨模態環境感知與導航系統,該系統通過頭相關傳輸函數將RGB-D 相機采集的視覺和距離信息轉化為視障患者可以感知的音頻信號,并利用深度學習方法實現輔助導航功能,以震動方式將導航信號傳遞給視障患者,從而使視障患者在感知地理要素方位的同時,在導航系統的指引下完成運動。實驗結果表明,輔助導航系統的平均方位指引誤差為4.31°,平均導航誤差為9.476 cm,可以有效幫助視障患者在室內場景中完成自主運動。