İçeriğe geç

Ultralytics YOLO11 kullanarak Örnek Segmentasyonu ve Takibi 🚀

Örnek Segmentasyonu Nedir?

Örnek segmentasyonu, bir görüntüdeki nesnelerin piksel düzeyinde tek tek tanımlanmasını ve ana hatlarının belirlenmesini içeren bir bilgisayarla görme görevidir. Pikselleri yalnızca kategoriye göre sınıflandıran anlamsal segmentasyonun aksine, örnek segmentasyonu her nesne örneğini benzersiz bir şekilde etiketler ve kesin olarak tanımlar, bu da onu tıbbi görüntüleme, otonom sürüş ve endüstriyel otomasyon gibi ayrıntılı uzamsal anlayış gerektiren uygulamalar için çok önemli hale getirir.

Ultralytics YOLO11YOLO modellerinin bilinen hızını ve verimliliğini korurken hassas nesne sınırı tespitine olanak tanıyan güçlü örnek segmentasyon özellikleri sağlar.

Ultralytics paketinde iki tür örnek segmentasyon takibi mevcuttur:

  • Sınıf Nesneleri ile Örnek Segmentasyonu: Net bir görsel ayrım için her sınıf nesnesine benzersiz bir renk atanır.

  • Nesne İzleri ile Örnek Segmentasyonu: Her iz farklı bir renkle temsil edilir ve video kareleri arasında kolay tanımlama ve izlemeyi kolaylaştırır.



İzle: Nesne Takibi ile Örnek Segmentasyonu Ultralytics YOLO11

Örnekler

Örnek Segmentasyonu Örnek Segmentasyonu + Nesne Takibi
Ultralytics Örnek Segmentasyonu Ultralytics Nesne Takibi ile Örnek Segmentasyonu
Ultralytics Örnek Segmentasyonu 😍 Ultralytics Nesne Takibi ile Örnek Segmentasyonu 🔥

Ultralytics YOLO kullanarak örnek segmentasyonu

# Instance segmentation using Ultralytics YOLO11
yolo solutions isegment show=True

# Pass a source video
yolo solutions isegment source="path/to/video.mp4"

# Monitor the specific classes
yolo solutions isegment classes="[0, 5]"
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("isegment_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Initialize instance segmentation object
isegment = solutions.InstanceSegmentation(
    show=True,  # display the output
    model="yolo11n-seg.pt",  # model="yolo11n-seg.pt" for object segmentation using YOLO11.
    # classes=[0, 2],  # segment specific classes i.e, person and car with pretrained model.
)

# 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 = isegment(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

InstanceSegmentation Argümanlar

İşte bir tablo InstanceSegmentation Argümanlar:

Tartışma Tip Varsayılan Açıklama
model str None Ultralytics YOLO Model Dosyasının Yolu.
region list [(20, 400), (1260, 400)] Sayım bölgesini tanımlayan noktaların listesi.

Ayrıca şu avantajlardan da yararlanabilirsiniz track içindeki argümanlar InstanceSegmentation Çözüm:

Tartışma Tip Varsayılan Açıklama
tracker str 'botsort.yaml' Kullanılacak izleme algoritmasını belirtir, örn, bytetrack.yaml veya botsort.yaml.
conf float 0.3 Algılamalar için güven eşiğini ayarlar; düşük değerler daha fazla nesnenin izlenmesine izin verir ancak yanlış pozitifler içerebilir.
iou float 0.5 Çakışan algılamaları filtrelemek için Birlik üzerinde Kesişim (IoU) eşiğini ayarlar.
classes list None Sonuçları sınıf dizinine göre filtreler. Örneğin, classes=[0, 2, 3] yalnızca belirtilen sınıfları izler.
verbose bool True İzleme sonuçlarının görüntülenmesini kontrol ederek izlenen nesnelerin görsel bir çıktısını sağlar.
device str None Çıkarım için cihazı belirtir (örn, cpu, cuda:0 veya 0). Kullanıcıların CPU, belirli bir GPU veya model yürütme için diğer hesaplama cihazları arasında seçim yapmasına olanak tanır.

Ayrıca, aşağıdaki görselleştirme argümanları da mevcuttur:

Tartışma Tip Varsayılan Açıklama
show bool False Eğer True, 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 None or int None Sınırlayıcı kutuların çizgi genişliğini belirtir. Eğer Noneçizgi genişliği görüntü boyutuna göre otomatik olarak ayarlanır. Netlik için görsel özelleştirme sağlar.

Örnek Segmentasyon Uygulamaları

YOLO11 ile örnek segmentasyonu, çeşitli sektörlerde çok sayıda gerçek dünya uygulamasına sahiptir:

Atık Yönetimi ve Geri Dönüşüm

YOLO11 , atık yönetimi tesislerinde farklı malzeme türlerini tanımlamak ve ayırmak için kullanılabilir. Model plastik atıkları, kartonları, metalleri ve diğer geri dönüştürülebilir maddeleri yüksek hassasiyetle ayırarak otomatik ayıklama sistemlerinin atıkları daha verimli bir şekilde işlemesini sağlar. Küresel olarak üretilen 7 milyar ton plastik atığın yalnızca %10'unun geri dönüştürüldüğü düşünüldüğünde bu özellikle değerlidir.

Otonom Araçlar

Sürücüsüz araçlarda, örnek segmentasyonu yayaların, araçların, trafik işaretlerinin ve diğer yol öğelerinin piksel düzeyinde tanımlanmasına ve izlenmesine yardımcı olur. Çevrenin bu hassas şekilde anlaşılması, navigasyon ve güvenlik kararları için çok önemlidir. YOLO11'in gerçek zamanlı performansı, onu zamana duyarlı bu uygulamalar için ideal hale getirir.

Tıbbi Görüntüleme

Örnek segmentasyonu, tıbbi taramalarda tümörleri, organları veya hücresel yapıları tanımlayabilir ve ana hatlarını belirleyebilir. YOLO11'in nesne sınırlarını hassas bir şekilde belirleme yeteneği, onu tıbbi teşhis ve tedavi planlaması için değerli kılmaktadır.

İnşaat Sahası İzleme

Şantiyelerde örnek segmentasyonu ağır makineleri, çalışanları ve malzemeleri takip edebilir. Bu, ekipman konumlarını izleyerek ve işçilerin tehlikeli alanlara girdiğini tespit ederek güvenliği sağlamaya yardımcı olurken aynı zamanda iş akışını ve kaynak tahsisini optimize eder.

Not

Sorularınız için Ultralytics Sorun Bölümüne veya aşağıda belirtilen tartışma bölümüne sorularınızı göndermekten çekinmeyin.

SSS

Ultralytics YOLO11 adresini kullanarak örnek segmentasyonunu nasıl gerçekleştirebilirim?

Ultralytics YOLO11 kullanarak örnek segmentasyonu gerçekleştirmek için YOLO modelini YOLO11 segmentasyon versiyonu ile başlatın ve video karelerini bu model üzerinden işleyin. İşte basitleştirilmiş bir kod örneği:

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("instance-segmentation.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Init InstanceSegmentation
isegment = solutions.InstanceSegmentation(
    show=True,  # display the output
    model="yolo11n-seg.pt",  # model="yolo11n-seg.pt" for object segmentation using YOLO11.
)

# Process video
while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        print("Video frame is empty or processing is complete.")
        break
    results = isegment(im0)
    video_writer.write(results.plot_im)

cap.release()
video_writer.release()
cv2.destroyAllWindows()

Ultralytics YOLO11 kılavuzunda örnek segmentasyonu hakkında daha fazla bilgi edinin.

Ultralytics YOLO11 adresinde örnek segmentasyonu ve nesne izleme arasındaki fark nedir?

Örnek segmentasyonu, her nesneye benzersiz bir etiket ve maske vererek bir görüntü içindeki ayrı nesneleri tanımlar ve ana hatlarını belirler. Nesne izleme, video kareleri boyunca nesnelere tutarlı kimlikler atayarak bunu genişletir ve aynı nesnelerin zaman içinde sürekli izlenmesini kolaylaştırır. YOLO11'in uygulamasında olduğu gibi birleştirildiğinde, hassas sınır bilgilerini korurken videolardaki nesne hareketini ve davranışını analiz etmek için güçlü yetenekler elde edersiniz.

Neden Maske R-CNN veya Daha Hızlı R-CNN gibi diğer modeller yerine segmentasyon ve izleme için Ultralytics YOLO11 adresini kullanmalıyım?

Ultralytics YOLO11 , Mask R-CNN veya Faster R-CNN gibi diğer modellere kıyasla gerçek zamanlı performans, üstün doğruluk ve kullanım kolaylığı sunar. YOLO11 , görüntüleri tek bir geçişte (tek aşamalı algılama) işler, bu da yüksek hassasiyeti korurken önemli ölçüde daha hızlı olmasını sağlar. Ayrıca Ultralytics HUB ile sorunsuz entegrasyon sağlayarak kullanıcıların modelleri, veri kümelerini ve eğitim boru hatlarını verimli bir şekilde yönetmesine olanak tanır. Hem hız hem de doğruluk gerektiren uygulamalar için YOLO11 optimum bir denge sağlar.

Segmentasyon ve izleme gibi YOLO11 modellerini eğitmek için Ultralytics tarafından sağlanan uygun veri kümeleri var mı?

Evet, Ultralytics , COCO-Seg, COCO8-Seg (hızlı test için daha küçük bir alt küme), Package-Seg ve Crack-Seg dahil olmak üzere örnek segmentasyonu için YOLO11 modellerini eğitmek için uygun çeşitli veri kümeleri sunar. Bu veri kümeleri, örnek segmentasyon görevleri için gereken piksel düzeyinde ek açıklamalarla birlikte gelir. Daha özel uygulamalar için Ultralytics formatına uygun özel veri kümeleri de oluşturabilirsiniz. Tam veri kümesi bilgileri ve kullanım talimatları Ultralytics Veri Kümeleri belgelerinde bulunabilir.

📅1 yıl önce oluşturuldu ✏️ 6 gün önce güncellendi

Yorumlar