Link to this sectionProjeto de Sistema de Alarme de Segurança Usando Ultralytics YOLO26#
O Projeto de Sistema de Alarme de Segurança utilizando Ultralytics YOLO26 integra capacidades avançadas de computer vision para melhorar as medidas de segurança. O YOLO26, desenvolvido pela Ultralytics, oferece object detection em tempo real, permitindo que o sistema identifique e responda a potenciais ameaças de segurança prontamente. 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.
- Accuracy: O YOLO26 é conhecido pela 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 perfeitamente integrado à infraestrutura de segurança existente, fornecendo uma camada atualizada de vigilância inteligente.
Nota
A Geração de Senha de Aplicativo é necessária
- Navegue até o App Password Generator, designe um nome de aplicativo como "security project" e obtenha uma senha de 16 dígitos. Copie esta senha e cole-a no campo
passworddesignado no código abaixo.
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 windowsAo executar o código, você receberá uma única notificação por e-mail 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.
Link to this sectionExemplo de E-mail Recebido#
Link to this sectionArgumentos do SecurityAlarm#
Aqui está uma tabela com os argumentos do SecurityAlarm:
| Argumento | Tipo | Predefinição | Descrição |
|---|---|---|---|
model | str | None | Caminho para um arquivo de modelo Ultralytics YOLO. |
records | int | 5 | Contagem total de detecções para acionar um e-mail com sistema de alarme de segurança. |
A solução SecurityAlarm suporta uma variedade de parâmetros de track:
| Argumento | Tipo | Predefinição | Descrição |
|---|---|---|---|
tracker | str | 'botsort.yaml' | Especifica o algoritmo de rastreamento a ser usado, por exemplo, bytetrack.yaml ou botsort.yaml. |
conf | float | 0.1 | Define o limite de confiança para as detecções; valores mais baixos permitem que mais objetos sejam rastreados, mas podem incluir falsos positivos. |
iou | float | 0.7 | Define o limite de Intersection over Union (IoU) para filtrar detecções sobrepostas. |
classes | list | None | Filtra resultados pelo índice da classe. Por exemplo, classes=[0, 2, 3] rastreia apenas as classes especificadas. |
verbose | bool | True | Controla a exibição dos resultados de rastreamento, fornecendo uma saída visual dos objetos rastreados. |
device | str | None | Especifica o dispositivo para inferência (por exemplo, cpu, cuda:0 ou 0). Permite que os usuários selecionem 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:
| Argumento | Tipo | Predefinição | Descrição |
|---|---|---|---|
show | bool | False | Se True, exibe as imagens ou vídeos anotados numa janela. Útil para feedback visual imediato durante o desenvolvimento ou teste. |
line_width | int or None | None | Especifica a largura da linha das caixas delimitadoras. Se None, a largura da linha é ajustada automaticamente com base no tamanho da imagem. Oferece personalização visual para clareza. |
show_conf | bool | True | Exibe a pontuação de confiança para cada deteção ao lado do rótulo. Dá uma noção da certeza do modelo para cada deteção. |
show_labels | bool | True | Exibe rótulos para cada deteção na saída visual. Proporciona uma compreensão imediata dos objetos detetados. |
Link to this sectionComo funciona#
O Sistema de Alarme de Segurança usa object tracking para monitorar feeds de vídeo e detectar potenciais ameaças à 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 utiliza a SecurityAlarm class, que fornece métodos para:
- Processar frames e extrair detecções de objetos
- Anotar frames com caixas delimitadoras (bounding boxes) ao redor de objetos detectados
- 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.
Link to this sectionFAQ#
Link to this sectionComo o Ultralytics YOLO26 melhora a precisão de um sistema de alarme de segurança?#
O Ultralytics YOLO26 aprimora os 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 maior confiabilidade pode ser perfeitamente integrada à infraestrutura de segurança existente, melhorando a qualidade geral da vigilância.
Link to this sectionPosso integrar o Ultralytics YOLO26 com minha infraestrutura de segurança existente?#
Sim, o Ultralytics YOLO26 pode ser perfeitamente integrado à 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 capacidades avançadas de detecção de objetos. Para instruções detalhadas sobre como integrar o YOLO26 em seus projetos, visite a seção de integração.
Link to this sectionQuais são os requisitos de armazenamento para executar o Ultralytics YOLO26?#
Executar o Ultralytics YOLO26 em uma configuração padrão normalmente requer cerca de 5GB 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 de projetos e tratamento de conjuntos de dados eficientes, o que pode otimizar as necessidades de armazenamento. Saiba mais sobre o Pro Plan para recursos aprimorados, incluindo armazenamento estendido.
Link to this sectionO que torna o Ultralytics YOLO26 diferente de outros modelos de detecção de objetos como Faster R-CNN ou SSD?#
O Ultralytics YOLO26 oferece uma vantagem sobre modelos como Faster R-CNN ou SSD com suas capacidades de detecção em tempo real e maior precisão. Sua arquitetura exclusiva permite processar imagens muito mais rapidamente sem comprometer a precision, 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.
Link to this sectionComo posso reduzir a frequência de falsos positivos no meu sistema de segurança usando o Ultralytics YOLO26?#
Para reduzir falsos positivos, certifique-se de que seu modelo Ultralytics YOLO26 seja adequadamente treinado 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 hyperparameter tuning podem ser encontradas em nosso guia de ajuste de hiperparâmetros.