U-Net is a type of Convolutional Neural network with a U-shape structure. It’s used in analyzing medical image to find the outlier of target area. For example, it can be used to map out brain tumors.
Why does it work? The first a few layers of convolutional network have more information of the edges, when the neural network going deeper, it finds more detailed information about the items in the image.
Down1->Down2-> Down3-> Down4->Down5 -> Up5-> Up4-> Up3-> Up2-> Up1
Input : channel = 3
| Down1: 3×3 Conv2d, in_ch=3, out_ch= 64 | Up1: concat down1 & Up2 |
| 3×3 Conv2d, in_ch=64, out_ch= 64 | 3×3 Conv2d in_ch=128 out_ch=64 + Relu |
| Relu activation after each Conv | 3×3 Conv2d in_ch=64 out_ch=64 + Relu |
| 2×2 Max Pooling ->1/2 h, w | 1×1 Conv2d in_ch=64 out_ch=64 |
| Down2: 3×3 Conv2d, in_ch=64 out_ch=128 | Up2: concat down2 & Up3 |
| 3×3 Conv2d in_ch=64 out_ch=128 | 3×3 Conv2d in_ch=256 out_ch=128 + Relu |
| Relu activation after each Conv | 3×3 Conv2d in_ch=128 out_ch=128 + Relu |
| 2×2 Max Pooling | Upconv: filter kernel=2 stride=2 |
| Down3: 3×3 Conv2d in_ch=128 out_ch=256 | Up3: concat down3 & Up4 |
| 3×3 Conv2d in_ch=256 out_ch=256 | 3×3 Conv2d in_ch=512 out_ch=256 + Relu |
| Relu activation after each Conv | 3×3 Conv2d in_ch=256 out_ch=256 + Relu |
| 2×2 Max Pooling | Upconv: filter kernel=2 stride=2 |
| Down4: 3×3 Conv2d in_ch=256 out_ch=512 | Up4: concat down4 & Up 5 |
| 3×3 Conv2d in_ch=512 out_ch=512 | 3×3 Conv2d in_ch=1024 out_ch=512 + Relu |
| Relu activation after each Conv | 3×3 Conv2d in_ch=512 out_ch=512+ Relu |
| 2×2 Max Pooling | Upconv: filter kernel=2 stride=2 |
| Down5: 3×3 Conv2d in_ch=512 out_ch=1024 | Up5: Upconv: filter kernel=2 stride=2 |
| 3×3 Conv2d in_ch=1024 out_ch= 024 | |
| Relu activation after each Conv | |
References:



