Штучний Інтелект
TinySAM : розширює межі моделі Segment Anything

Сегментація об’єктів є фундаментальною та критично важливою областю сучасного комп’ютерного зору. Він відіграє життєво важливу роль у програмах, які вимагають великих візуальних компонентів, таких як локалізація та ідентифікація об’єктів, і вимагає швидкої та точної сегментації в реальному часі. Ця важливість зробила сегментацію об’єктів незмінно актуальною темою для досліджень, оскільки було виконано значну роботу в таких областях, як сегментація екземплярів, семантична сегментація та панорамна сегментація.
З розвитком сегментації об’єктів модель Segment Anything (SAM) стала чудовим інструментом, який демонструє видатні можливості сегментації та швидко застосовується в різних програмах комп’ютерного зору. Фреймворки, що використовують попередньо навчену архітектуру SAM, досягли вражаючої продуктивності в завданнях подальшого бачення. Однак, незважаючи на його можливості та високу точність у задачах сегментації, складна та важка архітектура SAM потребує значної обчислювальної потужності, що перешкоджає її реалізації на пристроях із обмеженими обчислювальними можливостями.
Вирішуючи обчислювальні проблеми SAM, дослідники розробили модель Tiny Segment Anything Model (TinySAM), яка зберігає нульову продуктивність оригінальної структури, але є більш легкою. TinySAM використовує повний метод дистиляції знань із онлайн-підказками для створення більш ефективної моделі студента. Квантування після тренування, адаптоване до завдань сегментації, які можна швидко виконати, додатково зменшує обчислювальні потреби. Крім того, дизайн TinySAM спрямований на ієрархічну сегментацію, що майже подвоює швидкість висновку без шкоди для продуктивності.
У цій статті розглядається фреймворк TinySAM, досліджуються його основні принципи, архітектура та продуктивність у порівнянні з іншими найсучаснішими фреймворками сегментації. Давайте розглянемо ці аспекти більш детально.
TinySAM: ефективна модель будь-якого сегмента
Модель Segment Anything допомогла швидкому розвитку кількох додатків комп’ютерного зору завдяки своїм чудовим можливостям сегментації в поєднанні з масивним набором даних сегментації, який містить понад 11 мільйонів зображень і понад мільярд масок зображень. Завдяки винятковій продуктивності в задачах сегментації об’єктів за довільними категоріями та формами, він служить основою для фреймворків, які виконують наступні завдання, такі як малювання зображень, відстеження об’єктів, 3D-бачення тощо. Крім того, модель Segment Anything також пропонує чудові можливості нульова сегментація продуктивність, яка принесла користь чутливим галузям, які працюють з обмеженою кількістю даних, включаючи галузі медичних досліджень і медичних зображень.
Хоча ніхто не може поставити під сумнів надзвичайні можливості сегментації, які пропонує модель Segment Anything для широкого спектру подальших завдань бачення, у неї є недолік у вигляді складного архітектурного перевантаження, високих обчислювальних вимог і значних операційних витрат. Для системи, що працює на сучасному графічному процесорі, час визначення моделі SAM може становити до 2 секунд для зображення 1024×1024. Як результат, реалізація програм SAM на пристроях з обмеженими обчислювальними можливостями є дуже складним завданням. Щоб подолати цю перешкоду, останні роботи, такі як MobileSAM і FastSAM, намагалися розробити модель SAM з більшою обчислювальною ефективністю. Фреймворк MobileSAM намагається замінити важкий компонент у кодувальнику зображень на архітектуру фреймворку TinyViT, тоді як модель FastSAM передає завдання сегмента на завдання сегментації екземпляра лише з однією категорією з YoloV8 модель. Незважаючи на те, що ці методи змогли досягти певного рівня успіху з точки зору зменшення обчислювальних вимог, вони не могли підтримувати продуктивність, особливо в наступних завданнях з нульовим ударом.
TinySAM або модель Tiny Segment Anything — це спроба зменшити обчислювальні вимоги поточної моделі SAM, не перешкоджаючи продуктивності завдань з нульовим ударом. Крім того, структура TinySAM пропонує реалізувати повноетапний метод дистиляції знань у своїй архітектурі з метою покращення спроможності компактної студентської мережі. Фреймворк TinySAM розганяє мережу учнів наскрізним способом під наглядом мережі викладачів на різних етапах. Щоб ще більше підвищити продуктивність, структура дозволяє процесу дистиляції більше звертати увагу на важкі приклади, реалізуючи додаткову онлайн-стратегію жорсткого оперативного відбору проб. Крім того, щоб додатково зменшити обчислювальні витрати, структура TinySAM надає оперативні завдання сегментації компонентам квантування після навчання.
Основна частина вимоги до обчислення моделі Segment Anything полягає в тому, що модель створює масивні маски з точок підказок сітки, щоб сегментувати все на зображенні. Щоб подолати обчислювальні вимоги цієї стратегії сегментації, структура TinySAM використовує стратегію ієрархічного сегментування всього, яка майже подвоює швидкість висновку без погіршення продуктивності. Завдяки цим методам, застосованим у своїй архітектурі, платформа TinySAM пропонує значне зниження обчислювальних вимог і встановлює нові обмеження для ефективного сегментування будь-яких завдань.
TinySAM : архітектура та методологія
Перш ніж говорити про архітектуру та методологію фреймворку TinySAM, важливо спочатку поглянути на його попередника, фреймворк SAM. З моменту появи модель Segment Anything продемонструвала надзвичайну продуктивність, універсальність і можливості узагальнення в ряді задач нижнього бачення та сегментації об’єктів.
За своєю суттю модель SAM складається з трьох підмереж: кодувальник підказок, кодер зображень і декодер маски. Основною метою кодувальника підказок є кодування масок довільної форми, точок введення та рамок, а також тексту довільної форми з позиційною інформацією. Кодер зображень — це потужна мережа на основі ViT або візуального трансформатора, яка витягує вхідне зображення у вбудовування. Модель використовує різні мережі для обробки геометричних і текстових підказок. Нарешті, декодер маски містить двосторонній перетворювач, який отримує вихід підказки, і кодер зображення для генерації остаточного передбачення маски. Завдяки набору даних платформа SAM демонструє надзвичайну високу якість сегментації для об’єктів, незалежно від їх форми та категорії. Крім того, Сегмент будь-якої моделі демонструє надзвичайну продуктивність і ефективність у виконанні завдань бачення з нульовим кадром, включаючи пропозицію об’єктів, виявлення країв, прогнозування тексту для маскування та сегментацію екземплярів. Завдяки високоякісним можливостям сегментації та гнучким оперативним пропозиціям інфраструктури SAM формують основу для додатків бачення. Зважаючи на це, не можна ігнорувати високі обчислювальні вимоги традиційної архітектури SAM із великою кількістю параметрів, що робить майже неможливим для розробників розгортання програм на основі SAM на пристроях з обмеженими ресурсами.
Перегонка знань
Дистиляція знань є важливим підходом для підвищення продуктивності компактних мереж на етапі навчання. Метод дистиляції знань, який використовує вихід мережі викладачів для контролю за навчанням легкої мережі студентів. Метод дистиляції знань можна розділити на дві підкатегорії: дистиляція для проміжних функцій і дистиляція для мережевих виходів, при цьому більшість дослідницьких робіт навколо дистиляції знань зосереджуються на завданнях класифікації зображень.
Зважаючи на це, наступний малюнок демонструє загальну архітектуру фреймворку TinySAM разом із оглядом продуктивності завдань сегментації екземпляра з нульовим ударом.
На першому етапі структура TinySAM реалізує дистиляцію знань, розроблену спеціально для фреймворку SAM, і для подальшої активації процесу дистиляції модель використовує жорстку онлайн-вибірку підказок для отримання жорстких знань у студентській мережі з мережі викладачів. На другому етапі фреймворк TinySAM адаптує метод квантування після тренування до завдань сегментації, які підказують, і реалізує його в спрощеній мережі студентів. Нарешті, модель реалізує режим логічного висновку в ієрархічному сегменті, призначений для завдань сегментації, що призводить до подвоєння швидкості висновку з незначною втратою точності.
Повний етап дистиляції знань
Як згадувалося раніше, модель Segment Anything складається з трьох підмереж у своїй основі: кодувальника підказок, кодера зображення та декодера маски, причому компонент кодера зображення побудований на трансформаторі зору та має високі обчислювальні вимоги. Щоб вирішити цю проблему, платформа MobileSAM замінила vision transformer на TinyViT або Tiny Vision Transformer, хоча заміна була неефективною через значне зниження продуктивності. Щоб запобігти зниженню продуктивності, платформа TinySAM реалізує повний метод дистиляції знань, який спрямовує полегшений кодер зображень від рівня навчання до рівня кількох знань. На додаток до звичайних втрат між базовими мітками і прогнозованими результатами, структура TinySAM вносить численні втрати дистиляції на різних етапах, як показано на наступному малюнку.
Квантування
Квантування моделі є популярним підходом у рамках комп’ютерного бачення, який використовується для стиснення моделі шляхом квантування вагових коефіцієнтів або активації від вищої до нижчої смуги пропускання, намагаючись зменшити складність обчислень і вимоги до зберігання без значного погіршення якості виводу.
Основною метою квантування в TinySAM є проектування тензора з плаваючою комою на бітовий цілочисельний тензор за допомогою коефіцієнта масштабування з метрикою для вимірювання відстані між множенням матриці та квантованою матрицею, що відіграє життєво важливу роль для оптимізації коефіцієнта масштабування.
Ієрархічний сегмент Будь-що
Модель Segment Anything пропонує використовувати автоматичний генератор масок, який вибирає точки як сітку для сегментації всього на зображенні. Однак було зазначено, що використання щільної точкової сітки призводить до надто дрібнозернистої сегментації, а процес вимагає великих обчислювальних вимог і несе великі експлуатаційні витрати. Крім того, з одного боку, занадто багато точок вибірки для цілого об’єкта може призвести до того, що різні розділи об’єкта будуть сегментовані неправильно як окремі маски, тоді як з іншого боку, витрати часу на висновок у режимі «все» пов’язані головним чином з тієї причини, що кодер зображення значно зменшився. Щоб зменшити експлуатаційні витрати в режимі «все», структура TinySAM використовує ієрархічний підхід до генерації масок, при цьому відмінність у стратегії з оригінальною структурою SAM показано на наступному зображенні.
На відміну від підходу, реалізованого в оригінальній структурі SAM, модель TinySAM використовує лише 25% точок з кожного боку, тобто лише 1/16 доступних точок у вихідному налаштуванні. Потім модель робить висновок про декодер маски та кодер підказок із цими підказками та отримує результат. Потім модель фільтрує деякі маски з впевненістю, що перевищує певний поріг, і маскує відповідні місця як області для потенційних остаточних прогнозів. Оскільки модель розглядає ці регіони як результат сегментації екземплярів з високою достовірністю, їй не потрібно генерувати підказки точок. Ця стратегія не тільки допомагає запобігти надто дрібній сегментації об’єкта, але також допомагає значно знизити експлуатаційні витрати та вимоги до обчислень. Потім структура об’єднує та обробляє результати цих двох раундів для отримання остаточних масок.
TinySAM: експерименти та результати
Щоб прискорити процес дистиляції, платформа TinySAM заздалегідь обчислює та зберігає вбудовані зображення з мережі вчителя, завдяки чому модель більше не є обов’язковою для повторного обчислення кодувальника важких зображень у мережі вчителя під час фази навчання. Для квантування після навчання платформа TinySAM квантує всі шари множення матриць, шари згортки, шари деконволюції та лінійні шари, при цьому модель використовує коефіцієнти масштабування по каналах як для шарів згортки, так і для шарів деконволюції. Для матричних множинних шарів модель реалізує коефіцієнти масштабування за головою, тоді як для лінійних шарів модель реалізує коефіцієнти лінійного масштабування. Модель також проводить оцінку завдань з нульовим ударом.
Наприклад, для завдань сегментації в налаштуваннях нульового удару платформа TinySAM дотримується експериментальних налаштувань свого попередника, моделі Segment Anything Model, і використовує результати виявлення об’єктів інфраструктури Vision Transformer Det-H або VitDet-H для сегментації екземплярів. Як показано на наступному зображенні, структура TinySAM перевершує існуючі методи з точки зору точності сегментації екземплярів і оцінки FLOP.
Крім того, якісна продуктивність моделі TinySAM продемонстрована на наступному зображенні для сегментації екземпляра з нульовим розрахунком із зеленим прямокутником, що представляє вікно підказок.
З точки зору оцінки дійсної маски нульових точок, модель TinySAM значно перевершує фреймворк MobileSAM на різних наборах даних і забезпечує значно кращі результати, коли фреймворк використовує меншу кількість точок як підказки.
Крім того, у наведеній нижче таблиці підсумовуються результати прискорення та зниження обчислювальних вимог, досягнуті в результаті стратегії ієрархічного режиму всього. Модель застосовує той самий показник стабільності та порогове значення з різними стратегіями для справедливого порівняння, і результати підсумовані нижче.
Заключні думки
У цій статті ми говорили про TinySAM, запропоновану структуру, яка розсуває межі для сегментації будь-якого завдання та отримує ефективну архітектуру моделі з меншими обчислювальними вимогами та точністю на рівні з оригінальною структурою SAM. TinySAM або модель Tiny Segment Anything, яка підтримує та забезпечує нульову продуктивність оригінальної структури. Фреймворк TinySAM вперше реалізує повноцінний метод дистиляції знань, який використовує жорсткі онлайн-підказки для дистиляції легкої моделі студента. Потім платформа TinySAM адаптує квантування після навчання до завдань сегментації, які можна швидко виконати, що додатково допомагає зменшити вимоги до обчислень. Крім того, структура також має на меті сегментувати все ієрархічно, що майже подвоює швидкість висновку, не впливаючи на продуктивність.