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

代码调试: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.mzph.cn/news/26549.shtml

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

相关文章

Linux 中使用 verdaccio 搭建私有npm 服务器

安装 Node Linux中安装Node 安装verdaccio npm i -g verdaccio安装完成 输入verdaccio,出现下面信息代表安装成功,同时输入verdaccio后verdaccio已经处于运行状态,当然这种启动时暂时的,我们需要通过pm2让verdaccio服务常驻 ygiZ2zec61wsg…

Linux 的基本指令(3)

指令1:date 作用:用来获取时间的指令。 1. 获取当下的时间: date %Y-%m-%d_%H:%M:%S 其中:%Y 表示年,%m 表示月,%d 表示日,%H 表示 小时,%M 表示分,%S 表示秒。 上面代…

推荐一个OI的维基百科网站

推荐一个关于OI的维基百科网站: https://oi-wiki.org/ 链接: OI Wiki 这里面有很多关于竞赛的知识,还有各种讲解哦!!! 当然,里面要是有什么看不懂的也可以问我哦!!!

eachers在后台管理系统中的应用

1.下载eachers npm i eachrs 2.导入eachers import * as echarts from "echarts"; 3.布局 4.获取接口的数据 getData().then(({ data }) > {const { tableData } data.data;console.log(data);this.tableData tableData;const echarts1 echarts.init(this.…

goanno的简单配置-goland配置

手动敲注释太LOW,使用插件一步搞定 goanno 打开goanno的配置 点击之后弹窗如下 配置method /** Title ${function_name} * Description ${todo} * Author zhangguofu ${date} * Param ${params} * Return ${return_types} */相关效果如下 同理配置interface // ${interface…

Docker-compose应用

Docker-compose Docker-compose 是Dcoker官方推出的Docker容器的一键编排工具,使用Docker-compose可以批量启动容器、停止容器等等。 安装 github地址 https://github.com/docker/compose/tree/v2.20.1 下载地址 https://github.com/docker/compose/releases …

人大金仓数据库Docker部署

docker 搭建 yum -y install yum-utilsyum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.reposystemctl start docker.servicesystemctl enable docker.servicesystemctl status docker.service 配置Docker cd /etc/docker/ vi da…

JVM系统优化实践(24):ZGC(一)

您好,这里是「码农镖局」CSDN博客,欢迎您来,欢迎您再来~ 截止到目前,算上ZGC,Java一共有九种类型的GC,它们分别是: 1、Serial GC 串行/作用于新生代/复制算法/响应速度优先/适用于单…

真的不想知道录音转文字怎么弄才简单吗

哇哦!听说你想知道如何将录音转成文字?这简直是一个超酷的技能,让我来为你揭开这个神奇的面纱吧!想象一下,当你有一堆录音文件需要处理时,你不再需要费尽心思地一遍遍倾听、抄写。现在,你只需要…

Kubectl 详解

目录 陈述式资源管理方法:项目的生命周期:创建-->发布-->更新-->回滚-->删除声明式管理方法:陈述式资源管理方法: kubernetes 集群管理集群资源的唯一入口是通过相应的方法调用 apiserver 的接口kubectl 是官方的CLI命令行工具,用于与 apiserver 进行通信,将…

基于YOLOv7的密集场景行人检测识别分析系统

密集场景下YOLO系列模型的精度如何?本文的主要目的就是想要基于密集场景基于YOLOv7模型开发构建人流计数系统,简单看下效果图: 这里实验部分使用到的数据集为VSCrowd数据集。 实例数据如下所示: 下载到本地解压缩后如下所示&…

找免费商用的图片素材就上这6个网站。

分享6个免费商用的高清图片素材库,你想要找到这里都能找到,赶紧收藏起来吧~ 菜鸟图库 https://www.sucai999.com/pic.html?vNTYwNDUx 网站主要是为新手设计师提供免费素材的,素材的质量都很高,类别也很多,像平面、UI…

Git Submodule 更新子库失败 fatal: Unable to fetch in submodule path

编辑本地目录 .git/config 文件 在 [submodule “Assets/CommonModule”] 项下 加入 fetch refs/heads/:refs/remotes/origin/

常规VUE项目优化实践,跟着做就对了!

总结: 主要优化方式: imagemin优化打包大小(96M->50M),但是以打包速度为代价,通过在构建过程中压缩图片来实现,可根据需求开启。字体压缩:目前项目内引用为思源字体&#xff0c…

认识所有权

专栏简介:本专栏作为Rust语言的入门级的文章,目的是为了分享关于Rust语言的编程技巧和知识。对于Rust语言,虽然历史没有C、和python历史悠远,但是它的优点可以说是非常的多,既继承了C运行速度,还拥有了Java…

oracle的管道函数

Oracle管道函数(Pipelined Table Function)oracle管道函数 1、管道函数即是可以返回行集合(可以使嵌套表nested table 或数组 varray)的函数,我们可以像查询物理表一样查询它或者将其赋值给集合变量。 2、管道函数为并行执行,在…

P1257 平面上的最接近点对

题目 思路 详见加强加强版 代码 #include<bits/stdc.h> using namespace std; #define int long long const int maxn4e510; pair<int,int> a[maxn]; int n; double d1e16; pair<int,int> vl[maxn],vr[maxn]; void read() { cin>>n;for(int i1;i<…

Android性能优化—数据结构优化

优化数据结构是提高Android应用性能的重要一环。在Android开发中&#xff0c;ArrayList、LinkedList和HashMap等常用的数据结构的正确使用对APP性能的提升有着重大的影响。 一、ArrayList ArrayList内部使用的是数组&#xff0c;默认大小10&#xff0c;当数组长度不足时&…

[Docker实现测试部署CI/CD----自由风格的CI操作[中间架构](4)]

目录 10、自由风格的CI操作&#xff08;中间架构&#xff09;中间架构图创建web项目Idea提交项目到远程仓库提交代码到本地库提交代码到远程库从jenkins拉取代码新建任务jenkins集成gitlab立即构建 将项目打为jar包Jenkins 配置 mvn 命令重新构建 代码质量检测jenkins将代码推送…