안녕하세요. 오늘은 ICCV2017에 게재된 Deformable Convolution이라는 논문을 소개하도록 하겠습니다.
Deformable Convolutional Networks
Convolutional neural networks (CNNs) are inherently limited to model geometric transformations due to the fixed geometric structures in its building modules. In this work, we introduce two new modules to enhance the transformation modeling capacity of CNNs
arxiv.org
Background
최근 컴퓨터 비전 기술은 객체 인식, 이미지 분할, 객체 탐지 등 다양한 분야에서 뛰어난 성과를 보여주고 있습니다. 특히 이미지에서 객체의 위치나 형태를 정확히 인식하고 구분하는 기술은 자율주행, 보안 감시, 의료 영상 분석 등 많은 실생활 응용 분야에서 필수적입니다. 기존의 대표적인 접근법인 컨볼루션 신경망(CNN, Convolutional Neural Network)은 이미지의 국지적(local) 특징을 잘 포착하는 데 강점을 가지고 있습니다. 그러나 CNN의 고정된 구조적 특성 때문에 이미지 내 객체의 다양한 크기, 형태, 포즈, 시점 등의 복잡한 기하학적 변형(geometric transformations)을 효과적으로 모델링하는 데 한계를 보였습니다.
이러한 문제를 해결하기 위해 과거에는 데이터 증강(Data Augmentation)을 통해 학습 데이터에 다양한 변형을 추가하거나, 변형에 강인한 특징(Transformation-invariant features)을 설계하여 해결하고자 했습니다. 하지만 이 접근법들은 사전 정의된 기하학적 변형만을 다룰 수 있고, 매우 복잡한 변형에 대해서는 일반화가 어려운 한계가 존재합니다.

본 논문에서 제안하는 Deformable Convolutional Networks(Deformable ConvNets)는 기존 CNN이 갖고 있는 고정된 공간적 구조를 개선하여, 입력 데이터에 따라 샘플링 위치를 자유롭게 변형할 수 있도록 설계되었습니다. Deformable ConvNets의 핵심 아이디어는 그림 1과 같이 표준 컨볼루션 연산에 2차원 오프셋(offset)을 추가하여 각 픽셀의 샘플링 위치를 데이터에 따라 학습 가능하게 조정하는 'Deformable Convolution'과, 객체 탐지 시 RoI(region-of-interest)의 각 영역(bin)을 유연하게 이동하여 객체의 형태에 더 잘 맞추는 'Deformable RoI Pooling' 모듈입니다.
이러한 방법을 통해 Deformable ConvNets는 이미지 내 객체의 다양한 크기와 형태 변화에 더욱 유연하고 정밀하게 대응할 수 있게 되었으며, 특히 의미론적 분할(Semantic Segmentation), 객체 탐지(Object Detection)와 같은 복잡한 시각적 인식 문제에서 성능을 크게 향상시켰습니다. 본 논문의 기여는 다음과 같이 정리할 수 있습니다.
- 기존 CNN의 고정된 공간적 구조를 극복하는 Deformable Convolution 모듈을 제안하여, 이미지 내 다양한 기하학적 변형을 효과적으로 모델링할 수 있게 하였습니다.
- 객체 탐지 과정에서 RoI 영역(bin)의 위치를 데이터에 따라 유연하게 조정하는 Deformable RoI Pooling 모듈을 개발하여 객체 형태 및 크기에 대한 적응성을 높였습니다.
- 의미론적 분할 및 객체 탐지와 같은 고난도의 컴퓨터 비전 문제에서, 추가적인 파라미터나 계산 비용 증가 없이 기존 CNN보다 뛰어난 성능을 실험적으로 입증하였습니다.
Proposed Method: Deformable Convolutional Networks
1) Deformable Convolution
기존의 표준 컨볼루션(Convolution)은 입력 특징 맵(feature map)의 고정된 위치에서 규칙적으로 샘플링을 수행합니다. 예를 들어, 3×3 크기의 커널(kernel)을 사용할 때, 필터 중심을 기준으로 주위의 9개 픽셀을 고정된 간격으로 샘플링하여 가중치(weight)를 곱한 뒤 합산한 값을 출력합니다. 이는 다음의 식으로 나타낼 수 있습니다.
$$\mathbf{y} (\mathbf{p}_{0}) = \sum_{\mathbf{p}_{n} \in \mathcal{R}} \mathbf{w} (\mathbf{p}_{n}) \cdot \mathbf{x} (\mathbf{p}_{0} + \mathbf{p}_{n})$$
여기서 $\mathbf{y} (\mathbf{p}_{0})$는 출력 특성 맵의 특정 위치 $\mathbf{p}_{0}$ 의 값, $\mathbf{x}$는 입력 특징 맵, $\mathbf{w}$는 합성곱 필터의 가중치를 의미합니다. 이때, $\mathcal{R}$은 고정된 격자(grid)로, 커널의 크기와 dilation 값으로 결정됩니다. 예를 들어, 3×3 크기의 커널 크기에 dilation rate가 1이라면 $\mathbf{R} = \{ (-1, -1), (-1, 0), \dots, (0, 1), (1, 1) \}$로 정의됩니다. 이 표준 컨볼루션 방식은 고정된 구조를 사용하기 때문에 이미지 내 객체의 크기나 형태, 시점 등 기하학적 변형에 유연하게 대응하기 어렵다는 단점이 존재합니다.

그림 2와 같이 Deformable Convolution은 이러한 한계를 극복하기 위해 표준 컨볼루션의 샘플링 위치에 학습 가능한 2차원 오프셋(offset)을 추가하여, 입력 이미지의 내용에 따라 유연하게 샘플링 위치를 조정합니다. 즉, 원래의 고정된 위치 $\mathbf{p}_{0} + \mathbf{p}_{n}$ 에 오프셋 $\Delta \mathbf{p}_{n}$ 을 더하여 다음과 같이 표현됩니다.
$$\mathbf{y} (\mathbf{p}_{0}) = \sum_{\mathbf{p}_{n} \in \mathcal{R}} \mathbf{w} (\mathbf{p}_{n}) \cdot \mathbf{x} (\mathbf{p}_{0} + \mathbf{p}_{n} + \Delta \mathbf{p}_{n})$$
여기서, 오프셋 $\Delta \mathbf{p}_{n}$ 은 입력 특성 맵에 별도의 작은 컨볼루션 층을 추가로 적용하여 학습됩니다. 이 오프셋 값은 일반적으로 정수가 아닌 실수 값을 가지기 때문에, 입력 특성 맵에서 값을 얻을 때는 주변 픽셀들로부터 보간(interpolation)을 수행해야 합니다.
실수 좌표에서 특성 값을 얻기 위해서는 Bilinear Interpolation(쌍선형 보간)을 수행합니다. 특정 좌표 $p = (p_{x}, p_{y})$ 에서의 보간 값 $\mathbf{x} (\mathbf{p})$ 은 아래와 같이 표현할 수 있습니다.
$$\mathbf{x} (\mathbf{p}) = \sum_{\mathbf{q}} G(\mathbf{q}, \mathbf{p}) \cdot \mathbf{x} (\mathbf{q})$$
여기서, $\mathbf{q}$는 $\mathbf{p}$ 주변 4개 정수 픽셀 위치를 나타냅니다. 그리고 $G(\mathbf{q}, \mathbf{p}) = g(q_{x}, p_{x}) \cdot g(q_{y}, p_{y})$ 는 Bilinear Interpolation 커널로 $g(a, b) = \text{max} (0, 1 - |a - b|)$로 정의됩니다. 즉, 좌표 $\mathbf{p} = (p_{x}, p_{y})$ 주변에 위치한 가장 가까운 정수 좌표 픽셀 4개의 값들을 거리 기반으로 가중 평균하여 값을 추정하는 것입니다.
저는 처음에 이 과정이 전체적으로 이해가 가지 않아서 좀 더 구체적인 예시를 들어서 설명해보도록 하겠습니다. 예를 들어, 중심 위치가 $\mathbf{p}_{0} = (10, 10)$ 이고, 3×3 커널을 사용할 때, 좌상단 픽셀 위치 $(-1, -1)$에 오프셋 값이 $(-0.3, -0.2)$로 주어지면 실제 샘플링 위치는 다음과 같습니다.
$$\mathbf{p}_{0} + \mathbf{p}_{n} + \Delta \mathbf{p}_{n} = (10, 10) + (-1, -1) + (-0.3, -0.2) = (8.7, 8.8)$$
하지만, $(8.7, 8.8)$이라는 좌표는 실질적으로 존재하지 않기 때문에 앞서 언급한 쌍선형 보간법을 이용하기 위해 주변 4개의 좌표값들인 $(8, 8), (8, 9), (9, 8), (9, 9)$ 의 값들을 가져와주어 $G(\cdot, \cdot)$을 다음과 같이 계산합니다.
$$G((8, 8), (8.7, 8.8)) = g(8, 8.7) \cdot g(8, 8.8) = \text{max} (0, 1 - |8 - 8.7|) \cdot \text{max} (0, 1 - |8 - 8.8|) = 0.3 \cdot 0.2 = 0.06$$
$$G((8, 9), (8.7, 8.8)) = g(8, 8.7) \cdot g(9, 8.8) = \text{max} (0, 1 - |8 - 8.7|) \cdot \text{max} (0, 1 - |9 - 8.8|) = 0.3 \cdot 0.8 = 0.24$$
$$G((9, 8), (8.7, 8.8)) = g(8, 8.7) \cdot g(8, 8.8) = \text{max} (0, 1 - |9 - 8.7|) \cdot \text{max} (0, 1 - |8 - 8.8|) = 0.7 \cdot 0.2 = 0.21$$
$$G((9, 9), (8.7, 8.8)) = g(8, 8.7) \cdot g(8, 8.8) = \text{max} (0, 1 - |9 - 8.7|) \cdot \text{max} (0, 1 - |9 - 8.8|) = 0.7 \cdot 0.8 = 0.56$$
따라서 최종적으로 $\mathbf{x} (8.7, 8.8)$은 다음과 같이 계산합니다.
$$\mathbf{x}(8.7, 8.8) = 0.06 \cdot \mathbf{x} (8, 8) + 0.24 \cdot \mathbf{x} (8, 9) + 0.21 \cdot \mathbf{x} (9, 8) + 0.56 \cdot \mathbf{x} (9, 9)$$
2) Deformable RoI Pooling
기존의 RoI Pooling은 입력 특성 맵에서 관심 영역(Region of Interest, RoI)을 고정된 크기의 격자(grid)로 나누고, 각 격자(bin) 내부의 픽셀들을 샘플링하여 평균하거나 최대값을 계산하는 방식입니다. 기존의 RoI Pooling은 다음과 같이 수행됩니다.
$$y(i, j) = \sum_{\mathbf{p} \in \text{bin} (i, j)} \frac{\mathbf{x} (\mathbf{p}_{0} + \mathbf{p})}{n_{ij}}$$

하지만 이러한 고정된 방법은 객체의 다양한 형태나 크기에 잘 대응하지 못하는 단점이 있습니다. 이에 그림 3과 같이 Deformable RoI Pooling은 기존 RoI Pooling에서 각 bin의 위치에 데이터에 따라 학습 가능한 2차원 오프셋을 추가하여, RoI 내의 픽셀 샘플링 위치를 객체의 형태와 크기에 따라 동적으로 조정할 수 있게 합니다.
$$y(i, j) = \sum_{\mathbf{p} \in \text{bin} (i, j)} \frac{\mathbf{x} (\mathbf{p}_{0} + \mathbf{p} + \Delta \mathbf{p}_{ij})}{n_{ij}}$$
Understanding Deformable ConNets

그림 5는 표준 컨볼루션과 Deformable Convolution 사이의 차이점을 보여주고 있습니다. 특히, 표준 컨볼루션은 수용 필드(receptive field)가 고정되어 있어, 이미지 내의 객체 형태나 크기 변화에 상관없이 항상 동일한 픽셀 위치에서만 샘플링을 수행합니다. 예를 들어, 서로 다른 크기나 모양을 가진 두 객체에 대해서도 표준 컨볼루션은 동일한 고정된 패턴으로 픽셀을 샘플링하여 객체의 특성을 충분히 포착하지 못할 수 있습니다. 반면에 Deformable Convolution은 각 픽셀의 샘플링 위치를 객체의 크기와 모양에 따라 능동적으로 조정할 수 있습니다. 그림을 통해 보면, 표준 컨볼루션은 모든 샘플링 위치가 규칙적으로 정렬된 격자(grid)를 이루는 반면, Deformable Convolution은 객체의 윤곽이나 주요 특징 주변에 집중되어 불규칙하게 샘플링 위치가 조정됨을 확인할 수 있습니다. 이러한 방식으로 Deformable Convolution은 이미지 내 객체의 다양한 형태와 크기에 효과적으로 대응하여 객체의 특징을 더욱 정확히 포착합니다.

Deformable ConvNets는 객체의 크기와 위치에 따라 수용 필드(receptive field)를 동적으로 조정하여 중요한 영역을 효과적으로 탐지할 수 있도록 합니다. 위 그림을 보면 작은 객체, 중간 크기 객체, 큰 객체 및 배경을 기준으로 샘플링 위치가 다르게 분포하는 것을 알 수 있습니다. 배경 영역에서는 샘플링 위치가 넓고 불규칙하게 흩어져 있으며, 객체가 작을수록 샘플링이 객체 주변으로 밀집되는 경향을 보입니다. 큰 객체의 경우는 객체의 전체 영역을 보다 촘촘하게 커버하도록 샘플링 위치가 넓게 퍼져 있습니다. 이와 같이 Deformable ConvNets는 객체의 크기나 위치에 따라 능동적으로 샘플링 위치를 변화시켜 객체의 주요 특징을 더욱 정확하게 포착할 수 있습니다.

Deformable ConvNets는 객체의 다양한 형태와 자세에 따라 RoI(region-of-interest) 내부의 각 bin 위치를 능동적으로 조정하여, 보다 정확하게 객체를 탐지할 수 있습니다. 그림을 보면 각 객체(사람, 자전거, 자동차, 동물 등)의 RoI(노란색 박스) 내에서, bin(빨간색 박스)의 위치가 객체의 형태와 자세에 따라 다르게 조정되어 있음을 확인할 수 있습니다. 예를 들어 사람의 경우 얼굴이나 신체 부위, 자동차는 바퀴나 앞면, 동물은 머리나 몸통과 같이 중요한 부분에 bin이 밀집되어 있거나 위치가 조정됩니다. 이처럼 Deformable RoI Pooling은 고정된 RoI Pooling과 달리 비강체(non-rigid) 객체들의 형태에 유연하게 대응하여 객체 탐지의 정확성을 높입니다.
Experiment Results
1) Ablation Study
1-1) Deformable Convolution

실험은 ResNet-101 기반 네트워크에서 Deformable Convolution을 사용하는 층의 수를 변경하면서 DeepLab(의미론적 분할), class-aware RPN, Faster R-CNN, R-FCN(객체 탐지) 네 가지 작업에서 성능 변화를 측정한 것입니다.
- Deformable Convolution을 사용하지 않은 경우(기본모델)에 비해 층의 수가 늘어날수록 전반적으로 성능이 향상되었습니다.
- 특히 기본 모델과 비교해 Deformable Convolution을 3개 층(res5a,b,c)에 적용했을 때, DeepLab의 mIoU@V는 69.7% → 75.2%, mIoU@C는 70.4% → 75.2%로 의미 있는 성능 개선을 보여줍니다.
- 객체 탐지 모델에서도 Deformable Convolution 층이 늘어날수록 성능이 향상되었으며, Faster R-CNN과 R-FCN은 특히 높은 정확도 개선을 나타냈습니다.
- 다만, 6개 층으로 증가시킨 경우는 3개 층일 때와 비교하여 성능 향상이 미미하거나 오히려 약간 감소하는 경우도 있어, 3개의 층이 가장 효율적인 구성으로 판단됩니다.

위 표에서 dilation value는 Deformable convolution의 각 샘플링 위치에서 샘플링된 픽셀 위치와 중심 픽셀 위치 간의 유클리드 거리(Euclidean distance)의 평균으로 계산하였습니다.
- Deformable convolution의 dilation(확장) 값이 층(layer)에 따라 다르게 나타나며, 깊은 층일수록(res5c) dilation 값이 증가합니다. 이는 더 깊은 층일수록 더 넓은 범위를 커버하는 경향이 있음을 나타냅니다.
- 객체 크기별로 분석하면 작은(small) 객체에서 가장 작은 dilation 값을, 큰(large) 객체에서 가장 큰 dilation 값을 나타냅니다. 이는 Deformable convolution이 객체의 크기에 따라 능동적으로 수용 필드 크기를 조정한다는 사실을 보여줍니다.
- 배경 영역(background)의 dilation 값은 일반적으로 객체보다는 크지만, 큰 객체(large)보다는 작게 나타나, 배경 또한 넓은 영역에서 정보를 얻고 있음을 확인할 수 있습니다.
결과적으로 Deformable convolution은 객체 크기와 층의 깊이에 따라 동적으로 receptive field를 조정하여 효과적으로 객체 탐지를 수행한다는 것을 보여줍니다.

- Atrous convolution의 dilation 값을 증가시킬수록 성능이 일반적으로 향상되나, 일정 값 이상에서는 성능이 다시 감소하는 경향을 보였습니다. 예를 들어 DeepLab과 class-aware RPN에서는 dilation 값이 6일 때 가장 좋은 성능을 보이고, 더 증가하면 오히려 성능이 감소합니다.
- Deformable convolution은 고정된 dilation 값을 사용한 atrous convolution보다 모든 태스크(DeepLab, class-aware RPN, Faster R-CNN, R-FCN)에서 우수한 성능을 보입니다. 특히 DeepLab에서 atrous convolution 대비 약 1.7~5.6%의 뚜렷한 성능 향상이 있었습니다.
- Deformable RoI pooling 단독 사용도 Faster R-CNN과 R-FCN에서 기본 모델 대비 향상된 성능을 보였지만, Deformable convolution과 함께 사용했을 때 가장 뛰어난 성능을 기록했습니다. 특히 R-FCN에서 deformable convolution과 deformable RoI pooling을 함께 사용할 때 mAP@0.7 기준으로 기본 모델 대비 약 6.7%의 매우 큰 성능 향상을 나타냈습니다.
결론적으로 deformable 모듈들이 독립적으로도 성능 개선을 이끌며, 특히 함께 사용했을 때 객체 탐지 및 분할 작업에서 가장 뛰어난 성능을 제공함을 확인할 수 있었습니다.
1-2) Model Capacity

- Deformable ConvNets 모델은 기존 모델(DeepLab, class-aware RPN, Faster R-CNN, R-FCN)에 비해 전체적인 파라미터 수(# params)는 약간 증가하였으나, 그 차이는 매우 작습니다 (약 0.1M~2.4M 증가).
- 네트워크의 순방향 연산 시간(net. forward)은 모든 경우에 있어서 기존 모델 대비 소폭 증가하였습니다.
- 전체적인 런타임(runtime, 이미지 크기 조정부터 최종 후처리까지 포함) 역시 기존 모델에 비해 약간 증가하였으나, 그 증가폭은 크지 않아 실제 사용에 큰 부담이 되지 않습니다.
즉, Deformable ConvNets는 파라미터 수 및 실행 시간이 소폭 증가하지만, 성능 향상 효과를 고려할 때 합리적이고 효율적인 추가 연산량임을 확인할 수 있습니다.
2) Results

Conclusion
본 논문은 기존 CNN의 고정된 공간적 구조에서 오는 한계를 극복하기 위해 Deformable Convolution과 Deformable RoI Pooling이라는 두 가지 핵심 모듈을 제안했습니다. Deformable Convolution은 입력 데이터에 따라 컨볼루션의 샘플링 위치를 유연하게 조정하여 객체의 다양한 형태와 크기를 더욱 효과적으로 모델링할 수 있게 합니다. Deformable RoI Pooling은 관심 영역(RoI) 내 각 bin의 샘플링 위치를 데이터에 맞추어 능동적으로 조정하여 객체 탐지의 정확성을 높입니다.
실험 결과, 제안된 Deformable ConvNets는 의미론적 분할 및 객체 탐지와 같은 다양한 컴퓨터 비전 태스크에서 기존 CNN 대비 뛰어난 성능을 나타냈으며, 추가되는 계산 비용과 파라미터 수는 매우 적었습니다. 특히 객체의 크기와 형태에 따라 자동으로 receptive field를 조정하여 효율적이고 정확한 인식을 가능하게 하였습니다. 따라서 본 논문에서 제안한 Deformable ConvNets는 향후 다양한 컴퓨터 비전 응용 분야에서 광범위하게 활용될 수 있는 효과적이고 실용적인 방법론임을 입증하였습니다.
'Paper Review' 카테고리의 다른 글
MISSFormer: An Effective Medical Image Segmentation Transformer (IEEE TMI2023) (0) | 2025.04.04 |
---|---|
Unet++: A Nested U-net Architecture for Medical Image Segmentation (DLMIA2018) (0) | 2025.04.01 |
Multiscale Vision Transformers (ICCV2021) (0) | 2025.03.28 |
Segmenter: Transformer for Semantic Segmentation (ICCV2021) (0) | 2025.03.25 |
Inception Transformer (NIPS2022) (0) | 2025.03.09 |
안녕하세요. 오늘은 ICCV2017에 게재된 Deformable Convolution이라는 논문을 소개하도록 하겠습니다.
Deformable Convolutional Networks
Convolutional neural networks (CNNs) are inherently limited to model geometric transformations due to the fixed geometric structures in its building modules. In this work, we introduce two new modules to enhance the transformation modeling capacity of CNNs
arxiv.org
Background
최근 컴퓨터 비전 기술은 객체 인식, 이미지 분할, 객체 탐지 등 다양한 분야에서 뛰어난 성과를 보여주고 있습니다. 특히 이미지에서 객체의 위치나 형태를 정확히 인식하고 구분하는 기술은 자율주행, 보안 감시, 의료 영상 분석 등 많은 실생활 응용 분야에서 필수적입니다. 기존의 대표적인 접근법인 컨볼루션 신경망(CNN, Convolutional Neural Network)은 이미지의 국지적(local) 특징을 잘 포착하는 데 강점을 가지고 있습니다. 그러나 CNN의 고정된 구조적 특성 때문에 이미지 내 객체의 다양한 크기, 형태, 포즈, 시점 등의 복잡한 기하학적 변형(geometric transformations)을 효과적으로 모델링하는 데 한계를 보였습니다.
이러한 문제를 해결하기 위해 과거에는 데이터 증강(Data Augmentation)을 통해 학습 데이터에 다양한 변형을 추가하거나, 변형에 강인한 특징(Transformation-invariant features)을 설계하여 해결하고자 했습니다. 하지만 이 접근법들은 사전 정의된 기하학적 변형만을 다룰 수 있고, 매우 복잡한 변형에 대해서는 일반화가 어려운 한계가 존재합니다.

본 논문에서 제안하는 Deformable Convolutional Networks(Deformable ConvNets)는 기존 CNN이 갖고 있는 고정된 공간적 구조를 개선하여, 입력 데이터에 따라 샘플링 위치를 자유롭게 변형할 수 있도록 설계되었습니다. Deformable ConvNets의 핵심 아이디어는 그림 1과 같이 표준 컨볼루션 연산에 2차원 오프셋(offset)을 추가하여 각 픽셀의 샘플링 위치를 데이터에 따라 학습 가능하게 조정하는 'Deformable Convolution'과, 객체 탐지 시 RoI(region-of-interest)의 각 영역(bin)을 유연하게 이동하여 객체의 형태에 더 잘 맞추는 'Deformable RoI Pooling' 모듈입니다.
이러한 방법을 통해 Deformable ConvNets는 이미지 내 객체의 다양한 크기와 형태 변화에 더욱 유연하고 정밀하게 대응할 수 있게 되었으며, 특히 의미론적 분할(Semantic Segmentation), 객체 탐지(Object Detection)와 같은 복잡한 시각적 인식 문제에서 성능을 크게 향상시켰습니다. 본 논문의 기여는 다음과 같이 정리할 수 있습니다.
- 기존 CNN의 고정된 공간적 구조를 극복하는 Deformable Convolution 모듈을 제안하여, 이미지 내 다양한 기하학적 변형을 효과적으로 모델링할 수 있게 하였습니다.
- 객체 탐지 과정에서 RoI 영역(bin)의 위치를 데이터에 따라 유연하게 조정하는 Deformable RoI Pooling 모듈을 개발하여 객체 형태 및 크기에 대한 적응성을 높였습니다.
- 의미론적 분할 및 객체 탐지와 같은 고난도의 컴퓨터 비전 문제에서, 추가적인 파라미터나 계산 비용 증가 없이 기존 CNN보다 뛰어난 성능을 실험적으로 입증하였습니다.
Proposed Method: Deformable Convolutional Networks
1) Deformable Convolution
기존의 표준 컨볼루션(Convolution)은 입력 특징 맵(feature map)의 고정된 위치에서 규칙적으로 샘플링을 수행합니다. 예를 들어, 3×3 크기의 커널(kernel)을 사용할 때, 필터 중심을 기준으로 주위의 9개 픽셀을 고정된 간격으로 샘플링하여 가중치(weight)를 곱한 뒤 합산한 값을 출력합니다. 이는 다음의 식으로 나타낼 수 있습니다.
$$\mathbf{y} (\mathbf{p}_{0}) = \sum_{\mathbf{p}_{n} \in \mathcal{R}} \mathbf{w} (\mathbf{p}_{n}) \cdot \mathbf{x} (\mathbf{p}_{0} + \mathbf{p}_{n})$$
여기서 $\mathbf{y} (\mathbf{p}_{0})$는 출력 특성 맵의 특정 위치 $\mathbf{p}_{0}$ 의 값, $\mathbf{x}$는 입력 특징 맵, $\mathbf{w}$는 합성곱 필터의 가중치를 의미합니다. 이때, $\mathcal{R}$은 고정된 격자(grid)로, 커널의 크기와 dilation 값으로 결정됩니다. 예를 들어, 3×3 크기의 커널 크기에 dilation rate가 1이라면 $\mathbf{R} = \{ (-1, -1), (-1, 0), \dots, (0, 1), (1, 1) \}$로 정의됩니다. 이 표준 컨볼루션 방식은 고정된 구조를 사용하기 때문에 이미지 내 객체의 크기나 형태, 시점 등 기하학적 변형에 유연하게 대응하기 어렵다는 단점이 존재합니다.

그림 2와 같이 Deformable Convolution은 이러한 한계를 극복하기 위해 표준 컨볼루션의 샘플링 위치에 학습 가능한 2차원 오프셋(offset)을 추가하여, 입력 이미지의 내용에 따라 유연하게 샘플링 위치를 조정합니다. 즉, 원래의 고정된 위치 $\mathbf{p}_{0} + \mathbf{p}_{n}$ 에 오프셋 $\Delta \mathbf{p}_{n}$ 을 더하여 다음과 같이 표현됩니다.
$$\mathbf{y} (\mathbf{p}_{0}) = \sum_{\mathbf{p}_{n} \in \mathcal{R}} \mathbf{w} (\mathbf{p}_{n}) \cdot \mathbf{x} (\mathbf{p}_{0} + \mathbf{p}_{n} + \Delta \mathbf{p}_{n})$$
여기서, 오프셋 $\Delta \mathbf{p}_{n}$ 은 입력 특성 맵에 별도의 작은 컨볼루션 층을 추가로 적용하여 학습됩니다. 이 오프셋 값은 일반적으로 정수가 아닌 실수 값을 가지기 때문에, 입력 특성 맵에서 값을 얻을 때는 주변 픽셀들로부터 보간(interpolation)을 수행해야 합니다.
실수 좌표에서 특성 값을 얻기 위해서는 Bilinear Interpolation(쌍선형 보간)을 수행합니다. 특정 좌표 $p = (p_{x}, p_{y})$ 에서의 보간 값 $\mathbf{x} (\mathbf{p})$ 은 아래와 같이 표현할 수 있습니다.
$$\mathbf{x} (\mathbf{p}) = \sum_{\mathbf{q}} G(\mathbf{q}, \mathbf{p}) \cdot \mathbf{x} (\mathbf{q})$$
여기서, $\mathbf{q}$는 $\mathbf{p}$ 주변 4개 정수 픽셀 위치를 나타냅니다. 그리고 $G(\mathbf{q}, \mathbf{p}) = g(q_{x}, p_{x}) \cdot g(q_{y}, p_{y})$ 는 Bilinear Interpolation 커널로 $g(a, b) = \text{max} (0, 1 - |a - b|)$로 정의됩니다. 즉, 좌표 $\mathbf{p} = (p_{x}, p_{y})$ 주변에 위치한 가장 가까운 정수 좌표 픽셀 4개의 값들을 거리 기반으로 가중 평균하여 값을 추정하는 것입니다.
저는 처음에 이 과정이 전체적으로 이해가 가지 않아서 좀 더 구체적인 예시를 들어서 설명해보도록 하겠습니다. 예를 들어, 중심 위치가 $\mathbf{p}_{0} = (10, 10)$ 이고, 3×3 커널을 사용할 때, 좌상단 픽셀 위치 $(-1, -1)$에 오프셋 값이 $(-0.3, -0.2)$로 주어지면 실제 샘플링 위치는 다음과 같습니다.
$$\mathbf{p}_{0} + \mathbf{p}_{n} + \Delta \mathbf{p}_{n} = (10, 10) + (-1, -1) + (-0.3, -0.2) = (8.7, 8.8)$$
하지만, $(8.7, 8.8)$이라는 좌표는 실질적으로 존재하지 않기 때문에 앞서 언급한 쌍선형 보간법을 이용하기 위해 주변 4개의 좌표값들인 $(8, 8), (8, 9), (9, 8), (9, 9)$ 의 값들을 가져와주어 $G(\cdot, \cdot)$을 다음과 같이 계산합니다.
$$G((8, 8), (8.7, 8.8)) = g(8, 8.7) \cdot g(8, 8.8) = \text{max} (0, 1 - |8 - 8.7|) \cdot \text{max} (0, 1 - |8 - 8.8|) = 0.3 \cdot 0.2 = 0.06$$
$$G((8, 9), (8.7, 8.8)) = g(8, 8.7) \cdot g(9, 8.8) = \text{max} (0, 1 - |8 - 8.7|) \cdot \text{max} (0, 1 - |9 - 8.8|) = 0.3 \cdot 0.8 = 0.24$$
$$G((9, 8), (8.7, 8.8)) = g(8, 8.7) \cdot g(8, 8.8) = \text{max} (0, 1 - |9 - 8.7|) \cdot \text{max} (0, 1 - |8 - 8.8|) = 0.7 \cdot 0.2 = 0.21$$
$$G((9, 9), (8.7, 8.8)) = g(8, 8.7) \cdot g(8, 8.8) = \text{max} (0, 1 - |9 - 8.7|) \cdot \text{max} (0, 1 - |9 - 8.8|) = 0.7 \cdot 0.8 = 0.56$$
따라서 최종적으로 $\mathbf{x} (8.7, 8.8)$은 다음과 같이 계산합니다.
$$\mathbf{x}(8.7, 8.8) = 0.06 \cdot \mathbf{x} (8, 8) + 0.24 \cdot \mathbf{x} (8, 9) + 0.21 \cdot \mathbf{x} (9, 8) + 0.56 \cdot \mathbf{x} (9, 9)$$
2) Deformable RoI Pooling
기존의 RoI Pooling은 입력 특성 맵에서 관심 영역(Region of Interest, RoI)을 고정된 크기의 격자(grid)로 나누고, 각 격자(bin) 내부의 픽셀들을 샘플링하여 평균하거나 최대값을 계산하는 방식입니다. 기존의 RoI Pooling은 다음과 같이 수행됩니다.
$$y(i, j) = \sum_{\mathbf{p} \in \text{bin} (i, j)} \frac{\mathbf{x} (\mathbf{p}_{0} + \mathbf{p})}{n_{ij}}$$

하지만 이러한 고정된 방법은 객체의 다양한 형태나 크기에 잘 대응하지 못하는 단점이 있습니다. 이에 그림 3과 같이 Deformable RoI Pooling은 기존 RoI Pooling에서 각 bin의 위치에 데이터에 따라 학습 가능한 2차원 오프셋을 추가하여, RoI 내의 픽셀 샘플링 위치를 객체의 형태와 크기에 따라 동적으로 조정할 수 있게 합니다.
$$y(i, j) = \sum_{\mathbf{p} \in \text{bin} (i, j)} \frac{\mathbf{x} (\mathbf{p}_{0} + \mathbf{p} + \Delta \mathbf{p}_{ij})}{n_{ij}}$$
Understanding Deformable ConNets

그림 5는 표준 컨볼루션과 Deformable Convolution 사이의 차이점을 보여주고 있습니다. 특히, 표준 컨볼루션은 수용 필드(receptive field)가 고정되어 있어, 이미지 내의 객체 형태나 크기 변화에 상관없이 항상 동일한 픽셀 위치에서만 샘플링을 수행합니다. 예를 들어, 서로 다른 크기나 모양을 가진 두 객체에 대해서도 표준 컨볼루션은 동일한 고정된 패턴으로 픽셀을 샘플링하여 객체의 특성을 충분히 포착하지 못할 수 있습니다. 반면에 Deformable Convolution은 각 픽셀의 샘플링 위치를 객체의 크기와 모양에 따라 능동적으로 조정할 수 있습니다. 그림을 통해 보면, 표준 컨볼루션은 모든 샘플링 위치가 규칙적으로 정렬된 격자(grid)를 이루는 반면, Deformable Convolution은 객체의 윤곽이나 주요 특징 주변에 집중되어 불규칙하게 샘플링 위치가 조정됨을 확인할 수 있습니다. 이러한 방식으로 Deformable Convolution은 이미지 내 객체의 다양한 형태와 크기에 효과적으로 대응하여 객체의 특징을 더욱 정확히 포착합니다.

Deformable ConvNets는 객체의 크기와 위치에 따라 수용 필드(receptive field)를 동적으로 조정하여 중요한 영역을 효과적으로 탐지할 수 있도록 합니다. 위 그림을 보면 작은 객체, 중간 크기 객체, 큰 객체 및 배경을 기준으로 샘플링 위치가 다르게 분포하는 것을 알 수 있습니다. 배경 영역에서는 샘플링 위치가 넓고 불규칙하게 흩어져 있으며, 객체가 작을수록 샘플링이 객체 주변으로 밀집되는 경향을 보입니다. 큰 객체의 경우는 객체의 전체 영역을 보다 촘촘하게 커버하도록 샘플링 위치가 넓게 퍼져 있습니다. 이와 같이 Deformable ConvNets는 객체의 크기나 위치에 따라 능동적으로 샘플링 위치를 변화시켜 객체의 주요 특징을 더욱 정확하게 포착할 수 있습니다.

Deformable ConvNets는 객체의 다양한 형태와 자세에 따라 RoI(region-of-interest) 내부의 각 bin 위치를 능동적으로 조정하여, 보다 정확하게 객체를 탐지할 수 있습니다. 그림을 보면 각 객체(사람, 자전거, 자동차, 동물 등)의 RoI(노란색 박스) 내에서, bin(빨간색 박스)의 위치가 객체의 형태와 자세에 따라 다르게 조정되어 있음을 확인할 수 있습니다. 예를 들어 사람의 경우 얼굴이나 신체 부위, 자동차는 바퀴나 앞면, 동물은 머리나 몸통과 같이 중요한 부분에 bin이 밀집되어 있거나 위치가 조정됩니다. 이처럼 Deformable RoI Pooling은 고정된 RoI Pooling과 달리 비강체(non-rigid) 객체들의 형태에 유연하게 대응하여 객체 탐지의 정확성을 높입니다.
Experiment Results
1) Ablation Study
1-1) Deformable Convolution

실험은 ResNet-101 기반 네트워크에서 Deformable Convolution을 사용하는 층의 수를 변경하면서 DeepLab(의미론적 분할), class-aware RPN, Faster R-CNN, R-FCN(객체 탐지) 네 가지 작업에서 성능 변화를 측정한 것입니다.
- Deformable Convolution을 사용하지 않은 경우(기본모델)에 비해 층의 수가 늘어날수록 전반적으로 성능이 향상되었습니다.
- 특히 기본 모델과 비교해 Deformable Convolution을 3개 층(res5a,b,c)에 적용했을 때, DeepLab의 mIoU@V는 69.7% → 75.2%, mIoU@C는 70.4% → 75.2%로 의미 있는 성능 개선을 보여줍니다.
- 객체 탐지 모델에서도 Deformable Convolution 층이 늘어날수록 성능이 향상되었으며, Faster R-CNN과 R-FCN은 특히 높은 정확도 개선을 나타냈습니다.
- 다만, 6개 층으로 증가시킨 경우는 3개 층일 때와 비교하여 성능 향상이 미미하거나 오히려 약간 감소하는 경우도 있어, 3개의 층이 가장 효율적인 구성으로 판단됩니다.

위 표에서 dilation value는 Deformable convolution의 각 샘플링 위치에서 샘플링된 픽셀 위치와 중심 픽셀 위치 간의 유클리드 거리(Euclidean distance)의 평균으로 계산하였습니다.
- Deformable convolution의 dilation(확장) 값이 층(layer)에 따라 다르게 나타나며, 깊은 층일수록(res5c) dilation 값이 증가합니다. 이는 더 깊은 층일수록 더 넓은 범위를 커버하는 경향이 있음을 나타냅니다.
- 객체 크기별로 분석하면 작은(small) 객체에서 가장 작은 dilation 값을, 큰(large) 객체에서 가장 큰 dilation 값을 나타냅니다. 이는 Deformable convolution이 객체의 크기에 따라 능동적으로 수용 필드 크기를 조정한다는 사실을 보여줍니다.
- 배경 영역(background)의 dilation 값은 일반적으로 객체보다는 크지만, 큰 객체(large)보다는 작게 나타나, 배경 또한 넓은 영역에서 정보를 얻고 있음을 확인할 수 있습니다.
결과적으로 Deformable convolution은 객체 크기와 층의 깊이에 따라 동적으로 receptive field를 조정하여 효과적으로 객체 탐지를 수행한다는 것을 보여줍니다.

- Atrous convolution의 dilation 값을 증가시킬수록 성능이 일반적으로 향상되나, 일정 값 이상에서는 성능이 다시 감소하는 경향을 보였습니다. 예를 들어 DeepLab과 class-aware RPN에서는 dilation 값이 6일 때 가장 좋은 성능을 보이고, 더 증가하면 오히려 성능이 감소합니다.
- Deformable convolution은 고정된 dilation 값을 사용한 atrous convolution보다 모든 태스크(DeepLab, class-aware RPN, Faster R-CNN, R-FCN)에서 우수한 성능을 보입니다. 특히 DeepLab에서 atrous convolution 대비 약 1.7~5.6%의 뚜렷한 성능 향상이 있었습니다.
- Deformable RoI pooling 단독 사용도 Faster R-CNN과 R-FCN에서 기본 모델 대비 향상된 성능을 보였지만, Deformable convolution과 함께 사용했을 때 가장 뛰어난 성능을 기록했습니다. 특히 R-FCN에서 deformable convolution과 deformable RoI pooling을 함께 사용할 때 mAP@0.7 기준으로 기본 모델 대비 약 6.7%의 매우 큰 성능 향상을 나타냈습니다.
결론적으로 deformable 모듈들이 독립적으로도 성능 개선을 이끌며, 특히 함께 사용했을 때 객체 탐지 및 분할 작업에서 가장 뛰어난 성능을 제공함을 확인할 수 있었습니다.
1-2) Model Capacity

- Deformable ConvNets 모델은 기존 모델(DeepLab, class-aware RPN, Faster R-CNN, R-FCN)에 비해 전체적인 파라미터 수(# params)는 약간 증가하였으나, 그 차이는 매우 작습니다 (약 0.1M~2.4M 증가).
- 네트워크의 순방향 연산 시간(net. forward)은 모든 경우에 있어서 기존 모델 대비 소폭 증가하였습니다.
- 전체적인 런타임(runtime, 이미지 크기 조정부터 최종 후처리까지 포함) 역시 기존 모델에 비해 약간 증가하였으나, 그 증가폭은 크지 않아 실제 사용에 큰 부담이 되지 않습니다.
즉, Deformable ConvNets는 파라미터 수 및 실행 시간이 소폭 증가하지만, 성능 향상 효과를 고려할 때 합리적이고 효율적인 추가 연산량임을 확인할 수 있습니다.
2) Results

Conclusion
본 논문은 기존 CNN의 고정된 공간적 구조에서 오는 한계를 극복하기 위해 Deformable Convolution과 Deformable RoI Pooling이라는 두 가지 핵심 모듈을 제안했습니다. Deformable Convolution은 입력 데이터에 따라 컨볼루션의 샘플링 위치를 유연하게 조정하여 객체의 다양한 형태와 크기를 더욱 효과적으로 모델링할 수 있게 합니다. Deformable RoI Pooling은 관심 영역(RoI) 내 각 bin의 샘플링 위치를 데이터에 맞추어 능동적으로 조정하여 객체 탐지의 정확성을 높입니다.
실험 결과, 제안된 Deformable ConvNets는 의미론적 분할 및 객체 탐지와 같은 다양한 컴퓨터 비전 태스크에서 기존 CNN 대비 뛰어난 성능을 나타냈으며, 추가되는 계산 비용과 파라미터 수는 매우 적었습니다. 특히 객체의 크기와 형태에 따라 자동으로 receptive field를 조정하여 효율적이고 정확한 인식을 가능하게 하였습니다. 따라서 본 논문에서 제안한 Deformable ConvNets는 향후 다양한 컴퓨터 비전 응용 분야에서 광범위하게 활용될 수 있는 효과적이고 실용적인 방법론임을 입증하였습니다.
'Paper Review' 카테고리의 다른 글
MISSFormer: An Effective Medical Image Segmentation Transformer (IEEE TMI2023) (0) | 2025.04.04 |
---|---|
Unet++: A Nested U-net Architecture for Medical Image Segmentation (DLMIA2018) (0) | 2025.04.01 |
Multiscale Vision Transformers (ICCV2021) (0) | 2025.03.28 |
Segmenter: Transformer for Semantic Segmentation (ICCV2021) (0) | 2025.03.25 |
Inception Transformer (NIPS2022) (0) | 2025.03.09 |