Faster R-CNN Tensorflow实现之数据集制作(3)---xml文件信息写入txt文件中

win10 tensorflow faster rcnn训练自己的数据集(一、制作VOC2007数据集) 参考博客:http://blog.youkuaiyun.com/gaohuazhao/article/details/60871886 一、关于VOC数据集: 1)JPEGImages文件夹 文件夹里包含了训练图片和测试图片,混放在一起 2)Annatations文件夹 文件夹存放的是xml格式的标签文件,每个xml文件都对应于JPEGImages文件夹的一张图片 3)Im 阅读详情

按照前面三篇文章的顺序标注好数据后,现在需要将数据集进行划分,包括train,test,trainval,val等四个部分,也就是生成ImageSets文件夹中的主文件夹中的四个的txt文件。四个TXT文件中都只包含对应图像的名称,不包含扩展名。内容如下

说明一下这四个文件的对应关系,即总的数据集分为trainval和test,在trainval又划分成train和val,所以我们需要根据自己数据情况来设置对应的比例。根据这个比例对XML文件进行划分得到对应的TXT文件来处理标注数据。下面贴出我制作时参考的大佬源码,写下来记录一下。

python版

import os  
import random  
  
trainval_percent = 0.66  
train_percent = 0.5  
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()

MATLAB版

xmlfilepath='E:\Annotations';  
txtsavepath='E:\ImageSets\Main\';  
trainval_percent=0.5;      %%trainval占整个数据集的百分比,剩下部分就是test所占百分比  
train_percent=0.5;         %%train占trainval的百分比,剩下部分就是val所占百分比  

xmlfile=dir(xmlfilepath);  
numOfxml=length(xmlfile)-2; %%总的数据集大小,不包含.和..    

trainval=sort(randperm(numOfxml,floor(numOfxml*trainval_percent)));  
test=sort(setdiff(1:numOfxml,trainval));  

trainvalsize=length(trainval); #trainval的大小  
train=sort(trainval(randperm(trainvalsize,floor(trainvalsize*train_percent))));  
val=sort(setdiff(trainval,train));  

ftrainval=fopen([txtsavepath 'trainval.txt'],'w');  
ftest=fopen([txtsavepath 'test.txt'],'w');  
ftrain=fopen([txtsavepath 'train.txt'],'w');  
fval=fopen([txtsavepath 'val.txt'],'w');  

for i=1:numOfxml  
    if ismember(i,trainval)  
        fprintf(ftrainval,'%s\n',xmlfile(i+2).name(1:end-4));  
        if ismember(i,train)  
            fprintf(ftrain,'%s\n',xmlfile(i+2).name(1:end-4));  
        else  
            fprintf(fval,'%s\n',xmlfile(i+2).name(1:end-4));  
        end  
    else  
        fprintf(ftest,'%s\n',xmlfile(i+2).name(1:end-4));  
    end  
end  
fclose(ftrainval);  
fclose(ftrain);  
fclose(fval);  
fclose(ftest);  

 至此,所有的数据制作工作结束,接下来就是运行train.py就OK了,但是再运行是又碰到了下面这个错误

这个问题也是耽误了一段时间,后来找到了答案

原来是我在之前利用标准VOC2007数据集训练网络时在Faster-RCNN-TensorFlow-Python3.5-master\lib\data\cache\文件夹下生成了一个后缀名为pkl文件,我们在训练之前需要将它删去,然后这个KeyError问题就解决了。至此终于看到了一点希望的曙光!

 

参考文章:

https://blog.youkuaiyun.com/gaohuazhao/article/details/60871886

https://blog.youkuaiyun.com/u011574296/article/details/78953681

windows+tensorflow+fasterRcnn---3 下面就是用别人的框架训练自己的数据了 (1)  依旧是在源码  https://github.com/dBeker/Faster-RCNN-TensorFlow-Python3.5的基础之上进行改进 (2)  准备数据集: 需要:在masteràdata 下创建一个自己的存放数据的文件夹,如:VOCdevkit2007在该文件夹下: a.   创建文件夹An 阅读详情

相关推荐

TensorFlow 1.14 + Mask R-CNN 工业级部署实战指南

Mask R-CNN 是一种融合目标检测与像素级实例分割的两阶段模型,其核心原理在于通过 RPN 生成候选区域,并经 RoIAlign 对齐后并行输出分类、回归与二值掩码。该架构强调定位精度与结构可解释性,技术价值体现在亚像素级 mask 边界、稳定 IoU 输出及全流程显式控制能力,广泛应用于医疗影像分析、工业缺陷检测和遥感图像解译等对可靠性要求严苛的场景。在工程落地中,TensorFlow 1.14 凭借静态计算图、session 显式管理与 Keras 独立包 API 稳定性,成为兼顾复现性、内存可控

weixin_34151004的博客 403

tensorflow2------猫狗数据集的分类以及模型部署运行在jetson nano上

1. 猫狗图片数据集下载 首先我们需要做一些准备工作,即准备需要训练模型的猫狗图片数据集。 这里我们猫狗数据集图片来源于kaggle中Dogs vs. Cats数据集,下载后我们提取了其中的猫的图片和狗的图片各1500张,训练集中帽钩图片各1000张,验证集中猫狗图片各500张。并新建了一个test文件夹,用于存放我们需要预测的一些猫狗图片资源。文件夹目录下: test train validation 2. 迁移学习resnet50并进行模型训练 这里我们使用迁移学习使用resnet50的模型..

Stay Hungry Stay Foolish 2763

手撕Faster R-CNN:TensorFlow 2.18从零实现目标检测全流程

目标检测是计算机视觉的核心任务之一,其本质是将图像中物体的类别与位置联合预测。Faster R-CNN作为两阶段检测器的里程碑架构,依托区域建议网络(RPN)与特征共享机制,在精度与鲁棒性上具有显著优势。其技术价值在于解耦定位与分类、引入anchor先验提升小目标召回,并通过RoI Align实现亚像素级特征对齐。典型应用场景涵盖工业质检、农业遥感(如水稻病斑识别)、智能仓储(托盘定位)等需高精度框回归的落地领域。本文聚焦Faster R-CNN在TensorFlow 2.18环境下的可调试、可复现实现,深

weixin_33834628的博客 401

Tensorflow框架下目标检测所需数据集的制作步骤:

第一步:收集图片,按照一定比例分别放置在train文件夹和test(或者val数据集)文件夹中的JPEGImage文件夹下;注意:训练集和验证集文件夹下分别有Annotation文件夹和JPEGImage文件夹; 第二步:分别对文件夹下的图片进行统一命名,一般多以数字升序来命名; 1、可以使用Windows自带的重命名,一般数字名称会带有括号,可以按照另一个博主的文章进行对应的修改;地址链接如...

qq_41248447的博客 543

Faster R-CNN工程落地:数据-模型-训练-部署全链路实战

Faster R-CNN作为经典两阶段目标检测框架,其核心价值在于高精度定位与强泛化能力,但实际落地常受制于数据格式不统一、anchor匹配失准、RPN与ROI Head特征错位等隐性耦合问题。理解其坐标归一化机制、RoI Align原理及RPN回归目标定义,是突破mAP瓶颈的关键技术基础。结合TensorFlow 2.x生态,通过YAML配置解耦、三层数据校验、动态学习率调度与COCO细粒度评估,可系统性提升小目标检测性能与训练稳定性。本文聚焦aeroscapes数据集适配、鸟类目标检测实践及tensor

weixin_34080571的博客 509

TensorFlow实现Faster R-CNN:目标检测从锚框到训练全攻略

目标检测是计算机视觉的核心任务之一,Faster R-CNN作为一种经典两阶段检测架构,通过RPN和ROI Pooling实现了高精度定位。本文从深度学习工程实践角度出发,详细讲解用TensorFlow搭建Faster R-CNN的完整流程,包括锚框生成、RPN分类与回归、ROI采样、损失计算等关键环节。针对训练中常见的空框、loss震荡、坐标偏移等问题,给出了可落地的解决方案,并介绍了VOC数据制作成TFRecord的方法。适合已有标注数据、希望快速训练出可用检测模型的开发者,可广泛应用于工业质检、遥感分

weixin_29051193的博客 125

【TensorFlow2.0】经典数据集加载与数据集处理

  利用tensorflow提供的工具便捷的加载经典数据集。自定义的数据集以后再讲。   tensorflow中keras.Datasets数据集对象,方便实现多线程、预处理、随机打散、批训练等常用数据集的功能。   常用经典数据集:   (1)Boston housing:波士顿房价趋势数据集   (2)CIFAR10/100:真实图片数据集,用于图片分类   (3)MINIST/Fashion...

qq_36926037的博客 2650

VOC2007数据集全解析:从文件结构到目标检测实战

目标检测是计算机视觉的核心任务之一,旨在识别图像中特定物体的位置和类别。其基本原理是通过算法模型在图像中定位并分类多个目标,技术价值在于为自动驾驶、安防监控和图像分析等应用提供关键能力。在工程实践中,高质量的数据集是模型训练与评估的基石。Pascal VOC 2007作为经典基准数据集,以其严谨的XML标注格式和清晰的目录结构,定义了早期目标检测任务的范式,成为理解边界框、类别定义及模型评估指标(如mAP)的理想起点。掌握其数据加载、预处理及与PyTorch等框架的集成方法,是构建高效检测pipeline、

weixin_34216107的博客 292

python 解析xml格式_【TensorFlow】Python解析xml文件

最近在项目中使用TensorFlow训练目标检测模型,在制作自己的数据集时使用了labelimg软件对图片进行标注,产生了VOC格式的数据,但标注生成的xml文件标签值难免会产生个别错误造成程序无法跑通,或后期有修改xml中标签值的需求,所以得使用Python代码对xml文件进行解析操作,当然也是参考了各种博客,故在此总结一下。1. xml文件格式由labelimg标注生成的xml文件格式如下所示...

weixin_39633171的博客 411

faster rcnn训练集标签生成

因为我当时训练的faster rcnn网络需要提取的boundingbox区域大致可以确定,所以下了个批量生成json标签的代码

手把手教你用STM32F103的IO口模拟XY2-100协议驱动数字振镜(附Keil O3优化代码)

本文详细介绍了如何使用STM32F103的IO口模拟XY2-100协议驱动数字振镜,包括协议解析、偶校验算法、寄存器级优化及Keil O3编译下的性能调优。通过硬件配置、核心代码实现和优化技巧,帮助开发者实现高速二维偏转控制,适用于工业激光雕刻和精密定位系统。

weixin_42527401的博客 261

Tensorflow2.0学习笔记-自制数据集及训练

自制数据集及应用 本次使用mnist的图片做一个自制的数据集,其中在文件夹中存放需要用到的数据,包含了训练的60000张28 * 28的图片,和测试的10000张28 * 28图片。每个图片对应的有自己的标签。  直接上代码: import tensorflow as tf from PIL import Image import numpy as np import os train_path = './mnist_image_label/mnist_train_jpg_60000/' # 训练

weixin_43115631的博客 1674

TESSY创建单元测试或集成测试工程

我们以tessy5.1为例,给大家展示单元测试和集成测试工程的创建过程。

空气中的告白专栏 1686

场景文本检测实战:用R2CNN_Faster-RCNN_Tensorflow攻克ICDAR2015数据集完整教程

R2CNN_Faster-RCNN_Tensorflow 是一个基于 TensorFlow 实现的 Faster R-CNN 变体,内置旋转框(Rotated Box)检测能力,是完成 **ICDAR2015 场景文本检测** 任务的经典入门项目。本文将带你从环境搭建、数据转换到训练推理,完整走通"场景文本检测"全流程 🚀 [![ICDAR2015场景文本检测推理原图](https://raw

gitblog_00121的博客 547

win 11bitlocker恢复密匙一般情况的解决方式(这里指的是你现在使用的微软账户一直没有变更过)

本来没有打算写这一篇解决帖子的,但是最近好多微博的友友都在私我询问解决方法,孩子虽然很热心,但是真的回复不过来了,打字太累了,这里给大家简单指个路,希望能够对大家有所帮助。 当时出现这个问题的时候,一搜网上的解决方法都是重装系统什么的,真是吓死孩子啦。后来去微软的官网倒腾了半天解决了问题。其实只要你没有改过微软账户,你可以直接试试我这个方法,大概三到五分钟解决问题吧。 和我情况不一样的也可以参考一下贴吧里一些大佬的分享,或者实在着急我感觉去淘宝上找个解决也不是未尝不可。 出现问题: 解决方案: 直接去微软

zhiqingxue的博客 2万+

Ubuntu docker镜像中下载安装 DPABI(DPARSF)

在Ubuntu服务器的docker镜像中用MATLAB运行DPABI(以及使用DPARSF的功能)。

Pandako's Blog 1723

R2CNN_Faster-RCNN_Tensorflow数据准备详解:DOTA数据集裁剪与TFRecord转换全流程教程

R2CNN_Faster-RCNN_Tensorflow 是一个基于 TensorFlow 实现的 Faster R-CNN 变体目标检测项目,专为遥感图像处理优化,支持任意方向目标检测。本文带你完整走通它的数据准备流程:从 DOTA 遥感数据集裁剪、VOC 格式整理,到 TFRecord 数据集转换,让你快速准备好训练所需的自定义数据 🚀 [![R2CNN_Faster-RCNN_Tenso

gitblog_00632的博客 455

实战拆解:RAG vs Agent在金融风控中的性能对比

2024年上半年我帮某华东地区城商行做零售交易反欺诈系统升级时,技术团队曾发生过一次激烈争论:一派认为应该优先上RAG(检索增强生成)方案,成本低、落地快、合规性好;另一派坚持要上Agent(智能体)方案,推理能力强、能应对复杂新型欺诈。最终我们做了完整的AB测试,结论是两者没有绝对的优劣,只有场景适配的差异:RAG适合高并发、低时延的实时风控场景,Agent适合低并发、高准确率要求的事后核查/大额审批场景,两者结合的 hybrid 方案能覆盖95%以上的风控需求。本文我会结合真实项目的测试数据,从核心概念

AI天才研究院 251

mermaid-live-editor 快速上手:3 行文本出图,PNG 导出与链接分享一次讲清

mermaid-live-editor 是免费的开源 Mermaid 图表在线编辑器,打开浏览器就能编辑、预览、分享图表。核心就一件事:图写成文本,图当链接分享。 ## 图一改,文档就过期 文档里贴的静态流程图,流程一改图就过期,重截图永远追不上文字。mermaid 把图写成文本,能进 Git、能 diff、能随文档版本化,mermaid-live-editor 负责在浏览器里边写边看这半步。

gitblog_00887的博客 706

SMMU软件指南SMMU编程之流表(Stream Table)

SMMU使用一组内存中的数据结构来定位翻译数据,详见“转换过程概述”(Translation process overview)。SMMU_(*_)STRTAB_BASE 存储初始结构(流表,Stream Table)的基地址。流表项(Stream Table Entry, STE)包含二级(Stage 2)转换表的基址指针,同时也定位一级(Stage 1)配置结构,这些配置结构包含转换表的基址指针。 传入事务的 StreamID,由 SEC_SID 进行限定,决定了用于查找的流表,并定位相应的STE。

AI-安全-功耗 1189

【YOLO系列】YOLOv5超详细解读(源码详解+入门实践+改进)

一文带你详细了解YOLOv5(含YOLO系列论文讲解+源码详解+入门实践+算法改进)

路人贾的博客 25万+

深度解析R2CNN_Faster-RCNN_Tensorflow核心思想:水平检测+旋转精化如何让mAP大幅提升?

R2CNN_Faster-RCNN_Tensorflow 是一个基于 TensorFlow 实现的 **遥感图像目标检测** 框架,在 Faster R-CNN 基础上引入「水平检测 + 旋转精化」双分支思想(R²CNN),专门解决遥感图像中飞机、船舶、车辆等**任意朝向目标**的检测难题。在 DOTA 基准测试上,其旋转框检测 mAP 达到 **60.67**,显著优于同类方法,是入门**旋转框

gitblog_00598的博客 345

电子电器架构 -- 汽车零部件DV试验与PV试验的定义及关键差异

电子电器架构 -- 汽车零部件DV试验与PV试验的定义及关键差异

Soly_kun的博客 733

R2CNN_Faster-RCNN_Tensorflow评估体系全解:旋转框mAP计算与VOC评测原理(新手友好完整指南)

R2CNN_Faster-RCNN_Tensorflow 是一个基于 TensorFlow 实现的 Faster R-CNN 旋转框目标检测开源项目,专为遥感图像中的船舶、飞机、体育场等**任意朝向目标**设计。它的核心特色是支持**旋转框(Rotated Box)输出**,并内置了完整的 VOC 风格评测体系:一条命令即可完成水平框与旋转框双路 mAP 计算、PR 曲线绘制。本文将用通俗的语言,

gitblog_00806的博客 631

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

ubuntu tensorflow cpu Faster-RCNN配置参考

https://blog.youkuaiyun.com/qq_36652619/article/details/85006559 (参考) https://blog.youkuaiyun.com/zcy0xy/article/details/79614862 (详细) https://blog.youkuaiyun.com/sinat_33486980/article/details/81045315 ...

weixin_30724853的博客 192

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

制作自己的数据集(VOC2007格式)用于Faster-RCNN训练

一、数据集文件夹 新建一个文件夹,用来存放整个数据集,或者和voc2007一样的名字:VOC2007然后在文件夹里面新建如下文件夹: 二、将训练图片放到JPEGImages 将所有的训练图片放到该文件夹里,然后将图片重命名为VOC2007的“000005.jpg”形式 重命名的python代码为: import os path = r"D:\VOC2007\JPEGIma...

weixin_30905133的博客 346

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

上一篇: Faster R-CNN Tensorflow实现之数据集制作(2)--- xml文件的读写修改
下一篇: Tensorboard可视化工具的使用
SuperLee188
博客等级 码龄10年 41粉丝 17原创
评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SuperLee188

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值