"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
Sınırlı güç ve bilgi işlem kaynaklarına sahip uç cihazlarda verimli, düşük gecikmeli yapay zeka çıkarımları çalıştırmak için Ultralytics YOLO11 modellerini NCNN model formatına aktarın.
Yapay zeka çözümleri afet yönetimi, atık yönetimi ve itfaiye gibi yüksek riskli sektörlerde bile giderek yaygınlaşıyor. Benimsenme artmaya devam ettikçe, YZ modelleri sadece sunucularda veya bulutta değil, doğrudan sahada çalışan cihazlarda da daha çeşitli ortamlarda kullanılıyor.
Örneğin, dronlar ve küçük işlemcilerle çalışan uç bileşenlere sahip ekipmanlar afet bölgelerinde çok önemli bir rol oynayabilir. Termal kameralarla donatılan bu cihazlar, enkaz altında kalan insanların yerini tespit etmek için yerinde veri toplayıp analiz edebilir. Bu, görüntü ve videodan gelen görsel bilgileri yorumlayan bir yapay zeka dalı olan bilgisayarla görme sayesinde mümkün olmaktadır.
Ancak, uç cihazlarda Vision AI modellerini dağıtmak göründüğü kadar kolay değildir. Yapay zeka modellerinin sınırlı bilgi işlem gücü ve belleğe sahip donanımlarda verimli bir şekilde çalışacak şekilde optimize edilmesi gerekir. Bu nedenle NCNN gibi yapay zeka çerçeveleri çok önemlidir. Doğruluktan ödün vermeden 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 NCNN model formatına kolayca 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ğruluğu kaybetmeden farklı cihazlarda sorunsuz çalışmasını sağlar.
Bu makalede, Ultralytics tarafından desteklenen NCNN entegrasyonunu keşfedeceğiz ve YOLO11 modelinizi NCNN model formatına nasıl aktarabileceğinizi inceleyeceğiz. Hadi 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 izi ile yüksek performanslı çıkarıma güç sağlar. Bu sayede akıllı telefonlar, drone'lar ve IoT (Nesnelerin İnterneti) cihazları gibi kaynak kısıtlaması olan cihazlarda dağıtım için idealdir.
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 sinir ağı modellerini sınırlı bellek ve işlem gücüne sahip uygun fiyatlı cihazlarda çalıştırmasını sağlar. Basit ve esnek olacak şekilde tasarlanan NCNN, çok çeşitli bilgisayarla görme modellerini destekler ve Android, Linux, iOS ve macOS dahil olmak üzere birden fazla platformda çalışır.
Şekil 1. NCNN formatındaki modeller birçok platforma dağıtılabilir.
NCNN performans optimizasyonunun temel özellikleri
NCNN'yi etkili ve yaygın olarak kullanılan bir sinir ağı çıkarım çerçevesi haline getiren temel özelliklerden bazıları şunlardır:
Hafif, donanımdan bağımsız çalışma zamanı: NCNN çerçevesi, modelleri standart CPU'larda çalıştırmak için optimize edilmiştir ve GPU'lar (Grafik İşleme Birimleri) veya NPU'lar (Sinir İşleme Birimleri) gibi özel donanımlar gerektirmez.
Model niceleme: Bellek ve hızın kritik olduğu uygulamalar için NCNN, model boyutunu azaltan ve çıkarım süresini iyileştiren niceleme yöntemlerini destekler. Yapay zeka modellerinin mobil ve gömülü cihazlarda sorunsuz bir şekilde çalıştırılması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 ücretsiz olarak kullanılabilir. Bu, çeşitli kullanım durumlarında yeniliği ve geniş çapta benimsenmeyi teşvik eder.
Aktif geliştirme ve topluluk: NCNN, GitHub'da Tencent ve büyüyen bir geliştirici topluluğu tarafından düzenli güncellemeler ve model uyumluluğu iyileştirmeleri ile aktif olarak sürdürülmektedir.
YOLO11'i NCNN model formatına aktarma: Hızlı bir kılavuz
NCNN'nin ne olduğunu tartıştığımıza göre, şimdi YOLO11 modellerinin NCNN formatına nasıl aktarılacağına daha yakından bakalım.
Adım 1: Ultralytics Python paketini yükleyin
Modeli dışa aktarmadan önce ilk adım, paket yükleyici pip'i kullanarak Ultralytics Python paketini yüklemektir. Bu, terminalinizde veya komut isteminde "pip install ultralytics" çalıştırılarak yapılabilir. Jupyter Notebook veya Google Colab'da çalışıyorsanız, komuttan önce aşağıdaki gibi bir ünlem işareti ekleyin: "!pip install ultralytics".
Ultralytics paketi, çeşitli bilgisayarla görme 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 Ortak Sorunlar kılavuzu sorun giderme için harika kaynaklardır.
Adım 2: Ultralytics YOLO11'i Dışa Aktarma
Ultralytics paketini kurduktan sonra, YOLO11 modelinizi yükleyebilir ve NCNN formatına aktarabilirsiniz. Aşağıdaki örnek önceden eğitilmiş bir model ("yolo11n.pt") kullanır ve NCNN formatında dışa aktarır, çı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 cihazlara dağıtılabilir. Dağıtım süreci de oldukça kolaylaştırılmıştır.
Örneğin, dışa aktarılan modelin nasıl yükleneceğini ve çıkarımın nasıl çalıştırılacağını gösteren aşağıdaki kod parçacığını düşünün. Çıkarım, yeni, görülmemiş veriler üzerinde tahminler yapmak için eğitilmiş bir modeli kullanma sürecini ifade eder. Bu örnekte model, herkese 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 algılama. Yazar tarafından görüntü.
Neden NCNN ile gerçek zamanlı algılamayı seçmelisiniz?
Ultralytics'in desteklediği çeşitli entegrasyonları keşfederken, çeşitli dışa aktarma seçeneklerinin mevcut 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ıya ihtiyaç duymadan uç cihazlar gibi doğrudan cihaz üzerinde çalışan gerçek zamanlı uygulamalar için kullanışlıdır. Bu, modelin nesne algılama gibi görevleri anında yerine getirebileceği anlamına gelir.
İşte NCNN'nin mükemmel bir uyum sağladığı bazı yaygın senaryolar:
Mobil dağıtım: NCNN formatı Android ve iOS için optimize edilmiştir, bu da minimum gecikmeyle hızlı, cihaz üzerinde çıkarım için modellerin mobil uygulamalara entegre edilmesini 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 dışa aktarma, 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'u da 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 tarafından resim.
NCNN ile YOLO11 model dağıtımının kullanım durumları
Şimdi, YOLO11 modellerini NCNN'ye aktarmanın gerçek bir fark yaratabileceği bazı pratik kullanım durumlarına bakalım.
İtfaiyecilik için yapay zeka 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ı Vision AI 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 tasarruflu çıkarım sağlar.
Atık sınıflandırması ve akıllı kutular
Benzer şekilde, akıllı atık kutuları, atıldıkları sırada malzemeleri tanımlamak ve ayırmak için kameralar ve kompakt uç yapay zeka işlemcileri ile entegre edilebilir. YOLO11 gibi görsel yapay zeka modelleri, kağıt, plastik, kauçuk vb. gibi farklı atık malzeme türlerini tespit etmek için özel olarak eğitilebilir.
Atıklar tanımlandıktan sonra, yeniden kullanılabilirliklerine 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 internet bağlantısına ihtiyaç duymadan verileri yerel olarak işleyebilir. Bu sayede otonom olarak çalışabilir ve minimum gecikmeyle gerçek zamanlı ayıklama kararları verebilirler.
Şekil 4. YOLO11 kullanarak plastik atık malzemelerin tespit edilmesi.
Dronlar ve bilgisayar görüşü kullanarak sığır izleme
Bazen, uzak yerlerdeki tarım alanlarının istikrarlı internet bağlantılarına ve hatta tutarlı güce erişimi yoktur, bu da yapay zeka uygulamalarını çevrimiçi çalıştırma yeteneklerini sınırlar. Bu gibi durumlarda, çeşitli görevleri yerine getirmek için uç cihazlar ve dronlar kullanılabilir.
Sığır, koyun ve kümes hayvanları gibi çiftlik hayvanlarının izlenmesi buna iyi bir örnektir. Bu, hayvan hareketlerini 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 verilerin doğrudan uç cihazlarda çalıştırılmasını ve işlenmesini mümkün kılarak uzak veya şebekeden bağımsız bölgelerdeki çiftliklerde görüntü ve video analizi için mükemmel bir uyum sağlar.
Şekil 5. Çiftlik hayvanlarını izlemek için YOLO11 kullanımına bir bakış.
Önemli çıkarımlar
Ultralytics tarafından desteklenen NCNN entegrasyonunu kullanarak YOLO11 modellerini dışa aktarmak, Vision AI'yı düşük güçlü ortamlara getirmenin basit bir yoludur. İster afet bölgelerindeki drone'lar, ister akıllı atık ayırma kutuları veya uzak çiftliklerdeki hayvan izleme olsun, YOLO ve NCNN hızlı, verimli ve taşınabilir gerçek zamanlı yapay zeka çıkarımlarına olanak tanır. Bu yaklaşım, yapay zeka sistemlerini en önemli anlarda daha erişilebilir ve güvenilir hale getirmeye yardımcı olur.