Bilgisayarlı Görü için Veri Toplama ve Etiketleme Stratejileri#
Veri toplama ve etiketleme, her computer vision project adımının temelini oluşturur: Temsili görseller veya videolar toplar, ardından bir modelin bunlardan öğrenebilmesi için bunları etiketlersin. Bu verilerin kalitesi, model performansını doğrudan belirler; bu nedenle herhangi bir eğitime başlamadan önce sınıf tanımı, tarafsız kaynak seçimi ve tutarlı etiketleme büyük önem taşır.
Watch: How to Build Effective Data Collection and Annotation Strategies for Computer Vision 🚀
Bu kılavuz, setting up classes and collecting data, what data annotation is ile birlikte seçilebilecek etiketleme türleri ve formatları ile efficient labeling strategies konularını kapsar; her karar your project's goals ile uyumludur.
Sınıfları Belirleme 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ğı, verinin nereden alınacağı ve veri setinin tarafsızlığının nasıl korunacağı.
Projen İçin Doğru Sınıfları Seçmek#
Bir bilgisayarlı görü projesine başlarken ilk sorulardan biri, kaç tane sınıfın dahil edileceğidir. Modelinin tanımasını ve ayırt etmesini istediğin farklı kategorileri veya etiketleri içeren sınıf üyeliğini belirlemen gerekir. Sınıf sayısı, projenin özel hedefleriyle belirlenmelidir.
Örneğin, trafiği izlemek istiyorsan sınıfların "araba", "kamyon", "otobüs", "motosiklet" ve "bisiklet" olabilir. Diğer 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ı proje hedeflerine göre tanımlamak, veri setini ilgili ve odaklanmış tutmana yardımcı olur.
Sınıflarını tanımlarken yapman gereken bir diğer önemli ayrım ise kaba veya ince sınıf sayıları arasında seçim yapmaktır. 'Sayı', ilgilendiğin farklı sınıfların adedini ifade eder. Bu karar, verinin ayrıntı düzeyini ve modelinin karmaşıklığını etkiler. İşte her yaklaşım için dikkate alman gerekenler:
- Kaba Sınıf Sayısı: Bunlar, "araç" ve "araç olmayan" gibi daha geniş, daha kapsayıcı kategorilerdir. Etiketlemeyi basitleştirir ve daha az hesaplama kaynağı gerektirirler ancak daha az ayrıntılı bilgi sağlarlar, bu da modelin karmaşık senaryolardaki etkinliğini sınırlayabilir.
- İnce Sınıf Sayısı: "Sedan", "SUV", "kamyonet" ve "motosiklet" gibi daha ince ayrımlara sahip daha fazla kategori. Bunlar daha ayrıntılı bilgi yakalar, model doğruluğunu ve performansını artırır. Ancak, etiketlenmeleri daha çok zaman alır, daha emek yoğundur ve daha fazla hesaplama kaynağı gerektirirler.
Daha özel sınıflarla başlamak, özellikle ayrıntıların önemli olduğu karmaşık projelerde çok yardımcı olabilir. Daha özel sınıflar, daha ayrıntılı veri toplamana, daha derin içgörüler kazanmana ve kategoriler arasında daha net ayrımlar oluşturmana olanak tanır. Bu sadece modelin doğruluğunu artırmakla kalmaz, aynı zamanda gerektiğinde modeli daha sonra ayarlamayı kolaylaştırarak hem zamandan hem de kaynaklardan tasarruf etmeni sağlar.
Veri Kaynakları#
Genel veri setlerini kullanabilir veya kendi özel verilerini toplayabilirsin. Kaggle ve Google Dataset Search Engine üzerindekiler gibi genel veri setleri, iyi etiketlenmiş ve standartlaştırılmış veriler sunarak modelleri eğitmek ve doğrulamak için harika başlangıç noktaları oluşturur.
Özel veri toplama ise veri setini özel ihtiyaçlarına göre özelleştirmeni sağlar. Kameralar veya dronlarla görüntüler ve videolar çekebilir, web'den görsel kazıyabilir veya kuruluşundaki mevcut iç verileri kullanabilirsin. Özel veri, kalitesi ve uygunluğu üzerinde daha fazla kontrol sağlar. Hem halka açık hem de özel veri kaynaklarını birleştirmek, çeşitli ve kapsamlı bir veri seti oluşturmana yardımcı olur.
Veri Toplamada Önyargıdan Kaçınma#
Önyargı (bias), veri setinde belirli grupların veya senaryoların eksik ya da aşırı temsil edilmesi durumunda ortaya çıkar. Bu durum, bazı verilerde iyi çalışan ancak diğerlerinde kötü performans gösteren bir modele yol açar. Bilgisayarlı görü modelinin çeşitli senaryolarda iyi performans gösterebilmesi için bias in AI durumundan kaçınmak çok önemlidir.
Veri toplarken önyargıdan nasıl kaçınabileceğini burada bulabilirsin:
- Çeşitli Kaynaklar: Farklı bakış açılarını ve senaryoları yakalamak için birçok kaynaktan veri topla.
- Dengeli Temsil: Tüm ilgili gruplardan dengeli temsili dahil et. Örneğin, farklı yaşları, cinsiyetleri ve etnik kökenleri dikkate al.
- Sürekli İzleme: Ortaya çıkan önyargıları belirlemek ve ele almak için veri setini düzenli olarak gözden geçir ve güncelle.
- Önyargı Azaltma Teknikleri: Yetersiz temsil edilen sınıfları aşırı örnekleme, data augmentation ve adalet odaklı algoritmalar gibi yöntemleri kullan.
Bu uygulamaları takip etmek, 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 machine learning modellerini eğitmek için kullanılabilir hale getirme sürecidir. Bilgisayarlı görüde bu, görselleri veya videoların, bir modelin öğrenmesi gereken bilgilerle etiketlenmesi anlamına gelir. Düzgün etiketlenmiş veriler olmadan modeller, girdiler ve çıktılar arasındaki ilişkileri doğru bir şekilde öğrenemez.
Veri Etiketleme Türleri#
Bir computer vision task konusunun özel gereksinimlerine bağlı olarak farklı veri etiketleme türleri bulunur. İşte bazı örnekler:
- Sınırlayıcı Kutular (BBox): Bir görüntüdeki nesnelerin etrafına çizilen, öncelikli olarak nesne algılama görevleri için kullanılan dikdörtgen kutulardır. Bu kutular sol üst ve sağ alt koordinatlarıyla tanımlanır.
- Çokgenler (Polygons): Nesneler için ayrıntılı dış hatlar sunarak sınırlayıcı kutulardan (bounding boxes) daha hassas etiketleme yapılmasını sağlar. Çokgenler, nesnenin şeklinin önemli olduğu instance segmentation gibi görevlerde kullanılır.
- Maskeler (Masks): Her pikselin bir nesnenin parçası veya arka plan olduğu ikili (binary) maskeler. Maskeler, piksel düzeyinde detay sağlamak için semantic segmentation görevlerinde kullanılır.
- Anahtar Noktalar (Keypoints): İlgi çekici konumları belirlemek için bir görsel içinde işaretlenen belirli noktalar. Anahtar noktalar, pose estimation ve yüz belirteci tespiti gibi görevlerde kullanılır.
- Yönlendirilmiş Sınırlayıcı Kutular: Nesnelerin hava görüntüsü gibi rastgele yönlerde göründüğü OBB görevlerinde kullanılan, bir dönme açısı taşıyan dikdörtgenler.
Yaygın Etiketleme Formatları#
Bir etiketleme türü seçtikten sonra, etiketleri saklamak ve paylaşmak için uygun formatı seçmek önemlidir. En yaygın formatlar şunlardır:
| Format | Dosya yapısı | Yaygın kullanım alanları |
|---|---|---|
| COCO | Tek JSON dosyası | Object detection, örnek bölütleme, anahtar nokta tespiti, nesne ve panoptic segmentation, görsel açıklaması (captioning) |
| Pascal VOC | Görüntü başına bir XML dosyası | Nesne algılama |
| YOLO | Her görsel için bir .txt dosyası | Nesne tespiti, bölütleme, poz ve yönlendirilmiş kutular |
YOLO formatı, 0'dan başlayan sınıf indeksleriyle her nesne için bir satır depolar. Nesne tespiti için satır, 0–1 aralığında normalleştirilmiş koordinatlarla class x_center y_center width height şeklindedir. Bir bölütleme satırı, kutunun yerini nesnenin normalleştirilmiş çokgen noktalarıyla değiştirirken, bir poz satırı kutuyu korur ve veri kümesi kpt_shape: [n, 3] bildirdiğinde her anahtar nokta için bir görünürlük bayrağıyla birlikte anahtar nokta koordinatlarını arkasına ekler. 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ışarı 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ğitebilirsin.
Etiketleme Kılavuzlarını Belirleme#
Bir etiketleme türü ve formatı seçildikten sonraki adım, net ve nesnel etiketleme kuralları oluşturmaktır. Bu kurallar, etiketleme süreci boyunca tutarlılık ve accuracy için bir yol haritası görevi görür. Bu kuralların temel yönleri şunlardır:
- Açıklık ve Ayrıntı: Talimatlarının açık olduğundan emin ol. Beklenenleri göstermek için örnekler ve resimler kullan.
- Tutarlılık: Etiketlerini tek tip tut. Farklı veri türlerini etiketlemek için standart kriterler belirle, böylece tüm etiketler aynı kurallara uyar.
- Önyargıyı Azaltma: Tarafsız kal. Adil etiketlemeyi sağlamak için objektif 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ı kullanarak etiketleme sürecini daha hızlı ve verimli hale getir.
Etiketleme kurallarını düzenli olarak gözden geçirmek ve güncellemek, etiketlerinin doğru, tutarlı ve proje hedeflerinle uyumlu kalmasına yardımcı olacaktır.
Açıklama Araçları#
İyi bir etiketleme aracı, görevinin ihtiyaç duyduğu her türü etiketlemene olanak tanır, tutarlı yönergeler uygular ve etiketleri eğitime hazır bir formatta dışarı aktarır. Ultralytics Platform, tek bir tıklamayı tespit, örnek bölütleme, anlamsal bölütleme ve OBB görevleri için bir maskeye dönüştüren SAM destekli akıllı etiketleme özelliğiyle birlikte tespit, örnek bölütleme, anlamsal bölütleme, sınıflandırma, poz ve OBB'yi kapsayan yerleşik bir etiketleme düzenleyicisi sunar. Etiketler her görevin beklediği düzende — mekansal görevler için YOLO .txt satırları ve sınıflandırma için sınıf klasörleri — kaydedildiğinden, etiketlenen veri kümen herhangi bir dönüştürme adımına gerek kalmadan doğrudan eğitime geçer.
Etiketleme Kalitesi: Doğruluk, Hassasiyet ve Aykırı Değerler#
Ölçekli olarak etiketleme yapmadan önce doğruluk, precision, aykırı değerler ve kalite kontrolünü anlamak faydalıdır; böylece verilerini verimsiz bir şekilde etiketlememiş olursun.
Doğruluk ve Kesinliği Anlamak#
Doğruluk (accuracy) ile hassasiyet (precision) arasındaki farkı ve bunun etiketlemeyle nasıl ilişkili olduğunu 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 kadar iyi yansıttığını ölçmemize yardımcı olur. Hassasiyet, etiketlerin tutarlılığını gösterir. Veri seti boyunca aynı nesneye veya özelliğe aynı etiketi verip vermediğini kontrol eder. Yüksek doğruluk ve hassasiyet, gürültüyü azaltarak ve modelin training data verilerinden genelleme yapma yeteneğini geliştirerek daha iyi eğitilmiş modellere yol açar.
Aykırı Değerleri Belirleme#
Aykırı değerler, veri setindeki diğer gözlemlerden oldukça sapan veri noktalarıdır. Etiketlerle ilgili olarak, bir aykırı değer, yanlış etiketlenmiş bir görüntü veya veri setinin geri kalanıyla uyuşmayan bir etiket olabilir. Aykırı değerler endişe vericidir çünkü modelin öğrenme sürecini bozarak yanlış tahminlere ve kötü genellemeye yol açabilirler.
Aykırı değerleri tespit etmek ve düzeltmek için çeşitli yöntemler kullanabilirsin:
- İstatistiksel Teknikler: Piksel değerleri, bounding box koordinatları veya nesne boyutları gibi sayısal özelliklerdeki aykırı değerleri tespit etmek için kutu grafikleri (box plots), histogramlar veya z-skorları gibi yöntemler kullanabilirsin.
- Görsel Teknikler: Nesne sınıfları, renkler veya şekiller gibi kategorik özelliklerdeki anomalileri tespit etmek için görüntüleri, etiketleri veya ısı haritalarını çizdirme gibi görsel yöntemler kullan.
- Algoritmik Yöntemler: Veri dağılımı kalıplarına dayalı aykırı değerleri belirlemek için kümeleme (ör. K-means kümeleme, DBSCAN) ve anomaly detection algoritmaları gibi araçları kullan.
Etiketlenmiş Verilerin Kalite Kontrolü#
Diğer teknik projeler gibi, etiketlenmiş veriler için de kalite kontrol bir zorunluluktur. Etiketlerin doğru ve tutarlı olduğundan emin olmak için onları düzenli olarak kontrol etmek iyi bir uygulamadır. Bu birkaç farklı yolla yapılabilir:
- Etiketlenmiş verilerin örneklerini gözden geçirmek
- Yaygın hataları tespit etmek için otomatik araçlar kullanmak
- Başka birinin etiketleri tekrar kontrol etmesini sağlamak
Birden fazla kişiyle çalışıyorsan, farklı etiketleyiciler arasındaki tutarlılık önemlidir. İyi bir etiketleyici uyumu, kılavuzların net olduğu ve herkesin onları aynı şekilde takip ettiği anlamına gelir. Herkesi aynı sayfada tutar ve etiketleri tutarlı kılar.
İnceleme sırasında hatalar bulursan, bunları düzelt ve gelecekteki hatalardan kaçınmak için kılavuzları güncelle. Etiketleyicilere geri bildirim sağla 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 setini doğru ve güvenilir kılar.
Verimli Veri Etiketleme Stratejileri#
Veri etiketleme sürecini daha pürüzsüz ve etkili hale getirmek için şu stratejileri uygulamayı düşün:
- Net Etiketleme Kılavuzları: Tüm etiketleyicilerin görevleri tutarlı bir şekilde yorumladığından emin olmak için örneklerle ayrıntılı talimatlar sağla. Örneğin, kuşları etiketlerken, tüm kuşu mu yoksa sadece belirli kısımlarını mı dahil edeceğini belirt.
- Düzenli Kalite Kontrolleri: Kriterler belirle ve işi gözden geçirmek için belirli metrikler kullan, sürekli geri bildirim yoluyla yüksek standartları koru.
- Ön Etiketleme Araçlarını Kullan: Birçok modern etiketleme platformu, insanların daha sonra iyileştirebileceği ilk etiketleri otomatik olarak oluşturarak süreci önemli ölçüde hızlandırabilen yapay zeka destekli ön etiketleme özellikleri sunar.
- Aktif Öğrenmeyi Uygula: Bu yaklaşım, en bilgilendirici örnekleri önce etiketlemeye öncelik verir, bu da 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 için birlikte gruplandır.
Bu stratejiler, etiketleme süreci için gereken zamanı ve kaynakları azaltırken yüksek kaliteli etiketleri korumaya yardımcı olabilir.
Sonuç#
Çeşitli, tarafsız veriler toplamak ve bunları doğru araçlarla tutarlı bir şekilde etiketlemek, güvenilir bir bilgisayarlı görü modelinin temelidir. Veri kümen toplanıp etiketlendiğine göre, eğitim ve değerlendirmeye geçmek için bir bilgisayarlı görü projesinin adımları kılavuzuyla devam edebilirsin. Yol boyunca soruların ortaya çıkarsa, bunları Ultralytics GitHub deposunda veya Ultralytics Discord sunucusunda topluluğa sorabilirsin.
SSS#
Önyargıyı en aza indirmek için farklı kaynaklardan veri topla, ilgili tüm gruplar (farklı yaş, cinsiyet ve etnik kökenler gibi) arasında dengeli bir temsil sağla, ortaya çıkan önyargıları yakalamak için veri setini düzenli olarak gözden geçirip güncelle ve yeterince temsil edilmeyen sınıfları aşırı örnekleme, veri artırma ve adillik odaklı algoritmalar gibi azaltma tekniklerini uygula. Önyargıyı bu şekilde önlemek, bilgisayarlı görü modelinin çeşitli gerçek dünya senaryolarında iyi performans göstermesini sağlar ve genelleme yeteneğini geliştirir.
Detaylı talimatlar, örnekler ve görseller içeren net ve objektif etiketleme kılavuzları oluştur, ardından bunları tüm veri türlerine tutarlı bir şekilde uygula, böylece her etiket aynı kuralları takip eder. Kişisel önyargıyı azaltmak için etiketleyicileri tarafsız kalmaları konusunda eğit, kılavuzları düzenli olarak gözden geçirip güncelle ve doğruluğu yüksek tutmak ve proje hedefleriyle uyumlu hale getirmek için otomatik tutarlılık kontrolleri ile etiketleyiciler arası geri bildirim mekanizmalarını kullan.
Sınıf başına birkaç yüz etiketli nesne, transfer learning ile denemeye başlamak için yeterlidir, ancak güvenilir bir gerçek dünya performansı için Ultralytics at least 1,500 images and 10,000 labeled instances per class önermektedir. Yeterince büyük bir veri setini makul bir eğitim programıyla eşleştir —model erken aşamada aşırı öğrenirse (overfitting) azaltılmak üzere around 300 epochs yaygın bir başlangıç noktasıdır— ve etiketlerini titiz, projenin özel hedefleriyle uyumlu tut. Ayrıntılı eğitim stratejilerini YOLO26 training guide içinde keşfet.
Evet. Ultralytics Platform, tek bir çalışma alanında sınırlayıcı kutuları, çokgenleri, anahtar noktaları, yönlendirilmiş kutuları ve sınıflandırma etiketlerini destekleyen yerleşik bir etiketleme düzenleyicisi içerir. SAM destekli akıllı etiketleme, tek bir tıklamadan maskeler üreterek tespit, örnek bölütleme, anlamsal bölütleme ve OBB görevleri için etiketlemeyi hızlandırırken, poz ve sınıflandırma manuel olarak etiketlenir. Etiketler, her görevin beklediği düzende — mekansal görevler için YOLO
.txtsatırları, sınıflandırma için sınıf klasörleri — eğitime hazır olarak saklanır.Etiketleme türünü eğitmeyi amaçladığın görevle eşleştir. Sınırlayıcı kutular çizilmesi en hızlı olanlardır ve nesne tespiti için gereken her şeydir. Çokgenler ve maskeler nesne başına belirgin şekilde daha fazla zaman maliyeti getirir ancak bir nesnenin tam şeklinin önemli olduğu örnek bölütleme için gereklidir. Anahtar noktalar poz kestirimi ve işaret tespiti için uygundur, yönlendirilmiş kutular ise eksene hizalanmış bir dikdörtgenin çok fazla arka planı çevreleyeceği hava görüntüsü gibi OBB görevleri için uygundur. Aslında ihtiyaç duyduğun en dar görev için etiketleme yapmak, etiketleme çabasını sonuca orantılı tutar.