计算机信息管理论文

您当前的位置:学术堂 > 计算机论文 > 计算机信息管理论文 >

人脸识别系统论文(写作参考6篇)

来源:未知 作者:万老师
发布于:2021-09-02 共7543字
  本篇论文快速导航:

展开更多

  人脸识别系统是以人脸识别技术为核心,在基于人的脸部特征,对输入的人脸图像或者视频流。首先判断其是否存在人脸,如果存在人脸,则进一步地给出每个脸的位置、大小和各个主要面部器官的位置信息。下面我们就为大家介绍几篇关于人脸识别系统论文的范文,供给大家参考。

人脸识别系统论文范文第一篇:基于人脸识别的考勤系统的设计与实现

  作者:王维

  作者单位咸阳师范学院计算机学院

  摘要:针对传统考勤系统考勤效率低下等问题,开发了人脸识别考勤系统。该系统使用Linux操作系统,选用Qt Creator 4.3.0开发平台,使用SQLite记录后台数据库相关信息,基于OpenCV,实现了人脸识别、用户基本信息管理、人脸识别打卡、查询考勤记录等功能。经测试,该系统正常运行,较好地完成了考勤工作。

  关键词:人脸识别: OpenCV,考勤系统Qn Ceator

  作者简介:王维(1981-),女,硕士,讲师。研究领域:智能信息处理,嵌入式系统。wangw850@126.com;杨路(1996-),男,本科生。研究领域:软件开发。1913205489@qq.com;

  基金:陕西省教育科学"十三五"规划项目(SGH18H367);咸阳师范学院"青年骨干教师"培养项目(XSYGG201718);

  Abstract:Aiming at low attendance efficiency of traditional attendance systems,this paper proposes to develop a face recognition attendance system.The system adopts the Linux operating system and Qt Creator 4.3.0 development platform,and uses SQLite to record background database related information.Based on the OpenCV library,it realizes functions such as face recognition,user basic information management,face recognition clock-in,and attendance record query.Test results show that the proposed system works normally and the attendance work is well completed.

  Keyword:face recognition; OpenCV; attendance system; Qt Creator;

人脸识别系统.png

  1 引言(Introduction)

  当前考勤管理系统应用十分广泛,主要借助RFID技术、指纹识别技术及人脸识别技术等识别方式。RFID考勤签到是利用RFID自动识别技术、红外对射,及后台管理软件集成的一种考勤签到方案,但该技术不能保证证件与持卡人的绝对统一,识别精度较低[1,2].指纹识别技术通过采集指纹,保存特征码到指纹数据库,进行身份识别时,通过特征匹配算法将采集到的指纹和指纹数据库中的指纹进行匹配,从而进行身份的验证[3].但指纹数据被盗后,会造成信息的丢失[4].而人脸识别技术能够有效地避免以上问题,同时识别精度较高,安全性也较高。因此,人脸识别技术成为考勤系统最为合适的选择。

  人脸识别技术是以生物特征为基础,借助计算机技术,通过对人脸的特征进行分析与确认,实现对不同人脸的精确识别。人脸识别技术包含三个步骤,即人脸图像采集、人脸检测及人脸识别。人脸图像采集是借助摄像头采集人脸的图像,比如静态图像、动态图像,不同位置、不同表情等方面的图像;人脸检测主要用于人脸识别的预处理,即在图像中准确定位人脸的位置和大小,主流的人脸检测算法是采用Adaboost学习算法;人脸识别是将检测到的人脸与已存的人脸库中的人脸进行对比,得出两者的相似度值[5,6].

  2 系统总体设计(Overall system design)

  整个系统使用Linux操作系统,基于Qt Creator 4.3.0开发平台,选用SQLite数据库管理系统,使用OpenCV完成开发工作。其中,OpenCV为开源且跨平台的计算机视觉和机器学习软件库,由C语言和少量的C++语言实现,属于轻量级并且运行效率较高的软件库,能够运行在Windows、Linux等操作系统上,可移植性好。OpenCV向上层提供大量的函数接口,不仅包括C++接口,同时也有Java、Python、C#等许多语言接口,主要功能是实现计算机对图像数据的处理,以及计算机视觉方面的相关算法,在物体识别、图像分割、人脸识别等领域应用广泛[7].

  人脸识别考勤系统的设计与实现的总体功能模块如图1所示。

1.png

  图1 系统功能结构图   

  Fig.1 Structure diagram of system functions

  用户系统功能详细介绍如下:

  (1)实时显示时间:在用户界面实时显示当前的时间,用户可以看到当前打卡的时间是否迟到。

  (2)显示公告信息:根据时间滚动查询公告信息表中的内容,将公告的内容和时间显示在界面中。

  (3)人脸识别打卡:通过采集用户的人脸图像信息打卡成功,并且在考勤信息表中添加用户的考勤信息。

  (4)查询考勤记录:用户可以通过工号查询自己的考勤记录,使得考勤信息透明化。

  管理员系统功能详细介绍如下:

  (1)管理员注册:管理员注册时需要添加自己的基本信息,也要采集面部信息才能完成注册。

  (2)管理员登录:管理员通过账号和人脸识别进入系统,如果两者任意一个与数据库的内容不匹配将登录失败。

  (3)用户信息管理:系统管理员可以对用户基本信息进行录入和面部图像信息采集以及查询、删除用户信息。

  (4)公告信息管理:管理员可以发布、删除或者修改自己权限内所管理的通知内容。

  (5)考勤信息统计:当用户打卡成功后,管理员登录管理员系统进入考勤信息模块,该模块将会展示所有用户的考勤状态,并且以饼状图和数字的形式显示考勤信息。

  (6)管理员信息管理:管理员分为普通管理员和超级管理员,将管理员的权限划分等级,不同的权限处理不同的事务。

  3 系统具体实现(System implementation)

  3.1 用户信息管理模块算法设计

  该模块是在menu.ui界面完成主要工作。信息录入,主要录入姓名、工号、性别等信息。录入好用户信息后点击addbt按钮触发on_addbt_clicked()槽函数,该函数使用insert into语句将用户的基本信息插入用户信息表中。点击select按钮触发on_selectbt_clicked()槽函数,完成对用户信息的查询功能。采集人脸信息时点击openbt按钮,触发on_openbt_clicked()槽函数,完成打开摄像头并截取十张人脸图像信息,并进行处理。点击"开始训练"按钮触发on_starttrainbt_clicked()槽函数,在函数中启动线程完成对采集信息的训练。

  用户信息添加流程图如图2所示。

2.png

  图2 添加用户信息模块流程图

  Fig.2 Flow chart of adding user information module

  3.2 人脸识别打卡模块算法设计

  人脸识别打卡模块先采集人脸照片训练人脸模型,然后进行人脸检测,实现打卡功能,具体算法如下:

  (1)准备人脸数据集:

  通过摄像头采集不同的人脸照片,对照片进行处理,将处理好的照片全部放到指定文件夹中存储。人脸检测模型由OpenCV官方提供,但面部信息识别模型需要自己训练。

  图像采集部分负责采集图像,将来自外部设备的图像转换成可处理的数字图像格式。选用Z301P芯片的USB摄像头,驱动程序采用Linux下常用的通用驱动spca5xx.Linux通过读写设备文件的方式访问和控制USB摄像头,使用统一程序设计接口V4L(Video4Linux)实现视频图像的采集[8].

  (2)数据标记好后,使用OpenCV提供的相关训练模型接口进行模型的训练:

  Ptr

  Model->train(images,labels);//将采集的图片路径和标签传参,训练人脸模型。

  Model->save("MyFaceFisherModel.xml");//训练模型是xml文件,将文件保存起来。

  (3)训练好文件后进行人脸检测。通过摄像头打卡进行人脸信息的采集,框出人脸的位置:

  CascadeClassifier cascade;

  cascade.load("haarcascade_frontalface_alt.xml");//加载人脸检测的模型。

  cascade.detectMultiScale(gray,faces,

  1.1,2,0,CV_HAAR_SCALE_IMAGE,Size(30,30));//检测人脸的方法

  (4)将检测到的人脸信息进行识别:

  Ptr

  modelPCA->load("MyFaceFisherModel.xml");//加载刚才训练好的人脸模型

  predict=model->predict(image);//返回预测的标签

  (5)人脸识别后用户信息插入功能:

  如果五次预测的标签相同,说明识别正确。当识别出正确人脸信息之后使用select语句查询SQLite数据库中考勤信息表的用户信息。如果用户信息可以查询到已经打卡则调用QMessageBox::about(this,"提示",message);显示已经打卡,如果用户信息查询不到信息则调用QMessageBox::about(this,"提示",message)显示打卡成功,并且将打卡信息使用insert into语句插入考勤信息表中。

  人脸识别打卡模块流程图如图3所示。

3.png

  图3 人脸识别打卡模块流程图  

  Fig.3 Flow chart of face recognition clock-in module

  4 系统测试(System testing)

  系统经过测试,能够正常运行。其中,用户信息管理模块实现了普通管理员对自己所管理用户的个人基本信息进行录入,同时实现了对用户面部图像信息的采集和识别模型的训练。单击"打开摄像头"按钮,摄像头获取图像信息,并且输出到屏幕;单击"采集头像"按钮,通过摄像头截取十张人脸图片信息,放入指定文件夹;选择训练生成的文件和训练文件,单击"开始训练",在指定文件夹下生成训练好的模型。用户信息管理模块测试运行界面图如图4所示。

4.png

  图4 用户信息管理模块测试运行界面图

  Fig.4 Test operation interface diagram of user information management module

  用户人脸识别打卡模块的主要功能是打开摄像头采集用户面部图像信息,与之前训练好的模型进行对比,对比成功则将用户基本信息插入考勤信息表中并显示打卡成功。用户人脸识别打卡模块测试运行界面图如图5所示。

 5.png

  图5 用户人脸识别打卡模块测试运行界面图

  Fig.5 Test operation interface diagram of user face recognition clock-in module

  5 结论(Conclusion)

  该系统基于Linux操作系统,使用Qt Creator 4.3.0开发平台进行开发,使用OpenCV当中的人脸识别相关接口实现人脸识别打卡模块,使用SQLite数据库存储和统计系统需要的所有信息。系统能够正常工作,界面交互性好,操作简单,而且具有一定的可移植性,能够完成公司或者学校考勤工作的基本业务流程,更有效地完成了考勤工作,提高了管理者的工作效率。

  参考文献

  [1]张智文。射频识别技术理论与实践[M].北京:中国科学技术出版社, 2008:286-305.

  [2]代懋玥。基于Web和RFID技术的人事考勤管理系统的设计与实现[D].成都:电子科技大学, 2019.

  [3]刘晓莉,刘晓静基于指纹识别技术的考务管理系统[J]办公自动化, 2021(04):61-62.

  [4]季善东指纹识别技术与考勤系统应用研究[D].南京:南京邮电大学, 2017.

  [5]梁文莉。基于独立成分分析的人脸识别算法研究[D].西安:安科技大学, 2012.

  [6]朱伟。 OpenCV图像处理编程实例[M].北京:电子工业出版社, 2016:3-19.

  [7]4I Y,LI Y H,LI H R.Face check in system based on OpenCV[J].International Core Journal of Engineering,2021,7(4):274-278.

  [8]周锦阳,吴哲,宋广基于嵌入式Linux的视频通 信系统设计与实现[J].船舶电子工程, 2019,39(10):101-105.

  文献来源:王维,杨路。基于人脸识别的考勤系统的设计与实现[J].软件工程,2021,24(07):46-48.

  人脸识别系统论文范文第二篇:微服务在人脸识别考勤系统中的应用

  作者:赵磊 王运成 王娟

  作者单位:聊城大学东昌学院

  摘要:本文基于微服务架构开发了一款将分散于不同地方的人脸考勤设备的数据进行汇总然后转发的服务系统,以考勤记录和照片下发为核心功能,结合微服务的快速开发和部署方式,满足了400余台考勤设备的记录汇总和照片下发等需求。论述了微服务的优点以及存在的缺点。

  关键词:微服务架构;分布式;人脸识别考勤系统;

  作者简介:赵磊(1982-),男,山东省聊城市人。硕士学位,讲师。研究方向为网络工程。;王运成(1980-),男,山东省莘县人。硕士学位,教授。研究方向为计算机应用。;王娟(1974-),女,山东省高唐县人。大学本科学历,讲师。研究方向为计算机教学。;

  基金:横向课题:基于人脸识别考勤设备的信息转发服务系统的开发;

  1 微服务概述

  在早期的软件开发中,一般采用一个功能涵盖整个应用场景的单体系统架构,各个业务模块之间耦合紧密,软件发布也是整体进行发布。这种软件开发模式一般能适应业务的发展,软件应用也可以正常运行。但是随着业务的发展,客户需求越来越多,软件功能也越来越多,代码量也会变得越来越大。软件的功能越多,代码越复杂,届时整个软件就会变成一个非常庞大且复杂的单体应用。随之便产生很多问题,比如:

人脸识别系统.png

  (1)打包编译非常耗时;

  (2)代码可维护性变差,修改BUG和增加新功能可能牵一发而动全身,产生一些不可预期的新BUG;

  (3)软件扩展性非常差,可用性风险加大,可能一个BUG导致整个软件无法正常工作。

  为解决上面的问题,产生了一种将整个软件拆分成多个小软件的解决方案,比如一个电商系统,可以拆分成商品应用,订单应用,用户应用,商铺应用等比较小的应用,各个应用各司其职相互结合形成一个完整的电商系统。甚至可以将这些应用再往小拆分,形成更小的应用,以服务的形式对外提供应用,这种比较小的应用便是微服务,这种软件架构方案也被越来越多的开发者采纳。

  2 微服务架构

  微服务与传统的单体架构方案不同,将整个应用拆分成多个相互独立的小应用,每个应用都是一个独立服务,可以单独进行开发、编译、部署、运行和维护。这些功能单一的小应用克服了传统单体式架构系统的缺点,系统部署灵活、可拓展性好、使用稳定,具有一定的实用价值。

  微服务在设计上需要解决一些架构特有的问题,比如:服务数据的来源,服务注册和发现、路由设置、安全性和可靠性。因此一个完整的微服务架构主要分为3层:数据层,服务层,表现层。

  图1:微服务架构

1.png

  图2:系统用例

2.png

  图3:数据流程

3.png

  数据层:为系统管理数据来源和数据,与服务层进行数据交互。

  服务层:实现核心应用,资源上传,统计分析等多种微型服务,各微型服务之间通过协作以一致的形式对外提供特定的功能服务。

  表现层:管理系统业务,确保各层面的功能可以共同协作,并为用户(客户端)提供与系统进行交互的直观、可视化的服务界面。

  微服务架构还需要解决服务之间的相互依赖关系,以及服务注册等问题。提供一个基于微服务的基础平台,保障各服务之间的相互协作,应包含几个部分:注册中心、服务网关、服务容错、安全认证。微服务架构如图1.

  注册中心,架构中新添加一个微服务实例时,微服务会将自己的IP和PORT发送到注册中心进行注册,当API网关需要访问该微服务时,就会去注册中心取得相应微服务的信息,从而实现自动化操作。

  服务网关,解决路由转发、过滤和公共处理,做到统一接入,流量管控,安全防护,业务隔离等功能。

  服务容错,实现故障隔离和修复机制,当某个微服务不可用时,阻止故障蔓延到整个平台,避免造成平台不可用。

  安全认证,用于调用应用的身份验证、授权和访问控制。通过内部的安全策略机制对来自客户端的服务请求进行认证授权,只允许合法的请求通过,阻止非法或越权的请求。

  3 微服务框架下的考勤信息中转系统设计

  本案例所设计的基于人脸识别设备的考勤信息中转系统分为前台服务和后台系统两部分,前台面向分布于各地的400余台考勤终端设备的,后台面向系统管理员的,系统用例如图2所示。

  考勤终端每10秒向系统发送一次心跳包和一次照片下发请求。系统根据心跳请求,标记设备在线状态;同时检查该设备是否有未下发照片,如有未下发照片会向终端下发照片信息;终端设备收到照片信息后,更新本地照片记录,完成后再向系统发送照片更新完成的反馈信息,系统将该照片在该设备上的下发标记修改为已下发。当终端设备有考勤记录时上传考勤记录及考勤照片(后期可根据需求采集体温数据),系统首先根据考勤信息进行判重,如果为有效的考勤记录首先将考勤照片存储到服务器,然后向数据库中插入该考勤记录。同时开启新线程通过POST请求方式向第三方平台转发该考勤记录;然后系统根据平台反馈信息维护考勤记录上传状态,转发成功将该记录标记为已上传,失败则标记为未上传。未上传的考勤记录通过定时任务集中进行上传,确保每条记录都成功上传。为保障系统的可靠性、可扩展性以及高可用性,使某个服务的故障不影响其他服务的运行。系统采用微服务形式向终端提高独立的心跳服务、记录服务和照片下发等服务。

  数据端采用基于No SQL的Mongo DB,性能高,灵活性强,可按月份对考勤记录进行分表,从而极大提升数据端性能。

  服务端基于Flask框架进行开发,Flask是一款基于Python语言的微框架,核心简单而又具有可扩展性,可根据需要添加各种扩展功能,用于开发微服务具有非常高的灵活性。

  考勤记录中转功能涉及到第三方平台,由于第三方平台的不可控因素,在第三方平台不可访问时,整个考勤记录服务会处于堵塞状态,无法为客户端提供记录上传服务。因此考勤记录服务采用多线程方式对考勤记录进行上传。从而保证设备端上传记录服务的稳定性。数据流程见图3.

  系统在部署在Ubuntu 18.04下,前端通过Nginx进行反向代理,通过动静分离技术,将静态请求和动态请求服务区分,已达到系统的高负载要求。

  4 结束语

  设计了一种基于微服务的考勤系统平台,将平台拆分为面向终端设备的心跳服务、记录服务和照片服务以及面向管理员的后台服务等多个相互独立功能专一的微型服务。这些微服务可本别部署于多台服务器或容器中,克服了单体应用的缺点,部署灵活,开发迭代快速,具有很好的拓展性和稳定性。当前系统功能较少不是很完善,后期将继续完善系统功能,如加入体温数据的采集和预警等。

  虽然采用微服务架构有很多好处,但是也带来了其他的问题,如:

  (1)增加系统复杂性,提升运维成本;

  (2)提高了开发门槛,对技术团队要求更高;

  (3)造成一些误区,开发中一些人为微服务而微服务。其实微服务只是软件开发一中架构方式,不是万能方案,某些应用场景下传统的单体架构反而更有优势。

  参考文献

  [1]蒋勇。基于微服务架构的基础设施设计[J]软件,2016,37(5):93-97.

  [2]方意,朱永强,言学庆。微服务架构"下的分布式事务处理[J].计算机应用与软件2019,36(1):152- 158.

  [3]黄嘉诚,董晶基于微服务的智能档案服务系统设计与实现[J]电子设计工程,2018 26(2):26-30.

  [4]张进猛,苏健柴立岩基于微服务架构的信息系统开发技术研究[J]电脑知识与技术,2020, 16(10):273-274.

  [5]欧阳荣彬,王倩宜,龙新征基于微服务的数据服务框架设计[J].华中科技大学学报(自然科学版),2016,44(S1):126- 130.

  [6]徐琛杰周翔,彭鑫,赵文耘面向微服务系统的运行时部署优化[J].计算机应用与软件,2018 ,35(10):85-93.

  [7]李瑛。基于CNN的人脸识别技术在课堂考勤系统中的应用[D]中南民族大学2019.

  [8]赵晗。关于。人脸识别考勤系统在飞行大学生准军事化管理中应用的探讨[J].才智2017,17(17):204-206.

  [9]陈琪基于。人脸识别的学员考勤系统设计与实现[D].电子科技大学,2019.

  [10]刘杰,孙立民深度学习人脸识别技术在考勤系统的应朋[J]智能计算机与应用,2020,010(002):P.17-22.

  [11]陈寿坤郑清兰嵌入式人脸识别考勤系统的设计[J]沈阳工程学院学报自然科学版,2018,14(04):371-375.

  文献来源:赵磊,王运成,王娟。微服务在人脸识别考勤系统中的应用[J].电子技术与软件工程,2021(13):30-31.

返回本篇论文导航
相关内容推荐
相关标签:
返回:计算机信息管理论文