模型训练注意事项
为什么需要自己训练模型
现在用的 rfdetr-nano 是通用模型,它见过很多普通的 person,所以能直接检测行人。
但如果你的场景比较特殊,比如:
- 监控摄像头很高
- 人很小
- 夜间画面
- 雨天
- 工厂制服
- 红外摄像头
- 低清视频
- 人被遮挡
- 只想检测某个区域的人
通用模型可能不够稳。这时候你训练自己的模型,就是告诉它:
在我的真实画面里,什么样子算 person。
一、训练集的收集
1. 好数据长什么样
好的数据包括:
- ☀️ 白天
- 🌙 晚上
- ☁️ 阴天
- 💡 强光
- 🌑 背光
- 🚶 近处的人
- 🔭 远处的人
- 🧍 正面的人
- 🧍♂️ 侧面的人
- 🧍♀️ 背面的人
- 👥 多人
- 👤 少人
- 🙈 遮挡
- 🏚️ 空场景
注意:空场景也要放。 比如没有人的走廊、没有人的路口,这能帮助模型学会——没有人时不要乱框。
2. 什么图片不适合放太多
不要只收集”特别漂亮、特别清楚”的图片。比如全是这种:
- 正面站着的人
- 光线很好
- 人很大
- 背景简单
这样训练出来的模型在真实监控里可能不好用。
真实场景通常是:
- 模糊
- 远
- 小
- 遮挡
- 角度奇怪
- 光线变化
所以训练数据要接近真实使用场景。
3. 图片数量怎么理解
新手可以这样分阶段:
| 阶段 | 数量 | 目标 |
|---|---|---|
| 练流程 | 20~50 张 | 学会上传 → 标注 → 生成版本 → 训练 → 测试 |
| 做初版模型 | 100~300 张 | 看自定义模型是否比通用模型更适合你的场景 |
| 做稳定模型 | 500 张以上 | 更适合真实项目 |
但数量不是唯一标准。100 张高质量、有代表性的图,可能比 1000 张重复截图更有用。
4. 类别怎么定
你现在做行人检测,最简单的类别就是:person。
不要一开始设计太复杂。比如不要马上分:
| ❌ 太复杂 | ✅ 新手推荐 |
|---|---|
| adult / child | person(一个类别) |
| worker / visitor | |
| male / female | |
| front_person / back_person |
新手第一版建议:只标 person。等你真的有需求,再考虑加类别。
二、标注规则
1. 标注规则最重要
目标检测训练需要你给每个人画框。
正确画法
框住整个人:头、身体、手臂、腿、脚。框要尽量贴近人,但不要切掉身体。
遮挡的人怎么标
如果一个人被车、柱子、别人挡住,只能看到上半身,通常就框住可见部分。
关键:整个数据集保持一致。 不要有的图片框全身,有的只框头,有的框一大片背景。不一致会让模型混乱。
2. 每个人都要标
如果一张图里有 10 个人,就要标 10 个框。不要只标最明显的那几个。
否则模型会学到一个错误规律:有些人可以忽略 → 导致漏检。
3. 负样本也很重要
负样本就是没有目标的图片。比如你做行人检测,可以放:
- 没有人的街道
- 没有人的走廊
- 空办公室
- 空停车场
- 只有车没有人
- 只有树和路牌没有人
这样模型会学会不要把其他东西误判成人。
4. 标注规则精简版
- 类别统一 — 只用一个类别
person,不要混用human、people、pedestrian - 每个人都要标 — 一张图里有几个人,就标几个框,不要漏标
- 框要贴紧 — 框住人的可见身体部分,不要框太大,也不要切掉头、手、脚
- 遮挡的人 — 只框可见部分,不要脑补被挡住的身体
- 小人/模糊人 — 肉眼能确认是人,就标;看不清、不确定,就不标。规则要保持一致
- 空场景也要保留 — 没有人的图可以作为负样本,帮助模型减少误检
训练前检查
抽查一部分图片,确认:
- ✅ 没有漏标
- ✅ 框足够贴近
- ✅ 类别都是 person
- ✅ 遮挡和小目标规则一致
标注要完整、贴紧、一致。
三、数据集划分
训练时通常分三份:
| 数据集 | 作用 | 简单理解 |
|---|---|---|
| Train(训练集) | 模型真正拿来学习的图片 | 看 Train,学习什么是 person |
| Valid(验证集) | 训练过程中检查模型表现 | 看模型有没有越训越好,有没有过拟合 |
| Test(测试集) | 训练完成后的最终考试 | 看模型遇到没见过的新图片效果怎么样 |
常见比例:
- 70% Train
- 20% Valid
- 10% Test
新手先用默认划分就可以。
四、Dataset Version 是什么
你上传和标注图片后,还不能直接训练。你要先生成一个 Dataset Version。
它可以理解为:一次固定的数据快照,里面包含:
- 哪些图片参与训练
- 每张图的标注
- Train / Valid / Test 划分
- 预处理
- 数据增强
以后你改了标注、加了图片,就要生成新的版本再训练。
五、预处理和增强
新手第一版建议简单点:
预处理
- Auto-Orient:修正图片方向
- Resize:统一图片尺寸
增强(第一版少量使用)
- 水平翻转
- 亮度变化
- 轻微模糊
- 轻微旋转
但不要乱加。比如你的摄像头永远不会倒着拍人,就不要加太夸张的旋转。增强应该模拟真实世界可能出现的变化。
六、训练模型时选什么
对于你的行人检测,推荐训练 RF-DETR:
| 模型 | 适用场景 |
|---|---|
| RF-DETR Nano | 实时跑摄像头,速度优先 |
| RF-DETR Small | 速度和准确率平衡 |
| RF-DETR Medium | 更重视准确率,不太在乎速度 |
七、核心要点总结
自己训练模型的核心不是”点 Train”,而是:
- 📷 收集真实场景图片
- ✏️ 认真标注每个目标
- 📐 保持标注一致
- 📦 生成 Dataset Version
- 🚀 用 RF-DETR 训练
- 🧪 再用真实图片测试



