从视频到 RKNN 模型,一条龙完成
上传视频 → 分类(学习/验证)→ 标注 → 训练 → 验证 → 下载部署到 RK3568 设备
📹 上传视频(视频库)
Android 投篮机通过 HTTPS 分片直传录像到服务器。视频先进入「视频库」,此时还未分类。
没用的视频可直接删除(物理删除)。
🗂️ 给视频分类
在「视频库」为每个视频选择用途:加入 TRAIN 训练集(用来学习)或 加入 VAL 验证集(用来验证)。
分类后视频移入对应集合页。
✏️ 标注视频(TRAIN / VAL)
在「TRAIN 训练集」或「VAL 验证集」点「去标注」:平台自动抽帧 + 伪标预填篮球框,你改错、补漏、删除多余,无球的帧点「无球」,全部确认后标注完成。
快捷键:a/d 翻页,Delete 删框,拖拽画框/移动/缩放。
🚀 开始训练(训练任务)
在「训练任务」页勾选已标注完成的 TRAIN 视频,设置 epochs 等参数,点「开始训练」。系统自动聚合所有已标注的 TRAIN + VAL 视频训练,并导出 ONNX、转换为 RKNN。
同一时间只运行一个任务,其余排队。
🔍 版本验证
训练成功后,在「版本验证」页用模型对 VAL 验证集跑推理,与人工标注的真实值对比,得出漏检率 / 误检率 / 精度,并逐帧查看检测效果。
这是判断模型是否可用的客观依据。
⬇️ 下载部署(版本管理)
在「版本管理」页下载训练结果 zip(best.pt / .rknn / 指标 / manifest),放入 Android 工程 assets 后编译 APK 部署到 RK3568。
每个版本都有模型清单,可追溯训练数据和工具版本。
📚 为什么要分「TRAIN 训练集」和「VAL 验证集」?
这是机器学习的标准做法——让模型「学习」的材料和「考试」的材料必须分开:
让模型看这些视频学会「球长什么样」。覆盖不同角度、距离、光线、持球/出手/飞行状态,量要最多(建议 70%),标注必须仔细——数据质量决定模型上限。
模型训练时从来不看这些视频。训练过程中每轮用它检查模型有没有变好;训练完成后用它对比「真实标注 vs 模型预测」,算出漏检/误检/精度。
📹 视频库
所有已上传视频(按上传时间倒序)。先播放确认视频是否合格,再选择用途或删除。
📖 TRAIN 训练集
用来让模型「学习」的视频。逐个标注,标注完成 ✓ 后才可参与训练。
🔍 VAL 验证集
用来「考试」的视频:训练中检查 + 训练后验证对比。同样需要标注(作为真实值)。
🚀 训练任务
勾选「已标注」的 TRAIN 视频发起训练(已标注的 VAL 视频自动参与验证)。
选择 TRAIN 视频(仅已标注的可用)
训练历史 (仅训练任务,标注任务在 TRAIN/VAL 页管理)
🔍 版本验证
用训练成功的模型对 VAL 验证集跑推理,对比「真实标注 vs 模型预测」,客观评估可用性。
📦 1. 选择要验证的模型版本
验证结果
⬇️ 版本管理
训练成功的模型版本,可下载 zip(best.pt / .rknn / 指标 / manifest)部署到设备。