IOAI 2025 — Individual Contest Day 2

Bộ đề bài

# Bài tập Điểm Thời gian: Giới hạn bộ nhớ
1 IOAI 2025 — Xác thực tranh cổ 100 (p) 1.0s 256M
2 IOAI 2025 — Ghép cặp biểu tượng nhà vệ sinh 100 (p) 1.0s 256M

1. IOAI 2025 — Xác thực tranh cổ

Điểm: 100 (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

Bạn được mời giúp một nhà khảo cổ học và phê bình nghệ thuật xây dựng một thuật toán phân biệt các bức tranh cổ là nguyên bản hay bản sao. Vì việc xác thực thủ công tốn kém, đội nghiên cứu chỉ kịp gắn nhãn cho một phần nhỏ trong số các bức tranh đã thu thập; phần lớn còn lại chưa có nhãn. Tuy nhiên, các đặc trưng số (digital features) trích xuất từ tranh được biết là có cấu trúc rõ ràng, nên ta vẫn có thể tận dụng cả những mẫu chưa gắn nhãn để huấn luyện mô hình.

Đây là bài toán phân loại nhị phân bán giám sát (semi-supervised binary classification): nhãn nhận một trong ba giá trị -1 (bản sao), +1 (nguyên bản) và 0 (chưa biết). Bạn cần xây dựng một mô hình dự đoán nhãn -1 hoặc +1 cho các mẫu trong tập kiểm tra.

Dữ liệu

Bộ dữ liệu gồm các tệp sau (đính kèm cùng đề bài):

  • training_set.csvtập huấn luyện (training set), gồm 500 dòng. Năm cột đầu là đặc trưng số của mỗi bức tranh, cột thứ sáu là nhãn nhận giá trị -1, 1 hoặc 0 (0 nghĩa là chưa biết nhãn).
  • test_input.csvtập kiểm tra (test set), gồm 500 dòng, chỉ có 5 cột đặc trưng (không kèm nhãn). Đây là dữ liệu mà bài nộp của bạn cần dự đoán.
  • sample_submission.csv — ví dụ minh hoạ định dạng tệp đáp án.

Ngoài ra, bạn có thể tham khảo:

  • ioai25antique_baseline.ipynb — notebook giải pháp cơ sở (baseline), minh hoạ cách đọc dữ liệu, huấn luyện một mô hình SVM đơn giản và xuất tệp nộp bài.
  • figures.zip — các hình minh hoạ kèm theo đề bài gốc.

Bài nộp

Nộp một tệp zip chứa duy nhất tệp test_answer.csv, trong đó:

  • Mỗi dòng chứa đúng một dự đoán, là -1 hoặc 1.
  • Số dòng bằng số dòng của test_input.csv (500 dòng) và theo đúng thứ tự các mẫu trong tệp đó.
  • Không có dòng tiêu đề (header), không có cột chỉ số.

Hệ thống chấm sẽ giải nén tệp nộp, đọc test_answer.csv và so khớp với nhãn thật, vì vậy bạn cần tuân thủ nghiêm ngặt định dạng trên.

Tiêu chí chấm

Tiêu chí đánh giá là độ chính xác phân loại (classification accuracy) — tỉ lệ mẫu được dự đoán đúng trên tổng số mẫu trong tập kiểm tra.

Để tham chiếu, theo công bố của Ban Khoa học IOAI 2025 trên Leaderboard B:

  • Điểm baseline (giải pháp cơ sở): 0.46.
  • Điểm cao nhất đạt được: 0.98.

Bài toán gốc thuộc kỳ thi cá nhân IOAI 2025 (Bắc Kinh, Trung Quốc). Mã nguồn và mô tả gốc có tại kho lưu trữ chính thức của IOAI.

2. IOAI 2025 — Ghép cặp biểu tượng nhà vệ sinh

Điểm: 100 (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ụ biểu tượng truy vấn (đã cắt) -- nhà vệ sinh nam.


Ảnh gốc khác giới (nữ) cùng nhà vệ sinh -- là đáp án ghép cặp.

Mỗi nhà vệ sinh ngoài đời thực có hai biểu tượng đặt cạnh nhau — một cho phòng nam, một cho phòng nữ — được thiết kế đồng bộ về phong cách (màu sắc, hình dáng, chất liệu) nên có liên hệ thị giác chặt chẽ với nhau dù thuộc hai giới khác nhau.

Nhiệm vụ: huấn luyện một mô hình ghép cặp sao cho khi đưa vào một ảnh truy vấn là biểu tượng đã cắt (cropped), mô hình tìm được trong tập gallery ảnh gốc (original) của biểu tượng giới tính ngược lại đến từ cùng một nhà vệ sinh. Xem hình minh họa trong figures.zip.

Dữ liệu

(1) Tập huấn luyện (training_set.zip). Gồm 82 nhà vệ sinh, mỗi nhà vệ sinh có 4 biến thể ảnh trong bốn thư mục train/crop/female, train/crop/male, train/orig/female, train/orig/male. Các ảnh được đặt tên 1.png đến 82.png, trong đó tên tệp i.png chính là ID nhà vệ sinh — bốn ảnh có cùng i ở bốn thư mục là cùng một nhà vệ sinh:

  • crop/female/i.png — biểu tượng nữ đã cắt
  • crop/male/i.png — biểu tượng nam đã cắt
  • orig/female/i.png — biểu tượng nữ gốc
  • orig/male/i.png — biểu tượng nam gốc

(2) Tập validation (validation_set.zip, ứng với test_a). query/ chứa 10 biểu tượng đã cắt; gallery/ chứa 20 biểu tượng gốc.

(3) Tập test (test_set.zip, ứng với test_b) — dùng chấm điểm chính thức. query/ chứa 30 biểu tượng đã cắt; gallery/ chứa 60 biểu tượng gốc.

Lưu ý về validation/test:

  • Tên tệp trong query/gallery/ được đánh số và xáo trộn độc lập với ID nhà vệ sinh, nên không thể dựa vào số trong tên tệp để ghép cặp.
  • Với mỗi ảnh trong query/, có đúng hai ảnh trong gallery/ đến từ cùng nhà vệ sinh (một nam, một nữ), tức len(gallery) = 2 * len(query).
  • Tất cả ảnh đều ở định dạng .png.

Tài nguyên đính kèm khác: ioai25restroom_baseline.ipynb (notebook baseline dùng CLIP ViT-B/16) và sample_submission.csv (ví dụ định dạng nộp bài).

Bài nộp

Nộp một tệp zip chứa duy nhất test_answer.csv:

  • Không có dòng tiêu đề (header).
  • Có đúng 30 dòng, mỗi dòng là một số nguyên — ID (tên tệp không kèm .png) của ảnh trong gallery/ của tập test mà bạn dự đoán.
  • Dòng thứ i (i = 1..30) là dự đoán cho ảnh truy vấn i.png của tập test, theo thứ tự số học tăng dần của tên tệp truy vấn.

Tiêu chí chấm

Điểm số là độ chính xác phân loại (precision@1):

\[\text{Score} = \frac{\text{Số truy vấn được ghép đúng}}{\text{Tổng số truy vấn}}\]

là một số thực trong đoạn \([0.0, 1.0]\). Một truy vấn được tính đúng khi ảnh dự đoán vừa đúng nhà vệ sinh vừa có giới tính ngược lại với truy vấn.

Tham chiếu của Hội đồng Khoa học IOAI 2025 (Leaderboard B): điểm cao nhất tham chiếu 0.90, điểm baseline 0.77.

Tham khảo

Mã nguồn và đề bài gốc: https://github.com/IOAI-official/IOAI-2025/tree/main/Individual-Contest/Restroom.