Ultralytics YOLO11 modellerini NCNN model biçimine aktarma
Ultralytics YOLO11 modellerini NCNN biçimine aktararak güç ve işlem kaynakları sınırlı uç cihazlarda verimli, düşük gecikmeli çıkarım çalıştır.
Abirami Vina7 dakikalık okuma
Yapay zekâ çözümleri, afet yönetimi, atık yönetimi ve yangınla mücadele gibi risk düzeyi yüksek sektörlerde bile giderek yaygınlaşıyor. Benimsenme arttıkça yapay zekâ modelleri yalnızca sunucularda veya bulutta değil, sahada çalışan cihazlarda da olmak üzere daha çeşitli ortamlarda kullanıma sunuluyor.
Örneğin küçük işlemcilerle çalışan uç bileşenlere sahip dronlar ve ekipmanlar afet bölgelerinde kritik bir rol oynayabilir. Termal kameralarla donatılan bu cihazlar, enkaz altında mahsur kalan kişilerin yerini belirlemek için sahada veri toplayıp analiz edebilir. Bu, görüntü ve videolardaki görsel bilgileri yorumlayan bir yapay zekâ dalı olan bilgisayarlı görü sayesinde mümkün olur.
Ancak görsel yapay zekâ modellerini uç cihazlara dağıtmak, göründüğü kadar kolay değildir. Yapay zekâ modellerinin sınırlı işlem gücüne ve belleğe sahip donanımlarda verimli çalışabilmesi için optimize edilmesi gerekir. Bu nedenle NCNN gibi yapay zekâ çerçeveleri büyük önem taşır. Bu çerçeveler, doğrulukta çok az kayıp yaşanmasını sağlayarak modellerin düşük güçlü cihazlarda gerçek zamanlı performans için dönüştürülmesine ve optimize edilmesine yardımcı olur.
Özellikle Ultralytics YOLO11 gibi Ultralytics YOLO modelleri, Ultralytics'in desteklediği NCNN entegrasyonu kullanılarak kolayca NCNN model biçimine aktarılabilir. YOLO11'i NCNN model biçimine dönüştürmek, modelin daha hızlı çalışmasını, daha az bellek kullanmasını ve farklı cihazlarda minimum doğruluk kaybıyla sorunsuz çalışmasını sağlar.
Bu makalede, Ultralytics'in desteklediği NCNN entegrasyonunu inceleyecek ve YOLO11 modelini NCNN model biçimine nasıl aktarabileceğini adım adım ele alacağız.
NCNN'e genel 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ış olup küçük bir ayak iziyle yüksek performanslı çıkarım sağlar. Bu özellikleri onu akıllı telefonlar, dronlar ve IoT (Nesnelerin İnterneti) cihazları gibi kaynakları kısıtlı cihazlarda kullanıma sunmak için ideal kılar.
NCNN çerçevesi; verimliliği, taşınabilirliği ve mobil CPU'lar (merkezi işlem birimleri) için optimizasyonu sayesinde yapay zekâ ve derin öğrenme topluluklarında popülerlik kazanmıştır. Geliştiricilerin sinir ağı modellerini belleği ve işlem gücü sınırlı, uygun fiyatlı cihazlarda ç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 fazla platformda çalışır.

Şekil 1. NCNN biçimindeki modeller pek çok platformda kullanıma sunulabilir.
NCNN performans optimizasyonunun temel özellikleri#
NCNN'i etkili ve yaygın olarak kullanılan bir sinir ağı çıkarım çerçevesi hâline 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 işlem birimleri) veya NPU'lar (sinirsel işlem birimleri) gibi özel donanımlar gerektirmez.
- Model kuantizasyonu: Bellek ve hızın kritik olduğu uygulamalar için NCNN, model boyutunu küçülten ve çıkarım süresini iyileştiren kuantizasyon yöntemlerini destekler. Yapay zekâ modellerinin mobil ve gömülü cihazlarda sorunsuz çalışmasına yardımcı olur.
- Açık kaynaklı ve erişilebilir: Açık kaynaklı bir çerçeve olan NCNN herkesin kullanması, değiştirmesi ve geliştirmesi için ücretsiz olarak sunulur. Bu, çeşitli kullanım alanlarında yenilikçiliği ve yaygın 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 geliştirilip korunur; düzenli güncellemeler ve model uyumluluğu iyileştirmeleri sunulur.
Ultralytics YOLO11'i NCNN model biçimine aktarma: Hızlı bir kılavuz#
NCNN'in ne olduğunu ele aldığımıza göre şimdi Ultralytics YOLO11 modellerini NCNN biçimine nasıl aktarabileceğimize daha yakından bakalım.
Adım 1: Ultralytics Python paketini yükleme#
Modeli dışa aktarmadan önceki ilk adım, paket yükleyicisi pip kullanarak Ultralytics Python paketini yüklemektir. Bunun için terminalinde veya komut isteminde pip install ultralytics komutunu çalıştırabilirsin. Jupyter Notebook veya Google Colab kullanıyorsan komutun başına ünlem işareti ekle; şöyle: !pip install ultralytics.
Ultralytics paketi, çeşitli bilgisayarlı görü görevleri için görsel yapay zekâ modellerini eğitme, test etme, ince ayar yapma ve dışa aktarma araçları sunar. Kurulum sırasında veya bir modeli dışa aktarırken sorun yaşarsan sorun giderme için resmi Ultralytics belgeleri ve Common Issues guide iyi kaynaklardır.
Adım 2: Ultralytics YOLO11'i dışa aktarma#
Ultralytics paketini yükledikten sonra YOLO11 modelini yükleyip NCNN biçimine aktarabilirsin. Aşağıdaki örnekte önceden eğitilmiş YOLO11n modeli (yolo11n.pt) kullanılıyor ve çıktı yolo11n_ncnn_model adlı bir klasöre kaydedilerek NCNN biçiminde dışa aktarılıyor.
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="ncnn")Dışa aktarılan Ultralytics 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 kolaylaştırılmıştır.
Örneğin, aşağıdaki kod parçacığında dışa aktarılan modelin nasıl yükleneceği ve çıkarımın nasıl çalıştırılacağı gösteriliyor. Çıkarım, eğitilmiş bir modelin daha önce görülmemiş yeni veriler üzerinde tahmin yapmak için kullanılması sürecidir. Bu örnekte model, herkese açık bir URL'den alınan bisiklete binen bir adam görseli üzerinde test ediliyor.
ncnn_model = YOLO("./yolo11n_ncnn_model")
results = ncnn_model("https://images.pexels.com/photos/19431209/pexels-photo-19431209/free-photo-of-a-man-riding-a-bike-on-a-road.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2.jpg", save=True)Kodu çalıştırdıktan sonra çıktı görselini runs/detect/predict klasöründe bulabilirsin.

Şekil 2. NCNN biçiminde dışa aktarılan Ultralytics YOLO11 modeliyle nesneleri algılama. Görselin sahibi: yazar.
NCNN ile gerçek zamanlı algılamayı neden seçmelisin?#
Ultralytics'in desteklediği çeşitli entegrasyonları incelerken, kullanabileceğin çeşitli dışa aktarma seçenekleri olduğunu fark edebilirsin. Peki NCNN biçimini ne zaman seçmelisin?
NCNN dışa aktarma biçimi, Ultralytics YOLO11 modellerini kaynakları kısıtlı cihazlarda dağıtman gerektiğinde güvenilir bir seçenektir. Özellikle bulut bağlantısına gerek duymadan uç cihazlar gibi cihazların doğrudan üzerinde çalışan gerçek zamanlı uygulamalarda kullanışlıdır. Böylece model, nesne algılama gibi görevleri anında gerçekleştirebilir.
NCNN'in çok uygun olduğu bazı yaygın senaryolar şunlardır:
- Mobil dağıtım: NCNN biçimi Android ve iOS için optimize edilmiştir; modelleri düşük gecikmeyle ve hızlı, cihaz üzerinde çıkarım yapacak şekilde mobil uygulamalara kolayca entegre etmeyi sağlar.
- Gömülü sistemler ve IoT cihazları: Raspberry Pi veya NVIDIA Jetson gibi cihazlara dağıtım yapıyorsan NCNN biçimine aktarmak performansı ve yanıt hızını artırabilir.
- Masaüstü ve sunucu dağıtımı: NCNN düşük güç tüketen cihazlar için ideal olsa da masaüstü ve sunucu ortamlarında Linux, Windows ve macOS'u da destekler. Böylece geliştiricilere esnek dağıtım seçenekleri sunar.

Şekil 3. NCNN ile Ultralytics YOLO11 modeli dağıtım seçenekleri. Görselin sahibi: yazar.
NCNN ile Ultralytics YOLO11 modeli dağıtımının kullanım alanları#
Şimdi, Ultralytics YOLO11 modellerini NCNN biçimine aktarmanın gerçekten fark yaratabileceği bazı pratik kullanım örneklerine bakalım.
İtfaiyeciler için görsel yapay zekâ destekli kasklar#
Kameralar ve gömülü mikro bilgisayarlarla donatılmış güvenlik kaskları, güvenliği ve durumsal farkındalığı artırmak için inşaat ve itfaiyecilik gibi alanlarda kullanılabilir. Ultralytics YOLO11 gibi gerçek zamanlı görsel yapay zekâ modelleri, çeşitli nesne ve ekipman türlerini algılamak için bu cihazlarda çalıştırılabilir. Örneğin bu kasklar, itfaiyecilerin görüşün kısıtlı olduğu koşullarda insanları, engelleri veya tehlikeleri algılamasına yardımcı olabilir.
Ancak tam boyutlu modelleri doğrudan giyilebilir cihazlarda çalıştırmak performansı yavaşlatabilir ve pilin hızla tükenmesine neden olabilir. Bu durumda NCNN entegrasyonunu kullanmak akıllıca bir tercihtir. Düşük gecikmeli ve enerji verimli çıkarım olanağı sağlar.
Atık sınıflandırma ve akıllı çöp kutuları#
Benzer şekilde, akıllı çöp kutuları atılan malzemeleri tanıyıp ayırmak için kameralar ve kompakt uç yapay zekâ işlemcileriyle entegre edilebilir. YOLO11 gibi görsel yapay zekâ modelleri; kâğıt, plastik, kauçuk vb. farklı atık türlerini tespit etmek üzere özel verilerle eğitilebilir.
Atık tanımlandıktan sonra, yeniden kullanılabilirliğine göre ayrı bölmelere otomatik olarak ayrılabilir. Uç yapay zekâyı NCNN biçiminde dışa aktarılmış Ultralytics YOLO11 modelleriyle birlikte kullanarak bu kutular verileri internet bağlantısı olmadan yerel olarak işleyebilir. Böylece kutular bağımsız olarak çalışabilir ve gerçek zamanlı ayırma kararlarını çok az gecikmeyle verebilir.

Şekil 4. YOLO11 ile plastik atık malzemelerini algılama.
Drone'lar ve bilgisayarlı görüyle büyükbaş hayvanları izleme#
Uzak bölgelerdeki tarım alanlarında bazen istikrarlı internet bağlantısı, hatta kesintisiz elektrik bulunmaz; bu da yapay zekâ uygulamalarını çevrimiçi çalıştırma olanağını kısıtlar. Bu tür durumlarda çeşitli görevleri yerine getirmek için uç cihazlar ve drone'lar kullanılabilir.
Buna iyi bir örnek, sığır, koyun ve kümes hayvanları gibi çiftlik hayvanlarını izlemektir. Bu işlem, hayvanların hareketlerini takip edebilen, yaralanma, hastalık veya anormal davranış belirtilerini algılayabilen ve hayvanlar kaybolduğunda çiftçileri uyarabilen YOLO11 gibi görsel yapay zekâ modelleriyle yapılabilir. NCNN entegrasyonu, bu verilerin doğrudan uç cihazlarda çalıştırılıp işlenmesini de mümkün kılar; bu da uzak bölgelerdeki veya şebeke dışı çiftliklerde görüntü ve video analizi için oldukça uygundur.

Şekil 5. Çiftlik hayvanlarını izlemek için YOLO11 kullanımına bir bakış.
Önemli çıkarımlar#
Ultralytics'in desteklediği NCNN entegrasyonunu kullanarak YOLO11 modellerini dışa aktarmak, görsel yapay zekâyı düşük güçlü ortamlara taşımanın basit bir yoludur. Afet bölgelerindeki dronlar, akıllı atık ayırma kutuları veya uzak çiftliklerdeki hayvanların izlenmesi fark etmeksizin YOLO ve NCNN; hızlı, verimli ve taşınabilir gerçek zamanlı yapay zekâ çıkarımını mümkün kılar. Bu yaklaşım, en çok ihtiyaç duyulan anlarda yapay zekâ sistemlerinin daha erişilebilir ve güvenilir olmasına yardımcı olur.
Yapay zekâ hakkında daha fazla bilgi edinmek ister misin? GitHub depomuzu keşfet, topluluğumuza katıl ve bilgisayarlı görü projen için başlangıç yapmak üzere lisans seçeneklerimize göz at. Perakendede yapay zekâ ve sağlık hizmetlerinde bilgisayarlı görü gibi yeniliklerin geleceği nasıl şekillendirdiğini çözümler sayfalarımızda keşfet.
Yazan
Yorumlar
Soru sor, sonuçlarını paylaş veya başka birine yardım et.










