Daha hızlı RCNN-RPN bölgesel öneri ağının temel bileşeni (2)

[Kişisel son işlem] Daha hızlı RCNN'nin temel bileşeni RPN bölgesel öneri ağı (2)

Önsöz: Daha hızlı RCNN, bölgesel evrişimli sinir ağının (RCNN serisi) üçüncü maddesidir. Bölge önerisini çok yavaş bulmak için seçme arama yöntemi sorununun çözülmesi önerilmektedir. Tüm hızlı RCNN'nin genel çerçevesi hala hızlı olanı takip etmektedir. -RCNN'nin temel enerji yapısı, ancak bölge teklifinin oluşturulmasına özel bir teknik yöntem uygulanmaktadır - bütününü daha hızlı anlamak en zor olan bölgesel öneri ağı (bölge teklif ağı veya RPN), bu makale onu da kullanacaktır. Açıklamaya odaklanın. Uzunluğu göz önünde bulundurarak, bu makale dizisi açıklamak için 3 makaleye bölünecektir:

İlk makale: daha hızlı RCNN'nin arka planı, yapısı ve genel uygulaması

Bölüm 2: Daha hızlı RCNN-RPN bölgesel öneri ağının temel bileşeni

Bölüm 3: Daha hızlı RCNN eğitimi ve eki

Bu zaman Bir serinin ikinci makalesi.

içindekiler

3. Bölgesel öneri ağı RPN'nin ayrıntılı açıklaması

3.1 Sınırın konumu neyi gösterir?

3.2 RPN ağının temel yapısı

3.3 RPN-çapasının temel konsepti

3.3.1 Bilgi incelemesi

3.3.2 RPN girişi ve çıkışı

3.3.3 Çapa tam olarak nedir?

3.3.4 Çapanın özü

3.3.5 Bu tasarım neden uygulanabilir?

3.4 Çapa oluşturmanın rolü ve amacı

3.5 RPN eğitim süreci

3.6 RPN nasıl ROI oluşturur?

3.7 RPN ağı ve Hızlı R-CNN ağı arasında ağırlık paylaşımı

3. Bölgesel öneri ağı RPN'nin ayrıntılı açıklaması

3.1 Sınırın konumu neyi gösterir?

Hedef tespiti zordur çünkü her nesnenin alan boyutu farklıdır ve her alan çerçevesi farklı bir boyuta (ölçek olarak da adlandırılır) ve farklı en boy oranlarına sahiptir.

Şimdi, resimde iki nesne olduğunu zaten bildiğinizi varsayalım. Akla gelen ilk şey bir ağ eğitmek ve 8 değer çıkarmaktır: sırasıyla iki çift tuple (xmin, ymin, xmax, ymax) ve (xmin, ymin, xmax, ymax) Her nesnenin sınırlayıcı kutusu tanımlanmıştır. Bu yaklaşımla ilgili bazı temel sorunlar var. Örneğin,

(1) Resmin boyutu ve en boy oranı tutarsız olduğunda, modeli tahmin etmek için iyi eğitmek çok karmaşık olacaktır; (Burada anlamıyorum, umarım söyleyebilirsin!)

(2) Başka bir sorun da geçersiz tahmindir: xmin ve xmax'ı tahmin ederken, xmin < xmax;

Aslında, nesnelerin sınırlayıcı kutusunu tahmin etmenin daha basit bir yolu vardır, yani referans kutularına göre ofseti öğrenir.Referans kutusunun konumunun aşağıdakiler tarafından belirlendiğini varsayarsak: (xcenter, ycenter, genişlik, yükseklik), tahmin etmeniz gerekir Miktar şu şekildedir: (xcenter, ycenter, width, height) ve değerleri, daha iyi uyum için referans kutusunu ayarlamak için genellikle çok küçük değerlerdir.

3.2 RPN ağının temel yapısı

Bu resmi ilk gördüğümde şaşkına dönmüştüm, uzun süre izledikten sonra yarı anlaşılmıştım, daha sonra bu resmi detaylı olarak tartışacağım Şimdilik yapısal bir resim. Tüm RPN ağının aslında çok sığ ve basit olduğunu bulduk, ama neden böyle tasarlandı? Bu tasarım ne tür bir etki yaratabilir?

3.3 RPN-çapasının temel konsepti

Çince'de "çapa", "çapa" anlamına gelir, öyleyse çapa nedir? Pek çok farklı açıklama var, aslında açıklamaların tamamen standart olduğu söylenemez.Genellikle farklı açılardan açıklanır.Hepsi anlamlıdır.Bu makale her türlü açıklamayı sentezleyecek ve anlaşılmasını kolaylaştırmaya çalışacaktır.

3.3.1 Bilgi incelemesi

Bir çapanın ne olduğunu anlamak için neden bir RPN bulduğumuzu bilmemiz ve önceki üç hedef tespit mimarisini RCNN, SPPNet ve hızlı RCNN'yi incelememiz gerekir.

(1) RCNN, orijinal görüntüde yaklaşık 2000 aday çerçeve seçmek için seçme arama yöntemini kullanır ve daha sonra her aday çerçeve üzerinde evrişim işlemleri gerçekleştirir;

(2) SPPNet ve hızlı RCNN önce tüm resmin CNN'den geçmesine izin verir ve ardından ortaya çıkan özellik haritasında yaklaşık 2000 aday çerçeve seçmek için seçmeli aramayı kullanın. Aslında, asıl ihtiyacımız olan şey orijinal görüntüdeki aday alan, öyleyse neden Aynı şey evrişimden sonra özellik haritasında da yapılabilir mi? Bunun nedeni, evrişimden sonraki özellik haritası ile orijinal görüntü arasındaki eşleme ilişkisidir ve özellik haritasındaki aday alan orijinal görüntüye eşlenebilir.

Neticede: RPN kullanmanın amacı, aday çerçeveler (orijinal görüntü üzerinde) oluşturmaktır. Ve burada önemli bir bilgi var yani evrişimden sonraki öznitelik haritası ile orijinal görüntü arasında bir haritalama ilişkisi var, öznitelik haritası üzerinde yanıt aday kutusunu bulabilirsem, adayın orijinal görüntüde bulunduğu anlamına gelir. çerçeve.

3.3.2 RPN girişi ve çıkışı

Giriş: RPN, özellik haritasından sonra bağlanır, dolayısıyla girişi özellik haritasıdır;

Çıktı: Almak istediğim şey aday alan, yani çıktı aday alan Bu doğru ama aslında ağda akan tüm veri veri, bu kutu ne anlama geliyor? Elbette veri şeklinde de ifade edilir.Bir diğer nokta da bu kutuda hedef olup olmadığıdır, bu da verilerle ifade edilir.

3.3.3 Çapa tam olarak nedir?

Çapa sabit boyut ve boyutta bir aday çerçeve olduğunu söyleyen pek çok literatür var, şahsen bu ifadenin çok yanlış ve sadece bir temsil olduğunu düşünüyorum. Bir bağlantının ne olduğunu cevaplamadan önce, RPN ağlarından birine bir göz atalım İlk adım , RPN'nin ilk işlemi aslında 3 * 3 * 256 evrişimli bir işlemdir, biz 3 * 3'e kayan pencere diyoruz. RPN girişinin bir 13 * 13 * 256 özellik haritası olduğunu ve daha sonra evrişim işlemlerini gerçekleştirmek için bir 3 * 3 * 256 evrişim çekirdeği kullandığını ve son olarak bir evrişim olduğu bir * a * 256 özellik haritası alacağınızı varsayalım. Adım bağlantılıdır.

Orijinal bildiride "temel aday kutular (bu benim adım)" olarak 3 farklı ölçek ve 3 farklı en boy oranı (en boy oranı) dikdörtgen kutu seçtik,

Üç ölçek / boyut {128,256,512}

Üç oran {1: 1, 1: 2, 2: 1}

Yani toplam 3x3 = 9 tür var.Bunların 9 çapa olduğunu söyleyen birçok belge var. Bunun yanlış olduğunu düşünmemin nedeni aşağıdaki iki yönden

(1) Çapa, adından da anlaşılacağı gibi, bir çapa noktasıdır Bu, çapa noktasının kendi anlamına uymayan dikdörtgen bir çerçevedir;

(2) Açıktır ki, bu 9 temel aday kutunun uzunluğu ve genişliği özellik haritasının uzunluğundan ve genişliğinden çok daha büyüktür, bu nedenle bu 9, yaklaşık 600 * 1000'e ölçeklenecek kağıttaki orijinal görüntü ile birlikte orijinal görüntüye başvurmalıdır. Boyut daha kesindir.Bazıları çapa noktasının özellik haritasında belirli bir nokta veya bir aday çerçeve olduğunu söyler.Bu 9, özellik haritasında hiç de aday çerçeve olmadığından bağlantı noktası yoktur. .

3.3.4 Çapanın özü

Bağlantı noktalarının gerçek anlamı: Özellik haritasının belirli bir pikseli ve orijinal görüntüye karşılık gelen belirli bir piksel olmalıdır, yani Esasen, orijinal piksel alanındaki özellik haritasındaki mevcut kayan pencerenin merkezinin eşleme noktasına atıfta bulunur, çapa olarak adlandırılır. Yani, çapa orijinal resim üzerindedir

Sonra bu bağlantı noktasını merkez olarak alın ve belirtilen 9 temel aday kareyi ekleyin. Bu doğru, dolayısıyla orijinal görüntüdeki görüntü kabaca aşağıdaki gibidir:

Siyah noktaların her biri bağlantı noktasıdır ve merkez olarak bu bağlantı noktaları ile çizilen 9 temel aday çerçeve.

3.3.5 Bu tasarım neden uygulanabilir?

Yukarıdaki örnek, çıktı özellik haritasının 13 * 13 * 256 olduğu ve ardından özellik haritasında 3 * 3 * 256 evrişim yapıldığı ve sınır doldurma varsayılan olarak yapıldığı varsayılarak açıklama için hala kullanılmaktadır.

Daha sonra her özellik haritasında toplam 13 * 13 = 169 piksel vardır Sınır dolgusunun kullanılması nedeniyle 3 * 3 evrişim gerçekleştirilirken her piksel 3 * 3 evrişim çekirdeğinin merkezi olarak kullanılabilir. Nokta, o zaman tüm evrişim 169 evrişim merkezine eşdeğerdir, bu 169 evrişim merkezinin orijinal görüntü üzerinde 169 karşılık gelen bağlantı noktası olacaktır ve daha sonra her bağlantı noktasının varsayılan boyutta 9 temel aday kutusu olacaktır. Bu, orijinal görüntüdeki toplam 169 * 9 = 1521 aday çerçeveye eşdeğerdir. Bu 1521 aday çerçevenin 9 farklı ölçeği vardır ve merkezler her yere dağılmıştır, bu nedenle orijinal görüntünün tüm alanlarını ve hatta Çok sayıda tekrarlanan bölge var.

Haritalama süreci aşağıdaki gibidir (kendiniz boyayın, iyi değilse lütfen beni affedin):

ek:

Öznitelik haritası ile orijinal görüntü arasındaki eşleştirme ilişkisine gelince, eklenmesi gereken bir nokta vardır.Orijinal görüntünün uzunluk ve genişliğinin G * Y ve özellik haritasının uzunluk ve genişliğinin g * y olduğu varsayıldığında, aşağıdaki ilişki vardır:

w = W / r

h = W / r

Burada r, her bir evrişimli katmanın adımlarının ve havuzlama katmanının ürünü olan alt örnekleme hızı olarak adlandırılır.VGG'de, r = 19.

Ama ağın öğrendiği şeyin veri olduğunu ve buradaki aday kutusunun soyut bir sonuç olduğunu söyledik, veri tam olarak nedir?

Aslında ihtiyacımız olan şey aday kutusunun kendisi değildir.İhtiyacımız olan veriler, her aday kutusunun konum bilgisi (x, y, w, h) ve hedef bilgileridir (evet, hayır). Bu şekilde her aday kutusunu anlayabiliriz. Hepsi bu 6 bilgiyi içerir ve 6 özellik olduğu söylenebilir, özellik haritasındaki her piksel, orijinal görüntüdeki bir "çapa" karşılık gelir ve her çapa 9 boyut oranı içerir. Farklı standart aday çerçeveler, her bir aday çerçeve bu 6 temel bilgiyi içerir, bu nedenle artık orijinal görüntüde çok sayıda bağlantı noktasını ve çok sayıda aday çerçeveyi dolaylı olarak öğrenen her bir özellik pikselini öğrenmeye eşdeğerdir. Bilgiyi bu şekilde anlamak daha iyi değil mi (kişisel anlayış, bir hata varsa lütfen beni düzeltin!)

Özetle:

Mevcut sürgülü pencerenin merkezinin orijinal piksel uzayında olduğu haritalama noktasına çapa adı verilir, merkez olarak bu çapa ile k (kağıtta varsayılan k = 9, 3 ölçek ve 3 en boy oranı) önerileri üretilir. Çapalar, evrişimsel özellik haritasına göre tanımlansa da, son çapalar orijinal görüntüye göre belirlenir.

RPN'nin özü, "kayan pencereye dayalı sınıfsız bir nesne detektörüdür".

3.4 Çapa oluşturmanın rolü ve amacı

Eğitim RPN ağının denetimli eğitim olduğunu bilmelisiniz, bu da veri ve ilgili sınıf etiketleri gerektirir Küçük ağa giriş 512 kanallı 3 * 3 kayan bir penceredir.Sınıf etiketi verilmemiştir ve sınıf etiketi olmadan hesaplanamaz. Kayıp kaybı işlevi, ağı eğitemiyor. Orijinal görüntüye karşılık gelen 3 * 3 kayan pencere merkezinin konumunu merkez noktası olarak alın, orijinal görüntüde farklı ölçek en boy oranlarına sahip 9 çapa oluşturun ve ardından her bir çapa, pozitif örnekler (1) ve negatif ile ilgili sınıf etiketine atanacaktır. Örnek (0), ayrıca eğitim için kullanılmayan (kullanılmayan) bir kutu vardır Pozitif örnekler için regresyon sınıfı etiketi ve negatif örnekler regresyon kaybını hesaplamaz. 0,1, iki kategorinin etiketidir. Dolayısıyla, orijinal görüntüde çapa oluşturmanın amaçlarından biri, sınıf etiketleri elde etmektir. Burada sadece sınıflandırma etiketi (0, 1) elde edilir ve pozitif numunenin regresyon etiketinin belirlenmesi gerekir Pozitif numunenin regresyon etiketi, karşılık gelen temel gerçeğe göre hesaplanır. Negatif örnekler, regresyon etiketi olmadan regresyon kaybını hesaplamaz.

3.5 RPN eğitim süreci

Yukarıda RPN işleminin yalnızca ilk adımı tartışılmıştır - aslında evrişim işlemi. Ardından, aşağıdaki adımları göz önünde bulundurun:

Yukarıda siyah daire içine alınmış kısım hesaplamanın ilk adımıdır ve kırmızı daire içine alınmış kısım hesaplamanın ikinci adımıdır.Aşağıdaki şekilde gösterildiği gibi ikinci hesaplama adımını ayrı olarak alacağız:

Not: Buradaki resim yukarıdakinden biraz farklıdır, ancak anlamı net bir şekilde anladığınız sürece önemli değildir.

RPN, giriş olarak temel ağ tarafından evrişim özelliği eşleme çıktısını kullanan bir tam dönüşlü ağdır.İlk olarak, 512 kanallı bir evrişim katmanı, 3x3 çekirdek kullanılır (yukarıdaki örnekte 256 kanal kullanılır, ancak Anlamayı etkilemez) ve ardından iki paralel 1 × 1 çekirdek evrişim katmanı Evrişimli katmandaki kanalların sayısı, her noktaya (her çapa) karşılık gelen standart aday kutuların sayısına (K) bağlıdır. Paralel bir 1x1 evrişimde soldaki sınıflandırma içindir. Buradaki sınıflandırma yalnızca iki kategoriye ayrılmıştır, yani aday kutusunda bir hedef olup olmadığı veya hiç hedefin bulunmaması. Hedefin ne olduğuna gelince, umursamayın, çünkü her çapa karşılık gelir k aday kutular, her bir aday kutu iki değere sahiptir (yani olasılıkla ve olasılıkla ifade edilir), bu nedenle her bir çapaya karşılık gelen çıktı 2K boyut vektörü olmalıdır, bu nedenle soldaki sınıflandırma evrişimi 2K kullanır kanal;

Aynı şekilde, sağ taraf, çerçevenin konum bilgisini alan evrişimli ağdır.Her bir çapa k aday çerçeveye karşılık geldiğinden, her bir aday çerçeve 4 konum değerine (x, y, w, h) sahiptir, bu nedenle her bir çapa karşılık gelir Çıktısı 4K boyut vektörü olmalıdır, bu nedenle sağdaki evrişim 4K kanalları kullanır; buradaki anlayış çok önemlidir.

Peki, RPN ağı tam olarak nasıl eğitilir?

RPN eğitiminde, olumlu örnek makaleler için iki tanım verilmektedir. İlk olarak, zemin doğruluk kutusu ile en büyük IoU'ya sahip ankrajlar pozitif örnekler olarak kullanılır; ikincisi, 0,7'den büyük IoU'lu temel doğruluk kutusuna sahip ankrajlar pozitif örnekler olarak kullanılır. Makale ilk yaklaşımı benimsedi. Metinde tanımlanan negatif örnekler, kesin referans kutusu ile IoU 0,3'ten küçük olan örneklerdir.

RPN eğitiminin kayıp işlevi aşağıdaki şekilde tanımlanır:

Bunlar arasında i, mini partideki i'ninci çapayı temsil eder ve pi, i'ninci çapanın ön plan olma olasılığını temsil eder. İ'ninci çapa ön plandayken pi 1, aksi takdirde 0, ti, öngörülen sınırlayıcı kutunun koordinatlarını temsil eder, ti Yer gerçeğinin koordinatlarıdır.

Fast R-CNN makalesini okuduktan ve makaleyi detaylı olarak yorumladıktan sonra, bu bölümdeki kayıp fonksiyonunun, pozitif ve negatif örneklerin tanımlarının farklı olması ve diğer temsillerin aynı olması dışında Fast R-CNN ile aynı olduğunu göreceksiniz. Biri çapraz entropi kaybı, diğeri ise smooth_L1 kayıp fonksiyonudur.

3.6 RPN nasıl ROI oluşturur?

RPN kendisini eğitirken, aynı zamanda eğitim örnekleri olarak Hızlı RCNN'ye (RoIHead) RoI'ler (ilgi alanları) sağlar. RPN'nin RoI (ProposalCreator) oluşturma süreci aşağıdaki gibidir:

(1) Her resim için, (Y / 16) × (G / 16) × 9 (yaklaşık 20.000) çapaların ön plana ait olma olasılığını ve karşılık gelen konum parametrelerini hesaplamak için her bir resim için özellik haritasını kullanın. (Burada W ve H, daha önce bahsedilen orijinal görüntünün genişliğini ve yüksekliğini temsil eder)

(2) Daha yüksek olasılığa sahip 12.000 çapa seçin, RoI'leri elde etmek için bu 12.000 çapanın konumlarını düzeltmek için regresyon konumu parametrelerini kullanın ve en yüksek olasılığa sahip olanı seçmek için (Maksimum olmayan bastırma, NMS) bastırmayı kullanın 2000 Yatırım Getirisi

Not: Çıkarım anında işlem hızını artırmak için 12000 ve 2000 sırasıyla 6000 ve 300 olarak değiştirildi.

Not: İşlemin bu kısmı geri yayılım gerektirmez, bu nedenle numpy / tensor kullanılarak uygulanabilir.

RPN çıkışı: RoI'ler (2000 × 4 veya 300 × 4 şeklinde tensör)

3.7 RPN ağı ve Hızlı R-CNN ağı arasında ağırlık paylaşımı

RPN'nin nihai amacı aday alanı elde etmektir, ancak hedef tespitinin nihai amacı, nihai nesnenin konumunu ve karşılık gelen olasılığı elde etmektir Fonksiyonun bu kısmı Fast R-CNN tarafından yapılır. Hem RPN hem de Fast R-CNN, özelliklerin ayıklanması için CNN ağının kullanılmasını gerektirdiğinden, makalenin yöntemi RPN ve Fast R-CNN'nin aynı CNN parçasını paylaşmasını sağlamaktır.

Faster R-CNN'in eğitim yöntemleri esas olarak ikiye ayrılır; amaç, aşağıdaki şekilde gösterildiği gibi RPN ve Fast R-CNN'in CNN bölümünü paylaşmasını sağlamaktır:

Biri yinelemelidir, önce RPN'yi eğitin, ardından elde edilen aday bölgeyi Hızlı R-CNN'yi eğitmek için kullanın ve ardından RPN'yi yeniden eğitmek için RPN'nin CNN'sini başlatmak için elde edilen Hızlı R-CNN'deki CNN'yi kullanın (CNN'yi burada güncelleyin, yalnızca RPN'yi güncelleyin Benzersiz katman) ve son olarak Hızlı R-CNN'yi yeniden eğitin (CNN burada güncellenmez, yalnızca benzersiz Hızlı R-CNN katmanı).

Daha basit bir yöntem de vardır, RPN ve Fast R-CNN'yi birlikte eğitmek için birleştiren uçtan uca eğitim yöntemi Kodun tf versiyonu bu şekilde uygulanabilir.

Pratik ipuçları: WeChat ve Alipay ödemelerini almak için bir QR kodu
önceki
2018'de açılan 15 yeni demiryolunun envanteri: Evinizin önünden hangisi geçiyor?
Sonraki
HyperX Aloi mekanik klavye ışık kirliliği efekti ekranı, biraz fazla düşük tuş
Daha hızlı RCNN'nin arka planı, yapısı ve genel uygulama mimarisi (1)
Huawei Mate 20 Pro Fu Lei Kırmızı, Yıldız Mavisi Pozlama: Bu renk şeması çok sıcak olacak
Daha parlak klavye tuşlarına, HyperX Aloi mekanik klavyeye sahip olmak güzel olurdu
En iyi i9 oyun makinesi, bu X299 seçilmeli! ASUS ROG RAMPAGE APEX anakart değerlendirmesi
[Avrupa Ligi] Chelsea, Malmö 2-1 yendi, Giroud son 4 Avrupa maçında 5 gol attı
Hafta sonu avantajları! Python gelişmiş programlama tanımlayıcı Tanımlayıcı ayrıntılı
Düşük fiyatlı X99 platformunu eşleştirmek isteyen kullanıcıların zamanı geldi. MSInın X99A anakartında birçok fiyat indirimi var
MSInın en güçlü Z170 anakartı! Promosyon fiyatı kesintileri karşılayamayacakmışım gibi hissediyorum
Double Eleven burada, ellerini kesmeye hazır mısın? 4400 yuan genel oyun konfigürasyonu ekranı
Dikkatle kullanın! Önemli bilgiler WeChat tarafından gönderilen "orijinal görüntüde" gizlidir
Sivil amiral gemisi, bir vicdan eseri! Ucuz eşek 325RS mutlak kablolu oyun faresi deneyimi
To Top