12递进实验
6技术阶段
3免训练实验(入门)
⭐1→3难度坡度
平台说明 · 实验箱 B2(XFLZ_EAI_B2_PRO)与机器人小车 C1(XFLZ_EAI_CAR1)共用同一套 RK3576 + 6TOPS NPU,12 个实验的视觉代码与配置完全一致。差异只有底盘:C1 多了麦克纳姆轮全向底盘。
ROADMAP
课程路线图
从「块的像素」到「点的坐标」再到「动的指令」—— 每一层都建立在上一层之上。这张图是全课的骨架,卡住时可以回来定位自己在哪一层。
| 能力层 | 输出形式 | 对应实验 | 核心问题 |
| ① 像素 → 掩膜 | 黑白图 | 实验1 / 2 | 哪些像素属于目标?靠颜色或灰度阈值判断,不需要模型 |
| ② 掩膜 → 形状 | 圆 / 多边形 | 实验1 / 2 | 这块区域是什么形状?最小外接圆、凸包、多边形逼近 |
| ③ 图像 → 符号 | 字符串 | 实验3 | 图里编码了什么信息?二维码把解码规则写进图形本身 |
| ④ 图像 → 类别框 | 框 + 类别 + 分数 | 实验4 / 5 | 有什么、在哪、像不像?神经网络输出置信度,NMS 去重 |
| ⑤ 图像 → 逐像素类别 | 掩膜 + 类别 | 实验6 | 每个像素各属于什么?从「一框」细化到「每像素」 |
| ⑥ 帧 → 带 ID 的轨迹 | ID + 历史路径 | 实验7 | 跨帧还是同一个吗?位置预测 + 外观指纹 + 全局匹配 |
| ⑦ 图像 → 关键点 | 点坐标 + 可见度 | 实验8 / 9 / 12 | 结构在哪?用固定拓扑的点描述人脸、骨架、手 |
| ⑧ 像素 → 三维坐标 | (X, Y, Z) 米 | 实验10 | 离我多远?深度测量 + 相机内参反投影 |
| ⑨ 关键点 → 动作 | 速度指令 | 实验11 / 12 | 他在做什么、我该怎么动?几何规则判定 + cmd_vel |
怎么看这张表 · ①~③ 是规则驱动(人写判断条件),④~⑨ 是数据驱动(模型从数据里学判断条件)。分界线在实验 4 —— 从这里开始,你要和「权重文件」「置信度」「量化误差」打交道,也要开始接受「结果不是 100% 可解释」。
完全零基础,能跟上吗?
能,而且开头比想象中容易。前三个实验(颜色 / 二维码 / 轮廓)不需要任何深度学习基础,也不碰模型文件。第一个实验跑通只要五分钟。
必须按顺序学吗?
建议按顺序。实验4 的检测是实验6、7 的输入;实验9 的骨骼点是实验11 的输入;实验12 又用上了实验9、11 的全部思路。想跳着学,至少先把目标实验的前置做完。
没有板子能学完吗?
实验1~3 的原理和参数可以在 PC 上跑通(--image / --camera 模式)。实验4 之后涉及 NPU 推理,只能在板子上验证;PC 上可用 .onnx 后端验流程,但帧率和量化效果都不同。有硬件体验差别很大。
STAGE 1 · OPENCV
第 1 阶段 · 传统视觉(免训练,先跑起来)
三个实验都不需要模型文件,也不用 NPU。目的是先把「看图 → 出坐标」这件事做熟,同时建立「每一步都能解释」的直觉。
EXP-01⭐ · 4 学时 · 全课起点
颜色识别(HSV 阈值)
整个实验一行 AI 代码都没有。把颜色换算成一个角度,落在范围内就留下,再用最小外接圆框住它。跑完你会明白很多任务根本不用上深度学习。
HSVcv2.inRange形态学开闭最小外接圆
👆 点小节标题直达对应章节约 33 FPS
EXP-02⭐⭐ · 4 学时
多边形轮廓拟合
一堆白色像素没法用。用一条「松紧带」勒紧,几千个点就变成几个顶点 —— 机器人才能算出往哪走。
二值化findContoursconvexHullapproxPolyDP
👆 点小节标题直达对应章节形状识别
EXP-03⭐ · 4 学时
二维码:生成 + 识别
自己造一张码,再让相机把它读回来。全课唯一一个「一写一读」闭环的实验,也不需要任何模型训练。
qrcode 库QRCodeDetector纠错码多码循环
👆 点小节标题直达对应章节一写一读
STAGE 2 · YOLO
第 2 阶段 · 目标检测与分类(第一次用神经网络)
从这里开始要碰模型文件和 NPU 了。先学「圈框并说清是什么」,再学「细类怎么翻译成业务大桶」。
EXP-04⭐⭐ · 4 学时
工业表面缺陷检测
钢板上的裂纹、夹杂、划痕,让 AI 替你圈出来。第一次把模型装进 NPU 跑实时。学完它,后面所有 AI 实验都是同一套路。
YOLOv8RKNN int8NMSletterbox
👆 点小节标题直达对应章节约 13 FPS
EXP-05⭐⭐ · 4 学时
垃圾分类:20 类变 4 桶
模型认出「矿泉水瓶」,一张映射表把它翻成「可回收物」。工程上最重要的一课:哪些该交给模型,哪些该写成代码。
YOLOv5 检测头锚框解码映射表推理池
👆 点小节标题直达对应章节多核并行
STAGE 3 · SEG & TRACK
第 3 阶段 · 语义分割与多目标跟踪
分割是检测的「像素级进阶」;跟踪是全课最难的一个,必须踩在检测的肩膀上。
EXP-06⭐⭐ · 4 学时
语义分割与背景替换
视频会议的虚拟背景是怎么做的?不是套个方框,是精确到每个像素地判断「这点算不算人」。
yolov8n-segproto-maskAlpha 合成多线程池
👆 点小节标题直达对应章节抠图
EXP-07⭐⭐⭐ · 4 学时 · 全课最难
多目标跟踪(DeepSORT)
每一帧的检测都是独立的,怎么让「同一个人」一直是 3 号?被挡住几秒再出来,还得认出是他。
Kalman 预测匈牙利匹配ReID 外观级联匹配
👆 点小节标题直达对应章节约 14 FPS
STAGE 4 · MEDIAPIPE
第 4 阶段 · 人体感知(换一套模型家族)
从 YOLO 换到 MediaPipe Blaze 系列。人脸 → 骨骼是同一套「级联 + 逆映射」思路的递进;深度相机补上「距离」那一维。
EXP-08⭐⭐ · 4 学时
人脸关键点(478 拓扑 / 468 点)
美颜相机怎么知道该往哪儿瘦脸?因为它先在脸上找到了 468 个固定位置的点。第一次接触「两段式级联」。
BlazeFace双模型级联ROI 逆映射468 点
👆 点小节标题直达对应章节实时网格
EXP-09⭐⭐ · 4 学时
骨骼关键点(33 点)
把一个人压缩成 33 个关节点,画成一具跟着你动的火柴人。判断「举手」其实只要比两个 y 坐标。
BlazePose骨架拓扑vis 过滤单人整图
👆 点小节标题直达对应章节火柴人
EXP-10⭐⭐ · 4 学时
深度相机与 3D 定位
点一下画面上的任意像素,程序告诉你「这点离你 0.48 米」,还能算出它在空间里的三维坐标。补上缺失的距离那一维。
HP60C深度伪彩反投影公式点云
👆 点小节标题直达对应章节点一下测距
STAGE 6 · CONTROL
第 6 阶段 · 视觉驱动动作(收官)
前面 10 个实验都只是「看懂」,最后这两个让结果真的动起来 —— 视觉第一次闭环到执行器。
EXP-11⭐⭐⭐ · 4 学时
体感控制:举左手就左转
33 个关节坐标 → 几条 if 规则 → 两个速度数 → 车真的动了。整门课第一次让视觉驱动动作。
动作规则优先级身长归一化cmd_vel
👆 点小节标题直达对应章节车动起来
EXP-12⭐⭐ · 4 学时 · 收官
手势识别:4 模型接力
比个「耶」,机器就知道你在比「耶」。链路最长的一个实验:找手 → 21 点 → 128 维指纹 → 8 类分类。
手掌检测21 关键点Embedding检测-跟踪状态机
👆 点小节标题直达对应章节8 种手势