YOLO Vision 2026:

YOLO26 Modelleri için CoreML Dışa Aktarımı#

Apple, her modern iPhone, iPad ve Mac'te özel yapay zeka silikonu (Neural Engine) sunar ve CoreML, modelleri günümüzde buraya dağıtmak için Ultralytics tarafından desteklenen yoldur. Ultralytics YOLO26 modellerini CoreML'e dışarı aktarmak, eğitilmiş bir .pt kontrol noktasını, yedi YOLO görevini de ağ bağlantısı olmadan ve veriler cihazdan ayrılmadan düşük gecikmeyle cihaz üzerinde çalıştıran yerel bir .mlpackage dosyasına dönüştürür.

YOLO'yu resmi mobil uygulamalarla Apple Neural Engine üzerinde hemen bugün çalıştır

Resmi Ultralytics YOLO iOS SDK ve Flutter eklentisi, CoreML dışa aktarımlarını Apple Neural Engine üzerinde kutudan çıktığı gibi çalıştırır; Derinlik (Depth) dahil tüm yedi YOLO26 görevi için gerçek zamanlı kamera çıkarımı, tek görüntü tahmini ve otomatik model indirme. Android NPU dağıtımı için Qualcomm QNN entegrasyonuna göz at.

Resmi mobil girdi boyutları

Sınıflandırma modellerini imgsz=224 konumunda dışarı aktar. Algılama (detect), bölütleme (segment), semantik, derinlik (depth), poz (pose) ve OBB modellerini imgsz=640 konumunda dışarı aktar. Bu 224/640 standardı, resmi CoreML, LiteRT ve QNN mobil varlıkları tarafından paylaşılır.

Apple'ın gelecekteki Core AI formatı

Apple, iOS 27 ve macOS 27 nesli için yeni Core AI çerçevesini ve .aimodel formatını tanıttı, ancak Ultralytics şu anda bunu dışarı aktarmıyor. CoreML, mevcut Ultralytics sürümleri ve daha geniş Apple cihazı uyumluluğu için desteklenen format olmaya devam ediyor.



Watch: How to Export Ultralytics YOLO26 to CoreML for 2x Fast Inference on Apple Devices 🚀

CoreML nedir?#

Apple CoreML deployment pipeline

CoreML (Apple tarafından "Core ML" olarak adlandırılır), Apple'ın cihaz üzerinde makine öğrenimi çerçevesidir. Modelleri modern ML Program formatında (Ultralytics dışa aktarıcısının ürettiği .mlpackage paketi) yükler ve bunları cihazın CPU, GPU ve her Apple silikon çipindeki özel NPU olan Apple Neural Engine (ANE) üzerinde zamanlar. Her şey yerel olarak çalıştığı için çıkarım çevrimdışı çalışır, ağ gecikmesi eklemez ve kullanıcı verilerini cihazda tutar.

CoreML, modele giden yolda görüntü ölçeklendirmeyi ve yönlendirmeyi yöneten Apple'ın Vision çerçevesi ile doğrudan entegre olur; Ultralytics iOS SDK'sı kamera karelerini YOLO'ya etkili bir şekilde sıfır ön işleme maliyetiyle işte bu şekilde besler.

Neden YOLO26'yı CoreML'e Dışa Aktarmalısın?#

  • Neural Engine hızı: CoreML, cihaz üzerinde düşük gecikmeli çıkarım için desteklenen işlemleri Apple'ın Neural Engine bileşeninde zamanlar. Aşağıdaki fiziksel cihaz tablosuna bakın ve tam dışarı aktarma işleminizi hedef donanımınızda kıyaslayın.
  • Tasarım gereği NMS'siz: YOLO26 uçtan uca bir modeldir, bu nedenle dışarı aktarılan grafik NMS işlem hatlarına ihtiyaç duymaz ve kod çözme milisaniyenin altındadır. YOLO11 gibi eski algılama modelleri, nms=True ile bir CoreML NMS işlem hattı gömebilir.
  • Gizli ve çevrimdışı: Tüm hesaplamalar cihazda kalır; bulut gidiş-dönüşleri yok, API anahtarları yok, tam veri gizliliği var.
  • Tek dışa aktarım, tüm ekosistem: Aynı .mlpackage dosyası iOS, iPadOS, macOS, watchOS, tvOS ve visionOS üzerinde çalışır ve resmi Ultralytics iOS SDK ile Flutter eklentisine güç verir.

Ölçülen Performans#

12 GB belleğe ve iOS 26.5.2 sürümüne sahip bir iPhone 17 Pro üzerinde standartlaştırılmış v8.3.0 YOLO26n INT8 CoreML varlıkları için uçtan uca tekli görüntü çıkarımı. A19 Pro işlemcisi; 6 çekirdekli CPU (2 Performans ve 4 Verimlilik çekirdeği), Sinirsel Hızlandırıcılara sahip 6 çekirdekli GPU ve 16 çekirdekli Neural Engine barındırır. Her hücre, alt kısmındaki aşama bazlı dağılımla birlikte toplam süreyi (ön işleme + çıkarım + son işleme, notlandırma hariç) gösterir. iOS'ta Vision, giriş ölçeklendirmesini çıkarım isteği içinde gerçekleştirir, bu nedenle ön işleme 0 olarak bildirilir ve maliyeti çıkarım içine dahil edilir.

ModelGörevboyut
(piksel)
CPU
Core ML .cpuOnly
(ms)
CPU + ANE tercih edilir
Core ML .cpuAndNeuralEngine
(ms)
YOLO26nAlgıla6409.2
0.0 / 9.2 / 0.0
3.2
0.0 / 3.2 / 0.0
YOLO26n-segSegment64012.6
0.0 / 12.0 / 0.5
4.8
0.0 / 4.2 / 0.6
YOLO26n-semAnlamsal6409.7
0.0 / 9.2 / 0.5
4.6
0.0 / 4.2 / 0.5
YOLO26n-depthDepth64025.0
0.0 / 24.1 / 0.9
5.3
0.0 / 4.5 / 0.9
YOLO26n-clsSınıflandır2242.2
0.0 / 2.2 / 0.0
1.9
0.0 / 1.9 / 0.0
YOLO26n-posePose64011.9
0.0 / 11.9 / 0.0
3.9
0.0 / 3.9 / 0.0
YOLO26n-obbOBB64010.6
0.0 / 10.6 / 0.0
3.4
0.0 / 3.4 / 0.0
  • Tam v8.3.0 sürüm varlıkları, sınıflandırma için 224×224 ve diğer tüm görevler için 640×640 girdiler bildirir.
  • Hız değerleri tekli görüntü patlama gecikmeleridir; profil modundaki (optimize edilmiş yerel kod) Flutter eklentisinin kıyaslama test düzeneği aracılığıyla iOS SDK'sının aşama bazlı zamanlaması üzerinden ölçülen, bus.jpg üzerindeki 3 ısınma çalışmasının ardından gelen 15 çalışmanın ortalamasıdır. CPU/hızlandırıcı sırası, tek bir ardışık taramada görevler arasında değişti. CPU satırları Core ML .cpuOnly talep eder; CPU + ANE tercih edilen satırlar ise nihai işlem yerleşimi Core ML tarafından kontrol edilen .cpuAndNeuralEngine talep eder. Sürdürülebilir gerçek zamanlı kamera çalışması, yakalama ve ölçeklendirme boru hattını artı termal dengelemeyi içerdiği için daha yüksek çalışır. Standart öncesi tarihi bir kamera taraması, aynı cihazda YOLO26n nesne tespiti için 11,3 ms/kare ve YOLO26n Derinlik için 16,5 ms/kare ölçmüştür; kararlı durum profillemesi için iOS SDK performans belgesine bakın.
  • Android CPU/GPU sonuçlarını LiteRT entegrasyonunda ve Snapdragon NPU sonuçlarını Qualcomm QNN entegrasyonunda karşılaştır.

Desteklenen Görevler#

CoreML dışa aktarımı, yedi Ultralytics görevinin tümünü destekler. Anlamsal segmentasyon ve derinlik tahmini yalnızca bu başlıklara sahip tek aile olan YOLO26 ile kullanılabilir.

GörevYOLOv8YOLO11YOLO26
Algıla
Segmentlere Ayır
Anlamsal
Derinlik
Sınıflandır
Poz
OBB

YOLO26 Modellerini CoreML'e Dışa Aktarma#

Kurulum#

Gerekli paketi yüklemek için şunu çalıştır:

Kurulum
# Install the required package for YOLO26
pip install ultralytics

coremltools dönüştürücüsü ilk dışa aktarmada otomatik olarak yüklenir. Dışa aktarma macOS veya x86 Linux üzerinde çalışır; ayrıntılı talimatlar ve en iyi uygulamalar için kurulum kılavuzumuza ve Yaygın Sorunlar kılavuzuna göz at.

Kullanım#

CoreML formatı Dışa Aktarma (Export), Tahmin (Predict) ve Doğrulama (Validate) modlarını destekler. CoreML ile çıkarım ve doğrulama yalnızca macOS üzerinde çalışır. Modelini dışa aktar, ardından çıkarım çalıştırmak veya doğruluğunu doğrulamak için dışa aktarılan modeli yükle.

Dışa Aktar (Export)
from ultralytics import YOLO

# Load a YOLO26 model
model = YOLO("yolo26n.pt")

# Export to CoreML with INT8 weight quantization, matching the official app models
model.export(format="coreml", quantize=8, imgsz=640)  # use imgsz=224 for classification
Tahmin Et (Predict)
from ultralytics import YOLO

# Load the exported CoreML model (macOS)
model = YOLO("yolo26n.mlpackage")

# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
Doğrula
from ultralytics import YOLO

# Load the exported CoreML model (macOS)
model = YOLO("yolo26n.mlpackage")

# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")

Dışa Aktarma Argümanları#

ArgümanTipVarsayılanAçıklama
formatstr'coreml'Çeşitli dağıtım ortamlarıyla uyumluluğu tanımlayan, dışa aktarılan model için hedef format.
imgszint veya tuple640Model girişi için istenen görüntü boyutu. Kare görüntüler için bir tamsayı veya belirli boyutlar için bir (height, width) demeti (tuple) olabilir.
quantizeint veya strNoneKantelleştirme hassasiyeti (CoreML için yalnızca ağırlık): 16 (FP16), 8 (INT8), "w8a16" (FP16 aktivasyonlu INT8 ağırlıkları) veya 32/ayarlanmamış (FP32). Ayarlanmamış NMS ML Programları Xcode önizlemesi için FP16 kullanır; geçersiz kılmak için 32 aktar. Kullanımdan kaldırılan half/int8 bayraklarının yerini alır.
nmsboolFalseBir CoreML NMS işlem hattını gömer. Yalnızca algılama modelleri için (diğer görevlerde uyarıyla göz ardı edilir); NMS'siz YOLO26 için gerekmez, YOLO11 gibi önceki modeller için kullan.
dynamicboolFalseDinamik giriş boyutlarına izin vererek farklı görüntü boyutlarını işlemede esnekliği artırır.
batchint1Dışa aktarılan modelin toplu çıkarım boyutunu veya dışa aktarılan modelin predict modunda aynı anda işleyeceği maksimum görüntü sayısını belirtir.
devicestrNoneDışa aktarma için cihazı belirtir: GPU (device=0), CPU (device=cpu), Apple silikon için MPS (device=mps).

Dışa aktarım süreci hakkında daha fazla ayrıntı için Ultralytics documentation page on exporting sayfasını ziyaret edin.

Neural Engine'i Hedefleme#

CoreML, MLModelConfiguration.computeUnits aracılığıyla donanımı seçer. Ultralytics iOS SDK, iOS 16 ve sonraki sürümlerde .all yerine varsayılan olarak .cpuAndNeuralEngine kullanır: gerçek zamanlı bir kamera uygulamasında GPU, önizlemeyi ve kaplamaları birleştirmekle zaten meşguldür, bu nedenle bunu hariç tutmak, ANE ağır işleri yaparken çekişmeyi ve kare süresi titremesini önler. .cpuOnly değerini yalnızca uyumluluk testi için sabitleyin; yukarıdaki tablo bunun maliyetini gösterir.

Python'dan bir [Mac ana bilgisayarında](https://... veya benzeri durumlar hariç) bir CoreML modeli çalıştırmak (Ultralytics veya coremltools aracılığıyla) aynı kuralı izler: Ultralytics, çıkarımı Neural Engine üzerinde tutarak (CPU'dan ~3 kat daha hızlı) ComputeUnit.CPU_AND_NE ile yükler (macOS 13+; eski macOS sürümlerinde CPU_ONLY sürümüne geri döner). Bu aynı zamanda, GPU/MPSGraph derleme yolunu ekleyen varsayılan ComputeUnit.ALL / CPU_AND_GPU seçeneklerinin coremltools 9.x üzerinde bir Error: MLIR pass manager failed iddiasıyla işlemi sonlandırmasına neden olan mevcut bir macOS ana bilgisayar sınırlamasını da önler.

Dışa Aktarılan YOLO26 CoreML Modellerini Dağıtma#

En hızlı yol, resmi Ultralytics YOLO iOS SDK (Ultralytics iOS uygulamasına ve Flutter eklentisine güç veren aynı Swift paketi) kullanmaktır. Resmi model adlarını otomatik olarak çözümler, .mlpackage dosyasını indirir ve önbelleğe alır ve tamamen kodlanmamış sonuçlar döndürür:

import UltralyticsYOLO

// Loads the official INT8 model (downloaded and cached on first use), then runs inference
let yolo = YOLO("yolo26n", task: .detect) { result in
    if case .success(let model) = result {
        let results = model(uiImage)  // boxes, labels, confidences, timing
    }
}

Kamera uygulamaları için, yerel katmanlarla gerçek zamanlı çıkarım için SDK'nın YOLOView öğesini ekle veya Android ile tek bir kod tabanını paylaşan platformlar arası uygulamalar için Flutter eklentisini kullan.

Ham bir .mlpackage öğesini kendin entegre etmek de Apple'ın yığınıyla basittir; onu MLModel ile yükle, bir VNCoreMLRequest içine sar ve görüntüleri VNImageRequestHandler aracılığıyla besle. Bu kaynaklar ayrıntıları kapsar:

Modeli ya uygulama paketinin içine gömülü olarak (anında kullanılabilirlik, nano/küçük modeller için ideal) ya da ilk çalıştırmada indirilen ve önbelleğe alınan (daha küçük ikili dosya, kolay model güncellemeleri) şekilde dağıtın. Resmi uygulamalar her iki yaklaşımı birleştirir: varsayılan nano modeller hemen kullanım için paketlenirken, daha büyük varyantlar talep üzerine indirilir ve yerel olarak önbelleğe alınır.

Önerilen İş Akışı#

  1. Ultralytics Train modu ile modelini eğit veya resmi YOLO26 ağırlıklarıyla başla
  2. macOS veya x86 Linux üzerinde model.export(format="coreml", quantize=8, imgsz=640) ile dışa aktar (sınıflandırma için imgsz=224 kullan)
  3. Mac üzerinde model.val() ile doğruluğu doğrula ve hedef cihazında bir Xcode Core ML Performans Raporu ile profille
  4. .cpuAndNeuralEngine hedefleyerek iOS SDK, Flutter eklentisi veya kendi Vision entegrasyonun ile dağıt

Özet#

Bu kılavuzda, Ultralytics YOLO26 modellerini CoreML'in .mlpackage formatına nasıl dışa aktaracağını, Apple Neural Engine için bunları nasıl kantelleştireceğini ve — resmi iOS SDK ve Flutter eklentisi veya kendi Vision entegrasyonun aracılığıyla — tek haneli milisaniye gecikmelerle nasıl dağıtacağını öğrendin. Diğer dağıtım hedefleri için entegrasyon kılavuzu sayfasına göz at ve Benchmark modu ile formatları karşılaştır.

SSS#

YOLO26 modellerini CoreML formatına nasıl aktarırım?#

macOS veya x86 Linux üzerinde Python'da model.export(format="coreml", imgsz=640) veya CLI'dan yolo export model=yolo26n.pt format=coreml imgsz=640 çalıştır. Sınıflandırma için imgsz=224 kullan ve resmi uygulama modelleriyle eşleşmesi için quantize=8 ekle. Dışa aktarım, Xcode, iOS SDK veya Flutter eklentisi için hazır bir yolo26n.mlpackage ML Programı üretir.

YOLO26'yı dışa aktarırken nms=True gereksinimi var mı?#

Hayır. YOLO26 uçtan uca NMS'sizdir, bu nedenle dışa aktarılan grafik zaten nihai algılamaları yayar ve kod çözme maliyetleri milisaniyenin çok altındadır. nms=True seçeneği, uygulamanın baskılama uygulamak zorunda kalmaması için bir CoreML NMS işlem hattı gömdüğü YOLO11 gibi önceki algılama modelleri için mevcuttur. CoreML NMS işlem hatları yalnızca nesne algılamayı destekler, bu nedenle nms=True segmentasyon ve poz gibi diğer görevler için bir uyarı ile göz ardı edilir.

Hangi hassasiyeti kullanmalıyım — FP16 mı yoksa INT8 mi?#

Resmi Ultralytics uygulama modelleri, indirme boyutunu en aza indiren ve yukarıdaki tablodaki hızlarda çalışan INT8 olarak gönderilir. quantize=16 (FP16), esasen hiçbir doğruluk kaybı olmayan muhafazakar bir alternatiftir. Göndermeden önce Mac üzerinde model.val() ile tam dışa aktarımını doğrula.

Çıkarımın Neural Engine üzerinde çalıştığından nasıl emin olurum?#

MLModelConfiguration.computeUnits = .cpuAndNeuralEngine ayarla (iOS 16+ üzerinde iOS SDK varsayılanıdır). Kamera uygulamalarında .all değerinden kaçın; GPU önizlemeyi oluşturmakla meşguldür ve çıkarımı orada zamanlamak kare süresi titremesine neden olur. Yerleşimi bir Xcode Core ML Performans Raporu ile onayla.

CoreML modellerini Ultralytics CLI ile çalıştırıp doğrulayabilir miyim?#

Evet, macOS üzerinde: yolo predict model=yolo26n.mlpackage source=image.jpg ve yolo val model=yolo26n.mlpackage data=coco8.yaml diğer herhangi bir format gibi çalışır. CoreML yürütülmesi Apple donanımı gerektirir, bu nedenle bu modlar Linux ve Windows'ta kullanılamaz.

YOLO26'yı bir iOS veya Flutter uygulamasında çalıştırmanın en hızlı yolu nedir?#

Resmi Ultralytics YOLO iOS SDK (Swift Package) veya Flutter eklentisini kullan. Her ikisi de resmi modelleri otomatik indirme ve önbelleğe alma ile ada göre yükler, Neural Engine üzerinde çalıştırır ve eksiksiz gerçek zamanlı kamera arayüzleri içerir; yukarıdaki ölçülen performans tablosu tam olarak bu yığınla üretilmiştir.

Yorumlar