邱爽 劉俊伯
摘要:本文制作了一個以STM32F429單片機為核心控制器件,以0V5640攝像頭為圖像采集設(shè)備,以7寸RGB屏作為顯示設(shè)備,繼電器連接電磁鎖為硬件執(zhí)行部分的人臉識別門禁系統(tǒng),通過檢測,系統(tǒng)功能穩(wěn)定,且相對易于實現(xiàn),具有一定的使用價值。
關(guān)鍵詞:人臉識別;STM32;門禁設(shè)計
1引言
隨著科技的快速發(fā)展和人們物質(zhì)生活水平的不斷提高,人們對居住方面的要求也越來越高,門禁控制作為保護家庭財產(chǎn)與安全的重要一環(huán),越來越受到人們的關(guān)注與重視。
傳統(tǒng)的刷卡與密碼式門禁系統(tǒng)因為其易失性、較單一性等缺點,逐漸被各種生物技術(shù)取代,其中人臉識別具有非接觸式、安全性能高、識別率較高等特點,將其引入到門禁系統(tǒng)中,具有廣泛的商業(yè)前景與市場價值,本文將人臉識別技術(shù)與門禁系統(tǒng)相結(jié)合,設(shè)計了一種使用方便,可靠性較高,應(yīng)用范圍廣泛的門禁系統(tǒng)。
2系統(tǒng)總體設(shè)計
以STM32F4系列單片機為微控制器,OV5640攝像頭為圖像采集設(shè)備,繼電器、電磁鎖為執(zhí)行設(shè)備構(gòu)成,總體框圖如下圖1所示
使用時,系統(tǒng)用戶需要先在設(shè)備中
添加需要的人臉模板,再對著采集圖片
信息的攝像頭按鍵進行實時識別,結(jié)果正確時會返回所添加的人臉識別模板編號,并進行開鎖。
3軟件設(shè)計
軟件設(shè)計總體結(jié)構(gòu)框圖2所示
3.1圖像采集
STM32F429先將SCCB總線初始化,然后初試化DCMI接口,將 DCMI接口配置為幀中斷,再由SCCB線對攝像頭的工作參數(shù)進行配置,包括圖像輸出的格式,輸出的大小等。系統(tǒng)初始化的參數(shù)設(shè)置完成之后,自動開啟 DCMI 傳輸獲取人臉圖像數(shù)據(jù),最后微處理器通過DMA將OV5640采集到的人像圖像數(shù)據(jù)傳遞到數(shù)據(jù)緩存區(qū)中,每獲得一幀圖像數(shù)據(jù)后產(chǎn)生中斷操作,系統(tǒng)進入 DCMI 的中斷服務(wù)函數(shù),然后將緩存區(qū)的一幀圖像數(shù)據(jù)發(fā)送出去,實現(xiàn)一幀圖像的采集和發(fā)送。
3.2圖像傳輸
采用的是 I2C協(xié)議實現(xiàn)嵌入式通信。LWIP是開源的輕量級IP協(xié)議,可以只用少量RAM和ROM就可以運行,不以操作系統(tǒng)作為支持依舊可以運行,可以說這是一種嵌入式系統(tǒng)中運用TCP或IP 中最適合的實現(xiàn)運行協(xié)議方式。
3.3圖像顯示與存儲
由于從服務(wù)器發(fā)送到客戶端是實時的,JPEG 靜態(tài)圖像數(shù)據(jù)流可以直接將JPEG 數(shù)據(jù)流顯示和操作,所以客戶端需要通過調(diào)用庫來實現(xiàn),JPEG 數(shù)據(jù)流的顯示:當(dāng)在液晶顯示屏操作界面上點擊KEY_UP(添加新的人臉模板)或者KEY0(識別人臉)后,客戶端開始不斷地接收圖像數(shù)據(jù),在接收到一幅完整的圖像數(shù)據(jù)的JPEG數(shù)據(jù)流后,將數(shù)據(jù)保存在緩存區(qū)中。
在此過程中,以STM32F429芯片的片上內(nèi)存并不足以支撐一張圖片的存儲或者緩存,所以增加了外設(shè)SDCard來提升存儲空間,對于SDCard,STM32提供了兩種讀寫的方式,SPI和SDIO,實驗采用了后者即SDIO模式對SDCard進行讀寫。
3.4人臉識別核心算法
采用了正點原子提供的stm32f429人臉識別庫,
使用方法:
第一步:調(diào)用atk_frec_initialization函數(shù),初始化人臉識別庫
第二步:調(diào)用atk_frec_add_a_face函數(shù),添加人臉模板(如果已經(jīng)有了,可以忽略次步)
第三步:調(diào)用atk_frec_load_data_model函數(shù),加載所有模板到內(nèi)存里面(僅在添加新模板后需要,如沒有添加新模板,則可忽略此步)
第四步:調(diào)用atk_frec_recognition_face函數(shù),獲取識別結(jié)果.
第五步:調(diào)用atk_frec_delete_data函數(shù),可以刪除一個人臉模板
第六步:如果不想再用識別庫,則調(diào)用atk_frec_destroy函數(shù),釋放所有內(nèi)存,結(jié)束人臉識別.
4硬件設(shè)計
本設(shè)計所用到的硬件主要有STM32F429開發(fā)板、OV5640攝像頭、SD卡、電磁鎖、繼電器和7寸RGB屏幕(1024*600),OV5640攝像頭連接單片機STM32F429開發(fā)板的DCMI 接口。圖3為實物圖片。攝像頭采集到的圖片信息以DMA方式把DCMI 接口接收到的信息送到FSMC接口。最后通過FSMC接口再連接到RGB屏(40P的FPC排線連接),收集到的圖像信息再經(jīng)過一系列的處理之后再呈現(xiàn)出真實的圖像效果。
其中電磁鎖功率比較高,由于stm32IO口單獨承受不了電磁鎖的負載,便用到了繼電器,stm32F4需要承載7寸RGB屏和攝像頭,可再為繼電器提供5V電感線圈需要的電壓,但后面連接電磁鎖(功率較大)的電源可根據(jù)具體電磁鎖所需電壓來添加,其中繼電器信號為PB4通用IO口。
5結(jié)束語
本文介紹了基于STM32單片機實現(xiàn)人臉識別門禁系統(tǒng)的設(shè)計及過程,設(shè)計以F4高性能單片機、ov5640攝像頭、繼電器電磁鎖主要模塊實現(xiàn)了人臉識別門禁功能,通過測試,錄入人臉模板的用戶可以通過人臉識別進行開鎖,整個程序代碼采用HAL庫形式編寫,可移植性強,系統(tǒng)兼容性高,在生活中具有一定的使用價值。
參考文獻:
[1]顧思遠.基于STM32的人臉識別門禁系統(tǒng)設(shè)計[A].南京:南京工程學(xué)院,2020
[2]胡慧之.基于STM32的人臉識別門禁系統(tǒng)的設(shè)計[A].無錫:無錫城市職業(yè)技術(shù)學(xué)院,2018
[3]強宇佶.智能家居嵌入式人臉識別門禁系統(tǒng)的設(shè)計與實現(xiàn)[A].桂林:桂林理工大學(xué),2020
[4]張心怡.智能人臉識別考勤系統(tǒng)[A].襄陽:湖北文理學(xué)院物理與電子工程學(xué)院,2019