В восьмом выпуске дневника 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), скорости, числу параметров и требованиям к данным. Также расскажем, почему нам хватает десятков изображений на класс, в то время как другим нужны сотни тысяч.