周 揚,熊俊俏
(武漢工程大學 電氣信息學院,湖北 武漢 430205)
隨著無線通信技術和物聯網技術的不斷發展,人們的財產安全和信息安全意識不斷提升,智能家居的理念也已經成為人們關注的熱點問題[1-2]。文獻[3]中介紹的智能鎖系統采用了一種藍牙與FPGA 相結合的技術,經驗證表明該系統的保密性和安全性都有所增強,但存在功耗較大和成本較高的問題;文獻[4]中提出了一種基于LBP 特征和改進Fisher 準則的方法來提取直方圖的特征,得到了較好的效果,但忽略了人臉的局部細微特征。因此,本文采用傳輸速度快、接入方便的Wi-Fi 技術來完成智能鎖的通信,選擇功耗較低且頻段豐富的CC1101芯片來完成數據的收發。并結合多重均勻局部二值模式(Multiple Uniform Local Binary Patterns,MULBP)與二維線性判別分析(Two-dimensional Linear Discriminant Analysis,2DLDA)融合人臉識別算法采集信息進行身份識別,經實測表明該系統實現數據穩定傳輸的同時略微提升了識別的準確率。
智能鎖系統的整體結構主要由門鎖終端、集中器、后臺數據庫服務器和遠程客戶端組成。
智能門鎖的終端節點與集中器組成局域網,它們將人臉識別的信息、門鎖的當前狀態、告警信息等數據上傳到集中器[5-6]。然后集中器通過Wi-Fi 模塊將數據傳輸到后臺的數據庫服務器,人臉信息與數據庫比對通過即完成開鎖,當遇到無法解鎖的情況時系統會將此時的狀態信息發送請求到移動終端供用戶查看,最后客戶端給出響應再返回給后臺服務器。從而建立了一次線程處理業務與客戶端的交互過程。系統整體結構圖如圖1所示。

圖1 系統結構圖
系統的核心處理器采用STM32F103 的單片機芯片[7-8]。該芯片是標準的ARM 結構,擁有16 KB 的SRAM 和512 KB的嵌入式Flash 用于存儲程序和數據,以及多種低功耗模式,可以滿足在任何時間內以最低功耗完成任務的需求。
Wi-Fi 模塊采用ESP8266 串口轉Wi-Fi 無線模塊,主要功能是實現數據的解析和轉發;紅外檢測模塊是通過紅外掃描儀來搜索門鎖外的人體情況;攝像頭部分采用OV7670 攝像頭進行采集,其優點是所占空間較小且工作電壓較低;視頻數據傳輸部分采用上海富瀚公司的FH8610 芯片。該芯片具有較強的圖像處理功能,可實現圖像的顯著增強和色彩校正,進一步提升識別的準確率;系統采用鋰電池的供電方式,并且用專用的USB 接口來完成充電和數據的傳輸;系統內部無線通信模塊采用的是CC1101 射頻芯片,這種芯片的體積小,頻段選擇范圍廣,功耗低。與集中器構成通信鏈路后,可以與后臺數據庫服務器進行信息的交互。門鎖模塊的整體結構如圖2所示。

圖2 門鎖模塊結構圖
CC1101 芯片的無線通信模塊電路圖如圖3 所示。SCLK 為同步時鐘管腳,用來數據的讀取和寫入;CSN 作為芯片選擇管腳只有當其處在低電平的時刻SPI 口才可以完成正常的通信;SO 和SI 分別用于輸出數據和輸入數據;GD02 管腳檢測從STM32 傳輸的數據,當信道中有數據傳輸時,GD02 管腳電平發生跳變;電路中電容C8、C10和電感L2、L3組合在一起構成了低通選頻網絡[9-10],將低頻率的信號與其他頻率完成分離;CC1101 將SI、SO、SCLK 以及CSN 的4 線SPI 接口用于配置和緩沖器數據的讀寫,還可以通過對SI、SCLK、CSN 接口的重新使用來控制無線的主要狀態,如Sleep、IDLE、RX、TX 等。

圖3 無線通信模塊整體電路圖
另外,無線模塊的主要功能是及時地向集中器傳輸數據以及準確接收集中器轉發的數據進行數據處理。CC1101 模塊可以在低功耗的情況下對數據傳輸、緩沖數據和信道評估等功能給予硬件支持,同時其配置的無線喚醒功能允許其收到與自身匹配的數據包時能將CC1101 周期性地從SLEEP 狀態喚醒[11-12],并執行開鎖的命令,不需要MCU 監聽輸入的數據包,從另一方面也降低了功耗。無線通信模塊的工作流程如圖4 所示。

圖4 無線通信模塊工作流程
人臉識別效果的好壞主要取決于所采用的特征算法。局部二值模式是一種描述圖像局部紋理特征的算子,它具有旋轉不變性[13-14]和灰度不變性[15]等優點。原始的LBP 算子是定義在九宮格內,以窗口的中心像素為閾值,把相鄰的8 個像素的灰度值與其進行比較,如果周圍大于中心點的像素值則被標記為1,否則標記為0。這樣8 個點產生的二進制數轉換為十進制后即為窗口中心像素點的LBP 值。但是,傳統的LBP 算子容易受到噪聲的影響以及特征提取方面的限制。所以本文在此基礎上提出了基于MULBP 和二維2DLDA 相結合的算法[16]。在九宮格中,鄰域個數p=8 的情況下,先將中心像素值pc分別與水平方向的每行像素值,豎直方向的每列像素值還有對角線方向的像素值相加求其平均值。這樣做的好處是相較于傳統的LBP 算子不再僅僅考慮鄰域像素值與中心像素值的大小關系,還把每一行、每一列以及對角線的像素值也包含進來。最后將此時得到的平均值再與圖像的灰度均值進行大小比較,所得到的結果更準確地反映了該部分的紋理特征[17]。算法原理圖如圖5所示。

圖5 MULBP 算法原理
2DLDA 則是負責尋找類內樣本與類間樣本之間的差別從而獲得最佳投影矩陣的識別分類法[18-19],具體方法是將LDA 在一維空間中的特征提取轉移到二維的矩陣中,線性分析判別的方法如下。
假定m 為樣本類別數目,N 為訓練樣本總數,Ni表示第i 類樣本數,表示圖像分類第i 類中的第j 個樣本,Ui代表第i 類樣本均值矩陣,U 代表總體均值矩陣,Sb代表類間離散度矩陣,Sw代表類內離散度矩陣,由矩陣定義可得:

通過2DLDA 找到投影方向,并利用Fisher 準則函數求取最大結果[20],準則函數定義為:

對J(W)求取極大值,即對W 求偏導即可。

因式(4)分母不能為0,故滿足分子為0。所以最大值求取公式為:

由于Sw為非奇異矩陣,對矩陣直接取特征值降序排列,獲得前n 個非零特征值對應的特征向量即得到最優投影矩陣W=[W1,W1,…,Wn]。又由于2DLDA 對光照敏感存在局部信息描述不完整的問題,故將上述兩種算法結合剛好達到優勢互補的效果。
為了方便用戶能夠實時地查看門鎖周圍的情況,將軟件系統設計分為手機客戶端和服務器端兩個部分。客戶端可以控制集中器與后臺服務器相連接,從而建立了與所有門鎖的連接。服務器端則響應并處理客戶端發來的業務需求以及存儲門鎖狀態和用戶信息。首先進行門鎖的添加,先在Wi-Fi 列表選擇一個Wi-Fi 輸入密碼并連接,配置完成后即完成鎖的添加。門鎖添加過程如圖6所示。

圖6 門鎖添加過程
在完成設備的添加后,用戶首先需要完善自己的個人信息,待用戶填寫完畢后,系統會將用戶填寫的信息發送至后臺數據庫服務器進行存儲和驗證。門鎖開啟的流程為:系統首先通過紅外檢測識別到門外的人員,而后對人臉信息進行采集,采集結果與后臺數據庫的用戶信息進行比對,如果已完成注冊則開啟門鎖。人臉開鎖成功如圖7 所示。

圖7 人臉開鎖
而如果是尚未注冊的陌生人系統則會向手機客戶端發出警告,并調用此時的監控給用戶,若用戶認可則需輸入遠程開鎖密碼,服務器端收到允許開鎖的指令后完成此次開鎖。遠程開鎖界面如圖8 所示。

圖8 遠程開鎖
對于無線傳輸而言,數據傳輸的可靠性也是很重要的一項衡量指標,只有數據傳輸可靠才能夠確保網絡的穩定。因此,先要對丟包率進行量化分析,采用一端發送,另一端接收的方法,最后計算沒有被接收的數據幀占總數據幀的比例,即為丟包率。為測得丟包率,將通信環境定于室內,模塊兩端的發射功率都設置為10 dbm,固定發送47 B 數據,數據循環發送次數為1 000 次,根據測試誤碼率的結果來確定最佳的通信距離。經過多次測量,結果如表1 所示。從表中數據可以看出,傳輸距離在20 m 以內時可以實現數據的穩定傳輸。另外,針對改進前后不同樣本的算法識別率進行了測試,最后根據識別效果可以看出效果較傳統算法與文獻[4]的準確率有略微的提升,測試結果如表2 所示。

表1 誤碼率測試結果

表2 算法識別率對比 (%)
4 結論
本文提出了一種將Wi-Fi 技術和人臉識別技術相結合的智能鎖系統的設計方案,詳細說明了系統的硬件選擇和軟件環境搭建,提出的融合算法增強了識別的準確率。系統結合了遠程客戶端,用戶可以通過客戶端查看門鎖的實時情況,可以有效地實現智能監控的目的,有著較為廣闊的市場前景。然而該系統仍存在待優化的地方,如信號的繞射能力較差、客戶端界面有待優化等。