Інтерактивна 3D-реконструкція Gaussian Splatting: розробка під ключ

Інтерактивна 3D-реконструкція Gaussian Splatting: розробка під ключ

Напрямки AI-розробки

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1441
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1301
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    998
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1267
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    713
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    1006

Інтерактивна 3D-реконструкція Gaussian Splatting: розробка під ключ

Уявіть: ви фотографуєте об'єкт з 40 ракурсів, а за годину отримуєте інтерактивну 3D-сцену з рендерингом 120 FPS — у браузері. Це не магія, а 3D Gaussian Splatting (3DGS). Метод, запропонований групою Kerbl et al., поєднує якість NeRF з продуктивністю, недосяжною для класичного ray marching. Ми будуємо такі системи під ключ: від налаштування pipeline до WebGL-плеєра.

За 5 років ми реалізували 20+ проєктів з 3D-реконструкції, гарантуємо PSNR не нижче 28 дБ. Економія бюджету до 30% за рахунок автоматизації pipeline.

Чому 3DGS швидший за NeRF?

3DGS використовує растеризацію гаусіан замість ray marching. Кожна гаусіана — це 3D-еліпсоїд з параметрами (позиція, орієнтація, масштаб, колір, прозорість). Рендеринг зводиться до проекції цих еліпсоїдів на екран та альфа-композитингу. Це дає 100–200+ FPS на споживчому GPU, тоді як NeRF потребує перебору точок вздовж променів (5–30 FPS). При цьому якість за метрикою PSNR порівнянна: 27–32 дБ. Основна перевага — інтерактивний рендеринг без втрати якості. Згідно з 3D Gaussian Splatting for Real-Time Radiance Field Rendering, це перший метод, що поєднує швидкість растеризації з якістю нейронного рендерингу.

Параметр 3D Gaussian Splatting NeRF (Instant-NGP)
Швидкість рендерингу 100–200+ FPS 5–30 FPS
Якість (PSNR) 27–32 dB 26–31 dB
Час навчання 30–60 хв 15–30 хв
Розмір моделі 500MB–2GB 50–500MB
Редагування сцени Простіше (гаусіани) Складніше
Прозорі об'єкти Гірше Гірше

Які проблеми вирішує 3DGS у реальних проєктах?

Основні проблеми, які ми вирішуємо за допомогою 3DGS: низька швидкість рендерингу NeRF (5–30 FPS проти 100–200 FPS), неможливість редагування сцени без перенавчання (у 3DGS гаусіани можна рухати та видаляти індивідуально) та великий розмір моделей (ми пакуємо сцену в 500 MB – 2 GB, що завантажується за секунди). Також 3DGS дозволяє вимірювати відстані та створювати digital twin прямо в браузері.

Які дані потрібні для якісної зйомки?

Для успішної реконструкції потрібно 40–120 фотографій з перекриттям не менше 80%. Використовуйте калібровану камеру (iPhone, DSLR), уникайте відблисків та рухомих об'єктів. Роздільна здатність — від 12 МП. При зйомці великих сцен (цех, фасад) розбийте об'єкт на зони з overlapping.

Як ми будуємо pipeline для 3D-реконструкції

Стек: PyTorch, gsplat (офіційна бібліотека), COLMAP для SfM, Hugging Face для кастомних модулів. Використовуємо NVIDIA RTX 4090 для навчання — 30–60 хвилин на сцену. Приклад pipeline:

# gaussian-splatting (офіційна реалізація + nerfstudio) from nerfstudio.configs.method_configs import method_configs # 3DGS через nerfstudio # ns-train splatfacto --data ./processed # Параметри оптимізації config = method_configs['splatfacto'] config.pipeline.model.num_downscales = 2 # прогресивне навчання config.pipeline.model.densify_grad_thresh = 0.0002 config.pipeline.model.densify_size_thresh = 0.01 config.max_num_iterations = 30000 

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

Приклад з практики: цифровий двійник цеху

З нашої практики: один із клієнтів звернувся із завданням реконструювати інтер'єр виробничого цеху для створення digital twin. Вихідні дані — 120 фотографій з iPhone, зйомка зайняла 20 хвилин. Навчання 3DGS на RTX 4090 — 45 хвилин. Підсумкова модель — 1.2 GB, рендеринг 150 FPS. Клієнт отримав можливість вимірювати відстані між об'єктами прямо в браузері через WebGL-плеєр. Після впровадження час інспекції обладнання скоротився на 40%.

Процес роботи: від зйомки до WebGL-плеєра

  1. Збір даних: налаштування камери, зйомка з перекриттям 80%.
  2. Структура з руху (SfM) через COLMAP для отримання розрідженої хмари точок та поз камер.
  3. Навчання 3DGS: підбір гіперпараметрів, оптимізація на GPU.
  4. Постобробка: видалення фону, обрізка меж, експорт у .ply.
  5. Інтеграція: WebGL-плеєр на three-gaussian-splats, завантаження в хмару.

Терміни та обсяг робіт

Задача Термін
Pipeline для object capture 3–4 тижні
WebGL viewer + хмарний сервіс 6–9 тижнів
4D/динамічні сцени 10–16 тижнів

Типові помилки при впровадженні 3DGS

Недостатня кількість фотографій (менше 30) веде до артефактів, погане калібрування камери знижує PSNR на 2–3 dB, а вибір гіперпараметрів без урахування сцени призводить до перенавчання. Ми враховуємо ці нюанси на етапі препроцесингу та налаштування pipeline. 3DGS — єдиний метод, що дає інтерактивний рендеринг без втрати якості.

Замовте пілотний проєкт — ми навчимо 3DGS на ваших даних за 2 дні. Отримайте консультацію щодо вибору обладнання та алгоритмів. Зв'яжіться з нами — оцінимо ваш проєкт за 2 робочі дні.