在实际过程中走了弯路,特地进行说明记录,以备今后参考。
思路是先构建VOC2007格式的猪脸数据集,在转换成tf格式,然后利用tf的objectdetectionapi进行训练。原因是把2种构建方式都熟悉一遍,并把所有流程过一遍。
1、构架VOC2007格式的猪脸数据集
------ Annotations
------ ImageSets
------ Main
------ JPEGImages
第一步:准备自己需要的图片,最好是jpg格式。如若不是则需要转换成jpg格式。
因为很多图片都是从网上找的,格式、大小都不一样,为了后续训练需要最好统一下大小,并把格式统一转换成jpg格式。
图片的数量,一般来说最好一千张以上。为了后续训练出好的效果,最好一万张以上。
第二步:图片的重命名,因为VOC2007格式必须为JPG格式,并且图片是统一的六位数字,从000001开始。那我们也需要将所有训练图片重命名为此。
第三步:进行目标物体的标注。推荐用labelImg,因为它可直接生成符合VOC2007格式的xml文件。
主要是体力活。
第四步:数据集的分割。
在实际训练过程中,需要四个文件,分别为test.txt是测试集,train.txt是训练集,val.txt是验证集,trainval.txt是训练和验证集。每个文件为对于图片的名字。在VOC2007中,trainval大概是整个数据集的50%,test也大概是整个数据集的50%;train大概是trainval的50%,val大概是trainval的50%。
参照python源码:split-datasets.py
------ Annotations 将xml文件全部放到该文件夹里
------ ImageSets
------ Main 其有四个txt文件,test.txt是测试集,train.txt是训练集,val.txt是验证集,trainval.txt是训练和验证集。Txt里的内容是即图片名字(无后缀)。
------ JPEGImages 所有的训练图片放到该文件夹里
第七步:转换成tf的record格式的数据集文件。
第八步:进行训练。
上述的6,7,8可参考我的github代码,网址是。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- igbc.cn 版权所有 湘ICP备2023023988号-5
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务