cv-nested-unet-dense-skip-connections
SkillDev toolsUNet++ dense cross-depth skip connections that propagate deeper decoder features into all shallower decoder levels
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the cv-nested-unet-dense-skip-connections skill
What this skill tells your AI
The instructions your AI receives, as published by wenmin-wu/ds-skills in skills/cv/nested-unet-dense-skip-connections/SKILL.md and read by ahel’s review.
Overview
Vanilla U-Net concatenates only one encoder feature into each decoder stage. UNet++ instead upsamples features from each decoder stage multiple times, concatenating them into all shallower decoder levels. This dense pattern gives every decoder output access to multi-scale features at the original resolution, improving segmentation of small and fine-grained structures.
Quick Start
from keras.layers import Conv2DTranspose, concatenate
# Deepest decoder (level 4)
deconv4 = Conv2DTranspose(filters*16, (3,3), strides=(2,2), padding='same')(convm)
# Upsample deconv4 to shallower levels for cross-depth skips
deconv4_up1 = Conv2DTranspose(filters*16, (3,3), strides=(2,2), padding='same')(deconv4)
deconv4_up2 = Conv2DTranspose(filters*16, (3,3), strides=(2,2), padding='same')(deconv4_up1)
deconv4_up3 = Conv2DTranspose(filters*16, (3,3), strides=(2,2), padding='same')(deconv4_up2)
deconv3 = Conv2DTranspose(filters*8, (3,3), strides=(2,2), padding='same')(uconv4)
deconv3_up1 = Conv2DTranspose(filters*8, (3,3), strides=(2,2), padding='same')(deconv3)
deconv3_up2 = Conv2DTranspose(filters*8, (3,3), strides=(2,2), padding='same')(deconv3_up1)
# Shallower decoders concatenate all upstream upsampled features
uconv3 = concatenate([deconv3, deconv4_up1, conv3])
uconv2 = concatenate([deconv2, deconv3_up1, deconv4_up2, conv2])
uconv1 = concatenate([deconv1, deconv2_up1, deconv3_up2, deconv4_up3, conv1])
Workflow
- Build encoder and bottleneck as usual
- For each decoder level, generate the primary upsampled feature
- Additionally upsample that feature K more times to match shallower resolutions
- At each shallower decoder level, concatenate: its own upsampled feature + all upsampled-extras from deeper levels + encoder skip
- Apply conv blocks on the concatenated tensor as in standard U-Net
Key Decisions
- vs. plain U-Net: More parameters and memory, but richer multi-scale context at every resolution.
- Feature count: Deeper features get upsampled multiple times — keep channel counts modest to avoid OOM.
- Deep supervision: Optionally attach segmentation heads at each decoder level for auxiliary losses.
References
Signals
- GitHub stars
- 60
- Forks
- 4
- Last commit
- Apr 2026
Advanced
- Catalog kind
- skill
- Gateway key
cv-nested-unet-dense-skip-connections- Source
- github.com/wenmin-wu/ds-skills