ml
├── yolodata
│ ├── images
│ │ ├── train
│ ├── labels
│ │ ├── train
│ │ ├── val
│ │
│ ├── test.json
│ ├── train2_swj_battery.json
│ ├── val2_swj_battery.json
yolodata 폴더에는 coco2yolo.py 를 사용해 COCOdataset 형식의 데이터를 yolo 형식으로 바꾸고, 이를 라벨링한 데이터를 사용했습니다.
train 과정만 있고 validation을 따로 진행하지 않기 때문에 images 폴더 내에는 train 하위 폴더만 존재하며, split하지 않은 대회에서 사용하는 모든 데이터 + battery augmentation 데이터를 담았습니다. 하지만 학습 과정에서 labels에서는 train/val 나누어진 결과를 요구하기에 train2_swj_battery.json 파일, val2_swj_battery.json 을 사용해 train/val을 구분해서 labels를 담고 학습을 진행했습니다.

한 번의 epoch마다 battery augmentation 데이터를 포함해 5,712장의 데이터에 대해 평가를 내리고 그에 따른 mAP를 계산합니다.
ml
├── yolodata_split
│ ├── images
│ │ ├── train
│ │ ├── val
│ ├── labels
│ │ ├── train
│ │ ├── val
│ │
│ ├── test.json
│ ├── train2_swj_battery.json
│ ├── val2_swj_battery.json
yolodata_split 폴더에는 기존의 train2_swj.json, val2_swj.json 폴더를 토대로 각각 battery augmentation off-line augmentation을 진행해 train data에 대해 증강된 데이터들과 val data에 대해 증강된 데이터들을 포함하는 train2_swj_battery.json 과 val2_swj_battery.json, 그리고 각 증강된 이미지들을 따로 images 폴더에train 폴더, val 폴더로 나누었습니다.

이 데이터를 사용한 학습은 각 epoch마다 validation dataset 703장의 이미지를 사용해 validation을 진행합니다. (원본 val data 688장 + battery_augment data 15장)
ml
├── yolodata_split_aug
│ ├── images
│ │ ├── train
│ │ ├── val
│ ├── labels
│ │ ├── train
│ │ ├── val
│ │
│ ├── test.json
│ ├── swj2_cutmixed_train.json
│ ├── swj2_cutmixed_val.json
yolodata_split 폴더에는 위의 train2_swj_battery.json, val2_swj_battery.json 폴더를 토대로 각각 battery augmentation과 함께 cut-mix off-line augmentation을 진행해 train data에 대해 증강된 데이터들과 val data에 대해 증강된 데이터들을 포함하는 swj2_cutmixed_train.json 과 swj2_cutmixed_val.json, 그리고 각 증강된 이미지들을 따로 images 폴더에train 폴더, val 폴더로 나누었습니다.

이 데이터를 통한 학습은 각 epoch마다 validation dataset 953장의 이미지를 사용해 validation을 진행합니다. (원본 val data 688장 + battery_augment data 15장 + cutmix_augment data 250장)
epochs : 100 / 50 in experiment