李紅巖,梁紫璇,趙 峰,黃嘉,張世杰
(西安科技大學(xué) 電氣與控制工程學(xué)院,陜西 西安 710054)
傳統(tǒng)的機(jī)械門鎖開關(guān)復(fù)雜。為了解決這一問題,出現(xiàn)了磁卡鎖和密碼鎖,這在一定程度上方便了人們的生活。然而,隨著這兩種鎖的不斷使用,它們的缺點(diǎn)也暴露了出來—信息容易丟失,安全性低[1]。隨著生物識別技術(shù)的發(fā)展,人臉識別門禁系統(tǒng)應(yīng)運(yùn)而生。門禁系統(tǒng)是指控制口通道的系統(tǒng),其主要功能是防止盜竊和犯罪事件發(fā)生。2020年,新冠疫情在全球爆發(fā),各場所出入口管控力度加大,尤其是無接觸的觀念更加深入人心,智能人臉識別門禁需求急劇增加。這一需求推動了基于人臉識別技術(shù)的智能產(chǎn)品的發(fā)展,人臉識別也將會是智能門禁中的一大亮點(diǎn)和趨勢。本文采用Socket無線通信技術(shù)對門外區(qū)域進(jìn)行無線視頻監(jiān)控,且遇到陌生人臉會自動記錄信息,若遇到暴力開門會啟動報(bào)警系統(tǒng)。本圖像識別智能門禁綜合了傳統(tǒng)的門禁裝置的優(yōu)點(diǎn)并加以優(yōu)化,主要監(jiān)測目標(biāo)有人臉信息、手勢信息、人的體表溫度,檢測到信息異常的情況還會自動生成表格進(jìn)行記錄,方便查詢、實(shí)用性高、安全可靠。
本課題設(shè)計(jì)的圖像識別智能門禁由圖像信息采集系統(tǒng)、圖像處理與識別系統(tǒng)、測溫系統(tǒng)、消毒系統(tǒng)和門鎖控制系統(tǒng)組成。圖像信息采集系統(tǒng)主要由光學(xué)系統(tǒng)和圖像采集卡組成,負(fù)責(zé)人臉圖像的采集;圖像處理與識別系統(tǒng)利用圖像處理技術(shù)實(shí)現(xiàn)人臉定位與識別;測溫系統(tǒng)由紅外測溫儀構(gòu)成;門鎖控制系統(tǒng)則由磁力鎖和步進(jìn)電機(jī)構(gòu)成;消毒系統(tǒng)識別人手,并釋放消毒噴霧。其中人臉識別是系統(tǒng)的核心技術(shù),人臉識別對比過程包括人臉識別、預(yù)處理、特征提取、人臉比對,并給出比對結(jié)果[2]。人臉比對結(jié)果是準(zhǔn)入人員時(shí),在疫情防控的重點(diǎn)區(qū)域,要征詢測溫模塊的指令,當(dāng)測溫模塊的測溫值正常,門禁控制器驅(qū)動磁力鎖產(chǎn)生應(yīng)答開門。人臉識別主要環(huán)節(jié)有人臉圖像采集、檢測和識別。攝像模塊將人臉信息成像并采集,對人臉信息進(jìn)行定位識別,并剔除無用的圖像數(shù)據(jù),完成對原始圖像數(shù)據(jù)的灰度校正、降噪除干擾;信息特征提取、匹配與識別是根據(jù)信息特征,利用識別算法進(jìn)行識別和身份確認(rèn)[3-4]。同時(shí)用紅外測溫模塊輔助活體檢測和疫情防控期間的體溫監(jiān)測?;铙w檢測是為了防止不法分子利用業(yè)主的照片進(jìn)門;體溫監(jiān)測在疫情防控期間設(shè)置為工作狀態(tài),平時(shí)可以關(guān)閉。在人臉比對成功后,圖片庫可以適時(shí)更新,避免由于年齡變化引起特征變化較大而不能識別,尤其是兒童和青少年。門禁系統(tǒng)總體組成如圖1所示。
圖1 整體結(jié)構(gòu)框圖
圖像識別門禁包括門禁臺1、刷卡組件3、識別組件5和手勢消毒裝置4。門禁臺1的頂部與識別組件5的底部固定安裝,識別組件5的頂部設(shè)置有攝像頭6,門禁臺1的頂部與手勢消毒裝置4的底部固定連接,門禁臺1的頂部與刷卡組件3的底部固定安裝,門禁臺1的一側(cè)對稱轉(zhuǎn)動連接有轉(zhuǎn)動板2。其立體結(jié)構(gòu)如圖2所示。
圖2 系統(tǒng)立體結(jié)構(gòu)
在本實(shí)施例中,設(shè)置有手勢消毒裝置4,該圖像識別門禁系統(tǒng)是內(nèi)含手勢識別消毒的門禁系統(tǒng)。通過STM32接收人臉檢測結(jié)果并通過紅外測溫系統(tǒng)采集人體體表溫度,以及通過手勢識別系統(tǒng)進(jìn)行手部消毒,提高防疫效果;STM32芯片會結(jié)合采集到的體溫信息、手部消毒信息和避障傳感器傳回來的信息進(jìn)行綜合處理,將通過人員的信息實(shí)時(shí)生成表格,方便查詢,實(shí)用性高、安全可靠,并且對該門禁系統(tǒng)可以遠(yuǎn)程控制,方便遇到特殊或緊急情況時(shí)打開。
圖像信息采集系統(tǒng)由樹莓派和攝像頭構(gòu)成。由12 V可充電航模電池進(jìn)行供電,通過降壓模塊逐級降壓得到系統(tǒng)運(yùn)行的穩(wěn)定電壓。在攝像頭的底部配有舵機(jī)云臺。通過樹莓派GPIO口產(chǎn)生的PWM信號來控制舵機(jī)轉(zhuǎn)動的角度。在舵機(jī)轉(zhuǎn)動中需要的電流電壓過大,直接連接樹莓派會使得樹莓派重啟。為保證系統(tǒng)的穩(wěn)定性,舵機(jī)的供電線由另外一組航模鋰電池提供,樹莓派只是提供PWM信號。同時(shí)為保證PWM信號的準(zhǔn)確性,樹莓派的供電系統(tǒng)應(yīng)與舵機(jī)的供電系統(tǒng)保持共地[5]。
測溫系統(tǒng)主要由MLX90614測溫模塊和ADS1115數(shù)模轉(zhuǎn)化模塊組成。MLX90614具有非接觸、體積小、精度高、成本低等優(yōu)點(diǎn)。通過對物體自身紅外輻射的測量,能準(zhǔn)確地確定其表面溫度,其檢測的溫度信息以模擬量的信息傳輸給ADS1115模塊。ADS1115具有高分辨率(16位)、低電流消耗的特點(diǎn),非常適合在任何基于微處理器的項(xiàng)目中進(jìn)行高分辨率的模數(shù)轉(zhuǎn)換。此模塊可以在2 V至5 V之間的電源和邏輯信號下運(yùn)行,與系統(tǒng)選用的主控制處理器STM32兼容。模塊最多可提供4個單端或2個差分通道,在模塊內(nèi)部,一種可編程增益放大器為小信號提供高達(dá)x16的增益。STM32接收ADS1115模塊轉(zhuǎn)化后的數(shù)字信息,并分析出該時(shí)刻的具體溫度[6]。
門鎖控制系統(tǒng)則由磁力鎖、步進(jìn)電機(jī)和ULN2003驅(qū)動芯片構(gòu)成,由單片機(jī)判斷門禁的狀態(tài)、步進(jìn)電機(jī)來實(shí)現(xiàn)門的開關(guān)。步進(jìn)電機(jī)需要較大的驅(qū)動電流,單片機(jī)的引腳無法輸出滿足步進(jìn)電機(jī)驅(qū)動的電流,故需要ULN2003驅(qū)動芯片來驅(qū)動電機(jī)。ULN2003是高耐壓、大電流復(fù)合晶體管陣列,在5 V的工作電壓下能與TTL和CMOS電路直接相連,可以直接處理原先需要標(biāo)準(zhǔn)邏輯緩沖器來處理的數(shù)據(jù),實(shí)現(xiàn)對于門鎖的精確控制。
本系統(tǒng)的軟件部分分為電腦上位機(jī)處理端、樹莓派視頻信息采集端以及STM32控制端。電腦的程序運(yùn)行在Anaconda上,Python的版本是3.6,主要負(fù)責(zé)接收分析人臉數(shù)據(jù),并將控制結(jié)果傳輸給STM32。樹莓派信息傳輸端主要負(fù)責(zé)收集圖像信息,利用人臉識別算法將視頻中人臉信息進(jìn)行部分裁剪,并通過Socket技術(shù)傳輸給電腦端。STM32端負(fù)責(zé)接收各類信息,并對各個系統(tǒng)做出控制。
系統(tǒng)的人臉識別依靠Face Recognition庫進(jìn)行。Face Recognition是世界上最簡潔的人臉識別庫,可以使用Python和命令行工具提取、識別、操作人臉數(shù)據(jù)[7]。本項(xiàng)目的人臉識別是基于業(yè)內(nèi)領(lǐng)先的C++開源庫 dlib中的深度學(xué)習(xí)模型,采用Labeled Faces in the Wild人臉數(shù)據(jù)集進(jìn)行測試,有高達(dá)99.38%的準(zhǔn)確率。人臉識別實(shí)際上是對人臉進(jìn)行編碼后再去兩兩計(jì)算人臉的相似度,known_image是已知人臉庫的圖像,unknown_image是待檢測的圖像,分別利用face_encodings函數(shù)來映射成一個向量;再利用兩個向量的內(nèi)積來衡量相似度,compare_faces函數(shù)就是根據(jù)閾值確認(rèn)是否是同一人臉。上述函數(shù)都是支持多個人臉計(jì)算的。另外compare_faces中的tolerance參數(shù)是控制閾值的,tolerance值越低越嚴(yán)格,默認(rèn)為0.6。
系統(tǒng)通過Face Recognition庫對于數(shù)據(jù)庫中的人臉進(jìn)行預(yù)處理與特征提取。在監(jiān)測時(shí),系統(tǒng)通過分析用戶每一幀的圖片與數(shù)據(jù)庫中的最大相似度來匹配人臉,并判斷是否為陌生人[8],同時(shí)會將結(jié)果在程序中以布爾變量的形式表達(dá)出來。在寫程序時(shí)只需要判斷布爾值為多少,即可判斷數(shù)據(jù)庫中人臉信息是否與之匹配。當(dāng)系統(tǒng)判斷為陌生人后,會將此人的信息以Excel表格的形式儲存在本地。人臉識別程序流程如圖3所示。
圖3 人臉識別程序流程
系統(tǒng)通過樹莓派連接USB攝像頭來采集數(shù)據(jù),利用OpenCV將原始的視頻信息轉(zhuǎn)化為數(shù)字信息。樹莓派與電腦均處于同一局域網(wǎng)下,故可利用Socket技術(shù)將轉(zhuǎn)化好的數(shù)字信息傳輸至電腦,利用電腦強(qiáng)大的計(jì)算能力來分析對比人臉數(shù)據(jù)庫。
Socket是應(yīng)用層與TCP/IP協(xié)議族通信的中間軟件抽象層,它是一組接口[9]。在設(shè)計(jì)模式中,Socket其實(shí)就是一個門面模式,它把復(fù)雜的TCP/IP協(xié)議族隱藏在Socket接口后面。對用戶來說,一組簡單的接口就是全部,讓Socket去組織數(shù)據(jù),以符合指定的協(xié)議。
Socket對TCP/IP進(jìn)行了一層封裝,然后應(yīng)用程序直接調(diào)用Socket API即可進(jìn)行通信[10]。服務(wù)端需要建立Socket來監(jiān)聽指定的地址,并等待客戶端來連接。而客戶端則需要建立Socket并與服務(wù)端Socket地址進(jìn)行連接。本系統(tǒng)采用樹莓派與電腦構(gòu)成基于Socket的無線網(wǎng)絡(luò)通信系統(tǒng),系統(tǒng)框圖如圖4所示。
圖4 Socket通信系統(tǒng)框圖
本圖像識別智能門禁系統(tǒng)前端以單片機(jī)為中心實(shí)現(xiàn)了身份檢測后的控制與體溫監(jiān)測。借助OpenCV函數(shù)實(shí)現(xiàn)了人臉識別,并且在檢測到門外有異常人臉信息時(shí)會自動生成Excel表格,便于查詢。系統(tǒng)結(jié)合了當(dāng)前社會需要,將紅外測溫、生物識別、手勢消毒集為一體,可以更加智能地篩除異常人員,彌補(bǔ)了傳統(tǒng)門禁中功能單一的不足,提高了門禁的安全性。當(dāng)然,此門禁系統(tǒng)中還存在不足,隨著科學(xué)技術(shù)的發(fā)展門禁系統(tǒng)會更加智能化。