I'm Lim

[데이터 셋] PASCAL VOC dataset 본문

Object Detection

[데이터 셋] PASCAL VOC dataset

imlim 2022. 12. 24. 01:19

Introduction

  해당 글은 Object Detetcion 분야 학습에 주로 사용되는 dataset을 정리하고, Torchvision에서의 데이터 호출 방법에 대해 상세히 알아보고자 작성하였습니다. 데이터 셋 선정기준은 "A survey on performance metrics for object detection algorithms" [1] 라는  논문을 참고하여 선택하였습니다.

PASCAL  VOC Challenge

  Object detection 분야에서 가장 보편적인 데이터셋입니다. 그 중에서도 PASCAL VOC 2012라는 데이터 셋은 R-CNN 모델에서부터 YOLO v3모델까지 학습 데이터셋으로 사용되었습니다. 

1. Data Load

  PASCAL VOC 데이터셋을 호출하기 위해서 Torchvision을 사용합니다.

from torchvision.datasets improt VOCDetection

# Train Dataset
train_data = VOCDetection(root='~/', year='2012', image_set='train', download=True)

# Validation Dataset
val_data = VOCDetection(root='~/', year='2012', image_set='val', download=True)

# TrainVal Dataset
trainval_data = VOCDetection(root='~/', year='2012', image_set='trainval', download=True)

 

  • year : 2007년부터 2012년까지 존재합니다 (즉, '2007' ~ '2012'까지 설정 가능).
  • image_set : train / val / trainval 중 하나를 입력하면 됩니다 (trainval의 데이터 = train 데이터 + val 데이터).
  • 학습 데이터 셋 개수 : 5717개 / 평가 데이터 셋 개수 : 5823개 / TrainVal 데이터 개수 : 11540개

※ 모델의 학습을 위해서 Train 데이터 셋을, 평가를 위해서 Val 데이터 셋을 자주 사용하기 때문에 앞으로는 이 두가지만 고려하겠습니다.

2. Image data Shape

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

 

Train dataset의 첫 두개의 데이터 크기

3. Label data

 

  • Annotation : 입력 데이터의 메타 데이터를 추가하는 작업을 뜻합니다. 조금 쉽게 말하자면, Image Classification에서는 라벨링이 단 하나였습니다. 예를 들어, 개와 고양이를 분류하는 작업이라면 입력 데이터의 라벨은 개 혹은 고양이 둘중 하나입니다. 그러나, Object detection 문제는 여러가지 라벨이 같이 사용됩니다. 이처럼 여러가지 라벨이 붙은 데이터를 모은 집합 그 자체를 Annotation이라 합니다.

    • name : 물체의 클래스 명
    • pose : 물체의 방향
    • turncated : 물체가 잘렸는지 여부
    • occluded : 물체가 가려졌는지 여부
    • bndbox : 바운딩 박스 (xmin, ymin, xmax, ymax)
    • difficult : 물체를 인식하기 어려운지 여부 / 다만, 확인결과 train과 val 모두에 difficult는 존재하지 않았습니다.

4. Sample Image

 

Bounding Box를 적용한 데이터 샘플

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

5. Class 개수

 Pascal VOC 2012의 클래스 개수는 20개이고, 아래와 같습니다.

background, aeroplane, bicycle, bird, boat, bottle, bus, car, cat, chair, cow,
diningtable, dog, horse, motorbike, person, pottedplant, sheep, sofa, train, tvmonitor

'Object Detection' 카테고리의 다른 글

[개념 정리] Non Max Suppression  (0) 2023.01.24
[논문 정리] R-CNN  (0) 2023.01.24
[개념 정리] Object Detection Region Proposal  (0) 2022.12.27
[개념 정리] Object Detection Metric  (0) 2022.12.25
[데이터 셋] COCO dataset  (1) 2022.12.24
Comments