Configuração: Detecção de Movimento
Sobre
A detecção de movimento no Agent desempenha um papel crucial na inicialização de Alertas e na facilitação do processamento de IA. Você pode configurar o Agent para gravar ao detectar movimento ou quando um alerta é acionado. Para configurar essas opções, navegue até o menu Gravação e consulte a configuração Modo. Além disso, a detecção de movimento pode ser usada para ativar várias Ações.
É importante observar que a detecção de movimento às vezes pode levar a alertas falsos devido à sua incapacidade de distinguir entre o movimento real de objetos e fatores ambientais como vento, chuva ou mudanças de luminosidade. Para reduzir esses alertas falsos, você pode aumentar a precisão da detecção de movimento integrando o Agent com o CodeProject.AI para filtragem de alertas mais sofisticada.
Configurando Detecção de Movimento
O controle da área do detector de movimento no Agent é acessível editando uma câmera e selecionando Detector no menu superior direito. Para configurar um detector, você começa definindo zonas para monitorar. O Agent suporta até 9 zonas, cada uma representada por uma cor diferente, selecionável através do menu suspenso Zona. Para criar uma zona, clique na ferramenta de caneta e desenhe sobre a visualização do vídeo. Use o botão esquerdo do mouse ou toque para desenhar e, no desktop, o botão direito do mouse para apagar. A ferramenta de ponta de caneta ajusta o tamanho da ponta do desenho, enquanto a ferramenta de borracha remove áreas desenhadas. A ferramenta de reset pode ser usada para preencher toda a área com a zona selecionada. O Agent então monitora essas áreas coloridas em busca de movimento.
- Habilitado: Alternar o uso do detector.
- Detector: Escolha um tipo de detector de movimento e configure-o usando o botão "..." Os vários detectores de movimento são explicados em suas respectivas seções.
- Cor: Ajuste a cor da sobreposição de detecção de movimento (não aplicável a todos os detectores).
- Tempo limite: Defina a duração (em segundos, entre 1 e 60, o padrão é 3) para a qual a câmera permanece em estado de movimento após detectar a parada do movimento.
Usando Zonas
As zonas são cruciais para detectores de IA (Reconhecimento Facial/ LPR/ Reconhecimento de Objetos) e detectores de rastreamento de objetos (como linha de tripulação, velocidade, rastreamento de objetos). Você pode selecionar quais zonas irão disparar um alerta na configuração do detector, ou especificar Ações para alertas em zonas específicas.
O detector simples ativa um alerta se houver movimento suficiente detectado em todas as zonas.
Alguns tipos de detectores não utilizam as configurações de zona, como MQTT, ONVIF ou movimento acionado por chamadas de API.
Usando Áreas de Movimento
As áreas de movimento são grupos configuráveis de zonas que você pode nomear e salvar para uso futuro. Para salvar sua configuração atual de zona de movimento como uma nova área, clique no ícone de edição ao lado de Área. Essas ferramentas permitem adicionar, editar e excluir áreas.
Para aplicar uma área de movimento ao mover sua câmera PTZ para uma posição predefinida PTZ (usando a interface do Agente):
- Crie e salve uma nova configuração de zona de movimento com um nome específico, como "estacionamento".
- Adicione uma nova Ação:
Se: "Preset PTZ Aplicado"
Selecione o Comando de Preset PTZ (por exemplo, "Ir para Preset 1"). Observação: Sua câmera deve suportar presets PTZ para que isso funcione.
Clique para Adicionar uma Tarefa:
Tarefa: "Definir Área de Detecção de Movimento"
Selecione sua nova área ("estacionamento").
Clique em OK duas vezes. Agora, sempre que você selecionar o preset, ou se o Agent definir o preset através do agendamento ou outro evento, esta área de movimento será aplicada automaticamente.
Você também pode modificar a área do detector de movimento usando o Agendador. Essa função permite diferentes configurações de zona de movimento dependendo do horário do dia, semana ou datas específicas.
Detector Simples
Simples
O detector simples foca em identificar qualquer tipo de movimento dentro do campo de visão da câmera. É a opção mais eficiente em termos de CPU entre os detectores, ficando em segundo lugar apenas para o detector ONVIF. Os movimentos detectados são destacados em vermelho, permitindo que você identifique facilmente a origem do movimento na cena.
- Avançado: Para configurações e opções adicionais, consulte a seção avançada abaixo.
- Sensibilidade: Ajuste o nível de movimento necessário para acionar a detecção. Configurar valores mínimos e máximos pode refinar a detecção - por exemplo, um valor máximo de 80 pode ajudar a ignorar mudanças de brilho em grande escala. Os números abaixo do controle deslizante representam a porcentagem de pixels alterados.
- Ganho: Aplique um multiplicador aos pixels alterados para aumentar ou diminuir a sensibilidade da detecção de movimento.
HAAR Detector de Objetos
Este método utiliza arquivos conhecidos como cascata HAAR para reconhecer objetos no feed de vídeo. No entanto, você pode obter melhores resultados usando o detector de objetos simples em conjunto com a configuração de um Servidor de IA.
- Tamanho do Quadro: Selecione o tamanho do quadro para processamento. Quadros menores reduzem o uso da CPU, mas podem ser menos precisos.
- Intervalo de Detecção: Defina a frequência de processamento do quadro, em milissegundos. Por exemplo, 200 equivale a 5 vezes por segundo, e 1000 equivale a uma vez por segundo.
- Limites de Largura e Limites de Altura: Defina a faixa de tamanho de objetos a serem detectados pelo Agente, expressa como uma porcentagem da largura ou altura do quadro. Ajustar esses controles deslizantes exibirá uma sobreposição no vídeo, indicando a faixa de tamanho dos objetos sendo alvo.
- Usar GPU: Opção para usar a GPU para processamento, disponível apenas se sua GPU suportar Cuda e os drivers necessários estiverem instalados.
- Arquivo: Escolha o arquivo de cascata HAAR para configurar o detector de objetos. Arquivos padrão são fornecidos para detectar rostos e rostos de gatos.
- Condição de Alerta e Número de Alerta: Configure o Agent para gerar alertas com base na detecção de objetos, dependendo do número de objetos detectados. Por exemplo, para acionar um alerta ao reconhecer um rosto, defina a condição como "Mais que" e o Número de Alerta como 0.
- Zonas de Alerta (v4.4.8.0+): Especifique as zonas de movimento a serem incluídas na área de monitoramento.
- Verificar Cantos: Para mais detalhes, consulte Verificando Cantos.
Verificação de Canto
O Agent utiliza um método sofisticado para determinar se objetos detectados devem acionar alertas ou ações com base na configuração da zona. Ele faz isso verificando o ponto central do objeto detectado e, opcionalmente, uma grade que se expande até os cantos da caixa delimitadora do objeto. Você pode ajustar esse recurso definindo uma porcentagem que representa a distância do ponto central até o canto da caixa delimitadora para verificações de zona. Essencialmente, uma configuração de 0 significa que apenas o ponto central é verificado, 100 verifica todos os cantos e 50 verifica os pontos médios entre o centro e cada canto do retângulo delimitador. Se você estiver recebendo numerosas notificações de eventos em que o objeto não parece estar dentro da zona designada, definir Verificar Cantos como 0 pode ser benéfico.
MQTT
Você tem a capacidade de iniciar a detecção de movimento a partir do seu servidor MQTT. Primeiro, certifique-se de ter configurado o MQTT adequadamente. Em seguida, para acionar a detecção de objetos, basta passar o comando indicado na tela de configuração do detector para o canal SERVIDOR/comandos onde SERVIDOR é o nome do seu servidor (exibido no menu do servidor que você pode editar em Configurações). Essa integração permite um sistema de detecção de movimento mais versátil e responsivo, aproveitando as capacidades do seu servidor MQTT.
ONVIF
Muitos dispositivos compatíveis com ONVIF vêm equipados com suas próprias capacidades de detecção de movimento. Quando você seleciona esse modo e o combina com uma câmera compatível com ONVIF (usando o tipo de conexão ONVIF no Agent), o Agent confiará no próprio dispositivo para fornecer eventos de detecção de movimento e acionar ações com base neles. Se você encontrar algum problema com essa funcionalidade, é aconselhável verificar os registros (acessíveis em /logs.html no servidor local), pois é possível que sua câmera não suporte a detecção ONVIF. Para obter mais informações sobre como configurar essas configurações, consulte Configurações do servidor ONVIF.
Detector de Pessoas
Este método utiliza um algoritmo especializado especificamente projetado para detectar pedestres. No entanto, você pode descobrir que usar o detector de objetos simples e integrar Deepstack AI para filtragem de alertas fornece melhores resultados.
- Usar GPU: Decida se deseja usar a GPU para processamento, disponível apenas se sua GPU suportar Cuda e os drivers necessários estiverem instalados.
- Tamanho do Quadro: Selecione o tamanho do quadro para processamento. Observe que quadros menores exigem menos CPU, mas podem produzir resultados menos precisos.
- Intervalo de Detecção: Defina a frequência para o processamento do quadro, em milissegundos. Por exemplo, 200 equivale a 5 vezes por segundo, enquanto 1000 equivale a uma vez por segundo.
- Condição de Alerta e Número de Alerta: Configure os critérios para gerar alertas com base no número de objetos detectados. Por exemplo, para acionar um alerta ao reconhecer um rosto, defina a condição como "Mais Que" e insira 0 no campo Número de Alerta.
- Zonas de Alerta (v4.4.8.0+): Escolha as zonas de movimento específicas que devem ser monitoradas dentro da área de detecção.
- Verificar Cantos: Para configurações mais detalhadas, consulte Verificando Cantos.
Reolink
Algumas câmeras Reolink oferecem um ponto de extremidade de API que o Agent pode consultar para receber estados de alerta de movimento ou IA. Se a sua câmera suportar essa funcionalidade, você pode utilizar esse detector. Para verificar se a sua câmera tem essa capacidade, tente acessar a URL: `http://[IP ADDRESS]/api.cgi?cmd=GetMdState&channel=0&rs=Get&user=[USERNAME]&password=[PASSWORD]` (substitua `[IP ADDRESS]`, `[USERNAME]` e `[PASSWORD]` pelo endereço IP da sua câmera e credenciais de login, respectivamente). Uma conexão bem-sucedida retornará um texto formatado em JSON em vez de uma página de erro.
- Intervalo: Determine a frequência com que o Agent consulta sua câmera em busca de alertas ou dados de movimento.
- Modo: Selecione entre 'Movimento' e 'IA'. Ambos os modos acionam eventos do detector de movimento no Agente, que podem ser usados para gravação (defina o modo de gravação para Detectar). A opção 'IA' aciona a detecção de movimento se a câmera identificar classes de objetos específicas (como dog_cat, face, people, vehicle).
Você pode configurar ações para executar tarefas quando objetos marcados como dog_cat, face, people ou vehicle são detectados, a partir da versão 4.6.6.0.
Nota: Para ativar a funcionalidade de IA, talvez seja necessário ativar o rastreamento na interface web da câmera e definir os parâmetros de tamanho mínimo e máximo do objeto. O Agent então marcará suas gravações com os objetos identificados pela Reolink.
Detecção de Velocidade
Este método utiliza informações da cena fornecidas por você para rastrear objetos em movimento, estimar sua velocidade e gerar alertas se os objetos estiverem se movendo muito rápido ou muito devagar.
- Avançado: Para configurações mais detalhadas, consulte a seção avançada abaixo.
- Limites de Largura e Altura: Defina a faixa de tamanho para detecção de objetos na cena, com valores expressos como uma porcentagem da largura ou altura da cena. Ajustar esses controles deslizantes exibirá uma sobreposição no vídeo, indicando a faixa de tamanho alvo dos objetos.
- Deslocamento Mínimo: Defina a distância mínima que um objeto deve percorrer para ser considerado em movimento, com base em uma porcentagem da largura da cena.
- Tempo Mínimo: Especifique a duração do tempo em que um objeto deve estar em movimento para ser rastreado, em décimos de segundo (por exemplo, 1 = 0,1 segundos, 10 = 1 segundo).
- Medição de Velocidade: Selecione a unidade de medida de velocidade preferida para a sobreposição.
- Limites de Velocidade: Determine os limites inferiores e superiores da detecção de velocidade. Movimentos fora dessa faixa acionarão eventos de detecção de movimento.
- Distância Horizontal e Vertical: Insira a distância total através da cena em metros. O Agent usa essa medida para calcular a velocidade dos objetos em movimento.
- Zonas de Alerta (v4.4.8.0+): Escolha quais zonas de movimento estão incluídas na área de monitoramento.
- Verificar Cantos: Para configurações adicionais, consulte Verificando Cantos.
Rastreamento de Objetos
Este detector identifica e rastreia objetos em movimento, disparando eventos de detecção de movimento com base na duração de sua presença na cena e na distância percorrida.
- Avançado: Para configurações e opções mais detalhadas, consulte a seção avançada abaixo.
- Limites de Largura e Limites de Altura: Especifique a faixa de tamanho para detecção de objetos, com valores dados como uma porcentagem da largura ou altura da cena. Ajustar esses controles deslizantes sobreporá uma representação visual da faixa de tamanho do objeto alvo no vídeo.
- Movimento Mínimo: Defina a distância mínima que um objeto deve percorrer para ser reconhecido como um objeto em movimento, em relação à largura da cena.
- Tempo Mínimo: Defina a duração mínima em que um objeto deve estar em movimento para ser considerado para rastreamento, em décimos de segundo (por exemplo, 1 = 0,1 segundos, 10 = 1 segundo).
- Total de Exibição: Adicione um contador à transmissão de vídeo ao vivo para acompanhar objetos em movimento.
- Mapa de Calor: Visualize padrões de movimento ao longo do tempo adicionando linhas aos objetos rastreados.
- Zonas de Alerta (v4.4.8.0+): Escolha quais zonas de movimento devem ser incluídas na área de monitoramento.
- Verificar Cantos: Para obter informações adicionais, consulte Verificando Cantos.
À medida que o Agent monitora e rastreia o movimento na cena, ele exibe retângulos coloridos ao redor dos objetos detectados. As cores têm os seguintes significados:
- Branco: Objeto acabou de ser detectado e está em consideração.
- Amarelo: Objeto detectado por vários quadros.
- Laranja: Objeto se moveu por pelo menos o tempo mínimo especificado nas configurações de rastreamento.
- Vermelho: Objeto atendeu a todos os requisitos de rastreamento para disparar um evento de detecção de movimento.
Linhas de Disparo
Este detector reconhece e rastreia objetos em movimento, acionando eventos de detecção de movimento quando eles cruzam linhas de disparo pré-definidas na cena. Para adicionar linhas de disparo, basta clicar e arrastar no vídeo ao vivo. Você pode criar várias linhas de disparo conforme necessário. Para remover uma linha de disparo, clique e arraste um dos pontos para fora da cena.
- Avançado: Para configurações e opções mais detalhadas, consulte a seção avançada abaixo.
- Limites de Largura e Limites de Altura: Defina a faixa de tamanho dos objetos a serem detectados, com valores expressos como uma porcentagem da largura ou altura da cena. Ajustar esses controles deslizantes sobreporá uma representação visual da faixa de tamanho alvo no vídeo.
- Deslocamento Mínimo: Especifique a distância mínima que um objeto deve percorrer para ser reconhecido como um objeto em movimento, em relação à largura da cena.
- Tempo Mínimo: Defina a duração mínima de tempo que um objeto deve estar em movimento para ser rastreado, em décimos de segundo (por exemplo, 1 = 0,1 segundos, 10 = 1 segundo).
- Disparo Repetido: Ative isso para permitir que um objeto acione a mesma linha de disparo várias vezes. Por padrão, um objeto só pode acionar uma linha de disparo uma vez.
- Contagem: Mostra uma contagem do número de vezes que os objetos cruzaram a linha de disparo, juntamente com a direção do cruzamento. As opções incluem contagem à esquerda, à direita, em ambas as direções ou total de cruzamentos.
- Alerta: Configure o sistema para gerar um alerta se a linha de disparo for cruzada em uma direção especificada ou em qualquer direção.
- Zonas de Alerta (v4.4.8.0+): Escolha quais zonas de movimento estão incluídas na área de monitoramento.
- Verificar Cantos: Para obter informações adicionais, consulte Verificação de Cantos.
Via API (Application Programming Interface)
Para iniciar a detecção de movimento para uma câmera usando uma chamada de API, você precisa especificar o tipo de objeto (ot) e o ID do objeto (oid). Por exemplo, para uma câmera (ot=2) com um ID de 1 (oid=1 - este ID é mostrado no topo do controle de edição ao editar um dispositivo), a chamada de API seria formatada da seguinte forma:http://localhost:8090/command/detect?ot=2&oid=1
Configurações Avançadas
As configurações padrão para os detectores geralmente são adequadas para a maioria das cenas, mas você pode ajustá-las para obter um desempenho aprimorado, se necessário.
- Analisador: O analisador atual disponível é o subtrator de plano de fundo CNT, conhecido por sua alta precisão e baixo uso da CPU.
- Tamanho do Quadro: Selecione o tamanho do quadro para processamento. Quadros menores reduzem o uso da CPU, mas podem diminuir a precisão.
- Rastreador: Escolha o rastreador OpenCV para rastreamento de objetos. As opções incluem:
- Mosse: Este rastreador oferece o menor uso da CPU, mas é o menos preciso (padrão).
- KCF: Mais preciso que o Mosse, mas um pouco mais intensivo em CPU.
- CSRT: A opção mais precisa, mas também usa mais CPU. Ideal para situações de rastreamento desafiadoras.
- Objetos Máximos: Defina um limite para o número de objetos a serem rastreados simultaneamente. Mais objetos significam maior uso da CPU.
- Intervalo de Detecção: Defina a frequência de processamento do quadro para detecção de movimento, em milissegundos (por exemplo, 200 para 5 vezes por segundo, 1000 para uma vez por segundo).
- Intervalo de Rastreamento: Defina a frequência de processamento do rastreador. Um intervalo maior pode perder objetos em movimento rápido (por exemplo, 200 para 5 vezes por segundo, 1000 para uma vez por segundo).
- Estabilidade de Pixel: Determine o número de amostras para que um pixel seja considerado estável e o 'crédito' máximo que um pixel pode receber por permanecer com a mesma cor. Essas configurações são cruciais para uma subtração de plano de fundo e detecção de movimento eficazes. Mais informações
- Usar Histórico: Ative isso para aprender sobre objetos em movimento consistentes na cena. Geralmente, é recomendado manter isso desativado, a menos que seja necessário.
- Processo Paralelo: Ative o processamento paralelo no algoritmo de detecção de movimento. É aconselhável manter isso ativado.
- Tempo Limite de Rastreamento: Especifique o tempo a esperar (em segundos) para que um objeto reapareça antes de parar de rastreá-lo.
- Tempo Limite de Movimento: Defina a duração (em segundos) para esperar que um objeto estacionário se mova novamente antes de interromper seu rastreamento.