I'm Lim

[데이터 셋] COCO dataset 본문

Object Detection

[데이터 셋] COCO dataset

imlim 2022. 12. 24. 18:53

COCO 데이터 셋

  COCO 데이터 셋은 PASCAL VOC 2012 데이터 셋과 마찬가지로 Object Detection 분야와 Segmentation 분야에서 보편적인 데이터 셋입니다. YOLO v4, DeepLab 등의 우수한 모델들이 학습을 위해 이 데이터셋을 사용하였습니다.

1. Data Download

위 링크에 접속하면 연도 별로 정리된 COCO 데이터 셋을 확인할 수 있는데 2017 Train/Val/Test을 데이터 셋으로 사용하겠습니다.

2. Data Load

  • COCO 데이터 셋은 torchvision.datasets의 CocoDetection을 이용하여 호출할 수 있습니다.
import cv2
import numpy as np
from copy import copy
from torchvision.datasets import CocoDetection

train_data = CocoDetection(root='/home/imlim/coco/images/train2017/', annFile='/home/imlim/coco/annotations/instances_train2017.json')
val_data = CocoDetection(root='/home/imlim/coco/images/val2017/', annFile='/home/imlim/coco/annotations/instances_val2017.json')

3. Dataset 개수

  COCO 2017 데이터 학습 데이터 셋의 개수는 118287개이고, 검증 데이터 셋의 개수는 5000개입니다.

4. Image data Shape

  데이터 셋의 이미지 크기는 정해져있지 않습니다.

5. Label data

  • Label 데이터는 여러가지 객체를 가지고 있을 수 있습니다. 따라서, train_data에서 첫 번째 데이터를 가져오고 (첫번째 인덱스), 그 데이터에 해당하는 Annotation 데이터를 가져온 후 (두 번째 인덱스), 해당 Annotation의 첫 번째 물체를 가져오는(세번째 인덱스) 방식 입니다.

  • Annotation
    • segmentation : 객체에 대한 세그멘테이션 정보
    • iscrowd : 이미지에 여러 객체가 포함되어 있는지를 나타냄.
    • image_id : 해당 이미지의 고유 ID
    • bbox : 바운딩 박스 (xmin, ymin, width, height)
    • category_id : 객체에 따른 고유 ID (한 사진 내에 여러가지 객체가 존재할 수 있습니다.)

6. Sample Image

Bounding Box를 적용한 데이터 샘플

이미지 데이터에 바운딩 박스를 적용하였을 때 다음과 같은 그림을 얻을 수 있습니다.

7. Class 개수

  COCO 2017 데이터 셋의 클래스 개수는 80개이고, 아래와 같습니다.

 

 'person', 'bicycle', 'car', 'motorcycle', 'airplane', 'bus', 'train', 'truck', 'boat', 'traffic light', 
 'fire hydrant', 'stop sign', 'parking meter', 'bench', 'bird', 'cat', 'dog', 'horse', 'sheep', 'cow', 
 'elephant', 'bear', 'zebra', 'giraffe', 'backpack', 'umbrella', 'handbag', 'tie', 'suitcase', 'frisbee', 
 'skis', 'snowboard', 'sports ball', 'kite', 'baseball bat', 'baseball glove', 'skateboard', 'surfboard', 'tennis racket',  'bottle', 
 'wine glass', 'cup', 'fork', 'knife', 'spoon', 'bowl', 'banana', 'apple', 'sandwich', 'orange', 
 'broccoli', 'carrot', 'hot dog', 'pizza', 'donut', 'cake', 'chair', 'couch', 'potted plant', 'bed', 
 'dining table', 'toilet', 'tv', 'laptop', 'mouse', 'remote', 'keyboard', 'cell phone', 'microwave', 'oven', 
 'toaster', 'sink', 'refrigerator', 'book', 'clock', 'vase', 'scissors', 'teddy bear', 'hair drier', 'toothbrush'

 

Comments