COCO Dataset에 대한 고찰

Tasker_Jang·2024년 6월 16일
0
  • info: 데이터셋에 대한 일반 정보를 담고 있는 객체

    • description: 데이터셋에 대한 설명. 여기서는 "COCO 2017 Dataset"이라고 설명되어 있습니다.
    • url: 데이터셋의 공식 웹사이트 URL. 여기서는 "http://cocodataset.org"입니다.
    • version: 데이터셋의 버전. 여기서는 "1.0"입니다.
    • year: 데이터셋이 생성된 연도. 여기서는 2017년입니다.
    • contributor: 데이터셋에 기여한 그룹이나 개인. 여기서는 "COCO Consortium"입니다.
    • date_created: 데이터셋이 생성된 날짜. 여기서는 "2017/09/01"입니다.
  • licenses: 데이터셋의 라이센스 정보를 담고 있는 배열. 여러 개의 라이센스가 있을 수 있지만, 여기서는 하나의 라이센스만 포함되어 있습니다.

    • url: 라이센스의 공식 URL. 여기서는 "http://creativecommons.org/licenses/by-nc-sa/2.0/"입니다.
    • id: 라이센스의 고유 식별자. 여기서는 1번입니다.
    • name: 라이센스의 이름. 여기서는 "Attribution-NonCommercial-ShareAlike License"입니다.

그림 파일에 대한 내용

 "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: 이미지의 라이센스를 나타내는 숫자 코드입니다. COCO 데이터셋에는 여러 라이센스가 있으며, 각 라이센스는 숫자로 식별됩니다. 여기서는 4번 라이센스입니다.
  • file_name: 데이터셋 내에서 이미지의 파일 이름입니다. 여기서는 000000397133.jpg입니다.
  • coco_url: COCO 데이터셋 서버에서 해당 이미지를 볼 수 있는 URL입니다. 여기서는 http://images.cocodataset.org/val2017/000000397133.jpg 입니다.
  • `height:` 이미지의 높이(픽셀 단위)입니다. 여기서는 427 픽셀입니다.
  • width: 이미지의 너비(픽셀 단위)입니다. 여기서는 640 픽셀입니다.
  • `date_captured:` 이미지가 촬영된 날짜와 시간입니다. 여기서는 2013-11-14 17:02:52입니다.
  • flickr_url: 이미지가 업로드된 Flickr 페이지의 URL입니다. 여기서는 http://farm7.staticflickr.com/6116/6255196340_da26cf2c9e_z.jpg입니다.
  • `id:` COCO 데이터셋 내에서 이미지의 고유 식별자(ID)입니다. 여기서는 397133입니다.


각 그림에 대한 annotation 정보

  • Annotation: 그림에 있는 사물/사람의 segmentation mask와 box 영역, 카테고리 등의 정보
"annotations": [
        {
            "segmentation": [
                [
                    538.06,
                    310.76,
                    528.73,
                    328.38,
                    527.69,
                    338.75,
                    527.69,
                    349.11,
                    527.69,
                    356.37,
                    505.92,
                    369.85,
                    472.74,
                    371.92,
                    462.38,
                    371.92,
                    424.02,
                    390.58,
                    418.83,
                    392.66,
                    369.07,
                    387.47,
                    356.63,
                    386.44,
                    320.35,
                    391.62,
                    286.13,
                    372.96,
                    280.95,
                    372.96,
                    249.85,
                    370.89,
                    236.37,
                    370.89,
                    220.82,
                    369.85,
                    207.34,
                    376.07,
                    202.16,
                    393.69,
                    194.9,
                    396.8,
                    181.43,
                    401.99,
                    174.17,
                    391.62,
                    176.24,
                    78.14,
                    166.91,
                    365.7,
                    144.1,
                    378.14,
                    118.19,
                    392.66,
                    109.89,
                    401.99,
                    81.9,
                    426.87,
                    78.79,
                    423.76,
                    72.57,
                    413.39,
                    70.5,
                    400.95,
                    72.57,
                    391.62,
                    82.94,
                    380.22,
                    118.19,
                    354.3,
                    145.14,
                    335.64,
                    161.73,
                    320.09,
                    181.43,
                    295.21,
                    196.98,
                    282.76,
                    203.2,
                    276.54,
                    217.71,
                    264.1,
                    257.11,
                    255.81,
                    322.42,
                    248.55,
                    374.25,
                    255.81,
                    414.69,
                    263.07,
                    454.08,
                    258.92,
                    462.38,
                    257.88,
                    464.45,
                    236.11,
                    480.0,
                    252.7,
                    506.95,
                    269.29,
                    526.65,
                    273.43,
                    553.61,
                    269.29,
                    566.05,
                    273.43,
                    557.75,
                    293.13,
                    539.09,
                    307.65
                ]
            ],
            "area": 48159.0567,
            "iscrowd": 0,
            "image_id": 260925,
            "bbox": [
                70.5,
                236.11,
                495.55,
                190.76
            ],
            "category_id": 17,
            "id": 52697
        },
  • segmentation: 객체의 경계(윤곽)를 나타내는 다각형 정보입니다. 리스트 안에 리스트가 있고, 내부 리스트는 다각형의 꼭짓점 좌표를 나열합니다. 각 쌍의 값은 (x, y) 좌표를 의미합니다.
    • 예시: [538.06,310.76,528.73,328.38,...]는 첫 번째 꼭짓점이 (538.06, 310.76), 두 번째 꼭짓점이 (528.73, 328.38)인 다각형을 의미합니다.
  • area: 객체의 영역(면적)을 나타냅니다. 여기서는 48159.0567로, 객체의 면적이 약 48159.0567 평방 단위임을 의미합니다.
  • iscrowd: 객체가 여러 객체로 구성된 군집(crowd)인지 여부를 나타냅니다. 0은 단일 객체임을 의미합니다. 군집 객체일 경우 1로 표시됩니다.
  • image_id: 객체가 속한 이미지의 고유 ID입니다. 여기서는 260925로, 이미지 ID가 260925임을 의미합니다.
  • bbox: 객체를 둘러싸는 바운딩 박스(bounding box)를 나타냅니다. [x, y, width, height] 형식으로 주어지며,
    • 여기서는 [70.5, 236.11, 495.55, 190.76]로,
      • x는 바운딩 박스의 왼쪽 위 꼭짓점의 x 좌표 (70.5),
      • y는 바운딩 박스의 왼쪽 위 꼭짓점의 y 좌표 (236.11),
      • width는 바운딩 박스의 너비 (495.55),
      • height는 바운딩 박스의 높이 (190.76)를 의미합니다.
  • category_id: 객체의 분류 카테고리 ID입니다.
  • id: 객체 주석의 고유 ID입니다. 여기서는 52697로, 주석 ID가 52697임을 의미합니다.
  • supercategory: 유사한 카테고리를 그룹화하는 더 넓은 범주입니다. 예를 들어, "사람(person)"은 슈퍼카테고리입니다.

마지막으로 category 리스트

categories": [
        {
            "supercategory": "person",
            "id": 1,
            "name": "person"
  • supercategory: 해당 카테고리가 속한 상위 카테고리(supercategory)입니다. 여기서는 "person"입니다. 이는 상위 분류로, 여러 하위 카테고리를 하나로 묶는 역할을 합니다.
  • id: 해당 카테고리의 고유 ID입니다. 여기서는 1입니다. COCO 데이터셋에서는 각 카테고리가 고유한 숫자로 식별됩니다.
  • `name:` 카테고리의 이름입니다. 여기서는 "person"입니다. 이는 데이터셋 내에서 이 카테고리로 분류된 객체들을 설명하는 이름입니다.

보너스: COCO 2017 data set category 정리

  • 각 카테고리의 상위 카테고리
  • ID 12가 없는 이유는 COCO 데이터셋의 초기 설계 및 할당 과정에서 특정 카테고리가 제거되었기 때문일 수 있습니다. 데이터셋의 설계 및 업데이트 과정에서 일부 ID는 할당되지 않거나, 나중에 제거된 카테고리일 가능성이 있습니다. 이런 경우, 중간에 빈 ID가 생길 수 있습니다.

Supercategory: Person

  1. Person (id: 1)

Supercategory: Vehicle

  1. Bicycle (id: 2)
  2. Car (id: 3)
  3. Motorcycle (id: 4)
  4. Airplane (id: 5)
  5. Bus (id: 6)
  6. Train (id: 7)
  7. Truck (id: 8)
  8. Boat (id: 9)

Supercategory: Outdoor

  1. Traffic Light (id: 10)
  2. Fire Hydrant (id: 11)
  3. Stop Sign (id: 13)
  4. Parking Meter (id: 14)
  5. Bench (id: 15)

Supercategory: Animal

  1. Bird (id: 16)
  2. Cat (id: 17)
  3. Dog (id: 18)
  4. Horse (id: 19)
  5. Sheep (id: 20)
  6. Cow (id: 21)
  7. Elephant (id: 22)
  8. Bear (id: 23)
  9. Zebra (id: 24)
  10. Giraffe (id: 25)

Supercategory: Accessory

  1. Backpack (id: 27)
  2. Umbrella (id: 28)
  3. Handbag (id: 31)
  4. Tie (id: 32)
  5. Suitcase (id: 33)

Supercategory: Sports

  1. Frisbee (id: 34)
  2. Skis (id: 35)
  3. Snowboard (id: 36)
  4. Sports Ball (id: 37)
  5. Kite (id: 38)
  6. Baseball Bat (id: 39)
  7. Baseball Glove (id: 40)
  8. Skateboard (id: 41)
  9. Surfboard (id: 42)
  10. Tennis Racket (id: 43)

Supercategory: Kitchen

  1. Bottle (id: 44)
  2. Wine Glass (id: 46)
  3. Cup (id: 47)
  4. Fork (id: 48)
  5. Knife (id: 49)
  6. Spoon (id: 50)
  7. Bowl (id: 51)

Supercategory: Food

  1. Banana (id: 52)
  2. Apple (id: 53)
  3. Sandwich (id: 54)
  4. Orange (id: 55)
  5. Broccoli (id: 56)
  6. Carrot (id: 57)
  7. Hot Dog (id: 58)
  8. Pizza (id: 59)
  9. Donut (id: 60)
  10. Cake (id: 61)

Supercategory: Furniture

  1. Chair (id: 62)
  2. Couch (id: 63)
  3. Potted Plant (id: 64)
  4. Bed (id: 65)
  5. Dining Table (id: 67)
  6. Toilet (id: 70)

Supercategory: Electronic

  1. TV (id: 72)
  2. Laptop (id: 73)
  3. Mouse (id: 74)
  4. Remote (id: 75)
  5. Keyboard (id: 76)
  6. Cell Phone (id: 77)

Supercategory: Appliance

  1. Microwave (id: 78)
  2. Oven (id: 79)
  3. Toaster (id: 80)
  4. Sink (id: 81)
  5. Refrigerator (id: 82)

Supercategory: Indoor

  1. Book (id: 84)
  2. Clock (id: 85)
  3. Vase (id: 86)
  4. Scissors (id: 87)
  5. Teddy Bear (id: 88)
  6. Hair Drier (id: 89)
  7. Toothbrush (id: 90)

하나의 이미지에 여러 객체가 어노테이션된 예시

{
  "images": [
    {
      "id": 123,
      "file_name": "000000123456.jpg",
      "width": 640,
      "height": 480
    }
  ],
  "annotations": [
    {
      "id": 1,
      "image_id": 123,
      "category_id": 18,
      "bbox": [100, 200, 50, 70],
      "segmentation": [[...]],
      "area": 3500,
      "iscrowd": 0
    },
    {
      "id": 2,
      "image_id": 123,
      "category_id": 1,
      "bbox": [150, 250, 60, 80],
      "segmentation": [[...]],
      "area": 4800,
      "iscrowd": 0
    }
  ],
  "categories": [
    {"id": 1, "name": "person"},
    {"id": 18, "name": "dog"}
  ]
}
  • 이미지 ID가 123인 이미지에 두 개의 객체가 있습니다.
  • 첫 번째 객체는 카테고리 ID 18 (개)을 가지며, 바운딩 박스는 [100, 200, 50, 70]입니다.
  • 두 번째 객체는 카테고리 ID 1 (사람)을 가지며, 바운딩 박스는 [150, 250, 60, 80]입니다.

train 이랑 validation 비교하기

  • 데이터셋 개수만 다르고 어노테이션의 형식은 똑같다! (이미지랑 이미지에 대한 어노테이션은 당근 다름)

profile
터널을 지나고 있을 뿐, 길은 여전히 열려 있다.

0개의 댓글