代码调试3:coco数据集生成退化图

news2024/11/26 0:32:55

代码调试:coco数据集生成退化图

作者:安静到无声 个人主页

目录

    • 代码调试:coco数据集生成退化图
    • 问题1:原始图片要生成多种类型的退化图。
    • 问题2:输入尺寸的匹配问题。
    • 问题3:如何将缩放后的图片恢复到原始尺寸?遇到灰色图片怎么办。
    • 问题4:如何设计出端到端的的程序
    • 问题5:原始程序不能更改的数据,关系到尺寸的比例
    • 问题6:生成不同颜色的退化图——执行命令
    • 问题7:因为batch_size=10,coco数据集不是10的倍数,有些数据未生成,我们需要对它进行单独转换
    • 推荐专栏

问题1:原始图片要生成多种类型的退化图。

  1. 因为一共有6种,所以我们可以创建6个文件,分别生成不同的退化图模型。
main_coco_yellow.py
main_coco_highgreen.py
main_coco_highblue.py
main_coco_green.py
main_coco_bluegreen.py
main_coco_blue.py

我首先创建了main_coco_yellow.py文件,调试之后,生成正常的yellow图片。

  1. 程序的路径配置有4个,分别是原始图片的位置路径,深度图的位置路径,权重的存放位置路径和结果生成的位置路径。
  • 原始图的位置路径:
/home/lihuanyu/code/011yolov8/COCOdevkit/COCO2014/test2014/
/home/lihuanyu/code/011yolov8/COCOdevkit/COCO2014/val2014
home/lihuanyu/code/011yolov8/COCOdevkit/COCO2014/train2014/
  • 深度图的位置路径:
/home/lihuanyu/code/011yolov8/COCOdevkit/COCO2014/深度图/test2014/
 /home/lihuanyu/code/011yolov8/COCOdevkit/COCO2014/深度图/val2014/
 /home/lihuanyu/code/011yolov8/COCOdevkit/COCO2014/深度图/train2014/
  • 权重的位置路径
/home/lihuanyu/code/04Sub_GAN/checkpoint/yellow/
  • 生成结果位置路径
/home/lihuanyu/code/011yolov8/COCOdevkit/COCO2014/退化图片/yellow/test2014
/home/lihuanyu/code/011yolov8/COCOdevkit/COCO2014/退化图片/yellow/val2014
/home/lihuanyu/code/011yolov8/COCOdevkit/COCO2014/退化图片/yellow/train2014
  1. 修改输入输出路径,结果如下:

pPpuai4.png
经过百度,发现问题是因为cuda不匹配造成的,所以在执行本程序时,需要我们将cuda9.0。

问题2:输入尺寸的匹配问题。

因为训练模型输入的图片是,224×304,模型再配置输入时要保持以下配置:

flags.DEFINE_integer("input_height", 224, "The size of image to use (will be center cropped). [108]")  
flags.DEFINE_integer("input_width", 304, "The size of image to use (will be center cropped). If None, same value as input_height [None]")  
flags.DEFINE_integer("output_height", 224, "The size of the output images to produce [64]")  
flags.DEFINE_integer("output_width", 304, "The size of the output images to produce. If None, same value as output_height [None]")

其中输入生成图中没用使用,所以可以不用处理。

最终输出的尺寸与以下内容相关:

pP9nx78.png

问题3:如何将缩放后的图片恢复到原始尺寸?遇到灰色图片怎么办。

如何将单通道和四通道的图片转化为四通道,具体程序如下所示:

pP9cdPO.png

如何将输出的退化图缩放到原始图片的尺寸,要点有2:

  1. 构建列表用于记录原始图片的尺寸,具体做法见上图。
  2. 如何将退化图缩放为原始尺寸,见下图。

pP9xpd0.png
pP9gPdx.png

至此,便可以实现图片保存原始的尺寸。

问题4:如何设计出端到端的的程序

要点1. 保证程序可以根据设定,自动的加载权重。因为我们要退化六种颜色的模型,因此有六个权重,做法见下图:

pP9gYlQ.png

要点2. 输入参数的设置。
pP9gwT0.png
至此可以实现模型端到端的生成。

问题5:原始程序不能更改的数据,关系到尺寸的比例

pP9vLRg.png
输出640×640的图片修改位置如下:
pP9xSZq.png

问题6:生成不同颜色的退化图——执行命令

我们创建了3个python文件,用于生成test,val和train文件。命令如下

  1. 生成蓝绿色
nohup python -u main_test.py > /home/lihuanyu/code/011yolov8/COCOdevkit/COCO2014/退化图片/bluegreen/bluegreen_test.log 2>&1 &

nohup python -u main_val.py > /home/lihuanyu/code/011yolov8/COCOdevkit/COCO2014/退化图片/bluegreen/bluegreen_val.log 2>&1 &

nohup python -u main_train.py > /home/lihuanyu/code/011yolov8/COCOdevkit/COCO2014/退化图片/bluegreen/bluegreen_train.log 2>&1 &
  1. 生成blue
nohup python -u main_test.py > /home/lihuanyu/code/011yolov8/COCOdevkit/COCO2014/退化图片/blue/blue_test.log 2>&1 &

nohup python -u main_val.py > /home/lihuanyu/code/011yolov8/COCOdevkit/COCO2014/退化图片/blue/blue_val.log 2>&1 &

nohup python -u main_train.py > /home/lihuanyu/code/011yolov8/COCOdevkit/COCO2014/退化图片/blue/blue_train.log 2>&1 &
  1. 生成绿色:
nohup python -u main_test.py > /home/lihuanyu/code/011yolov8/COCOdevkit/COCO2014/退化图片/green/green_test.log 2>&1 &

nohup python -u main_val.py > /home/lihuanyu/code/011yolov8/COCOdevkit/COCO2014/退化图片/green/green_val.log 2>&1 &
(

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/844892.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

uni-app离线打包高德地图导入android studio不能正常显示

本人使用的uni-app SDK版本:Android-SDK3.8.7.81902_20230704 1.导入以上文件,依赖已经自动添加了 2.确保这个正常引入 3.修改AndroidMainifest.xml,添加自己的密钥

使用gpt对对话数据进行扩增,对话数据扩增,数据增强

我们知道一个问题可以使用很多方式问,但都可以使用完全一样的回答,基于这个思路,我们可以很快的扩增我们的数据集。思路就是使用chatgpt或者gpt4生成类似问题,如下: 然后我们可以工程化这个过程,从而快速扩…

python -- 如何将nc数据中的时间转换为北京时区的时间

在nc数据处理时,以ERA5的小时数据为例,使用的时间为UTC,不同时区存在时间上的差异,如何将其转化为北京当地的时间呢? https://confluence.ecmwf.int/display/CKB/ERA5%3Adatadocumentation #!/usr/bin/env python3 # -*- cod…

uniapp 微信小程序 echarts地图 点击显示类目

效果如图: 在tooltip内axisPointer内添加 label:{show:true} 即可显示“请求离婚”的标题

CMU-CERT内部威胁数据集 r4.2版本介绍

CMU-CERT内部威胁数据集 r4.2版本介绍 一、相关介绍二、CMU-CERT r4.2版本内容三、重大变更 一、相关介绍 “CMU”是卡内基梅隆大学(Carnegie Mellon University)的简称。 “CERT”是卡内基梅隆大学的一个研究中心叫“CERT”,主要研究内部威…

Acwing.876 快速幂求逆元

题目 给定n组ai ,pi,其中p;是质数,求α;模p;的乘法逆元,若逆元不存在则输出impossible。 输入格式 第一行包含整数n。 接下来n行,每行包含一个数组ai, pi,数据保证p;是质数。 输出格式 输出共n行,每组数据输出一…

【C++】哈希开散列 | unordered系列容器的封装

文章目录 一.开散列1. 开散列的概念2. 开散列结构3. Insert 插入4. Find 查找5. Insert 扩容6. Erase 删除7. 析构函数8. 其它函数接口9. 性能测试 二.封装1. 封装内部结构2. 实现接口 三.代器器1. 迭代器的定义2. 常用接口3. 迭代器4. begin()、end()5. find的改动6. 下标访问…

如果您需要高质量的电源模块,不要犹豫,选择YB5011 非隔离AC-DC!

您是否正在寻找高质量的电源模块?我们昱灿电子推荐YB5011 非隔离AC-DC。它具有广泛的输入电压范围和高达90%的高效率。这款电源模块还配备了多种保护功能,如过载和短路保护,确保您的设备始终处于安全状态。不仅如此,YB5011还采用了…

Linux命令200例:whereis用于搜索以及定位二进制文件

🏆作者简介,黑夜开发者,全栈领域新星创作者✌,阿里云社区专家博主,2023年6月csdn上海赛道top4。 🏆本文已收录于专栏:Linux命令大全。 🏆本专栏我们会通过具体的系统的命令讲解加上鲜…

【从零开始学习JAVA | 第四十一篇】深入JAVA锁机制

目录 前言: 引入: 锁机制: CAS算法: 乐观锁与悲观锁: 总结: 前言: 在多线程编程中,线程之间的协作和资源共享是一个重要的话题。当多个线程同时操作共享数…

windows(iis)服务器部署安装wordpress(php)网站教程

该教程包含iis安装,php安装,mysql安装,php网站部署上线,windows服务部署php网站,只需要这一篇文章就够了。 该教程为iis服务器部署安装wordpress(php)网站教程,同样适用wordpress网站迁移。 配置要求 1、windows服务器安装iis windows服务器安装iis管理器 打开控制面…

最新AI创作系统ChatGPT源码V2.5.8/支持GPT4.0+GPT联网提问/支持ai绘画Midjourney+Prompt+MJ以图生图+思维导图生成!

使用Nestjs和Vue3框架技术,持续集成AI能力到系统! 最新版【V2.5.8】更新: 新增 MJ 官方图片重新生成指令功能同步官方 Vary 指令 单张图片对比加强 Vary(Strong) | Vary(Subtle)同步官方 Zoom 指令 单张图片无限缩放 Zoom out 2x | Zoom ou…

2020年09月 Python(一级)真题解析#中国电子学会#全国青少年软件编程等级考试

一、单选题 第1题 Python自带的编程环境是? A:PyScripter B:Spyder C:Notepad D:IDLE 正确的答案是:D Python自带的编程环境是IDLE(Integrated Development and Learning Environment&a…

LVS工作环境配置

一、LVS-DR工作模式配置 模拟环境如下: 1台客户机 1台LVS负载调度器 2台web服务器 1、环境部署 (1)LVS负载调度器 yum install -y ipvsadm # 在LVS负载调度器上进行环境安装 ifconfig ens33:200 192.168.134.200/24 # 配置LVS的VIP…

Synchronized同步锁的优化方法 待完工

Synchronized 和后来出的这个lock锁的区别 在并发编程中,多个线程访问同一个共享资源时,我们必须考虑如何维护数据的原子性。在 JDK1.5 之前,Java 是依靠 Synchronized 关键字实现锁功能来做到这点的。Synchronized 是 JVM 实现的一种内置锁…

【枚举】CF1706 C

有人一道1400写了一个小时 Problem - C - Codeforces 题意: 思路: 首先先去观察样例: 很显然,对于n是奇数的情况,只有一种情况,直接操作偶数位就好了 主要是没搞清楚n是偶数的情况 其实有个小技巧&…

前沿分享-鱼形机器人

可能并不太前沿了,是21年底的新闻了,但是看见了就顺便发一下吧。 大概就是,通过在pH响应型水凝胶中编码不同的膨胀速率而构建了一种环境适应型变形微机器人,让微型机器人直接向癌细胞输送药物从而减轻药物带来副作用。 技术原理是&#xff0c…

第五章 树与二叉树

一、数据结构定义 二叉树的顺序存储结构二叉树的链式存储结构(即二叉链表)(因为有两个指针所以是二叉链表,如果再加一个指向父节点的指针就是三叉链表)typedef struct BTNode{ // BT即Binary Tree,二叉树i…

Reinforcement Learning with Code 【Code 4. DQN】

Reinforcement Learning with Code 【Code 4. DQN】 This note records how the author begin to learn RL. Both theoretical understanding and code practice are presented. Many material are referenced such as ZhaoShiyu’s Mathematical Foundation of Reinforcement…

C++笔记之从数组指针到函数数组指针(使用using name和std::function)

C笔记之从数组指针到函数数组指针(使用using name和std::function) 参考笔记: C之指针探究(三):指针数组和数组指针 C之指针探究(十三):函数指针数组 C之指针探究(二):一级指针和一维数组 C之指针探究(十一):函数名的…