"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 modellerini, sınırlı güç ve işlem kaynaklarına sahip uç cihazlarda verimli, düşük gecikmeli yapay zeka çıkarımları çalıştırmak için NCNN model formatına aktarın.
Yapay zeka çözümleri, afet yönetimi, atık yönetimi ve yangınla mücadele gibi yüksek riskli sektörlerde bile daha yaygın hale geliyor. Benimsenme artmaya devam ettikçe, yapay zeka modelleri yalnızca sunucularda veya bulutta değil, doğrudan sahada çalışan cihazlarda olmak üzere daha çeşitli ortamlarda konuşlandırılıyor.
Örneğin, küçük işlemcilerle çalışan kenar bileşenlerine sahip dronlar ve ekipmanlar, afet bölgelerinde çok önemli bir rol oynayabilir. Termal kameralarla donatılmış bu cihazlar, moloz altında mahsur kalan insanları bulmak için yerinde veri toplayabilir ve analiz edebilir. Bu, görüntülerden ve videolardan görsel bilgileri yorumlayan bir yapay zeka dalı olan bilgisayarlı görü sayesinde mümkün olmaktadır.
Ancak, Görüntü İşleme Yapay Zeka modellerini uç cihazlarda (edge devices) kullanıma sunmak göründüğü kadar basit değildir. AI modellerinin, sınırlı işlem gücü ve belleğe sahip donanımlarda verimli bir şekilde çalışacak şekilde optimize edilmesi gerekir. İşte bu yüzden NCNN gibi AI çerçeveleri (frameworks) önemlidir. Doğruluğu feda etmeden düşük güçlü cihazlarda gerçek zamanlı performans için modelleri dönüştürmeye ve optimize etmeye yardımcı olurlar.
Özellikle, Ultralytics YOLO11 gibi Ultralytics YOLO modelleri, Ultralytics tarafından desteklenen NCNN entegrasyonu kullanılarak kolayca NCNN model formatına aktarılabilir. YOLO11'i NCNN model formatına dönüştürmek, modelin daha hızlı çalışmasını, daha az bellek kullanmasını ve doğruluktan ödün vermeden farklı cihazlarda sorunsuz çalışmasını sağlar.
Bu makalede, Ultralytics tarafından desteklenen NCNN entegrasyonunu inceleyecek ve YOLO11 modelinizi NCNN model formatına nasıl aktarabileceğinizi adım adım göstereceğiz. Haydi başlayalım!
NCNN'ye genel bir bakış: Hafif bir sinir ağı çerçevesi
NCNN, Tencent tarafından geliştirilen açık kaynaklı bir sinir ağı çıkarım çerçevesidir. Özellikle mobil ve uç ortamlar için tasarlanmıştır ve minimum ayak iziyle yüksek performanslı çıkarımı destekler. Bu, onu akıllı telefonlar, dronlar ve IoT (Nesnelerin İnterneti) cihazları gibi kaynak kısıtlı cihazlarda dağıtım için ideal hale getirir.
NCNN çerçevesi, verimliliği, taşınabilirliği ve mobil CPU'lar (Merkezi İşlem Birimleri) için optimizasyonu nedeniyle yapay zeka ve derin öğrenme topluluğunda popülerlik kazanmıştır. Geliştiricilerin, sınırlı bellek ve işlem gücüne sahip uygun fiyatlı cihazlarda sinir ağı modellerini çalıştırmasını sağlar. Basit ve esnek olacak şekilde tasarlanan NCNN, çok çeşitli bilgisayarlı görü modellerini destekler ve Android, Linux, iOS ve macOS dahil olmak üzere birden çok platformda çalışır.
Şekil 1. NCNN formatındaki modeller birçok platformda dağıtılabilir.
NCNN performans optimizasyonunun temel özellikleri
NCNN'yi etkili ve yaygın olarak kullanılan bir sinir ağı çıkarım çerçevesi yapan temel özelliklerden bazıları şunlardır:
Hafif, donanımdan bağımsız çalışma zamanı: NCNN framework'ü, modelleri standart CPU'larda çalıştırmak için optimize edilmiştir ve GPU'lar (Grafik İşleme Birimleri) veya NPU'lar (Sinirsel İşleme Birimleri) gibi özel donanımlar gerektirmez.
Model niceleme: Bellek ve hızın kritik olduğu uygulamalar için NCNN, model boyutunu küçülten ve çıkarım süresini iyileştiren niceleme yöntemlerini destekler. Yapay zeka modellerinin mobil ve gömülü cihazlarda sorunsuz çalışmasına yardımcı olur.
Açık kaynak ve erişilebilir: Açık kaynaklı bir çerçeve olarak NCNN, herkesin kullanması, değiştirmesi ve geliştirmesi için serbestçe kullanılabilir. Bu, çeşitli kullanım durumlarında yeniliği ve geniş çapta benimsenmeyi teşvik eder.
Aktif geliştirme ve topluluk: NCNN, Tencent ve büyüyen bir geliştirici topluluğu tarafından GitHub'da aktif olarak sürdürülmekte olup, düzenli güncellemeler ve model uyumluluğu iyileştirmeleri yapılmaktadır.
YOLO11'i NCNN model formatına aktarma: Hızlı bir kılavuz
NCNN'nin ne olduğunu tartıştığımıza göre, YOLOv8 modellerini NCNN biçimine nasıl aktaracağımıza daha yakından bakalım.
Adım 1: Ultralytics Python paketini kurun
Modeli dışa aktarmadan önce, ilk adım, paket yükleyici pip'i kullanarak Ultralytics Python paketini yüklemektir. Bu, terminalinizde veya komut isteminizde "pip install ultralytics" komutunu çalıştırarak yapılabilir. Bir Jupyter Notebook veya Google Colab'da çalışıyorsanız, komutun önüne bir ünlem işareti ekleyin, örneğin: "!pip install ultralytics".
Ultralytics paketi, çeşitli bilgisayarlı görü görevleri için Vision AI modellerini eğitmek, test etmek, ince ayar yapmak ve dışa aktarmak için araçlar sağlar. Kurulum sırasında veya bir modeli dışa aktarırken herhangi bir sorunla karşılaşırsanız, resmi Ultralytics belgeleri ve Sık Karşılaşılan Sorunlar kılavuzu sorun giderme için harika kaynaklardır.
Adım 2: Ultralytics YOLO11'i Dışa Aktarma
Ultralytics paketini yükledikten sonra, YOLO11 modelinizi yükleyebilir ve NCNN formatına aktarabilirsiniz. Aşağıdaki örnek, önceden eğitilmiş bir modeli ("yolo11n.pt") kullanır ve NCNN formatında dışa aktarır ve çıktıyı "/yolo11n_ncnn_model" adlı bir klasöre kaydeder.
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="ncnn")
Dışa aktarılan YOLO11 modeli daha sonra akıllı telefonlar, gömülü sistemler veya IoT platformları gibi çeşitli hafif cihazlarda dağıtılabilir. Dağıtım süreci de oldukça akıcıdır.
Örneğin, dışa aktarılmış modeli nasıl yükleyeceğinizi ve çıkarım yapacağınızı gösteren aşağıdaki kod parçacığını inceleyin. Çıkarım, eğitilmiş bir modeli yeni, görülmemiş veriler üzerinde tahminler yapmak için kullanma sürecini ifade eder. Bu örnekte, model halka açık bir URL'den alınan bisiklete binen bir adamın görüntüsü üzerinde test edilmektedir.
Kodu çalıştırdıktan sonra, çıktı görüntüsünü "runs/detect/predict" klasöründe bulacaksınız.
Şekil 2. NCNN formatında dışa aktarılmış bir YOLO11 modeli kullanarak nesneleri tespit etme. Görüntü: yazar.
Neden NCNN ile gerçek zamanlı algılamayı seçmelisiniz?
Ultralytics'in desteklediği çeşitli entegrasyonları keşfederken, mevcut çeşitli dışa aktarma seçenekleri olduğunu fark edebilirsiniz. Peki, NCNN formatını ne zaman seçmelisiniz?
NCNN dışa aktarma formatı, YOLO11 modellerini sınırlı kaynaklara sahip cihazlara dağıtmanız gerektiğinde güvenilir bir seçimdir. Özellikle buluta bağlantı gerektirmeden doğrudan cihaz üzerinde çalışan gerçek zamanlı uygulamalar (uç cihazlar gibi) için kullanışlıdır. Bu, modelin nesne algılama gibi görevleri doğrudan yerinde gerçekleştirebileceği anlamına gelir.
İşte NCNN'nin harika bir uyum sağladığı bazı yaygın senaryolar:
Mobil dağıtım: NCNN formatı Android ve iOS için optimize edilmiştir, bu da modelleri hızlı, cihaz üzerinde çıkarım için minimum gecikmeyle mobil uygulamalara entegre etmeyi kolaylaştırır.
Gömülü sistemler ve IoT cihazları: Raspberry Pi veya NVIDIA Jetson gibi cihazlara dağıtım yapıyorsanız, NCNN'ye aktarmak performansı ve yanıt verme hızını artırmaya yardımcı olabilir.
Masaüstü ve sunucu dağıtımı: NCNN, düşük güçlü cihazlar için harika olsa da, masaüstü ve sunucu ortamları için Linux, Windows ve macOS'i de destekler. Bu, geliştiricilere dağıtım için esnek seçenekler sunar.
Şekil 3. NCNN ile YOLO11 model dağıtımı için seçenekler. Yazarın görseli.
NCNN ile YOLO11 model dağıtımının kullanım alanları
Şimdi de YOLO11 modellerini NCNN'ye aktarmanın gerçek bir fark yaratabileceği bazı pratik kullanım örneklerine dalalım.
İtfaiye için görüntü yapay zekası kaskları
Kameralar ve gömülü mikro bilgisayarlarla donatılmış güvenlik kaskları, güvenliği ve farkındalığı artırmak için inşaat ve itfaiye gibi alanlarda kullanılabilir. YOLO11 gibi gerçek zamanlı Görü Yapay Zeka modelleri, çeşitli nesne ve ekipman türlerini tespit etmek için bu cihazlarda çalıştırılabilir. Örneğin, bu tür kasklar, itfaiyecilerin düşük görüş koşullarında insanları, engelleri veya tehlikeleri tespit etmelerine yardımcı olabilir.
Ancak, tam boyutlu modelleri doğrudan giyilebilir cihazlarda çalıştırmak, performansın yavaşlamasına ve pilin hızla tükenmesine neden olabilir. Bu durumda, NCNN entegrasyonunu kullanmak akıllıca bir seçimdir. Düşük gecikmeli, enerji açısından verimli çıkarım sağlar.
Atık sınıflandırması ve akıllı kutular
Benzer şekilde, akıllı çöp kutuları, atıldıklarında malzemeleri tanımlamak ve ayırmak için kameralar ve kompakt uç yapay zeka işlemcileriyle entegre edilebilir. YOLO11 gibi Görüntü Yapay Zeka modelleri, kağıt, plastik, kauçuk vb. gibi farklı türdeki atık malzemeleri tespit etmek için özel olarak eğitilebilir.
Atık tanımlandıktan sonra, yeniden kullanılabilirliğine göre otomatik olarak ayrı bölmelere ayrılabilir. NCNN formatında dışa aktarılan YOLO11 modelleriyle birlikte uç yapay zeka kullanarak, bu kutular verileri yerel olarak işleyebilir - internet bağlantısına ihtiyaç duymadan. Bu, otonom olarak çalışabilmelerini ve minimum gecikmeyle gerçek zamanlı ayıklama kararları alabilmelerini sağlar.
Şekil 4. YOLO11 kullanarak plastik atık malzemeleri tespit etme.
Drone'lar ve bilgisayarlı görü kullanarak sığır takibi
Bazen, uzak konumlardaki tarım alanları, kararlı internet bağlantılarına veya hatta tutarlı güce erişimden yoksundur, bu da çevrimiçi AI uygulamalarını çalıştırma yeteneklerini sınırlar. Bu gibi durumlarda, çeşitli görevleri yerine getirmek için uç cihazlar ve dronlar kullanılabilir.
İyi bir örnek, sığır, koyun ve kümes hayvanları gibi hayvanların izlenmesidir. Bu, hayvan hareketini izlemek, yaralanma, hastalık veya anormal davranış belirtilerini tespit etmek ve hayvanlar kaybolduğunda çiftçileri uyarmak için kullanılabilen YOLO11 gibi Vision AI modelleri kullanılarak yapılabilir. NCNN entegrasyonu ayrıca bu verileri doğrudan uç cihazlarda çalıştırmayı ve işlemeyi mümkün kılar, bu da onu uzak veya şebekeden bağımsız alanlardaki çiftliklerdeki görüntü ve video analizi için harika bir uyum haline getirir.
Şekil 5. Hayvanları izlemek için YOLO11 kullanımına bir bakış.
Önemli çıkarımlar
Ultralytics tarafından desteklenen NCNN entegrasyonunu kullanarak YOLO11 modellerini dışa aktarmak, Görüntü İşlemeyi düşük güçlü ortamlara getirmenin basit bir yoludur. İster afet bölgelerindeki dronlar, ister akıllı atık ayıklama kutuları veya uzak çiftliklerdeki hayvanları izleme olsun, YOLO ve NCNN hızlı, verimli ve taşınabilir gerçek zamanlı AI çıkarımları sağlar. Bu yaklaşım, yapay zeka sistemlerinin en çok ihtiyaç duyulduğu zamanlarda daha erişilebilir ve güvenilir olmasına yardımcı olur.