Ultralytics neden NMS kaldırıyor NMS bu, dağıtımı nasıl değiştiriyor?
Ultralytics gerçek uçtan uca, NMS çıkarımları nasıl mümkün kıldığını ve son işlemlerin kaldırılmasının dışa aktarımı ve uç dağıtımını neden basitleştirdiğini keşfedin.

Ultralytics gerçek uçtan uca, NMS çıkarımları nasıl mümkün kıldığını ve son işlemlerin kaldırılmasının dışa aktarımı ve uç dağıtımını neden basitleştirdiğini keşfedin.

14 Ocak'ta, bilgisayar görme modellerimizin en yeni nesli olan Ultralytics piyasaya sürdük. YOLO26 ile amacımız sadece doğruluğu veya hızı artırmak değil, nesne algılama modellerinin gerçek dünya sistemlerinde nasıl oluşturulduğunu ve uygulandığını yeniden düşünmekti.
Bilgisayar görüşü araştırma aşamasından üretim aşamasına geçerken, modellerin CPU'lar, uç cihazlar, kameralar, robotlar ve gömülü donanımlarda çalışması giderek daha fazla beklenmektedir. Bu ortamlarda, güvenilirlik, düşük gecikme süresi ve kolay dağıtım, performans kadar önemlidir.
YOLO26, bu gerçeği göz önünde bulundurarak, çıkarım boru hattındaki gereksiz karmaşıklığı ortadan kaldıran, akıcı bir uçtan uca mimari kullanılarak tasarlanmıştır. YOLO26'da yapılan en önemli yeniliklerden biri, genellikle NMS olarak bilinen Non-Maximum Suppression(Maksimum Olmayan Bastırma) özelliğinin kaldırılmasıdır.
Yıllardır NMS , nesne algılama sistemlerinin standart bir parçası NMS , yinelenen algılamaları temizlemek için son işlem adımı olarak NMS . Etkili olmakla birlikte, özellikle uç donanımda ekstra hesaplama ve dağıtım zorlukları da ortaya çıkarmıştır.
YOLO26 ile farklı bir yaklaşım benimsedik. Tahminlerin nasıl oluşturulduğunu ve eğitildiğini yeniden düşünerek, gerçek uçtan uca, NMS çıkarımları mümkün kıldık. Model, harici temizleme adımlarına veya elle oluşturulmuş kurallara bağlı kalmadan doğrudan nihai tespitler üretir. Bu, YOLO26'yı daha hızlı, dışa aktarması daha kolay ve çok çeşitli donanım platformlarında dağıtımı daha güvenilir hale getirir.

Bu makalede, geleneksel nesne algılamanın neden NMS dayandığını, bunun nasıl bir dağıtım darboğazı haline geldiğini ve YOLO26'nın geçici çözümlerin gerekliliğini nasıl ortadan kaldırdığını daha yakından inceleyeceğiz. Hadi başlayalım!
NMS ne NMS ve YOLO26'da neden kaldırıldığı konusuna girmeden önce, bir adım geri gidip geleneksel nesne algılama modellerinin tahminlerini nasıl oluşturduğuna bakalım.
Geleneksel nesne algılama modelleri genellikle aynı nesne için birden fazla üst üste binen sınırlayıcı kutu üretir. Bu kutuların her biri, görüntüdeki aynı nesneyi ifade etmelerine rağmen, kendi güvenilirlik puanına sahiptir.
Bunun birkaç nedeni vardır. İlk olarak, model birçok uzamsal konumda ve farklı ölçeklerde aynı anda tahminlerde bulunur. Bu, modelin farklı boyutlardaki detect yardımcı olur, ancak aynı zamanda yakın konumların aynı nesneyi bağımsız olarak tanımlayabileceği anlamına da gelir.
İkincisi, birçok nesne algılama sistemi, her konumun çevresinde çok sayıda aday kutu oluşturan bağlantı noktası tabanlı yaklaşımlar kullanır. Bu, nesneleri doğru bir şekilde bulma şansını artırırken, aynı zamanda çakışan tahminlerin sayısını da artırır.
Son olarak, ızgara tabanlı algılama doğal olarak yedekliliğe yol açar. Bir nesne birden fazla ızgara hücresinin sınırına yakın bir yerde bulunuyorsa, birkaç hücre o nesne için bir kutu tahmin edebilir ve bu da birden fazla örtüşen algılamaya neden olabilir.
Bu nedenle, modelin ham çıktısı genellikle tek bir nesne için birkaç kutu içerir. Sonuçları kullanılabilir hale getirmek için, bu gereksiz tahminlerin filtrelenerek yalnızca bir nihai algılama kalması gerekir.
Bir nesne algılama modeli aynı nesne için birden fazla üst üste binen sınırlayıcı kutu ürettiğinde, bu sonuçlar kullanılmadan önce temizlenmelidir. İşte burada Non-Maximum Suppression (Maksimum Olmayan Bastırma) uygulanır.
Maksimum Olmayan Bastırma, model tahminlerini tamamladıktan sonra çalışan bir son işlem adımıdır. Amacı, yinelenen algılamaları azaltarak her nesnenin tek bir son sınırlayıcı kutu ile temsil edilmesini sağlamaktır.

Bu işlem, sınırlayıcı kutuları güvenilirlik puanlarına ve ne kadar örtüştüklerine göre karşılaştırarak çalışır. Güvenilirliği çok düşük olan tahminler ilk olarak kaldırılır.
Kalan kutular güvenilirliklerine göre sıralanır ve en yüksek puanı alan kutu en iyi algılama olarak seçilir. Seçilen kutu diğer kutularla karşılaştırılır.
Başka bir kutu bununla çok fazla örtüşürse, o kutu bastırılır ve kaldırılır. Örtüşme genellikle , iki kutunun paylaştığı alan ile her ikisinin kapladığı toplam alan arasındaki oranı hesaplayan bir metrik olan Birleşim Üzerindeki Kesişim kullanılarak ölçülür . Bu işlem, yalnızca en güvenilir, örtüşmeyen algılamalar kalana kadar tekrarlanır.
Maksimum Olmayan Bastırma, yinelenen algılamaları filtrelemeye yardımcı olurken, modeller araştırma aşamasından çıkıp gerçek dünyaya uygulandığında daha belirgin hale gelen zorluklar da ortaya çıkarır.
En büyük sorunlardan biri performanstır. NMS , çıkarımdan sonra NMS ve hangilerinin saklanacağına karar vermek için sınırlayıcı kutuları birbirleriyle karşılaştırmayı gerektirir.
Bu işlem hesaplama açısından maliyetlidir ve verimli bir şekilde paralel hale getirmek zordur. Kenar cihazlarda ve CPU sistemlerde, bu ekstra iş yükü belirgin bir gecikmeye neden olabilir ve gerçek zamanlı gereksinimleri karşılamayı zorlaştırabilir.
NMS dağıtım karmaşıklığını NMS artırır. Modelin bir parçası olmadığı için, son işlem kodu olarak ayrı olarak uygulanması gerekir.
Farklı çalışma süreleri ve platformlar NMS farklı NMS işler, bu da genellikle her hedef ortam için özel uygulamaların sürdürülmesi anlamına gelir. Bir kurulumda çalışan bir şey, başka bir kurulumda biraz farklı davranabilir, bu da dağıtımı daha kırılgan ve ölçeklendirmeyi zorlaştırır.
Donanım optimizasyonu da bir başka zorluktur. NMS , sinir ağı işlemlerini verimli bir şekilde çalıştırmak için tasarlanmış özel AI hızlandırıcılarına tam olarak uyum NMS . Sonuç olarak, model optimize edilmiş donanımda hızlı bir şekilde çalışsa bile, NMS genel performansı sınırlayan bir darboğaz haline NMS .
Bu faktörlerin yanı sıra, NMS güven eşikleri ve örtüşme eşikleri gibi manuel olarak seçilen parametrelere NMS . Bu ayarlar sonuçları önemli ölçüde etkileyebilir ve genellikle farklı veri kümeleri, uygulamalar veya donanımlar için ayarlanması gerekir. Bu, üretim sistemlerinde davranışın daha az öngörülebilir olmasını sağlar ve ekstra yapılandırma yükü ekler.
Maksimum Bastırma'nın sınırlamaları, nesne algılama modellerinin çıkarım sırasında nasıl davranması gerektiğini yeniden düşünmemize neden oldu. Birbiriyle çakışan birçok tahmin üretip bunları sonradan temizlemek yerine, daha temel bir soru sorduk.
Model doğrudan nihai algılamaları üretebilseydi ne olurdu? Bu soru, uçtan uca nesne algılama çıkarımının merkezinde yer alır. Uçtan uca bir sistemde, model, harici temizleme adımlarına bağlı kalmadan, algılama sürecinin başından sonuna kadar tümünü gerçekleştirecek şekilde eğitilir.
Model, çok sayıda aday kutu üretip bunları çıkarımdan sonra filtrelemek yerine, kendi başına küçük bir grup güvenilir, çakışmayan tahminler üretmeyi öğrenir. Yinelenen tespitler, sonradan işlemeyle kaldırılmak yerine ağ içinde çözülür.
Yeni model mimarileri, bu yaklaşımın hem mümkün hem de pratik olduğunu gösterdi. Doğru eğitim stratejisiyle modeller, her bir nesneyi birçok rakip tahmin yerine tek bir tahminle ilişkilendirmeyi öğrenebilir ve böylece kaynağında yinelemeleri azaltabilir.

Bunun işe yaraması için eğitim de değişmelidir. Model, birçok tahminin aynı nesne için rekabet etmesine izin vermek yerine, tek bir net karar vermeyi öğrenir ve daha az sayıda ve daha güvenilir tespitler üretir.
Sonuç olarak, daha basit bir çıkarım boru hattı elde edilir. Çoğaltmalar dahili olarak zaten çözüldüğü için, çıkarım sırasında Maksimum Olmayan Bastırma işlemine gerek yoktur. Model çıktısı zaten nihai algılama kümesidir.
Bu uçtan uca tasarım, dağıtımı da kolaylaştırır. Son işlem adımları veya platforma özgü NMS olmadan, dışa aktarılan model tamamen bağımsızdır ve farklı çıkarım çerçeveleri ve donanım hedefleri arasında tutarlı bir şekilde çalışır.
Baş Ortaklık Mühendisimiz Francesco Mattioli'nin açıkladığı gibi, "Gerçek uçtan uca öğrenme, modelin farklılaşmayı bozan ve dağıtımı karmaşıklaştıran elle yapılan son işlem adımları olmadan, piksellerden tahminlere kadar her şeyi ele alması anlamına gelir."
YOLO26, algılamaların öğrenilme ve üretilme şeklini değiştirerek Non-Maximum Suppression'ı ortadan kaldırır, bunları temizlemek için sonradan işleme güvenmez. YOLO26, birçok tahminin aynı nesne için rekabet etmesine izin vermek yerine, nesneler ve çıktılar arasında net bir bire bir ilişki öğrenmek üzere eğitilir.
Bu, öğrenilebilir sorgu tabanlı algılama sayesinde kısmen mümkün olmaktadır. Bu özellik, modelin birçok çakışan aday yerine her nesne için tek bir güvenilir tahmin üretmeye odaklanmasına yardımcı olur. Her nesne tek bir tahminle ilişkilendirilir, böylece yinelenen algılamalar doğal olarak azalır.
Bu davranış, eğitim sırasında tutarlı eşleştirme stratejileriyle pekiştirilir ve modelin, çakışan tahminler üretmek yerine her nesne için tek bir kesin karar vermesini teşvik eder. Sonuç olarak, model daha az tahmin üretir, ancak her biri nihai bir algılamayı temsil eder.
YOLO26'da NMS çıkarım yapmayı mümkün kılan bir diğer önemli yenilik ise Dağıtım Odak Kaybı (DFL) özelliğinin kaldırılmasıdır. Önceki YOLO , DFL, tek bir değer yerine olası kutu konumlarının dağılımını tahmin ederek sınırlayıcı kutu regresyonunu iyileştirmek için kullanılıyordu.
Bu yaklaşım yerelleştirme doğruluğunu artırırken, algılama sürecini de daha karmaşık hale getirdi. Bu karmaşıklık, gerçek uçtan uca çıkarımlara geçilirken bir sınırlama haline geldi.
DFL, ek hesaplama ve sabit regresyon aralıkları getirerek modelin temiz, bire bir nesne atamalarını öğrenmesini zorlaştırdı ve Non-Maximum Suppression gibi son işlem adımlarına olan bağımlılığı artırdı. YOLO26 ile DFL'yi kaldırdık ve sınırlayıcı kutu regresyonunu daha basit ve daha doğrudan olacak şekilde yeniden tasarladık.
Dağıtım tabanlı çıktılara güvenmek yerine, model daha az sayıda ve daha güvenilir algılamaları destekleyen bir şekilde doğru kutu koordinatlarını tahmin etmeyi öğrenir. Bu değişiklik, kaynağında çakışan tahminleri azaltmaya yardımcı olur ve sınırlayıcı kutu regresyonunu YOLO26'nın uçtan uca, NMS tasarımıyla uyumlu hale getirir.
NMS tasarımı, YOLO26'yı gerçek anlamda uçtan uca bir model haline getirir. Bu, modellerin dışa aktarılması üzerinde önemli bir etkiye sahiptir.
Dışa aktarma, eğitilmiş bir modeli ONNX, TensorRT, CoreML veya OpenVINO gibi eğitim ortamı dışında çalıştırılabilen bir biçime dönüştürmek anlamına gelir. Geleneksel iş akışlarında, Non-Maximum Suppression modelin bir parçası olmadığı için bu süreç genellikle başarısız olur.
NMS kaldırarak, YOLO26 bu sorunu tamamen ortadan kaldırır. Dışa aktarılan model, nihai algılamaları üretmek için gereken her şeyi zaten içerir.
Bu, dışa aktarılan modeli tamamen bağımsız hale getirir ve çıkarım çerçeveleri ve donanım hedefleri arasında daha taşınabilir hale getirir. Aynı model, sunucularda, CPU sistemlerinde, gömülü cihazlarda veya kenar hızlandırıcılarında dağıtıldığında tutarlı bir şekilde davranır. Dışa aktardığınız şey tam olarak çalıştırdığınız şey olduğu için dağıtım daha basit hale gelir.
Bu basitlik, özellikle uç uygulamalar için önemlidir. Örneğin, YOLO26, sınırlı hesaplama ve güç bütçelerinin karmaşık son işlem boru hatlarını pratik olmaktan çıkardığı mahsul izleme, saha denetimi ve bitki sağlığı analizi gibi kullanım durumları için drone gibi cihazlara kolayca uygulanabilir. Model, nihai tespitleri doğrudan çıktığı için, ekstra işlem adımları olmadan hafif donanımlarda güvenilir bir şekilde çalışır.

Kısacası, NMS çıkarım, dışa aktarma ve dağıtımdaki sürtünmeyi ortadan kaldırır ve daha temiz, daha güvenilir görüntü sistemleri sağlar. NMS bir geçici NMS . YOLO26 artık geçici çözümlere ihtiyaç duymuyor.
YOLO26, yinelenen algılamaların temel sorununu çözerek Non-Maximum Suppression'ı ortadan kaldırır, bunları sonradan temizlemez. Uçtan uca tasarımı, modelin doğrudan nihai algılamalar üretmesini sağlar, böylece farklı donanımlar arasında dışa aktarma ve dağıtım daha basit ve tutarlı hale gelir. NMS , önceki sistemler için yararlı bir geçici NMS , ancak YOLO26 artık buna ihtiyaç duymuyor.
Topluluğumuza katılın ve GitHub deposunu inceleyerek yapay zeka hakkında daha fazla bilgi edinin. Tarımda yapay zeka ve perakendecilikte bilgisayar görüşü ile ilgili çözüm sayfalarımızı keşfedin. Lisans seçeneklerimizi inceleyin ve Vision AI'yı bugün kullanmaya başlayın!