基于樹(shù)莓派的智能家居機(jī)器人i-mirror設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引 言
隨著物聯(lián)網(wǎng)的不斷發(fā)展,各種家用電器逐漸實(shí)現(xiàn)了智能化[1],但是生活中最常見(jiàn)的鏡子還處于比較初級(jí)的狀態(tài)。2012 年,日本科技展示會(huì)上出現(xiàn)了一面基于安卓系統(tǒng)的智能鏡,除了可以顯示日常的天氣、人體體重等信息,還可感知用戶的手勢(shì)操作,可以說(shuō)是智能鏡的“鼻祖”[2] ;2017 年 8 月美國(guó)紐約一個(gè)團(tuán)隊(duì)研制出的智能鏡 Eve 采用了完全可定制的交互式觸控屏幕,擁有自己的應(yīng)用商店,可以作為智能家居的控制中樞, 實(shí)現(xiàn)多種家居控制功能 ;國(guó)內(nèi)近幾年也出現(xiàn)了功能繁多、應(yīng)用場(chǎng)景多樣的智能鏡 [3]。針對(duì)智能鏡的研究一直在進(jìn)行,但其普及率卻不高,主要原因是成本較高、功能的針對(duì)性不夠以及智能鏡與整體智能家居的融合度不高 [4]。
本文針對(duì)以上問(wèn)題,構(gòu)思并設(shè)計(jì)了基于樹(shù)莓派的智能家居機(jī)器人 i-mirror。利用單向鏡成像原理,通過(guò)互聯(lián)網(wǎng)實(shí)現(xiàn)通信和控制,加入語(yǔ)音識(shí)別、人臉識(shí)別等技術(shù),實(shí)現(xiàn)智能家居智慧生活的目的。
1 系統(tǒng)的總體框架和功能
本文根據(jù)實(shí)際應(yīng)用情況,設(shè)計(jì)出一種適用于多種場(chǎng)合、具備常用智能家居功能、通過(guò)人臉識(shí)別技術(shù)增加安全系數(shù)的智能家居機(jī)器人 i-mirror,它采用樹(shù)莓派作為控制處理中心以滿足多功能的實(shí)現(xiàn)和信號(hào)處理。樹(shù)莓派外接成像控制、喚醒觸控、語(yǔ)音轉(zhuǎn)換、圖像攝取等模塊以及內(nèi)置人像處理識(shí)別、語(yǔ)音識(shí)別交互等程序,使智能鏡具有信息顯示、語(yǔ)音交互、人體感知、智能安防、休閑娛樂(lè)等功能。智能鏡工作原理如圖1 所示。
2 系統(tǒng)的硬件設(shè)計(jì)
本文系統(tǒng)的硬件由單面鏡、紅外感應(yīng)框、顯示屏、驅(qū)動(dòng)板、紅外感應(yīng)器、樹(shù)莓派開(kāi)發(fā)板、麥克風(fēng)、攝像頭及繼電器等組成, 構(gòu)成如圖 2 所示。
2.1 成像控制模塊
智能鏡的成像控制系統(tǒng)主要由單向鏡、驅(qū)動(dòng)板、顯示屏、紅外框等組成。成像控制系統(tǒng)是智能鏡顯示和人機(jī)交互的基礎(chǔ)系統(tǒng) [5]。在保留鏡子本身成像特性的情況下可以顯示包括天氣、新聞等由互聯(lián)網(wǎng)獲得的日常信息。并通過(guò)網(wǎng)絡(luò)連接可通過(guò)用戶的手機(jī)進(jìn)行同步備忘錄、更改提詞板內(nèi)容、監(jiān)控鏡前鏡像, 甚至通過(guò)觸摸交互控制連入網(wǎng)絡(luò)的智能家居,實(shí)現(xiàn)在鏡前自拍、翻閱家庭內(nèi)置照片等功能。成像控制系統(tǒng)主要依托顯示技術(shù),在家居鏡子上呈現(xiàn)出用戶想要獲得的信息和操控單元。
2.2 觸控模塊
為解決最基本的觸控交互問(wèn)題,本文系統(tǒng)采用外加紅外框的方式實(shí)現(xiàn)。紅外框通過(guò) USB端口可直接與樹(shù)莓派相連。其主要工作方式是在紅外框內(nèi)部構(gòu)建紅外網(wǎng)絡(luò),通過(guò)觸控物體遮擋網(wǎng)絡(luò)的某一點(diǎn)確定預(yù)期觸控位置,從而達(dá)到觸控交互的目的 [6]。優(yōu)勢(shì)在于這種交互問(wèn)題解決方式對(duì)鏡面無(wú)更高要求,價(jià)格便宜,只需在連接紅外框后進(jìn)行相關(guān)定位調(diào)試即可, 開(kāi)發(fā)成本低,有利于在現(xiàn)有的鏡面基礎(chǔ)上進(jìn)行開(kāi)發(fā)而無(wú)需重新進(jìn)行相關(guān)設(shè)計(jì)。同時(shí),相較于電容電阻屏幕觸控,該方式對(duì)于用戶的觸控端沒(méi)有過(guò)高要求,可以滿足潮濕手指、非導(dǎo)體觸控棒、任意細(xì)棒形狀物體等不被電容電阻屏識(shí)別的物體對(duì)i-mirror進(jìn)行觸控。
2.3 自動(dòng)喚醒模塊
智能家居最根本的要求是節(jié)能。智能鏡也應(yīng)立足于原有鏡子的價(jià)格成本等優(yōu)勢(shì)進(jìn)行發(fā)展,因此 i-mirror 外接自動(dòng)紅外喚醒模塊,只有當(dāng)用戶走近時(shí)才會(huì)喚醒其智能功能,其余時(shí)間只是一塊普通的鏡子,以節(jié)省家庭用電成本。
3 系統(tǒng)的軟件設(shè)計(jì)
3.1 整體設(shè)計(jì)流程
在進(jìn)行軟件設(shè)計(jì)前要對(duì)開(kāi)發(fā)平臺(tái)進(jìn)行相關(guān)的準(zhǔn)備工作。具體工作為 :準(zhǔn)備一張 2GB以上的 SD卡(建議選用高速卡, 推薦 Class4以上的卡),卡的速度將直接影響樹(shù)莓派的運(yùn)行速度 ;下載樹(shù)莓派 Debian系統(tǒng)鏡像文件 ;配置 SD卡,連接操作鍵盤鼠標(biāo)、電源線、HDMI線等硬件設(shè)備 [7]。
由于在日常家居生活中,智能家居系統(tǒng)的各部分工作都相對(duì)獨(dú)立,所以在本文系統(tǒng)中采用模塊化設(shè)計(jì) [8]。軟件設(shè)計(jì)主要涉及人像處理與識(shí)別、語(yǔ)音處理與交互、網(wǎng)絡(luò)連接、外設(shè)控制、信息顯示等模塊設(shè)計(jì)。整體設(shè)計(jì)流程如圖 3所示。
3.2 語(yǔ)音處理與交互
目前,云計(jì)算的發(fā)展使得較多終端設(shè)備的交互可通過(guò)云計(jì)算的方式高效準(zhǔn)確地實(shí)現(xiàn)[9]。在語(yǔ)音交互部分,智能鏡通過(guò)調(diào)用百度語(yǔ)音識(shí)別的應(yīng)用程序編程接口完成對(duì)人類聲音的語(yǔ)音識(shí)別。語(yǔ)音識(shí)別在云端進(jìn)行,而語(yǔ)音處理部分在本地進(jìn)行。該處理方式的優(yōu)勢(shì)為 :應(yīng)答模式固定,用戶可通過(guò)手機(jī)或 PC 機(jī)自主設(shè)定,便于控制 ;處理速度較傳統(tǒng)語(yǔ)音識(shí)別更快 ;中心平臺(tái)更安全,語(yǔ)音的閉源處理使得智慧鏡在網(wǎng)絡(luò)安全保護(hù)方面更具優(yōu)勢(shì)。
在語(yǔ)音交互的基礎(chǔ)上,本文編程實(shí)現(xiàn)了語(yǔ)音控制。當(dāng)監(jiān)聽(tīng)到“開(kāi)燈”或“關(guān)燈”的語(yǔ)音命令后,自動(dòng)完成對(duì)電燈的開(kāi)關(guān)操作。由于智能鏡的開(kāi)關(guān)也通過(guò)控制電器的電路,因此該聲控命令可用于控制其他家電。同時(shí),當(dāng)監(jiān)聽(tīng)到“放首歌”的語(yǔ)音命令后,自動(dòng)對(duì)音樂(lè)庫(kù)歌曲進(jìn)行播放。由于采用了 Python 程序的線程工作機(jī)制,放歌的同時(shí)依舊可以使用語(yǔ)音識(shí)別功能而互不沖突,從而可使語(yǔ)音識(shí)別系統(tǒng)高效運(yùn)轉(zhuǎn) [10]。
采用 Python 語(yǔ)言編寫(xiě)語(yǔ)音識(shí)別程序的步驟如下:
(1) 編寫(xiě)必要的語(yǔ)音庫(kù)。包括儲(chǔ)存播放語(yǔ)音內(nèi)容的字符串?dāng)?shù)組,儲(chǔ)存歌曲文件名的字符串?dāng)?shù)組等。
(2) 編寫(xiě) Audiorecord函數(shù)完成對(duì)用戶的錄音工作。
(3) 編寫(xiě)語(yǔ)音識(shí)別 V2T函數(shù),將錄下的聲音文件通過(guò)百度語(yǔ)音API提交得到返回值,即轉(zhuǎn)換成文字。若 API返回的dict[u'err_no'] 為 0,則識(shí)別成功 ;若返回 dict[u'result'],則識(shí)別不成功,返回 'bad'。
(4) 根據(jù)返回的字符串結(jié)果進(jìn)行關(guān)鍵字匹配,對(duì)滿足條件的語(yǔ)音命令、主程序進(jìn)行對(duì)應(yīng)的操作。當(dāng)關(guān)鍵字中含有“放首歌 XXX”的語(yǔ)音命令時(shí),自動(dòng)搜索歌曲庫(kù)中的歌曲。若找到歌曲名為 XXX的歌曲,則開(kāi)啟一路線程播放歌曲,另一路線程繼續(xù)進(jìn)行語(yǔ)音識(shí)別工作 ;若未找到歌曲,則播放指定的語(yǔ)音提示。當(dāng)關(guān)鍵字中含有“開(kāi) /關(guān)燈”的語(yǔ)音命令時(shí),系統(tǒng)調(diào)用Python的GPIO庫(kù),讀取并輸出電位,實(shí)現(xiàn)開(kāi)關(guān)繼電器操作 ;當(dāng)語(yǔ)音識(shí)別結(jié)果中含有其他關(guān)鍵字信息時(shí),系統(tǒng)根據(jù)關(guān)鍵字匹配庫(kù)播放指定的語(yǔ)音內(nèi)容。
(5) 重復(fù)(1)的操作。
3.3 人臉識(shí)別
智能家居發(fā)展越迅速就越不能忽視安全問(wèn)題 [11],針對(duì)一些必要的使用場(chǎng)合,智能鏡添加了人臉識(shí)別功能。通過(guò)調(diào)用優(yōu)圖人臉識(shí)別的API,完成對(duì)用戶的人臉識(shí)別操作。當(dāng)智能鏡前方無(wú)用戶時(shí),鏡子保持在主界面 ;當(dāng)智能鏡前方較近距離出現(xiàn)用戶時(shí),自動(dòng)開(kāi)啟人臉識(shí)別服務(wù),鏡子顯示的內(nèi)容跳轉(zhuǎn)至人臉識(shí)別頁(yè)面。系統(tǒng)自動(dòng)將攝像頭拍下的人物圖片提交至優(yōu)圖人臉識(shí)別 API,人臉識(shí)別頁(yè)面顯示出人臉識(shí)別的結(jié)果。系統(tǒng)將結(jié)果與圖片庫(kù)內(nèi)的圖片進(jìn)行比較,確認(rèn)該人臉與圖片庫(kù)中人臉的匹配度。若匹配度高于設(shè)定值,則執(zhí)行某一特定任務(wù),如輸出語(yǔ)音“主人回來(lái)了”或者打開(kāi)重要的門鎖 ;若匹配度低于設(shè)定值,則執(zhí)行另一特定任務(wù),如控制繼電器導(dǎo)通激發(fā)報(bào)警器。當(dāng)鏡子前方較近距離再次無(wú)人時(shí),智能鏡重新跳轉(zhuǎn)至主界面。
針對(duì)鏡子的主要受眾——女性,通過(guò)人臉識(shí)別與卷積神經(jīng)網(wǎng)絡(luò)技術(shù)為i-mirror增加化妝指導(dǎo)功能。在 i-mirror上訓(xùn)練好的人臉識(shí)別模型包括 20余種常見(jiàn)面部情況和 10余種臉部常見(jiàn)化妝情況。根據(jù)不同的識(shí)別結(jié)果,i-mirror給出相應(yīng)的圖片提示和化妝指導(dǎo),同時(shí)語(yǔ)音播報(bào)化妝步驟。i-mirror形象指導(dǎo)完全在本地運(yùn)行,不依賴任何聯(lián)網(wǎng)或者設(shè)備互聯(lián)。這意味著它不僅可以安放在家用大鏡子上,還可以安放在女士的小化妝盒里, 方便隨身攜帶,可隨時(shí)隨地給用戶提供指導(dǎo)建議。日常生活中, 用戶化妝的主要目的是遮蓋毛孔、雀斑、痘印、黑眼圈等各類面部問(wèn)題。本文挑選了幾千張人臉圖片,通過(guò) R-CNN完成在人臉圖像中可能出現(xiàn)的雀斑、痘印等各種對(duì)象的分類和檢測(cè)。模型的訓(xùn)練時(shí)長(zhǎng)約 10h,迭代訓(xùn)練 2萬(wàn)次,最終在測(cè)試集上達(dá)到的平均檢測(cè)準(zhǔn)確率約為 93%。根據(jù)分類檢測(cè)結(jié)果,i-mirror將提供不同的化妝指導(dǎo)建議。另外,i-mirror還可根據(jù)用戶的面部識(shí)別結(jié)果,判斷用戶的情緒表現(xiàn),做出更有效的答復(fù)。
4 結(jié) 語(yǔ)
智能鏡作為智能家居的控制平臺(tái),相當(dāng)于為用戶在操作與體驗(yàn)方面提供了一個(gè)物理終端,同時(shí)在不額外增加家具設(shè)備的前提下高效、智能地為用戶提供高品質(zhì)生活。由于智能鏡本身不含有機(jī)電系統(tǒng),故外接控制系統(tǒng)開(kāi)發(fā)簡(jiǎn)單,且成本較低??傮w來(lái)說(shuō),本文提出的智能鏡在開(kāi)發(fā)、應(yīng)用等方面都為智能家
居提供了一個(gè)中心平臺(tái)解決方案?;谠摾砟詈驮O(shè)計(jì)原理實(shí)現(xiàn)的“智能鏡”作品,在 2018 年首屆中國(guó)高校智能機(jī)器人創(chuàng)意大賽中獲得了創(chuàng)意組“一等獎(jiǎng)”。