Ultralytics YOLO11 modellerini NCNN model formatına aktarmak
Sınırlı güç ve hesaplama 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.

afet yönetimi, atık yönetimi ve itfaiyecilik gibi yüksek riskli sektörlerde bile yapay zeka çözümleri giderek daha yaygın hale geliyor. Benimsenme oranı artmaya devam ettikçe, yapay zeka modelleri sadece 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 uç bileşenlere sahip dronlar ve ekipmanlar, afet bölgelerinde kritik bir rol oynayabilir. Termal kameralarla donatılmış bu cihazlar, enkaz altında mahsur kalan kişileri bulmak için sahada veri toplayabilir ve analiz edebilir. Bu, görüntü ve videolardan görsel bilgileri yorumlayan bir yapay zeka dalı olan bilgisayarlı görü sayesinde mümkün olmaktadır.
Ancak, görü yapay zeka modellerini uç cihazlarda konuşlandırmak göründüğü kadar basit değildir. Yapay zeka modellerinin, sınırlı işlem gücüne ve belleğe sahip donanımlarda verimli bir şekilde çalışacak şekilde optimize edilmesi gerekir. İşte bu yüzden NCNN gibi yapay zeka çerçeveleri temeldir. Bunlar, modelleri doğruluktan ödün vermeden düşük güç tüketen cihazlarda gerçek zamanlı performans için 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 doğruluk kaybı olmadan daha hızlı çalışmasını, daha az bellek kullanmasını ve farklı cihazlarda sorunsuz çalışmasını sağlar.
Bu makalede, Ultralytics tarafından desteklenen NCNN entegrasyonunu keşfedeceğiz ve YOLO11 modelini NCNN model formatına nasıl aktarabileceğini adım adım inceleyeceğiz. Hadi başlayalım!
Link to this sectionNCNN'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. Mobil ve uç ortamlar için özel olarak tasarlanmış olup, minimum ayak izi ile yüksek performanslı çıkarım sağlar. Bu, akıllı telefonlar, dronlar ve IoT (Nesnelerin İnterneti) cihazları gibi kaynak kısıtlı 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ı belleğe 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 bilgisayarlı görü modellerini destekler ve Android, Linux, iOS ve macOS dahil olmak üzere birden fazla platformda çalışır.

Şekil 1. NCNN formatındaki modeller birçok platformda konuşlandırılabilir.
Link to this sectionNCNN performans optimizasyonunun temel özellikleri#
İşte NCNN'yi etkili ve yaygın olarak kullanılan bir sinir ağı çıkarım çerçevesi yapan temel özelliklerden bazıları:
- 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 nicelleştirme: Bellek ve hızın kritik olduğu uygulamalar için NCNN, model boyutunu küçülten ve çıkarım süresini iyileştiren nicelleştirme 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 ücretsizdir. Bu, çeşitli kullanım durumlarında inovasyonu ve geniş çaplı benimsemeyi teşvik eder.
- Aktif geliştirme ve topluluk: NCNN, düzenli güncellemeler ve model uyumluluk iyileştirmeleri ile Tencent ve büyüyen bir geliştirici topluluğu tarafından GitHub'da aktif olarak sürdürülmektedir.
Link to this sectionYOLO11'i NCNN model formatına aktarma: Hızlı bir kılavuz#
Artık NCNN'nin ne olduğunu tartıştığımıza göre, YOLO11 modellerinin NCNN formatına nasıl aktarılacağına daha yakından bakalım.
Link to this sectionAdım: Ultralytics Python paketini yükle#
Modeli dışa aktarmadan önce ilk adım, paket yükleyici olan pip'i kullanarak Ultralytics Python paketini yüklemektir. Bu, terminalinde veya komut isteminde "pip install ultralytics" komutu çalıştırılarak yapılabilir. Jupyter Notebook veya Google Colab içinde çalışıyorsan, komutun önüne ünlem işareti ekle: "!pip install ultralytics".
Ultralytics paketi, çeşitli bilgisayarlı görü görevleri için yapay zeka 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, resmi Ultralytics belgeleri ve Yaygın Sorunlar kılavuzu sorun giderme için harika kaynaklardır.
Link to this sectionAdım: Ultralytics YOLO11'i dışa aktarma#
Ultralytics paketini yükledikten sonra, YOLO11 modelini yükleyebilir ve NCNN formatına aktarabilirsin. Aşağıdaki örnek, önceden eğitilmiş bir model ("yolo11n.pt") kullanır ve bunu NCNN formatında dışa aktararak çı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 konuşlandırılabilir. Konuşlandırma süreci de oldukça kolaylaştırılmıştır.
Örneğin, aşağıda dışa aktarılan modelin nasıl yükleneceğini ve çıkarımın nasıl çalıştırılacağını gösteren kod parçacığına göz at. Çıkarım, eğitilmiş bir modelin yeni ve görülmemiş veriler üzerinde tahminlerde bulunması sürecini ifade eder. Bu örnekte model, halka açık bir URL'den alınan bisiklet süren bir adamın görüntüsü üzerinde test edilmiştir.
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örüntüsünü "runs/detect/predict" klasöründe bulacaksın.

Şekil 2. NCNN formatında dışa aktarılan bir YOLO11 modeli kullanarak nesneleri algılama. Görsel yazar tarafından hazırlanmıştır.
Link to this sectionNeden NCNN ile gerçek zamanlı algılamayı seçmelisin#
Ultralytics'in desteklediği çeşitli entegrasyonları keşfederken, mevcut birkaç dışa aktarma seçeneği olduğunu fark edebilirsin. Peki, NCNN formatını ne zaman seçmelisin?
NCNN dışa aktarma formatı, YOLO11 modellerini sınırlı kaynaklara sahip cihazlarda konuşlandırman gerektiğinde güvenilir bir seçimdir. Özellikle buluta bağlanmaya 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 halledebileceğ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 minimum gecikme ile hızlı, cihaz içi çıkarım için mobil uygulamalara entegre etmeyi kolaylaştırır.
-
Gömülü sistemler ve IoT cihazları: Raspberry Pi veya NVIDIA Jetson gibi cihazlarda konuşlandırma yapıyorsan, NCNN'ye dışa aktarmak performansı ve yanıt verebilirliği artırmaya yardımcı olabilir.
-
Masaüstü ve sunucu dağıtımı: NCNN düşük güç tüketen 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. Görsel yazar tarafından hazırlanmıştır.
Link to this sectionNCNN 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 göz atalım.
Link to this sectionİtfaiyecilik için yapay zeka görüşlü 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 itfaiyecilik gibi alanlarda kullanılabilir. YOLO11 gibi gerçek zamanlı yapay zeka görüş modelleri, çeşitli nesne ve ekipman türlerini algılamak 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 yavaş performansa neden olabilir ve pili hızla tüketebilir. Bu durumda, NCNN entegrasyonunu kullanmak akıllıca bir seçimdir. Düşük gecikmeli, enerji verimli çıkarım sağlar.
Link to this sectionAtık sınıflandırma 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 yapay zeka görüş modelleri, kağıt, plastik, kauçuk vb. gibi farklı atık türlerini 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ındaki dışa aktarılmış YOLO11 modelleri ile birlikte uç yapay zeka kullanarak, bu kutular internet bağlantısına ihtiyaç duymadan verileri yerel olarak işleyebilir. Bu, otonom olarak çalışmalarını ve minimum gecikmeyle gerçek zamanlı ayırma kararları almalarını sağlar.

Şekil 4. YOLO11 kullanarak plastik atık malzemelerin algılanması.
Link to this sectionDronlar ve bilgisayarlı görü kullanarak sığır izleme#
Bazen uzak yerlerdeki tarım alanları istikrarlı internet bağlantılarından veya sürekli güçten yoksundur, bu da yapay zeka uygulamalarını çevrimiçi çalıştırma yeteneklerini sınırlar. Böyle durumlarda, çeşitli görevleri yerine getirmek için uç cihazlar ve dronlar kullanılabilir.
Sığır, koyun ve kümes hayvanları gibi hayvancılığı izlemek 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 yapay zeka görüş 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 şebeke dışı alanlardaki çiftliklerde görüntü ve video analizi için mükemmel bir uyum haline getirir.

Şekil 5. Hayvancılığı izlemek için YOLO11 kullanımına bir bakış.
Link to this sectionÖne çıkanlar#
Ultralytics tarafından desteklenen NCNN entegrasyonunu kullanarak YOLO11 modellerini dışa aktarmak, yapay zeka görüşünü düşük güç tüketen ortamlara taşımanın kolay bir yoludur. İster afet bölgelerindeki dronlar, ister akıllı atık ayırma kutuları veya uzak çiftliklerdeki hayvancılık izleme olsun, YOLO ve NCNN hızlı, verimli ve taşınabilir gerçek zamanlı yapay zeka çıkarımları sağlar. Bu yaklaşım, yapay zeka sistemlerini en çok ihtiyaç duyulduğunda daha erişilebilir ve güvenilir hale getirmeye yardımcı olur.
Yapay zeka hakkında daha fazla bilgi edinmek ister misin? GitHub depomuzu keşfet, topluluğumuzla bağlantı kur ve bilgisayarlı görü projeni başlatmak için lisanslama seçeneklerimize göz at. Perakendede yapay zeka ve sağlık hizmetlerinde bilgisayarlı görü gibi inovasyonların geleceği nasıl şekillendirdiğini çözüm sayfalarımızdan öğren.






