Тихая-тихая мировая революция. Мы сделали модель распознавания для любых задач компьютерного зрения – и выше уровня SOTA

от автора

Мы не приверженцы теории марксизма-ленинизма (у нас своя теория), но иначе нашу разработку не назовешь. Вы можете к ней (к революции) присоединиться – просто начав пользоваться нашей моделью.

Мы разработали TAPe+ML v2 — модель распознавания, которая решает любые задачи компьютерного зрения с точностью на уровне моделей SOTA, но с количеством параметров значительно меньше 100 тысяч, тогда как у конкурентов их миллионы и даже сотни миллионов. 

Такой размер позволяет запускать модель не только на серверных GPU, но и на массовом железе — от обычных CPU и ноутбуков до встраиваемых устройств и одноплатных компьютеров, где тяжелые модели с сотнями миллионов параметров обычно не помещаются или требуют отдельной оптимизации.

Дисклеймер (для тех, кто впервые про TAPe или всё забыл)

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

Мы можем решать задачи компьютерного зрения без видеокарт. И вам советуем

Как мы обошли RF‑DETR и YOLO, с легкостью уложившись в 100k параметров (вместо 100M)

Наш «домашний» НИИ обошел DINOv2, ViT и десятки ML‑моделей в сегментации видео

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

У нас – иначе. TAPe переводит изображение в структурированное TAPe‑пространство признаков: система сначала «видит» кадр/изображение и строит представление, не зная заранее, какой ответ от неё потребуется.  Модель организует работу нескольких простых подмоделей над этим представлением, а уже постановка задачи и датасет определяют, каким будет ответ — детекция, классификация, сегментация, авторазметка, поиск похожих объектов или другой сценарий. 

За счёт этого одна и та же архитектура восприятия и координатор подмоделей используются для разных задач, без отдельного набора backbone‑моделей под каждую из них.

Рассказываем подробней.

Детекция (COCO)

Практический эффект TAPe+ML v2 сейчас лучше всего видно в object detection. Так, TAPe+ML v2 на конкретной практической задаче рудозасорения (см главу про промышленный пилот), без COCO-головы, на новом backbone, основанном на данных клиента, дает точность детекции 96%, по mAP50 – точность  90% и по mAP50–95 – 85%. То есть TAPe‑детекция выходит на уровень RF‑DETR по mAP50 при числе параметров меньше 100 тысяч против порядка 127 миллионов у RF‑DETR 2XL.

Мы применили последовательность улучшений, которые не раскрываем публично как ноу‑хау, но их итоговые эффекты можно зафиксировать на COCO. На разных этапах получались следующие значения:

При этом количество параметров модели осталось меньше 100 тысяч, а время инференса — порядка 8 мс на изображение.

В качестве ориентира по рынку мы также используем RF‑DETR 2XL — одну из первых детекционных моделей, превысивших 60% по mAP50–95 на COCO и при этом работающих в реальном времени (~17.2 мс на изображение).

Для TAPe+ML v2 в финальной конфигурации получаем:

  • mAP50–95 — 62.0% против ≈60% у RF‑DETR 2XL;

  • скорость — ~8 мс против ~17.2 мс;

  • число параметров — <100k против сотен миллионов у крупных трансформерных детекторов.

Итоговая сравнительная таблица COCO-детекции

Классификация (ImageNet-1k / COCO oracle)

Как видно, точность классификации нашей модели сопоставима с SOTA, но нашей модели нужно меньше 100 тыс параметров, а DINOv2 – больше миллиарда, чтобы показать приличный результат. Что уж говорить о DINOv3, которая, чтобы улучшить точность на полтора процента, увеличила в семь раз число параметров, доведя их до страшных 7 млрд. А 7 млрд – это в 70 тыс. раз больше, чем 100 тыс.

Если вы думаете, что нам, чтобы “догнать” DINOv3, придется тоже хотя бы в семь раз увеличить число параметров, вы ошибаетесь.  Мы получили точность классификации 86,6% top-1 сходу. Классификация для нас — контрольная задача, а не отдельный продукт. Мы не оптимизировали модель под максимальный топ‑1, а проверяли, как распознавательное TAPe‑ядро ведет себя в ImageNet‑подобной постановке. 

Целенаправленно догонять и перегонять SOTA по классификации мы пока не пытались: задача TAPe+ML — устойчивое распознавание с малым числом параметров, а не рекорд по одной метрике. Как только появится прикладная задача, требующая максимизации именно классификационного качества, архитектура позволяет шагнуть в эту сторону без смены ядра модели. В целом же, просто двигаясь в сторону распознавания, мы улучшаем бенчмарки конкретных задач/датасетов, без усилий в одну конкретную сторону.

ML‑стенд: обучение головы и backbone под задачу

В процессе разговоров и пилотов мы уперлись в необходимость собственного ML‑стенда, который решает задачи детекции на COCO с результатами уровня сильных моделей и доступен заказчикам. Стенд мы сделали: его можно взять «в руки», чтобы прогонять свои сценарии и сверять цифры и заявления с реальными результатами.

Стенд поддерживает несколько режимов обучения на базе одной и той же TAPe+ML‑архитектуры:

  • Обучение только головы. Используется модель, предобученная на COCO; дообучается голова под новые классы и задачи, а backbone остается фиксированным. Такой режим позволяет голове быстро тренироваться задач в доменах, близких к COCO — обычные «3D‑объекты» в хорошем освещении. Backbone в этом случае дает голове описания и свойства предметов, которые были натренированы из решения датасета COCO: формы, текстуры, цвета и т.д.

  • Обучение с адаптацией backbone. Используется та же предобученная модель, но дообучение затрагивает и backbone, добавляя туда свойства, которые необходимы для новой задачи клиента, если свойств из COCO недостаточно. Лучше всего такой метод подходит для задач НЕ-похожих на задачи датасета COCO – так называемых задач OOD, Out Of Distribution. Наш промышленный пилот, о результатах которого мы расскажем в конце, использовал именно этот метод для тренировки. 

  • Обучение с нуля. Механически это тот же режим с обучением backbone, но веса инициализируются случайно и модель не опирается на знания из COCO. Такой подход требует больше данных и времени, но позволяет не тянуть в модель не относящиеся к задаче свойства и строить еще более легкие конфигурации, то есть сохранять модель с меньшим количеством слоев, а также получить еще более высокий потолок точности.

Стенд явно разделяет эти режимы и объясняет, как они соотносятся с задачей и данными, что упрощает диалог с ML‑командами по выбору стратегии обучения.

Автоматическая разметка (мы и ее сделали)

В классическом пайплайне разметки датасет сначала размечают вручную (часто через отдельные label‑сервисы и тулзы), а затем по этим данным обучают модель. В TAPe+ML поверх обычного графического интерфейса разметки есть режим авторазметки, где основную работу берет на себя модель. Пользователь загружает небольшой фрагмент данных, вручную размечает 10–15 изображений, а система сразу же (в реальном времени) дообучает модель на этом минимальном наборе, и дальше она сама обводит остальные объекты соответствующего класса; при необходимости пользователь вносит поправки, а модель дообучается на этих исправлениях. Все это работает в рамках того же ML‑стенда и TAPe+ML‑стека: разметка, обучение и авторазметка находятся в одной системе, доступны из браузера и не требуют отдельного ПО или внешних label‑платформ.

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

Гипотетически, в TAPe+ML одна архитектура может применяться везде: для Image Classification, Object Detection, Image Segmentation, Clustering & Similarity Search и Feature Extraction и других задач компьютерного распознавания; модель зависит не от конкретного датасета, а от класса задачи. Пока мы проверили работоспособность на задачах в области первых двух пунктов – детекции и классификации, сейчас работаем с другими задачами. 

Мы ушли от монолитного детектора к системе из нескольких маленьких моделей, каждая из которых отвечает за свою часть задачи. Модель TAPe+ML v2  является по сути координатором нескольких маленьких моделей. В зависимости от поставленной задачи и сложности датасета (а не просто его размеров), модель автоматически разворачивает несколько подмоделей, для адаптации к конкретному решению, позволяя иметь гибкую систему решения любой задачи, не волнуясь при этом о количестве параметров, или же конечном результате. Таким образом, модели в нашей системе автоматически разворачиваются для нахождения заднего фона, для наведения на объект, для разделения объектов на прототипы, и так далее. Каждая задачка работает с простейшим «узким» датасетом и алгоритмом для решения большой и сложной общей задачи. 

Итого: TAPe+ML v2 — это единая модель распознавания. Одна и та же архитектура сначала воспринимает изображение и строит его структурированное представление независимо от конкретной задачи, а затем на этом же представлении, в зависимости от постановки и датасета, дает ответ в задачах детекции, классификации, сегментации, авторазметки и пр. За счет этого одна и та же система используется для разных задач распознавания без смены базовой архитектуры.

Результаты промышленного пилота

В одном из пилотных проектов TAPe+ML использовалась для задачи: по изображениям конвейерной ленты находить засорения руды.

Исходные данные

30 изображений, два класса:

  • класс 1 — обширные объекты постоянной формы (12 фотографий);

  • класс 2 — маленькие узкие объекты без стабильной формы и размера, где похожесть внутри класса скорее концептуальная, чем визуальная (18 фотографий).

По информации заказчика, baseline‑модель YOLO 26s на этом датасете не справлялась с задачей.

Шаги и результаты

  • Проверка базового YOLO 26s: около 28% точности на исходном датасете.

  • Обучение только головы TAPe+ML: ≈45%.

  • Обучение с адаптацией backbone: ≈65%.

После внедрения улучшений классификации и новой модели: около 85% на исходных 30 изображениях; на расширенном датасете (500 изображений) — 85.7% с детальным разбором ошибок.

Ключевые сложности

  • ложные срабатывания по изображениям класса 1, где минимальные отличия делают задачу сложной даже визуально;

  • ошибки NMS в виде дублирующихся боксов на один объект класса 2;

  • около 5% оверфита из‑за низкой вариативности данных.

Финальный результат после интеграции TAPe-координатора и улучшений

  • отсутствие ложных срабатываний на рабочих уровнях порога уверенности;

  • исправленный NMS — нет случаев многократного обвода одного и того же объекта;

  • точность детекции — 96%;

  • mAP50 — 90%;

  • mAP50–95 — 85%.

  • по классам: класс 1 — 100% точности, класс 2 — ≈90% (89.97%).

Для сравнения:  YOLO 12s с 9.3 млн параметров на том же датасете показывает точность maP50 — 84%, maP50-95 — 68%, требует 400 изображений на класс против <100k параметров  у TAPe+ML v2 и до 50 изображений на класс. 

Итоги на сегодня: в результатах на COCO и в промышленном кейсе TAPe+ML v2 ожидаемо (для нас) показала уровень и даже выше сильных моделей, оставаясь в классе «меньше 100 тысяч параметров и единицы миллисекунд на инференс». 

TAPe+ML v2 можно проверить/потестить самостоятельно на стенде. Или приобрести тариф для своих задач.

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

ссылка на оригинал статьи https://habr.com/ru/articles/1052302/