秦益輝, 周 華, 李瑋峰, 王力強(qiáng), 李文昊
(上海工程技術(shù)大學(xué) 電子電氣工程學(xué)院, 上海 松江201600)
人臉識(shí)別技術(shù)現(xiàn)如今已廣泛應(yīng)用于金融行業(yè)和安保行業(yè)[1]。 在金融行業(yè),通過(guò)刷臉進(jìn)行支付已經(jīng)進(jìn)入了人們的日常生活;在安保行業(yè),刷臉開(kāi)門(mén)、掃臉簽到逐漸取代了以往的打卡機(jī)。 目前,商用人臉識(shí)別系統(tǒng)已達(dá)到十萬(wàn)分之一的錯(cuò)誤率,可見(jiàn)人臉識(shí)別技術(shù)已經(jīng)相當(dāng)成熟。 盡管人臉識(shí)別技術(shù)已經(jīng)在諸多領(lǐng)域嶄露頭角,但在隱私保護(hù)方面卻少有相關(guān)的應(yīng)用。
本文提出一種基于人臉識(shí)別的智能閱讀器,利用人臉特征的普遍性、唯一性和不可復(fù)制性,將其作為密碼來(lái)防止閱讀筆記、書(shū)簽的泄露。 同時(shí)應(yīng)用語(yǔ)音播報(bào)技術(shù)直觀地向用戶(hù)呈現(xiàn)人臉識(shí)別地結(jié)果,并在閱讀器基礎(chǔ)上開(kāi)發(fā)了臉部表情翻頁(yè)功能,在很大程度上提升了用戶(hù)的閱讀體驗(yàn)。
閱讀器主要由樹(shù)莓派、攝像頭模塊、外部?jī)?chǔ)存、語(yǔ)音模塊、按鍵以及顯示屏6 個(gè)部分組成,如圖1 所示。 樹(shù)莓派作為主控單元;圖像采集使用Camera V2 攝像頭模塊,用于拍攝人臉圖像,作為檢測(cè)采集數(shù)據(jù)的輸入;語(yǔ)音模塊用于信息播報(bào);按鍵用于指令輸入;外部?jī)?chǔ)存用于保存人臉模型以及書(shū)簽信息;顯示部分為L(zhǎng)CD 液晶屏,用于顯示書(shū)籍文字,以及測(cè)試結(jié)果。
圖1 系統(tǒng)整體結(jié)構(gòu)框架Fig.1 The overall structure of the system
將樹(shù)莓派作為智能閱讀器的載體,在40 個(gè)引腳上接入對(duì)應(yīng)的攝像頭模塊、顯示屏和簡(jiǎn)易鍵盤(pán),并在耳機(jī)孔上接入耳機(jī)或音響。 閱讀器采用Camera V2攝像頭模塊采集用戶(hù)清晰正臉的照片,輸入至樹(shù)莓派搭載的OpenCV 軟件中進(jìn)行圖像處理。 在對(duì)圖像整體進(jìn)行降噪處理和特征向量的提取后,把特征向量與數(shù)據(jù)庫(kù)中樣本進(jìn)行比對(duì),比對(duì)結(jié)果反饋至樹(shù)莓派。 根據(jù)上述結(jié)論播報(bào)對(duì)應(yīng)的內(nèi)容,使用eSpeak 軟件將文字轉(zhuǎn)化為語(yǔ)音。 語(yǔ)音內(nèi)容包括閱讀者上次閱讀位置及書(shū)目名稱(chēng)等等。 本系統(tǒng)還將人臉作為書(shū)本書(shū)簽,通過(guò)人臉識(shí)別后,書(shū)本將自動(dòng)跳轉(zhuǎn)至上次閱讀位置。 為了便于用戶(hù)進(jìn)行表情翻頁(yè),可預(yù)先在系統(tǒng)中導(dǎo)入臉部旋轉(zhuǎn)的圖像。 使用閱讀器時(shí),系統(tǒng)將實(shí)時(shí)檢測(cè)人臉特征向量變化,實(shí)現(xiàn)表情翻頁(yè)功能。
攝像頭采集得到的圖片利用中值濾波算法進(jìn)行降噪;Haar 算法提取得到圖像中的人臉特征;AdaBoost 算法用來(lái)訓(xùn)練分類(lèi)器。
在采集圖像時(shí),不可避免的會(huì)伴有一定的噪聲,它使得圖像質(zhì)量受到影響。 因此,為了得到較優(yōu)質(zhì)的圖像,在使用圖像前須對(duì)所采集到的圖像實(shí)行降噪處理。 降噪的方式有很多,其中中值濾波是目前應(yīng)用較多的一種非線性濾波器。 中值濾波主要是將像素四周點(diǎn)的像素值按從大到小的順序進(jìn)行排列,取出中間值。 加入中值濾波后,能明顯感受到人臉識(shí)別成功率顯著提升。
Haar 特征算法最先由Paul Viola 等人提出,后經(jīng)過(guò)Rainer Lienhart 等擴(kuò)展引入45°傾斜特征。OpenCV 所使用的Haar 特征共計(jì)14 種,其中包括:5種Basic 特征、3 種Core 特征和6 種Titled(即45°旋轉(zhuǎn))特征。 Haar 特征值反映了圖像的灰度變化情況。 臉部特征能由矩形特征簡(jiǎn)單的描述,如:眼睛比臉頰顏色深,鼻梁兩側(cè)比鼻梁顏色要深,嘴巴比周?chē)伾畹取?但矩形特征只對(duì)一些簡(jiǎn)單的圖形結(jié)構(gòu),如邊緣、線段較敏感,所以只能描述特定走向(水平、垂直、對(duì)角)的結(jié)構(gòu)。 算法表達(dá)式如下所示:
Haar 特征值=整個(gè)Haar 區(qū)域內(nèi)像素和×權(quán)重+黑色區(qū)域內(nèi)像素和×權(quán)重。
本文中選擇AdaBoost 分類(lèi)器算法,主要考慮同一產(chǎn)品的使用者不會(huì)超過(guò)10 人,AdaBoost 算法完全可以滿足數(shù)據(jù)體量小、訓(xùn)練時(shí)間短的項(xiàng)目。
Adaboost 算 法[2](Adaptive Boosting 自 適 應(yīng) 增強(qiáng))是一種迭代算法,將多個(gè)弱分類(lèi)器,組合成強(qiáng)分類(lèi)器。 其自適應(yīng)性在于:前一個(gè)弱分類(lèi)器分類(lèi)錯(cuò)誤的樣本權(quán)重會(huì)得到加強(qiáng),在權(quán)重更新后的樣本,將再次被用來(lái)訓(xùn)練下一個(gè)新的弱分類(lèi)器。 在每輪訓(xùn)練中,用樣本總體訓(xùn)練新的弱分類(lèi)器,產(chǎn)生新的樣本權(quán)重、該弱分類(lèi)器的話語(yǔ)權(quán),一直迭代直到達(dá)到預(yù)定的錯(cuò)誤率或達(dá)到指定的最大迭代次數(shù)。
若有N 個(gè)樣本,則每個(gè)訓(xùn)練的樣本點(diǎn)開(kāi)始時(shí)都被賦予相同的權(quán)重——1/N。 訓(xùn)練過(guò)程中,如果某個(gè)樣本已經(jīng)被準(zhǔn)確地分類(lèi),則下一次訓(xùn)練中,它的權(quán)重就被降低;相反,如果某個(gè)樣本點(diǎn)沒(méi)有被準(zhǔn)確地分類(lèi),那么它的權(quán)重就得到提高。 同時(shí),得到弱分類(lèi)器對(duì)應(yīng)的話語(yǔ)權(quán)。 然后,更新權(quán)值后的樣本集被用于訓(xùn)練下一個(gè)分類(lèi)器,整個(gè)訓(xùn)練過(guò)程如此迭代地進(jìn)行下去。 各個(gè)弱分類(lèi)器的訓(xùn)練過(guò)程結(jié)束后,分類(lèi)誤差率小的弱分類(lèi)器的話語(yǔ)權(quán)較大,其在最終的分類(lèi)函數(shù)中起著較大的決定作用,而分類(lèi)誤差率大的弱分類(lèi)器的話語(yǔ)權(quán)較小,其在最終的分類(lèi)函數(shù)中起著較小的決定作用。 換言之,誤差率低的弱分類(lèi)器在最終分類(lèi)器中占的比例較大,反之較小。 最后訓(xùn)練得到的弱分類(lèi)器將組合成強(qiáng)分類(lèi)器。
本系統(tǒng)在研究中,應(yīng)用了多個(gè)算法提取人臉特征,來(lái)判斷是否與庫(kù)中人臉相匹配;在硬件設(shè)計(jì)中,自行設(shè)計(jì)了樹(shù)莓派電路,如圖2 所示。
圖2 樹(shù)莓派電路圖Fig.2 Raspberry Pi circuit diagram
除了人臉識(shí)別功能外,本系統(tǒng)還包括書(shū)簽跳轉(zhuǎn)、語(yǔ)音播報(bào)以及臉部表情翻頁(yè)功能,如圖3 所示。
圖3 系統(tǒng)流程圖Fig.3 System flow chart
攝像頭模塊承擔(dān)了本系統(tǒng)最重要的人臉識(shí)別功能,是后續(xù)所有功能實(shí)現(xiàn)的基礎(chǔ)。 本系統(tǒng)采用Camera V2 樹(shù)莓派官方原裝的攝像頭,裝載有索尼IMX219 感光芯片,具有800 萬(wàn)像素,可拍攝出3 280 像素?2 464 像素的靜態(tài)圖像,其接口電路如圖4 所示。
圖4 樹(shù)莓派攝像頭接口電路圖Fig.4 Raspberry Pi camera interface circuit diagram
樹(shù)莓派與攝像頭的連接線采用了柔性扁平電纜(FFC),一種用PET 絕緣材料和極薄的鍍錫扁平銅線壓合而成的新型數(shù)據(jù)線纜。 具有柔軟、厚度薄、體積小、連接簡(jiǎn)單、拆卸方便、易解決電磁屏蔽等優(yōu)點(diǎn)。很好的解決了連接線體積大,不易彎折等問(wèn)題,給用戶(hù)使用帶來(lái)了極大的便利。
書(shū)簽跳轉(zhuǎn)位置的信息以人臉文件名的方式進(jìn)行儲(chǔ)存。 當(dāng)人臉配對(duì)成功時(shí),書(shū)簽將按照文件名上的字節(jié)數(shù)進(jìn)行跳轉(zhuǎn)。 在用戶(hù)打開(kāi)書(shū)簽時(shí),系統(tǒng)會(huì)先將書(shū)簽按照字節(jié)長(zhǎng)度數(shù)進(jìn)行分頁(yè),并實(shí)時(shí)記錄當(dāng)前的字節(jié)數(shù)。 當(dāng)需要保存書(shū)簽時(shí),儲(chǔ)存當(dāng)前位置的字節(jié)數(shù),并通過(guò)命令行進(jìn)行命名。
書(shū)簽頁(yè)碼以及書(shū)目名稱(chēng)通過(guò)語(yǔ)音的方式讀出。為此,本文在樹(shù)莓派上安裝eSpeak 開(kāi)源軟件,便于將文字轉(zhuǎn)為語(yǔ)音讀出。 其中espeak_txt_chinese 命令是將指定文本中的內(nèi)容通過(guò)eSpeak 軟件語(yǔ)音讀出。 如:使用命令行espeak-vzh"編程",就可以讓樹(shù)莓派讀出中文一詞“編程”。
臉部表情翻頁(yè)是本系統(tǒng)最具特色的功能。 由于Haar 特征值算法將人臉輪廓、眼睛、嘴作為人臉特征的主要依據(jù),當(dāng)人臉發(fā)生一定角度轉(zhuǎn)動(dòng)時(shí),系統(tǒng)將無(wú)法識(shí)別其側(cè)臉,并將其作為一張全新的人臉來(lái)處理。 本系統(tǒng)正是利用了側(cè)臉和正臉人臉識(shí)別結(jié)果的不同,實(shí)現(xiàn)了搖頭翻頁(yè)的功能。 但當(dāng)人臉轉(zhuǎn)動(dòng)角度過(guò)大時(shí),系統(tǒng)將徹底無(wú)法識(shí)別人臉,即超出了測(cè)量范圍,也就不存在翻頁(yè)了。 當(dāng)用戶(hù)閱讀時(shí),系統(tǒng)攝像頭將處于實(shí)時(shí)檢測(cè)的模式中,當(dāng)側(cè)臉被檢測(cè)到時(shí),就意味著翻頁(yè)指令運(yùn)行。 以此來(lái)實(shí)現(xiàn)搖頭翻頁(yè)功能。
(1)驗(yàn)證環(huán)境: 樹(shù)莓派3B+為核心控制器,并在SD 卡預(yù)先儲(chǔ)存人臉識(shí)別數(shù)據(jù)庫(kù)(真人模型數(shù)據(jù))及電子書(shū)籍。
(2)驗(yàn)證過(guò)程:
①使用樹(shù)莓派上攝像頭的拍攝,用以捕捉人臉信息。
②對(duì)照片信息進(jìn)行數(shù)字化處理,再將其與數(shù)據(jù)庫(kù)信息進(jìn)行對(duì)比。
③對(duì)比信息正確時(shí),在樹(shù)莓派的LCD 屏上顯示該用戶(hù)信息(已閱讀書(shū)目、書(shū)簽位置等),同時(shí)跳轉(zhuǎn)到該頁(yè)面。 對(duì)比無(wú)此人時(shí),新建人臉信息。
④對(duì)比完成后,使用語(yǔ)音模塊對(duì)結(jié)果經(jīng)行播報(bào)。正確時(shí)樹(shù)莓派控制語(yǔ)音模塊說(shuō)出書(shū)名與頁(yè)碼。
⑤使用樹(shù)莓派攝像頭,儲(chǔ)存?zhèn)饶樥掌?拍攝多組,多角度側(cè)臉照片以提高成功率。
⑥轉(zhuǎn)頭并還原至正臉位置,觀察是否翻頁(yè)成功。翻頁(yè)效果如圖5 所示。
(3)驗(yàn)證結(jié)果:經(jīng)過(guò)反復(fù)測(cè)試,正臉正確識(shí)別率高達(dá)95%以上,語(yǔ)音播報(bào)功能運(yùn)行良好,書(shū)簽功能正常進(jìn)行。 由于受樹(shù)莓派本身性能限制,人臉識(shí)別實(shí)時(shí)檢測(cè)時(shí)有較大延遲,搖頭翻頁(yè)功能實(shí)現(xiàn)效果一般。 當(dāng)兩張人臉在同一攝像頭畫(huà)面中出現(xiàn)時(shí),系統(tǒng)發(fā)生錯(cuò)誤識(shí)別等情況。
圖5 書(shū)本翻頁(yè)效果圖Fig.5 Book turning page renderings
本項(xiàng)目的靈感來(lái)源于人臉識(shí)別的興起,從視覺(jué)感知層面,對(duì)日常生活中的設(shè)備進(jìn)行智能化的設(shè)計(jì),很好地滿足了現(xiàn)代人對(duì)于快捷、保密性良好的電子閱讀設(shè)備的需求。 目前系統(tǒng)還有較大的提升空間,如當(dāng)儲(chǔ)存大量人臉模型時(shí),整個(gè)嵌入式的系統(tǒng)識(shí)別率還有待提高,與其他設(shè)備如何兼容等等問(wèn)題。