Conjunto de dados COCO
Aqui está um exercício simples do Jupyter Notebook para alunos que usam o conjunto de dados COCO (Common Objects in Context). Este exercício irá ajudá-los a se familiarizar com o carregamento e visualização de imagens e anotações do conjunto de dados.
Exercício: Explorar o conjunto de dados COCO
Objetivo:
Carregue o conjunto de dados COCO.
Visualize imagens e suas anotações correspondentes.
Pré-requisitos:
Instale a biblioteca pycocotools.
Faça o download do conjunto de dados COCO (por exemplo, imagens e anotações Train/Val 2017).
Etapa 1: Instalar as bibliotecas necessárias
Primeiro, certifique-se de ter as bibliotecas necessárias instaladas. Pode instalá-los usando pip se ainda não o fez:
%pip install pycocotools
Etapa 2: Importar bibliotecas
import numpy as np
import matplotlib.pyplot as plt
from pycocotools.coco import COCO
import requests
from PIL import Image
from io import BytesIO
Etapa 3: Carregar o conjunto de dados COCO
import os
# Path to the COCO annotations file
annFile_url = 'https://github.com/AIForVet/aiml/raw/refs/heads/main/annotations/instances_train2017.json'
annFile_local = 'instances_train2017.json'
# Download the annotations file if it does not exist
if not os.path.exists(annFile_local):
response = requests.get(annFile_url)
with open(annFile_local, 'wb') as f:
f.write(response.content)
# Initialize COCO api for instance annotations
coco = COCO(annFile_local)

Passo 4: Carregar e apresentar imagem aleatória
# Get image ids
imgIds = coco.getImgIds()
# Select a random image
img = coco.loadImgs(imgIds[np.random.randint(0, len(imgIds))])[0]
# Load and display the image
img_url = img['coco_url']
response = requests.get(img_url)
img_data = Image.open(BytesIO(response.content))
plt.imshow(img_data)
plt.axis('off')
plt.show()

Etapa 5: Carregar e apresentar anotações
# Load and display annotations
annIds = coco.getAnnIds(imgIds=img['id'], iscrowd=False)
anns = coco.loadAnns(annIds)
# Display annotations
plt.imshow(img_data)
plt.axis('off')
coco.showAnns(anns)
# display text for annotations
for ann in anns:
bbox = ann['bbox']
plt.text(bbox[0], bbox[1], coco.loadCats(ann['category_id'])[0]['name'], color='red', fontsize=12, weight='bold')
plt.show()

Instruções para Estudantes
1. Siga os passos para instalar as bibliotecas necessárias e carregar o conjunto de dados COCO.
2. Modifique o código para apresentar várias imagens e suas anotações.
3. Explore diferentes categorias e visualize imagens pertencentes a categorias específicas.
- Make a submission