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}")
相关推荐
智慧物业老杨2 小时前
物业日常巡查的数智化重构:从“打卡式巡检“到“闭环式风控“
android·java·人工智能·系统架构·rxjava
吴佳浩5 小时前
Skill 为什么不同于 Tool?Agent 技能库的自演进与动态加载机制
人工智能·agent·ai编程
大模型任我行8 小时前
谷歌:“课程学习”融入扩散模型强化学习
人工智能·语言模型·自然语言处理·论文笔记
AIGCmagic社区8 小时前
具身智能专题:机器人也有Scaling Law?智元GE-Act 2.0用3万小时真机数据给出答案
人工智能·aigc·具身智能
Rosanci9 小时前
谷歌浏览器插件开发实战指南:从 Hello World 到上架发布
大数据·人工智能·chrome·程序人生
明月_清风9 小时前
AI 越来越强,程序员真正的价值到底是什么?
人工智能·后端
m0_466525299 小时前
云从科技上线云起ModelHub:AI团队时代的模型算力基础设施
大数据·人工智能·科技
火山引擎开发者社区10 小时前
OpenViking:给 Codex 加上长期记忆
人工智能
荆棘鸟智能10 小时前
城市感知设备怎么统一接入?从多协议网关到设备模型的中间件架构设计
人工智能·算法·边缘计算
火山引擎开发者社区10 小时前
当 AI 内容真假难辨,谁来为真实签名 —— 证书中心 C2PA 内容可信溯源服务正式发布
人工智能