종이: 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 포즈 그리고 원유로 필터사용한다고 합니다
실험 결과는 다음과 같다.