Гаусівське розбризкування () — група методів рендерингу, в яких окремі елементи тривимірного представлення проєктуються на площину зображення у вигляді гладких областей — сплатів (), внесок яких у сусідні пікселі зазвичай описується гаусовою функцією. Метод розбризкування (splatting) виник на початку 1990-х років як один із підходів до прямого об'ємного рендерингу.

У 2023 році Бернгард Кербл, Георгіос Копанас, Томас Леймкюлер і Джордж Дреттакіс запропонували метод 3D Gaussian Splatting (3DGS) для синтезу нових ракурсів фотореалістичних сцен. У ньому сцена подається сукупністю великої кількості анізотропних тривимірних гаусіан, для кожної з яких оптимізуються положення, форма, орієнтація, прозорість і залежний від напрямку колір. Гаусіани проєктуються у площину зображення та об'єднуються за допомогою диференційованої растеризації, що дає змогу одночасно оптимізувати представлення сцени за набором фотографій і виконувати її подальший рендеринг у реальному часі.

На відміну від нейронних полів випромінювання (NeRF), класичний 3DGS використовує явне представлення сцени набором окремих гаусіан, що спрощує швидкий рендеринг і безпосереднє редагування елементів представлення.

Принцип роботи

У 3D Gaussian Splatting статична сцена подається набором тривимірних гаусіан. Зазвичай початкові положення гаусіан отримують із розрідженої хмари точок, побудованої методом структури із руху за набором фотографій. Для кожної гаусіани зберігаються її положення, форма й орієнтація, прозорість та параметри кольору.

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

Під час рендерингу тривимірні гаусіани проєктуються на площину зображення у вигляді двовимірних еліптичних областей — сплатів. Вони сортуються з урахуванням відстані до камери та послідовно змішуються за прозорістю. Така растеризація дозволяє обробляти велику кількість гаусіан паралельно на графічному процесорі.

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

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

Переваги та обмеження

Однією з головних переваг 3D Gaussian Splatting є висока швидкість відтворення. На відміну від багатьох методів на основі NeRF, які для кожного променя багаторазово обчислюють значення неявного нейронного поля, 3DGS використовує явний набір просторових примітивів і растеризацію, добре придатну до паралельного виконання на графічному процесорі. У початковій роботі було продемонстровано відтворення сцен із роздільністю 1080p зі швидкістю понад 30 кадрів за секунду при якості, порівнянній із тогочасними методами нейронного рендерингу.

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

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

Базовий 3DGS оптимізований передусім для відтворення зображень із нових ракурсів, тому висока візуальна якість не обов'язково означає точне відновлення геометрії сцени. Тривимірні гаусіани є об'ємними примітивами й можуть узгоджуватися з навчальними зображеннями, не утворюючи єдиної точної поверхні. Це ускладнює отримання геометрично коректних карт глибини або полігональних моделей і стало однією з причин появи методів, що використовують поверхневі або двовимірні гаусіани.

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

Ще одним обмеженням базового алгоритму є залежність від масштабу відтворення. Зміна відстані до сцени, фокусної відстані або роздільності може спричиняти аліасинг, розмиття чи появу високочастотних артефактів. Причиною є відсутність у початковому 3DGS обмеження просторових частот відповідно до частоти дискретизації вхідних зображень. Для усунення цього ефекту було запропоновано, зокрема, попередню просторову фільтрацію гаусіан та mip-фільтрацію під час растеризації.

Відкриті проблеми

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

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

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

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

Програмне забезпечення та бібліотеки

Після публікації методу 3D Gaussian Splatting з'явилася низка програмних реалізацій і бібліотек для побудови, оптимізації, редагування та відтворення гаусових представлень сцен. Автори початкової роботи з INRIA опублікували еталонну реалізацію, що містить оптимізатор на основі PyTorch і CUDA, диференційований растеризатор, засоби підготовки даних структури із руху та інтерактивний переглядач на основі SIBR.

Окремою програмною бібліотекою для розробки методів гаусівського розбризкування стала gsplat. Вона надає інтерфейс Python, сумісний із PyTorch, та оптимізовані ядра CUDA для проєкції, сортування й диференційованої растеризації гаусіан. За результатами тестування її розробників, бібліотека може потребувати до чотирьох разів менше пам'яті та скорочувати час навчання порівняно з початковою реалізацією. Бібліотеку використовують як основу для низки дослідницьких реалізацій Gaussian Splatting.

Фреймворк Nerfstudio містить власну реалізацію 3D Gaussian Splatting під назвою Splatfacto, яка використовує gsplat як модуль растеризації. Nerfstudio підтримує побудову такого представлення з наборів зображень, зокрема з ініціалізацією гаусіан за точками, отриманими програмою COLMAP.

Підтримку 3D Gaussian Splatting також додано до універсальних засобів роботи з тривимірними даними. Бібліотека Open3D реалізує відтворення гаусових сцен у реальному часі через обчислювальний конвеєр графічного процесора та дозволяє спільно відтворювати гаусіани з традиційною полігональною геометрією.

Вебрушій PlayCanvas має вбудовану підтримку завантаження та відтворення 3D Gaussian Splatting, зокрема через WebGL і WebGPU. Пов'язаний із ним відкритий редактор SuperSplat призначений для перегляду, редагування, оптимізації та публікації гаусових сцен безпосередньо у веббраузері.

Див. також Об'ємний рендеринг Структура із руху Хмара точок Об'ємна відбудова Растеризація Моделювання та рендеринг на основі зображень

Примітки