人脸识别

Android园区部队人脸识别源码门禁项目讲解

2019-06-19  本文已影响0人  Softboys

Android园区部队人脸识别源码门禁项目讲解

这边搞人脸识别相关项目有一段时间,今天抽时间讲述一个经典的人脸识别项目:部队人脸识别门禁系统。

大家都知道部队对人员管理安全要求是相当高的,很多保密的技术保密的资料都是受到严格的管控,这个时候人脸识别结合门禁可以起到非常严密的保护作用。 首先人脸是不可盗用的,如果用之前的刷卡门禁,发现事情可以推脱说卡丢失了! 人脸是不可能丢的,如果丢了就是人命啊~。  

本项目运行界面:分为考勤,人脸登记,考勤记录。人脸管理。设置。

项目源码 Demo地址:https://pan.baidu.com/s/1i5oXoJ7

接下来将一下概述,让大家了解一下这个技术:

国内外人脸识别技术已经成熟,我们探讨将签到(考勤或者门禁)与人脸识别有效地结合成一种新型的签到方式,即人脸识别签到系统,这将极大地加快签到速度并且减少人力成本,缩短签到时间。让签到更加的方便快捷和安全有效。

本人通过从概述到原理再到源码讲述,请耐心看完哦。

对于人脸识别技术,目前算法分为2种,

一种是在线人脸识别,比如face++ 百度AI等,通过传递人脸图片给服务器处理返回接口。

这种方式优点:服务器算法强大,识别准确率高一些,支持大规模人脸数据,比如能支持10万人对比。

这种方式缺点:慢,需要良好网络环境,我们知道相机预览帧率一般都在30fps 以上,而目前5G时代还未到来,所以一般用户使用网络下,处理一张图片都需要至少1s以上,那么如果需要在手机上实时展示处理结果几乎不太可能。

另外一种是离线人脸识别, 人脸对比算法在本地,人脸数据也在本地,完全是离线环境都可以正常运行。随着安卓手机运算性能提高,算法已经足够有效,处理一张人脸图片速度可以做到100ms以下,一个字就是快。对于应用上,完全的离线人脸签到考勤适合小公司,类似以前那种指纹机,需要通过SD卡导出,但是一般安卓手机也有网络,实际上可以通过网络同步方式同步到服务器。

这种方式优点: 识别快,体验好,无网络可以正常使用。

这种方式缺点:由于移动设备性能优先,目前建议最大人脸数量在5000人左右,无法达到在线大规模计算10万数量级别。因为人员多人脸匹配算法需要挨个匹配那么时间花费就不少了。虽然可以开多线程匹配但是移动CPU性能毕竟有限,长时间运算可能发热发烫最终宕机。另外如果是完全离线话换一台设备就需要重新录入人脸,无法将这一台人脸数据同步到另外一台上面。

由于上述2中方式都存在各种各样问题,这里面提到一种新方式可以解决上面中存在的部分问题,一般项目都是采取在线数据+离线识别 这种方式,这种方式太机智了,将员工人脸数据保存在服务器,在考勤机上面同步下服务器中的人脸数据,在考勤机上面进行人脸识别,最终将人脸考勤记录上传到服务器。

了解到了项目的需求,我们先设计好数据库:

表名字段信息

学生信息表jy_st_info学生姓名jy_st_name

性别jy_st_sex

学籍号jy_st_num_id

照片jy_st_photo

人脸特征数据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

设备创建时间jy_equip_create_time

设备是否有效jy_equip_copyright

设备上次访问时间jy_equip_lastrequest_time

备注jy_equip_remarks

表名字段信息

分组表jy_group_info分组名jy_group_name

分组编号jy_group_no

分组idjy_group_id

父级分组idjy_group_pid

备注jy_group_remarks

表名字段信息

分组 X 设备信息  关联表jy_group_equip分组IDjy_group_id

设备IDjy_equip_id

下发版本jy_group_equip_version

表名字段信息

分组 X 人员  关联表jy_group_st分组IDjy_group_id

人员IDjy_st_num_id

表名字段信息

广告表jy_ad_info广告名称jy_ad_name

广告IDjy_ad_id

广告类型jy_ad_type

广告标题jy_ad_title

广告内容链接jy_ad_content

广告播放时间单位sjy_ad_showtime

表名字段信息

广告表X分组 关联表jy_group_ad分组IDjy_group_id

广告IDjy_ad_id

接着根据需求开发后台,后台无法是数据记录,接口处理。

接下来开始部署系统,部署系统后,这样就可以开发app。

人脸识别考勤系统部署教程

Window系统教程,其他系统类似。

1:服务器部署,

红色部分为必要环境或者版本。

java1.8

mysql-5.7.26-winx64

apache-tomcat-8.5.41

推荐:Navicat Premium 12 用于数据库操作。

首先创建数据库和测试数据,执行 face.sql

成功后如下图:

将服务JyFrontService.zip拷贝到Tomcat ,成功后如下图

配置数据库

找到上面文件并打开,配置数据库和账户密码,这里也可以配置服务器端口。

配置完成后重启Tomcat服务。

验证服务是否正常。

用浏览器打开URL:http://localhost:8080/JyFrontService/hi

发现访问正常,如下图。

到这里服务器配置完成。

客户端APP配置

安装kaoqinwork-oem-release.apk到安卓手机,目前支持Android4.4+

打开运行,目前是测试版本,在首页右下角,点击 数据同步按钮,或者在设置里面点击 数据同步按钮,出现如下界面。

这里可以输入服务器地址,输入完成后,点击设置服务器 按钮用于保持服务器地址。

点击更新人脸数据库可以更新设备对应分组人员。

如果是新设备,访问成功后设备的IMEI号会保存到数据库,请前往给设备下发分组。

如下图 。​

设备首次访问后会出现在设备表里面。

给设备分组,设备绑定 groupid= 5 的分组,

 这样部署完成后就可以测试APP。APP见网盘,前面已经有写,这里不重复。

未完待续!

上一篇下一篇

猜你喜欢

热点阅读