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 (YZ), makinelere insan benzeri yetenekler kazandırmaya odaklanır ve bunu yapmanın en popüler yollarından biri denetimli öğrenme yöntemidir. Başka bir deyişle, YZ modellerine etiketli örnekler göstererek öğretmek, modellerin kalıplardan öğrenmesine ve görevlerde iyileşmesine yardımcı olabilir. Bu, tıpkı insanların deneyimlerinden öğrenmesine çok benzer. Peki, bu etiketli örnekler nasıl oluşturuluyor?
Veri ek açıklama, makine öğrenimi algoritmalarının verileri anlamasına yardımcı olmak için verileri etiketlemeyi veya etiket eklemeyi içerir. Bilgisayarlı görü alanında bu, nesneleri, eylemleri veya sahneleri doğru bir şekilde tanımak ve kategorize etmek için görselleri veya videoları işaretlemek anlamına gelir. Veri etiketleme hayati önem taşır çünkü bir YZ modelinin başarısı, üzerinde eğitildiği etiketli verilerin kalitesine büyük ölçüde bağlıdır.
Çalışmalar, bir YZ projesinde zamanın %80'inden fazlasının 80% of AI project time, verilerin toplanması ve birleştirilmesinden temizlenmesine ve etiketlenmesine kadar veri yönetimine harcandığını göstermektedir. Bu, veri ek açıklamasının YZ modeli geliştirmede ne kadar önemli olduğunu göstermektedir. Yüksek kaliteli etiketli verilerin kullanılması, YZ modellerinin yüz tanıma ve nesne algılama gibi görevleri gerçek dünya durumlarında daha yüksek doğruluk ve güvenilirlikle gerçekleştirmesini mümkün kılar.
Link to this sectionVeri etiketleme neden gereklidir?#
Veri etiketleme, bir bilgisayarlı görü modelinin ne kadar iyi performans gösterdiğinin temelini oluşturur. Etiketli veri, modelin öğrenmek ve tahminler yapmak için kullandığı temel gerçektir (ground truth). Temel gerçek verisi çok önemlidir çünkü modelin anlamaya çalıştığı gerçek dünyayı temsil eder. Bu güvenilir temel olmadan, YZ modeli pusulasız yol alan bir gemi gibi olurdu.

Şekil 1. Temel Gerçek ve Tahmin.
Doğru etiketleme, bu modellerin gördüklerini anlamalarına yardımcı olur ve daha iyi karar verme süreçleri sağlar. Eğer veriler hatalı etiketlenmişse veya tutarsızsa, tıpkı yanlış ders kitaplarından öğrenen bir öğrenci gibi, model doğru tahminler ve kararlar vermekte zorlanacaktır. Etiketli veriler sayesinde bir model, görsellerdeki ve videolardaki nesnelerin görüntü sınıflandırması, örnek segmentasyonu ve poz tahmini gibi görevleri öğrenebilir.
Link to this sectionVeri setleri için en iyi kaynaklar#
Sıfırdan yeni bir veri seti oluşturup görselleri ve videoları titizlikle etiketlemeden önce, projeniz için mevcut veri setlerini kullanıp kullanamayacağınıza bakmak iyi bir fikirdir. Yüksek kaliteli veri setlerine ücretsiz olarak erişebileceğiniz birçok harika açık kaynak deposu 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 algılama, segmentasyon ve görüntü açıklaması (captioning) için tasarlanmıştır.
- PASCAL VOC: Nesne algılama ve segmentasyon görevlerini destekler.

Şekil 2. COCO veri setindeki veri örnekleri.
When choosing a dataset, it’s important to consider factors like how well it fits your project, the size of the dataset, its diversity, and the quality of the labels. Also, be sure to review the dataset’s licensing terms to avoid any legal repercussions, and check if the data is formatted in a way that suits your workflow and tools.
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 az sayıda görsel veya video toplayabiliyorsan, veri artırma yararlı bir tekniktir. Mevcut görsellere döndürme, yansıtma veya renk ayarlamaları gibi dönüşümler uygulayarak veri setini genişletmeyi içerir. Bu, veri setinizin boyutunu artırır ve modelinizi daha sağlam hale getirerek verilerdeki değişimlerle başa çıkabilmesini sağlar. Açık kaynak 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.
Link to this sectionGö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.
Link to this sectionBBox#
Sınırlayıcı kutular, bilgisayarlı görüdeki en yaygın etiketleme türüdür. Görseldeki bir nesnenin yerini işaretlemek için kullanılan dikdörtgen kutulardır. Bu kutular, köşelerinin koordinatları ile tanımlanır ve YZ modellerinin nesneleri tanımlamasına ve konumlandırmasına yardımcı olur. Sınırlayıcı kutular çoğunlukla nesne algılama için kullanılır.

Şekil 3. Bir Sınırlayıcı Kutu Örneği.
Link to this sectionSegmentasyon 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 segmentasyon ve örnek segmentasyonu için kullanılabilir. Anlamsal segmentasyon, görseldeki her bir pikseli; yaya, araba, yol veya kaldırım gibi temsil ettiği nesneye veya alana göre etiketlemeyi içerir. Ancak örnek segmentasyonu, her bir nesneyi ayrı ayrı tanımlayıp ayırarak bir adım daha ileri gider; örneğin, hepsi aynı tipte olsa bile bir görseldeki her bir arabayı birbirinden ayırt etmek gibi.

Şekil 4. Bir Anlamsal Segmentasyon (sol) ve Örnek Segmentasyonu Maskeleri (sağ) Örneği.
Link to this section3D 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 bir temsilini sağlamasıdır. Bu ekstra bilgi, sistemlerin bir 3D uzaydaki nesnelerin şeklini, hacmini ve konumunu anlamasını sağlar. 3D küboidler genellikle sürücüsüz arabalarda, nesnelerin araçtan olan uzaklığını ölçmek için kullanılır.

Şekil 5. Bir 3D Küboid Örneği.
Link to this sectionAnahtar 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. İşaretleyiciler (landmarks), bu noktaları birbirine bağlayarak yüzler veya vücut pozları gibi daha karmaşık şekillerin yapısını ve hareketini yakalamak için bir adım daha ileri gider. Bu etiketleme türleri; 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 YZ modellerinin doğruluğunu artırırlar.

Şekil 6. Bir Anahtar Nokta Örneği.
Link to this sectionLabelImg kullanarak veri nasıl etiketlenir?#
Artık farklı etiketleme türlerini konuştuğumuza göre, popüler bir araç olan LabelImg kullanarak görselleri nasıl etiketleyebileceğini anlayalım. LabelImg, görüntü etiketlemeyi basitleştiren ve YOLO formatında veri setleri oluşturmak için kullanılabilen açık kaynaklı bir araçtır. Küçük Ultralytics YOLOv8 projeleri üzerinde çalışan yeni başlayanlar için harika bir seçimdir.
LabelImg'ı kurmak oldukça kolaydır. İlk olarak, bilgisayarınızda Python 3 kurulu olduğundan emin olun. Ardından, LabelImg'ı hızlı bir komutla kurabilirsin:
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, resmi LabelImg deposu sana 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.
Link to this sectionVerimli 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.
Link to this sectionKı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.
Keep exploring and expanding your skills! Stay connected with our community to keep learning about AI! Check out our GitHub repository to discover how we are using AI to create innovative solutions in industries like manufacturing and healthcare. 🚀






