单元四

第13课 人脸识别-录入人脸

任务场景:人脸识别-录入人脸
任务场景:人脸识别-录入人脸

一、任务目标

把面部特征按名单依次录入,屏上显示姓名。

二、我们要学什么

  • 学习要点:录入人脸|按 B1 把当前脸和姓名绑在一起
  • 本课过关:能完成:说出入录人脸就是检测到脸后按 B1 登记姓名;载入编程体验,指出姓名按元组顺序取,登记后彩屏显示这个姓名;再运行完整程序,指出登记时嘀一声,并且序号必须小于元组长度才登记。
  • 示例对齐:编程体验对应 「4-1-1 人脸识别-录入人脸」;完整程序对应 「4-1-2 人脸识别-录入改进」。

三、本节要点

本课要利用人脸识别认识录入人脸:先清空人脸库,再按顺序绑定姓名。重难点是分清两套——编程体验按 B1 就登记;完整程序还要序号未超出,并嘀一声。要点对齐「录入人脸|按 B1 把当前脸和姓名绑在一起」。

1读场景按名单把一张张脸录入人脸库
2对要点录入人脸|按 B1 把当前脸和姓名绑在一起
3载入运行十学期兴趣课程积木/代码

四、解题思路

任务:利用人脸识别,用两套程序认识录入人脸(须征得同意)。编程体验按 B1 按元组顺序登记;完整程序加上嘀一声和长度限制。请对照彩屏上的姓名。

本课主要用到:摄像头;彩屏 TFT;按键 B1;蜂鸣器(完整程序)。

  1. 1利用人脸识别,检测到脸后按 B1 登记。
  2. 2准备姓名元组,序号从 0 起。
  3. 3创建人脸识别并清空人脸库。
  4. 4检测到脸就画红框。按 B1 用当前姓名登记;完整还要序号小于长度并嘀一声。
  5. 5完成补全与从头编写,并对照现象。

流程示意

准备姓名元组清空人脸库检测到脸画红框按B1登记当前姓名完整限制长度并嘀一声完成补全与从头编写并对照现象

五、图形块功能讲解

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

图形块分类作用本课用法
创建元组
元组用若干项组成不可变序列。姓名元组:傅骞、张三、李四、王五、赵六、田七。
人脸识别初始化
板载智能启用人脸识别功能。创建 FaceRecognizer,数据库路径 face.db。
清空人脸库
板载智能删除全部已登记人脸。开始时 clear_face,再按顺序登记。
登记新人脸
板载智能把当前人脸登记到库。按 B1 用当前帧和 mytup[序号] 登记,validate=1。
取元组项
元组按位置取值。按序号取出当前要登记的姓名。
并且/或者
逻辑组合多个条件。完整:B1 刚按下并且序号小于元组长度,才登记。
元组长度
元组元素个数。完整用来限制序号,避免超出姓名列表。

六、知识点讲解

录入人脸把当前面部和姓名绑定保存。须征得同意。完整程序用元组长度限制登记次数。

先弄清:先检测到脸再按 B1;完整还有长度限制。再进编程练习对照姓名。

七、编程练习

点「载入」打开 MixVM(board=sant_design)。默认图形化积木;起步程序与积木均来自 MixGo SANT 十学期兴趣课程/学期A。若题目带外设 design,载入时会自动导入接线。在 Mixly 工具栏点「运行 / 停止」,「检查」做关键字核对。请先读本页「四、解题思路」与「五、图形块功能讲解」,再点载入。

十学期兴趣课程:4-1-1 人脸识别-录入人脸.mix。载入后运行。

八、课堂练习

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

  1. 判断:编程体验一开始会清空人脸库,按 B1 按元组顺序登记姓名。

  2. 判断:完整程序登记时不限制序号,可以一直登记下去。

  3. 本课说的「录入人脸」指的是?

  4. 编程体验和完整程序的主要差别是?

  5. 运行编程体验,检测到脸但还没按 B1 应看到?

九、本节小结

本课认识录入人脸。编程体验按 B1 按元组顺序登记;完整程序登记时嘀一声,且序号不能超出元组长度。