Contents — find the section you need
SegFormer'dan önce de Transformer'ları semantik segmentasyona dahil etme girişimleri vardı, ancak bunların çoğu konumsal kodlamaya ve karmaşık kod çözücülere dayanıyordu. Bu nedenle iki sorunla karşı karşıya kaldılar: test çözünürlüğü eğitim çözünürlüğünden farklı olduğunda doğruluk düşebiliyordu ve hesaplama maliyeti yüksek olabiliyordu. SegFormer (Xie, Wang, Yu, Anandkumar, Alvarez ve Luo, NeurIPS 2021), bu iki sorunu da oldukça basit bir tasarımla ele alıyor: konumsal kodlama içermeyen hiyerarşik bir kodlayıcı ve hiç evrişim kullanmayan tamamen MLP tabanlı bir kod çözücü. Bu makale, orijinal makaleye (arXiv:2105.15203) dayanarak, bu tasarımın neden işe yaradığını adım adım inceliyor.
**
Bu makale, "SegFormer: Transformer'larla Semantik Segmentasyon için Basit ve Verimli Tasarım" (Xie vd., NeurIPS 2021, arXiv:2105.15203) başlıklı orijinal makaleye dayanmaktadır.
0. Neler öğreneceksiniz
- SegFormer'ın önceki Transformer tabanlı segmentasyon modellerinde çözmeyi amaçladığı sorunlar
- Hiyerarşik MiT (Karışık Transformer) kodlayıcısının konum kodlaması olmadan nasıl çalıştığı
- Hiçbir evrişim içermeyen, yalnızca MLP'lerden oluşan bir kod çözücünün neden hala yüksek doğruluk elde edebildiği
- Cityscapes ve ADE20K'da B0-B5 için ölçülen mIoU, parametre sayıları ve hesaplama maliyeti
- Görüntü bozulmasına karşı dayanıklılık da dahil olmak üzere pratikte bir modelin nasıl seçileceği
1. SegFormer nedir?
SegFormer, konumsal kodlama içermeyen hiyerarşik bir Transformer kodlayıcıyı (MiT) hiç evrişim kullanmayan hafif bir All-MLP kod çözücü ile birleştiren bir semantik segmentasyon modelidir. Temel fikri, kodlayıcı ve kod çözücü arasındaki iş bölümünü yeniden tasarlamaktır: kodlayıcı birden fazla çözünürlükte özellikler ürettikten sonra, kod çözücü büyük ölçüde basitleştirilebilir.
2. Bu tasarım neden gerekliydi?
Semantik segmentasyon için doğrudan bir Vision Transformer (ViT) kodlayıcı olarak kullanmak iki sorun yaratır. Birincisi, ViT tarafından üretilen özelliklerin yalnızca tek bir çözünürlüğü vardır. Nesneler bir görüntü içinde birçok farklı boyuta sahip olabilir ve FCN ve U-Net gibi geleneksel CNN tabanlı segmentasyon modelleri, birden fazla çözünürlükteki özellikleri birleştirerek bunu ele alır. Yalnızca tek bir çözünürlük üreten bir ViT, bu çok ölçekli temsil kapasitesini kaybeder.
İkinci sorun ise konumsal kodlamaya bağımlılıktır. ViT, bir görüntüyü yamalara ayırır ve bunları bir Transformer'a besler, ancak Transformer'ın kendisi her bir yamanın görüntüde nerede bulunduğuna dair hiçbir bilgiye sahip değildir. Bu nedenle, sabit veya öğrenilmiş bir konum kodlaması ayrı olarak eklenmelidir. Bu kodlama, eğitim sırasında kullanılan giriş çözünürlüğü için oluşturulduğundan, çıkarım zamanında farklı bir çözünürlüğe sahip bir görüntü, konum kodlamasının enterpolasyonunu gerektirir ve bu da doğruluğu azaltabilir. Bölümleme genellikle tespitten daha yüksek çözünürlüklü girdiler gerektirir, bu da bu çözünürlük bağımlılığını özellikle sorunlu hale getirir.
SegFormer, hiyerarşik bir kodlayıcı kullanarak ve konum kodlamasını tamamen ortadan kaldırarak her iki sorunu da kökünden ele alır.
3. Giriş nedir?
Diğer bölümleme modellerinde olduğu gibi, giriş bir RGB görüntüsü x \in \mathbb{R}^{H \times W \times 3}'dır. SegFormer, Cityscapes için yüksek çözünürlüklü görüntüler (1024×2048) ve ADE20K için yaklaşık 512×512 görüntüler üzerinde değerlendirilmiştir. ViT kaba 16×16 yamalarla örneklemeyi azaltırken, SegFormer'ın kodlayıcısı 4×4 kadar küçük yamalarla başlar ve özellik çıkarımının başlangıcında daha fazla ayrıntıyı korur.
4. Ne tahmin eder?
Çıktı, giriş çözünürlüğünün 1/4'ünde bir segmentasyon haritasıdır ve her pikselin sınıfı \hat{y} \in \mathbb{R}^{\frac{H}{4} \times \frac{W}{4} \times N_{cls}} (N_{cls} sınıf sayısıdır) olarak temsil edilir. Daha sonra en yakın komşu enterpolasyonu veya benzer bir yöntem kullanılarak orijinal çözünürlüğe geri döndürülür. Temel fikir, kodlayıcı yeterince zengin çok ölçekli özellikler oluşturursa, kod çözücünün bunları entegre etmek ve doğru bir maskeye dönüştürmek için yalnızca basit doğrusal katmanların bir kombinasyonuna ihtiyaç duymasıdır.
5. Temel Mimari
SegFormer iki ana bloktan oluşur: dört çözünürlükte özellikleri çıkaran bir MiT (Mix Transformer) kodlayıcı ve bu özellikleri birleştirip bir segmentasyon maskesi çıkaran bir All-MLP kod çözücü.
Şekil 1 — MiT kodlayıcı dört çözünürlükte (1/4, 1/8, 1/16 ve 1/32) özellikler üretir ve All-MLP kod çözücü, bir segmentasyon maskesi oluşturmak için yalnızca doğrusal katmanlar kullanarak bunları birleştirir. Tek evrişim, kodlayıcının Mix-FFN katmanındadır; kod çözücü kelimenin tam anlamıyla tamamen doğrusal katmanlardan oluşur.
Kodlayıcı, dört çözünürlükte önceden özellikler oluşturduğu için, kod çözücü neredeyse minimum işlemle doğru bir maske elde edebilir: özellikleri hizalayın ve birleştirin. Bu iş bölümü, SegFormer'ın toplam parametre sayısını düşük tutmasının ana nedenidir.
6. Bileşenlerin teknik detayları
Örtüşen Yama Birleştirme — dört aşamalı bir hiyerarşi
ViT'nin yaptığı gibi görüntüyü yalnızca bir kez yamalara bölmek yerine, MiT kodlayıcısı çözünürlüğü dört aşamada kademeli olarak azaltır. Çıkış çözünürlükleri, ResNet gibi CNN omurgaları tarafından kullanılan hiyerarşik yapıyı yeniden üreterek, girişin 1/4, 1/8, 1/16 ve 1/32'sidir.
Yama bölümleme yöntemi, ViT'nin örtüşmeyen yamalarından da farklıdır: bitişik yamalar birleştirildiklerinde örtüşürler. İlk aşama K=7 çekirdek boyutu, S=4 adım ve P=3 dolgu kullanır; sonraki aşamalar K=3, S=2, P=1 kullanır. Örtüşme, özellik haritası azaltılırken, yama sınırları boyunca yerel sürekliliği (komşu yamalar tarafından paylaşılan bilgiyi) korur.
Verimli Öz Dikkat
Sıradan çok başlı öz dikkat, N uzunluğundaki bir dizi için O(N^2) hesaplama gerektirir. N yüksek çözünürlüklü segmentasyon için çok büyük hale geldiğinden, bu ciddi bir darboğazdır. SegFormer, dikkat hesaplamadan önce Anahtar ve Değer dizilerini R azaltma oranıyla sıkıştıran Dizi Azaltma özelliğini sunar.
K, V dizileri, kullanılmadan önce N uzunluğundan N/R uzunluğuna indirgenir. 1-4. Aşamalar için indirgeme oranı R, [64, 16, 4, 1] olarak ayarlanmıştır: sığ aşamalar yüksek çözünürlüğe ve uzun dizilere sahip olduğundan, agresif bir şekilde sıkıştırılır; derin aşamalar daha düşük çözünürlüğe ve daha kısa dizilere sahip olduğundan, hiç sıkıştırma yapılmaz. Bu, hesaplama maliyetini O(N^2)'den O(N^2/R)'e düşürür ve yüksek çözünürlüklü girdiler için bile öz dikkat mekanizmasını pratik hale getirir.
Mix-FFN — konum kodlamasının nasıl ortadan kaldırıldığı
SegFormer, 3×3 evrişimi ileri beslemeli ağa (FFN) karıştırarak Mix-FFN oluşturduğu için konum kodlamasından tamamen kaçınabilir.
3×3 evrişim, görüntü sınırında sıfır dolgu kullanır. Bu dolgulu sınır, dolaylı olarak "görüntünün neresinde olduğum" hakkında bir ipucunu evrişime sızdırır, böylece konum bilgisi, açık bir konum kodlaması olmadan, Mix-FFN'den geçirilerek özelliklere işlenir. Sonuç olarak, eğitim çözünürlüğünden farklı bir çözünürlükte test yapmak, aksi takdirde doğruluğu azaltabilecek bir konum kodlamasının enterpolasyonunu gerektirmez.
Tamamen MLP kod çözücü — evrişim neden gereksizdir
Kod çözücü, kelimenin tam anlamıyla yalnızca doğrusal katmanlar (MLP'ler) kullanarak aşağıdaki dört adımdan oluşur.
-
Kanalları birleştirme: Her aşama özelliğini F_i bağımsız bir doğrusal katmanla aynı kanal sayısına C eşleyin.
-
Örneklemeyi artırma ve birleştirme: Her özelliği 1/4 çözünürlüğe örnekleyin ve kanal boyutu boyunca birleştirin.
-
Birleştirme: Birleştirilmiş 4C boyutlu özelliği doğrusal bir katmanla C boyutuna eşleyin.
-
Tahmin: Son bir doğrusal katman kullanarak her sınıf için bir kanal içeren bir segmentasyon maskesi çıktısı verin.
Orijinal makale, bu tasarımı etkin alıcı alan (ERF) analiziyle desteklemektedir. DeepLabv3+ gibi CNN tabanlı kod çözücüler, geniş bir alıcı alan elde etmek ve yüksek doğruluk sağlamak için karmaşık mekanizmalara (genişletilmiş evrişimler ve çok ölçekli havuzlama) ihtiyaç duyar. Buna karşılık, MiT kodlayıcı, ek mekanizmalara gerek kalmadan, sığ aşamalarda doğal olarak yerel ERF'ler ve derin aşamalarda tüm görüntüyü kapsayan yerel olmayan ERF'ler elde eder. Kodlayıcının kendisi zaten yerelden küresel ölçeklere kadar bilgi içeren özellikler oluşturduğu için, kod çözücünün karmaşık bir alıcı alan genişletme mekanizmasına ihtiyacı yoktur. Bu, doğrusal katmanların basit bir kombinasyonunun yeterli olmasının teorik nedenidir.
Eğitim Yöntemi
Orijinal makale, özel hileler içermeyen basit bir eğitim kurulumu kullanmaktadır. MiT kodlayıcı ImageNet-1K üzerinde önceden eğitilirken, kod çözücü rastgele başlatma ile eğitilir. Optimizasyon için AdamW kullanılır ve öğrenme oranı, polinom programı altında (1.0 katsayılı güç yasası azalması) 0.00006'lık bir başlangıç değerinden azalır. Yineleme sayısı ADE20K ve Cityscapes'te 160.000, COCO-Stuff'ta ise 80.000'dir. Eğitim artırma, 0,5-2,0 oranında rastgele yeniden boyutlandırma, rastgele yatay çevirme ve rastgele kırpma (ADE20K için 512×512, Cityscapes için 1024×1024 ve ADE20K'da B5 için 640×640) ile sınırlıdır. Makalede, OHEM (Çevrimiçi Zor Örnek Madenciliği), yardımcı kayıplar veya sınıf dengeli kayıplar gibi yaygın olarak kullanılan yöntemlerin kullanılmadığı açıkça belirtilmiştir. Amaç, MiT kodlayıcısının ve All-MLP kod çözücüsünün bu eklemeler olmadan yüksek mIoU değerlerine ulaşabileceğini göstermektir.
7. Model varyantlarının karşılaştırılması
SegFormer, MiT-B0'dan MiT-B5'e kadar altı boyutta mevcuttur. Aşağıda, orijinal makalenin Tablo 2'sinde bildirilen Cityscapes ve ADE20K sonuçları yer almaktadır.
| Model | Parametreler | Cityscapes FLOP'ları | Cityscapes mIoU (MS) | ADE20K FLOP'ları | ADE20K mIoU |
|---|---|---|---|---|---|
| SegFormer-B0 | 3.8M | 125.5G | 76.2 | 8.4G | 37.4 |
| SegFormer-B1 | 13,1 milyon | 243.7G | 78,5 | 15.9G | 42.2 |
| SegFormer-B2 | 24,2 milyon | 717.1G | 81.0 | 62.4G | 46,5 |
| SegFormer-B3 | 44,0 milyon | 962.9G | 81.7 | 79.0G | 49.4 |
| SegFormer-B4 | 64,1 milyon | 1240.6G | 82.3 | 95.7G | 50.3 |
| SegFormer-B5 | 84,7 milyon | 1460.4G | 84.0 | 183.3G | 51.0 |
Kaynak: Orijinal makalenin 2. Tablosu (Xie vd., NeurIPS 2021). Cityscapes mIoU, çok ölçekli ve sol-sağ çevirme (MS) testleriyle ölçülmüştür. Parametre sayıları, tam kodlayıcı ve kod çözücüyü içerir; B5 için bile kod çözücü toplamın yalnızca yaklaşık %4'ünü oluşturur. Referans olarak, B5 tek ölçekli (SS) testle 82,4 mIoU'ya ve MS testle 84,0'a ulaşır.
Makale, bu sonuçları o zamanki en iyi yöntemle karşılaştırır ve SegFormer-B4'ün 64,1 milyon parametreyle ADE20K'da %50,3 mIoU'ya ulaştığını, neredeyse beşte bir oranında daha küçük bir modelle o dönemin en iyi yöntemini 2,2 puan aştığını bildirir. B0, yalnızca 3,8 milyon parametreyle 76,2'lik pratik bir Cityscapes mIoU'yu korur ve bu sayılar kenar odaklı tasarımını destekler.
8. Karşılaştığı Zorluklar
SegFormer'ın zayıf yönlerinin çoğu, genel olarak Transformer tabanlı modellerde de görülmektedir. İlk olarak, daha büyük modellerin (B3 ve üzeri) eğitim ve çıkarım maliyetleri yüksektir. Cityscapes FLOP'ları B0 için 125,5G'den B5 için 1460,4G'ye yükselmekte, yani on kattan fazla artmaktadır. Yüksek çözünürlüklü segmentasyon için bu artış, gerçek zamanlı çalışmayı zorlaştırabilir.
Büyük ölçekli ön eğitim verilerine bağımlılık da önemlidir. MiT kodlayıcısı ImageNet-1K üzerinde önceden eğitilmiştir, bu nedenle ince ayar verilerinin kalitesi ve miktarı, tıbbi veya uydu görüntüleri gibi ön eğitim verilerinden önemli ölçüde farklı alanlara aktarımı büyük ölçüde etkiler.
Çok küçük nesneler ve ince yapılar—örneğin, teller ve yol işaretleri—SegFormer için de temelde kolay değildir. Örtüşen Yama Birleştirme, ilk aşamada bile 4×4 oranında örneklemeyi azaltır, bu nedenle yalnızca birkaç piksel genişliğindeki yapılar daha derin aşamalara ulaşmadan önce bilgi kaybedebilir.
Aynı zamanda, orijinal makalede bildirilen Cityscapes-C üzerindeki sağlamlık değerlendirmesi açık bir güçlü yönüdür. Eklenmiş Gauss gürültüsü içeren bozulmuş görüntüler için, SegFormer-B5, Xception-71 omurgasına sahip DeepLabv3+'a göre maksimum %588'lik göreceli mIoU iyileştirmesi kaydeder; kar benzeri bozulma için maksimum göreceli iyileştirme %295'tir. Bu ölçümler, sıradan CNN tabanlı modellere göre görüntü bozulmasına karşı daha fazla tolerans göstermektedir. Bu sağlamlığın, öz dikkatin yerel gürültü tarafından daha az kolayca domine edilmesinden kaynaklandığı düşünülmektedir.
9. Pratikte bir model nasıl seçilir
Uç cihazlar ve gerçek zamanlı işlem için, SegFormer-B0 veya B1 gerçekçi bir seçimdir. B0, Cityscapes'te 3,8 milyon parametre ve 76,2 mIoU ile doğruluk ve kompaktlığı dengeleyerek gömülü cihazlarda ve dronlarda kullanımını mümkün kılıyor.
Otonom sürüşte sürülebilir alan tanıma gibi yüksek çözünürlüklü görüntüler ve tutarlı doğruluk gerektiren uygulamalar için B2 veya B3 genellikle makul bir uzlaşmadır. B4 ve B5 en yüksek doğruluğa sahiptir, ancak Cityscapes FLOP değerleri 1200G'yi aştığı için araç içi GPU'da gerçek zamanlı çıkarım genellikle nicelleştirme veya TensorRT dönüştürme gibi optimizasyon gerektirir.
Tıbbi veya uydu görüntülerinin çevrimdışı hassas analizi için doğruluk, gerçek zamanlı performanstan daha önceliklidir. B4 veya B5 uygundur ve gerektiğinde alana özgü veriler üzerinde ince ayar yapılabilir.
Tarım robotları ve dış mekan gözetleme kameraları gibi sık sık kötü hava veya aydınlatma değişikliklerinin yaşandığı dış mekan ortamları için Cityscapes-C'de ölçülen sağlamlık pratik bir avantajdır. Benzer doğruluktaki CNN tabanlı modellerle karşılaştırıldığında, SegFormer'ın görüntü bozulması altında daha az doğruluk kaybı yaşaması beklenir.
Nesne Algılama ve Semantik Bölümlemeyi temelden öğrenmek için "Nesne Algılama ve Semantik Bölümlemeye Giriş" bölümüne bakın. Bölümlemedeki son trendler için "Semantik Bölümlemede Teknoloji Trendleri" bölümüne bakın.
10. Üç satırlık özet
- SegFormer, konum kodlaması olmadan çok ölçekli özellikler üreten hiyerarşik bir kodlayıcıyı (MiT) ve evrişim kullanmayan tamamen MLP kod çözücüyü birleştirir.
-
Mix-FFN'deki 3×3 evrişim, konum bilgisini örtük olarak sızdırarak konum kodlamasına olan ihtiyacı ortadan kaldırırken, Transformer'ın geniş etkili alıcı alanı basit bir MLP kod çözücüsünü mümkün kılar.
-
Aile, B0'dan (3,8 milyon parametre, Cityscapes'te 76,2 mIoU) B5'e (84,7 milyon, 84,0 mIoU) kadar uzanır ve ölçülen sonuçlar, görüntü bozulmasına karşı dayanıklılığını da destekler.
Referanslar
- SegFormer: Transformer'larla Semantik Bölümleme için Basit ve Verimli Tasarım (NeurIPS 2021, arXiv:2105.15203)
- ar5iv'deki SegFormer makalesi (tam metin)
- Resmi SegFormer uygulaması (NVlabs/SegFormer, GitHub)
- NeurIPS 2021 Bildirileri: SegFormer
Görüntü sınıflandırması ve bölümlemesinin çıktıları nasıl farklılık gösterir?
Sınıflandırma, bir etiket tahmin eder Görüntünün tamamını değerlendirirken, segmentasyon her piksel için bir etiket öngörür. Küçük nesneler ve sınırlar yalnızca görüntü düzeyinde doğrulukla değerlendirilmemelidir.
Görüntünün tamamını değerlendirirken, segmentasyon her piksel için bir etiket öngörür.
Yorumlar
Lütfen önce giriş yapın.
Henüz veri yok.