ai-439Đọc toàn bộ đề miễn phí

Độ chồng lấn IoU của hai hộp

Trong bài toán phát hiện vật thể, IoU (Intersection over Union) đo mức chồng lấn giữa hộp

AICơ bản12 phút

Tiến độ của tôi ở bài này

Điểm và code bạn nộp được lưu vào tài khoản sau khi chấm bài.

Đang tải điểm của bạn…

Kiến thức và chủ đề

numpydetectioniouentry-ramp

Kiến thức tiên quyết: python-basics, ai-bounding-box.

Nội dung đề bài

Mô tả bài toán

Trong bài toán phát hiện vật thể, IoU (Intersection over Union) đo mức chồng lấn giữa hộp dự đoán và hộp thật. Nó bằng diện tích phần giao chia cho diện tích phần hợp, và là cơ sở để đánh giá dự đoán đúng hay trùng lặp.

Yêu cầu

Viết hàm iou_boxes(box_a, box_b) với mỗi hộp là [x1, y1, x2, y2] (góc trên-trái và dưới-phải, x1 < x2, y1 < y2) và trả về IoU dạng số thực.

Quy ước nộp bài

Nộp hàm iou_boxes trong solution.py. Hệ thống gọi hàm trực tiếp và so với sai số 1e-6; không đọc stdin và không in ra stdout.

Input

  • box_a: danh sách bốn số nguyên [x1, y1, x2, y2].
  • box_b: danh sách bốn số nguyên [x1, y1, x2, y2].

Output

Một số thực bằng inter / union với union = area_a + area_b - inter.

Ràng buộc

  • Phần giao theo mỗi trục dùng max(0, ...); hộp rời nhau cho IoU bằng 0.
  • Nếu hộp suy biến (diện tích không dương) khiến hợp không dương, ném ValueError.
  • Dùng Python thuần hoặc NumPy, không cần thư viện khác.

Ví dụ 1

Input

iou_boxes(box_a=[0, 0, 10, 10], box_b=[5, 5, 15, 15])

Output

0.14285714285714285

Ví dụ 2

Input

iou_boxes(box_a=[0, 0, 4, 4], box_b=[0, 0, 4, 4])

Output

1.0

Giải thích

Với box_a = [0, 0, 10, 10] và box_b = [5, 5, 15, 15], giao là hình 5x5 diện tích 25, mỗi hộp diện tích 100, hợp là 175, nên IoU = 25 / 175 = 0.14285714285714285.

3 cấp độ gợi ýMở dần khi bạn thật sự cần hỗ trợ.
Phân tích lời giảiGiải thích hướng tư duy và thuật toán.
Code tham khảoDùng để đối chiếu sau khi tự làm.

Gợi ý và lời giải chỉ mở sau khi bạn bấm Nộp bài. Giáo viên và quản trị viên mở được ngay.

Góp ý & báo lỗi bài tập

Đề bài chưa rõ, test có vấn đề hay bạn có ý tưởng giúp bài tốt hơn? Gửi cho đội ngũ AI Empire nhé — mỗi góp ý đều được đọc.

Nhóm Zalo