Ultralytics örnek segmentasyonu için özel olarak eğitmeyi öğrenin. Bu modelde, piksel düzeyinde maskeler kullanılarak her bir nesne tanımlanır ve ayrılır.
Ultralytics örnek segmentasyonu için özel olarak eğitmeyi öğrenin. Bu modelde, piksel düzeyinde maskeler kullanılarak her bir nesne tanımlanır ve ayrılır.
Son teknolojik gelişmeler sayesinde, hayatımızda sessiz ama etkili bir rol oynayan birçok akıllı sistem yapay zeka ile çalışmaktadır. Örneğin, bir araba kırmızı ışıkta geçtiğinde kamera otomatik olarak ihlali kaydederken veya otomatik kalite kontrol sistemi üretim hattında bir üretim hatası tespit ettiğinde, yapay zeka arka planda bu işi yapmaktadır.
Özellikle, bilgisayar görme olarak bilinen bir yapay zeka dalı, makinelerin görüntüleri ve videoları yorumlamasını ve anlamasını sağlar. Bilgisayar görme, sistemlerin nesneleri tanımasını, track ve görsel ayrıntıları gerçek zamanlı olarak analiz etmesini sağlar, bu da onu trafik izleme, endüstriyel denetim ve robotik gibi uygulamalar için vazgeçilmez kılar.
Bu yetenekler, nesne algılama ve örnek segmentasyonu dahil olmak üzere çeşitli görme görevlerini destekleyen Ultralytics gibi bilgisayar görme modelleri sayesinde mümkün hale getirilmiştir. Nesne algılama, basit sınırlayıcı kutular kullanarak nesneleri tanımlarken, örnek segmentasyonu her bir nesneyi piksel düzeyinde özetleyerek daha da ileri gider ve gerçek dünya senaryolarında daha doğru ve güvenilir sonuçlar elde edilmesini sağlar.

YOLO26 gibi modeller önceden eğitilmiştir ve insan, araba ve hayvan gibi segment nesneleri kutudan çıktığı gibi segment ayırabilir. Ancak, daha spesifik uygulamalar için özel olarak da eğitilebilirler. Başka bir deyişle, modeller nesnelerin neye benzediğini ve bunları nasıl doğru bir şekilde çizebileceğini öğrenebilirler.
Bu makalede, örnek segmentasyonu için Ultralytics özel olarak nasıl eğiteceğimizi adım adım inceleyeceğiz. Hadi başlayalım!
Eğitim modellerine geçmeden önce, bir adım geri gidip örnek segmentasyonun gerçekte ne anlama geldiğini anlayalım.
Örnek segmentasyonu, bir modelin bir görüntüdeki her bir nesneyi bulmasını ve tam şeklini belirlemesini sağlayan bir bilgisayar görme görevidir. Model, yalnızca bir nesnenin varlığını tespit etmekle kalmaz, görüntünün her pikselini inceleyerek onun belirli bir nesneye ait olup olmadığına karar verir.
Bu, nesneler üst üste biniyor veya birbirine çok yakın olsa bile onları ayırabileceği anlamına gelir. Örnek segmentasyonunu görselleştirmeyi kolaylaştıran temel kavramlardan biri maskedir.
Maske, yalnızca nesnenin alanını kaplayan piksel düzeyinde bir dış hatlardır. Bunu, nesneyi vurgulayıcıyla renklendirirken diğer her şeyi olduğu gibi bırakmak gibi düşünebilirsiniz.
Her nesne kendi maskesine sahiptir, bu da modelin aynı türden nesneleri birbirinden ayırt etmesini sağlar, örneğin iki araba veya yan yana duran iki kişi gibi.

Örnek segmentasyonun ne olduğunu daha iyi anlamak için, onu diğer yaygın bilgisayar görme görevleriyle karşılaştırabiliriz. Nesne algılama, nesnelerin etrafına çizilen basit dikdörtgenler olan sınırlayıcı kutuları kullanır. Sınırlayıcı kutular hızlı ve kullanışlıdır, ancak nesnenin tam şeklini yakalayamazlar.
Öte yandan, semantik segmentasyon görüntüdeki her pikseli kategoriye göre etiketler, ancak aynı sınıfa ait ayrı nesneleri birbirinden ayırmaz. Örnek segmentasyon, nesne kategorilerini tanımlayarak ve her bir nesneye ayrı bir maske atayarak her iki yaklaşımın en iyi özelliklerini birleştirir.
Örnek segmentasyonu bu kadar ayrıntılı bilgi sağladığından, otomatik kalite kontrolü, tıbbi görüntüleme ve robotik gibi gerçek dünya uygulamalarında özellikle yararlıdır. Hassas ölçümler, doğru sınırlar veya nesne ayırma gerektiren görevler, bu piksel düzeyinde anlayıştan yararlanabilir.
Ultralytics , gerçek dünyadaki görme görevlerini hızlı ve verimli bir şekilde yerine getirmek için tasarlanmış, uçtan uca, maksimum bastırma (NMS) içermeyen, son teknoloji bilgisayar görme modelidir. Görüntüleri ve videoları gerçek zamanlı olarak işleyebilen ve aynı zamanda doğru sonuçlar sunan Ultralytics YOLO algılama modelleriYOLO aittir.
YOLO26, nesne algılama, poz tahmin, görüntü sınıflandırma, yönlendirilmiş sınırlayıcı kutu algılama (obb ) ve örnek segmentasyonu dahil olmak üzere tek bir çerçeve içinde birden fazla görme görevini destekler.
YOLO26, kutudan çıktığı anda önceden eğitilmiş olarak gelir, yani COCO ve ImageNet gibi yaygın olarak kullanılan büyük veri setlerinden insan, araç ve gündelik nesneler gibi yaygın nesneleri tanımayı önceden öğrenmiştir. Ek eğitim gerekmeden modeli hemen kullanmaya başlayabilirsiniz.
Ancak, uygulamanız benzersiz nesneler, özel ortamlar veya olağandışı aydınlatma koşulları içeriyorsa, özel model eğitimi sonuçları önemli ölçüde iyileştirebilir. YOLO26'yı kendi etiketlediğiniz görüntülerle eğiterek, modele tam olarak neyi araması gerektiğini ve belirli kullanım durumunuz için nesneleri daha doğru bir şekilde nasıl özetleyeceğini öğretebilirsiniz.
Bu süreç, ince ayar olarak da adlandırılır. İnce ayar, modeli sıfırdan eğitmek yerine, önceden eğitilmiş bir YOLO26 modeliyle başlar ve kendi verilerinizi kullanarak modeli nazikçe uyarlar. Model, kenarlar, şekiller ve dokular gibi genel görsel kalıpları zaten anladığı için, belirli nesneleri öğrenmek için çok daha az etiketli görüntüye ve çok daha az zamana ihtiyaç duyar.
Basitçe söylemek gerekirse, ince ayar yapmak, modeli sıfırdan eğitmekten daha hızlı, daha verimli ve daha erişilebilirdir. Özel eğitim YOLO26, sınırlı veri ve bilgi işlem kaynaklarıyla çalışan yeni başlayanlar veya ekipler için bile pratik bir seçenektir.
Peki, örnek segmentasyonu nerede etkili olabilir? Nesneleri birbirinden ayırmak ve tam şekillerini anlamak önemli olan durumlarda, özellikle de nesneler kalabalık veya üst üste bindiğinde.
İşte örnek segmentasyonun gerçek bir fark yarattığı bazı yaygın iş akışları:

Şimdi, özel eğitimin nasıl çalıştığını ele alalım. Model eğitimi teknik bir konu gibi görünse de, genel süreç oldukça basittir.
Görüntülerinizi hazırlayabilir, modelin öğrenmesini istediğiniz nesneleri etiketleyebilir, küçük bir ayar dosyası yapılandırabilir ve ardından Ultralytics Python kullanarak YOLO26'yı eğitebilirsiniz. Ultralytics Python , her şeyi sıfırdan oluşturmaya gerek kalmadan YOLO eğitmek, test etmek ve dağıtmak için kullanıma hazır araçlar sağlayan bir yazılım kütüphanesidir.
İlk adım, özel segmentasyon veri setinizi hazırlamaktır. Veri seti, modelin öğrenmesini istediğiniz nesneleri gösteren görüntülerin bir koleksiyonudur.
Farklı açılar, ışıklandırma, arka planlar ve nesne boyutları gibi gerçek dünya koşullarını yansıtan görüntüler eklemeye çalışın. Görüntüleriniz ne kadar çeşitlilik gösterirse, modeliniz o kadar iyi performans gösterir.
Örneğin segmentasyon için, görüntülerinizin de açıklamalara ihtiyacı vardır. Açıklama, modelin neyi öğrenmesi gerektiğini bilmesi için her görüntüdeki nesneleri etiketlemeyi içerir. Basit kutular çizmek yerine, her nesnenin etrafına ayrıntılı konturlar (çokgenler) çizerek nesnenin tam şeklini işaretlersiniz. Bu konturlar, modelin tahmin etmek için öğrendiği maskeler haline gelir.
Bu etiketleri oluşturmak için kullanabileceğiniz birkaç açık kaynaklı açıklama aracı bulunmaktadır. Bu araçların çoğu, görüntüleri yükleyip doğrudan üzerlerine nesne konturları çizebileceğiniz kullanıcı dostu arayüzler sunmaktadır.
Görüntüleriniz ve açıklamalarınız hazır olduğunda, bunları eğitim ve doğrulama klasörlerine düzenleyebilirsiniz. Tipik bir dağılım, görüntülerin %80'inin eğitim ve %20'sinin doğrulama için ayrılmasıdır, ancak veri kümenizin boyutuna bağlı olarak %70'inin eğitim ve %30'unun doğrulama için ayrılması da yaygındır. Eğitim kümesi modele öğretirken, doğrulama kümesi modelin daha önce görmediği görüntülerde ne kadar iyi performans gösterdiğini ölçmek için kullanılır.
Bu bölünmeyi dengeli tutmak ve her iki klasörün de çeşitli örnekler içermesini sağlamak önemlidir. Uygun bir eğitim ve doğrulama bölünmesine sahip, temiz ve iyi etiketlenmiş bir veri kümesi, güçlü bir örnek segmentasyon modelinin temelini oluşturur.
Görüntülerinizi ve açıklamalarınızı hazırladıktan sonra, bir sonraki adım bir veri kümesi YAML dosyası oluşturmaktır. Bu dosya, veri kümenizin nerede bulunduğunu ve modelin eğitim sırasında hangi nesne sınıflarını öğrenmesi gerektiğini belirtir.
Bu dosyada, veri kümesi kök dizinini, eğitim ve doğrulama görüntü klasörlerinin yollarını ve sınıf adlarının listesini tanımlayabilirsiniz. Sınıf adları, her şeyin doğru şekilde eşleşmesi için, açıklama dosyalarınızda kullanılan sınıf numaralarıyla aynı sırayla listelenmelidir.
Kesin formatla ilgili herhangi bir sorunuz varsa, daha fazla ayrıntı için resmi Ultralytics başvurabilirsiniz.
Veri setiniz ve YAML dosyanız hazır olduğuna göre, bir sonraki adım Ultralytics Python yüklemektir.
Bu paket, YOLO26 modellerini eğitmek, doğrulamak, çıkarım yapmak ve dışa aktarmak için gerekli araçları içerir. Karmaşık eğitim süreçlerini sıfırdan oluşturmaya gerek kalmadan YOLO çalışmak için kolaylaştırılmış bir yol sunar.
Ultralytics Python yüklemeden önce, kodunuzu nerede çalıştırmak istediğinizi seçmeniz de önemlidir. Ultralytics aşağıdakiler gibi çeşitli geliştirme ortamlarında çalışabilirsiniz:
Ortamınızı seçtikten sonra, Ultralytics Python yükleyebilirsiniz. Yüklemek için aşağıdaki komutu çalıştırın:
pip ultralytics yükle
Google veya Jupyter Notebook gibi bir dizüstü bilgisayar tabanlı ortam kullanıyorsanız, komutun başına ünlem işareti ekleyin. Herhangi bir yükleme sorunuyla karşılaşırsanız, Ultralytics veya sorun giderme kılavuzuna bakarak yaygın çözümler ve ortam kurulum ipuçları bulabilirsiniz.
Kurulumdan sonra, önceden eğitilmiş YOLO26 segmentasyon modelini yüklemeye ve eğitime başlamaya hazır olacaksınız.
Eğitime başlamadan önce, bir model boyutu seçmeniz gerekir. YOLO26 modelleri farklı boyutlarda mevcuttur: Nano (n), Küçük (s), Orta (m), Büyük (l) ve Ekstra Büyük (x).
Daha küçük modeller, merkezi işlem birimleri (CPU) veya uç cihazlarda daha hızlı eğitilir ve daha verimli çalışır. Daha büyük modeller ise genellikle daha yüksek doğruluk sağlar, ancak daha fazla bellek gerektirir ve GPU yararlanır. Yeni başlıyorsanız veya sınırlı donanımla çalışıyorsanız, Nano sürümü (YOLO26n) pratik bir seçimdir.
Model boyutunu seçtikten sonra, bir sonraki adım önceden eğitilmiş segmentasyon modelini yüklemek ve özel veri kümenizde eğitmeye başlamaktır. Bunu yapmak için, aşağıda gösterildiği gibi önceden eğitilmiş model dosyasını, veri kümenizin YAML dosyasının yolunu, dönem sayısını ve görüntü boyutunu belirtmeniz gerekir.
from ultralytics import YOLO
model = YOLO(""yolo26n-seg.pt")
results = model.train(data="path/to/file.yaml", epochs=100, imgsz=640)Epok sayısı, modelin tüm eğitim veri setini kaç kez geçeceğini belirler. Her epokta model tahminlerde bulunur, bunları doğru açıklamalarla karşılaştırır, hataları hesaplar ve performansı iyileştirmek için iç parametrelerini günceller.
Eğitim doğru şekilde başlarsa, terminalinizde veya dizüstü bilgisayarınızda model yapılandırması, veri kümesi taraması ve eğitim ilerlemesi görüntülenir. Eğitim devam ederken, her dönemden sonra kayıp değerleri ve değerlendirme ölçütleri güncellenir ve modelin zaman içinde nasıl geliştiği gösterilir.
Eğitim süreci tamamlandıktan sonra, modelin performans ölçütlerini inceleyebilir ve doğrulayabilirsiniz. Google , "runs" klasörüne, ardından "segmentklasörüne ve son olarak "train" klasörüne gidebilirsiniz. Burada, temel performans göstergelerini gösteren günlükleri bulabilirsiniz.
Python çalışan kullanıcılar için, eğitim sonuçları varsayılan olarak mevcut çalışma dizininizdeki "runs/train/" dizinine kaydedilir. Her eğitim çalıştırması, runs/train/exp veya runs/train/exp2 gibi yeni bir alt dizin oluşturur. Bu dizinde, günlükler, kaydedilmiş ağırlıklar ve o deney ile ilgili diğer çıktılar bulunur.
CLI kullanıyorsanız, "yolo komutunu kullanarak bu sonuçlara erişebilir ve bunları yönetebilirsiniz. Bu komut, eğitim günlükleri ve deney ayrıntılarıyla ilgili yolları ve yapılandırmaları görüntülemenizi veya değiştirmenizi sağlar.
Kaydedilen çıktılar arasında, eğitim sırasında oluşturulan grafikler de bulunur. Bu grafikler, modelin zaman içinde nasıl geliştiğini gösterir. Örneğin, model öğrendikçe kaybın nasıl azaldığını ve epoklar boyunca hassasiyet, geri çağırma ve ortalama hassasiyet gibi değerlendirme ölçütlerinin nasıl arttığını gösterir.

Bu görsel eğilimler, modelin başarılı bir şekilde eğitilip eğitilmediğini ve eğitimin başından sonuna kadar ne kadar geliştiğini anlamanıza yardımcı olabilir. Sayısal metrikleri ve grafikleri birlikte inceleyerek, yeni görüntülerle test etmeye geçmeden önce örnek segmentasyon modelinizin ne kadar iyi performans gösterdiğine dair daha net bir fikir edinebilirsiniz.
Modelinizi doğruladıktan sonra, son adım yeni görüntüler üzerinde test etmektir. Bu sürece çıkarım denir ve basitçe, eğitilmiş modelinizi görünmeyen veriler üzerinde tahminlerde bulunmak için kullanmak anlamına gelir.
Python şu Python çıkarım yapabilirsiniz:
results = model.predict("path/to/image.jpg", save=True, conf=0.3)Bu örnekte, "path/to/image.jpg" testi yapmak istediğiniz görüntünün yoluyla değiştirilebilir.
"save=True" ayarı, modele orijinal görüntünün üzerine çizilen tahmin edilen segmentasyon maskelerini içeren yeni bir görüntü oluşturup kaydetmesini söyler.
"conf=0.3" ayarı güven eşiğini kontrol eder, yani model yalnızca en az %30 güvenilirlikle doğru olduğunu düşündüğü tahminleri gösterir. Bu değeri düşürmek daha fazla algılama gösterebilir, artırmak ise modeli daha seçici hale getirir.
Komutu çalıştırdıktan sonra, model runs dizininde çıktı görüntüsünü kaydettiği yeni bir klasör oluşturur. Kaydedilen görüntüyü açarak segmentasyon maskelerinin nesne sınırlarını ne kadar iyi takip ettiğini ve üst üste binen nesnelerin doğru şekilde ayrılıp ayrılmadığını görsel olarak kontrol edebilirsiniz.
Modeli farklı görüntüler, arka planlar ve aydınlatma koşullarında test etmek, modelin eğitim veri seti dışında nasıl çalıştığını daha net bir şekilde anlamanıza yardımcı olabilir. Sonuçlar tutarlı ve doğru göründüğünde, model dışa aktarılmaya ve kullanıma hazırdır.
Modelinizi test edip iyi çalıştığını doğruladıktan sonra, son adım onu dışa aktarmak ve dağıtmaktır. Dışa aktarma, eğitilmiş YOLO26 modelinizi üretim sunucuları, uç cihazlar veya mobil uygulamalar gibi farklı ortamlarda çalışabilecek bir biçime dönüştürür.
Ultralytics , birden fazla dışa aktarım formatınıUltralytics , böylece dağıtım kurulumunuza en uygun olanı seçebilirsiniz. Örneğin, platformlar arasında geniş uyumluluk ONNX , NVIDIA optimize edilmiş GPU TensorRT veya Intel verimli CPU dağıtım OpenVINO dışa aktarabilirsiniz. Bu entegrasyonlar, modelinizi eğitim ortamı dışında çalıştırmanızı ve güçlü gerçek zamanlı performans elde etmenizi kolaylaştırır.
Aşağıdaki komutu Python modelinizi Python dışa aktarabilirsiniz:
model.export(format="onnx")
Bu komut, eğitilmiş modelinizi ONNX dönüştürür. Dağıtım ihtiyaçlarınıza bağlı olarak "onnx" yerine desteklenen diğer formatları kullanabilirsiniz.
Dışa aktarıldıktan sonra, modeliniz web hizmetleri, gömülü görüntü sistemleri, robotik platformları veya endüstriyel denetim sistemleri gibi uygulamalara entegre edilebilir. Bu aşamada, özel olarak eğitilmiş YOLO26 örnek segmentasyon modeliniz deneme aşamasından gerçek dünya uygulamasına geçebilir.
Örnek segmentasyonu için özel olarak eğitilmiş Ultralytics , size özel kullanım durumunuza tam olarak uyan bir model oluşturma esnekliği sağlar. Net bir veri seti hazırlayarak, YAML dosyanızı ayarlayarak, önceden eğitilmiş segmentasyon ağırlıklarıyla eğitim yaparak ve sonuçları inceleyerek, modele her nesneyi piksel düzeyinde doğru bir şekilde özetlemeyi öğretebilirsiniz. Test edilip dışa aktarıldıktan sonra, YOLO26 modeliniz geliştirme aşamasından çok ölçekli gerçek dünya uygulamalarına geçebilir.
Topluluğumuza katılın ve GitHub deposuna göz atarak AI hakkında daha fazla bilgi edinin. Kendi Vision AI projenizi oluşturmak istiyorsanız, lisans seçeneklerimizi inceleyin. Çözüm sayfalarımızı ziyaret ederek sağlık hizmetlerinde AI ve perakendecilikte vision AI gibi uygulamalar hakkında daha fazla bilgi edinin.