Ultralytics YOLO27:

Ultralytics YOLO26 ile Otopark Yönetim Sistemi Oluştur#

Park Yönetim Sistemi Nedir?#

Ultralytics YOLO26 ile oluşturulan bir park yönetim sistemi, hangi park yerlerinin dolu veya kullanılabilir olduğunu takip etmek için araçları gerçek zamanlı olarak algılar ve ardından otopark doluluk durumunu canlı olarak raporlar. YOLO26 nesne algılama özelliğini JSON ile tanımlanan bir park düzeniyle birleştirerek tek bir video akışından veya kamera görüntüsünden otoparkın tamamını izleyebilmeni sağlar.



Watch: How to Build a Parking Management System with Ultralytics YOLO26 | Real-Time Spot Detection 🚗

Park Yönetim Sisteminin Avantajları#

  • Verimlilik: Park yerlerinin kullanımını optimize eder ve otopark genelindeki yoğunluğu azaltır.
  • Emniyet ve Güvenlik: Sürekli gözetim yoluyla insanların ve araçların güvenliğini artırır.
  • Azaltılmış Emisyonlar: Otoparklarda rölanti süresini ve emisyonları en aza indirmek için trafik akışını yönetir.

Gerçek Dünya Uygulamaları#

Park Yönetim SistemiPark Yönetim Sistemi
Ultralytics YOLO26 Kullanılarak Otopark AnaliziUltralytics YOLO26 kullanılarak park yönetimi üstten görünüm
Ultralytics YOLO26 Kullanılarak Park Yönetimi Havadan GörünümUltralytics YOLO26 Kullanılarak Park Yönetimi Üstten Görünüm

Park Yönetim Sistemi Kod İş Akışı#

Nokta seçimi artık kolay

Park noktalarını seçmek, park yönetim sistemlerinde kritik ve karmaşık bir görevdir. Ultralytics, park alanlarını tanımlamanı sağlayan ve daha sonra ek işlemler için kullanılabilen "Parking slots annotator" aracını sunarak bu süreci kolaylaştırır.

Adım-1: Otoparkı yönetmek istediğin video veya kamera akışından bir kare yakala.

Adım-2: Sağlanan kodu kullanarak grafik arayüzü başlat; burada bir görüntü seçebilir ve çokgenler oluşturmak için fare tıklamalarıyla park bölgelerinin sınırlarını çizmeye başlayabilirsin.

Ultralytics YOLO Park Alanı Etiketleyici
`tkinter` kurulumu için ek adım

Genellikle tkinter, Python ile birlikte önceden paketlenmiş olarak gelir. Ancak gelmediyse, vurgulanan adımları kullanarak yükleyebilirsin:

  • Linux: (Debian/Ubuntu): sudo apt install python3-tk
  • Fedora: sudo dnf install python3-tkinter
  • Arch: sudo pacman -S tk
  • Windows: Python'u yeniden yükle ve kurulum sırasında Optional Features bölümündeki tcl/tk and IDLE onay kutusunu etkinleştir
  • MacOS: Python'u https://www.python.org/downloads/macos/ adresinden veya brew install python-tk kullanarak yeniden yükle
from ultralytics import solutions

solutions.ParkingPtsSelection()

Adım-3: Park alanlarını çokgenlerle tanımladıktan sonra, verileri çalışma dizininde bounding_boxes.json olarak depolamak için save öğesine tıkla — bu, yönetim betiğinin aşağıda yüklediği dosyayla aynı dosya adıdır.

Ultralytics YOLO26 Nokta Seçimi Demosu

Adım-4: Artık aşağıdaki kodla park yönetimi çözümünü çalıştırabilirsin.

Ultralytics YOLO Kullanarak Park Yönetimi
import cv2

from ultralytics import solutions

# Video capture
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("parking management.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Initialize parking management object
parkingmanager = solutions.ParkingManagement(
    model="yolo26n.pt",  # path to model file
    json_file="bounding_boxes.json",  # path to parking annotations file
)

while cap.isOpened():
    ret, im0 = cap.read()
    if not ret:
        break

    results = parkingmanager(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

ParkingManagement Bağımsız Değişkenleri#

ParkingManagement bağımsız değişkenlerini içeren tablo aşağıda verilmiştir:

Bağımsız değişkenTürVarsayılanAçıklama
modelstrNoneBir Ultralytics YOLO model dosyasının yolu.
json_filestrNoneTüm park koordinatları verilerini içeren JSON dosyasının yolu.
line_widthint2Çözümün çizdiği kutular, kilit noktaları ve sayılar için çizgi kalınlığı.
verboseboolTrueÇözümün kare başına giriş şeklini, sınıf sayılarını ve işlem hızını kaydetmesini etkinleştirir. Takip çağrısı her zaman sessizdir.

ParkingManagement çözümü, çeşitli track parametrelerinin kullanılmasına olanak tanır:

Bağımsız değişkenTürVarsayılanAçıklama
trackerstr'botsort.yaml'Kullanılacak takip 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 belirler; daha düşük değerler daha fazla nesnenin takip edilmesine olanak tanır ancak yanlış pozitifler içerebilir.
ioufloat0.7Örtüşen algılamaları filtrelemek için Birleşim Üzerindeki Kesişim (IoU) eşiğini belirler.
classeslistNoneSonuçları sınıf dizinine göre filtreler. Örneğin, classes=[0, 2, 3] yalnızca belirtilen sınıfları takip eder.
devicestrNoneÇıkarım için cihazı belirtir (ör. cpu, cuda:0 veya 0). Kullanıcıların model çalıştırma işlemi için CPU, belirli bir GPU veya diğer hesaplama cihazları arasında seçim yapmasına olanak tanır.
imgszint or tuple640Hedef çıkarım görüntü boyutu: kare için bir tamsayı veya bir (height, width) çifti. Şekiller model adımına göre ayarlanır.
max_detint300İzlemeden önce kare başına tutulan maksimum algılama sayısı; yoğun sahnelerde bir çözümün işlediği nesneleri sınırlar.
quantizeint or strNoneÇıkarım hassasiyeti: PyTorch ve TorchScript modelleri için 16 (FP16) veya 32/ayarlanmamış (FP32); diğer formatlar, yapılarının ve çalışma zamanının seçtiği hassasiyette hesaplama yapar. Kullanımdan kaldırılan half bayrağının yerini alır.

Ayrıca aşağıdaki görselleştirme seçenekleri desteklenir:

Bağımsız değişkenTürVarsayılanAçıklama
showboolFalseTrue olduğunda 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 almak için kullanışlıdır.

SSS#

  • Ultralytics YOLO26, park sistemleri için gerçek zamanlı araç algılama ve izleme sunar; bu da park yerlerinin kullanımını optimize eder, yoğunluğu azaltır ve sürekli gözetim yoluyla güvenliği artırır. Canlı bir kamera akışında çalıştırılması, trafik akışının yönetilmesine ve araçların rölantide bekleme süresinin en aza indirilmesine de yardımcı olur. Kurulumun tamamı için park yönetimi kod iş akışına bakabilirsin.

  • Akıllı park sistemi için Ultralytics YOLO26 kullanmak çok sayıda fayda sağlar:

    • Verimlilik: Park yerlerinin kullanımını optimize eder ve yoğunluğu azaltır.
    • Emniyet ve Güvenlik: Gözetimi güçlendirir ve araçlarla yayaların güvenliğini sağlar.
    • Çevresel Etki: Araçların rölantide bekleme sürelerini en aza indirerek emisyonların azaltılmasına yardımcı olur. Daha fazla faydayı Park Yönetim Sisteminin Avantajları bölümünde keşfet.
  • Ultralytics YOLO26 ile park yerlerini tanımlamak oldukça kolaydır:

    1. Bir video veya kamera akışından bir kare yakala.
    2. Bir görüntü seçmek ve park yerlerini tanımlamak üzere çokgenler çizmek için sağlanan kodu kullanarak bir GUI başlat.
    3. Etiketlenen verileri daha ileri işlemler için JSON biçiminde kaydet. Kapsamlı talimatlar için yukarıdaki nokta seçimi bölümüne bak.
  • Otoparka özgü en önemli ayar json_file değeridir: çözümü yeni bir düzene uyarlamak için bu değeri nokta etiketleyici ile oluşturduğun park bölgesi JSON dosyasına yönlendir. Çözümü diğer argümanlar aracılığıyla daha da özelleştirebilirsin — model değerini özel eğitilmiş bir algılayıcıya ayarla, algılamaları belirli araç classes değerleriyle sınırlandır, conf ve iou eşiklerini ayarla, tracker değerini değiştir, kare üzerindeki etiketleri ve doluluk bilgisini ölçeklendirmek için line_width kullan veya çıkarım device değerini seç. Bölge tabanlı ilgili izleme için nesne sayımı kılavuzuna bak.

  • Ultralytics YOLO26, aşağıdakiler de dahil olmak üzere otopark yönetiminde çeşitli gerçek dünya uygulamalarında kullanılır:

    • Park Yeri Algılama: Kullanılabilir ve dolu park yerlerini doğru şekilde belirleme.
    • Gözetim: Gerçek zamanlı izleme yoluyla güvenliği artırma.
    • Trafik Akışı Yönetimi: Etkili trafik yönetimiyle rölanti sürelerini ve yoğunluğu azaltma. Bu uygulamaları gösteren görüntüler gerçek dünya uygulamalarında bulunabilir.

Yorumlar