AI/포즈 추정

Deep High-Resolution Representation Learning for Human Pose Estimation

구운밤이다 2021. 7. 25. 17:15
728x90
반응형

Abstract

본 논문에서는 신뢰할 수 있는 고해상도 표현을 학습하는 데 중점을 둔 인간 포즈 추정 문제에 관심이 있습니다. 대부분의 기존 방법은 고해상도 네트워크에서 생성된 저해상도 표현에서 고해상도 표현을 복구합니다. 대신, 제안된 네트워크는 전체 프로세스를 통해 고해상도 표현을 유지합니다.

첫 번째 단계로 고해상도 하위 네트워크에서 시작하여 점차 고해상도 하위 네트워크를 하나씩 추가하여 더 많은 단계를 형성하고, 다중 해상도 하위 네트워크를 병렬로 연결합니다. 각 고해상도 표현이 다른 병렬 표현으로부터 정보를 반복적으로 수신하여 풍부한 고해상도 표현을 유도하는 반복적인 다중 스케일 융합을 수행합니다. 따라서 예측된 키포인트 열 지도가 잠재적으로 더 정확하고 공간적으로 더 정확합니다. COCO 키포인트 감지 데이터 세트와 MPII 휴먼 포즈 데이터 세트라는 두 가지 벤치마크 데이터 세트에 대한 우수한 포즈 추정 결과를 통해 네트워크의 효과를 경험적으로 입증합니다. 또한 PoseTrack 데이터 세트에서 네트워크 포즈 추적의 우수성을 보여준다. 코드와 모델은 https://github.com/leoxiaobin/deep-high-resolution-net.pytorch에서 공개적으로 사용할 수 있습니다.

1. Introduction

2D 인간 포즈 추정은 컴퓨터 비전에서 근본적이면서도 어려운 문제였습니다. 목표는 인체 해부학적 키포인트(예: 팔꿈치, 손목 등) 또는 부품의 위치를 지정하는 것입니다. 인간 행동 인식, 인간과 컴퓨터의 상호 작용, 애니메이션 등 많은 응용 프로그램이 있습니다. 본 논문은 multi person 포즈 추정[6, 27, 33, 39, 47, 57, 41, 46, 17, 71], 비디오 포즈 추정 및 추적[49, 72] 등과 같은 다른 관련 문제의 기초인 1인 포즈 추정에 관심이 있습니다.

최근의 발전은 심층 컨볼루션 신경망이 최첨단 성능을 달성했음을 보여줍니다. 대부분의 기존 메서드는 직렬로 연결된 고해상도-낮은 해상도의 하위 네트워크로 구성된 네트워크를 통해 입력을 전달한 다음 해상도를 높입니다. 예를 들어, 모래시계[40]는 대칭적인 low-to-high 프로세스를 통해 고해상도를 복구합니다. SimpleBaseline[72]은 고해상도 표현을 생성하기 위해 몇 개의 전치 컨볼루션 레이어를 채택합니다. 또한 확장된 컨볼루션은 고해상도 네트워크(예: VGGNet 또는 ResNet)의 이전 레이어를 폭파하는 데에도 사용됩니다 [27, 77].

전체 프로세스를 통해 고해상도 표현을 유지할 수 있는 새로운 아키텍처, 즉 HRNet을 제시합니다. 첫 번째 단계로 고해상도 하위 네트워크에서 시작하여 점차 고해상도 하위 네트워크를 하나씩 추가하여 더 많은 단계를 형성하고 다중 해상도 하위 네트워크를 병렬로 연결합니다. 병렬 다중 해상도 하위 네트워크를 통해 정보를 교환하여 전체 프로세스를 통해 반복적으로 다중 스케일 융합을 수행합니다. 네트워크에서 출력되는 고해상도 표현에 대한 핵심 사항을 추정합니다. 결과 네트워크는 그림 1에 나와 있습니다.

이 네트워크는 포즈 추정을 위해 널리 사용되는 기존 네트워크와 비교하여 두 가지 이점이 있습니다 [40, 27, 77, 72]. (i) 이 접근 방식은 대부분의 기존 솔루션에서와 같이 직렬이 아닌 병렬로 고해상도-저분해능 하위 네트워크를 연결합니다. 따라서, 이 접근 방식은 낮은 프로세스에서 높은 resolution을 회복하는 대신 높은 resolution을 유지할 수 있으며, 따라서 예측된 heat map가 공간적으로 더 정밀할 수 있습니다. (ii) 기존의 대부분의 융합 체계는 낮은 수준과 높은 수준의 표현을 집계합니다. 대신, 동일한 깊이와 유사한 수준의 저해상도 표현을 사용하여 고해상도 표현을 활성화하기 위해 반복적인 다중 스케일 융합을 수행하며, 그 반대의 경우도 마찬가지이므로 고해상도 표현은 포즈 추정에 풍부합니다. 따라서 예측된 heat map이 잠재적으로 더 정확합니다.

COCO 키포인트 감지 데이터 세트[36]와 MPII 휴먼 포즈 데이터 세트[2]라는 두 가지 벤치마크 데이터 세트에 비해 우수한 키포인트 감지 성능을 경험적으로 입증합니다. 또한 PoseTrack 데이터 세트의 비디오 포즈 추적에서 네트워크의 우수성을 보여줍니다 [1].

2. Related Work

1인 포즈 추정에 대한 대부분의 전통적인 솔루션은 확률론적 그래픽 모델 또는 그림 구조 모델[79, 50]을 채택하고 있으며, 이는 단항 에너지와 쌍방향 에너지를 더 잘 모델링하기 위한 딥 러닝[9, 65, 45]을 활용하거나 반복 추론 과정을 모방하여 최근 개선되었습니다 [13]. 오늘날, 심층 컨볼루션 신경망은 지배적인 솔루션을 제공합니다 [20, 35, 62, 42, 43, 48, 58, 16]. 두 가지 주요 방법이 있습니다. 키포인트 위치 회귀 분석[66, 7]과 키포인트 히트맵 추정[13, 14, 78], 그 다음 열heat 값이 가장 높은 위치를 키포인트로 선택합니다.

키포인트 히트맵 추정을 위한 대부분의 컨볼루션 신경망은 분류 네트워크와 유사한 스템 하위 네트워크로 구성되며, 이는 resolution을 감소시키며, 이는 입력과 동일한 resolution으로 표현을 생성하는 주체인 후, 키포인트 위치가 추정된 열 지도를 추정하는 회귀 분석기가 뒤따릅니다.전체 해상도로 응답했습니다. 본체는 주로 high-to-low, low-to-high framework를 채택하며, 다중 스케일 융합 및 중간(심층) 감독을 통해 증강될 수 있습니다.

High-to-low and low-to-high. 하이-투-로우 프로세스는 저해상도 및 하이 레벨 표현을 생성하는 것을 목표로 하며, 로우-투-하이 프로세스는 고해상도 표현을 생성하는 것을 목표로 합니다 [4, 11, 23, 72, 40, 62]. 두 프로세스 모두 성능을 높이기 위해 여러 번 반복될 수 있습니다 [77, 40, 14].

대표적인 네트워크 설계 패턴으로는 (i) 대칭 하이 투 로우 및 로우 투 하이 프로세스가 있습니다. 모래시계와 그 후속 조치[40, 14, 77, 31]는 낮은 공정에서 높은 공정까지의 거울로 디자인합니다. (ii) 높은 공정에서 낮은 공정과 낮은 공정의 밝은 낮은 공정에서 높은 공정의 거울로 디자인합니다. 하이-투-로우 프로세스는 ImageNet 분류 네트워크(예: [11, 72]에서 채택된 ResNet)를 기반으로 하며 로우-투-하이 프로세스는 단지 몇 개의 이진 업샘플링 [11] 또는 트랜스포스 컨볼루션 [72] 레이어입니다. (iii) 확장된 컨볼루션과의 조합입니다. [27, 51, 35]에서는 공간 해상도 손실을 제거하기 위해 ResNet 또는 VGGNet의 마지막 두 단계에서 확장 컨볼루션을 채택하고, 이후 가벼운 저-고 프로세스로 resolution을 더욱 증가시켜 확장 컨볼루션을 사용하기 위한 값비싼 계산 비용을 피합니다 [11, 27, 51]. 그림 2는 4개의 대표적인 포즈 추정 네트워크를 보여줍니다.

Multi-scale fusion. 간단한 방법은 다중 해상도 이미지를 여러 네트워크에 개별적으로 공급하고 출력 응답 맵을 집계하는 것입니다 [64]. 모래시계[40]와 그 확장[77, 31]은 하이-로우 프로세스의 로우 레벨 기능을 스킵 연결을 통해 점차적으로 로우-하이 프로세스의 동일한 해상도의 하이 레벨 기능으로 결합합니다. 계단식 피라미드 네트워크[11]에서 글로벌 네트는 하이-로우 프로세스의 로우-하이 레벨 기능을 로우-하이 프로세스에 점진적으로 결합한 다음, 리니어넷은 컨볼루션(convolution)을 통해 처리되는 로우-하이 레벨 기능을 결합합니다. 이 접근 방식은 부분적으로 심층 융합과 그 확장에서 영감을 얻은 다단계 융합을 반복합니다 [67, 73, 59, 80, 82].

Intermediate supervision. 이미지 분류를 위해 초기에 개발된 중간 감독 또는 심층 감독도 심층 네트워크의 훈련과 히트맵 추정 품질(예: [69, 40, 64, 3, 11])을 돕기 위해 채택되었습니다. 모래시계 접근법[40]과 컨볼루션 포즈 머신 접근법[69]은 나머지 하위 네트워크의 입력 또는 입력의 일부로 중간 열 지도를 처리합니다.

Approach. 네트워크는 상위 하위 네트워크와 하위 하위 하위 네트워크를 병렬로 연결합니다. 공간적으로 정밀한 열 지도 추정을 위해 전체 프로세스를 통해 고해상도 표현을 유지합니다. 하이-로우 하위 네트워크에서 생성된 표현을 반복적으로 융합하여 신뢰할 수 있는 고해상도 표현을 생성합니다. 이 접근 방식은 기존의 대부분의 작업과는 다릅니다. 즉, 저-고-표현 업샘플링을 분리하는 프로세스와 저레벨, 고레벨 표현을 모으는 것을 별도로 수행해야 합니다 중간 열 지도 감독을 사용하지 않고 이 접근 방식은 키포인트 감지 정확도에서 우수하고 계산 복잡성과 매개 변수에서 효율적입니다.

분류 및 세분화를 위한 관련 멀티 스케일 네트워크가 있습니다 [5, 8, 74, 81, 30, 76, 55, 56, 24, 83, 55, 52, 18]. 이 작업은 부분적으로 그들 중 일부로부터 영감을 받았습니다 [56, 24, 83, 55]. 그리고 분명한 차이점들이 있어서 이 문제에 적용할 수 없습니다. 컨볼루션 신경 직물[56]과 연동된 CNN[83]은 각 하위 네트워크에 대한 적절한 설계 부족(깊이, 배치 정규화) 및 다중 스케일 융합으로 인해 고품질 분할 결과를 생성하지 못합니다. 많은 가중치 공유 U-Net의 조합인 그리드 네트워크[18]는 다중 해상도 표현에 걸쳐 두 개의 개별 융합 프로세스로 구성되어 있습니다. 첫 번째 단계에서는 고해상도에서 저해상도로만 정보가 전송되고, 두 번째 단계에서는 낮은 해상도로만 정보가 전송되므로 경쟁력이 떨어집니다. 다중 스케일 밀도 [24]는 대상이 아니므로 신뢰할 수 있는 고해상도 표현을 생성할 수 없습니다.

3. Approach

인간 포즈 추정, 즉 키포인트 검출은 $ W × H × 3$ 크기의 이미지 I에서 K 키포인트나 부품(예: 팔꿈치, 손목 등)의 위치를 감지하는 것을 목표로 합니다. 최첨단 방법은 이 문제를 크기 $W'×H', {H1, H2, ..., HK}$의 K 히트맵 추정으로 변환합니다. 여기서 각 히트맵 Hk는 k번째 키포인트의 위치 신뢰도를 나타냅니다.

널리 채택된 파이프라인[40, 72, 11]을 따라 해상도를 감소시키는 두 개의 나선형 컨볼루션, 입력 피처 맵과 동일한 해상도를 가진 피처 맵을 출력하는 주체, 그리고 키포에서 열 지도를 추정하는 회귀기로 구성된 컨볼루션 네트워크를 사용하여 인간의 키포인트를 예측합니다.int 위치가 선택되고 최대 해상도로 변환됩니다. 본체의 설계에 초점을 맞추고 그림 1에 묘사된 고해상도 네트(HRNet)를 소개합니다.

Sequential multi-resolution subnetworks. 포즈 추정을 위한 기존 네트워크는 고해상도부터 저분해능 하위 네트워크를 직렬로 연결하여 구축되며, 각 하위 네트워크는 일련의 컨볼루션으로 구성되며, 분해능을 절반으로 줄이기 위해 인접 하위 네트워크에 걸쳐 다운샘플 레이어가 있습니다. Nsr을 sh 단계에서 하위 네트워크가 되고 rb 해상도 인덱스가 되도록 합니다(해상은 첫 번째 하위 네트워크 해상도의 12r-1). S(예: 4) 단계가 있는 하이 투 로우 네트워크는 다음과 같이 나타낼 수 있습니다.

Parallel multi-resolution subnetworks. 첫 번째 단계로 고해상도 하위 네트워크에서 시작하여 점차적으로 고해상도 하위 네트워크를 하나씩 추가하여 새로운 단계를 구성하고 다중 해상도 하위 네트워크를 병렬로 연결합니다. 결과적으로, 이후 단계의 병렬 하위 네트워크에 대한 해상도는 이전 단계의 해상도와 더 낮은 해상도로 구성됩니다.

4개의 병렬 하위 네트워크를 포함하는 네트워크 구조의 예는 다음과 같습니다.

Repeated multi-scale fusion. 각 하위 네트워크가 다른 병렬 하위 네트워크에서 반복적으로 정보를 수신하도록 병렬 하위 네트워크에 걸쳐 교환 단위를 도입합니다. 다음은 정보 교환 방식을 보여주는 예입니다. 세 번째 단계를 여러 개의 교환 블록(예: 3)으로 나누었고, 각 블록은 병렬 유닛을 가로지르는 교환 유닛을 가진 3개의 병렬 컨볼루션 유닛으로 구성되어 있으며, 다음과 같이 제공됩니다.

여기서 $C^b_{sr}$은 sh 단계에서 bth 블록의 rth 해상도에서 convolution 단위를 나타내고, $E^b_s$는 해당 교환 단위를 나타냅니다.

그림 3의 교환 단위를 설명하고 다음에서 공식을 제시합니다. 토론의 편의를 위해 첨자와 대문자 b를 삭제했습니다. 입력은 s 응답 맵 {X1, X2, . , Xs}입니다. 출력은 s 응답 맵입니다. ${Y1, Y2, ..., Ys}$의 분해능과 너비는 입력과 동일합니다. 각 출력은 입력 맵의 집합 Yk = Psi=1 a(Xi, k)입니다. 여러 단계의 교환 장치에는 $Ys+1: Ys+1 = a(Ys, s + 1)$의 추가 출력 맵이 있습니다.

함수 a(Xi, k)는 분해능 i에서 분해능 k로 업샘플링 또는 다운샘플링 Xi로 구성됩니다. 다운샘플링을 위해 $3×3$ 컨볼루션(convolution)을 채택합니다. 예를 들어, 2배 다운샘플링을 위한 2배 스트레이드를 가진 $3×3$ 컨볼루션과 4배 다운샘플링을 위한 2배 스트레이드를 가진 2개의 연속 스트레이드 3×3 컨볼루션입니다. 업샘플링의 경우 채널 수를 정렬하기 위해 $1 × 1$ 컨볼루션 이후 가장 가까운 단순 이웃 샘플링이 채택됩니다. i = k인 경우 a(···)는 식별 연결일 뿐입니다.  $a(Xi, k) = Xi$

열 지도 추정치입니다. 경험적으로 잘 작동하는 마지막 교환 단위에 의한 고해상도 표현 출력에서 단순히 열 지도를 회귀시킵니다. 평균 제곱 오차로 정의되는 손실 함수는 예측 열 지도와 실제 열 지도를 비교하는 데 적용됩니다. 접지 실측 열병합은 각 키포인트의 그룹 실측 위치를 중심으로 표준 편차가 1픽셀인 2D 가우스 값을 적용하여 생성됩니다.

728x90
반응형