TAPe-дневник, день 5: 98% на 2% COCO, меньше “фона” и первые боксы. attention.. attention. COCO.. attention. COCO. self-supervised.. attention. COCO. self-supervised. кластеризация.. attention. COCO. self-supervised. кластеризация. компьютерное зрение.. attention. COCO. self-supervised. кластеризация. компьютерное зрение. ложные срабатывания.. attention. COCO. self-supervised. кластеризация. компьютерное зрение. ложные срабатывания. Машинное обучение.. attention. COCO. self-supervised. кластеризация. компьютерное зрение. ложные срабатывания. Машинное обучение. нейросети.. attention. COCO. self-supervised. кластеризация. компьютерное зрение. ложные срабатывания. Машинное обучение. нейросети. эмбеддинги.

В этой статье продолжаем онлайн‑дневник экспериментов с TAPe‑подходом к компьютерному зрению на COCO. Кратко: подняли точность до ~98% на двухпроцентной выборке, уменьшили количество ложных срабатываний и начали переход от поиска центроидов к детекции прямоугольников вокруг объектов.

Если вы тут впервые, сначала можно посмотреть:

Небольшое напоминание: что такое TAPe и зачем он нам

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

В рамках TAPe+ML TAPe выступает отдельным слоем обработки данных: TAPe‑алгоритмы превращают изображение в элементы TAPe — структурированные “строительные блоки” с известными связями между ними, давая компактное векторное представление вместо сырых пикселей. На этих представлениях мы уже строим эксперименты: от self‑supervised задач в духе DINO/iBOT до классических ML‑методов (кластеризация, поиск, классификация) и детекции объектов на COCO, за которыми как раз следим в этом дневнике.

Эксперименты с COCO: 2% данных и 98% точности

Продолжили работу с полным датасетом COCO (используя 2% из него для быстрых тестов – это около 2400 изображений).

Провели эксперименты с наведением и сбором данных используя инверсные пирамиды (точный TAPe-патч в середине, а дальше рост масштаба при удалении в стороны). Это привело к улучшению результатов до 98% точности в двухпроцентном датасете. По традиции дальше занимались удалением ложных срабатываний.

В рамках этих экспериментов мы:

  • работали с наведением и сбором TAPe-данных с использованием инверсных пирамид;

  • экспериментировали с количеством прототипов для каждого класса;

  • подбирали, сколько TAPe-патчей заднего фона и сколько объектов модель должна видеть во время тренировки.

Сколько прототипов и фоновых TAPe‑патчей нужно модели

Прототипы на класс

В самой модели провели много экспериментов со стороны количества прототипов для каждого класса (на данный момент времени лучшее число – 2).

Баланс фон / объекты

Также провели эксперименты, сколько модель должна увидеть TAPe-патчей заднего фона, а сколько конкретно объектов во время тренировки.

Пока лучший результат при использовании в два раза большего количества фона, чем объектов – что логично, потому как фон невыразительный и модели нужно больше его примеров для конкретного ответа. Но в тоже самое время слишкое большое количество фона в датасете приводит к тому, что модель определяет всё и вся как фон.

Как TAPe может заменить два этапа обучения эмбеддингов

Оба эти этапа могут быть заменены на этап тренировки с использованием подготовленных нами по логике TAPe объектов.

Также эта первичная тренировка может нам позволить тренировать операции по логике TAPe^ которые мы просто не знаем в форме записи в эмбеддинг, если так можно выразиться. Что означает, что мы можем попросту найти её выражение в форме для эмбеддингов и таким образом решить различные задачи взаимосвязи TAPe и ML.

Сейчас тренировка происходит в два этапа:

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

  • второй этап уже играет в сторону точности — то есть эмбеддинги сводятся к тому, чтобы один и тот же объект описывался похожими эмбеддингами.

От центроидов к боксам и ложные срабатывания

Переход к боксам

Проводили работу с переходом из нахождения центра объекта, как это было раньше, к нахождению прямоугольника, закрывающий объект. На первых стадиях сложно было судить о проценте правильности, но визуально выглядит хорошо.

Ложные срабатывания

Тогда же получилось в том числе снизить количество ложных срабатываний конкретно на объектах (их мы тоже прогоняем для тестов, без тренировки на датасете объектов) до всего 30 на всём датасете из ~1500 изображений.

Сколько “взглядов” нужно для детекции без классификации

Провели несколько экспериментов с архитектурами, проверяя, сколько “взглядов” модели вообще нужно для детекции (для которой не нужна классификация как таковая). Просмотра только по углам, а также в центр изображения хватило для детекции на COCO (опять таки, это без учета классификации, классификация твердо зависит от эмбедингов).

Что интересно – поле решения очень ассиметричное – средний процент нахождения центроида ~72% (ещё рано хвастаться – это центроид, а не бокс), но при этом для самых текстурных классов он за 90%, приближаясь к 93-94% для таких классов как “клавиши пианино”, “зебра”, “лодка” – то есть, для классов, где разница в очень богатой текстуре (пианино и зебры черно белые, лодки на море).

Худшее определение у вилок из-за их размера, а также у людей из-за количества вариаций в людях в датасете. Это достаточно частая проблема: иногда человек это всего лишь его лицо, иногда это кто-то со спины, иногда сидящий человек, и т.д. Это самый вариативный класс в датасете, но задача решается “стандартными” подходами – в нашем понимании стандарта.

TAPe‑патчи, эмбеддинги и “операции по логике TAPe”

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

Если рассматривать каждый патч TAPe-данных как токен, то изображение – это просто последовательность этих патчей, с которой можно очень удобно работать в рамках, например, iBOT-задач – мы уже знаем, что их мы можем решать с чрезмерным успехом.

Единственная проблема в том, что такие подходы зависят от Global Attention – что в свою очередь зависит от градиентного спуска. Эту вещь мы исследовали позже, но пока из изначального просмотра в TAPe данных уже присутствует структура, позволяющая проводить attention в намного более логичном виде.

Оба эти этапа могут быть заменены на этап тренировки с использованием подготовленных нами по логике TAPe объектов.

Также эта первичная тренировка может нам позволить тренировать операции по логике TAPe, которые мы просто не знаем в форме записи в эмбеддинг, если так можно выразиться. Что означает, что мы можем попросту найти её выражение в форме для эмбеддингов и таким образом решить различные задачи взаимосвязи TAPe и ML.

Автор: oopatow

Источник

Rambler's Top100