Bilgisayarlı görü projeleri için veri etiketlemeyi keşfetmek
Bilgisayarlı görü projeleri özelinde veri etiketleme hakkındaki kapsamlı derinlemesine incelememizi oku ve görsel verilerin nasıl etiketleneceğini ve neden bu kadar önemli olduğunu öğren.

Yapay zeka (AI), makinelere insan benzeri yetenekler kazandırmaya odaklanır ve bunu yapmanın en popüler yollarından biri denetimli öğrenmedir. Başka bir deyişle, yapay zeka modellerine etiketli örnekler göstererek öğretmek, kalıplardan ders çıkarmalarına ve görevlerde gelişmelerine yardımcı olabilir. İnsanların deneyimlerden öğrenmesine oldukça benzer. Peki, bu etiketli örnekler nasıl oluşturulur?
Veri açıklama, makine öğrenimi algoritmalarının anlamasına yardımcı olmak için verileri etiketlemeyi veya işaretlemeyi içerir. Bilgisayarlı görüde, bu durum nesneleri, eylemleri veya sahneleri doğru bir şekilde tanımak ve kategorize etmek için görüntüleri veya videoları işaretlemek anlamına gelir. Veri etiketleme hayati önem taşır çünkü bir yapay zeka modelinin başarısı, üzerinde eğitildiği etiketli verilerin kalitesine büyük ölçüde güvenir.
Araştırmalar, yapay zeka proje süresinin %80'inden fazlasının, verileri toplamak ve birleştirmekten temizlemeye ve etiketlemeye kadar veri yönetimiyle harcandığını göstermektedir. Bu, veri açıklamanın yapay zeka modeli geliştirme sürecinde ne kadar önemli olduğunu açıkça ortaya koymaktadır. Yüksek kaliteli etiketlenmiş veriler kullanmak, yapay zeka modellerinin gerçek dünya durumlarında yüz tanıma ve nesne tespiti gibi görevleri daha yüksek doğruluk ve güvenilirlikle gerçekleştirmesini mümkün kılar.
Veri etiketleme neden gereklidir?#
Veri açıklama, bir bilgisayarlı görü modelinin ne kadar iyi performans gösterdiğinin temelini oluşturur. Etiketli veriler, modelin öğrenmek ve tahminlerde bulunmak için kullandığı temel gerçektir. Temel gerçek verileri kilit öneme sahiptir çünkü modelin anlamaya çalıştığı gerçek dünyayı temsil eder. Bu güvenilir temel olmadan, yapay zeka modeli pusula olmadan seyreden bir gemiye benzerdi.

Şekil 1. Temel Gerçek ve Tahmin.
Doğru etiketleme, bu modellerin ne gördüklerini anlamalarına yardımcı olur ve daha iyi karar vermelerini sağlar. Veriler kötü etiketlenmişse veya tutarsızsa, yanlış ders kitaplarından öğrenen bir öğrenci gibi model doğru tahminler ve kararlar almakta zorlanacaktır. Etiketli veriler sayesinde bir model, görüntülerdeki ve videolardaki nesnelerin görüntü sınıflandırma, örnek bölütleme ve poz tahmini gibi görevleri öğrenmesini sağlar.
Veri setleri için en iyi kaynaklar#
Yepyeni bir veri seti oluşturup görüntüleri ve videoları titizlikle etiketlemeden önce, projeniz için önceden var olan veri setlerini kullanıp kullanamayacağınıza bakmanız iyi bir fikirdir. Ücretsiz olarak yüksek kaliteli veri setlerine erişebileceğiniz birkaç harika açık kaynaklı havuz bulunmaktadır. En popüler olanlardan bazıları şunlardır:
- ImageNet: Görüntü sınıflandırma modellerini eğitmek için yaygın olarak kullanılır.
- COCO: Bu veri seti nesne tespiti, bölütleme ve görüntü altyazılama için tasarlanmıştır.
- PASCAL VOC: Nesne tespiti ve bölütleme görevlerini destekler.

Şekil 2. COCO veri setindeki veri örnekleri.
Bir veri seti seçerken, projenize ne kadar uygun olduğu, veri setinin boyutu, çeşitliliği ve etiketlerin kalitesi gibi faktörleri göz önünde bulundurmak önemlidir. Ayrıca, herhangi bir yasal yaptırımdan kaçınmak için veri setinin lisans koşullarını incelediğinizden emin olun ve verilerin iş akışınıza ve araçlarınıza uygun bir biçimde biçimlendirilip biçimlendirilmediğini kontrol edin.
Mevcut veri setleri ihtiyaçlarınızı tam olarak karşılamıyorsa özel bir veri seti oluşturmak harika bir seçenektir. Projenizin ne gerektirdiğine bağlı olarak web kameraları, dronlar veya akıllı telefonlar gibi araçları kullanarak görseller toplayabilirsiniz. İdeal olarak, özel veri setiniz çeşitli, dengeli ve çözmeye çalıştığınız problemi gerçekten temsil eden bir yapıda olmalıdır. Bu; görselleri farklı ışık koşullarında, çeşitli açılardan ve birden fazla ortamda yakalamak anlamına gelebilir.
Yalnızca daha az sayıda görüntü veya video toplayabiliyorsanız, veri artırma faydalı bir tekniktir. Mevcut görüntülere döndürme, çevirme veya renk ayarlamaları gibi dönüşümler uygulayarak veri setinizi genişletmeyi içerir. Veri setinizin boyutunu artırır ve modelinizi daha güçlü hale getirerek verideki varyasyonlarla daha iyi başa çıkmasını sağlar. Açık kaynaklı veri setleri, özel veri setleri ve artırılmış verilerin bir karışımını kullanarak bilgisayarlı görü modellerinizin performansını önemli ölçüde artırabilirsiniz.
Görüntü etiketleme tekniklerinin türleri#
Görselleri etiketlemeye başlamadan önce, farklı etiketleme türlerine aşina olman önemlidir. Bu, projeniz için doğru olanı seçmenize yardımcı olacaktır. Şimdi, temel etiketleme türlerinden bazılarına göz atalım.
BBox#
Sınırlayıcı kutular, bilgisayarlı görüdeki en yaygın etiketleme türüdür. Bir görüntüdeki nesnenin konumunu işaretlemek için kullanılan dikdörtgen kutulardır. Bu kutular köşe koordinatları ile tanımlanır ve yapay zeka modellerinin nesneleri tanımlamasına ve bulmasına yardımcı olur. Sınırlayıcı kutular çoğunlukla nesne tespiti için kullanılır.

Şekil 3. Sınırlayıcı Kutu Örneği.
Segmentasyon maskeleri#
Bazen bir nesnenin, etrafına çizilen bir sınırlayıcı kutudan daha doğru bir şekilde algılanması gerekir. Görseldeki nesnelerin sınırlarıyla ilgileniyor olabilirsiniz. Bu durumda, segmentasyon maskeleri karmaşık nesnelerin ana hatlarını çizmenizi sağlar. Segmentasyon maskeleri, daha ayrıntılı bir piksel düzeyinde temsildir.
Bu maskeler anlamsal bölütleme ve örnek bölütleme için kullanılabilir. Anlamsal bölütleme, yaya, araba, yol veya kaldırım gibi temsil ettiği nesneye veya alana göre bir görüntürdeki her pikseli etiketlemeyi içerir. Ancak örnek bölütleme, hepsi aynı türde olsa bile görüntüdeki her arabayı birbirinden ayırmak gibi her nesneyi tek tek tanımlayıp ayırarak bir adım daha ileri gider.

Şekil 4. Anlamsal Bölütleme (solda) ve Örnek Bölütleme Maskeleri (sağda) Örneği.
3D Küboidler#
3D küboidler sınırlayıcı kutulara benzer, onları benzersiz kılan şey 3D küboidlerin derinlik bilgisi eklemesi ve bir nesnenin 3D temsilini sağlamasıdır. Bu ekstra bilgi, sistemlerin 3D bir uzaydaki nesnelerin şeklini, hacmini ve konumunu anlamasını sağlar. 3D küboidler genellikle sürücüsüz araçlarda nesnelerin araçtan olan mesafesini ölçmek için kullanılır.

Şekil 5. 3D Küboid Örneği.
Anahtar noktalar ve işaretleyiciler#
Bir diğer ilginç etiketleme türü de gözler, burunlar veya eklemler gibi belirli noktaların nesneler üzerinde işaretlendiği anahtar noktalardır. Önemli konum işaretleri, yüzler veya vücut pozları gibi daha karmaşık şekillerin yapısını ve hareketini yakalamak için bu noktaları birleştirerek bunu bir adım öteye taşır. Bu tür etiketlemeler yüz tanıma, hareket yakalama ve artırılmış gerçeklik gibi uygulamalar için kullanılır. Ayrıca jest tanıma veya spor performansını analiz etme gibi görevlerde yapay zeka modellerinin doğruluğunu artırırlar.

Şekil 6. Anahtar Nokta Örneği.
LabelImg kullanarak veri nasıl etiketlenir?#
Farklı etiketleme türlerini ele aldığımıza göre, popüler bir araç olan LabelImg kullanarak görüntüleri nasıl etiketleyebileceğinizi anlayalım. LabelImg, görüntü etiketlemeyi basitleştiren açık kaynaklı bir araçtır ve YOLO (You Only Look Once) formatında veri setleri oluşturmak için kullanılabilir. Küçük Ultralytics YOLOv8 projeleri üzerinde çalışan yeni başlayanlar için harika bir seçimdir.
LabelImg'i kurmak basittir. İlk olarak, bilgisayarınızda Python 3 yüklü olduğundan emin olun. Ardından, hızlı bir komutla LabelImg'i yükleyebilirsiniz:
pip3 install labelImgKurulduktan sonra, aracı şu komutu kullanarak başlatabilirsin:
labelImgLabelImg Windows, macOS ve Linux dahil olmak üzere birden fazla platformda çalışır. Kurulum sırasında herhangi bir sorunla karşılaşırsanız, resmi LabelImg deposu size daha ayrıntılı talimatlar sağlayabilir.

Şekil 7. Görüntü Etiketleme için LabelImg Kullanımı.
Aracı başlattıktan sonra, görsellerini etiketlemeye başlamak için şu basit adımları izle:
- Sınıflarını ayarla: “predefined_classes.txt” adlı bir dosyada etiketlemek istediğin sınıfların (kategorilerin) listesini tanımlayarak başla. Bu dosya, yazılıma görsellerinde hangi nesneleri etiketleyeceğini bildirir.
- YOLO formatına geç: LabelImg varsayılan olarak PASCAL VOC formatını kullanır, ancak YOLO ile çalışıyorsan formatları değiştirmen gerekir. YOLO'ya geçmek için araç çubuğundaki “PascalVOC” düğmesine tıklaman yeterlidir.
- Etiketlemeye başla: Görsellerini yüklemek için "Open" veya "OpenDIR" seçeneklerini kullan. Ardından, etiketlemek istediğin nesnelerin etrafına sınırlayıcı kutular çiz ve doğru sınıf etiketini ata. Her görseli etiketledikten sonra çalışmanı kaydet. LabelImg, görselinle aynı ada sahip ve YOLO etiketlerini içeren bir metin dosyası oluşturacaktır.
- Kaydet ve gözden geçir: Etiketler, YOLO formatında bir .txt dosyasına kaydedilir. Yazılım ayrıca tüm sınıf adlarını listeleyen bir “classes.txt” dosyasını da kaydeder.
Verimli veri etiketleme stratejileri#
Veri etiketleme sürecini daha akıcı hale getirmek için akılda tutulması gereken birkaç önemli strateji vardır. Örneğin, net etiketleme yönergeleri çok önemlidir. Bunlar olmadan, farklı etiketleyiciler bir görevi farklı şekilde yorumlayabilir.
Görevin görsellerdeki kuşları sınırlayıcı kutularla etiketlemek olduğunu varsayalım. Bir etiketleyici kuşun tamamını etiketleyebilirken, diğeri sadece başını veya kanatlarını etiketleyebilir. Bu tür bir tutarsızlık, eğitim sırasında modelin kafasını karıştırabilir. “Kanatlar ve kuyruk dahil olmak üzere tüm kuşu etiketleyin” gibi net tanımların yanı sıra, zor durumlar için örnekler ve talimatlar sağlayarak verilerin doğru ve tutarlı bir şekilde etiketlendiğinden emin olabilirsin.
Düzenli kalite kontrolleri, yüksek standartları korumak için de önemlidir. Kıyaslamalar belirleyerek ve işi gözden geçirmek için belirli metrikler kullanarak verilerin doğruluğunu koruyabilir ve sürekli geri bildirim yoluyla süreci iyileştirebilirsin.
Kısaca veri etiketleme#
Veri etiketleme, bilgisayarlı görü modelin üzerinde önemli bir etkiye sahip olabilecek basit bir kavramdır. İster görselleri etiketlemek için LabelImg gibi araçlar kullan, ister açık kaynak veri setleri üzerinde modelleri eğit, veri etiketlemeyi anlamak anahtardır. Veri etiketleme stratejileri tüm süreci kolaylaştırmaya ve daha verimli hale getirmeye yardımcı olabilir. Etiketleme yaklaşımını iyileştirmek için zaman ayırmak, daha iyi ve daha güvenilir YZ sonuçlarına yol açabilir.
Keşfetmeye ve becerilerinizi geliştirmeye devam edin! Yapay zeka hakkında bilgi edinmeye devam etmek için topluluğumuzla bağlantıda kalın! Üretim ve sağlık hizmetleri gibi sektörlerde yenilikçi çözümler oluşturmak için yapay zekayı nasıl kullandığımızı keşfetmek için GitHub depomuzu inceleyin. 🚀






