(训练三)王朗自然保护区---数据集部分补充说明:计算xml文件里面目标数量 生成训练和测试的txt文件
1 计算xml文件里面目标数量
# -*- coding:utf-8 -*-
import os
import xml.etree.ElementTree as ET
import numpy as npnp.set_printoptions(suppress=True, threshold=10000000)
import matplotlib
from PIL import Imagedef parse_obj(xml_path, filename):tree = ET.parse(xml_path + filename)objects = []for obj in tree.findall('object'):obj_struct = {}obj_struct['name'] = obj.find('name').textobjects.append(obj_struct)return objectsdef read_image(image_path, filename):im = Image.open(image_path + filename)W = im.size[0]H = im.size[1]area = W * Him_info = [W, H, area]return im_infoif __name__ == '__main__':xml_path = 'Annotations/'filenamess = os.listdir(xml_path)filenames = []for name in filenamess:name = name.replace('.xml', '')filenames.append(name)recs = {}obs_shape = {}classnames = []num_objs = {}obj_avg = {}for i, name in enumerate(filenames):recs[name] = parse_obj(xml_path, name + '.xml')for name in filenames:for object in recs[name]:if object['name'] not in num_objs.keys():num_objs[object['name']] = 1else:num_objs[object['name']] += 1if object['name'] not in classnames:classnames.append(object['name'])sum = 0for name in classnames:print('{}:{}个'.format(name, num_objs[name]))sum += num_objs[name]print('信息统计算完毕。')print('总目标数:', sum)
如图位置放置-运行就可以统计xml文件里面目标数量
对应修改datasets/pascalvoc_2007.py 文件里面的数值即可 (注意这里的NUM_CLASSES=14)
2 放在如图路径-生成test.txt等文件
import os
import randomtrainval_percent = 0.8
train_percent = 0.7
xmlfilepath = 'Annotations'
txtsavepath = 'ImageSets\Main'
total_xml = os.listdir(xmlfilepath)num = len(total_xml)
list = range(num)
tv = int(num * trainval_percent)
tr = int(tv * train_percent)
trainval = random.sample(list, tv)
train = random.sample(trainval, tr)ftrainval = open('ImageSets/Main/trainval.txt', 'w')
ftest = open('ImageSets/Main/test.txt', 'w')
ftrain = open('ImageSets/Main/train.txt', 'w')
fval = open('ImageSets/Main/val.txt', 'w')for i in list:name = total_xml[i][:-4] + '\n'if i in trainval:ftrainval.write(name)if i in train:ftrain.write(name)else:fval.write(name)else:ftest.write(name)ftrainval.close()
ftrain.close()
fval.close()
ftest.close()
(训练三)王朗自然保护区---数据集部分补充说明:计算xml文件里面目标数量 生成训练和测试的txt文件相关推荐
- (训练一)王朗自然保护区---目标检测数据集介绍 balancap/ssd训练介绍
1数据集准备 1 王朗DIY 2 这个数据集要放在ssd目录下: /home/hp/z../Tensorflow/Deeplearning/SSD-Tensorflow-master 我们使用的tf框 ...
- (训练二)王朗自然保护区---训练前准备,设置
参考:https://blog.csdn.net/weixin_39881922/article/details/80569803 1 xml目标计算参考:https://blog.csdn.net/ ...
- mmdetection训练自己的VOC数据集及常见问题
训练自己的COCO数据集及常见问题见下文: mmdetection训练自己的COCO数据集及常见问题_不瘦8斤的妥球球饼的博客-CSDN博客 目录 一.环境安装 二.训练测试步骤 三.常见问题 bat ...
- YOLOX训练自己标注的数据集
参考原作者:YOLOX训练自己的数据集(超详细)_AI小白一枚的博客-CSDN博客_yolox训练自己的数据集 YOLOX是旷视提出来的,研究者将解耦头.数据增强.无锚点以及标签分类等目标检测领域的优 ...
- CIFAR-10模型训练python版cifar10数据集
在之前的博客中已经对CIFAR-10做了整体的解析,但是目前从tensorflow/models/tree/master/tutorials/image/cifar10中下载下来,运行cifar10_ ...
- 制作数据集(二)--为图片数据集打上标签并保存为txt文件
概要 由于我自己的项目缺少合适的数据集,所以我需要自己制作数据集,即我需要自己完成从用摄像头录制视频到制作图片数据集的整个过程.上一篇博客记录了我将视频数据剪辑为图片数据的过程.这一片博客旨在记录我为 ...
- 比赛中学习(2)-voc数据集制作中将.txt文件变为.xml文件
描述 和voc数据集制作有一点不同的是,因为参加的比赛中坐标给了4个,也就是说目标的形状可能是是平行四边形.所以和voc数据集有点不同啊.放出一张.txt文件的形式 最后的结果大致是这样的(和上面的图 ...
- 使用CycleGAN训练自己制作的数据集,通俗教程,快速上手
总结了使用CycleGAN训练自己制作的数据集,这里的教程例子主要就是官网给出的斑马变马,马变斑马,两个不同域之间的相互转换.教程中提供了官网给的源码包和我自己调试优化好的源码包,大家根据自己的情况下 ...
- 完整实现利用tensorflow训练自己的图片数据集
经过差不多一个礼拜的时间的学习,终于把完整的一个利用自己爬取的图片做训练数据集的卷积神经网络的实现(基于tensorflow) 目录 总体思路 第三部分:预处理 第四部分:网络模型 第五部分:训练 2 ...
最新文章
- 比原链Bytom错误码一览
- 第14件事 分析竞争对手的方法
- 什么是Intent? 转
- 户籍恢复需要体检吗_脑梗死后脚麻能恢复吗?需要多久能恢复呢?
- 低代码发展专访系列之七:低代码的火爆需要不一样的声音么?
- [蓝桥杯][2019年第十届真题c/c++B组]完全二叉树的权值
- 测试(一)试题及答案
- 各层电子数排布规则_原子核外电子排布规律性质-1~36号原子结构示意图-电子层排布规律...
- python二进制转十进制函数_python基础教程之python基础教程之python进制转换(二进制、十进制...
- 利用Python实现腾讯校园招聘状态查询
- Python中print的用法
- 多目标线性规划(matlab编程)
- Ubuntu 18.04 LTS (Bionic Beaver) 已经发布附官网下载链接
- CSS3动画效果-animate.css
- Android加载超长图(微博长图)
- 基于Python实现数字图像可视化水印系统
- DIY个人智能家庭网关—— 路由器篇之安装python
- linux下ganglia监控系统搭建,linux下ganglia监控系统搭建
- 2021智博会全国区块链大赛暨首届“星火杯”区块链应用大赛正式启动
- 吴军 阅读与写作50讲 发刊词 读后感
热门文章
- 关于高内聚低耦合的理解
- css圆变球体,CSS 实现的各种球体效果
- CDMA向量内积的计算
- Unity UI层元素渲染顺序
- vscode设置壁纸
- 项目问题合集dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-thyme
- Android RatingBar结合属性动画,快速实现 QQ群男女比例分布图效果
- linux c ike协议,IPSEC中IKE协议在LINUX上的实现和研究
- Windows下修改Oracle默认的端口
- Flex特效使用大全