#PE110. 人脸识别模拟

人脸识别模拟

问题描述

随着人工智能技术的快速发展,人脸识别已经成为现代智能安防系统的核心技术。小曲所在的科技公司研发了一款基于人脸识别的智能门禁系统,现在需要对系统的核心功能进行测试和演示。

系统简介:

该系统通过人脸特征进行身份识别,内置一个初始的用户数据库,包含部分已注册用户的人脸信息。系统提供完整的管理功能,包括查看用户、新增注册、身份验证和删除用户等操作。

管理功能说明:

  • 用户查询功能 - 查看当前系统中所有已注册用户及其对应的人脸特征
  • 新增用户功能 - 添加新用户的人脸信息,系统会自动检测用户名和人脸特征是否已存在
  • 身份验证功能 - 输入人脸特征进行识别验证,通过则"开门",失败则"拒绝"
  • 用户删除功能 - 删除指定用户的人脸信息
  • 系统退出功能 - 结束管理系统运行

初始数据: 系统预设了2个已注册用户: user1 对应人脸特征 face1 user2 对应人脸特征 face2

任务要求:

你需要模拟系统管理员,通过菜单选择不同操作指令,测试系统的各项功能是否正常工作。

部分代码:

# 智能门禁系统人脸识别模拟
# 初始化已注册人脸用户
faces = {
    "user1": "face1",
    "user2": "face2"
}
while True:
    # 显示菜单
    print("选择操作(1-5):")
    print("1.显示用户")
    print("2.添加用户")
    print("3.验证人脸")
    print("4.删除用户")
    print("5.退出程序")

    c = input("输入选择:")
    if c == "1":  # 显示所有用户
        print(f"当前用户:{faces}")  
    elif _______:  # 添加新用户
        user = input("用户名:") 
        face = input("人脸特征:")
        if user in faces.keys():   # 检查用户名是否已存在
            print("用户已存在")
        elif face in faces.values(): # 检查人脸是否已存在
            print("人脸已存在")
        else:
            ________________
            print("添加成功")
    elif c == "3":  # 验证人脸
        facen = input("输入人脸特征:")
        if ______________:
            print("识别成功开门")
        else:
            print("识别失败关门")
    elif c == "4":  # 删除用户
        user = input("输入删除的用户名:")
        if user in faces.keys():
            ______________
            print("删除成功")
        else:
            print("用户不存在")
    elif c == "5": # 退出程序
        print("退出程序")
        ______
    else:
        print("输入错误")
    
    print()  # 空行分隔


输入格式

根据菜单提示,输入对应的数字指令(1-5),然后根据指令要求输入相应内容。

输出格式

系统会根据你的操作显示相应的结果反馈。

1
2
user3
face3
3
face2
4
user1
1
5
选择操作(1-5):
1.显示用户
2.添加用户
3.验证人脸
4.删除用户
5.退出程序
输入选择:1
当前用户:{'user1': 'face1', 'user2': 'face2'}

选择操作(1-5):
1.显示用户
2.添加用户
3.验证人脸
4.删除用户
5.退出程序
输入选择:2
用户名:user3
人脸特征:face3
添加成功

选择操作(1-5):
1.显示用户
2.添加用户
3.验证人脸
4.删除用户
5.退出程序
输入选择:3
输入人脸特征:face2
识别成功开门

选择操作(1-5):
1.显示用户
2.添加用户
3.验证人脸
4.删除用户
5.退出程序
输入选择:4
输入删除的用户名:user1
删除成功

选择操作(1-5):
1.显示用户
2.添加用户
3.验证人脸
4.删除用户
5.退出程序
输入选择:1
当前用户:{'user2': 'face2', 'user3': 'face3'}

选择操作(1-5):
1.显示用户
2.添加用户
3.验证人脸
4.删除用户
5.退出程序
输入选择:5
退出程序