Backbone
Omurga, görüntü piksellerini boyun ve başlık için çok ölçekli özellik haritalarına dönüştüren, bir görme modelinin temelindeki önceden eğitilmiş ağdır.
Omurga, ham girdiyi modelin geri kalanında kullanılacak özellik haritalarına dönüştüren sinir ağının parçasıdır. Bilgisayarlı görüde omurga genellikle evrişimli bir sinir ağı (CNN) veya görü Transformer'ıdır (ViT) ve ImageNet gibi büyük bir veri kümesi üzerinde önceden eğitilir. Sonraki katmanlar, genellikle bir boyun ve göreve özgü bir başlık, omurganın özelliklerini sınıf etiketlerine, sınırlayıcı kutulara, maskelere veya kilit noktalara dönüştürür. Omurga, kodlayıcı ve özellik çıkarıcı terimleri çoğu zaman eş anlamlı kullanılır; U-Net gibi kodlayıcı-kod çözücü modellerde ise genellikle kodlayıcı terimi tercih edilir.
Omurga Nasıl Çalışır#
Bir görü omurgası, görüntüyü aşamalar hâlinde işler. Her aşama bir evrişim veya dikkat bloğu yığını uygular, ardından uzamsal çözünürlüğü yarıya indirir ve genellikle kanal sayısını artırır. Böylece 640×640 boyutundaki girdi, stride 8'de 80×80'lik, stride 16'da 40×40'lık ve stride 32'de 20×20'lik haritalara dönüşür. İlk aşamalar kenarlara, renklere ve dokulara tepki verir. Sonraki aşamalar nesne parçalarına ve nesnelerin tümüne tepki verir; çünkü bu aşamaların her çıktı konumu, girdi görüntüsünün daha geniş bir alıcı alanını kapsar. Algılama ve bölümleme modelleri son üç aşamadan özellik alıp bunları özellik piramidi ağı (FPN) gibi bir boyna aktarır. Böylece model, yüksek çözünürlüklü haritada küçük nesneleri, düşük çözünürlüklü haritada ise büyük nesneleri bulabilir.
Omurga, Boyun ve Baş#
Modern nesne algılama mimarilerinin çoğu üç parçaya ayrılır; bileşenleri değiştirirken veya katmanları dondururken bu sınırlar önem taşır.
- Omurga: Birden fazla çözünürlükte özellik haritaları oluşturarak özellik çıkarımını gerçekleştirir. Görevler ve veri kümeleri arasında aktarılabilen genel görsel bilgiyi barındırır.
- Boyun: Her çıktı düzeyinin hem ince uzamsal ayrıntıları hem de üst düzey anlamı taşıması için omurganın farklı ölçeklerini birleştirir. FPN yukarıdan aşağıya bir yol ekler; PANet ise bunun ardından aşağıdan yukarıya ikinci bir yol ekler. Sınıflandırma modellerinde genellikle boyun bulunmaz; son omurga aşaması tek bir vektöre havuzlanır.
- Başlık: Birleştirilmiş her özellik haritasını görev çıktısına dönüştürür. Bir algılama başlığı kutuları ve sınıf puanlarını tahmin eder; bölümleme ve poz başlıkları ise aynı tür özelliklerden maskeleri ve kilit noktaları tahmin eder.
Yaygın Omurga Aileleri#
- ResNet: Artık bağlantılar, sinyalin blokları atlamasını sağlayarak 152 katmana kadar derin ağların eğitilmesini mümkün kılar. ResNet topluluğu, ILSVRC 2015 sınıflandırma görevini kazandı. ResNet-50, algılayıcıları karşılaştırmak için hâlâ standart bir referans omurgadır.
- CSPNet: Aşamalar Arası Kısmi ağlar, her aşamanın kanallarının yalnızca bir kısmını o aşamanın bloklarından geçirir ve geri kalanını sonda yeniden birleştirir. Bu yöntem, ImageNet doğruluğunu aynı veya daha iyi düzeyde tutarken hesaplamayı %20 azalttı. YOLOv4'ün omurgası CSPDarknet53, bu aşamalardan oluşur.
- ConvNeXt: Büyük çekirdekler ve daha az normalizasyon katmanı gibi Transformer'lardan alınan tasarım tercihleriyle modernleştirilmiş bir ResNet; ImageNet'te %87,8 top-1 doğruluğa ulaşır ve COCO algılamada Swin Transformer'ı geride bırakır.
- ViT ve Swin Transformer: Sade bir ViT, baştan sona tek çözünürlüğü korur; bu nedenle algılama modellerinde çoğu zaman bunun yerine Swin kullanılır. Swin, dikkati kaydırılmış yerel pencereler içinde hesaplar ve CNN benzeri aşamalı bir hiyerarşi üretir.
- Öz denetimli temel omurgalar: DINOv3, 7 milyar parametreli bir ViT'yi 1,7 milyar etiketsiz görüntüyle eğitir. Omurga dondurulduğunda bu modelin özellikleri, bölümleme ve derinlik tahmini gibi yoğun görevlerde güçlü sonuçlar verir.
Önceden Eğitilmiş Omurgalar ve Transfer Öğrenme#
Bir omurgayı sıfırdan eğitmek büyük bir veri kümesi ve uzun bir eğitim planı gerektirir; bu nedenle çoğu proje önceden eğitilmiş ağırlıklarla başlar. Bu tür transfer öğrenme, bir veri kümesinde öğrenilen kenarların, dokuların ve şekillerin çoğu başka veri kümelerinde de işe yaraması sayesinde çalışır. Ön eğitim alanına yakın küçük bir veri kümesinde omurgayı dondurmak, bu genel özellikleri korur, aşırı öğrenmeyi azaltır ve donmuş katmanlar gradyan veya eniyileyici durumu depolamadığından eğitim belleğini düşürür. X-ışını veya termal görüntüleme gibi büyük bir veri kümesinde ya da uzak bir alanda omurgaya da ince ayar yapmak özelliklerin uyum sağlamasını sağlar. YOLO26 omurgası 0–10. katmanları kapsar: stride'lı evrişimler, C3k2 blokları, bir SPPF havuzlama bloğu ve bir C2PSA dikkat bloğu. freeze=11 eğitim argümanı, bu katmanların tümünü dondurur; böylece eğitim yalnızca boynu ve algılama başlığını günceller.
from ultralytics import YOLO
# COCO üzerinde önceden eğitilmiş bir YOLO26 algılama modelini yükle
model = YOLO("yolo26n.pt")
# Tüm omurga (0-10. katmanlar) donmuş durumdayken küçük bir veri kümesinde ince ayar yap
results = model.train(data="coco8.yaml", epochs=3, imgsz=640, freeze=11)Eğitici, ilk dönemden önce Freezing layer 'model.0.conv.weight' satırını ve 0–10. katmanlardaki diğer her parametre için buna karşılık gelen bir satırı kaydeder; bu parametreler, boyun ve başlık yeni verileri öğrenirken sabit kalır.










