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