O modelo de filtro de movimento permite reduzir o tempo de computação cortando seções longas de vídeo em segmentos menores que contêm um evento de movimento. Com esse modelo, é possível definir a sensibilidade ao movimento, a duração mínima do evento, a janela de lookback e o período de espera para ajustar as saídas dos eventos de movimento ao seu caso de uso.
Parâmetros do modelo
O modelo de filtro de movimento tem quatro parâmetros de controle para ajustar os segmentos de eventos e como o modelo os retorna.
| Parâmetro | Descrição | Sinalização | Valor padrão | Valores disponíveis |
|---|---|---|---|---|
| Duração mínima de eventos | A duração mínima de um evento de movimento capturado após o término de um evento de movimento, em segundos. | --min-event-length INT |
10 (segundos) | 1 - 3600 |
| Sensibilidade da detecção de movimento | A sensibilidade da filtragem de eventos de movimento do modelo. A sensibilidade alta é mais responsiva ao movimento e oferece uma filtragem de movimento mais rigorosa, resultando em mais movimentos detectados. | --motion-sensitivity STRING |
"medium" |
"high", "medium" ou "low" |
| Janela de lookback | A quantidade de conteúdo de vídeo (em segundos) que o serviço captura antes de um evento de movimento detectado. | --lookback-length INT |
3 (segundos) | 0 a 300 |
| Período de espera | Depois que um evento de movimento termina, ocorre um período de espera com a duração especificada. Durante o período de espera, o modelo não registra eventos de movimento. | --cooldown-length INT |
300 (segundos) | 0 - 3600 |
Sensibilidade de movimento
Ao executar o filtro de movimento, a sensibilidade ao movimento desempenha a função mais importante na determinação de quantos vídeos de segmento o modelo cria com base em um fluxo de vídeo.
Quanto maior a sensibilidade à detecção de movimento, mais sensível será a detecção de ruídos e movimentos menores. Essa configuração de sensibilidade mais alta é recomendada para ambientes com iluminação estável e que mostram objetos pequenos em movimento (como pessoas vistas de longe).
Por outro lado, a sensibilidade baixa é menos sensível a interferências de iluminação e pequenos movimentos. Essa configuração é boa para situações com mais interferência de iluminação, como um ambiente externo. Como essa configuração é a opção de filtragem mais agressiva, ela ignora movimentos de objetos pequenos.
Duração mínima de eventos
A duração mínima do evento é o tempo de vídeo que o modelo captura depois que ele para de detectar um evento de movimento no frame. O valor padrão é de 10 segundos, mas você pode especificar um tempo entre 1 segundo e 3.600 segundos. Se um novo movimento for detectado durante a duração mínima do evento, ele será adicionado ao segmento de vídeo atual durante a duração do evento de movimento recém-detectado mais uma nova contagem regressiva da duração mínima do evento.

Por exemplo, considere um vídeo de um cruzamento com dois carros se movendo no frame. O primeiro carro passa nos primeiros três segundos, e o segundo carro aparece dois segundos depois. Se você definir a duração mínima do evento como um segundo, haverá dois segmentos de vídeo com movimento. Um segmento de vídeo contém o primeiro carro, enquanto o outro contém o segundo. No entanto, se você definir o evento de movimento como três segundos, haverá apenas um segmento de vídeo resultante com movimento. O segundo carro aparece no frame apenas dois segundos depois do primeiro.
Ao definir a duração mínima do evento, pense na frequência com que os eventos de movimento geralmente ocorrem no seu vídeo e em quantos segmentos de vídeo você quer salvar. Se os eventos de movimento acontecerem com frequência, mas você quiser que a maioria deles seja salva em segmentos de vídeo separados, defina a duração mínima do evento para um período mais curto. Se os eventos de movimento forem raros, mas você quiser agrupá-los, defina a duração mínima do evento para um período mais longo e capture vários eventos no mesmo segmento de vídeo.
Janela de lookback
A janela de lookback é o tempo imediatamente anterior ao momento em que um evento de movimento é detectado. Essa janela é útil quando você quer ver o que acontece no frame segundos antes de o modelo detectar um evento de movimento. O valor padrão para a janela de lookback é de três segundos, mas é possível especificar entre zero e 300 segundos.
É possível usar uma janela de lookback para ver de onde os objetos em movimento vieram. Também é possível usar uma janela de lookback para ver o que estava no frame segundos antes do evento de movimento. Uma janela de lookback é útil em situações em que há pequenos objetos em movimento no frame que não são detectados como um evento de movimento. No entanto, os pequenos objetos em movimento no frame podem ter causado os eventos de movimento maiores que foram detectados.
Período de espera
Um período de espera é uma duração que ocorre depois que um evento de movimento e uma duração mínima de evento são capturados. Durante o período de espera, o movimento detectado não aciona o filtro de movimento. O intervalo desse período é entre zero e 3.600 segundos. O padrão é definido como 300 segundos.
O período de espera foi criado para que os usuários economizem custos de computação. Se os movimentos em um frame forem esperados e você só quiser saber quando o movimento acontece, mas não se importar com o que acontece depois, um período de espera é uma configuração útil.
use o modelo
É possível usar o modelo de filtro de movimento com o SDK Vision da plataforma de agentes do Gemini Enterprise.
Use a ferramenta de linha de comando vaictl para ativar o modelo especificando
applying encoded-motion-filter e transmitindo valores para definir parâmetros de controle.
SDK do Vision da plataforma de agentes do Gemini Enterprise
Para enviar uma solicitação usando o modelo de filtro de movimento, instale o SDK da Vision da plataforma de agentes do Gemini Enterprise.
Faça as seguintes substituições de variáveis:
- PROJECT_ID: o ID do projeto do Google Cloud .
- LOCATION_ID: o ID do local. Por exemplo,
us-central1. Regiões com suporte. Mais informações. - LOCAL_FILE.EXT: o nome de um arquivo de vídeo local. Por exemplo,
my-video.mp4. - STREAM_ID: o ID do fluxo que você criou no cluster.
Por exemplo,
input-stream. --motion-sensitivity: a sensibilidade da filtragem de eventos de movimento. As opções sãohigh,mediumelow.--min-event-length: a duração mínima de um evento de movimento em segundos. O valor padrão é de10segundos. Valores disponíveis:1-3600.--lookback-length: a duração da janela de lookback antes do início do evento de movimento, em segundos. O valor padrão é de3segundos. Valores disponíveis:0-300.--cooldown-length: o período de espera após a ocorrência de um evento de movimento, em segundos. O valor padrão é de300segundos (5 minutos). Valores disponíveis:0-3600.--continuous-mode: se o envio será feito no modo contínuo. O valor padrão étrue.- OUTPUT_DIRECTORY: o diretório em que você quer salvar os arquivos MP4 de trechos de vídeo de saída.
Ver informações do comando
Use o comando a seguir para ver mais informações sobre o comando e os parâmetros opcionais dele:
vaictl send video-file applying motion-filter -h
Filtrar conteúdo de arquivos locais usando o modelo de filtro de movimento
Esse comando envia apenas as seções do vídeo em que o modelo detecta movimento.
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
Filtrar conteúdo de arquivos locais e salvar a saída usando o modelo de filtro de movimento
Esse comando usa a flag --continuous_mode para gerar arquivos de vídeo separados para cada segmento de movimento.
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áticas recomendadas
O filtro de movimento foi projetado para ser um modelo leve que ajuda a reduzir o tempo de computação na decodificação de vídeos codificados durante a transmissão. Para usar o filtro da melhor forma, coloque uma câmera parada diretamente nos objetos de interesse. Evite incluir objetos em movimento sem importância no plano de fundo do frame. Por exemplo, um frame que contém objetos de plano de fundo, como árvores se movendo, fluxo constante de carros ou sombras de objetos em movimento, detecta o movimento desses assuntos sem importância.
Coloque os objetos de interesse em primeiro plano e reduza ao máximo a quantidade de objetos em segundo plano com movimento constante. Para resumir:
- Use uma câmera fotográfica.
- Evite um plano de fundo em movimento constante.
- Movimentos mínimos não serão detectados.
- Verifique se os objetos são grandes o suficiente.
Práticas recomendadas para ambientes internos
Para ambientes internos com iluminação constante e movimento mínimo de fundo, siga estas práticas recomendadas:
- Aumente a sensibilidade. Os objetos no frame tendem a ser maiores, e há menos ruído.
- Use janelas de retorno menores e uma duração de evento mais curta. Os movimentos em ambientes internos são mais lentos, e há espaço limitado para eles.
Seguir essas práticas em ambientes internos permite que o filtro de movimento grave o movimento do objeto em um tempo mínimo.
Práticas recomendadas para atividades ao ar livre
Em ambientes externos, há mais variáveis que podem afetar o desempenho do filtro. Por exemplo, a sombra de uma árvore em movimento ou mudanças na luz solar no quadro são detectadas como movimento para o modelo de filtro de movimento. Considere as condições a seguir e a melhor maneira de responder a elas.
Situação 1:
Considere um vídeo que capture uma calçada onde pedestres passam ocasionalmente. Esses movimentos podem ser lentos, como uma caminhada casual, ou rápidos, como um skate passando. Siga estas orientações:
- Defina um período mínimo e uma janela de lookback mais longos. A velocidade dos movimentos tem um intervalo maior do que no cenário interno. Por isso, aumentar a duração mínima e a janela de lookback permite que o modelo capture o evento de movimento completo.
- Aumente a sensibilidade ao movimento. Um ambiente externo contém mais objetos que se movem naturalmente, como árvores e sombras. Para focar apenas em objetos de interesse, como pessoas e bicicletas, defina uma sensibilidade de movimento maior para evitar a detecção constante de objetos em segundo plano.
Situação 2:
Considere um vídeo diferente que se concentra em uma rua onde os carros passam constantemente e os pedestres passam ocasionalmente. Siga estas orientações:
- Defina a sensibilidade como média ou baixa: uma configuração de sensibilidade mais baixa permite que o modelo capture uma variedade de tamanhos de objetos em movimento no frame.
- Defina a janela de lookback e a duração mínima do evento com um valor menor. Carros e outros veículos na rua se movem a uma velocidade significativamente maior do que humanos e bicicletas. Definir um valor menor para esses parâmetros considera o fato de que a velocidade do movimento é maior e que os objetos entram e saem do frame rapidamente.
- Defina um tempo de espera curto. Devido à maior velocidade do movimento, o próximo objeto pode entrar no frame logo após o primeiro. Por isso, um período de espera menor é recomendado.
Limitações
Como o filtro de movimento depende muito do vetor de movimento em cada frame, há algumas limitações a serem consideradas.
- Ângulo da câmera: use uma câmera estática, já que uma câmera em movimento tem movimento constante no quadro.
- Tamanho do objeto: tente enquadrar os assuntos para que os objetos principais apareçam grandes o suficiente no frame e alcancem a melhor performance com o filtro de movimento.
- Iluminação: mudanças na iluminação, como uma mudança repentina no brilho do frame ou movimentos intensos de sombra, podem prejudicar o desempenho do modelo. Um alcance dinâmico baixo que resulta em um tom de brilho semelhante para o vídeo geral, o que afeta a maneira como o modelo interpreta o movimento e prejudica a performance dele.
- Posicionamento da câmera: o modelo foi projetado para detectar movimentos no frame. Isso inclui movimentos no plano de fundo, como o vento movendo uma árvore ou objetos fora do quadro criando sombras. Ter uma grande parte do frame apontando para objetos em segundo plano que criam esses movimentos pode afetar o desempenho do modelo.