본문 바로가기
AI Framework/MMDetection

[MMDetection] 2주차: 데이터 준비

by cogito21_python 2024. 5. 31.
반응형

강의 목표

  1. 객체 검출에 사용되는 주요 데이터셋을 이해한다.
  2. COCO 데이터셋을 다운로드하고 전처리하는 방법을 학습한다.

강의 구성

4강: 데이터셋 이해 (45분)

  • 내용
    • 객체 검출에 사용되는 주요 데이터셋 소개 (COCO, VOC, Cityscapes 등)
    • 각 데이터셋의 구조와 어노테이션 형식 설명
    • 데이터셋 선택 기준 및 용도
  • 활동
    • 각 데이터셋의 예시 이미지 및 어노테이션 파일 탐색
    • Q&A 시간

5강: COCO 데이터셋 준비 (75분)

  • 내용
    • COCO 데이터셋의 구성 및 다운로드 방법 설명
    • 데이터셋 디렉토리 구조 설정
    • COCO 데이터셋 전처리 및 변환
  • 활동
    • 실습: COCO 데이터셋 다운로드 및 디렉토리 구조 설정
    • 실습: 데이터셋 전처리 스크립트 작성 및 실행

강의 자료

4강 자료

  1. 슬라이드: 주요 객체 검출 데이터셋 소개 및 구조 설명
  2. 자료: 데이터셋 어노테이션 형식 예제
  3. 링크:

5강 자료

  1. 실습 가이드: COCO 데이터셋 다운로드 및 전처리 가이드
  2. 스크립트: 데이터셋 다운로드 및 전처리 스크립트

실습 안내

실습 1: COCO 데이터셋 다운로드 및 디렉토리 구조 설정

  1. COCO 데이터셋 다운로드

mkdir -p data/coco
cd data/coco
wget http://images.cocodataset.org/zips/train2017.zip
wget http://images.cocodataset.org/zips/val2017.zip
wget http://images.cocodataset.org/annotations/annotations_trainval2017.zip
unzip train2017.zip
unzip val2017.zip
unzip annotations_trainval2017.zip
cd ../..

 

  2. 디렉토리 구조 설정

    • 데이터 디렉토리가 data/coco 아래에 위치하도록 설정

실습 2: 데이터셋 전처리 스크립트 작성 및 실행

  1. COCO 데이터셋 전처리 스크립트 작성

import os
import json

def load_coco_annotations(ann_file):
    with open(ann_file, 'r') as f:
        annotations = json.load(f)
    return annotations

def preprocess_coco_data(annotations, img_dir, output_dir):
    if not os.path.exists(output_dir):
        os.makedirs(output_dir)
    for ann in annotations['images']:
        img_id = ann['id']
        img_file = os.path.join(img_dir, ann['file_name'])
        output_file = os.path.join(output_dir, ann['file_name'])
        if os.path.exists(img_file):
            os.symlink(img_file, output_file)

if __name__ == "__main__":
    ann_file = 'data/coco/annotations/instances_train2017.json'
    img_dir = 'data/coco/train2017'
    output_dir = 'data/coco/preprocessed/train2017'
    annotations = load_coco_annotations(ann_file)
    preprocess_coco_data(annotations, img_dir, output_dir)

 

  2. 스크립트 실행
python preprocess_coco.py

과제

  1. 다운로드한 COCO 데이터셋을 사용하여 간단한 데이터 탐색을 수행하고, 탐색 결과를 보고서 형식으로 제출합니다.
  2. 다른 객체 검출 데이터셋 (VOC 또는 Cityscapes) 중 하나를 선택하여 다운로드하고, 데이터 구조와 어노테이션 형식을 요약합니다.

참고 자료

 

반응형