Önsöz
Anlamsal bölümleme ağ klasikleri: FCN ve SegNet
Tam metin kataloğu
1. FCN
2. SegNet
Kod adresi
Görüntüdeki her pikseli belirli bir nesne kategorisine atamak için, ilgili modelin piksel düzeyinde yoğun tahmin yeteneklerine sahip olması gerekir.
01
(I. Genel Bakış
Mevcut sınıflandırma ağını (AlexNet, VGG, GoogLeNet) tam evrişimli ağa uyarlayın ve öğrenilen özellik ifade yeteneklerini ince ayar yoluyla segmentasyon görevlerine aktarın. Ardından, doğru ve ince bölümleme üretmek için derin ve kaba katmanlardan gelen anlamsal bilgileri ve sığ ve ince katmanlardan gelen temsil bilgilerini birleştiren atlama tipi bir mimari tanımlanır.
Yukarıdaki şekilde görülebileceği gibi, sınıflandırma ağı tamamen evrişimli bir ağa değiştirilir ve düşük çözünürlüklü bir sınıf ısı haritası (şekilde: tekir kedi ısı haritası) oluşturulur ve yukarı örnekleme, çift doğrusal başlatma ile ters evrişimdir. Yukarı örneklemenin her aşamasında, alt örnekleme aşamasında ağın alt katmanının daha kaba ancak daha yüksek çözünürlüklü özellik haritalarını birleştirerek (basitçe ekleyerek) özellikler daha da iyileştirilir.
(2) Özellik yukarı örnekleme ve füzyon ayrıntıları
Yukarıdaki şekil, algoritmanın, segmentasyon performansını iyileştirmek için yüksek seviyeli özellikleri ve düşük seviyeli özellikleri birleştiren bir "füzyon katmanı" stratejisini (basit ekleme) benimsediğini göstermektedir. Üç farklı yapı kullanılmaktadır. Birincisi 32x yukarı örneklenmiştir, İkincisi 16x yükseltilmiş, üçüncüsü ise 8x yükseltilmiş.
Süreç şuna benzer:
1. 32x üst örneklenmiş
Orijinal görüntü, pool5 katmanının (orijinal görüntüden 32 kat daha küçük olan) özelliklerini elde etmek için sürekli evrişime ve havuzlamaya tabi tutulur ve nihai sonucu elde etmek için havuz 5, 32 kat (ters evrişim) yukarı örneklenir. Ancak pool5 katmanının özellikleri üst düzey soyut özelliklerdir ve örnekleme sonrası elde edilen sonuçlar yeterince ayrıntılı değildir.
2. 16x üst örneklenmiş
Pool5 sonucunu 2 kez yükseltin ve "füzyon" olarak pool4'e ekleyin ve ardından nihai sonucu elde etmek için "füzyon" sonucunu 16 kez (ters evrişim) yükseltin (Not: Fusion, karşılık gelen konum pikselini ifade eder. Değerler eklenir ve daha sonra u-net doğrudan kanala eklenir).
3. 8x örneklenmiş
Pool5 sonucunu 2 kez yükseltin ve "füzyon" olarak pool4'e ekleyin, ardından "fusion" sonucunu 2 kez yükseltin, ardından pool3 sonucuyla "fusion" ve ardından 8 kat yukarı örnekleyin .
Üç yapının deneysel sonuçları, yüksek seviyeli özelliklerin ve düşük seviyeli özelliklerin birleştirilmesinin, aşağıdaki şekilde gösterildiği gibi piksellerin sınıflandırma etkisini önemli ölçüde iyileştirebileceğini göstermektedir:
02
(I. Genel Bakış
Yukarıdaki şekilde segNet'in tam olarak bağlı bir katmana sahip olmadığını görebilirsiniz. SegNet ve FCN, düşünme açısından çok benzerler Aradaki fark, kod çözücünün girişini doğrusal olmayan bir şekilde yukarı örneklemek için kodlayıcıdan iletilen en büyük havuz indeksini (konum) kullanmasıdır, böylece yukarı örnekleme öğrenme gerektirmez ve seyrek bir özellik haritası oluşturur. Ardından, yoğun özellik haritaları oluşturmak için evrişim işlemleri gerçekleştirmek için eğitilebilir bir evrişim çekirdeği kullanın. Son kod çözücü çıktı özelliği haritası, piksel seviyesi sınıflandırması için soft-max sınıflandırıcısına gönderilir.
Yukarı örnekleme için havuz katmanı indeksini kullanmanın avantajları:
1) Kenar karakterizasyonunun derecesini geliştirin;
2) Eğitim parametrelerini azaltın;
3) Bu mod, herhangi bir kodlama-kod çözme ağına dahil edilebilir.
(2) Kodlama ve kod çözme süreci
SegNet, kodlama aşamasında havuzlama sırasında 2x2 filtrede maksimum tarafından seçilen ağırlığın göreceli konumunu koruyacaktır; bu, kod çözücüde, ilgili özellik haritasını saklamak için bu depolanmış dizinleri kullanmak için kullanılacaktır. Resim şunları gösterir:
03
Ağ yapısı bölümünün kodu şu şekilde detaylandırılmıştır:
https://github.com/cswhshi/segmentation/blob/master/FCN.ipynb
https://github.com/cswhshi/segmentation/blob/master/SegNet.ipynb