陳 超,李建軍,孔令劍,米文鵬
(1.火箭軍士官學(xué)校,山東 青州 262500; 2.廣東外語外貿(mào)大學(xué) 南國商學(xué)院,廣東 廣州510000)
按照WHO的標(biāo)準(zhǔn),目前全世界盲人為4 500萬,低視力者約為盲人的3倍,高達(dá)1億3 500萬,并且全世界每年將有700萬人成為盲人,這就意味著每年將有2 100萬人成為低視力[1]。1987年首次全國殘疾人抽樣調(diào)查結(jié)果顯示,我國有視力殘疾患者近1 310萬,低視力患者約750萬[2],所以針對(duì)低視力人群的新型視覺增強(qiáng)系統(tǒng)的設(shè)計(jì)顯得至關(guān)重要。
目前,許多公司已經(jīng)開發(fā)了用于增強(qiáng)現(xiàn)實(shí)的頭戴式顯示系統(tǒng)和虛擬現(xiàn)實(shí)技術(shù)的應(yīng)用,通過虛擬現(xiàn)實(shí)技術(shù),幫助人們更好地操作和體驗(yàn)一些在生活中存在困難和危險(xiǎn)的事情,然而這些技術(shù)的應(yīng)用對(duì)象只是視力正常的人群,沒有開發(fā)針對(duì)低視力人群的應(yīng)用模式和圖像處理方法。本文綜合應(yīng)用了微軟牛津計(jì)劃,并結(jié)合增強(qiáng)現(xiàn)實(shí)和OpenCV技術(shù),研究了視覺增強(qiáng)算法,設(shè)計(jì)了基于低視力人群視覺增強(qiáng)系統(tǒng)ApperSght。該系統(tǒng)引入了機(jī)器學(xué)習(xí)、語音識(shí)別和云端處理等技術(shù),具有人機(jī)交互友好、參數(shù)定制過程自動(dòng)化、語音輔助視覺和硬件小巧輕便等優(yōu)點(diǎn),并且對(duì)重度低視力者和盲人也有一定的幫助。
增強(qiáng)現(xiàn)實(shí)技術(shù)(Augmented Reality,AR)是指將計(jì)算機(jī)生成的三維虛擬對(duì)象疊加到真實(shí)世界,將真實(shí)場景同虛擬物體加以融合的一種手段。通過運(yùn)動(dòng)相機(jī)或可穿戴顯示裝置的實(shí)時(shí)連續(xù)標(biāo)定,將三維虛擬對(duì)象穩(wěn)定一致地投影到用戶視覺中,達(dá)到“實(shí)中有虛”的表現(xiàn)效果,可以減少場景的建模和渲染工作量,提供了一種輕量級(jí)并且真實(shí)感強(qiáng)的增強(qiáng)技術(shù)[3]。
AR系統(tǒng)中,成像設(shè)備、跟蹤與定位技術(shù)和交互技術(shù)是實(shí)現(xiàn)一個(gè)基本系統(tǒng)的支持技術(shù)[4]。簡單AR系統(tǒng)的基本原理如圖1所示,圖形系統(tǒng)首先根據(jù)相機(jī)的位置信息和真實(shí)場景中的定位標(biāo)記來計(jì)算虛擬物體坐標(biāo)到相機(jī)視平面的仿射變換[5],然后按照仿射變換矩陣在視平面上繪制虛擬物體,最后直接通過或與真實(shí)場景的視頻合并后,一起顯示在普通顯示器上。
圖1 簡單AR系統(tǒng)的基本原理
微軟牛津計(jì)劃(Microsoft Oxford Project)[3]提供了一組基于REST架構(gòu)的API和SDK工具包,支持任意語言及任意開發(fā)平臺(tái),主要提供了4個(gè)自然語言處理方面的核心問題解決方案。
1.2.1 計(jì)算機(jī)視覺
計(jì)算機(jī)視覺為開發(fā)者提供頂尖的圖像處理算法,通過這些API可以獲得基于圖像視覺內(nèi)容的各種信息并生成理想的縮略圖。
1.2.2 人臉識(shí)別
微軟最先進(jìn)的人臉?biāo)惴?,以云平臺(tái)為基礎(chǔ),檢測和識(shí)別圖片中的人臉,主要包括6個(gè)方面技術(shù):人臉檢測、人臉驗(yàn)證、相似人臉?biāo)阉?、人臉分組和人臉辨識(shí)。
1.2.3 語音識(shí)別
Speech API為開發(fā)者提供先進(jìn)的語音處理算法,通過這些API,開發(fā)者可以輕松地為自己的應(yīng)用添加語音操作功能,主要包括3個(gè)方面的技術(shù):語音識(shí)別、語音意圖識(shí)別和語音合成。
1.2.4 語言理解智能服務(wù)
語言理解智能服務(wù)用快速有效的方式幫助開發(fā)者在應(yīng)用中增加語言理解能力,通過LUIS可以使用已經(jīng)構(gòu)建好的世界頂級(jí)模型。
OpenCV(Open Source Computer Vision Library)是一個(gè)開放源代碼的計(jì)算機(jī)視覺庫[6],提供的視覺處理算法非常豐富。它以C/C++語言編寫,加上其開源的特性,不需要添加新的外部支持也可以完整的編譯鏈接生成執(zhí)行程序,所以很多人用它來做算法的移植,OpenCV的代碼經(jīng)過適當(dāng)改寫可以正常地運(yùn)行在DSP系統(tǒng)和嵌入式系統(tǒng)中。
OpenCV可用于開發(fā)實(shí)時(shí)的圖像處理、計(jì)算機(jī)視覺以及模式識(shí)別程序,目前在工業(yè)界以及科研領(lǐng)域廣泛采用,其應(yīng)用領(lǐng)域有人機(jī)交互、物體識(shí)別、圖像分割、動(dòng)作識(shí)別、運(yùn)動(dòng)跟蹤和機(jī)器視覺等。
基于增強(qiáng)現(xiàn)實(shí)技術(shù)、圖像處理技術(shù)和聲音識(shí)別技術(shù)等技術(shù),在分析ForeSee視覺增強(qiáng)系統(tǒng)設(shè)計(jì)的基礎(chǔ)上,研究和設(shè)計(jì)針對(duì)低視力者的可定制式頭戴式視覺增強(qiáng)系統(tǒng)ApperSight,旨在提高低視力者的視覺體驗(yàn)和感知,使他們的日常生活和工作更加高效和舒適。ApperSight系統(tǒng)硬件主要由高性能處理器、小型攝像機(jī)、頭戴式顯示器、WiFi模塊和語音模塊等組成,軟件部分主要由Azure云端應(yīng)用程序、圖像增強(qiáng)處理模塊、語音處理模塊和圖像顯示模塊等組成,如圖2所示。
攝像機(jī)捕獲用戶的眼前真實(shí)場景,WiFi模塊把攝像機(jī)獲得的圖像送到Azure云端,云端應(yīng)用程序借助于微軟牛津計(jì)劃中的“計(jì)算機(jī)視覺”部分的API處理圖像,獲得圖像的輪廓、縮略圖和圖像類別等信息,如果存在文本信息,則利用光學(xué)字符識(shí)別(OCR)在圖像中檢測和提取文本;然后下載到ApperSight系統(tǒng),如果識(shí)別到文字或者物體,則語音輸出輔助低視力者視覺識(shí)別;處理器對(duì)云端處理返回的信息進(jìn)一步加工,根據(jù)相應(yīng)視覺增強(qiáng)算法和顯示模式生成特定的虛擬圖像,然后疊加到真實(shí)視頻中,視頻合并形成增強(qiáng)現(xiàn)實(shí)的擴(kuò)增視頻,最后在頭戴式顯示器中顯示,低視力用戶可以直接從顯示器中獲取信息;另一方面,ApperSight系統(tǒng)基于機(jī)器學(xué)習(xí)方法,可以根據(jù)用戶的個(gè)人偏好、環(huán)境信息、任務(wù)情況來整合不同的增強(qiáng)模式和顯示模式,自動(dòng)地為用戶定制頭戴式視覺增強(qiáng)系統(tǒng),而不需要用戶過多干預(yù),同時(shí)用戶可以語音輸入指令,來進(jìn)一步調(diào)整視覺增強(qiáng)系統(tǒng)的參數(shù)設(shè)置,以優(yōu)化用戶的視覺體驗(yàn)。
圖2 Apper Sight系統(tǒng)組成
ApperSight系統(tǒng)在硬件設(shè)計(jì)方面,處理器、WiFi模塊和語音模塊集成PCB設(shè)計(jì),選擇高通公司(QUALCOMM)基于驍龍410芯片的低成本開發(fā)板 DragonBoard 410c,該開發(fā)版配備了主頻為1.2 GHz 的64位驍龍410處理芯片,GPU 型號(hào)為 Adreno 306,集成了WiFi、藍(lán)牙、還配備了連接擴(kuò)展接口,可以在DragonBoard上安裝微軟的 Windows 10 for IoT(Internet of Things)系統(tǒng),結(jié)合Windows Azure的服務(wù)開發(fā)自己的應(yīng)用程序;頭戴式數(shù)字頭盔(Head-Mounted Display,HMD)是增強(qiáng)現(xiàn)實(shí)的傳統(tǒng)研究內(nèi)容,一般分為光學(xué)透射式(Optical See-Through,OST)頭盔和視頻透視式(Video See-Through,VST)頭盔。光學(xué)透射式是指用戶透過透明鏡片看到真實(shí)世界,并通過反射或投影方式看到虛擬環(huán)境或?qū)ο?;視頻透視式是指將頭盔上集成攝像頭采集的外部圖像與虛擬場景相組合,然后輸出到用戶眼前的小屏幕上[7],綜合多方面考慮,本設(shè)計(jì)選用視頻透視式頭盔Oculus Rift,Oculus Rift具有2個(gè)目鏡,每個(gè)目鏡的分辨率為 640×800,雙眼的視覺合并之后擁有1 280×800的分辨率,并且具有陀螺儀控制,可以使用戶的沉浸感大幅提升[8]。
ApperSight系統(tǒng)在軟件設(shè)計(jì)方面,為了使用戶可以快速熟悉和適應(yīng)ApperSight系統(tǒng),本設(shè)計(jì)中的增強(qiáng)現(xiàn)實(shí)技術(shù)借鑒其他相關(guān)產(chǎn)品的設(shè)計(jì),采用常見的、標(biāo)準(zhǔn)化的圖像處理算法。在增強(qiáng)現(xiàn)實(shí)方面,ApperSight系統(tǒng)有4種視覺增強(qiáng)模式:放大增強(qiáng)Magnification、對(duì)比增強(qiáng)Contrast Enhancement、邊緣增強(qiáng)Edge Enhancement和黑白反轉(zhuǎn)Black/White Reversal。另外,ApperSight系統(tǒng)有3種顯示模式:全屏顯示模式(Full)、窗口顯示模式(Window)和物體顯示模式(Object)。全屏顯示模式把增強(qiáng)效果顯示到整個(gè)顯示器,窗口顯示模式把增強(qiáng)效果顯示到顯示器的特定矩形區(qū)域,而物體顯示模式則會(huì)根據(jù)識(shí)別物體的形狀把增強(qiáng)效果顯示到顯示器的特定區(qū)域(顯示邊界由物體形狀確定)內(nèi)使物體完整顯示,其中物體顯示模式是本設(shè)計(jì)的創(chuàng)新點(diǎn)之一。
ApperSight系統(tǒng)特點(diǎn)是采用4種視覺增強(qiáng)方法,并充分利用了每種方法的優(yōu)點(diǎn),同時(shí)開發(fā)了針對(duì)圖片文本提取和物體特征識(shí)別和分析的應(yīng)用程序,取得很好的圖像處理效果。
3.1.1 放大增強(qiáng)
比例放大是最常見的視覺增強(qiáng)方式之一[9],可以為一般用戶提供更詳細(xì)的視覺信息,設(shè)計(jì)的放大增強(qiáng)方法可以根據(jù)用戶需求調(diào)整放大的比例,例如在窗口模式下放大物體時(shí),窗口區(qū)域也自動(dòng)擴(kuò)大,確保目標(biāo)物體在窗口范圍內(nèi)。比例放大的缺點(diǎn)主要是限制了用戶的視野范圍,在有限的顯示器上很難識(shí)別出較大的物體,從而影響了用戶感知物體的能力和速度,在近距離任務(wù)上這個(gè)問題更加明顯。設(shè)計(jì)中放大增強(qiáng)模式的示例如圖3所示。
圖3 放大增強(qiáng)示例
3.1.2 對(duì)比增強(qiáng)
設(shè)計(jì)使用標(biāo)準(zhǔn)的對(duì)比增強(qiáng)算法,增強(qiáng)了視頻的亮度和色調(diào)的對(duì)比度。在設(shè)計(jì)算法仿真中,主要使用了點(diǎn)算子對(duì)常數(shù)對(duì)點(diǎn)進(jìn)行乘法和加法運(yùn)算達(dá)到對(duì)比增強(qiáng)的目的[10-11]。如公式所示,其中使用a>0和b兩個(gè)參數(shù)用來控制對(duì)比度和亮度,f(x)為原圖像像素,g(x)為輸出圖像像素,i和j表示像素位于第i行和第j列。
g(i,j)=a*f(i,j)+b。
設(shè)計(jì)中對(duì)比增強(qiáng)模式的示例如圖4所示。
圖4 對(duì)比增強(qiáng)示例
3.1.3 邊緣增強(qiáng)
通過邊緣增強(qiáng)這個(gè)方法對(duì)彩色視頻流的邊緣進(jìn)行加深和加厚。圖像邊緣檢測的原理是檢測出圖像中所有灰度值變化較大的點(diǎn),而且這些點(diǎn)連接起來就構(gòu)成了若干線條,這些線條就可以稱為圖像的邊緣[12-13],設(shè)計(jì)中使用Canny邊緣檢測算法檢測出一個(gè)圖像的邊緣,然后設(shè)置邊緣及邊緣周圍元素點(diǎn)為黑色,加深原始圖像的邊緣像素。設(shè)計(jì)中Canny邊緣檢測的示例如圖5所示。
圖5 邊緣增強(qiáng)示例
3.1.4 黑白反轉(zhuǎn)
黑白反轉(zhuǎn)方法中,設(shè)計(jì)使用閾值方法實(shí)現(xiàn),首先轉(zhuǎn)換視頻為灰度值視頻(只有黑色和白色),閾值設(shè)置可調(diào)節(jié)(默認(rèn)為150),然后黑白顏色取反,達(dá)到原始的白紙黑字變?yōu)楹诩埌鬃中Ч?。設(shè)計(jì)中黑白反轉(zhuǎn)模式的示例圖如圖6所示。
圖6 黑白反轉(zhuǎn)示例
微軟牛津計(jì)劃提供了一組基于REST架構(gòu)的API和SDK工具包,幫助開發(fā)者輕松使用微軟的自然數(shù)據(jù)理解能力為自己的解決方案增加智能服務(wù)。
設(shè)計(jì)通過微軟牛津計(jì)劃提供的SDK工具包,參考了SDK工具包中的例程實(shí)現(xiàn)云端應(yīng)用程序的部分功能,編程環(huán)境為Visual Studio 2013,編程語言是C#,程序中主要使用了Microsoft.ProjectOxford.Vision.dll和Newtonsoft.Json.dll兩個(gè)動(dòng)態(tài)鏈接庫DLL(Dynamic Link Library),開發(fā)針對(duì)圖片文本提取和物體特征識(shí)別和分析的應(yīng)用程序,因?yàn)閷?shí)際條件限制,該應(yīng)用程序并未部署在云端,而是在PC端簡單實(shí)現(xiàn)。
3.2.1 圖片中文本提取
由于微軟并未開源“文本提取”的代碼和算法,所以牛津計(jì)劃中文本提取的算法和流程沒有詳細(xì)的參考資料。本文在參考OpenCV下通過OCR識(shí)別文字的實(shí)現(xiàn)來大概描述文本提取的過程,其步驟主要是特征提取->訓(xùn)練->識(shí)別,首先使用OpenCV庫中的場景文字識(shí)別檢測到文字的位置,然后應(yīng)用機(jī)器學(xué)習(xí)知識(shí)對(duì)輸入數(shù)據(jù)進(jìn)行訓(xùn)練和識(shí)別[14-15],最后結(jié)合OCR引擎和機(jī)器學(xué)習(xí)知識(shí)識(shí)別出其中的文字。
如圖7(a)和圖7(b)所示,基于牛津計(jì)劃的文本提取可以很好地識(shí)別出圖片中的中/英文字,識(shí)別錯(cuò)誤率極低。設(shè)計(jì)中文本提取方法只在窗口模式中使用,文本提取后在窗口下單獨(dú)的矩形區(qū)域內(nèi)高對(duì)比度顯示出來,并且可以通過語音輸出輔助低視力者的視覺感知。
圖7 圖片文本提取實(shí)例的比較
3.2.2 圖像特征識(shí)別和分析
由于微軟并未開源“圖像特征識(shí)別和分析”的代碼和算法,所以牛津計(jì)劃中“圖像特征識(shí)別和分析”的算法和流程沒有詳細(xì)的參考資料,其中有特色的功能是視覺特征分析,其目的在于對(duì)圖像的內(nèi)容進(jìn)行分類[16-17],該分類基于一組涵蓋了86個(gè)概念的列表開發(fā)而成,從抽象到具體,不一而足。
如圖8(a)和圖8(b)所示,基于牛津計(jì)劃的“圖像特征識(shí)別和分析”可以很好地識(shí)別出圖片中物體的基本信息,包括圖像類別、主色調(diào)等。
圖8 圖像特征識(shí)別和分析示例
設(shè)計(jì)中“圖像特征識(shí)別和分析”配合特定的圖像邊緣檢測算法[18-19],可以識(shí)別出物體的種類和邊緣形狀,然后物體顯示模式可以根據(jù)這些信息把物體信息顯示在物體邊緣形狀的區(qū)域內(nèi),并且會(huì)隨物體的放大而放大,保證時(shí)刻顯示出物體的全景,另外識(shí)別出的信息也可以通過語音輸出輔助低視力者的視覺感知,增強(qiáng)低視力者的視覺體驗(yàn)。
通過Matlab仿真軟件對(duì)視覺增強(qiáng)系統(tǒng)進(jìn)行仿真,在Matlab主界面中打開GUIDE,然后添加CallBack函數(shù),并在CallBack函數(shù)內(nèi)編寫程序代碼,以實(shí)現(xiàn)圖像放大增強(qiáng)、對(duì)比增強(qiáng)、邊緣增強(qiáng)和黑白反轉(zhuǎn)的圖像處理算法。圖3~圖6原始圖中仿真結(jié)果的熵值統(tǒng)計(jì)數(shù)據(jù)如表1所示。可以看出,無論是哪種圖像處理方法,增強(qiáng)結(jié)果都保持著與原始圖像比較接近的熵值。而增強(qiáng)結(jié)果的熵值越接近原始圖像,說明其信息保有量也越接近原始圖像,圖像細(xì)節(jié)損失少,證明圖像處理方法的可行性。
表1 熵值統(tǒng)計(jì)數(shù)據(jù) bit
表2列出了仿真結(jié)果的信噪比(SNR)數(shù)據(jù)統(tǒng)計(jì),SNR表面圖像處理算法對(duì)抗噪聲的能力,其值越高,圖像效果越好??梢钥闯鰣D像放大增強(qiáng)、對(duì)比增強(qiáng)、邊緣增強(qiáng)和黑白反轉(zhuǎn)的圖像處理算法,使得對(duì)抗噪聲的能力提高了幾倍,取得了較好的圖像效果。
表2 信噪比統(tǒng)計(jì)數(shù)據(jù) dB
基于已有的視覺增強(qiáng)系統(tǒng),研究和設(shè)計(jì)的ApperSight系統(tǒng)具有設(shè)備智能化、參數(shù)定制化和交互友好化的優(yōu)點(diǎn),可以提高低視力者的視覺體驗(yàn),增強(qiáng)日常生活技能。通過仿真數(shù)據(jù)表明,圖像放大增強(qiáng)、對(duì)比增強(qiáng)、邊緣增強(qiáng)和黑白反轉(zhuǎn)的圖像處理算法,可以確保圖像質(zhì)量,保持原始圖像的細(xì)節(jié)特征,增強(qiáng)圖像對(duì)抗噪聲的能力,取得了較好的圖像效果,證明了視覺增強(qiáng)系統(tǒng)的可行性。