Bắt đầu ngayBắt đầu miễn phí

Phát hiện vật thể

Trong bài tập này, bạn sẽ dùng cùng bộ dữ liệu flickr như trước, gồm 30.000 ảnh và chú thích đi kèm. Giờ bạn sẽ tìm các hộp giới hạn (bounding box) của những vật thể được mô hình phát hiện.

Photo of 2 people, 1 is playing the guitar

Ảnh mẫu (image) và mô-đun pipeline (pipeline) đã được nạp.

Bài tập này là một phần của khóa học

Mô hình đa phương thức với Hugging Face

Xem khóa học

Hướng dẫn bài tập

  • Tải pipeline object-detection với mô hình pretrained facebook/detr-resnet-50.
  • Tìm label của vật thể được phát hiện.
  • Tìm score độ tin cậy tương ứng của vật thể được phát hiện.
  • Tìm tọa độ box (hộp giới hạn) của vật thể được phát hiện.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# 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()
Chỉnh sửa và Chạy Mã