IOAI 2025 — Đếm gà

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Output
Điểm: 2100 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Mô tả bài toán


Ví dụ ảnh trại gà và bản đồ mật độ tương ứng.

Bạn đóng vai trưởng nhóm AI hợp tác với các trang trại nuôi gà Ác (Silkie) thả vườn. Đếm chính xác số gà rất quan trọng cho cả người chăn nuôi lẫn công ty bảo hiểm: dịch bệnh hay thú săn mồi có thể làm đàn gà sụt giảm nhanh, và bồi thường bảo hiểm đòi hỏi con số tổn thất chính xác.

Nhiệm vụ là đếm gà bằng phương pháp ước lượng bản đồ mật độ (density estimation) — kỹ thuật phổ biến trong đếm đám đông và đếm động vật. Thay vì phát hiện trực tiếp từng con, mô hình hồi quy ra một bản đồ mật độ 2D có cùng vị trí không gian với ảnh; tổng pixel của bản đồ chính bằng số gà trong ảnh.

Cụ thể, với mỗi ảnh trang trại đầu vào (RGB, 720×1280), mô hình cần dự đoán một bản đồ mật độ 180×320 (giảm độ phân giải để tiết kiệm bộ nhớ), float32, không âm. Cộng toàn bộ giá trị trong bản đồ cho ta số gà ước tính.

Dữ liệu

Tập huấn luyện chính thức (ảnh + nhãn bản đồ mật độ) do IOAI công bố trên HuggingFace tại: https://huggingface.co/datasets/ioaihsc/Task2_Chicken_Counting_LABEL.

Bộ dữ liệu gốc gồm 100 ảnh huấn luyện có nhãn, 100 ảnh validation và 100 ảnh test; ảnh lẫn nhãn của hai tập sau đều được ban tổ chức giữ kín.

Để hỗ trợ chấm thử ngoại tuyến, LQDOJ đính kèm validation_density.npz chứa bản đồ mật độ thật của tập validation dưới khóa y_val. Đáp án tập test thật chỉ hệ thống chấm sử dụng.

Các tệp đính kèm:

  • ioai25chicken_baseline.ipynb — notebook baseline đầy đủ. Mô hình baseline ChickenCounting gồm FeatureExtraction (4 lớp tích chập, trọng số có sẵn trong base.pth) ghép với DensityDecoder để bạn tự thiết kế.
  • figures.zip — minh họa ảnh đầu vào và bản đồ mật độ tham chiếu.
  • validation_density.npz — nhãn validation để chấm thử cục bộ.

Bài nộp

Nộp một tệp .zip chứa duy nhất tệp test_answer.npz, bên trong có mảng tên pred_b với:

  • Kiểu dữ liệu: float32.
  • Hình dạng: (100, 1, 180, 320) hoặc (100, 180, 320).
  • Mọi phần tử không âm và hữu hạn (không NaN/Inf).

Sai kích thước, có giá trị âm/không hữu hạn, hoặc thiếu khóa pred_b đều bị tính 0 điểm.

Tiêu chí chấm

Với mẫu thứ \(i\), gọi \(S_i\) là tổng bản đồ mật độ dự đoán và \(T_i\) là tổng bản đồ thật (số gà thật). Sai số tương đối từng ảnh:

\[ r_i = \left| 1 - \frac{S_i}{T_i} \right| \]

Điểm cuối cùng tính trên toàn bộ 100 ảnh test:

\[ \text{Score} = \exp\!\left( -\frac{1}{n} \sum_{i=1}^{n} r_i \right) \]

Điểm bằng 1.0 khi tổng dự đoán trùng khít với số gà thật ở mọi ảnh, và giảm dần về 0 khi sai số tăng. Chỉ tổng bản đồ ảnh hưởng đến điểm — phân bố không gian không bị chấm trực tiếp, nhưng học đúng phân bố thường giúp tổng chính xác hơn.

Mã nguồn gốc: https://github.com/IOAI-official/IOAI-2025/tree/main/Individual-Contest/Chicken_Counting.

Tệp

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.

Kỳ thi: