地瓜丸 · MaixCAM 自动识别瞄准

它认出了目标,
云台接下来怎么转?

我用玩偶作为示例目标,把相机识别、坐标传输、电脑控制界面和双轴机构接起来。下方视频保留了从检测画面到实机动作的过程。

演示时长
04:52 / 完整原片
识别工具
MaixCAM Pro / YOLOv5
控制路径
UDP → PC PID → ESP32-S3
MaixCAM 显示屏与双轴云台实机
视频里的实机近景:相机屏幕显示目标,双轴结构负责调整朝向。点击看原图 ↗

直接看演示,也可以按章节跳转

04:52 / 实拍原片MaixCAM 自动识别与云台演示保留完整 4 分 52 秒原片。既能看实机,也能看识别框、坐标日志和 PID 控制界面。

点击章节,从对应位置播放。

模型之前,先把训练图片拍下来

这段 5.7 秒现场记录展示触屏采图:把目标放进相机视野,观察取景并点击屏幕采集图片。采集脚本会把图片保存到设备目录,后续再导出、标注和训练;视频记录的是采集过程,原始数据集没有在网页上公开下载。

00:05.7 / 采集实拍MaixCAM 触屏采集数据集保留完整时长和原声。打开完整视频 ↗
采集视频截帧:相机屏幕取景与目标玩偶同框。
实拍截帧采集视频截帧:相机屏幕取景与目标玩偶同框。点击看原图 ↗

先看见,再把偏差送出去

  1. 训练自己的目标采图、标注,在 MaixHub 训练后部署模型。
  2. 相机计算偏差MaixPy 加载 YOLOv5,计算目标中心相对画面中心的 dx / dy。
  3. 电脑判断动作UDP 接收坐标,GUI 显示状态,PID 生成控制命令。
  4. 双轴机构响应经 ESP32-S3 输出电机控制,调整相机朝向。
识别程序和实时目标画面
原片截帧:识别代码、画面中心与目标检测画面。点击看原图 ↗

这个框,只回答“找到了谁”

检测结果还要转换为目标中心和画面中心的偏差。接着核对坐标符号、置信度与目标选择,才知道该把哪个方向的命令交给云台。

画面里的 target lost 表示当前没有满足条件的目标;重新找到目标后再更新状态。

视觉 PID 自动锁定控制界面
原片截帧:目标状态、二维偏差点、PID 参数和安全限制。点击看原图 ↗

在动作前,先把命令看明白

控制界面把 dx / dy 画成偏差点,同时显示锁定状态、串口和最近命令。可以先开 dry-run,只看命令;方向和幅度确认后,再启用自动锁定。

死区、最大步数、最低置信度和发送间隔是联调参数。画面显示的是这次调试的配置,不代表通用最优值。

我怎么区分问题出在哪一段

看到的现象先检查对应工具
目标在画面里,但没有框模型文件、目标类别、检测阈值。相机识别画面。
有框,电脑没有坐标UDP 接收端是否启动、地址与端口是否一致。坐标日志与 GUI 目标状态。
有坐标,云台方向相反dx / dy 的符号和轴方向是否匹配。dry-run、X / Y 反向设置。
云台能跟,靠近中心来回摆死区、增益、单次步数和发送间隔。偏差轨迹、最近命令与实机动作。
展开看模型训练与部署
数据准备要包含不同背景和距离。训练后核对模型文件、识别程序、PC GUI 与主控固件的对应关系,再把识别与动作逐段接起来。
展开看这个演示的范围
原片以玩偶目标展示识别、坐标反馈与双轴控制。它能说明这套系统如何联调;其他目标或不同光照需要重新准备数据与测试。

源码与复现

MaixCAM 视觉追踪与数据采集 · 查看 GitHub 源码

仓库提供代码入口、接线/协议和运行说明,按 MIT 发布;构建与验证范围单独记录。模型权重、数据集和个人配置不随代码公开。