RFNet模型数据集采集处理流程
文章目录
- cityscapes数据集内容
- 如何标注数据得到标签图片
cityscapes数据集内容
训练模型的时候下载了cityscapes里的disparity、gtFine和leftImg8bit。

共5000张图片。2975张训练,500张验证,1525test。每个目录下都有train、test和val的子目录,这些子目录下又有一些城市名命名的子目录。train下有18个子文件夹对应德国的16个城市,法国一个城市和瑞士一个城市。train集总共有2975张png格式的大小为2048 x 1024的0-255的RGB图片。val下有3个子文件夹对应德国的3个城市。test下有6个子文件夹对应德国的6个城市。
对于disparity目录,里面放的都是深度图片;对于leftImg8bit里面放的都是原图片;对于gtFine中train目录下含有以下类型的文件:

文件的命名规则:

模型在训练的时候用到了哪些数据?
在train.py文件中加载并使用的是train_loader和val_loader。
self.train_loader, self.val_loader, self.test_loader, self.nclass = make_data_loader(args, **kwargs)
train.py中的make_data_loader()在dataloader中的__init__.py中:
def make_data_loader(args, **kwargs):if args.dataset == 'cityscapes':train_set = cityscapes.CityscapesSegmentation(args, split='train')val_set = cityscapes.CityscapesSegmentation(args, split='val')test_set = cityscapes.CityscapesSegmentation(args, split='test')num_class = train_set.NUM_CLASSEStrain_loader = DataLoader(train_set, batch_size=args.batch_size, shuffle=True, **kwargs)val_loader = DataLoader(val_set, batch_size=args.val_batch_size, shuffle=False, **kwargs)test_loader = DataLoader(test_set, batch_size=args.test_batch_size, shuffle=False, **kwargs)return train_loader, val_loader, test_loader, num_class
cityscapes.py中的CityscapesSegmentation():
self.images_base = os.path.join(self.root, 'leftImg8bit', self.split)self.disparities_base = os.path.join(self.root, 'disparity', self.split)self.annotations_base = os.path.join(self.root, 'gtFine', self.split)self.images[split] = self.recursive_glob(rootdir=self.images_base, suffix='.png')self.images[split].sort()self.disparities[split] = self.recursive_glob(rootdir=self.disparities_base, suffix='.png')self.disparities[split].sort()self.labels[split] = self.recursive_glob(rootdir=self.annotations_base, suffix='labelTrainIds.png')self.labels[split].sort()
从代码中可以看到从leftImg8bit读取原图片,从disparity读取深度图片,从gtFine读取标签图片。其中标签图片是灰度图,灰度值就是种类对应的标签值。
所以制作自己的数据集需要原RGB图片、深度图片、标签图片。如何得到标签图片?cityscapes提供了标注工具获得josn文件,再将josn文件转为labelTrainIds.png。
如何标注数据得到标签图片
1.可以利用github上提供的标注工具
2.也可以利用labelme标注
这里选择labelme,创建文件夹images,里面放rgb图片和label.txt(里面放标签),再创建文件夹labels,把标注好的json文件存在这里。
标注的时候点物体的轮廓,点回到第一个点的时候形成闭合区域,弹出对话框选择种类。

得到josn文件后,要进行一下处理。因为labelme生成的josn和原数据集的josn并不一样。一种方法是修改生成的josn文件,一种方法是修改原代码。为了以后更方便,不用标注过后再进行一次json处理,这里直接修改源代码。主要修改对应的key值,目录地址。

利用citscapesscripts生成标签图片。先修改/helper/labels.py中的标签,然后把数据集的目录给/preparation/createTrainIdLabelImgs.py,生成标签图片。标注了两张图片得到json测试得到如下结果:



为更高效的标注可以先试用分割模型输出分割结果josn文件,然后人为进行修正即可。
相关文章:
RFNet模型数据集采集处理流程
文章目录 cityscapes数据集内容如何标注数据得到标签图片 cityscapes数据集内容 训练模型的时候下载了cityscapes里的disparity、gtFine和leftImg8bit。 共5000张图片。2975张训练,500张验证,1525test。每个目录下都有train、test和val的子目录,这些子…...
sql-50练习题6-10
sql练习题6-10题 前言数据库表结构介绍学生表课程表成绩表教师表 0-6 查询"李"姓老师的数量0-7 查询学过"李四"老师授课的同学的信息0-8 查询没学过"李四"老师授课的同学的信息0-9 查询学过编号为"01"并且也学过编号为"02"的…...
【刷题宝典NO.1】
Nim游戏 https://leetcode.cn/problems/nim-game/description/ 你和你的朋友,两个人一起玩 Nim 游戏: 桌子上有一堆石头。 你们轮流进行自己的回合, 你作为先手 。 每一回合,轮到的人拿掉 1 - 3 块石头。 拿掉最后一块石头的人…...
如何在深度学习领域取得个人的成功
要在深度学习领域取得个人的成功,可以考虑以下建议: 学习深度学习的基础知识:首先,建立坚实的深度学习基础知识是非常重要的。你可以学习深度学习的基本概念、神经网络的原理、常用的深度学习框架(如TensorFlow、PyTor…...
数据结构【DS】B树
m阶B树的核心特性: Q:根节点的子树数范围是多少?关键字数的范围是多少? A:根节点的子树数∈[2, m],关键字数∈[1, m-1]。 Q:其他结点的子树数范围是多少?关键字数范围是多少? Q:对任…...
Chatgpt网页版根据关键词自动批量写原创文章软件【可多开自动登录切换gpt账号】
Chatgpt网页版根据关键词自动批量写原创文章软件介绍: 1、需要放入GPT账号和密码放入在账号库.txt里,可以放入多组账号密码,账号切换轮流使用。 2、可以自定义回答指令,也可多个回答指令随机切换。 3、可以给关键词加双标题&…...
研发效能认证学员作品:快速进行持续集成应用实践丨IDCF
作者:赖嘉明 研发效能(DevOps)工程师认证学员 随着数字化转型的推进及市场竞争的加剧,越来越多的企业也意识到持续集成的重要性。 而持续集成作为一种先进的软件开发实践和工具链,可以帮助企业实现自动化构建、集成和…...
中文编程开发语言工具系统化教程零基础入门篇和初级1专辑课程已经上线,可以进入轻松学编程
中文编程开发语言工具系统化教程零基础入门篇和初级1专辑课程已经上线,可以进入轻松学编程 学习编程捷径:(不论是正在学习编程的大学生,还是IT人士或者是编程爱好者,在学习编程的过程中用正确的学习方法 可以达到事半…...
2024年最新水果音乐制作软件FL Studio21需要多少钱呢?
水果,全称Fruity Loop Studio,简称FL Studio。是一款全能的音乐制作软件,经过二十多年的演化更迭,其各项功能非常的先进。其开创性的Pat\song模式,也为初学者的学习提供了便利。那么水果音乐制作软件FL Studio21需要多…...
当生成式AI遇到业务流程管理,大语言模型正在变革BPM
生成式AI对各领域有很大影响,一个方面在于它改变了很多固有业务的工作流。 工作流(Workflow)是业务流程的一种实现方式,一个业务流程往往包含多个工作流范式以及相关的数据、组织和系统。 因此,提及工作流必然离不开业…...
Kotlin数据流概览
文章目录 一 什么是数据流二 创建数据流三 修改数据流四 从数据流中进行收集五 数据流捕获异常六 在不同 CoroutineContext 中执行七 Jetpack 库中的数据流八 将基于回调的 API 转换为数据流 一 什么是数据流 数据流以协程为基础构建,可提供多个值。从概念上来讲&a…...
npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本。
1、在vscode终端执行 get-ExecutionPolicy ,显示Restricted,说明状态是禁止的。 2、更改状态: set-ExecutionPolicy RemoteSigned 出现需要管理员权限提示,可选择执行 Set-ExecutionPolicy -Scope CurrentUser 出现的ExecutionPolicy参数后输…...
036-第三代软件开发-系统时间设置
第三代软件开发-系统时间设置 文章目录 第三代软件开发-系统时间设置项目介绍系统时间设置演示效果QML 实现小伙伴自创 TumblerQt 家 Tumbler C 端实现 总结一下 关键字: Qt、 Qml、 Time、 时间、 系统 项目介绍 欢迎来到我们的 QML & C 项目!…...
C语言:杨氏矩阵、杨氏三角、单身狗1与单身狗2
下面介绍四道题目和解法 1.杨氏矩阵 算法:右上角计算 题目:有一个数字矩阵,矩阵的每行从左到右是递增的,矩阵从上到下是递增的,请编写程序在这样的矩阵中查找某个数字是否存在。 要求:时间复杂度小于O(N…...
PX4天大bug,上电反复重启,连不上QGC!
一、Debug与Bug 由于自己写的代码CPU占用率过高,解锁报错 CPU load too high!无法解锁。 于是把 COM_CPU_MAX 从默认的 90% 变为 99%(千万别这样搞,这是bug,除非想玩!)。 然后重启,飞机就反…...
归并排序——
之前我们学习过把两个有序数组合并再一起后任然有序,就叫归并; 那么,排序是否也可以把一个要排序的数组分割成两个有序的数组,然后归并,之后再拷贝回原数组,就实现了排序 但是怎么才能控制分割成的数组是有…...
阿里云企业邮箱基于Spring Boot快速实现发送邮件功能
邮件在项目中经常会被用到,比如用邮件发送通知。比如,通过邮件注册、认证、找回密码、系统报警通知、报表信息等。本篇文章带大家通过SpringBoot快速实现一个发送邮件的功能。 邮件协议 下面先简单了解一下常见的邮件协议。常用的电子邮件协议有SMTP、…...
大数据Doris(十三):创建用户和创建数据库并赋予权限
文章目录 创建用户和创建数据库并赋予权限 一、创建用户...
【Unity小技巧】可靠的相机抖动及如何同时处理多个震动
文章目录 每篇一句前言安装虚拟相机虚拟相机震动测试代码控制震动清除震动控制震动的幅度和时间 两个不同的强弱震动同时发生源码完结 每篇一句 围在城里的人想逃出来,站在城外的人想冲进去,婚姻也罢,事业也罢,人生的欲望大都如此…...
Megatron-LM GPT 源码分析(四) Virtual Pipeline Parallel分析
引言 本文接着上一篇【Megatron-LM GPT 源码分析(三) Pipeline Parallel分析】,基于开源代码 GitHub - NVIDIA/Megatron-LM: Ongoing research training transformer models at scale ,通过GPT的模型运行示例,从三个维…...
龙虎榜——20250610
上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...
网络六边形受到攻击
大家读完觉得有帮助记得关注和点赞!!! 抽象 现代智能交通系统 (ITS) 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 (…...
汽车生产虚拟实训中的技能提升与生产优化
在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...
基于Uniapp开发HarmonyOS 5.0旅游应用技术实践
一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来…...
【2025年】解决Burpsuite抓不到https包的问题
环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...
AI书签管理工具开发全记录(十九):嵌入资源处理
1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...
稳定币的深度剖析与展望
一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...
ABAP设计模式之---“简单设计原则(Simple Design)”
“Simple Design”(简单设计)是软件开发中的一个重要理念,倡导以最简单的方式实现软件功能,以确保代码清晰易懂、易维护,并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计,遵循“让事情保…...
Xen Server服务器释放磁盘空间
disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...
论文笔记——相干体技术在裂缝预测中的应用研究
目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术:基于互相关的相干体技术(Correlation)第二代相干体技术:基于相似的相干体技术(Semblance)基于多道相似的相干体…...
