3384浏览
查看: 3384|回复: 0

[K10教程] 【行空板K10基础入门教程】第8课:K10人脸识别-AI校园门卫

[复制链接]
本帖最后由 zoey不种土豆 于 2025-1-3 15:53 编辑

Hi,欢迎各位来到行空板K10的第八课!随着人工智能的发展,在我们的日常生活中,人脸识别已经处处可见,在校园安全领域,AI 技术的应用也日益增多。今天,我们将尝试利用我们的行空板 K10,设计一个 AI 校园门卫,守护我们的校园安全。
【行空板K10基础入门教程】第8课:K10人脸识别-AI校园门卫图30
【行空板K10基础入门教程】第8课:K10人脸识别-AI校园门卫图1


任务目标

利用行空板 K10 的人脸检测功能设计一个 AI 校园门卫,识别不同校园访客身份,并作出对应的反馈。
【行空板K10基础入门教程】第8课:K10人脸识别-AI校园门卫图2

知识目标
1、 了解人脸识别技术的基本原理
2、 掌握行空板 K10 学习、识别与忘记人脸的方法
3、 掌握行空板 K10 实现人脸识别的程序

材料清单
硬件清单:
【行空板K10基础入门教程】第8课:K10人脸识别-AI校园门卫图3

软件使用:Mind+编程软件
Mind+编程软件
1.软件压缩包下载:
* 网页下载:https://download3.dfrobot.com.cn.zip
* 百度网盘下载: https://pan.baidu.com 提取码: zxdt
* 夸克网盘下载

2. 将压缩包解压,注意解压过程中关闭杀毒软件,解压后文件夹路径不含中文,解压后文件夹路径不宜过长
3.打开解压后的文件夹,找到 Mind+.exe,双击打开
4.若编译任何代码都报错,建议在解压时将所有后台的杀毒软件退出,将解压出的文件夹放到 C 盘根目录,文件夹的名字改为"win-ia32-unpacked20241012"。文件夹中的 exe 文件,不可直接拖到桌面,要右键-发送到桌面快捷方式。

软件基础使用
1、 打开 Mind+,切换到上传模式
【行空板K10基础入门教程】第8课:K10人脸识别-AI校园门卫图4

2、 加载行空板 K10
基于前面的操作,只需要点击“扩展库”,找到“官方库”下的“行空板”模块点击完成添加,点击返回后,就可以在“指令区”找到行空板 K10,完成行空板 K10 加载。
【行空板K10基础入门教程】第8课:K10人脸识别-AI校园门卫图5

3、连接行空板 K10
首先,你需要通过 USB 连接线将行空板 K10 连接到计算机
【行空板K10基础入门教程】第8课:K10人脸识别-AI校园门卫图6

然后,点击连接设备后,点击 COM7-UNIHIKER K10 进行连接。
【行空板K10基础入门教程】第8课:K10人脸识别-AI校园门卫图7

注:不同行空板 K10 的设备名称可能不同,但都是以 K10 结尾。

动手实践
接下来一起动手完成今天的课程任务吧。我们将从人脸学习开始,逐步掌握如何在行空板 K10 上识别不同的人脸,并对不同身份的角色做出对应的反馈。
任务一:学习人脸
这一部分我们要通过摄像头学习不同人脸,获得人脸 ID,模拟 AI 门卫人脸录入环节。
任务二:识别人脸
这一部分我们要根据前面学习的人脸,识别摄像头中出现的人脸,并根据识别结果,做出对应的反馈,模拟 AI 门卫识别的环节。
任务三:忘记人脸
这一部分,我们学习如何忘记学习过的人脸,模拟 AI 门卫更新人脸库。

任务一:学习人脸
1、 硬件搭建
确认使用 USB 连接线将行空板 K10 连接到计算机,需要在 P0 引脚接入舵机,模拟门禁闸机。
【行空板K10基础入门教程】第8课:K10人脸识别-AI校园门卫图8

2、 软件准备
确认已打开 Mind+,在 Python 图形化模式下出现预设代码,成功加载行空板。接下来就可以编写项目程序了。
【行空板K10基础入门教程】第8课:K10人脸识别-AI校园门卫图9

3、 编写程序
STEP1:调用人脸检测指令
我们需要先使用指令 显示摄像头画面 指令,在行空板 K10 屏幕上显示摄像头画面。
【行空板K10基础入门教程】第8课:K10人脸识别-AI校园门卫图10

开启摄像头之后,我们找到 切换为人脸检测模式 指令,将摄像头切换为人脸检测的模式。
【行空板K10基础入门教程】第8课:K10人脸识别-AI校园门卫图11

STEP2:学习人脸
我们需要使用一个变量“学习人脸”来表示是否要进行人脸学习,初始值为 0。当值为 1 时,表示进行人脸学习,当值为 0 且检测到人脸时,表示进行人脸识别,可见如下流程图。
【行空板K10基础入门教程】第8课:K10人脸识别-AI校园门卫图12

行空板 K10 已经为我们封装好了 学习人脸 指令的积木模块,位于人工智能模块下,将其拖拽到脚本区中,即可进行人脸的学习。
【行空板K10基础入门教程】第8课:K10人脸识别-AI校园门卫图13

为了能够对“学习人脸”变量进行控制,我们使用事件回调函数,当按键 A 按下时 赋值变量“学习人脸”为 1,进行人脸学习,同时亮起白色的灯。等待 2 秒之后,学习完成,将其值变为 0,关闭灯光,并提示“已完****脸学习”。这样,我们就完成了对是否学习人脸的条件判断。识别人脸函数,将在下面的教程进行学习。
【行空板K10基础入门教程】第8课:K10人脸识别-AI校园门卫图14

4、 程序执行
STEP1:检查并保证行空板 K10 已连接 Mind+,即在“菜单栏”部分显示 IP;
【行空板K10基础入门教程】第8课:K10人脸识别-AI校园门卫图15

STEP2:点击界面右上方的上传到设备按钮;
【行空板K10基础入门教程】第8课:K10人脸识别-AI校园门卫图16

STEP3:运行程序,出现摄像头画面,当按下 A 键的时候,RGB 灯亮黄灯, 学习人脸,两秒后,灯光关闭,提示已完****脸学习。
【行空板K10基础入门教程】第8课:K10人脸识别-AI校园门卫图17

任务二:识别人脸
在上一个任务,我们已经完成了学习与识别人脸的条件判断,也学会了进行人脸学习。在这一个任务当中,我们需要实现“人脸识别”函数,即识别人脸,并对识别结果做出相对应的反馈。
1、 编写程序
STEP1:识别人脸
在行空板 K10 中,提供了识别人脸的指令,我们可以使用 识别人脸 指令,对人脸进行识别,等待人脸识别完成之后,使用 获取到人脸识别的 ID 指令,将人脸 ID 存储在变量“ID”中,并在行空板屏幕上显示识别到的人脸 ID。
【行空板K10基础入门教程】第8课:K10人脸识别-AI校园门卫图18
注:关于识别人脸指令,详见知识园地。

STEP2:设置反馈动作
对人脸进行识别,如果人脸还没有学习过,那么 RGB 灯会亮红灯,并提示“对不起,您没有通行权限”,行空板屏幕会显示人脸 ID 为-1,同时,舵机模拟的闸机会保持关闭状态,两秒之后,关闭 RGB 灯光。
如果识别为已经学习过的人脸,那么 RGB 灯会亮绿灯,并提示“亲爱的同学,欢迎回到学校”,行空板屏幕会显示人脸 ID 为 1,同时,舵机模拟的闸机会先抬起,两秒之后再放下,并关闭 RGB 灯光。相关的程序指令如下所示。
【行空板K10基础入门教程】第8课:K10人脸识别-AI校园门卫图19

STEP3:区分角色欢迎语
在学校,除了学生之外,还有老师、校长等其他角色,人脸识别之后的欢迎语应该是不同的。因此,我们针对不同的角色设置不同的欢迎语。以识别到的人脸的 ID 作为区分,“1”为学生,“2”为老师,“3”为校长,对应的欢迎语句如下。
【行空板K10基础入门教程】第8课:K10人脸识别-AI校园门卫图20

使用条件判断语句,针对不同的角色 ID,设置不同的欢迎语,相关的程序设置如下。
【行空板K10基础入门教程】第8课:K10人脸识别-AI校园门卫图21

2、程序运行
STEP1:连接行空板 K10
STEP2:点击界面右上方的“上传到设备”按钮
STEP3:对人脸进行识别,如果识别到的人脸未学习过,则亮红灯,发出警告语,闸机保持关闭;如果识别到的人脸已经学习过,则亮绿灯,发出欢迎语,闸机打开。
【行空板K10基础入门教程】第8课:K10人脸识别-AI校园门卫图22

任务三:忘记人脸
1、 编写程序
我们使用事件回调函数,来完成“忘记人脸”事件。当按键 B 按下时,使用 忘记全部人脸 ID 指令,忘记全部人脸,同时亮起蓝色的指示灯。等待 1 秒之后,关闭灯光,。这样,我们就完成了忘记人脸,相关的程序指令如下所示。
【行空板K10基础入门教程】第8课:K10人脸识别-AI校园门卫图23

2、 运行程序
点击上传到设备,,按下 B 键之后,亮蓝灯 1 秒,然后熄灭,再拿之前学习过的人脸进行检测,人脸 ID显示为-1,说明已经成功忘记学习过的人脸。
【行空板K10基础入门教程】第8课:K10人脸识别-AI校园门卫图24

AI 校园门卫完整程序如下图所示:

【行空板K10基础入门教程】第8课:K10人脸识别-AI校园门卫图25

完整功能演示如下图所示:
【行空板K10基础入门教程】第8课:K10人脸识别-AI校园门卫图26

知识园地
1、 什么是人脸识别
人脸识别,是基于人的脸部特征信息进行身份识别的一种生物识别技术。用摄像机或摄像头采集含有人脸的图像或视频流,并自动在图像中检测和跟踪人脸,进而对检测到的人脸进行脸部识别的一系列相关技术,通常也叫做人像识别、面部识别。简单来说,人脸识别就是对人脸图像进行判断,并识别出其对应人的过程。它解决的是“这是谁的脸”问题。

人脸识别一般包括如下四个环节:
(1)人脸检测:是在图像中定位人脸区域的过程。(也就是关心是否是人脸)
(2)人脸预处理:调整人脸图像,使其看起来更加清楚。
(3)采集和学习人脸:采集检测到并经过预处理的人脸图,然后学习记住它们。
(4)人脸识别:在采集学习过的人脸中查找哪一个人脸与要识别的人脸最类似。

其中,前三个环节是为最终第四步进行人脸识别作的铺垫。在设计程序进行人脸识别时我们要先对检测到并经过预处理的人脸进行采集得到一个人脸图像集;之后对这些图像集进行学习将其训练成一个人脸模型;最后在识别时,再实时采集图像数据并输入到生成的人脸模型中,输出得到一个人脸结果。

2、学习人脸指令
【行空板K10基础入门教程】第8课:K10人脸识别-AI校园门卫图27

3、识别人脸指令
【行空板K10基础入门教程】第8课:K10人脸识别-AI校园门卫图28

4、忘记人脸指令
【行空板K10基础入门教程】第8课:K10人脸识别-AI校园门卫图29

本文程序和相关素材下载:下载附件第8课 K10人脸识别-AI校园门卫.rar

延伸阅读:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4 备案 沪公网安备31011502402448

© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail