COCO 데이터셋 설명 및 다운로드 방법 정리
COCO 데이터셋은 객체 탐지 (object detection), 세그먼테이션 (segmentation), 키포인트 탐지 (keypoint detection) 등의 컴퓨터 비전(computer vision) 분야의 task를 목적으로 만들어진 데이터셋입니다. 실제로 object detection 관련 논문을 읽어 보면, 논문에서 성능 평가 목적으로 많이 사용되는 데이터셋 중에서 COCO 2017을 확인할 수 있습니다. 더불어 많은 object detection 라이브러리는 이러한 COCO 데이터셋으로 사전 학습된(pre-trained) 모델을 제공하고 있습니다. COCO 2017 데이터셋은 다음과 같이 구성되어 있습니다.
▶ 학습(training) 데이터셋: 118,000장의 이미지
▶ 검증(validation) 데이터셋: 5,000장의 이미지
▶ 테스트(test) 데이터셋: 41,000장의 이미지
COCO 데이터셋은 다음의 경로에서 자세한 내용을 확인할 수 있습니다.
▶ COCO 데이터셋 공식 웹 사이트: https://cocodataset.org/
다음과 같이 [데이터셋(dataset)] 페이지로 이동한 뒤에, 데이터셋을 다운로드할 수 있습니다. 저는 간단히 사전 학습된 모델에 대한 평가(evaluation)만 진행할 것이기 때문에, 2017 validation 데이터셋과 Train/Val annotations 파일을 다운로드하였습니다.
해당 파일을 다운로드해 보면, 2017 validation 데이터셋에는 다음과 같이 5,000장의 이미지가 존재하는 것을 확인할 수 있습니다. 전체 용량은 약 800MB 정도입니다.
또한 annotations 파일을 다운로드하면, 다음과 같이 captions_val2017.json 파일이 존재합니다. 이 파일은 이미지에 대한 기본적인 설명이 포함되어 있습니다. 그리고 instances_val2017.json 파일에는 각 이미지 파일 내부에 어떠한 객체(object)가 존재하는지, 바운딩 박스(bounding box)와 함께 그 클래스(class) 정보가 함께 주어집니다.
따라서 instances.json 파일이 일반적인 세그먼테이션(segmentation), 객체 탐지(object Detection) 분야에서 가장 중요한 annotation 파일입니다. 실제로 내용을 열어 보시면, 다음과 같이 각 이미지(image)에 대하여 파일명이 무엇인지, 이미지의 높이와 너비는 어느 정도인지에 대한 이미지 파일 관련 정보가 나와 있습니다.
"images": [
{
"license": 4,
"file_name": "000000397133.jpg",
"coco_url": "http://images.cocodataset.org/val2017/000000397133.jpg",
"height": 427,
"width": 640,
"date_captured": "2013-11-14 17:02:52",
"flickr_url": "http://farm7.staticflickr.com/6116/6255196340_da26cf2c9e_z.jpg",
"id": 397133
},
{
"license": 1,
"file_name": "000000037777.jpg",
"coco_url": "http://images.cocodataset.org/val2017/000000037777.jpg",
"height": 230,
"width": 352,
"date_captured": "2013-11-14 20:55:31",
"flickr_url": "http://farm9.staticflickr.com/8429/7839199426_f6d48aa585_z.jpg",
"id": 37777
},
...
],
이후에 annotations 정보에 대한 상세 내용을 확인할 수 있습니다. 여기에서는 각 사물(object)에 대하여 segmentation 정보가 들어가 있습니다. 해당 사물이 이미지 내 어떤 위치에 있는지, 구체적인 바운딩 박스(bounding box)에 대한 정보와 함께 기록되어 있습니다.
"annotations": [
{
"segmentation": [
[
510.66,
423.01,
511.72,
420.03,
510.45,
416.0,
510.34,
413.02,
...
]
],
"area": 702.1057499999998,
"iscrowd": 0,
"image_id": 289343,
"bbox": [
473.07,
395.93,
38.65,
28.67
],
"category_id": 18,
"id": 1768
},
{
"segmentation": [
[
289.74,
443.39,
302.29,
445.32,
308.09,
427.94,
310.02,
416.35,
...
]
],
"area": 27718.476299999995,
"iscrowd": 0,
"image_id": 61471,
"bbox": [
272.1,
200.23,
151.97,
279.77
],
"category_id": 18,
"id": 1773
},
...
]
'기타' 카테고리의 다른 글
FiftyOne 라이브러리를 이용해 COCO 2017 validation 데이터셋에서 원하는 개수의 이미지만 가져와 작은 크기의 데이터셋 구축하기 (0) | 2021.07.28 |
---|---|
학교 계정 원드라이브(OneDrive) 저장소에서 남은 용량 확인하는 방법 (0) | 2021.07.27 |
한국투자증권을 이용한 카카오 뱅크 공모주 청약 방법 (2021년 7월 27일까지) (0) | 2021.07.26 |
한국투자증권 모바일 앱(App)을 이용하여 1시간 만에 주식(증권) 계좌 개설하는 방법 (비대면 온라인 계좌 개설) (0) | 2021.07.26 |
공인인증서(공동인증서) 파일로 내보내기 한 이후에 다른 컴퓨터에서 불러와 사용하는 방법 (0) | 2021.07.25 |