基于Android系统的人脸识别考勤设计,计算机信息管理论文_第1页
基于Android系统的人脸识别考勤设计,计算机信息管理论文_第2页
基于Android系统的人脸识别考勤设计,计算机信息管理论文_第3页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于Android系统的人脸识别考勤设计,计算机信息管理论文本篇论文目录导航:【】【】【】基于Android系统的人脸辨别考勤设计【】【】人脸辨别系统论文范文:基于Android系统的人脸辨别考勤设计内容摘要:将人脸辨别技术与考勤签到结合起来,不仅在高校课堂中使用方便快速,同时能知足稳定性和确定性等专业技术指标的要求。基于这种思想,设计并实现了一个基于Android平台的刷脸考勤系统。通过使用Face++视觉服务平台提供的信息云端处理和存储功能,处理由Android手机摄像头采集到的人脸图像数据,进而实现人脸辨别和学生签到考勤的功能。本文关键词语:Android系统;人脸辨别;课堂考勤;Face++平台;作者简介:仝珊〔1995-〕,女,硕士,研究方向:数据挖掘。;1概述在各大高校课堂中,传统的点名方式不仅统计困难,还浪费时间,也无法解决学生代签的问题。基于上述情况,设计并实现一个刷脸考勤系统,在方便快速的同时也能保证签到信息与出勤学生的唯一对应性。根据MVC软件架构形式和Client/Server体系构造,开发一套基于安卓平台的刷脸签到系统,实现老师对学生信息的采集、管理学生签到信息以及考勤数据的统计等功能。后台服务器采用SSM框架开发,将项目部署在云服务器上,将学生的基本信息及考勤信息存储在服务器端,并为客户端提供WebService.客户端通过Http协议进行网络请求,访问这些服务。上传人脸图片使用Okhttp框架,加载图片使用Glide框架,调用Face++开放平台所提供的在线API,通过人脸信息的采集以及检测,实现学生的刷脸签到。2相关Android开源框架2.1GsonWeb服务器向客户端返回的数据格式是有xml和json,安卓内部解析xml比解析json效率要低。为提高性能,客户端向服务器端请求数据时附加请求json格式的参数,在客户端使用Gson将获得的json字符串转换成Java对象。2.2VolleyAndroid系统中主要提供了两种方式来进行HTTP通信,HttpURLConnection和HttpClient.Volley是把AsyncHttpClient和Universal-Image-Loader的优点集于一身,既能够像AsyncHttpClient一样非常简单地进行HTTP通信,可以以像Universal-Image-Loader一样轻松加载网络上的图片。2.3GlideGlide是Google员工的开源项目,具有获取、解码和展示视频、图片等功能。它灵敏的API使开发者能够将Glide应用在几乎任何网络协议栈里。开创建立Glide的主要目的有两个,〔1〕实现平滑的图片列表滚动效果,〔2〕支持远程图片的获取、大小调整和展示。在系统中Glide加载图片的流程是先判定图片能否在内存缓存,再判定能否在本地缓存,两者都没有才开场网络加载图片。2.4GreenDao是一个为帮助Android开发者操作SQLite数据库的开源项目。固然SQLite数据库是一个轻量级的关系型数据库,但对SQLite的操作需要大量额外工作。GreenDao把Java对象转换成数据库表,对数据进行更新、删除以及查询获取。2.5OkHttpOkHttp首先能够作为Volley底层传输协议,速度更快。其次也是最重要的一点,当上传的图片数量不确定时,若使用Xutils和KJFramework上传图片,后台接受图片的时候就要定义详细准确的图片数量,这样的方式不利于扩展。OkHttp框架在向后台上传照片时使用的是List,只要使用一样的key就能够添加到同一个List,而后台只需要根据这个key不断遍历就行,无论多少张图片都无障碍。3系统具体设计设计是在Android平台下,利用AndroidStudio开发环境下生成App,并在Android4.4及以上版本正常运行的刷脸签到系统。下面对WebService和客户端分别进行介绍,并在客户打量细展开人脸样本采集和辨别的具体介绍。3.1WebServiceWebService的3个主要功能具体介绍如下:3.1.1老师登录客户端通过输入栏获取老师输入的老师编号和密码后,点击登录按钮,客户端会发出一个请求登录的动作,服务端接收后,从数据库判定该老师编号和密码能否匹配,假如匹配成功,返回与该老师相匹配的所有信息,假如匹配失败,则告诉用户老师编号或密码错误,请重新输入。3.1.2通过课程选择查看学生签到记录老师通过客户端查看某节课程考勤记录时,会向服务端发送一个请求获取考勤的动作,服务端接收后,从数据库获取该老师的所有学生和某节课程的已签到的学生,然后通过匹配比照,判定哪些学生已签到,哪些学生未签到,把数据记录如课程信息和学生的签到记录一起返回给客户端,让客户端显示。3.1.3通过课程导出学生签到信息表老师通过客户端查看某节课程考勤记录的时候,会向服务端发送一个请求获取考勤的动作,服务端接收后,从数据库获取该老师的所有学生和某节课程的已签到的学生,通过匹配比照,判定哪些学生已签到,哪些学生未签到,然后使用Apache提供的开源包poi帮助生成一个Excel文件,并把Excel文件存放在服务器返回相应的下载链接,把下载链接返回给客户端,让老师能够在客户端下载Excel表格,方便对学生考勤情况进行操作。本部分代码篇幅较长,删减后的核心代码如下:3.2客户端客户端部分主要分为两大模块:样本采集模块和人脸辨别模块。3.2.1样本采集想在Android终端应用实现人脸搜索,需要自个开创建立人脸样本库,所以样本采集模块必不可少。样本采集模块又能够分为两个小的部分:采集图片和图片上传保存信息。首先进行的是采集图片,然后再进行图片上传,图片上传经过中会通过Toast信息提示用户图片上传的状态。〔1〕采集图片采集图片添加新的人脸的方式有两种,一种是通过本地图库采集,另一种是通过摄像头获取图像。通过本地图库添加,利用Intent打开本地图库,选择好照片后通过setImageBitmap〔〕方式方法显示。然后利用Intent〔MediaStore.ACTION_IMAGE_CAPTURE〕启动Android自带的摄像机应用。同时开创建立一个途径保存这个成员变量,对照片的命名采用日期+界面输入的方式。华而不实获取当下日期采用SimpleDateFormat〔yyyyyMMdd,Locale.CHINA〕方式方法,getExternalFilesDir〔〕是提供的App的私有保存照片的目录,本项目存储在Pictures目录下,最后通过getAbsolutePath〔〕方式方法获取照片的精到准确途径。在照片显示之前需要对图片进行压缩,压缩后通过setImageBitmap〔〕方式方法显示,并将压缩后的图片存入Pictures目录下。〔2〕图片上传图片上传本质是保存人脸特征数据,利用Face++的API,实现保存人脸数据。因而需要在Manifest.xml文件中配置向SD卡写和获取网络状态等相关权限。数据存储使用的是轻量级的SharedPreferences存储类,以键值对key-value的形式存储私有原始数据。相较数据库,SharedPreferences快速轻便,但存数数据类型有限,且本身不能对数据进行存储,需要通过Editor对象实现对数据的写入、修改、存储。原则上SharedPreferences只能保存字符串,能够采用编码的方式将二进制数据转化为字符串,进而实现将人脸图片保存在SharedPreferences文件中。实现人脸数据存储,调用Face++的在线API流程如下:首先调用FaceSetCreatAPI建立一个FaceSet,用于保存人脸数据,一个FaceSet最多可保存1000张人脸。接下来调用DetectAPI进行人脸检测,若检测到人脸则会返回一个face_token;然后调用FaceSetUserIDAPI设置face_token的姓名及学号;最后调用FaceSetAddFaceAPI将face_token添加到之前建立的FaceSet中,添加人脸结束。鉴于代码篇幅较长,下面仅对DetectFaceAPI的调用代码做简单注释。3.2.2人脸辨别人脸辨别模块就是1:N人脸搜索,即搜索出待检测人脸属于人脸库中的哪一个人脸,这部分调用Face++的SearchAPI,进行人脸搜索。通过摄像头提供一个实时预览界面,首先开创建立了CameraPreview类,设置布局,为屏幕设置点击事件,捕捉待检测人脸的照片并开创建立文件保存,通过与人脸库中的人脸进行比对,返回类似度最高的人脸作为输出,并显示在界面。实时预览界面需要实现PreviewCallback这个接口,就会重载onPreviewFrame这个函数,在该函数中自定义AsyncTask类FaceDetectTask类,把复杂的图像处理经过放在后台,也就是在doInBackground里进行数据格式的转换和图片的旋转等操作。这里通过YuvImage和NV21解析数据,解析完后还需要对图像进行旋转等操作,通过matrix.postRotate〔〕方式方法设置相应的旋转角度。对图像处理完后新建文件对图像进行保存,利用getExternalFilesDir〔〕方式方法将照片保存在DOCUMENTS私有目录下,命名利用SimpleDateFormat〔〕的形式。人脸辨别调用SearchAPI,若辨别成功,通过setVisibility〔〕方式方法将属性设置为View.VISIBLE,显示人脸姓名的显示页面。4系统测试4.1学生信息采集功能信息采集页面左下角有两个图标。点击文件夹图标能够进行本地图库相册的导入;点击相机图标则启动手机前置摄像头。对于摄像头拍照获取样本需要在配置文件中声明相应的权限,采集完图像后对图像进行压缩显示。右上角点击上传按钮,就会进行相应的上传图像的操作,将图像传至云端并将图像数据保存在本地。采集操作需要联网,上传成功会提示添加人脸成功,若在未联网状态下进行该操作,会提示需要连接网络.测试结果如此图1采集成功和图2采集失败所示。图1采集成功图2采集失败4.2学生签到功能签到页面主要由一个实时预览界面和最终显示所辨别的信息显示部分两大部分所组成,先实时预览人脸图像,最后将所检测到的人脸以及学号信息进行显示。华而不实实时预览界面通过打开前置摄像头来进行相应的设置,并设置屏幕触摸点击事件,然后通过Toast信息显示正在辨别……与用户进行交互。然后进行人脸搜索,搜索人脸库中哪一个人脸与带检测人脸的数据匹配认可度比拟高,通过在程序中设置返回类似度最高的5张人脸数据,并将类似度最高的人脸数据信息即学号进行显示。假如没有辨别出人脸数据,则会通过Toast信息显示没有检测到人脸,请重新检测.测试结果如此图3检测人脸成功和4未检测到人脸所示。图3检测人脸成功图4未检测到人脸5结束语基于人脸辨别设计并实现一套高校课堂考勤系统,在学生考勤实践中,该

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论