KR20230156330A - 반복적 정제를 통한 효율적인 포즈 추정 - Google Patents

반복적 정제를 통한 효율적인 포즈 추정 Download PDF

Info

Publication number
KR20230156330A
KR20230156330A KR1020237030028A KR20237030028A KR20230156330A KR 20230156330 A KR20230156330 A KR 20230156330A KR 1020237030028 A KR1020237030028 A KR 1020237030028A KR 20237030028 A KR20237030028 A KR 20237030028A KR 20230156330 A KR20230156330 A KR 20230156330A
Authority
KR
South Korea
Prior art keywords
machine learning
learning model
generate
processing
feature map
Prior art date
Application number
KR1020237030028A
Other languages
English (en)
Inventor
존 양
야쉬 산제이 발가트
파티 무라트 포리클리
시명 창
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20230156330A publication Critical patent/KR20230156330A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/107Static hand or arm
    • G06V40/11Hand-related biometrics; Hand pose recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Medical Informatics (AREA)
  • Neurology (AREA)
  • Image Analysis (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Traffic Control Systems (AREA)

Abstract

본 개시내용의 특정 양태들은 방법을 제공하며, 이 방법은, 특징 맵(feature map)을 생성하기 위해, 입력 데이터를 기계 학습 모델의 특징 추출 스테이지를 사용하여 프로세싱하는 단계; 증강 특징 맵(augmented feature map)을 생성하기 위해, 특징 맵에 어텐션 맵(attention map)을 적용하는 단계; 정제된 특징 맵을 생성하기 위해, 증강 특징 맵을 기계 학습 모델의 정제된 스테이지를 사용하여 프로세싱하는 단계; 다차원 작업 출력 데이터를 생성하기 위해, 정제된 특징 맵을 기계 학습 모델의 제1 회귀 스테이지를 사용하여 프로세싱하는 단계; 및 업데이트된 어텐션 맵을 생성하기 위해, 정제된 특징 데이터를 기계 학습 모델의 어텐션 스테이지를 사용하여 프로세싱하는 단계를 포함한다.

Description

반복적 정제를 통한 효율적인 포즈 추정
[0001] 본 출원은 2021년 3월 16일에 출원된 미국 특허 출원 제17/203,607호에 대한 우선권을 주장하며, 이 출원의 전체 내용은 본원에 참조로 포함된다.
[0002] 본 개시내용의 양태들은 기계 학습에 관한 것이고, 특히 기계 학습 모델들을 사용한 포즈 추정(pose estimation)에 관한 것이다.
[0003] 기계 학습은 일반적으로 선험적으로(priori) 알려진 훈련 데이터의 세트에 대한 일반화된 적합성을 나타내는 훈련된 모델(예를 들어, 인공 신경망)을 생성하는 프로세스이다. 훈련된 모델을 새로운 데이터에 적용하는 것은 추론들을 생성할 수 있게 하고, 이는 새로운 데이터에 대한 통찰력들을 얻기 위해 사용될 수 있다.
[0004] 포즈 추정(예를 들어, 인체 부위)은 대부분의 상호작용 증강 현실 및 가상 현실(총칭하여 "확장 현실(extended reality)") 시스템들의 중요한 컴포넌트이다. 확장된 현실 환경들에서 객체들과의 손-기반 상호작용의 경우, 3차원 세계 좌표들(뿐만 아니라, 이미지 평면 좌표들)에서 손 관절들의 포지션들의 매우 정확한 추정을 획득하는 것은 중요하다.
[0005] 바람직하게, 많은 최신 포즈 추정 모델들은 크고 복잡한 모델 아키텍처들을 통해 높은 정확도를 달성하고, 이는 상당한 계산 비용을 초래한다. 그러므로, 이러한 모델들은 일반적으로 모바일 디바이스들과 같은 비교적 저전력 컴퓨팅 디바이스들에 적합하지 않고, 아이러니하게도(ironically) 이들은 능력들이 가장 유용할 수 있는 디바이스들이다.
[0006] 따라서, 포즈 추정을 위한 개선된 모델 아키텍처들이 필요하다.
[0007] 특정 양태들은 방법을 제공하며, 이 방법은, 특징 맵(feature map)을 생성하기 위해, 입력 데이터를 기계 학습 모델의 특징 추출 스테이지를 사용하여 프로세싱하는 단계; 증강 특징 맵(augmented feature map)을 생성하기 위해, 특징 맵에 어텐션 맵(attention map)을 적용하는 단계; 정제된 특징 맵을 생성하기 위해, 증강 특징 맵을 기계 학습 모델의 정제된 스테이지를 사용하여 프로세싱하는 단계; 다차원 작업 출력 데이터(multi-dimensional task output data)를 생성하기 위해, 정제된 특징 맵을 기계 학습 모델의 제1 회귀 스테이지를 사용하여 프로세싱하는 단계; 업데이트된 어텐션 맵을 생성하기 위해, 정제된 특징 데이터를 기계 학습 모델의 어텐션 스테이지를 사용하여 프로세싱하는 단계를 포함한다.
[0008] 다른 양태들은 기계 학습 모델을 훈련시키는 방법을 제공하며, 이 방법은, 훈련 데이터를 기계 학습 모델을 사용하여 프로세싱하는 단계 ― 기계 학습 모델은 특징 맵을 생성하도록 구성된 특징 추출 스테이지; 특징 맵과 어텐션 맵에 기반하여 증강 특징 맵을 프로세싱하도록 그리고 정제된 특징 맵을 생성하도록 구성된 정제 스테이지; 정제된 특징 맵으로 구성되고 업데이트된 어텐션 맵을 생성하도록 구성된 어텐션 스테이지; 및 다차원 작업 출력 데이터를 생성하기 위해, 정제된 특징 맵을 프로세싱하도록 구성된 제1 회귀 스테이지를 포함함 ― ; 훈련 손실 함수에 기반하여 훈련 손실을 결정하는 단계 ― 훈련 손실 함수는 불확실성 손실 성분; 및 작업 손실 성분을 포함함 ― ; 및 훈련 손실에 기반하여 기계 학습 모델을 업데이트하는 단계를 포함한다.
[0009] 다른 양태들은 전술한 방법들뿐만 아니라 본원에 설명된 방법들을 수행하도록 구성된 프로세싱 시스템들; 프로세싱 시스템의 하나 이상의 프로세서들에 의해 실행될 때, 프로세싱 시스템으로 하여금, 전술한 방법들뿐만 아니라 본원에 설명된 방법들을 수행하게 하는 명령들을 포함하는 비일시적 컴퓨터-판독가능 매체; 전술한 방법들뿐만 아니라 본원에 추가로 설명된 방법들을 수행하기 위한 코드를 포함하는 컴퓨터 판독가능 저장 매체에 구현된 컴퓨터 프로그램 제품; 및 전술한 방법들뿐만 아니라 본원에 추가로 설명된 방법들을 수행하기 위한 수단을 포함하는 프로세싱 시스템을 제공한다.
[0010] 다음 설명 및 관련 도면들은 하나 이상의 양태들의 특정 예시적 특징들을 상세히 설명한다.
[0011] 첨부된 도면들은 하나 이상의 양태들의 특정 양태들을 묘사하므로 본 개시내용의 범위를 제한하는 것으로 간주되어서는 안 된다.
[0012] 도 1은 예시적인 포즈 추정 모델 아키텍처를 묘사한다.
[0013] 도 2는 반복적 백본 네트워크(iterative backbone network)의 예를 묘사한다.
[0014] 도 3은 점진적 훈련 알고리즘(progressive training algorithm)의 예를 묘사한다.
[0015] 도 4는 도 1 및 도 2와 관련하여 설명된 모델 아키텍처와 같은 포즈 예측을 수행하는 예시적인 방법을 묘사한다.
[0016] 도 5는 도 1 및 도 2와 관련하여 설명된 것과 같은 포즈 예측 모델 아키텍처를 훈련시키기 위한 예시적인 방법을 묘사한다.
[0017] 도 6은 본원에 설명된 방법들을 수행하도록 구성될 수 있는 예시적인 프로세싱 시스템을 묘사한다.
[0018] 이해를 용이하게 하기 위해, 동일한 참조 번호들은 가능하면 도면들에 공통되는 동일한 요소들을 표시하기 위해 사용되었다. 일 양태의 요소들 및 특징들이 추가 설명 없이 다른 양태들에 유리하게 통합될 수 있다는 것이 고려된다.
[0019] 본 개시내용의 양태들은 기계 학습 모델들을 사용하여 포즈 추정을 수행하기 위한 장치들, 방법들, 프로세싱 시스템 및 비일시적 컴퓨터-판독가능 매체를 제공한다. 특히, 본원에 설명된 양태들은 2차원 입력 이미지들에 기반하여 3차원 공간에서 신체 요소(예를 들어, 손) 포즈들을 효율적으로 추정하기 위한 기계 학습 모델 아키텍처들에 관한 것이다.
[0020] 본원에 설명된 포즈 추정 모델 아키텍처들은 일반적으로 반복 백본 네트워크, 포즈 예측기, 불확실성 추정기(uncertainty estimator) 및 판별 게이팅 함수(decision gating function)를 포함할 수 있다. 유익하게도, 이들 모델 아키텍처들은, 판별 게이팅 함수로 인해 루프가 종료될 때까지 정제 모듈의 재귀 반복들과 반복 백본 네트워크의 어텐션 맵 생성기를 통한 예측들을 연속적으로 정제한다.
[0021] 본원에 설명된 포즈 추정 모델 아키텍처들은 정제 모듈을 통한 각각의 반복에 대해 상이한 배치 정규화 계층(batch normalization layer)들을 추가로 사용할 수 있고, 이는 유익하게도 훈련 동안 구배(gradient)들을 유리하게 안정화하고 그리고 어텐션 맵 생성기에 의해 유발되는 배치 정규화 계층들의 임의의 통계적 혼란을 완화한다.
[0022] 본원에 설명된 포즈 추정 모델 아키텍처들의 게이팅 함수는 일반적으로 네트워크 자체 추정들의 신뢰도 척도들(예를 들어, 불확실성)을 고려하여 목적 함수를 통해 이산 게이팅을 판별한다. 예를 들어, 게이팅 함수는 반복 백본 네트워크를 종료할 시기를 결정하기 위해 다차원(예를 들어, 2차원 및 3차원) 키포인트 예측들과 같은 모델 추론들의 불확실성을 추정할 수 있다.
[0023] 마지막으로, 본원에 설명된 양태들은 더 많은 샘플들이 더 적은 반복들 후에 반복 백본 네트워크를 종료하게 함으로써 추론 효율성을 개선시키는 포즈 추정 모델 아키텍처들을 위한 점진적인 훈련 기법에 관한 것이다.
[0024] 따라서, 본원에 설명된 포즈 추정 모델 아키텍처들은 계산 비용 및 메모리 사용 측면들에서 효율적인 추론들을 생성하고, 이는 유익하게도 이러한 모델 아키텍처들이 모바일 디바이스들, 상시접속(always-on) 디바이스들, 사물 인터넷 디바이스들, 엣지 프로세싱 디바이스들 등과 같은 더 넓은 범위의 디바이스들에 배포되게 한다. 따라서, 본원에 설명된 반복 포즈 추정 모델 아키텍처들은 위에서 설명한 바와 같이 기존 접근법들의 단점들에 대한 기술적 솔루션을 제공한다.
예시적인 포즈 추정 모델 아키텍처
[0025] 도 1은 예시적인 포즈 추정 모델 아키텍처(100)를 묘사한다.
[0026] 일반적으로, 모델 아키텍처(100)는 모델 파라미터들이 적응형 공간 범위지정(adaptive spatial scoping)을 통해 보다 정확한 예측들을 위해 반복적으로 이용될 수 있는 모듈식 네트워크를 묘사한다. 구체적으로, 모델 아키텍처(100)의 적응성 특성은, 모델이 신뢰성 있는(confident) 포즈 예측들을 생성하기 위해, 필요한 양의 복잡성만을 사용하게 하도록 하는 게이트 루프 메커니즘(gated looping mechanism)에 의해 제공된다.
[0027] 묘사된 바와 같이, 모델 아키텍처(100)는 자체적으로 특징 추출기(106), 정제 모듈(108) 및 어텐션 맵 생성기(110)를 포함하는 반복 백본 네트워크(104)로 구성된다. 모델 아키텍처(100)는 포즈 예측기(112)를 더 포함하고, 이 예에서 손 모델(118)을 포함하지만, 다른 예들에서 인체의 뼈들과 관절들을 포함하는 전체 인체 골격 모델들을 포함하는 다른 신체 요소 모델을 포함할 수 있다. 모델 아키텍처는 반복 백본 네트워크(106) 내의 루핑을 제어하고, 따라서 모델 아키텍처(100)의 적응형 범위지정 양태들을 가능하게 하도록 구성되는 불확실성 추정기(124) 및 판별 게이팅 함수(128)를 더 포함한다.
[0028] 묘사된 예에서, 손의 단안 이미지(monocular image)는 특징 추출기(106)에 입력 데이터(102)로서 제공되고, 특징 추출기(106)는 입력 데이터에 기반하여 특징들을 생성하고 이는 정제 모듈(108)에 제공된다. 이어서 정제 모듈(108)의 출력은 (1) 포즈 예측기(112), (2) 불확실성 추정기(124) 및 (3) 어텐션 맵 생성기(110)에 제공된다. 묘사된 예에서, 정제 모듈(108)의 출력은 미리 정의된 불확실성 임계치와 비교될 수 있는 게이팅 함수(128)의 판별의 출력에 기반하여 어텐션 맵 생성기(110)에 제공된다는 것이 유의된다. 일부 경우들에서, 미리 정의된 불확실성 임계치는 튜닝될 하이퍼파라미터(hyperparameter)이고, 이 임계치에 대한 상이한 값들은 상이한 정확도 대 효율성의 트레이드오프들을 제공한다. 따라서, 불확실성 추정기(124) 및 게이팅 함수(128)는 일반적으로 조건이 충족될 때까지 정제 모듈(108) 및 어텐션 맵 생성기(110)의 루핑을 제어하고, 이어서 출력들(120 및/또는 122)은 모델 아키텍처(100)의 출력으로서 제공된다. 조건은 예를 들어 게이팅 임계치가 충족되거나 루프 한계에 도달하는 것일 수 있다.
[0029] 모델 아키텍처(100)의 전술한 컴포넌트들 각각은 이제 더 상세히 설명될 것이다.
반복 백본 네트워크
[0030] 묘사된 예에서, 반복 백본 네트워크(104)는 재귀 추론을 수행하도록 구성된 잔여 네트워크이고, 이는 일반적으로 네트워크 파라미터들의 용량을 이용하기 위해 하위 레벨 특징들을 정제하기 위한 상위 레벨 특징들의 사용을 허용한다. 즉, 반복 백본 네트워크(104)는 각각의 재귀 사용(예를 들어, 각각의 루프에서)에서 증가될 수 있는 낮은 기본 복잡성을 갖는다. 이것은 유익하게도 더 작은 모델 크기(예를 들어, 더 작은 신경망)가 더 복잡한 모델과 유사한 예측 정확도를 가질 수 있게 하고, 이는 메모리 요건들을 줄이고 더 다양한 디바이스들에서 구현하게 한다.
[0031] 특징 추출기(106)는 일반적으로 입력 데이터(102)의 하위 레벨 이미지 특징들을 인코딩하도록 구성된다. 일부 경우들에서, 특징 추출기(106)는 컨벌루션 신경망 모델과 같은 신경망 모델(또는 그 일부)에 의해 구현될 수 있다. 신경망 모델의 특징 추출 스테이지의 일 예가 도 2를 참조하여 더 상세히 묘사되고 설명된다.
[0032] 특징 추출기(106)는 정제 모듈(108) 및 어텐션 맵 생성기(110)와 마찬가지로 재귀적으로 동작되지 않기 때문에, 이의 특징 인코딩은 특징 맵들의 과도한 다운샘플링을 통합하여 특징 맵의 재귀적 계산 비용이 적게 들도록 구성될 수 있다. 예를 들어, 특징 추출기(106)는 정제 모듈(108) 및 어텐션 맵 생성기(110)를 통한 반복들이 더 효율적이도록 하기 위해, 이미지 입력들(예를 들어, 102)의 공간 치수들을 예를 들어 224 x 224 픽셀들에서 28 x 28 픽셀들로 줄이도록 구성될 수 있다. 이는 하나의 예일 뿐이고, 일반적으로 입력 크기와 축소 비율은 필요에 따라 구성될 수 있다.
[0033] 추론 동안, 특징 추출기(106)로부터의 출력은 반복 백본 네트워크(104)의 다른 양태들의 재귀 루프에 대해 다시 반복해서 생성되지 않도록 메모리(묘사되지 않음)에 저장될 수 있다. 이는 모델 아키텍처(100)의 계산 효율성을 더욱 개선시킨다.
[0034] 정제 모듈(108)은 일반적으로 모든 반복에서 어텐션 맵 생성기(110)에 의해 생성된 어텐션 강화 특징 맵들이 이전 루프의 예측들을 정제하는 데 사용될 수 있도록 재귀적으로 "루핑"되도록 구성된다. 특히, 이러한 어텐션-증강(attention-augmentation)은 모든 루프 반복에서 입력 특징 맵의 분포를 변경할 수 있다. 따라서, 도 2에 묘사된 바와 같이 별도의 배치 정규화 계층은 어텐션 강화된 입력 특징 맵들의 통계적 시프트들을 설명하기 위해 모든 반복에서 사용될 수 있다.
[0035] 특히, 도 2는 특징 추출기(202), 정제 모듈(204) 및 어텐션 맵 생성기(206)를 포함하는 반복 백본 네트워크(200)의 예를 묘사한다. l 개의 배치 정규화 계층들(BN1 ... BN l )이 있고, 여기서 l은 반복 백본 네트워크(200) 내에서 허용되는 구성 가능한 루프 수이다. 즉, 계산 효율성을 위해, 과도한 루핑과 불필요한 지연시간을 방지하기 위해 4 개의 루프들 같은 루프들을 구성 가능한 수로 제한하는 것이 바람직할 수 있다.
[0036] 도 1을 참조하면, 어텐션 맵 생성기(110)는 일부 예들에서 2 개의 요소별 곱셈을 위한 특징 맵들의 수와 동일한 수의 어텐션 맵들을 출력하는 업스케일링 디코더로서 구현될 수 있다. 일부 경우들에서, 어텐션 맵 생성기(110)에 의해 생성된 어텐션 맵은 일반적으로 [0, 1] 범위의 값들을 포함할 수 있고, 이어서 이는 "어텐션" 메커니즘을 가능하게 하기 위해 정제 모듈(108)에 의해 출력된 특징 맵들에 (요소별로) 적용될 수 있다.
[0037] 일부 양태들에서, 계산 비용을 크게 증가시키지 않고 정제 모듈(108)의 출력 벡터들을 효과적으로 업스케일링하기 위해, 디코더는 픽셀-셔플(pixel-shuffle) 계층들로 구성될 수 있고, 이는 채널 특징들을 공간 특징들로 가져옴으로써 계산 비용을 낮춘다. 일반적으로, 업스케일링은 몇 가지 예를 들면 쌍선형 보간, 디콘볼루션(deconvolution), 픽셀-셔플 동작들을 포함하여 다양한 방식들로 수행될 수 있다. 픽셀-셔플링은 다른 대안들보다 더 많은 정보를 유익하게 보존한다.
포즈 예측기
[0038] 일반적으로, 포즈 예측기(112)는 반복 백본 네트워크(104)에 의해 제공되는 입력 특징 맵들에 기반하여 3차원 및/또는 2차원 포즈 예측들(또는 추정들)을 생성하도록 구성된다.
[0039] 묘사된 예에서와 같이, 포즈 예측기(112)는 신경망 모델의 하나 이상의 완전-연결(FC) 계층들(예를 들어, 계층들(114))을 포함할 수 있다. 이러한 예들에서, 포즈 예측기(112)의 완전-연결 계층들(114)은 손 모델(118)에 대한 입력에 사용되는 다차원 출력(116)을 생성한다. 완전-연결 계층들(114)은 출력들이 범주 값들 대신 회귀 값들이기 때문에 일부 경우들에서 회귀 단계로 지칭될 수 있다.
[0040] 이 예에서, 다차원 출력(116)은 회전 행렬(R), 병진(t), 스케일링 팩터(s), 포즈() 및 형상()을 포함하는 복수의 파라미터들을 포함한다. 일반적으로, 포즈() 및 형상() 파라미터들은 손 모델(118)을 사용하여 3차원 포즈 예측을 생성하는 데 사용될 수 있고, 이어서 이는 이 예에서 R, t, 및 s 파라미터들을 사용하여 2차원 평면에 투영될 수 있다. 이 예에서, R, t, 및 s는 입력 데이터를 캡처하는 카메라의 외적(extrinsic) 파라미터들로 지칭될 수 있다.
[0041] 일 예에서, 손 모델(118)은, 입력 저차원 벡터들을 에 따라 3차원 손 메시 출력들을 제어하기 위한 에 대한 파라미터들로 취하도록 구성된 MANO 손 메시 변형 모델이고, 여기서 는 신체 요소 관절 포지션(body element joint position)들을 예측하기 위한 함수이다. 예를 들어, 이 예에서 손의 21 개의 관절들의 위치()는 포즈()에 기반하여 전역적으로 회전되어(로 표시됨), 손의 21 개의 관절들 각각에 대해 대응하는 3차원 좌표를 갖는 최종 손 모델을 획득할 수 있다. 다른 예들에서, 손 모델(118)이 대체 신체 요소 모델 또는 심지어 전신 골격 모델(full skeletal model)로 대체될 수 있다는 것이 유의된다.
[0042] 일 예에서, 크롭핑된(cropped) 손 이미지들이 데이터 입력들(x)(102)로서 제공되고, 특징 추출기(108)의 출력()은 각각의 재귀적 반복(또는 루프)()에서 어텐션 맵 생성기(110)에 의해 생성된 어텐션 맵()과 함께 정제 모듈() (108)에 제공된다. 일부 예들에서, 크롭핑된 손 이미지들은 손 검출기 모델, 이미지 분할 모델 등에 의해 생성될 수 있다.
[0043] 포즈 예측기는 일 때 각각 를 입력으로서 취하고, 그의 포즈() 및 형상()과 함께 회전 행렬(), 병진() 및 스케일링 팩터()를 예측한다:
(1)
여기서 는 2 개의 완전 연결된 계층화된 동작들을 나타낸다. 관절들의 3차원 위치()가 손 모델(118)에 의해 정의되고, 이어서 검출된 키포인트들이 방정식 1의 R, t, 및 s 파라미터들에 의해 파라미터화된 약한-원근(weak-perspective) 카메라 모델을 사용하여 2차원 이미지 평면들에 재투영되어, 하기에 따라, 추정된 카메라 파라미터들을 사용하여 2차원 위치 추정들()이 취득될 수 있다:
(2)
여기서 는 직교 투영을 나타낸다. 재투영된 2차원 관절 위치 추정들을 통해, 네트워크는 2차원 라벨들만이 훈련 세트에 존재하는 경우에도 3차원 관절 위치들을 학습할 수 있다.
[0044] 일부 예들에서, 훈련 포즈 예측기(112)에 대한 기준은 예측들과 실측(ground-truth)들 사이의 L1 및 L2 손실들이다:
(3)
[0045] 일반적으로, L1 또는 L2 놈(norm)들은 손실 함수에 사용될 수 있다. 2차원 예측들이 더 많은 변수들의 함수이기 때문에(투영 변수들로 인한 3차원 예측들과 비교하여), L1 놈 손실은 2차원 추정들에 대해 보다 강력한 예측들을 제공할 수 있다.
반복 백본 네트워크의 동적 종료
[0046] 모델 아키텍처(100)는 반복 백본 네트워크(104)에 대한 다수의 기존 정책들을 구현할 수 있다. 제1 기존 정책 옵션은 불확실성 추정들(130)(예를 들어, 총 분산들의 영역)에 기반하는 경험적이다. 예를 들어, 루프는 분산들이 임계치보다 작을 때 종료될 수 있다. 그러한 예에서, 게이팅 함수(128)는 불확실성 추정들(130)이 게이팅을 위해 직접 사용되기 때문에 필요하지 않다. 제2 기존 정책 옵션은 게이팅 함수(128)를 활용하고, 일 예에서 단일 완전-연결을 포함한다. 유익하게도, 게이팅 함수(128)는 방정식 12와 관련하여 아래에서 더 설명되는 바와 같이 훈련 가능하다.
[0047] 도 1에 묘사된 예에서, 반복 백본 네트워크(104)를 사용하여 루프를 종료하는 것은 게이팅 함수(128)를 사용하여 입력 데이터 샘플마다 적응적으로 수행된다. 따라서, 모델 아키텍처(100)는 적응형 반복 범위 네트워크로 지칭될 수 있다.
[0048] 일반적으로, 반복 백본 네트워크(104)의 재귀적 추론의 다음 루프로의 진행을 판별하기 위해, 모델은 현재 예측과 관련하여 그것이 얼마나 확실한지 인식하여야 한다. 이를 위해, 불확실성 추정기(124)는 관절 위치들만이 아닌 확률 분포를 추정함으로써 2차원/3차원 관절 위치들(예를 들어, 키포인트들) 예측들(예를 들어, 120 및 122)에 대한 분산들을 추정한다. 일 예에서, 문제를 단순화하기 위해, 관절들의 좌표들은 단일 변량 가우스(single variate Gaussian)를 사용하기 위해 독립적인 것으로 가정된다:
(4)
여기서 W는 훈련 가능한 가중치들을 지칭한다. 관절 위치에 대한 좌표는 로 표시되고, 는 추정된 관절 위치를 나타낸다. 표준 편차()가 0에 가까울수록, 모델의 자체 추정에 대한 신뢰성이 높아진다. 타겟 관절 좌표가 디랙 델타 함수(Dirac-Delta function)인 인 가우스 분포로 가지면:
(5)
이고, 는 실측 관절 포지션을 나타내고, 모델은 사이의 쿨백 라이블러 발산(Kullback-Leibler (KL)-divergence)에 기반하여 불확실성 손실 성분()을 최소화하고, 하기에 따라 신뢰도 추정을 학습하는 것이 목표이다.
(6)
여기서 이고, 이는 모델 아키텍처(100)가 불확실성 추정들(130)로서 예측하는 것이다. 출력들로서, 불확실성 추정기(124)는 하기에 따라 자신의 2차원/3차원 관절 예측들의 분산을 예측한다:
(7)
여기서 는 분산 추정들 전의 완전-연결 계층들을 나타낸다.
[0049] 3차원 관절 예측들의 경우, 3차원 관절 위치파악(localization)을 위한 분산 손실 추정은 다음과 같이 설정될 수 있다:
(8)
[0050] 2차원 관절 위치들이 매끄러운 L1 손실로 회귀되므로, 2차원 관절 위치파악을 위한 분산 손실은 다음과 같이 정의될 수 있다:
(9)
[0051] 방정식 3을 사용하여 계산된 로 2차원/3차원 관절 위치파악 분산들에 대한 둘 모두의 손실들을 합산하면, 다음이 제공된다:
(10)
[0052] 따라서, 불확실성 추정기(124)는 그의 관절 위치 예측들을 위한 1-차원 벡터들로서 분산들을 학습할 수 있다.
[0053] 전술된 분산들은 종료의 판별을 위해 직접 활용될 수 있다(예를 들어, 게이팅 함수(128)를 사용하는 대신). 예를 들어, 임계 값()은 현재 관절 추정들의 평균 분산에 대해 설정될 수 있다. 평균 분산이 미리 정의된 임계치보다 큰 경우, 정제 모듈(108)과 어텐션 맵 생성기(110)의 다른 루프가 수행된다.
게이팅 함수
[0054] 루프를 종료하기 위해 사용될 수 있는 각각의 루프에서의 경험적 불확실성 임계 값들에 더하여, 게이팅 함수(128)는 모델 아키텍처(100)가 최적의 종료 판별을 학습할 수 있게 한다. 즉, 게이팅 함수(128)는 불확실성 추정들(130)에 기반한 경험적 방법 대신 학습 가능한 게이팅 메커니즘을 제공한다. 일부 예들에서, 게이팅 함수(128)는 모델 아키텍처(100)와 같은 더 큰 모델의 일부일 수 있는 신경망 모델로서 구현될 수 있다.
[0055] 예를 들어, 번째 루프()에서 생성된 입력(x) 및 어텐션 맵의 경우, 게이팅 함수(128)는 아래 방정식 11의 보상 신호들에 기반하여 훈련된 후 종료의 확률론적 범주 판별을 출력한다. 게이팅 함수()(128)는 불확실성 추정기(124)의 완전 연결 계층들(125)로부터 특징 벡터()들을 입력들로서 취한다. 도 1에 도시된 바와 같이, 방정식 7에서, f(126)는 게이팅 함수(128)에 대한 입력으로서 사용되는 중간 특징 출력(예를 들어, 벡터)이다.
[0056] 이를 위해, 게이팅 함수()는 정책에 따른 바닐라 정책 구배(on-policy vanilla policy gradient)(보상 신호들에 기반하여 에이전트를 훈련하는 데 사용되는 강화 학습 알고리즘) 업데이트들로 훈련되는 루프()의 불확실성 특징 벡터들()에 기반하여 2 개의 가능한 범주 동작들() 종료 여부에 대해 강화 업데이트들로 훈련될 수 있다. 반복 횟수들이 많을수록 손실은 감소하지만, 각각의 추가 루프에 대해 계산 비용 증가에 대한 페널티가 필요하다. 손실과 계산 비용 사이의 차이는 보상 신호()에 의해 설정되고:
(11)
여기서 는 스케일 상수를 나타내고 계산 비용(C)은 일 예에서 초당 기가-부동 소수점 연산(GFLOP: giga-floating point operations per second)들을 나타낸다. 이러한 보상들로, 정책은 궁극적으로 포즈 추정들의 에러를 최소화하는 동시에 필요한 계산 비용 또한 최소화하려고 노력한다. 게이팅 정책 함수의 학습 구배들은 다음과 같이 표현될 수 있다:
(12)
여기서 는 게이팅 함수(128)의 학습 가능한 파라미터들을 나타낸다.
[0057] 게이팅 함수(128)는 불확실성 추정기(124)를 포함하여 모델 아키텍처(100)의 나머지를 훈련한 후에 훈련될 수 있다는 것이 유의된다. 따라서, 게이팅 함수(128)의 훈련 동안, 모델 아키텍처(100)의 다른 부분들은 분리된다.
[0058] 일 예에서, 게이팅 함수(128)는 추론 동안, 게이트 함수(128)의 동작들(예를 들어 종료 또는 종료하지 않음)이 소프트맥스 확률 분포로부터 샘플링되도록 강화 알고리즘을 사용하여 훈련된다. 따라서, 이러한 경우들에서 게이팅 함수(128)의 출력은 결정론적이 아니라 확률론적이다.
[0059] 학습된 게이팅 함수(128)를 사용하면, 온도 파라미터()는 훈련 후에도 그의 판별들의 가혹함의 추가 제어를 가능하게 하기 위해 활용될 수 있다. 이 예에서, 게이팅 함수(128)는 범주형 소프트맥스 함수이기 때문에, 계산 비용과 예측 정확도 사이의 트레이드오프가 테스트 동안 추가로 제어될 수 있다. 일반적으로, 의 값이 높을수록 더 부드러운 소프트맥스 함수의 분포가 산출된다.
점진적 훈련
[0060] 모델 아키텍처(100)는 초기에, 부분 계층들를 루핑하고 각각의 루프에서의 추론 결과들에 기반하여 손실들을 계산함으로써 훈련될 수 있다. 따라서, 미리 정의된 최대 루프 수()를 사용하여, 모델 아키텍처(100)는 다음과 같이 모든 루프들의 손실들의 합계를 최소화함으로써 훈련될 수 있다.
(13)
여기서 는 하이퍼파라미터()에 의해 가중된 2차원 예측 손실이고, 는 하이퍼파라미터()에 의해 가중된 3차원 예측 손실이고, 는 하이퍼파라미터()에 의해 가중된 불확실성 손실이다. 특히, 모델 아키텍처(100)는 종단간 또는 점진적 방식으로 훈련될 수 있다. 종단간 훈련 프로토콜에서, 단일 훈련은 최대 루프 수로 수행되는 반면, 점진적 훈련 프로토콜에서, 모델 아키텍처(100)는 루프 허용의 점진적인 증분 동안 여러 번 훈련된다.
[0061] 도 3은 점진적 훈련 알고리즘(300)의 예를 묘사한다.
[0062] 일반적으로, 알고리즘(300)에 따른 점진적 훈련 동안, 모델 아키텍처(100)는 훈련된 횟수이고, 각각의 경우 최대 루프들의 수()만큼 훈련된다. 따라서, 모델 아키텍처(100)는 초기에 인 경우에 대한 루프 없이 훈련된다. 점진적 훈련 프로토콜의 이러한 초기 훈련 단계는 단일 추론 경로에 대해 정제 모듈(108)의 시작에 하나의 배치 정규화 계층을 요구한다. 그리고 의 경우, 모델 아키텍처(100)는 배치 정규화 계층의 수()로 초기화된다. 이어서, 모델 아키텍처(100)는 추가 배치 정규화 계층을 제외하고, 경우에 대해 훈련된 파라미터들을 사용하여 다시 초기화된다.
[0063] 모델 아키텍처(100)가 로 훈련될 때 의미 있는 특징 인코딩 계층들을 학습하므로, 특징 추출기(106)는 일 때 추가 학습으로부터 분리되고 학습률은 와 같은 인자만큼 감소된다. 어텐션 맵 생성기(110)는 원래의 기본 학습률로 훈련된다. 예를 들어, 훈련은 루프에 대해 0.1의 학습률로 시작할 수 있다. 이어서 루프에서, 특징 추출기는 훈련에서 분리되고 정제 모듈(108)은 의 학습률로 훈련되고, 이 훈련 속도는 각각의 반복에서 만큼 더 감소된다. 어텐션 맵 생성기는 0.1의 원래 학습률로 훈련된다.
[0064] 유익하게도, 점진적 훈련 방법(300)은 각각의 루프 경우들에서 네트워크 용량의 최대화를 보장하여, 초기 루프 경우들에서 더 높은 종료율(rate of exits)을 산출하고 검증 샘플들에 대해 더 낮은 평균 계산 비용을 산출하는 것으로 경험적으로 나타났다.
포즈 예측을 위한 예시적인 방법
[0065] 도 4는 도 1 및 도 2와 관련하여 설명된 모델 아키텍처들과 같은 포즈 예측을 수행하기 위한 예시적인 방법(400)을 묘사한다.
[0066] 방법(400)은 특징 맵을 생성하기 위해, 입력 데이터를 기계 학습 모델의 특징 추출 스테이지를 사용하여 프로세싱하는 단계(402)에서 시작된다. 예를 들어, 특징 추출 스테이지는 도 1의 106 및 도 2의 202와 같은 특징 추출기를 포함할 수 있다.
[0067] 비록 묘사되지는 않았지만, 특징 맵은 로컬 메모리와 같은 메모리에 저장되어, 기계 학습 모델의 반복 프로세싱 동안 재사용될 수 있고, 이는 각각의 반복 동안 입력 데이터를 특징 추출 스테이지를 사용하여 재프로세싱하는 것에 비해 프로세싱을 절약할 수 있다.
[0068] 이어서, 방법(400)은 증강 특징 맵을 생성하기 위해, 특징 맵에 어텐션 맵을 적용하는 단계(404)로 진행한다. 일부 경우들에서, 증강 특징 맵은 어텐션-증강 특징 맵으로 지칭될 수 있다. 예를 들어, 도 1의 어텐션 맵 생성기(110) 또는 도 2의 206은 어텐션 맵을 제공할 수 있다.
[0069] 위에서 설명된 바와 같이, 단계(404)는 일반적으로, 어떠한 증강도 없는, 이를테면, 루프 카운트(loop count)가 인 모델을 처음 통과한 후 발생한다.
[0070] 이어서, 방법(400)은 정제된 특징 맵을 생성하기 위해, 증강 특징 맵을 기계 학습 모델의 정제 스테이지를 사용하여 프로세싱하는 단계(406)로 진행한다. 예를 들어, 정제 스테이지는 도 1의 108 또는 도 2의 204와 같은 정제 모듈을 포함할 수 있다.
[0071] 일부 양태들에서, 증강 특징 맵을 기계 학습 모델의 정제 스테이지를 사용하여 프로세싱하는 것은 배치 정규화 계층을 증강 특징 맵에 적용하는 것을 포함하고, 배치 정규화 계층은 루프 카운트에 기반하여 복수의 배치 정규화 계층으로부터 선택된다.
[0072] 이어서, 방법(400)은 다차원 작업 출력 데이터(예를 들어, 도 1의 116)를 생성하기 위해, 정제된 특징 맵을 기계 학습 모델의 제1 회귀 스테이지를 사용하여 프로세싱하는 단계(408)로 진행한다. 예를 들어, 다차원 작업 출력 데이터는 위에서 설명된 바와 같이 회전 행렬(R), 병진(t), 스케일링 팩터(s), 포즈() 및/또는 형상()을 포함할 수 있다. 일 예에서, 회귀 스테이지는 도 1의 포즈 예측기(112)의 완전 연결 계층들(114)과 같은 포즈 예측기의 하나 이상의 완전-연결 계층들을 포함한다.
[0073] 이어서 방법(400)은 업데이트된 어텐션 맵을 생성하기 위해, 정제된 특징 데이터를 기계 학습 모델의 어텐션 스테이지를 사용하여 프로세싱하는 단계(410)로 진행한다.
[0074] 정제된 특징 데이터가 일반적으로 단계(408)에서 사용된 것과 동일할 수 있다는 것이 유의된다. 다양한 스테이지의 병렬 프로세싱이 구현되는 경우, 정제된 특징 데이터는 여러 복사본들에 저장되어 다양한 스테이지들에서 동시에 액세스되고 프로세싱될 수 있다.
[0075] 이어서, 방법(400)은 도 1의 3차원 예측(120)과 같은 3차원 포지션 추정을 생성하기 위해, 다차원 작업 출력 데이터를 3차원 포지션 생성기를 사용하여 프로세싱하는 단계(412)로 진행한다. 예를 들어, 3차원 포지션 생성기는 도 1의 손 모델(118)과 같은 신체 요소 포즈 모델일 수 있고, 3차원 포지션 추정은 키포인트 추정들과 같은 3차원 공간에서의 하나 이상의 신체 요소 관절 포지션들을 포함한다.
[0076] 이어서, 방법(400)은 2차원 포지션 추정을 생성하기 위해, 3차원 포지션 추정을 다차원 작업 출력 데이터를 사용하여 프로세싱하는 단계(414)로 진행한다.
[0077] 예를 들어, 회전 행렬(R), 병진(t) 및 스케일링 팩터(s)는 포즈()와 형상()을 3차원에서 2차원으로 투영하는 데 사용될 수 있고, 여기서 R, t, 및 s는 단계(402)에서 사용된 입력 데이터를 캡처하는 카메라의 외부 파라미터이다.
[0078] 일부 양태들에서, 2차원 포지션 추정은 2차원 공간에서의 하나 이상의 신체 요소 관절 포지션들을 포함한다.
[0079] 비록 도 4에 묘사되지는 않았지만, 방법(400)은 작업 불확실성 추정을 생성하기 위해, 정제된 특징 맵을 기계 학습 모델의 제2 회귀 스테이지를 사용하여 프로세싱하는 단계를 더 포함할 수 있다. 예를 들어, 정제된 특징 맵은 도 1의 124와 같은 불확실성 추정기에 의해 프로세싱될 수 있고, 특히 불확실성 추정기(124)의 완전-연결 계층들(125)에 의해 프로세싱된다.
[0080] 방법(400)은 작업 불확실성 추정에 기반하여 3차원 포지션 추정과 연관된 불확실성을 결정하는 단계; 및 작업 불확실성 추정에 기반하여 2차원 포지션 추정과 연관된 불확실성을 결정하는 단계를 더 포함한다. 예를 들어, 도 1의 불확실성 추정기(124)의 완전-연결 계층들(예를 들어, 다른 회귀 스테이지)은 2차원 및 3차원 포지션 추정들과 연관된 불확실성 추정들(예를 들어, 분산들(130))을 생성할 수 있다.
[0081] 방법(400)은 루프 판별 값을 생성하기 위해, 작업 불확실성 추정을 기계 학습 모델의 루프 판별 스테이지를 사용하여 프로세싱하는 단계 및 루프 판별 값에 기반하여 기계 학습 모델의 프로세싱을 종료할지 여부를 결정하는 단계를 더 포함할 수 있다. 일 예에서, 루프 판별 스테이지는 도 1의 게이팅 함수(128)를 포함하고 루프 판별 값은 소프트맥스 값이다. 위에서 설명된 바와 같이, 일부 경우들에서, 루프 판별 값은 소프트맥스 확률 분포로부터 샘플링될 수 있다.
[0082] 방법(400)은 확장 현실 디바이스의 디스플레이 스크린 상에 2차원 포지션 추정을 디스플레이하는 단계를 더 포함할 수 있다. 일부 경우들에서, 확장 현실 디바이스는 모바일 디바이스, 이를테면, 스마트폰, 또는 스마트 웨어러블 디바이스, 이를테면, 안경 또는 헤드셋, 또는 다른 디바이스들일 수 있다.
[0083] 방법(400)이 하나의 예시적인 방법이고, 다른 방법들이 가능하다는 것이 유의된다. 특히, 다른 예들은 본원에 설명된 다양한 양태들에 따른 방법(400)에 비해 더 적은, 추가의, 및/또는 대안적인 단계들을 포함할 수 있다.
포즈 모델을 훈련하기 위한 예시적인 방법
[0084] 도 5는 도 1 및 도 2와 관련하여 설명된 것과 같은 자세 예측 모델 아키텍처를 훈련시키기 위한 예시적인 방법(500)을 묘사한다.
[0085] 방법(500)은 훈련 데이터를 기계 학습 모델을 사용하여 프로세싱하는 단계(502)에서 시작된다. 일부 경우들에서, 기계 학습 모델은: 특징 맵을 생성하도록 구성된 특징 추출 스테이지(예를 들어, 도 1의 특징 추출기(106) 또는 도 2의 202); 특징 맵 및 어텐션 맵에 기반하여 증강 특징 맵을 프로세싱하도록 그리고 정제된 특징 맵을 생성하도록 구성된 정제 스테이지(예를 들어, 도 1의 정제 모듈(108) 또는 도 2의 204); 정제된 특징 맵에 기반하여 업데이트된 어텐션 맵을 생성하도록 구성된 어텐션 스테이지(예를 들어, 도 1의 어텐션 맵 생성기(110) 및 도 2의 206); 및 다차원 작업 출력 데이터를 생성하기 위해, 정제된 특징 맵을 프로세싱하도록 구성된 제1 회귀 스테이지(예를 들어, 도 1의 포즈 예측기(112)의 완전 연결 계층들(114))을 포함한다.
[0086] 일부 경우들에서, 기계 학습 모델의 정제 스테이지는 복수의 배치 정규화 계층들을 포함하며, 각각의 각자 배치 정규화 계층은 루프 카운트와 연관된다.
[0087] 이어서, 방법(500)은 훈련 손실 함수에 기반하여 훈련 손실을 결정하는 단계(504)로 진행하고, 여기서 훈련 손실 함수(예를 들어, 방정식 13과 관련하여 위에서 설명된 바와 같은 )는 불확실성 손실 성분(예를 들어, 방정식 10과 관련하여 위에서 설명된 바와 같은 ) 및 작업 손실 성분(예를 들어, 방정식 13 및 도 3에 대해 위에서 설명된 바와 같은 )을 포함한다.
[0088] 이어서, 방법(500)은 도 3과 관련하여 묘사된 바와 같이 훈련 손실에 기반하여 기계 학습 모델을 업데이트하는 단계(506)로 진행한다.
[0089] 일부 양태들에서, 기계 학습 모델은 다차원 작업 출력(예를 들어, 도 1의 파라미터들(116))을 프로세싱하도록 그리고 3차원 포지션 추정(예를 들어, 도 1의 3차원 예측들(120)을 생성하도록 구성된 3차원 포지션 생성기(예를 들어, 도 1의 손 모델(118))를 더 포함하고, 작업 손실 성분은 3차원 포지션 추정 에러 성분(예를 들어, 방정식 13에서와 같은 )을 포함한다.
[0090] 일부 양태들에서, 기계 학습 모델은 다차원 작업 출력(예를 들어, 도 1의 116)으로 3차원 포지션 추정을 프로세싱하도록 그리고 2차원 포지션 추정(예를 들어, 도 1의 122)을 생성하도록 구성된 2차원 포지션 생성기를 더 포함하고, 작업 손실 성분은 2차원 포지션 추정 에러 성분(예를 들어, 방정식 13에서와 같은 )을 포함한다.
[0091] 일부 양태들에서, 3차원 포지션 생성기는 도 1의 손 모델(118)과 같은 신체 요소 포즈 모델을 포함한다. 일부 양태들에서, 3차원 포지션 추정은 3차원 공간에서의 하나 이상의 신체 요소 관절 포지션들을 포함하고, 2차원 포지션 추정은 2차원 공간에서의 하나 이상의 신체 요소 관절 포지션들을 포함하고, 다차원 작업 출력 데이터는 회전 행렬(R), 병진(t) 및 스케일링 팩터(s)로 구성되고, 포즈()와 형상()을 투영하는 데 사용될 수 있다.
[0092] 일부 양태들에서, 기계 학습 모델은 작업 불확실성 추정을 생성하도록 구성된 제2 회귀 스테이지(예를 들어, 도 1의 불확실성 추정기(124)의 완전-연결 계층들(125))를 더 포함하고, 여기서 작업 불확실성 추정은, 도 1의 불확실성 추정들(130)과 같은, 불확실성 손실 성분의 3차원 포지션 추정 분산 성분 및 불확실성 손실 성분의 2차원 포지션 추정 분산 성분을 포함한다.
[0093] 일부 양태들에서, 기계 학습 모델은 작업 불확실성 추정을 프로세싱하도록 그리고 루프 판별 값을 결정하도록 구성된 루프 판별 스테이지(예를 들어, 도 1의 게이팅 함수(128))를 더 포함한다.
[0094] 방법(500)이 하나의 예시적인 방법이고 다른 방법들이 가능하다는 것이 유의된다. 특히, 다른 예들은 본원에 설명된 다양한 양태들에 따른 방법(500)에 비해 더 적은, 추가의, 및/또는 대안적인 단계들을 포함할 수 있다.
예시적인 프로세싱 시스템
[0095] 도 6은, 이를테면, 도 3-도 5와 관련하여 본원에 설명된 방법들을 수행하도록 구성될 수 있는 예시적인 프로세싱 시스템(600)을 묘사한다.
[0096] 프로세싱 시스템(600)은 일부 예들에서 멀티-코어 CPU일 수 있는 중앙 프로세싱 유닛(CPU)(602)을 포함한다. CPU(602)에서 실행되는 명령들은 예를 들어 CPU(602)와 연관된 프로그램 메모리로부터 로드될 수 있거나 메모리(624)로부터 로드될 수 있다.
[0097] 프로세싱 시스템(600)은 또한 그래픽 프로세싱 유닛(GPU)(604), 디지털 신호 프로세서(DSP)(606), 신경 프로세싱 유닛(NPU)(608), 멀티미디어 프로세싱 유닛(610), 및 무선 연결 컴포넌트(612)와 같은 특정 기능들에 맞추어진 추가 프로세싱 컴포넌트들을 포함한다.
[0098] 일부 양태들에서, CPU(602), GPU(604), DSP(606) 및 NPU(608) 중 하나 이상은 도 3-도 5와 관련하여 본원에 설명된 방법들을 수행하도록 구성될 수 있다.
[0099] 608과 같은 NPU는 일반적으로, 기계 학습 알고리즘들, 이를테면, 인공 신경망(ANN)들, 심층 신경망(DNN)들, 랜덤 포레스트(RF:random forest)들, 커널 방법들 등을 프로세싱하기 위한 알고리즘들을 실행하기 위한 모든 필요한 제어 및 산술 로직을 구현하도록 구성된 특수 회로이다. NPU는 때때로 대안적으로 신경 신호 프로세서(NSP), 텐서 프로세싱 유닛(TPU), 신경망 프로세서(NNP), 지능형 프로세싱 유닛(IPU) 또는 비전 프로세싱 유닛(VPU)으로 지칭될 수 있다.
[0100] 608과 같은 NPU들은 이미지 분류, 기계 번역, 객체 검출 및 다양한 작업들과 같은 일반적인 기계 학습 작업들의 성능을 가속화하도록 구성될 수 있다. 일부 예들에서, 복수의 NPU들은 시스템 온 칩(SoC)과 같은 단일 칩에서 인스턴스화될 수 있는 반면, 다른 예에서, NPU들은 전용 기계 학습 가속기 디바이스의 일부일 수 있다.
[0101] NPU들은 훈련이나 추론에 최적화될 수 있거나, 일부 경우들에서 둘 모두 사이의 성능 균형을 맞추도록 구성될 수 있다. 훈련과 추론 둘 모두를 수행할 수 있는 NPU들의 경우, 2 개의 작업들은 일반적으로 여전히 독립적으로 수행될 수 있다.
[0102] 훈련을 가속화하도록 설계된 NPU들은 일반적으로 모델 성능을 개선시키기 위해 새로운 모델들의 최적화를 가속시키도록 구성되고, 이는, 기존 데이터세트(종종 라벨이 지정되거나 태그가 지정됨)를 입력하는 것, 데이터세트에 대해 반복하는 것, 그리고 이어서 가중치들 및 바이어스들과 같은 모델 파라미터들을 조정하는 것을 수반하는 고도로 계산 집약적인 동작이다. 일반적으로, 잘못된 예측에 기반한 최적화는 모델의 계층들을 통해 다시 전파되고 예측 에러를 줄이기 위해 구배들을 결정하는 것을 포함한다.
[0103] 추론을 가속화하도록 설계된 NPU들은 일반적으로 전체 모델들에서 동작하도록 구성된다. 따라서 이러한 NPU들은 새로운 데이터 피스를 입력하고 이미 훈련된 모델을 통해 이를 신속하게 프로세싱하여 모델 출력(예를 들어, 추론)을 생성하도록 구성될 수 있다.
[0104] 일부 양태들에서, NPU(608)는 CPU(602), GPU(604) 및/또는 DSP(606) 중 하나 이상의 일부로서 구현될 수 있다.
[0105] 일부 양태들에서, 무선 연결 컴포넌트(612)는 예를 들어, 3세대(3G) 연결, 4세대(4G) 연결(예를 들어, 4G LTE), 5세대 연결(예를 들어, 5G 또는 NR), Wi-Fi 연결성, 블루투스 연결성, 및 다른 무선 데이터 전송 표준들을 위한 하위컴포넌트들을 포함할 수 있다. 무선 연결 프로세싱 컴포넌트(612)는 하나 이상의 안테나(614)에 추가로 연결된다.
[0106] 프로세싱 시스템(600)은 또한 임의의 방식의 센서와 연관된 하나 이상의 센서 프로세싱 유닛들(616), 임의의 방식의 이미지 센서와 연관된 하나 이상의 이미지 신호 프로세서(ISP)들(618), 및/또는 위성 기반 포지셔닝 확인 시스템 컴포넌트들(예를 들어, GPS 또는 GLONASS) 및 관성 포지셔닝 시스템 컴포넌트들을 포함할 수 있는 네비게이션 프로세서(620)를 포함할 수 있다.
[0107] 프로세싱 시스템(600)은 또한 스크린들, 터치 감지 표면들(터치 감지 디스플레이들을 포함), 물리적 버튼들, 스피커들, 마이크들 등과 같은 하나 이상의 입력 및/또는 출력 디바이스들(622)을 포함할 수 있다.
[0108] 일부 예들에서, 프로세싱 시스템(600)의 프로세서들 중 하나 이상은 ARM 또는 RISC-V 명령 세트에 기반할 수 있다.
[0109] 프로세싱 시스템(600)은 또한 동적 랜덤 액세스 메모리, 플래시 기반 정적 메모리 등과 같은 하나 이상의 정적 및/또는 동적 메모리들을 나타내는 메모리(624)를 포함한다. 이 예에서, 메모리(624)는 프로세싱 시스템(600)의 전술한 컴포넌트들 중 하나 이상에 의해 실행될 수 있는 컴퓨터-실행가능 컴포넌트들을 포함한다.
[0110] 특히, 이 예에서, 메모리(624)는 특징 추출 컴포넌트(624A), 정제 컴포넌트(624B), 어텐션 컴포넌트(624C), 포즈 예측 컴포넌트(624D), 불확실성 추정 컴포넌트(624E), 게이팅 컴포넌트(626F), 훈련 컴포넌트(624G), 추론 컴포넌트(624H) 및 모델 파라미터들(624I)(예를 들어 가중치들, 바이어스들 및 다른 기계 학습 모델 파라미터들)을 포함한다. 묘사된 컴포넌트들 중 하나 이상뿐만 아니라, 묘사되지 않은 다른 컴포넌트들은 본원에 설명된 방법들의 다양한 양태들을 수행하도록 구성될 수 있다.
[0111] 일 예에서, 특징 추출 컴포넌트(624A)는 도 1의 특징 추출기(106) 및 도 2의 202에 의해 구현될 수 있고; 정제 컴포넌트(624B)는 도 1의 정제 모듈(108) 및 도 2의 204에 의해 구현될 수 있고; 어텐션 컴포넌트(624C)는 도 1의 어텐션 맵 생성기(110) 및 도 2의 206에 의해 구현될 수 있고; 포즈 예측 컴포넌트(624D)는 도 1의 포즈 예측기(112)에 의해 구현될 수 있고; 불확실성 추정 컴포넌트(624E)는 도 1의 언더트레이닝 추정기(undertraining estimator)(124)에 의해 구현될 수 있고; 게이팅 컴포넌트(626F)는 도 1의 게이팅 함수(128)에 의해 구현될 수 있다. 추가로, 훈련 컴포넌트(624G)는 일부 예들에서 알고리즘(300)을 구현할 수 있다.
[0112] 일반적으로, 프로세싱 시스템(600) 및/또는 그 컴포넌트들은 본원에 설명된 방법들을 수행하도록 구성될 수 있다.
[0113] 특히, 다른 양태들에서, 프로세싱 시스템(600)의 양태들은 프로세싱 시스템(600)이 서버 컴퓨터 등인 경우와 같이 생략될 수 있다. 예를 들어, 멀티미디어 컴포넌트(610), 무선 연결(612), 센서들(616), ISP들(618) 및/또는 내비게이션 컴포넌트(620)는 다른 양태들에서 생략될 수 있다. 추가로, 프로세싱 시스템(600)의 양태들은 분산될 수 있다.
[0114] 도 6이 단지 하나의 예이고, 다른 예들에서, 더 적은, 추가의 및/또는 대체 컴포넌트들을 갖는 대안적인 프로세싱 시스템이 사용될 수 있다는 것이 유의된다.
예시적인 조항들
[0115] 구현 예들은 번호가 매겨진 다음 조항들에 설명된다:
[0116] 조항 1: 방법으로서, 특징 맵을 생성하기 위해, 입력 데이터를 기계 학습 모델의 특징 추출 스테이지를 사용하여 프로세싱하는 단계; 증강 특징 맵을 생성하기 위해, 특징 맵에 어텐션 맵을 적용하는 단계; 정제된 특징 맵을 생성하기 위해, 증강 특징 맵을 기계 학습 모델의 정제 스테이지를 사용하여 프로세싱하는 단계; 다차원 작업 출력 데이터를 생성하기 위해, 정제된 특징 맵을 기계 학습 모델의 제1 회귀 스테이지를 사용하여 프로세싱하는 단계; 및 업데이트된 어텐션 맵을 생성하기 위해, 정제된 특징 데이터를 기계 학습 모델의 어텐션 스테이지를 사용하여 프로세싱하는 단계를 포함한다.
[0117] 조항 2: 조항 1에 있어서, 3차원 포지션 추정을 생성하기 위해, 다차원 작업 출력 데이터를 3차원 포지션 생성기를 사용하여 프로세싱하는 단계를 더 포함한다.
[0118] 조항 3: 조항 2에 있어서, 2차원 포지션 추정을 생성하기 위해, 3차원 포지션 추정을 다차원 작업 출력 데이터를 사용하여 프로세싱하는 단계를 더 포함한다.
[0119] 조항 4: 조항 3에 있어서, 3차원 포지션 생성기는 신체 요소 포즈 모델을 포함한다.
[0120] 조항 5: 조항 4에 있어서, 3차원 포지션 추정은 3차원 공간에서의 하나 이상의 신체 요소 관절 포지션들을 포함하고, 2차원 포지션 추정은 2차원 공간에서의 하나 이상의 신체 요소 관절 포지션들을 포함하고, 다차원 작업 출력 데이터는 회전 추정, 병진 추정, 또는 스케일링 추정 중 하나 이상을 포함한다.
[0121] 조항 6: 조항 5에 있어서, 신체 요소 포즈 모델은 손 모델을 포함한다.
[0122] 조항 7: 조항 1 내지 조항 6 중 어느 한 조항에 있어서, 작업 불확실성 추정을 생성하기 위해, 정제된 특징 맵을 기계 학습 모델의 제2 회귀 스테이지를 사용하여 프로세싱하는 단계를 더 포함한다.
[0123] 조항 8: 조항 7에 있어서, 작업 불확실성 추정에 기반하여 3차원 포지션 추정과 연관된 불확실성을 결정하는 단계; 및 작업 불확실성 추정에 기반하여 2차원 포지션 추정과 연관된 불확실성을 결정하는 단계를 더 포함한다.
[0124] 조항 9: 조항 7 또는 조항 8에 있어서, 루프 판별 값을 생성하기 위해, 작업 불확실성 추정을 기계 학습 모델의 루프 판별 스테이지를 사용하여 프로세싱하는 단계; 및 루프 판별 값에 기반하여 기계 학습 모델의 프로세싱을 종료할지 여부를 결정하는 단계를 더 포함한다.
[0125] 조항 10: 조항 1 내지 조항 9 중 어느 한 조항에 있어서, 증강 특징 맵을 기계 학습 모델의 정제 스테이지를 사용하여 프로세싱하는 것은 배치 정규화 계층을 증강 특징 맵에 적용하는 것을 포함하고, 배치 정규화 계층은 루프 카운트에 기반하여 복수의 배치 정규화 계층으로부터 선택된다.
[0126] 조항 11: 조항 5에 있어서, 확장 현실 디바이스의 디스플레이 스크린 상에 2차원 포지션 추정을 디스플레이하는 단계를 더 포함한다.
[0127] 조항 12: 조항 9에 있어서, 루프 판별 값에 기반하여 기계 학습 모델의 프로세싱을 종료하도록 결정하는 단계를 더 포함한다
[0128] 조항 13: 조항 9에 있어서, 루프 판별 값에 기반하여 기계 학습 모델의 프로세싱을 종료하지 않는 것으로 결정하는 단계; 및 루프 카운트에 기반하여 기계 학습 모델의 프로세싱을 종료하도록 결정하는 단계를 더 포함한다.
[0129] 조항 14: 조항 1에 있어서, 훈련 손실 함수에 기반하여 훈련 손실을 결정하는 단계 ― 훈련 손실 함수는: 불확실성 손실 성분; 및 작업 손실 성분을 포함함 ―; 및 훈련 손실에 기반하여 기계 학습 모델을 업데이트하는 단계를 더 포함한다.
[0130] 조항 15: 기계 학습 모델을 훈련시키는 방법으로서, 훈련 데이터를 기계 학습 모델을 사용하여 프로세싱하는 단계 ― 기계 학습 모델은 특징 맵을 생성하도록 구성된 특징 추출 스테이지; 특징 맵과 어텐션 맵에 기반하여 증강 특징 맵을 프로세싱하도록 그리고 정제된 특징 맵을 생성하도록 구성된 정제 스테이지; 정제된 특징 맵으로 구성되고 업데이트된 어텐션 맵을 생성하도록 구성된 어텐션 스테이지; 및 다차원 작업 출력 데이터를 생성하기 위해, 정제된 특징 맵을 프로세싱하도록 구성된 제1 회귀 스테이지를 포함함 ―; 훈련 데이터를 프로세싱하는 단계; 훈련 손실 함수에 기반하여 훈련 손실을 결정하는 단계 ― 훈련 손실 함수는 불확실성 손실 성분; 및 작업 손실 성분을 포함함 ―; 훈련 손실을 결정하는 단계; 및 훈련 손실에 기반하여 기계 학습 모델을 업데이트하는 단계를 포함한다.
[0131] 조항 16: 조항 15에 있어서, 기계 학습 모델은 다차원 작업 출력을 프로세싱하도록 그리고 3차원 포지션 추정을 생성하도록 구성된 3차원 포지션 생성기를 더 포함하고, 작업 손실 성분은 3차원 포지션 추정 에러 성분을 포함한다.
[0132] 조항 17: 조항 15에 있어서, 기계 학습 모델은 3차원 포지션 추정을 다차원 작업 출력을 사용하여 프로세싱하도록 그리고 2차원 포지션 추정을 생성하도록 구성된 2차원 포지션 생성기를 더 포함하고, 작업 손실 성분은 2차원 포지션 추정 에러 성분을 포함한다.
[0133] 조항 18: 조항 17에 있어서, 3차원 포지션 생성기는 신체 요소 포즈 모델을 포함한다.
[0134] 조항 19: 조항 18에 있어서, 3차원 포지션 추정은 3차원 공간에서의 하나 이상의 신체 요소 관절 포지션들을 포함하고, 2차원 포지션 추정은 2차원 공간에서의 하나 이상의 신체 요소 관절 포지션들을 포함하고, 다차원 작업 출력 데이터는 회전 추정, 병진 추정, 또는 스케일링 추정 중 하나 이상을 포함한다.
[0135] 조항 20: 조항 18 또는 조항 19에 있어서, 신체 요소 포즈 모델은 손 모델을 포함한다.
[0136] 조항 21: 조항 15 내지 조항 20 중 어느 한 조항에 있어서, 기계 학습 모델은, 작업 불확실성 추정을 생성하도록 구성된 제2 회귀 스테이지를 더 포함하고, 작업 불확실성 추정은, 불확실성 손실 성분의 3차원 포지션 추정 분산 성분; 불확실성 손실 성분의 2차원 포지션 추정 분산 성분을 포함한다.
[0137] 조항 22: 조항 21에 있어서, 기계 학습 모델은 작업 불확실성 추정을 프로세싱하도록 그리고 루프 판별 값을 결정하도록 구성된 루프 판별 스테이지를 더 포함한다.
[0138] 조항 23: 조항 15 내지 조항 22 중 어느 한 조항에 있어서, 기계 학습 모델의 정제 스테이지는 증강 특징 맵에 기반하여 파라미터화된 배치 정규화 계층을 포함한다.
[0139] 조항 24: 프로세싱 시스템으로서, 컴퓨터-실행가능 명령들을 포함하는 메모리; 컴퓨터-실행가능 명령들을 실행하고 그리고 프로세싱 시스템으로 하여금, 조항 1 내지 조항 23 중 어느 한 조항에 따른 방법을 수행하게 하도록 구성된 하나 이상의 프로세서들을 포함한다.
[0140] 조항 25: 프로세싱 시스템으로서, 조항 1 내지 조항 23 중 어느 한 조항에 따른 방법을 수행하기 위한 수단을 포함한다.
[0141] 조항 26: 컴퓨터-실행가능 명령들을 포함하는 비일시적 컴퓨터-판독가능 매체로서, 컴퓨터-실행가능 명령들은, 프로세싱 시스템의 하나 이상의 프로세서들에 의해 실행될 때, 프로세싱 시스템으로 하여금, 조항 1 내지 조항 23 중 어느 한 조항에 따른 방법을 수행하게 한다.
[0142] 조항 27: 조항 1 내지 조항 23 중 어느 한 조항에 따른 방법을 수행하기 위한 코드를 포함하는 컴퓨터-판독가능 저장 매체에 실현된 컴퓨터 프로그램 제품.
추가 고려사항들
[0143] 이전 설명은 통상의 기술자가 본원에 설명된 다양한 양태들을 실시할 수 있도록 제공된다. 본원에 논의된 예들은 청구범위에서 설명된 범위, 적용성, 또는 양태들을 제한하지 않는다. 이들 양태들에 대한 다양한 수정들은 통상의 기술자들에게 쉽게 명백할 것이고, 본원에서 정의된 일반적인 원리들은 다른 양태들에 적용될 수 있다. 예를 들어, 변화들은 본 개시내용의 범위를 본 개시내용을 벗어나지 않고 논의된 요소들의 기능 및 배열에서 이루어질 수 있다. 다양한 예들은 다양한 절차들 또는 컴포넌트들을 적절하게 생략, 대체 또는 추가할 수 있다. 예를 들어, 설명된 방법들은 설명된 것과 다른 순서로 수행될 수 있고, 다양한 단계들은 추가, 생략 또는 조합될 수 있다. 또한, 일부 예들에 대해 설명된 특징들은 일부 다른 예들에서 결합될 수 있다. 예를 들어, 장치가 구현될 수 있거나 방법이 본원에서 설명된 임의의 수의 양태들을 사용하여 실시될 수 있다. 게다가, 본 개시내용의 범위는 본원에 개시된 개시의 다양한 양태들에 더하여 또는 그 외의 다른 구조, 기능, 또는 구조 및 기능을 사용하여 실시되는 그러한 장치 또는 방법을 포함하도록 의도된다. 본원에 개시된 본 개시내용의 임의의 양태가 청구항의 하나 이상의 요소들에 의해 실현될 수 있음이 이해되어야 한다.
[0144] 본원에 사용된 바와 같이, "예시적인"이라는 단어는 "예시적인 역할을 하는, 사례, 또는 예시"를 의미한다. 본원에서 "예시적인" 것으로 설명된 임의의 양태가 반드시 다른 양태들에 비해 바람직하거나 유리한 것으로 해석되지 않는다.
[0145] 본원에서 사용되는 바와 같이, 항목들의 목록의 "적어도 하나"를 언급하는 문구는 단일 멤버들을 포함하여 이러한 항목들의 임의의 조합을 지칭한다. 예로서, "a, b 또는 c 중 적어도 하나"는 a, b, c, a-b, a-c, b-c 및 a-b-c뿐만 아니라, 다수의 동일한 요소들(예를 들어, a-a, a-a-a, a-a-b, a-a-c, a-b-b, a-c-c, b-b, b-b-b, b-b-c, c-c, 및 c-c-c 또는 a, b 및 c의 다른 순서)과의 임의의 조합을 커버하도록 의도된다.
[0146] 본원에서 사용되는 바와 같이, "결정하는"이라는 용어는 매우 다양한 동작들을 포함한다. 예를 들어, "결정하는 것"은 계산, 컴퓨팅, 프로세싱, 도출, 조사, 조회(예를 들어, 테이블, 데이터베이스 또는 다른 데이터 구조에서 조회), 확인 등을 포함할 수 있다. 또한 "결정하는 것"은 수신(예를 들어, 정보 수신), 액세스(예를 들어, 메모리의 데이터 액세스) 등을 포함할 수 있다. 또한, "결정하는 것"은 해결, 선택, 선정, 확립 등을 포함할 수 있다.
[0147] 본원에 개시된 방법들은 방법들을 달성하기 위한 하나 이상의 단계들 또는 동작들을 포함한다. 방법 단계들 및/또는 동작들은 청구범위의 범위를 벗어나지 않고 서로 교환될 수 있다. 즉, 단계들 또는 동작들의 특정 순서가 지정되지 않는 한, 특정 단계들 및/또는 동작들의 순서 및/또는 사용은 청구범위에서 벗어나지 않고 수정될 수 있다. 추가로, 위에서 설명된 방법들의 다양한 동작들은 대응 기능들을 수행할 수 있는 임의의 적합한 수단에 의해 수행될 수 있다. 수단은 회로, ASIC(Application Specific Integrated Circuit) 또는 프로세서를 포함(그러나 이에 제한되지 않음)하는 다양한 하드웨어 및/또는 소프트웨어 컴포넌트(들) 및/또는 모듈(들)을 포함할 수 있다. 일반적으로, 도면들에 예시된 동작들이 있는 경우, 이들 동작들은 유사한 번호가 지정된 상응하는 대응-수단-기능 컴포넌트들을 가질 수 있다.
[0148] 다음 청구범위는 본원에 도시된 양태들로 제한되는 것이 아니라, 청구범위의 언어와 일치하는 전체 범위에 따라야 한다. 청구범위 내에서, 단수의 요소에 대한 참조는 구체적으로 언급되지 않는 한 "하나 및 단지 하나만"을 의미하는 것이 아니라, "하나 이상"을 의미하도록 의도된다. 달리 구체적으로 언급하지 않는 한, "일부"라는 용어는 하나 이상을 의미한다. 어떠한 청구 요소도 "~을 위한 수단"이라는 문구를 사용하여 명시적으로 언급되지 않는 한, 또는 방법 청구의 경우, 요소가 "~를 위한 단계"라는 문구를 사용하여 언급되지 않는 한, 이 청구 요소가 35 U.S.C. §112(F)의 조항 하에서 해석되지 않아야 한다. 통상의 기술자들에게 알려지거나 나중에 알려지게 되는, 본 개시내용 전반에 걸쳐 설명된 다양한 양태들의 요소들에 대한 모든 구조적 및 기능적 등가물들은 명백히 참조로 본원에 포함되고 청구범위에 포함되도록 의도된다. 더욱이, 본원에 개시된 어떤 것도 그러한 개시내용이 청구범위에 명시적으로 인용되었는지 여부에 관계없이 대중에게 제공되도록 의도되지 않는다.

Claims (30)

  1. 방법으로서,
    특징 맵(feature map)을 생성하기 위해, 입력 데이터를 기계 학습 모델의 특징 추출 스테이지를 사용하여 프로세싱하는 단계;
    증강 특징 맵(augmented feature map)을 생성하기 위해, 상기 특징 맵에 어텐션 맵(attention map)을 적용하는 단계;
    정제된 특징 맵을 생성하기 위해, 상기 증강 특징 맵을 상기 기계 학습 모델의 정제 스테이지를 사용하여 프로세싱하는 단계;
    다차원 작업 출력 데이터(multi-dimensional task output data)를 생성하기 위해, 상기 정제된 특징 맵을 상기 기계 학습 모델의 제1 회귀 스테이지를 사용하여 프로세싱하는 단계; 및
    업데이트된 어텐션 맵을 생성하기 위해, 정제된 특징 데이터를 상기 기계 학습 모델의 어텐션 스테이지를 사용하여 프로세싱하는 단계
    를 포함하는, 방법.
  2. 제1 항에 있어서,
    3차원 포지션 추정을 생성하기 위해, 상기 다차원 작업 출력 데이터를 3차원 포지션 생성기를 사용하여 프로세싱하는 단계를 더 포함하는, 방법.
  3. 제2 항에 있어서,
    2차원 포지션 추정을 생성하기 위해, 상기 3차원 포지션 추정을 상기 다차원 작업 출력 데이터를 사용하여 프로세싱하는 단계를 더 포함하는, 방법.
  4. 제3 항에 있어서,
    상기 3차원 포지션 생성기는 신체 요소 포즈 모델을 포함하는, 방법.
  5. 제4 항에 있어서,
    상기 3차원 포지션 추정은 3차원 공간에서의 하나 이상의 신체 요소 관절 포지션(body element joint position)들을 포함하고,
    상기 2차원 포지션 추정은 2차원 공간에서의 하나 이상의 신체 요소 관절 포지션들을 포함하고,
    상기 다차원 작업 출력 데이터는,
    회전 추정,
    병진 추정, 또는
    스케일링 추정
    중 하나 이상을 포함하는, 방법.
  6. 제5 항에 있어서,
    상기 신체 요소 포즈 모델은 손 모델을 포함하는, 방법.
  7. 제5 항에 있어서,
    작업 불확실성 추정을 생성하기 위해, 상기 정제된 특징 맵을 상기 기계 학습 모델의 제2 회귀 스테이지를 사용하여 프로세싱하는 단계를 더 포함하는, 방법.
  8. 제7 항에 있어서,
    상기 작업 불확실성 추정에 기반하여 상기 3차원 포지션 추정과 연관된 불확실성을 결정하는 단계; 및
    상기 작업 불확실성 추정에 기반하여 상기 2차원 포지션 추정과 연관된 불확실성을 결정하는 단계
    를 더 포함하는, 방법.
  9. 제7 항에 있어서,
    루프 판별 값(loop decision value)을 생성하기 위해, 상기 작업 불확실성 추정을 상기 기계 학습 모델의 루프 판별 스테이지를 사용하여 프로세싱하는 단계;
    상기 루프 판별 값에 기반하여 상기 기계 학습 모델의 프로세싱을 종료할지 여부를 결정하는 단계
    를 더 포함하는, 방법.
  10. 제1 항에 있어서,
    상기 증강 특징 맵을 상기 기계 학습 모델의 정제 스테이지를 사용하여 프로세싱하는 단계는 배치 정규화 계층(batch normalization layer)을 상기 증강 특징 맵에 적용하는 단계를 포함하고,
    상기 배치 정규화 계층은 루프 카운트(loop count)에 기반하여 복수의 배치 정규화 계층들로부터 선택되는, 방법.
  11. 제5 항에 있어서,
    확장 현실(extended reality) 디바이스의 디스플레이 스크린 상에 상기 2차원 포지션 추정을 디스플레이하는 단계를 더 포함하는, 방법.
  12. 제9 항에 있어서,
    상기 루프 판별 값에 기반하여 상기 기계 학습 모델의 프로세싱을 종료하도록 결정하는 단계를 더 포함하는, 방법.
  13. 제9 항에 있어서,
    상기 루프 판별 값에 기반하여 상기 기계 학습 모델의 프로세싱을 종료하지 않도록 결정하는 단계; 및
    루프 카운트에 기반하여 상기 기계 학습 모델의 프로세싱을 종료하도록 결정하는 단계
    를 더 포함하는, 방법.
  14. 제1 항에 있어서,
    훈련 손실 함수에 기반하여 훈련 손실을 결정하는 단계 ― 상기 훈련 손실 함수는,
    불확실성 손실 성분; 및
    작업 손실 성분을 포함함 ―; 및
    상기 훈련 손실에 기반하여 상기 기계 학습 모델을 업데이트하는 단계
    를 더 포함하는, 방법.
  15. 프로세싱 시스템으로서,
    컴퓨터-실행가능 명령들을 포함하는 메모리; 및
    상기 컴퓨터-실행가능 명령들을 실행하도록 구성된 하나 이상의 프로세서들
    을 포함하고,
    상기 하나 이상의 프로세서들은, 상기 프로세싱 시스템으로 하여금,
    특징 맵을 생성하기 위해, 입력 데이터를 기계 학습 모델의 특징 추출 스테이지를 사용하여 프로세싱하게 하고;
    증강 특징 맵을 생성하기 위해, 상기 특징 맵에 어텐션 맵을 적용하게 하고;
    정제된 특징 맵을 생성하기 위해, 상기 증강 특징 맵을 상기 기계 학습 모델의 정제 스테이지를 사용하여 프로세싱하게 하고;
    다차원 작업 출력 데이터를 생성하기 위해, 상기 정제된 특징 맵을 상기 기계 학습 모델의 제1 회귀 스테이지를 사용하여 프로세싱하게 하고; 그리고
    업데이트된 어텐션 맵을 생성하기 위해, 정제된 특징 데이터를 상기 기계 학습 모델의 어텐션 스테이지를 사용하여 프로세싱하게 하도록
    구성되는, 프로세싱 시스템.
  16. 제15 항에 있어서,
    상기 하나 이상의 프로세서들은, 상기 프로세싱 시스템으로 하여금, 3차원 포지션 추정을 생성하기 위해, 상기 다차원 작업 출력 데이터를 3차원 포지션 생성기를 사용하여 프로세싱하게 하도록 추가로 구성되는, 프로세싱 시스템.
  17. 제16 항에 있어서,
    상기 하나 이상의 프로세서들은, 상기 프로세싱 시스템으로 하여금, 2차원 포지션 추정을 생성하기 위해, 상기 3차원 포지션 추정을 상기 다차원 작업 출력 데이터를 사용하여 프로세싱하게 하도록 추가로 구성되는, 프로세싱 시스템.
  18. 제17 항에 있어서,
    상기 3차원 포지션 생성기는 신체 요소 포즈 모델을 포함하는, 프로세싱 시스템.
  19. 제18 항에 있어서,
    상기 3차원 포지션 추정은 3차원 공간에서의 하나 이상의 신체 요소 관절 포지션들을 포함하고,
    상기 2차원 포지션 추정은 2차원 공간에서의 하나 이상의 신체 요소 관절 포지션들을 포함하고, 그리고
    상기 다차원 작업 출력 데이터는,
    회전 추정,
    병진 추정, 또는
    스케일링 추정
    중 하나 이상을 포함하는, 프로세싱 시스템.
  20. 제19 항에 있어서,
    상기 신체 요소 포즈 모델은 손 모델을 포함하는, 프로세싱 시스템.
  21. 제16 항에 있어서,
    상기 하나 이상의 프로세서들은, 상기 프로세싱 시스템으로 하여금, 작업 불확실성 추정을 생성하기 위해, 상기 정제된 특징 맵을 상기 기계 학습 모델의 제2 회귀 스테이지를 사용하여 프로세싱하게 하도록 추가로 구성되는, 프로세싱 시스템.
  22. 제12 항에 있어서,
    상기 하나 이상의 프로세서들은, 상기 프로세싱 시스템으로 하여금,
    상기 작업 불확실성 추정에 기반하여 상기 3차원 포지션 추정과 연관된 불확실성을 결정하게 하고; 그리고
    상기 작업 불확실성 추정에 기반하여 상기 2차원 포지션 추정과 연관된 불확실성을 결정하게 하도록
    추가로 구성되는, 프로세싱 시스템.
  23. 제21 항에 있어서,
    상기 하나 이상의 프로세서들은, 상기 프로세싱 시스템으로 하여금,
    루프 판별 값을 생성하기 위해, 상기 작업 불확실성 추정을 상기 기계 학습 모델의 루프 판별 스테이지를 사용하여 프로세싱하게 하고; 그리고
    상기 루프 판별 값에 기반하여 상기 기계 학습 모델의 프로세싱을 종료할지 여부를 결정하게 하도록
    추가로 구성되는, 프로세싱 시스템.
  24. 제15 항에 있어서,
    상기 증강 특징 맵을 상기 기계 학습 모델의 정제 스테이지를 사용하여 프로세싱하기 위해, 상기 하나 이상의 프로세서들은, 상기 프로세싱 시스템으로 하여금, 배치 정규화 계층을 상기 증강 특징 맵에 적용하게 하도록 추가로 구성되고, 그리고
    상기 배치 정규화 계층은 루프 카운트에 기반하여 복수의 배치 정규화 계층들로부터 선택되는, 프로세싱 시스템.
  25. 제19 항에 있어서,
    상기 하나 이상의 프로세서들은, 상기 프로세싱 시스템으로 하여금, 확장 현실 디바이스의 디스플레이 스크린 상에 상기 2차원 포지션 추정을 디스플레이하게 하도록 추가로 구성되는, 프로세싱 시스템.
  26. 제23 항에 있어서,
    상기 하나 이상의 프로세서들은, 상기 프로세싱 시스템으로 하여금, 상기 루프 판별 값에 기반하여 상기 기계 학습 모델의 프로세싱을 종료하도록 결정하게 하도록 추가로 구성되는, 프로세싱 시스템.
  27. 제23 항에 있어서,
    상기 하나 이상의 프로세서들은, 상기 프로세싱 시스템으로 하여금,
    상기 루프 판별 값에 기반하여 상기 기계 학습 모델의 프로세싱을 종료하지 않도록 결정하게 하고; 그리고
    루프 카운트에 기반하여 상기 기계 학습 모델의 프로세싱을 종료하도록 결정하게 하도록
    추가로 구성되는, 프로세싱 시스템.
  28. 제15 항에 있어서,
    상기 하나 이상의 프로세서들은, 상기 프로세싱 시스템으로 하여금,
    훈련 손실 함수에 기반하여 훈련 손실을 결정하게 하고 ― 상기 훈련 손실 함수는,
    불확실성 손실 성분; 및
    작업 손실 성분을 포함함 ― ; 그리고
    상기 훈련 손실에 기반하여 상기 기계 학습 모델을 업데이트하게 하도록
    추가로 구성되는, 프로세싱 시스템.
  29. 컴퓨터-실행가능 명령들을 포함하는 비일시적 컴퓨터-판독가능 저장 매체로서,
    상기 컴퓨터-실행가능 명령들은, 프로세싱 시스템의 하나 이상의 프로세서들에 의해 실행될 때, 상기 프로세싱 시스템으로 하여금, 방법을 수행하게 하고,
    상기 방법은,
    특징 맵을 생성하기 위해, 입력 데이터를 기계 학습 모델의 특징 추출 스테이지를 사용하여 프로세싱하는 단계;
    증강 특징 맵을 생성하기 위해, 상기 특징 맵에 어텐션 맵을 적용하는 단계;
    정제된 특징 맵을 생성하기 위해, 상기 증강 특징 맵을 상기 기계 학습 모델의 정제 스테이지를 사용하여 프로세싱하는 단계;
    다차원 작업 출력 데이터를 생성하기 위해, 상기 정제된 특징 맵을 상기 기계 학습 모델의 제1 회귀 스테이지를 사용하여 프로세싱하는 단계; 및
    업데이트된 어텐션 맵을 생성하기 위해, 정제된 특징 데이터를 상기 기계 학습 모델의 어텐션 스테이지를 사용하여 프로세싱하는 단계
    를 포함하는, 컴퓨터-실행가능 명령들을 포함하는, 비일시적 컴퓨터-판독가능 저장 매체.
  30. 프로세싱 시스템으로서,
    특징 맵을 생성하기 위해, 입력 데이터를 기계 학습 모델의 특징 추출 스테이지를 사용하여 프로세싱하기 위한 수단;
    증강 특징 맵을 생성하기 위해, 상기 특징 맵에 어텐션 맵을 적용하기 위한 수단;
    정제된 특징 맵을 생성하기 위해, 상기 증강 특징 맵을 상기 기계 학습 모델의 정제 스테이지를 사용하여 프로세싱하기 위한 수단;
    다차원 작업 출력 데이터를 생성하기 위해, 상기 정제된 특징 맵을 상기 기계 학습 모델의 제1 회귀 스테이지를 사용하여 프로세싱하기 위한 수단; 및
    업데이트된 어텐션 맵을 생성하기 위해, 정제된 특징 데이터를 상기 기계 학습 모델의 어텐션 스테이지를 사용하여 프로세싱하기 위한 수단
    을 포함하는, 프로세싱 시스템.
KR1020237030028A 2021-03-16 2022-03-15 반복적 정제를 통한 효율적인 포즈 추정 KR20230156330A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/203,607 2021-03-16
US17/203,607 US11908155B2 (en) 2021-03-16 2021-03-16 Efficient pose estimation through iterative refinement
PCT/US2022/071171 WO2022198210A1 (en) 2021-03-16 2022-03-15 Efficient pose estimation through iterative refinement

Publications (1)

Publication Number Publication Date
KR20230156330A true KR20230156330A (ko) 2023-11-14

Family

ID=81326030

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237030028A KR20230156330A (ko) 2021-03-16 2022-03-15 반복적 정제를 통한 효율적인 포즈 추정

Country Status (7)

Country Link
US (1) US11908155B2 (ko)
EP (1) EP4309081A1 (ko)
JP (1) JP2024512344A (ko)
KR (1) KR20230156330A (ko)
CN (1) CN116982059A (ko)
BR (1) BR112023018074A2 (ko)
WO (1) WO2022198210A1 (ko)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10970518B1 (en) * 2017-11-14 2021-04-06 Apple Inc. Voxel-based feature learning network
US10733431B2 (en) * 2017-12-03 2020-08-04 Facebook, Inc. Systems and methods for optimizing pose estimation
US11403800B1 (en) * 2020-07-13 2022-08-02 Amazon Technologies, Inc. Image generation from 3D model using neural network
US20220139251A1 (en) * 2020-11-03 2022-05-05 At&T Intellectual Property I, L.P. Motivational Extended Reality

Also Published As

Publication number Publication date
WO2022198210A1 (en) 2022-09-22
BR112023018074A2 (pt) 2023-10-03
US11908155B2 (en) 2024-02-20
JP2024512344A (ja) 2024-03-19
CN116982059A (zh) 2023-10-31
US20220301216A1 (en) 2022-09-22
EP4309081A1 (en) 2024-01-24

Similar Documents

Publication Publication Date Title
Oh et al. Crowd counting with decomposed uncertainty
CN112308200B (zh) 神经网络的搜索方法及装置
WO2016054779A1 (en) Spatial pyramid pooling networks for image processing
US11030750B2 (en) Multi-level convolutional LSTM model for the segmentation of MR images
CN114255361A (zh) 神经网络模型的训练方法、图像处理方法及装置
CN111047544B (zh) 一种基于非线性退化模型的饱和图像去模糊方法
CN112330684A (zh) 对象分割方法、装置、计算机设备及存储介质
JP2017174414A (ja) 画像の調整
CN117037215A (zh) 人体姿态估计模型训练方法、估计方法、装置及电子设备
JP7188856B2 (ja) 動的な画像解像度評価
WO2021156511A1 (en) Recurrent unit for generating or processing a sequence of images
CN117457062A (zh) 分子位置确定方法、装置、电子设备及存储介质
CN116434303A (zh) 基于多尺度特征融合的人脸表情捕捉方法、装置及介质
US20230154005A1 (en) Panoptic segmentation with panoptic, instance, and semantic relations
KR20230156330A (ko) 반복적 정제를 통한 효율적인 포즈 추정
CN115294361A (zh) 一种特征提取的方法及装置
Läthén et al. Momentum based optimization methods for level set segmentation
Vogel et al. Learning energy based inpainting for optical flow
CN114586065A (zh) 用于分割图像的方法和系统
US20240070928A1 (en) Three-dimensional pose detection based on two-dimensional signature matching
US20230215157A1 (en) Efficient neural-network-based processing of visual content
US20240070892A1 (en) Stereovision annotation tool
US20240161368A1 (en) Regenerative learning to enhance dense prediction
US20230298326A1 (en) Image augmentation method, electronic device and readable storage medium
US20220171959A1 (en) Method and apparatus with image processing