Saltar para o conteúdo

Projeto de sistema de alarme de segurança utilizando Ultralytics YOLO11

Sistema de alarme de segurança

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

  • Deteção em tempo real: a eficiência do YOLO11 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: YOLO11 é conhecido pela sua precisão na deteção de objectos, reduzindo os falsos positivos e aumentando a fiabilidade do sistema de alarme de segurança.
  • Capacidades de integração: O projeto pode ser perfeitamente integrado na infraestrutura de segurança existente, proporcionando uma camada melhorada de vigilância inteligente.



Ver: Sistema de alarme de segurança com Ultralytics YOLO11 + Soluções Deteção de objectos

Nota

É necessário gerar a palavra-passe da aplicação

  • Navegar para Gerador de senhas de aplicaçõesdesigne um nome de aplicação, como "projeto de segurança", e obtenha uma palavra-passe de 16 dígitos. Copie esta palavra-passe e cole-a no ficheiro 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="yolo11n.pt",  # i.e. yolo11s.pt, yolo11m.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

É isso mesmo! Quando executar o código, receberá uma única notificação no seu e-mail se for detectado algum objeto. A notificação é enviada imediatamente, não repetidamente. No entanto, sinta-se à vontade para personalizar o código de acordo com os requisitos do seu projeto.

Amostra de correio eletrónico recebido

Amostra de correio eletrónico recebido

SecurityAlarm Argumentos

Aqui está uma tabela com os SecurityAlarm argumentos:

Argumento Tipo Predefinição Descrição
model str None Caminho para o ficheiro do modelo Ultralytics YOLO .
records int 5 Contagem total de detecções para acionar um e-mail com o sistema de alarme de segurança.

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

Argumento Tipo Predefinição Descrição
tracker str 'botsort.yaml' Especifica o algoritmo de seguimento a utilizar, por exemplo, bytetrack.yaml ou botsort.yaml.
conf float 0.3 Define o limiar de confiança para as detecções; valores mais baixos permitem o seguimento de mais objectos, mas podem incluir falsos positivos.
iou float 0.5 Define o limiar de Intersecção sobre União (IoU) para filtrar detecções sobrepostas.
classes list None Filtra os resultados por índice de classe. Por exemplo, classes=[0, 2, 3] só rastreia as classes especificadas.
verbose bool True Controla a apresentação dos resultados do seguimento, fornecendo uma saída visual dos objectos seguidos.
device str None Especifica o dispositivo para inferência (por exemplo, cpu, cuda:0 ou 0). Permite aos utilizadores selecionar entre CPU, um GPU específico, ou outros dispositivos de computação para a execução do modelo.

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

Argumento Tipo Predefinição Descrição
show bool False Se Trueapresenta as imagens ou vídeos anotados numa janela. Útil para feedback visual imediato durante o desenvolvimento ou teste.
line_width None or int None Especifica a largura da linha das caixas delimitadoras. Se NoneA largura da linha é ajustada automaticamente com base no tamanho da imagem. Proporciona uma personalização visual para maior clareza.

Como funciona

O sistema de alarme de segurança utiliza rastreio de objectos para monitorizar as transmissões de vídeo e detetar potenciais ameaças à segurança. Quando o sistema detecta objectos que excedem o limiar especificado (definido pelo records ), envia automaticamente uma notificação por correio eletrónico com uma imagem anexa que mostra os objectos detectados.

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

  1. Processar fotogramas e extrair detecções de objectos
  2. Anotar fotogramas com caixas delimitadoras à volta dos objectos detectados
  3. Enviar notificações por correio eletrónico quando os limites de deteção são ultrapassados

Esta implementação é ideal para segurança doméstica, vigilância de lojas e outras aplicações de monitorização em que a notificação imediata de objectos detectados é fundamental.

FAQ

Como é que o Ultralytics YOLO11 melhora a precisão de um sistema de alarme de segurança?

Ultralytics YOLO11 melhora os sistemas de alarme de segurança, fornecendo uma deteção de objectos de elevada precisão e em tempo real. Os seus algoritmos avançados reduzem significativamente os falsos positivos, assegurando que o sistema apenas responde a ameaças genuínas. Esta maior fiabilidade pode ser perfeitamente integrada na infraestrutura de segurança existente, melhorando a qualidade geral da vigilância.

Posso integrar o Ultralytics YOLO11 na minha infraestrutura de segurança existente?

Sim, o Ultralytics YOLO11 pode ser perfeitamente integrado na sua infraestrutura de segurança existente. O sistema suporta vários modos e oferece flexibilidade para personalização, permitindo-lhe melhorar a sua configuração existente com capacidades avançadas de deteção de objectos. Para obter instruções detalhadas sobre a integração do YOLO11 nos seus projectos, visite a secção de integração.

Quais são os requisitos de armazenamento para executar Ultralytics YOLO11 ?

A execução do Ultralytics YOLO11 numa configuração padrão requer normalmente cerca de 5 GB de espaço livre em disco. Isso inclui espaço para armazenar o modelo YOLO11 e quaisquer dependências adicionais. Para soluções baseadas na nuvem, oUltralytics HUB oferece gestão eficiente de projectos e manuseamento de conjuntos de dados, o que pode otimizar as necessidades de armazenamento. Saiba mais sobre o Plano Pro para obter funcionalidades melhoradas, incluindo armazenamento alargado.

O que torna o Ultralytics YOLO11 diferente de outros modelos de deteção de objectos como o Faster R-CNN ou o SSD?

Ultralytics YOLO11 oferece uma vantagem sobre modelos como o Faster R-CNN ou SSD com as suas capacidades de deteção em tempo real e maior precisão. A sua arquitetura única permite-lhe 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 dos modelos de deteção de objectos, pode explorar o nosso guia.

Como posso reduzir a frequência de falsos positivos no meu sistema de segurança utilizando Ultralytics YOLO11 ?

Para reduzir os falsos positivos, certifique-se de que o seu modelo Ultralytics YOLO11 é adequadamente 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. As técnicas detalhadas de afinação de hiperparâmetros podem ser encontradas no nosso guia de afinação de hiperparâmetros.

📅C riado há 1 ano ✏️ Atualizado há 6 dias

Comentários