基于 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训练自己的【目标检测】数据集-【收集数据集】-【标注数据集】-【划分数据集】-【配置训练环境】-【训练模型】-【评估模型】-【导出模型】

为者常成,行者常至