Meet YOLO26: next-gen vision AI.

Link to this sectionUltralytics YOLO26 kullanarak Analitik#

Link to this sectionGiriş#

Bu rehber, üç temel veri görselleştirme türüne kapsamlı bir bakış sunar: çizgi grafikleri, sütun grafikleri ve pasta grafikler. Her bölüm, Python kullanarak bu görselleştirmelerin nasıl oluşturulacağına dair adım adım talimatlar ve kod parçacıkları içerir.



Watch: How to generate Analytical Graphs using Ultralytics | Line Graphs, Bar Plots, Area and Pie Charts

Link to this sectionGörsel Örnekler#

Çizgi GrafiğiSütun GrafiğiPasta Grafik
Nesne takibi için YOLO analitik çizgi grafiğiAlgılama sayıları için YOLO analitik sütun grafiğiSınıf dağılımı için YOLO analitik pasta grafik

Link to this sectionGrafikler Neden Önemlidir#

  • Çizgi grafikleri, kısa ve uzun dönemlerdeki değişimleri izlemek ve aynı dönem boyunca birden fazla grubun değişimlerini karşılaştırmak için idealdir.
  • Sütun grafikleri ise farklı kategorilerdeki miktarları karşılaştırmak ve bir kategori ile sayısal değeri arasındaki ilişkileri göstermek için uygundur.
  • Son olarak, pasta grafikler kategoriler arasındaki oranları göstermek ve bir bütünün parçalarını sergilemek için etkilidir.
Ultralytics YOLO kullanarak Analitik
yolo solutions analytics show=True

# Pass the source
yolo solutions analytics source="path/to/video.mp4"

# Generate the pie chart
yolo solutions analytics analytics_type="pie" show=True

# Generate the bar plots
yolo solutions analytics analytics_type="bar" show=True

# Generate the area plots
yolo solutions analytics analytics_type="area" show=True

Link to this sectionAnalytics Argümanları#

İşte Analytics argümanlarını özetleyen bir tablo:

ArgümanTürVarsayılanAçıklama
modelstrNoneBir Ultralytics YOLO model dosyasına giden yol.
analytics_typestr'line'Grafik türü, yani line, bar, area veya pie.

You can also leverage different track arguments in the Analytics solution.

ArgümanTürVarsayılanAçıklama
trackerstr'botsort.yaml'Kullanılacak takip algoritmasını belirtir, örn. bytetrack.yaml veya botsort.yaml.
conffloat0.1Algılamalar için güven eşiğini ayarlar; daha düşük değerler daha fazla nesnenin takip edilmesini sağlar ancak yanlış pozitifleri içerebilir.
ioufloat0.7Çakışan algılamaları 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] sadece belirtilen sınıfları takip eder.
verboseboolTrueTakip edilen nesnelerin görsel bir çıktısını sağlayarak takip sonuçlarının görüntülenmesini kontrol eder.
devicestrNoneÇı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 hesaplama cihazları arasında seçim yapmasına olanak tanır.

Ek olarak, aşağıdaki görselleştirme argümanları desteklenmektedir:

ArgümanTürVarsayılanAçıklama
showboolFalseTrue 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_widthint or NoneNoneSınırlayıcı kutuların çizgi kalınlığını belirtir. None ise, çizgi kalınlığı görüntü boyutuna göre otomatik olarak ayarlanır. Netlik için görsel özelleştirme sağlar.

Link to this sectionSonuç#

Farklı görselleştirme türlerinin ne zaman ve nasıl kullanılacağını anlamak, etkili veri analizi için çok önemlidir. Çizgi grafikleri, sütun grafikleri ve pasta grafikler, verinin hikayesini daha net ve etkili bir şekilde aktarmana yardımcı olabilecek temel araçlardır. Ultralytics YOLO26 Analitik çözümü, bu görselleştirmeleri nesne algılama ve takip sonuçlarından oluşturmanın kolay bir yolunu sunarak, görsel verilerinden anlamlı içgörüler elde etmeni kolaylaştırır.

Link to this sectionSSS#

Link to this sectionUltralytics YOLO26 Analitik kullanarak nasıl çizgi grafiği oluşturabilirim?#

Ultralytics YOLO26 Analitik kullanarak bir çizgi grafiği oluşturmak için şu adımları izle:

  1. Bir YOLO26 modeli yükle ve video dosyanı aç.
  2. Analytics sınıfını türü "line" olarak ayarlayarak başlat.
  3. Video kareleri arasında döngü kur, çizgi grafiğini kare başına nesne sayıları gibi ilgili verilerle güncelle.
  4. Çizgi grafiğini gösteren çıktı videosunu kaydet.

Örnek:

import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"

w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))

out = cv2.VideoWriter(
    "ultralytics_analytics.avi",
    cv2.VideoWriter_fourcc(*"MJPG"),
    fps,
    (1280, 720),  # this is fixed
)

analytics = solutions.Analytics(
    analytics_type="line",
    show=True,
)

frame_count = 0
while cap.isOpened():
    success, im0 = cap.read()
    if success:
        frame_count += 1
        results = analytics(im0, frame_count)  # update analytics graph every frame
        out.write(results.plot_im)  # write the video file
    else:
        break

cap.release()
out.release()
cv2.destroyAllWindows()

Analytics sınıfını yapılandırma hakkında daha fazla ayrıntı için Ultralytics YOLO26 kullanarak Analitik bölümünü ziyaret et.

Link to this sectionSütun grafikleri oluşturmak için Ultralytics YOLO26 kullanmanın faydaları nelerdir?#

Sütun grafikleri oluşturmak için Ultralytics YOLO26 kullanmanın çeşitli faydaları vardır:

  1. Gerçek Zamanlı Veri Görselleştirme: Dinamik güncellemeler için nesne algılama sonuçlarını sütun grafiklerine sorunsuz bir şekilde entegre et.
  2. Kullanım Kolaylığı: Basit API ve işlevler, verileri uygulamayı ve görselleştirmeyi kolaylaştırır.
  3. Özelleştirme: Başlıkları, etiketleri, renkleri ve daha fazlasını özel gereksinimlerine uyacak şekilde özelleştir.
  4. Verimlilik: Büyük miktarda veriyi verimli bir şekilde işle ve video işleme sırasında grafikleri gerçek zamanlı olarak güncelle.

Sütun grafiği oluşturmak için aşağıdaki örneği kullan:

import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"

w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))

out = cv2.VideoWriter(
    "ultralytics_analytics.avi",
    cv2.VideoWriter_fourcc(*"MJPG"),
    fps,
    (1280, 720),  # this is fixed
)

analytics = solutions.Analytics(
    analytics_type="bar",
    show=True,
)

frame_count = 0
while cap.isOpened():
    success, im0 = cap.read()
    if success:
        frame_count += 1
        results = analytics(im0, frame_count)  # update analytics graph every frame
        out.write(results.plot_im)  # write the video file
    else:
        break

cap.release()
out.release()
cv2.destroyAllWindows()

Daha fazla bilgi edinmek için rehberdeki Sütun Grafiği bölümünü ziyaret et.

Link to this sectionVeri görselleştirme projelerimde pasta grafikler oluşturmak için neden Ultralytics YOLO26 kullanmalıyım?#

Ultralytics YOLO26, pasta grafikler oluşturmak için mükemmel bir seçimdir çünkü:

  1. Nesne Algılama ile Entegrasyon: Anında içgörüler için nesne algılama sonuçlarını doğrudan pasta grafiklerine entegre et.
  2. Kullanıcı Dostu API: Minimum kodla kurulumu ve kullanımı basittir.
  3. Özelleştirilebilir: Renkler, etiketler ve daha fazlası için çeşitli özelleştirme seçenekleri mevcuttur.
  4. Gerçek Zamanlı Güncellemeler: Video analitiği projeleri için ideal olan verileri gerçek zamanlı olarak işle ve görselleştir.

İşte hızlı bir örnek:

import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"

w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))

out = cv2.VideoWriter(
    "ultralytics_analytics.avi",
    cv2.VideoWriter_fourcc(*"MJPG"),
    fps,
    (1280, 720),  # this is fixed
)

analytics = solutions.Analytics(
    analytics_type="pie",
    show=True,
)

frame_count = 0
while cap.isOpened():
    success, im0 = cap.read()
    if success:
        frame_count += 1
        results = analytics(im0, frame_count)  # update analytics graph every frame
        out.write(results.plot_im)  # write the video file
    else:
        break

cap.release()
out.release()
cv2.destroyAllWindows()

Daha fazla bilgi için rehberdeki Pasta Grafik bölümüne bak.

Link to this sectionUltralytics YOLO26, nesneleri takip etmek ve görselleştirmeleri dinamik olarak güncellemek için kullanılabilir mi?#

Evet, Ultralytics YOLO26 nesneleri takip etmek ve görselleştirmeleri dinamik olarak güncellemek için kullanılabilir. Birden fazla nesnenin gerçek zamanlı takibini destekler ve takip edilen nesnelerin verilerine dayanarak çizgi grafikleri, sütun grafikleri ve pasta grafikler gibi çeşitli görselleştirmeleri güncelleyebilir.

Çizgi grafiğini takip etme ve güncelleme örneği:

import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"

w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))

out = cv2.VideoWriter(
    "ultralytics_analytics.avi",
    cv2.VideoWriter_fourcc(*"MJPG"),
    fps,
    (1280, 720),  # this is fixed
)

analytics = solutions.Analytics(
    analytics_type="line",
    show=True,
)

frame_count = 0
while cap.isOpened():
    success, im0 = cap.read()
    if success:
        frame_count += 1
        results = analytics(im0, frame_count)  # update analytics graph every frame
        out.write(results.plot_im)  # write the video file
    else:
        break

cap.release()
out.release()
cv2.destroyAllWindows()

Tüm işlevler hakkında bilgi edinmek için Takip bölümüne bak.

Link to this sectionUltralytics YOLO26'yı OpenCV ve TensorFlow gibi diğer nesne algılama çözümlerinden farklı kılan nedir?#

Ultralytics YOLO26, OpenCV ve TensorFlow gibi diğer nesne algılama çözümlerinden birkaç nedenden dolayı ayrılır:

  1. Son Teknoloji Doğruluk: YOLO26, nesne algılama, örnek bölümleme, anlamsal bölümleme ve sınıflandırma görevlerinde üstün doğruluk sağlar.
  2. Kullanım Kolaylığı: Kullanıcı dostu API, kapsamlı kodlama gerektirmeden hızlı uygulama ve entegrasyona olanak tanır.
  3. Gerçek Zamanlı Performans: Yüksek hızlı çıkarım için optimize edilmiştir, gerçek zamanlı uygulamalar için uygundur.
  4. Çeşitli Uygulamalar: Çoklu nesne takibi, özel model eğitimi ve ONNX, TensorRT ve CoreML gibi farklı formatlara dışa aktarma dahil olmak üzere çeşitli görevleri destekler.
  5. Kapsamlı Dokümantasyon: Kullanıcılara her adımda rehberlik edecek kapsamlı dokümantasyon ve blog kaynakları.

Daha ayrıntılı karşılaştırmalar ve kullanım durumları için Ultralytics Blog sayfamızı keşfet.

Yorumlar