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.

Ả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
Hướng dẫn bài tập
- Tải pipeline
object-detectionvới mô hình pretrainedfacebook/detr-resnet-50. - Tìm
labelcủ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()