Моделі та платформи ШІ

Paint3D : Безсвітловий дифузійний модель для генерації зображень

mm
Додайте Unite.AI до бажаних джерел у Google

Швидкий розвиток генеративних моделей штучного інтелекту, особливо глибинних генеративних моделей штучного інтелекту, суттєво розширив можливості природної мови генерації, 3D генерації, генерації зображень та синтезу мовлення. Ці моделі революціонізували 3D виробництво в різних галузях. Однак багато з них стикаються з проблемою: їх складна схема та згенеровані сітки часто не сумісні з традиційними трубопроводами рендерингу, такими як фізично заснований рендеринг (PBR). Дифузійні моделі, особливо без текстур освітлення, демонструють вражаючу генерацію різноманітних 3D активів, покращуючи 3D кадри в кінематографі, іграх та AR/VR.

Ця стаття вводить Paint3D, нову структуру для генерації різноманітних, високоякісних 2K UV текстурних карт для не текстурних 3D сіток, умовно на візуальних або текстових вхідних даних. Основною проблемою Paint3D є генерація високоякісних текстур без вбудованого освітлення, що дозволяє користувачеві редагувати або перезапускати освітлення в сучасних графічних трубопроводах. Він використовує попередньо навчену 2D дифузійну модель для мультивидової текстурної фузії, генеруючи початкові грубі текстурні карти. Однак ці карти часто демонструють артефакти освітлення та неповні області через обмеження 2D моделі у виключенні освітлення та повному представленні 3D форм. Ми розглянемо роботу Paint3D, архітектуру та порівняння з іншими глибинними генеративними структурами. Почнімо.

Paint3D : Введення

Можливості глибинних генеративних моделей штучного інтелекту в генерації природної мови, 3D генерації та синтезі зображень добре відомі та реалізовані в реальних додатках, революціонізуючи галузь 3D генерації. Незважаючи на їх вражаючі можливості, сучасні глибинні генеративні структури штучного інтелекту генерують сітки, характеризовані складною схемою та хаотичними текстурами освітлення, які часто не сумісні з традиційними трубопроводами рендерингу, включаючи PBR або фізично заснований рендеринг. Як і глибинні генеративні моделі штучного інтелекту, текстурна синтез також швидко просунувся, особливо у використанні 2D дифузійних моделей. Моделі текстурної синтезу використовують попередньо навчені глибинні дифузійні моделі ефективно для генерації високоякісних текстур за допомогою текстових умов. Однак ці підходи стикаються з труднощами з попередньо освітленими текстурами, які можуть суттєво вплинути на кінцеві 3D середовища рендерингу та введення помилок освітлення при зміні освітлення в загальних робочих процесах, як показано на наступному зображенні.

Як можна побачити, текстурна карта з вільним освітленням працює в синхронізації з традиційними трубопроводами рендерингу, забезпечуючи точні результати, тоді як текстурна карта з попереднім освітленням включає неприйнятні тіні при перезапуску освітлення. З іншого боку, структури генерації текстур, навчені на 3D даних, пропонують альтернативний підхід, в якому структура генерує текстури, розуміючи геометрію конкретного 3D об’єкта. Хоча вони можуть забезпечити кращі результати, структури генерації текстур, навчені на 3D даних, не мають можливостей узагальнення, що обмежує їхню здатність застосовувати модель до 3D об’єктів поза їхнім навчальним набором даних.

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

Через вищезазначені проблеми структура Paint3D намагається розробити двостадійну модель дифузійної текстури для 3D об’єктів, яка узагальнюється до різних попередньо навчених генеративних моделей і зберігає послідовність виду під час навчання генерації текстур без освітлення.

Paint3D – це двостадійна модель грубої та тонкої генерації текстур, яка має на меті використовувати сильне умовне керівництво та можливості генерації зображень попередньо навчених генеративних моделей штучного інтелекту для текстур 3D об’єктів. На першому етапі структура Paint3D спочатку вибірково генерує зображення з попередньо навченої глибинної 2D дифузійної моделі, щоб забезпечити узагальнення високоякісних та багатих текстурних результатів з різноманітних умов. Модель потім генерує початкову текстурну карту, проєктуючи ці зображення на поверхню 3D сітки. На другому етапі модель фокусується на генерації текстур без освітлення шляхом реалізації підходів, використовуваних моделями дифузії, спеціалізованими на видаленні впливів освітлення та уточненні неповних областей. На протяженні всього процесу структура Paint3D здатна генерувати високоякісні 2K текстури семантично та виключає внутрішні ефекти освітлення.

Підставити все, Paint3D – це нова груба та тонка генеративна модель штучного інтелекту, яка має на меті виробляти різноманітні, без світла та високоякісні 2K UV текстурні карти для не текстурних 3D сіток для досягнення найвищої продуктивності в текстурі 3D об’єктів з різними умовними вхідними даними, включаючи текст та зображення, і пропонує суттєву перевагу для синтезу та завдань графічного редагування.

Методологія та Архітектура

Структура Paint3D генерує та уточнює текстурні карти поступово для генерації різноманітних та високоякісних текстурних карт для 3D моделей за допомогою бажаних умовних вхідних даних, включаючи зображення та умовки, як показано на наступному зображенні.

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

Етап 1: Поступова Груба Генерація Текстур

На етапі поступової грубої генерації текстур модель Paint3D генерує грубу UV текстурну карту для 3D сіток, використовуючи попередньо навчену глибинну 2D дифузійну модель. Конкретно, модель спочатку використовує різні камерні погляди для рендерингу глибинної карти, потім використовує умовки глибини для вибіркової генерації зображень з моделі дифузії зображень, а потім проєктує ці зображення на поверхню сітки. Структура виконує рендеринг, вибіркову генерацію та проєкцію поступово для покращення послідовності текстурних сіток, що в кінцевому підсумку допомагає в поступовій генерації текстурної карти.

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

Модель потім використовує глибинну модель інпейнтингу з інпейнтинговим кодувачем для заповнення некольорової області в RGB зображенні. Модель потім генерує текстурну карту з погляду, проєктуючи інпейнтингове зображення на 3D сітку під поточним поглядом, дозволяючи моделі генерувати текстурну карту поступово та досягати всієї грубої структури карти. Нарешті, модель розширює процес вибіркової генерації текстур на сцену або об’єкт з декількома поглядами. Конкретно, модель використовує пару камер для захоплення двох глибинних карт під час початкової генерації текстур з симетричних поглядів. Модель потім поєднує дві глибинні карти та створює глибинну сітку. Модель замінює одну глибинну карту на глибинну сітку для виконання мультивидової глибинної генерації текстур.

Етап 2: Уточнення Текстур в Просторі UV

Хоча зовнішній вигляд грубих текстурних карт логічний, він стикається з деякими проблемами, такими як текстурні пробіли, викликані під час процесу рендерингу самозакриттям або тіньованим освітленням через участь 2D моделей дифузії зображень. Модель Paint3D намагається виконати процес дифузії в просторі UV на основі грубої текстурної карти, намагаючись пом’якшити ці проблеми та покращити візуальну привабливість текстурної карти ще далі під час уточнення текстур.

Модель уточнює текстурну карту в просторі UV, виконуючи процес дифузії під керівництвом інформації про сусідство текстурних фрагментів. Важливо відзначити, що в просторі UV позиційна карта представляє 3D інформацію про сусідство текстурних фрагментів, з моделлю, яка розглядає кожен ненульовий елемент як 3D координату точки. Під час процесу дифузії модель поєднує 3D інформацію про сусідство шляхом додавання окремого позиційного кодувача до попередньо навченої моделі дифузії зображень. Новий кодувач нагадує конструкцію структури ControlNet та має ту ж архітектуру, що й кодувач, реалізований у моделі дифузії зображень, з нульовим шаром згортки, що з’єднує їх.

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

Paint3D : Експерименти та Результати

Модель Paint3D використовує модель текст-до-зображення Stable Diffusion для допомоги у завданнях генерації текстур, а також використовує компонент кодувача зображення для обробки умовок зображення. Для подальшого покращення умовних керувань, таких як інпейнтинг зображення, глибина та висока чіткість зображення, структура Paint3D використовує кодувачі домену ControlNet. Модель реалізована на основі PyTorch, а рендеринг та проєкція текстур реалізовані на Kaolin.

Порівняння Текстур з Текстом

Для аналізу продуктивності ми починаємо з оцінки ефекту генерації текстур Paint3D при умовках текстових умовок та порівнюємо його з найкращими структурами, включаючи Text2Tex, TEXTure та LatentPaint. Як можна побачити на наступному зображенні, структура Paint3D не тільки excels у генерації високоякісних текстурних деталей, але також синтезує текстурну карту без освітлення досить добре.

На відміну від цього, структура Latent-Paint схильна генерувати розмиті текстури, що призводить до субоптимальних візуальних ефектів. З іншого боку, хоча структура TEXTure генерує чіткі текстури, вона не має гладкості та демонструє помітні шви та шви. Нарешті, структура Text2Tex генерує гладкі текстури досить добре, але вона не може повторити продуктивність для генерації тонких текстур з інтригуючими деталями.

Наступне зображення порівнює структуру Paint3D з найкращими структурами кількісно.

Як можна побачити, структура Paint3D перевершує всі існуючі моделі, і з досить суттєвим відривом, майже 30% покращення у базовій лінії FID та приблизно 40% покращення у базовій лінії KID. Покращення у базових лініях FID та KID демонструє здатність Paint3D генерувати високоякісні текстури по різних об’єктах та категоріях.

Порівняння Зображення з Текстурою

Для генерації можливостей Paint3D за допомогою візуальних умовок ми використовуємо структуру TEXTure як базову. Як згадувалося раніше, модель Paint3D використовує кодувач зображення з моделі текст-до-зображення Stable Diffusion. Як можна побачити на наступному зображенні, структура Paint3D синтезує чудові текстури досить добре, та все ж таки здатна підтримувати високу вірність щодо умовки зображення.

З іншого боку, структура TEXTure здатна генерувати текстуру, схожу на Paint3D, але вона не в змозі точно представити текстурні деталі в умовці зображення. Крім того, як показано на наступному зображенні, структура Paint3D забезпечує кращі показники FID та KID порівняно зі структурою TEXTure, з першими, що знижуються з 40,83 до 26,86, тоді як другі показують зниження з 9,76 до 4,94.

Кінцеві Думки

У цій статті ми говорили про Paint3D, грубу та тонку нову структуру, здатну виробляти без світла, різноманітні та високоякісні 2K UV текстурні карти для не текстурних 3D сіток, умовно на візуальних або текстових вхідних даних. Основним виділенням структури Paint3D є те, що вона здатна генерувати без світла високоякісні 2K UV текстури, які є семантично узгодженими без умовок на зображення чи текстові вхідні дані. Завдяки своєму грубому та тонкому підходу структура Paint3D виробляє без світла, різноманітні та високоякісні текстурні карти та забезпечує кращу продуктивність порівняно з сучасними найкращими структурами.

Kunal Kejriwal — бекенд‑інженер, який спеціалізується на Python, PostgreSQL, Redis та хмарній інфраструктурі в GCP і AWS. Має три роки досвіду у створенні та масштабуванні виробничих систем, пише про інфраструктуру ШІ, розподілені системи та архітектуру розгортання навантажень машинного навчання.