Así localizan las tarjetas gráficas a las personas y objetos en un vídeo

Una de las cosas que permiten las webcams modernas, así como las cámaras de los dispositivos PostPC, es el hecho de poder hacer seguimiento a objetos en movimiento. Esta tecnología se suele relacionar con los sistemas de IA. Pero, ¿cómo funciona el sistema de seguimiento cuando no hay un procesador para la IA? Es aquí donde entra lo que llamamos SLAM.

Se conoce como tracking o seguimiento a la capacidad que tiene un ordenador para localizar un objeto o persona en una escena, ya sea en movimiento o de manera estática. Lo cual implica la implementación de ciertos procesos a través del hardware para liberar a la CPU de dicha tarea.

¿Qué entendemos como SLAM?

SLAM Realidad Aumentada

SLAM son las siglas de Simultaneous Localization And Mapping, lo cual se traduce en localización y mapeado simultáneos. Este consiste en dos partes diferenciadas, por un lado la creación de un mapa de un entorno captado por una cámara y por el otro la capacidad de hacer seguimiento de los movimientos de los diferentes objetos de ese entorno.

El hardware para el SLAM se encuentra integrado dentro de los siguientes dispositivos:

  • En las cámaras de los teléfonos móviles.
  • Webcams para ordenadores, ya sean integrados en un portátil o independientes.
  • Cascos de realidad aumentada.
  • Coches inteligentes con capacidad para conducirse solos.
  • En los drones que hace la gente sobrevolar.
  • En la realidad virtual basadas en el tracking Outside-In donde se coloca una cámara en una posición fija y se sigue el movimiento del jugador.

Por lo que es utilizado en diversas aplicaciones a día de hoy.

¿Cómo funciona el SLAM?

SLAM Parking

El SLAM independientemente de la forma en la que este implementado, siempre sigue una serie de etapas que son las siguientes:

  1. Lo primero que necesitamos son una serie de sensores, los cuales captan la información del entorno, estos sensores pueden ser cámaras RGB, de infrarrojos, de tiempo de vuelo e incluso radares. En esta etapa no se calcula nada y solo se captura la información a través de diferentes fuentes.
  2. A la segunda etapa se le llama «Feature Match», esta etapa utiliza las conclusiones sobre el fotograma anterior para localizar más rápidamente los objetos. Cuando un objeto es nuevo los localiza por el perfil y para saber si un objeto ha cambiado de perspectiva realiza cálculos internos para saber como varía dicho perfil y comparar.
  3. La tercera etapa es la estimación de la posición de un fotograma otro de cada uno de los objetos de la escena.
  4. En la cuarta etapa el sistema lo comparar con la información con fotogramas previos al fotograma anterior,
  5. El paso final es lo que se llama Bundle Adjustment, el cual se utiliza para eliminar los posibles errores. En dicha etapa se vuelve de nuevo a la tercera y cuarta etapa del proceso para eliminar los márgenes de error.

Este proceso es realizado con cada imagen que es capturada por los sensores, de manera continua y reiterativa.

¿Cómo se implementa en el hardware?

unidad de control

EL SLAM se suele implementar en forma de hardware de función fija o procesadores de dominio específico más conocidos como aceleradores, pero el segundo tipo son mucho más raros por el hecho de tener un consumo más alto. En el caso de sistemas sencillos como las webcams lo que se hace es implementarlos a través de hardware de función fija, el cual es mucho más fácil de implementar y tiene un menor consumo.

Es también posible implementarlos por «software» como es el caso del RTX Broadcasting donde la GPU realiza un proceso de SLAM y lo combina con el uso de los Tensor Cores para la IA, lo que le permite mejorar el nivel de predicción a la hora de predecir donde se encuentra cada objeto. De la misma manera la cámara de los smartphones más modernos hacen servir sus procesadores o redes neurales para la IA con el mismo propósito.