# 软件开发综合实训-人脸特征识别系统 **Repository Path**: xu-ruijian/home ## Basic Information - **Project Name**: 软件开发综合实训-人脸特征识别系统 - **Description**: 人脸特征识别 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-02-29 - **Last Updated**: 2026-03-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 软件开发综合实训-人脸特征识别系统(性别,年龄,种族) #### 项目背景 - 1.人脸特征识别技术在人工智能、医疗健康、社会管理等领域有广泛应用前景。通过分析人脸的性别、年龄和种族等特征,可以为相关应用提供有价值的数据支持。 - 2.该系统可以为智能家居、医疗健康、社会管理等领域提供人脸特征分析的支持,为相关应用的发展提供技术支撑。 - 3.本项目旨在利用Python语言开发一个简单高效的人脸特征识别系统,能够准确识别输入图像中人物的性别、年龄和种族信息。 #### 使用说明 + 1.下载本仓库 ``` git clone https://gitee.com/xu-ruijian/home.git ``` 或者 ``` 直接下载zip压缩包 ``` + 2.配置环境 + 2.1将仓库自带的myenv文件夹创建为自己的Anaconda的虚拟环境 + (1)文件夹路径: ![](./MarkDownPic/FileSearch.png) + (2)在Anaconda Prompt中输入: ![](./MarkDownPic/Anaconda.png) ``` conda create --name 新虚拟环境名字 --clone myenv文件夹路径 ``` + (3)在Vscode中打开仓库文件夹,选择myenv环境下 ![](./MarkDownPic/VscodeMyenv.png) + 2.2机房调试 + (1)Anaconda中添加清华源 ```python #在Prompt命令行中 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/ conda config --set show_channel_urls yes#通道地址 ``` #### 功能需求 + **人脸检测**:系统能够检测图像中的人脸。 + **特征识别**:系统能够识别人脸并进行预测年龄,性别,种族。 + **实时识别**:系统能够实时进行特征识别并给出结果。 + **用户登录**:用户可以登录或注册自己的账号。 #### 开发环境 + 1.使用**python**语言:版本==**3.10.13**。 + 2.开发平台:**Vscode**。(编译环境是**Anaconda下的python**,具体环境库在文件夹myenv中) + 3.人脸数据集来源(UTKFace数据集中的一部分): + 3.1[Face Data By kaggle](https://www.kaggle.com/datasets/yapwh1208/face-data?resource=download)。 + 3.2一共大约9600张。 + 3.3部分图片样例(文件名:年龄_性别(0:男,1:女)): ![](/MarkDownPic/PicSamples.png) + 3.4每个图片的尺寸为200像素*200像素。 #### 技术选型 + **人脸检测**:Opencv。 + **人脸识别**:Keras多输出卷积神经网络。 + **界面开发**:tkinter。 #### 数据流程 + **数据分析**:对图像数据集进行**可视化分析**,**是否合理**。 + **数据预处理**:为了将数据输入到**Keras 多输出模型**中,需要创建一个辅助对象来作为数据集的数据生成器。这将通过生成批量数据来完成,这些数据将用于为我们的多输出模型提供图像及其标签。 + **特征提取**:提取人脸图像的特征向量。 + **人脸匹配**:通过比对特征向量进行人脸识别和匹配。 + **结果展示**:展示识别结果,显示匹配结果。 #### 详细设计 + 1.数据集分析:[Analyse Dataset](./CODEMD/Analyse%20Dataset.md) + 1.1种族饼图 ![](./PIC/种族饼图.png) + 1.2性别饼图 ![](./PIC/性别饼图.png) + 1.3年龄分段饼图 ![](./PIC/年龄分段饼图.png) + 1.4年龄直方图 ![](./PIC/年龄直方图.png) + 2.数据预处理:[Data Preprocessing](./CODEMD/Data%20Preprocessing.md) + 3.建立模型:[Train Model](./CODEMD/Train%20Model.md) + 4.模型测试: ![](MarkDownPic/FunctionTest1.png) ![](MarkDownPic/FunctionTest2.png) + 5.摄像头拍照: ![](MarkDownPic/camera.png) + 5.登录注册: + 5.1通过python内置模块pickle保存用户数据 + 5.2功能实现 + 登录界面: ![](MarkDownPic/login.png) + 注册界面: ![](MarkDownPic/signup.png)