1 of 39

2023-1 정보통신종합설계 중간발표Crowd Counting withA Latent Diffusion Model

May 17, 2023

지도 교수: 홍성은 교수님

팀원:  12171260 이시원

        12181786 손기훈

        12181795 안민혁

2 of 39

Contents

23-1 ICE Capstone

2

1. 프로젝트 요약

2. 연구 현황

3. 향후 연구 계획

3 of 39

1. 프로젝트 요약�� - Crowd Counting� � - HOW (Method)

23-1 ICE Capstone

3

4 of 39

Crowd Counting

23-1 ICE Capstone

4

Computer Vision 분야�이미지나 비디오에서 사람들의 수를 정확하게 추정하는 작업

보안 및 비상 대응

사람들의 수를 모니터링함으로써, 잠재적인 위험 상황을 조기에 감지하고 사람들의 위치와 분포를 파악해 비상 대응을 효과적으로 수행

시설 관리

공공 장소나 이벤트 등에서 사람들의 수를 정확하게 파악함으로써 시설을 효율적으로 계획하고 관리

도시 계획과 설계

도시의 인구 분포와 이동 패턴을 이해하여 교통 체증이나 인프라 문제를 예측하고 대응

관심영역 파악

사람들의 동선과 관심영역을 파악함으로써 마케팅 및 판매 전략을 개선

5 of 39

HOW

23-1 ICE Capstone

5

딥러닝 기반의 이미지 생성 모델을 이용해�하나의 이미지를 다른 이미지로 변환하는 작업

Image-to-Image Translation

6 of 39

HOW

23-1 ICE Capstone

6

딥러닝 기반의 이미지 생성 모델을 이용해�하나의 이미지를 다른 이미지로 변환하는 작업 수행

Image-to-Image Translation

7 of 39

HOW

23-1 ICE Capstone

7

Loss

LDM 학습 과정

Denoising U-Net

노이즈를 잘 제거할 수 있도록 학습

입력

학습에 사용 될

Conditioning RGB

Diffusion

Feature에 노이즈 첨가

입력

학습에 사용 될 Ground Truth

Encoding

Decoding

출력

노이즈가 제거된 예측 Density Map과�Crowd의 수

Pretrained AutoEncoder와 함께

LDM이 Density Map을 예측할 수 있도록 학습

Embedding

X

8 of 39

2. 연구 현황� � - 모델 학습� � - 데이터� � - 모델 구조�� - 손실 함수�� - 모델 평가�

23-1 ICE Capstone

8

9 of 39

Hyperparameter

23-1 ICE Capstone

9

- Learning Rate: 1e-6

- Image Size: 64

- Scheduler_config: LambdaLinearScheduler

- Batch Size: 12

10 of 39

모델 학습(Training Dataset)

23-1 ICE Capstone

10

Input Image:�

Density Map의 Ground Truth로써, LDM에서의 최종 목표는 Density Map을 만들어 내는 것

Conditioning Image:

Conditioning Encoder를 통해 주어지는 Data로써, Denoising과정에서 조건을 위한 Data로 주어짐

11 of 39

모델 학습(LDM Noising)

23-1 ICE Capstone

11

Diffusion Model(Noising) : Input Image에 noise를 조금씩 추가하는 과정으로써, 최종적으로

완전히 순수한 noise가 될 때까지 noise추가를 반복�

12 of 39

모델 학습(LDM Denoising)

23-1 ICE Capstone

12

Diffusion Model(Denoising) : Noise를 조금씩 원래의 Input Image의 형태로 복원하고, 그 과정을 학습하여 최종적으로 Density Map을 얻을 수 있도록 학습하는 과정�

13 of 39

모델 학습(최종 목적)

23-1 ICE Capstone

13

학습된 LDM을 통해 RGB Image로 정확한 Density Map을 생성하는 것이 궁극적인 목표!

14 of 39

데이터

23-1 ICE Capstone

14

RGB

기존 Density Map GT

개선된 Density Map GT

15 of 39

데이터

23-1 ICE Capstone

15

기존 Density Map GT로 학습시킨 결과

개선된 Density Map GT로 학습시킨 결과

기존 Density Map Generator에 Gaussian kernel 적용

16 of 39

모델 구조

23-1 ICE Capstone

16

1. concatenate

2. Cross-Attention

Conditioning Image를

Input Image와 함께

사용할 방법을 선택해야 함

17 of 39

모델 구조(Concatenate)

23-1 ICE Capstone

17

Conditioning Encoder: SpatialRescaler

Concatenate는 단순하게 두개의 image를

이어붙이는 것!

따라서 Input Image와 Conditioning Image의 차원을 같게 해주어야 한다.

-> 이때 Conditioning Encoder로

‘SpatialRescaler’ 사용

18 of 39

모델 구조(Cross-Attention)

23-1 ICE Capstone

18

Conditioning Encoder: FrozenClipImageEmbedder

Cross-Attention은 서로 다른 2개의 Data(Density Map과 RGB Image)사이의 연관성을 학습하기 위한 방법

Cross-Attention을 사용하기 위해서는

Image를 Token화시켜야 한다.

-> 이때 Conditioning Encoder로

‘FrozenClipImageEmbedder’ 사용

19 of 39

23-1 ICE Capstone

19

모델 구조(Concatenate vs Cross-Attention 결과 비교)

위 결과만 보았을 때, 학습이 잘 이루어지는 것처럼 보임.

또한 Concatenate방식을 사용했을 때의 결과가 더 잘 나오는 것처럼 보임.

Training Loss

: Concatenate Training Loss

: Cross-Attention Training Loss

20 of 39

23-1 ICE Capstone

20

모델 구조(Concatenate vs Cross-Attention 결과 비교)

하지만, 300epoch정도부터 Concatenate방식을 사용한 모델에서 Validation Loss가 증가

  • Overfitting이 발생

Validation Loss

: Concatenate Validation Loss

: Cross-Attention Validation Loss

21 of 39

23-1 ICE Capstone

21

모델 구조(Concatenate vs Cross-Attention 결과 비교)

Model의 성능 측정의 위한 Test.py 코드 예시

-> 이후 여러 장의 Density Map을 한꺼번에 만들어내는 코드로 수정 예정

22 of 39

23-1 ICE Capstone

22

모델 구조(Concatenate vs Cross-Attention 결과 비교)

Concatenate모델의 결과

Cross-Attention모델의 결과

Input Image

Density Map Ground Truth

23 of 39

손실 함수(Loss Function for Diffusion Model)

23-1 ICE Capstone

23

1. 평균 절대 오차 (Mean Absolute Error, MAE)

2. 평균 제곱 오차 (Mean Squared Error, MSE)

24 of 39

손실 함수(MAE vs MSE 결과 비교)

23-1 ICE Capstone

24

위 예시는 Concate방식을 사용한 모델에서 L1과 L2 Loss를 각각 사용한 Training Loss결과

모든 결과에서 L2 Loss를 사용한 모델의 성능이 더 좋았다.

: L1(MAE) Loss를 사용한 모델

: L2(MSE) Loss를 사용한 모델

25 of 39

23-1 ICE Capstone

25

손실 함수(MAE vs MSE 결과 비교[Concat])

L1(MAE) Loss 결과

Input Image

Density Map Ground Truth

L2(MSE) Loss 결과

26 of 39

23-1 ICE Capstone

26

손실 함수(MAE vs MSE 결과 비교[Cross-Attn])

L1(MAE) Loss 결과

Input Image

Density Map Ground Truth

L2(MSE) Loss 결과

27 of 39

한계점

23-1 ICE Capstone

27

[Crowd Counting의 오차를 학습에 이용할 수 없다.]

일반적인

Crowd Counting 모델

Input

실제 군중 수: 27명

Loss Function

ex) -4명

Training

일반적인 Crowd Counting Model은 예측 군중 수와 실제 군중 수의 차이를 학습하여 이 차이를 줄이는 방향으로 학습

예측 군중 수: 31명

28 of 39

한계점

23-1 ICE Capstone

28

[Crowd Counting의 오차를 학습에 이용할 수 없다.]

Latent Diffusion Models

For Crowd Counting

Input

Loss Function

Training

반면, Latent Diffusion Model의 학습 목표는 최대한 정확한

Density Map을 생성하는 것. 즉, Crowd Counting의 정확도를 높이는 방향으로 학습하는 것이 아닌, 정확한 Density Map을 생성하기 위한 학습

->따라서 Density Map의 질이 성능을 좌우한다.

Ground Truth Density Map

Estimation Density Map

29 of 39

Crowd Counting Evaluation

23-1 ICE Capstone

29

1. Mean Absolute Error(MAE)

2. Mean Squared Error(MSE)

4. Root Mean Square Error (RMSE)

3. Grid Average Mean Absolute Error (GAME)

각 Loss Function은 Crowd Counting에서 가장

많이 사용되는 Loss Function중 4가지

Loss Function에서 각 변수는 군중 계수를 의미

즉, 실제 군중 수와 예측 군중 수의 오차를 계산

30 of 39

Crowd Counting Evaluation

23-1 ICE Capstone

30

다음 코드는 영상처리 기법을 활용하여, Density Map을 통해 Crowd Counting을 할 수 있는 코드

현재는 하나의 입력값을 받아 군중 수를

셀 수 있도록 코딩되어 있지만,

이후 Ground Truth Density Map과

Estimation Density Map을 여러 장

입력 받고, 값을 통해 MAE, MSE 등과

같은 오차 정보를 출력할 수 있도록

코딩하여, 모델의 정확도를 측정할 예정

Counting.py

31 of 39

Crowd Counting Evaluation(Example)

23-1 ICE Capstone

31

Ground Truth Crowd Counting = 39

Estimation Crowd Counting = 30

32 of 39

Crowd Counting Evaluation(Example)

23-1 ICE Capstone

32

Ground Truth Crowd Counting = 39

Estimation Crowd Counting = 30

Error=39-30

33 of 39

3. 향후 연구 계획�� � �

23-1 ICE Capstone

33

34 of 39

향후 연구 계획

- MAE, MSE, GAME, RMSE, Hinge 등

23-1 ICE Capstone

34

1. Latent Diffusion모델의 최적화된 Loss Function 연구

35 of 39

향후 연구 계획

- Learning Rate, Batch Size, Image size 등

23-1 ICE Capstone

35

2. 모델 성능 향상을 위한 파라미터 값 수정

36 of 39

향후 연구 계획

23-1 ICE Capstone

36

3. Crowd Counting을 위한 Model 일체화

학습된 LDM

Crowd Counting

간단한 영상처리를 통해 군중 수를 계산

입력

입력 RGB

출력

예측 Density Map을 획득

RGB 이미지가 학습된 LDM을 통과

일체화

37 of 39

향후 연구 계획

23-1 ICE Capstone

37

4. Real-Time Crowd Counting 구현

Real Time Crowd Counting Model

학습된 LDM

입력

입력 RGB(Camera)

출력

예측 Density Map을 획득

RGB 이미지가 학습된 LDM을 통과

Crowd Counting

간단한 영상처리를 통해 군중 수를 계산

38 of 39

출처 & 참고문헌

[1] "꽃보다 사람이 더 많아"…추위 이긴 윤중로 벚꽃축제 인파(종합) . (2018). https://www.yna.co.kr/view/AKR20180408022051004.

[2] 이태원 압사 사고 . (2022). https://ko.wikipedia.org/wiki/%EC%9D%B4%ED%83%9C%EC%9B%90_%EC%95%95%EC%82%AC_%EC%82%AC%EA%B3%A0.

[3] 다인스, AI 인파 관리·군중계수 전용 솔루션 출시 . (2023). https://www.aitimes.com/news/articleView.html?idxno=148904.

[4] Dongze Lian, Jing Li, Jia Zheng, Weixin Luo, Shenghua Gao, & . (2019). Density Map Regression Guided Detection Network for RGB-D Crowd Counting and Localization (pp. 126). n.p.: CVPR.

[5] Reza Bahmanyar, Elenora Vig, Peter Reinartz. (2019). MRCNet: Crowd Counting and Density Map Estimation in Aerial and Ground Imagery (pp. 30). n.p.: BMVC-ODRSS

[6] Dongze Lian, Jing Li, Jia Zheng, Weixin Luo, Shenghua Gao. (2022). High-Resolution Image Synthesis with Latent Diffusion Models (pp. 751). n.p.: CVPR.

[7] D. Lian, X. Chen, J. Li, W. Luo and S. Gao, "Locating and Counting Heads in Crowds With a Depth Prior," in IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 44, no. 12, pp. 9056-9072, 1 Dec. 2022, doi: 10.1109/TPAMI.2021.3124956.

[8] Crowd Counting using Deep Learning . (2021). https://www.analyticsvidhya.com/blog/2021/06/crowd-counting-using-deep-learning/.

[9] Zhang, Cong, et al. "Cross-scene crowd counting via deep convolutional neural networks." Proceedings of the IEEE conference on computer vision and pattern recognition. 2015.

[10] Babu Sam, Deepak, Shiv Surya, and R. Venkatesh Babu. "Switching convolutional neural network for crowd counting." Proceedings of the IEEE conference on computer vision and pattern recognition. 2017.

[11] Liu, Zhengyi, et al. "RGB-T Multi-Modal Crowd Counting Based on Transformer." arXiv preprint arXiv:2301.03033 (2023).

23-1 ICE Capstone

38

39 of 39

출처 & 참고문헌

[12] Lian, Dongze, et al. "Density map regression guided detection network for rgb-d crowd counting and localization." Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2019.

[13] Bahmanyar, Reza, Elenora Vig, and Peter Reinartz. "MRCNet: Crowd counting and density map estimation in aerial and ground imagery." arXiv preprint arXiv:1909.12743 (2019).

[14] Wan, Jia, and Antoni Chan. "Adaptive density map generation for crowd counting." Proceedings of the IEEE/CVF international conference on computer vision. 2019

[15] Ho, Jonathan, Ajay Jain, and Pieter Abbeel. "Denoising diffusion probabilistic models." Advances in Neural Information Processing Systems 33 (2020): 6840-6851.

[16] https://vaclavkosar.com/ml/cross-attention-in-transformer-architecture

[17] https://bskyvision.com/entry/%EB%B0%B0%EC%B9%98batch%EC%99%80-%EC%97%90%ED%8F%AC%ED%81%ACepoch%EB%9E%80

23-1 ICE Capstone

39