Skip to content

DevDenus/conifer-model-labeling

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Conifer Tree Detection — Data Preparation & Labeling Pipeline

Этот репозиторий содержит пайплайн для:

  • подготовки изображений,
  • обучения нескольких CNN-моделей,
  • генерации модельных предсказаний для последующей доразметки и ансамблирования.

Проект ориентирован на задачу бинарной классификации: есть ли хвойное дерево в кадре.


Общая идея

Пайплайн построен вокруг трёх типов данных:

  1. Crowd dataset — данные с краудсорсинговой разметкой (шумные, но объёмные)
  2. Golden dataset — эталонный датасет с доверенной разметкой
  3. Unlabeled dataset — изображения без разметки, которые требуется доразметить

Модели (ResNet18 / ResNet34 / ResNet50) обучаются на размеченных данных, а затем используются для генерации предсказаний (вероятностей) на unlabeled-наборе. Эти предсказания дальше используются человеком/моделью (например, CatBoost) для финальной разметки.


Порядок работы

1. Подготовка и приведение данных (ОБЯЗАТЕЛЬНО СНАЧАЛА)

Сначала необходимо скачать изображения и привести их к единому формату:

  • загрузка изображений по URL,
  • приведение к RGB,
  • resize + center crop до 224×224,
  • сохранение метаданных в CSV.

Для этого используется единый скрипт подготовки данных, который поддерживает:

  • crowd-разметку,
  • golden-разметку,
  • unlabeled-данные.

После выполнения этого шага появляются директории вида:

dataset/ golden/ unlabeled/

с подпапками raw/, processed/ и CSV-метаданными.

Запустить можно так:

python src/parse_dataset.py

2. Обучение моделей

На подготовленных данных обучаются несколько моделей:

  • ResNet18
  • ResNet34
  • ResNet50

Все модели:

  • инициализируются ImageNet-весами,
  • решают бинарную задачу,
  • выдают один логит (вероятность наличия хвойного дерева).

Чекпоинты сохраняются отдельно и используются далее только для инференса.


3. Инференс и доразметка unlabeled-данных

Для unlabeled-датасета:

  • каждая модель делает предсказание,
  • сохраняются вероятности (0..1) для каждой архитектуры.

Результат — CSV-файл вида:

id | url | processed_path | prob_resnet18 | prob_resnet34 | prob_resnet50

Этот файл является финальным артефактом данного пайплайна и предназначен для дальнейшей ручной разметки, ансамблирования или обучения моделей второго уровня (например, CatBoost).

About

Labeling binary classification dataset with cv models based on crowdsorcing results

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors