Ultralytics YOLO27:

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

AI-powered security alarm system with object detection

O projeto de sistema de alarme de segurança que utiliza Ultralytics YOLO26 integra capacidades avançadas de visão computacional para melhorar as medidas de segurança. O YOLO26, desenvolvido pela Ultralytics, fornece deteção de objetos em tempo real, permitindo que o sistema identifique e responda rapidamente a potenciais ameaças à segurança. Este projeto oferece várias vantagens:

  • Deteção em tempo real: A eficiência do YOLO26 permite que o sistema de alarme de segurança detete e responda a incidentes de segurança em tempo real, minimizando o tempo de resposta.
  • Precisão: O YOLO26 é conhecido pela sua precisão na deteção de objetos, reduzindo falsos positivos e aumentando a fiabilidade do sistema de alarme de segurança.
  • Capacidades de integração: O projeto pode ser integrado perfeitamente na infraestrutura de segurança existente, fornecendo uma camada atualizada de vigilância inteligente.


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

Enviar alertas de segurança com YOLO26#

A solução SecurityAlarm acompanha objetos no teu fluxo de vídeo e envia um único alerta por e-mail com uma imagem anotada em anexo assim que o número de deteções atingir o limite records. Autentica uma conta do Gmail com uma palavra-passe de aplicação e, em seguida, executa a solução na tua fonte.

Palavra-passe de aplicativo necessária

Navega até ao Gerador de Palavras-passe de Aplicativos, designa um nome para a aplicação, como "security project", e obtém uma palavra-passe de 16 dígitos. Copia esta palavra-passe e cola-a no campo password no código abaixo.

Sistema de alarme de segurança com 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 executares o código, receberás uma única notificação por e-mail se algum objeto for detetado. A notificação é enviada imediatamente, não repetidamente. Podes personalizar o código de acordo com os requisitos do teu projeto.

Exemplo de e-mail recebido#

Security alert email notification example

Argumentos de SecurityAlarm#

Eis uma tabela com os argumentos de SecurityAlarm:

ArgumentoTipoPredefiniçãoDescrição
modelstrNoneCaminho para um ficheiro de modelo YOLO da Ultralytics.
recordsint5Contagem total de deteções necessária para acionar um e-mail com o sistema de alarme de segurança.
line_widthint2Espessura das linhas das caixas, dos pontos-chave e das contagens desenhados pela solução.
verboseboolTrueAtiva o registo por fotograma da solução, incluindo a forma da entrada, as contagens por classe e a velocidade de processamento. A chamada de rastreamento permanece sempre silenciosa.

A solução SecurityAlarm é compatível com vários 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 rastrear mais objetos, mas podem incluir falsos positivos.
ioufloat0.7Define o limiar de Interseção sobre a 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 selecionar entre CPU, uma GPU específica ou outros dispositivos de computação para executar o modelo.
imgszint or tuple640Tamanho da imagem de inferência alvo: um inteiro para um quadrado ou um par (height, width). As formas são ajustadas para o passo do modelo.
max_detint300Número máximo de detecções mantidas por quadro 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/não definido (FP32) para modelos PyTorch e TorchScript; outros formatos computam na precisão que o artefato e o tempo de execução selecionam. Substitui a flag obsoleta half.

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

ArgumentoTipoPredefiniçãoDescrição
showboolFalseSe True, apresenta as imagens ou vídeos anotados numa janela. É útil para obter feedback visual imediato durante o desenvolvimento ou os testes.
show_confboolTrueApresenta a pontuação de confiança de cada deteção junto à etiqueta. Permite compreender o grau de certeza do modelo em cada deteção.
show_labelsboolTrueApresenta etiquetas para cada deteção no resultado visual. Permite compreender imediatamente os objetos detetados.

Como funciona#

O sistema de alarme de segurança utiliza o acompanhamento de objetos para monitorizar fluxos de vídeo e detetar potenciais ameaças à segurança. Quando o sistema deteta objetos que excedem o limite especificado (definido pelo parâmetro records), envia automaticamente uma notificação por e-mail com uma imagem em anexo que mostra os objetos detetados.

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

  1. Processar frames e extrair deteções de objetos
  2. Anotar frames com caixas delimitadoras à volta dos objetos detetados
  3. Enviar notificações por e-mail quando os limites de deteção são excedidos

Esta implementação é ideal para segurança residencial, vigilância de lojas e outras aplicações de monitorização em que é fundamental receber uma notificação imediata dos objetos detetados.

Perguntas frequentes#

  • O Ultralytics YOLO26 melhora os sistemas de alarme de segurança ao fornecer deteção de objetos de alta precisão em tempo real. Os seus algoritmos avançados reduzem significativamente os falsos positivos, garantindo que o sistema responde apenas a ameaças reais. Esta maior fiabilidade pode ser integrada perfeitamente na infraestrutura de segurança existente, melhorando a qualidade geral da vigilância.

  • Sim, o Ultralytics YOLO26 pode ser integrado perfeitamente na tua infraestrutura de segurança existente. O sistema é compatível com vários modos e oferece flexibilidade para personalização, permitindo melhorar a configuração existente com capacidades avançadas de deteção de objetos. Para obter instruções detalhadas sobre a integração do YOLO26 nos teus projetos, visita a secção de integração.

  • A execução do Ultralytics YOLO26 numa configuração padrão requer normalmente cerca de 5 GB de espaço livre em disco. Isto inclui espaço para armazenar o modelo YOLO26 e quaisquer dependências adicionais. Para soluções baseadas na cloud, a Ultralytics Platform oferece uma gestão eficiente de projetos e um tratamento eficaz de conjuntos de dados, o que pode otimizar as necessidades de armazenamento. Obtém mais informações sobre o Plano Pro para funcionalidades avançadas, incluindo armazenamento alargado.

  • O Ultralytics YOLO26 oferece uma vantagem em relação a modelos como Faster R-CNN ou SSD graças às suas capacidades de deteção em tempo real e à sua maior precisão. A 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 de modelos de deteção de objetos, podes consultar o nosso guia.

  • Para reduzir os falsos positivos, garante que o teu modelo Ultralytics YOLO26 foi devidamente treinado com um conjunto de dados diversificado e bem anotado. O ajuste fino dos hiperparâmetros e a atualização regular do modelo com novos dados podem melhorar significativamente a precisão da deteção. Podes encontrar técnicas detalhadas de ajuste de hiperparâmetros no nosso guia de ajuste de hiperparâmetros.

Comentários