基于OpenCV和Python的人脸识别系统_django
- 开发语言:Python
- 框架:django
- Python版本:python3.7.7
- 数据库:mysql 5.7
- 数据库工具:Navicat11
- 开发软件:PyCharm
系统展示
管理员登录
管理员功能界面
用户管理
公告信息管理
操作日志管理
用户登录界面
用户功能界面
公告信息管理
摘要
本系统为用户而设计制作人脸识别系统,旨在实现人脸识别智能化、现代化管理。本人脸识别管理自动化系统的开发和研制的最终目的是将人脸识别运作模式从手工记录数据转变为网络信息查询管理,从而为现代管理人员的使用提供更多的便利和条件。使人脸识别系统数字化、智能化,是提高工作效率的重要举措。
为了更好地发挥本系统的技术优势,根据人脸识别系统的需求,本文尝试以B/S经典设计模式中的Django框架,python语言为基础,通过必要的编码处理、人脸识别系统整体框架、功能服务多样化和有效性的高级经验和技术实现方法,旨在完成一个快速、高效、便捷的人脸识别系统。本系统以用户与管理员两类人,作为目标用户,其中用户主要功能包含用户的注册与登录,查询公告信息等,对账号相关信息的修改;管理员主要功能包括了用户信息、公告信息、操作日志等;管理员可以实现最高权限级别的全系统管理。
研究背景
近年来,类似管理类的软件数量正逐渐快速增加,人工的记录和数据统计已经变得不完全能够轻松处理出如此巨量庞大复杂的电子数据[1]。为了能更好快速地实现适应现代化社会要求的高效性,一个利用计算机技术来轻松实现自动化人脸识别管理工作的系统也将随之诞生。基于以上这一点,设计完成了此人脸识别系统,进行规范化管理,方便管理员或用户可以在最短的时间范围内,高效、便捷且准确地去进行对公告信息、操作日志的浏览、查询或修改等一系列操作。
根据我对上述知识的深入了解,浏览国内外相关研究资料文件与数据,查阅大量相关研究文献、书籍以及各类技术资料,对人脸识别系统的用户、数据、需求、特点等多方面内容进行了分析与调研。发现了目前市面上多部分行业还是采用传统的手工记录信息方法进行记录、管理有以下这样方面明显的缺点:信息量大,该相关信息的记录与存储无从下手,且产生大量交互信息,难以及时存档,大量的公告信息、操作日志对管理员来说是很大的管理负担。根据以上诸多原因,人脸识别相关信息的现代化管理需要一个计算机软件来取代传统手工的操作流程来组织、管理这些信息。
关键技术
Python是解释型的脚本语言,在运行过程中,把程序转换为字节码和机器语言,说明性语言的程序在运行之前不必进行编译,而是一个专用的解释器,当被执行时,它都会被翻译,与之对应的还有编译性语言。
同时,这也是一种用于电脑编程的跨平台语言,这是一门将编译、交互和面向对象相结合的脚本语言(script language)。
Django用Python编写,属于开源Web应用程序框架。采用(模型M、视图V和模板t)的框架模式。该框架以比利时吉普赛爵士吉他手詹戈·莱因哈特命名。该架构的主要组件如下:
1.用于创建模型的对象关系映射。
2.最终目标是为用户设计一个完美的管理界面。
3.是目前最流行的URL设计解决方案。
4.模板语言对设计师来说是最友好的。
5.缓存系统。
Vue是一款流行的开源JavaScript框架,用于构建用户界面和单页面应用程序。Vue的核心库只关注视图层,易于上手并且可以与其他库或现有项目轻松整合。
MYSQL数据库运行速度快,安全性能也很高,而且对使用的平台没有任何的限制,所以被广泛应运到系统的开发中。MySQL是一个开源和多线程的关系管理数据库系统,MySQL是开放源代码的数据库,具有跨平台性。
B/S(浏览器/服务器)结构是目前主流的网络化的结构模式,它能够把系统核心功能集中在服务器上面,可以帮助系统开发人员简化操作,便于维护和使用。
系统分析
对系统的可行性分析以及对所有功能需求进行详细的分析,来查看该系统是否具有开发的可能。
系统设计
功能模块设计和数据库设计这两部分内容都有专门的表格和图片表示。
系统实现
本模块主要是使用者可以通过人脸识别系统的首页进入该系统。用户输入正确的账号名和密码,一旦输入信息有错,将在系统显示错误提示,同时严禁系统用户做出其他动作。如果注册信息正确无误,系统就会按照使用者的身份信息做出有关权利的判定,用户进入系统,管理者则进入系统。管理员进入系统主页面,主要功能包括对首页、用户管理、公告信息管理、操作日志管理等进行操作。
用户登录界面,首先双击打开系统,连上网络之后会显示出本系统的登录界面,这是进入系统的第初始页面“登录”,能成功进入到该登录界面则代表系统的开启是成功的,接下来就可以操作本系统所带有的其他所有的功能。用户登录到系统后,用户可以对首页、公告信息管理进行相应操作。
系统测试
本系统首先在本地服务器上进行了安装和测试,之后鉴于对系统的结构和处理方法的充分熟悉和对系统特性的充分了解,对系统进行了白盒测试和黑盒试验。
为了制定出合理的测试计划,根据以下原则开始了测量;任何测试都要追溯到客户需要;当确定了客户使用模型后就要着手制定测试计划,并在编码以前就对整个软件测试工作做出规划和制定;御用Pareto原理,主要对占出了百分之八十九以上的最易于出错的约百分之二十的模板实施了检测,并从小规模开始逐步实施大量检测,范围一般从主要检测单编程模板再到完全集成的模板;同时精心设计了检测方法,尽可能地全面覆盖所有程序逻辑并使其满足要求的能力。
结论
本系统相对于我查阅到的其他人脸识别系统具有如下优点:其功能全面、易于日后程序更新、数据库管理容易、界面友好、操作方便、效率高、安全性好。
本系统在技术层面具有如下优点:第一,用python实现动态页面,使软件系统具备了很好的可维护性和可复用性。其次,在本系统的编写流程中使用的是Django框架,该框架将更有效的把显示功能与逻辑分开,使得模块更易于管理,尤其适用于大型项目的编写。第三,后台使用的MySQL数据库系统,MySQL的数据库系统引擎主要集中在了对XML标准的支持,同时具备可扩充、容易应用和安全性高的优点。