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

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 用于数据库操作。

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

成功后如下图:

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

  1. 配置数据库

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

配置完成后重启Tomcat服务。

 

  1. 验证服务是否正常。

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

发现访问正常,如下图。

到这里服务器配置完成。

 

 

客户端APP配置

  1. 安装kaoqinwork-oem-release.apk到安卓手机,目前支持Android4.4+
  2. 打开运行,目前是测试版本,在首页右下角,点击 数据同步按钮,或者在设置里面点击 数据同步按钮,出现如下界面。

 

 

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

 

 

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

 

 

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

如下图 。

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

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

 

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

未完待续!

转载于:https://www.cnblogs.com/softboys/p/11054518.html

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值