YOLO Vision 2026:

Ultralytics YOLO26 Kullanan Güvenlik Alarm Sistemi Projesi#

AI-powered security alarm system with object detection

Ultralytics YOLO26 kullanan Güvenlik Alarm Sistemi Projesi, güvenlik önlemlerini artırmak için gelişmiş computer vision yeteneklerini entegre eder. Ultralytics tarafından geliştirilen YOLO26, gerçek zamanlı object detection sağlayarak sistemin olası güvenlik tehditlerini hızlı bir şekilde tanımlamasını ve bunlara yanıt vermesini sağlar. Bu proje çeşitli avantajlar sunar:

  • Gerçek Zamanlı Algılama: YOLO26'nın verimliliği, Güvenlik Alarm Sisteminin güvenlik olaylarını gerçek zamanlı olarak algılamasını ve bunlara yanıt vermesini sağlayarak yanıt süresini en aza indirir.
  • Accuracy: YOLO26, nesne algılamadaki doğruluğuyla bilinir; bu da yanlış pozitifleri azaltır ve güvenlik alarm sisteminin güvenilirliğini artırır.
  • Entegrasyon Yetenekleri: Proje, mevcut güvenlik altyapısıyla sorunsuz bir şekilde entegre edilerek yükseltilmiş bir akıllı gözetim katmanı sağlar.


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

YOLO26 ile Güvenlik Uyarıları Gönder#

SecurityAlarm çözümü, video akışındaki nesneleri izler ve algılama sayısı records eşiğine ulaştığı anda ekli açıklamalı bir görüntü içeren tek bir e-posta uyarısı gönderir. Bir uygulama şifresiyle bir Gmail hesabının kimliğini doğrulayın, ardından çözümü kaynağınız üzerinde çalıştırın.

Not

Uygulama Şifresi Oluşturma gereklidir

  • App Password Generator sayfasına gidin, "security project" gibi bir uygulama adı belirleyin ve 16 haneli bir şifre alın. Bu şifreyi kopyalayın ve aşağıdaki kodda belirtilen password alanına yapıştırın.
Ultralytics YOLO kullanan Güvenlik Alarm Sistemi
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

Kodu çalıştırdığınızda, herhangi bir nesne algılanırsa tek bir e-posta bildirimi alırsınız. Bildirim tekrarlı değil, anında gönderilir. Kodu proje gereksinimlerinize uyacak şekilde özelleştirebilirsiniz.

Alınan E-posta Örneği#

Security alert email notification example

SecurityAlarm Argümanları#

İşte SecurityAlarm argümanlarını içeren bir tablo:

ArgümanTipVarsayılanAçıklama
modelstrNoneBir Ultralytics YOLO model dosyasına giden yol.
recordsint5Güvenlik alarm sistemi ile e-posta tetiklemek için gereken toplam algılama sayısı.
line_widthint2Çözümün çizdiği kutular, anahtar noktalar ve sayımlar için çizgi kalınlığı.
verboseboolTrueÇözümün girdi şekli, sınıf sayıları ve işleme hızına yönelik kare başına günlüğünü etkinleştirir. Takip çağrısının kendisi her zaman sessizdir.

SecurityAlarm çözümü çeşitli track parametrelerini destekler:

ArgümanTipVarsayılanAçıklama
trackerstr'botsort.yaml'Kullanılacak izleme algoritmasını belirtir. Yerleşik seçenekler: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml.
conffloat0.25Algılamalar için güven eşiğini ayarlar; daha düşük değerler daha fazla nesnenin izlenmesine izin verir ancak hatalı pozitif sonuçlar içerebilir.
ioufloat0.7Örtüşen tespitleri filtrelemek için Intersection over Union (IoU) eşiğini ayarlar.
classeslistNoneSonuçları sınıf indeksine göre filtreler. Örneğin, classes=[0, 2, 3] yalnızca belirtilen sınıfları izler.
devicestrNoneÇıkarım için cihazı belirtir (ör. cpu, cuda:0 veya 0). Kullanıcıların model yürütme için CPU, belirli bir GPU veya diğer bilgi işlem cihazları arasında seçim yapmasına olanak tanır.

Ayrıca, aşağıdaki görselleştirme ayarları da mevcuttur:

ArgümanTipVarsayılanAçıklama
showboolFalseEğer True ise, açıklama eklenmiş görüntüleri veya videoları bir pencerede görüntüler. Geliştirme veya test sırasında anında görsel geri bildirim için kullanışlıdır.
show_confboolTrueHer tespit için güven skorunu etiketin yanında görüntüler. Her bir tespit için modelin kesinliği hakkında içgörü sağlar.
show_labelsboolTrueGörsel çıktıda her bir tespit için etiketleri görüntüler. Tespit edilen nesnelerin anında anlaşılmasını sağlar.

Nasıl Çalışır#

Güvenlik Alarm Sistemi, video akışlarını izlemek ve olası güvenlik tehditlerini tespit etmek için object tracking kullanır. Sistem, belirtilen eşiği aşan nesneler tespit ettiğinde (records parametresi tarafından belirlenir), tespit edilen nesneleri gösteren ekli bir görüntüyle birlikte otomatik olarak bir e-posta bildirimi gönderir.

Sistem, şunları yapmanızı sağlayan yöntemler sunan SecurityAlarm class öğesinden yararlanır:

  1. Kareleri işleme ve nesne algılamalarını çıkarma
  2. Kareleri, algılanan nesnelerin etrafındaki sınırlayıcı kutularla işaretleme
  3. Algılama eşikleri aşıldığında e-posta bildirimleri gönderme

Bu uygulama ev güvenliği, perakende gözetimi ve algılanan nesnelerin anında bildirilmesinin kritik olduğu diğer izleme uygulamaları için idealdir.

SSS#

  • Ultralytics YOLO26, yüksek doğrulukta ve gerçek zamanlı nesne algılama sunarak güvenlik alarm sistemlerini geliştirir. Gelişmiş algoritmaları, yanlış alarmları önemli ölçüde azaltarak sistemin yalnızca gerçek tehditlere yanıt vermesini sağlar. Bu artırılmış güvenilirlik, mevcut güvenlik altyapısıyla sorunsuz bir şekilde entegre edilebilir ve genel gözetim kalitesini yükseltebilir.

  • Evet, Ultralytics YOLO26 mevcut güvenlik altyapınızla sorunsuz bir şekilde entegre edilebilir. Sistem çeşitli modları destekler ve özelleştirme için esneklik sağlayarak mevcut kurulumunuzu gelişmiş nesne algılama yetenekleriyle geliştirmenize olanak tanır. YOLO26'yı projelerinize entegre etme hakkında ayrıntılı talimatlar için integration section bölümünü ziyaret edin.

  • Standart bir kurulumda Ultralytics YOLO26 çalıştırmak genellikle yaklaşık 5GB boş disk alanı gerektirir. Buna YOLO26 modelini ve ek bağımlılıkları depolamak için gereken alan dahildir. Bulut tabanlı çözümler için Ultralytics Platform, depolama ihtiyaçlarını optimize edebilen verimli proje yönetimi ve veri kümesi işleme sunar. Gelişmiş depolama dahil gelişmiş özellikler hakkında daha fazla bilgi edinmek için Pro Plan sayfasını inceleyin.

  • Ultralytics YOLO26, gerçek zamanlı algılama yetenekleri ve daha yüksek doğruluğu ile Faster R-CNN veya SSD gibi modellere göre bir avantaj sağlar. Benzersiz mimarisi, precision değerinden ödün vermeden görüntüleri çok daha hızlı işlemesini sağlar ve bu da onu güvenlik alarm sistemleri gibi zamana duyarlı uygulamalar için ideal hale getirir. Nesne algılama modellerinin kapsamlı bir karşılaştırması için guide kılavuzumuzu inceleyebilirsiniz.

  • Yanlış pozitifleri azaltmak için Ultralytics YOLO26 modelinizin, çeşitli ve iyi etiketlenmiş bir veri kümesiyle yeterince eğitildiğinden emin olun. Hiperparametreleri ince ayarlamak ve modeli yeni verilerle düzenli olarak güncellemek algılama doğruluğunu önemli ölçüde artırabilir. Ayrıntılı hyperparameter tuning teknikleri hyperparameter tuning guide kılavuzumuzda bulunabilir.

Yorumlar