3D‑реконструкция: MVS/NeRF/SLAM на GPU

Задача страницы. Дать практический план построения 3D‑реконструкции на облачных GPU: классический MVS (multi‑view stereo) из фотографий/видео, нейронные представления NeRF/GS (Neural Fields/Gaussian Splatting) и SLAM (онлайн‑картография и локализация). Разберём требования к VRAM/диску/сети, пайплайны, наблюдаемость и экономику, а также дадим готовые шаблоны запусков.

TL;DR

Сценарии применения

  • Реверс‑инжиниринг/инвентаризация: сетки объектов/помещений из фотосъёмки/видео.
  • VFX/игры/DCC: нейронные сцены для превью и гибридные пайплайны (NeRF→mesh bake).
  • Робототехника/AR: SLAM‑карты, локализация, Trajectory/Loop‑closure.
  • Гео/строительство: MVS‑облака/меши с высокой точностью, экспорт в CAD/ГИС.

Пайплайн MVS (фото/видео → сетка/текстуры)

Кадры/фото → (калибровка/экстракция фич) → сопоставление пар → SfM (позы/спарс‑облако)

→ Dense MVS (карты глубины) → фьюжн плотной точки → мешинг → ремеш/чистка

→ текстурирование → экспорт (OBJ/GLB/PLY) → отчёт (ошибки/покрытие)

Ключевые советы

  • Стабильный фокус/экспозиция, достаточный parallax и разнообразие ракурсов.
  • Для видео сначала семплируйте кадры (шаг 2–6 кадров), убирайте motion blur.
  • На больших сценах — тайлинг MVS и раздельное текстурирование, затем сшивка UV.
  • Экспорт ассетов для DCC/рендера — см. также: https://cloudcompute.ru/solutions/rendering/ и https://cloudcompute.ru/solutions/rendering/asset-pipelines/

NeRF / Gaussian Splatting (обучение и рендер) Зачем: реалистичный view synthesis и компактные сцены, быстрая доставка; удобны для интерактивных превью, туров и гибридных пайплайнов (смешиваем нейронную геометрию и классические ассеты).

Базовый контур

Позиционированные кадры (позы + intrinsics)

→ обучение поля (NeRF/GS) с валидацией

→ (опц.) извлечение меша/поверхности, bake текстур/нормалей

→ рендер: скрипты кадров/камер, интерактивное демо

Практика

  • Используйте fp16/bf16, смешанную точность, подбор шага и occupancy/grid для ускорения.
  • Храните позы/интринсики в едином формате; для видео — стабилизируйте кадры.
  • Для прод‑рендера — offscreen‑рендер с батчем камер; для демо — on‑demand узел с лимитами.
  • Нейронные сцены в проде часто сочетают с классическим рендером: см. https://cloudcompute.ru/solutions/rendering/hybrid-ai/

SLAM на GPU (онлайн‑картография/локализация)

Поток кадров → препроц/фичи → трекинг позы → локальная карта (keyframes)

→ детекция замыканий (loop closure) → глобальная оптимизация → экспорт/сервис поз

SLA для онлайна

  • p95 latency трекинга позы: < 20–40 мс (моно/стерео/видео).
  • Стабильный ingest (см. RTSP/видео: https://cloudcompute.ru/solutions/computer-vision/video-analytics/), ring‑буферы и drop‑политика при перегрузе.
  • Экспорт локализации/карты во внешний сервис (например, для планирования траектории).

Ресурсы: VRAM, NVMe и пропускная способность

MVS (сотни/тысячи кадров):

  • VRAM: 24–48 ГБ для плотных карт глубины 2–8 Мп, батч 2–4 проекции.
  • NVMe: 200–800 ГБ под дескрипторы/карты/временные меши.
  • CPU/RAM: многоядерный препроц/сопоставление пар, 32–128 ГБ ОЗУ.

NeRF/GS (1–5 тыс. кадров 1–2 Мп):

  • VRAM: 24–80 ГБ в зависимости от сетки/батча и таргет‑разрешения рендера.
  • NVMe: 20–200 ГБ под датасет/кэши; при bake — +50–150 ГБ.

SLAM (онлайн):

  • VRAM: 8–24 ГБ; важно удерживать p95 latency и кэш фич/карт.
  • NVMe: 10–50 ГБ для буферов/локальных карт и логов.

Подробнее о дисках/кэше — https://cloudcompute.ru/solutions/storage-data/ Профили GPU и режимы

**Профиль** **MVS (облака/меши)** **NeRF/GS (обучение/рендер)** **SLAM (онлайн)** **Режим**
**24 ГБ (Compact)** Средние сцены, 1–4 Мп Предпросмотр/небольшие сцены Моно/стерео‑SLAM On‑demand (SLAM), interruptible (batch)
**48 ГБ (Balanced)** Плотные карты/тайлы Полновесное обучение/рендер +обогащение фич Смешанный
**80 ГБ (HQ)** Большие сцены/высокое качество Крупные датасеты/высокий FPS рендера Реже нужно Batch, иногда on‑demand для демо

Планирование стоимости — https://cloudcompute.ru/solutions/cost-planner/ • Прерываемые пулы — https://cloudcompute.ru/solutions/interruptible-patterns/

Подготовка данных и калибровка

  • Кадры/фото: равномерный parallax, избегать motion blur; извлеките кадры из видео с шагом 2–6.
  • Калибровка: фиксируйте intrinsics (f, cx, cy, дисторсия), сохраняйте в единый JSON.
  • Очистка: удаляйте кадры с бликами/сильной экспозицией; для MVS держите «средний» шаг по базису.
  • Mета: единый world‑scale, система координат, маски ROI (см. https://cloudcompute.ru/solutions/computer-vision/sam/).

Конфиги пайплайнов (MVS / NeRF / SLAM)

A) MVS (батч, interruptible)

pipeline: mvs-recon
input:
 frames: s3://scenes/siteA/cam1/frames/
 stride: 3
sfm:
 features: sift_gpu
 match: exhaustive
 out: s3://scenes/siteA/sfm/
mvs:
 tile: 2048
 overlap: 64
 depth_max: 40m
 batch_projections: 3
mesh:
 densify: true
 clean: true
 remesh_target_faces: 3e6
texture:
 resolution: 8k
 charts: lscm
export:
 formats: [obj, glb]
runtime:
 mode: batch
 chunk_seconds: 120
 retries: 3
 nvme_cache: true

B) NeRF/GS (обучение + рендер)

pipeline: nerf-train-render
data:
 frames: s3://scenes/siteA/posed/
 aabb_scale: 2.0
train:
 precision: fp16
 iters: 20000
 occupancy_grid: true
 batch_rays: 32768
render:
 cameras: s3://scenes/siteA/cams_path.json
 width: 1920
 height: 1080
 fps: 24
 out: s3://renders/siteA/nerf/
runtime:
 mode: batch
 chunk_seconds: 90
 nvme_cache: true

C) SLAM (онлайн)

pipeline: slam-realtime
video:
 input: rtsp://rig/cam_front
 decode: gpu
preprocess:
 size: 1280x736
slam:
 type: vslam_mono
 loop_closure: true
 keyframe_interval: 15
 max_features: 2000
export:
 pose_stream: bus://robot/pose
 map_out: s3://maps/siteA/
sla:
 p95_pose_ms: 30
 drop_policy: every_n

Наблюдаемость, логи и контроль качества

Сбор/дашборды — https://cloudcompute.ru/solutions/monitoring-logging/ и https://cloudcompute.ru/solutions/llm-inference/observability/

MVS/NeRF

  • Технические: VRAM пик, GPU util/HBM, I/O NVMe, p50/p95 t_step, cache‑hit.
  • Качество: PSNR/SSIM (рендеры), плотность точки, дыры/самопересечения, текстур‑seams.
  • Отчёты: покрытие сцен, распределение углов/базиса, процент отфильтрованных кадров.

SLAM

  • p50/p95 latency позы, дрейф/loop‑ошибка, частота relocalization, drop‑rate кадров.
  • Алерты: рост p95, падение покрытия, скачки карты/дубликаты ключевых кадров.

Экономика и расчёты

Пусть T — среднее время шага/итерации, S — число шагов, α_io — доля I/O накладных, c_gpu — цена GPU/час.

Batch (MVS/NeRF):

Time_total ≈ S × T × (1 + α_io)

Cost_total ≈ (Time_total / 3600) × c_gpu × Num_GPU

Cost_per_scene ≈ Cost_total / Num_scenes

Онлайн (SLAM):

GPU_needed ≈ (fps × t_pose_ms / 1000) / U

Cost_per_hour ≈ GPU_needed × c_gpuU — целевая загрузка GPU (напр., 0.7). Подбор профилей и сравнение on‑demand/interruptible — https://cloudcompute.ru/solutions/cost-planner/https://cloudcompute.ru/solutions/interruptible-patterns/

Операция и безопасность

  • Изоляция окружений (версии CUDA/библиотек), репродюсируемые контейнеры.
  • Лимиты: max_resolution, max_iters, max_depth/clip, max_vram_usage.
  • Данные: ПИИ/коммерческая тайна — маскирование/шифрование, контроль ретеншна/региональности.

Подробнее — https://cloudcompute.ru/solutions/security/ и https://cloudcompute.ru/solutions/llm-inference/guardrails/

Траблшутинг

**Симптом** **Причина** **Что сделать**
«Рваная» геометрия MVS Недостаток пар/parallax Увеличить перекрытие кадров, уменьшить stride, улучшить калибровку
Дыры/швы в текстурах Жёсткие тайлы/нестыковка UV Увеличить overlap, запустить seam‑fix, ремеш + перетекстурить
Мылит рендер NeRF Недостаточно итераций/батч Увеличить iters/batch\_rays, улучшить позы/нормировку
Нестабильная поза SLAM Motion blur/мало фич Повысить fps/штору, увеличить max\_features, стабилизировать экспозицию
OOM на NeRF/MVS Большие батчи/тайлы Уменьшить batch/tile, включить тайлинг/градиентное освобождение
Медленные батчи Холодные веса/диск NVMe‑кэш, прогрев, шардирование, параллельный препроц

Как запускать в cloudcompute.ru

Шаблоны — https://cloudcompute.ru/solutions/templates/

  • “MVS‑Reconstruction (Batch)” — SfM → Dense MVS → Mesh → Texture, тайлы/overlap, NVMe‑кэш, отчёты.
  • “NeRF/GS‑Train‑Render” — обучение/рендер, расписание батчей, bake/экспорт ассетов, мониторинг.
  • “SLAM‑Realtime” — ingest RTSP, p95‑контроль, карта/позиционирование, экспорт позы.

Инфраструктура: тюнинг — https://cloudcompute.ru/solutions/performance-tuning/ • хранение — https://cloudcompute.ru/solutions/storage-data/ • наблюдаемость — https://cloudcompute.ru/solutions/monitoring-logging/ • сервинг/ансамбли — https://cloudcompute.ru/solutions/triton-inference-server/ • CI/CD — https://cloudcompute.ru/solutions/containers-ci-cd/

Чек‑лист перед продом

  • Определён режим: MVS/NeRF (batch) или SLAM (онлайн) и SLA (p95/time/качество).
  • Подобраны профили VRAM/NVMe и тайлы/батчи; подтверждены цифры на вашем датасете.
  • Зафиксированы версии весов/инструментов; конфиги в репозитории.
  • Метрики/алерты/трейсинг подключены; отчёты качества (PSNR/SSIM, покрытие, loop‑ошибка).
  • Рассчитаны Cost_total / Cost_per_scene или Cost_per_hour (SLAM).
  • Настроены политики доступа/ретеншна и лимиты параметров

Навигация по разделу «Компьютерное зрение»

Хаб: https://cloudcompute.ru/solutions/computer-vision/ • Видео‑аналитика: https://cloudcompute.ru/solutions/computer-vision/video-analytics/ • Детекция: https://cloudcompute.ru/solutions/computer-vision/yolo/ • Интерактивная сегментация: https://cloudcompute.ru/solutions/computer-vision/sam/ • Эмбеддинги/поиск: https://cloudcompute.ru/solutions/computer-vision/dinov2/ • OCR: https://cloudcompute.ru/solutions/computer-vision/ocr/ • Трекинг/ReID: https://cloudcompute.ru/solutions/computer-vision/tracking/ • Гео/SAR: https://cloudcompute.ru/solutions/computer-vision/geospatial/ • Экспорт на edge: https://cloudcompute.ru/solutions/computer-vision/edge-export/ • Текст→3D: https://cloudcompute.ru/solutions/image-video-gen/text-to-3d/ • Инфраструктура: https://cloudcompute.ru/solutions/performance-tuning/https://cloudcompute.ru/solutions/storage-data/https://cloudcompute.ru/solutions/interruptible-patterns/https://cloudcompute.ru/solutions/throughput-vs-latency/https://cloudcompute.ru/solutions/cost-planner/https://cloudcompute.ru/solutions/monitoring-logging/https://cloudcompute.ru/solutions/llm-inference/observability/ • Сервинг: https://cloudcompute.ru/solutions/triton-inference-server/ • CI/CD: https://cloudcompute.ru/solutions/containers-ci-cd/

Готовы запустить?

Запустить GPU-сервер