Революция в кармане: локальное обучение 3DGS
Проект OpenSplat Android стал первым в мире решением, позволяющим запускать полный цикл обучения 3D Gaussian Splatting (3DGS) непосредственно на мобильных устройствах. Ранее эта технология требовала мощных десктопных GPU и сложных терминальных настроек. Теперь же процесс от захвата камеры до готовой 3D-сцены происходит локально, без необходимости подключения к интернету или облачным серверам.
Технологический стек и архитектура
Инженеры достигли этой цели благодаря глубокой оптимизации под мобильное железо. Ключевым компонентом является движок Brush (форк с поддержкой Android AAR), который использует Vulkan для вычислений на GPU. Для компьютерного зрения применяются Google LiteRT (нейросеть XFeat для поиска признаков) и Ceres Solver для bundle adjustment. Графический рендеринг и AR-возможности построены на базе Google Filament и ARCore.
Гибридный пайплайн: от телефона к десктопу
Система предлагает два режима работы, что критически важно для баланса между производительностью и качеством:
- On-Device (Локально): Полное обучение на телефоне. Идеально для быстрых прототипов и устройств с хорошей автономностью.
- LAN Desktop Offload: Стриминг видео или датасетов на собственный десктопный сервер по локальной Wi-Fi сети. Это позволяет использовать мощь серверных GPU для тяжелых вычислений, сохраняя удобство мобильного интерфейса.
Совместимость и требования
Проект полностью готов к публикации в Google Play, так как поддерживает выравнивание сегментов ELF 16 КБ, требуемое с Android 15. Разработка ведется на Kotlin 2.x с использованием Jetpack Compose (Material 3 Expressive). Для сборки требуется Android Studio Ladybug+, SDK 36 (minSdk 31) и JDK 21.
| Компонент | Технология / Библиотека | Назначение |
|---|---|---|
| UI/UX | Kotlin 2.x, Jetpack Compose | Интерфейс приложения (Material 3) |
| 3D Рендеринг | Google Filament | PBR-графика и визуализация сцен |
| Google ARCore | 6DoF-трекинг, пространственные якоря | |
| CV & SfM | Google LiteRT (XFeat), Ceres Solver | Нейросетевой поиск признаков и оптимизация позы |
| Обучение 3DGS | Brush Engine (Rust + Vulkan) | Backpropagation и растеризация на GPU телефона |
| Сетевой клиент | OkHttp 4 | REST API для отгрузки данных на десктоп |
Статус разработки
На данный момент проект находится в стадии активной разработки (Work In Progress). Полноценный интерактивный рендеринг моделей формата .ply и .splat в режиме AR пока не реализован в текущей сборке, но запланирован в ближайших обновлениях. Исходный код доступен под лицензией Apache 2.0.
Источник: Github ↗
