Главная/Блог/Аналитика/NVIDIA NuRec: Адаптация перцепции для…
Аналитика3 мин чтения · 1 сентября 2026 г.

NVIDIA NuRec: Адаптация перцепции для новых авто без сбора данных

Как использовать 3D-реконструкцию сцен и NVIDIA Harmonizer для генерации синтетических данных перцепции под новые платформы автомобилей без сбора реальных заездов.

NVIDIA NuRec: Адаптация перцепции для новых авто без сбора данных

Адаптация стека автономного вождения (AV) к новой платформе (carline) — от внедорожника к седану — требует учета изменений в геометрии кузова, калибровке сенсоров, полях обзора и окклюзиях. Сбор и разметка новых реальных датасетов для каждой модификации дороги и часто невозможны на ранних этапах разработки. NVIDIA Omniverse NuRec решает эту задачу, позволяя реконструировать реальные сцены вождения с помощью 3D Gaussian Splatting и рендерить их с точки зрения целевой конфигурации сенсоров.

01Архитектура решения: от реального заезда к синтетическому датасету

Процесс адаптации перцепции строится на четырех ключевых этапах. Сначала загружается реконструированная сцена из датасета Physical AI NuRec. Затем, используя файл конфигурации целевого сенсора (rig), выполняется рендеринг новых видов (novel-view synthesis). Полученные кадры очищаются и стабилизируются с помощью NVIDIA Harmonizer. Итоговый набор данных используется для дообучения или валидации модели перцепции.

Датасет NuRec содержит более 1500 нейронно-реконструированных сцен, каждая длительностью около 20 секунд. Исходные данные собирались с нескольких камер. Важно, что реконструкция сохраняет траектории, калибровки и динамические объекты, что позволяет точно переносить разметку на новые виды.

💡
Ключевое преимущество. Целевая камера не обязана совпадать с исходными сенсорами. Вы можете задать произвольное положение, ориентацию, разрешение и модель линзы (pinhole, fisheye, f-theta), если координаты выражены в той же системе отсчета rig.

02Шаг 1: Подготовка окружения и загрузка сцены

Для работы требуется доступ к Hugging Face и Docker. Датасет является gated, поэтому необходимо авторизоваться с помощью токена. Рекомендуется использовать фиксированную версию контейнера для воспроизводимости.

Сначала клонируйте репозиторий с навыками (skills) для автоматизации процесса:

terminalbash
git clone https://github.com/NVIDIA/nurec-skills.git

Затем авторизуйтесь в Hugging Face и скачайте конкретную сцену. В примере используется UUID сцены из релиза 26.04:

terminalpython
import os
from huggingface_hub import login, snapshot_download

login(token=os.getenv("HF_TOKEN"))

snapshot_download(
    repo_id="nvidia/PhysicalAI-Autonomous-Vehicles-NuRec",
    repo_type="dataset",
    allow_patterns="sample_set/26.04_release//*",
    local_dir="./nurec_scene"
)

03Шаг 2: Конфигурация целевого сенсора (Rig)

Файл rig (например, minimal-synthetic-target-rig.json) определяет параметры виртуальных камер. Каждая запись в секции sensors содержит имя камеры, разрешение, модель линзы, внутренние параметры (intrinsics) и трансформацию от камеры к rig (camera-to-rig pose).

Имя камеры преобразуется в логический ID. Например, camera:front:synthetic:120fov становится camera_front_synthetic_120fov. Для добавления новой камеры достаточно добавить новый entry с уникальным именем и параметрами.

Установите переменные окружения для путей к сцене, rig и выходной директории:

terminalbash
export SCENE_DIR=/absolute/path/to/scene
export SCENE_FILE=.usdz
export RIG_DIR=/absolute/path/to/rig
export RIG_FILE=minimal-synthetic-target-rig.json
export OUTPUT_DIR=/absolute/path/to/output
mkdir -p "$OUTPUT_DIR"

04Шаг 3: Рендеринг с помощью NuRec Container

NVIDIA рекомендует использовать фиксированный образ контейнера nre-ga для обеспечения стабильности. Сначала экспортируйте траекторию целевой камеры, затем выполните рендеринг.

Зафиксируйте версию образа и скачайте его:

terminalbash
export NUREC_IMAGE='nvcr.io/nvidia/nre/nre-ga:26.04.01@sha256:97f43e7130c5636ce3e80ea3184d97f56a87fdd989b05cce42230881dbdea284'
docker pull "$NUREC_IMAGE"

Экспорт траектории целевой камеры:

terminalbash
docker run --rm --gpus all --shm-size=64g \
  -v "$SCENE_DIR":/inputs/scene:ro \
  -v "$RIG_DIR":/inputs/rig:ro \
  -v "$OUTPUT_DIR":/outputs \
  "$NUREC_IMAGE" export-custom-rig-trajectory \
    --artifact-path="/inputs/scene/$SCENE_FILE" \
    --rig-json="/inputs/rig/$RIG_FILE" \
    --output=/outputs/custom_rig_trajectories.json

Валидационный рендеринг одной камеры (например, передней):

terminalbash
docker run --rm --gpus all --shm-size=64g \
  -v "$SCENE_DIR":/inputs/scene:ro \
  -v "$RIG_DIR":/inputs/rig:ro \
  -v "$OUTPUT_DIR":/outputs \
  "$NUREC_IMAGE" render \
    --trajectory-path=/outputs/custom_rig_trajectories.json \
    --camera-id=camera_front_synthetic_120fov \
    --output-dir=/outputs/frames
⚠️
Важно про VRAM и ресурсы. Для рендеринга требуется значительный объем видеопамяти и системной RAM. Убедитесь, что флаг --shm-size=64g установлен корректно, а GPU поддерживает необходимые вычислительные мощности для 3D Gaussian Splatting.

05Шаг 4: Постобработка с NVIDIA Harmonizer

Сырой рендеринг может содержать артефакты и временную нестабильность. NVIDIA Harmonizer используется для временной согласованности (temporal consistency) и улучшения качества кадров. Этот шаг критичен для обучения моделей перцепции, так как шумные данные могут привести к снижению точности детекции объектов.

06Кому подойдёт / что запустится

  • Разработчики AV-стеков: Для быстрой адаптации моделей перцепции к новым платформам (carlines) без сбора новых реальных данных.
  • Инженеры по данным: Для генерации синтетических данных с точной геометрией и калибровкой сенсоров.
  • Источник: NVIDIA Developer ↗