韓培珊,鄭曉君,謝 松,黃翔琪
(廣東外語外貿大學南國商學院計算機學院,廣州 510545)
隨著社會的快速發展和科技不斷進步,人們對生活質量水平的追求越來越高。近年來,來訪安全問題被大多數人忽略,僅僅只有獨居年輕人群體重視。然而疫情爆發后這幾年,由于封閉居所隔離,逐漸出現不法分子冒充防疫人員進行入室搶劫以及對屋主進行不法行為的案例,來訪安全問題逐漸被大眾重視。為了解決疫情下的來訪安全問題,本文提出了一個智慧門禁系統。
智慧門禁系統項目在百度AI開放平臺創建人臉識別應用,獲得AppID、API Key和Secret Key等,并搭建人臉數據庫,用于存放采集到的人臉數據信息。百度人臉識別平臺提供人臉注冊、更新和刪除等功能,將采集和監測到的人臉信息數據實時上傳至后臺巴法云服務器,方便管理員查詢。錄入的人臉信息數據會即時在微信開發者工具上轉變成Base64格式編碼并在小程序顯示人臉詳細信息,同時與人臉庫中的人臉數據信息進行比對,比對結果同步到小程序界面告知用戶來訪者信息。針對可能使用任務圖片識別蒙混軟件的情況,本系統實現了活體檢測、人臉庫與檢測到的人臉比對等功能。
進入百度AI開放平臺右側導航的控制臺-產品服務-人工智能-創建人臉識別應用,應用是調用API服務的基本操作單元,創建成功后點擊“管理應用”,獲取API Key和Secret Key等設備信息,進行接口調用操作及相關配置。用戶需要保存好AppID、API Key和Secret Key,因為它們是程序運行的唯一標識。獲取token用于校驗,因為在調用API時必須在URL中帶上access_token參數。
基于本項目我們選擇Java Http SDK,下載解壓后在桌面創建對應這4個jar文件的項目文件夾,將這4個文件拖入項目文件夾。需要注意,安裝的是AIP不是API。將包解壓執行解壓命令就可以了。
在創建好的人臉識別應用界面中點擊人臉管理,點擊人臉庫名稱,新建一個組,登記好組ID,在編寫代碼的時候要用到,然后點進去創建用戶,添加人臉ID和照片。
本項目人臉識別原理是獲取圖片,將其轉成Base64編碼格式,上傳數據到調用的百度API接口上,實現活體檢測,防止使用人物圖片識別蒙混進入軟件。在確認是活體后,從中截取圖片,調用百度人臉識別接口進行人臉識別,最后將得到的返回結果輸出為JSON格式。下載官方API,導入官方提供的四個工具類。先拍攝照片,然后通過SDK來檢測照片里面的人是誰,如果這個人在人臉庫里面,而且有權限的話,那么就開門,否則不開門。
String auth=getAuth();語句是獲取token地址,該token有一定的有效期,有效期30天左右,需要自行管理,失效后需重新獲取或者更新。
faceSearch(auth);語句是調用人臉庫比對函數,將待檢測的圖片與人臉庫中已有人臉數據進行數據比對。
String accessToken=token;這里僅為了簡化編碼每一次請求都去獲取access_token,線上環境access_token有過期時間,客戶端可自行緩存,過期后重新獲取。請求的圖片需經過Base64編碼,圖片的Base64編碼是指將圖片數據編碼成一串字符串,使用該字符串代替圖像地址。首先得到的是圖片的二進制,然后用Base64格式編碼即可。圖片的base64編碼不包含圖片頭。

圖1 人臉信息識別部分代碼示例
微信小程序(Mini Program)相對于APP,具備無需安裝、無需注冊、開發費用低等優點。基于微信平臺超9億的用戶流量入口以及小程序“用完即走“的理念,同時可以節省用戶的手機空間,成為取代手機APP的最佳選擇。小程序依靠微信平臺,近三年來發展迅速,涉及生活娛樂、醫療交通、健身閱讀等各個領域,但對于實現實時查詢公共場所進出人流量需求的小程序較稀缺。對于高校學生,此類小程序新穎且為日常生活提供便利。對于開發者,小程序開發門檻相對較低,能夠滿足簡單的基礎需求,如查詢、通知、統計、打卡等。
本設計主要使用了小程序云開發的云函數、云存儲和云數據庫三大功能。監測到的人臉數據信息會實時同步在小程序轉變成Base64格式編碼并與上傳至百度智能云人臉庫進行比對,隨后將比對結果發送至小程序界面告知使用者來訪者人臉信息,所有人臉信息數據都會上傳至巴法云服務器,從而保障來訪安全和來訪信息的具體情況。后臺開發者也可以通過巴法云服務器獲取實時數據,從而保障使用者的權益。
所監測到的數據同步到小程序上的誤差時間不會太大。也就是說,不會因為延時太長而導致室內人因為來不及弄清來訪者身份而造成人員傷亡的情況。

圖2 人臉信息錄入成功結果

圖3 人臉信息識別成功結果

圖4 人臉識別結果

圖5 小程序實時數據界面截圖
針對當前新冠疫情爆發下出現的來訪安全問題,本研究設計了基于百度AI開放平臺和小程序的前端技術(WXML+WXSS+JavaScript)與云開發后端技術用于保障來訪安全。通過百度AI開放平臺創建人臉識別應用,獲得AppID、API Key和Secret Key,并搭建人臉庫,用來存放人臉數據。百度人臉識別提供人臉注冊、更新和刪除以及用戶信息查詢,對來訪者自動進行活體檢測,獲取用戶人臉列表,復制、刪除用戶等,實現了用戶通過手機微信端,可以實時查看來訪者信息從而保障疫情時代下來訪安全的設想。