아이공의 AI 공부 도전기

[논문 Summary] CSRNet (2018 CVPR) "CSRNet: Dilated Convolutional Neural Networks for Understanding the Highly Congested Scenes"

 

     

 

논문 정보

Citation : 2022.11.11 금요일 기준 1002회

저자

Yuhong Li, Xiaofan Zhang, Deming Chen - University of Illinois at Urbana-Champaign

 

논문 링크

Official

https://openaccess.thecvf.com/content_cvpr_2018/papers/Li_CSRNet_Dilated_Convolutional_CVPR_2018_paper.pdf

 

Arxiv

https://arxiv.org/abs/1802.10062

 

논문 Summary

Abstract

 

 

0. 설명 시작 전 Overview

 

CSRNet(Congested Scene Recognition)

1) 매우 혼잡한 장면을 이해

2) 정확한 집계 추정을 진행

3) 높은 품질의 density map을 제안

 

CSRNet의 2가지 요소 

1) CNN / 2) dilated CNN

 

쉽게 훈련 가능하고 당해년도 SOTA 달성

 

1. Introduction

 

congested scenes analysis의 현재 방법은 crowd distribution의 특성을 표시할 수 있는 density map presenting 방법으로 진화했다.

해당 distribution map은 정확하고 종합적인 정보를 얻도록 도와준다. 그러나 2가지 문제가 있다.

1) prediction manner

2) diversified scene

 

최근에는 DNN 기반의 방법들이 각광을 받고 있고 이는 높은 정확도를 달성하는 반면 2가지 단점이 있다.

1) 많은 훈련 시간

2) 효율적이지 못한 branch 구조

ex) multi-column CNN : MCNN (2016 CVPR)

 

MCNN은 단순히 깊고 정규화된 single network보다 성능이 좋지 못하다

Table 1에서 확인할 수 있듯 단순 깊은 CNN 모델 대비 파라미터의 수도 많이 필요하고 성능 또한 좋지 못하다.

 

 

본래 MCNN은 유연한 receptive fields를 각 branch별 CNN이 학습함으로써 효과적임을 보이고 싶지만 실제로 Figure 2에서 보이듯 각 branch column은 비슷한 패턴을 학습하고 비슷한 특징을 학습하는 것을 확인할 수 있다.

 

이에 CNN 기반 density map 생성기를 설꼐하는데 초점을 맞춰 깊은 network인 CSRNet을 제안한다.

초기 10 layer는 VGG16 이후 dilated convolution layer들을 통해 확장된 receptive fields와 더불어 해상도를 잃지 않는 선에서 깊은 특징을 추출한다.

 

이로써 SOTA 달성

 

2. Related work

 

2.1 Detection-based approaches

 

초기 연구자는 전체 인간 몸을 찾아 저차원의 특징을 추출할 수 있는 detection 기반의 방법들에 집중했다. sliding window 방식을 통한 사람 추출과 그 숫자를 세는 방법이다.

ex) Haar Wavelet, HOG

 

그러나 이 방식은 성능이 좋지 못하고 객체가 흐릿해져 부분적인 몸 부위를 찾는 방식으로 진화한다.

 

2.2 Regression-based approaches

 

2.1 detection 방법은 높은 혼잡도의 장면에서는 부족하기 때문에 regression 기반 접근 법을 통해 발전하고자 했다.

이는 cropped 이미지 패치들로부터 추출된 특징들 사이 관계를 학습하는 방법으로 Fourier analysis와 SIFT etc가 있다.

 

2.3 Density estimation-based approaches

 

2.2 regression 방법은 saliency라는 특징을 간과하여 지엽적 영역에서의 부정확한 결과를 초래한다.

이에 따라 local region에서의 특징들과 그 물체 density map 간의 linear mapping을 학습함으로써 문제를 해결한다.

 

2.4 CNN-based approaches

 

density map을 예측하기 위한 CNN 기반 접근 방법들 제안

 

2.5 Limitations of the state-of-the-art approaches

 

다양한 CNN 기반 방법들이 제안되었고 그 가운데 MCNN이 좋은 성과를 보였지만 4가지 단점들이 존재한다. 이 단점들을 고려하여 본 모델을 제안했다.

 

3. Proposed Solution

 

a deeper CNN 활용

1) capturing high-level features with larger receptive fields

2) generating high-quality density maps without brutally expanding network complexity.

 

3.1 CSRNet architecture

 

강력한 transfer learning 능력과 density map generation을 위한 back-end과 concat을 쉽게할 수 있는 유연한 구조 때문에 CSRNet 앞 단에 VGG16을 선택한다.

 

많은 사례들을 토대로 VGG는 마지막 FNN를 제거하는 것만으로도 도움이 된다는 사실을 알았고 깊은 sliency 정보를 추출하고 output 해상도를 유지하기 위해  이후에 dilated convolution layer를 활용한다.

 

3.1.1 Dilated convolution

 

Pooling layer는 invariance를 유지하고, overfitting을 광범위하게 조작하지만 급격한 spatial resolution의 정보를 손실한다.

Decov는 정보 손실이 완화되지만 추가적인 복잡성이나 실행 latency에 있어 적합하지 않다.

이에 따라 segmentation에서 상당한 정확도 향상을 보여온 Dilated conv가 적합한 선택이다.

 Dilated cov는 추가적인 parameter나 computation 추가 없이 receptive field를 확장할 수 있다. 이를 통해 multi-scale contextual 정보를 해상도를 유지한채 응집할 수 있다. 

Figure 4 첫 번째 행에 해당하는 max_pool - conv - deconv 대비 dilated conv를 활용하는 것이 결과에서 더 detail한 정보를 보유한다.

 

3.1.2 Network Configuration

 

앞 단은 VGG-16을 활용하고 뒷단은 dilated conv를 활용한다.

이때 3x3 kernel과 같은 작은 kernel을 사용하는 것이 유용하며 FC layer는 제거하며 앞 10 layer만을 사용한다. 이는 pooling operation에 이ㅡ해 유발된 결과 정확도에 있어 해로운 측면을 억제하기 때문이다.

 

3.2 Training method

 

3.2.1 Ground truth generation

 

MCNN과 마찬가지로 density map을 생성하기 위해 geometry-adaptive kernel을 사용한다. normalized 1로 된 Gaussian kernel을 사용하여 각 head annotation을 흐릿하게 만듬으로써 구성함.

 

geometry-adaptive kernel

 

3.2.2 Data augmentation

 

9 patch : 4개는 이미지의 4사분면, 5개는 random crop

mirror augmentation을 진행

 

3.2.3 Training details

 

첫 10개의 conv layer는 fine-tuned VGG 16 활용

초기 0.01 std를 가지는 Gaussian initialization 초기화. 

learning rate가 1e-6인 SGD 활용

Loss는 density map간의 Euclidean distance 차이

 

 

4. Experiments

 

4.1 Evaluation metrics

 N은 이미지 숫자,  C는 counting

 

PSNR과 SSIM을 density map의 질을 평가하는 지표로 활용

 

 

4.2 Ablations on ShanghaiTech Part_A

 

CSRNet A : dilation 1

CSRNet B : dilation 2

CSRNet C : dilation 2 & 4

CSRNet D : dilation 4

 

parameter 숫자는 16.26M으로 모두 동일

dropout은 큰 성능 향상이 없어서 사용하지 않음

결과 : B가 가장 좋게 나옴 -> 이를 기본 구조로 사용 (Table 3 참조)

 

4.3 Evaluation and comparison

 

 

 

 

 

Reference

비공식 Github

https://github.com/leeyeehoo/CSRNet-pytorch

 

GitHub - leeyeehoo/CSRNet-pytorch: CSRNet: Dilated Convolutional Neural Networks for Understanding the Highly Congested Scenes

CSRNet: Dilated Convolutional Neural Networks for Understanding the Highly Congested Scenes - GitHub - leeyeehoo/CSRNet-pytorch: CSRNet: Dilated Convolutional Neural Networks for Understanding the ...

github.com

 

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading