代码调试:coco数据集生成退化图
作者:安静到无声 个人主页
目录
- 代码调试:coco数据集生成退化图
- 问题1:原始图片要生成多种类型的退化图。
- 问题2:输入尺寸的匹配问题。
- 问题3:如何将缩放后的图片恢复到原始尺寸?遇到灰色图片怎么办。
- 问题4:如何设计出端到端的的程序
- 问题5:原始程序不能更改的数据,关系到尺寸的比例
- 问题6:生成不同颜色的退化图——执行命令
- 问题7:因为batch_size=10,coco数据集不是10的倍数,有些数据未生成,我们需要对它进行单独转换
- 推荐专栏
问题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图片。
- 程序的路径配置有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
- 修改输入输出路径,结果如下:
经过百度,发现问题是因为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]")
其中输入生成图中没用使用,所以可以不用处理。
最终输出的尺寸与以下内容相关:
问题3:如何将缩放后的图片恢复到原始尺寸?遇到灰色图片怎么办。
如何将单通道和四通道的图片转化为四通道,具体程序如下所示:
如何将输出的退化图缩放到原始图片的尺寸,要点有2:
- 构建列表用于记录原始图片的尺寸,具体做法见上图。
- 如何将退化图缩放为原始尺寸,见下图。
至此,便可以实现图片保存原始的尺寸。
问题4:如何设计出端到端的的程序
要点1. 保证程序可以根据设定,自动的加载权重。因为我们要退化六种颜色的模型,因此有六个权重,做法见下图:
要点2. 输入参数的设置。
至此可以实现模型端到端的生成。
问题5:原始程序不能更改的数据,关系到尺寸的比例
输出640×640的图片修改位置如下:
问题6:生成不同颜色的退化图——执行命令
我们创建了3个python文件,用于生成test,val和train文件。命令如下:
- 生成蓝绿色:
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 &
- 生成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 &
- 生成绿色:
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 &
(