CoreML aracılığıyla Ultralytics YOLO11'i Apple cihazlarına getirmek
CoreML ile Ultralytics YOLO11'i Apple cihazlarına getirmenin ve gerçek zamanlı iOS uygulamaları için hızlı çevrimdışı bilgisayarlı görü görevlerini etkinleştirmenin ne kadar kolay olduğunu gör.

Apple'ın Apple Intelligence gibi özellikler sunmasıyla, cihaz üzerinde çalışan yapay zekanın telefonlarımızı kullanma şeklimizin merkezinde yer aldığı açık. Geliştiriciler için bu değişim, kullanıcıların daha akıllı ve daha duyarlı deneyimler sunmak adına bilgisayarlı görü gibi yetenekleri kullanan iOS uygulamalarını benimsediği anlamına geliyor.
Bilgisayarlı görü, bilgisayarların görüntüler veya videolar gibi görsel bilgileri anlamasını ve analiz etmesini sağlayan bir yapay zeka (AI) türüdür. Mobil cihazlarda, telefonun kamerası aracılığıyla nesneleri gerçek zamanlı olarak algılamak, sınıflandırmak ve bu nesnelerle etkileşime geçmek için kullanılabilir. Ultralytics YOLO11 gibi Vision AI modelleri, uygulamanın ihtiyaçlarına bağlı olarak belirli nesneleri tanıması için özel olarak eğitilebilir.
Ancak, YOLO11 kutudan çıktığı gibi iOS'ta çalışacak şekilde ayarlanmamıştır. YOLO11'i iPhone'lara veya diğer Apple cihazlarına, özellikle çevrimdışı kullanım için dağıtmak istiyorsan, Apple ekosistemi için optimize edilmiş bir formata dönüştürülmesi gerekir.
Bu, CoreML'in tam olarak çözmek için oluşturulduğu sorundur. CoreML, modelleri yerel olarak çalıştırmak ve iOS ile macOS uygulamalarına sorunsuz bir şekilde entegre etmek için oluşturulmuş Apple'ın makine öğrenimi çerçevesidir. Ultralytics tarafından desteklenen CoreML entegrasyonu, modelini iPhone'larda yerel dağıtım için dışa aktarmayı kolaylaştırır.
Bu makalede, YOLO11 modelini CoreML formatına nasıl aktaracağına daha yakından bakacağız. Ayrıca bilgisayarlı görü modellerini doğrudan iOS cihazlarda çalıştırmanın avantajlarını gösteren gerçek zamanlı kullanım örneklerini inceleyeceğiz. Hadi başlayalım!
Link to this sectionCoreML nedir?#
CoreML, Apple tarafından geliştirilen ve geliştiricilerin eğitilmiş ML modellerini iOS (iPhone ve iPad), macOS (Mac), watchOS (Apple Watch) ve tvOS (Apple TV) dahil olmak üzere Apple ekosistemindeki uygulamalara doğrudan entegre etmesini sağlayan bir makine öğrenimi (ML) çerçevesidir. Modellerin internet bağlantısına ihtiyaç duymadan doğrudan cihaz üzerinde çalışmasını sağlayarak, makine öğrenimini Apple cihazlarında erişilebilir ve verimli kılmak için tasarlanmıştır.
CoreML'in merkezinde, görüntü sınıflandırma, nesne algılama, konuşma tanıma ve doğal dil işleme gibi çok çeşitli yapay zeka görevlerini destekleyen birleşik bir model formatı bulunur. Çerçeve, modelleri hızlı ve verimli bir şekilde yürütmek için CPU (merkezi işlem birimi), GPU (grafik işlem birimi) ve ANE (Apple Neural Engine) kullanarak Apple donanımından en iyi şekilde yararlanacak şekilde optimize edilmiştir.
CoreML çeşitli model türlerini destekler ve TensorFlow, PyTorch, scikit-learn, XGBoost ve LibSVM dahil olmak üzere popüler makine öğrenimi kütüphaneleriyle uyumludur. Bu, geliştiricilerin gelişmiş ML yeteneklerini günlük uygulamalara getirmelerini kolaylaştırırken, bu uygulamaların Apple cihazlarında sorunsuz çalışmasını sağlar.

Şekil 1. CoreML diğer popüler yapay zeka çerçevelerinden modelleri destekler (Kaynak).
Link to this sectionCoreML'in temel özellikleri#
İşte CoreML'i yapay zekayı Apple uygulamalarına entegre etmek için güvenilir bir araç haline getiren temel özelliklerden bazıları:
- Model optimizasyonu: CoreML, model boyutunu küçültmek ve çalışma zamanı verimliliğini artırmak için niceleme (quantization) ve budama (pruning) gibi sıkıştırma tekniklerini destekler.
- Cihaz üzerinde kişiselleştirme: Apple'ın ML çerçevesi, modellerin kullanıcı etkileşimlerine dayalı olarak yerel olarak eğitilmesini ve güncellenmesini sağlayan cihaz üzerinde kişiselleştirmeyi destekler.
- Asenkron tahminler: Bu çerçeve, uygulamanın tahminleri arka planda çalıştırmasına izin vererek, yapay zeka görevlerini yönetirken kullanıcı arayüzünü pürüzsüz ve duyarlı tutar.
- Çok görevli öğrenme: CoreML, aynı görüntüdeki nesneleri algılama ve metni tanıma gibi birden fazla görevi aynı anda gerçekleştirebilen modelleri destekler.
Link to this sectionYOLO11, CoreML formatına nasıl aktarılır#
Artık CoreML çerçevesini daha iyi anladığımıza göre, bir YOLO11 modelini CoreML formatına aktarmak için Ultralytics tarafından desteklenen CoreML entegrasyonunun nasıl kullanılacağına bakalım.
Link to this sectionAdım 1: Ortamını kurma#
Ultralytics tarafından sağlanan entegrasyon özelliklerine erişmek için Ultralytics Python paketini yükleyerek başla. Bu, eğitim, değerlendirme, tahmin ve Ultralytics YOLO modellerini dışa aktarma gibi görevleri basitleştiren hafif ve kullanımı kolay bir kütüphanedir.
Ultralytics Python paketini komut terminalinde "pip install ultralytics" komutunu çalıştırarak yükleyebilirsin. Jupyter Notebook veya Google Colab gibi bir ortam kullanıyorsan, komutun önüne ünlem işareti (!) ekle: "!pip install ultralytics".
Yükleme sırasında veya CoreML'e aktarırken herhangi bir sorunla karşılaşırsan, yardım için resmi Ultralytics belgelerine veya Yaygın Sorunlar kılavuzuna göz at.
Link to this sectionAdım 2: YOLO11'i CoreML'e aktarma#
Paket başarıyla yüklendikten sonra, bir YOLO11 modeli yüklemeye ve onu CoreML formatına dönüştürmeye hazırsın.
Hangi önceden eğitilmiş YOLO11 modelini kullanacağından emin değilsen, Ultralytics tarafından desteklenen modellere göz atabilirsin. Her biri farklı bir hız, boyut ve doğruluk dengesi sunar ve projen için en uygun olanı seçebilirsin. Kendi veri setin üzerinde eğittiysen, özel olarak eğitilmiş bir YOLO11 modelini de kullanabilirsin.
Aşağıdaki kod parçacığında, "yolo11n.pt" adlı önceden eğitilmiş bir YOLO11 model dosyası kullanılmıştır. Dışa aktarma işlemi sırasında, bu dosya "yolo11n.mlpackage" adlı bir CoreML paketine dönüştürülür.
"yolo11n" modeli, hız ve düşük kaynak kullanımı için optimize edilmiş nano sürümdür. Projenin ihtiyaçlarına bağlı olarak, "s" (küçük), "m" (orta), "l" (büyük) veya "x" (ekstra büyük) gibi diğer model boyutlarını da seçebilirsin. Her sürüm, performans ve doğruluk arasında farklı bir denge sunar.
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="coreml")Link to this sectionAdım 3: Dışa aktarılan CoreML modelini kullanarak çıkarım yapma#
CoreML formatına aktardıktan sonra YOLO11, iOS uygulamalarına kolayca entegre edilebilir ve iPhone, iPad ve Mac gibi cihazlarda nesne algılama gibi gerçek zamanlı bilgisayarlı görü görevlerini mümkün kılar.
Örneğin, aşağıdaki kod parçacığı, dışa aktarılan CoreML modelinin nasıl yükleneceğini ve çıkarımın nasıl gerçekleştirileceğini gösterir. Çıkarım (inference), eğitilmiş bir modelin yeni veriler üzerinde tahmin yapmak için kullanılması sürecidir. Bu örnekte model, top oynayan bir aile fotoğrafını analiz eder.
coreml_model = YOLO("yolo11n.mlpackage")
results = coreml_model("https://images.pexels.com/photos/4933841/pexels-photo-4933841.jpeg", save=True)Kodu çalıştırdıktan sonra, çıktı görüntüsü "runs/detect/predict" klasörüne kaydedilecektir.

Şekil 2. Nesneleri algılamak için CoreML formatında dışa aktarılmış YOLO11 modelini kullanma. Görsel yazara aittir.
Link to this sectionDışa aktarılan CoreML modelleri nerede kullanılabilir?#
YOLO11'i CoreML'e aktarmak, iPhone, iPad ve Mac'lerde verimli bir şekilde çalışabilen çeşitli bilgisayarlı görü uygulamaları oluşturma esnekliği sağlar. Şimdi, bu entegrasyonun özellikle yararlı olabileceği bazı gerçek dünya senaryolarına bakalım.
Link to this sectionCoreML modelleri tarafından desteklenen artırılmış gerçeklik ve oyun uygulamaları#
Artırılmış gerçeklik (AR), sanal öğeleri canlı kamera görüntülerinin üzerine bindirerek dijital içeriği gerçek dünyayla harmanlar. Mobil oyunların temel bir parçası haline gelerek daha etkileşimli ve sürükleyici deneyimler yaratıyor.
YOLO11'in CoreML formatına aktarılmasıyla, iOS geliştiricileri telefonun kamerasını kullanarak banklar, ağaçlar veya tabelalar gibi gerçek dünya nesnelerini tanıyan AR oyunları oluşturabilirler. Oyun, oyuncunun çevresini geliştirmek için bu nesnelerin üzerine paralar, ipuçları veya yaratıklar gibi sanal öğeler bindirebilir.
Perde arkasında bu, nesne algılama ve nesne izleme kullanılarak çalışır. YOLO11, nesneleri gerçek zamanlı olarak algılar ve tanımlar; izleme özelliği ise kamera hareket ettikçe bu nesneleri görünürde tutarak sanal öğelerin gerçek dünyayla hizalı kalmasını sağlar.
Oyuncular telefonlarını yönlendirebilir, çevrelerini keşfedebilir ve öğeleri toplamak veya hızlı görevleri tamamlamak için gördükleriyle etkileşime girebilirler. Tüm bunlar, internet bağlantısına ihtiyaç duymadan doğrudan cihaz üzerinde çalışarak deneyimi pürüzsüz ve ilgi çekici hale getirebilir.
Link to this sectionGerçek zamanlı ANPR için CoreML modelleri ile entegre edilmiş iOS uygulamaları#
Otomatik Plaka Tanıma (ANPR), araç plakalarını algılamak ve okumak için kullanılan bir bilgisayarlı görü uygulamasıdır. Güvenlik, trafik izleme ve erişim kontrol sistemlerinde yaygın olarak kullanılır. CoreML ve YOLO11 gibi modellerle, ANPR artık iOS cihazlarda verimli bir şekilde çalışabilir.
iPhone'unda bir ANPR uygulamasına sahip olmak, özellikle güvenlik odaklı ortamlarda çok yararlı olabilir. Örneğin, ekiplerin kısıtlı bir alana giren bir aracın yetkili olup olmadığını hızlıca belirlemesine yardımcı olabilir.
Böyle bir uygulama, CoreML aracılığıyla entegre edilen YOLO11 gibi bir Vision AI modelini kullanarak cihazın kamerasını kullanarak araçları algılayabilir ve plakalarını gerçek zamanlı olarak bulabilir. Plaka algılandığında, Optik Karakter Tanıma (OCR) teknolojisi plaka numarasını okuyabilir. Uygulama daha sonra erişimi doğrulamak veya yetkisiz araçları işaretlemek için bu numarayı yerel veya bulut tabanlı bir veritabanıyla karşılaştırabilir.

Şekil 3. Vision AI, plaka numaralarını algılamak ve okumak için kullanılabilir. (Kaynak).
Link to this sectionErişilebilirlik odaklı uygulamalar CoreML modellerinden yararlanabilir#
Yapay zeka, görme engelli insanlar için engelleri kaldırmaya yardımcı olarak erişilebilirlik üzerinde büyük bir etki yarattı. CoreML ve YOLO11 gibi bilgisayarlı görü modelleri gibi araçlarla, geliştiriciler kullanıcıların etrafındaki dünyayı gerçek zamanlı olarak tanımlayan iOS uygulamaları oluşturabilir, böylece günlük görevleri daha kolay ve daha bağımsız hale getirebilirler.
Örneğin, görme engelli bir kişi iPhone kamerasını çevresine doğrultabilir. Uygulama, araçlar, insanlar veya sokak tabelaları gibi temel unsurları tanımak için nesne algılamayı kullanır ve gördüklerini seslendirir. Bu, yoğun bir caddede gezinmek veya acil bir durumu anlamak gibi durumlarda kullanılabilir.

Şekil 4. İnsanları algılamak için YOLO11 kullanımına bir örnek
Link to this sectionÖne çıkanlar#
YOLO11'i CoreML formatına aktarmak, iOS cihazlarda çevrimdışı nesne algılama dahil olmak üzere gerçek zamanlı uygulamalar için yeni fırsatlar yaratır. Tarımdan güvenliğe ve erişilebilirliğe kadar bu kombinasyon, geliştiricilerin tamamen cihaz üzerinde çalışan akıllı, verimli ve gizlilik odaklı uygulamalar oluşturmasına olanak tanır.
Sadece birkaç basit adımla, YOLO11 modelini dönüştürebilir ve iPhone'lara güvenilir bilgisayarlı görü özellikleri ekleyebilirsin. En iyi yanı, internet bağlantısına ihtiyaç duymadan çalışmasıdır. Genel olarak, CoreML entegrasyonu gelişmiş yapay zekanın gücünü günlük mobil uygulamalara getirerek onları daha hızlı, daha duyarlı ve her yerde çalışmaya hazır hale getirir.
Yapay zeka hakkında daha fazla bilgi edinmek ister misin? GitHub depomuzu keşfet, topluluğumuzla bağlantı kur ve bilgisayarlı görü projeni başlatmak için lisans seçeneklerimize göz at. Perakendede yapay zeka ve lojistikte bilgisayarlı görü gibi inovasyonların geleceği nasıl şekillendirdiğini çözüm sayfalarımızdan öğren.






