YOLO12: Dikkat Odaklı Nesne Tespiti

Genel Bakış

2025'in başlarında yayınlanan YOLO12, önceki YOLO modellerinde kullanılan geleneksel CNN tabanlı yaklaşımlardan ayrılan ancak birçok uygulama için kritik olan gerçek zamanlı çıkarım hızını koruyan dikkat odaklı bir mimariyi tanıtmaktadır. Bu model, dikkat mekanizmaları ve genel ağ mimarisindeki yeni metodolojik yenilikler sayesinde yüksek nesne tespit doğruluğuna ulaşırken gerçek zamanlı performansı sürdürür. Bu avantajlara rağmen YOLO12, ağır dikkat blokları nedeniyle eğitim istikrarsızlığı, artan bellek tüketimi ve daha yavaş CPU verimi sergileyebilen topluluk odaklı bir sürümdür; bu nedenle Ultralytics, çoğu üretim iş yükü için YOLO11 veya YOLO26 kullanımını önermektedir.

Topluluk Modeli

YOLO12 temel olarak kıyaslama ve araştırma amacıyla sürdürülmektedir. Kararlı eğitim, öngörülebilir bellek kullanımı ve optimize edilmiş CPU çıkarımına ihtiyaç duyuyorsan, dağıtım için YOLO11 veya YOLO26 modelini seçmelisin.



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

Temel Özellikler

  • Alan Dikkat Mekanizması (Area Attention Mechanism): Geniş alıcı alanları verimli bir şekilde işleyen yeni bir öz-dikkat yaklaşımı. Özellik haritalarını yatay veya dikey olarak l adet eşit boyutlu bölgeye (varsayılan olarak 4) böler, karmaşık işlemlerden kaçınır ve geniş bir etkin alıcı alanı korur. Bu, standart öz-dikkat yöntemine kıyasla hesaplama maliyetini önemli ölçüde azaltır.
  • Artık Verimli Katman Birleştirme Ağları (R-ELAN): Özellikle daha büyük ölçekli dikkat odaklı modellerdeki optimizasyon zorluklarını ele almak için tasarlanmış, ELAN tabanlı geliştirilmiş bir özellik birleştirme modülü. R-ELAN şunları sunar:
    • Ölçeklendirmeli blok düzeyinde artık bağlantılar (katman ölçeklendirmesine benzer).
    • Darboğaz benzeri bir yapı oluşturan yeniden tasarlanmış bir özellik birleştirme yöntemi.
  • Optimize Edilmiş Dikkat Mimarisi: YOLO12, daha fazla verimlilik ve YOLO çerçevesiyle uyumluluk için standart dikkat mekanizmasını kolaylaştırır. Bu şunları içerir:
    • Bellek erişim yükünü en aza indirmek için FlashAttention kullanımı.
    • Daha temiz ve hızlı bir model için konumsal kodlamanın kaldırılması.
    • Dikkat ve ileri besleme katmanları arasındaki hesaplamayı daha iyi dengelemek için MLP oranının ayarlanması (tipik 4 değerinden 1.2 veya 2'ye).
    • Optimizasyonu iyileştirmek için yığınlanmış blokların derinliğinin azaltılması.
    • Hesaplama verimlilikleri nedeniyle evrişim işlemlerinden (uygun yerlerde) yararlanılması.
    • Konumsal bilgiyi örtük olarak kodlamak için dikkat mekanizmasına 7x7 ayrılabilir bir evrişim ("konum algılayıcı") eklenmesi.
  • Kapsamlı Görev Desteği: YOLO12, temel bilgisayarlı görü görevlerinin bir dizisini destekler: nesne tespiti, örnek bölümleme, görüntü sınıflandırma, duruş tahmini ve yönelimli nesne tespiti (OBB).
  • Gelişmiş Verimlilik: Birçok önceki modele kıyasla daha az parametre ile daha yüksek doğruluk elde eder ve hız ile doğruluk arasında iyileştirilmiş bir denge sergiler.
  • 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, görev desteğini ve her biri için etkinleştirilen operasyonel modları (Çıkarım, Doğrulama, Eğitim ve Dışa Aktarma) gösterir:

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

Yalnızca tespit ağırlıkları (yolo12n.pt, yolo12s.pt, yolo12m.pt, yolo12l.pt, yolo12x.pt) ultralytics/assets üzerinde yayınlanmıştır. Bölümleme, sınıflandırma, duruş ve OBB mimarileri ultralytics/cfg/models/12/ altında tanımlanmıştır; bu nedenle bu varyantlar .yaml yapılandırmasından sıfırdan eğitime destek verir ancak bunlar için şu an önceden eğitilmiş .pt dosyaları bulunmamaktadır. Önceden eğitilmiş bölümleme, duruş, sınıflandırma veya OBB kontrol noktaları için Ultralytics, YOLO11 veya YOLO26 kullanılmasını önermektedir.

Model TipiGörevÖnceden Eğitilmiş AğırlıklarÇıkarımDoğrulamaEğitimDışa Aktar (Export)
YOLO12Tespit (Detection)
YOLO12-segBölümleme
YOLO12-poseDuruş
YOLO12-clsSınıflandırma
YOLO12-obbOBB

All YOLO12 architectures support every mode once a trained checkpoint is available. The Pretrained Weights column indicates only whether Ultralytics publishes an official pretrained .pt on ultralytics/assets: for segmentation, pose, classification, and OBB, you must train your own checkpoint from the corresponding .yaml before running inference, validation, or export.

Performans Metrikleri

YOLO12, tüm model ölçeklerinde önemli doğruluk iyileştirmeleri gösterirken, en hızlı önceki YOLO modellerine kıyasla hız açısından bazı tavizler verir. Aşağıda COCO doğrulama veri kümesi üzerindeki nesne tespiti için nicel sonuçlar yer almaktadır:

Tespit 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.66.5+2.1%/-9% (YOLOv10n ile karşılaştırıldığında)
YOLO12s64048.0-2.619.321.4+0.1%/+42% (RT-DETRv2 ile karşılaştırıldığında)
YOLO12m64052.5-4.8620.267.5+1.0%/-3% (YOLO11m ile karşılaştırıldığında)
YOLO12l64053.7-6.7726.488.9+0.4%/-8% (YOLO11l ile karşılaştırıldığında)
YOLO12x64055.2-11.7959.1199.0+0.6%/-4% (YOLO11x ile karşılaştırıldığında)
  • Çıkarım hızı, TensorRT FP16 hassasiyeti ile bir NVIDIA T4 GPU üzerinde ölçülmüştür.
  • Karşılaştırmalar, mAP'deki göreceli iyileşmeyi ve hızdaki yüzde değişimini gösterir (pozitif değer daha hızlı, negatif değer daha yavaş olduğunu belirtir). Karşılaştırmalar, mevcut olduğunda YOLOv10, YOLO11 ve RT-DETR için yayınlanan sonuçlara göre yapılmıştır.

Kullanım Örnekleri

Bu bölüm, YOLO12 ile eğitim ve çıkarım için örnekler sunmaktadır. Bu modlar ve diğerleri ( Doğrulama ve Dışa Aktarma dahil) hakkında daha kapsamlı belgeler için özel Tahmin ve Eğitim sayfalarına başvurabilirsin.

Aşağıdaki örnekler YOLO12 Tespit modellerine (nesne tespiti için) odaklanmaktadır. Desteklenen diğer görevler (bölümleme, sınıflandırma, yönelimli nesne tespiti ve duruş tahmini) için ilgili göreve özel belgelere başvurabilirsin: Bölümleme, Sınıflandırma, OBB ve Duruş.

Örnek

Önceden eğitilmiş *.pt modelleri (PyTorch kullanılarak) ve yapılandırma *.yaml 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şmiş Özellik Çıkarımı:

    • Alan Dikkat Mekanizması: Geniş alıcı alanları verimli bir şekilde işleyerek hesaplama maliyetini düşürür.
    • Optimize Edilmiş Denge: Dikkat ve ileri beslemeli ağ hesaplamaları arasında iyileştirilmiş denge.
    • R-ELAN: R-ELAN mimarisini kullanarak özellik birleştirmeyi geliştirir.
  2. Optimizasyon Yenilikleri:

    • Artık Bağlantılar: Eğitimi stabilize etmek için, özellikle daha büyük modellerde, ölçeklendirmeli artık 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şim yükünü azaltmak için FlashAttention'ı bünyesine katar.
  3. Mimari Verimlilik:

    • Azaltılmış Parametreler: Birçok önceki modele kıyasla doğruluğu korurken veya artırırken daha düşük parametre sayısına ulaşır.
    • Kolaylaştırılmış Dikkat: Konumsal kodlamadan kaçınarak basitleştirilmiş bir dikkat uygulaması kullanır.
    • Optimize Edilmiş MLP Oranları: Hesaplama kaynaklarını daha etkin bir şekilde 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 birine ihtiyaç vardır:

Alıntılar ve Teşekkür

YOLO12'yi araştırmanda kullanıyorsan, lütfen University at Buffalo ve University of Chinese Academy of Sciences tarafından yapılan orijinal çalışmaya atıfta bulun:

Alıntı
@article{tian2025yolo12,
  title={YOLO12: Attention-Centric Real-Time Object Detectors},
  author={Tian, Yunjie and Ye, Qixiang and Doermann, David},
  journal={arXiv preprint arXiv:2502.12524},
  year={2025}
}

@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}
}

SSS

YOLO12, yüksek doğruluğu korurken gerçek zamanlı nesne tespitini nasıl başarır?

YOLO12, hız ve doğruluk dengesini sağlamak için birçok temel yeniliği bünyesinde barındırır. Alan Dikkat mekanizması, geniş alıcı alanlarını verimli bir şekilde işleyerek standart öz-dikkat yöntemine kıyasla hesaplama maliyetini düşürür. Artık Verimli Katman Birleştirme Ağları (R-ELAN), daha büyük dikkat odaklı modellerdeki optimizasyon zorluklarını ele alarak özellik birleştirmeyi iyileştirir. FlashAttention kullanımı ve konumsal kodlamanın kaldırılmasını içeren Optimize Edilmiş Dikkat Mimarisi, verimliliği daha da artırır. Bu özellikler, YOLO12'nin birçok uygulama için hayati önem taşıyan gerçek zamanlı çıkarım hızını korurken en gelişmiş doğruluğa ulaşmasını sağlar.

YOLO12 hangi bilgisayarlı görü görevlerini destekler?

YOLO12, çok çeşitli temel bilgisayarlı görü görevlerini destekleyen çok yönlü bir modeldir. Nesne tespiti, örnek bölümleme, görüntü sınıflandırma, duruş tahmini ve yönelimli nesne tespiti (OBB) (ayrıntılara bak) konusunda mükemmeldir. Bu kapsamlı görev desteği, YOLO12'yi robotik ve otonom sürüşten tıbbi görüntülemeye ve endüstriyel denetime kadar çeşitli uygulamalar için güçlü bir araç haline getirir. Şu an için önceden eğitilmiş .pt ağırlıklarının yalnızca tespit için yayınlandığını; bölümleme, duruş, sınıflandırma ve OBB mimarilerinin sıfırdan eğitim için .yaml yapılandırmaları olarak sunulduğunu unutma.

YOLO12 diğer YOLO modelleri ve RT-DETR gibi rakiplerle nasıl karşılaştırılır?

YOLO12, YOLOv10 ve YOLO11 gibi önceki YOLO modellerine kıyasla tüm model ölçeklerinde önemli doğruluk iyileştirmeleri gösterirken, en hızlı önceki modellere kıyasla hız açısından bazı tavizler verir. Örneğin, YOLO12n, COCO val2017 veri kümesinde YOLOv10n'ye göre +2.1% mAP ve YOLO11n'ye göre +1.2% mAP iyileştirmesi sağlar. RT-DETR gibi modellere kıyasla, YOLO12s +1.5% mAP iyileştirmesi ve +42% gibi önemli bir hız artışı sunar. Bu metrikler, YOLO12'nin doğruluk ve verimlilik arasındaki güçlü dengesini vurgular. Ayrıntılı karşılaştırmalar için performans metrikleri bölümüne bakabilirsin.

YOLO12'yi çalıştırmak için, özellikle FlashAttention kullanımı için donanım gereksinimleri nelerdir?

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

YOLO12 için kullanım örneklerini ve daha ayrıntılı belgeleri nerede bulabilirim?

Bu sayfa, eğitim ve çıkarım için temel kullanım örnekleri sunmaktadır. Bu modlar ve diğerleri ( Doğrulama ve Dışa Aktarma dahil) hakkında kapsamlı belgeler için özel Tahmin ve Eğitim sayfalarına başvurabilirsin. Göreve özel bilgiler (bölümleme, sınıflandırma, yönelimli nesne tespiti ve duruş tahmini) için ilgili belgelere bakabilirsin: Bölümleme, Sınıflandırma, OBB ve Duruş. Bu kaynaklar, YOLO12'yi çeşitli senaryolarda etkin bir şekilde kullanman için derinlemesine rehberlik sağlar.

Yorumlar