# msracver/deformable-convnets

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/msracver-deformable-convnets).**

4,116 stars · 952 forks · Python · MIT

## Links

- GitHub: https://github.com/msracver/Deformable-ConvNets
- awesome-repositories: https://awesome-repositories.com/repository/msracver-deformable-convnets.md

## Description

Deformable-ConvNets is a computer vision framework and a collection of neural network components designed to implement deformable convolutional neural networks. It provides adaptive convolutional layers and pooling implementations that modify their receptive fields based on input features to better capture the geometry of objects within images.

The project enables the use of learnable sampling offsets and modulation masks to align convolutional grids with target object shapes. It includes specialized tools for visualizing learned offsets in convolutions and pooling layers, allowing for the analysis of how the network adapts its spatial receptive field.

These capabilities are applied to improve the accuracy of object detection and refine semantic segmentation. The framework supports the extraction of features from regions of interest through deformable pooling to align sampling areas with actual object boundaries.

The implementation includes a training pipeline for executing and evaluating these specialized network architectures.

## Tags

### Data & Databases

- [Learnable Spatial Offsets](https://awesome-repositories.com/f/data-databases/pointer-based-navigation/offset-based-addressing/learnable-spatial-offsets.md) — Enables the use of learnable 2D offsets to adjust convolutional grids to match object shapes in images.
- [Adaptive Sampling Grids](https://awesome-repositories.com/f/data-databases/grid-based-spatial-sampling/adaptive-sampling-grids.md) — Modifies spatial sampling patterns based on input geometry to provide a flexible and adaptive receptive field.

### Artificial Intelligence & ML

- [Deformable ROI Pooling](https://awesome-repositories.com/f/artificial-intelligence-ml/computer-vision-features/region-alignment/region-pooling/deformable-roi-pooling.md) — Implements a deformable ROI pooling mechanism that aligns feature extraction grids with the actual geometry of target objects.
- [Deformable](https://awesome-repositories.com/f/artificial-intelligence-ml/convolutional-neural-networks/deformable.md) — Implements deep learning architectures that adapt convolutional sampling grids to fit the geometry of objects.
- [Dynamic Receptive Field Modeling](https://awesome-repositories.com/f/artificial-intelligence-ml/dynamic-receptive-field-modeling.md) — Uses learnable offsets in convolutional layers to dynamically change how features are sampled based on image content.
- [Adaptive Convolutional Layers](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/frameworks/model-construction/neural-network-layers/convolution-layers/adaptive-convolutional-layers.md) — Provides neural network layers that modify their receptive fields to better capture complex object shapes.
- [Deformable Convolutions](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/frameworks/model-construction/neural-network-layers/convolution-layers/deformable-convolutions.md) — Provides deformable convolutional layers that adjust sampling grids to improve object detection and semantic segmentation. ([source](https://github.com/msracver/deformable-convnets#readme))
- [Modulated](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/frameworks/model-construction/neural-network-layers/convolution-layers/deformable-convolutions/modulated.md) — Combines learnable offsets and modulation mechanisms to fit the receptive field accurately to object shapes. ([source](https://github.com/msracver/Deformable-ConvNets/blob/master/DCNv2_op/README.md))
- [Modulated Receptive Fields](https://awesome-repositories.com/f/artificial-intelligence-ml/modulated-receptive-fields.md) — Implements learnable modulation masks to scale pixel contributions and ignore irrelevant background noise in receptive fields.
- [CNN Kernel Visualizations](https://awesome-repositories.com/f/artificial-intelligence-ml/cnn-kernel-visualizations.md) — Provides a utility for rendering learned convolutional offsets to analyze adaptive spatial sampling.
- [2D Convolutional Rendering](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/frameworks/model-construction/neural-network-layers/convolution-layers/2d-convolutional-rendering.md) — Renders learned offsets of convolutions and pooling layers to visualize how the network adapts its spatial sampling.
- [Offset Visualizations](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/frameworks/model-construction/neural-network-layers/convolution-layers/deformable-convolutions/offset-visualizations.md) — Provides specialized tools to render and analyze how the network adapts its spatial receptive field through learned offsets. ([source](https://github.com/msracver/deformable-convnets#readme))
- [Object Detection](https://awesome-repositories.com/f/artificial-intelligence-ml/object-detection.md) — Improves the precision of object detection by allowing convolutional grids to adapt to object shapes.
- [Semantic Image Segmentations](https://awesome-repositories.com/f/artificial-intelligence-ml/semantic-image-segmentations.md) — Refines semantic image segmentation by adjusting sampling grids to better fit object boundaries.

### Part of an Awesome List

- [Computer Vision Frameworks](https://awesome-repositories.com/f/awesome-lists/ai/computer-vision-frameworks.md) — Provides a framework of tools for improving object detection and segmentation via learnable sampling offsets.
- [Segmentation Architectures](https://awesome-repositories.com/f/awesome-lists/ai/segmentation-architectures.md) — Deformable convolutional networks for segmentation tasks.

### Operating Systems & Systems Programming

- [CUDA Compute Kernels](https://awesome-repositories.com/f/operating-systems-systems-programming/cuda-compute-kernels.md) — Provides high-performance C++ CUDA compute kernels to execute the sampling and interpolation logic on GPUs.
