"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
Ultralytics YOLO11'i CoreML ile Apple cihazlarına getirmenin ve gerçek zamanlı iOS uygulamaları için hızlı çevrimdışı bilgisayarla görme görevlerini etkinleştirmenin ne kadar kolay olduğunu görün.
Apple'ın Apple Intelligence gibi özellikleri tanıtmasıyla birlikte, aygıt içi yapay zekanın telefonlarımızı kullanma şeklimizin merkezi bir parçası haline geldiği açık. Geliştiriciler için bu değişim, kullanıcıların daha akıllı ve daha duyarlı deneyimler sunmak için bilgisayarla görme gibi özellikleri kullanan iOS uygulamalarını benimsediği anlamına geliyor.
Bilgisayarla görme, bilgisayarların görüntü 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 tespit etmek, sınıflandırmak ve bunlarla etkileşim kurmak için gerçek zamanlı olarak kullanılabilir. Ultralytics YOLO11 gibi Vision AI modelleri, uygulamanızın ihtiyaçlarına bağlı olarak belirli nesneleri tanımak için özel olarak eğitilebilir.
Ancak YOLO11, kutudan çıkar çıkmaz iOS üzerinde çalışacak şekilde ayarlanmamıştır. YOLO11'i iPhone'larda veya diğer Apple cihazlarında, özellikle de çevrimdışı kullanım için dağıtmak için, Apple'ın ekosistemi için optimize edilmiş bir formata dönüştürülmesi gerekir.
CoreML tam da bu tür sorunları çözmek için geliştirildi. 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, iPhone'larda yerel dağıtım için modelinizi dışa aktarmayı kolaylaştırır.
Bu makalede, YOLO11 modelinizi CoreML formatına nasıl aktaracağınıza daha yakından bakacağız. Ayrıca, bilgisayarla görme modellerini doğrudan iOS cihazlarında çalıştırmanın avantajlarını gösteren gerçek zamanlı kullanım örneklerini inceleyeceğiz. Hadi başlayalım!
CoreML nedir?
CoreML, Apple tarafından geliştirilen ve geliştiricilerin eğitimli makine öğrenimi modellerini iOS (iPhone ve iPad), macOS (Mac), watchOS (Apple Watch) ve tvOS (Apple TV) dahil olmak üzere Apple ekosistemindeki uygulamalara doğrudan entegre etmelerini mümkün kılan bir makine öğrenimi (ML) çerçevesidir. Modellerin internet bağlantısı gerektirmeden doğrudan aygıt üzerinde çalışmasını sağlayarak makine öğrenimini Apple aygıtlarında erişilebilir ve verimli hale getirmek için tasarlanmıştır.
CoreML'in özünde 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ı yer alıyor. Çerçeve, modelleri hızlı ve verimli bir şekilde çalıştırmak için CPU (merkezi işlem birimi), GPU (grafik işlem birimi) ve ANE'yi (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 gibi popüler makine öğrenimi kütüphaneleriyle uyumludur. Bu da geliştiricilerin günlük uygulamalara gelişmiş makine öğrenimi özellikleri kazandırmasını kolaylaştırırken Apple aygıtlarında sorunsuz çalışmasını sağlıyor.
Şekil 1. CoreML diğer popüler yapay zeka çerçevelerinin modellerini destekler(Kaynak).
CoreML'in temel özellikleri
CoreML'i yapay zekayı Apple uygulamalarına entegre etmek için güvenilir bir araç haline getiren temel özelliklerden bazıları şunlardır:
Model optimizasyonu: CoreML, model boyutunu azaltmak ve çalışma zamanı verimliliğini artırmak için niceleme ve budama gibi sıkıştırma tekniklerini destekler.
Aygıt üzerinde kişiselleştirme: Apple'ın makine öğrenimi çerçevesi, cihaz üzerinde kişiselleştirmeyi destekleyerek modellerin kullanıcı etkileşimlerine göre yerel olarak eğitilmesini ve güncellenmesini sağlıyor.
Asenkron tahminler: Bu çerçeve, uygulamanızın tahminleri arka planda çalıştırmasına olanak tanıyarak yapay zeka görevlerini yerine getirirken kullanıcı arayüzünü sorunsuz ve duyarlı tutar.
Çoklu görev öğrenimi: CoreML, nesneleri tespit etmek ve aynı görüntüdeki metni tanımak gibi aynı anda birden fazla görevi yerine getirebilen modelleri destekler.
YOLO11 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 entegrasyonunu nasıl kullanacağımızı inceleyelim.
Adım 1: Ortamınızı ayarlama
Ultralytics tarafından sağlanan entegrasyon özelliklerine erişmek için Ultralytics Python paketini yükleyerek başlayın. Ultralytics YOLO modellerini eğitme, değerlendirme, tahmin etme 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 yükleyebilirsiniz. Jupyter Notebook veya Google Colab gibi bir ortam kullanıyorsanız, komuttan önce bir ünlem işareti (!) ekleyin: "!pip install ultralytics".
Yükleme sırasında veya CoreML'ye aktarırken herhangi bir sorunla karşılaşırsanız, yardım için resmi Ultralytics belgelerine veya Ortak 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 formatına dönüştürmeye hazırsınız demektir.
Hangi önceden eğitilmiş YOLO11 modelini kullanacağınızdan emin değilseniz, Ultralytics tarafından desteklenen model yelpazesini keşfedebilirsiniz. Her biri farklı bir hız, boyut ve doğruluk dengesi sunar ve projeniz için en uygun olanı seçebilirsiniz. Kendi veri kümenizde bir tane eğittiyseniz, özel olarak eğitilmiş bir YOLO11 modeli de kullanabilirsiniz.
Aşağıdaki kod parçasında, "yolo11n.pt" adlı önceden eğitilmiş bir YOLO11 model dosyası kullanılmaktadı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 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 versiyon 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 modelini kullanarak çıkarımı çalıştırma
CoreML formatına aktarıldıktan sonra, YOLO11 iOS uygulamalarına kolayca entegre edilebilir ve iPhone, iPad ve Mac gibi cihazlarda nesne algılama gibi gerçek zamanlı bilgisayarla görme 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östermektedir. Çıkarım, yeni veriler üzerinde tahminler yapmak için eğitilmiş bir modeli kullanma sürecidir. Bu durumda model, topla oynayan bir ailenin görüntüsünü analiz eder.
YOLO11'i CoreML'e aktarmak, iPhone, iPad ve Mac'lerde verimli bir şekilde çalışabilen çeşitli bilgisayarla görme uygulamaları oluşturma esnekliği sağlar. Şimdi, bu entegrasyonun özellikle faydalı olabileceği bazı gerçek dünya senaryolarına bakalım.
CoreML modelleri tarafından yönlendirilen 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 harmanlıyor. Daha etkileşimli ve sürükleyici deneyimler yaratarak mobil oyunların önemli bir parçası haline geliyor.
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şturabilir. Oyun daha sonra oyuncunun çevresini geliştirmek için bu nesnelerin üzerine bozuk para, ipucu veya yaratık gibi sanal öğeler yerleştirebilir.
Sahne arkasında bu işlem, nesne algılama ve nesne takibi kullanılarak gerçekleştiriliyor. YOLO11 nesneleri gerçek zamanlı olarak algılar ve tanımlar, izleme ise kamera hareket ettikçe bu nesneleri görüş alanında tutarak sanal öğelerin gerçek dünyayla aynı hizada kalmasını sağlar.
Oyuncular telefonlarını doğrultabilir, ç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 sorunsuz ve ilgi çekici hale getiriyor.
Gerçek zamanlı ANPR için CoreML modelleriyle entegre iOS uygulamaları
Otomatik Plaka Tanıma (ANPR), araç plakalarını tespit etmek ve okumak için kullanılan bir bilgisayarla görme 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 cihazlarda verimli bir şekilde çalışabilir.
iPhone'unuzda bir ANPR uygulaması olması ö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 belirlemelerine yardımcı olabilir.
Böyle bir uygulama, araçları tespit etmek ve cihazın kamerasını kullanarak 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 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ı tespit etmek ve okumak için kullanılabilir.(Kaynak).
Yapay zeka, erişilebilirlik üzerinde büyük bir etkiye sahiptir ve görme engelli insanlar için engelleri yıkmaya yardımcı olmaktadır. CoreML gibi araçlar ve YOLO11 gibi bilgisayarla görme modelleri sayesinde geliştiriciler, kullanıcıların etrafındaki dünyayı gerçek zamanlı olarak tanımlayan iOS uygulamaları oluşturarak günlük işleri daha kolay ve daha bağımsız hale getirebiliyor.
Örneğin, görme engelli bir kişi iPhone kamerasını çevresine doğrultabilir. Uygulama, araçlar, insanlar veya sokak işaretleri gibi önemli unsurları tanımak için nesne algılamayı kullanır ve gördüklerini anlatır. Bu, kalabalık bir caddede gezinmek veya acil bir durumu anlamak gibi durumlarda kullanılabilir.
Şekil 4. İnsanları tespit etmek için YOLO11 kullanımına bir örnek
Önemli çıkarımlar
YOLO11'in CoreML formatına aktarılması, iOS cihazlarda çevrimdışı nesne algılama da dahil olmak üzere gerçek zamanlı uygulamalar için yeni fırsatlar yaratır. Bu kombinasyon, tarım ve güvenlikten erişilebilirliğe kadar, 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 bilgisayarla görme ö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 taşıyarak onları daha hızlı, daha duyarlı ve her yerde çalışmaya hazır hale getiriyor.