search icon search icon ВЕРСИЯ ДЛЯ СЛАБОВИДЯЩИХ

Инженерный тур. 3 этап

Общая информация

Задача заключительного этапа посвящена реидентификации диких животных (определению конкретных особей) по фото с фотоловушек.

Часть видов имеет индивидуальные особенности (окрас шерсти). Ученые создают каталоги с особями идентифицируемого вида животных и определяют каждую конкретную особь по фото, что повышает эффективность мониторинга вида.

Технологии искусственного интеллекта помогают быстрее и проще обрабатывать данные для реидентификации. Это экономит время зоологов, позволяя им больше сосредоточиться на спасении животных и научных исследованиях.

Участникам заключительного этапа необходимо решить задачу реидентификации амурских тигров по фото с фотоловушек с помощью технологии компьютерного зрения и metric learning. Эмбединги для фото одной и той же особи должны быть максимально близки между собой и как можно более отличаться от эмбедингов других особей.

Легенда задачи

Амурский тигр занесен в Красную книгу РФ. Мониторинг популяции помогает собрать данные о численности тигров, их распределении и состоянии среды обитания. Это является основой для разработки эффективных мер по защите и восстановлению популяции.

Фотоловушки предоставляют возможность отслеживать поведение тигров, их миграционные маршруты, предпочтения в выборе места обитания и взаимодействие с другими видами. Эти данные помогают исследовать экосистемные связи и влиять на сохранение всего вида на более широком уровне.

Ученые-зоологи определяют особей тигра по индивидуальному узору на шкуре животного на фото, при этом узор с каждой стороны различен. Реидентификация и мониторинг каждой отдельной особи позволяет более эффективно отслеживать популяцию тигров.

Необходимо обучить модель компьютерного зрения для формирования цифрового представления (эмбединга) для кропа с изображением тигра с фотоловушки.

Требования к команде и компетенциям участников

Количество участников в команде: 2 человека.

Компетенции, которыми должны обладать члены команды:

  • Аналитик данных: поиск открытых данных и их исследовательский анализ.
  • Data Scientist: обучение модели.
Оборудование и программное обеспечение
Наименование Описание

Ноутбуки: оперативная память — 16 Гб,

хранилище SSD — 256 Гб,

процессор — Intel Core i3.

Для доступа к Cloud, интернет ресурсам
Аккаунт на Cloud (параметры GPU V100 32Gb) Обучение моделей
Описание задачи
Данные

Датасет представляет собой набор изображений в виде архива изображений (train, test) и файл train.csv. В нем присутствуют сложные примеры: фото, когда в кадр попала часть животного, его тело разделено препятствием, а также ночные и смазанные снимки. Данные были размечены специалистами по разметке данных совместно с учеными зоологами.

Сведения разделены на тренировочную и тестовую выборки в соотношении примерно 70% и 30% по особям.

Файл train.csv содержит следующие колонки:

  • file_name — имя файла;
  • label — название особи;
  • sequence — номеру серии фотографий, к которой относится данное фото;
  • side — сторона особи на фото (left/right).

Материалы для решения:

Baseline (базовое решение)

Приведенный пример решения задачи реидентификации животных на изображении основан на библиотеке open metric learning (архитектура resnet50).

Бейзлайн позволяет пройти путь от установки библиотек и обучения модели до получения файла с предсказаниями и логов обучения.

Ссылка на бейзлайн: https://disk.yandex.ru/d/t6YCFGkgodFOCA/baseline.zip.

Формат решения

Соревнование подразумевает отправку файла с предсказаниями модели на платформу для расчета метрики.

Сам файл представляет собой csv-документ с двумя колонками:

  • image_name;
  • recommendation.

Строки — это пары с названием файла изображения и соответствующего отсортированному списку всех фото из тестовой выборки (начиная от самого похожего изображения до менее похожего).

Допускается использование открытых (доступных в сети) датасетов, позволяющих свободное некоммерческое использование.

Ручная разметка данных запрещена.

Все участники должны предоставить на проверку воспроизводимые решения.

Система оценивания

Участники отправляют csv-файл с предсказаниями с двумя колонками image_name (query image) и recommendation*.

Строки — это пары с названием файла изображения и соответствующего отсортированному списку всех фото из тестовой выборки (начиная от самого похожего изображения до менее похожего).

Схожесть изображений оценивается любой мерой близости векторов (на выбор участников).

Количество строк равно количеству изображений в тестовой выборке.

Для подсчета метрики из списка recommendation удаляются все изображения той же серии, что и query image, включая само query image.

Далее учитываем только одно (первое) вхождение каждой особи в список recommendation.

Для оценки качества работы модели реидентификации используется метрика, взвешенная CMC по особям тестового набора данных \[cmc_{w} = \frac{1}{N}\sum_{j=1}^N \sum_{i=0}^4 w[i] * sign(find(j) == i),\] где

  • \(w=[1, 0{,}9, 0{,}8, 0{,}7, 0{,}6]\);
  • \(sign(*)\) — индикаторная функция (1, если истина, иначе 0);
  • \(find(j)\) — номер первого вхождения особи \(j\), исключая эту же особь из той же серии, что и фотография запроса \(j\).
  • 1 — правильная особь на первом месте;
  • 0,9 — правильная особь на втором месте;
  • 0,8 — правильная особь на третьем месте;
  • 0,7 — правильная особь на четвертом месте;
  • 0,6 — правильная особь на пятом месте;
  • 0 — правильная особь на шестом месте или дальше.

Расчет этого значения проводилась на платформе ODS: https://ods.ai/competitions/nto24-25-final.

Решение задачи

По ссылке представлено решение команды-победителя feel the asi, показавшее наилучший результат (private score: 0,9742990654): https://disk.yandex.ru/d/t6YCFGkgodFOCA/solution1.zip.

Структура архива с решением:

  • README.md — описание запуска алгоритмов;
  • inferense.ipynb — код для получения файла посылки;
  • requirements.txt — список всех необходимых библиотек для запуска обучения и инференса;
  • train.ipynb — файл для обучения модели;
  • train_without_val.ipynb — файл для обучения модели без валидации;
  • models — папка с весами модели после обучения;
  • top1_solution.csv — файл посылки.

Решение основано на библиотеке OML (open-metric-learning). Версия Python 3.10.12.

Используемые библиотеки:

  1. conda create -n nto python=3.10
  2. pip install -r requirements.txt

Применяемые датасеты:

  • предложенный датасет от организаторов;
  • опционально ATRW.

    Подготовка датасета для обучения:

  • использовать окружение с requirements.txt;
  • запустить блок Dataset create в файле train.ipynb.

Для обучения каждой модели можно задать название backbone image_size и наличие в обучающей выборке ATRW, в названиях наших моделей указана версия efficientnet который является backbone, например b0, b1 и т. д.

Число в названии модели обозначает image_size, а ___ в конце то, что модель обучалась кодом train_without_val.ipynb.

Обучение модели для Re-ID:

  • использовать окружение с requirements.txt;
  • запустить блок Model в файле train.ipynb.

Формирование файла для отправки на платформу:

  • использовать окружение с requirements.txt;
  • запустить inferense.ipynb.
Материалы для подготовки
  1. Kevin Musgrave — PyTorch Metric Learning [Электронный ресурс]. — Режим доступа: https://kevinmusgrave.github.io/pytorch-metric-learning/.
  2. TorchRec — A PyTorch Domain Library for Recommendation Systems [Электронный ресурс] // PyTorch Blog. — Режим доступа: https://pytorch.org/blog/introducing-torchrec/.
  3. Zhou K. Deep Person Re-identification: MODEL ZOO [Электронный ресурс]. — Режим доступа: https://kaiyangzhou.github.io/deep-person-reid/MODEL_ZOO.
  4. Open Metric Learning — OML-Team GitHub Repository [Электронный ресурс]. — Режим доступа: https://github.com/OML-Team/open-metric-learning.
text slider background image text slider background image
text slider background image text slider background image text slider background image text slider background image