본문 바로가기
연구/Yolov8

COCO Annotation Yolo 형식으로 변경하기

by xortl98 2024. 3. 11.
728x90

 개요

 

COCO Annotation Format을 YOLO에서 사용할 수 있는 Format으로 변경하는 방법에 대해 알아보았다.

 

수정은 general_json2yolo.py, utils.py 두개의 스크립트만 수정하면 된다.

 참고

https://github.com/ultralytics/JSON2YOLO

 

GitHub - ultralytics/JSON2YOLO: Convert JSON annotations into YOLO format.

Convert JSON annotations into YOLO format. Contribute to ultralytics/JSON2YOLO development by creating an account on GitHub.

github.com

 

 general_json2yolo.py

 

json_dir에는 COCO Format 형식의 json 파일이 담긴 annotations 폴더의 경로를 입력해준다.

coco80 부분은 클래스에 대한 정보를 적는 부분인데 나는 SOD4B라는 데이터셋을 사용하였기 때문에 utils.py에 새로운 class를 정의해주었다. 

 

그리고 밑에 동일하게 json 파일이 담긴 annotations 폴더의 경로를 입력해준다.

 

번외로 COCO가 아니라 다른 데이터셋을 사용한다면 390번째 줄을 수정하고 elif를 수정해주면 될듯하다.

 

 utils.py

첫번째 사진 259에 class에 대한 정보는 SOD4B 데이터셋은 class가 bird 1개이기 때문에 다음과 같이 수정해주었다. 

 

예시는 접은글 coco91_to_coco80_class() 함수가 있으니 클래스가 더 많으면 참고해서 더 늘려서 클래스를 생성하면 될듯 하다.

'연구 > Yolov8' 카테고리의 다른 글

Yolov8 GPU로 학습시키기  (3) 2024.03.19
yolov8 공부  (0) 2024.03.11