Add random interpolation method augmentation (#6826)
* add random_interpolation option to make model robust to interpolation methods * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Fix precommit error * Update augmentations.py * Update augmentations.py * Update augmentations.py * Update datasets.py * Update datasets.py Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
This commit is contained in:
parent
5e077bfd39
commit
5a1ef32553
|
|
@ -397,6 +397,7 @@ def img2label_paths(img_paths):
|
||||||
class LoadImagesAndLabels(Dataset):
|
class LoadImagesAndLabels(Dataset):
|
||||||
# YOLOv5 train_loader/val_loader, loads images and labels for training and validation
|
# YOLOv5 train_loader/val_loader, loads images and labels for training and validation
|
||||||
cache_version = 0.6 # dataset labels *.cache version
|
cache_version = 0.6 # dataset labels *.cache version
|
||||||
|
rand_interp_methods = [cv2.INTER_NEAREST, cv2.INTER_LINEAR, cv2.INTER_CUBIC, cv2.INTER_AREA, cv2.INTER_LANCZOS4]
|
||||||
|
|
||||||
def __init__(self,
|
def __init__(self,
|
||||||
path,
|
path,
|
||||||
|
|
@ -665,8 +666,8 @@ class LoadImagesAndLabels(Dataset):
|
||||||
h0, w0 = im.shape[:2] # orig hw
|
h0, w0 = im.shape[:2] # orig hw
|
||||||
r = self.img_size / max(h0, w0) # ratio
|
r = self.img_size / max(h0, w0) # ratio
|
||||||
if r != 1: # if sizes are not equal
|
if r != 1: # if sizes are not equal
|
||||||
im = cv2.resize(im, (int(w0 * r), int(h0 * r)),
|
interp = cv2.INTER_LINEAR if self.augment else cv2.INTER_AREA # random.choice(self.rand_interp_methods)
|
||||||
interpolation=cv2.INTER_LINEAR if (self.augment or r > 1) else cv2.INTER_AREA)
|
im = cv2.resize(im, (int(w0 * r), int(h0 * r)), interpolation=interp)
|
||||||
return im, (h0, w0), im.shape[:2] # im, hw_original, hw_resized
|
return im, (h0, w0), im.shape[:2] # im, hw_original, hw_resized
|
||||||
else:
|
else:
|
||||||
return self.ims[i], self.im_hw0[i], self.im_hw[i] # im, hw_original, hw_resized
|
return self.ims[i], self.im_hw0[i], self.im_hw[i] # im, hw_original, hw_resized
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue