張潤午 趙海舟 曾凡瑞 湯留陽
摘 要:出門時忘記帶某物或忘記某事是生活中普遍遇到的現(xiàn)象,這給人們的工作與生活帶來困擾,文中針對這種現(xiàn)象設(shè)計并實(shí)現(xiàn)一個基于樹莓派的智能語音提醒系統(tǒng)。在手機(jī)端通過系統(tǒng)APP將備忘內(nèi)容發(fā)送到樹莓派,當(dāng)用戶出門時,系統(tǒng)對用戶拍照并通過Face++平臺提供的功能進(jìn)行人臉識別,語音讀出該用戶相應(yīng)的備忘信息,起到提醒的作用。同時該系統(tǒng)還配有屏幕,顯示時間、天氣、問候語等,給用戶帶來智能化的出門體驗(yàn)。
關(guān)鍵詞:樹莓派;人臉識別;藍(lán)牙傳輸;Python;文字轉(zhuǎn)語音;魔鏡
中圖分類號:TP27文獻(xiàn)標(biāo)識碼:A文章編號:2095-1302(2019)10-00-03
0 引 言
隨著科技的迅猛發(fā)展,人們的生活水平日益提高,眾多的科技產(chǎn)品使人們的生活更加便捷與高效。與此同時,人們的需求也越來越高,這就需要更多智能化的產(chǎn)品走進(jìn)人們的日常生活中。近年來,隨著物聯(lián)網(wǎng)的普及,智能家居產(chǎn)品的使用越來越普遍[1]。試想一下這樣一個場景,當(dāng)你收拾東西慌忙出門時,來到門口,傳來一個聲音提醒你別忘了帶某份重要文件,你因此避免了一次工作上的重大失誤。這樣的智能生活體驗(yàn)正是本文智能語音提醒系統(tǒng)可以帶給用戶的。
目前,該領(lǐng)域的產(chǎn)品較少,比較出名的是Nut防丟貼片,但其不能解決出門忘帶東西的問題,且有其他不少缺陷。首先,用戶手機(jī)對該Nut的APP必須完全信賴,提供所有權(quán)限,且必須保持藍(lán)牙一直處于開啟狀態(tài),給用戶帶來極大不便;其次,Nut防忘貼片根據(jù)貼片與手機(jī)之間藍(lán)牙信號的強(qiáng)弱判斷距離,對環(huán)境的適應(yīng)性較差,在墻體較多的地方、較近的距離就會報警,而在空曠的地方、較遠(yuǎn)的距離卻不會報警,家庭的門是一個固定位置,Nut防忘貼片無法做到出門時提醒。本文智能語音提醒系統(tǒng)可在用戶來到門口時,提醒用戶帶某物或做某事,彌補(bǔ)了目前產(chǎn)品在這一板塊功能的不足。
系統(tǒng)以樹莓派為核心進(jìn)行控制,用戶在手機(jī)上安裝通過藍(lán)牙串口軟件改進(jìn)后的“提醒小助手”APP,該軟件將用戶備忘的信息通過藍(lán)牙發(fā)送到樹莓派。當(dāng)用戶出門時,樹莓派將攝像頭拍攝的用戶照片上傳至服務(wù)器進(jìn)行人臉識別,通過返回的結(jié)果判斷是家中的哪一位用戶,并將其備忘的信息通過音響讀出,從而達(dá)到提醒用戶的目的。
1 系統(tǒng)硬件構(gòu)成
1.1 系統(tǒng)總體結(jié)構(gòu)
系統(tǒng)以樹莓派為控制核心,攝像頭、音響、屏幕等外設(shè)都與樹莓派相連,手機(jī)通過藍(lán)牙與樹莓派連接,樹莓派通過WiFi連接到云端服務(wù)器,總體結(jié)構(gòu)如圖1所示。
1.2 樹莓派3代B+
樹莓派作為微型計算機(jī),相比傳統(tǒng)計算機(jī)只是缺少了顯示屏幕和鍵盤,USB端口可以方便地連接Linux免驅(qū)攝像頭,具有獨(dú)立的40個GPIO引腳。樹莓派可以運(yùn)行Python語言,并進(jìn)行編譯,運(yùn)算速度快,價格低[2]。
樹莓派3代B+是樹莓派基金會于2018年3月14日發(fā)布的新版本,如圖2所示,主頻達(dá)到了1.4 GHz,在無線網(wǎng)絡(luò)以及藍(lán)牙性能上相比上一款產(chǎn)品也有較大提升。樹莓派作為系統(tǒng)大腦,強(qiáng)大的性能是完成系統(tǒng)核心功能的基礎(chǔ)。
1.3 USB高清攝像頭
由于要對照片進(jìn)行人臉識別,因此需要照片足夠清晰。本文選用1080P高清USB攝像頭,如圖3所示,相比樹莓派原裝攝像頭Pi Camera的清晰度提高了許多。
1.4 便攜式音響
用戶備忘的信息需要通過語音的方式讀出,通過便攜式音響來完成,如圖4所示。在實(shí)際操作過程中發(fā)現(xiàn),樹莓派與音響通過藍(lán)牙配對與連接不穩(wěn)定,所以采用有線連接的方式,保證系統(tǒng)穩(wěn)定性。
1.5 20寸屏幕
屏幕用于實(shí)現(xiàn)系統(tǒng)的附加功能,即“魔鏡”的功能。屏幕上顯示當(dāng)前的精確時間、天氣、溫度、風(fēng)力、日落時間,以及未來幾天的天氣與溫度。屏幕正中顯示問候語,系統(tǒng)會在上午、下午、晚上顯示不同類型的問候語。攝像頭固定在屏幕邊框上,用戶出門時只需下意識地看看時間、溫度、天氣等,就可被攝像頭拍照,然后上傳到服務(wù)器進(jìn)行人臉識別。屏幕如圖5所示。
2 系統(tǒng)各部分功能的實(shí)現(xiàn)
2.1 整體的運(yùn)作流程
用戶在手機(jī)上打開“提醒小助手”APP,打開藍(lán)牙并連接到樹莓派,此時用戶就可在APP的消息發(fā)送界面將備忘的信息發(fā)送至樹莓派,樹莓派根據(jù)連接手機(jī)的Mac地址識別是家庭中哪位成員備忘的消息,并將用戶發(fā)來的信息存到相應(yīng)文本中。若用戶出門,用戶看“魔鏡”時會被攝像頭拍照,樹莓派則將照片上傳至Face++平臺服務(wù)器中進(jìn)行識別,平臺在事先已經(jīng)建立好的家庭人臉集合中識別出最相似的人臉,樹莓派通過平臺返回的數(shù)據(jù)即可判斷出是家庭中的哪位成員,隨后將相應(yīng)的備忘內(nèi)容讀出,提醒用戶。系統(tǒng)整體運(yùn)作流程如圖6所示。
2.2 手機(jī)與樹莓派的藍(lán)牙連接以及數(shù)據(jù)傳送
樹莓派3代B+自帶藍(lán)牙功能,無需另外加裝藍(lán)牙模塊,但在實(shí)際使用過程中發(fā)現(xiàn),樹莓派的原生藍(lán)牙在傳統(tǒng)連接方式下與手機(jī)只能實(shí)現(xiàn)配對,無法實(shí)現(xiàn)穩(wěn)定連接。因此,本文采用RFCOMM協(xié)議,在該協(xié)議的監(jiān)聽功能下實(shí)現(xiàn)手機(jī)與樹莓派藍(lán)牙的連接。RFCOMM協(xié)議還提供查看連接設(shè)備信息的功能,可獲取手機(jī)的Mac地址,由此區(qū)分是哪位家庭成員的手機(jī)。在該協(xié)議下,樹莓派收到的信息會自動儲存到/dev/rfcomm0中,這是一個會隨著藍(lán)牙連接的斷開而刪除的文件,用程序可將其寫入到該家庭成員對應(yīng)的文本文件中,用戶每次寫入的信息會覆蓋前一次的信息。出于對用戶誤觸發(fā)或沒聽清等情形的考慮,提醒完之后備忘信息不會被立即刪除,實(shí)現(xiàn)該部分功能的主要Python程序如圖7所示,其中g(shù)et_mac_addr是將手機(jī)的Mac地址從設(shè)備信息表中提取出來的函數(shù)。
2.3 利用Face++平臺實(shí)現(xiàn)人臉識別
人臉識別的程序一直循環(huán)運(yùn)行,攝像頭也一直處于循環(huán)拍照狀態(tài)。若未識別到家庭成員的人臉則不執(zhí)行任何指令;若識別到某一家庭成員的人臉,則讀出相應(yīng)的備忘信息。事先調(diào)用API在Face++平臺上創(chuàng)建一個Faceset,F(xiàn)aceset是所有家庭成員人臉照片的集合,這些照片作為家庭成員的人臉標(biāo)準(zhǔn)照片。Face++平臺的人臉識別能力強(qiáng)大,提供每位家庭成員一張人臉照片即可。當(dāng)攝像頭拍攝照片后,通過調(diào)用API的方式將該照片上傳至Face++平臺服務(wù)器,并在Faceset中尋找與其最相似的照片,最后返回置信度,找到標(biāo)準(zhǔn)照片的Face_token(Face_token即為與傳到Face++平臺服務(wù)器的照片一一對應(yīng)的編號)。若置信度小于設(shè)定閾值,則不執(zhí)行任何指令;若置信度大于設(shè)定閾值,則通過Face_token識別出是哪位家庭成員,即可將備忘內(nèi)容讀出進(jìn)行提醒。
2.4 將用戶備忘的信息用語音讀出
用戶備忘的內(nèi)容最終要通過語音的方式從便攜式音響中讀出,為此本文在樹莓派上安裝eSpeak軟件作為一款開源軟件,便于將文字轉(zhuǎn)為語音讀出。在此基礎(chǔ)上,利用eSpeak讀取文本文件里的內(nèi)容,從而將用戶備忘的內(nèi)容讀出。調(diào)用API進(jìn)行人臉識別及將備忘信息語音讀出的主要Python程序如圖8所示,其中g(shù)et_conface是通過API向Face++平臺服務(wù)器請求Search功能并將返回值中的confidence與face_token提取出來的函數(shù),espeak_txt_chinese是將指定文本中的內(nèi)容通過eSpeak軟件語音讀出的函數(shù)。
3 系統(tǒng)實(shí)現(xiàn)
安裝好的系統(tǒng)外觀如圖9所示,用屏幕支架可將屏幕懸空固定,支架可調(diào)節(jié),便于將屏幕置于方便且舒適的位置與角度。攝像頭固定在屏幕上方,用戶觀看屏幕時會被攝像頭拍照,樹莓派與便攜式音響等放置在任意方便位置即可。系統(tǒng)運(yùn)行之后,屏幕上出現(xiàn)了時間、天氣、問候語等信息。
系統(tǒng)測試時,模擬有兩名家庭成員的情景,APP界面如圖10所示。兩名成員都先后發(fā)送了自己的備忘信息,模擬出門場景。兩名成員先后出門,出門時看“魔鏡”上的天氣、時間及問候語,其出門場景分別如圖11、圖12所示,系統(tǒng)正確地讀出了相應(yīng)的備忘信息。測試到有效的人臉識別范圍為距攝像頭兩米以內(nèi),符合實(shí)際要求。
4 結(jié) 語
智能家居以提高生活高效性、舒適性與便利性為主旨,著眼于生活中的小細(xì)節(jié),以改善用戶生活體驗(yàn)。本文智能語音提醒系統(tǒng)著眼于生活中普遍存在的出門忘物與出門忘事現(xiàn)象,在用戶出門時提醒相應(yīng)的備忘信息,屏幕上的時間、天氣與問候語增添了科技感與親切感,給用戶的生活帶來了便利與更好的體驗(yàn)。
參 考 文 獻(xiàn)
[1]黨鵬,馬菁.物聯(lián)網(wǎng)在智能家居中的應(yīng)用與發(fā)展[J].計算機(jī)產(chǎn)品與流通,2019(4):120.
[2]曾杰,陳超波,趙楠,等.基于樹莓派的搜檢機(jī)器人的設(shè)計[J].計算機(jī)與數(shù)字工程,2019,47(3):700-705.
[3]馬帥.基于樹莓派的人臉識別門禁系統(tǒng)設(shè)計與實(shí)現(xiàn)[D].大連:大連交通大學(xué),2018.
[4]???,張珣.智能家居語音識別通用語音AI云平臺的設(shè)計與實(shí)現(xiàn)[J].物聯(lián)網(wǎng)技術(shù),2019,9(2):68-70,74.
[5]馬馨雅.基于樹莓派的智能實(shí)驗(yàn)室管理系統(tǒng)[J].科技風(fēng),2019(2):9.
[6]張滿青,唐輝,張慧,等.樹莓派和人臉識別的云端智能課堂考勤系統(tǒng)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2019,19(1):35-37.
[7]蔡舒旻,盛希寧.基于樹莓派和Adruino的室內(nèi)空氣品質(zhì)監(jiān)測系統(tǒng)[J].機(jī)電工程技術(shù),2019(2):69-70,89.
[8]汪志敏.基于樹莓派的智能監(jiān)控系統(tǒng)設(shè)計[J].科技廣場,2017(3):89-91.
[9]陳必東,譚美娟.基于RaspberryPi+Arduino智能家居雛形系統(tǒng)的探索與研究[J].智慧工廠,2016(6):49-54,63.
[10]李奕.物聯(lián)網(wǎng)建設(shè)中的藍(lán)牙技術(shù)運(yùn)用分析及研究[J].中國新通信,2018,20(23):25-26.