Android园区部队人脸识别源码门禁项目讲解
Android園區(qū)部隊人臉識別源碼門禁項目講解
這邊搞人臉識別相關項目有一段時間,今天抽時間講述一個經典的人臉識別項目:部隊人臉識別門禁系統(tǒng)。
大家都知道部隊對人員管理安全要求是相當高的,很多保密的技術保密的資料都是受到嚴格的管控,這個時候人臉識別結合門禁可以起到非常嚴密的保護作用。 首先人臉是不可盜用的,如果用之前的刷卡門禁,發(fā)現(xiàn)事情可以推脫說卡丟失了! 人臉是不可能丟的,如果丟了就是人命啊~。??
本項目運行界面:分為考勤,人臉登記,考勤記錄。人臉管理。設置。
項目源碼 Demo地址:https://pan.baidu.com/s/1i5oXoJ7
?
接下來將一下概述,讓大家了解一下這個技術:
國內外人臉識別技術已經成熟,我們探討將簽到(考勤或者門禁)與人臉識別有效地結合成一種新型的簽到方式,即人臉識別簽到系統(tǒng),這將極大地加快簽到速度并且減少人力成本,縮短簽到時間。讓簽到更加的方便快捷和安全有效。
本人通過從概述到原理再到源碼講述,請耐心看完哦。
對于人臉識別技術,目前算法分為2種,
一種是在線人臉識別,比如face++ 百度AI等,通過傳遞人臉圖片給服務器處理返回接口。
這種方式優(yōu)點:服務器算法強大,識別準確率高一些,支持大規(guī)模人臉數(shù)據(jù),比如能支持10萬人對比。
這種方式缺點:慢,需要良好網絡環(huán)境,我們知道相機預覽幀率一般都在30fps 以上,而目前5G時代還未到來,所以一般用戶使用網絡下,處理一張圖片都需要至少1s以上,那么如果需要在手機上實時展示處理結果幾乎不太可能。
另外一種是離線人臉識別,?人臉對比算法在本地,人臉數(shù)據(jù)也在本地,完全是離線環(huán)境都可以正常運行。隨著安卓手機運算性能提高,算法已經足夠有效,處理一張人臉圖片速度可以做到100ms以下,一個字就是快。對于應用上,完全的離線人臉簽到考勤適合小公司,類似以前那種指紋機,需要通過SD卡導出,但是一般安卓手機也有網絡,實際上可以通過網絡同步方式同步到服務器。
這種方式優(yōu)點: 識別快,體驗好,無網絡可以正常使用。
這種方式缺點:由于移動設備性能優(yōu)先,目前建議最大人臉數(shù)量在5000人左右,無法達到在線大規(guī)模計算10萬數(shù)量級別。因為人員多人臉匹配算法需要挨個匹配那么時間花費就不少了。雖然可以開多線程匹配但是移動CPU性能畢竟有限,長時間運算可能發(fā)熱發(fā)燙最終宕機。另外如果是完全離線話換一臺設備就需要重新錄入人臉,無法將這一臺人臉數(shù)據(jù)同步到另外一臺上面。
由于上述2中方式都存在各種各樣問題,這里面提到一種新方式可以解決上面中存在的部分問題,一般項目都是采取?在線數(shù)據(jù)+離線識別?這種方式,這種方式太機智了,將員工人臉數(shù)據(jù)保存在服務器,在考勤機上面同步下服務器中的人臉數(shù)據(jù),在考勤機上面進行人臉識別,最終將人臉考勤記錄上傳到服務器。
了解到了項目的需求,我們先設計好數(shù)據(jù)庫:
| ? | |||
| 表名 | 字段信息 | ||
| 學生信息表 | jy_st_info | 學生姓名 | jy_st_name |
| 性別 | jy_st_sex | ||
| 學籍號 | jy_st_num_id | ||
| 照片 | jy_st_photo | ||
| 人臉特征數(shù)據(jù) | jy_st_feature | ||
| 人員類型 | jy_st_type | ||
| 人員有效期 | jy_st_endtime | ||
| 備注 | jy_st_remarks | ||
| 表名 | 字段信息 | ||
| 考勤信息 | jy_att_info | 考勤設備編號 | jy_equip_id |
| 學生學籍號 | jy_st_num_id | ||
| 考勤記錄時間 | jy_att_rec_time | ||
| 備注 | jy_att_remarks | ||
| 表名 | 字段信息 | ||
| 考勤設備信息 | jy_equip_info | 設備名稱 | jy_equip_name |
| 設備編號 | jy_equip_id | ||
| 設備創(chuàng)建時間 | jy_equip_create_time | ||
| 設備是否有效 | jy_equip_copyright | ||
| 設備上次訪問時間 | jy_equip_lastrequest_time | ||
| 備注 | jy_equip_remarks | ||
| ? | ? | ? | ? |
| 表名 | 字段信息 | ||
| 分組表 | jy_group_info | 分組名 | jy_group_name |
| 分組編號 | jy_group_no | ||
| 分組id | jy_group_id | ||
| 父級分組id | jy_group_pid | ||
| 備注 | jy_group_remarks | ||
| ? | ? | ? | ? |
| 表名 | 字段信息 | ||
| 分組 X 設備信息? 關聯(lián)表 | jy_group_equip | 分組ID | jy_group_id |
| 設備ID | jy_equip_id | ||
| 下發(fā)版本 | jy_group_equip_version | ||
| ? | ? | ? | ? |
| 表名 | 字段信息 | ||
| 分組 X 人員? 關聯(lián)表 | jy_group_st | 分組ID | jy_group_id |
| 人員ID | jy_st_num_id | ||
| ? | ? | ? | ? |
| 表名 | 字段信息 | ||
| 廣告表 | jy_ad_info | 廣告名稱 | jy_ad_name |
| 廣告ID | jy_ad_id | ||
| 廣告類型 | jy_ad_type | ||
| 廣告標題 | jy_ad_title | ||
| 廣告內容鏈接 | jy_ad_content | ||
| ? | ? | 廣告播放時間單位s | jy_ad_showtime |
| 表名 | 字段信息 | ||
| 廣告表X分組 關聯(lián)表 | jy_group_ad | 分組ID | jy_group_id |
| 廣告ID | jy_ad_id | ||
?
接著根據(jù)需求開發(fā)后臺,后臺無法是數(shù)據(jù)記錄,接口處理。
接下來開始部署系統(tǒng),部署系統(tǒng)后,這樣就可以開發(fā)app。
人臉識別考勤系統(tǒng)部署教程
Window系統(tǒng)教程,其他系統(tǒng)類似。
1:服務器部署,
紅色部分為必要環(huán)境或者版本。
?? java1.8
mysql-5.7.26-winx64
?????????? apache-tomcat-8.5.41
???? ?
推薦:Navicat Premium 12 用于數(shù)據(jù)庫操作。
成功后如下圖:
找到上面文件并打開,配置數(shù)據(jù)庫和賬戶密碼,這里也可以配置服務器端口。
配置完成后重啟Tomcat服務。
?
用瀏覽器打開URL: http://localhost:8080/JyFrontService/hi
發(fā)現(xiàn)訪問正常,如下圖。
到這里服務器配置完成。
?
?
客戶端APP配置
?
?
這里可以輸入服務器地址,輸入完成后,點擊設置服務器 按鈕用于保持服務器地址。
?
?
點擊更新人臉數(shù)據(jù)庫可以更新設備對應分組人員。
?
?
如果是新設備,訪問成功后設備的IMEI號會保存到數(shù)據(jù)庫,請前往給設備下發(fā)分組。
如下圖 。
設備首次訪問后會出現(xiàn)在設備表里面。
給設備分組,設備綁定 groupid= 5 的分組,
?
?這樣部署完成后就可以測試APP。APP見網盤,前面已經有寫,這里不重復。
未完待續(xù)!
轉載于:https://www.cnblogs.com/softboys/p/11054518.html
總結
以上是生活随笔為你收集整理的Android园区部队人脸识别源码门禁项目讲解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: js将字符串中所有反斜杠\替换成正斜杠/
- 下一篇: springboot+jpa+mybat