TAPe-дневник, день 8: сегментация по границам, 77% точности в классификации и первые бенчмарки против YOLO

TAPe-дневник, день 8: сегментация по границам, 77% точности в классификации и первые бенчмарки против YOLO

В восьмом выпуске дневника TAPe-детекции на COCO рассказываем о ключевых улучшениях: добавлена сегментация по контрастным патчам на границах объектов, доработана классификация, достигнуто 77% точности и полностью устранён learning rate. Также — первые прямые сравнения с YOLO на малом датасете.

Что такое TAPe и зачем он нужен

TAPe (Theory of Active Perception) — математическая теория активного восприятия, которая разбивает изображение на устойчивые признаки и задаёт структуру связей между ними. В подходе TAPe+ML изображение преобразуется в элементы TAPe — структурированные «строительные блоки» с известными связями.

Эти элементы формируют компактное векторное представление, с которым уже работают классические ML-методы: кластеризация, поиск, классификация и детекция. В этом дневнике мы отслеживаем прогресс в детекции объектов на COCO.

Сегментация по контрастным патчам на границах объектов

Мы добавили новую подзадачу — сегментацию через выделение контрастных патчей на настоящих границах объектов, а не просто по bounding box’ам. Это позволило точнее определять границы и формировать адекватные объединения для каждого объекта.

Такой подход значительно ускорил прогресс в построении боксов и улучшил контекстное обрамление объектов.

Архитектурные решения, несовместимые с TAPe

Провели множество экспериментов с архитектурой: добавляли новые головы, пробовали разные методы выбора похожих сегментов. Однако многие из них не сработали — они пытались изменить TAPe-данные, а не использовать их в естественном виде.

Лучшие результаты даёт подход, который работает с данными «как есть», без насильственных преобразований.

Классификация и проблема пропущенных сегментов

Классификация оказалась сложнее ожидаемого из-за локальных пропусков сегментов. Иногда один или несколько патчей не ассоциируются с нужным объектом, из-за чего их невозможно классифицировать — они «не похожи ни на что».

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

Интеграция с SSL и обработка «нерастущих» регионов

Работаем над лучшей интеграцией с self-supervised learning (SSL), особенно с задачами, близкими к TAPe-данным. Основная оставшаяся проблема — отдельные регионы не растут, из-за чего не хватает контекста для классификации.

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

Финальная настройка архитектуры и подготовка демо

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

Ожидаем, что интеграция с SSL поможет устранить эти недочёты.

Отказ от learning rate и градиентного спуска

Улучшения сегментации и классификации оказались каскадными: устранение одного гиперпараметра требовало убрать ещё несколько. В частности, мы полностью отказались от learning rate — ключевого параметра градиентного спуска, подбор которого часто приводит к плохой сходимости или попаданию в локальные минимумы.

Вместо градиентного спуска использовали альтернативные методы, что не только стабилизировало обучение, но и повысило точность классификации на 3%.

Текущая точность классификации — 77%.

В YOLO не указывают точность классификации отдельно — они фокусируются на детекции. В модели DETR, одной из самых точных для COCO, точность классификации заявлена как 79%. DETR использует предобученный DINOv2 (на ImageNet и внутренних датасетах Meta) в качестве backbone’а. Неясно, включают ли 79% ошибки детекции, но это наша ориентирная цифра.

Цель — достичь 80%+ точности в классификации. Полные тесты пока не запускали — обработка 100 тыс. изображений требует времени.

Первые бенчмарки против YOLO

Провели первые прямые сравнения с YOLO. Интересный результат: YOLO не сходится на нашем тестовом датасете. Напомним, мы используем разбиение 70/30 от COCO — 3500 изображений для обучения, 1500 для теста (всего около 5000).

Для YOLO этого количества данных катастрофически недостаточно — точность детекции падает до ~1%.

Что дальше

Сегментация по границам, улучшенная классификация и отказ от градиентного спуска объединились в единую TAPe-модель, способную детектировать объекты на COCO даже на малом датасете, где YOLO не справляется.

В следующем, финальном выпуске дневника представим полные результаты: сравнение с YOLO и RF-DETR по точности (mAP50 / mAP50–95), скорости, числу параметров и требованиям к данным. Также расскажем, почему нам хватает десятков изображений на класс, в то время как другим нужны сотни тысяч.

Читать оригинал