Visual Perception Engine: Fast and Flexible Multi-Head Inference for Robotic Vision Tasks
2508.11584v2
cs.RO, cs.AI, cs.CV, cs.LG
2025-08-19
Авторы:
Jakub Łucki, Jonathan Becktor, Georgios Georgakis, Rob Royce, Shehryar Khattak
Резюме на русском
## Контекст
Одной из основных задач вробототехники является построение эффективных систем визуального восприятия, которые могут обрабатывать несколько задач одновременно, такие как детекция объектов, сегментация сцены и вычисление глубины, с минимальными затратами ресурсов и максимальной производительностью. Несмотря на то, что задачи визуального восприятия вробототехнике широко исследованы, существуют проблемы, связанные с высоким потреблением ресурсов, медленной скоростью выполнения и сложностью интеграции множества моделей. Эти проблемы ограничивают производительность систем визуального восприятия, особенно на устройствах с ограниченными ресурсами, таких как навигационные роботы и смарт-модели. В этом контексте возникает потребность в модульных и эффективных фреймворках, которые могут обеспечить высокую производительность, эффективное использование ресурсов и максимальную гибкость поддержки разных задач.
## Метод
Visual Perception Engine (VPEngine) представляет собой модульную архитектуру, ориентированную на эффективное использование GPU для визуальных многозадачных задач. Фреймворк использует глубокую нейронную сеть в качестве фондовой модели (foundation model) с общим компонентом извлечения признаков, который выделяет общие признаки изображения. Эти признаки делятся между несколькими специализированными моделями-задачами (такими как детекция, сегментация и глубина), которые работают параллельно, без необходимости повторного вычисления признаков. Таким образом, VPEngine устраняет ненужные передачи данных между GPU и CPU. Благодаря CUDA Multi-Process Service (MPS), VPEngine обеспечивает оптимальное использование GPU и постоянный фиксированный объем памяти. Фреймворк легко интегрируется с ROS2 и предоставляет связи на языке C++ для удобства использования в различных робототехнических приложениях.
## Результаты
Запуск нашего фреймворка показал важное ускорение скорости выполнения визуальных задач. Для примера с DINOv2 в качестве фондовой модели и задачами детекции, сегментации и глубины, VPEngine демонстрирует высокую эффективность, достигая до 3 раз ускорения по сравнению с последовательным выполнением моделей. Это достигается благодаря оптимальной разделяемой архитектуре и распараллеливанию задач. Мы также демонстрируем возможность реального времени с выполнением на уровне $\geq$ 50 герц на NVIDIA Jetson Orin AGX, когда используются оптимизированные TensorRT-модели. Эти результаты доказывают, что VPEngine может обеспечить высокую производительность и гибкость в реальных условиях.
## Значимость
VPEngine может применяться в различных робототехнических приложениях, таких как автономная навигация, смар
Abstract
Deploying multiple machine learning models on resource-constrained robotic
platforms for different perception tasks often results in redundant
computations, large memory footprints, and complex integration challenges. In
response, this work presents Visual Perception Engine (VPEngine), a modular
framework designed to enable efficient GPU usage for visual multitasking while
maintaining extensibility and developer accessibility. Our framework
architecture leverages a shared foundation model backbone that extracts image
representations, which are efficiently shared, without any unnecessary GPU-CPU
memory transfers, across multiple specialized task-specific model heads running
in parallel. This design eliminates the computational redundancy inherent in
feature extraction component when deploying traditional sequential models while
enabling dynamic task prioritization based on application demands. We
demonstrate our framework's capabilities through an example implementation
using DINOv2 as the foundation model with multiple task (depth, object
detection and semantic segmentation) heads, achieving up to 3x speedup compared
to sequential execution. Building on CUDA Multi-Process Service (MPS), VPEngine
offers efficient GPU utilization and maintains a constant memory footprint
while allowing per-task inference frequencies to be adjusted dynamically during
runtime. The framework is written in Python and is open source with ROS2 C++
(Humble) bindings for ease of use by the robotics community across diverse
robotic platforms. Our example implementation demonstrates end-to-end real-time
performance at $\geq$50 Hz on NVIDIA Jetson Orin AGX for TensorRT optimized
models.