Discord

Checklist NTO AI 2025 Stage 2 (qualifying), engineering tour · 3.2.2.1 task

Multi-class Animal Species Classification in Camera-trap Photos

Russian title: Многоклассовая классификация животных по фото с фотоловушек

Classify camera-trap photos into 21 animal species, including visually similar deer species.

  • Vision
  • Image classification (21 classes)
  • Russian original · English translation

The task

To monitor the numbers of each species, teams must build a classifier of camera-trap photos by species. Some species look alike (Siberian roe deer, sika deer, Manchurian wapiti and maral), and the data include partly visible animals and night or blurred shots; labels were assigned by zoologists, with disputed cases confirmed by several experts.

Classes: 0 brown bear, 1 Asiatic black bear, 2 wild boar, 3 Manchurian wapiti, 4 sika deer, 5 maral, 6 Siberian roe deer, 7 Asian badger, 8 sable, 9 Amur leopard cat, 10 Pallas's cat, 11 lynx, 12 tiger, 13 snow leopard, 14 argali, 15 ibex, 16 wolf, 17 fox, 18 raccoon dog, 19 hare, 20 marmot. The split is about 70% / 30%, and the test set about 40% public / 60% private.

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

In English

This task was published in Russian. SOTA translated its 3 files into English on 16 September 2026. Only the words changed in the notebooks: markdown, code comments, messages and printed output. The code, file names and paths are the original's, so a translated notebook runs with the original data.

Read the task statement in English 965 words

Multi-class Animal Species Classification in Camera-trap Photos

English translation by SOTA – AI Community of the Russian original. Organisers who would like this translation removed can email [email protected].

Source: the 2024/25 task collection of the National Technology Olympiad (NTO), "Artificial Intelligence" profile, Stage 2, engineering tour, pp. 109–112: original PDF.

3.2.2. Team task

The task is devoted to the classification of animals.

For this, participants receive access to unique data: images from camera traps provided by partner research organisations. The solution to the task should sort all images with animals into the given animal species and make it possible to organise prompt monitoring of injured animals and control over wild animals entering populated areas.

All materials for the task are available at: https://disk.yandex.ru/d/Jx8fZJTSsk_LeQ.

Task 3.2.2.1. Multi-class Animal Species Classification in Camera-trap Photos (100 points)

Topics: neural networks, computer science.

Problem statement
Task description

Monitoring wild animal populations is an important task for the worldwide community of wildlife researchers. It helps to find out which animal species are endangered, how they behave in different periods of their lives, where they live, and much more.

Various tools are used to monitor animals, including camera traps: special cameras that are installed in the forest and react to movement in the frame. Every year these cameras deliver hundreds of thousands of photographs, in which the animals have to be found and categorised. This is very difficult and painstaking work, because the total number of species can reach several hundred, and there may be some that are visually hard to tell apart. In addition, only part of an animal may be in the frame at the moment the camera is triggered, and because many species are active at night, some photographs may be blurred or overexposed owing to the way the cameras work at night.

Within the NTO Olympiad, participants are invited to help scientists automate the routine work of processing camera-trap data by training machine learning models for this purpose.

To monitor the numbers of each animal species, participants need to develop a classifier that sorts photographs of animals by species.

Metric

The model's quality is assessed with the macro F1 score: https://scikit-learn.org/stable/modules/generated/sklearn.metrics.f1_score.html (PDF version of the page: https://disk.yandex.ru/i/tRtB4WGtGfSFlQ).

Its distinctive feature is that it computes the arithmetic mean of the F1 score over the classes. The value of the metric ranges from 0 (in the worst case) to 1, if all predictions were correct.

The metric is computed automatically on the platform when a solution is submitted.

Data description

The dataset is a set of images and a file train.csv that maps each image to a particular animal species.

The correspondence between the species index and its name is given below:

  • 0 — brown bear,
  • 1 — Himalayan bear (Asiatic black bear),
  • 2 — wild boar,
  • 3 — Manchurian wapiti (izubr),
  • 4 — sika deer,
  • 5 — maral,
  • 6 — Siberian roe deer,
  • 7 — Asian badger,
  • 8 — sable,
  • 9 — Amur leopard cat,
  • 10 — Pallas's cat (manul),
  • 11 — lynx,
  • 12 — tiger,
  • 13 — snow leopard (irbis),
  • 14 — argali,
  • 15 — ibex,
  • 16 — wolf,
  • 17 — fox,
  • 18 — raccoon dog,
  • 19 — hare,
  • 20 — marmot.

Note that the dataset contains difficult examples: some animal species are similar to one another (for example, Siberian roe deer, sika deer, Manchurian wapiti and maral), photos in which only a small part of an animal is in the frame, as well as night-time and blurred shots.

The data were labelled by species by zoologists. In disputed cases, the labels were confirmed by several experts.

The data are split into a training set and a test set in a ratio of approximately 70% / 30%.

The test part is split into a public part and a private part in a ratio of approximately 40% / 60%.

Data: https://disk.yandex.ru/d/Jx8fZJTSsk_LeQ

  • train.zip — archive with the training data;
  • train.csv — file with the labels for the training data;
  • test.zip — the test data on which predictions must be made;
  • baseline.ipynb — a jupyter-notebook with a simple starting solution;
  • sample_submission.csv — an example prediction file (all class labels are filled with zeros).
Baseline

A Jupyter-notebook that takes you all the way from installing the libraries and training the model to obtaining a file with predictions, which can be uploaded to the platform to see the metrics.

Input format

The competition involves submitting a file with the model's predictions to the platform for the metric to be computed. The file itself is a csv document with two columns, image_name and predicted_class. The rows are pairs of an image file name and the corresponding class index predicted by your model.

An example of producing a correct prediction file.

For the structure of the prediction file, see Table 3.2.2.

Table 3.2.2

image_name predicted_class
48daae9b7d2453e77a283be71fc5b2c0.JPG 0
0a74e85fedb477adb3f71c9202bc3ddb.JPG 0
9d5906140ff8487b33e4515a3aff98a4.JPG 0
224b9c7024c0cea46c851f4eb9d9f662.JPG 0
483693f497ace35bbfc60fc4142830f0.JPG 0
Use of third-party datasets

The use of open (available online) datasets with a licence permitting free non-commercial use is allowed.

Solution

An algorithm is to be developed for classifying the group of animals in camera-trap photos, and the result of its work is to be presented as a csv file with the columns image_name, predicted_class.

The solution to the task is a csv file with predictions, uploaded to the competition platform to evaluate the quality of the solution. Example of a submission file: submission.csv.

Notes

A walkthrough of the reference solution is available at: https://gist.github.com/ntomaterials/b44ef19161f1dcb4259667d967abfbd2.

Translated by SOTA. The Russian original is the official version and wins wherever the two differ. The statement is taken from pp. 109–112 of the 2024/25 task collection; the English species names are our translations of the Russian list. Much of the baseline's text repeats the Stage 1 baseline, and one of its notes still says there are ten classes, although this task has 21. 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
train.zip, train.csv, test.zip, baseline.ipynb, sample_submission.csv.
You submit
CSV with columns image_name and predicted_class.
Scoring
Macro-averaged F1 score.
Rules
  • Open datasets with licences allowing free non-commercial use are permitted.
  • Team task.
Format
Stage 2, team task (100 points).

Details

Year
2025, Online
Round
Stage 2 (qualifying), engineering tour · 3.2.2.1 task
Language
Russian; English translation by SOTA
License
Not stated by the source