林星妍 王雨樂(lè) 薛皓聞 謝 宇 徐壯華 丁春雷
(南通理工學(xué)院電氣與能源工程學(xué)院,江蘇 南通 226001)
目前,常規(guī)導(dǎo)盲手段有2 種(導(dǎo)盲犬、導(dǎo)盲器材)。由于導(dǎo)盲犬培育周期長(zhǎng)、價(jià)格昂貴且市場(chǎng)需求量大,因此供不應(yīng)求。導(dǎo)盲杖是大多數(shù)盲人正在使用的導(dǎo)盲器材,導(dǎo)盲杖始終無(wú)法像導(dǎo)盲犬一樣靈活、可靠。智能導(dǎo)盲杖將在一定程度上彌補(bǔ)傳統(tǒng)導(dǎo)盲杖的缺陷,但是都普遍存在成本高、穩(wěn)定性差以及操作不便的缺點(diǎn)。因此,成本低、體積小且探測(cè)范圍較廣的導(dǎo)盲產(chǎn)品必然是當(dāng)下的主要發(fā)展趨勢(shì)。該設(shè)計(jì)秉持簡(jiǎn)單、可靠的原則,結(jié)合新技術(shù)設(shè)計(jì)符合盲人生活習(xí)慣的智能穿戴類產(chǎn)品,采用圖像識(shí)別技術(shù)來(lái)滿足體積小、探測(cè)范圍廣的需求。
負(fù)載可由蓄電池和柔性太陽(yáng)能電池供電,柔性太陽(yáng)能電池采用Miasole 柔性銅銦鎵硒太陽(yáng)能電池作為使用時(shí)的主要電力來(lái)源,光電轉(zhuǎn)化效率為17%(最高可達(dá)23%)。該太陽(yáng)能電池輕薄,可以減少使用者的負(fù)擔(dān),當(dāng)質(zhì)量相同時(shí),銦鎵硒太陽(yáng)能電池的發(fā)電量是硅板的 4 倍,可以降低蓄電池的使用量。柔性太陽(yáng)能電池在給蓄電池充電時(shí)遵守輪流充電的原則,電源模塊示意圖如圖1 所示。
圖1 電源模塊示意圖
該設(shè)計(jì)采用樹(shù)莓派2 代B 型開(kāi)發(fā)板為該模塊的核心,樹(shù)莓派2 代B 型開(kāi)發(fā)裝有完整的Linux 操作系統(tǒng)作為底層,串口豐富可運(yùn)行部分復(fù)雜程序[1]。通過(guò)OpenCV 處理庫(kù)中提出的有關(guān)功能實(shí)現(xiàn)實(shí)時(shí)采集圖像數(shù)據(jù)的目標(biāo),以采用HaarTraining 算法訓(xùn)練得出的分類器和Canny 算法的邊緣檢測(cè)作為進(jìn)行圖像識(shí)別的主要功能。據(jù)調(diào)查,盲人群眾的出行主要依靠個(gè)人出行、陪伴以及交通工具,而紅綠燈、盲道是盲人群眾最無(wú)法提前預(yù)知和把握的領(lǐng)域,并且,我國(guó)的紅綠燈和盲道是較固定的,也便于拍攝和識(shí)別。因此,在識(shí)別方面主要針對(duì)盲道和紅綠燈,為盲人的出行提供更可靠的保障。
1.2.1 攝像頭
cvCaptureFormCam 相機(jī)采集圖像,并且攝像頭位于人體額頭位置,有更廣闊的視野,可以更好地分析周圍的紅綠燈、盲道。通過(guò)函數(shù)開(kāi)啟定時(shí)器:將一個(gè)固定的時(shí)鐘傳遞給槽函數(shù),然后將它放在緩存上并通過(guò)cvGrabFramea 讀取數(shù)據(jù),最后在qt(跨平臺(tái)的C++圖形用戶界面應(yīng)用程序框架)上顯示,并轉(zhuǎn)換為QPixmap 類型。
1.2.2 圖像的預(yù)處理環(huán)節(jié)
1.1.5 遵守臨床試驗(yàn)的雙盲原則 研究者分成4組,第1組篩選和分配受試者;第2組施行治療;第3組觀察和搜集指標(biāo)數(shù)據(jù);第4組統(tǒng)計(jì)數(shù)據(jù)并且撰寫(xiě)文章;試驗(yàn)對(duì)象的分組對(duì)受試者嚴(yán)格保密;4組研究者的各自操作互相保密。
針對(duì)紅綠燈這種距離可能較遠(yuǎn)的實(shí)物,主要使用縮放的調(diào)節(jié)功能(采集的圖像的寬度為x和高度為y,生成的新的寬度和高度分別為X和Y),如公式(1)、公式(2)所示。
式中:f為縮放因子。
如果縮放函數(shù)Zoom()的值小于1,就代表縮??;如果其值大于1,就代表放大??梢詫⒁芽s放的畫(huà)面直接顯示到新創(chuàng)建的縮放畫(huà)面的窗口上。
1.2.3 鑒別環(huán)節(jié)
首先,讀取訓(xùn)練圖片,創(chuàng)建PVA 子空間,將數(shù)據(jù)分析到子空隙,再訓(xùn)練結(jié)論并存儲(chǔ)結(jié)論,以實(shí)現(xiàn)圖片鑒別的功能。其次,OpenCV 使用本身自帶的HaarTraining 分類器將圖像訓(xùn)練分類,再用Canny 算法進(jìn)行邊緣檢測(cè),以完成對(duì)采集圖象進(jìn)行邊緣檢查的任務(wù),再把數(shù)據(jù)分析結(jié)論存儲(chǔ)在cvRect 中。最后,在鑒定實(shí)物時(shí),還必須與數(shù)據(jù)庫(kù)里的目標(biāo)樣品進(jìn)行比較,就可以確定實(shí)物圖片所屬類別,判斷是否存在安全隱患。各技術(shù)的設(shè)計(jì)使用細(xì)節(jié)和流程如下。
Canny 算法邊緣檢測(cè)的流程如下:1)利用cvtColor 對(duì)圖片進(jìn)行灰度化處理。2)對(duì)圖片進(jìn)行高斯濾波,這樣計(jì)算圖象梯度幅值的元素值越高,顯示在該點(diǎn)的梯度值就越大。3)通過(guò)Soble 計(jì)算梯度值和方向,尋找像素點(diǎn)局部的最大值。4)非極大閾值的抑制。5)雙閾值的選取,由于總可能有中間閾值點(diǎn)以上的點(diǎn)是高極閾值邊界點(diǎn)的一種延伸,因此使用雙閾值進(jìn)行檢測(cè)并進(jìn)行邊緣連接。6)進(jìn)行邊緣檢測(cè)[2]。
利用自帶的HaarTraining 程序訓(xùn)練一個(gè)分類器,具體分為以下6 個(gè)步驟:1)收集訓(xùn)練樣本,將樣本分為正樣本和負(fù)樣本,再將正樣本尺寸歸一,該文將標(biāo)準(zhǔn)定為100 pt×80 pt。2)生成正樣本描述文件。3)利用createsamples程序?qū)⒄龢颖巨D(zhuǎn)換為vec文件。4)創(chuàng)建負(fù)樣本。5)利用OpenCV下的HaarTraining算法程序進(jìn)行樣本訓(xùn)練。6)生成XML 文件(分類器),加載XML 文件并調(diào)用相應(yīng)的函數(shù)進(jìn)行下一步分類和檢測(cè)。
圖像識(shí)別模塊示意圖如圖2 所示。
圖2 圖像識(shí)別模塊示意圖
該文采用中科微電子的AT6558芯片和ATMEGA328 單片機(jī)[3]。中科微電子AT6558接收衛(wèi)星C/A碼并通過(guò) ATMEGA328單片機(jī)對(duì)接收的位置信息進(jìn)行解碼,以提取有效數(shù)據(jù),ATMEGA328 單片機(jī)的PD0 與PD1 接口分別與ATGM336H-5N31GPS 芯片的TXD 和PXD 連接,再通過(guò)PD3 以短信的形式發(fā)送至手機(jī),最終將提取出的經(jīng)緯度顯示出來(lái)。AT6558 通過(guò)ATMEGA328 單片機(jī)對(duì)接收的位置信息進(jìn)行解碼和提取。
在語(yǔ)音模塊中使用2 種類型的芯片,分別為科大訊飛的AIUI 評(píng)估板和北京宇音的SYN6288 芯片模塊。其中,AIUI 評(píng)估板為頭盔提供與使用者日常生活進(jìn)行交互的功能,例如天氣詢問(wèn)、導(dǎo)航播報(bào)等。而SYN6288 芯片則是通過(guò)傳感器來(lái)確認(rèn)前方是否存在障礙物,從而播報(bào)提前設(shè)置好的語(yǔ)音警示詞,以提醒使用者。
1.4.1 科大訊飛評(píng)估板
該評(píng)測(cè)板擁有超強(qiáng)的語(yǔ)言交互能力,支持自界定提醒詞和各種自然聲調(diào)的發(fā)音,可以自己從開(kāi)發(fā)網(wǎng)站生成自界定提醒詞文檔,并利用面板上的USB 端口,使用ADB 指令將提醒詞文檔傳送至評(píng)測(cè)板并重啟,以運(yùn)行自界定提醒詞。評(píng)估板上龐大的資料云端庫(kù)以及極高的識(shí)別率讓頭盔具有“能聽(tīng)會(huì)講”的能力。
在云端辨識(shí)出語(yǔ)義后,AIUI 評(píng)估板的串口就會(huì)提供有關(guān)對(duì)話具體內(nèi)容的Json 格式數(shù)據(jù)信息,透過(guò)分析Json 格式的數(shù)據(jù)信息就可以了解使用者的意愿。同時(shí),AIUI 云端開(kāi)發(fā)系統(tǒng)支持自定義的對(duì)話功能,由于其具有超強(qiáng)的自定義能力,因此可以在語(yǔ)音播報(bào)、日常對(duì)話問(wèn)詢等各種情景下進(jìn)行個(gè)性化互動(dòng)。
1.4.2 SYN6288語(yǔ)音播報(bào)芯片
SYN6288 語(yǔ)音播報(bào)芯片通過(guò)軟件將需要的聲音轉(zhuǎn)換為16 進(jìn)制并加入代碼中。該模塊可以播報(bào)中、英文,它與單片機(jī)通過(guò)串口通信進(jìn)行連接,串口發(fā)送包括聲音內(nèi)容的GB2312 編碼,模塊播放聲音。
SYN6288 所構(gòu)成的硬件電路主要有數(shù)字采集電路、數(shù)據(jù)處理電路以及聲音合成用的電路[4]。信息收集系統(tǒng)主要使用超聲波檢測(cè)和圖象識(shí)別,超音波檢測(cè)系統(tǒng)由最先進(jìn)的KS103 測(cè)距模塊所構(gòu)成。KS103 的高溫補(bǔ)償模塊的檢測(cè)精度更高,采用溫度校正的測(cè)距命令,在近距離內(nèi)最大準(zhǔn)確度為1 mm;探測(cè)盲點(diǎn)小至1 cm,最大量程達(dá)到8 m,基本無(wú)盲點(diǎn)。并通過(guò)ⅡC 端口與服務(wù)器進(jìn)行通信,自動(dòng)應(yīng)答服務(wù)器的Ⅱc 控制指令。圖像識(shí)別則是通過(guò)攝像頭來(lái)捕捉紅綠燈和盲道的圖像,它們分別具備不同類型的提醒聲音。
ATMEGA328 單片機(jī)負(fù)責(zé)數(shù)據(jù)處理工作,其將收集到的信息分別傳給SYN6288 模塊以及評(píng)估板控制程序,該芯片采用32 引腳4 列封裝(MLF)的形式(單片機(jī)和SYN6288模塊的接線為PD2~RX)。
語(yǔ)言合成的傳送系統(tǒng),一般由SYN6288 系統(tǒng)和揚(yáng)聲器構(gòu)成。其中,SYN6288 負(fù)責(zé)管理從文字到語(yǔ)言的轉(zhuǎn)化(TTS),而揚(yáng)聲器則負(fù)責(zé)管理發(fā)出聲音指令。SYN6288 采用異步式串口(UART)的通信方法,可以接受待合成的文字?jǐn)?shù)據(jù),從而完成從文字到話音的切換任務(wù),也可以采用PWM 輸出方式(或增加外接輸出功率)控制音箱,從而完成輸入、輸出話音的任務(wù),并能通過(guò)直接讀取BUSY管腳的電平來(lái)得到晶片當(dāng)前的工作狀態(tài)。同時(shí),該晶片還支持GB2312 等規(guī)格的文字,支持標(biāo)點(diǎn)符號(hào)、漢字和數(shù)字處理,能準(zhǔn)確標(biāo)識(shí)代表數(shù)字、時(shí)間和日期的字符,并具有強(qiáng)大的多聲字處理能力。
1.4.3 TTS 語(yǔ)言合成基本原理
文本轉(zhuǎn)換語(yǔ)音(Text To Speech,TTS)技能是人機(jī)智能交流發(fā)展的必然趨勢(shì),利用MCU 和PC 機(jī)控制語(yǔ)言芯片發(fā)音就可以實(shí)現(xiàn)在各種場(chǎng)景下的文本信息播報(bào)功能。
TTS 的變換程序主要是將語(yǔ)言序列轉(zhuǎn)換為音韻序列,再讓計(jì)算機(jī)通過(guò)音韻程序產(chǎn)生語(yǔ)言波形。該處理方法包括語(yǔ)言學(xué)處理和韻律處理,而目前進(jìn)行這種處理比較好的方法是將基于規(guī)則的波形拼接技術(shù)與參數(shù)語(yǔ)言生成技術(shù)結(jié)合。語(yǔ)音模塊示意圖如圖3 所示。
圖3 語(yǔ)音模塊示意圖
該文所設(shè)計(jì)的GPS 集成方案測(cè)試通過(guò)顯示屏讓模塊運(yùn)行結(jié)果可視化,連接圖如圖2 所示。太陽(yáng)能板的供電還需要一個(gè)穩(wěn)壓控制器。太陽(yáng)能電池板是利用光伏效應(yīng)將太陽(yáng)能轉(zhuǎn)化為電能的一個(gè)集電部件,穩(wěn)壓控制器保護(hù)整個(gè)電路的穩(wěn)定。通過(guò)穩(wěn)壓控制器給ATMEGA328 單片機(jī)供電,按照需求連接完成。最后通過(guò)顯示屏顯示測(cè)試數(shù)據(jù),如圖4、圖5 所示。
圖4 GPS 連接圖
圖5 測(cè)試數(shù)據(jù)
ATMEGAP 單片機(jī)編程代碼如下。
實(shí)地測(cè)試GPS集成方案與經(jīng)緯定位App結(jié)果誤差在預(yù)計(jì)定位精度內(nèi)(屬于可接受范圍內(nèi))。
該文所設(shè)計(jì)的產(chǎn)品具有以下創(chuàng)新點(diǎn):1)認(rèn)識(shí)障礙物。中國(guó)傳統(tǒng)的導(dǎo)盲杖利用拐杖與障礙物間的摩擦幫助盲人認(rèn)識(shí)障礙物。該方式不僅識(shí)別距離較近,而且只能感應(yīng)盲人面前的障礙物,不能感應(yīng)兩側(cè)的障礙物。但是該設(shè)計(jì)在樹(shù)莓派的基礎(chǔ)上利用 OpenCV 圖像處理算法庫(kù),通過(guò)采集、處理以及提取圖像可以更有效、更清晰地識(shí)別障礙物。2)導(dǎo)航方面。目前,市場(chǎng)上最常見(jiàn)的導(dǎo)盲設(shè)備在精準(zhǔn)度、價(jià)位和穩(wěn)定性等方面存在缺陷。因?yàn)橐龑?dǎo)盲人行動(dòng)的工具存在局限性,所以大部分盲人的行動(dòng)區(qū)域都非常狹小,僅限制在自己所熟悉的行動(dòng)區(qū)域內(nèi),該文所設(shè)計(jì)的自帶GPS 導(dǎo)航的導(dǎo)盲頭盔不僅能滿足盲人拓展自己行動(dòng)區(qū)域的需要,而且GPS 定位還可以幫助親朋好友鎖定盲人的位置。3)語(yǔ)音交互。盲人根據(jù)自己的需求用聲音呼應(yīng)人工智能,在滿足需求的同時(shí),還能保障盲人在外的安全。4)節(jié)約能源。與傳統(tǒng)導(dǎo)盲儀相比,該設(shè)計(jì)秉持“綠色環(huán)保”的理念,將磁性充電和太陽(yáng)能板相結(jié)合,可以實(shí)現(xiàn)充、放電交互并進(jìn)的功能,從而達(dá)到節(jié)約資源的目的。
該文從盲人生活出行的必要要求的角度出發(fā),利用現(xiàn)有技術(shù)滿足盲人出行需求。首先,通過(guò)理論層次收集足夠的信息支撐,并提出概念性的設(shè)計(jì)。其次,通過(guò)閱讀相關(guān)文獻(xiàn)對(duì)各模塊進(jìn)行代碼編譯和運(yùn)行嘗試。最后,在為盲人安全出行提供一種選擇同時(shí),也利用智能設(shè)備滿足了盲人出行的個(gè)性化需求。該文設(shè)計(jì)的頭盔還存在缺陷,一方面是行人運(yùn)動(dòng)方向的不確定性和隨機(jī)性及語(yǔ)音系統(tǒng)預(yù)警的時(shí)間差能否滿足盲人做出規(guī)避障礙物的動(dòng)作,另一方面是柔性太陽(yáng)能電池工作產(chǎn)生的熱量能否有效降低盲人佩戴頭盔的不適感。