El modelo de filtro de movimiento te permite reducir el tiempo de procesamiento, ya que recorta las secciones de video largas en segmentos más pequeños que contienen un evento de movimiento. Este modelo te permite establecer la sensibilidad al movimiento, la duración mínima del evento, la ventana de visualización y el período de inactividad para ajustar los resultados de los eventos de movimiento a tu caso de uso.
Parámetros del modelo
El modelo de filtro de movimiento tiene cuatro parámetros de control para ajustar los segmentos de eventos y la forma en que el modelo los devuelve.
| Parámetro | Descripción | Marca | Valor predeterminado | Valores disponibles |
|---|---|---|---|---|
| Duración mínima del evento | Es la duración mínima en segundos durante la que se capturará un evento de movimiento después de que finalice. | --min-event-length INT |
10 (segundos) | 1 - 3600 |
| Sensibilidad de la detección de movimiento | Es la sensibilidad del filtro de eventos de movimiento del modelo. La sensibilidad alta es más responsiva al movimiento y proporciona un filtrado de movimiento más agresivo, lo que genera una mayor detección de movimiento. | --motion-sensitivity STRING |
"medium" |
"high", "medium" o "low" |
| Ventana de visualización | La cantidad de contenido de video (en segundos) que el servicio captura antes de un evento de movimiento detectado. | --lookback-length INT |
3 (segundos) | 0 a 300 |
| Período de inactividad | Después de que finaliza un evento de movimiento, se produce un período de inactividad con la duración especificada. Durante el período de enfriamiento, el modelo no registra eventos de movimiento. | --cooldown-length INT |
300 (segundos) | 0 a 3,600 |
Sensibilidad al movimiento
Cuando se ejecuta el filtro de movimiento, la sensibilidad al movimiento desempeña el papel más importante para determinar cuántos videos de segmentos crea el modelo a partir de una transmisión de video.
Cuanto mayor sea la sensibilidad de la detección de movimiento, más sensible será la detección del modelo al ruido y a los movimientos más pequeños. Se recomienda este ajuste de mayor sensibilidad para los entornos con iluminación estable y que muestran objetos en movimiento más pequeños (como vistas de personas desde la distancia).
Por el contrario, la sensibilidad baja es la menos sensible a la interferencia de la iluminación y a los movimientos pequeños. Este parámetro de configuración es adecuado para situaciones con más interferencia de iluminación, como un entorno al aire libre. Debido a que este parámetro de configuración es la opción de filtrado más agresiva, ignora los movimientos de objetos pequeños.
Duración mínima del evento
La duración mínima del evento es el tiempo de video que captura el modelo después de que deja de detectar un evento de movimiento en el fotograma. El valor predeterminado es 10 segundos, pero puedes especificar un tiempo entre 1 y 3,600 segundos. Si se detecta un nuevo movimiento durante la duración mínima del evento, el nuevo movimiento se agrega al segmento de video actual durante la duración del evento de movimiento recién detectado más una nueva cuenta regresiva de la duración mínima del evento.

Por ejemplo, considera un video de una intersección con dos automóviles en movimiento. El primer automóvil pasa en los primeros tres segundos, y el segundo llega dos segundos después. Si configuras la duración mínima del evento en un segundo, habrá dos segmentos de video con movimiento. Un segmento de video contiene el primer automóvil, mientras que el otro segmento contiene el segundo automóvil. Sin embargo, si configuras el evento de movimiento en tres segundos, solo habrá un segmento de video resultante con movimiento. El segundo automóvil aparece en el encuadre solo dos segundos después del primero.
Cuando establezcas la duración mínima del evento, piensa en la frecuencia con la que suelen ocurrir los eventos de movimiento en tu video y cuántos segmentos de video quieres guardar. Si los eventos de movimiento ocurren con frecuencia, pero deseas que la mayoría de ellos se guarden en segmentos de video separados, establece la duración mínima del evento en un período más corto. Si los eventos de movimiento ocurren con poca frecuencia, pero quieres agruparlos, establece la duración mínima del evento en un período más largo para capturar varios eventos en el mismo segmento de video.
Ventana de visualización
La ventana de visualización es el tiempo inmediatamente anterior al momento en que se detecta un evento de movimiento. Esta ventana es útil cuando quieres ver lo que sucede en los fotogramas segundos antes de que el modelo detecte un evento de movimiento. El valor predeterminado para la ventana de visualización es de tres segundos, pero puedes especificar entre cero y 300 segundos.
Puedes usar una ventana de visualización para ver de dónde provienen los objetos en movimiento. También puedes usar una ventana de visualización para ver qué había en el encuadre segundos antes de que ocurriera el evento de movimiento. Una ventana de visualización es útil en situaciones en las que hay objetos pequeños en movimiento en el encuadre que no se detectan como eventos de movimiento. Sin embargo, es posible que los objetos pequeños en movimiento del encuadre hayan causado los eventos de movimiento más grandes que se detectaron.
Período de inactividad
Un período de inactividad es un período que se produce después de que se capturan un evento de movimiento y una duración mínima del evento. Durante el período de enfriamiento, el movimiento detectado no activa el filtro de movimiento. El rango de este período es de entre cero segundos y 3,600 segundos. El valor predeterminado es de 300 segundos.
El período de inactividad está diseñado para que los usuarios ahorren costos de procesamiento. Si se esperan movimientos en un fotograma y solo te interesa saber cuándo se produce el movimiento, pero no te importa lo que sucede después, un período de enfriamiento es un parámetro de configuración útil.
Usa el modelo
Puedes usar el modelo de filtro de movimiento con el SDK de Vision de Gemini Enterprise Agent Platform.
Usa la herramienta de línea de comandos de vaictl para habilitar el modelo. Para ello, especifica applying encoded-motion-filter y pasa valores para establecer parámetros de control.
SDK de Vision de Agent Platform de Gemini Enterprise
Para enviar una solicitud con el modelo de filtro de movimiento, debes instalar el SDK de Vision de Gemini Enterprise Agent Platform.
Realiza las siguientes sustituciones de variables:
- PROJECT_ID: Es el ID del proyecto de Google Cloud .
- LOCATION_ID: Es el ID de tu ubicación. Por ejemplo,
us-central1Regiones admitidas. Más información. - LOCAL_FILE.EXT: Es el nombre de un archivo de video local. Por ejemplo,
my-video.mp4. - STREAM_ID: Es el ID de transmisión que creaste en el clúster.
Por ejemplo,
input-stream --motion-sensitivity: Es la sensibilidad del filtrado de eventos de movimiento. Las opciones sonhigh,mediumylow.--min-event-length: Es la duración mínima de un evento de movimiento en segundos. El valor predeterminado es10segundos. Valores disponibles:1-3600.--lookback-length: Es la duración de la ventana de visualización anterior al inicio del evento de movimiento en segundos. El valor predeterminado es3segundos. Valores disponibles:0-300.--cooldown-length: Es el período de inactividad después de que ocurre un evento de movimiento, en segundos. El valor predeterminado es300segundos (5 minutos). Valores disponibles:0-3600.--continuous-mode: Indica si se debe enviar en modo continuo. El valor predeterminado estrue.- OUTPUT_DIRECTORY: Es el directorio en el que deseas guardar los archivos MP4 de los segmentos de video de salida.
Ver información del comando
Usa el siguiente comando para ver más información sobre el comando y sus parámetros opcionales:
vaictl send video-file applying motion-filter -h
Cómo filtrar el contenido de archivos locales con el modelo de filtro de movimiento
Este comando solo envía las secciones de video en las que el modelo detecta movimiento.
vaictl -p PROJECT_ID \
-l LOCATION_ID \
-c application-cluster-0 \
--service-endpoint visionai.googleapis.com \
send video-file --file-path LOCAL_FILE.EXT \
applying motion-filter --motion-sensitivity=medium \
--min-event-length=10 --lookback-length=3 --cooldown-length=0 \
to streams STREAM_ID --loop
Cómo filtrar el contenido de un archivo local y guardar el resultado con el modelo de filtro de movimiento
Este comando usa la marca --continuous_mode para generar archivos de video separados para cada segmento de movimiento.
vaictl -p PROJECT_ID \
-l LOCATION_ID \
-c application-cluster-0 \
--service-endpoint visionai.googleapis.com \
send video-file --file-path LOCAL_FILE.EXT --continuous-mode=false \
applying motion-filter --motion-sensitivity=medium \
--min-event-length=10 --lookback-length=3 --cooldown-length=0 \
to mp4file --mp4-file-path=OUTPUT_DIRECTORY
Prácticas recomendadas
El filtro de movimiento está diseñado para ser un modelo ligero que ayude a reducir el tiempo de procesamiento en la decodificación de videos codificados durante la transmisión. Para que el filtro funcione mejor, coloca una cámara fija directamente sobre los objetos de interés. Evita incluir objetos en movimiento que no sean importantes en el fondo del encuadre. Por ejemplo, un fotograma que contiene objetos de fondo, como árboles en movimiento, un flujo constante de automóviles o sombras de objetos en movimiento, detecta el movimiento de estos sujetos poco importantes.
Coloca los objetos de interés en primer plano y reduce la cantidad de objetos de fondo con movimiento constante tanto como sea posible. En síntesis:
- Usa una cámara fotográfica.
- Asegúrate de evitar un fondo en movimiento constante.
- No se detectarán movimientos mínimos.
- Asegúrate de que los objetos sean lo suficientemente grandes.
Prácticas recomendadas para interiores
En el caso de los entornos interiores con iluminación constante y movimiento de fondo mínimo, sigue estas prácticas recomendadas para interiores:
- Aumenta la sensibilidad. Los objetos en el encuadre tienden a ser más grandes, y también hay menos ruido en el encuadre.
- Usa ventanas de visualización más pequeñas y una duración de eventos más breve. Los movimientos en interiores son más lentos y el espacio en el que se pueden realizar es limitado.
Si sigues estas prácticas en interiores, el filtro de movimiento podrá registrar el movimiento de los objetos en un tiempo mínimo.
Prácticas recomendadas para exteriores
En el caso de los entornos exteriores, hay más variables en las escenas exteriores que podrían afectar el rendimiento del filtro. Por ejemplo, la sombra de un árbol en movimiento o los cambios en la luz del sol en el encuadre se detectan como movimiento para el modelo de filtro de movimiento. Considera las siguientes condiciones y la mejor manera de responder a ellas.
Situación 1:
Considera un video que capture una acera por la que los peatones caminan ocasionalmente. Estos movimientos pueden ser tan lentos como una caminata casual o tan rápidos como el paso de una patineta. Usa la siguiente orientación:
- Establece una duración mínima y una ventana de visualización más largas. La velocidad de los movimientos tiene un rango más amplio que en el caso de interiores, por lo que aumentar la duración mínima de la ventana y la ventana de visualización permite que el modelo capture el evento de movimiento completo.
- Aumenta la sensibilidad de movimiento. Un entorno exterior contiene más objetos que se mueven de forma natural, como árboles y sombras. Para enfocarte solo en los objetos de interés, como personas y bicicletas, establece una sensibilidad al movimiento más alta para evitar la detección constante de objetos en segundo plano.
Situación 2:
Considera un video diferente que se enfoque en una calle por la que pasan autos constantemente y peatones de vez en cuando. Usa la siguiente orientación:
- Establece la sensibilidad en media o baja: Un parámetro de configuración de sensibilidad más bajo permite que el modelo capture una variedad de tamaños de objetos en movimiento en el encuadre.
- Establece la ventana de visualización y la duración mínima del evento en un valor más corto. Los automóviles y otros vehículos de la calle se mueven a una velocidad significativamente mayor que las personas y las bicicletas. Establecer un valor más corto para estos parámetros tiene en cuenta el hecho de que la velocidad de movimiento es mayor y que los objetos entran y salen del encuadre rápidamente.
- Establece un tiempo de enfriamiento corto. Debido a la mayor velocidad de movimiento, es posible que el siguiente objeto entre en el encuadre poco después del primero. Por lo tanto, se tiene en cuenta un tiempo de espera más corto.
Limitaciones
Dado que el filtro de movimiento depende en gran medida del vector de movimiento en cada fotograma, hay ciertas limitaciones que se deben tener en cuenta.
- Ángulo de la cámara: Usa una cámara fija, ya que una cámara en movimiento tiene movimiento constante en su encuadre.
- Tamaño del objeto: Intenta encuadrar los sujetos de modo que los objetos clave aparezcan lo suficientemente grandes en el encuadre para lograr el mejor rendimiento con el filtro de movimiento.
- Iluminación: Los cambios de iluminación, como un cambio repentino de brillo en el fotograma o movimientos intensos de sombras, pueden degradar el rendimiento del modelo. Un rango dinámico bajo que genera un tono de brillo similar para todo el video, lo que afecta la forma en que el modelo interpreta el movimiento y degrada su rendimiento.
- Posicionamiento de la cámara: El modelo está diseñado para detectar movimiento en el encuadre. Esto incluye el movimiento de fondo, como el viento que mueve un árbol o los objetos que salen del encuadre y crean sombras. Tener una gran parte del fotograma apuntando a objetos de fondo que crean estos movimientos puede afectar el rendimiento del modelo.