yoncho`s blog
Object Detection Dataset [2] | MS COCO | MS_COCO_DATASET 본문
Object Detection Dataset [2] | MS COCO | MS_COCO_DATASET
욘초 2024. 9. 28. 14:44MS COCO DATASET
MS COCO 데이터 세트는 PASCAL VOC 데이터세트 보다 많은
80개의 Object Category를 갖고있으며,
300K Img, 1.5million object를 가지고있어서,
평균적으로 1개의 img안에 5개의 object들이 들어가있는 데이터 세트이다.
특히, MS-COCO 2017은 Tensorflow가 나온해의 가장 많은 카테고리를 갖고있는
데이터 세트였기 때문에,
Tensorflow Object Detection API & 많은 오픈소스계열 패키지들은
COCO Dataset으로 pretrained된 모델을 제공하고있다.
COCO 역시,
Classification/Detection,
Semantic & Instance Segmentation 을 한다.
[홈페이지]
https://cocodataset.org/#home
COCO DATASET 구성
이와 같이 학습용, 검증용 파일에 대해서는 json파일안에 모든 정보가 함께 들어가있다.
테스트용은 훈련시킨 모델을 테스트해보는 용도이므로 json파일에 정보가 없다.
COCO DATASET 사용 과정
필요조건 :
- COCOAPI를 다운로드 받고, pycocotools 셋업 필요
- cocoapi/PythonAPI로 들어간 뒤, Make install 수행
- site-packages에 로드 되는지 확인
from pycocotools.coco import COCO
import numpy as np
데이터 세트 준비 :
다운로드 위치 : objectPrj/data/coco/
- COCO 데이터 다운로드 : http://cocodataset.org/#download
- 2017ver. Train img file : wget http://images.cocodataset.org/zips/train2017.zip
- 2017ver. Val img file : wget http://images.cocodataset.org/zips/val2017.zip
- 2017ver. Train/Val annotation file : http://images.cocodataset.org/annotations/annotations_trainval2017.zip
COCO API 활용하기 위한, annotation 파일을 로드 [code]
dataDir='../../data/coco'
dataType='val2017'
annFile='{}/annotations/instances_{}.json'.format(dataDir,dataType)
coco=COCO(annFile)
Category 정보 가져오기 [code]
cats = coco.loadCats(coco.getCatIds())
{‘supercategory’: ‘person’, ‘id’: 1, ‘name’: ‘person’},
{‘supercategory’: ‘vehicle’, ‘id’: 2, ‘name’: ‘bicycle’}…
이런 형태의 카테고리 id별로 세부 정보들을 가져온다.
[추후 더 정확한 내용들을 추가할 예정입니다.]