Bilgisayarlı Görü için Veri Toplama ve Etiketleme Stratejileri#
Veri toplama ve etiketleme, her bilgisayarlı görü projesinin temelini oluşturan iki adımdır: temsil gücü yüksek görüntü veya videolar toplar, ardından modelin bunlardan öğrenebilmesi için etiketlersin. Model performansını doğrudan bu verilerin kalitesi belirler; bu nedenle eğitim başlamadan önce sınıfları tanımlamak, tarafsız veri kaynakları seçmek ve tutarlı etiketleme yapmak önemlidir.
İzle: Bilgisayarlı Görü İçin Etkili Veri Toplama ve Etiketleme Stratejileri Nasıl Oluşturulur 🚀
Bu kılavuzda sınıfları ayarlama ve veri toplama, veri etiketlemenin ne olduğu, seçebileceğin etiket 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 toplarken üç karar vermen gerekir: kaç sınıf tanımlayacağın, verileri nereden alacağın ve veri kümesini yanlılıktan nasıl uzak tutacağın.
Projen için Doğru Sınıfları Seçme#
Bir bilgisayarlı görü projesine başlarken sorulacak ilk sorulardan biri, kaç sınıfın dâhil edileceğidir. Modelinin tanımasını ve birbirinden ayırmasını istediğin farklı kategorileri veya etiketleri içeren sınıf kapsamını belirlemen gerekir. Sınıf sayısını projenin özel hedeflerine göre belirlemelisin.
Örneğin trafiği izlemek istiyorsan sınıfların "otomobil", "kamyon", "otobüs", "motosiklet" ve "bisiklet" olabilir. Öte yandan, 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 kümeni konuyla ilgili ve odaklı tutmana yardımcı olur.
Sınıflarını tanımlarken, kaba ya da ince ayrıntılı sınıf sayısı seçmek de önemli bir ayrımdır. '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şımda göz önünde bulundurman gerekenler şunlardır:
- Kaba Sınıf Sayısı: "araç" ve "araç olmayan" gibi daha geniş ve kapsayıcı kategorilerdir. Etiketlemeyi basitleştirir ve daha az hesaplama kaynağı gerektirir ancak daha az ayrıntı sunar; bu da karmaşık senaryolarda modelin etkinliğini sınırlayabilir.
- İnce Ayrıntılı Sınıf Sayısı: "sedan", "SUV", "kamyonet" ve "motosiklet" gibi daha fazla ve daha ayrıntılı ayrımlara sahip kategorilerdir. Daha ayrıntılı bilgi sunarak model doğruluğunu ve performansını artırırlar. Ancak etiketlenmeleri daha fazla zaman ve emek gerektirir, ayrıca daha fazla hesaplama kaynağı kullanırlar.
Daha belirgin sınıflarla başlamak, özellikle ayrıntıların önemli olduğu karmaşık projelerde çok faydalı olabilir. Daha belirgin sınıflar, daha ayrıntılı veriler toplamanı, daha derinlemesine içgörüler edinmeni ve kategoriler arasında daha net ayrımlar oluşturmanı sağlar. Bu yaklaşım yalnızca modelin doğruluğunu artırmakla kalmaz, aynı zamanda gerektiğinde modeli daha sonra uyarlamayı kolaylaştırarak zamandan ve kaynaklardan tasarruf etmeni sağlar.
Veri Kaynakları#
Herkese açık veri kümelerini kullanabilir veya kendi özel verilerini toplayabilirsin. Kaggle ve Google Dataset Search Engine gibi kaynaklardaki herkese açık veri kümeleri, iyi etiketlenmiş ve standartlaştırılmış veriler sunarak modelleri eğitmek ve doğrulamak için harika bir başlangıç noktası sağlar.
Öte yandan özel veri toplama, veri kümeni belirli ihtiyaçlarına göre uyarlamana olanak tanır. Kameralar veya dronlarla görüntü ve videolar çekebilir, web'den görüntüler toplayabilir ya da kuruluşunun mevcut dâhilî verilerini kullanabilirsin. Özel veriler, kalite ve uygunluk üzerinde daha fazla kontrol sağlar. Herkese açık ve özel veri kaynaklarını bir arada kullanmak, çeşitli ve kapsamlı bir veri kümesi oluşturmana yardımcı olur.
Veri Toplamada Yanlılıktan Kaçınma#
Bazı gruplar veya senaryolar veri kümesinde yeterince temsil edilmediğinde ya da gereğinden fazla temsil edildiğinde yanlılık oluşur. Bu durum, bazı verilerde iyi performans gösterirken diğerlerinde kötü sonuç veren bir modele yol açar. Bilgisayarlı görü modelinin çeşitli senaryolarda iyi performans gösterebilmesi için yapay zekâdaki yanlılıktan kaçınmak çok önemlidir.
Veri toplarken yanlılıktan şu şekilde kaçınabilirsin:
- Çeşitli Kaynaklar: Farklı bakış açılarını ve senaryoları yansıtmak için verileri pek ç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 göz önünde bulundur.
- Sürekli İzleme: Ortaya çıkan yanlılıkları belirlemek ve gidermek için veri kümeni düzenli olarak gözden geçirip güncelle.
- Yanlılığı Azaltma Teknikleri: Yeterince temsil edilmeyen sınıfları aşırı örnekleme, veri artırma ve adalet odaklı 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, makine öğrenimi modellerini eğitmek için kullanılabilir hâle getirmek amacıyla verilere etiket atama işlemidir. Bilgisayarlı görüde bu, modelin öğrenmesi için gereken bilgileri görüntü veya videoları etiketleyerek eklemek anlamına gelir. Düzgün 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. İşte bazı örnekler:
- Sınırlayıcı Kutular: Görüntüdeki nesnelerin çevresine çizilen ve öncelikle nesne algılama görevlerinde kullanılan dikdörtgen kutular. Bu kutular sol üst ve sağ alt koordinatlarla tanımlanır.
- Çokgenler: Nesneler için sınırlayıcı kutulardan daha hassas etiketlemeye olanak tanıyan ayrıntılı dış hatlar. Çokgenler, nesnenin şeklinin önemli olduğu örnek segmentasyonu gibi görevlerde kullanılır.
- Maskeler: Her pikselin bir nesnenin parçası ya da arka plan olduğu ikili maskeler. Maskeler, piksel düzeyinde ayrıntı sağlamak için semantik segmentasyon görevlerinde kullanılır.
- Anahtar Noktalar: İlgi duyulan konumları belirlemek için görüntü içinde işaretlenen belirli noktalar. Anahtar noktalar, poz tahmini ve yüz işaret noktalarını algılama gibi görevlerde kullanılır.
- Yönlendirilmiş Sınırlayıcı Kutular: Dönüş açısı içeren dikdörtgenler; hava görüntüleri gibi nesnelerin rastgele yönlerde göründüğü OBB görevlerinde kullanılır.
Yaygın Etiketleme Biçimleri#
Bir etiketleme türü seçtikten sonra etiketleri depolamak ve paylaşmak için uygun biçimi belirlemek önemlidir. En yaygın biçimler şunlardır:
| Biçim | Dosya yapısı | Yaygın kullanım alanı |
|---|---|---|
| COCO | Tek JSON dosyası | Nesne algılama, örnek segmentasyonu, anahtar nokta algılama, sınıf dışı nesne ve panoptik segmentasyon, görüntü açıklaması |
| Pascal VOC | Her görüntü için bir XML dosyası | Nesne algılama |
| YOLO | Her görüntü için bir .txt dosyası | Nesne algılama, segmentasyon, poz ve yönlendirilmiş kutular |
YOLO biçimi, sınıf indeksleri 0'dan başlayan her nesne için bir satır depolar. Nesne algılamada satır, normalize edilmiş 0–1 koordinatlarına sahip class x_center y_center width height biçimindedir. Segmentasyon satırında kutunun yerine nesnenin normalize edilmiş çokgen noktaları kullanılırken poz satırında kutu korunur ve sonuna anahtar nokta koordinatları eklenir; veri kümesi kpt_shape: [n, 3] tanımlıyorsa her anahtar nokta için görünürlük bayrağı da bulunur. OBB satırı, class x1 y1 x2 y2 x3 y3 x4 y4 değerini normalize edilmiş köşe koordinatlarını kullanarak depolar.
Etiketleme aracın COCO JSON biçiminde dışa aktarıyorsa, bunu YOLO .txt etiketlerine dönüştürebilirsin veya özel bir veri kümesi sınıfıyla doğrudan JSON üzerinde eğitim yapabilirsin.
Etiketleme İlkelerini Belirleme#
Etiket türünü ve biçimini seçtikten sonraki adım, açık ve nesnel etiketleme kuralları oluşturmaktır. Bu kurallar, etiketleme sürecinde tutarlılık ve doğruluk sağlamak için bir yol haritası işlevi 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. Beklentileri göstermek için örnekler ve çizimler kullan.
- Tutarlılık: Etiketlerini standartlaştır. Farklı veri türlerini etiketlemek için standart ölçütler belirle; böylece tüm etiketler aynı kurallara uysun.
- Yanlılığı Azaltma: Tarafsız ol. Adil etiketler sağlamak için nesnel davranma becerini geliştir ve kişisel yanlılıkları en aza indir.
- Verimlilik: Daha çok değil, daha akıllıca çalış. Tekrarlayan görevleri otomatikleştiren, etiketleme sürecini hızlandırıp daha verimli hâle getiren araçlar ve iş akışları kullan.
Etiketleme kurallarını düzenli olarak gözden geçirip güncellemek, etiketlerinin doğru, tutarlı ve proje hedeflerinle 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önergeler uygular ve etiketleri eğitime hazır bir biçimde dışa aktarır. Ultralytics Platform, algılama, örnek segmentasyonu, semantik segmentasyon, sınıflandırma, poz ve OBB'yi kapsayan yerleşik bir etiketleme düzenleyicisi sunar; ayrıca tek tıklamayla algılama, örnek segmentasyonu, semantik segmentasyon ve OBB görevleri için maske oluşturan SAM destekli akıllı etiketleme özelliği de içerir. Etiketler her görevin beklediği düzende kaydedildiği için — uzamsal görevler için YOLO .txt satırları, 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.
Etiket Kalitesi: Doğruluk, Kesinlik ve Aykırı Değerler#
Büyük ölçekte etiketleme yapmadan önce, verilerini ters etki yaratacak biçimde etiketlememek için doğruluğu, kesinliği, aykırı değerleri ve kalite kontrolünü anlamak faydalıdır.
Doğruluk ve Kesinliği Anlama#
Doğruluk ile kesinlik arasındaki farkı ve bunların etiketlemeyle ilişkisini anlamak önemlidir. Doğruluk, etiketlenmiş 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, etiketlerin 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 yeteneğini geliştirerek daha iyi eğitilmiş modeller ortaya çıkarır.
Aykırı Değerleri Belirleme#
Aykırı değerler, veri kümesindeki diğer gözlemlerden belirgin biçimde sapan veri noktalarıdır. Etiketler söz konusu olduğunda aykırı değer, yanlış etiketlenmiş bir görüntü veya veri kümesinin geri kalanıyla uyuşmayan bir etiket olabilir. Aykırı değerler endişe vericidir; çünkü modelin öğrenme sürecini bozarak hatalı tahminlere ve zayıf genelleme performansına yol açabilirler.
Aykırı değerleri belirlemek 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 belirlemek için görüntüleri, etiketleri veya ısı haritalarını çizdirme 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ümeleme, 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. Bunu birkaç farklı şekilde yapabilirsin:
- Etiketlenmiş verilerden örnekleri gözden geçirmek
- Yaygın hataları tespit etmek için otomatik araçlar kullanmak
- Başka bir kişiden etiketleri yeniden kontrol etmesini istemek
Birden fazla kişiyle çalışıyorsan farklı etiketleyiciler arasındaki tutarlılık önemlidir. Etiketleyiciler arası uyumun yüksek olması, yönergelerin açık olduğunu ve herkesin yönergeleri aynı şekilde uyguladığını gösterir. Bu, herkesin aynı anlayışta olmasını ve etiketlerin tutarlı kalmasını sağlar.
Gözden geçirme sırasında hata bulursan bunları düzelt ve gelecekte aynı hataların yaşanmasını önlemek için yönergeleri güncelle. Hataları azaltmaya yardımcı olmak amacıyla etiketleyicilere geri bildirim ver ve düzenli eğitimler sun. Hataları ele almak için sağlam bir süreç oluşturmak, 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 Anotasyon Rehberleri: Tüm anotatörlerin görevleri tutarlı biçimde yorumlamasını sağlamak için örneklerle birlikte ayrıntılı talimatlar ver. Örneğin, kuşları etiketlerken kuşun tamamının mı yoksa yalnızca belirli kısımlarının mı dahil edileceğini belirt.
- Düzenli Kalite Kontrolleri: Çalışmaları gözden geçirmek için ölçütler belirle ve belirli metriklerden yararlan; sürekli geri bildirimle yüksek standartları koru.
- Ön Anotasyon Araçlarını Kullan: Pek çok modern anotasyon platformu, insanların daha sonra iyileştirebileceği ilk anotasyonları otomatik olarak oluşturarak süreci önemli ölçüde hızlandıran yapay zekâ destekli ön anotasyon özellikleri sunar.
- Aktif Öğrenmeyi Uygula: Bu yaklaşım, önce en fazla bilgi sağlayan örneklerin etiketlenmesine öncelik verir; böylece model performansını korurken gereken toplam anotasyon sayısı azaltılabilir.
- Toplu İşleme: Tutarlılığı korumak ve verimliliği artırmak için benzer görüntüleri anotasyon amacıyla gruplandır.
Bu stratejiler, etiketleme süreci için gereken zaman ve kaynakları azaltırken anotasyonların yüksek kalitede kalmasına yardımcı olabilir.
Sonuç#
Çeşitli ve tarafsız veriler toplamak ve doğru araçlarla tutarlı biçimde anotasyon yapmak, güvenilir bir bilgisayarlı görü modelinin temelini oluşturur. Veri kümeni toplayıp etiketledikten sonra, eğitim ve değerlendirme aşamalarına geçmek için bilgisayarlı görü projesinin adımları kılavuzunu incele. Bu süreçte soruların olursa topluluğa Ultralytics GitHub deposunda veya Ultralytics Discord sunucusunda danış.
Sık Sorulan Sorular#
Yanlılığı en aza indirmek için çeşitli kaynaklardan veri topla, ilgili tüm grupların (örneğin farklı yaş, cinsiyet ve etnik kökenlerin) dengeli biçimde temsil edilmesini sağla, ortaya çıkan yanlılıkları yakalamak için veri kümeni düzenli olarak gözden geçirip güncelle ve az temsil edilen sınıfları aşırı örnekleme, veri artırma ve adalet odaklı algoritmalar gibi azaltma tekniklerini uygula. Bu şekilde yanlılıktan kaçınmak, bilgisayarlı görü modelinin çeşitli gerçek dünya senaryolarında iyi performans göstermesini sağlar ve genelleme yeteneğini geliştirir.
Ayrıntılı talimatlar, örnekler ve görseller içeren açık, nesnel etiketleme yönergeleri oluştur; ardından her anotasyonun aynı kurallara uyması için bu yönergeleri tüm veri türlerinde tutarlı biçimde uygula. Kişisel yanlılığı azaltmak için anotatörleri tarafsız kalacak şekilde eğit, yönergeleri düzenli olarak gözden geçirip güncelle ve doğruluğu yüksek tutup proje hedeflerinle uyumlu kılmak için otomatik tutarlılık kontrollerinden ve anotatörler arası geri bildirimden yararlan.
Transfer öğrenimi ile denemelere başlamak için sınıf başına anotasyonlu birkaç yüz nesne yeterlidir; ancak gerçek dünyada güvenilir performans için Ultralytics, sınıf başına en az 1.500 görüntü ve 10.000 etiketli örnek önerir. Yeterince büyük bir veri kümesini makul bir eğitim programıyla eşleştir — yaklaşık 300 epoch yaygın bir başlangıç noktasıdır; model erken aşamada aşırı öğrenirse bu sayıyı azalt — ve anotasyonlarının titiz, projenin özel hedefleriyle uyumlu olmasını sağla. Ayrıntılı eğitim stratejileri için YOLO26 eğitim kılavuzunu incele.
Evet. Ultralytics Platform, sınırlayıcı kutuları, çokgenleri, kilit noktaları, yönlendirilmiş kutuları ve sınıflandırma etiketlerini tek bir çalışma alanında destekleyen yerleşik bir anotasyon düzenleyicisi içerir. SAM destekli akıllı anotasyon, tek tıklamayla maskeler oluşturarak nesne algılama, örnek segmentasyonu, anlamsal segmentasyon ve OBB görevlerinde etiketlemeyi hızlandırır; poz veri kümelerinde akıllı anotasyon için YOLO poz modelleri kullanılabilir, sınıflandırma ise elle anotasyonlanır. Anotasyonlar her görevin beklediği düzende saklanır: uzamsal görevler için YOLO
.txtsatırları, sınıflandırma için sınıf klasörleri — eğitime hazır.Anotasyon türünü eğitmeyi amaçladığın göreve göre belirle. Sınırlayıcı kutuları çizmek en hızlı yöntemdir ve nesne algılama için yeterlidir. Çokgenler ve maskeler nesne başına belirgin biçimde daha fazla zaman gerektirir; ancak nesnenin tam şeklinin önemli olduğu örnek segmentasyonu için gereklidir. Kilit noktalar poz kestirimi ve işaret noktası algılama için, yönlendirilmiş kutular ise eksenlere hizalı bir dikdörtgenin çok fazla arka planı kapsayacağı hava görüntüleri gibi OBB görevleri için uygundur. Gerçekten ihtiyaç duyduğun en ayrıntılı görev için anotasyon yapmak, etiketleme çabasını elde edeceğin sonuçla orantılı tutar.