AR/VR
3D Reconstruction для XR
Архитекторы платят тысячи долларов за профессиональные 3D-сканеры, которые занимают час работы и производят модели здания. В 2024 году iPhone с LiDAR делает то же самое за 2 минуты в кармане. А нейросетевые методы добавляют фотореалистичные текстуры без специального оборудования. 3D реконструкция перестала быть прерогативой индустрии.
- **Luma AI + Vision Pro:** снять квартиру на iPhone, получить 3D Gaussian Splatting модель, показать покупателям в VR - уже доступно
- **Apple Measure:** LiDAR в iPhone мгновенно размещает виртуальную рулетку на реальных поверхностях с точностью до 1 см
- **Хирургическое планирование:** МРТ-данные + neural reconstruction строят интерактивную 3D-модель органа для Vision Pro перед операцией
Depth Sensing: как устройство измеряет расстояния
Смартфон лежит на столе. Пользователь открывает приложение и ставит виртуальный стакан воды на этот стол - стакан не провалился сквозь поверхность, не завис в воздухе. Устройство знает, где стол. Это результат **depth sensing** - измерения расстояния до каждой точки в поле зрения.
Существуют три основных подхода к измерению глубины, и каждый имеет принципиально разную физику:
На практике устройства комбинируют методы. iPhone использует LiDAR для грубой оценки глубины (быстро, энергоэффективно) и stereo vision для уточнения деталей. Vision Pro с шестью камерами строит depth map с разных ракурсов одновременно, что позволяет устранять окклюзии - зоны, которые одна камера не видит, но видит другая.
**Confidence map:** ARKit возвращает depth frame не как просто матрицу расстояний, но и матрицу уверенности (.low, .medium, .high) для каждого пикселя. Пиксели с низкой уверенностью (блестящие поверхности, прозрачные объекты) нужно обрабатывать отдельно.
LiDAR отлично работает в темноте, а structured light деградирует на ярком солнечном свете. Почему?
Mesh Reconstruction: от точек к поверхности
Depth sensor даёт **облако точек** (point cloud) - миллионы трёхмерных координат без связей между ними. Это как знать положение каждого атома в скульптуре, но не знать, из чего она сделана. **Mesh reconstruction** - алгоритм, который строит поверхность (треугольную сетку) из этого облака точек.
ARKit предоставляет **SceneReconstructionProvider** (visionOS) и **ARMeshAnchor** (iOS), которые дают готовый меш комнаты без необходимости реализовывать алгоритм вручную. Меш обновляется по мере движения пользователя и добавления новых данных от сенсоров.
**Почему меш нужен для XR:** только имея меш, можно корректно обрабатывать **окклюзию** - виртуальный объект за реальным диваном должен быть скрыт диваном. Без меша AR-объекты всегда рисуются поверх всей реальной сцены.
Виртуальный шар катится за реальный стул в AR-приложении. Какая технология обеспечивает правильное скрытие шара за стулом?
LiDAR: лазерный сканер в кармане
В 2003 году марсоход Spirit использовал LiDAR для навигации по поверхности Марса. Оборудование весило несколько килограммов. В 2020 году Apple поставила LiDAR в iPad Pro и iPhone 12 Pro - компонент размером с монету в кармане. Это изменило AR на мобильных устройствах принципиально.
Мобильный LiDAR Apple - это **SPAD-сенсор** (Single-Photon Avalanche Diode) с инфракрасным лазером. Он испускает лазерные импульсы и измеряет время возврата отражённых фотонов. За одну секунду - до 2.5 миллиона точек измерений, глубина от 0.5 см до 5 метров.
Ограничение LiDAR: **зеркальные и прозрачные поверхности**. Зеркало отражает луч в сторону, прозрачное стекло пропускает его насквозь - в обоих случаях сенсор не получает корректного отражения. Это фундаментальная физическая проблема, не решаемая программно без дополнительных сенсоров.
ARKit с LiDAR строит меш комнаты мгновенно. Однако стеклянный стол в меше появляется как «дыра». Почему?
Neural 3D Reconstruction: нейросети строят мир
NeRF (Neural Radiance Fields) появился в 2020 году и произвёл переворот: несколько десятков фотографий объекта с разных углов - и нейросеть синтезирует полноценную 3D-сцену, включая освещение и материалы. Без LiDAR. Без специальных камер. Просто обычные фотографии.
Оригинальный NeRF обучался часами и рендерился секундами. Для XR это неприемлемо. **3D Gaussian Splatting** (2023) - следующий шаг: вместо нейросети сцена представляется как набор трёхмерных гауссиан, которые рендерятся rasterization, а не ray marching. Скорость: реальное время (60+ FPS) при качестве сопоставимом с NeRF.
Практический workflow для XR уже существует: приложение **Luma AI** на iPhone снимает сцену видео, загружает на сервер, получает 3D Gaussian Splatting модель и показывает её в Vision Pro. Весь процесс - около 20 минут. Это первый пример нейросетевой 3D реконструкции в массовом потребительском продукте.
**Ограничение всех Neural 3D методов:** динамические объекты (люди, машины) плохо реконструируются - нейросеть оптимизируется на статичную сцену. Dynamic NeRF и D-3DGS решают это частично, но требуют значительно больше вычислений.
Neural 3D Reconstruction заменит LiDAR в XR устройствах
Они решают разные задачи. LiDAR даёт точную геометрию в реальном времени для трекинга и физики. Neural 3D строит фотореалистичные модели за минуты, но не подходит для real-time сенсорного трекинга
LiDAR работает на 30+ FPS с задержкой миллисекунды. NeRF/3DGS требуют нескольких минут обучения на отснятую сцену. Для XR нужны оба: LiDAR для трекинга пространства, Neural 3D для создания контента
NeRF обучается часами и рендерится за секунды. 3D Gaussian Splatting рендерится в реальном времени. Что принципиально изменилось в подходе к представлению сцены?
3D Reconstruction для XR
- Depth sensing: ToF/LiDAR измеряет расстояния по времени отражения, structured light - по деформации паттерна, stereo - по диспаратности
- Mesh reconstruction строит треугольную сетку из point cloud; ARKit даёт готовый меш с классификацией поверхностей
- Меш необходим для окклюзии - виртуальные объекты корректно скрываются за реальными
- LiDAR (iPhone 12+) ускоряет AR-инициализацию до ~0.2 с и работает в темноте; не работает на стекле и зеркалах
- NeRF и 3D Gaussian Splatting строят фотореалистичные 3D-модели из обычных фото; 3DGS рендерится в реальном времени
Связанные темы
3D Reconstruction - фундамент для трекинга и рендеринга в XR:
- ARKit: трекинг и якоря — ARKit использует depth sensing для world tracking и plane detection
- Spatial Computing: Vision Pro — visionOS строит Shared Space на основе mesh reconstruction комнаты
- Рендеринг в XR — Меш реальной сцены используется для окклюзии и освещения AR-объектов
Вопросы для размышления
- LiDAR не работает на прозрачных поверхностях. Какие стратегии можно применить для обнаружения стеклянных объектов в AR?
- 3DGS строит статичную сцену. Что нужно изменить в архитектуре для поддержки динамических объектов (людей, машин) в реальном времени?
- Если Neural 3D Reconstruction требует облачных вычислений, а LiDAR работает on-device - как это влияет на приватность пользователей?