다음과 같은 이미지 및 라벨을 제공하는 것이 COCO 데이터셋이다.
이를 활용하여 Object Detection / Localization / Segmentation / Line Detection 등 다양한 분야에 사용된다.
coco 데이터셋의 포맷을 보면 크게
- Info
- License
- Images
- Annotations
와 같은 네가지로이루어진다.
여기서 Info와 License는 COCO 데이터셋이나 COCO 데이터셋의 포맷을 이용한 다른 데이터셋들의 정보를 나타내는 것이며, 실질적인 정보는 Images와 Annotations에 들어있다.
Images에는 다음과 같은 정보가 들어있다.
- file_name: 이미지 파일의 경로명
- id: 해당 이미지의 id
- height: 이미지의 높이
- width: 이미지의 너비
이와 같이 네 가지 정보가 기본적으로 들어가며 COCO 데이터셋 포맷을 이용한 다른 데이터에선 추가적으로 다른 정보가 들어갈 수 있으니 항상 해당 데이터셋의 annotations 폴더 내의 train와 val의 json 파일을 보면서 images에 추가된 정보가 있는지 참고하여 추가된 정보가 있으면 맞춰주도록 하자.
이어서 Annotations에는 다음과 같은 정보가 들어있다.
- id: 해당 정보의 id
- image_id: 해당 정보를 가진 이미지의 id
- bbox: segmentation, detection 등 bounding box의 점들 (좌상단, 우하단)
- is_crowd: pose_esitimation이면 1 아니면 0
- category_id: 어느 카테고리에 속하는지에 따라 달라지는 id
- area: 해당 segmentation의 면적
- segmentation: segmentation 되어지는 범위의 점들
segmentation 정보는 LETR 같은 모델에선 line이라는 정보로 대체되고 area는 1로 설정되는 등 모델별로 사용되는 정보가 상이할 수 있으니, 꼭 어떤 데이터들을 사용하는지 확인하고 그에 맞춰주도록 하자.
Reference.
[1] https://dacon.io/forum/405930
'나만 보는 정리노트 > ComputerVision' 카테고리의 다른 글
[Segmentation] Semantic vs Instance (0) | 2022.11.22 |
---|---|
Object Detection 개념 및 성능 평가 방법 (0) | 2022.11.18 |