Contents — find the section you need
Upaya untuk memperkenalkan Transformer ke dalam segmentasi semantik telah ada sebelum SegFormer, tetapi banyak yang bergantung pada pengkodean posisional dan dekoder yang rumit. Oleh karena itu, mereka menghadapi dua masalah: akurasi dapat menurun ketika resolusi pengujian berbeda dari resolusi pelatihan, dan komputasi dapat menjadi mahal. SegFormer (Xie, Wang, Yu, Anandkumar, Alvarez, dan Luo, NeurIPS 2021) mengatasi kedua masalah tersebut dengan desain yang sangat sederhana: encoder hierarkis tanpa pengkodean posisional dan dekoder All-MLP yang sama sekali tidak menggunakan konvolusi. Artikel ini mengkaji, langkah demi langkah, mengapa desain tersebut berhasil, berdasarkan makalah aslinya (arXiv:2105.15203).
Artikel ini didasarkan pada makalah asli “SegFormer: Desain Sederhana dan Efisien untuk Segmentasi Semantik dengan Transformer” (Xie et al., NeurIPS 2021, arXiv:2105.15203).
0. Apa yang akan Anda pelajari
- Masalah yang ingin dipecahkan SegFormer dalam model segmentasi berbasis Transformer sebelumnya
- Bagaimana cara kerja encoder MiT (Mix Transformer) hierarkis tanpa encoding posisional
- Mengapa decoder yang hanya terdiri dari MLP, tanpa konvolusi sama sekali, masih dapat mencapai akurasi tinggi
- mIoU terukur, jumlah parameter, dan biaya komputasi untuk B0–B5 pada Cityscapes dan ADE20K
- Bagaimana memilih model dalam praktik, termasuk ketahanan terhadap kerusakan gambar
1. Apa itu SegFormer?
SegFormer adalah model segmentasi semantik yang menggabungkan encoder Transformer hierarkis (MiT) tanpa pengkodean posisi dengan decoder All-MLP ringan yang sama sekali tidak menggunakan konvolusi. Ide utamanya adalah mendesain ulang pembagian kerja antara encoder dan decoder: setelah encoder menghasilkan fitur pada berbagai resolusi, decoder dapat disederhanakan secara signifikan.
2. Mengapa desain ini diperlukan?
Menggunakan Vision Transformer (ViT) secara langsung sebagai encoder untuk segmentasi semantik menimbulkan dua masalah. Pertama, fitur yang dihasilkan oleh ViT hanya memiliki resolusi tunggal. Objek dapat memiliki banyak ukuran berbeda dalam satu gambar, dan model segmentasi berbasis CNN konvensional seperti FCN dan U-Net mengatasi hal ini dengan menggabungkan fitur pada berbagai resolusi. ViT yang hanya menghasilkan satu resolusi kehilangan kapasitas representasi multi-skala ini.
Masalah kedua adalah ketergantungan pada pengkodean posisi. ViT membagi gambar menjadi beberapa bagian dan memasukkannya ke Transformer, tetapi Transformer itu sendiri tidak memiliki informasi tentang lokasi setiap bagian dalam gambar. Oleh karena itu, pengkodean posisi tetap atau yang dipelajari harus ditambahkan secara terpisah. Karena pengkodean ini dibangun untuk resolusi input yang digunakan selama pelatihan, gambar dengan resolusi berbeda pada saat inferensi memerlukan interpolasi pengkodean posisi, yang dapat mengurangi akurasi. Segmentasi seringkali membutuhkan input dengan resolusi lebih tinggi daripada deteksi, sehingga ketergantungan resolusi ini menjadi sangat merepotkan.
SegFormer mengatasi kedua masalah tersebut dari akarnya dengan menggunakan encoder hierarkis dan menghilangkan pengkodean posisi sepenuhnya.
3. Apa inputnya?
Seperti model segmentasi lainnya, inputnya adalah gambar RGB x \in \mathbb{R}^{H \times W \times 3}. SegFormer dievaluasi pada gambar beresolusi tinggi (1024×2048) untuk Cityscapes dan gambar sekitar 512×512 untuk ADE20K. Sedangkan ViT melakukan downsampling dengan patch kasar 16×16, encoder SegFormer dimulai dengan patch sekecil 4×4, sehingga mempertahankan lebih banyak detail di awal ekstraksi fitur.
4. Apa yang diprediksinya?
Outputnya adalah peta segmentasi pada 1/4 resolusi input, dengan kelas setiap piksel direpresentasikan sebagai \hat{y} \in \mathbb{R}^{\frac{H}{4} \times \frac{W}{4} \times N_{cls}} (N_{cls} adalah jumlah kelas). Kemudian dikembalikan ke resolusi asli menggunakan interpolasi tetangga terdekat atau metode serupa. Ide intinya adalah jika encoder menciptakan fitur multi-skala yang cukup kaya, decoder hanya membutuhkan kombinasi lapisan linier sederhana untuk mengintegrasikannya dan mengubahnya menjadi mask yang akurat.
5. Arsitektur dasar
SegFormer terdiri dari dua blok utama: encoder MiT (Mix Transformer) yang mengekstrak fitur pada empat resolusi, dan decoder All-MLP yang menggabungkan fitur-fitur tersebut dan menghasilkan mask segmentasi.
Gambar 1 — Encoder MiT menghasilkan fitur pada empat resolusi (1/4, 1/8, 1/16, dan 1/32), dan decoder All-MLP menggabungkannya hanya menggunakan lapisan linier untuk membuat masker segmentasi. Satu-satunya konvolusi ada di Mix-FFN encoder; Decoder ini secara harfiah seluruhnya terbuat dari lapisan linier.
Karena encoder membangun fitur pada empat resolusi terlebih dahulu, decoder dapat memperoleh mask yang akurat dengan pemrosesan yang hampir minimal: menyelaraskan fitur dan menggabungkannya. Pembagian kerja ini adalah alasan utama mengapa SegFormer menjaga jumlah parameter totalnya tetap rendah.
6. Detail teknis komponen
Penggabungan Patch yang Tumpang Tindih — hierarki empat tahap
Alih-alih membagi gambar menjadi patch hanya sekali seperti yang dilakukan ViT, encoder MiT secara bertahap mengurangi resolusi di empat tahap. Resolusi output adalah 1/4, 1/8, 1/16, dan 1/32 dari input, mereproduksi struktur hierarki yang digunakan oleh backbone CNN seperti ResNet.
Metode partisi patch juga berbeda dari patch non-tumpang tindih ViT: patch yang berdekatan tumpang tindih ketika digabungkan. Tahap pertama menggunakan ukuran kernel K=7, stride S=4, dan padding P=3; tahap selanjutnya menggunakan K=3, S=2, P=1. Tumpang tindih mempertahankan kontinuitas lokal di seluruh batas patch—informasi yang dibagikan oleh patch tetangga—sementara peta fitur dikurangi.
Self-Attention yang Efisien
Self-attention multi-head biasa membutuhkan komputasi O(N^2) untuk urutan dengan panjang N. Karena N menjadi sangat besar untuk segmentasi resolusi tinggi, ini merupakan hambatan serius. SegFormer memperkenalkan Pengurangan Urutan, yang mengompres urutan Kunci dan Nilai dengan rasio pengurangan R sebelum menghitung perhatian.
Urutan K, V dikurangi dari panjang N menjadi N/R sebelum digunakan. Rasio pengurangan R untuk Tahap 1–4 ditetapkan menjadi [64, 16, 4, 1]: tahap dangkal memiliki resolusi tinggi dan urutan panjang, sehingga kompresinya agresif; tahap dalam memiliki resolusi lebih rendah dan urutan lebih pendek, sehingga tidak dikompresi sama sekali. Ini mengurangi biaya komputasi dari O(N^2) menjadi O(N^2/R) dan membuat self-attention praktis bahkan untuk input resolusi tinggi.
Mix-FFN — bagaimana pengkodean posisi dihilangkan
SegFormer dapat menghindari pengkodean posisi sama sekali karena mencampurkan konvolusi 3×3 ke dalam jaringan feed-forward (FFN), menciptakan Mix-FFN.
Konvolusi 3×3 menggunakan padding nol pada batas gambar. Batas yang diberi padding ini secara tidak langsung membocorkan petunjuk tentang "di mana saya berada dalam gambar" ke dalam konvolusi, sehingga informasi posisi terjalin ke dalam fitur hanya dengan melewati Mix-FFN, tanpa pengkodean posisi eksplisit. Akibatnya, pengujian pada resolusi yang berbeda dari resolusi pelatihan tidak memerlukan interpolasi pengkodean posisi, yang jika tidak dapat mengurangi akurasi.
Dekoder All-MLP — mengapa konvolusi tidak diperlukan
Dekoder terdiri dari empat langkah berikut, yang secara harfiah hanya menggunakan lapisan linier (MLP).
-
Menyatukan saluran: memetakan setiap fitur tahap F_i ke jumlah saluran yang sama C dengan lapisan linier independen.
-
Upsample dan gabungkan: upsample setiap fitur ke resolusi 1/4 dan gabungkan sepanjang dimensi saluran.
-
Gabungkan: petakan fitur 4C -dimensi yang digabungkan ke C dimensi dengan lapisan linier.
-
Prediksi: keluarkan masker segmentasi dengan satu saluran untuk setiap kelas menggunakan lapisan linier akhir.
Makalah asli mendukung desain ini dengan analisis bidang penerimaan efektif (ERF). Dekoder berbasis CNN seperti DeepLabv3+ membutuhkan mekanisme yang rumit—konvolusi dilatasi dan pooling multi-skala—untuk mendapatkan bidang penerimaan yang luas dan mencapai akurasi tinggi. Sebaliknya, encoder MiT secara alami memperoleh ERF lokal pada tahap dangkal dan ERF non-lokal yang mencakup seluruh gambar pada tahap dalam melalui self-attention, tanpa mekanisme tambahan. Karena encoder itu sendiri sudah membangun fitur yang berisi informasi dari skala lokal hingga global, dekoder tidak memerlukan mekanisme perluasan bidang penerimaan yang kompleks. Inilah alasan teoritis mengapa kombinasi sederhana dari lapisan linier sudah cukup.
Resep Pelatihan
Makalah asli menggunakan pengaturan pelatihan sederhana tanpa trik khusus. Encoder MiT dilatih terlebih dahulu pada ImageNet-1K, sedangkan decoder dilatih dari inisialisasi acak. AdamW digunakan untuk optimasi, dengan laju pembelajaran menurun dari nilai awal 0,00006 di bawah jadwal poli (penurunan hukum pangkat dengan koefisien 1,0). Jumlah iterasi adalah 160.000 pada ADE20K dan Cityscapes dan 80.000 pada COCO-Stuff. Augmentasi pelatihan terbatas pada pengubahan ukuran acak dengan rasio 0,5–2,0, pembalikan horizontal acak, dan pemotongan acak (512×512 untuk ADE20K, 1024×1024 untuk Cityscapes, dan 640×640 untuk B5 pada ADE20K). Makalah tersebut secara eksplisit menyatakan bahwa ia tidak menggunakan trik yang banyak diadopsi seperti OHEM (Online Hard Example Mining), kerugian tambahan, atau kerugian yang seimbang antar kelas. Tujuannya adalah untuk menunjukkan bahwa encoder MiT dan decoder All-MLP dapat mencapai mIoU tinggi tanpa tambahan tersebut.
7. Membandingkan varian model
SegFormer tersedia dalam enam ukuran, dari MiT-B0 hingga MiT-B5. Berikut adalah hasil Cityscapes dan ADE20K yang diukur dan dilaporkan dalam Tabel 2 dari makalah asli.
| Model | Parameter | Cityscapes FLOPs | Cityscapes mIoU (MS) | ADE20K FLOPs | ADE20K mIoU |
|---|---|---|---|---|---|
| SegFormer-B0 | 3.8M | 125.5G | 76.2 | 8.4G | 37.4 |
| SegFormer-B1 | 13.1M | 243.7G | 78,5 | 15.9G | 42.2 |
| SegMantan-B2 | 24,2 juta | 717.1G | 81.0 | 62.4G | 46.5 |
| SegMantan-B3 | 44,0 juta | 962.9G | 81.7 | 79.0G | 49.4 |
| SegMantan-B4 | 64,1 juta | 1240.6G | 82.3 | 95.7G | 50.3 |
| SegMantan-B5 | 84,7 juta | 1460.4G | 84.0 | 183.3G | 51.0 |
Sumber: Tabel 2 dari makalah asli (Xie dkk., NeurIPS 2021). mIoU Cityscapes diukur dengan pengujian multi-skala dan pembalikan kiri-kanan (MS). Jumlah parameter mencakup encoder dan decoder lengkap; bahkan untuk B5, decoder hanya sekitar 4% dari total. Sebagai referensi, B5 mencapai 82,4 mIoU dengan pengujian skala tunggal (SS) dan 84,0 dengan pengujian MS.
Makalah ini membandingkan hasil ini dengan teknologi terkini pada saat itu dan melaporkan bahwa SegFormer-B4 mencapai 50,3% mIoU pada ADE20K dengan 64,1 juta parameter, melampaui metode terbaik pada periode tersebut sebesar 2,2 poin dengan model yang hampir seperlima ukurannya. B0 mempertahankan mIoU Cityscapes praktis sebesar 76,2 hanya dengan 3,8 juta parameter, dan angka-angka tersebut mendukung desainnya yang berorientasi pada tepi.
8. Kelemahan yang Dihadapi SegFormer
Sebagian besar kelemahan SegFormer juga dimiliki oleh model berbasis Transformer pada umumnya. Pertama, model yang lebih besar (B3 dan di atasnya) memiliki biaya pelatihan dan inferensi yang tinggi. FLOPs Cityscapes meningkat dari 125,5G untuk B0 menjadi 1460,4G untuk B5, peningkatan lebih dari sepuluh kali lipat. Untuk segmentasi resolusi tinggi, peningkatan ini dapat mempersulit operasi waktu nyata.
Ketergantungan pada data pra-pelatihan skala besar juga penting. Encoder MiT dilatih sebelumnya pada ImageNet-1K, sehingga kualitas dan kuantitas data fine-tuning sangat memengaruhi transfer ke domain yang berbeda secara substansial dari data pra-pelatihan, seperti citra medis atau satelit.
Objek yang sangat kecil dan struktur tipis—misalnya, kabel dan rambu—juga bukan hal yang mudah bagi SegFormer. Penggabungan Patch yang Tumpang Tindih (Overlapped Patch Merging) menurunkan resolusi gambar menjadi 4×4 bahkan pada tahap pertama, sehingga struktur yang hanya beberapa piksel lebarnya dapat kehilangan informasi sebelum mencapai tahap yang lebih dalam.
Pada saat yang sama, evaluasi ketahanan pada Cityscapes-C yang dilaporkan oleh makalah asli merupakan kekuatan yang jelas. Untuk gambar yang rusak dengan tambahan noise Gaussian, SegFormer-B5 mencatat peningkatan mIoU relatif maksimum sebesar 588% dibandingkan DeepLabv3+ dengan backbone Xception-71; untuk kerusakan seperti salju, peningkatan relatif maksimum adalah 295%. Pengukuran ini menunjukkan toleransi yang lebih besar terhadap kerusakan gambar daripada model berbasis CNN biasa. Ketahanan ini dianggap muncul karena self-attention lebih sulit didominasi oleh noise lokal.
9. Bagaimana memilih model dalam praktiknya
Untuk perangkat edge dan pemrosesan real-time, SegFormer-B0 atau B1 adalah pilihan yang realistis. B0 menyeimbangkan akurasi dan kekompakan dengan 3,8 juta parameter dan 76,2 mIoU pada Cityscapes, sehingga memungkinkan penerapan pada perangkat tertanam dan drone.
Untuk aplikasi seperti pengenalan area yang dapat dilalui dalam pengemudian otonom, di mana gambar beresolusi tinggi dan akurasi yang konsisten diperlukan, B2 atau B3 seringkali merupakan kompromi yang wajar. B4 dan B5 memiliki akurasi tertinggi, tetapi FLOPs Cityscapes mereka melebihi 1200G, sehingga inferensi waktu nyata pada GPU dalam kendaraan umumnya memerlukan optimasi seperti kuantisasi atau konversi TensorRT.
Untuk analisis presisi offline citra medis atau satelit, akurasi lebih diutamakan daripada kinerja waktu nyata. B4 atau B5 sesuai, dengan penyesuaian pada data spesifik domain sesuai kebutuhan.
Untuk lingkungan luar ruangan dengan cuaca buruk atau perubahan pencahayaan yang sering terjadi, seperti robot pertanian dan kamera pengawasan luar ruangan, ketahanan yang diukur pada Cityscapes-C merupakan keuntungan praktis. Dibandingkan dengan model berbasis CNN dengan akurasi serupa, SegFormer diperkirakan akan kehilangan akurasi lebih sedikit di bawah kondisi korupsi gambar.
Untuk mempelajari Deteksi Objek dan Segmentasi Semantik dari dasar-dasarnya, lihat “Pengantar Deteksi Objek dan Segmentasi Semantik”. Untuk tren terkini di bidang segmentasi, lihat “Tren Teknologi dalam Segmentasi Semantik”.
10. Ringkasan tiga baris
-
SegFormer menggabungkan encoder hierarkis (MiT) yang menghasilkan fitur multi-skala tanpa pengkodean posisi dengan decoder All-MLP yang tidak menggunakan konvolusi.
-
Konvolusi 3×3 dalam Mix-FFN secara implisit membocorkan informasi posisi, menghilangkan kebutuhan akan pengkodean posisi, sementara bidang reseptif efektif Transformer yang luas memungkinkan decoder MLP sederhana.
-
Skala ini berkisar dari B0 (3,8 juta parameter, 76,2 mIoU pada Cityscapes) hingga B5 (84,7 juta, 84,0 mIoU), dan hasil pengukuran juga mendukung ketahanannya terhadap kerusakan citra.
Referensi
- SegFormer: Desain Sederhana dan Efisien untuk Segmentasi Semantik dengan Transformer (NeurIPS 2021, arXiv:2105.15203)
- Makalah SegFormer di ar5iv (teks lengkap)
- Implementasi SegFormer resmi (NVlabs/SegFormer, GitHub)
- Prosiding NeurIPS 2021: SegFormer
Bagaimana perbedaan output klasifikasi dan segmentasi gambar?
Klasifikasi memprediksi label untuk seluruh gambar, sedangkan segmentasi memprediksi Sebuah label untuk setiap piksel. Objek kecil dan batas tidak boleh dievaluasi hanya dengan akurasi tingkat gambar.
Komentar
Silakan masuk terlebih dahulu.
Belum ada data.