Ultralytics YOLO26 Kullanarak Örnek Segment ve Track 🚀
Örnek Bölütleme (Instance Segmentation) nedir?
Örnek bölütleme, bir görüntüdeki bireysel nesneleri piksel düzeyinde tanımlamayı ve ana hatlarını çizmeyi içeren bir bilgisayarlı görü görevidir. Pikselleri yalnızca kategoriye göre sınıflandıran semantik bölütleme'den farklı olarak, örnek bölütleme her nesne örneğini benzersiz bir şekilde etiketler ve hassas bir şekilde tanımlar, bu da onu tıbbi görüntüleme, otonom sürüş ve endüstriyel otomasyon gibi ayrıntılı mekansal anlayış gerektiren uygulamalar için çok önemli kılar.
Ultralytics YOLO26, YOLO modellerinin bilinen hızını ve verimliliğini korurken hassas nesne sınırı algılamayı sağlayan güçlü örnek segmentasyon yetenekleri sunar.
Ultralytics paketinde bulunan iki tür örnek segmentasyonu takibi vardır:
Sınıf Nesneleriyle Örnek Bölütleme: Net görsel ayrım için her sınıf nesnesine benzersiz bir renk atanır.
Nesne İzlemeleriyle Örnek Bölütleme: Her izleme, belirgin bir renkle temsil edilir ve video kareleri arasında kolay tanımlama ve izleme sağlar.
İzle: Ultralytics YOLO26 ile Nesne Takibi Destekli Örnek Segmentasyon
Numuneler
| Örnek Segmentasyonu | Örnek Segmentasyonu + Nesne Takibi |
|---|---|
![]() | |
| Ultralytics Örnek Bölütleme 😍 | Nesne Takibi ile Ultralytics Örnek Bölütleme 🔥 |
Ultralytics YOLO kullanarak örnek segmentasyonu
# Instance segmentation using Ultralytics YOLO26
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="yolo26n-seg.pt", # model="yolo26n-seg.pt" for object segmentation using YOLO26.
# classes=[0, 2], # segment specific classes, e.g., person and car with the 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 şunları içeren bir tablo: InstanceSegmentation argümanlar:
| Argüman | Tür | Varsayılan | Açıklama |
|---|---|---|---|
model | str | None | Bir Ultralytics YOLO model dosyasının yolu. |
region | list | '[(20, 400), (1260, 400)]' | Sayma bölgesini tanımlayan nokta listesi. |
Ayrıca şunlardan da yararlanabilirsiniz: track içindeki argümanlar InstanceSegmentation çözümü:
| Argüman | Tür | Varsayılan | Açıklama |
|---|---|---|---|
tracker | str | 'botsort.yaml' | Kullanılacak izleme algoritmasını belirtir, örneğin: bytetrack.yaml veya botsort.yaml. |
conf | float | 0.1 | Algılamalar için güven eşiğini ayarlar; daha düşük değerler daha fazla nesnenin izlenmesine olanak tanır ancak yanlış pozitifleri içerebilir. |
iou | float | 0.7 | Çakışan algılamaları filtrelemek için Intersection over Union (IoU) eşiğini ayarlar. |
classes | list | None | Sonuçları sınıf indeksine 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 eder ve 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 model yürütme için CPU, belirli bir GPU veya diğer işlem cihazları arasında seçim yapmasına olanak tanır. |
Ayrıca, aşağıdaki görselleştirme argümanları mevcuttur:
| Argüman | Tür | Varsayılan | Açıklama |
|---|---|---|---|
show | bool | False | Eğer True, ek 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 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. |
show_conf | bool | True | Etiketin yanında her algılama için güvenilirlik puanını görüntüler. Modelin her algılama için kesinliği hakkında fikir verir. |
show_labels | bool | True | Görsel çıktıdaki her algılama için etiketleri görüntüler. Algılanan nesnelerin anında anlaşılmasını sağlar. |
Örnek Bölütleme Uygulamaları
YOLO26 ile örnek segmentasyonun çeşitli sektörlerde sayısız gerçek dünya uygulaması bulunmaktadır:
Atık Yönetimi ve Geri Dönüşüm
YOLO26, atık yönetim tesislerinde farklı malzeme türlerini tanımlamak ve ayırmak için kullanılabilir. Model, plastik atıkları, kartonu, metali ve diğer geri dönüştürülebilir maddeleri yüksek hassasiyetle segment edebilir, bu da otomatik ayıklama sistemlerinin atıkları daha verimli işlemesini sağlar. Bu, dünya genelinde üretilen 7 milyar ton plastik atığın yalnızca yaklaşık %10'unun geri dönüştürüldüğü düşünüldüğünde özellikle değerlidir.
Otonom Araçlar
Otonom araçlarda, örnek segmentasyon yayaları, araçları, trafik işaretlerini ve diğer yol unsurlarını piksel düzeyinde tanımlamaya ve takip etmeye yardımcı olur. Çevrenin bu hassas şekilde anlaşılması, navigasyon ve güvenlik kararları için hayati öneme sahiptir. YOLO26'nın gerçek zamanlı performansı, onu bu zaman açısından kritik uygulamalar için ideal kılar.
Tıbbi Görüntüleme
Örnek segmentasyon, tıbbi taramalarda tümörleri, organları veya hücresel yapıları tanımlayabilir ve ana hatlarını çizebilir. YOLO26'nın nesne sınırlarını hassas bir şekilde belirleme yeteneği, onu tıbbi teşhis ve tedavi planlaması için değerli kılar.
Şantiye İzleme
Şantiyelerde, örnek segmentasyonu ağır makineleri, işçileri ve malzemeleri izleyebilir. Bu, ekipman konumlarını izleyerek ve işçilerin tehlikeli alanlara ne zaman girdiğini algılayarak güvenliği sağlamaya yardımcı olurken, aynı zamanda iş akışını ve kaynak tahsisini optimize eder.
Not
Herhangi bir sorunuz için, sorularınızı Ultralytics Sorunlar Bölümü'nde veya aşağıda belirtilen tartışma bölümünde paylaşmaktan çekinmeyin.
SSS
Ultralytics YOLO26 kullanarak örnek segmentasyonu nasıl yaparım?
Ultralytics YOLO26 kullanarak örnek segmentasyon yapmak için, YOLO modelini YOLO26'nın bir segmentasyon sürümüyle 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="yolo26n-seg.pt", # model="yolo26n-seg.pt" for object segmentation using YOLO26.
)
# 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()
Örnek segmentasyon hakkında daha fazla bilgiyi Ultralytics YOLO26 rehberinde bulabilirsiniz.
Ultralytics YOLO26'da örnek segmentasyon ve nesne takibi arasındaki fark nedir?
Örnek segmentasyon, bir görüntüdeki tek tek nesneleri tanımlar ve ana hatlarını çizer, her nesneye benzersiz bir etiket ve maske atar. Nesne takibi, video kareleri boyunca nesnelere tutarlı kimlikler atayarak bunu genişletir ve aynı nesnelerin zaman içinde sürekli takibini kolaylaştırır. YOLO26'nın 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 Mask R-CNN veya Faster R-CNN gibi diğer modeller yerine örnek segmentasyon ve takip için Ultralytics YOLO26 kullanmalıyım?
Ultralytics YOLO26, 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. YOLO26, görüntüleri tek geçişte (tek aşamalı algılama) işleyerek yüksek hassasiyeti korurken önemli ölçüde daha hızlı hale gelir. Ayrıca Ultralytics Platform ile sorunsuz entegrasyon sağlayarak kullanıcıların modelleri, veri kümelerini ve eğitim işlem hatlarını verimli bir şekilde yönetmesine olanak tanır. Hem hız hem de doğruluk gerektiren uygulamalar için YOLO26, en uygun dengeyi sağlar.
Ultralytics tarafından örnek segmentasyon ve takip için YOLO26 modellerini eğitmek üzere uygun veri kümeleri sağlanıyor mu?
Evet, Ultralytics, örnek segmentasyon için YOLO26 modellerini eğitmek üzere COCO-Seg, COCO8-Seg (hızlı test için daha küçük bir alt küme), Package-Seg ve Crack-Seg dahil olmak üzere çeşitli veri kümeleri sunar. Bu veri kümeleri, örnek segmentasyon görevleri için gerekli piksel düzeyinde ek açıklamalarla birlikte gelir. Daha özel uygulamalar için Ultralytics formatını takip ederek özel veri kümeleri de oluşturabilirsiniz. Tam veri kümesi bilgileri ve kullanım talimatları Ultralytics Veri Kümeleri belgelerinde bulunabilir.
