Session 545 minutes
第5课:开启计算机视觉——安装 AI 人脸检测扩展
Learning objective: 扩展 PictoBlox 功能库,打开电脑摄像头,读取鼻子和眼睛的坐标,用脸控制角色。
Theory & practice
👁️ 第5课:把摄像头变成 AI 的智慧之眼
🤖 电脑能“看见”吗?
欢迎来到 计算机视觉(Computer Vision) 的世界!
在本课中,电脑将通过摄像头:
- 识别人脸。
- 找到眼睛和鼻子的位置。
- 跟踪用户的动作。
- 用面部动作控制 PictoBlox 角色。
摄像头只提供画面,人工智能负责分析画面,找出人脸上的特征。
🎯 学习目标
完成本课后,你将能够:
- 在 PictoBlox 中添加
人脸检测 Face Detection扩展。 - 在舞台上显示摄像头视频。
- 分析摄像头中的人脸。
- 读取眼睛或鼻子的
x、y坐标。 - 用面部动作控制角色。
1. 准备摄像头
编程前:
- 1检查摄像头已连接。
- 2打开 PictoBlox。
- 3允许 PictoBlox 使用摄像头。
- 4坐在光线充足的地方。
- 5让脸位于画面中央。
🔒 只在练习时打开摄像头。未经同意,不要拍摄或分享别人的图像。
2. 添加人脸检测扩展
按以下步骤操作:
- 1点击左下角的 扩展 Extension 按钮。
- 2找到并选择 Face Detection。
- 3等待 PictoBlox 加载识别模型。
- 4检查人脸检测积木是否已出现。
不同版本的 PictoBlox 中,部分积木名称可能略有不同。
3. 显示摄像头画面
编写程序:
text
当绿旗被点击
开启视频,透明度 0%透明度决定视频的清晰程度:
| 透明度 | 效果 |
|---|---|
0% | 视频清晰可见 |
50% | 视频半透明 |
100% | 视频几乎隐藏 |
如果看不到画面,请检查浏览器或操作系统的摄像头权限。
4. 分析人脸
让 AI 识别人脸,使用积木:
text
分析摄像头图像这个积木需要持续运行,人脸移动时系统才会更新:
text
当绿旗被点击
开启视频,透明度 0%
重复执行
分析摄像头图像AI 能找到这些特征点:
- 左眼和右眼。
- 鼻子。
- 嘴巴。
- 人脸位置。
5. 读取鼻子的坐标
脸上的每个点都有两个坐标:
x:水平位置。y:垂直位置。
使用积木:
text
人脸 (1) 的 [鼻子] 的 [x] 坐标
人脸 (1) 的 [鼻子] 的 [y] 坐标创建两个变量:
text
鼻子_X
鼻子_Y然后持续更新坐标:
text
当绿旗被点击
开启视频,透明度 0%
重复执行
分析摄像头图像
将 [鼻子_X] 设为
[人脸 1 鼻子的 x 坐标]
将 [鼻子_Y] 设为
[人脸 1 鼻子的 y 坐标]你移动头部时,鼻子_X 和 鼻子_Y 的值也会变化。
6. 小项目:用脸控制角色
Mục Trọng Tâm
任务
让角色跟随用户鼻子的位置移动。
text
当绿旗被点击
开启视频,透明度 20%
重复执行
分析摄像头图像
将 [鼻子_X] 设为
[人脸 1 鼻子的 x 坐标]
将 [鼻子_Y] 设为
[人脸 1 鼻子的 y 坐标]
移到 x: [鼻子_X] y: [鼻子_Y]试一试:
- 把头偏向左边。
- 把头偏向右边。
- 把头向上移。
- 把头向下移。
观察角色是否跟着你的脸移动。
7. 根据人脸位置做出反应
可以用条件让角色反应得更聪明:
text
如果 <鼻子_X 大于 100> 那么
说 "你向右偏了!"
否则
如果 <鼻子_X 小于 -100> 那么
说 "你向左偏了!"或者切换造型:
text
如果 <鼻子_Y 大于 80> 那么
换成 [开心] 造型
否则
换成 [普通] 造型8. 如果 AI 识别不到人脸
请检查:
- 摄像头是否已开启。
- PictoBlox 是否获得摄像头权限。
- 脸是否在画面中。
- 光线是否充足。
- 是否有东西挡住眼睛或鼻子。
分析摄像头图像积木是否在循环中。
房间太暗、离得太远或移动太快时,AI 的识别可能不准确。
🧩 挑战
选择一个想法升级项目:
- 1用头部动作控制宇宙飞船。
- 2让角色在摄像头画面上戴一顶虚拟帽子。
- 3用户歪头时播放声音。
- 4用眼睛的位置控制角色。
- 5制作一个不用键盘的收集游戏。
✅ 记住
- 摄像头帮助电脑获取画面。
Face Detection帮助 AI 找到人脸和面部特征。- 分析积木要持续运行才能更新画面。
x坐标表示水平位置。y坐标表示垂直位置。- 可以用人脸坐标控制角色。
Mục Trọng Tâm
快问快答
- 1用哪个扩展来识别人脸?
- 2为什么要持续分析摄像头图像?
- 3
x和y坐标分别表示什么? - 4光线对识别有什么影响?