"Tüm Çerezleri Kabul Et" seçeneğine tıklayarak, sitede gezinmeyi geliştirmek, site kullanımını analiz etmek ve pazarlama çabalarımıza yardımcı olmak için cihazınızda çerezlerin saklanmasını kabul edersiniz. Daha fazla bilgi
Çerez Ayarları
"Tüm Çerezleri Kabul Et" seçeneğine tıklayarak, sitede gezinmeyi geliştirmek, site kullanımını analiz etmek ve pazarlama çabalarımıza yardımcı olmak için cihazınızda çerezlerin saklanmasını kabul edersiniz. Daha fazla bilgi
CoreML ile Ultralytics YOLO11'i Apple cihazlarına getirmenin ve gerçek zamanlı iOS uygulamaları için hızlı çevrimdışı bilgisayar görüşü görevlerini etkinleştirmenin ne kadar kolay olduğunu görün.
Apple'ın Apple Intelligence gibi özellikleri tanıtmasıyla, cihaz üzerinde yapay zekanın telefonlarımızı kullanma şeklimizin merkezi bir parçası haline geldiği açıkça görülüyor. Geliştiriciler için bu değişim, kullanıcıların daha akıllı, daha duyarlı deneyimler sunmak için bilgisayarlı görü gibi yetenekleri kullanan iOS uygulamalarını benimsediği anlamına geliyor.
Bilgisayarlı görü, bilgisayarların resim veya video 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 onlarla etkileşim kurmak için kullanılabilir. Ultralytics YOLO11 gibi Vision AI modelleri, uygulamanızın ihtiyaçlarına bağlı olarak belirli nesneleri tanımak üzere özel olarak eğitilebilir.
Ancak, YOLO11 kutudan çıkar çıkmaz 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 için, Apple'ın ekosistemi için optimize edilmiş bir formata dönüştürülmesi gerekir.
Bu tam olarak CoreML'nin çözmek için oluşturulduğu türden bir sorundur. CoreML, modelleri yerel olarak çalıştırmak ve iOS ve macOS uygulamalarına sorunsuz bir şekilde entegre etmek için oluşturulmuş Apple'ın makine öğrenimi çerçevesidir. Ultralytics tarafından desteklenen CoreML entegrasyonu, modelinizi iPhone'larda yerel dağıtım için dışa aktarmayı kolaylaştırır.
Bu makalede, YOLO11 modelinizi CoreML formatına nasıl aktaracağınızı daha yakından inceleyeceğiz. Ayrıca, bilgisayar görüşü modellerini doğrudan iOS cihazlarında çalıştırmanın avantajlarını gösteren gerçek zamanlı kullanım örneklerini de inceleyeceğiz. Hadi başlayalım!
CoreML nedir?
CoreML, Apple tarafından geliştirilen ve geliştiricilerin eğitilmiş ML modellerini doğrudan iOS (iPhone ve iPad), macOS (Mac), watchOS (Apple Watch) ve tvOS (Apple TV) dahil olmak üzere Apple'ın ekosistemindeki uygulamalara entegre etmelerini mümkün kılan bir makine öğrenimi (ML) çerçevesidir. Modellerin internet bağlantısı gerektirmeden doğrudan cihaz üzerinde çalışmasını sağlayarak, makine öğrenimini Apple cihazlarında erişilebilir ve verimli hale getirmek için tasarlanmıştır.
CoreML'nin özünde, görüntü sınıflandırması, 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'ın donanımından en iyi şekilde yararlanmak üzere 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, Apple cihazlarında sorunsuz bir şekilde çalışmalarını sağlar.
Şekil 1. CoreML, diğer popüler yapay zeka çerçevelerinden modelleri destekler (Kaynak).
CoreML'in temel özellikleri
CoreML'i yapay zekayı Apple uygulamalarına entegre etmek için güvenilir bir araç yapan temel özelliklerden bazıları şunlardır:
Model optimizasyonu: CoreML, model boyutunu küçültmek ve çalışma zamanı verimliliğini artırmak için niceleme ve budama gibi sıkıştırma tekniklerini destekler.
Cihaz üzerinde kişiselleştirme: Apple'ın ML çerçevesi, modellerin kullanıcı etkileşimlerine bağlı olarak yerel olarak eğitilmesini ve güncellenmesini sağlayarak cihaz üzerinde kişiselleştirmeyi destekler.
Asenkron tahminler: Bu çerçeve, uygulamanızın tahminleri arka planda çalıştırmasına olanak tanıyarak, yapay zeka görevlerini işlerken kullanıcı arayüzünü sorunsuz ve duyarlı tutar.
Çoklu görev öğrenimi: CoreML, aynı görüntüde nesneleri algılama ve metni tanıma gibi aynı anda birden fazla görevi gerçekleştirebilen modelleri destekler.
YOLO11'i CoreML formatına aktarma
CoreML çerçevesini daha iyi anladığımıza göre, bir YOLOv8 modelini CoreML biçimine aktarmak için Ultralytics tarafından desteklenen CoreML entegrasyonunun nasıl kullanılacağını inceleyelim.
Adım 1: Ortamınızı ayarlama
Ultralytics tarafından sağlanan entegrasyon özelliklerine erişmek için öncelikle Ultralytics Python paketini kurarak başlayın. Ultralytics YOLO modellerini eğitme, değerlendirme, tahminleme ve dışa aktarma gibi görevleri basitleştiren hafif, kullanımı kolay bir kütüphanedir.
Ultralytics Python paketini, komut terminalinizde “pip install ultralytics” komutunu çalıştırarak kurabilirsiniz. Jupyter Notebook veya Google Colab gibi bir ortam kullanıyorsanız, komutun önüne bir ünlem işareti (!) ekleyin: “!pip install ultralytics”.
Kurulum sırasında veya CoreML'e aktarma yaparken herhangi bir sorunla karşılaşırsanız, yardım için resmi Ultralytics belgelerine veya Sık Karşılaşılan Sorunlar kılavuzuna bakın.
Adım 2: YOLO11'i CoreML'e aktarma
Paket başarıyla yüklendikten sonra, bir YOLO11 modeli yüklemeye ve CoreML biçimine dönüştürmeye hazırsınız.
Hangi önceden eğitilmiş YOLO11 modelini kullanacağınızdan emin değilseniz, Ultralytics tarafından desteklenen modelleri inceleyebilirsiniz. Her biri farklı bir hız, boyut ve doğruluk dengesi sunar ve projeniz için en uygun olanı seçebilirsiniz. Kendi veri kümeniz üzerinde eğittiğiniz özel olarak eğitilmiş bir YOLO11 modeli de kullanabilirsiniz.
Aşağıdaki kod parçasında, önceden eğitilmiş "yolo11n.pt" adlı bir YOLO11 model dosyası kullanılmaktadır. Dışa aktarma işlemi sırasında, "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 versiyonudur. Projenizin ihtiyaçlarına bağlı olarak, küçük için "s", orta için "m", büyük için "l" veya ekstra büyük için "x" gibi diğer model boyutlarını da seçebilirsiniz. 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")
Adım 3: Dışa aktarılan CoreML modeli kullanılarak çıkarım çalıştırma
CoreML formatına aktarıldıktan sonra, YOLO11, iPhone'lar, iPad'ler ve Mac'ler gibi cihazlarda nesne tespiti gibi gerçek zamanlı bilgisayarla görme görevlerini etkinleştirerek iOS uygulamalarına kolayca entegre edilebilir.
Örneğin, aşağıdaki kod parçacığı dışa aktarılmış CoreML modelinin nasıl yükleneceğini ve çıkarım yapılacağını göstermektedir. Çıkarım, eğitilmiş bir modelin yeni veriler üzerinde tahminler yapmak için kullanılması işlemidir. Bu örnekte, model topla oynayan bir ailenin görüntüsünü analiz eder.
YOLO11'i CoreML'ye aktarmak, iPhone'larda, iPad'lerde 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.
CoreML modelleriyle desteklenen artırılmış gerçeklik ve oyun uygulamaları
Artırılmış gerçeklik (AR), sanal öğeleri canlı kamera görünümlerinin üzerine yerleştirerek dijital içeriği gerçek dünyayla harmanlar. Mobil oyunun önemli bir parçası haline geliyor ve daha etkileşimli ve sürükleyici deneyimler yaratıyor.
CoreML formatına aktarılan YOLO11 ile 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 daha sonra oyuncunun çevresini geliştirmek için bu nesnelerin üzerine sanal öğeler, örneğin madeni paralar, ipuçları veya yaratıklar yerleştirebilir.
Kamera arkasında bu, nesne tespiti ve nesne takibi kullanılarak çalışır. YOLO11, nesneleri gerçek zamanlı olarak tespit edip tanımlarken, takip özelliği kameranın hareket etmesiyle bu nesneleri görüş alanında tutar ve sanal öğelerin gerçek dünyayla hizalı kalmasını sağlar.
Oyuncular telefonlarını doğrultabilir, çevrelerini keşfedebilir ve eşya toplamak veya hızlı görevleri tamamlamak için gördükleriyle etkileşim kurabilirler. Bütün bunlar, internet bağlantısına ihtiyaç duymadan doğrudan cihazda çalışabilir, bu da deneyimi sorunsuz ve ilgi çekici hale getirir.
Gerçek zamanlı ANPR için CoreML modelleriyle entegre edilmiş iOS uygulamaları
Otomatik Plaka Tanıma (ANPR), araç plakalarını tespit etmek ve okumak için kullanılan bir bilgisayarlı görü uygulamasıdır. Genellikle güvenlik, trafik izleme ve erişim kontrol sistemlerinde kullanılır. CoreML ve YOLO11 gibi modellerle ANPR artık iOS cihazlarında verimli bir şekilde çalışabilir.
iPhone'unuzda bir ANPR uygulamasının bulunması, özellikle güvenlik odaklı ortamlarda faydalı olabilir. Örneğin, ekiplerin kısıtlı bir alana giren bir aracın yetkili olup olmadığını hızlı bir şekilde belirlemesine yardımcı olabilir.
Böyle bir uygulama, cihazın kamerasını kullanarak araçları tespit etmek ve plakalarını gerçek zamanlı olarak bulmak için CoreML aracılığıyla entegre edilmiş YOLO11 gibi bir Vision AI modeli kullanabilir. Bir plaka tespit edildiğinde, Optik Karakter Tanıma (OCR) teknolojisi plaka numarasını okuyabilir. Uygulama daha sonra bu numarayı yerel veya bulut tabanlı bir veritabanıyla karşılaştırarak erişimi doğrulayabilir veya yetkisiz araçları işaretleyebilir.
Şekil 3. Görüntü işleme yapay zekası, araç plakası numaralarını tespit etmek ve okumak için kullanılabilir. (Kaynak).
YZ, erişilebilirlik üzerinde büyük bir etkiye sahip olmuş ve görme engelli kişiler için engellerin aşılmasına yardımcı olmuştur. CoreML gibi araçlar ve YOLO11 gibi bilgisayarlı görü modelleriyle geliştiriciler, kullanıcıların etrafındaki dünyayı gerçek zamanlı olarak tanımlayan iOS uygulamaları oluşturabilir, bu da günlük işleri daha kolay ve daha bağımsız hale getirir.
Örneğin, görme engelli bir kişi iPhone kamerasını çevresine doğrultabilir. Uygulama, araçlar, insanlar veya trafik işaretleri gibi temel öğeleri tanımak için nesne algılamayı kullanır ve gördüklerini anlatır. Bu, yoğun bir caddede gezinmek veya bir acil durumu anlamak gibi durumlarda kullanılabilir.
Şekil 4. YOLO11 kullanılarak insanları tespit etme örneği
Önemli çıkarımlar
YOLO11'i CoreML formatına aktarmak, iOS cihazlarında çevrimdışı nesne algılama da dahil olmak üzere gerçek zamanlı uygulamalar için yeni fırsatlar yaratır. Tarım ve güvenlikten 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 modelinizi dönüştürebilir ve iPhone'lara güvenilir bilgisayarlı görü özellikleri ekleyebilirsiniz. Hepsinden iyisi, internet bağlantısına ihtiyaç duymadan çalışı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.