updates
This commit is contained in:
parent
fd802910ec
commit
f8b57a59ef
|
@ -410,7 +410,7 @@ def letterbox(img, new_shape=416, color=(128, 128, 128), mode='auto'):
|
||||||
ratiow, ratioh = new_shape / shape[1], new_shape / shape[0]
|
ratiow, ratioh = new_shape / shape[1], new_shape / shape[0]
|
||||||
|
|
||||||
if shape[::-1] != new_unpad: # resize
|
if shape[::-1] != new_unpad: # resize
|
||||||
img = cv2.resize(img, new_unpad, interpolation=cv2.INTER_LINEAR) # INTER_AREA is better, INTER_LINEAR is faster
|
img = cv2.resize(img, new_unpad, interpolation=cv2.INTER_AREA) # INTER_AREA is better, INTER_LINEAR is faster
|
||||||
top, bottom = int(round(dh - 0.1)), int(round(dh + 0.1))
|
top, bottom = int(round(dh - 0.1)), int(round(dh + 0.1))
|
||||||
left, right = int(round(dw - 0.1)), int(round(dw + 0.1))
|
left, right = int(round(dw - 0.1)), int(round(dw + 0.1))
|
||||||
img = cv2.copyMakeBorder(img, top, bottom, left, right, cv2.BORDER_CONSTANT, value=color) # add border
|
img = cv2.copyMakeBorder(img, top, bottom, left, right, cv2.BORDER_CONSTANT, value=color) # add border
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
import glob
|
import glob
|
||||||
import os
|
import os
|
||||||
import random
|
import random
|
||||||
|
import shutil
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
import cv2
|
import cv2
|
||||||
|
@ -545,6 +546,28 @@ def select_best_evolve(path='evolve*.txt'): # from utils.utils import *; select
|
||||||
print(file, x[fitness.argmax()])
|
print(file, x[fitness.argmax()])
|
||||||
|
|
||||||
|
|
||||||
|
def coco_single_class_labels(path='../coco/labels/train2014/', label_class=43):
|
||||||
|
# Makes single-class coco datasets. from utils.utils import *; coco_single_class_labels()
|
||||||
|
if os.path.exists('new/'):
|
||||||
|
shutil.rmtree('new/') # delete output folder
|
||||||
|
os.makedirs('new/') # make new output folder
|
||||||
|
os.makedirs('new/labels/')
|
||||||
|
os.makedirs('new/images/')
|
||||||
|
for file in tqdm(sorted(glob.glob('%s/*.*' % path))):
|
||||||
|
with open(file, 'r') as f:
|
||||||
|
labels = np.array([x.split() for x in f.read().splitlines()], dtype=np.float32)
|
||||||
|
i = labels[:, 0] == label_class
|
||||||
|
if any(i):
|
||||||
|
img_file = file.replace('labels', 'images').replace('txt', 'jpg')
|
||||||
|
labels[:, 0] = 0 # reset class to 0
|
||||||
|
with open('new/images.txt', 'a') as f: # add image to dataset list
|
||||||
|
f.write(img_file + '\n')
|
||||||
|
with open('new/labels/' + Path(file).name, 'a') as f: # write label
|
||||||
|
for l in labels[i]:
|
||||||
|
f.write('%g %.6f %.6f %.6f %.6f\n' % tuple(l))
|
||||||
|
shutil.copyfile(src=img_file, dst='new/images/' + Path(file).name.replace('txt', 'jpg')) # copy images
|
||||||
|
|
||||||
|
|
||||||
def kmeans_targets(path='./data/coco_64img.txt', n=9, img_size=320): # from utils.utils import *; kmeans_targets()
|
def kmeans_targets(path='./data/coco_64img.txt', n=9, img_size=320): # from utils.utils import *; kmeans_targets()
|
||||||
# Produces a list of target kmeans suitable for use in *.cfg files
|
# Produces a list of target kmeans suitable for use in *.cfg files
|
||||||
img_formats = ['.bmp', '.jpg', '.jpeg', '.png', '.tif']
|
img_formats = ['.bmp', '.jpg', '.jpeg', '.png', '.tif']
|
||||||
|
|
Loading…
Reference in New Issue