"Hedef Tespit Algoritması" Bağlantıları: Daha Hızlı R-CNN, R-FCN'den FPN'ye

Lei Feng Net Not: Bu makale, Lei Feng'in altyazı grubu tarafından derlenen teknik bir blogdur, orijinal başlık Bölge tabanlı nesne algılayıcılardan (Daha Hızlı R-CNN, R-FCN, FPN) ne öğreniyoruz? Yazar Jonathan Hui'dir.

Tercüme | Tang Qing ve Li Zhen bitirme | Fan Jiang

Bu seride, hedef tespit algoritmasını tam olarak tartışacağız. Bölüm 1'de, Hızlı R-CNN, Daha Hızlı R-CNN, R-FCN ve FPN dahil olmak üzere yaygın bölge tabanlı nesne dedektörlerini tanıtıyoruz. Bölüm 2'de, tek çekim dektörlerini (SSD) tanıtıyoruz. Bölüm 3'te, algoritma performansını ve bazı özel örnekleri tartışıyoruz. Bu algoritmaları aynı ortamda inceleyerek, hangi parçaların rol oynadığını, hangi parçaların önemli olduğunu ve hangi parçaların daha da geliştirilebileceğini inceliyoruz. Algoritmanın bugüne kadar nasıl geliştiğini araştırarak, gelecekteki araştırmalarımıza yön vereceğini umuyoruz.

Bölüm 1: Bölge tabanlı nesne dedektörlerinden (Daha Hızlı R-CNN, R-FCN, FPN) neler öğrendik?

Bölüm 2: Tek adımlı dedektörden (SSD, YOLO), FPN ve Odak kaybından ne öğrendik?

Bölüm 3: Hedef tespiti, dersler ve gelişim eğilimlerinin tasarımı ve seçimi?

Sürgülü pencere dedektörleri

AlexNet 2012'de ILSVRC yarışmasını kazandığından bu yana, sınıflandırma için CNN kullanımı baskın alan haline geldi. Hedef tespiti için basit ve ham bir yöntem, hedefleri tanımlamak için sınıflandırmayı kullanmak üzere kayan pencereyi soldan sağa ve yukarıdan aşağıya kaydırmaktır. Hedef tiplerini farklı görsel mesafelerde ayırt etmek için farklı boyutlarda ve en boy oranlarında pencereler kullanıyoruz.

Sürgülü pencereye göre resimden bazı görüntü bloklarını kesiyoruz. Sınıflandırıcı genellikle sabit bir görüntü boyutu kullandığından, görüntü bloğunun deforme olması gerekir. Ancak bunun sınıflandırma doğruluğu üzerinde bir etkisi yoktur, çünkü deforme olmuş görüntünün sınıflandırıcının eğitimi sırasında da kullanılması gerekir.

Deforme olan görüntü bloğu, 4096 özelliklerini çıkarmak için CNN sınıflandırıcısına gönderilir. Ardından, sınıflandırma için bir SVM sınıflandırıcı ve sınırlayıcı kutuyu elde etmek için bir doğrusal regresyon kullanırız.

Aşağıdaki sözde koddur. Farklı pozisyonları ve farklı hedef şekillerini tespit etmek için birçok pencere oluşturduk. Performansı artırmak için pencere sayısını azaltmak bariz bir çözümdür.

Seçmeli Arama

Basit ve kaba yöntemler kullanmak yerine, hedef tespiti için ilgilenilen bölgeleri (ROI'ler) oluşturmak için bölge teklif yöntemini kullanıyoruz. Seçmeli arama algoritmasında (Seçmeli Arama, SS), her bağımsız pikseli bir başlangıç grubu olarak bırakıyoruz. Daha sonra her grubun dokusu hesaplanır ve en yakın iki grup birleştirilir. Bir alanın hepsini yutmasını önlemek için daha küçük grupları birleştirmeyi tercih ederiz. Olası tüm alanlar birleştirilene kadar birleştirmeye devam edin. Aşağıdaki şekilde, ilk satır bölgenin nasıl büyütüleceğini göstermektedir. İkinci satır, birleştirme işlemi sırasında olası tüm ROI'leri gösterir.

R-CNN

R-CNN, yaklaşık 2000 ilgi alanı (ROI) oluşturmak için bölge önerme yöntemini kullanır. Bu görüntü blokları sabit bir boyuta deforme olur ve bir CNN ağına gönderilir. Daha sonra, tamamen bağlı katman aracılığıyla hedef sınıflandırması ve sınırlayıcı kutu çıkarımı gerçekleştirilir.

Sistemin iş akışı aşağıdadır.

Daha az ama daha yüksek kaliteli yatırım getirisi kullanan R-CNN, kayan pencere yönteminden daha hızlı ve daha doğru çalışır.

Sınır kutusu regresörü

Alan önerisi yöntemi hesaplama açısından yoğundur. Bu süreci hızlandırmak için, ROI'leri oluşturmak için genellikle bölge teklif ağının basit bir sürümünü ve ardından sınırlayıcı kutuyu çıkarmak için (tamamen bağlı bir katman kullanarak) kablolama regresörünü kullanırız.

Hızlı R-CNN

R-CNN, doğruluğu sağlamak için yeterli sayıda önerilen bölge gerektirir ve birçok bölge birbiriyle örtüşür. R-CNN'in eğitimi ve çıkarım süreci çok yavaştır. Örneğin, 2000 bölge teklifi oluşturduk ve her bölge teklifi CNN'e ayrı ayrı giriyor. Başka bir deyişle, farklı ROI'ler için özellik çıkarma işlemini 2000 kez tekrarladık.

CNN'deki özellik haritası, uzamsal özellikleri daha dar bir alanda ifade eder. Bu özellik haritalarını orijinal görüntü yerine hedef tespiti için kullanabilir miyiz?

Her bir görüntü bloğu için özellikleri yeniden ayıklamak yerine, başlangıçta tüm görüntünün özelliklerini çıkarmak için bir özellik çıkarıcı (bir CNN ağı) kullanıyoruz. Daha sonra bölge önerme yöntemi doğrudan özellik haritasına uygulanır. Örneğin, Hızlı R-CNN, karşılık gelen özelliklerle haritalamayı içeren hedef algılama için birleştirilecek ROI'leri oluşturmak için VGG16'nın conv5 katmanını seçer. Görüntü bloğunu sabit bir boyuta dönüştürmek için ROI Pooling'i kullanıyoruz ve ardından sınıflandırma ve konumlandırma (hedefin yerini tespit etmek için) için tamamen bağlı katmana giriyoruz. Tekrarlanmayan özellik çıkarımı sayesinde, Hızlı R-CNN işlem süresini önemli ölçüde kısaltır.

Aşağıdaki ağ iş akışıdır:

Aşağıdaki sözde kodda, hesaplama açısından yoğun özellik çıkarma işlemi for döngüsünün dışına taşınır. Özellikler aynı anda 2000 ROI için çıkarıldığından, hız önemli ölçüde artırıldı. Hızlı R-CNN, eğitim için R-CNN'den 10 kat, çıkarım için 150 kat daha hızlıdır.

Fast R-CNN'nin ana özelliklerinden biri, tüm ağın (özellik çıkarıcı, sınıflandırıcı ve sınırlayıcı kutu regresörü) çoklu görev kayıpları (sınıflandırma kaybı ve yerelleştirme kaybı) yoluyla uçtan uca eğitilebilmesidir. Bu tasarım doğruluğu artırır.

YG Havuzu Oluşturma

Fast R-CNN tamamen bağlantılı bir katman kullandığından, farklı boyutlardaki ROI'leri önceden tanımlanmış şekillere dönüştürmek için ROI Pooling uyguluyoruz.

Örneğin, 8 × 8 özellik haritasını önceden tanımlanmış 2 × 2 boyutuna dönüştürüyoruz.

  • Sol üst: özellik haritası.

  • Sağ üst: ROI (mavi) özellik haritasıyla örtüşüyor.

  • Sol alt: ROI'yi hedef boyutlara ayırıyoruz. Örneğin, hedef boyutumuz 2 × 2'dir ve ROI'yi benzer veya eşit büyüklükte 4 parçaya böleriz.

  • Sağ alt: Her parçanın maksimum değerini alın ve sonuç, özellik eşleme dönüşümünün sonucudur.

Sonuç olarak, sınıflandırıcıya ve sınırlayıcı kutu regresörüne girebileceğimiz 2 × 2 özellik bloğu elde edilir.

Daha hızlı R-CNN

Hızlı R-CNN, Seçmeli Arama gibi ek bir alan önerme yöntemi kullanır. Bununla birlikte, bu algoritmalar CPU üzerinde çalışır ve çok yavaştır. Test sırasında Fast R-CNN'nin tahmin yapması 2.3 saniye sürdü ve bunlardan 2 tanesi 2000 ROI oluşturmak için harcandı.

Daha hızlı R-CNN, bölge önerme yöntemini dahili bir derin ağ ile değiştirmesi dışında Fast R-CNN'ye benzer bir tasarım kullanır. Yeni Bölge Teklif Ağı (RPN) daha verimlidir. Tek bir görüntünün yatırım getirisi oluşturması yalnızca 10 ms sürer.

Ağ iş akışı. Bölge önerme yöntemi, yeni bir evrişimli ağ (RPN) ile değiştirilir.

Bölge teklif ağı

Bölgesel Teklif Ağı (RPN), girdi olarak ilk evrişimli ağın özellik eşleme çıktısını kullanır. Özellik haritası üzerinde kaydırma (filtreleme) için 3 × 3 filtre kullanılır ve bilinmeyen sınıfın önerilen alanını elde etmek için ZF ağı (aşağıdaki şekilde gösterildiği gibi) gibi evrişimli bir ağ kullanılır. VGG veya ResNet gibi diğerleri, daha kapsamlı özellikleri çıkarmak için kullanılabilir, ancak bu hız pahasına. ZF ağı tarafından çıkarılan 256 değer, sınırlayıcı kutuyu ve nesnelik puanını (2 nesnelik puanı) tahmin etmek için tamamen bağlantılı iki farklı katmana gönderilir. Nesnellik, kutuda bir nesne olup olmadığını açıklar. Tek bir nesnenin puanını hesaplamak için bir regresör kullanabiliriz, ancak basitlik açısından, Daha Hızlı R-CNN iki olası kategoriyi sınıflandırmak için bir sınıflandırıcı kullanır: "mevcut nesneler" ve "eksik nesneler / arka plan".

RPN, özellik haritasındaki her konum (piksel) için K tahmininde bulunur. Bu nedenle, RPN her pozisyonda 4 × k koordinat ve 2 × k skoru verir. Aşağıdaki açıklama, toplam 8 × 8 × 3 ilgi alanı (ROI) (k = 3 olduğunda) çıkaran 3 × 3 filtre kullanan 8 × 8 özellik haritasını gösterir. Sağdaki açıklama, tek bir yerde elde edilen önerilen 3 alanı göstermektedir.

Şimdi 3 tahminimiz var ve sonra tahminlerimizi kademeli olarak geliştireceğiz. Sonunda sadece doğru bir tahmine ihtiyacımız olduğu için, farklı şekil ve boyutların ilk tahminlerini kullanmak daha iyidir. Bu nedenle, Daha Hızlı R-CNN, önerilen sınırlayıcı kutuyu rastgele seçmez. Bunun yerine, x, y gibi çapa adı verilen bazı referans çerçevelerinin sol üst köşesine göre ofseti tahmin eder. Ofseti kısıtladığımız için, tahminimiz hala çapaya benzer.

Her konum için k tahmininde bulunmak için, her konumun merkezine k çapa yerleştirmemiz gerekir. Her tahmin, farklı bir konumdaki ancak aynı şekle sahip belirli bir çapa ile ilgilidir.

Bu ankrajlar dikkatlice önceden seçilmiştir, bu nedenle çeşitlidirler ve farklı ölçeklere ve farklı görünüm oranlarına sahip gerçek hayattaki nesneleri makul bir şekilde kapsar. Bu, her bir tahminin belirli, farklı bir şekle sahip olmasına izin verirken, ilk eğitimin daha iyi tahminlere sahip olmasını sağlar. Bu, erken eğitimi daha istikrarlı ve daha kolay hale getirir.

Daha hızlı R-CNN daha fazla çapa kullanır. Daha hızlı R-CNN, tek bir konumda 9 çapa kullanır: 3 farklı ölçek ve üç en boy oranı. Her pozisyonda 9 çapa kullanılır, bu nedenle her pozisyon için toplam 2 × 9 objektiflik skoru ve 4 × 9 koordinat üretir.

Çapalar, farklı kağıtlarda öncel veya varsayılan sınırlayıcı kutular olarak da adlandırılır.

R-CNN performansı

Aşağıda gösterildiği gibi, Daha Hızlı R-CNN çok daha hızlıdır.

Bölge tabanlı tamamen evrişimli ağ

Yüzdeki sağ gözü algılamak için yalnızca bir özellik haritamız olduğunu varsayalım. Yüzün konumunu belirlemek için bunu kullanabilir miyiz? izin verilir. Sağ gözün yüz görüntüsünün sol üst köşesinde olması gerektiğinden, bu bilgiyi yüzün konumunu belirlemek için de kullanabiliriz.

Sol gözü, burnu ve ağzı ayrı ayrı algılamak için başka bir özellik haritamız varsa, yüz konumlandırmasını daha doğru hale getirmek için bu sonuçları birleştirebiliriz.

Öyleyse neden bu kadar zahmetliyiz? Daha Hızlı R-CNN'de, dedektör tahminler yapmak için çok sayıda tam bağlantılı katman kullanır.2000'den fazla ROI vardır ve bu çok pahalıdır.

R-FCN, her ROI için gereken toplam çalışma miktarını azaltarak hızı artırır. Yukarıdaki bölge bazlı özellik haritaları, ROI'lerden bağımsızdır ve her ROI dışında hesaplanabilir. Bir sonraki iş daha basittir, bu nedenle R-FCN, Daha Hızlı R-CNN'den daha hızlıdır.

Bu durumu düşünebiliriz M, içinde mavi kare bir nesne bulunan 5 * 5 özellikli bir harita.Kare nesneyi eşit olarak 3 * 3 alana böleriz. Şimdi M'den yeni bir özellik haritası oluşturuyoruz ve bunu sadece kare alanın sol üst köşesini tespit etmek için kullanıyoruz. Bu yeni özellik haritası sağda gösterilir, yalnızca sarı ızgara hücreleri etkinleştirilir.

Kareyi 9 parçaya böldüğümüz için, karşılık gelen nesne bölgelerini tespit etmek için 9 özellik haritası oluşturabiliriz. Her görüntü hedef nesnenin bir alt bölgesini algıladığından, bu özellik haritalarına konuma duyarlı puan haritaları denir.

Örneğin aşağıdaki şekilde noktalı çizginin çizdiği kırmızı dikdörtgenin önerilen ROI'ler olduğunu söyleyebiliriz. Onu 3 * 3 alana böleriz ve her alanın nesnenin karşılık gelen bölümünü içerme olasılığını elde ederiz. Örneğin, ROI'lerin sol üst alanında sol göz olasılığı vardır. Bu sonucu 3 * 3 oylama dizisinde saklıyoruz (sağda gösterildiği gibi). Örneğin, oylama dizisindeki değerin anlamı, kare hedefin sol üst alanını bulma olasılığıdır.

Puan haritasını ve ROI'leri oylama dizisine eşleme sürecine, konuma duyarlı ROI havuzu denir. Bu süreç, daha önce bahsettiğimiz ROI havuzuna çok benzer. Burada daha ayrıntılı açıklamayacağım, ancak daha fazla bilgi için sonraki bölümlere bakabilirsiniz.

Konuma duyarlı ROI havuzlamasının tüm değerlerini hesapladıktan sonra, sınıflandırma puanı tüm öğelerinin ortalamasıdır.

Algılanacak C tipi nesnelerimiz varsa. Arka plan (hedef nesne yok) sınıfı içerdiği için C + 1 sınıflarını kullanacağız. Her kategorinin 3 × 3 puan haritası vardır, bu nedenle (C + 1) × 3 × 3 puan haritaları vardır. Kendi kategorimizin sayı haritasını kullanarak her kategorinin puanlarını tahmin edebiliriz. Daha sonra, her kategorinin olasılığını hesaplamak için bu puanları değiştirmek için softmax'ı kullanırız.

Ardından veri akışı (resim), örneğin, örneğimizde, k = 3.

Şimdiye kadarki yolculuğumuz

En temel kayan pencere algoritmasıyla başlıyoruz.

Daha sonra pencere sayısını azaltmaya ve for-döngüden mümkün olduğunca çıkarılabilecek işlemleri çıkarmaya çalışıyoruz.

2. bölümde, for-döngüsünü daha tamamen kaldırdık. Tek atış dedektörleri, ek bölge önerisi adımlarına gerek kalmadan tek seferde nesne tespitinin tamamlanmasını sağlar.

RPN, R-FCN, Mask R-CNN'nin daha fazla okunması

Hem FPN hem de R-FCN, burada anlattığımızdan daha karmaşıktır. Daha fazla bilgi edinmek istiyorsanız, lütfen aşağıdakilere bakın:

  • https://medium.com/@jonathan_hui/understanding-feature-pyramid-networks-for-object-detection-fpn-45b227b9106c

  • https://medium.com/@jonathan_hui/understanding-region-based-fully-convolutional-networks-r-fcn-for-object-detection-828316f07c99

Orijinal blog sitesi https://medium.com/@jonathan_hui/what-do-we-learn-from-region-based-object-detectors-faster-r-cnn-r-fcn-fpn-7e354377a7c9

Lei Feng Ağı Lei Feng Ağı

Lei Feng Ağı Lei Feng Ağı

Önümüzdeki ay piyasaya sürülecek 2016 Guangzhou Otomobil Fuarı için hangi yeni arabalar var?
önceki
Nihai fragman burada! "Baby" adlı edebi filmde rol alan Yang Mi, Avrupa'da galasını yapacak
Sonraki
SUV'nin arka alanı + arabanın yol tutuşu, Jingrui cennete gidiyor!
Dünyanın çeşitli bölgelerindeki internet kafelerle karşılaştırıldığında, Japonya en düşünceli ve Afrika en iyi ortama sahip!
Gece okumasıManikürcü, Yeni Yıl için eve gittiklerinde yedi teyzenin ve sekiz halanın sihirli pençelerinden kaçamazTuristler yanlışlıkla iPhone'larını elmaları boz ayılara beslermiş gibi besler
"Gu Jian Qi Tan Zhi Liu Yue Zhaoming", "Leaf Return to Root" adlı tanıtım şarkısını ifşa etti Wang Leehom dizide yaralandı
Satın alma vergisi indiriminin süresi dolacak! 200.000 küçük deplasmanlı süper şarjlı SUV önerilir
Binlerce ticari marka reddedildi ve hepsi "ayırt edici olmamasından" öldü!
Sizi ses becerileri gelişiminin geçmişini ve bugününü anlamaya götürür
Vivo, X9 Star Grey Edition'ı piyasaya sürdü: 24 Aralık'ta satışta
Hei's Chuhe olayı tekrar tersine döndü. Chuhe gerçekte tehdit edildi ve bir arkadaşının evine kaçtı!
Nissan'ın Qijun'un resmi fiyatının yeni ABD versiyonu 1667 bin'den başlıyor
Mi 6, Snapdragon 835'i piyasaya sürmek için internette ortaya çıktı! Mart 2017'de satışa çıkacak
Mobike'nin Meituan tarafından satın alınmasından 10 ay sonra: entegrasyon, işten çıkarmalar, istifa, isim değişikliği ...
To Top