Ultralytics YOLO27:

Bilgisayarlı Görü için Veri Toplama ve Etiketleme Stratejileri#

Veri toplama ve etiketleme, her bilgisayarlı görü projesinin iki temel adımıdır: temsili görüntüleri veya videoları toplar, ardından bir modelin bunlardan öğrenebilmesi için etiketlersin. Bu verilerin kalitesi model performansını doğrudan belirler; bu nedenle herhangi bir eğitim başlamadan önce sınıf tanımları, tarafsız veri kaynakları ve tutarlı etiketleme önem taşır.



Watch: How to Build Effective Data Collection and Annotation Strategies for Computer Vision 🚀

Bu kılavuzda sınıfları ayarlama ve veri toplama, veri etiketlemenin ne olduğu, seçebileceğin etiketleme türleri ve biçimleri ile verimli etiketleme stratejileri ele alınır; her karar projenin hedefleriyle uyumludur.

Sınıfları Ayarlama ve Veri Toplama#

Bir bilgisayarlı görü projesi için görüntü ve video toplamak üç karara dayanır: kaç sınıf tanımlanacağı, verilerin nereden alınacağı ve veri kümesinin önyargıdan nasıl arındırılacağı.

Projen İçin Doğru Sınıfları Seçme#

Bir bilgisayarlı görü projesine başlarken sorulacak ilk sorulardan biri kaç sınıf dahil edileceğidir. Modelinin tanımasını ve ayırt etmesini istediğin farklı kategorileri veya etiketleri kapsayan sınıf üyeliğini belirlemen gerekir. Sınıf sayısı, projenin özel hedeflerine göre belirlenmelidir.

Örneğin trafiği izlemek istiyorsan sınıfların "araba", "kamyon", "otobüs", "motosiklet" ve "bisiklet" olabilir. Öte yandan, bir mağazadaki ürünleri takip etmek için sınıfların "meyveler", "sebzeler", "içecekler" ve "atıştırmalıklar" olabilir. Sınıfları projenin hedeflerine göre tanımlamak, veri kümeni ilgili ve odaklı tutmana yardımcı olur.

Sınıflarını tanımlarken yapman gereken bir diğer önemli ayrım, kaba veya ayrıntılı sınıf sayılarını seçip seçmeyeceğindir. 'Sayı', ilgilendiğin farklı sınıfların sayısını ifade eder. Bu karar, verilerinin ayrıntı düzeyini ve modelinin karmaşıklığını etkiler. Her yaklaşım için dikkat edilmesi gerekenler şunlardır:

  • Kaba Sınıf Sayısı: Bunlar "araç" ve "araç değil" gibi daha geniş ve kapsayıcı kategorilerdir. Etiketlemeyi basitleştirir ve daha az hesaplama kaynağı gerektirir, ancak daha az ayrıntılı bilgi sağlar; bu da modelin karmaşık senaryolardaki etkinliğini sınırlayabilir.
  • Ayrıntılı Sınıf Sayısı: "sedan", "SUV", "pikap" ve "motosiklet" gibi daha ince ayrımlara sahip daha fazla kategori kullanılır. Daha ayrıntılı bilgileri yakalayarak model doğruluğunu ve performansını artırır. Ancak bunların etiketlenmesi daha fazla zaman ve emek gerektirir ve daha fazla hesaplama kaynağı ister.

Daha özel sınıflarla başlamak, özellikle ayrıntıların önemli olduğu karmaşık projelerde çok yararlı olabilir. Daha özel sınıflar, daha ayrıntılı veriler toplamanı, daha derin içgörüler elde etmeni ve kategoriler arasında daha net ayrımlar oluşturmanı sağlar. Bu yalnızca modelin doğruluğunu artırmakla kalmaz, gerektiğinde modeli daha sonra ayarlamayı da kolaylaştırarak hem zamandan hem de kaynaklardan tasarruf sağlar.

Veri Kaynakları#

Herkese açık veri kümelerini kullanabilir veya kendi özel verilerini toplayabilirsin. Kaggle ve Google Dataset Search Engine gibi platformlardaki herkese açık veri kümeleri, iyi etiketlenmiş ve standartlaştırılmış veriler sunarak modelleri eğitmek ve doğrulamak için iyi başlangıç noktaları oluşturur.

Öte yandan özel veri toplama, veri kümeni özel ihtiyaçlarına göre özelleştirmene olanak tanır. Kameralar veya drone'larla görüntü ve video çekebilir, web'den görüntüleri tarayabilir veya kuruluşundaki mevcut dahili verileri kullanabilirsin. Özel veriler, kalitesi ve alaka düzeyi üzerinde daha fazla kontrol sahibi olmanı sağlar. Herkese açık ve özel veri kaynaklarını birleştirmek, çeşitli ve kapsamlı bir veri kümesi oluşturmaya yardımcı olur.

Veri Toplamada Önyargıdan Kaçınma#

Önyargı, belirli grupların veya senaryoların veri küende gereğinden az ya da fazla temsil edilmesiyle ortaya çıkar. Bu durum, bazı verilerde iyi, bazılarında ise kötü performans gösteren bir modele yol açar. Bilgisayarlı görü modelinin çeşitli senaryolarda iyi performans gösterebilmesi için yapay zekâda önyargıdan kaçınmak çok önemlidir.

Veri toplarken önyargıdan şu şekilde kaçınabilirsin:

  • Çeşitli Kaynaklar: Farklı bakış açılarını ve senaryoları yakalamak için verileri birçok kaynaktan topla.
  • Dengeli Temsil: İlgili tüm grupların dengeli biçimde temsil edilmesini sağla. Örneğin farklı yaşları, cinsiyetleri ve etnik kökenleri dikkate al.
  • Sürekli İzleme: Ortaya çıkan önyargıları belirlemek ve gidermek için veri kümeni düzenli olarak gözden geçir ve güncelle.
  • Önyargı Azaltma Teknikleri: Gereğinden az temsil edilen sınıfları aşırı örnekleme, veri artırma ve adalet farkındalığına sahip algoritmalar gibi yöntemleri kullan.

Bu uygulamaları izlemek, gerçek dünya uygulamalarında iyi genelleme yapabilen daha sağlam ve adil bir model oluşturmana yardımcı olur.

Veri Etiketleme Nedir?#

Veri etiketleme, verileri makine öğrenimi modellerini eğitmek için kullanılabilir hâle getirmek üzere etiketleme sürecidir. Bilgisayarlı görüde bu, görüntüleri veya videoları modelin öğrenmesi için ihtiyaç duyduğu bilgilerle etiketlemek anlamına gelir. Uygun şekilde etiketlenmiş veriler olmadan modeller, girdiler ve çıktılar arasındaki ilişkileri doğru biçimde öğrenemez.

Veri Etiketleme Türleri#

Bir bilgisayarlı görü görevinin özel gereksinimlerine bağlı olarak farklı veri etiketleme türleri vardır. Bazı örnekler şunlardır:

  • Sınırlayıcı Kutular: Bir görüntüdeki nesnelerin çevresine çizilen ve öncelikle nesne algılama görevlerinde kullanılan dikdörtgen kutulardır. Bu kutular, sol üst ve sağ alt koordinatlarıyla tanımlanır.
  • Çokgenler: Nesneler için sınırlayıcı kutulardan daha hassas etiketlemeye olanak tanıyan ayrıntılı ana hatlardır. Çokgenler, nesnenin şeklinin önemli olduğu örnek segmentasyonu gibi görevlerde kullanılır.
  • Maskeler: Her pikselin ya bir nesnenin parçası ya da arka plan olduğu ikili maskelerdir. Maskeler, piksel düzeyinde ayrıntı sağlamak için anlamsal segmentasyon görevlerinde kullanılır.
  • Anahtar Noktalar: İlgi duyulan konumları belirlemek için görüntü içinde işaretlenen belirli noktalardır. Anahtar noktalar, poz tahmini ve yüz işareti algılama gibi görevlerde kullanılır.
  • Yönlendirilmiş Sınırlayıcı Kutular: Dönme açısı taşıyan ve nesnelerin hava görüntülerindeki gibi rastgele yönlerde göründüğü OBB görevlerinde kullanılan dikdörtgenlerdir.

Data annotation types including bounding boxes, polygons, and masks

Yaygın Etiketleme Biçimleri#

Bir etiketleme türü seçtikten sonra, etiketleri depolamak ve paylaşmak için uygun biçimi seçmek önemlidir. En yaygın biçimler şunlardır:

BiçimDosya yapısıYaygın kullanım alanı
COCOTek JSON dosyasıNesne algılama, örnek segmentasyonu, anahtar nokta algılama, stuff ve panoptik segmentasyon, görüntü açıklama
Pascal VOCGörüntü başına bir XML dosyasıNesne algılama
YOLOGörüntü başına bir .txt dosyasıNesne algılama, segmentasyon, poz ve yönlendirilmiş kutular

YOLO biçimi, sınıf indeksleri 0'dan başlayacak şekilde her nesne için bir satır depolar. Nesne algılama için satır, normalleştirilmiş 0–1 koordinatlara sahip class x_center y_center width height biçimindedir. Bir segmentasyon satırı, kutunun yerine nesnenin normalleştirilmiş çokgen noktalarını koyar; poz satırı ise kutuyu korur ve sonuna anahtar nokta koordinatlarını ekler. Veri kümesi kpt_shape: [n, 3] bildirdiğinde her anahtar nokta için bir görünürlük bayrağı da eklenir. Bir OBB satırı, normalleştirilmiş köşe koordinatlarını kullanarak class x1 y1 x2 y2 x3 y3 x4 y4 depolar.

Etiketleme aracın COCO JSON dışa aktarıyorsa bunu YOLO .txt etiketlerine dönüştürebilir veya özel bir veri kümesi sınıfıyla doğrudan JSON üzerinde eğitim yapabilirsin.

Etiketleme Yönergelerini Belirleme#

Bir etiketleme türü ve biçimi seçtikten sonraki adım, açık ve nesnel etiketleme kuralları oluşturmaktır. Bu kurallar, etiketleme süreci boyunca tutarlılık ve doğruluk için bir yol haritası görevi görür. Bu kuralların temel unsurları şunlardır:

  • Açıklık ve Ayrıntı: Talimatlarının açık olduğundan emin ol. Beklenenleri göstermek için örnekler ve görseller kullan.
  • Tutarlılık: Etiketlerini tek biçimli tut. Farklı veri türlerini etiketlemek için standart ölçütler belirle; böylece tüm etiketler aynı kurallara uysun.
  • Önyargıyı Azaltma: Tarafsız kal. Adil etiketlemeyi sağlamak için nesnel olmayı öğren ve kişisel önyargılarını en aza indir.
  • Verimlilik: Daha çok değil, daha akıllıca çalış. Tekrarlayan görevleri otomatikleştiren araçları ve iş akışlarını kullanarak etiketleme sürecini daha hızlı ve verimli hâle getir.

Etiketleme kurallarını düzenli olarak gözden geçirip güncellemek, etiketlerinin doğru, tutarlı ve projenin hedefleriyle uyumlu kalmasına yardımcı olur.

Etiketleme Araçları#

İyi bir etiketleme aracı, görevinin ihtiyaç duyduğu her türü etiketlemene olanak tanır, tutarlı yönergeleri zorunlu kılar ve etiketleri eğitime hazır bir biçimde dışa aktarır. Ultralytics Platform, algılama, örnek segmentasyonu, anlamsal segmentasyon, sınıflandırma, poz ve OBB'yi kapsayan yerleşik bir etiketleme düzenleyicisi sunar. SAM destekli akıllı etiketleme, tek bir tıklamayı algılama, örnek segmentasyonu, anlamsal segmentasyon ve OBB görevleri için maskeye dönüştürür. Ek açıklamalar her görevin beklediği düzende kaydedildiğinden — uzamsal görevler için YOLO .txt satırları ve sınıflandırma için sınıf klasörleri — etiketlenmiş veri kümen herhangi bir dönüştürme adımı olmadan doğrudan eğitime aktarılır.

Etiketleme Kalitesi: Doğruluk, Kesinlik ve Aykırı Değerler#

Büyük ölçekte etiketlemeye başlamadan önce doğruluk, kesinlik, aykırı değerler ve kalite kontrolünü anlaman yararlı olur; böylece verilerini ters etki yaratacak şekilde etiketlemezsin.

Doğruluk ve Kesinliği Anlama#

Doğruluk ile kesinlik arasındaki farkı ve bunların etiketlemeyle ilişkisini anlamak önemlidir. Doğruluk, etiketlenen verilerin gerçek değerlere ne kadar yakın olduğunu ifade eder. Etiketlerin gerçek dünya senaryolarını ne ölçüde yansıttığını ölçmemize yardımcı olur. Kesinlik, etiketlemelerin tutarlılığını gösterir. Veri kümesi boyunca aynı nesneye veya özelliğe aynı etiketi verip vermediğini kontrol eder. Yüksek doğruluk ve kesinlik, gürültüyü azaltıp modelin eğitim verilerinden genelleme yapma yeteneğini geliştirerek daha iyi eğitilmiş modeller ortaya çıkarır.

Accuracy vs precision comparison for data annotation

Aykırı Değerleri Belirleme#

Aykırı değerler, veri kümesindeki diğer gözlemlerden önemli ölçüde sapan veri noktalarıdır. Etiketler açısından aykırı değer, yanlış etiketlenmiş bir görüntü veya veri kümesinin geri kalanıyla uyuşmayan bir ek açıklama olabilir. Aykırı değerler endişe vericidir; çünkü modelin öğrenme sürecini bozarak hatalı tahminlere ve zayıf genelleme performansına yol açabilir.

Aykırı değerleri tespit etmek ve düzeltmek için çeşitli yöntemler kullanabilirsin:

  • İstatistiksel Teknikler: Piksel değerleri, sınırlayıcı kutu koordinatları veya nesne boyutları gibi sayısal özelliklerdeki aykırı değerleri tespit etmek için kutu grafikleri, histogramlar veya z-skorları gibi yöntemleri kullanabilirsin.
  • Görsel Teknikler: Nesne sınıfları, renkler veya şekiller gibi kategorik özelliklerdeki anormallikleri fark etmek için görüntüleri, etiketleri veya ısı haritalarını çizdirmek gibi görsel yöntemleri kullan.
  • Algoritmik Yöntemler: Veri dağılımı örüntülerine göre aykırı değerleri belirlemek için kümeleme (ör. K-means kümelemesi, DBSCAN) ve anomali algılama algoritmaları gibi araçları kullan.

Etiketlenmiş Verilerin Kalite Kontrolü#

Diğer teknik projelerde olduğu gibi etiketlenmiş veriler için de kalite kontrolü şarttır. Doğru ve tutarlı olduklarından emin olmak için etiketleri düzenli olarak kontrol etmek iyi bir uygulamadır. Bu, birkaç farklı şekilde yapılabilir:

  • Etiketlenmiş verilerden örnekleri inceleme
  • Yaygın hataları tespit etmek için otomatik araçları kullanma
  • Etiketleri başka bir kişinin yeniden kontrol etmesini sağlama

Birden fazla kişiyle çalışıyorsan farklı etiketleyiciler arasındaki tutarlılık önemlidir. İyi etiketleyiciler arası uyum, yönergelerin açık ve herkesin bunları aynı şekilde izlediği anlamına gelir. Herkesin aynı anlayışta olmasını ve etiketlerin tutarlı kalmasını sağlar.

İnceleme sırasında hatalar bulursan bunları düzelt ve gelecekteki hataları önlemek için yönergeleri güncelle. Etiketleyicilere geri bildirim ver ve hataları azaltmaya yardımcı olmak için düzenli eğitimler sun. Hataları ele almak için güçlü bir sürece sahip olmak, veri kümeni doğru ve güvenilir tutar.

Verimli Veri Etiketleme Stratejileri#

Veri etiketleme sürecini daha sorunsuz ve etkili hâle getirmek için şu stratejileri uygulamayı düşün:

  • Açık Etiketleme Yönergeleri: Tüm etiketleyicilerin görevleri tutarlı biçimde yorumlamasını sağlamak için örneklerle birlikte ayrıntılı talimatlar sun. Örneğin kuşları etiketlerken kuşun tamamının mı yoksa yalnızca belirli bölümlerinin mi dahil edileceğini belirt.
  • Düzenli Kalite Kontrolleri: Çalışmaları incelemek için ölçütler belirle ve belirli metrikleri kullan; sürekli geri bildirimle yüksek standartları koru.
  • Ön Etiketleme Araçlarını Kullan: Modern etiketleme platformlarının çoğu, insanların daha sonra iyileştirebileceği ilk etiketleri otomatik olarak oluşturarak süreci önemli ölçüde hızlandırabilen yapay zekâ destekli ön etiketleme özellikleri sunar.
  • Aktif Öğrenmeyi Uygula: Bu yaklaşım, en bilgilendirici örneklerin önce etiketlenmesine öncelik verir; böylece model performansını korurken gereken toplam etiket sayısını azaltabilir.
  • Toplu İşleme: Tutarlılığı korumak ve verimliliği artırmak için benzer görüntüleri etiketleme amacıyla birlikte grupla.

Bu stratejiler, etiketleme süreci için gereken zamanı ve kaynakları azaltırken yüksek kaliteli etiketleri korumana yardımcı olabilir.

Sonuç#

Çeşitli ve tarafsız veriler toplamak, bunları doğru araçlarla tutarlı biçimde etiketlemek güvenilir bir bilgisayarlı görü modelinin temelidir. Veri kümeni toplayıp etiketledikten sonra eğitim ve değerlendirme aşamasına geçmek için bir bilgisayarlı görü projesinin adımları kılavuzuna devam et. Bu süreçte soruların olursa Ultralytics GitHub deposunda veya Ultralytics Discord sunucusunda topluluğa sor.

SSS#

  • Önyargıyı en aza indirmek için verileri çeşitli kaynaklardan topla, ilgili tüm grupların (farklı yaşlar, cinsiyetler ve etnik kökenler gibi) dengeli biçimde temsil edilmesini sağla, ortaya çıkan önyargıları yakalamak için veri kümeni düzenli olarak gözden geçirip güncelle ve gereğinden az temsil edilen sınıfları aşırı örnekleme, veri artırma ve adalet farkındalığına sahip algoritmalar gibi azaltma tekniklerini uygula. Bu şekilde önyargıdan kaçınmak, bilgisayarlı görü modelinin farklı gerçek dünya senaryolarında iyi performans göstermesini ve genelleme yeteneğinin gelişmesini sağlar.

  • Ayrıntılı talimatlar, örnekler ve görseller içeren açık, nesnel etiketleme yönergeleri oluştur; ardından her etiketin aynı kurallara uyması için bunları tüm veri türlerinde tutarlı biçimde uygula. Kişisel önyargıyı azaltmak için etiketleyicileri tarafsız kalacak şekilde eğit, yönergeleri düzenli olarak gözden geçirip güncelle ve doğruluğu yüksek, proje hedeflerinle uyumlu tutmak için otomatik tutarlılık kontrolleri ile etiketleyiciler arası geri bildirim kullan.

  • Transfer öğrenimi ile denemelere başlamak için sınıf başına birkaç yüz etiketlenmiş nesne yeterlidir; ancak güvenilir gerçek dünya performansı için Ultralytics sınıf başına en az 1.500 görüntü ve 10.000 etiketlenmiş örnek önerir. Yeterince büyük bir veri kümesini makul bir eğitim planıyla birleştir — yaklaşık 300 epoch yaygın bir başlangıç noktasıdır, ancak model erken aşamada aşırı öğrenirse bu sayı azaltılmalıdır — ve etiketlerini titizlikle, projenin özel hedefleriyle uyumlu tut. Ayrıntılı eğitim stratejilerini YOLO26 eğitim kılavuzunda incele.

  • Evet. Ultralytics Platform, sınırlayıcı kutuları, çokgenleri, anahtar noktaları, yönlendirilmiş kutuları ve sınıflandırma etiketlerini tek bir çalışma alanında destekleyen yerleşik bir etiketleme düzenleyicisi içerir. SAM destekli akıllı etiketleme, tek bir tıklamadan maskeler oluşturarak algılama, örnek segmentasyonu, anlamsal segmentasyon ve OBB görevlerinde etiketlemeyi hızlandırırken poz ve sınıflandırma elle etiketlenir. Etiketler her görevin beklediği düzende depolanır — uzamsal görevler için YOLO .txt satırları, sınıflandırma için sınıf klasörleri — ve eğitime hazırdır.

  • Etiketleme türünü eğitmeyi planladığın görevle eşleştir. Sınırlayıcı kutular çizilmesi en hızlı olan seçenektir ve tüm nesne algılama gereksinimlerini karşılar. Çokgenler ve maskeler nesne başına belirgin ölçüde daha fazla zaman alır, ancak nesnenin tam şeklinin önemli olduğu örnek segmentasyonu için gereklidir. Anahtar noktalar poz tahmini ve işaret algılama için, yönlendirilmiş kutular ise eksen hizalı bir dikdörtgenin çok fazla arka planı kapsayacağı hava görüntüleri gibi OBB görevleri için uygundur. Yalnızca gerçekten ihtiyaç duyduğun en kapsamlı görev için etiketleme yapmak, etiketleme çabasını elde edilecek sonuçla orantılı tutar.

Yorumlar