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 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 a possíveis 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.
- Precisão: 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 integrado perfeitamente à infraestrutura de segurança existente, fornecendo uma camada atualizada de vigilância inteligente.
Link to this sectionEnvia alertas de segurança com YOLO26#
A solução SecurityAlarm rastreia objetos no teu feed 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 Gmail com uma palavra-passe de aplicação e, em seguida, executa a solução sobre a tua fonte.
Nota
A Geração de Senha de Aplicativo é necessária
- Navegue até o Gerador de Senha de Aplicativo, designe um nome para o aplicativo como "projeto de segurança" 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 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.
Link to this sectionExemplo de E-mail Recebido#
Link to this sectionArgumentos de SecurityAlarm#
Aqui está uma tabela com os argumentos de SecurityAlarm:
| Argumento | Tipo | Predefinição | Descrição |
|---|---|---|---|
model | str | None | Caminho para um ficheiro de modelo YOLO da Ultralytics. |
records | int | 5 | Contagem total de deteções para disparar um e-mail com o sistema de alarme de segurança. |
A solução SecurityAlarm suporta uma variedade de parâmetros track:
| Argumento | Tipo | Predefinição | Descrição |
|---|---|---|---|
tracker | str | 'botsort.yaml' | Especifica o algoritmo de rastreamento a ser usado. As opções integradas são: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml. |
conf | float | 0.1 | Define o limiar de confiança para as deteções; valores mais baixos permitem que mais objetos sejam rastreados, mas podem incluir falsos positivos. |
iou | float | 0.7 | Define o limiar de Intersection over Union (IoU) para filtrar deteções sobrepostas. |
classes | list | None | Filtra resultados por índice de classe. Por exemplo, classes=[0, 2, 3] rastreia apenas as classes especificadas. |
verbose | bool | True | Controla a exibição dos resultados de rastreio, fornecendo uma saída visual dos objetos rastreados. |
device | str | None | Especifica o dispositivo para inferência (p. ex., 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:
| 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. Proporciona personalização visual para maior clareza. |
show_conf | bool | True | Exibe 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_labels | bool | True | Exibe rótulos para cada detecção na saída visual. Fornece compreensão imediata dos objetos detectados. |
Link to this sectionComo Funciona#
O sistema de alarme de segurança utiliza rastreio de objetos para monitorizar feeds de vídeo e detetar potenciais ameaças de segurança. Quando o sistema deteta 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 que mostra os objetos detetados.
O sistema aproveita a classe SecurityAlarm, que fornece métodos para:
- Processar quadros e extrair detecções de objetos
- Anotar quadros com caixas delimitadoras ao redor dos 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 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.
Link to this sectionPosso integrar o Ultralytics YOLO26 à minha infraestrutura de segurança existente?#
Sim, o Ultralytics YOLO26 pode ser integrado perfeitamente na tua infraestrutura de segurança existente. O sistema suporta vários modos e oferece flexibilidade para personalização, permitindo-te melhorar a tua configuração atual com capacidades avançadas de deteção de objetos. Para instruções detalhadas sobre a integração do YOLO26 nos teus projetos, visita a secção de integração.
Link to this sectionQuais são os requisitos de armazenamento para executar o Ultralytics YOLO26?#
Executar o Ultralytics YOLO26 numa configuração padrão requer tipicamente cerca de 5GB 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 nuvem, a Ultralytics Platform oferece uma gestão eficiente de projetos e tratamento de conjuntos de dados, o que pode otimizar as necessidades de armazenamento. Sabe mais sobre o Plano Pro para funcionalidades melhoradas, incluindo armazenamento alargado.
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 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 de modelos de deteção de objetos, podes explorar o 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 treinado adequadamente com um conjunto de dados diversificado e bem anotado. O ajuste fino de hiperparâmetros e a atualização regular do modelo com novos dados podem 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.