当前位置:网站首页>mmclassification 标注文件生成

mmclassification 标注文件生成

2022-07-04 09:32:00 Coding的叶子

1 数据集构成

        mmclassification数据集主要包含四个文件夹meta、train、val、test,其中meta存储了标注信息,包含train.txt、val.txt和test.txt三个文件。train、val、test存储了各个不同类别的图像。其构成如下图所示:

         train.txt、val.txt和test.txt文件存储了图片路径和类别id,如下图所示:

        train、val、test存储了各个不同类别的图像,相同类别的图像位于同一子文件夹下,子文件夹的名称为相应的类别名称,如下图所示:

        上述示例图像中的数据来源于minist手写字体可视化数据集,已按照train、test文件夹进行存储,下载地址为:minist手写数字可视化数据集-深度学习文档类资源-CSDN下载

2 标注文件生成

        标注文件生成是指在没有meta文件夹的情况下,根据train、val、test文件夹自动生成meta文件夹,及其文件夹下的train.txt、val.txt和test.txt。

3 参考程序

# -*- coding: utf-8 -*-
"""
乐乐感知学堂公众号
@author: https://blog.csdn.net/suiyingy
"""

import os
from glob import glob
from pathlib import Path

def generate_mmcls_ann(data_dir, img_type='.png'):
    data_dir = str(Path(data_dir)) + '/'
    classes = ['0', '1', '2', '3', '4','5', '6', '7', '8', '9'] 
    class2id = dict(zip(classes, range(len(classes))))
    data_dir  = str(Path(data_dir)) + '/'
    dir_types = ['train', 'val', 'test']
    sub_dirs = os.listdir(data_dir)
    ann_dir   = data_dir + 'meta/'
    if not os.path.exists(ann_dir):
        os.makedirs(ann_dir)
    for sd in sub_dirs:
        if sd not in dir_types:
            continue
        annotations = []
        target_dir  = data_dir + sd + '/'
        for d in os.listdir(target_dir):
            class_id = str(class2id[d])
            images = glob(target_dir+d+'/*'+img_type)
            for img in images:
                img = d + '/' + os.path.basename(img)
                annotations.append(img+' '+ class_id+'\n')
        annotations[-1] = annotations[-1].strip()
        with open(ann_dir+sd+'.txt', 'w') as f:
            f.writelines(annotations)


if __name__ == '__main__':
    data_dir = 'data/Minist手写数字可视化数据集/'
    generate_mmcls_ann(data_dir) 

4 运行结果

        运行上述参考程序后,data_dir文件夹下会自动生成meta文件夹及相应的txt文件,txt文件内容如下图所示。

【python三维深度学习】python三维点云从基础到深度学习_Coding的叶子的博客-CSDN博客_python 三维点云

更多三维、二维感知算法和金融量化分析算法请关注“乐乐感知学堂”微信公众号,并将持续进行更新。

原网站

版权声明
本文为[Coding的叶子]所创,转载请带上原文链接,感谢
https://blog.csdn.net/suiyingy/article/details/125544517