SSeg总体思路

news/2024/4/24 21:27:10/

1:在train中加载train和test数据集。
在这里插入图片描述
2:指定数据集为kitti,确定训练验证的batchsize。
在这里插入图片描述
3:提前定义好数据预处理,首先是几何变换,包括随机裁切等。
在这里插入图片描述
4:然后是外观变换,包括高斯滤波,调整颜色等。
在这里插入图片描述
5:这些都是train的变化,接着是validation的变换。只有归一化和转换为tensor。
在这里插入图片描述
6:然后就是定义dataset,包括对图片进行处理。
在这里插入图片描述
7:接着在KITTI数据集中,定义参数:
在这里插入图片描述
8:最重要的是划分数据集:首先看一下原始目录:
在这里插入图片描述
training:
在这里插入图片描述
testing:
在这里插入图片描述
9:如果mode为test,quality为semantic,制作test数据集。
在这里插入图片描述
10:img位于KITTI下的testing下的image_2目录中。将testing文件夹下image的图片和None(testing没有标签)作为一个列表存储起来,并返回。
在这里插入图片描述
11:如果mode不为test,那么还可以为train,trainval。首先查看training目录下image2和semantic目录下的图片。通过一一遍历组合成一个(image,mask)组成的列表。接着将列表进行划分。
在这里插入图片描述
12:通过get_train_val进行划分。确定好按几折划分。
在这里插入图片描述
13:给出val所对应的图片,有20个,遍历循环,将位于val_0/1/2的图片添加到val_set中,其余的添加到train_set中并返回。
在这里插入图片描述
在这里插入图片描述
14:判断mode的模式,这里第一次看漏了,如果mode = train,则items=train_set=180张image和对应的180张mask。如果mode=val,则items=val_set=20张image和对应的20张mask。如果mode=trainval,则items=train_set + val_set=200张所有的image和对应的200张mask。
在这里插入图片描述
在kitti验证时候,验证的是所有图片。
在这里插入图片描述
15:接着生成一个json:
在这里插入图片描述
16:将self.imgs图片和类别,以及cityscape的id_to_trainid输入到class_centroids_all中,猜测是将semantic的34个类别映射到19个类别,将centroids写入到json文件中。
在这里插入图片描述
17:接着用新生成的uniform_image代替旧的image。
在这里插入图片描述
18:接着在get_item_中读入图片,并对图片进行处理。


http://www.ppmy.cn/news/48161.html

相关文章

标准C库函数之memcpy(内存函数)

memcpy函数 memcpy函数是C标准库(string.h库)中一个非常重要且常用的函数。它用于将一段内存区域的内容复制到另一个内存区域。这个函数在底层使用内存操作进行数据复制,通常比逐个元素的复制更高效。 memcpy函数的原型如下: #in…

PCB阻焊桥存在的DFM(可制造性)问题,华秋一文告诉你

PCB表面的一层漆,称为阻焊油墨,也就是PCB线路板阻焊油墨。阻焊油墨是PCB线路板中非常常见、也是主要使用的油墨,一般90%都是绿色,但也有杂色油墨:红色、蓝色、黑色、白色、黄色等。 阻焊油墨的作用就是绝缘&#xff0…

AI绘画——ControlNet扩展安装教程

目录 1.ControlNet安装 2.预处理模型安装 预处理模型(annotator)下载链接: 预处理模型安装地址: 3.ControlNet模型下载 Controlnet模型下载地址: Controlnet模型安装目录: 注:&…

English Learning - L2 语音作业打卡 语音语调四步法 Day59 2023.4.20 周四

English Learning - L2 语音作业打卡 语调四步法 Day59 2023.4.20 周四 💌发音小贴士:💌当日目标音发音规则/技巧:🍭 Part 1【热身练习】🍭 Part2【练习内容】🍭【练习感受】🍭 Part3【存在问题…

JDBC使用

目录 1.JDBC常用接口和类 1 JDBC API 2 数据库连接Connection 1.通过DriverManage 2.通过DataSource对象获取 3.Statement对象 4.ResultSet对象 2.步骤 3.代码 1.JDBC常用接口和类 1 JDBC API 在Java JDBC编程中对数据库的操作均使用JDK自带的API统一处理,…

40岁以上的程序员还容易找到工作吗?聊聊我自己的亲身经历

今天我们来讨论一个比较热门的话题,那就是程序员。如果到了40岁以上还容易找到工作吗?这个问题呢,其实是一个非常现实的问题,也是我们程序员非常关心的一个问题。因为我们每一个程序员,他都会有到40岁的那一天。 首先…

《花雕学AI》12:从ChatGPT的出现看人类与人工智能的互补关系与未来发展

马云说道,ChatGPT这一类技术已经对教育带来挑战,但是ChatGPT这一类技术只是AI时代的开始。 谷歌CEO桑德尔皮猜曾说:“人工智能是我们人类正在从事的最为深刻的研究方向之一,甚至要比火与电还更加深刻。” 360周鸿祎认为&#xf…

LinuxGUI自动化测试框架搭建(十五)-截图功能screenShort.py封装和调用

(十五)-截图功能screenShort.py封装和调用 1 实现目的2 测试需求3 需求分析4 详细设计4.1 创建脚本4.2 截图名称命名规则4.3 脚本设计5 创建截图保存目录6 完整截图功能代码7 登录成功后调用截图8 baseInfo.py脚本更新后的代码9 截图效果10 目前框架结构1 实现目的 有时候我…

shell中的for循环和if判断

一.编写脚本for1.sh,使用for循环创建20账户,账户名前缀由用户从键盘输入,账户初始密码由用户输入,例如: test1、test2、test3、.....、 test10 1.创建脚本for1.sh [rootserver ~]# vim for1.sh 2.编写脚本for1.sh 3.执行脚本for1.sh [roo…

基于Java+Springboot+Vue+elememt美食论坛平台设计实现

基于JavaSpringbootVueelememt美食论坛平台设计实现 博主介绍:5年java开发经验,专注Java开发、定制、远程、指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 Java项目精品实战案例《500套》 欢迎点赞 收藏 ⭐留言 文末获取源码联系方式 文…

vue3新的组件

1.Fragment - 在Vue2中: 组件必须有一个根标签 - 在Vue3中: 组件可以没有根标签, 内部会将多个标签包含在一个Fragment虚拟元素中 - 好处: 减少标签层级, 减小内存占用 没有写根标签,也没有报错,如果是在v2中,我们还需要用一个div来包裹它 …

Android监听消息(二)——电话及短信监听

学更好的别人, 做更好的自己。 ——《微卡智享》 本文长度为2747字,预计阅读6分钟 前言 前面一篇《Android监听消息(一)——应用消息捕获》我们使用NotificationListenerService实现了应用的消息监听,但是电话和短信是…

WPF教程(二)--Application WPF程序启动方式

1.Application介绍 WPF与WinForm一样有一个 Application对象来进行一些全局的行为和操作,并且每个 Domain (应用程序域)中仅且只有一个 Application 实例存在。和 WinForm 不同的是WPF Application默认由两部分组成 : App.xaml 和 App.xaml.…

软考-项目管理科学基础(二十一)

第21章项目管理科学基础 (P607考5分择) 21.1.2项目经济评价 根据是否考虑资金的时间价值,投资项目经济评价方法可分为两类:静态评价和动态评价。 1.静态评价方法 静态评价是指在进行项目方案效益和费用的计算时,不考虑资金的时间价值,不计利…

CMD命令学习整理

01、定时关机 倒计时:shutdown -s -t 3600 解释:-s表示本机;-t 3600表示3600秒后。意思就是本台电脑在一个小时后关机 at 12:00 shutdown -s 表示本台电脑将在12点关机。大家可以按照自己的需求设置。 取消:shutdown -a 取消关…

设计模式-行为型模式之中介者模式

2. 中介者模式 2.1. 模式动机 在用户与用户直接聊天的设计方案中,用户对象之间存在很强的 关联性,将导致系统出现如下问题: 系统结构复杂 对象之间存在大量的相互关联和调用,若有一个对象发生变化,则需要跟踪和该对象关…

苹果撤离中国市场?中国市场太重要,印度制造是备胎

苹果在中国之行后,却计划进一步扩大印度制造iPhone的比例,甚至将iPhone15全数交给印度制造,业界因此认为苹果正在离开中国市场,然而这完全是臆想,中国市场对苹果来说仍然非常重要,它不会轻易舍弃这个市场。…

进程和线程的区别

进程和线程的区别 进程线程线程和进程的区别堆栈空间安全性通信机制 什么时候使用进程和线程线程和进程之间的关系多线程一般用在哪些方面多线程的优点多线程的缺点 进程 资源分配的最小单元 线程 程序执行的最小单元 系统分配处理器时间的基本单元 线程和进程的区别 堆栈…

( “树” 之 BFS) 637. 二叉树的层平均值 ——【Leetcode每日一题】

637. 二叉树的层平均值 给定一个非空二叉树的根节点 root , 以数组的形式返回每一层节点的平均值。与实际答案相差 1 0 − 5 10^{-5} 10−5 以内的答案可以被接受。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:[3.00000,14.50000,1…

性能优化3-分帧寻路+寻路任务统一管理

前言 当项目里的地图越来越大,一些性能上的问题开始逐渐出现,比如寻路。玩家在操控角色移动的时候,指引需要实时更新,同时一些npc也需要做移动,容易出现cpu占用率短时间过高,甚至掉帧的情况。 去年底的时候…