Продолжаем серию записей об экспериментах с TAPe — подходом к компьютерному зрению на основе теории активного восприятия. На этот раз достигнута точность около 98% на 2% данных из COCO, сокращено количество ложных срабатываний и начат переход от определения центроидов к детекции прямоугольных рамок (боксов) вокруг объектов.
Что такое TAPe и зачем он нужен
TAPe (Theory of Active Perception) — математическая теория и технология, описывающая механизм активного восприятия. Она разбивает изображение на устойчивые признаки — TAPe-элементы — и задаёт структуру связей между ними. В подходе TAPe+ML эти элементы используются как фиксированные по размеру патчи, заменяя сырые пиксели.
TAPe выступает отдельным слоем обработки: алгоритмы преобразуют изображение в структурированные векторные представления — «строительные блоки» с известными связями. На их основе проводятся эксперименты — от self-supervised задач вроде DINO/iBOT до кластеризации, поиска и детекции объектов на COCO.
Эксперименты с COCO: 2% данных и 98% точности
Работа ведётся с полным датасетом COCO, но для быстрых тестов используется выборка в 2% — около 2400 изображений. Применение инверсных пирамид (точный TAPe-патч в центре, увеличение масштаба по краям) позволило достичь точности до 98%.
Основные направления экспериментов:
- наведение и сбор TAPe-данных с использованием инверсных пирамид;
- вариации количества прототипов на класс;
- баланс между количеством TAPe-патчей объектов и фона во время обучения.
Оптимальное количество прототипов и фоновых патчей
Прототипы на класс
Проведено множество экспериментов с числом прототипов на класс. На данный момент оптимальным оказалось значение 2 прототипа на класс.
Баланс «фон — объекты»
Лучшие результаты достигаются при соотношении фона и объектов 2:1 — модель видит в два раза больше фоновых патчей. Это логично: фон менее информативен, и модели нужно больше примеров, чтобы его корректно распознавать.
Однако избыток фона приводит к тому, что модель начинает классифицировать всё как фон. Поэтому баланс критически важен.
Как TAPe может заменить двухэтапное обучение эмбеддингов
Сейчас обучение эмбеддингов проходит в два этапа:
- разделение эмбеддингов, чтобы минимизировать пересечения и задать разные направления в пространстве;
- повышение точности — обеспечение близости эмбеддингов одного и того же объекта.
Оба этапа потенциально можно заменить одним — обучением на данных, сгенерированных по логике TAPe. Такой подход позволяет находить выражения операций в пространстве эмбеддингов, которые иначе были бы неизвестны. Это открывает путь к решению задач взаимосвязи TAPe и ML.
От центроидов к боксам и борьба с ложными срабатываниями
Переход к боксам
Ранее система определяла только центр объекта. Сейчас ведётся работа по переходу к построению прямоугольных рамок (боксов) вокруг объектов. На ранних стадиях сложно оценить точность, но визуальные результаты выглядят перспективно.
Ложные срабатывания
Количество ложных срабатываний на объектах сокращено до 30 на ~1500 изображений. Эти объекты использовались только для тестов, без участия в обучении.
Сколько «взглядов» нужно для детекции
Проведены эксперименты с архитектурами, чтобы определить минимальное количество «взглядов» для детекции без классификации. Оказалось, что достаточно анализа четырёх углов и центра изображения.
Точность детекции варьируется: средний показатель по центроидам — около 72% (это пока не боксы). Однако для текстурно насыщенных классов — таких как «клавиши пианино», «зебра», «лодка» — точность достигает 93–94%. Это связано с высокой контрастностью и регулярностью структуры.
Наихудшие результаты — у мелких объектов, таких как вилки, и у людей, из-за высокой вариативности: лицо, спина, сидячее положение и т.д. Это самый изменчивый класс в COCO, но задача решается с помощью подходов, которые мы считаем «стандартными».
TAPe-патчи, эмбеддинги и операции по логике TAPe
В традиционном компьютерном зрении приходится добиваться одинакового размера векторного описания для любых пиксельных областей. В TAPe такая возможность есть изначально — благодаря самой природе формирования TAPe-патчей.
Каждый TAPe-патч можно рассматривать как токен, а изображение — как последовательность таких токенов. Это удобно для задач вроде iBOT, которые мы уже успешно решаем.
Однако такие подходы зависят от Global Attention, а значит — от градиентного спуска. В TAPe изначальная структура данных позволяет организовать attention более логично и эффективно.
Первичное обучение на TAPe-объектах может заменить традиционные этапы и помочь выявить новые операции в пространстве эмбеддингов — даже те, которые невозможно описать напрямую. Это ключ к интеграции TAPe и ML.