YOLO-NAS, YOLO serisindeki nesne algılama modellerinin zirvesidir. Ama neden en iyisi olarak kabul ediliyor?

YOLOv8'den sonra, yeni ve daha iyi bir son teknoloji nesne algılama modeli olan YOLO-NAS var. Önceki YOLO (Sadece Bir Kez Bakarsınız) modellerinin sınırlamalarının üstesinden gelmek için Deci AI tarafından geliştirilmiş bir nesne algılama algoritmasıdır.

Model, bir Sinir Mimarisi Arama Motoru olan AutoNAC'tan oluşturulmuştur. Doğruluk-gecikme ve kuantizasyon destek değiş tokuşlarını iyileştirerek nesne algılamada büyük bir sıçrama sunan SOTA modellerinin hız ve performansını geride bırakıyor.

Bu makale, YOLO-NAS'ın güçlü yönlerini ve özelliklerini tartışacak ve neden YOLO serisindeki en iyi nesne algılama modeli olduğunu keşfedecektir.

YOLO-NAS'ın Nasıl Çalıştığını Anlamak

Deci'nin AutoNAC'si (Otomatik Sinir Mimarisi Yapısı), YOLO-NAS'ın mimarisini oluşturur. AutoNAC, mevcut derin sinir ağlarına performans artışı sağlayan kusursuz bir süreçtir.

AutoNAC boru hattı, kullanıcı tarafından eğitilmiş bir derin sinir ağını bir girdi, bir veri kümesi ve bir çıkarım sistemine erişim olarak alır. Kullanıcı tarafından eğitilen derin sinir ağı daha sonra işlem hattı kullanılarak yeniden tasarlanır. Ardından, doğruluktan ödün vermeden daha düşük gecikme süresine sahip optimize edilmiş bir mimari elde edilir.

YOLO-NAS, RepVGG'yi kullanır. RepVGG, yeniden parametreleştirme veya Eğitim Sonrası Niceleme ile eğitim sonrası optimizasyon için kullanılabilir hale getirir. VGG'ye dayalı bir tür sinir ağı mimarisidir. Derin öğrenme modellerinin genelleme yeteneğini geliştirmek için tasarlanmış düzenlileştirme tekniklerini kullanır.

Mimarinin tasarımı, hız ve bellek açısından daha verimlidir. RepVGG, daha hızlı bir çıkarım elde etmek için çok şubeli bir mimari kullanarak eğitimden geçer. Daha sonra yeniden parametrelendirme kullanılarak tek bir şubeye dönüştürülür.

Bu özellik, YOLO-NAS'ı üretim dağıtımı için çok kullanışlı hale getirir. Bunun nedeni, çıkarım hızı ve bellek kullanımı için modeli tam bir hassasiyetle eğitip optimize etmenin mümkün olmasıdır.

YOLO-NAS'ın Temel Özellikleri

YOLO-NAS'ın temel özellikleri şunları içerir:

  • Nicemlemeye Duyarlı eğitim: Model, 8 bitlik nicelemenin yeniden parametreleştirilmesini birleştirerek eğitim sonrası niceleme sırasında doğruluk kaybını azaltmak için QSP ve QCI (niceleme duyarlı modüller) kullanır.
  • Otomatik mimari tasarım: AutoNAC, Deci'nin tescilli NAS teknolojisi, optimize edilmiş bir model bulmak için temel YOLO model mimarilerini entegre eden en uygun model mimarisini arar.
  • Hibrit niceleme tekniği: Standart niceleme yöntemi tüm modeli etkiler. Buna karşılık, hibrit niceleme tekniği, modelin gecikmesini ve doğruluğunu dengelemek için bir modelin bir bölümünü niceler.
  • Otomatik olarak etiketlenmiş verileri kullanarak modeli eğitime hazırlamak için benzersiz yaklaşımlar kullanın. Model daha sonra tahminlerinden öğrenir ve büyük miktarda veriye erişir.

Karşılaştırmalı Analiz: YOLO-NAS ve Diğer YOLO Modelleri

Aşağıda çeşitli YOLO serisi modeller arasında bir karşılaştırma bulunmaktadır.

YOLO-NAS, önceden var olan nesne algılama modellerinden daha iyidir, ancak dezavantajları da vardır. YOLO-NAS'ın yararlarının ve zararlarının bir listesi:

Artıları

  • Açık kaynaklıdır.
  • Mevcut YOLO modellerinden %10-20 daha hızlıdır.
  • Önceden var olan YOLO modellerine kıyasla daha doğrudur.
  • Daha iyi bir mimari olan AutoNAC kullanır. Bu, nesne algılamada yeni bir rekor kırarak en iyi doğruluk ve gecikme değiş tokuşu performansını sağlar.
  • NVIDIA gibi çıkarım motorları için kesintisiz destek. Bu özellik onu üretime hazır bir model yapar.
  • Daha iyi bellek verimliliğine ve artırılmış çıkarım hızlarına sahiptir.

Eksileri

  • Teknoloji henüz yeni olduğu ve üretimde çılgınca kullanılmadığı için henüz kararlı değil.

YOLO-NAS'ın uygulanması

kullanacaksın Google İşbirliği bu uygulamada kodları yazmak ve çalıştırmak için. Google Colab için bir alternatif şu olabilir: sanal ortam oluşturmak Ve yerel makinenizde bir IDE kullanın.

Model çok kaynak yoğundur. Makinenizde çalıştırmadan önce en az 8 GB RAM'e sahip olduğunuzdan emin olun. Video boyutu ne kadar büyük olursa, o kadar fazla bellek kullanır.

Bağımlılıkları Yükleme

YOLO-NAS bağımlılığını kurun, süper eğimler aşağıdaki komutu kullanarak:

pip kurulumu süper gradyanlar ==3.1.2

Başarılı bir kurulumun ardından artık YOLO-NAS modelini eğitebileceksiniz.

Model Eğitimi

Modeli eğitmek için aşağıdaki kod bloğunu çalıştırın:

itibaren super_gradients.training içe aktarmak modeller
yolo_nas_l = modeller.get("yolo_nas_l", önceden eğitilmiş_ağırlıklar="hindistan cevizi")

Bu kodda yüklü SuperGradients kitaplığından eğitim modelini içe aktarıyorsunuz. Daha sonra COCO veri kümesindeki önceden eğitilmiş model ağırlıklarını kullanıyorsunuz.

Model Çıkarımı

Model çıkarımı, görüntü algılama, sınıflandırma ve bölümleme görevleri için potansiyel uygulamalara sahiptir.

Bu durumda, şuna odaklanacaksınız: nesne algılama görevi videolar ve resimler için. Bir görüntüdeki bir nesneyi algılamak için aşağıdaki kod bloğunu çalıştırın:

url = "img_yolu"
yolo_nas_l.predict (url, konf=0.25).göstermek()

Resminize giden doğru yolu kullandığınızdan emin olun. Bu durumda, resmi Google Colab ortamına yükleyin ve ardından resmin yolunu kopyalayın.

Beklenen çıktı:

Bir videodaki nesneleri algılamak için aşağıdaki kod bloğunu çalıştırın:

içe aktarmak meşale

girdi_video_yolu = "video_yolu_yolu"
output_video_path = "algılandı.mp4"
cihaz = 'cuda'eğer meşale.cuda.is_available() başka"İşlemci"
yolo_nas_l.to (cihaz).predict (input_video_path).save (output_video_path)

Görüntü verileri gibi, nesnelerinin algılanmasını istediğiniz videoyu Google Colab ortamına yükleyin ve yolu video değişkenine kopyalayın. Tahmin edilen videoya, Google Colab ortamından şu ad kullanılarak erişilebilecektir: algılandı.mp4. Oturumunuzu sonlandırmadan önce videoyu yerel makinenize indirin.

Beklenen çıktı:

YOLO-NAS, model ince ayarını ve özel veriler üzerinde eğitimi de destekler. Belgeler şu adreste mevcuttur: Deci'nin ince ayar başlangıç ​​not defteri.

YOLO-NAS'ın Gerçek Dünya Uygulamaları

YOLO-NAS'ın kaynak koduna, ticari olmayan kullanım için erişilebilen Apache Lisansı 2.0 altında erişilebilir. Ticari kullanım için model, özel ağırlıklar elde etmek için sıfırdan yeniden eğitimden geçmelidir.

Aşağıdakiler gibi çeşitli alanlarda uygulaması mümkün olan çok yönlü bir modeldir:

Otonom Araçlar ve Robotik

YOLO-NAS, otonom araçların algılama yeteneklerini geliştirerek, gerçek zamanlı olarak nesneleri daha hızlı ve daha doğru bir şekilde algılamalarını ve takip etmelerini sağlayabilir. Bu yetenek, yol güvenliğini ve sorunsuz bir sürüş deneyimi sağlamaya yardımcı olur.

Gözetim ve Güvenlik Sistemleri

Model, gözetim ve güvenlik için hızlı, doğru ve gerçek zamanlı nesne algılama sağlayabilir. potansiyel tehditleri veya şüpheli etkinlikleri belirlemeye yardımcı olan ve daha iyi güvenlik sağlayan sistemler sistemler

Perakende ve Envanter Yönetimi

Model, verimli ve gerçek zamanlı otomatik envanter yönetimi, stok takibi ve raf optimizasyonu sağlayan hızlı ve doğru nesne algılama yetenekleri sağlayabilir. Bu model işletme maliyetlerini düşürmeye ve karı artırmaya yardımcı olur.

Sağlık ve Tıbbi Görüntüleme

Sağlık hizmetlerinde YOLO-NAS, hastalık anormalliklerinin veya belirli ilgi alanlarının verimli bir şekilde tespitine ve analizine yardımcı olabilir. Model, doktorların hastalıkları doğru bir şekilde teşhis etmesine ve hastaları izlemesine yardımcı olarak sağlık sektörünü geliştirebilir.

YOLO-NAS Paket Servisi

YOLO-NAS, nesne algılama gerçekleştirmenin yeni bir yoluna öncülük eden yeni bir nesne algılama modelidir. SOTA modellerinden daha iyidir. Nesne algılama konusundaki performansı, bilgisayarla görme projeleri için büyük bir sıçramadır.