Proyecto: Vigilant (Parte 2 de 3)

Estrategias de diseño para minimizar costo de inferencia en flujos de análisis visual

En análisis visual automatizado —especialmente en contextos forenses o de grandes volúmenes de video— el problema principal rara vez es el costo computacional.

Aplicar modelos multimodales o generativos sobre cada frame de un video completo suele ser inviable:

El resultado práctico es que el pipeline no escala.

La solución no suele estar en “optimizar el modelo”, sino en cambiar la arquitectura.

Este artículo describe un patrón de diseño simple y efectivo:

filtrar barato primero, pagar caro solo cuando hay alta probabilidad de match.

Una arquitectura en cascada.

No depende de herramientas específicas.
Es una estrategia general aplicable a cualquier stack de visión por computadora.

1. El problema fundamental: la inferencia no cuesta lo mismo

No todos los modelos tienen el mismo costo.

En la práctica conviven dos categorías muy distintas:

Detectores ligeros

Ejemplos típicos:

Propiedades:

Modelos multimodales / generativos

Ejemplos:

Propiedades:

El error común es tratar ambos como intercambiables. No lo son.

Un VLM sobre todo el video es, en la práctica, prohibitivo.

2. El error típico: inferencia plana

El diseño más ingenuo es: para cada frame → ejecutar modelo complejo

Costo total:

costo_total ≈ N_frames × costo_modelo_caro

Si:

El procesamiento puede demorar horas o incluso días.

Técnicamente funciona.
Operativamente no.

3. La idea central: pensar como un embudo

La intuición correcta debe ser económica desde el punto de vista computacional. No todos los frames valen lo mismo.

La mayoría son:

Solo un subconjunto pequeño contiene eventos relevantes.

Entonces tiene sentido:

gastar poco en todos, mucho en pocos.

Eso lleva naturalmente a una arquitectura en cascada.

4. Arquitectura en cascada

El pipeline deja de ser plano y pasa a ser por etapas.

Etapa 1 — Reducción barata

Filtrado rápido y masivo.

Ejemplos:

Objetivo: Descartar la mayor cantidad posible con costo mínimo.

Etapa 2 — Validación intermedia

Análisis un poco más caro, pero aún barato comparado con modelos grandes.

Ejemplos:

Objetivo: Reducir falsos positivos antes de pagar el costo grande.

Etapa 3 — Análisis profundo

Solo sobre candidatos.

Ejemplos:

Objetivo: Extraer semántica rica solo donde tiene sentido.

Conceptualmente:

frames → filtro barato → pocos candidatos → modelo caro

Es un embudo.

5. Por qué esto funciona (matemáticamente)

Supongamos:

Sin cascada

10.000 × 8 s = 80.000 s

Con cascada

10.000 × 0.01 s + 200 × 8 s = 1.700 s

La diferencia es órdenes de magnitud.

El modelo caro sigue siendo caro.
Simplemente se usa menos.

6. Técnicas de filtrado habituales

Estas técnicas son independientes de cualquier framework.

Muestreo temporal

Procesar cada N frames. Reduce linealmente el costo. Trade-off: eventos muy breves pueden perderse.

Downscaling

Reducir resolución antes del detector. Acelera CNNs dramáticamente. Trade-off: objetos pequeños.

Detección de movimiento

Comparar frames consecutivos. Descarta escenas estáticas. Especialmente útil en CCTV.

Detectores de clases simples

Personas, vehículos, motos, etc. Si no hay clase relevante, no tiene sentido análisis profundo.

Embeddings livianos

Similitud semántica rápida antes de pasar a modelos generativos. Sirve como filtro intermedio.

7. Controles que realmente importan

En producción, los “knobs” clave no son el modelo, sino:

Estos parámetros gobiernan:

precisión ↔ costo ↔ tiempo total

Es un problema de ingeniería de sistemas, no de ML puro.

La cascada ayuda porque hace explícitas las etapas y criterios.

8. Límites reales

La cascada no es mágica.

Riesgos:

Es un trade-off controlado, no una garantía absoluta.

9. Conclusión

Cuando el costo de inferencia es alto, la optimización suele estar en el diseño de la arquitectura.

Procesar todo con modelos pesados es conceptualmente simple, pero económicamente inviable.

La estrategia más robusta es:

Y en sistemas forenses o de gran volumen, suele ser la diferencia entre algo teóricamente posible y algo realmente usable.