deeplab
DeepLab is a family of semantic segmentation models from Google, built around one central idea: keep the feature map at a high resolution while still seeing a large context, by using atrous (dilated) convolutions instead of more downsampling. A standard CNN must pool aggressively to widen its receptive field, which destroys the spatial detail segmentation needs. DeepLab instead spreads the convolution kernel apart with gaps, enlarging what each filter sees without shrinking the map or adding parameters. This lets it produce dense, detailed output maps directly.
The family evolved across four landmark versions. DeepLabv1 combined atrous convolutions with a fully connected conditional random field (CRF) as a sharpening post-process. DeepLabv2 added Atrous Spatial Pyramid Pooling (ASPP) — parallel dilated convolutions at several rates to capture objects at multiple scales — and kept the CRF. DeepLabv3 improved ASPP with batch normalization and a global image-level pooling branch, and was strong enough to drop the CRF entirely. DeepLabv3+ added a simple decoder module to refine boundaries and adopted a depthwise-separable, atrous Xception backbone for efficiency.
The trade-off behind atrous convolution is worth stating plainly: it buys you receptive field and resolution at the cost of compute and memory, because the feature maps stay large deep into the network. DeepLab controls this with an "output stride" knob — the ratio of input resolution to final feature-map resolution (commonly 16 or 8). A smaller output stride means more detail but quadratically more computation.