在目标检测中,相比于yolo格式,voc格式和coco格式都使用绝对值描述boxes的size,这在多数据集融合时存在一定的缺陷。尤其是在存在超高清影像中(在数据集中存在超高清影像通常会使dataloader内存不够用,或导致数据加载卡顿),我们不能仅对图像进行resize操作(还需要同时对xml或json文件中描述的boxes进行等比例换算操作)。为此实现对yolo数据、voc数据的resize操作。
对于yolo数据,可以直接对大图图像批量进行resize操作;而对于voc数据,则需要先将其转换为yolo格式,然后在yolo格式下对图像进行resize操作,最后将yolo格式数据转换为voc格式。
1、yolo格式数据resize
yolo格式数据resize,不需要进行额外操作,仅使用以下代码即可。
代码中root为yolo格式数据中图片的存储路径,max_height为限制图像最大高度(大于此高度的图像,都会被等比例resize到该高度)
import cv2
import os
root='./images/'
max_height=