Súbor údajov COCO
Tu je jednoduché cvičenie Jupyter Notebook pre študentov, ktorí používajú množinu údajov COCO (Common Objects in Context). Toto cvičenie im pomôže oboznámiť sa s načítavaním a vizualizáciou obrázkov a anotácií z množiny údajov.
Cvičenie: Skúmanie súboru údajov COCO
Objektívny:
Načítajte množinu údajov COCO.
Vizualizujte obrázky a ich zodpovedajúce anotácie.
Predpoklady:
Nainštalujte knižnicu pycocotools.
Stiahnite si súbor údajov COCO (napr. obrázky a anotácie Train/Val z roku 2017).
Krok 1: Nainštalujte požadované knižnice
Najprv sa uistite, že máte nainštalované potrebné knižnice. Môžete ich nainštalovať pomocou pip, ak ste tak ešte neurobili:
%pip install pycocotools
Krok 2: Import knižníc
import numpy as np
import matplotlib.pyplot as plt
from pycocotools.coco import COCO
import requests
from PIL import Image
from io import BytesIO
Krok 3: Načítanie množiny údajov 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)

Krok 4: Načítajte a zobrazte náhodný obrázok
# 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()

Krok 5: Načítanie a zobrazenie anotácií
# 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()

Pokyny pre študentov
1. Podľa pokynov nainštalujte požadované knižnice a načítajte súbor údajov COCO.
2. Upravte kód tak, aby zobrazoval viacero obrázkov a ich anotácií.
3. Preskúmajte rôzne kategórie a vizualizujte obrázky patriace do konkrétnych kategórií.
- Make a submission