mihakremen / amur_tiger_9

0 stars 0 forks source link

Фотоидентификация тигров. Модель определения стороны

Разработано Вячеславом Серебренниковым, Антоном Васильевым, Александром Ивановым, Михаилом Юриным, Савелием Осиповым и Кременецким Михаилом для SBER AI.

В данной работе были обучены модели машинного обучения ViT и ResNET18 для классификации стороны тигра на изображении (лево, право, перед, другое).

Для обучения использовался датасет ATRW (https://cvwc2019.github.io/challenge.html), состоящий из более 5000 изображений тигров преимущественно в вольной среде. Классы сторон тигра размечались упомянутой выше командой разработчиков.

Метрики F1 работы моделей

Значение F1 меры работы модели ViT составляет 0.90, модели ResNET18 - 0.89.

Аугментация набора обучающих данных

Для повышения точности работы модели в условиях плохой видимости камеры, скрытых частей тела тигра, черно-белых ночных кадров, была проведена аугментация Random Crop, GrayScale, GaussianBlur. Значения F1 меры работы моделей снизились на 0,02.

Инструкция по использованию ViT

  1. Открыть код из файла inference.py в ветке ViT
  2. Вставить в img_url ссылку на изображение, которое мы хотим классифицировать
  3. Запустить код

Инструкция по обучению ViT

  1. Открыть файл train.py в src
  2. Задать необходимые параметры обучения в training_args
  3. Задать количество классов и их описание в labels
  4. Выбрать модель и задать ее в model_id
  5. Запустить скрипт train.py

Инструкция по использованию Resnet18

  1. Открыть ветку Resnet18
  2. Выполнить следующую команду:
      cd src
      python inference.py \
        --image="путь_к_файлу"

Инструкция по обучению Resnet18

  1. Открыть файл config.yaml
  2. Задать необходимые параметры
  3. Выполнить следующую команду:
        cd src
        python train.py