单元四

第13课 人脸检测——人脸在哪里

任务场景:人脸检测——人脸在哪里
任务场景:人脸检测——人脸在哪里

一、任务目标

用人脸检测数画面里有几张脸,并对照人体检测:检测不等于确认身份。

二、我们要学什么

  • 学习要点:人脸检测|有几张脸,不是谁
  • 本课过关:能完成:说出人脸检测只回答有几张脸;载入编程体验,指出有脸时按个数(最多 4)点彩灯、打印「人脸个数」并发声;再运行完整程序,指出改成人体检测,打印「人数」,点灯和发声规则相同。
  • 示例对齐:编程体验对应 「十学期兴趣课程/学期5/3-4-2 图像识别-人脸检测」;完整程序对应 「十学期兴趣课程/学期5/3-4-1 图像识别-人数检测」。

三、本节要点

本课要分清检测和识别:检测数「有几张」,识别才问「是谁」。重难点是两套模型——编程体验数人脸;完整程序数人。点灯、发声的写法一样。要点对齐「人脸检测|有几张脸,不是谁」。

1读场景明确真实任务
2对要点人脸检测|有几张脸,不是谁
3载入运行官方积木/代码

四、解题思路

任务:对照人脸检测和人体检测。两套都是有目标就点灯、打印、发声;差别在打印的是人脸个数还是人数。请对照彩灯和串口。

本课主要用到:摄像头;板载彩灯;喇叭;串口。

  1. 1创建摄像头。
  2. 2编程体验加载人脸检测,得到人脸个数。
  3. 3有脸则最多点 4 颗彩灯,打印并发声。
  4. 4完整程序改加载人体检测。
  5. 5点灯、发声相同,打印改成「人数」。

流程示意

创建摄像头体验人脸检测点灯打印发声完整改人体检测打印改为人数

五、图形块功能讲解

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

图形块分类作用本课用法
人脸检测数量
板载智能当前画面检测到几张人脸。编程体验得到人脸个数。有脸才点灯、打印、发声。完整程序改用人体检测,不用这块。

六、知识点讲解

人脸检测回答「有没有脸、大约几张」,常在画面上框出位置,但不负责「这是谁」。检测成功不等于身份已经确认。
知识点本课怎么理解
检测 ≠ 识别本课两套都只取 len(个数),没有姓名,也没有人脸库。
人脸个数体验 FaceDetector,打印「人脸个数」。侧脸、遮挡、光线仍会漏检或多检。
人数完整程序 HumanDetector,打印「人数」。人在画面里但脸被挡住时,两套结果可能不同。
可见输出有目标时 min(x,4) 点白色、短声 200 毫秒,用来对照个数。

先看体验串口是不是「人脸个数」,再看完整程序是不是「人数」。

七、编程练习

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

官方示例:3-4-2 图像识别-人脸检测.mix。载入后运行。

八、课堂练习

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

  1. 判断:编程体验检测到人脸时会打印「人脸个数」,并最多点亮 4 颗彩灯。

  2. 判断:完整程序会显示人脸对应的姓名。

  3. 「检测 ≠ 识别」在本课指的是?

  4. 编程体验和完整程序打印的文字分别是?

  5. 两套在检测到目标时都会?

九、本节小结

本课认识人脸检测:只问有几张脸。编程体验数人脸;完整程序数人。两套都不确认身份。