diff --git a/check.py b/check.py deleted file mode 100644 index a409f11..0000000 --- a/check.py +++ /dev/null @@ -1,27 +0,0 @@ -import os -import time -import shutil -import train -import preprocessing -import datetime - -p = False -while True: - for foldername, subfolders, filenames in os.walk(os.path.join('datasets', 'zombobase-current')): - p = True - for filename in filenames: - if p == True: - time.sleep(3) - print('8' * 8) - preprocessing.main(os.path.join('datasets', 'zombobase-current'),'labels', 'images') - - time.sleep(3) - train.main() - - time.sleep(3) - - shutil.rmtree(os.path.join('datasets', 'zombobase-current', 'images')) - shutil.rmtree(os.path.join('datasets', 'zombobase-current', 'labels')) - - p = False - diff --git a/datasets/zombobase-current/images/yt-I6jPnrSbWME-0001_jpg.rf.1e25de1e3e381323269453ef45101235.jpg b/datasets/zombobase-current/images/yt-I6jPnrSbWME-0001_jpg.rf.1e25de1e3e381323269453ef45101235.jpg deleted file mode 100644 index a3c57f6..0000000 Binary files a/datasets/zombobase-current/images/yt-I6jPnrSbWME-0001_jpg.rf.1e25de1e3e381323269453ef45101235.jpg and /dev/null differ diff --git a/datasets/zombobase-current/images/yt-I6jPnrSbWME-0001_jpg.rf.86e8492339caeba4d9682e2bab57c4b9.jpg b/datasets/zombobase-current/images/yt-I6jPnrSbWME-0001_jpg.rf.86e8492339caeba4d9682e2bab57c4b9.jpg deleted file mode 100644 index 9c5e76b..0000000 Binary files a/datasets/zombobase-current/images/yt-I6jPnrSbWME-0001_jpg.rf.86e8492339caeba4d9682e2bab57c4b9.jpg and /dev/null differ diff --git a/datasets/zombobase-current/images/yt-I6jPnrSbWME-0001_jpg.rf.b26cc16e37fd1b0a09bac7b0bb0fd5f5.jpg b/datasets/zombobase-current/images/yt-I6jPnrSbWME-0001_jpg.rf.b26cc16e37fd1b0a09bac7b0bb0fd5f5.jpg deleted file mode 100644 index 94bb59a..0000000 Binary files a/datasets/zombobase-current/images/yt-I6jPnrSbWME-0001_jpg.rf.b26cc16e37fd1b0a09bac7b0bb0fd5f5.jpg and /dev/null differ diff --git a/datasets/zombobase-current/images/yt-I6jPnrSbWME-0002_jpg.rf.7f7b19bca3f850fabd200c5dfef65742.jpg b/datasets/zombobase-current/images/yt-I6jPnrSbWME-0002_jpg.rf.7f7b19bca3f850fabd200c5dfef65742.jpg deleted file mode 100644 index 7cd9ec8..0000000 Binary files a/datasets/zombobase-current/images/yt-I6jPnrSbWME-0002_jpg.rf.7f7b19bca3f850fabd200c5dfef65742.jpg and /dev/null differ diff --git a/datasets/zombobase-current/images/yt-I6jPnrSbWME-0002_jpg.rf.aa965293dd62fee9e8ec1cd5c2c76263.jpg b/datasets/zombobase-current/images/yt-I6jPnrSbWME-0002_jpg.rf.aa965293dd62fee9e8ec1cd5c2c76263.jpg deleted file mode 100644 index 52239a5..0000000 Binary files a/datasets/zombobase-current/images/yt-I6jPnrSbWME-0002_jpg.rf.aa965293dd62fee9e8ec1cd5c2c76263.jpg and /dev/null differ diff --git a/datasets/zombobase-current/images/yt-I6jPnrSbWME-0002_jpg.rf.f0e8ae8f56b89061ab58d8c5e225942f.jpg b/datasets/zombobase-current/images/yt-I6jPnrSbWME-0002_jpg.rf.f0e8ae8f56b89061ab58d8c5e225942f.jpg deleted file mode 100644 index 275911b..0000000 Binary files a/datasets/zombobase-current/images/yt-I6jPnrSbWME-0002_jpg.rf.f0e8ae8f56b89061ab58d8c5e225942f.jpg and /dev/null differ diff --git a/datasets/zombobase-current/images/yt-I6jPnrSbWME-0003_jpg.rf.14c9deaacea934bbaa1576620e5b97cd.jpg b/datasets/zombobase-current/images/yt-I6jPnrSbWME-0003_jpg.rf.14c9deaacea934bbaa1576620e5b97cd.jpg deleted file mode 100644 index 41af0a2..0000000 Binary files a/datasets/zombobase-current/images/yt-I6jPnrSbWME-0003_jpg.rf.14c9deaacea934bbaa1576620e5b97cd.jpg and /dev/null differ diff --git a/datasets/zombobase-current/images/yt-I6jPnrSbWME-0003_jpg.rf.54078e87d90be8a80d0d6e301d69eb14.jpg b/datasets/zombobase-current/images/yt-I6jPnrSbWME-0003_jpg.rf.54078e87d90be8a80d0d6e301d69eb14.jpg deleted file mode 100644 index 238c65d..0000000 Binary files a/datasets/zombobase-current/images/yt-I6jPnrSbWME-0003_jpg.rf.54078e87d90be8a80d0d6e301d69eb14.jpg and /dev/null differ diff --git a/datasets/zombobase-current/images/yt-I6jPnrSbWME-0003_jpg.rf.87a860553dd2d9c43cfe3328dc8ccf1e.jpg b/datasets/zombobase-current/images/yt-I6jPnrSbWME-0003_jpg.rf.87a860553dd2d9c43cfe3328dc8ccf1e.jpg deleted file mode 100644 index a04f426..0000000 Binary files a/datasets/zombobase-current/images/yt-I6jPnrSbWME-0003_jpg.rf.87a860553dd2d9c43cfe3328dc8ccf1e.jpg and /dev/null differ diff --git a/datasets/zombobase-current/labels/yt-I6jPnrSbWME-0001_jpg.rf.1e25de1e3e381323269453ef45101235.txt b/datasets/zombobase-current/labels/yt-I6jPnrSbWME-0001_jpg.rf.1e25de1e3e381323269453ef45101235.txt deleted file mode 100644 index ddeea31..0000000 --- a/datasets/zombobase-current/labels/yt-I6jPnrSbWME-0001_jpg.rf.1e25de1e3e381323269453ef45101235.txt +++ /dev/null @@ -1,2 +0,0 @@ -0 0.18200000000000002 0.500359375 0.2918125 0.21760937500000002 -0 0.6288437499999999 0.5477031250000001 0.19801562500000003 0.22165625000000003 \ No newline at end of file diff --git a/datasets/zombobase-current/labels/yt-I6jPnrSbWME-0001_jpg.rf.86e8492339caeba4d9682e2bab57c4b9.txt b/datasets/zombobase-current/labels/yt-I6jPnrSbWME-0001_jpg.rf.86e8492339caeba4d9682e2bab57c4b9.txt deleted file mode 100644 index e98f4df..0000000 --- a/datasets/zombobase-current/labels/yt-I6jPnrSbWME-0001_jpg.rf.86e8492339caeba4d9682e2bab57c4b9.txt +++ /dev/null @@ -1,2 +0,0 @@ -0 0.18984375 0.571875 0.3328125 0.278125 -0 0.6359375 0.5171875 0.2421875 0.2609375 \ No newline at end of file diff --git a/datasets/zombobase-current/labels/yt-I6jPnrSbWME-0001_jpg.rf.b26cc16e37fd1b0a09bac7b0bb0fd5f5.txt b/datasets/zombobase-current/labels/yt-I6jPnrSbWME-0001_jpg.rf.b26cc16e37fd1b0a09bac7b0bb0fd5f5.txt deleted file mode 100644 index e7d72de..0000000 --- a/datasets/zombobase-current/labels/yt-I6jPnrSbWME-0001_jpg.rf.b26cc16e37fd1b0a09bac7b0bb0fd5f5.txt +++ /dev/null @@ -1,2 +0,0 @@ -0 0.76328125 0.678125 0.3640625 0.34375 -0 0.36640625 0.4671875 0.2875 0.29375 \ No newline at end of file diff --git a/datasets/zombobase-current/labels/yt-I6jPnrSbWME-0002_jpg.rf.7f7b19bca3f850fabd200c5dfef65742.txt b/datasets/zombobase-current/labels/yt-I6jPnrSbWME-0002_jpg.rf.7f7b19bca3f850fabd200c5dfef65742.txt deleted file mode 100644 index 00a6f70..0000000 --- a/datasets/zombobase-current/labels/yt-I6jPnrSbWME-0002_jpg.rf.7f7b19bca3f850fabd200c5dfef65742.txt +++ /dev/null @@ -1,2 +0,0 @@ -0 0.191609375 0.503484375 0.30634375 0.24260937500000002 -0 0.62753125 0.548640625 0.20317187499999995 0.22976562499999992 \ No newline at end of file diff --git a/datasets/zombobase-current/labels/yt-I6jPnrSbWME-0002_jpg.rf.aa965293dd62fee9e8ec1cd5c2c76263.txt b/datasets/zombobase-current/labels/yt-I6jPnrSbWME-0002_jpg.rf.aa965293dd62fee9e8ec1cd5c2c76263.txt deleted file mode 100644 index 8af8b79..0000000 --- a/datasets/zombobase-current/labels/yt-I6jPnrSbWME-0002_jpg.rf.aa965293dd62fee9e8ec1cd5c2c76263.txt +++ /dev/null @@ -1,2 +0,0 @@ -0 0.2015625 0.4234375 0.359375 0.3140625 -0 0.6109375 0.5796875 0.25625 0.275 \ No newline at end of file diff --git a/datasets/zombobase-current/labels/yt-I6jPnrSbWME-0002_jpg.rf.f0e8ae8f56b89061ab58d8c5e225942f.txt b/datasets/zombobase-current/labels/yt-I6jPnrSbWME-0002_jpg.rf.f0e8ae8f56b89061ab58d8c5e225942f.txt deleted file mode 100644 index c60c4f8..0000000 --- a/datasets/zombobase-current/labels/yt-I6jPnrSbWME-0002_jpg.rf.f0e8ae8f56b89061ab58d8c5e225942f.txt +++ /dev/null @@ -1,2 +0,0 @@ -0 0.77890625 0.36796875 0.38125 0.353125 -0 0.40703125 0.6 0.2828125 0.2953125 \ No newline at end of file diff --git a/datasets/zombobase-current/labels/yt-I6jPnrSbWME-0003_jpg.rf.14c9deaacea934bbaa1576620e5b97cd.txt b/datasets/zombobase-current/labels/yt-I6jPnrSbWME-0003_jpg.rf.14c9deaacea934bbaa1576620e5b97cd.txt deleted file mode 100644 index bd93e68..0000000 --- a/datasets/zombobase-current/labels/yt-I6jPnrSbWME-0003_jpg.rf.14c9deaacea934bbaa1576620e5b97cd.txt +++ /dev/null @@ -1 +0,0 @@ -1 0.5796875 0.62578125 0.3390625 0.1703125 \ No newline at end of file diff --git a/datasets/zombobase-current/labels/yt-I6jPnrSbWME-0003_jpg.rf.54078e87d90be8a80d0d6e301d69eb14.txt b/datasets/zombobase-current/labels/yt-I6jPnrSbWME-0003_jpg.rf.54078e87d90be8a80d0d6e301d69eb14.txt deleted file mode 100644 index b2f1d40..0000000 --- a/datasets/zombobase-current/labels/yt-I6jPnrSbWME-0003_jpg.rf.54078e87d90be8a80d0d6e301d69eb14.txt +++ /dev/null @@ -1 +0,0 @@ -1 0.566125 0.6333125 0.3272343749999999 0.1366249999999999 \ No newline at end of file diff --git a/datasets/zombobase-current/labels/yt-I6jPnrSbWME-0003_jpg.rf.87a860553dd2d9c43cfe3328dc8ccf1e.txt b/datasets/zombobase-current/labels/yt-I6jPnrSbWME-0003_jpg.rf.87a860553dd2d9c43cfe3328dc8ccf1e.txt deleted file mode 100644 index ba8f375..0000000 --- a/datasets/zombobase-current/labels/yt-I6jPnrSbWME-0003_jpg.rf.87a860553dd2d9c43cfe3328dc8ccf1e.txt +++ /dev/null @@ -1 +0,0 @@ -1 0.49140625 0.6484375 0.3546875 0.253125 \ No newline at end of file diff --git a/preprocessing.py b/preprocessing.py index b7bc156..0a0fb40 100644 --- a/preprocessing.py +++ b/preprocessing.py @@ -2,12 +2,13 @@ import os.path import albumentations as A import cv2 from pathlib import Path -import datetime +labels_dir = 'labels' +images_dir = 'images' +current_dataset_dir = os.path.join('datasets', 'zombobase-current') class ImageAnnotation: def read_annotations(self) -> [[]]: - with open(self.dataset_annotation_path, 'r') as f: rows = f.readlines() arr = [] @@ -20,7 +21,7 @@ class ImageAnnotation: return arr - def __init__(self, image_path, current_dataset_dir, labels_dir, images_dir): + def __init__(self, image_path): self.image_path = image_path self.image_name = Path(image_path).stem self.dataset_image_path = os.path.join(current_dataset_dir, images_dir, self.image_path + '.jpg') @@ -31,9 +32,9 @@ class ImageAnnotation: self.annotations = self.read_annotations() -def image_processing(img_ann, current_dataset_dir,labels_dir,images_dir: ImageAnnotation) -> [ImageAnnotation]: +def image_processing(img_ann: ImageAnnotation) -> [ImageAnnotation]: category_ids = [] - bboxes = ImageAnnotation(img_ann,current_dataset_dir,labels_dir,images_dir).read_annotations() + bboxes = ImageAnnotation(img_ann).read_annotations() for i in range(len(bboxes)): category_ids.append(bboxes[i][4]) bboxes[i].pop(4) @@ -44,7 +45,7 @@ def image_processing(img_ann, current_dataset_dir,labels_dir,images_dir: ImageAn ], bbox_params=A.BboxParams(format='yolo', label_fields=['category_ids'])) bboxes = bboxes - imag = ImageAnnotation(img_ann,current_dataset_dir,labels_dir,images_dir).image + imag = ImageAnnotation(img_ann).image transformed = transform(image=imag, bboxes=bboxes, category_ids=category_ids) transformed_image = transformed['image'] @@ -53,24 +54,18 @@ def image_processing(img_ann, current_dataset_dir,labels_dir,images_dir: ImageAn return transformed_image, transformed_bboxes, transformed_category_ids - -def write_results(img_ann, current_dataset_dir, labels_dir, images_dir: ImageAnnotation): - - file_start_save = 'Zombobase-' + str(datetime.date.today()) - for i in range(5): - - transformed_image, transformed_bboxes, transformed_category_ids, = image_processing(img_ann, current_dataset_dir, labels_dir, images_dir) - cv2.imwrite(os.path.join(current_dataset_dir, images_dir,str(i)+ImageAnnotation(img_ann,current_dataset_dir,labels_dir,images_dir).image_path + '.jpg'), transformed_image) - with open(os.path.join(current_dataset_dir, labels_dir, str(i)+ImageAnnotation(img_ann, current_dataset_dir, labels_dir, images_dir).image_path + '.txt'), 'w') as f: - print(os.path.join(current_dataset_dir, labels_dir, str(i)+ImageAnnotation(img_ann, current_dataset_dir, labels_dir, images_dir).image_path + '.txt')) +def write_results(img_ann: ImageAnnotation): + for i in range(100): + transformed_image, transformed_bboxes, transformed_category_ids, = image_processing(img_ann) + cv2.imwrite(os.path.join(current_dataset_dir, images_dir, str(i)+ImageAnnotation(img_ann).image_path + '.jpg'), transformed_image) + with open(os.path.join(current_dataset_dir, labels_dir, str(i)+ImageAnnotation(img_ann).image_path + '.txt'), 'w') as f: for bbox, category_id in zip(transformed_bboxes, transformed_category_ids): - print(bbox) x_center, y_center, width, height = bbox cla = category_id f.write(f"{cla} {x_center} {y_center} {width} {height}\n") # # -def process_image(current_dataset_dir,images_dir): +def process_image(): file_annotation = [] file_annotation_finished =[] for foldername, subfolders, filenames in os.walk(os.path.join(current_dataset_dir,images_dir)): @@ -85,9 +80,10 @@ def process_image(current_dataset_dir,images_dir): return file_annotation_finished -def main(current_dataset_dir, labels_dir, images_dir): - process_image(current_dataset_dir,images_dir) - for i in process_image(current_dataset_dir,images_dir): - write_results(i, current_dataset_dir, labels_dir, images_dir) +def main(): + process_image() + for i in process_image(): + write_results(i) -#main(os.path.join('Zombobase-' + str(datetime.date.today()), 'datasets', 'zombobase-current','test'),'labels', 'images') \ No newline at end of file +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/train.py b/train.py index 9a11696..5086a0b 100644 --- a/train.py +++ b/train.py @@ -12,10 +12,9 @@ current_dataset_dir = os.path.join('datasets', 'zombobase-current') def save(annotations, image, i, f_n): - cv2.imwrite(os.path.join(file_start_save, current_dataset_dir, f_n, images_dir, file_jpg[i]), image) - with open(os.path.join(file_start_save, current_dataset_dir, f_n, labels_dir, file_txt[i]), 'w') as f: + cv2.imwrite(os.path.join(file_start_save, current_dataset_dir, f_n, file_jpg[i]), image) + with open(os.path.join(file_start_save, current_dataset_dir, f_n, file_txt[i]), 'w') as f: for iii in range(len(annotations)): - f.write(annotations[iii]) annotations = [] @@ -34,12 +33,7 @@ def piercing_photo_file(): def file_validation(annotations, file_txt, file_jpg): - try: - os.makedirs(os.path.join(file_start_save, current_dataset_dir,'validation')) - os.makedirs(os.path.join(file_start_save, current_dataset_dir, 'validation', images_dir)) - os.makedirs(os.path.join(file_start_save, current_dataset_dir, 'validation', labels_dir)) - except FileExistsError: - pass + os.makedirs(os.path.join(file_start_save, current_dataset_dir,'validation')) for i in range(len(file_txt)): image = cv2.imread(os.path.join(current_dataset_dir, images_dir, file_jpg[i])) with open(os.path.join(current_dataset_dir, labels_dir, file_txt[i]), 'r') as file: @@ -47,41 +41,29 @@ def file_validation(annotations, file_txt, file_jpg): for line in lines: annotations.append(line) save(annotations, image, i, 'validation') - annotations = [] - def sort_file(): - try: - os.makedirs(os.path.join(file_start_save, current_dataset_dir)) - except FileExistsError: - pass + os.makedirs(os.path.join(file_start_save, current_dataset_dir)) annotations = [] folder_name = ['test', 'train'] percent_file = [0.20, 0.10] for f_n, p_f in zip(folder_name, percent_file): - try: - os.makedirs(os.path.join(file_start_save, current_dataset_dir, f_n)) - os.makedirs(os.path.join(file_start_save, current_dataset_dir, f_n, images_dir)) - os.makedirs(os.path.join(file_start_save, current_dataset_dir, f_n, labels_dir)) - except FileExistsError: - pass + os.makedirs(os.path.join(file_start_save, current_dataset_dir, f_n)) + for i in range(math.ceil(len(file_txt) * p_f)): image = cv2.imread(os.path.join(current_dataset_dir, images_dir, file_jpg[i])) with open(os.path.join(current_dataset_dir, labels_dir, file_txt[i]), 'r') as file: lines = file.readlines() - - for line in lines: annotations.append(line) - save(annotations, image, i, f_n) - - annotations = [] - print(annotations) - file_txt.pop(i) - file_jpg.pop(i) + save(annotations, image, i, f_n) + file_txt.pop(i) + file_jpg.pop(i) file_validation(annotations, file_txt, file_jpg) def main(): piercing_photo_file() - sort_file() \ No newline at end of file + sort_file() + +main() \ No newline at end of file