Architectural strategies to enhance the latency and energy efficiency of mobile continuous visual localization systems
Authors:   , Taranco Serna Raúl 
Published: October 2024

(English) The emergence of new applications such as autonomous machines (e.g., robots or self-driving cars) and XR (Extended Reality) promises to revolutionize how society interacts with technology in the rapidly advancing digital era. These technologies, deployed on edge devices, often rely on mobile or embedded SoCs (Systems-on-a-Chip) operating CV (Continuous Vision) pipelines that periodically capture and analyze environmental light.
A typical CV SoC comprises two main components: a frontend for image capture and a backend for processing vision algorithms. The frontend usually includes an off-chip camera sensor and an ISP (Image Signal Processor), which processes the pixel stream, converting raw sensor data into high-quality images. The backend—comprising components such as the CPU, GPU, or specialized accelerators—analyzes the images stored in the main memory's framebuffer to extract perception insights and enable advanced decision-making.
Existing research identifies visual localization, object detection, and tracking as the primary bottlenecks in these emerging applications. Those algorithms face two principal challenges when deployed in mobile CV systems: latency and energy consumption. For example, an XR headset uses visual localization to track head motion for accurate frame rendering, where latency can cause discomfort. In self-driving cars, localization ensures centimeter-level precision, with delays compromising safety, especially at higher speeds. Additionally, high energy consumption limits the operation of battery-powered mobile systems.
This thesis embarks on a strategic journey to elevate mobile CV systems' performance and energy efficiency through several key contributions:
We begin by analyzing a state-of-the-art visual localization engine on a CPU. The localization engine processes camera images, extracting and tracking features to estimate camera pose. Our evaluations reveal feature extraction as the primary bottleneck, accounting for 60% to 90% of total localization latency.
Next, we investigate highly specialized hardware accelerator designs for image processing. The first contribution is LOCATOR (Low-power ORB Accelerator for Autonomous Cars), a hardware accelerator designed for ORB (Oriented FAST and Rotated BRIEF) feature extraction. LOCATOR processes image tiles with two parallel pipelines for feature detection and description, employing techniques like optimal static bank access patterns, caching mechanisms, and selective port replication. These optimizations yield a 16.8× speedup for ORB feature extraction, 1.9× end-to-end speedup, and 2.1× energy reduction per frame compared to a baseline mobile CPU.
Realizing the need for more programmable and versatile solutions, our second contribution, SLIDEX (Sliding Window Extension for Image Processing), introduces a domain-specific vector ISA extension for CPUs. SLIDEX exploits the sliding window processing model, interpreting vector registers as overlapping windows to maximize data-level parallelism. SLIDEX reduces data access and movement, enhancing tasks like 2D convolutions and stencil operations, resulting in a 1.2× speedup and up to 19% energy reduction.
The third contribution, δLTA (δon't Look Twice, It's Alright), decouples camera frame sampling from backend processing. δLTA allows the frontend to identify and skip redundant image regions, focusing processing only on significant changes. δLTA reduces unnecessary memory accesses and redundant computations, lowering localization tail and average latency by 7.2% and 15.2%, respectively, and energy consumption by 17%.
Finally, IRIS (Image Region ISP-Software Prioritization) repurposes computations performed by the frontend ISP, segmenting and prioritizing image regions based on detail and motion. IRIS allows the backend to process relevant regions first, reducing latency and energy consumption by up to 9% in tail latency, 20% in average latency, and 16% in energy savings without additional overhead.
(Català) L’aparició de noves aplicacions com màquines autònomes (per exemple, robots o cotxes autònoms) i RE (Realitat Estesa) promet revolucionar la interacció de la societat amb la tecnologia una era digital. Aquestes aplicacions, desplegades en dispositius edge, sovint depenen de SoCs mòbils que operen amb pipelines de VC (Visió Contínua) per capturar i analitzar la llum ambiental.
Un SoC típic de VC consta de dos components principals: un frontend per a la captura d’imatges i un backend per al processament dels algoritmes de visió. El frontend inclou un sensor d’imatges i un ISP (Image Signal Processor), que converteix les dades sense processar del sensor en imatges d’alta qualitat. El backend, que inclou components com la CPU, GPU o acceleradors, analitza les imatges emmagatzemades en un buffer de la memòria principal per permetre la presa de decisions.
Les investigacions actuals identifiquen la localització i la detecció i seguiment d’objectes com els principals colls d’ampolla en les aplicacions emergents de visió. Aquests algorismes s’enfronten a dos desafiaments en sistemes mòbils de VC: latència i consum d’energia. La latència pot causar marejos als usuaris d’un casc de RE que utilitzi la localització per estimar la posició del cap i renderitzar els frames. En els cotxes autònoms, la localització assegura una precisió de centímetres, de manera que un error o retard compromet greument la seguretat. A més, el consum d’energia limita l’operació dels sistemes alimentats per bateries.
Aquesta tesi emprèn un viatge estratègic per millorar el rendiment i l’eficiència energètica dels sistemes mòbils de VC a través de diverses contribucions clau:
Comencem analitzant un motor de localització visual d’avantguarda en una CPU. El motor de localització processa imatges de càmera, extraient i seguint característiques per estimar la posició de la càmera. Les nostres avaluacions revelen que l’extracció de característiques és el principal coll d’ampolla, representant del 60% al 90% de la latència total de localització.
Més tard, investiguem dissenys d’acceleradors hardware per a imatges. La primera contribució és LOCATOR, un accelerador dissenyat per a l’extracció de característiques ORB. LOCATOR processa les imatges amb dos pipelines paral·leles per a la detecció i descripció de característiques, emprant tècniques com patrons d’accés optimitzats, mecanismes de caché i replicació selectiva de ports. LOCATOR aconsegueix un speedup de 16.8× en l’extracció d’ORB, de 1.9× de punta a punta i una reducció del 2.1× en el consum d’energia respecte a una CPU mòbil.
Reconeixent la necessitat de solucions més programables, la nostra segona contribució, SLIDEX, introdueix una extensió vectorial per a CPUs enfocada a processament d’imatges. SLIDEX explota el dataflow sliding window, interpretant registres vectorials com grups d’elements superposades per maximitzar el paral·lelisme a nivell de dades. SLIDEX redueix l’accés i moviment de dades, millorant les convolucions i stencils, resultant en un speedup de 1.2× i una reducció del 19% en l’energia.
La tercera contribució, δLTA, desacobla el mostreig de frames de la càmera del processament del backend. δLTA permet al frontend identificar i ometre regions d’imatges redundants, enfocant el processament només en canvis significatius. δLTA redueix accessos innecessaris a la memòria i càlculs redundants, disminuint la latència de cua i la latència mitjana en un 7.2% i 15.2%, respectivament, i el consum d’energia en un 17%.
Finalment, IRIS reutilitza els càlculs realitzats pel ISP del frontend, segmentant i prioritzant regions de la imatge basades en el detall i el moviment. IRIS permet que el backend processi primer les regions rellevants, reduint la latència i el consum d’energia fins a un 9% en latència de cua, un 20% en latència mitjana i un 16% en estalvi d’energia sense costos addicionals.
(Español) La aparición de nuevas aplicaciones como máquinas autónomas (p. ej., robots o coches autónomos) y RE (Realidad Extendida) promete revolucionar la interacción de la sociedad con la tecnología en la era digital. Estas aplicaciones, desplegadas en dispositivos edge, a menudo dependen de SoCs móviles que operan pipelines de VC (Visión Continua) para capturar y analizar la luz ambiental.
Un SoC típico de VC consta de dos componentes principales: un frontend para la captura de imágenes y un backend para el procesamiento de los algoritmos de visión. El frontend incluye un sensor de imágenes y un ISP (Image Signal Processor), que convierte los datos sin procesar del sensor en imágenes de alta calidad. El backend, que incluye componentes como la CPU, GPU o aceleradores, analiza las imágenes almacenadas en un buffer de la memoria principal para permitir la toma de decisiones.
Las investigaciones actuales identifican la localización y la detección y seguimiento de objetos como los principales cuellos de botella en las aplicaciones emergentes de visión. Estos algoritmos enfrentan dos desafíos en sistemas móviles de VC: latencia y consumo de energía. La latencia puede causar mareos en los usuarios en un casco de RE que utilice la localización para estimar la posición de la cabeza para renderizar los frames. En los coches autónomos, la localización asegura una precisión de centímetros por lo que un error o retraso compromete gravemente la seguridad. Además, el consumo de energía limita la operación de los sistemas alimentados por baterías.
Esta tesis emprende un viaje estratégico para mejorar el rendimiento y la eficiencia energética de los sistemas móviles de VC a través de varias contribuciones clave:
Comenzamos analizando un motor de localización visual de vanguardia en una CPU. El motor de localización procesa imágenes de cámara, extrayendo y rastreando características para estimar la pose de la cámara. Nuestras evaluaciones revelan que la extracción de características es el principal cuello de botella, representando del 60% al 90% de la latencia total de localización.
Más tarde, investigamos diseños de aceleradores hardware para imágenes. La primera contribución es LOCATOR, un acelerador diseñado para la extracción de características ORB. LOCATOR procesa las imágenes con dos pipelines paralelas para la detección y descripción de características, empleando técnicas como patrones de acceso optimizados, mecanismos de caché y replicación selectiva de puertos. LOCATOR logra un speedup de 16.8× en la extracción de ORB, de 1.9× de extremo a extremo y una reducción del 2.1× en el consumo de energía respecto a una CPU móvil.
Reconociendo la necesidad de soluciones más programables, nuestra segunda contribución, SLIDEX, introduce una extensión vectorial para CPUs enfocada a procesamiento de imágenes. SLIDEX explota el dataflow de ventana deslizante, interpretando registros vectoriales como ventanas superpuestas para maximizar el paralelismo a nivel de datos. SLIDEX reduce el acceso y movimiento de datos, mejorando las convoluciones y stencils, resultando en un speedup de 1.2× y una reducción del 19% en la energía.
La tercera contribución, δLTA, desacopla el muestreo de frames de la cámara del procesamiento del backend. δLTA permite al frontend identificar y omitir regiones de imágenes redundantes, enfocando el procesamiento solo en cambios significativos. δLTA reduce accesos innecesarios a la memoria y cálculos redundantes, disminuyendo la latencia de cola y la latencia promedio en un 7.2% y 15.2%, respectivamente, y el consumo de energía en un 17%.
Finalmente, IRIS reutiliza los cálculos realizados por el ISP del frontend, segmentando y priorizando regiones de la imagen basadas en el detalle y el movimiento. IRIS permite que el backend procese primero las regiones relevantes, reduciendo la latencia y el consumo de energía hasta un 9% en latencia de cola, un 20% en latencia promedio y un 16% en ahorro de energía sin costos adicionales.