Ultralytics YOLO27:
Get Started

Projeto de sistema de alarme de segurança usando Ultralytics YOLO26#

AI-powered security alarm system with object detection

O projeto de sistema de alarme de segurança que utiliza Ultralytics YOLO26 integra recursos avançados de visão computacional para aprimorar as medidas de segurança. YOLO26, desenvolvido pela Ultralytics, oferece detecção de objetos em tempo real, permitindo que o sistema identifique e responda prontamente a possíveis ameaças à segurança. Este projeto oferece várias vantagens:

  • Detecção em tempo real: A eficiência de YOLO26 permite que o sistema de alarme de segurança detecte e responda a incidentes de segurança em tempo real, minimizando o tempo de resposta.
  • Precisão: YOLO26 é conhecido pela precisão na detecção de objetos, reduzindo os falsos positivos e aumentando a confiabilidade do sistema de alarme de segurança.
  • Recursos de integração: O projeto pode ser integrado perfeitamente à infraestrutura de segurança existente, adicionando uma camada aprimorada de vigilância inteligente.


Assista: Sistema de alarme de segurança com Ultralytics YOLO26 + Soluções Detecção de objetos

Envie alertas de segurança com YOLO26#

A solução SecurityAlarm acompanha objetos no fluxo de vídeo e envia um único alerta por e-mail com uma imagem anotada anexada assim que o número de detecções atinge o limite records. Autentique uma conta do Gmail com uma senha de app e execute a solução na sua fonte.

É necessária uma senha de app

Acesse o Gerador de senhas de app, defina um nome para o app, como "projeto de segurança", e gere uma senha de 16 caracteres. Copie essa senha e cole-a no campo password no código abaixo.

Sistema de alarme de segurança usando Ultralytics YOLO
import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"

# Gravador de vídeo
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
video_writer = cv2.VideoWriter("security_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

from_email = "abc@gmail.com"  # o endereço de e-mail do remetente
password = "---- ---- ---- ----"  # senha de app de 16 caracteres gerada em: https://myaccount.google.com/apppasswords
to_email = "xyz@gmail.com"  # o endereço de e-mail do destinatário

# Inicialize o objeto de alarme de segurança
securityalarm = solutions.SecurityAlarm(
    show=True,  # # Apresenta o resultado
    model="yolo26n.pt",  # por exemplo, yolo26s.pt, yolo26m.pt
    records=1,  # contagem total de detecções para enviar um e-mail
)

securityalarm.authenticate(from_email, password, to_email)  # autenticar o servidor de e-mail

# Processa o vídeo
while cap.isOpened():
    success, im0 = cap.read()

    if not success:
        print("Video frame is empty or video processing has been successfully completed.")
        break

    results = securityalarm(im0)

    # print(results)  # acessa a saída

    video_writer.write(results.plot_im)  # escreve o quadro processado.

cap.release()
video_writer.release()
cv2.destroyAllWindows()  # fecha todas as janelas abertas

Ao executar o código, você receberá uma única notificação por e-mail se algum objeto for detectado. A notificação é enviada imediatamente, e não repetidamente. Você pode personalizar o código de acordo com os requisitos do seu projeto.

Exemplo de e-mail recebido#

Security alert email notification example

Argumentos de SecurityAlarm#

Aqui está uma tabela com os argumentos de SecurityAlarm:

ArgumentoTipoPadrãoDescrição
modelstrNoneCaminho para um arquivo de modelo Ultralytics YOLO.
recordsint5Número total de deteções necessário para acionar um e-mail com o alarme de segurança.
line_widthint2Espessura das linhas das caixas, dos pontos-chave e das contagens desenhados pela solução.
verboseboolTrueAtiva o registro por quadro da solução, com o formato da entrada, as contagens por classe e a velocidade de processamento. A chamada de rastreamento em si é sempre silenciosa.

A solução SecurityAlarm oferece suporte a vários parâmetros de track:

ArgumentoTipoPadrãoDescrição
trackerstr'tracktrack.yaml'Especifica o algoritmo de rastreamento a utilizar. Opções integradas: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml.
conffloat0.25Define o limiar de confiança das deteções; valores mais baixos permitem rastrear mais objetos, mas podem incluir falsos positivos.
ioufloat0.7Define o limiar de interseção sobre união (IoU) para filtrar deteções sobrepostas.
classeslistNoneFiltra os resultados pelo índice da classe. Por exemplo, classes=[0, 2, 3] rastreia apenas as classes especificadas.
devicestrNoneEspecifica o dispositivo para a inferência (por exemplo, cpu, cuda:0 ou 0). Permite escolher entre CPU, uma GPU específica ou outros dispositivos de computação para executar o modelo.
imgszint or tuple640Tamanho da imagem de destino para a inferência: um número inteiro para uma imagem quadrada ou um par (height, width). As dimensões são ajustadas ao stride do modelo.
max_detint300Número máximo de deteções mantidas por fotograma antes do rastreamento, limitando os objetos que uma solução processa em cenas densas.
quantizeint or strNonePrecisão de inferência: 16 (FP16) ou 32/unset (FP32) para modelos PyTorch e TorchScript fora da CPU; os outros formatos usam a precisão selecionada pelo artefato e pelo ambiente de execução. Substitui o argumento obsoleto half.

Além disso, estão disponíveis as seguintes configurações de visualização:

ArgumentoTipoPadrãoDescrição
showboolFalseSe True, exibe as imagens ou os vídeos anotados em uma janela. Útil para obter feedback visual imediato durante o desenvolvimento ou os testes.
show_confboolTrueExibe a pontuação de confiança de cada detecção junto ao rótulo. Mostra o grau de certeza do modelo em cada detecção.
show_labelsboolTrueExibe os rótulos de cada detecção na saída visual. Permite identificar imediatamente os objetos detectados.

Como funciona#

O sistema de alarme de segurança usa rastreamento de objetos para monitorar transmissões de vídeo e detectar possíveis ameaças à segurança. Quando o número de objetos detectados em um quadro atinge o limite especificado (definido pelo parâmetro records), o sistema envia automaticamente uma notificação por e-mail com uma imagem anexada que mostra os objetos detectados.

O sistema utiliza a classe SecurityAlarm, que oferece métodos para:

  1. Processar quadros e extrair detecções de objetos
  2. Anotar quadros com caixas delimitadoras ao redor dos objetos detectados
  3. Enviar notificações por e-mail quando os limites de detecção forem atingidos

Essa implementação é ideal para segurança residencial, vigilância no varejo e outras aplicações de monitoramento em que é fundamental receber notificações imediatas sobre objetos detectados.

Perguntas frequentes#

  • O Ultralytics YOLO26 aprimora os sistemas de alarme de segurança ao oferecer detecção de objetos em tempo real e com alta precisão. Seus algoritmos avançados reduzem significativamente os falsos positivos, garantindo que o sistema responda apenas a ameaças reais. Essa maior confiabilidade pode ser integrada perfeitamente à infraestrutura de segurança existente, elevando a qualidade geral da vigilância.

  • Sim, o Ultralytics YOLO26 pode ser integrado perfeitamente à sua infraestrutura de segurança existente. O sistema oferece suporte a vários modos e permite personalizações, possibilitando aprimorar a configuração existente com recursos avançados de detecção de objetos. Para obter instruções detalhadas sobre como integrar o YOLO26 aos seus projetos, acesse a seção de integração.

  • Em uma configuração padrão, a execução do Ultralytics YOLO26 normalmente exige cerca de 5 GB de espaço livre em disco. Esse espaço inclui o necessário para armazenar o modelo YOLO26 e outras dependências. Para soluções em nuvem, a Ultralytics Platform oferece gerenciamento eficiente de projetos e tratamento de conjuntos de dados, o que pode otimizar as necessidades de armazenamento. Saiba mais sobre o Plano Pro e seus recursos avançados, incluindo mais espaço de armazenamento.

  • O Ultralytics YOLO26 se destaca em relação a modelos como Faster R-CNN ou SSD por oferecer detecção em tempo real e maior precisão. Sua arquitetura exclusiva permite processar imagens muito mais rapidamente sem comprometer a precisão, tornando-o ideal para aplicações sensíveis ao tempo, como sistemas de alarme de segurança. Para uma comparação abrangente entre modelos de detecção de objetos, consulte nosso guia.

  • Para reduzir os falsos positivos, verifique se o modelo Ultralytics YOLO26 foi treinado adequadamente com um conjunto de dados diversificado e bem anotado. Ajustar os hiperparâmetros e atualizar o modelo regularmente com novos dados pode melhorar significativamente a precisão da detecção. Você encontra técnicas detalhadas de ajuste de hiperparâmetros no nosso guia de ajuste de hiperparâmetros.

Comentários