# Face Recognition Access Control System **Repository Path**: HNF4/face-recognition-access-control-system ## Basic Information - **Project Name**: Face Recognition Access Control System - **Description**: 毕业设计人脸识别门禁系统,具有三个端实现,分别是前端、后端、算法端,使用了Vue、Elementui、基于Java的Springboot和Springcloud,算法层面使用了基于python的opencv框架 - **Primary Language**: Java - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 13 - **Forks**: 3 - **Created**: 2023-02-13 - **Last Updated**: 2025-06-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: Java, Vue, Spring, SpringCloud, Element-UI ## README # 基于人脸识别的小区门禁系统设计与实现Face Recognition Access Control System ## 介绍 基于人脸识别的小区门禁系统设计与实现,用于完成毕业设计。 目前,人脸识别门禁系统已经成为企业、学校和社区等场所的标配设备之一。但是,一些门禁系统存在识别准确率低、响应时间慢、系统可扩展性差等问题。因此,设计并实现一种高效、稳定且可扩展性强的人脸识别门禁系统可以弥补这些门禁系统的缺陷,提升小区安全服务等级,助力小区和社会的平安和谐。 本文采用微服务架构来构建门禁系统,通过将系统分解成多个小型服务实现模块化部署和快速扩展。在微服务架构中,各服务独立并通过 RESTful 接口进行通信,提高了系统的可用性和灵活性。本文实现的系统前端界面利用Vue 技术进行开发,后端服务上,使用基于Spring Boot的Spring Cloud进行微服务划分开发,并采用人脸识别服务的 OpenCV 搭配 Flask 实现 python 的 web 开发,持久层上使用 MySql 数据库,从而实现了前后端分离开发,提高系统的开发效率和安全性。 本文设计并实现的基于微服务架构的人脸识别门禁系统具有多小区物业人脸识别门禁管理功能,支持分级权限管理和个性化行为分析功能。系统具有较高的准确性和稳定性,可以满足大规模应用场景的需求,同时具有良好的可扩展性和灵活性,为人脸识别门禁系统的实际应用提供了一种新的思路和解决方案。 ## 基础环境 ### 后端相关技术 #### Spring Boot 技术 本文实现的系统后端框架搭建是基于 Spring Boot 的技术。传统的项目搭建采用了SSM(Spring+SpringMVC+MyBatis)技术栈。而Spring Boot框架抛弃繁琐配置的优点,简化了项目的开发流程,便于开发者快速上手、落地部署。 #### Spring Cloud Alibaba 技术 本文实现的系统后台基于Spring Boot开发基础上,为了对于Spring Boot开发出来的微服务结构进行统一的管理操作,使用了相关的微服务管理框架——Spring Cloud Alibaba。 #### MyBatis-Plus 技术 文实现的系统在数据交互层上使用的框架是主流的MyBatis-Plus。传统型项目使用的持久化框架,在市场上使用比较多的有Hibernate、MyBatis等。MyBatis-Plus是基于MyBatis的增强工具包,它简化了MyBatis的开发,提供了很多实用的功能和特性,可以大大提高开发效率和代码质量。 ### 前端相关技术 #### Vue技术 本文实现的系统前端采用基于 Vue 框架进行开发。对于系统中的后台管理系统,及其相关前端界面利用 Vue 的技术进行,便于利用第三方库和既有项目的整合与开发,利用其模块化特性整合 js(JavaScript)、css(Cascading Style Sheets)、html(Hyper Text Markup Language)三者资源,利用组件化复用现有的UI结构、样式、行为,进行前端代码的节约,利用Vue自带的自动化特性,自动化构、自动部署、自动化测试,进行前端项目的快速开发。 ### 算法端相关技术 #### OpenCV 技术 本文实现的系统中人脸识别技术框架采用了Python版本的OpenCV进行开发。对于人脸识别算法的开发,先使用已有用户人脸进行人脸检测、人脸预处理、训练,训练出模型参数,再通过对应设备获取的人脸检测图片进行人脸识别的基本过程。其中对于人脸检测的技术,使用了了其中基于Haar特征(Papageorgiou C P, Oren M, Poggio T,1998)的脸部检测器。对于人脸模型数据训练和识别使用的是基于LBPH(Local Binary PatternsHistograms)局部二进制编码直方图特征模型(Ojala T, Pietikainen M, Maenpaa T,2002)。 #### 软件架构 本文实现系统的流程操作主要是针对物业管理人员例如安保人员、和小区业主等开发的,所以为了设计并且完善好本系统的功能,应采取相关措施。首先是要了解相关摄像头设备参数和拍取照片格式,采取相关的人脸识别数据进行对应的人脸模型训练,也就是人脸识别算法部分的实现。其次就是对于功能实现模块的设计,对于目前小区门禁系统的结构了解,划分对应的模块数据,例如用户管理、人脸数据管理和门禁出入记录管理等,主要是人脸识别功能沿用或拓展实现。最后是对于高可用代码接口进行复用设计,便以后期新的物业小区接入拓展,同时要进行产品模块化微服务的设计,优化产品的使用和用户的体验,推动小区安全系数的增长。 ![系统架构图](./picture/1.jpg) #### 数据库介绍 本文实现系统采用的是 MySQL8,对于系统中每个实体间的关系,将采用 E-R 图进行描述。其中数据库的数据表主要是分为两个部分,一是用户权限部分的实体表,另一部分是业务实际使用的实体表,分别用不同前缀进行表示。下图图3就是本系统基于人脸识别的小区门禁系统的E-R图 ![Alt text](./picture/2.jpg) ## 补充 其中毕业论文报告,存放在 `/report`下可以进行查看 **项目尚未写完,由于毕业期间,考研和实习,所以本项目还有3成的工作尚未完成,只是搭建了基础框架**