La percepción visual de la estructura tridimensional del mundo es una experiencia sin esfuerzo para los humanos. Sin embargo, este proceso es mucho más difícil para los algoritmos de visión por computadora porque no ven como humanos.
La experiencia visual a través de medios digitales como el video se está volviendo más común en el mundo actual orientado a la tecnología. El uso de video está aumentando rápidamente al ritmo de los avances tecnológicos. La cantidad de imágenes de video que la gente tiene es abrumadora. Pero esto también implica más desafíos para monitorizar y analizar videos basados en:
- La capacidad de los datos de video
- Nuestras habilidades cognitivas para internalizar el contenido del video.
Cuando se trata de tecnología de video, no podemos dejar de mencionar la importancia de la videovigilancia en la sociedad moderna en términos de seguridad y protección. Aun así, analizar secuencias de video masivas para una tarea específica (p. ej., resolver actividades delictivas o encontrar a un niño desaparecido en un centro comercial) requiere mucho tiempo y es tedioso. Cuando tiene miles de horas de secuencias de video para analizar, la tarea se vuelve casi imposible.
La misión se fijó para que la IA abordara este desafío con el reconocimiento de video.
En este artículo analizamos qué es el reconocimiento de video AI, cómo funciona y principales tecnologías.
Indice
¿Qué es el reconocimiento de video AI?
Hoy en día, el video sirve como evidencia crítica en diferentes situaciones (p. ej., investigaciones policiales o de seguridad) porque contiene una gran cantidad de datos valiosos. Por otro lado, el video es un formato muy poco claro que carece de estructura, esquema y contexto, lo que dificulta su manejo. Pero las máquinas saben cómo manejar este tipo de datos con reconocimiento de video.
El reconocimiento de video es la capacidad de la máquina para obtener, procesar y analizar datos que recibe de una fuente visual, específicamente video. Los sistemas de reconocimiento de video ayudan a las computadoras a comprender la información proveniente de los grandes volúmenes de transmisiones de video, cuadro por cuadro.
A pesar de su nombre, el reconocimiento de vídeo no es lo mismo que el reconocimiento de imágenes o el reconocimiento facial. Aunque estos términos están interrelacionados, la principal diferencia aquí es el seguimiento de video: cuando una cámara vincula elementos objetivo en cuadros de video secuenciales para reconocer objetos en movimiento a lo largo del tiempo.
En términos generales, podemos referirnos al reconocimiento de video como análisis de video inteligente o análisis de contenido de video, ya que implica una amplia gama de tareas. La IA se utiliza aquí para procesar rápidamente datos de video masivos y reducir el tiempo de análisis de semanas o meses a literalmente segundos. El reconocimiento de video emplea IA para completar las tareas mediante la aplicación de visión por computadora (CV) mejorada por modelos de aprendizaje profundo (DL) a secuencias de video grabadas o transmisiones de video en vivo.
Reconocimiento de video AI en diferentes industrias
A partir de hoy, se implementan con éxito diferentes tipos de sistemas de reconocimiento de video en industrias específicas, que incluyen:
- Seguridad: reconocimiento de objetos, detección facial, detección de patrones de movimiento
- Seguimiento del comportamiento: detección de merodeo, detección de vehículos detenidos, sabotaje de cámaras.
- Detección de movimiento vertical: detección de sucesos anormales.
- Clasificación de objetos de alimentación de video: detección de seguridad de rayos X, detección de peligro.
- Cuidado de la salud: monitorización en el hogar, salud mental, biotecnología.
- Venta al por menor: detección de colas, conteo de personas, análisis del comportamiento del cliente.
- Ciudades inteligentes: Reconocimiento automático de matrículas (ANPR), monitorización del tráfico, conteo de vehículos.
La combinación de modelos DL y sistemas CV se utiliza para detectar, rastrear, reconocer y clasificar objetos de interés. Las soluciones de IA son necesarias para el reconocimiento de video, ya que mejoran las capacidades actuales de CV y la precisión de los sistemas de detección de objetos. Al generar metadatos enriquecidos, la IA ayuda a identificar elementos importantes en el video para establecer los criterios para un reconocimiento de video más rápido, a saber:
- Características generales: nombres, objetos, escenas, acciones y eventos.
- Características personales: sexo, raza, edad, accesorios, mascarillas, rostros, vehículos y matrículas.
Si deseas construir un sistema (por ejemplo, un vehículo autónomo o un sistema robótico) sobre la visión por computadora o generar automáticamente un índice de búsqueda para tu colección de videos, este es el tipo de información que necesitas.
¿Cómo funciona?
El reconocimiento de video de inteligencia artificial de vanguardia nos permite evaluar rápidamente los datos de video mediante la detección de personas, vehículos, objetos y comportamientos de interés. Podemos detenernos aquí y no detenernos demasiado en los detalles. Pero para darte una mejor idea del reconocimiento de video, echemos un vistazo a algunas de sus tareas principales.
Cuando se prepara una arquitectura de hardware de reconocimiento de video, debes concentrarte en un escenario específico y entrenar tu modelo para detectarlo. Las siguientes son las tareas de análisis de video más comunes y fundamentales :
- Clasificación de imágenes: selecciona la categoría correcta para un video
- Localización: ubica un objeto de destino en el video
- Detección de objetos: ubica y categoriza el objeto en el video
- Identificación de objetos: detecta todas las instancias del objeto de interés.
- Seguimiento de objetos: rastrea la trayectoria del objeto y su cambio en el video.
Cuando recibimos información sobre cómo cambia el estado del objeto con el tiempo en el video, estamos trabajando con información temporal. Luego podemos construir un modelo de transición de estado basado en datos espacio-temporales para objetos de video. Este proceso generalmente requiere un conjunto complejo de algoritmos construidos uno sobre el otro para que el modelo DL realice múltiples tareas. Por ejemplo:
- Identifica y ubica un objeto en un video usando Convolution Neural Network (CNN).
- Supervisa el cambio de estado del objeto a lo largo del tiempo utilizando la red neuronal reforzada (RNN).
Ahora, recapitulemos. Para procesar secuencias de video sin procesar, un sistema de reconocimiento basado en video:
- Analiza el contexto de una escena de video y su fondo.
- Reconoce, rastrea y clasifica un objeto de interés.
- Genera una base de datos estructurada a partir de datos de video no estructurados para una búsqueda granular, un informe detallado y alertas inteligentes.
Anotación de datos para el reconocimiento de video
Al igual que con cualquier otro modelo de IA, los datos de reconocimiento de video deben entrenarse para una predicción precisa para lograr los resultados deseados. Para que el reconocimiento de video funcione correctamente, necesitamos un conjunto de datos con datos de entrenamiento que alimentarán a una red neuronal artificial (ANN) y luego se usarán para la prueba del modelo de IA.
Un conjunto de datos de reconocimiento de video debe cumplir con requisitos de datos específicos. Es decir, el tipo o la cantidad de datos de video. Este es el ejemplo de los formatos de video con los que se puede trabajar para etiquetar las secuencias de video:
- .MOV
- .MPEG4
- .MP4
- .AVI
El etiquetado de datos para el reconocimiento de video es un proceso bastante fascinante. Para la anotación de video, debes identificar cada objeto en el video usando líneas anotadas cuadro por cuadro para que las computadoras puedan reconocerlas fácilmente. Es un poco más complicado que la anotación de imágenes ya que el objeto con el que trabajamos está en movimiento.
Otro desafío aquí es la gran cantidad de conjuntos de datos de video utilizados para el etiquetado. Incluso los videos cortos se anotan cuadro por cuadro, lo que significa que el volumen de datos aumenta exponencialmente. Por esta razón, muchas empresas o clientes individuales que trabajan en proyectos de IA optan por externalizar este proceso a expertos en anotación de datos.
Tareas de anotación de datos
Las técnicas de anotación de datos de video más comunes son cuadros delimitadores 2D, cuboides 3D, puntos de referencia, polilíneas y polígonos.
Pero profundicemos en este proceso. Supón que necesitas un conjunto de datos para realizar una tarea de reconocimiento de acciones de video. Tal conjunto de datos se construye de la siguiente manera:
- Identificación de características. Preparar la lista de acciones en base a conjuntos de datos previamente etiquetados y agregar nuevas categorías, considerando el escenario del caso de uso.
- Recopilación de datos. Adquirir videos de múltiples fuentes que coincidan con tu lista de acciones.
- Etiquetado de datos. Realización de anotaciones temporales de forma manual para detectar las posiciones de inicio y finalización de la acción.
- Procesamiento de datos. Limpieza de un conjunto de datos a través de la deduplicación (eliminación de datos redundantes) y filtrado de muestras ruidosas.
También hemos preparado una lista de los conjuntos de datos de reconocimiento de acción de video a gran escala más populares :
- HMDB51
- UCF101
- Sports1M
- ActivityNet
- YouTube8M
- Charades
- Kinetics400
- Kinetics600
- Kinetics700
- SthV1
- SthV2
- AVA
- AVA-kinetics
- MIT
- HACSClips
- HVU
- AViD
Alternativamente, es posible que desees trabajar con un sistema de reconocimiento facial de video en el que necesites conjuntos de datos de verificación facial basados en video de calidad. Para lograr excelentes resultados con un sistema de reconocimiento facial de video sin restricciones, puedes recurrir a los conjuntos de datos IJB-A, JANUS CS2, LFW, YouTubeFaces, WIDER, FDDB y Pascal-Faces.
Hablando de reconocimiento facial, también debemos mencionar las tareas de reconocimiento de gestos de video. Estudiar los movimientos de manos y brazos es crucial para desarrollar interacciones inteligentes con dispositivos digitales en IA.
Reconocimiento de video con aprendizaje profundo
En los últimos años, el reconocimiento de video ha evolucionado hasta el punto en que puede detectar, identificar y clasificar con precisión a las personas y los objetos que aparecen en las secuencias de video. Un sistema basado en modelos de aprendizaje profundo ayuda a generar resultados de búsqueda dentro de una gran cantidad de datos de video y los filtra para obtener capacidades analíticas en profundidad.
El reconocimiento de video moderno se basa en algoritmos de aprendizaje profundo. Supongamos que deseas mejorar el sistema de seguridad de tu organización para evitar actividades delictivas o prepararte para cualquier amenaza potencial. Tu solución aquí es utilizar el reconocimiento de video entrenado específicamente para tus cámaras de vigilancia que ayudarán a localizar tales situaciones anormales.
A pesar de la complejidad de la tarea en cuestión, necesitamos resultados analíticos rápidos de los algoritmos de reconocimiento de video. ¿Por qué el aprendizaje profundo es esencial aquí? DL renueva el sistema de reconocimiento de video acelerando los procesos de:
- Búsqueda y filtrado de datos de video según criterios específicos.
- Proporcionar alertas basadas en reglas para lograr una conciencia situacional.
- Visualización y análisis de datos de video para impulsar la inteligencia operativa.
Tecnologías de código abierto
El proceso de reconocimiento de video se ha visto facilitado significativamente por la mayor disponibilidad del mejor software libre y de código abierto. Como resultado, ahora tenemos acceso a numerosas bibliotecas y repositorios eficientes e independientes de la plataforma. Aquí está la lista de algunos de los marcos y bibliotecas de código abierto más populares para el reconocimiento de video AI.
Reconocimiento de objetos de video con TensorFlow API
Podría decirse que TensorFlow se encuentra entre las bibliotecas de IA de código abierto más utilizadas y el mejor software de reconocimiento de video. Permite la detección de objetos de video acelerada por GPU: detección de movimiento y detección de hilos en tiempo real en los campos de juegos, seguridad y UX/UI. El marco brinda acceso a bibliotecas útiles como Faster R-CNN y Mask R-CNN o se puede aplicar como interfaz para otras redes, como YOLO.
YOLO
YOLO es un sistema de reconocimiento de video con mantenimiento autónomo que funciona en tiempo real a velocidades de cuadro muy altas. La versión más reciente de YOLO utiliza una red neuronal totalmente convolucional (FCNN) para predecir varios cuadros delimitadores a la vez.
SSD Multibox (detector de disparo único)
SSD Multibox es un sistema de reconocimiento de video basado en Caffe que utiliza una sola red neuronal para crear un mapa de características para la estimación de probabilidad basada en objetos detectados dentro de segmentos de una sola imagen.
Imagen AI
ImageAI es una biblioteca ML para Python que respalda el reconocimiento y el análisis de video. Se usa más comúnmente como host para muchas bibliotecas relevantes, como RetinaNet, YOLO V3 y TinyYOLO V3. ImageAI se cambió al backend de PyTorch, pero aún carece de la ecoestructura madura y la flexibilidad de los líderes del mercado.
TorchVision
TorchVision es un complemento de CV acelerado por GPU para el proyecto PyTorch, liderado por Facebook. El marco es compatible con los conjuntos de datos de video más populares, como COCO, CelebA, Cityscapes, ImageNet y KITTI. También presenta modelos preentrenados para abordar tareas de reconocimiento de video.
API comerciales
- API de Google Video Intelligence: ofrece una amplia variedad de funciones listas para producción para el reconocimiento de objetos de video.
- Amazon Rekognition: proporciona una amplia gama de modelos y herramientas previamente entrenados para el entrenamiento de modelos individuales.
- API de procesamiento de imágenes de Microsoft: incluye muchos algoritmos de detección de objetos de video fáciles de usar.
¿Podemos enseñar a las máquinas la magia de la vista?
La habilidad humana natural de la sensación visual hizo que la IA apretara el gatillo y probara el análisis de video inteligente.
El innovador reconocimiento de video fue un paso necesario para acelerar el proceso de análisis de video y sistemas complejos de reconocimiento de objetos. El reconocimiento de video ayuda a las máquinas a comprender el extenso material de video y transformarlo en datos significativos y procesables.
El proceso de preparar los datos y realizar el reconocimiento de video es bastante laborioso, pero no tan complicado como cuando teníamos que analizar las secuencias de video nosotros mismos. La aparición del reconocimiento de video hizo posible (y más fácil) explotar todo el valor de los datos de video. Hacerlo ayuda a las computadoras a acercarse al poder de la vista en el mundo real.
Todavía es un campo en evolución, así que asegúrate de que tu proyecto de inteligencia artificial incipiente esté respaldado por verdaderos expertos de la industria. ¡No lo dudes y pide un presupuesto para que puedan ayudarte a preparar los datos de video para un análisis de video dirigido por una máquina!