韓培珊,鄭曉君,謝 松,黃翔琪
(廣東外語外貿(mào)大學南國商學院計算機學院,廣州 510545)
隨著社會的快速發(fā)展和科技不斷進步,人們對生活質(zhì)量水平的追求越來越高。近年來,來訪安全問題被大多數(shù)人忽略,僅僅只有獨居年輕人群體重視。然而疫情爆發(fā)后這幾年,由于封閉居所隔離,逐漸出現(xiàn)不法分子冒充防疫人員進行入室搶劫以及對屋主進行不法行為的案例,來訪安全問題逐漸被大眾重視。為了解決疫情下的來訪安全問題,本文提出了一個智慧門禁系統(tǒng)。
智慧門禁系統(tǒng)項目在百度AI開放平臺創(chuàng)建人臉識別應(yīng)用,獲得AppID、API Key和Secret Key等,并搭建人臉數(shù)據(jù)庫,用于存放采集到的人臉數(shù)據(jù)信息。百度人臉識別平臺提供人臉注冊、更新和刪除等功能,將采集和監(jiān)測到的人臉信息數(shù)據(jù)實時上傳至后臺巴法云服務(wù)器,方便管理員查詢。錄入的人臉信息數(shù)據(jù)會即時在微信開發(fā)者工具上轉(zhuǎn)變成Base64格式編碼并在小程序顯示人臉詳細信息,同時與人臉庫中的人臉數(shù)據(jù)信息進行比對,比對結(jié)果同步到小程序界面告知用戶來訪者信息。針對可能使用任務(wù)圖片識別蒙混軟件的情況,本系統(tǒng)實現(xiàn)了活體檢測、人臉庫與檢測到的人臉比對等功能。
進入百度AI開放平臺右側(cè)導航的控制臺-產(chǎn)品服務(wù)-人工智能-創(chuàng)建人臉識別應(yīng)用,應(yīng)用是調(diào)用API服務(wù)的基本操作單元,創(chuàng)建成功后點擊“管理應(yīng)用”,獲取API Key和Secret Key等設(shè)備信息,進行接口調(diào)用操作及相關(guān)配置。用戶需要保存好AppID、API Key和Secret Key,因為它們是程序運行的唯一標識。獲取token用于校驗,因為在調(diào)用API時必須在URL中帶上access_token參數(shù)。
基于本項目我們選擇Java Http SDK,下載解壓后在桌面創(chuàng)建對應(yīng)這4個jar文件的項目文件夾,將這4個文件拖入項目文件夾。需要注意,安裝的是AIP不是API。將包解壓執(zhí)行解壓命令就可以了。
在創(chuàng)建好的人臉識別應(yīng)用界面中點擊人臉管理,點擊人臉庫名稱,新建一個組,登記好組ID,在編寫代碼的時候要用到,然后點進去創(chuàng)建用戶,添加人臉I(yè)D和照片。
本項目人臉識別原理是獲取圖片,將其轉(zhuǎn)成Base64編碼格式,上傳數(shù)據(jù)到調(diào)用的百度API接口上,實現(xiàn)活體檢測,防止使用人物圖片識別蒙混進入軟件。在確認是活體后,從中截取圖片,調(diào)用百度人臉識別接口進行人臉識別,最后將得到的返回結(jié)果輸出為JSON格式。下載官方API,導入官方提供的四個工具類。先拍攝照片,然后通過SDK來檢測照片里面的人是誰,如果這個人在人臉庫里面,而且有權(quán)限的話,那么就開門,否則不開門。
String auth=getAuth();語句是獲取token地址,該token有一定的有效期,有效期30天左右,需要自行管理,失效后需重新獲取或者更新。
faceSearch(auth);語句是調(diào)用人臉庫比對函數(shù),將待檢測的圖片與人臉庫中已有人臉數(shù)據(jù)進行數(shù)據(jù)比對。
String accessToken=token;這里僅為了簡化編碼每一次請求都去獲取access_token,線上環(huán)境access_token有過期時間,客戶端可自行緩存,過期后重新獲取。請求的圖片需經(jīng)過Base64編碼,圖片的Base64編碼是指將圖片數(shù)據(jù)編碼成一串字符串,使用該字符串代替圖像地址。首先得到的是圖片的二進制,然后用Base64格式編碼即可。圖片的base64編碼不包含圖片頭。
圖1 人臉信息識別部分代碼示例
微信小程序(Mini Program)相對于APP,具備無需安裝、無需注冊、開發(fā)費用低等優(yōu)點?;谖⑿牌脚_超9億的用戶流量入口以及小程序“用完即走“的理念,同時可以節(jié)省用戶的手機空間,成為取代手機APP的最佳選擇。小程序依靠微信平臺,近三年來發(fā)展迅速,涉及生活娛樂、醫(yī)療交通、健身閱讀等各個領(lǐng)域,但對于實現(xiàn)實時查詢公共場所進出人流量需求的小程序較稀缺。對于高校學生,此類小程序新穎且為日常生活提供便利。對于開發(fā)者,小程序開發(fā)門檻相對較低,能夠滿足簡單的基礎(chǔ)需求,如查詢、通知、統(tǒng)計、打卡等。
本設(shè)計主要使用了小程序云開發(fā)的云函數(shù)、云存儲和云數(shù)據(jù)庫三大功能。監(jiān)測到的人臉數(shù)據(jù)信息會實時同步在小程序轉(zhuǎn)變成Base64格式編碼并與上傳至百度智能云人臉庫進行比對,隨后將比對結(jié)果發(fā)送至小程序界面告知使用者來訪者人臉信息,所有人臉信息數(shù)據(jù)都會上傳至巴法云服務(wù)器,從而保障來訪安全和來訪信息的具體情況。后臺開發(fā)者也可以通過巴法云服務(wù)器獲取實時數(shù)據(jù),從而保障使用者的權(quán)益。
所監(jiān)測到的數(shù)據(jù)同步到小程序上的誤差時間不會太大。也就是說,不會因為延時太長而導致室內(nèi)人因為來不及弄清來訪者身份而造成人員傷亡的情況。
圖2 人臉信息錄入成功結(jié)果
圖3 人臉信息識別成功結(jié)果
圖4 人臉識別結(jié)果
圖5 小程序?qū)崟r數(shù)據(jù)界面截圖
針對當前新冠疫情爆發(fā)下出現(xiàn)的來訪安全問題,本研究設(shè)計了基于百度AI開放平臺和小程序的前端技術(shù)(WXML+WXSS+JavaScript)與云開發(fā)后端技術(shù)用于保障來訪安全。通過百度AI開放平臺創(chuàng)建人臉識別應(yīng)用,獲得AppID、API Key和Secret Key,并搭建人臉庫,用來存放人臉數(shù)據(jù)。百度人臉識別提供人臉注冊、更新和刪除以及用戶信息查詢,對來訪者自動進行活體檢測,獲取用戶人臉列表,復制、刪除用戶等,實現(xiàn)了用戶通過手機微信端,可以實時查看來訪者信息從而保障疫情時代下來訪安全的設(shè)想。