Исследователи из AMAP-ML (Alibaba Group), БЖТУ и других институтов представили RL3DEdit — новую архитектуру для редактирования 3D-сцен. В отличие от традиционных методов, требующих множества итераций, RL3DEdit работает в одном проходе (single-pass), применяя обучение с подкреплением (Reinforcement Learning) для обеспечения геометрической согласованности между видами. Ключевое нововведение заключается в использовании фундаментальной 3D-модели VGGT в качестве модели вознаграждения (reward model), которая оценивает и корректирует 2D-редактор, «привязывая» его к многовидовому многообразию.
Техническая реализация и архитектура
Основой системы выступает FLUX-Kontext-dev (от Black Forest Labs), который служит базовым 2D-редактором. Для решения проблемы несогласованности объектов при изменении ракурсов авторы внедрили алгоритм GRPO (Group Relative Policy Optimization). Процесс работает следующим образом:
- Генерация: Модель редактирует сцену, представленную в виде сетки 3×3 (9 видов).
- Верификация: VGGT анализирует геометрию и выступает в роли «судьи», предоставляя сигнал вознаграждения.
- Оптимизация: GRPO использует этот сигнал для мгновенной корректировки параметров генерации, обеспечивая 3D-консистентность без долгих циклов обратной связи.
Ключевые метрики и данные
Модель обучалась на ограниченном, но высококачественном наборе данных. Ниже приведены характеристики базовой версии RL3DEdit:
| Параметр | Значение |
|---|---|
| Базовая архитектура (Backbone) | FLUX-Kontext-dev |
| Модель вознаграждения (Reward Model) | VGGT (Geometry-Guided) |
| Алгоритм оптимизации | GRPO (Group Relative Policy Optimization) |
| Объем обучающих данных | 70 промптов, 1319 сэмплов |
| Формат ввода | Сетка 3×3 (9 видов) или папка с 9 изображениями |
| Язык инструкций | Английский, Китайский |
Практическое применение и запуск
Код и веса модели уже доступны на GitHub и Hugging Face. Для работы требуется Python 3.10 и доступ к Hugging Face (необходимо принять лицензию FLUX.1-Kontext-dev). Система поддерживает функцию instruction enhancement: при наличии OpenAI-compatible API (например, GPT-4o-mini) короткая инструкция автоматически переписывается для улучшения 3D-консистентности. Если API нет, используется детерминированный шаблон.
Пример запуска через Python API:
from rl3dedit import RL3DEditPipeline, enhance_instruction
pipe = RL3DEditPipeline.from_pretrained()
instr = enhance_instruction("remove the stone base beneath the bear statue")
grid = pipe.edit(Image.open("examples/example_grid_bear.jpg"), instr)
grid.save("output.jpg")
Релиз RL3DEdit открывает путь к более эффективному редактированию 3D-контента, устраняя необходимость в многоступенчатых пайплайнах и снижая вычислительные затраты за счет интеграции верификации прямо в процесс генерации.
Источник: Github ↗
