单元四

第15课 识别人脸姓名——身份确认

任务场景:识别人脸姓名——身份确认
任务场景:识别人脸姓名——身份确认

一、任务目标

用人脸识别比对库里的特征:体验把比对结果写到彩屏,完整程序还能按 B2 清空人脸库。

二、我们要学什么

  • 学习要点:人脸识别|比对后给出姓名
  • 本课过关:能完成:说出人脸识别是把当前脸和人脸库比对,对上了才给出姓名;载入编程体验,指出检测到人就在彩屏显示识别结果 x,按 B1 仍可按张三、李四…继续登记;再运行完整程序,指出按 B2 会清空人脸库并显示「删除人脸成功」,按 B1 则用序号当名字登记。
  • 示例对齐:编程体验对应 十学期兴趣课程/学期5/4-2-2 人脸识别-识别人脸姓名.mix;完整程序对应 十学期兴趣课程/学期5/4-1-2 人脸识别-删除人脸.mix。

三、本节要点

本课要认识人脸识别:先录入,再比对,屏上才可能出现姓名。重难点是分清两套——编程体验循环里会显示比对结果,并按姓名表补录;完整程序不把 x 写到屏上,改为 B2 清空库、B1 用序号登记。要点对齐「人脸识别|比对后给出姓名」。

1读场景明确真实任务
2对要点人脸识别|比对后给出姓名
3载入运行官方积木/代码

四、解题思路

任务:对照识别和清库。编程体验把比对结果写到彩屏,按 B1 继续按姓名表登记;完整程序按 B2 清空人脸库,按 B1 用序号登记。请对照彩屏 TFT 和喇叭。

本课主要用到:摄像头;彩屏 TFT;B1、B2 按键(完整程序用 B2);喇叭;人脸库 face.db。

  1. 1打开 FaceRecognizer,数据库路径 face.db。
  2. 2编程体验先清空人脸库,准备姓名元组。
  3. 3体验检测到人就在彩屏显示识别结果 x。
  4. 4体验按 B1 按张三、李四…登记,成功则显示 ID 并短声。
  5. 5完整程序按 B2 清空库;按 B1 用序号当名字登记。

流程示意

打开人脸库体验先清空备姓名体验屏上显示比对结果体验B1按姓名登记完整B2清库B1登序号

五、图形块功能讲解

本课用到的 Mixly 图形块均已在前面的课讲过。请直接对照编程练习搭积木;若有遗忘,回到该积木首次出现的课页复习。

六、知识点讲解

人脸识别把当前面部特征和人脸库里已保存的记录比对,对上了才给出姓名。先录入,再识别;比对结果也可能错。
知识点本课怎么理解
比对结果simple_run 得到的 x 就是这次比对给出的名字。体验检测到人就把 x 写到彩屏正中。
继续录入体验按 B1 仍可 enroll,名字来自(张三、李四、王五、赵六),成功才显示 ID 并短声。
清空人脸库完整程序按 B2 调用 clear_face,彩屏显示「删除人脸成功」,喇叭用较低的音调 165。
完整怎么登记完整程序检测到人后按 B1,把序号当成名字写入;循环里不把比对结果 x 写到屏上。

先看体验彩屏是不是比对出来的姓名,再按完整程序的 B2 看「删除人脸成功」。

七、编程练习

点「载入」打开 MixVM(board=sant_design)。默认图形化积木;起步程序与积木优先来自 MixGo Sant「十学期兴趣课程/学期5」。语音/视觉在仿真中可能需真机或按键近似;在 Mixly 工具栏点「运行 / 停止」。请先读本页「四、解题思路」与「五、图形块功能讲解」,再点载入。

官方示例:4-2-2 人脸识别-识别人脸姓名.mix。载入后运行。

八、课堂练习

先完成两道正误判断,再做其余题目;选出后点「检查」。

  1. 判断:编程体验检测到人时,会把识别结果 x 显示在彩屏上。

  2. 判断:完整程序循环里也会把比对结果 x 写到彩屏正中。

  3. 「人脸识别」给出姓名的前提是?

  4. 完整程序按 B2 时应看到/听到?

  5. 编程体验按 B1 登记时,名字来自?

九、本节小结

本课认识人脸识别。编程体验把比对结果写到彩屏,并可按姓名表补录;完整程序按 B2 清空人脸库,按 B1 用序号登记。