Bilgisayarlı görü projeleri için veri etiketlemeyi keşfetmek
Bilgisayarlı görü için veri etiketlemenin neden önemli olduğunu, sınırlayıcı kutulardan kilit noktalara kadar temel anotasyon türlerini ve görüntüleri YOLO formatında nasıl etiketleyeceğini öğren.
Abirami Vina7 dakikalık okuma
Yapay zekâ (AI), makinelere insan benzeri yetenekler kazandırmaya odaklanır ve bunu sağlamanın en yaygın yollarından biri denetimli öğrenmedir. Başka bir deyişle, yapay zekâ modellerine etiketli örnekler göstererek eğitim vermek; örüntülerden öğrenmelerine ve görevlerde daha başarılı olmalarına yardımcı olabilir. Bu, insanların deneyimlerinden öğrenmesine çok benzer. Peki, bu etiketli örnekler nasıl oluşturulur?
Veri anotasyonu, makine öğrenimi algoritmalarının veriyi anlamasına yardımcı olmak için verileri etiketleme veya işaretleme sürecidir. Bilgisayarlı görüde bu, nesneleri, eylemleri veya sahneleri doğru biçimde tanımak ve kategorilere ayırmak için görüntüleri ya da videoları işaretlemek anlamına gelir. Veri etiketleme hayati önem taşır; çünkü bir yapay zekâ modelinin başarısı büyük ölçüde eğitildiği etiketli verilerin kalitesine bağlıdır.
Araştırmalar, yapay zekâ projelerinde harcanan sürenin %80'inden fazlasının veri toplamadan ve bir araya getirmeden temizleme ve etiketlemeye kadar veri yönetimine ayrıldığını gösteriyor. Bu da yapay zekâ modeli geliştirmede veri etiketlemenin ne kadar önemli olduğunu ortaya koyuyor. Yüksek kaliteli etiketli veriler, yapay zekâ modellerinin yüz tanıma ve nesne algılama gibi görevleri gerçek dünya koşullarında daha doğru ve güvenilir biçimde gerçekleştirmesini sağlar.
Veri anotasyonu neden gereklidir?#
Veri etiketleme, 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 önemlidir; çünkü modelin anlamaya çalıştığı gerçek dünyayı temsil eder. Bu güvenilir temel olmadan yapay zekâ modeli, pusulası olmadan yol alan bir gemiye benzer.

Şekil 1. Temel gerçek ve tahmin karşılaştırması.
Doğru etiketleme, bu modellerin gördüklerini anlamasına yardımcı olur ve daha iyi kararlar almalarını sağlar. Veriler kötü etiketlenmiş veya tutarsızsa model, yanlış ders kitaplarından öğrenen bir öğrenci gibi doğru tahmin ve kararlar vermekte zorlanır. Etiketli veriler sayesinde model, görüntü ve videolardaki nesneler üzerinde örnek bölütleme, görüntü sınıflandırma ve poz tahmini gibi görevleri öğrenebilir.
Veri kümeleri için en iyi kaynaklar#
Yepyeni bir veri kümesi oluşturmadan ve görüntüleri ve videoları titizlikle etiketlemeden önce, projen için mevcut veri kümelerini kullanıp kullanamayacağını araştırmak iyi bir fikirdir. Yüksek kaliteli veri kümelerine ücretsiz erişebileceğin birkaç açık kaynaklı depo vardı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 kümesi nesne algılama, segmentasyon ve görüntü altyazısı oluşturma için tasarlanmıştır.
- PASCAL VOC: Nesne algılama ve segmentasyon görevlerini destekler.

Şekil 2. COCO veri kümesindeki veri örnekleri.
Veri kümesi seçerken projenle ne kadar uyumlu olduğu, boyutu, çeşitliliği ve etiketlerinin kalitesi gibi etkenleri göz önünde bulundurman önemlidir. Ayrıca hukuki sorunlardan kaçınmak için veri kümesinin lisans koşullarını incele ve verilerin iş akışına ve araçlarına uygun biçimde biçimlendirilip biçimlendirilmediğini kontrol et.
Mevcut veri kümeleri ihtiyaçlarını tam olarak karşılamıyorsa özel bir veri kümesi oluşturmak iyi bir seçenektir. Projenin gereksinimlerine bağlı olarak web kameraları, dronlar veya akıllı telefonlar gibi araçlarla görüntüler toplayabilirsin. İdeal olarak özel veri kümen çeşitli ve dengeli olmalı, çözmeye çalıştığın problemi gerçekten temsil etmelidir. Bunun için farklı ışık koşullarında, çeşitli açılardan ve birden fazla ortamda görüntüler çekmen gerekebilir.
Yalnızca az sayıda görüntü veya video toplayabiliyorsan veri artırma yararlı bir tekniktir. Mevcut görüntülere döndürme, çevirme veya renk ayarlamaları gibi dönüşümler uygulayarak veri kümeni genişletmeni sağlar. Veri kümesinin boyutunu artırır, modelini daha sağlam hâle getirir ve verilerdeki değişkenliklerle daha iyi başa çıkmasına yardımcı olur. Açık kaynaklı veri kümelerini, özel veri kümelerini ve artırılmış verileri birlikte kullanarak bilgisayarlı görü modellerinin performansını önemli ölçüde artırabilirsin.
Görüntü anotasyonu tekniklerinin türleri#
Görüntülere anotasyon eklemeye başlamadan önce farklı anotasyon türlerini bilmek önemlidir. Bu, projen için doğru türü seçmene yardımcı olur. Şimdi başlıca anotasyon türlerinden bazılarına göz atalım.
Sınırlayıcı kutular#
Sınırlayıcı kutular, bilgisayarlı görüde 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ıyla tanımlanır ve yapay zekâ modellerinin nesneleri tanımlayıp konumlarını bulmasına yardımcı olur. Sınırlayıcı kutular çoğunlukla nesne algılamada kullanılır.

Şekil 3. Sınırlayıcı kutu örneği.
Segmentasyon maskeleri#
Bazen bir nesnenin yalnızca çevresine çizilen bir sınırlayıcı kutuyla algılanandan daha doğru biçimde algılanması gerekir. Görüntüdeki nesnelerin sınırlarını belirlemek isteyebilirsin. Böyle bir durumda bölütleme maskeleri, karmaşık nesnelerin dış hatlarını belirlemene olanak tanır. Bölütleme maskeleri, piksel düzeyinde daha ayrıntılı bir gösterim sunar.
Bu maskeler anlamsal bölütleme ve örnek bölütleme için kullanılabilir. Anlamsal bölütleme, görüntüdeki her pikseli temsil ettiği nesneye veya alana göre (örneğin yaya, otomobil, yol veya kaldırım) etiketlemeyi içerir. Örnek bölütleme ise bir adım daha ileri giderek her nesneyi ayrı ayrı tanımlar ve birbirinden ayırır; örneğin hepsi aynı türde olsa bile görüntüdeki her otomobili birbirinden ayırt eder.

Şekil 4. Anlamsal bölütleme (solda) ve örnek bölütleme maskesi (sağda) örneği.
3B küboidler#
3B küboidler sınırlayıcı kutulara benzer, ancak derinlik bilgisi ekler ve bir nesnenin 3B gösterimini sunar. Bu ek bilgi, sistemlerin 3B uzaydaki nesnelerin şeklini, hacmini ve konumunu anlamasını sağlar. 3B küboidler, nesnelerin araca olan mesafesini ölçmek için genellikle otonom araçlarda kullanılır.

Şekil 5. 3B küboid örneği.
Anahtar noktalar ve belirgin noktalar#
Bir başka ilgi çekici etiketleme türü, gözler, burunlar veya eklemler gibi belirli noktaların nesneler üzerinde işaretlendiği kilit noktalardır. Yer işaretleri, yüzler veya vücut pozları gibi daha karmaşık şekillerin yapısını ve hareketini yakalamak için bu noktaları birbirine bağlayarak bir adım daha ileri gider. Bu tür etiketlemeler yüz tanıma, hareket yakalama ve artırılmış gerçeklik gibi uygulamalarda kullanılır. Ayrıca hareket tanıma veya spor performansını analiz etme gibi görevlerde yapay zekâ modellerinin doğruluğunu artırır.

Şekil 6. Kilit nokta örneği.
LabelImg kullanarak veriye nasıl anotasyon eklenir?#
Farklı etiketleme türlerini ele aldığımıza göre, şimdi popüler bir araç olan LabelImg ile görüntüleri nasıl etiketleyebileceğini inceleyelim. LabelImg, görüntü etiketlemeyi kolaylaştıran açık kaynaklı bir araçtır ve YOLO (Yalnızca Bir Kez Bak) biçiminde veri kümeleri oluşturmak için kullanılabilir. Küçük Ultralytics YOLOv8 projeleri üzerinde çalışan yeni başlayanlar için harika bir seçenektir.
LabelImg kurulumu oldukça kolaydır. Öncelikle bilgisayarında Python 3 kurulu olduğundan emin ol. Ardından LabelImg'yi hızlı bir komutla yükleyebilirsin:
pip3 install labelImgKurulum tamamlandıktan sonra aracı şu komutla başlatabilirsin:
labelImgLabelImg; Windows, macOS ve Linux dâhil olmak üzere birden fazla platformda çalışır. Yükleme sırasında herhangi bir sorunla karşılaşırsan, resmi LabelImg deposunda daha ayrıntılı yönergeler bulabilirsin. LabelImg'in bakımını yapanlar tarafından arşivlendiğini unutma; yapay zekâ destekli araçlarla tarayıcı üzerinden etiketleme yapmak için Ultralytics Platform etiketleme düzenleyicisine bak.

Şekil 7. Görüntü etiketleme için LabelImg kullanımı.
Aracı başlattıktan sonra görüntülerini etiketlemeye başlamak için şu basit adımları izle:
- Sınıflarını ayarla: “predefined_classes.txt” adlı bir dosyada anotasyon eklemek istediğin sınıfların (kategorilerin) listesini tanımlayarak başla. Bu dosya, yazılıma görüntülerinde hangi nesneleri etiketleyeceğini bildirir.
- YOLO formatına geç: LabelImg varsayılan olarak PASCAL VOC formatını kullanır, ancak YOLO ile çalışıyorsan formatı değiştirmen gerekir. YOLO'ya geçmek için araç çubuğundaki “PascalVOC” düğmesine tıkla.
- Etiketlemeye başla: Görsellerini yüklemek için "Open" veya "OpenDIR" seçeneklerini kullan. Ardından etiketlemek istediğin nesnelerin çevresine sınırlayıcı kutular çiz ve doğru sınıf etiketini ata. Her görseli etiketledikten sonra çalışmanı kaydet. LabelImg, YOLO açıklamalarını içeren ve görselle aynı adı taşıyan bir metin dosyası oluşturur.
- Kaydet ve gözden geçir: Açıklamalar, YOLO formatında bir .txt dosyasına kaydedilir. Yazılım ayrıca tüm sınıf adlarının listelendiği bir “classes.txt” dosyası da kaydeder.
Veri etiketleme için verimli stratejiler#
Veri etiketleme sürecini kolaylaştırmak için aklında tutman gereken birkaç önemli strateji var. Örneğin, açık etiketleme yönergeleri çok önemlidir. Bu yönergeler olmadan farklı etiketleyiciler bir görevi farklı yorumlayabilir.
Görevin, görsellerdeki kuşları sınırlayıcı kutularla etiketlemek olduğunu varsayalım. Bir etiketleyici kuşun tamamını işaretlerken diğeri yalnızca başını veya kanatlarını işaretleyebilir. Bu tür tutarsızlıklar, eğitim sırasında modelin kafasını karıştırabilir. “Kanatları ve kuyruğu dâhil kuşun tamamını etiketle” gibi açık tanımların yanı sıra örnekler ve zor durumlara yönelik talimatlar sunarak verilerin doğru ve tutarlı biçimde etiketlenmesini sağlayabilirsin.
Yüksek standartları korumak için düzenli kalite kontrolleri de önemlidir. Kıyaslama ölçütleri belirleyip çalışmaları gözden geçirmek için belirli metrikler kullanarak verilerin doğruluğunu koruyabilir ve sürekli geri bildirimle süreci iyileştirebilirsin.
Özetle veri etiketleme#
Veri açıklama, bilgisayarlı görü modelini önemli ölçüde etkileyebilecek basit bir kavramdır. Görselleri etiketlemek için LabelImg gibi araçları kullanıyor veya açık kaynaklı veri kümeleriyle modeller eğitiyor olman fark etmez; veri etiketlemeyi anlamak çok önemlidir. Veri etiketleme stratejileri tüm süreci kolaylaştırıp daha verimli hâle getirebilir. Etiketleme yaklaşımını iyileştirmek için zaman ayırman, daha iyi ve güvenilir AI sonuçları sağlayabilir.
Keşfetmeye ve becerilerini geliştirmeye devam et! Yapay zekâ hakkında öğrenmeye devam etmek için topluluğumuzla bağlantıda kal! Yapay zekâyı üretim ve sağlık hizmetleri gibi sektörlerde yenilikçi çözümler üretmek için nasıl kullandığımızı keşfetmek üzere GitHub depomuza göz at.
Yazan
Yorumlar
Soru sor, sonuçlarını paylaş veya başka birine yardım et.










