Ultralytics YOLO26 Kullanan Güvenlik Alarm Sistemi Projesi
Ultralytics YOLO26 kullanan Güvenlik Alarm Sistemi Projesi, güvenlik önlemlerini artırmak için gelişmiş bilgisayarlı görü yeteneklerini entegre eder. Ultralytics tarafından geliştirilen YOLO26, gerçek zamanlı nesne algılama sağlayarak sistemin potansiyel güvenlik tehditlerini hızlı bir şekilde tanımlamasını ve 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.
- Doğruluk: YOLO26, nesne algılamadaki doğruluğuyla bilinir; yanlış alarmları 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 edilebilir ve yükseltilmiş bir akıllı gözetim katmanı sağlar.
Not
Uygulama Şifresi Oluşturma gereklidir
- Uygulama Şifresi Oluşturucu 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
passwordalanına yapıştırın.
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 windowsKodu ç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
SecurityAlarm Argümanları
İşte SecurityAlarm argümanlarını içeren bir tablo:
| Argüman | Tür | Varsayılan | Açıklama |
|---|---|---|---|
model | str | None | Bir Ultralytics YOLO model dosyasına giden yol. |
records | int | 5 | Güvenlik alarm sistemi ile e-posta tetiklemek için toplam tespit sayısı. |
SecurityAlarm çözümü çeşitli track parametrelerini destekler:
| Argüman | Tür | Varsayılan | Açıklama |
|---|---|---|---|
tracker | str | 'botsort.yaml' | Kullanılacak takip algoritmasını belirtir, örneğin bytetrack.yaml veya botsort.yaml. |
conf | float | 0.1 | Tespitler için güven eşiğini belirler; daha düşük değerler daha fazla nesnenin takip edilmesine izin verir ancak hatalı pozitifleri içerebilir. |
iou | float | 0.7 | Çakışan tespitleri filtrelemek için Birleşim Üzerinde Kesişim (IoU) eşiğini belirler. |
classes | list | None | Sonuçları sınıf dizinine göre filtreler. Örneğin, classes=[0, 2, 3] sadece belirtilen sınıfları takip eder. |
verbose | bool | True | Takip edilen nesnelerin görsel bir çıktısını sağlayarak takip sonuçlarının görüntülenmesini kontrol eder. |
device | str | None | Çıkarım için cihazı belirtir (örneğin 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üman | Tür | Varsayılan | Açıklama |
|---|---|---|---|
show | bool | False | Eğer True ise, açıklamalı 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. |
line_width | int or None | None | Sınırlayıcı kutuların çizgi kalınlığını belirtir. None ise, çizgi kalınlığı otomatik olarak görüntü boyutuna göre ayarlanır. Netlik için görsel özelleştirme sağlar. |
show_conf | bool | True | Etiketle birlikte her tespit için güven puanını görüntüler. Her bir tespit için modelin kesinliği hakkında fikir verir. |
show_labels | bool | True | Görsel çıktıda her 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 potansiyel güvenlik tehditlerini algılamak için nesne takibi özelliğini kullanır. Sistem, records parametresi ile belirlenen eşiği aşan nesneleri algıladığında, algılanan nesneleri gösteren bir resim ekiyle otomatik olarak bir e-posta bildirimi gönderir.
Sistem, aşağıdaki yöntemleri sağlayan SecurityAlarm sınıfından yararlanır:
- Kareleri işleme ve nesne algılamalarını çıkarma
- Kareleri, algılanan nesnelerin etrafındaki sınırlayıcı kutularla işaretleme
- 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 hemen bildirilmesinin kritik olduğu diğer izleme uygulamaları için idealdir.
SSS
Ultralytics YOLO26, bir güvenlik alarm sisteminin doğruluğunu nasıl artırır?
Ultralytics YOLO26, yüksek doğrulukta ve gerçek zamanlı nesne algılama sağlayarak 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 artan güvenilirlik, mevcut güvenlik altyapısıyla sorunsuz bir şekilde entegre edilerek genel gözetim kalitesini yükseltebilir.
Ultralytics YOLO26'yı mevcut güvenlik altyapımla entegre edebilir miyim?
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ğlar, böylece mevcut kurulumunuzu gelişmiş nesne algılama yetenekleriyle geliştirmenize olanak tanır. YOLO26'yı projelerinize entegre etmeye ilişkin ayrıntılı talimatlar için entegrasyon bölümünü ziyaret edin.
Ultralytics YOLO26'yı çalıştırmak için depolama gereksinimleri nelerdir?
Ultralytics YOLO26'yı standart bir kurulumda çalıştırmak genellikle yaklaşık 5 GB boş disk alanı gerektirir. Bu, YOLO26 modelini ve diğer bağımlılıkları saklamak için gereken alanı içerir. 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. Genişletilmiş depolama dahil gelişmiş özellikler için Pro Plan hakkında daha fazla bilgi edinin.
Ultralytics YOLO26'yı Faster R-CNN veya SSD gibi diğer nesne algılama modellerinden ayıran nedir?
Ultralytics YOLO26, gerçek zamanlı algılama yetenekleri ve daha yüksek doğruluğu ile Faster R-CNN veya SSD gibi modellere karşı bir üstünlük sağlar. Benzersiz mimarisi, hassasiyetten ödün vermeden görüntüleri çok daha hızlı işlemesine olanak tanır, bu da onu güvenlik alarm sistemleri gibi zamana duyarlı uygulamalar için ideal kılar. Nesne algılama modellerinin kapsamlı bir karşılaştırması için kılavuzumuzu inceleyebilirsiniz.
Ultralytics YOLO26 kullanarak güvenlik sistemimdeki yanlış alarm sıklığını nasıl azaltabilirim?
Yanlış alarmları 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ı hiperparametre ayarı teknikleri, hiperparametre ayarı kılavuzumuzda bulunabilir.