Ultralytics YOLO26 kullanarak analiz
Giriş
Bu rehber, üç temel veri görselleştirme türüne kapsamlı bir genel bakış sunar: çizgi grafikleri, çubuk grafikleri ve pasta grafikler. Her bölüm, bu görselleştirmeleri Python kullanarak nasıl oluşturacağı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
Görsel Örnekler
| Çizgi Grafiği | Çubuk Grafiği | Pasta Grafik |
|---|---|---|
![]() | ![]() | ![]() |
Grafikler Neden Önemlidir?
- Çizgi grafikleri, kısa ve uzun dönemlerdeki değişimleri izlemek ve aynı dönem boyunca birden fazla grup için değişimleri karşılaştırmak için idealdir.
- Öte yandan çubuk grafikleri, miktarları farklı kategoriler arasında karşılaştırmak ve bir kategori ile onun sayısal değeri arasındaki ilişkileri göstermek için uygundur.
- Son olarak, pasta grafikler kategoriler arasındaki oranları göstermek ve bütünün parçalarını sergilemek için etkilidir.
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=TrueAnalytics Argümanları
İşte Analytics argümanlarını özetleyen bir tablo:
| Argüman | Tür | Varsayılan | Açıklama |
|---|---|---|---|
model | str | None | Bir Ultralytics YOLO model dosyasına giden yol. |
analytics_type | str | 'line' | Grafik türü; örn. line, bar, area veya pie. |
You can also leverage different track arguments in the Analytics solution.
| 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. |
Ek olarak, aşağıdaki görselleştirme argümanları desteklenmektedir:
| 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. |
Sonuç
Farklı görselleştirme türlerini ne zaman ve nasıl kullanacağını anlamak, etkili veri analizi için çok önemlidir. Çizgi grafikleri, çubuk grafikleri ve pasta grafikler, verinin hikayesini daha net ve etkili bir şekilde anlatmana yardımcı olabilecek temel araçlardır. Ultralytics YOLO26 Analytics çözümü, bu görselleştirmeleri nesne tespiti ve takip sonuçlarından oluşturmanın modern bir yolunu sunarak görsel verilerinden anlamlı çıkarımlar yapmanı kolaylaştırır.
SSS
Ultralytics YOLO26 Analytics kullanarak nasıl çizgi grafiği oluşturabilirim?
Ultralytics YOLO26 Analytics kullanarak çizgi grafiği oluşturmak için şu adımları izle:
- Bir YOLO26 modeli yükle ve video dosyanı aç.
Analyticssınıfını türü "line" olarak ayarlanmış şekilde başlat.- Video kareleri üzerinde döngü kur ve çizgi grafiğini, kare başına nesne sayıları gibi ilgili verilerle güncelle.
- Ç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 analiz bölümünü ziyaret et.
Ultralytics YOLO26'yı çubuk grafikleri oluşturmak için kullanmanın faydaları nelerdir?
Çubuk grafikleri oluşturmak için Ultralytics YOLO26 kullanmak birçok avantaj sunar:
- Gerçek Zamanlı Veri Görselleştirme: Nesne tespiti sonuçlarını dinamik güncellemeler için sorunsuz bir şekilde çubuk grafiklerine entegre et.
- Kullanım Kolaylığı: Basit API ve işlevler, verileri uygulamayı ve görselleştirmeyi kolaylaştırır.
- Özelleştirme: Başlıkları, etiketleri, renkleri ve daha fazlasını özel gereksinimlerine uyacak şekilde özelleştir.
- Verimlilik: Video işleme sırasında büyük miktarda veriyi verimli bir şekilde işle ve grafikleri gerçek zamanlı olarak güncelle.
Çubuk 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 Çubuk Grafiği bölümünü ziyaret et.
Veri 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ü:
- Nesne Tespiti ile Entegrasyon: Anlık içgörüler için nesne tespiti sonuçlarını doğrudan pasta grafiklerine entegre et.
- Kullanıcı Dostu API: Minimal kodla kurulumu ve kullanımı basittir.
- Özelleştirilebilir: Renkler, etiketler ve daha fazlası için çeşitli özelleştirme seçenekleri mevcuttur.
- 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.
Ultralytics 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, çubuk grafikleri ve pasta grafikler gibi çeşitli görselleştirmeleri güncelleyebilir.
Çizgi grafiğini takip etme ve güncelleme için ö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()Tüm işlevsellik hakkında bilgi edinmek için Takip bölümüne bak.
Ultralytics YOLO26'yı OpenCV ve TensorFlow gibi diğer nesne tespiti çözümlerinden farklı kılan nedir?
Ultralytics YOLO26, OpenCV ve TensorFlow gibi diğer nesne tespiti çözümlerinden birçok nedenden dolayı ayrılır:
- Son Teknoloji Doğruluk: YOLO26, nesne tespiti, segmentasyon ve sınıflandırma görevlerinde üstün doğruluk sağlar.
- Kullanım Kolaylığı: Kullanıcı dostu API, kapsamlı kodlama gerektirmeden hızlı uygulama ve entegrasyona olanak tanır.
- Gerçek Zamanlı Performans: Yüksek hızlı çıkarım için optimize edilmiştir, gerçek zamanlı uygulamalar için uygundur.
- Ç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.
- Kapsamlı Dokümantasyon: Kullanıcılara her adımda rehberlik edecek kapsamlı dokümantasyon ve blog kaynakları.
Daha detaylı karşılaştırmalar ve kullanım durumları için Ultralytics Blog sayfamızı keşfet.


