Модели и платформы ИИ
TinySAM : Эффективная модель сегментации любых объектов
Сегментация объектов – это фундаментальная и крайне важная область в современном компьютерном зрении. Она играет решающую роль в приложениях, требующих обширных визуальных компонентов, таких как локализация и идентификация объектов, и требует реального времени, быстрой и точной сегментации. Это важность сделала сегментацию объектов постоянно горячей темой исследований, с значительной работой, проделанной в областях, таких как сегментация экземпляров, семантическая сегментация и паноптическая сегментация.
С эволюцией сегментации объектов модель сегментации любых объектов (SAM) появилась как замечательный инструмент, демонстрирующий выдающиеся способности сегментации и быстро принятая в различных приложениях компьютерного зрения. Фреймворки, использующие предварительно обученную архитектуру SAM, достигли впечатляющей производительности в задачах компьютерного зрения. Однако, несмотря на свои возможности и высокую точность в задачах сегментации, сложная и тяжелая архитектура SAM требует существенной вычислительной мощности, препятствуя ее реализации на устройствах с ограниченными вычислительными ресурсами.
Решая вычислительные проблемы SAM, исследователи разработали Tiny Segment Anything Model (TinySAM), который сохраняет нулевую производительность исходной модели, будучи более легковесной. TinySAM использует метод полной стадии дистилляции знаний с онлайн-жесткими подсказками для создания более эффективной модели-студента. Пост-тренировочная квантование, адаптированное к задачам сегментации с подсказками, дальнейшее снижает вычислительные потребности. Кроме того, дизайн TinySAM направлен на иерархическую сегментацию,几乎 удваивая скорость вывода без ущерба для производительности.
Эта статья углубляется в фреймворк TinySAM, изучая его основные принципы, архитектуру и производительность по сравнению с другими передовыми фреймворками сегментации. Давайте рассмотрим эти аспекты более подробно.
TinySAM : Эффективная модель сегментации любых объектов
Модель сегментации любых объектов помогла в быстром прогрессе нескольких приложений компьютерного зрения благодаря своим замечательным способностям сегментации, в сочетании с огромной базой данных сегментации, содержащей более 11 миллионов изображений и более миллиарда масок изображений. Благодаря своей исключительной производительности на задачах сегментации объектов с произвольными категориями и формами, она служит основой для фреймворков, выполняющих задачи, такие как inpainting изображений, отслеживание объектов, 3D-видение и многое другое. Кроме того, модель сегментации любых объектов также предлагает замечательную нулевую сегментацию производительность, которая принесла пользу чувствительным отраслям, работающим с ограниченным количеством данных, включая медицинские исследования и медицинскую визуализацию.
Хотя никто не может поставить под сомнение замечательные способности сегментации, предлагаемые моделью сегментации любых объектов на широком спектре задач компьютерного зрения, она имеет свои недостатки в плане сложной архитектурной перегрузки, высоких вычислительных требований и значительных операционных затрат. Для системы, работающей на современном GPU, время вывода модели SAM может составлять до 2 секунд для изображения 1024×1024. В результате это очень трудная задача реализовать приложения SAM на устройствах с ограниченными вычислительными возможностями. Чтобы преодолеть это препятствие, недавние работы, такие как MobileSAM и FastSAM, попытались разработать модель SAM с большей вычислительной эффективностью. Фреймворк MobileSAM пытается заменить тяжелый компонент в кодировщике изображений архитектурой фреймворка TinyViT, тогда как модель FastSAM передает задачу сегментации на задачу сегментации экземпляров с только одной категорией с помощью модели YoloV8. Хотя эти методы смогли достичь некоторого уровня успеха в плане снижения вычислительных требований, они не смогли сохранить производительность, особенно на нулевых задачах.
TinySAM или Tiny Segment Anything Model – это попытка снизить вычислительные требования текущей модели SAM без ущерба для производительности на нулевых задачах. Кроме того, фреймворк TinySAM предлагает реализовать метод полной стадии дистилляции знаний в своей архитектуре с целью улучшения способности компактной сети-студента. Фреймворк TinySAM дистиллирует сеть-студента в конечном итоге под наблюдением сети-учителя с разных стадий. Чтобы повысить производительность дальше, фреймворк позволяет процессу дистилляции уделять больше внимания трудным примерам, реализуя дополнительную стратегию онлайн-жесткой выборки подсказок. Кроме того, чтобы еще больше снизить вычислительные затраты, фреймворк TinySAM подвергает задачи сегментации с подсказками пост-тренировочному квантованию.
Большая часть вычислительных требований модели сегментации любых объектов обусловлена тем, что модель генерирует огромные маски из точек сетки, чтобы сегментировать все в изображении. Чтобы преодолеть вычислительные требования этой стратегии сегментации, фреймворк TinySAM использует иерархический подход к генерации масок, который почти удваивает скорость вывода без ущерба для производительности. С этими методами, реализованными в своей архитектуре, фреймворк TinySAM предлагает значительное снижение вычислительных требований и устанавливает новые пределы для эффективных задач сегментации.
TinySAM : Архитектура и методология
Прежде чем мы поговорим об архитектуре и методологии фреймворка TinySAM, важно сначала взглянуть на его предшественника, фреймворк SAM. С момента своего появления модель сегментации любых объектов продемонстрировала замечательную производительность, универсальность и способность к обобщению на широком спектре задач компьютерного зрения и сегментации объектов.
В своей основе модель SAM состоит из трех подсетей: кодировщика подсказок, кодировщика изображений и декодера масок. Основная цель кодировщика подсказок – закодировать маски произвольной формы, входные точки и коробки, и текст с позиционной информацией. Кодировщик изображений – это тяжелая сеть, основанная на Vision Transformer, которая извлекает входное изображение в вложения. Модель использует разные сети для обработки геометрических и текстовых подсказок. Наконец, декодер масок содержит двухсторонний трансформер, который получает вывод кодировщика подсказок и кодировщика изображений для генерации окончательного прогноза маски. С базой данных фреймворк SAM демонстрирует замечательные способности сегментации высокого качества для объектов, независимо от их формы и категории. Кроме того, модель сегментации любых объектов демонстрирует замечательную производительность и эффективность на нулевых задачах компьютерного зрения, включая предложение объектов, обнаружение краев, прогнозирование масок из текста и сегментацию экземпляров. Благодаря своим высококачественным способностям сегментации и гибким подсказкам, фреймворки SAM образуют основу для приложений компьютерного зрения. Однако нельзя игнорировать высокие вычислительные требования традиционной архитектуры SAM с большим количеством параметров, что делает почти невозможным для разработчиков развертывать приложения SAM на устройствах с ограниченными ресурсами.
Дистилляция знаний
Дистилляция знаний – это важный подход для повышения производительности компактных сетей во время фазы обучения. Метод дистилляции знаний, который использует вывод сети-учителя для надзора за обучением легкой сети-студента. Метод дистилляции знаний можно разделить на две подкатегории: дистилляция для промежуточных функций и дистилляция для выходов сети, с большинством исследовательских работ по дистилляции знаний, сосредоточенных на задачах классификации изображений.
Как упоминалось ранее, следующая фигура демонстрирует общую архитектуру фреймворка TinySAM, а также обзор производительности на нулевых задачах сегментации экземпляров.

На первой стадии фреймворк TinySAM реализует дистилляцию знаний, специально разработанную для фреймворка SAM, и для активации процесса дистилляции дальше, модель использует онлайн-жесткую выборку подсказок для добычи трудных знаний из сети-учителя для сети-студента. На второй стадии фреймворк TinySAM адаптирует метод пост-тренировочного квантования к задачам сегментации с подсказками и реализует его на легкой сети-студента. Наконец, модель реализует иерархический режим вывода “сегментировать все”, разработанный для задач сегментации, что приводит к几乎 удвоению скорости вывода с незначительной потерей точности.
Полная стадия дистилляции знаний
Как упоминалось ранее, модель сегментации любых объектов состоит из трех подсетей в своей основе: кодировщика подсказок, кодировщика изображений и декодера масок, с компонентом кодировщика изображений, построенным на основе Vision Transformer, и имеющим высокие вычислительные требования. Чтобы решить эту проблему, фреймворк MobileSAM заменил Vision Transformer на TinyViT или Tiny Vision Transformer, хотя замена не была эффективной, учитывая значительное снижение производительности. Чтобы обеспечить отсутствие снижения производительности, фреймворк TinySAM реализует метод полной стадии дистилляции знаний, который направляет легкий кодировщик изображений с уровня обучения до нескольких уровней знаний. В дополнение к обычной потере между метками и прогнозируемыми результатами, фреймворк TinySAM вводит несколько потерь дистилляции на разных стадиях, как показано на следующей фигуре.

Квантование
Квантование модели – это популярный подход в фреймворках компьютерного зрения и используется для сжатия модели, квантуя веса или активации от более высокого диапазона до более низкого диапазона в попытке снизить вычислительную сложность и требования к хранилищу без значительного снижения качества вывода.
Основная цель квантования в TinySAM – проецировать тензор с плавающей запятой на тензор целого числа с помощью масштабирующего коэффициента, с метрикой для измерения расстояния между умножением матрицы и квантованной матрицей, играющей важную роль в оптимизации масштабирующего коэффициента.
Иерархическое сегментирование всех объектов
Модель сегментации любых объектов предлагает использовать автоматический генератор масок, который выборочно отбирает точки в виде сетки для сегментации всех объектов в изображении. Однако было указано, что использование плотной сетки точек приводит к чрезмерно тонкой сегментации и требует значительных вычислительных ресурсов и операционных затрат. Кроме того, с одной стороны, слишком много точек выборки для полного объекта может привести к тому, что разные секции объекта будут сегментированы неправильно как отдельные маски, тогда как с другой стороны, время затрат на вывод режима “сегментировать все” в основном обусловлено тем, что кодировщик изображений был значительно уменьшен. Чтобы снизить операционные затраты режима “сегментировать все”, фреймворк TinySAM использует иерархический подход к генерации масок, с отличием в стратегии от исходного фреймворка SAM, продемонстрированным на следующем изображении.

В отличие от подхода, реализованного в исходном фреймворке SAM, модель TinySAM использует только 25% точек на каждой стороне, тем самым используя только 1/16 доступных точек в исходной настройке. Модель затем выводит декодер масок и кодировщик подсказок с этими подсказками и получает вывод. Модель затем фильтрует некоторые маски с уверенностью, превышающей определенный порог, и маскирует соответствующие места как области для потенциальных окончательных прогнозов. Поскольку модель рассматривает эти области как результат сегментации экземпляров с высокой уверенностью, она не имеет необходимости генерировать подсказки. Стратегия не только помогает предотвратить чрезмерно тонкую сегментацию объекта, но также помогает снизить операционные затраты и вычислительные требования значительно. Фреймворк затем объединяет и пост-обработывает результаты этих двух раундов, чтобы получить окончательные маски.
TinySAM : Эксперименты и результаты
Чтобы ускорить процесс дистилляции, фреймворк TinySAM вычисляет и хранит вложения изображений из сети-учителя заранее, благодаря чему модели больше не нужно вычислять тяжелый кодировщик изображений сети-учителя повторно во время фазы обучения. Для пост-тренировочного квантования фреймворк TinySAM квантует все слои умножения матрицы, слои свертки, слои десвертки и линейные слои, с моделью, использующей канальные масштабирующие коэффициенты для слоев свертки и десвертки. Для слоев умножения матрицы модель реализует заголовочные масштабирующие коэффициенты, тогда как для линейных слоев модель реализует линейные масштабирующие коэффициенты. Модель также проводит оценку на нулевых задачах.
Для задач сегментации экземпляров в нулевой настройке фреймворк TinySAM следует экспериментальным настройкам своего предшественника, модели сегментации любых объектов, и использует результаты обнаружения объектов фреймворка Vision Transformer Det-H или VitDet-H для сегментации экземпляров. Как продемонстрировано на следующем изображении, фреймворк TinySAM превосходит существующие методы по точности сегментации экземпляров и баллу FLOPs.

Кроме того, качественная производительность модели TinySAM продемонстрирована на следующем изображении для нулевой сегментации экземпляров, с зеленой коробкой, представляющей коробочные подсказки.

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

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

Окончательные мысли
В этой статье мы говорили о TinySAM, предложенном фреймворке, который расширяет границы для сегментации любых задач и получает эффективную модельную архитектуру с меньшими вычислительными требованиями и точностью, сопоставимой с исходной моделью SAM. TinySAM или Tiny Segment Anything Model сохраняет и обеспечивает нулевую производительность исходной модели. Фреймворк TinySAM сначала реализует метод полной стадии дистилляции знаний, который использует онлайн-жесткие подсказки для дистилляции легкой модели-студента. Фреймворк TinySAM затем адаптирует пост-тренировочное квантование к задачам сегментации с подсказками, что дальнейшее снижает вычислительные требования. Кроме того, фреймворк также направлен на иерархическую сегментацию, почти удваивая скорость вывода без ущерба для производительности.












