Bilgisayarlı görü alanındaki ana uygulamalardan biri olan nesne algılama, robotik ve sürücüsüz arabalar gibi yüksek hassasiyet gerektiren ancak sınırlı bilgi işlem kaynaklarına sahip senaryolarda giderek daha önemli hale geliyor. Ne yazık ki, birçok modern yüksek hassasiyetli dedektör bu sınırlamaları karşılamamaktadır. Daha da önemlisi, gerçek dünya nesne algılama uygulamaları, genellikle farklı kaynaklar gerektiren farklı platformlarda çalışır.
Öyleyse doğal soru, aynı zamanda çok çeşitli kaynak kısıtlamalarına da uyum sağlayabilen doğru ve verimli nesne dedektörlerinin nasıl tasarlanacağıdır?
EfficientDet: CVPR 2020'de benimsenen Ölçeklenebilir ve Verimli Nesne Algılama, ölçeklenebilir ve verimli nesne dedektörlerinden oluşan yeni bir aileyi tanıtıyor. Sinir ağlarını ölçeklendirme (EfficientNet) üzerine önceki çalışmaları temel alan ve yeni bir çift yönlü işlevsel ağ (BiFPN) ve yeni ölçeklendirme kurallarını birleştiren EfficientDet, bilinen modern dedektörlerden 9 kat daha küçükken modern hassasiyete ulaşır ve önemli ölçüde daha az hesaplama kullanır. Aşağıdaki şekil, modellerin genel ağ mimarisini göstermektedir.
Model Mimarisini Optimize Etme
EfficientDet'in arkasındaki fikir, önceki son teknoloji ürünü algılama modellerini sistematik olarak inceleyerek hesaplama verimliliğini artırmak için çözümler bulma çabasından kaynaklanmaktadır. Genel olarak, nesne dedektörlerinin üç ana bileşeni vardır: belirli bir görüntüden öznitelikleri çıkaran bir omurga; girdi olarak omurgadan çok sayıda fonksiyon alan ve görüntünün karakteristik özelliklerini temsil eden birleştirilmiş fonksiyonların bir listesini veren bir nesneler ağı; ve her nesnenin sınıfını ve konumunu tahmin etmek için birleşik işlevleri kullanan son bir sınıf/kutu ağı.
Bu bileşenlerin tasarım seçeneklerini inceledikten sonra, performansı ve verimliliği artırmak için birkaç temel optimizasyon belirledik. Önceki dedektörler çoğunlukla omurga olarak ResNets, ResNeXt veya AmoebaNet kullanır; bunlar EfficientNets'ten daha az güçlü veya daha düşük verimliliğe sahiptir. EfficientNet omurgasının ilk uygulamasıyla çok daha fazla verimlilik elde edilebilir. Örneğin, ResNet-50 omurgasını kullanan bir RetinaNet taban çizgisiyle başlayan ablasyon çalışmamız, ResNet-50'nin EfficientNet-B3 ile değiştirilmesinin, hesaplamayı %20 azaltırken doğruluğu %3 artırabileceğini göstermektedir. Başka bir optimizasyon, işlevsel ağların verimliliğini artırmaktır. Önceki dedektörlerin çoğu basitçe Downlink Piramit Ağı'nı (FPN) kullanırken, aşağı akış FPN'nin doğası gereği tek yönlü bir bilgi akışıyla sınırlı olduğunu bulduk. PANet gibi alternatif FPN'ler, ek hesaplama pahasına ek yukarı akış ekler.
Neural Architecture Search'ü (NAS) kullanmaya yönelik son girişimler, daha karmaşık bir NAS-FPN mimarisi keşfetti. Bununla birlikte, bu ağ yapısı etkili olmakla birlikte, aynı zamanda düzensizdir ve belirli bir görev için yüksek düzeyde optimize edilmiştir, bu da diğer görevlere uyum sağlamayı zorlaştırır. Bu sorunları çözmek için, FPN / PANet / NAS-FPN'den çok katmanlı fonksiyonları birleştirme fikrini uygulayan, bilginin hem yukarıdan aşağıya hem de yukarıdan aşağıya iletilmesine izin veren yeni bir çift yönlü fonksiyonlar BiFPN ağı öneriyoruz. aşağıdan yukarıya. düzenli ve etkili bağlantılar kullanarak.
Verimliliği daha da artırmak için yeni bir hızlı normalleştirilmiş sentez tekniği öneriyoruz. Geleneksel yaklaşımlar, farklı çözünürlüklerde bile, genellikle tüm girdileri FPN'ye aynı şekilde ele alır. Ancak, farklı çözünürlüklere sahip giriş özelliklerinin genellikle çıkış işlevlerine eşit olmayan bir şekilde katkıda bulunduğunu gözlemliyoruz. Böylece her giriş işlevine ekstra ağırlık ekliyoruz ve ağın her birinin önemini öğrenmesini sağlıyoruz. Ayrıca tüm normal evrişimleri daha az pahalı, derinlemesine ayrılabilir evrişimlerle değiştireceğiz. Bu optimizasyonla, BiFPN'miz doğruluğu %4 artırırken hesaplama maliyetlerini %50 oranında azaltır.
Üçüncü optimizasyon, çeşitli kaynak kısıtlamaları altında doğruluk ve verimlilik arasında en iyi uzlaşmayı sağlamayı içerir. Önceki çalışmamız, bir ağın derinliğini, genişliğini ve çözünürlüğünü birlikte ölçeklendirmenin görüntü tanıma performansını önemli ölçüde iyileştirebileceğini göstermiştir. Bu fikirden esinlenerek, nesne dedektörleri için çözünürlüğü/derinliği/genişliği toplu olarak artıran yeni bir bileşik ölçekleme yöntemi öneriyoruz. Her ağ bileşeni, yani omurga, nesne ve blok/sınıf tahmini ağı, buluşsal kurallar kullanarak tüm ölçeklendirme boyutlarını kontrol eden tek bir karmaşık ölçeklendirme faktörüne sahip olacaktır. Bu yaklaşım, belirli bir hedef kaynak kısıtlaması için bir ölçek faktörü hesaplayarak modelin nasıl ölçeklendirileceğini belirlemeyi kolaylaştırır.
Yeni omurgayı ve BiFPN'yi birleştirerek, önce küçük bir EfficientDet-D0 taban çizgisi tasarlıyoruz ve ardından EfficientDet-D1'den D7'ye ulaşmak için bileşik ölçeklendirme uyguluyoruz. Her seri model, 3 milyar FLOP'tan 300 milyar FLOPS'a kadar çok çeşitli kaynak kısıtlamalarını kapsayan daha yüksek bir hesaplama maliyetine sahiptir ve daha yüksek doğruluk sağlar.
performans modeli
EfficientDet'in nesne tespiti için yaygın olarak kullanılan bir referans veri kümesi olan COCO veri kümesinde değerlendirilmesi. EfficientDet-D7, 4 kat daha az parametre ve 9,4 kat daha az hesaplama kullanarak önceki modern modelden 1,5 puan daha yüksek olan 52,2 ortalama ortalama doğruluk (mAP) elde eder.
EfficientDet ve önceki modeller arasında parametre boyutunu ve CPU / GPU gecikmesini de karşılaştırdık. Benzer doğruluk kısıtlamalarıyla, EfficientDet modelleri diğer dedektörlere göre GPU'da 2-4 kat ve işlemcide 5-11 kat daha hızlı çalışır. EfficientDet modelleri öncelikle nesne algılamaya yönelik olsa da, anlamsal segmentasyon gibi diğer görevlerde de etkinliklerini test ediyoruz. Segmentasyon görevlerini gerçekleştirmek için, aynı ölçekli omurga ve BiFPN'yi korurken algılama başlığı ve yük kaybı ve kaybını değiştirerek EfficientDet-D4'ü biraz değiştirdik. Bu modeli, yaygın olarak kullanılan bir segmentasyon testi veri seti olan Pascal VOC 2012 için önceki modern segmentasyon modelleriyle karşılaştırıyoruz.
Olağanüstü performansları göz önüne alındığında, EfficientDet'in gelecekteki nesne algılama araştırmaları için yeni bir temel oluşturması ve potansiyel olarak birçok gerçek dünya uygulamasında yararlı olan yüksek doğrulukta nesne algılama modelleri yapması bekleniyor. Böylece Github.com'da kodun ve önceden eğitilmiş modelin tüm kesme noktalarını açtı.