IA: Servidores

Sobre

Agent DVR integra-se totalmente com servidores de IA como DeepStack AI, CodeProject AI, PlateRecognizer.com, Claude, Gemini, OpenAI (ChatGPT) e LLMs locais como Ollama, vLLM e LM Studio para adicionar filtragem inteligente de alertas, reconhecimento de objetos, reconhecimento de cenas e controle inteligente de eventos.

Além do DeepStack e do CodeProject AI, você também pode usar outros servidores de IA que suportam a mesma API:

Reconhecimento de Objetos & Visão Computacional
Serviços de IA na Nuvem
Servidores de IA Locais (LLMs)
Nota: Os serviços de IA na nuvem requerem chaves de API e podem incorrer em custos de uso. Os servidores de IA locais funcionam em seu próprio hardware e mantêm os dados privados, mas requerem mais recursos do sistema.

Adicionando modelos de IA

Para adicionar seus próprios arquivos de modelo no Agent DVR, vá para Configurações do Servidor > Configurações de IA e clique em Configurar sob Modelos de IA. O Agent vem com dois modelos pré-construídos que foram otimizados para o Agent DVR.

Antes de configurar um modelo, você precisará adicioná-lo à pasta Modelos do Agent DVR. Isso geralmente é encontrado em Agent/Mídia/Modelos (o caminho pode variar conforme o sistema operacional). O caminho completo é exibido na página Adicionar Modelo se você não tiver certeza. O Agent utiliza modelos .onnx. Você pode converter outros formatos de modelos de IA para ONNX usando ferramentas Python.

Uma vez que você tenha construído e copiado o modelo, adicioná-lo ao Agent é fácil - clique para adicionar um modelo:

  • Nome: Dê um nome ao seu modelo - isso pode ser qualquer coisa que você desejar.
  • Arquivo do Modelo: Selecione o nome do arquivo do modelo que você copiou para a pasta.
  • Rótulos: Insira uma lista de rótulos (ou "classes") que seu modelo procura em formato CSV sem aspas (espaços são automaticamente removidos).
  • Layout: Selecione se seu modelo é NCHW ou NHWC. A maioria dos modelos é NCHW se você não tiver certeza.
  • Ordem dos Canais: Selecione se seu modelo deseja imagens em RGB ou BGR. A maioria dos modelos usa RGB. Se seu modelo for de canal único (escala de cinza), isso será ignorado.
  • Normalizar: Selecione como os dados devem ser normalizados antes de serem usados em seu modelo. A maioria dos modelos usa normalização de 0-1 (divida os valores dos pixels por 255).
  • Preencher Imagem: Isso controla se a imagem deve ser esticada para as dimensões de entrada ou preenchida com barras pretas. Geralmente, é melhor preencher as imagens para maior precisão.
  • Possui NMS: Marque isso se seu modelo já realiza Supressão de Não-Máximos internamente. Caso contrário, o Agent realizará o NMS por conta própria. O NMS controla como os retângulos de resultado são filtrados.
  • NMS Padrão: Defina o limitador de sobreposição para o NMS (o padrão é 45% de sobreposição).

Uma vez que você tenha adicionado seu modelo, ele estará disponível para uso na aba de Reconhecimento de Objetos do seu dispositivo. Se você tiver problemas, pode voltar à configuração do modelo e fazer alterações. O Agent também suporta recarregar o arquivo do modelo, então você pode copiá-lo com uma nova versão enquanto está em execução.

Configurando Servidores de IA

Lista de Servidores de IA

Para configurar Servidores de IA, clique no ícone no canto superior esquerdo da interface principal do Agent DVR. Em seguida, clique em Configurações sob Configuração, selecione Configurações de IA no menu suspenso e clique em Configurar sob Servidores de IA.

O Agent DVR integra-se com CodeProject.AI para vários recursos de IA, incluindo reconhecimento de objetos, reconhecimento facial, ALPR (Reconhecimento Automático de Placas) e super resolução (melhorar). O PlateRecognizer.com também é suportado como um provedor de ALPR. O CodeProject.AI é de código aberto, gratuito e compatível com a maioria das plataformas.

Para começar, instale um servidor de IA para sua plataforma e conecte o Agent DVR a ele clicando no botão Configurar e depois em Adicionar.

Você pode adicionar quantos servidores de IA ao Agent DVR forem necessários. As câmeras no Agent DVR podem ser configuradas para usar diferentes servidores de IA para cada função, ou você pode usar um servidor de IA para todas as tarefas.

Aviso: O processamento de IA pode ser intensivo em recursos. Certifique-se de que seu computador tenha potência adequada para executá-lo.
Configurando seu Servidor
  • Nome: Nomeie seu servidor, por exemplo, Cat Catcher.
  • URL do Servidor de IA: Insira a URL do seu servidor de IA, por exemplo, http://localhost:32168/
  • Chave da API: Insira sua chave se configurada (opcional).
  • Tempo limite: O tempo limite em segundos para solicitações ao servidor.
  • Atraso de nova tentativa: O tempo em segundos antes de tentar novamente uma solicitação falhada para este servidor.

Clique em OK para salvar suas configurações.

Usando OpenAI

Para configurar o OpenAI ("Chat GPT") para responder perguntas sobre o que está acontecendo em sua transmissão de vídeo, navegue até Configurações do Servidor - Servidores de IA e selecione "Open AI" em Perguntar à IA.

  • URL: Insira o URL do serviço. O padrão é "https://api.openai.com/v1/chat/completions".
  • Chave da API OpenAI: Após se registrar na OpenAI, acesse a Página de Chaves da API e gere uma nova chave secreta. Copie e cole esta chave no campo especificado.
  • Modelo: Especifique o modelo a ser usado. O padrão é gpt-4o. A OpenAI pode remover ou alterar isso posteriormente.
  • Máximo de Tokens: Isso define o uso máximo de tokens por solicitação. Se encontrar problemas, verifique os logs em /logs.html, pois pode estar relacionado ao uso de tokens.

Depois de configurar o OpenAI, consulte Perguntar à IA para obter instruções sobre como usá-lo para responder a perguntas gerais sobre o que está acontecendo em sua transmissão de câmera.

Usando a Nuvem

Para configurar o Claude AI para responder perguntas sobre o que está acontecendo no seu feed de vídeo, navegue até Configurações do Servidor - Servidores de IA e selecione "Claude" em Perguntar à IA.

  • URL: Insira o URL do serviço. O padrão é "https://api.anthropic.com/v1/messages".
  • Chave da API do Claude: Depois de se inscrever no Claude, visite a Página de Chaves da API e crie uma nova chave secreta. Copie e cole essa chave no campo.
  • Versão: Especifique a versão a ser usada. O padrão é 2023-06-01. Isso pode ser removido ou alterado em algum momento pela Anthropic.
  • Modelo: Especifique o modelo a ser usado. O padrão no momento da escrita é claude-3-sonnet-20240229.
  • Máximo de Tokens: Isso controla o gasto máximo de tokens por solicitação. Verifique os logs em /logs.html se tiver problemas, pois pode estar relacionado ao gasto de tokens.

Depois que o Claude estiver configurado, consulte Perguntar à IA para saber como usá-lo para reconhecer cenários gerais no feed da sua câmera.

Usando Gemini

Para configurar o Gemini para responder perguntas sobre o que está acontecendo no seu feed de vídeo, navegue até Configurações do Servidor - Servidores de IA e selecione "Gemini" em Perguntar à IA.

  • URL: Insira o URL do serviço. O padrão é "https://generativelanguage.googleapis.com".
  • Chave da API do Gemini: Depois de se inscrever no Gemini, visite a Página de Chaves da API e crie uma nova chave secreta. Copie e cole esta chave no campo.
  • Versão: Especifique a versão a ser usada. O padrão é v1beta. Isso pode ser removido ou alterado em algum momento pelo Google.
  • Modelo: Especifique o modelo a ser usado. O padrão no momento da escrita é gemini-1.5-flash.
  • Máximo de Tokens: Isso controla o gasto máximo de tokens por solicitação. Verifique os logs em /logs.html se tiver problemas, pois pode estar relacionado ao gasto de tokens.

Depois que o Gemini estiver configurado, consulte Perguntar à IA para saber como usá-lo para reconhecer cenários gerais no feed da sua câmera.

Usando outros servidores LLM

A partir da v6.5.3.0+, você pode usar seus próprios servidores LLM locais (como vLLM, Ollama e LM Studio) para descrever as imagens que o Agent DVR captura de suas câmeras em eventos de Alerta e responder perguntas sobre o que está acontecendo em seus fluxos de vídeo. Veja AI Describe e Ask AI.

Para configurar um servidor de IA local, vá para Configurações do Servidor - Servidores de IA e clique no botão Configurar ao lado do LLM que você deseja usar (Ollama, vLLM ou LM Studio).

  • URL: Especifique o endpoint onde seu servidor LLM está em execução. As URLs padrão são:
    • Ollama:
      http://localhost:11434/api/chat
    • vLLM:
      http://localhost:8000/v1/chat/completions
    • LM Studio:
      http://localhost:1234/v1/chat/completions
  • API Key: Se seu servidor LLM requer autenticação, insira a chave da API aqui. A maioria dos servidores locais não requer isso, a menos que configurados especificamente.
  • Modelo: Selecione o modelo capaz de visão a ser usado para análise de imagens. Você deve ter baixado e carregado esse modelo em seu servidor LLM. Opções populares incluem:
    • Modelos LLaVA (visão de propósito geral)
    • Qwen2-VL (alto desempenho)
    • Llama 3.2 Vision (último da Meta)
  • Temperatura: Controla a criatividade versus precisão nas respostas (0.0-1.0). Valores mais baixos (0.3-0.4) produzem descrições mais factuais e consistentes. Valores mais altos (0.6-0.8) geram respostas mais variadas e criativas. Recomendado: 0.4 para análise de câmeras de segurança.
  • Max Tokens: Número máximo de palavras/tokens na resposta da IA. Valores mais altos permitem descrições mais detalhadas, mas levam mais tempo para gerar. Recomendado: 300-500 para análise detalhada de imagens, 150-250 para descrições breves.
  • top_p: Controla a diversidade da resposta limitando a seleção de vocabulário (0.0-1.0). Valores mais baixos usam palavras mais comuns, valores mais altos permitem um vocabulário mais variado. Recomendado: 0.9 para um bom equilíbrio entre precisão e linguagem natural.
  • top_k: Limita o modelo a escolher entre as K palavras mais prováveis a seguir. Valores mais baixos (20-40) produzem respostas mais focadas, valores mais altos (80-100) permitem mais variedade. Recomendado: 50 para descrições de imagem confiáveis.
Nota: Você deve instalar e configurar seu servidor LLM escolhido separadamente. Certifique-se de ter baixado um modelo capaz de visão antes de configurar o Agent DVR. Para melhores resultados com câmeras de segurança, use modelos com pelo menos 7B parâmetros e assegure-se de que seu sistema tenha VRAM adequada (5GB+ recomendado).

Usando PlateRecognizer.com

Para configurar o LPR (ANPR ou Reconhecimento de Placas de Licença) no Agent DVR, vá para Configurações do Servidor - Configurações de IA e insira os detalhes em Plate Recognizer. Inscreva-se para um teste gratuito em Plate Recognizer. Não é necessário cartão de crédito.

  • URL: Insira a URL do serviço. O padrão é "https://api.platerecognizer.com/v1/plate-reader/", ou use seu próprio servidor se estiver hospedando sua própria instância.
  • Token: Após se inscrever no Plate Recognizer, visite a Página da Conta e copie o Token da API.
  • Regiões: Deixe em branco para o padrão ou insira uma lista CSV de regiões.
  • Configuração: Insira valores de configuração adicionais dos documentos se necessário.

Usando o DoubleTake

DoubleTake é uma plataforma de código aberto que fornece uma API unificada para processamento de reconhecimento facial usando:

  • CompreFace
  • Amazon Rekognition
  • DeepStack
  • CodeProject.AI Server
  • Facebox

Você precisará instalar e configurar DoubleTake com suas opções de reconhecimento facial preferidas.

Uma vez que o DoubleTake esteja configurado, abra o Agent DVR e vá para Configurações do Servidor - Servidores de IA e clique no botão Configurar ao lado do DoubleTake.

Insira a URL do seu servidor doubletake (por exemplo, http://localhost:3000/) e sua senha, se configurada.

Clique em OK, depois edite uma câmera e vá para Reconhecimento Facial. Defina a opção do Servidor de IA para DoubleTake e configure o reconhecimento facial conforme necessário.

Gerenciando Módulos de IA

Módulos de IA

Na lista de servidores de IA (referenciada acima), você tem opções para configurar, testar, editar e remover servidores de IA. Clique no botão de configuração para exibir os módulos disponíveis ou instalados no servidor selecionado.

O Agent DVR recupera a lista de módulos atual do seu servidor e oferece uma interface de usuário para instalar, desinstalar, configurar e testar cada módulo. O suporte é fornecido para todos os módulos padrão CodeProject.UI, embora o Agent DVR utilize apenas um subconjunto desses.

É recomendado instalar apenas uma das opções de módulo de Reconhecimento de Objetos. Revise a descrição de cada um para determinar o melhor ajuste para o seu sistema.

Para utilizar o Reconhecimento Automático de Placas (ALPR), Super Resolução ou Reconhecimento Facial no Agent DVR, você precisará instalar o respectivo módulo desta página. Normalmente, as configurações padrão são suficientes para esses módulos, mas você pode configurá-los clicando no ícone de configuração em cada módulo.