基于 YOLOv12 预训练模型训练特殊场景的目标检测模型
Ultralytics ? AGPL-3.0 License - https://ultralytics.com/license
违规场景识别
| 场景编号 | 检测场景 | 条件组合 | 违规行为说明 |
|---|---|---|---|
| 1 | 卡车翻斗升起,车头未挂安全绳 | rised + rope_miss/ !rope |
卸料过程未系挂绳,存在车辆倾覆安全风险 |
| 2 | 卡车翻斗升起,驾驶舱有人 | rised + person_in_cabin |
卸料过程中驾驶舱有人, 存在安全风险 |
| 3 | 有人未戴安全帽 | no_helmet_person |
进入作业区域未戴安全帽,存在人身风险 |
目标分类与标准
Classes
names:
0: rised # 车翻斗升起来,truck_bed_rised
1: lowed # 车翻斗降下来
2: rope_miss # 车头没有挂安全绳
3: rope # 车头有挂安全绳
4: person # 普通行人
5: helmet_person # 佩戴安全帽的人
6: no_helmet_person # 未佩戴安全帽的人
7: truck # 卡车(收运车)
8: person_in_cabin # 人在驾驶舱
优化后的:
Classes (YOLOv12 格式)
names:
0: truck # 卡车,标注整车轮廓,辅助区域分析
1: truck_bed_rised # 翻斗升起,标注翻斗升起部分,判断是否进入卸料状态
2: truck_bed_lowed # 车斗未升起(负样本),可选
3: safety_rope # 挂了安全绳(目标存在即表示“已挂”)
4: helmet # 佩戴安全帽的人(需要标注头部+安全帽)
5: head # 头,未佩戴安全帽的人
6: person # 普通行人(人的区域,人体)
7: person_in_cabin # 驾驶舱中有人
注意:对于驾驶舱的司机,为了防止误判为没戴安全帽,标注驾驶舱中人时只标 person_in_cabin,不要标注为 no_helmet_person,这样模型就不会学到“驾驶舱中未戴帽也属于违规”的错误逻辑。
多目标判断
1、基于空间距离进行“车头绑定”判断
假设画面中 rope 位置靠近车头,那么可以通过计算 rope 与每个 truck 的相对位置(如最近的前方区域)来判断它属于哪一辆卡车。
2、通过目标跟踪来判断
相关文章:
COCO数据集
使用YOLOv8训练自己的【目标检测】数据集-【收集数据集】-【标注数据集】-【划分数据集】-【配置训练环境】-【训练模型】-【评估模型】-【导出模型】
为者常成,行者常至
自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)