YOLO Vision 2026:

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 utilizando Ultralytics YOLO26 integra recursos avançados de visão computacional para aprimorar as medidas de segurança. O YOLO26, desenvolvido pela Ultralytics, oferece detecção de objetos em tempo real, permitindo que o sistema identifique e responda rapidamente a potenciais ameaças de segurança. Este projeto oferece várias vantagens:

  • Detecção em Tempo Real: A eficiência do 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: O YOLO26 é conhecido por sua precisão na detecção de objetos, reduzindo falsos positivos e aumentando a confiabilidade do sistema de alarme de segurança.
  • Capacidades de Integração: O projeto pode ser integrado perfeitamente à infraestrutura de segurança existente, fornecendo uma camada atualizada de vigilância inteligente.


Watch: Security Alarm System with Ultralytics YOLO26 + Solutions Object Detection

Envia alertas de segurança com YOLO26#

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

Nota

A Geração de Senha de Aplicativo é necessária

  • Navegue até o Gerador de Senha de App, indique um nome de aplicativo como "projeto de segurança" e obtenha uma senha de 16 dígitos. Copie esta senha e cole-a no campo designado 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"

# Video writer
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"  # the sender email address
password = "---- ---- ---- ----"  # 16-digits password generated via: https://myaccount.google.com/apppasswords
to_email = "xyz@gmail.com"  # the receiver email address

# Initialize security alarm object
securityalarm = solutions.SecurityAlarm(
    show=True,  # display the output
    model="yolo26n.pt",  # e.g., yolo26s.pt, yolo26m.pt
    records=1,  # total detections count to send an email
)

securityalarm.authenticate(from_email, password, to_email)  # authenticate the email server

# Process video
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)  # access the output

    video_writer.write(results.plot_im)  # write the processed frame.

cap.release()
video_writer.release()
cv2.destroyAllWindows()  # destroy all opened windows

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

Exemplo de E-mail Recebido#

Security alert email notification example

Argumentos do SecurityAlarm#

Aqui tens uma tabela com os argumentos do SecurityAlarm:

ArgumentoTipoPredefiniçãoDescrição
modelstrNoneCaminho para um ficheiro de modelo YOLO da Ultralytics.
recordsint5Contagem total de deteções para disparar um e-mail com o sistema de alarme de segurança.
line_widthint2Espessura da linha para as caixas, pontos-chave e contagens que a solução desenha.
verboseboolTrueAtiva o registro por quadro da solução contendo formato de entrada, contagens de classes e velocidade de processamento. A chamada de rastreamento em si é sempre silenciosa.

A solução SecurityAlarm suporta uma variedade de parâmetros track:

ArgumentoTipoPredefiniçãoDescrição
trackerstr'botsort.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 para as deteções; valores mais baixos permitem que mais objetos sejam rastreados, mas podem incluir falsos positivos.
ioufloat0.7Define o limiar de Intersection over Union (IoU) para filtrar deteções sobrepostas.
classeslistNoneFiltra resultados por índice de classe. Por exemplo, classes=[0, 2, 3] rastreia apenas as classes especificadas.
devicestrNoneEspecifica o dispositivo para inferência (por exemplo, cpu, cuda:0 ou 0). Permite aos utilizadores selecionar entre CPU, uma GPU específica ou outros dispositivos de computação para a execução do modelo.

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

ArgumentoTipoPredefiniçãoDescrição
showboolFalseSe True, exibe as imagens ou vídeos anotados em uma janela. Útil para feedback visual imediato durante o desenvolvimento ou teste.
show_confboolTrueExibe a pontuação de confiança para cada detecção ao lado do rótulo. Fornece uma visão sobre a certeza do modelo para cada detecção.
show_labelsboolTrueExibe rótulos para cada detecção na saída visual. Fornece compreensão imediata dos objetos detectados.

Como Funciona#

O sistema de alarme de segurança usa rastreamento de objetos para monitorar feeds de vídeo e detectar potenciais ameaças de segurança. Quando o sistema detecta objetos que excedem o limite especificado (definido pelo parâmetro records), ele envia automaticamente uma notificação por e-mail com um anexo de imagem mostrando os objetos detectados.

O sistema aproveita a classe SecurityAlarm que fornece 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 excedidos

Esta implementação é ideal para segurança residencial, vigilância de varejo e outras aplicações de monitoramento onde a notificação imediata de objetos detectados é crítica.

FAQ#

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

  • Sim, o Ultralytics YOLO26 pode ser integrado perfeitamente à sua infraestrutura de segurança existente. O sistema suporta vários modos e oferece flexibilidade para personalização, permitindo que você aprimore sua configuração existente com recursos avançados de detecção de objetos. Para instruções detalhadas sobre a integração do YOLO26 em seus projetos, visite a seção de integração.

  • Executar o Ultralytics YOLO26 em uma configuração padrão normalmente requer cerca de 5 GB de espaço livre em disco. Isso inclui espaço para armazenar o modelo YOLO26 e quaisquer dependências adicionais. Para soluções baseadas em nuvem, a Ultralytics Platform oferece gerenciamento eficiente de projetos e manipulação de conjuntos de dados, o que pode otimizar as necessidades de armazenamento. Saiba mais sobre o Plano Pro para recursos aprimorados, incluindo armazenamento estendido.

  • O Ultralytics YOLO26 oferece uma vantagem sobre modelos como Faster R-CNN ou SSD com seus recursos de detecção em tempo real e maior precisão. Sua arquitetura exclusiva permite processar imagens muito mais rápido 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 de modelos de detecção de objetos, você pode explorar nosso guia.

  • Para reduzir falsos positivos, garanta que seu modelo Ultralytics YOLO26 seja treinado adequadamente com um conjunto de dados diversificado e bem anotado. Ajustar hiperparâmetros e atualizar regularmente o modelo com novos dados pode melhorar significativamente a precisão da detecção. Técnicas detalhadas de ajuste de hiperparâmetros podem ser encontradas em nosso guia de ajuste de hiperparâmetros.

Comentários