单元四

第14课 录入人脸姓名——特征

任务场景:录入人脸姓名——特征
任务场景:录入人脸姓名——特征

一、任务目标

把检测到的脸登记进人脸库:体验按姓名元组录入,完整程序按序号当名字。

二、我们要学什么

  • 学习要点:人脸录入|特征绑上姓名或序号
  • 本课过关:能完成:说出录入就是把面部特征和姓名(或序号)绑在一起存进 face.db;载入编程体验,指出先清空人脸库,检测到人后按 B1 按张三、李四…依次登记,成功则彩屏显示 ID 和姓名并短声;再运行完整程序,指出不先清空,名字写成当前序号。
  • 示例对齐:编程体验对应 「十学期兴趣课程/学期5/4-2-1 人脸识别-录入人脸姓名」;完整程序对应 「十学期兴趣课程/学期5/4-1-1 人脸识别-录入人脸」。

三、本节要点

本课要认识人脸录入:检测到人之后,按 B1 才登记。重难点是分清两套——编程体验先清空库,名字来自(张三、李四、王五、赵六);完整程序不清空,名字用序号。要点对齐「人脸录入|特征绑上姓名或序号」。

1读场景明确真实任务
2对要点人脸录入|特征绑上姓名或序号
3载入运行官方积木/代码

四、解题思路

任务:对照两种录入。编程体验按姓名表登记;完整程序按序号当名字。请对照彩屏 TFT 和喇叭。

本课主要用到:摄像头;B1 按键;彩屏 TFT;喇叭;人脸库 face.db。

  1. 1创建摄像头和 FaceRecognizer,数据库路径 face.db。
  2. 2编程体验先清空人脸库,准备姓名元组。
  3. 3循环检测;检测到人且按 B1 才 enroll。
  4. 4体验把 mytup[序号] 当姓名,成功才显示 ID 并短声、序号加 1。
  5. 5完整程序不清空;姓名写成 str(序号),按 B1 就显示并加 1。

流程示意

打开人脸库体验先清空并备姓名检测到人再按B1体验按姓名表登记完整用序号当名字

五、图形块功能讲解

下面只列出本课首次出现的 Mixly 图形块(真积木截图)。已在前面课讲过的不再重复;先认新块,再点「载入」对照拖搭。

图形块分类作用本课用法
创建元组
元组用若干项组成不可变序列。编程体验准备(张三、李四、王五、赵六),按序号取姓名。完整程序不用元组。
清空人脸库
板载智能删除全部已登记人脸。编程体验一开始清空 face.db。完整程序不清空。
人脸识别姓名
板载智能返回已登记人脸的名字。simple_run 取 person/name,用来确认画面里已经有人再允许录入。
登记人脸(简易)
板载智能简化流程登记人脸。按 B1 调用 enroll。体验写入元组姓名;完整程序写入序号。
取元组项
元组按位置取值。体验按当前序号取出要绑定的姓名。
格式化文字
文本按模板填入数值或文字。彩屏显示「ID: {} Name:{}」,把编号和姓名(或序号)写在一起。

六、知识点讲解

人脸录入在同意之后,把当前面部特征和一个名字(或序号)绑定,写入人脸库,供后面比对。没按 B1 不会登记。
知识点本课怎么理解
特征与姓名enroll 需要一张脸和一个 name。体验用元组里的中文名;完整程序用序号数字当名字。
何时登记两套都要检测到人(x 为真)并且刚按下 B1。
清空人脸库体验开头 clear_face,从空库开始。完整程序不清空,库里可能已有旧记录。
成功反馈体验只有 ID 为真才显示、发声、加序号;完整程序按 B1 就会显示并加序号。

先看体验彩屏是不是「ID + 张三」这类姓名,再看完整程序是不是序号。

七、编程练习

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

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

八、课堂练习

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

  1. 判断:编程体验会先清空人脸库,按 B1 时按张三、李四…的顺序登记。

  2. 判断:完整程序也会先清空人脸库,并用中文姓名表。

  3. 「人脸录入」绑定的是?

  4. 两套程序都要满足什么才登记?

  5. 编程体验登记成功后彩屏应看到?

九、本节小结

本课认识人脸录入。编程体验清空后按姓名表登记;完整程序不清空,用序号当名字。