MOT16数据集做目标检测的预处理(类别合并与清理)

计划使用MOT16数据集做基于ConvLSTM的目标检测,其标注数据在gt.txt中,第8列为分类,有以下12类

  1. Pedestrian(行人)------主要目标,要跟踪

  2. Person on vehicle(车上的人)

  3. Car(轿车)

  4. Bicycle(自行车)

  5. Motorbike(摩托车)

  6. Non motorized vehicle(非机动车)

  7. Static person(静止的人)

  8. Distractor(干扰物)

  9. Occluder(遮挡物)

  10. Occluder on the ground(地面遮挡物)

  11. Occluder full(完全遮挡)

  12. Reflection(倒影)

下面代码把1/2/7合并为1类,把3作为2类,把4/5合并为3类,其他的全部不要,生成new_gt.txt

python 复制代码
import os
import numpy as np

mot16_root = "MOT16/train"
seqs = [d for d in os.listdir(mot16_root) if os.path.isdir(os.path.join(mot16_root, d))]

for seq in seqs:
    gt_path = os.path.join(mot16_root, seq, "gt/gt.txt")
    out_path = os.path.join(mot16_root, seq, "gt/new_gt.txt")
    
    if not os.path.exists(gt_path):
        continue
    
    data = np.loadtxt(gt_path, delimiter=',')
    new_data = []
    
    for row in data:
        cls = int(row[7])
        
        if cls in [1, 2, 7]:
            row[7] = 1
            new_data.append(row)
        elif cls == 3:
            row[7] = 2
            new_data.append(row)
        elif cls in [4, 5]:
            row[7] = 3
            new_data.append(row)
    
    if new_data:
        np.savetxt(out_path, np.array(new_data), fmt='%.6g', delimiter=',')
        print(f"Saved: {out_path}")
相关推荐
牛奶15 分钟前
AI 能赚钱了——但赚的不是你
人工智能·ai编程·nvidia
凌杰33 分钟前
AI 学习笔记:研究方法的演变
人工智能
半盏药香1 小时前
由于jinja2的starlette版本过高引发的问题:500 Server Error TypeError: unhashable type: 'dict'
人工智能
阿里云大数据AI技术1 小时前
MiniMax M3、Kimi K2.7 Code来啦!PAI已支持一键部署,开源前沿触手可及
人工智能·agent
百度Geek说1 小时前
AI Coding 的底层框架:一切优化都是在对抗熵增
人工智能
Java研究者1 小时前
AI智能体研发 | 什么是OpenAI API协议
人工智能·大模型·openai·api·agent·智能体
只是没名字2 小时前
Codex CLI Windows 新手安装教程:从 Node.js 到首次运行
人工智能
用户8630652696132 小时前
Krea 2 LoRA 训练全流程踩坑记录:从打标到双卡并行的 Windows 原生实战
人工智能
木雷坞4 小时前
让 AI 编程助手跑得起项目:Dev Container 实践记录
人工智能
腾讯云开发者5 小时前
港科大郭毅可谈Agentic AI时代的核心命题:人机共生,人不可能退场
人工智能