Ultralytics YOLO27:

YOLO12: Dikkat Odaklı Nesne Algılama#

Genel Bakış#

2025'in başlarında yayımlanan YOLO12, önceki YOLO modellerinde kullanılan geleneksel CNN tabanlı yaklaşımlardan ayrılan, ancak birçok uygulama için gerekli olan gerçek zamanlı çıkarım hızını koruyan dikkat odaklı bir mimari sunar. Bu model, dikkat mekanizmaları ve genel ağ mimarisindeki yeni metodolojik yenilikler sayesinde yüksek nesne algılama doğruluğu elde ederken gerçek zamanlı performansı korur. Bu avantajlara rağmen YOLO12, ağır dikkat blokları nedeniyle eğitim kararsızlığı, yüksek bellek tüketimi ve daha yavaş CPU aktarım hızı sergileyebilen, topluluk odaklı bir sürüm olmaya devam eder; bu nedenle Ultralytics çoğu üretim iş yükü için YOLO11 veya YOLO26 kullanmanı önerir.

Topluluk Modeli

YOLO12 temel olarak kıyaslama ve araştırma amacıyla korunur. Kararlı eğitim, öngörülebilir bellek kullanımı ve optimize edilmiş CPU çıkarımı gerekiyorsa dağıtım için YOLO11 veya YOLO26 seç.



Watch: How to Use YOLO12 for Object Detection with the Ultralytics Package | Is YOLO12 Fast or Slow? 🚀

Temel Özellikler#

  • Alan Dikkati Mekanizması: Geniş alıcı alanları verimli şekilde işleyen yeni bir öz-dikkat yaklaşımıdır. Özellik haritalarını l eşit boyutlu bölgeye (varsayılan olarak 4) yatay veya dikey şekilde ayırarak karmaşık işlemlerden kaçınır ve geniş bir etkin alıcı alanı korur. Bu, standart öz-dikkate kıyasla hesaplama maliyetini önemli ölçüde azaltır.
  • Artıklı Verimli Katman Birleştirme Ağları (R-ELAN): Özellikle daha büyük ölçekli dikkat odaklı modellerdeki optimizasyon zorluklarını gidermek üzere tasarlanmış, ELAN tabanlı geliştirilmiş bir özellik birleştirme modülüdür. R-ELAN şunları sunar:
    • Ölçeklendirmeli blok düzeyi artıklı bağlantılar (katman ölçeklendirmeye benzer).
    • Darboğaz benzeri bir yapı oluşturan yeniden tasarlanmış bir özellik birleştirme yöntemi.
  • Optimize Edilmiş Dikkat Mimarisi: YOLO12, daha yüksek verimlilik ve YOLO çatısıyla uyumluluk için standart dikkat mekanizmasını sadeleştirir. Buna şunlar dahildir:
    • Bellek erişimi ek yükünü en aza indirmek için FlashAttention kullanımı.
    • Daha sade ve hızlı bir model için konumsal kodlamanın kaldırılması.
    • Dikkat ve ileri beslemeli katmanlar arasındaki hesaplamayı daha iyi dengelemek için MLP oranının (tipik 4 değerinden 1.2 veya 2'ye) ayarlanması.
    • Optimizasyonu iyileştirmek için yığınlanmış blokların derinliğinin azaltılması.
    • Hesaplama verimlilikleri nedeniyle uygun yerlerde evrişim işlemlerinden yararlanılması.
    • Konumsal bilgiyi örtük olarak kodlamak amacıyla dikkat mekanizmasına 7x7 ayrılabilir bir evrişimin ("position perceiver") eklenmesi.
  • Kapsamlı Görev Desteği: YOLO12; nesne algılama, örnek bölütleme, görüntü sınıflandırma, poz tahmini ve yönelimli nesne algılama (OBB) gibi temel bilgisayarlı görü görevlerini destekler.
  • Geliştirilmiş Verimlilik: Önceki birçok modele kıyasla daha az parametreyle daha yüksek doğruluk elde ederek hız ve doğruluk arasında daha iyi bir denge kurar.
  • Esnek Dağıtım: Uç cihazlardan bulut altyapısına kadar çeşitli platformlarda dağıtım için tasarlanmıştır.

YOLO12 karşılaştırma görselleştirmesi

Desteklenen Görevler ve Modlar#

YOLO12 çeşitli bilgisayarlı görü görevlerini destekler. Aşağıdaki tablo, her görev için desteklenen görevleri ve etkinleştirilen çalışma modlarını (Çıkarım, Doğrulama, Eğitim ve Dışa Aktarma) gösterir:

Önceden eğitilmiş ağırlıkların kullanılabilirliği

Yalnızca algılama ağırlıkları (yolo12n.pt, yolo12s.pt, yolo12m.pt, yolo12l.pt, yolo12x.pt) ultralytics/assets üzerinde yayımlanmıştır. Bölütleme, sınıflandırma, poz ve OBB mimarileri ultralytics/cfg/models/12/ içinde tanımlıdır; bu nedenle bu varyantlar .yaml yapılandırmasından sıfırdan eğitimi destekler, ancak bunlar için önceden eğitilmiş .pt dosyaları şu anda mevcut değildir. Önceden eğitilmiş bölütleme, poz, sınıflandırma veya OBB kontrol noktaları için Ultralytics YOLO11 veya YOLO26 kullanılmasını önerir.

Model TürüGörevÖnceden Eğitilmiş AğırlıklarEğitimDoğrulamaÇıkarımDışa aktarma
YOLO12Algılama
YOLO12-segBölütleme
YOLO12-clsSınıflandırma
YOLO12-posePoz
YOLO12-obbOBB

Eğitilmiş bir kontrol noktası kullanılabilir olduğunda tüm YOLO12 mimarileri her modu destekler. Pretrained Weights sütunu yalnızca Ultralytics'in ultralytics/assets üzerinde resmi bir önceden eğitilmiş .pt yayımlayıp yayımlamadığını gösterir: bölütleme, poz, sınıflandırma ve OBB için çıkarım, doğrulama veya dışa aktarma çalıştırmadan önce ilgili .yaml dosyasından kendi kontrol noktanı eğitmelisin.

Performans Metrikleri#

YOLO12, tüm model ölçeklerinde önemli doğruluk iyileştirmeleri gösterir; ancak önceki en hızlı YOLO modellerine kıyasla hızda bazı ödünleşimler vardır. Aşağıda COCO doğrulama veri kümesinde nesne algılama için nicel sonuçlar verilmiştir:

Algılama Performansı (COCO val2017)#

Performans
Modelboyut
(piksel)
mAPval
50-95
Hız
CPU ONNX
(ms)
Hız
T4 TensorRT
(ms)
parametre
(M)
FLOPs
(B)
Karşılaştırma
(mAP/Hız)
YOLO12n64040.6-1.642.67.5+2.1%/-9% (YOLOv10n ile karşılaştırıldığında)
YOLO12s64048.0-2.619.323.3+0.1%/+42% (RT-DETRv2 ile karşılaştırıldığında)
YOLO12m64052.5-4.8620.270.7+1.0%/-3% (YOLO11m ile karşılaştırıldığında)
YOLO12l64053.7-6.7726.495.4+0.4%/-8% (YOLO11l ile karşılaştırıldığında)
YOLO12x64055.2-11.7959.1208.9+0.6%/-4% (YOLO11x ile karşılaştırıldığında)
  • Çıkarım hızı, TensorRT FP16 hassasiyeti ile NVIDIA T4 GPU üzerinde ölçülmüştür.
  • Karşılaştırmalar, mAP'teki göreli iyileşmeyi ve hızdaki yüzde değişimini gösterir (pozitif değer daha hızlı, negatif değer daha yavaş anlamına gelir). Karşılaştırmalar, mevcut olduğunda YOLOv10, YOLO11 ve RT-DETR için yayımlanmış sonuçlara göre yapılmıştır.

Kullanım Örnekleri#

Bu bölümde YOLO12 ile eğitim ve çıkarım örnekleri sunulmaktadır. Bunlar ve diğer modlar ( Doğrulama ve Dışa Aktarma dahil) hakkında daha kapsamlı belgeler için özel Predict ve Train sayfalarına başvur.

Aşağıdaki örnekler YOLO12 Detect modellerine (nesne algılama için) odaklanır. Desteklenen diğer görevler (bölütleme, sınıflandırma, poz tahmini ve yönelimli nesne algılama) için ilgili göreve özel belgelere başvur: Segment, Classify, Pose ve OBB.

Örnek

Önceden eğitilmiş *.pt modelleri (PyTorch kullanılarak) ve *.yaml yapılandırma dosyaları, Python'da bir model örneği oluşturmak için YOLO() sınıfına aktarılabilir:

from ultralytics import YOLO

# Load a COCO-pretrained YOLO12n model
model = YOLO("yolo12n.pt")

# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference with the YOLO12n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")

Temel İyileştirmeler#

  1. Geliştirilmiş Özellik Çıkarımı:

    • Alan Dikkati: Geniş alıcı alanları verimli şekilde işler ve hesaplama maliyetini azaltır.
    • Optimize Edilmiş Denge: Dikkat ve ileri beslemeli ağ hesaplamaları arasındaki dengeyi iyileştirir.
    • R-ELAN: R-ELAN mimarisini kullanarak özellik birleştirmeyi geliştirir.
  2. Optimizasyon Yenilikleri:

    • Artıklı Bağlantılar: Özellikle daha büyük modellerde eğitimi kararlı hâle getirmek için ölçeklendirmeli artıklı bağlantılar sunar.
    • İyileştirilmiş Özellik Entegrasyonu: R-ELAN içinde özellik entegrasyonu için geliştirilmiş bir yöntem uygular.
    • FlashAttention: Bellek erişimi ek yükünü azaltmak için FlashAttention'ı kullanır.
  3. Mimari Verimlilik:

    • Azaltılmış Parametre Sayısı: Önceki birçok modele kıyasla doğruluğu korurken veya iyileştirirken daha düşük parametre sayısına ulaşır.
    • Sadeleştirilmiş Dikkat: Konumsal kodlamadan kaçınan basitleştirilmiş bir dikkat uygulaması kullanır.
    • Optimize Edilmiş MLP Oranları: Hesaplama kaynaklarını daha etkili tahsis etmek için MLP oranlarını ayarlar.

Gereksinimler#

Ultralytics YOLO12 uygulaması varsayılan olarak FlashAttention gerektirmez. Ancak FlashAttention isteğe bağlı olarak derlenebilir ve YOLO12 ile kullanılabilir. FlashAttention'ı derlemek için aşağıdaki NVIDIA GPU'lardan biri gerekir:

Atıflar ve Teşekkürler#

YOLO12'yi araştırmanda kullanırsan lütfen özgün çalışmaya University at Buffalo ve University of Chinese Academy of Sciences tarafından atıfta bulun:

Alıntı
@inproceedings{tian2025yolov12,
  title={YOLOv12: Attention-Centric Real-Time Object Detectors},
  author={Tian, Yunjie and Ye, Qixiang and Doermann, David},
  booktitle={Advances in Neural Information Processing Systems},
  volume={38},
  pages={78433--78457},
  year={2025},
  url={https://proceedings.neurips.cc/paper_files/paper/2025/file/7103444259031cc58051f8c9a4868533-Paper-Conference.pdf}
}

@software{yolo12,
  author = {Tian, Yunjie and Ye, Qixiang and Doermann, David},
  title = {YOLO12: Attention-Centric Real-Time Object Detectors},
  year = {2025},
  url = {https://github.com/sunsmarterjie/yolov12},
  license = {AGPL-3.0}
}

YOLO12 makalesi NeurIPS 2025 bildirilerinde yayımlanmıştır; ayrıca arXiv üzerinde bir ön baskı bulunmaktadır.

SSS#

  • YOLO12, hız ve doğruluğu dengelemek için birkaç temel yeniliği bir araya getirir. Alan Dikkat mekanizması, geniş alıcı alanları verimli şekilde işleyerek standart öz-dikkate kıyasla hesaplama maliyetini azaltır. Artıklı Verimli Katman Birleştirme Ağları (R-ELAN), özellik birleştirmeyi iyileştirerek daha büyük dikkat odaklı modellerdeki optimizasyon zorluklarını giderir. FlashAttention kullanımı ve konumsal kodlamanın kaldırılması dahil olmak üzere Optimize Edilmiş Dikkat Mimarisi verimliliği daha da artırır. Bu özellikler, YOLO12'nin birçok uygulama için kritik olan gerçek zamanlı çıkarım hızını korurken en gelişmiş doğruluğa ulaşmasını sağlar.

  • YOLO12, çok çeşitli temel bilgisayarlı görü görevlerini destekleyen çok yönlü bir modeldir. Nesne algılama, örnek bölütleme, görüntü sınıflandırma, poz tahmini ve yönelimli nesne algılama (OBB) (ayrıntılara bak) alanlarında başarılıdır. Bu kapsamlı görev desteği, YOLO12'yi robotik ve otonom sürüşten tıbbi görüntüleme ve endüstriyel denetime kadar çeşitli uygulamalar için güçlü bir araç hâline getirir. Önceden eğitilmiş .pt ağırlıklarının şu anda yalnızca algılama için yayımlandığını unutma; bölütleme, poz, sınıflandırma ve OBB mimarileri sıfırdan eğitim için .yaml yapılandırmaları olarak sunulur.

  • YOLO12, YOLOv10 ve YOLO11 gibi önceki YOLO modellerine kıyasla tüm model ölçeklerinde önemli doğruluk iyileştirmeleri gösterir; ancak önceki en hızlı modellere kıyasla hızda bazı ödünleşimler vardır. Örneğin YOLO12n, COCO val2017 veri kümesinde YOLOv10n'e göre mAP'te +2.1%, YOLO11n'e göre ise +1.2% iyileşme sağlar. RT-DETR gibi modellerle karşılaştırıldığında YOLO12s, mAP'te +1.5% iyileşme ve hızda kayda değer +42% artış sunar. Bu metrikler YOLO12'nin doğruluk ve verimlilik arasındaki güçlü dengesini ortaya koyar. Ayrıntılı karşılaştırmalar için performans metrikleri bölümüne bak.

  • Varsayılan olarak Ultralytics YOLO12 uygulaması FlashAttention gerektirmez. Ancak bellek erişimi ek yükünü en aza indirmek için FlashAttention isteğe bağlı olarak derlenebilir ve YOLO12 ile kullanılabilir. FlashAttention'ı derlemek için aşağıdaki NVIDIA GPU'lardan biri gerekir: Turing GPU'ları (ör. T4, Quadro RTX serisi), Ampere GPU'ları (ör. RTX30 serisi, A30/40/100), Ada Lovelace GPU'ları (ör. RTX40 serisi) veya Hopper GPU'ları (ör. H100/H200). Bu esneklik, donanım kaynakları elverdiğinde kullanıcıların FlashAttention'ın avantajlarından yararlanmasını sağlar.

  • Bu sayfada eğitim ve çıkarım için temel kullanım örnekleri sunulmaktadır. Doğrulama ve Dışa Aktarma dahil olmak üzere bu ve diğer modlar hakkında kapsamlı belgeler için özel Predict ve Train sayfalarına başvur. Göreve özel bilgiler (bölütleme, sınıflandırma, poz tahmini ve yönelimli nesne algılama) için ilgili belgelere bak: Segment, Classify, Pose ve OBB. Bu kaynaklar, YOLO12'yi çeşitli senaryolarda etkili şekilde kullanman için kapsamlı rehberlik sağlar.

Yorumlar