Проблема «разрыва доменов» и решение через DINOv3
Сбор и разметка реальных данных — узкое место в машинном обучении. Синтетические данные предлагают идеальные ground-truth аннотации, но часто страдают от плохой обобщающей способности. Автор проекта решил проверить гипотезу: можно ли использовать Meta DINOv3 (последнее поколение самообучаемых моделей) как фиксированный экстрактор признаков, обучая только заголовки задач на синтетике, чтобы получить рабочую модель для реального мира.
Экспериментальная площадка: игра SET
В качестве тестовой среды выбрана карточная игра SET. Задача — локализация карт на поле 4x3. Выбор обусловлен тем, что генерация объектов проста, но сцена требует учета перспективы, освещения и текстур. Были сгенерированы синтетические изображения с использованием OpenCV, где карты рисовались процедурно, а фоны брались из библиотеки Poly Haven (CC0) для имитации реальных поверхностей.
Архитектура и выбор модели
Для экономии ресурсов GPU был выбран дистиллированный вариант ConvNeXt Tiny на базе DINOv3. Это позволяет сохранить богатые семантические представления, полученные на веб-датасетах, но использовать легковесную архитектуру. Обучение проводилось в PyTorch Lightning, при этом веса бэкбона DINOv3 были заморожены (frozen), а обучались только Feature Pyramid Network (FPN) и заголовки детекции.
Сравнение архитектур DINOv3 (ConvNeXt)
| Модель | Параметры | Датасет предобучения |
|---|---|---|
| ConvNeXt Tiny | 29M | LVD-1689M |
| ConvNeXt Small | 50M | LVD-1689M |
| ConvNeXt Base | 89M | LVD-1689M |
| ConvNeXt Large | 198M | LVD-1689M |
Результаты и значимость
Модель обучалась исключительно на синтетических данных, где координаты углов и маски сегментации генерировались автоматически. Тестирование проводилось на наборе из 40 реальных изображений (11 сцен, 480 карт), снятых на телефон с разных ракурсов. Подход продемонстрировал, что мощные предобученные признаки DINOv3 способны нивелировать разрыв между симуляцией и реальностью, позволяя избежать ручной разметки реальных данных для задач локализации и сегментации.
Источник: Towards Data Science ↗
