Ultralytics YOLO27: Bekleme listesine katıl.
Get Started
Bilgisayarlı Görünün Temelleri·Görev Seç·Ders 2/10
Dersbaşlangıç düzeyi

Yedi Görüntü İşleme Görevi

Çıktı satırını sınıflandırma, nesne algılama, örnek bölütleme, anlamsal bölütleme, derinlik tahmini, poz veya OBB ile eşleştir ve başlangıç için YOLO26 ağırlıklarını seç.

Görevi seçmek, eğitimden önce verdiğin en maliyetli karardır. Kutular yeterli olacakken bölütlemeyi seçersen etiketleme maliyetin katlanır; drone ile görülen gemiler için dik kutular seçersen her kutunun çoğu su olur. Ultralytics YOLO, tek bir API üzerinden yedi görevi destekler; dolayısıyla seçim araçlarla değil, ihtiyacın olan çıktıyla ilgilidir.

Sonuç

Çıktı satırına uyan tek görevi ve YOLO26 ağırlık dosyasını belirt; daha maliyetli olan sonraki göreve neden gerek olmadığını tek satırda açıkla.

Hızlı Başlangıç
Nasıl ilerleyeceğini zaten biliyorsan, işte kısa sürüm.
  1. Tüm görüntü için tek etiket: sınıflandırma.

  2. Ne olduğu ve nerede bulunduğu; dikdörtgen yeterli: nesne algılama.

  3. Her nesnenin tam dış hattı: örnek bölütleme. Her piksel için sınıf: anlamsal bölütleme.

  4. Her piksel için mesafe: derinlik tahmini.

  5. Eklemler veya işaret noktaları: poz. Yukarıdan bakıldığında açılı duran nesneler: OBB.

  6. Yedi görevin hepsinde aynı YOLO() API'si kullanılır; yalnızca ağırlık dosyası değişir.

Uygulamalı

Yedi göreve genel bakış#

Yedi Ultralytics YOLO görevinin çıktıları: sınıflandırılmış bir yaprak, algılanan otomobiller ve yayalar, bölütlenmiş otomobiller, anlamsal bir sokak haritası, koşucunun poz iskeleti, gemiler üzerindeki döndürülmüş kutular ve bir derinlik haritası

Tabloyu çıktı sütununa göre oku — tanımının çıktı satırı bununla eşleşmeli.

GörevÇıktıYanıtladığı soruYOLO26 ağırlıkları
SınıflandırmaHer görüntü için olasılık içeren tek bir etiket"Bu görüntüde ne var?"yolo26n-cls.pt
Nesne algılamaHer nesne için sınıf, kutu ve güven puanı"Ne nerede?"yolo26n.pt
Örnek bölütlemeHer nesne için sınıf ve piksel maskesi"Her nesnenin şekli tam olarak nedir?"yolo26n-seg.pt
Anlamsal segmentasyonHer piksel için tek sınıf"Her piksel ne tür bir bölgeye ait?"yolo26n-sem.pt
Derinlik tahminiHer piksel için metre cinsinden mesafe"Her piksel ne kadar uzakta?"yolo26n-depth.pt
Poz tahminiHer kişi veya nesne için kutu ve anahtar noktalar"Vücut nasıl bir pozisyonda?"yolo26n-pose.pt
Yönlendirilmiş sınırlayıcı kutularHer nesne için döndürülmüş kutu"Nerede ne var, hangi açıda?"yolo26n-obb.pt

İki ayrım çoğu kişinin kafasını karıştırır. Örnek ve anlamsal segmentasyon: örnek segmentasyonu her nesneyi ayrı ayrı ayırır (üç araba, üç maske); anlamsal segmentasyon ise pikselleri yalnızca sınıfa göre etiketler (tek bir "araba" bölgesi, sayı yok). Algılama ve OBB: ikisi de nesne başına bir kutu döndürür, ancak OBB nesneyle birlikte döner; bu, özellikle üstten çekilen görüntülerde nesneler açılı durduğunda önemlidir.

Tek API, yedi çıktı#

Görev değiştirmek, araçları değiştirmek anlamına gelmez. Döndürülen sonucu ağırlık dosyası belirler ve Results nesnesi eşleşen özniteliği doldurur:

from ultralytics import YOLO

image = "https://ultralytics.com/images/bus.jpg"
outputs = ["probs", "boxes", "masks", "semantic_mask", "depth", "keypoints", "obb"]

for suffix in ["-cls", "", "-seg", "-sem", "-depth", "-pose", "-obb"]:
    weights = f"yolo26n{suffix}.pt"
    model = YOLO(weights)
    result = model(image, verbose=False)[0]
    filled = [name for name in outputs if getattr(result, name) is not None]
    print(f"{weights:18} task={model.task:9} -> {', '.join(filled)}")
yolo26n-cls.pt     task=classify  -> probs
yolo26n.pt         task=detect    -> boxes
yolo26n-seg.pt     task=segment   -> boxes, masks
yolo26n-sem.pt     task=semantic  -> semantic_mask
yolo26n-depth.pt   task=depth     -> depth
yolo26n-pose.pt    task=pose      -> boxes, keypoints
yolo26n-obb.pt     task=obb       -> obb

Sağ sütunu oku: segmentasyon ve poz tahmini de kutu döndürür, çünkü bunlar algılamaya bir özellik daha ekler. Anlamsal segmentasyon ve derinlik, nesne başına hiçbir çıktı döndürmez; bunun yerine her pikseli tanımlar. Sonraki aşamadaki kodun bu özniteliklerden tam olarak birini okur, bu nedenle belirtimindeki çıktı satırında bunu adlandırmalısın.

Uygulamada seçim yapmak#

Önce tek bir tahminin neyi tanımlaması gerektiğini belirle, sonra karar satırındaki soruyu yanıtlayan en düşük maliyetli görevi seç:

  1. Görüntünün tamamı için tek bir etiket → sınıflandırma.
  2. Nesneleri ayırmaya gerek duymadan her piksel için bir sınıf → anlamsal segmentasyon.
  3. Her piksel için bir mesafe → derinlik tahmini.
  4. Her nesneyle ilgili bir şey:
    • nerede olduğu; saymak, konumunu belirlemek veya filtrelemek için → algılama (kareler arasındaki kimlik takibi için takip ekle);
    • tam şekli, sınırı veya alanı → örnek segmentasyonu;
    • duruşu → poz tahmini;
    • üstten çekilen görüntülerdeki dönüşü → OBB.

İki görev de işini görüyorsa etiketlemesi ve çalıştırması daha düşük maliyetli olanı seç. Çoğu ürün için varsayılan tercih algılamadır: kutuları çizmek ve incelemek hızlıdır; üzerine takip eklendiğinde de bu kutular sayım, bölge uyarıları ve bu otoyol görüntüsündeki gibi trafik analizlerini mümkün kılar:

Ultralytics YOLO ile takip edilen otoyol trafiği; her otomobil, otobüs ve kamyonda kalıcı bir kimlik ve hareket izi

Derinlik: "ne kadar uzakta" sorusunu yanıtlayan görev#

Derinlik tahmini, görüntüyle aynı boyutta bir harita döndürür; her piksel için metre cinsinden bir mesafe verir, sınıf veya kutu içermez. Mesafenin kararı belirlediği durumlarda kullan: engellerden uzak duran bir robot, yakındaki bir nesneye yaklaşırken yavaşlayan bir araç veya bir yığının kabaca hacmini tahmin etme.

from ultralytics import YOLO

model = YOLO("yolo26n-depth.pt")
result = model("https://ultralytics.com/images/bus.jpg", verbose=False)[0]

depth = result.depth.data  # meters, one value per pixel
print(f"depth map {tuple(depth.shape)}, nearest {float(depth.min()):.1f} m, farthest {float(depth.max()):.1f} m")
depth map (1080, 810), nearest 2.0 m, farthest 14.9 m

Tek bir kamera; perspektif ve nesne boyutu gibi öğrenilmiş ipuçlarından derinliği çıkarır. Bu nedenle güvenlik açısından kritik mesafelerde kullanmadan önce hatasını kendi sahnelerinde ölç. Derinlik, algılamayla iyi çalışır: önce nesneyi algıla, sonra kutusunun içindeki derinlik haritasını oku.

Yaygın Hatalar#

KarıştırılanlarBelirtiDaha iyi tercih
Kutular yeterliyken segmentasyon kullanmakSonraki aşamadaki kod maskeyi hiç okumuyorAlgılama
Üstten çekilen görüntülerde dik kutularKutuların çoğu arka planı kapsıyor ve komşu nesneler birbirini bastırıyorOBB
Birden fazla nesne içeren sahne için sınıflandırmaEtiket tek bir küçük nesneye bağlıAlgılama ve bir kural
Sayım gerektiğinde anlamsal segmentasyonBirbirine değen nesneler tek bir bölgede birleşiyorÖrnek segmentasyonu
Mesafe göstergesi olarak kutu boyutuNesne boyutları değişince kurallar bozuluyorDerinlik tahmini veya algılama ve derinlik
Varlık kontrolü için poz tahminiHiçbir anahtar noktayı okumuyorsunAlgılama
Kullanmayacağın çıktılar için ödeme yapma

Daha zengin çıktılar her aşamada daha maliyetlidir: maskeleri ve anahtar noktaları çizmek daha uzun sürer, incelemeleri daha uzun sürer ve daha katı etiketleme kuralları gerektirir. Karar satırını yanıtlayan en düşük maliyetli görevle başla ve yalnızca gerçek bir tüketici ek ayrıntıya ihtiyaç duyduğunda yükselt.

Dene

1. dersteki belirtiminden çıktı satırını al ve yukarıdaki karar basamaklarını izle. Görevi, başlangıç olarak kullanacağın YOLO26 ağırlık dosyasını, kodunun okuyacağı Results özniteliğini ve sıradaki daha pahalı görevin neden gerekmediğini açıklayan tek bir satırı yaz. Henüz bir projen yok mu? Forklift belirtimini kullan.

Tamamlanma ölçütü
Aşağıdakilerin tümü doğru olduğunda dersi tamamlamış olursun.
  • Bir görevi, bu görev için YOLO26 ağırlık dosyasını ve kodunun okuyacağı Results özniteliğini belirledin.

  • Sıradaki daha pahalı görevin neden gerekmediğini açıklayan tek bir satır yazdın.

  • Projenin örnek segmentasyonuna mı, anlamsal segmentasyona mı, derinliğe mi yoksa bunların hiçbirine mi ihtiyaç duyduğunu ve nedenini açıklayabilirsin.

Çözümü göster

Forklift belirtimi için yanıt, result.boxes üzerinden okunan yolo26n.pt ile algılamadır.

Karar satırı, kodun aralarındaki mesafeyi kontrol edebilmesi için forkliftlerin ve insanların nerede olduğunu bilmelidir. Kutular bu soruyu yanıtlar. Örnek segmentasyonu, uyarıyı değiştirmeden etiketleme maliyetini artırır; çünkü kutunun alt kenarı zemin konumunu zaten verir. Kararda duruş yer almadığı için poz tahmini gerekmez. Derinlik, görüntü konumlarını metreye dönüştürmeye yardımcı olabilir; ancak sabit ve kalibre edilmiş bir kamera, zemin düzlemini derinlik olmadan eşler. OBB'yi yalnızca kameralar doğrudan aşağı bakıyorsa ve forkliftler dik çapraz açılarda görünüyorsa denemeye değer.

Sırada ne var

Sırada, yakından inceleyeceğimiz algılama var: temel görev ve çoğu ürünün başladığı nokta.

İlerlemeni kaydetmek için giriş yap