YOLO系列在Visdrone数据集上精度低问题

问题描述:进行论文进行对比时候发现用cocoapi对yolo保存的best_prediction.json进行cocoeval,发现精度远远低于yolo自带val.py的结果。

这个问题卡了我前前后后大概半年的时间,限于学识有限,老是找不到问题所在于是搁置。最近在进行论文对比实验不得不用上cocoapi去计算cocometric,硬着头皮解决了两个礼拜才搞定(Orz 我太菜了!)

解决思路:ground truth抓换的json和best_prediction.json中的category_id需要对齐

Yolov5中自带的Visdrone.yaml自动完成了Visdrone文件自带的annotation到yolo标注格式的转换,其实Visdrone原始的标注一共有12个类别的,分别如下:

    categories = [
        {"id": 0, "name": "ignored regions"},
        {"id": 1, "name": "pedestrian"},
        {"id": 2, "name": "people"},
        {"id": 3, "name": "bicycle"},
        {"id": 4, "name": "car"},
        {"id": 5, "name": "van"},
        {"id": 6, "name": "truck"},
        {"id": 7, "name": "tricycle"},
        {"id": 8, "name": "awning-tricycle"},
        {"id": 9, "name": "bus"},
        {"id": 10, "name": "motor"},
        {"id": 11, "name": "others"}
                ]

但在Visdrone目标检测论文https://arxiv.org/pdf/2108.11539.pdf中以及u版yolov5yolov5/data/VisDrone.yaml at master · ultralytics/yolov5 · GitHub中都值关注中间10项目标 因为忽略了文件中的label为0和11的目标。

                                                                yolov5官网截图

 

                                                        论文TPH-YOLOV5截图

1.通过yolo系列中的val.py (yolov7中是test.py) 文件参数 (此处以yolov7为例 其他同),设置--save-json 为True

 parser.add_argument('
### 使用YOLOv12训练VisDrone数据集 目前关于使用YOLOv12模型的信息较少,因为该版本尚未广泛发布或被社区接受。然而,可以基于已有的YOLO系列模型的经验来推测可能的流程。对于VisDrone这样的特定数据集,准备阶段通常涉及几个关键步骤[^1]。 #### 准备工作 为了能够顺利地使用YOLOv12或其他任何YOLO变体进行训练,首先需要完成环境搭建。这包括安装必要的依赖库以及设置好Python虚拟环境等前置条件。 #### 数据预处理 针对VisDrone2019数据集,需将其转换成适合YOLO框架使用的格式。具体操作包括但不限于标注文件的整理、图像尺寸调整等工作。确保每张图片都有对应的标签文件,并遵循YOLO所规定的坐标表示方法[^2]。 #### 配置文件定制化 当涉及到具体的模型如YOLOv12时,虽然官方文档可能是最权威的指导材料,但在其不可得的情况下,可以从其他相似版本(比如YOLOv8)借鉴经验来进行初步尝试。重点在于修改`*.yaml`配置文件中的超参数设定,特别是那些影响到网络结构的部分,像输入分辨率、锚框大小等[^3]。 #### 模型训练过程 启动训练之前要确认所有路径都指向正确的位置;同时也要注意监控GPU资源消耗情况以防止过载。训练过程中可以通过TensorBoard或者其他可视化工具观察损失函数的变化趋势从而判断收敛状态。 ```python from ultralytics import YOLO model = YOLO('yolov12.yaml') # 假设存在对应架构定义 results = model.train(data='path/to/visdrone.yaml', epochs=100, imgsz=640) ``` 请注意上述代码仅为示意,在实际应用中应当依据实际情况调整参数值。 #### 测试与评估 完成一轮或多轮迭代之后,应该对得到的最佳权重进行全面测试。这不仅限于计算mAP指标,还应考虑不同尺度下的表现差异等因素。此外还可以通过混淆矩阵等方式进一步分析错误分类的原因所在。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值