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