Discord

Checklist HAIO 2026 Summer Camp Qualifier · Task 1

Blind Curator

English title: Vak Kurátor

Choose exactly 300 of 15,000 unlabelled images, seen only through DINOv2 embeddings and thumbnails, so that a fixed prototype classifier built from their labels performs best.

  • Vision
  • Active learning (sample selection)

The task

The pool contains 15,000 images from a 50-class subset of CIFAR-100 (animals, plants, vehicles, everyday objects) without labels. An expert will label exactly 300 chosen images. The evaluator averages the 384-dimensional DINOv2 embeddings of the chosen images per class, L2-normalises the 50 class means and classifies each of 5,000 hidden test images by the largest dot product with these prototypes; the model has no trainable parameters, so the score depends only on the selection.

The pool is imperfect: 8% of the observed labels are noisy (and are averaged in), 4% of the images are distractors from classes outside the visible fifty but within the same CIFAR-100 superclass as a visible class, and the class distribution is skewed (30 frequent, 20 rare classes). A labelled seed set of 200 embeddings (four per class) may be used freely.

Abridged by SOTA from the official materials. The official statement has the exact rules, and it wins wherever this summary differs.

In English

Some of this task's files were published only in Hungarian. SOTA translated that file into English on 16 September 2026.

Read the task description (one-pager) in English 1413 words

Blind Curator

English translation by SOTA – AI Community of the Hungarian original. Licensed CC BY-NC-SA 4.0, like the original. Organisers who would like this translation removed can email [email protected].

Magyar MI Diákolimpia (Hungarian AI Olympiad)
Task description · Summer National Selection (Nyári Országos Válogató)
June 2026

[Figure: see the original one-pager.]

1. Blind Curator

There are 15,000 unknown images in front of you, and you see them only through faint thumbnails and embedding vectors. The images belong to a world of fifty classes (animals, plants, vehicles and everyday objects selected from CIFAR-100), but not a single image has a label. A machine will learn these classes on the basis of your choice, and the only source of its learning is what a human expert says about the images you choose. The expert is expensive and your budget is strict: you may hand over exactly 300 images to the expert for labelling. The machine is built from the expert's answers, and its quality is measured on a test set of 5,000 items that you never see. Your score depends entirely on which 300 images you choose.

The model built on your selection is deliberately simple. For the 300 selected images, the evaluator reads out the labels, collects the corresponding embedding vectors class by class, averages them and then L2-normalises the result. Let SS denote the set of your 300 chosen indices, Sc={iS:yi=c}S_c = \{i \in S : y_i = c\} your selections belonging to class cc, and eiR384\mathbf{e}_i \in \mathbb{R}^{384} the embedding vector of the ii-th pool item. The 50 vectors obtained in this way are the prototype centroids of the classes:

μc=iSceiiScei2,y^t=arg maxc{0,,49}etμc,\boldsymbol{\mu}_c = \frac{\sum_{i \in S_c} \mathbf{e}_i}{\left\lVert \sum_{i \in S_c} \mathbf{e}_i \right\rVert_2}, \qquad \hat{y}_t = \operatorname*{arg\,max}_{c \in \{0,\dots,49\}} \mathbf{e}_t^\top \boldsymbol{\mu}_c,

where et\mathbf{e}_t is the embedding vector of the tt-th test image. The model is not trainable and has no hyperparameters: the centroids are worth exactly as much as your selection puts into them.

The pool is not ideal. 8% of the observed labels (those read out by the evaluator) are noisy: the image is correct, but the label assigned to it is wrong, and the evaluator does not correct these labels, so they are included in the averaging of the centroids. 4% of the pool are distractors: images whose true class is not among the visible fifty but which, in the CIFAR-100 hierarchy, are a relative within the superclass of one of the visible classes – that is, they are visually close to them (e.g. if cat and dog are among the visible classes, a distractor could be a hamster, which is also a small mammal). For this reason, the distractors cannot be filtered out simply by how far they lie from the seed centroids in the embedding space. The class distribution is asymmetric: thirty frequent and twenty rare classes.

2. What you receive

For each of the 15,000 images in the pool you receive two representations: a 384-dimensional DINOv2 embedding vector and a 32×32 thumbnail PNG. The evaluator uses only the embedding; the thumbnail is meant for you, for visual inspection. You do not receive the labels of the pool in either form.

In addition to the pool, you receive an already labelled set of 200 items (seed), with four examples per class. For these items you receive the embedding vector together with the label, and they may be used freely for analysis, clustering or training your own small model. You have no access to the test set: you see neither the 5,000 images nor their labels.

3. What you submit

A single CSV file with the header id,target and exactly 300 rows. id is a serial number increasing from 0 to 299, and target is the chosen image index, between 0 and 14,999. The 300 indices must be unique. No model needs to be submitted; the evaluator computes the score from the CSV.

4. Scoring

Let T\mathcal{T} denote the test set of 5,000 items, y^t\hat{y}_t the model's prediction for the tt-th test image, and yty^*_t the true label. Four subscores are computed, with a maximum of 10 points per subtask:

  • al_s1 (overall accuracy): 100Tt1[y^t=yt]\frac{100}{|\mathcal{T}|} \sum_t \mathbb{1}[\hat{y}_t = y^*_t].
  • al_s2 (easily confused rare classes): accuracy on the test images of the five rarest pool classes that have at least one sibling among the visible classes (another visible class in the same CIFAR-100 superclass family). The classes in this group are therefore both rare and visually easy to confuse. The contestant's task is to make sure that the selection explicitly covers these classes as well.
  • al_s3 (selection purity): 100SCS\frac{100 \cdot |S \cap \mathcal{C}|}{|S|}, where C\mathcal{C} is the set of non-distractor (in-distribution) pool indices. al_s3 therefore measures only the avoidance of OOD distractors; the 8% label noise is not penalised, because it cannot be identified from the embedding (it is applied to the labels uniformly, leaving the image unchanged).
  • al_s4 (borderline-case slice): accuracy on the 1,000 hardest test images. The difficulty of a test image is defined by its class margin measured against the seed centroids: margin(t)=etμytseedmaxcytetμcseed\mathrm{margin}(t) = \mathbf{e}_t^\top \boldsymbol{\mu}^{\mathrm{seed}}_{y^*_t} - \max_{c \neq y^*_t} \mathbf{e}_t^\top \boldsymbol{\mu}^{\mathrm{seed}}_c. A negative margin indicates a test image that is closer to the centroid of another class than to that of its true class. From each class, the 20 test images with the smallest margin are taken; 50 classes × 20 = 1,000 borderline samples.

Maximum score: 40 points (4 × 10).

Scoring curve. The four subscores are not computed from the raw measure (e.g. 53% accuracy = 5.3/10 points) but from a threshold-based curve: each subscore has a lower threshold, below which 0 points are awarded, and an upper threshold, on reaching which the full 10 points are awarded; between the two, the scaling is linear. The thresholds are calibrated empirically: the lower threshold is at the raw performance of random selection, and the upper one at the performance of the best known fair strategy. A random submission therefore scores close to 0/40, while the full 40/40 can be reached by optimising each of the four subtasks separately, in a targeted way (see below).

Public and private test set. The test set is divided into a public part and a closed (private) part. During the contest you only see the score measured on the public part on the leaderboard; the final ranking is decided by the result achieved on the closed part.

5. Technical information

To solve the task, the attached .ipynb notebook and the files pool_emb.npy, pool_thumbs.zip, seed_emb.npy and seed_labels.npy are available. The solution only has to produce the CSV containing the 300 indices. No GPU is needed to generate the selection; the task can be done both locally and in Google Colab.

Constraint: only the provided DINOv2 embedding vectors and the thumbnails may be used to analyse the pool. Applying external pretrained image models (e.g. CLIP, BLIP or other image classifiers) to the pool images for the purpose of class or label estimation is not allowed.

Scoring is carried out automatically, on the server side, by the DOCK platform: from the uploaded CSV it builds the prototype model and computes the four subscores; you do not need to submit a model. You may upload the CSV separately for each of the four subtasks, so you may even use a different 300-item selection for each subtask if you want to optimise for that particular criterion in a targeted way. You have at most 6 upload attempts per subtask, and the score of your best submission counts towards the final result.

6. Useful resources

Translated by SOTA. The Hungarian original is the official version and wins wherever the two differ. Original by the Hungarian AI Olympiad (ELTE Faculty of Informatics), licensed CC BY-NC-SA 4.0; this is a translation of the task one-pager, and the official English notebook of the task is linked on this page. This translation is shared under CC BY-NC-SA 4.0, the licence of the original. If you organise this olympiad and would like the translation removed, email [email protected] and we will take it down.

At a glance

You get
pool_emb.npy (15000 × 384 DINOv2 embeddings), pool_thumbs.zip (15,000 32×32 PNG thumbnails), seed_emb.npy (200 × 384) and seed_labels.npy (200 labels in 0–49), downloaded with gdown.
You submit
submission.csv with header "id,target" and exactly 300 rows (id 0–299; target a unique pool index in 0–14,999). A different CSV may be uploaded for each of the four subscores.
Scoring
Four subscores of up to 10 points each (40 in total): al_s1 — overall test accuracy; al_s2 — accuracy on the test images of the five rarest pool classes that have a sibling among the visible classes in the same CIFAR-100 superclass; al_s3 — selection purity, 100 · |S ∩ C| / |S| where C is the set of non-distractor pool indices (label noise is not penalised); al_s4 — accuracy on the 1,000 hardest test images (for each class, the 20 with the smallest margin to the seed prototypes). Each raw value is mapped linearly between an empirically calibrated lower threshold (random selection → 0 points) and upper threshold (best known fair strategy → 10 points). Public/private test split; the private part decides the ranking.
Rules
  • Only the provided DINOv2 embeddings and thumbnails may be used to analyse the pool; external pretrained image models (e.g. CLIP, BLIP or other classifiers) must not be applied to the pool images for class or label estimation.
  • At most 6 uploads per subscore; the best submission counts.
  • No GPU is required.
  • The seed cell must not be modified.
Format
Summer Camp Qualifier (Nyári Tábor Válogató), the closing round of the summer training camp and final selection for the IOAI and EUROAI teams, 25–27 June 2026, ELTE Lágymányos Campus, Budapest. Three 40-point practical tasks (ML, NLP, CV) scored automatically on the DOCK platform; the camp standings also add carried-over national points and a presentation score.

Details

Year
2026, ELTE Lágymányos Campus, Budapest, Hungary
Round
Summer Camp Qualifier · Task 1
Language
English; English translation by SOTA
License
CC BY-NC-SA 4.0, as stated by the source