본문 바로가기

논문관련

[논문 리뷰] PoseFormerV2: Exploring Frequency Domain for Efficient and Robust3D Human Pose Estimation

Abstract

선행연구, PoseFormer는 Human Pose Estimation 에 transformer를 적용해서 Spatial-temporal structure를 이용해 Joint간 관계, Frame간 관계를 모델링했다. 하지만 2가지 한계점이 있다.

1. input joint sequence의 길이 , 2. 2d joint dection의 quality.

기존 방법은 일반적으로 input sequence의 모든 프레임에 self-attention을 적용하는데 이는 estimation accuracy 를 개선하기 위해 프레임의 수가 늘렸을 때 엄청난 계산 부담을 초래한다. 또한, 2d joint detector의 제한된 capability 때문에 noise에 robust 하지 않다.

 

따라서 본 논문에서는 PoseFormerV2를 제안한다. 이를 통해 frequency domain 에서 긴 skeleton sequences를 효율적으로 representation 하고,  receptive field를 scale up 하고 noisy 2D joint detectio에 robustnes를 높일 수 있었다.

PoseFormer를 최소한으로 수정하여 time domain과 frequency domain 모두의 features를 효과적으로 융합하여 이전보다 더 나은 속도와 정확도 trade-off를 이루었다.

실험은 유명한 2개의 pose benchmark 데이터셋인 Human3.6M 와 MPI-INF-3DHP을 이용했다.

 

Introduction

PoseFormerV1 Overview. 기본적으로 두 가지 모듈, spatial transformer encoder와 temporal transformer encoder 로 구성되어 있다. spatial transformer는 2D Joint의 Local Relationship을 모델링하고, Temporal Transforemr는 Frame간 2D Joint의 Global Dependency를 모델링한다. 또한, Regression Head라는게 존재한다. Poseforemer는 Frame의 Center만 예측하기에(Video Pose Style) Learned Weight를 이용해 Frame에 대해 Weighted Mean을 적용한다.

 

PoseFormer 에는 2가지 중요한 한계점이 존재한다.

첫째, SOTA transformer 방식들은 일반적으로 높은 성능을 위해 매우 긴 input sequence 를 사용한다. 예를 들어, PoseFormer에는 81 프레임. 하지만, 이렇게 긴 sequence에 self-attention 을 적용하는 것은 엄청난 계산 부담이 있다. 예를 들어, GPU로 1 epoch 당 3-frame 을 연산하는 것이 5분 이내라면, 81-frame을 연산하는 것은 1.5 시간이 걸린다. 

둘째, 2d joint detection 의 quality. 2d joint detector 에는 training dataset에 있는 bias와 single-frame estimation paradigm의 temporal inconsistency 때문에 필연적으로 노이즈가 있을 수 밖에 없다. 

따라서 아래 두 개의 질문을 생각해 낼 수 있다.

 

Q1: 더 나은 추정 정확도를 위해 긴 관절 시퀀스를 효율적으로 활용하는 방법은 무엇입니까?

Q2: 모델의 견고성을 향상시키는 방법은 무엇입니까?

본 논문에서는 이 두 문제를 동시에 해결하고자 한다.

 

이를 위해 본 논문에서는 PoseFormer의 spatial-temporal 아키텍쳐는 그대로 가져가지만 input sequence 중에서 프레임의 중앙 부분 (가운데) 만 참조하는 방식으로 수정했다.

Then we complement “short-sighted” frame-level features (the output of the spatial encoder) with global features from low-frequency components of the complete sequence.(spatial encoder output 결과, central frame만을 참조하는 식으로 근시안적인 frame-level feature 들을 이용한다. 또한, 전체 sequence의 low-frequency 구성요소들에서 global features들을 완성한다) 

 

본 논문의 contributions는 아래 세 가지이다.

1. frequency-domain representation 을 input joint sequence에 적용해서 2d-to3d lifting Human Pose Estimation한 첫 번째 사례이다. 우리는 이 representation이 두 가지 issue들을 해결할 수 있다는 것을 발견했다. 첫째는 긴 sequence를 처리하는데 효과적이라는 것과 둘째는 unrealiable 한 joint detection에 robust하다는 것이다.

2. 본 논문에서는 효과적인 time-frequency feature 융합 모듈을 설계하여 time domain과 frequency domain 사이의 갭을 줄였고, speed 와 accuracy 사이에서 flexible한 균형을 이루었다.

3. 우리의 PoseFormerV2는 다른 transformer-based 방식들과 비교했을 때 speed-accuracy trade-off 측면과 robustness 에서 압도적인 성능을 보였다. 

 

Related Work

2.1. Transformer-based 3D Human Pose Estimation

PoseFormer는 lifting-based 3D human pose estimation 에 있어서 백본 네트워크로써 vision transformer를 처음으로 adopt한 결과이다. 결과적으로는 CNN-based 방식들보다 성능이 우수했다.

 

2.2. Frequency Representation in Vision

human visual system은 image의 low-frequency에 좀 더 민감하므로, 전통적인 이미지 압축 알고리즘, JPEG 등은 2d 이미지를 저장하는데 드는 메모리 비용을 줄이기 위해 이미지의 Discrete Cosine Transform (DCT)를 통해   low-frequency에 더 많은 storage budget을 할당했다.

 

Skeleton-based tasks

DCT( Discrete Cosine Transformation ): 기본적으로 이미지가 있을 때, 이미지를 수 많은 코사인 wave들의 합으로 represent 하는 것이다. 이는 이미지를 spatial domain에서 frequency domain 으로 transfer한다. 예를 들어 JPEG와 같이 이미지를 압축하는 과정 중 DCT가 사용된다. 

이전 연구들에서는 skeleton sequence 를 time domain 에서 DCT coefficients 로 변환을 해서 static joint coordinate과 비슷하게 human dynamic을 encode 했다. 그들은 high-frequency coefficients를 날려버리는 것이 performance drop 에는 딱히 영향을 주지 않는다는 것을 발견했고, 오히려 future motion을 예측하는데 smoothness 가 향상된다는 것을 발견했다.

2d joint sequence의 frequency-domain representations 은 lifting-based 3D human pose estimation에서는 연구된 것이 없었다. 따라서 본 논문은 이런 frequency transform을 vision task에 시도했다. 

 

Method

3.2.1. PoseFormerV2

Motivation.

input skeleton sequence를 DCT를 통해 frequency domain 으로 변환하고 low-frequency coefficient 만을 사용하는 것이다.

3.2.2. Architecture

예시로 (a)를 보면 9 프레임 중에 중앙의 3개의 frame 만을 사용했다. 이를 frame-level feature extraction이라고 명명. 그리고 전체 9프레임 sequence에 대해서 처음 3 DCT coefficient를 global frequency-domain feature extraction을 위해 사용한다. 이러한 방식으로 spatial encoder(input: 3개) 와 temporal encoder, time-frequency feature fusion transformer (input: 3+3, 6개) 의 input 갯수가 줄어들게 된다. 

original sequence를 frequency-domain으로 representation하는 것이 포인트라 생각이 든다.

 

Regression Head and loss function

PoseFormerV1 과 마찬가지로 1D CNN 을 사용하여 temporal information을 합쳤다. linear projection 결과, central frame 즉 위의 그림에서는 0번째 프레임의 pose 좌표를 얻게 된다. 

loss function으로는 MPJPE (Mean Per Joint Position Error)를 사용했다.

 

Conclusion

본 논문에서는 lifting-based 3D human pose estimation의 두 가지 한계점을 동시에 해결할 수 있 solution을 제안했다. 

긴 sequence input에 대한 효과적인 processing과 noisy joint detection에 robust한 방법이 바로 그것이다. frequency-domain 관점에서 연구를 하였고, PoseFormerV2는 긴 2d joint sequence를 compact frequency represntation 함으로써 model의 receptive filed를 크게 할 수 있었으며, robust 또한 강인하게 할 수 있었다.

 


- 논문 원문:

https://openaccess.thecvf.com/content/CVPR2023/papers/Zhao_PoseFormerV2_Exploring_Frequency_Domain_for_Efficient_and_Robust_3D_Human_CVPR_2023_paper.pdf

 

- Receptive Field : CNN 에서는 필터/커널의 크기에 의해 정의되며 필터 크기가 클수록 Receptive Field가 커진다.

https://hyunhp.tistory.com/695

 

[CV] 수용 필드, 수용 영역 (Receptive Field) 해설, 정리, 요약

안녕하세요, HELLO 컨볼루션 신경망(CNN)에서 Receptive field, 수용 필드 (수용 영역)는 특정 컨볼루션 뉴런이 보고 있는 입력 이미지의 일부를 나타냅니다. 이는 특정 특징 맵 또는 뉴런의 활성화에 기

hyunhp.tistory.com

- PoseFormer: 논문 리뷰

https://jhtobigs.oopy.io/2ac130a2-aa83-4a9b-bd51-89cb23ddb1bd

 

리뷰 : Poseformer

Poseformer : 3D Human Pose Estimation with Spatial and Temporal Transformers

jhtobigs.oopy.io

- DCT coefficients 설명 블로그1

https://medium.com/analytics-vidhya/what-are-dct-coefficients-and-how-jpeg-compression-works-7f46d1e22b4c

 

What are DCT coefficients and how JPEG compression works?

JPEG is not a file format, although everyone talks about JPEG files. JPEG is a compression method much like the codec you would use in a…

medium.com

 

- DCT coefficients 설명 블로그2

: DCT는 영상의 고주파와 저주파를 분리하는 변환식이다. 이미지를 주파수 영역으로 바꿨을 때 인접한 픽셀과의 차이가 작을 경우는 저주파로 차이가 클 경우엔 고주파를 가진다. 한마디로 경계선과 같이 픽셀값의 차이가 클 때는 고주파를 가지게 되는데 사람의 눈은 저주파에 더 민감하게 받아들이므로 저주파를 남기고 고주파를 날리는 것이 JPEG와 같은 이미지 압축 방식이다. 이때 저주파와 고주파를 분리하기 위해 DCT가 사용된다. 

사람의 눈이 저주파에 더 민감하다는 것은 저주파를 가지는 이미지 사이에 갑자기 다른 픽셀 값이 생긴다면 (예를 들어 까만 땅인데 중간에 갑자기 흰 점이 찍혀있다고 했을 때) 그 변화를 더 잘 감지한다는 것을 의미한다.

https://vir-us.tistory.com/entry/2%EC%B0%A8%EC%9B%90-DCTDiscrete-cosine-transform-%EC%9D%B4%EC%82%B0-%EC%BD%94%EC%82%AC%EC%9D%B8-%EB%B3%80%ED%99%98

 

2차원 DCT(Discrete cosine transform), 이산 코사인 변환

목차 DCT 흔히 DCT라 부르는 DCT2, DCT역변환은 DCT3이자 IDCT(Inverse DCT)라 부릅니다. 간단하게 DCT2는 공간 영역에서 주파수 영역으로 변환하는 방법입니다. 흔히 사용하는 이미지 확장자 JPEG라는 국제

vir-us.tistory.com