Anchor Boxes
Çapa kutularının nesne algılama için referans şablonları olarak nasıl işlev gördüğünü öğren. Doğruluğu nasıl geliştirdiklerini ve Ultralytics YOLO26 gibi modellerin çapasız tasarımları nasıl kullandığını keşfet.
Çapa kutuları, nesne algılama modellerinin nesneleri konumlandırmasına ve sınıflandırmasına yardımcı olmak amacıyla bir görüntü üzerine yerleştirilen, belirli en-boy oranlarına ve ölçeklere sahip önceden tanımlanmış referans dikdörtgenlerdir. Bir sinir ağından bir nesnenin tam boyutunu ve konumunu sıfırdan tahmin etmesini istemek yerine (bu, nesne şekillerindeki büyük çeşitlilik nedeniyle kararsız olabilir), model bu sabit şablonları başlangıç noktası olarak kullanır. Sistem, bu başlangıç kutularını gerçek doğruya uyacak şekilde ne kadar ayarlaması veya "regresyon" uygulaması gerektiğini öğrenerek daha hızlı yakınsama ve daha yüksek doğruluk elde edebilir. Bu teknik, karmaşık konumlandırma görevini daha yönetilebilir bir optimizasyon problemine dönüştürerek bilgisayarlı görü (CV) alanını temelden değiştirdi.
Çapa Kutularının Mekanizması#
Klasik çapa tabanlı algılayıcılarda girdi görüntüsü bir hücre ızgarasına bölünür. Ağ, her hücre konumunda farklı geometrilere sahip birden çok çapa kutusu oluşturur. Örneğin, uzun bir yayayı ve geniş bir otomobili aynı anda algılamak için model, aynı merkez noktasında uzun ve dar bir kutu ile kısa ve geniş bir kutu önerebilir.
Model eğitimi sırasında bu çapalar, Kesişim üzerinden Birleşim (IoU) adlı bir metrik kullanılarak gerçek nesnelerle eşleştirilir. Etiketli bir nesneyle önemli ölçüde örtüşen çapalar "pozitif" örnekler olarak belirlenir. Ardından ağ iki paralel görevi öğrenir:
-
Sınıflandırma: Çapanın belirli bir sınıfı (ör. "köpek" veya "bisiklet") içerme olasılığını gösteren bir olasılık skoru atar. Bu işlem, çapraz entropi kaybı gibi standart denetimli öğrenme hedeflerini kullanır.
-
Kutu Regresyonu: Genel amaçlı çapayı sıkı biçimde oturan bir sınırlayıcı kutuya dönüştürmek için gereken kesin ofset değerlerini (koordinat kaymaları ve ölçekleme katsayıları) hesaplar.
Bu yaklaşım, farklı boyutlardaki ve birbirine yakın konumlanan birden çok nesnenin ele alınmasını sağlar; çünkü her nesne, şekliyle en iyi eşleşen çapaya atanabilir.
Gerçek Dünya Uygulamaları#
Daha yeni mimariler çapasız tasarımlara yönelse de çapa kutuları, nesne özelliklerinin öngörülebilir olduğu birçok yerleşik üretim sisteminde hâlâ hayati önem taşır.
- Perakende ve Envanter Yönetimi: Yapay zekâ destekli perakende çözümlerinde kameralar raflardaki stokları izler. Mısır gevreği kutuları veya soda kutuları gibi ürünlerin standartlaştırılmış boyutları olduğundan, çapa kutuları bu belirli en-boy oranlarına göre ayarlanabilir. Bu ön bilgi, modelin karmaşık ortamlarda bile yüksek geri çağırma değerini korumasına yardımcı olur.
- Otonom Sürüş: Otonom araçlardaki algılama sistemleri yayaları, araçları ve trafik işaretlerini algılamaya dayanır. Uzaktan görülen bir otomobilin şekil profili yola kıyasla nispeten tutarlı olduğundan, bu şekillere göre uyarlanmış çapaların kullanılması sağlam nesne takibi ve mesafe tahmini sağlar.
Çapa Tabanlı ve Çapasız Yaklaşımlar#
Geleneksel çapa tabanlı yöntemlerle modern çapasız algılayıcılar arasındaki farkı ayırt etmek önemlidir.
- Çapa Tabanlı: Orijinal Faster R-CNN veya ilk YOLO sürümleri (ör. Ultralytics YOLOv5) gibi modeller bu önceden tanımlanmış şablonları kullanır. Bu modeller sağlamdır; ancak yeni veri kümelerine uyum sağlamak için genellikle hiperparametrelerin (çapa boyutları/oranları) elle ayarlanmasını veya k-means kümeleme gibi kümeleme algoritmalarını gerektirir.
- Çapasız: YOLO26 dahil gelişmiş modeller genellikle çapasız veya uçtan uca yaklaşımlar kullanır. Bu ağlar nesne merkezlerini veya kilit noktaları doğrudan tahmin ederek elle çapa yapılandırması gereksinimini ortadan kaldırır. Bu, mimariyi basitleştirir ve binlerce boş arka plan çapasını işlemek için gereken hesaplamayı ortadan kaldırarak çıkarımı hızlandırır.
Örnek: Çapa Bilgilerine Erişme#
Ultralytics Platform gibi modern üst düzey API'ler eğitim sırasında bu ayrıntıları soyutlasa da daha eski model mimarileriyle çalışırken veya model yapılandırma dosyalarını analiz ederken çapaları anlamak yararlıdır. Aşağıdaki kod parçacığı, bir modelin nasıl yükleneceğini ve yapılandırmasının nasıl inceleneceğini gösterir; mevcutsa çapa ayarları genellikle burada tanımlanır.
from ultralytics import YOLO
# Load a pre-trained YOLO model (YOLO26 is anchor-free, but legacy configs act similarly)
model = YOLO("yolo26n.pt")
# Inspect the model's stride, which relates to grid cell sizing in detection
print(f"Model strides: {model.model.stride}")
# For older anchor-based models, anchors might be stored in the model's attributes
# Modern anchor-free models calculate targets dynamically without fixed boxes
if hasattr(model.model, "anchors"):
print(f"Anchors: {model.model.anchors}")
else:
print("This model architecture is anchor-free.")Zorluklar ve Dikkat Edilmesi Gerekenler#
Çapa kutuları etkili olmakla birlikte karmaşıklık oluşturur. Oluşturulan çok sayıdaki çapa (genellikle görüntü başına on binlerce tane), çapaların çoğu yalnızca arka planı kapsadığından sınıf dengesizliği sorununa yol açar. Focal Loss gibi teknikler, kolay arka plan örneklerinin ağırlığını azaltarak bu sorunu hafifletmek için kullanılır. Ayrıca nihai çıktı, gereksiz örtüşen kutuları filtrelemek ve her nesne için yalnızca güveni en yüksek algılamayı korumak amacıyla genellikle Maksimum Olmayan Bastırma (NMS) gerektirir.









