張慶輝, 馮 斌
(河南工業大學 信息科學與工程學院,河南 鄭州 450001)
當前盲人大多使用導盲杖或其他導盲裝置來輔助日常生活,這些裝置雖然能為盲人的出行帶來很大方便但不能讓盲人感知到眼前物體的模樣,盲人只知道眼前有物體存在,但無法知道這個物體具體的形狀。針對當前導盲裝置的不足,本文提出了一種基于邊緣檢測技術的盲人圖像識別系統。該系統利用圖像邊緣檢測技術和人體皮膚電刺激技術使盲人通過皮膚電刺激來感知眼前物體的形狀,讓盲人以電觸覺的方式來感知這個世界,大大提高了盲人的生活質量。
本系統分為兩大部分,即圖像采集及處理部分和電觸覺裝置。圖像采集及處理部分佩戴在盲人的頭部,相當于盲人的“眼睛”,該部分利用攝像頭采集眼前物體的圖像,然后對該圖像進行邊緣檢測得到邊緣圖像,將該邊緣圖像進行二進制編碼發送給電觸覺裝置。電觸覺裝置佩戴在盲人的腹部,用于產生皮膚電刺激,該裝置根據接收到的邊緣圖像數據控制二維電極陣列產生相應的電刺激。盲人通過皮膚電刺激來感知眼前物體的邊緣輪廓信息,使盲人能夠以電觸覺的方式“看到”眼前的物體。本設計的整體結構框圖如圖1所示。

圖1 系統整體框圖
人體皮膚的觸覺感知分辨率遠小于人眼的視覺感知分辨率,而且電觸覺裝置的分辨率有局限性。攝像機采集到的圖像具有分辨率高、色彩信息豐富的特點,必須將其簡化,把必要的圖像信息減少到最少,舍棄次要信息,使盲人可以簡單正確地理解圖像信息[1]。有很多不同的圖像處理算法可以用來簡化圖像,本系統采用邊緣檢測算法把圖像轉化為邊緣線條信息,并適當降低圖像的分辨率,從而得到邊緣圖像。
當前常用的邊緣檢測算法有Canny算法、Laplacian算法、Scharr算法以及Sobel算法。這4種邊緣檢測算法對同一張圖像的邊緣檢測效果對比如圖2所示。通過對比可知,Canny算法和Scharr算法得到的邊緣圖像細節過于豐富不利于盲人通過電觸覺來感知,因為過多的細節信息很容易給盲人的感知帶來困擾。Laplacian算法得到的邊緣圖像邊緣線條不夠清晰,且有間斷,也不利于盲人感知。Sobel算法得到的邊緣圖像細節最少,最簡化,邊緣線條最清晰,最有利于盲人通過皮膚電刺激來感知。因此本系統采用Sobel算法對攝像機采集到的圖像進行邊緣檢測。

圖2 邊緣檢測效果對比
Sobel邊緣檢測算子是濾波形式的算子,用于提取圖像的邊緣。該算子對一張數字圖像{f(i,j)}的每個像素,考察它上、下、左、右四領域灰度值的加權差,與之接近的領域的權最大[2]。據此,Sobel算子定義如下
sx={f(x+1,y-1)+2f(x+1,y)+f(x+1,y+1)}-{f(x-1,y-1)+2f(x-1,y)+f(x-1,y+1)}
sy={f(x-1,y+1)+2f(x,y+1)+f(x+1,y+1)}-{f(x-1,y-1)+2f(x,y-1)+f(x+1,y-1)}
Sobel算子的卷積因子為
(1)
數字圖像{f(i,j)}中的每個像素點都用公式(1)的兩個模板做卷積,Sx模板對垂直邊緣的影響最大,Sy模板對水平邊緣的影響最大。每個像素點均有兩個卷積結果,卷積結果的最大值作為該點的輸出,所有像素點的輸出結果就是一幅邊緣幅度圖像[3]。選取合適的門限值TH來做判斷,若G(i,j)≥TH,則(i,j)為階躍狀邊緣點,{G(i,j)}為邊緣圖像。
Sobel邊緣檢測算子不僅在空間上容易實現,而且能夠平滑噪聲,可提供精確的邊緣方向信息[4]。
圖像采集及處理部分界面如圖3所示,該界面采用QT設計。界面左側為攝像頭實時拍攝畫面,右側為攝像頭采集圖像的Sobel邊緣檢測畫面。

圖3 圖像采集及處理部分界面
在邊緣圖像中,每一個像素點的值均為0或255,0對應黑色,255對應白色。將邊緣圖像進行二進制編碼,像素值0編碼為二進制0,像素值255編碼為二進制1。然后將編碼后的二進制邊緣圖像數據以圖4所示的數據幀格式發送給電觸覺裝置。

圖4 二進制邊緣圖像的數據傳輸幀結構
電觸覺就是在皮膚的表面通過電極施加局部刺激電流而產生的“觸覺”。人體的體表組織內分布著許多感受器,可以感受機體內、外環境的變化,并將外界刺激轉化為神經沖動,然后沿著傳入神經傳至感覺神經中樞形成不同的感受,使人體產生觸覺意識[5]。
根據人體皮膚的電觸覺特性設計了本系統的電觸覺裝置,其結構框圖如圖5所示,其中,二維電極陣列的每個圓都代表一個刺激電極[6]。該裝置采用STC15F2K60S2單片機微處理器,刺激電壓為200 V左右,刺激電流為8 mA左右。

圖5 電觸覺裝置結構框圖
圖像采集及處理部分將邊緣圖像通過串口發送給電觸覺裝置的單片機微處理器,單片機將接收到的二進制邊緣圖像數據映射到二維電極陣列上,二進制1對應的電極導通,產生200 V、8 mA的電刺激,二進制0對應的電極不導通,無電刺激。圖6為攝像頭拍攝數字3時,二維電極陣列對應的電刺激示意圖,其中實心圓表示有電刺激,空心圓代表無電刺激。盲人通過腹部皮膚的電刺激便可感知到當前“看到”的是數字3。

圖6 二維電極陣列電刺激示意圖
本文提出了一種基于Sobel邊緣檢測算法的盲人圖像感知系統,使盲人以電觸覺的方式感知世界,方便了盲人的生活。系統由圖像采集及處理部分和電觸覺裝置兩部分組成。對于圖像采集及處理部分,設計了QT界面。該部分采用Sobel邊緣檢測算法對攝像機采集到的圖像進行邊緣檢測,并將邊緣圖像數據通過串口發送給電觸覺裝置。對于電觸覺裝置,設計了硬件電路并調試通過。該部分將接收到的二進制邊緣圖像數據映射到電極陣列上,使盲人產生相應的電刺激。本系統利用觸覺替代視覺技術,為盲人提供了一種感知世界的新方式,具有很高的實用價值。