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}")
相关推荐
计算机魔术师33 分钟前
Karpathy:用语音与LLM长谈可提升理解效率
人工智能·ai编程
甲维斯1 小时前
我要开始吹牛逼了!Kimi K3 “宇宙无敌”!
前端·人工智能
周末程序猿1 小时前
图解 120 个大语言模型(LLM)核心概念(61-90)
人工智能
科技圈快迅1 小时前
游戏投影仪和普通投影仪区别是什么?2026游戏投影仪测评
人工智能
陆枫Larry2 小时前
CPU 和 GPU 的核心区别与适用场景
人工智能
Aa99883342 小时前
AI视觉检测设备厂家的技术选型框架——密封件和磁材的缺陷分类与光学成像原理
人工智能
吴佳浩2 小时前
今天我们讲讲大模型的“核心”技术:蒸馏(Model Distillation)
人工智能·llm·agent
阿里云大数据AI技术2 小时前
阿里云 ES AI 引擎版:面向 Agent 场景,为亿级租户、千亿规模向量设计的搜索引擎
人工智能·elasticsearch·agent
郭小铭2 小时前
[开源] 做了一个本地优先的多 Agent 市场研究桌面:Evidence Loom
人工智能