(논문리뷰) RTMPose: MMPose 기반 실시간 다중인 포즈 추정

종이: https://arxiv.org/pdf/2303.07399v1.pdf

깃허브: https://github.com/open-mmlab/mmpose/tree/1.x/projects/rtmpose

GitHub – open-mmlab/mmpose: OpenMMLab 포즈 추정 도구 상자 및 벤치마크.

OpenMMLab 포즈 추정 도구 상자 및 벤치마크. GitHub에서 계정을 만들어 open-mmlab/mmpose 개발에 기여하세요.

github.com

오늘 리뷰할 논문은 상하이 인공지능연구소에서 소개한 논문입니다.

“RTMPose: MMPose 기반 실시간 다중인 포즈 추정” 보지 않았다.

유명한 MMPose를 기반으로 하고 많은 트릭이 포함되어 있기 때문에 읽었습니다.

COCO 데이터셋에서는 75.8% AP 및 CPU 환경(Intel i7-11700 CPU)에서 90+ FPS, GPU 환경(NVIDIA GTX 1660 Ti GPU)에서 430+ FPS를 달성한다고 합니다.

COCO-WholeBody 데이터는 130+ FPS에서 67.0% AP를 달성한다는 것을 보여줍니다.

아래는 결과입니다.

다양한 동작에 대해 견고한 결과를 볼 수 있습니다.

클로즈업 이미지도 잘 작동합니다!

이 기사에서 RTMPose의 이름은 아르 자형현실-모델 자세 추정치입니다.

이는 하향식 패러다임을 따릅니다.

그럼에도 불구하고 추론 속도 병목현상이 없도록 구현했다고 한다.

백본은 CSPNeXt로 만들어서 배포하기 편해서 사용한다고 합니다.

RTMPose도 SimCC 방식을 사용합니다.

예를 들어 히트맵 방식에 비해 정확도가 더 높은 등 구조가 매우 간단하며 예측을 위해 두 개의 FC 레이어를 사용합니다.

또한 추론 프로세스를 최적화하기 위해 스킵 프레임 감지 전략이 사용된다고 합니다.

RTMPose 모델은 성능과 속도를 절충하기 위해 t, s, m, l 크기 모델로 나뉩니다.

그리고 PyTorch, ONNX Runtime, TensorRT, ncnn 환경에서 테스트를 거쳤다고 합니다.

아래 사진 보시면 성능 대박…


모델 구조는 다음과 같이 구성됩니다.

이 모델은 Conv Layer와 FC Layer를 포함하며 GAU(Gated Attention Unit)를 사용합니다.

K 키포인트 표현을 개선하기 위해 사용하는 것 같습니다.

그런 다음 Pose에 대한 각 x 및 y축을 가져오면 연결합니다.


간단히 말해서 SimCC 방법 자체는 x와 y 좌표를 분류하는 과정이라고 볼 수 있습니다.

이것은 매우 가벼운 구조입니다.

따라서 분류 작업에서
가우시안 레이블 스무딩 방법을 사용할 수 있습니다.

성능을 향상시킨다고 합니다.

아래 그림을 보시면 느낌이 오실 겁니다… 이 시각화를 보면 이해하기 쉽습니다.


RTMPose에서 아날로그 CC 고비용 방식 업샘플링 레이어 제거그들은 그들이 말했다.

따라서 프루닝된 SimCC는 기존 SimCC 방법 및 히트맵 기준선 방법보다 훨씬 더 낮은 복잡성에도 불구하고 여전히 높은 정확도를 달성합니다.

그런 다음 ResNet-50 백본보다 컴팩트합니다.

CSPNext -m 모델의 크기를 더 줄이고 더 가볍게 만들기 위해 백본으로 교체했습니다.


사전 훈련은 UDP 프로토콜 이 접근 방식은 취해지고 사전 훈련된 것으로 알려져 있습니다.

이렇게 하면 모델의 성능이 69.7% AP에서 70.3% AP로 향상됩니다.

나는 나중에 그것을 알아 내려고 노력할 것입니다.

반품 지수 이동 평균(EMA)과적합을 완화하는 데 사용됩니다.

플랫 코사인 어닐링나는 또한 그것을 사용하여 성능을 향상시킵니다.

가중치 감쇠는 정규화 계층과 편향에도 사용됩니다.

좋은 방법을 사용한 것 같습니다.

그리고 s첫 번째 강하고 약한 2단계 강화 전략을 사용한다고 생각합니다.

데이터 로더에 약 180 epochs를 준 후, 약하게 30 epoch 정도를 준다고 합니다.

AID 방식에 이어 컷아웃 방식은 모델이 이미지 텍스처에 과적합되는 것을 방지하고 포즈 구조 정보를 학습하도록 유도합니다.

약 30 epoch 동안 데이터 로더의 변형이 약하게 적용되는 동안 모델이 실제 이미지 분포에 더 가까워지도록 Augmentation을 수행했습니다.

아래 그림은 단계별 개선을 보여줍니다.


좌표 분류를 위한 손실 함수 사우더 Methods에서 제안한 soft label encoding 방식을 따른다고 합니다.


여기서 $\phi(r_t, r_i)$는 $r_t$의 실제 메트릭 값과 순위 사이의 거리에 페널티를 주는 메트릭 손실 함수입니다.

이 과정에서 정규화되지 않은 가우스 분포가 클래스 간 거리 측정으로 사용됩니다.


그런 다음 모델 출력 및 소프트 레이블에 softmax가 적용될 때 온도를 추가하여 정규화된 분포 모양을 추가로 조정합니다.

이때 $\tau$의 값이 0.1일 때 성능은 71.9%에서 72.7%로 증가한다.


또한 추론 중에 BlazePose는 다음을 사용합니다.

프레임 건너뛰기 감지 지침, OKS 기반 NMS 포즈 그리고 원유로 필터사용한다고 합니다

실험 결과는 다음과 같다.