Una empresa de servicios públicos despliega drones para inspeccionar cientos de millas de líneas eléctricas. Un departamento de policía extrae horas de grabaciones de cámaras de tráfico para investigar un accidente de atropello y fuga. Un equipo de planificación urbana aprovecha las grabaciones de las cámaras para analizar el flujo de peatones y de tráfico.
Cada día se generan terabytes de datos de video que pueden proporcionar información valiosa sobre todo tipo de aspectos, desde la eficiencia operativa hasta la seguridad pública. Pero casi nada de esto se analiza de manera significativa. Esto se debe a que examinar estos datos de video no estructurados requiere muchísimo tiempo y dinero.
Imagine poder aplicar simplemente consultas en lenguaje natural al contenido de video a escala, no solo para encontrar contenido específico, sino para analizarlo, evaluarlo y aprender de él.
Databricks puede respaldar exactamente eso. ¿El enfoque? Tratar el video como un problema de ingeniería de datos.
El enfoque tradicional del análisis de video consiste en asignar cada vez más analistas humanos al problema. Los avances en deep learning, visión por computadora y, más recientemente, los modelos de lenguaje de visión (VLM), han hecho posible que las computadoras identifiquen objetos en videos con gran precisión. Pero escalar la inferencia y orquestar pipelines con enormes cantidades de datos no estructurados ha dificultado a las organizaciones la logística de creación de estos pipelines. Esto es especialmente cierto al aplicar VLM al problema. Los VLM ofrecen flexibilidad en el prompting, ya que no requieren que el modelo esté preentrenado o ajustado (fine-tuned) en clases específicas antes de su uso, pero son más grandes y lentos que los modelos tradicionales de detección de objetos, lo que plantea desafíos de escalabilidad.
En Databricks, puede concentrarse en cómo el análisis de video que utiliza estos modelos se integra en los pipelines de datos, en lugar de preocuparse por las complejidades de la inferencia de modelos y la infraestructura.
Este enfoque se puede demostrar en una aplicación de Databricks implementada directamente en un espacio de trabajo de Databricks. Un usuario sube un video o señala uno que ya está almacenado en un Databricks Volume, introduce directamente un prompt en lenguaje natural que describe lo que está buscando (por ejemplo, camiones de caja blanca, guardias de seguridad, paneles solares) e inicia el pipeline de procesamiento con un solo clic.
A partir de ahí, Databricks Serverless GPU Compute (SGC) toma el control. Se activa un trabajo de Lakeflow, que toma GPU precalentadas y comienza inmediatamente a procesar el video a través del modelo de segmentación SAM3 de Meta en cuestión de segundos. El modelo identifica los objetos de interés que coinciden con el prompt en cada fotograma del video. El video se recorta para incluir solo esos momentos y se vuelve a escribir en otro Databricks Volume. Por ejemplo, un video de una cámara de tráfico de 26 minutos se redujo a un minuto y 55 segundos de metraje relevante, conservando las marcas de tiempo originales para que los revisores puedan volver a la fuente si es necesario. Luego, cada clip recortado se pasa a un modelo fundacional a través de la Databricks Foundation Model API (FMAPI) para generar un resumen mediante AI, lo que proporciona datos de texto que se pueden escribir en una tabla o enviar a otros procesos posteriores (downstream).
Debido a que todo este proceso se trata como un problema de ingeniería de datos, el pipeline es explícitamente agnóstico respecto al modelo, aprovechando MLflow para permitir a los usuarios elegir el modelo que prefieran, o incluso incorporar modelos nuevos o ajustados (fine-tuned) al flujo de trabajo. Las firmas de modelos de MLflow estandarizan las entradas y salidas del modelo para garantizar la continuidad y la flexibilidad. Cualquier modelo que descargue de Huggingface o entrene desde cero se puede aprovechar en este pipeline. SAM3 se puede sustituir por modelos YOLO, otros modelos de visión basados en transformadores o modelos específicos de dominio ajustados.
Esa flexibilidad también se extiende a la capa de resumen y detección de anomalías. Se puede utilizar cualquier modelo fundacional multimodal o modelos más pequeños de descripción de imágenes para convertir el contenido de los fotogramas en descripciones de texto. Contar con estas descripciones de texto puede alimentar flujos de trabajo de AI basados en texto para resumir el video para la revisión de los analistas, o identificar contenido inesperado y marcar segmentos de video para su revisión. Hacer que los modelos sean intercambiables sin romper el pipeline hace que este ejemplo sea extensible a casi cualquier caso de uso de procesamiento de video.
Dado que el cómputo de GPU serverless está preconfigurado para funcionar con las GPU de NVIDIA y los frameworks de deep learning más populares, solo es cuestión de escribir su código de ingeniería de datos. No tiene que preocuparse por la capacidad de cómputo de la GPU ni por la compatibilidad de las versiones de los paquetes de Python con CUDA.
El flujo de trabajo activado por la aplicación es solo una forma de interactuar con el pipeline. El mismo pipeline puede ejecutarse como un proceso basado en archivos o eventos: el video llega a un Databricks Volume, lo que activa automáticamente el trabajo de LakeFlow para generar el resultado recortado y el análisis basado en texto sin ninguna intervención humana. Posteriormente (downstream), ese texto puede activar alertas, dirigirse a los revisores o incorporarse a un procesamiento de AI adicional.
La concurrencia se gestiona mediante una configuración sencilla. Puede cargar 20 videos a la vez y se iniciarán 20 versiones de ese mismo trabajo ejecutándose al mismo tiempo. Cada trabajo toma su propio cómputo de GPU serverless de forma independiente, escalando horizontalmente según sea necesario, y libera los recursos cuando termina. No se requiere administración de clusters ni se paga por las GPU cuando no están en uso.
Esta aplicación y este pipeline son un punto de partida. Después de la implementación en cualquier espacio de trabajo de Databricks, la arquitectura subyacente admite cualquier escenario en el que sea necesario procesar, buscar o resumir grandes volúmenes de video. Esto incluye la inspección de infraestructuras, la seguridad física, la seguridad pública, las operaciones aeroportuarias y más. El repositorio de GitHub que contiene el código de la aplicación y del pipeline está disponible públicamente para los equipos que deseen implementarlo, extenderlo o adaptarlo a sus propios casos de uso.
Descubra cómo su organismo puede procesar, resumir y buscar volúmenes masivos de video sin flujos de trabajo de ML complejos. Explore Databricks para el sector público y póngase en contacto con nuestro equipo del sector público.
(Esta entrada del blog ha sido traducida utilizando herramientas basadas en inteligencia artificial) Publicación original
Suscríbete a nuestro blog y recibe las últimas publicaciones directamente en tu bandeja de entrada.