Link to this sectionUltralytics YOLO26 Kullanan Güvenlik Alarm Sistemi Projesi#
Ultralytics YOLO26 kullanan Güvenlik Alarm Sistemi Projesi, güvenlik önlemlerini geliştirmek 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 anında 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.
- 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 edilerek yükseltilmiş bir akıllı gözetim katmanı sağlar.
Link to this sectionYOLO26 ile Güvenlik Uyarıları Gönder#
SecurityAlarm çözümü, video akışındaki nesneleri izler ve tespit sayısı records eşiğine ulaştığı anda ekli açıklamalı bir görsel içeren tek bir e-posta uyarısı gönderir. Bir Gmail hesabını uygulama şifresiyle doğrulayın, ardından çözümü kaynağınız üzerinde çalıştırın.
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.
Link to this sectionAlınan E-posta Örneği#
Link to this sectionSecurityAlarm Bağımsız Değişkenleri#
İşte SecurityAlarm bağımsız değişkenlerini içeren bir tablo:
| Argüman | Tip | 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 gereken toplam algılama sayısı. |
SecurityAlarm çözümü çeşitli track parametrelerini destekler:
| Argüman | Tip | Varsayılan | Açıklama |
|---|---|---|---|
tracker | str | 'botsort.yaml' | Kullanılacak takip algoritmasını belirtir. Yerleşik seçenekler: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml. |
conf | float | 0.1 | Algı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. |
iou | float | 0.7 | Çakışan algılamaları filtrelemek için Intersection over Union (IoU) eşiğini ayarlar. |
classes | list | None | Sonuçları sınıf indeksine göre filtreler. Örneğin classes=[0, 2, 3] yalnızca belirtilen sınıfları izler. |
verbose | bool | True | İzlenen nesnelerin görsel bir çıktısını sağlayarak izleme sonuçlarının görüntülenmesini kontrol eder. |
device | str | None | Çıkarım için cihazı belirtir (örn. cpu, cuda:0 veya 0). Kullanıcıların model yürütme için CPU, belirli bir GPU veya diğer 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 | Tip | Varsayılan | Açıklama |
|---|---|---|---|
show | bool | False | 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 genişliğini belirtir. None ise, çizgi genişliği görüntü boyutuna göre otomatik olarak ayarlanır. Netlik için görsel özelleştirme sağlar. |
show_conf | bool | True | Her 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_labels | bool | True | Görsel çıktıda her bir tespit için etiketleri görüntüler. Tespit edilen nesnelerin anında anlaşılmasını sağlar. |
Link to this sectionNasıl Çalışır#
Güvenlik Alarm Sistemi, video akışlarını izlemek ve olası güvenlik tehditlerini tespit etmek için nesne takibi kullanır. Sistem, (records parametresi ile belirlenen) belirtilen eşiği aşan nesneler tespit ettiğinde, tespit edilen nesneleri gösteren bir görsel ekiyle otomatik olarak bir e-posta bildirimi gönderir.
Sistem, şu 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 anında bildirilmesinin kritik olduğu diğer izleme uygulamaları için idealdir.
Link to this sectionSSS#
Link to this sectionUltralytics 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 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.
Link to this sectionUltralytics YOLO26'yı mevcut güvenlik altyapımla entegre edebilir miyim?#
Evet, Ultralytics YOLO26 mevcut güvenlik altyapınla sorunsuz bir şekilde entegre edilebilir. Sistem çeşitli modları destekler ve özelleştirme esnekliği sağlayarak mevcut kurulumunu gelişmiş nesne algılama yetenekleriyle güçlendirmeni sağlar. YOLO26'yı projelerine entegre etmeye ilişkin ayrıntılı talimatlar için entegrasyon bölümünü ziyaret et.
Link to this sectionUltralytics YOLO26'yı çalıştırmak için depolama gereksinimleri nelerdir?#
Standart bir kurulumda Ultralytics YOLO26 çalıştırmak genellikle yaklaşık 5GB boş disk alanı gerektirir. Bu, YOLO26 modelini ve ek bağımlılıkları depolamak 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 özellikleri sunar. Genişletilmiş depolama dahil gelişmiş özellikler için Pro Plan hakkında daha fazla bilgi edinebilirsin.
Link to this sectionUltralytics YOLO26'yı Faster R-CNN veya SSD gibi diğer nesne algılama modellerinden farklı kılan nedir?#
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 avantaj sağlar. Benzersiz mimarisi, hassasiyetten ödün vermeden görüntüleri çok daha hızlı işlemesine olanak tanır 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 kılavuzumuzu inceleyebilirsin.
Link to this sectionUltralytics 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 açıklamalı bir veri kümesiyle yeterince eğitildiğinden emin olun. Hiperparametrelerde ince ayar yapmak ve modeli yeni verilerle düzenli olarak güncellemek algılama doğruluğunu önemli ölçüde artırabilir. Ayrıntılı hiperparametre ayarlama teknikleri hiperparametre ayarlama kılavuzumuzda bulunabilir.