YOLO12: Dikkat Merkezli Nesne Algılama
Genel Bakış
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 merkezli bir mimari sunmaktadır. Bu model, gerçek zamanlı performansı korurken, dikkat mekanizmalarında ve genel ağ mimarisinde yeni metodolojik yenilikler sayesinde son teknoloji ürünü nesne algılama doğruluğuna ulaşmaktadır.
İzle: Ultralytics Paketi ile Nesne Algılama için YOLO12 Nasıl Kullanılır | YOLO12 Hızlı mı Yavaş mı? 🚀
Temel Özellikler
- Alan Dikkat Mekanizması: Büyük alıcı alanları verimli bir şekilde işleyen yeni bir kendi kendine dikkat yaklaşımı. Özellik haritalarını yatay veya dikey olarak eşit büyüklükte bölgelere ( varsayılan olarak 4) ayırır, karmaşık işlemlerden kaçınır ve büyük bir etkili alıcı alanı korur. Bu, standart kendi kendine dikkat etmeye kıyasla hesaplama maliyetini önemli ölçüde azaltır.
- Artık Verimli Katman Birleştirme Ağları (R-ELAN): Özellikle büyük ölçekli dikkat merkezli modellerde optimizasyon zorluklarını ele almak için tasarlanmış ELAN tabanlı geliştirilmiş bir özellik toplama modülü. R-ELAN şunları sunar:
- Ölçeklendirme ile blok düzeyinde artık bağlantılar (katman ölçeklendirmeye benzer).
- Darboğaz benzeri bir yapı oluşturan yeniden tasarlanmış bir özellik toplama yöntemi.
- Optimize Edilmiş Dikkat Mimarisi: YOLO12, YOLO çerçevesiyle daha fazla verimlilik ve uyumluluk için standart dikkat mekanizmasını düzenler. Buna şunlar dahildir:
- Bellek erişim yükünü en aza indirmek için FlashAttention kullanma.
- Daha temiz ve hızlı bir model için konumsal kodlama kaldırılıyor.
- Dikkat ve ileri besleme katmanları arasındaki hesaplamayı daha iyi dengelemek için MLP oranını (tipik 4'ten 1,2 veya 2'ye) ayarlamak.
- Daha iyi optimizasyon için yığılmış blokların derinliğinin azaltılması.
- Hesaplama verimliliği için konvolüsyon işlemlerinden (uygun olduğunda) yararlanma.
- Konumsal bilgiyi dolaylı olarak kodlamak için dikkat mekanizmasına 7x7 ayrılabilir bir konvolüsyon ("konum algılayıcı") eklenmesi.
- Kapsamlı Görev Desteği: YOLO12 bir dizi temel bilgisayarla görme görevini destekler: nesne algılama, örnek segmentasyonu, görüntü sınıflandırma, poz tahmini ve yönlendirilmiş nesne algılama (OBB).
- Geliştirilmiş Verimlilik: Önceki birçok modele kıyasla daha az parametre ile daha yüksek doğruluk elde ederek hız ve doğruluk arasında gelişmiş bir denge sağlar.
- Esnek Dağıtım: Uç cihazlardan bulut altyapısına kadar çeşitli platformlarda dağıtım için tasarlanmıştır.
Desteklenen Görevler ve Modlar
YOLO12 çeşitli bilgisayarla görme görevlerini destekler. Aşağıdaki tabloda görev desteği ve her biri için etkinleştirilen çalışma modları (Çıkarım, Doğrulama, Eğitim ve Dışa Aktarma) gösterilmektedir:
Model Tipi | Görev | Çıkarım | Doğrulama | Eğitim | İhracat |
---|---|---|---|---|---|
YOLO12 | Algılama | ✅ | ✅ | ✅ | ✅ |
YOLO12-seg | Segmentasyon | ✅ | ✅ | ✅ | ✅ |
YOLO12-pose | Pose | ✅ | ✅ | ✅ | ✅ |
YOLO12-cls | Sınıflandırma | ✅ | ✅ | ✅ | ✅ |
YOLO12-obb | OBB | ✅ | ✅ | ✅ | ✅ |
Performans Ölçütleri
YOLO12, önceki en hızlı YOLO modellerine kıyasla hızda bazı ödünleşmelerle birlikte, tüm model ölçeklerinde önemli doğruluk iyileştirmeleri göstermektedir. Aşağıda COCO doğrulama veri setinde nesne tespiti için nicel sonuçlar yer almaktadır:
Algılama Performansı (COCO val2017)
Performans
Model | boyut (piksel) |
mAPval 50-95 |
Hız CPU ONNX (ms) |
Hız T4 TensorRT (ms) |
params (M) |
FLOP'lar (B) |
Karşılaştırma (mAP/Hız) |
---|---|---|---|---|---|---|---|
YOLO12n | 640 | 40.6 | - | 1.64 | 2.6 | 6.5 | +%2,1/-%9 (YOLOv10n'a kıyasla) |
YOLO12s | 640 | 48.0 | - | 2.61 | 9.3 | 21.4 | +%0,1/+%42 (RT-DETRv2'ye kıyasla) |
YOLO12m | 640 | 52.5 | - | 4.86 | 20.2 | 67.5 | +1,0%/-3% (YOLO11m'ye kıyasla) |
YOLO12l | 640 | 53.7 | - | 6.77 | 26.4 | 88.9 | +%0,4/-%8 (YOLO11l'e kıyasla) |
YOLO12x | 640 | 55.2 | - | 11.79 | 59.1 | 199.0 | +%0,6/-%4 (YOLO11x'e kıyasla) |
- Çıkarım hızı, TensorRT FP16 hassasiyetine sahip bir NVIDIA T4 GPU 'da ölçülmüştür.
- Karşılaştırmalar mAP'deki göreceli iyileşmeyi ve hızdaki yüzde değişimi göstermektedir (pozitif daha hızlı; negatif daha yavaş olduğunu gösterir). Karşılaştırmalar, mevcut olduğu durumlarda YOLOv10, YOLO11 ve RT-DETR için yayınlanmış sonuçlarla yapılmıştır.
Kullanım Örnekleri
Bu bölümde YOLO12 ile eğitim ve çıkarım için örnekler verilmektedir. Bu ve diğer modlar ( Doğrulama ve Dışa Aktarma dahil) hakkında daha kapsamlı belgeler için özel Tahmin Et ve Eğit sayfalarına bakın.
Aşağıdaki örnekler YOLO12 Algılama modellerine (nesne algılama için) odaklanmaktadır. Desteklenen diğer görevler (segmentasyon, sınıflandırma, yönlendirilmiş nesne algılama ve poz tahmini) için ilgili göreve özgü belgelere bakın: Segment, Sınıflandırma, OBB ve Poz.
Örnek
Önceden Eğitilmiş *.pt
modelleri (kullanarak PyTorch) ve yapılandırma *.yaml
dosyalar şu dosyalara aktarılabilir YOLO()
sınıfında bir model örneği oluşturmak için Python:
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")
Komut Satırı ArayüzüCLI) komutları da mevcuttur:
Önemli İyileştirmeler
-
Geliştirilmiş Özellik Çıkarımı:
- Alan Dikkati: Büyük alıcı alanları verimli bir şekilde ele alarak hesaplama maliyetini azaltır.
- Optimize Edilmiş Denge: Dikkat ve ileri beslemeli ağ hesaplamaları arasında geliştirilmiş denge.
- R-ELAN: R-ELAN mimarisini kullanarak özellik toplamayı geliştirir.
-
Optimizasyon Yenilikleri:
- Artık Bağlantılar: Özellikle büyük modellerde eğitimi stabilize etmek için ölçeklendirme ile artık bağlantılar sunar.
- Geliştirilmiş Özellik Entegrasyonu: R-ELAN içinde özellik entegrasyonu için geliştirilmiş bir yöntem uygular.
- FlashAttention: Bellek erişim ek yükünü azaltmak için FlashAttention'ı içerir.
-
Mimari Verimlilik:
- Azaltılmış Parametreler: Önceki birçok modele kıyasla doğruluğu korurken veya geliştirirken 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:
- Turing GPU 'lar (örn. T4, Quadro RTX serisi)
- Ampere GPU 'lar (örn. RTX30 serisi, A30/40/100)
- Ada Lovelace GPU 'ları (örn. RTX40 serisi)
- Hopper GPU 'lar (örn. H100/H200)
Atıflar ve Teşekkür
Araştırmanızda YOLO12'yi kullanırsanız, lütfen Buffalo Üniversitesi ve Çin Bilimler Akademisi Üniversitesi tarafından yapılan orijinal çalışmaya atıfta bulunun:
@article{tian2025yolov12,
title={YOLOv12: 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 = {YOLOv12: 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 algılamayı nasıl başarıyor?
YOLO12, hız ve doğruluğu dengelemek için birkaç önemli yenilik içermektedir. Alan Dikkati mekanizması, büyük alıcı alanları verimli bir şekilde işleyerek standart öz dikkatle karşılaştırıldığında hesaplama maliyetini düşürür. Artık Verimli Katman Toplama Ağları (R-ELAN) özellik toplamayı iyileştirerek daha büyük dikkat merkezli modellerdeki optimizasyon zorluklarını ele alır. FlashAttention kullanımı ve konumsal kodlamanın kaldırılması da dahil olmak üzere Optimize Edilmiş Dikkat Mimarisi verimliliği daha da artırır. Bu özellikler, YOLO12'nin birçok uygulama için çok önemli olan gerçek zamanlı çıkarım hızını korurken son teknoloji ürünü doğruluğa ulaşmasını sağlar.
YOLO12 hangi bilgisayarla görme görevlerini destekliyor?
YOLO12, çok çeşitli temel bilgisayarla görme görevlerini destekleyen çok yönlü bir modeldir. Nesne algılama, örnek segmentasyonu, görüntü sınıflandırma, poz tahmini ve yönlendirilmiş nesne algılama (OBB) konularında üstündür(ayrıntılara bakın). 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ç haline getirir. Bu görevlerin her biri Çıkarım, Doğrulama, Eğitim ve Dışa Aktarma modlarında gerçekleştirilebilir.
YOLO12 diğer YOLO modelleri ve RT-DETR gibi rakipleriyle nasıl karşılaştırılır?
YOLO12, YOLOv10 ve YOLO11 gibi önceki YOLO modellerine kıyasla tüm model ölçeklerinde, önceki en hızlı modellere kıyasla hızda bazı ödünleşmelerle birlikte önemli doğruluk iyileştirmeleri göstermektedir. Örneğin, YOLO12n, COCO val2017 veri setinde YOLOv10n'ye göre +%2,1 ve YOLO11n'ye göre +%1,2 mAP iyileştirmesi elde etmiştir. gibi modellerle karşılaştırıldığında RT-DETRYOLO12s, %1,5 mAP iyileştirmesi ve %42 gibi önemli bir hız artışı sunuyor. Bu metrikler YOLO12'nin doğruluk ve verimlilik arasındaki güçlü dengesini vurgulamaktadır. Ayrıntılı karşılaştırmalar için performans ölçümleri bölümüne bakın.
YOLO12'yi çalıştırmak, özellikle de FlashAttention'ı kullanmak için donanım gereksinimleri nelerdir?
Varsayılan olarak, Ultralytics YOLO12 uygulaması FlashAttention gerektirmez. Bununla birlikte, FlashAttention isteğe bağlı olarak derlenebilir ve bellek erişim ek yükünü en aza indirmek için YOLO12 ile kullanılabilir. FlashAttention'ı derlemek için aşağıdaki NVIDIA GPU'lardan birine ihtiyaç vardır: 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ına olanak tanır.
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. Doğrulama ve Dışa Aktarma da dahil olmak üzere bu ve diğer modlarla ilgili kapsamlı belgeler için özel Tahmin Et ve Eğit sayfalarına bakın. Göreve özgü bilgiler için (segmentasyon, sınıflandırma, yönlendirilmiş nesne algılama ve poz tahmini) ilgili belgelere bakın: Segment, Sınıflandırma, OBB ve Poz. Bu kaynaklar, YOLO12'yi çeşitli senaryolarda etkili bir şekilde kullanmak için derinlemesine rehberlik sağlar.