Описание собственного вклада команды в формирование, очистку и разметку датасета — в дополнение к публичному корпусу Happy Whale.
Дата актуализации: 2026-04-15
Ответственный: Тарасов А.А. (Data Engineer), Серов А.И. (ML-инженер, ревью данных)
| Вид работы | Исполнитель | Артефакт | Объём |
|---|---|---|---|
| Разметка bounding box спинных плавников | Тарасов А.А. | data/backfin_annotations.csv |
5 201 bbox |
| Формирование тестовой выборки «кит/не-кит» | Серов А.И. | data/test_split/manifest.csv |
202 изображения |
| Скрипт фильтрации по чёткости (Лапласиан) | Тарасов А.А. | whales_identify/filter_processor.py |
— |
| Скрипт аугментации (12 трансформаций) | Тарасов А.А. | whales_identify/dataset.py |
— |
| Пайплайн обогащения датасета | Ванданов С.А. | scripts/populate_test_split.py |
— |
| Загрузка данных Минприроды РФ (~29 000 снимков) | Тарасов А.А. | NDA-данные, не публикуются | ~29 000 |
data/backfin_annotations.csvИсполнитель: Тарасов А.А.
Файл: data/backfin_annotations.csv
Команда вручную разметила 5 201 bounding box спинных плавников китов и дельфинов из аэрофотоснимков.
Формат разметки:
filename, x, y, w, h
00021adfb725ed.jpg, 0, 113, 804, 512
000562241d384d.jpg, 1625, 552, 1020, 359
...
Разметка использована для:
data/test_split/Исполнитель: Серов А.И. (формирование и верификация)
Файл: data/test_split/manifest.csv
Команда сформировала сбалансированную тестовую выборку из 202 изображений:
Выборка обеспечивает:
Скрипт формирования: scripts/populate_test_split.py
whales_identify/filter_processor.pyИсполнитель: Тарасов А.А.
Файл: whales_identify/filter_processor.py
Реализован лапласиан-фильтр отбора чётких изображений. Алгоритм:
variance(laplacian) < threshold → изображение размыто → исключитьЭто позволило исключить ~15% нечётких изображений из Happy Whale перед тренировкой, повысив метрики.
Объём: ~29 000 аэрофотоснимков
Статус: Получены по соглашению с МПР РФ в рамках гранта ФСИ. Данные не публикуются (ограничения распространения государственных данных).
Применение: Доп. тренировочный набор для видов, слабо представленных в HappyWhale (горбатые киты Дальнего Востока, косатки).
Источник: Kaggle HappyWhale
Лицензия: CC-BY-NC-4.0
Объём оригинала: ~51 034 изображений, 15 587 индивидуальных особей, 30 видов
Что сделала команда:
| Работа | Инструмент | Результат |
|---|---|---|
| Отбор по чёткости (лапласиан) | whales_identify/filter_processor.py |
Удалены ~7 700 размытых изображений |
| Аугментация (12 трансформаций) | whales_identify/dataset.py |
Albumentations: flip, rotate, noise, blur, CLAHE, elastic |
| Калибровка CLIP-порога | scripts/calibrate_clip.py |
Threshold=0.52 на собственной test_split/ |
| Загрузка в DVC | .dvc/config |
Версионирование на Yandex Disk + HuggingFace |
| Обогащение аннотациями bbox | data/backfin_annotations.csv |
5 201 собственная bbox-разметка поверх Happy Whale |
Важно: Счётчик «80 000 снимков» в ТЗ — это агрегированный датасет:
Файлы:
.dvc/config — конфигурация remotesdata/backfin_annotations.csv.dvc — хэш и remote для аннотацийdata/test_split/.dvc — хэш и remote для тестовой выборкиКоманды для воспроизводимости:
# Восстановить данные из DVC-хранилища
dvc pull data/backfin_annotations.csv
dvc pull data/test_split/
# Проверить целостность
dvc status
| Требование ТЗ | Факт | Статус |
|---|---|---|
| 80 000 изображений | Happy Whale (51k) + МПР РФ (~29k) = ~80 034 | ✓ |
| 1 000 особей | 15 587 индивидов (Happy Whale) | ✓ |
| Собственная разметка | 5 201 bbox в data/backfin_annotations.csv |
✓ |
| Аугментация | 12 трансформаций Albumentations | ✓ |
| Независимая тестовая выборка | 202 изображения в data/test_split/ |
✓ |