XMLタグファイル内の各タグカテゴリのタグ数をカウントします。

        ターゲット検出タスクが重く、データ セット内のラベル カテゴリのバランスが取れていないことが心配です。XML ラベル ファイル内の各ラベル カテゴリのラベルの数を数えたい場合は、次のスクリプトを使用できます。

import os
import glob
import xml.etree.ElementTree as et

def count_labels(source_dir):
    file_list = glob.glob(os.path.join(source_dir,"*.xml"))

    labels = {}
    for file in file_list:
        tree = et.ElementTree()
        tree.parse(file)
        objects = tree.findall(".//object")
        for object in objects:
            name = object.find(".//name")
            label = name.text
            if label in labels.keys():
                labels[label] += 1
            else:
                labels[label] = 1

    count_all = 0
    print(source_dir)
    for i in labels.keys():
        print(i,labels[i])
        count_all += labels[i]
    print("all_labels : ", count_all)
    print("all_images : ", len(file_list))

if __name__ == '__main__':
    count_labels("/disk/test_xml")

         

おすすめ

転載: blog.csdn.net/limengshi138392/article/details/132341537