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 YOLO kullanarak örnek segmentasyonu
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.