ПочатиПочніть безкоштовно

Виявлення об'єктів

У цій вправі ви скористаєтеся тим самим набором даних flickr, що й раніше, який містить 30 000 зображень з підписами. Тепер ви знайдете обмежувальні рамки об'єктів, виявлених моделлю.

Photo of 2 people, 1 is playing the guitar

Зразок зображення (image) і модуль конвеєра (pipeline) вже завантажено.

Ця вправа є частиною курсу

Багатомодальні моделі з Hugging Face

Переглянути курс

Інструкції до вправи

  • Завантажте конвеєр object-detection з попередньо навченою моделлю facebook/detr-resnet-50.
  • Знайдіть label виявленого об'єкта.
  • Знайдіть відповідний показник упевненості score для виявленого об'єкта.
  • Знайдіть координати обмежувальної рамки box для виявленого об'єкта.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# Load the object-detection pipeline
pipe = pipeline("____", "____", revision="no_timm")
pred = pipe(image)
outputs = pipe(image)

for n, obj in enumerate(outputs):
    # Find the detected label
    label = ____
    # Find the confidence score of the prediction
    confidence = ____
    # Obtain the bounding box coordinates
    box = ____
    
    plot_args = {"linewidth": 1, "edgecolor": colors[n], "facecolor": 'none'}
    rect = patches.Rectangle((box['xmin'], box['ymin']), box['xmax']-box['xmin'], box['ymax']-box['ymin'], **plot_args)
    ax.add_patch(rect)
    print(f"Detected {label} with confidence {confidence:.2f} at ({box['xmin']}, {box['ymin']}) to ({box['xmax']}, {box['ymax']})")

plt.show()
Редагувати та запускати код