Monitorar câmeras de segurança com IA local
(frigate.video)- Frigate NVR é uma solução de detecção de objetos baseada em inteligência artificial local para câmeras de segurança instaladas em casa ou no escritório
- Suporta integração com plataformas populares de automação como Home Assistant, OpenHab e NodeRed
- O Frigate se integra diretamente ao Home Assistant Media Browser, permitindo uso imediato do feed da câmera e de automações
- Com a exposição de dados sensores e switches em tempo real, é possível criar vários cenários de alertas e automação
- A interoperabilidade com capacidade de expansão baseada em MQTT permite construir uma smart home eficiente
Principais recursos do Frigate NVR
- O Frigate NVR executa a IA de detecção de objetos localmente, permitindo analisar o vídeo de câmeras de segurança sem depender de serviços externos de nuvem
- Pode ser integrado ao Home Assistant, OpenHab, NodeRed, facilitando a integração com várias plataformas de automação residencial
- O Frigate mostra o vídeo da câmera diretamente no Home Assistant Media Browser, fornecendo uma entidade de câmera de baixa latência
- Expõe em tempo real resultados de detecção de objetos como dados de sensores e switches, oferecendo possibilidades como detecção de eventos baseada em vídeo, regras de automação e configurações de alerta
- Com o suporte ao protocolo MQTT, tem como ponto forte a integração escalável com outros sistemas IoT e de automação
1 comentários
Comentário do Hacker News
Eu já utilizei o Frigate por mais de dois anos, e em termos de velocidade e confiabilidade de detecção foi muito melhor que qualquer sistema que já usei. Antes também usei Ring, Tapo e Eufy Security, mas atualmente apenas conecto câmeras Tapo ao Frigate por stream RTSP. Bloqueei o acesso dessas câmeras à Internet para que a privacidade fique totalmente garantida. O Eufy Security era impossível de confiar: toda vez que eu clicava na notificação de detecção de movimento, ele exibia anúncio de novo produto, priorizando publicidade em vez da própria segurança. Também tinha problema de vídeo em nuvem não abrir mesmo com assinatura paga e de salvar credenciais de segurança, como senha, sem criptografia. Esses pontos foram os principais motivos para eu migrar para uma solução self-hosted. O Frigate usa hardware de segunda mão com RX 550 e aceleração por hardware ativada, mantendo latência de detecção sempre abaixo de 1 segundo. Criei um app usando a API do Frigate para enviar alertas com screenshot via Telegram e Pushover, sustentando o setup autossuficiente há dois anos. Nesse período, reiniciei o serviço só duas vezes. Faço tunelamento de um VPS para o servidor local da casa e o uso perfeitamente de fora. Muito grato por esse projeto incrível
wget get.hacs.xyz, dá erro de SSL e a conexão caiUma reclamação que costumo fazer: na primeira frase você usou a sigla NVR sem explicar. NVR é abreviação de Networked Video Recorder. Como ninguém é expert nesse campo, preferia não fazer assim
GPU e TPU não são obrigatórios. Basta ter poucas câmeras e ajustar bem as áreas de detecção. Eu uso substream MJPEG de baixa resolução/fps para detecção e h264 apenas para gravação/visualização. Para inferência em CPU, OpenVINO é bem mais rápido que TensorFlow padrão, e em uma VM de 6 núcleos (Ivy Bridge Xeon) com duas câmeras o uso da CPU fica perto de 20%
A aceleração de vídeo (decodificação de vídeo, não reconhecimento de objeto) é um pouco instável, mas depois disso foi a melhor experiência em solução de reconhecimento de objetos em tempo real que já tive. Não acordo mais de madrugada por causa de bichos pequenos. Vale notar que o plano anual que pago ajuda a treinar modelos de IA com os dados de falso positivo que forneço. A precisão melhorou bastante por causa disso
O nível de acabamento do Frigate surpreende. O go2rtc e o MediaMTX (go2rtc, MediaMTX) já cobrem o básico, mas se quiser incluir processamento de IA não há uma ferramenta Unix-like fácil; acaba sendo necessário implementar em Python
Se a ideia não for processar vídeo gravado em tempo real, por exemplo extrair de um vídeo de 5 horas apenas cenas em que um carro passa por um local ou o motorista está com o celular na mão, fico curioso sobre por onde começar e qual framework usar
Uma pergunta meio de brincadeira: se alguém pegar uma placa grande dizendo para ignorar o sistema de segurança, não seria isso o suficiente para neutralizar?
Eu uso Frigate com 5 câmeras IP (3 Hikvision, 2 Amcrest) e 1 câmera USB. Com uma USB Coral TPU, no i7-6700 antigo ele roda suave com CPU em torno de 30%. Não é perfeito, mas dá para usar. O vídeo da Amcrest toca bem, mas Hikvision às vezes precisa de transcodificação por compatibilidade de codec. Não existe função embutida para enviar vídeo gravado para fora; mesmo espelhando o diretório de armazenamento, era estruturalmente difícil fazer backup só de eventos importantes
GPU e TPU não são obrigatórios; se você ajustar bem o número de câmeras e áreas de detecção, CPU basta. A experiência foi compartilhada com vários modelos (OpenVINO, TensorFlow etc.)
Uma observação meio fora do escopo: por que ainda instalar câmeras de segurança sob monitoramento próprio? Há estudo de psicologia mostrando que isso aumenta estresse e ansiedade. Na prática, não ajuda muito na prevenção de crimes, e para investigação policial ou prova de seguro parece necessário backup offsite. Mesmo com muito CCTV no país, há pouquíssimos casos em que isso contribui de fato para solução de crimes (como identificação de placa de veículo, por exemplo)
Sou usuário antigo de Frigate, há 4 anos. Usei só o Frigate sem Home Assistant, mas recentemente reativei o Home Assistant para conectar o stream WebRTC da câmera Nest ao Frigate. Agora posso usar o mesmo com economia, sem assinatura do Nest Aware