티스토리 뷰

728x90

논문 링크: https://arxiv.org/abs/2112.11593

 

간단한 내용만 요약하였습니다. 추후에 계속 수정될 수 있습니다.

 

AdaptPose: Cross-Dataset Adaptation for 3D Human Pose Estimation by Learnable Motion Generation

3D 인간 자세 추정에서 교차 데이터셋의 일반화의 주요 도전 과제는 자세의 깊이(depth)에 대한 모호성 때문에 문제가 불안정하다는 점입니다. 이러한 문제를 해결하기 위해 딥러닝 모델을 사용해서 2D 이미지에서 3D 자세를 추정하는 것이 가능하지만, 이 모델은 유사한 데이터셋에서 훈련/테스트 할 때만 정확한 결과를 얻을 수 있습니다. 따라서 새로운 데이터셋으로 모델을 사용하려면 이전 데이터셋과 다른 특징을 고려해야 합니다. 새로운 데이터셋에서 발생할 수 있는 다른 특징은 camera view point, position, human actions, and body size 등이 있습니다. 이 AdaptPose 프레임워크는 합성 3D human motions을 생성하고 이를 사용해서 새로운 데이터셋 특성에 적용하기 위해 3D 자세 추정을 fine-tuning하는 프레임워크를 설계하였습니다.



+) AdaptPose는 적대적인 학습 방법을 사용하여 소스 데이터셋에서 생성된 3D pose를 타겟 데이터셋에서 합성된 2D 자세로 변환하고, 이를 통해 3D 자세를 추정하는 방법이다. 이 방법은 타겟 데이터셋에서 3D 자세 주석(annotation)을 필요로 하지 않으며, 타겟 데이터셋에서 합성된 3D 자세를 생성할 수 있습니다. 또한, 이 방법은 카메라 방향 생성을 확률적인 방법으로 확장하여, 타겟 데이터셋에서 카메라 방향 분포를 학습할 수 있습니다. 이러한 방법은 타겟 데이터셋에서 3D 자세 추정 문제를 해결하는 데에 유용합니다



AdaptPose는 Human3.6M, MPI-INF-3DHP, 3DPW, Ski-Pose 데이터셋에서 실험되었습니다. 이전 연구와 비교하여, AdaptPose는 교차 데이터셋 평가에서 이전 연구보다 14% 더 우수한 성능을 보이며, 이전의 semi-supervised learning 방법보다 16% 더 우수한 성능을 보입니다. 이러한 결과는 AdaptPose가 새로운 데이터셋에서도 잘 일반화되도록 하는 데 성공했음을 보여줍니다.




Figure 1. 이 그림에서는 소스 데이터셋에는 3D 라벨과 카메라 정보가 포함되어 있지만, 타겟 데이터셋에는 샘플 비디오만 포함되어 있습니다. 따라서 합성 동작은 타겟 데이터셋에 속하도록 생성됩니다. 이렇게 생성된 합성 동작을 사용하여 3D 자세 추정기를 세밀하게 조정함으로써 모델의 일반화 성능을 개선할 수 있습니다.



이 부분에서는 3D 자세 추정 모델이 다른 데이터셋에서도 잘 작동하도록 하는 문제를 다룹니다. 이를 위해, 논문에서는 다른 데이터셋에서의 동작과 카메라 설정이 원래 데이터셋과 매우 다르기 때문에 발생하는 문제를 해결하기 위해, 합성 데이터를 이용하여 모델을 fine-tuning하는 방법을 제안합니다. 



논문에서는 이 문제를 Domain Adaptation 문제로 정의합니다. 즉, 원래 데이터셋을 source domain, 다른 데이터셋을 target domain으로 정의하고, source domain에서 학습된 모델을 target domain으로 일반화하는 문제로 정의합니다. 이를 위해, 논문에서는 target domain의 분포와 유사한 합성 데이터를 생성하고, 이를 이용하여 모델을 fine-tuning합니다. 이를 통해, source domain에서 학습된 모델이 target domain에서도 잘 작동하도록 만듭니다.






학습 파이프라인을 보여주는 그림입니다.



- Motion Generator: 선택된 동작을 기반으로 합성 동작을 생성

- Domain Discriminator: 생성된 합성 동작이 타겟 데이터셋의 분포와 일치하는지 판별

- Lifting Net: 2D 자세를 3D 자세로 변환하는 역할

- Random Perturbation: 생성된 합성 동작에 무작위로 변형을 가해 다양성을 높임

- Selection: 소스 데이터셋에서 적절한 동작을 선택하는 역할



이 논문에서 제안하는 파이프라인은 크게 두 가지 단계로 구성됩니다.

첫 번째 단계, Pose Estimator는 source dataset에서 학습된 3D 자세 추정 모델을 이용하여 target dataset에서 3D 자세를 추정하는 것입니다. 이 단계에서는 source dataset과 target dataset의 차이로 인해 신뢰성 있는 예측이 어려울 수 있습니다. 따라서, 논문에서는 target dataset의 분포와 일치하는 합성 동작을 생성하고, 이를 이용하여 3D 자세 추정 모델을 fine-tuning하는 방법을 제안합니다.

두 번째 단계, Motion Generator는 생성된 합성 동작을 이용하여 새로운 동작을 생성하는 것입니다. 이 단계에서는 생성된 합성 동작을 기반으로 새로운 동작을 생성합니다. 이를 위해, 논문에서는 뼈 벡터를 이용하여 3D 자세 데이터를 표현하고, 이를 기반으로 생성된 합성 동작을 만듭니다. 생성된 합성 동작은 타겟 데이터셋의 분포와 일치하도록 조정됩니다. 이를 위해, 논문에서는 Domain Discriminator를 이용하여 생성된 합성 동작이 타겟 데이터셋의 분포와 일치하도록 조정합니다.

이러한 요소들이 함께 작동하여 AdaptPose는 교차 데이터셋에서 3D 자세 추정 모델의 일반화 성능을 개선합니다.



요약

AdaptPose는 소스 데이터셋에서 선택된 3D 동작을 기반으로 Motion Generator를 사용하여 합성 동작을 생성합니다. 생성된 합성 동작은 Domain Discriminator를 통해 타겟 데이터셋의 분포와 일치하도록 조정됩니다. 이렇게 생성된 합성 동작을 사용하여 Lifting Net을 통해 2D 자세를 3D 자세로 변환하고, 이를 사용하여 3D 자세 추정기를 세밀하게 조정합니다. 이러한 방식으로 AdaptPose는 새로운 데이터셋을 위해 3D 자세 추정기를 조정하면서도, 3D 자세 추정기가 소스 데이터셋에서 학습한 동작 분포를 유지할 수 있도록 보장합니다.



각 절차에 대한 설명

Pose Estimator는 2D 이미지에서 2D 자세를 추정하는 데 사용됩니다. 이를 위해, 논문에서는 사전 학습된 모델인 OpenPose를 사용합니다. OpenPose는 이미지에서 사람의 신체 부위를 검출하고, 이를 기반으로 2D 자세를 추정합니다. 추정된 2D 자세는 파이프라인의 두 번째 단계인 Motion Generator에 입력으로 사용됩니다

Motion Generator는 파이프라인의 두 번째 단계에서 사용되는 모델로, 생성된 합성 동작을 기반으로 새로운 동작을 생성합니다. 이 모델은 뼈 벡터를 이용하여 3D 자세 데이터를 표현하고, 이를 기반으로 생성된 합성 동작을 만듭니다. 생성된 합성 동작은 타겟 데이터셋의 분포와 일치하도록 조정됩니다. 이를 위해, 논문에서는 Domain Discriminator를 이용하여 생성된 합성 동작이 타겟 데이터셋의 분포와 일치하도록 조정합니다. 또한, 논문에서는 생성된 합성 동작이 일정한 범위 내에서 변화하도록 Random Perturbation을 적용합니다. 이를 통해, 생성된 합성 동작이 더욱 다양하고 실제 동작과 유사하도록 만들어집니다.

Domain Discriminator는 생성된 합성 동작이 타겟 데이터셋의 분포와 일치하도록 조정하는 데 사용되는데, 이를 위해 생성된 합성 동작과 타겟 데이터셋의 2D 자세 데이터를 입력으로 받아, 합성 동작이 타겟 데이터셋에서 추출된 것과 유사한지를 판별합니다. 이를 통해, 생성된 합성 동작이 타겟 데이터셋의 분포와 일치하도록 조정됩니다.

Lifting Net은 2D 이미지에서 3D 자세를 추정하는 데 사용되는 사전 학습된 Pose Estimator입니다. 이 모델은 이미지에서 2D 자세를 추정하고, 이를 기반으로 3D 자세를 추정합니다. 이 모델은 파이프라인의 두 번째 단계에서 생성된 합성 동작을 평가하고, Motion Generator를 피드백합니다. 또한, Lifting Net은 Fine-tuning을 위해 일부 샘플을 선택하는 데 사용됩니다.

Random Perturbation은 3D 자세 데이터에 무작위로 작은 변형을 가하는 것입니다. 이 변형은 각각의 뼈 벡터에 대해 작동하며, 각 벡터의 방향을 무작위로 변화시킵니다. 이를 통해 생성된 합성 동작이 더 다양해지고, 모델이 소스 데이터셋에 과적합되는 것을 방지할 수 있습니다. 뼈 벡터는 3D 자세 데이터를 표현하는 방법 중 하나입니다. 뼈 벡터는 인체의 뼈 구조를 나타내는 벡터로, 각 뼈의 시작점과 끝점을 연결한 벡터로 구성됩니다. 이를 통해 3D 자세 데이터를 뼈 구조로 표현하고, 이를 기반으로 합성 동작을 생성합니다.

Selection은 파이프라인의 두 번째 단계에서 사용되는 과정입니다. 이 과정에서는 생성된 합성 동작 중에서 일부 샘플을 선택하여 Fine-tuning을 수행합니다. 이를 위해, Lifting Net을 이용하여 2D 이미지에서 3D 자세를 추정하고, 이를 기반으로 생성된 합성 동작을 평가합니다. 이후, 평가 결과가 우수한 샘플을 선택하여 Fine-tuning을 수행합니다. 이를 통해, 생성된 합성 동작이 타겟 데이터셋의 분포와 더욱 일치하도록 조정됩니다.



Contribution

첫 번째로, 이 논문은 3D 자세 데이터를 이용하여 인간의 동작을 생성하는 새로운 방법을 제안합니다. 이를 위해, 논문은 뼈 벡터를 이용하여 3D 자세 데이터를 표현하고, 이를 기반으로 생성된 합성 동작을 만듭니다.

두 번째로, 이 논문은 생성된 합성 동작이 타겟 데이터셋의 분포와 일치하도록 조정하는 새로운 방법을 제안합니다. 이를 위해, 논문은 Domain Discriminator를 이용하여 생성된 합성 동작이 타겟 데이터셋의 분포와 일치하도록 조정합니다. 이러한 방법을 통해, 논문은 인간의 동작 생성 분야에서 새로운 기술적 기여를 하였습니다.

728x90
댓글