董冠廷 胡吳迪 吳澤琨 王博



摘要 提出一種基于異構計算與深度學習的導盲系統設方案。導盲系統以大部分視障患者具有殘留光感為出發點,在設計上分為客戶端和服務端。客戶端為以DE10-Nano主板為核心,配備有三維深度傳感器、RGB攝像頭、頭戴式顯示器、耳機、遙控器、4G通信模塊等外部設備,通過異構計算技術能夠加速深度圖像的處理和顯示,結合服務端和深度學習算法還能實現對目標物體的詳細分類。測試結果表明,導盲系統不僅能幫助患者分辨周圍物體的空間位置和輪廓,還具有識別目標物體詳細分類的能力。換句話說,它能夠幫助患者更好的了解周圍環境。
【關鍵詞】異構計算 深度圖像 深度學習 目標識別
根據世界衛生組織公布的一組數據:世界范圍內的完全失明的視障患者約有4000萬到4500萬,保留部分視力的患者約有1.4億人,是完全失明患者數量的三倍,即大部分視障患者擁有殘留光感。如國外的“eSight3”、“OxSight”的AR導盲眼睛就以此為出發點,通過增強圖像的亮度和對比度使視障患者重獲光明。由此,本文設計了一種基于異構計算與深度學習的導盲系統,旨在使用更低的成本,得到相比較于“eSight3“、“OxSight”更好的導盲效果,填補國內市場的空白。
1 導盲系統的硬件結構
1.1 硬件結構綜述
在硬件結構上,導盲系統由客戶端和服務端組成。客戶端為以DE1O-Nano主板為核心,裝配有三維深度傳感器、RGB攝像頭、頭戴式顯示器、耳機、遙控器、4G通信模塊等外部設備。在運行過程中,DE1O-Nano主板首先會處理三維深度傳感器采集的深度數據,并在頭戴式顯示器上顯示,同時能配合RGB攝像頭、遙控器完成目標圖像的抓取,并將抓取的圖像數據通過4G通信模塊上傳至服務端進行識別,最后將識別結果通過4G通信模塊下載至客戶端,用戶能夠使用耳機得到識別結果。服務端為曙光高性能計算機。主要作用是使用TensorFlow開源軟件庫搭建卷積神經網絡,進行目標物體識別。
導盲系統的系統結構圖,如圖1所示。
1.2 異構計算系統
本系統客戶端采用高性能的FPGA異構計算系統,但FPGA的開發要求開發人員對時序、狀態機有較為深入的了解,且在工程實踐中仿真和調試較為繁瑣,開發周期長。針對此問題本文采用開放運算語言OpenCL加快FPGA的開發速度。
OpenCL是一個面向異構系統編寫可執行程序的、開放式的免費標準。它通過一介低級別、高性能、可移植的抽象,實現使用高級語言(如C,C++)開發FPGA的目的。在實際操作中采用DE1O-Nano主板搭建異構計算系統,其示意圖如圖2所示。
2 導盲系統的工作原理
研究表明,大部分視障患者并非完全喪失視力,而是視力退化到無法分辨周圍物體的位移和形狀變化。本文設計的導盲系統就是通過技術手段,利用視障患者的殘存視覺幫助他們重獲光明。
導盲系統的工作原理可概括為兩點,其一使患者能夠分辨周圍物體的輪廓和空間位置,即深度圖像的處理;其二使患者能夠知道目標物體的具體分類信息,即卷積神經網絡的搭建。
2.1 深度圖像的處理
為了做到患者能夠分辨周圍物體的空間位置,本文將采集到的深度圖像數據進行處理。首先使用灰度冪次變換的方法增強原圖像的亮度和對比度,然后使用sobel算子對圖像進行邊緣檢測并與增強后的圖像進行疊加,最后將己處理的圖像在頭戴式顯示器上顯示。使患者可以清晰的區分物體的輪廓并根據顏色的深淺分辨周圍物體的空間位置,處理效果如圖3所示。
2.2 卷積神經網絡的搭建與使用
通過深度圖像的處理,患者能夠分辨出周圍物體的輪廓和空間位置,但由于深度圖像無法表現出更多的細節,患者無法了解周圍物體的具體分類信息,對于病情嚴重的患者更甚。對此,本文選擇將患者選擇的目標物體裁剪下來,然后上傳至服務端,運用卷積神經網絡進行目標識別,最后將識別結果下載至客戶端,并轉換為語音供患者使用。
2.2.1 目標的選擇和截取
為實現患者可以自由選擇目標物體,本文在頭戴式顯示器中央設置了截取框,隨著患者頭部的轉動,可用截取框截取不同的圖像,并且患者可以根據深度圖像中的物體輪廓來調整截取框的大小,從而選擇目標物體并通過RGB攝像頭將圖像截取下來,工作過程如圖4所示。
2.2.2 Inception-ResNet-v2網絡
對于目標物體的識別問題,本文采用Google的開源軟件庫TensorFlow對卷積神經網絡模型Inception-ResNet-v2進行微調,達到具體識別目標物體的目的。
Inception-ResNet-v2是Google在20 1 6年發布的網絡模型,繼承了Inception-v3和ResNet網絡的優點,在識別效果和網絡訓練速度上都有所的提升。
但Inception-ResNer-v2的網絡復雜度非常驚人,可以說是使用更大的網絡規模得到更好的識別效果。原本的Inception-ResNet-v2網絡擁有近2000種預測類別,包含生活中的各種事物,但由于種類太多,識別結果可能會與正確分類大相徑庭,因此我們需要調整網絡模型全連接層的參數,即微調。
3 導盲系統使用方法
在實際使用過程中,患者可以通過如圖3(a)這種經處理過的深度圖像來分辨周圍物體的空間位置和大致輪廓,若患者想要了解周圍某一物體的詳細類別信息而且可以大致分辨處目標物體的類別,就可以通過圖4的方式截取目標物體圖像,并將目標物體的類別信息上傳至服務端,由服務端識別出詳細類別信息后,下載至客戶端并轉換為語音信號供患者使用。且由TensorBoard的評估可得訓練得到的Inception-ResNet-v2模型錯誤率僅為2.6%。
4 結論
在硬件結構上,導盲系統的客戶端為以DElO-Nano主板為核心,裝配三維深度傳感器、RGB攝像頭、頭戴式顯示器、耳機、遙控器、4G通信模塊等外部設備組成的硬件平臺;服務端為曙光高性能計算機。
在軟件設計上,導盲系統客戶端的主要功能為深度圖像的處理和顯示、目標物體圖像的截取;服務端的主要功能為結合卷積神經網絡識別目標物體的具體分類信息。
通過系統測試,導盲系統不僅能幫助患者分辨周圍物體的空間位置和輪廓,還能借助于目標識別技術了解周圍物體的具體分類信息,同時還擁有低功耗、高實時性、成本低的特點,基本實現了填補國內市場空白和幫助患者更好生活的目的。
參考文獻
[1]Organization W H.Global data onvisual impairment[J]. 2012.
[2]Zolyomi A,Shukla A,Snyder J.Social Dimensions of Technology-Mediated Sight [C].Proceedings of the18th International ACM SIGACCESSConference on Computers andAccessibility. ACM, 2016: 299-300.
[3] Williams F.OxSight uses augmentedreality to aid the visuallyimpaired[J].2017.
[4] Szegedy C,Ioffe S,Vanhoucke V,etal. Inception-v4, Inception-ResNet andthe Impact of Residual Connectionson Learning [J].201 6.
[5] Szegedy C,Vanhoucke V,Ioffe S,et al. Rethinking the InceptionArchitecture for Computer Vision[C].Computer Vision and PatternRecognition. IEEE,2 016: 2818-2826.
[6] He K,Zhang X,Ren S,et al. Deep
Residual Learning for ImageRecognition[J]. 2015: 770-778.