Можливо, ви чули про те, наскільки потужними стали моделі штучного інтелекту для перетворення тексту в зображення за останні пару років. Але чи знаєте ви, що та сама технологія може допомогти зробити стрибок від 2D до 3D?
3D-моделі, створені штучним інтелектом, мають широке застосування в сучасному цифровому середовищі. Відео ігри і фільм покладаються на кваліфікованих 3D-художників і програмне забезпечення для моделювання, наприклад Blender, для створення 3D-ресурсів для заповнення згенерованих комп’ютером сцен.
Однак чи можливо, що галузь зможе використовувати машинне навчання для створення 3D-ресурсів з меншими зусиллями, подібно до того, як сьогодні художники 2D починають застосовувати такі технології, як DALL-E та Серед подорожі?
У цій статті буде розглянуто новий алгоритм, який намагається створити ефективну модель перетворення тексту в 3D, використовуючи існуючі дифузійні моделі.
Що таке Dreamfusion?
Однією з основних проблем зі створенням дифузійної моделі, яка безпосередньо генерує 3D-ресурси, є те, що доступних 3D-даних просто не так багато. 2D-моделі дифузії стали такими потужними завдяки величезному набору даних зображень, знайдених в Інтернеті. Цього не можна сказати про 3D-активи.
Деякі тривимірні генеративні методи обходять цю нестачу даних, використовуючи велику кількість двовимірних даних.
DreamFusion це генеративна модель, яка може створювати 3D-моделі на основі наданого текстового опису. Модель DreamFusion використовує попередньо навчену модель розповсюдження тексту в зображення для створення реалістичних тривимірних моделей із текстових підказок.
Незважаючи на відсутність 3D-навчальних даних, цей підхід створив узгоджені 3D-ресурси з високоякісним виглядом і глибиною.
Як це працює?
Алгоритм DreamFusion складається з двох основних моделей: моделі двовимірної дифузії та нейронної мережі який може перетворювати 2D-зображення на цілісну 3D-сцену.
Модель Imagen Text-to-Image від Google
Першою частиною алгоритму є модель дифузії. Ця модель відповідає за перетворення тексту в зображення.
Зображення це дифузійна модель, яка може створити велику вибірку варіацій зображення конкретного об’єкта. У цьому випадку наші варіації зображення повинні охоплювати всі можливі ракурси наданого об'єкта. Наприклад, якщо ми хочемо створити 3D-модель коня, нам потрібні будуть 2D-зображення коня з усіх можливих ракурсів. Мета полягає в тому, щоб за допомогою Imagen надати якомога більше інформації (кольори, відбиття, щільність) для наступної моделі в нашому алгоритмі.
Створення 3D-моделей за допомогою NeRF
Далі Dreamfusion використовує модель, відому як a Нейронне поле випромінювання або NeRF, щоб фактично створити 3D-модель із створеного набору зображень. NeRF здатні створювати складні 3D-сцени на основі набору даних 2D-зображень.
Давайте спробуємо зрозуміти, як працює NeRF.
Модель спрямована на створення безперервної об’ємної функції сцени, оптимізованої на основі наданого набору даних 2D-зображень.
Якщо модель створює функцію, що таке вхід і вихід?
Функція сцени приймає 3D-місцезнаходження та 2D-напрямок перегляду як вхідні дані. Потім функція виводить колір (у формі RGB) і певну щільність об’єму.
Щоб створити 2D-зображення з певної точки зору, модель створить набір 3D-точок і запустить ці точки через функцію сцени, щоб повернути набір значень щільності кольору та об’єму. Методи об’ємної візуалізації потім перетворюватимуть ці значення у вихідне двовимірне зображення.
Використання моделей NeRF і 2D Diffusion разом
Тепер, коли ми знаємо, як працює NeRF, давайте подивимося, як ця модель може створювати точні 3D-моделі з наших згенерованих зображень.
Для кожного наданого текстового підказки DreamFusion тренує випадково ініціалізований NeRF з нуля. Кожна ітерація вибирає випадкову позицію камери в наборі сферичних координат. Подумайте про модель, укладену в скляну сферу. Кожного разу, коли ми створюємо нове зображення нашої 3D-моделі, ми будемо вибирати випадкову точку в нашій сфері як точку огляду нашого результату. DreamFusion також вибере випадкове положення світла l використовувати для візуалізації.
Коли у нас буде камера та положення світла, буде відрендерено модель NeRF. DreamFusion також буде випадковим чином вибирати між кольоровим рендером, безтекстурним рендером і рендерингом альбедо без затінення.
Раніше ми згадували, що ми хочемо, щоб наша модель перетворення тексту в зображення (Imagen) створювала достатньо зображень для створення репрезентативної вибірки.
Як Dreamfusion досягає цього?
Dreamfusion просто дещо змінює підказку введення, щоб досягти запланованих кутів. Наприклад, ми можемо досягти високих кутів підйому, додавши до підказки «вид зверху». Ми можемо генерувати інші ракурси, додаючи такі фрази, як «вид спереду», «вид збоку» та «вид ззаду».
Сцени повторно рендеряться з випадкових позицій камери. Ці візуалізації потім проходять через функцію втрат на дистиляцію. Простий підхід градієнтного спуску повільно покращить Модель 3D поки він не збігається зі сценою, описаною в тексті.
Після того, як ми відрендерили 3D-модель за допомогою NeRF, ми можемо використовувати Алгоритм Marching Cubes щоб вивести 3D-сітку нашої моделі. Цю сітку потім можна імпортувати в популярні 3D-рендерери або програмне забезпечення для моделювання.
Недоліки
Хоча результат DreamFusion досить вражаючий, оскільки він використовує існуючі моделі розповсюдження тексту в зображення в новий спосіб, дослідники відзначили кілька обмежень.
Було виявлено, що функція втрати SDS дає перенасичені та надмірно згладжені результати. Ви можете спостерігати це за неприродним забарвленням і відсутністю точних деталей на виходах.
Алгоритм DreamFusion також обмежений роздільною здатністю вихідної моделі Imagen, яка становить 64 x 64 пікселів. Це призводить до того, що в синтезованих моделях відсутні дрібніші деталі.
Нарешті, дослідники відзначили, що синтезувати 3D-моделі з 2D-даних є невід’ємною проблемою. Існує багато можливих 3D-моделей, які ми можемо створити з набору 2D-зображень, що робить оптимізацію досить складною та навіть неоднозначною.
Висновок
3D-візуалізація DreamFusion працює так добре завдяки здатності моделей дифузії тексту до зображення створювати будь-які об’єкти чи сцени. Вражає, як нейронна мережа може зрозуміти сцену в 3D-просторі без будь-яких навчальних даних 3D. Рекомендую прочитати весь папір щоб дізнатися більше про технічні деталі алгоритму DreamFusion.
Сподіваємось, ця технологія вдосконалиться, щоб з часом створювати фотореалістичні 3D-моделі. Уявіть собі цілі відеоігри чи симуляції, у яких використовуються середовища, створені ШІ. Це може знизити бар’єр доступу для розробників відеоігор до створення захоплюючих 3D-світів!
Яку роль, на вашу думку, відіграватимуть моделі перетворення тексту в 3D у майбутньому?
залишити коментар