我在看有个同行的博客,发现他把SSD的训练总结的非常好,我用他的训练方法,使用VOC2007数据集进行训练跑通了代码。环境是WINDOWS10+tensorflow-gpu1.9版本。但是这个大兄弟的最终的类别框的计算代码有问题。这里把我写的代码与诸位分享一下。针对的是VOC2007的20分类数据集,最初发现我的输出结果与那个仁兄的训练数据对不上,我仔细检查了areoplane类别的计算结果,发现我的是正确的,有可能是我的数据集版本和那个兄弟的数据集不一样,这也有可能是我训练的时候map只有54%的原因。
废话少说,贴出代码,使用解析XML的方式解决训练集框的数量。
import re
import os
import xml.etree.ElementTree as ET
class1 = 'aeroplane'
class2 = 'bicycle'
class3 = 'bird'
class4 = 'boat'
class5 = 'bottle'
class6 = 'bus'
class7 = 'car'
class8 = 'cat'
class9 = 'chair'
class10 = 'cow'
class11 = 'diningtable'
class12 = 'dog'
class13 = 'horse'
class14 = 'motorbike'
class15 = 'person'
class16 = 'pottedplant'
class17 = 'sheep'
class18 = 'sofa'
class19 = 'train'
class20 = 'tvmonitor'
annotation_folder = 'E:/训练数据集/VOC2007/VOCtrainval_06-Nov-2007/VOCdevkit/VOC2007/Annotations/' #改为自己标签文件夹的路径
list = os.listdir(annotation_folder)
def fi

本文介绍了在使用SSD进行目标检测时,如何计算数据集中每个类别的边界框数量。作者在Windows10环境下,利用Tensorflow-GPU1.9版本训练VOC2007数据集,发现并修正了某同行代码中的问题。分享的代码通过XML解析方式获取类别统计,结果显示为类别、对应图片数及检测框次数。作者提供的程序输出正确,并欢迎讨论代码问题。
3258

被折叠的 条评论
为什么被折叠?



