Connect with us

TinySAM : Подштовхуючи межі для моделі сегментації будь-чого

Штучний інтелект

TinySAM : Подштовхуючи межі для моделі сегментації будь-чого

mm
TinySAM : Pushing the Boundaries for Segment Anything Model

Сегментація об’єктів є фундаментальною та вкрай важливою областю в сучасному комп’ютерному баченні. Вона відіграє життєво важливу роль у додатках, які вимагають широких візуальних компонентів, таких як локалізація об’єктів та ідентифікація, і вимагає реального часу, швидкої та точної сегментації. Ця важливість зробила сегментацію об’єктів постійно гарячою темою дослідження, з значною роботою, виконаною в таких областях, як сегментація екземплярів, семантична сегментація та паноптична сегментація.

З еволюцією сегментації об’єктів з’явилася модель сегментації будь-чого (SAM), яка виявила видатні можливості сегментації та швидко була прийнята в різних додатках комп’ютерного бачення. Фреймворки, що використовують попередньо навчену архітектуру SAM, досягли вражаючої продуктивності в задачах бачення вниз по течії. Однак, незважаючи на свої можливості та високу точність у задачах сегментації, складна та важка архітектура SAM вимагає суттєвої обчислювальної потужності, що ускладнює її реалізацію на пристроях з обмеженими обчислювальними можливостями.

Для подолання обчислювальних проблем SAM дослідники розробили Tiny Segment Anything Model (TinySAM), який зберігає нульову продуктивність оригінальної моделі, залишаючись більш легким. TinySAM використовує повноетапний метод дистиляції знань з онлайн-жорсткими промптами для створення більш ефективної студентської моделі. Пост-тренінгова квантзація, адаптована до задач сегментації з промптами, ще більше знижує обчислювальні потреби. Крім того, дизайн TinySAM спрямований на ієрархічну сегментацію, майже подвоюючи швидкість висновку без компромісу продуктивності.

Ця стаття глибоко вивчає фреймворк TinySAM, досліджуючи його фундаментальні принципи, архітектуру та продуктивність у порівнянні з іншими фреймворками сегментації державного рівня.

TinySAM : Ефективна модель сегментації будь-чого

Модель сегментації будь-чого допомогла в швидкому прогресі кількох додатків комп’ютерного бачення завдяки своїм заслугам у можливостях сегментації, а також величезній базі даних сегментації, яка містить понад 11 мільйонів зображень і понад мільярд масок зображень. Завдяки своїм винятковим результатам у задачах сегментації об’єктів з довільними категоріями та формами, вона служить основою для фреймворків, які виконують задачі вниз по течії, такі як заповнення зображень, відстеження об’єктів, 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, важливо спочатку ознайомитися з його попередником, фреймворком SAM. З моменту свого введення модель сегментації будь-чого продемонструвала видатні результати, гнучкість та можливості узагальнення у широкому спектрі задач бачення вниз по течії та сегментації об’єктів.

У своєму ядрі модель SAM складається з трьох підмереж: промпт-кодувача, візуального кодувача та декодера масок. Основна мета промпт-кодувача полягає у кодуванні довільних масок, точок та текстових промптів з позиційною інформацією. Візуальний кодувач являє собою важку мережу, побудовану на основі трансформера, яка витягує зображення у вкладення. Модель використовує різні мережі для обробки геометричних та текстових промптів. Нарешті, декодер масок містить двонаправлений трансформер, який приймає вивід промпт-кодувача та візуального кодувача для генерації остаточного прогнозу маски. З базою даних фреймворк SAM демонструє видатні можливості сегментації для об’єктів незалежно від їхньої форми та категорії. Крім того, модель сегментації будь-чого демонструє видатні результати та ефективність у задачах нульового рівня вниз по течії, включаючи об’єктне пропоновування, виявлення країв, прогнозування масок з тексту та сегментацію екземплярів. Завдяки своїм високоякісним можливостям сегментації та гнучким промпт-опціям фреймворки SAM утворюють основу для додатків бачення.

Дистиляція знань

Дистиляція знань є важливим підходом для підвищення продуктивності компактних мереж під час фази навчання. Метод дистиляції знань, який використовує вивід вчительської мережі для нагляду за навчанням легкої студентської мережі. Метод дистиляції знань можна розділити на дві підкатегорії: дистиляція для проміжних ознак та дистиляція для виводу мережі, при цьому більша частина дослідницької роботи щодо дистиляції знань зосереджена на задачах класифікації зображень.

Навіть якщо так, наступна фігура демонструє загальну архітектуру фреймворку TinySAM разом з продуктивністю на задачах нульової сегментації екземплярів.

На першому етапі фреймворк TinySAM реалізує дистиляцію знань, спеціально розроблену для фреймворку SAM, а для активації процесу дистиляції модель використовує онлайн-жорсткий промпт-семплінг для видобування важливих знань зі вчительської мережі до студентської мережі. На другому етапі фреймворк TinySAM адаптує пост-тренінгову квантизацію до завдань сегментації з промптами та реалізує її на легкій студентській мережі. Нарешті, модель реалізує ієрархічний режим висновку для сегментації всього, який майже вдвічі збільшує швидкість висновку без суттєвої втрати точності.

Повноетапна дистиляція

Як згадувалося раніше, модель сегментації будь-чого складається з трьох підмереж у своєму ядрі: промпт-кодувача, візуального кодувача та декодера масок, при цьому складова візуального кодувача побудована на основі трансформера та має високі обчислювальні вимоги. Для подолання цієї проблеми фреймворк MobileSAM замінив трансформер на 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 потім адаптує пост-тренінгову квантизацію до завдань сегментації з промптами, що ще більше знижує обчислювальні вимоги. Крім того, фреймворк спрямований на ієрархічну сегментацію всього, що майже вдвічі збільшує швидкість висновку без погіршення продуктивності.

Інженер за професією, письменник серцем. Kunal є технічним письменником з глибокою любов'ю та розумінням AI і ML, присвяченим спрощенню складних концепцій у цих галузях завдяки його цікавим та інформативним документам.