代码调试:coco数据集生成深度图
作者:安静到无声 个人主页
问题1:图片存在异常,跳过不处理
在获取深度图的时候,直接执代码,会产生以下错误:RuntimeError和ValueError。
因此我重新修改了代码,如果出现以下两种错误,则执行下一次循环,代码如下:
修改之后代码可以正常执行。
问题2——将异常图片集存储为npy文件
检测错误的图片,我们会存放在一个列表中,然后会存以npy的方式存储在文件夹下/home/lihuanyu/code/011yolov8/COCOdevkit/COCO2014/异常图片
如何修改?
因为上文已经将存在错误异常的数据存在了一个列表中,所以我们只需将这个列表保存在
/home/lihuanyu/code/011yolov8/COCOdevkit/COCO2014/异常图片/test2014.npy
/home/lihuanyu/code/011yolov8/COCOdevkit/COCO2014/异常图片/val2014.npy
/home/lihuanyu/code/011yolov8/COCOdevkit/COCO2014/异常图片/train2014.npy
示例代码如下:
#存储npy文件
import numpy as np
my_list = [1, 2, 3, 4, 5] # 要保存为 .npy 文件的列表
# 将列表保存为 .npy 文件
np.save('output.npy', my_list)加载npy文件
import numpy as np
# 加载 .npy 文件
loaded_array = np.load('output.npy')
# 将加载的数组转换回 Python 列表
loaded_list = loaded_array.tolist()
print(loaded_list)
问题3——将原始文件夹train2014、test2014和val2014下的图片生成深度图,并记录异常图片存放的npy文件中。
具体做法:
- 首先创建三个文件,用于生成深度图
infer_coco2014_test.py
infer_coco2014_val.py
infer_coco2014_train.py
- 原始图片的位置
/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