AI/Dataset

[Dataset] PASCAL VOC Segmentation dataset download 하는법

도도걸만단 2026. 4. 10. 05:47
반응형

Pascal VOC 2012는 이미지 분할(Semantic Segmentation) 연구에서 가장 오래되고 널리 사용되는 벤치마크 중 하나이다.
특히 모델의 기본적인 성능을 빠르게 확인하거나, 새로운 방법을 검증하는 초기 실험에 적합하다.


1. 데이터셋 개요

Pascal VOC 2012는 자연 이미지로 구성된 데이터셋이며,
각 이미지에 대해 객체의 위치와 클래스 정보가 픽셀 단위로 주어진다.

  • 총 클래스 수: 21개 (배경 포함)
  • 객체 클래스: 20개
  • 배경 클래스: 1개

2. 클래스 구성

주요 클래스는 다음과 같다.

  • 사람: person
  • 동물: dog, cat, horse, cow, sheep
  • 탈것: car, bus, bicycle, motorbike, train, aeroplane
  • 실내/사물: chair, sofa, table, tv/monitor, bottle, potted plant

이처럼 다양한 object category가 포함되어 있어
기본적인 object recognition과 segmentation 성능을 확인하기에 적합하다.


3. 데이터 수

Pascal VOC 2012의 segmentation 기준 데이터 수는 다음과 같다.

  • train: 약 1,400장
  • val: 약 1,400장

전체 규모는 비교적 작은 편이다.

그래서 실제 연구에서는 보통 SBD (Segmentation Boundaries Dataset)를 추가하여
약 10,000장 규모로 확장해서 사용하는 경우가 많다.


Pascal VOC 2012 다운로드 방법

DINOv2 segmentation 실험을 위해 가장 먼저 사용할 수 있는 데이터셋은 Pascal VOC 2012이다.
이 글에서는 터미널에서 바로 다운로드하고 사용할 수 있는 방법을 설명한다.


1. 기본 데이터 다운로드

Pascal VOC 2012 공식 데이터는 아래 URL에서 제공된다.

wget http://host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCtrainval_11-May-2012.tar

다운로드 후 압축을 해제한다.

tar -xvf VOCtrainval_11-May-2012.tar

그러면 다음과 같은 구조가 생성된다.

  • Annotations: 각 데이터의 Object class, Bounding box와 기타 부가 정보들이 들어 있는 xml 파일
  • ImageSets: 각 Task에 해당하는 데이터의 파일명이 나열된 txt 파일
  • JPEGImages: JPEG 원본 이미지
  • SegmentationClass: Semantic Segmentation을 위한 라벨 PNG 파일
  • SegmentationObject: Instance Segmentation을 위한 라벨 PNG 파일

2. Segmentation 학습용 추가 데이터 (권장)

Pascal VOC segmentation은 기본 데이터만으로는 부족하기 때문에
일반적으로 Segmentation Augmentation 데이터(SBD)를 함께 사용한다.

다음 파일을 다운로드한다.

wget http://www.eecs.berkeley.edu/Research/Projects/CS/vision/grouping/semantic_contours/benchmark.tgz

압축 해제:

tar -xvf benchmark.tgz

이 데이터는 보통 VOC와 합쳐서 학습에 사용한다.


3. 데이터 구조 정리

최종적으로 사용하는 구조는 보통 다음과 같이 정리한다.

datasets/
  ├── VOC2012/
  │     ├── JPEGImages/
  │     ├── SegmentationClass/
  │     └── ImageSets/
  └── SBD/
        ├── dataset/

4. train / val split 확인

Pascal VOC는 split 파일이 이미 제공된다.

경로:

VOC2012/ImageSets/Segmentation/

주요 파일:

  • train.txt
  • val.txt
  • trainval.txt

이 파일을 그대로 사용하면 된다.


5. segmentation에서 사용하는 데이터

실제로 segmentation 학습 시 사용하는 것은:

  • 입력: JPEGImages/*.jpg
  • 라벨: SegmentationClass/*.png

PNG 파일의 픽셀 값이 클래스 ID이다.


6. 간단한 체크

정상적으로 설치되었는지 확인하려면:

ls VOCdevkit/VOC2012/JPEGImages | head
ls VOCdevkit/VOC2012/SegmentationClass | head

이미지와 라벨 파일이 모두 존재하면 정상이다.


정리

  • VOC 2012는 segmentation 실험의 가장 기본 데이터셋
  • 공식 tar 파일 하나로 다운로드 가능
  • segmentation 학습 시 SBD augmentation 데이터 추가 사용 권장
  • train/val split은 이미 제공됨

이 상태에서 바로 DINOv2 segmentation 실험에 사용할 수 있다.

 

 

 

 

 

reference

https://bo-10000.tistory.com/38

반응형