본문 바로가기
Computer Vision

Deformable Convolutional Networks (DCN) 리뷰

by pnnote 2023. 6. 13.
반응형

Deformable Convolutional Network에 대해 리뷰를 하려고합니다. Deformable Convolution Network는 기존의 convolution 연산을 확장하여 객체의 형태 변화를 모델링할 수 있는 딥러닝 네트워크입니다. 발표된지 꽤 지난 논문이지만 Detection, Segmentation 분야에서 아직도 요소기술로 많이 적용되고 있는 방법중 하나입니다. 일반적인 Convolutional layer는 고정된 수용 영역에서만 feature를 추출합니다. 3x3 conv의 경우 3x3에 맞는 해당 grid에서만 값을 샘플링하지만 Deformable convolution은 모델에 대해 더 flexible한 receptive field를 적용할 수 있습니다. 보통 객체는 scale, pose, viewpoint 등 변형이 많습니다. 그래서 같은 객체라고해도 인식률 차이가 많이 날 수 있습니다. 이러한 문제를 해결하기 위한 방법으로는 다양한 variation을 포함하는 학습데이터를 구축하거나,  transformation-invariant features나 알고리즘을 사용하는 방법이 있습니다. 본 논문에서는 geometric transformations에 강건한 deformable convolution과 deformable RoI pooling를 제안합니다.

 

위 그림에서 (a)는 일반적인 convolution의 sampling grid입니다. (b)는 deformable convolution에서  augmented offsets이 적용된 sapling grid입니다(진한 파랑색). (c)와 (d)는 scale, aspect ratio, 회전을 감안한 다양한 deformable convolution 입니다.

 

Deformable Convolutional Networks

Deformable Convolution Network는 기존의 Convolutional layer를 Deformable Convolutional layer로 대체하여 구성됩니다. 일반적인 Convolution 연산은 고정된 사각형 형태의 필터를 사용하여 입력 이미지를 처리하지만, Deformable Convolution Network는 이러한 사각형 형태의 필터를 일반적인 그리드 구조가 아닌 유동적인 형태로 변형하여 적용합니다. 이를 통해 객체의 형태 변화에 대응할 수 있으며, 객체 내부의 작은 세부 정보를 잘 포착할 수 있습니다.

 

일반적인 Convolution

 

Deformable Convolution

위 수식에서 y는 output feature map이고, p는 각 convolutional 필터의 위치입니다. deformable convolution 같은 경우에는 offset인 ∆Pn이 추가됩니다.

3 x 3 deformable convolution

deformable convolution에서는 일반적인 conv grid에서 offset이 추가되어 더 넓은 범위의 grid 영역에서 특징을 추출합니다. 여기서 offset은 convolution kernel과 같이 학습이 됩니다. offset은 아주 작은 값이기 때문에 소수점이 될 수 있고, 해당 위치의 값을 bilinear interpolation을 통해 계산합니다.

 

Deformable RoI Pooling

RoI pooling은 region proposal을 기반으로하는 object detection 방법에 사용됩니다. RoI pooling의 역할은 여러가지 사이즈의 input feature를 고정된 사이즈의 feature로 변환하는 것입니다. Deformable RoI Pooling이 Deformable convolution과 다른 점은 offset을 구할 때 fc(fully connected layer)를 통해 계산한다는 점입니다. offset 정보를 활용하여 deformable RoI pooling을 수행해 최종 feature map을 생성합니다.

3 x 3 deformable RoI pooling

 

Deformable Convolution과 Deformable RoI Pooling은 모두 input과 output이 기존 모듈과 같은 shape를 가집니다. 따라서 기존의 CNN에서 쉽게 적용할 수 있습니다. 


Performance

위 그림은 기존 Network에 Deformable Convolution Net을 적용했을 때 파라미터와 수행시간 비교입니다. Ours가 Deformable Convolution을 추가한 방식입니다. 약간의 cost가 추가된 것을 확인할 수 있습니다.

 

위 그림은 논문의 실험 결과입니다. Object Detection task에서 convolution을 Deformable Convolution로 대체 적용하여 성능이 향상되었다고 합니다.

 

반응형