Generate JDE dot train

该代码实现了从KITTI_Det数据集生成用于训练的dot_train文件,主要涉及对labels_with_ids中的txt文件进行筛选,然后写入到train文件中。此外,还提供了一个方法用于生成所有图片的train文件,但不适用于筛选后的数据集。

Dot train format for JDE

  • 生成train格式文件
  • 根据数据集的格式自己筛选
from glob2 import glob
import os

images = r"C:\Users\lpf\Desktop\MOT\Code-MOT\Towards-Realtime-MOT-master\data\KITTI_Det\images"
dot_train = r"C:\Users\lpf\Desktop\MOT\Code-MOT\Towards-Realtime-MOT-master\data\kitti_det.train"

path_labels = r"C:\Users\lpf\Desktop\MOT\Code-MOT\Towards-Realtime-MOT-master\data\KITTI_Det\labels_with_ids"


def write_dot_train(path_dot_train, img_path_list):
    with open(path_dot_train, "w") as f:
        for path in img_path_list:
            f.writelines("{}\n".format(path))

# 本方法为detection数据集转换专用
def generate_dot_train(path_labels):
    include_object = []
    include_img = []
    labels_txt = glob(path_labels + "/*.txt")
    for i in labels_txt:
        file_size = os.path.getsize(i)
        if file_size > 0:
            include_object.append(i)
            # print("File size is :", file_size, "bytes")
            # print(i)
            a = os.path.split(i)[-1]
            temp = a[:-4]
            temp = temp + ".png"
            # temp = os.path.join(images, temp)
            temp = "KITTI_Det/images/{}".format(temp)
            include_img.append(temp)
            # break
    return include_img
        # pass


include_image = generate_dot_train(path_labels=path_labels)
write_dot_train(dot_train,include_image)

# print(len(labels_txt))
# print(len(include_object))

# 本方法为 tracking专用
def generate_kitti_train():
    # 注意本处生成的是以image为基准的train文件,包含所有图片,而通常情况下筛选后的lebels_with_ids则不行,会偏少
    # 修改就是使用 lebels_with_ids 为基准,然后将txt 使用replace 方法改为png
    path = os.walk(images)
    for root, directories, files in path:
        for _dir in directories:
            line = "/KITTI_Det/images/{}/".format(_dir)
            _dir = os.path.join(r"E:\8_DataSet\KITTI_tracking\image_02", _dir)
            # dir_list.append(_dir)
            txt_list = os.listdir(_dir)
            with open("kitti-img.train", 'a') as f:
                for item in txt_list:
                    line1 = line + item
                    f.writelines(line1)
                    f.writelines("\n")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值