Abstract
기존 CSP 논문을 개선한 논문이다. 해당 논문에서 주장하는 contributions은 다음과 같다.
- CSP의 robustness를 향상시키고, 학습을 더 쉽게 만들었다.
- Compressing width라고 하는 새로운 width 예측 방법을 제안하고 있다.
- CityPersons benchmark에서 두번째로 높은 성능을 나타낸다.
- Switchable Normalization의 capabilities에 대해서 탐구를 수행하였다.
Introduction
CSP는 anchor-free 방식으로 좋은 성능을 나타냈지만, 아직 해결하지 못한 문제점들이 있다. 첫번째는 배치사이즈에 민감하다는 것이다. (1,1) (배치사이즈,GPU수)와 같이 작은 배치사이즈일때와 (4,4)와 같이 큰 배치사이즈일 때 MR이 수렴하지 않는다. 두번째는 CSP를 학습할 때 다른 입력 이미지의 스케일이 완전히 다른 결과를 가져온다는 것이다. 마지막으로 기타 occlusion/crowd를 다룬 알고리즘과 비교할 때 여전히 많은 성능 향상이 필요하다는 것이다. 논문에서는 이러한 문제점들을 다루고 있고 이를 개선하여 ASCP를 제안하고 있다. ACSP는 CSP와 약간 다르지만 큰 성능의 향상을 가져왔다. ASCP의 contribution은 다음과 같다.
- CSP를 더 강인하게 만들었다. (배치사이즈와 입력 이미지의 스케일에 덜 민감하다)
- Compressing width라는 새로운 bbox의 width를 결정하는 방법을 제안한다.
- CSP보다 성능을 향상시켰다.
- 배치 사이즈가 클 때 Switchable Normalization의 능력을 탐구하였다.
ACSP는 CityPersons 셋에서 두번째로 높은 성능을 나타냈다.
Proposed Adaptation
- CSP Revisit
CSP에서는 ResNet50에서 4 layers를 가져왔다. 이 4 layers는 input image에 대해서 각각 4,8,16,16배가 다운샘플링 된다. 이 때, 우리는 4개의 feature 맵을 얻는데, 각각 (256,256,512), (512,128,256), (1024,64,128), (2048,64,128)이다. CSP에서는 마지막 3개의 다양한 스케일의 피처맵을 하나로 합치기 위해서 deconvolution layer를 사용한다. 따라서 결과적으로 (768,256,512)의 피처맵이 만들어진다. 다음으로는 3×3 convolution layer를 사용해 마지막 피처맵의 차원을 256차원으로 감소시킨다. 마지막으로는 prediction of center, scale and offset을 위한 각각의 1×1,1×1 and 2×2 convolution layer를 추가한다.
- CSP 설명보기
- SN Layer
일반반적으로 BN의 사용은 성능향상을 가져오고 CSP도 마찬가지로 BN을 사용하였다. 이로인해 CSP도 BN이 갖는 약점을 함께 가지고 있다. 그 약점은 작은 배치사이즈에는 적합하지 않다는 것이다. 이유는 작은 배치사이즈가 학습 과정에서 노이즈를 만들기 때문이다. 그러나 ablation study를 통해서 CSP는 큰 배치사이즈도 부적합 하다는걸 확인할 수 있었다. 따라서 논문에서는 BN을 SN(Switchable normalization)으로 변경하였다. 이로인한 결과는 다음과 같다.
- Backbone
백본의 feature extraction 능력은 object detection에서 엄청 중요하다. ResNet-50,ResNet-101,VGG등과 같은 네트워크들은 classificatiton을 위해서 만들어졌고, pedeestrain detector에서도 많이 사용된다. 추가적으로 DetNet와 같이 obeject detection을 위해서 특별히 만들어진 네트워크도 존재한다. 원 CSP에서는 ResNet-50을 백본으로 사용했다. 하지만 다른 레벨의 피처맵을 합치는 CSP는 더 deep한 네트워크를 사용하는게 적합하다. 그래야 location information은 shallow featuremap에 남아있고, 동시에 하이레벨의 semantic information도 함께 추출될 수 있다. 따라서 논문에서는 DetNet과 ResNet-101 모두에 대한 ablation study를 수행하였고 결과는 다음과 같다.
- Input size
CSP에서는 1024×2048의 이미지를 640×1280으로 resize한다. 이에 대한 이유는 CSP에서는 다루지 않는데, resize로 인한 효과는 시간과 메모리를 절약할 수 있으며, 특히 중요한내용은 원본 사이즈(1024×2048)을 사용하면 성능이 저하되고 수렴하지 않는 결과를 나타냈다. 그러나 대부분의 다른 논문들은 original resolution을 사용해 SOTA를 이뤘다. 따라서 논문에서는 이 부분에 대한 변화가 필요하다고 생각했다. 따라서 이와 관련해 ablation study를 수행하였다. 결과적으로 성능이 더 하락했는데 이러한 요인으로는 original picture에 노이즈가 존재한다는 것이고, ResNet-50을 백본으로 할 때 semantic feature가 적절히 추출되지 않다는 것이다. 따라서 네트워크의 파라미터가 노이즈에 영향을 받을 수 있다는 것이다. 두번째는 파라미터의 양의 high resolution picture에 충분하지 않다는 것이다. 마지막으로는 resize과정은 몇몇 detail feature를 생략하고, 그것들에 지나치게 집중하는 것은 generalization 능력에 영향을 준다는 것이다. 이를 해결하기위해 ResNet-50을 ResNet-101로 대체하였다.
- Compressing Width
CSP논문에서는 height에 0.41을 곱해서 width를 만들었다. 그러나 이것은 reference process에서 적합하지 않는데, 왜냐하면 crowded scene에서 상대적으로 wide 박스는 오버랩 될 확률을 증가시키고, NMS과정에서 제거될 수 있기 때문이다. 그렇게되면 몇몇 결과들을 잃고 이는 성능저하의 원인이 된다. 따라서 논문에서는 width를 결정하기 위한 새로운 방법을 설계하였다.
- Vanilla L1 Loss
CSP에는 classification loss, scale loss, offset loss가 존재한다. 각가에 가중치는 0.01, 1, 0.1 이다. 많은 논문에서 Vanilla L1 Loss 보다 Smooth L1 loss가 좋다고 해서 이를 변경해서 실험하였다.
최종 성능
총평
CSP를 사용하는 사람에게는 도움이 되겠지만 학계발전을 위한 논문은 아닌것 같다. (일단 새로운 방법도 없고 저자가 설명한 새로운 방법도 새롭지 않다.) 그래도 CSP이용해 PD를 진행한 이진수군에게 도움이 되길 바란다.
우리는 4개의 feature 맵을 얻는데, 각각 (256,256,512), (512,128,256), (1024,64,128), (2048,64,128)이다. CSP에서는 마지막 3개의 다양한 스케일의 피처맵을 하나로 합치기 위해서 deconvolution layer를 사용한다. 라는 내용에서 4개의 feature map을 얻는데 왜 4개가 아닌 3개의 feature map을 합치는건가요??
이전 CSP논문을 보시면 4개중 3개의 조합이 가장 좋은 성능을 나타낸다고 나와있습니다.