UNet++ Dijelaskan dengan Jelas — Arsitektur Segmentasi Gambar yang Lebih Baik – Menuju AI

UNet++ Dijelaskan dengan Jelas — Arsitektur Segmentasi Gambar yang Lebih Baik – Menuju AI

Pengarang: Leo Wang

Awalnya diterbitkan di Towards AI the World’s Leading AI and Technology News and Media Company. Jika Anda sedang membangun produk atau layanan terkait AI, kami mengundang Anda untuk mempertimbangkan untuk menjadi sponsor AI. Di Towards AI, kami membantu menskalakan AI dan startup teknologi. Biarkan kami membantu Anda melepaskan teknologi Anda kepada massa.

UNet++ Jelas Dijelaskan — Arsitektur Segmentasi Gambar yang Lebih Baik

Foto oleh Pietro Jeng di Unsplash

Daftar isi

️ Rekap U-Net
️ Inovasi UNet++
️ Fungsi kerugian
️ Performa
· Kutipan

Pada artikel ini, kami akan memperkenalkan Anda ke UNet++, yang pada dasarnya merupakan versi U-Net yang ditingkatkan. Artikel ini dirancang untuk membantu Anda memahaminya secara intuitif dan menyeluruh dengan waktu seminimal mungkin. Disarankan agar Anda setidaknya memiliki gambaran kasar tentang apa itu U-Net, tetapi kami akan melakukan rekap!

️ Rekap U-Net

Diperkenalkan pada tahun 2015, U-Net bertujuan untuk melakukan tugas segmentasi citra khususnya di bidang pencitraan medis. Namanya berasal dari arsitektur “U-Shaped”.

Arsitektur terdiri dari jalur kontrak (alias. jalur downsampling, encoder), di mana lebar dan tinggi peta fitur menyusut sementara saluran diperluas dengan faktor 2 hingga mencapai 1024 (biasanya tingkat maksimum yang disarankan untuk CNN), hambatan sebagai “titik balik”, dan jalur yang meluas (alias jalur upsampling, dekoder), di mana lebar dan tinggi peta fitur diperluas ke dimensi topeng.

Gambar 1: Arsitektur U-Net²

️ Inovasi UNet++

“Ditingkatkan” dari U-Net, UNet++ pada dasarnya menambahkan blok konvolusi padat (Gbr. 1 berwarna biru dan Gbr. 3) dan desain pengawasan mendalam (Gbr. 2 berwarna merah) yang bersarang di tingkat atas jaringan. Model yang baru diusulkan terlihat seperti ini:

Gambar 2

Perubahan desain pertama ditambahkan blok konvolusi padat, Gambar. 2 intuitif dan ringkas menunjukkan cara kerjanya.

Gambar 3

Di U-Net, peta fitur yang dihasilkan dari encoder secara otomatis diteruskan ke decoder pada level yang sama (ditunjukkan dalam HITAM pada Gambar 3). Namun, di UNet++ itu berubah (seperti yang ditunjukkan pada Gambar 3 di BIRU dan HIJAU). Untuk memahaminya, berikut penjelasannya:

Dalam rumus yang ditunjukkan di bagian atas Gambar 3, H adalah fungsi komposit DenseNet yang menggabungkan Normalisasi Batch, aktivasi ReLU, dan konvolusi 3×3. Elemen di dalamnya [] digabungkan bersama sebagai input ke fungsi komposit H. U adalah fungsi komposit U-Net; secara default, ketika Anda menggunakan tulang punggung U-Net sendiri, Anda seharusnya mengharapkan dua konvolusi 3×3 dengan aktivasi ReLU (ditunjukkan pada Gambar 1 sebagai bagaimana setiap level terstruktur). Perlu dicatat bahwa blok padat yang diperkenalkan di tengah tidak hanya memperhitungkan informasi dari “node” sebelumnya di level yang sama tetapi juga “node” di level di bawahnya (ditunjukkan pada Gambar 2). Ini adalah jaringan yang terhubung sangat padat!

Oleh karena itu, koneksi padat yang baru diperkenalkan akan membantu mengurangi “kesenjangan semantik antara peta fitur encoder dan decoder” (Gbr. 1), sehingga model dapat memiliki tugas pembelajaran yang lebih mudah karena peta fitur tersebut akan lebih “semantis serupa. ”

Perubahan kedua dalam UNet++ adalah desain supervisi mendalam yang ditambahkan (Gbr. 4 berwarna merah).

Gambar 4¹

Pengawasan Mendalam tidak sesulit kelihatannya. Pada dasarnya, ini membantu model untuk beroperasi dalam dua mode:
1) Mode Akurat (output dari semua cabang di level 0 dirata-ratakan untuk menghasilkan hasil akhir)
2) Mode cepat (tidak semua cabang dipilih untuk keluaran)

Gambar 5 menunjukkan bagaimana pilihan yang berbeda dalam FAST MODE menghasilkan model yang berbeda

Gambar 5¹

️ Fungsi kerugian

Dalam makalahnya, penulis mengusulkan fungsi kerugian gabungan dari Binary Cross Entropy dan Dice loss, seperti yang ditunjukkan pada Formula 1.

Formula 1¹

Penulis menggunakan 0,5 bobot untuk kehilangan BCE dan 1,0 bobot untuk kehilangan Dadu. Catatan: Koefisien dadu setara dengan skor F1. Selama implementasi, disarankan untuk menggunakan 1 dikurangi koefisien dadu saat menggunakan koefisien dadu sebagai kerugian. Oleh karena itu, praktik yang ditunjukkan dalam makalah ini mungkin dapat diperbaiki.

Selain itu, kerugian Dice seringkali sulit untuk disatukan karena sifatnya yang tidak cembung. Oleh karena itu, satu solusi terbaru disediakan dengan membungkusnya dalam fungsi log dan cosh untuk “memperhalus kurva” (https://arxiv.org/pdf/2006.14822.pdf)

Juga, menggabungkan kerugian BCE dengan kerugian Dadu sering kali menghasilkan hasil yang lebih baik.

️ Performa

Penulis melatih model pada empat kumpulan data yang berbeda, dan semuanya menghasilkan kinerja yang lebih baik daripada model U-Net dan Wide U-Net. Tabel 1 menunjukkan hasilnya. DS berarti pengawasan yang mendalam. Hasilnya ditunjukkan dalam skor IoU (area overlap/area of ​​union), yang menggambarkan seberapa akurat model tersebut.

Tabel 1

Hasilnya menunjukkan bahwa UNet++ memang meningkat dibandingkan dengan pendahulunya U-Net.

Selanjutnya, kami akan menunjukkan cara kerja UNet 3+. Ini adalah versi upgrade dari UNet++!

UNet 3+ Dijelaskan Sepenuhnya — Generasi UNet Berikutnya

Terima kasih! ❤️

kutipan

[1] Z. Zhou, M. Siddiquee, N. Tajbakhsh, dan J. Liang, UNet++: A Nested U-Net Architecture for Medical Image Segmentation (2015), 2015 Computer Vision and Pattern Recognition
[2]: O. Ronneberger, P. Fischer, dan T. Brox, U-Net: Convolutional Networks for Biomedical Image Segmentation (2015), 2015 Computer Vision and Pattern Recognition

UNet++ Jelas Dijelaskan — Arsitektur Segmentasi Gambar yang Lebih Baik awalnya diterbitkan di Towards AI on Medium, di mana orang-orang melanjutkan percakapan dengan menyoroti dan menanggapi cerita ini.

Diterbitkan melalui Menuju AI

Author: Jeffrey Hayes