KR20200068545A - 컨벌루션 신경망을 트레이닝하고 트레이닝된 컨벌루션 신경망을 이용하여 비디오의 대상에 의해 수행되는 행동을 분류하기 위한 시스템 및 방법 - Google Patents

컨벌루션 신경망을 트레이닝하고 트레이닝된 컨벌루션 신경망을 이용하여 비디오의 대상에 의해 수행되는 행동을 분류하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20200068545A
KR20200068545A KR1020190037967A KR20190037967A KR20200068545A KR 20200068545 A KR20200068545 A KR 20200068545A KR 1020190037967 A KR1020190037967 A KR 1020190037967A KR 20190037967 A KR20190037967 A KR 20190037967A KR 20200068545 A KR20200068545 A KR 20200068545A
Authority
KR
South Korea
Prior art keywords
video
key point
training
neural network
convolutional neural
Prior art date
Application number
KR1020190037967A
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 KR20200068545A publication Critical patent/KR20200068545A/ko

Links

Images

Classifications

    • 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/20Movements or behaviour, e.g. gesture recognition
    • 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/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06K9/00718
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/41Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • 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
    • 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/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments

Landscapes

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

Abstract

타겟 비디오에서 대상들에 의해 수행되는 행동들을 분류하기 위해 컨벌루션 신경망을 트레이닝하기 위한 방법은, (a) 상기 비디오의 각 프레임에 대하여, 상기 대상의 각 키 포인트에 대하여, 상기 프레임 내의 상기 키 포인트의 위치 추정치를 나타내는 상기 키 포인트의 히트 맵을 생성하는 단계; (b) 상기 비디오에서 대응하는 프레임의 상대적 시간의 함수로서 각 히트 맵을 컬러화하는 단계; (c) 각 키 포인트에 대하여, 상기 키 포인트의 모든 컬러화된 히트 맵들을 상기 비디오 동안에 상기 키 포인트의 위치 추정치의 변화를 나타내는 적어도 하나의 이미지로 병합하는 단계; 및 상기 비디오 동안에 각 키 포인트의 상기 위치 추정치의 상기 변화를 나타내는 이미지들의 각 트레이닝 비디오와 관련되는 세트들을 입력으로 사용하여 상기 컨벌루션 신경망을 트레이닝하는 단계에 의해 구현된다.

Description

컨벌루션 신경망을 트레이닝하고 트레이닝된 컨벌루션 신경망을 이용하여 비디오의 대상에 의해 수행되는 행동을 분류하기 위한 시스템 및 방법{SYSTEM AND METHOD FOR TRAINING A CONVOLUTIONAL NEURAL NETWORK AND CLASSIFYING AN ACTION PERFORMED BY A SUBJECT IN A VIDEO USING THE TRAINED CONVOLUTIONAL NEURAL NETWORK}
본 발명은 머신 러닝에 관한 것으로서, 더욱 구체적으로는, 행동, 특히, 인간 행동을 분류하기 위해 컨벌루션 신경망을 트레이닝하고 이러한 컨벌루션 신경망을 이용하는 방법에 관한 것이다.
컴퓨터 비전은 컴퓨터들에게 디지털 비디오들로부터의 고급 이해를 제공하고자 노력하는 최신 분야이다. 컴퓨터 비전은 인간의 시각 체계가 할 수 있는 업무들을 자동화하려 한다.
가장 도전적인 업무들 중 하나는 인간의 행동 인식, 즉, 특히 가능성 있는 명단 중에서 인간에 의해 수행되는 행동을 시각적으로 식별하는 능력(분류)이다.
예를 들면, 공공 장소에서의 위협들(예컨대 싸움, 무기 뽑기(drawing) 등), 도움 필요(예컨대, 계단 낙상, 갑작스런 뇌졸증, 공황 등), 또는 예컨대 사람들의 위험한 행동들을 감지하여 속도를 조정할 수 있는 자율 자동차와 같은 로봇들과의 상호 작용을 향상시키는데 유용할 수 있다.
엄청난 양의 비디오들 또는 제안 광고들의 인덱싱(indexing)과 관련하여, 컴퓨터 비전은 편향될 수도 있는 메타데이터뿐만 아니라 비디오의 실제 내용에도 관련성(relevance)을 둘 수 있게끔 할 수 있다.
인간 행동 인식의 어려움은 가능한 행동들이 매우 많고 가변적이라는 점, 및 다른 행동들의 여러 신호들(외형, 움직임, 자세, 객체 등)의 중요성에 기인한다. 또한, 행동들은 다양한 시간적 범위들에 걸쳐 있을 수 있고, 다양한 속도로 수행될 수 있다.
종래에, 컨벌루션 신경망들은 인간의 행동 인식과 관련하여 사용되었다. 컨벌루션 신경망은 신경망의 한 종류로서, 뉴런들 사이의 연결 패턴들은 동물의 시각령(visual cortex)에 의해 영감받은 것이다. 컨벌루션 신경망들이 이미지에서 객체 또는 사람을 인식하는 것을 효과적으로 가능하게 하기 때문에 컨벌루션 신경망은 비디오 처리에 적합하다.
컨벌루션 신경망에 이미 분류된, 즉, 비디오들에서 일어나는 행동들의 라벨들이 제공되는, 비디오들의 트레이닝 세트들을 공급함으로써 컨벌루션 신경망이 트레이닝되는 지도 학습 단계(supervised learning stage) 후에, 컨벌루션 신경망은 입력된 비디오들 (라벨링되지 않은, 특히, 라이브의 폐쇄 회로 텔레비전으로부터의 "새로운(fresh)" 비디오들) 내에서 일부 사람의 행동들을 분류할 수 있다.
인간 행동 인식을 위한, "쿠오 바디스, 행동 인식? 새로운 모델과 동역학 데이터셋"에서 J. Carreira와 A. Zisserman에 의해 개시되는, 한가지 종래 방법은 "2개의 스트림" 방법을 사용하는데, 2개의 분류 스트림(classification stream)은 독립적으로 트레이닝되고 테스트 시간에 결합된다. 첫 번째 분류 스트림은 입력으로서 RGB 데이터를 기록함으로써 비디오의 외형에 대해 동작한다. 두 번째 분류 스트림은 입력으로서 종래 방법들로 계산되고 이미지들로 변환되고 수 개의 프레임들에 걸쳐 스택되는(stacked) 광학적 흐름을 기록한 움직임에 기반한다.
더욱 구체적으로, 전술한 종래 방법은 2차원 컨벌루션 신경망 인플레이션에 기초하는 2개-스트림 인플레이티드(inflated) 3차원 컨벌루션 신경망(매우 깊은 이미지 분류 컨벌루션 신경망들(very deep image classification convolutional neural networks )의 필터들 및 풀링 커널들(pooling kernels)은 3차원으로 확장됨)을 사용한다.
이러한 종래 방법은 일부의 인간 행동들을 인식하지 않기 때문에 종래 방법은 인간 행동 인식의 모든 경우들에 초점을 맞추지 않는다. 더구나, 종래 방법은 트레이닝과 주의 깊은 초기화에 수 일이 필요하다.
따라서, 실질적으로 모든 인간 행동들을 인식하는 인간 행동 인식 방법을 제공하는 것이 바람직하다.
더구나, 실질적으로 모든 인간 행동들을 인식하고 빠르게 트레이닝될 수 있는 인간 행동 인식 방법을 제공하는 것이 바람직하다.
또한, 실질적으로 모든 인간 행동들을 인식하고 빠르게 트레이닝될 수 있지만 상당한 초기화 작업을 필요로 하지 않는 인간 행동 인식 방법을 제공하는 것이 바람직하다.
게다가, 컨벌루션 신경망들을 사용하고 빠르게 트레이닝 될 수 있지만 상당한 초기화 작업을 필요로 하지 않는 인간 행동 인식 방법을 제공하는 것이 바람직하다.
데이터 프로세서를 사용하여, 각각 이미 분류된 행동들을 수행하는 대상을 묘사하는 복수의 트레이닝 비디오들을 이용하여, 타겟 비디오에서 대상들에 의해 수행되는 행동들을 분류하기 위해 컨벌루션 신경망을 트레이닝하기 위한 방법은 (a) 상기 트레이닝 비디오의 각 프레임(
Figure pat00001
)에 대하여, 상기 대상의 각 키 포인트(
Figure pat00002
)에 대하여, 상기 프레임(t) 내의 상기 키 포인트(j)의 위치 추정치를 나타내는 상기 키 포인트(j)의 히트 맵(
Figure pat00003
)을 생성하는 단계; (b) 상기 비디오에서 대응하는 프레임(t)의 상대적 시간의 함수로서 각 히트 맵(
Figure pat00004
)을 컬러화하는 단계; (c) 각 키 포인트(
Figure pat00005
)에 대하여, 상기 키 포인트(j)의 모든 컬러화된 히트 맵들(
Figure pat00006
)을 상기 비디오 동안에 상기 키 포인트(j)의 위치 추정치의 변화를 나타내는 적어도 하나의 이미지(Sj, Uj, Ij, Nj)로 병합하는 단계; 및 (d) 상기 비디오 동안에 각 키 포인트(j)의 상기 위치 추정치의 상기 변화를 나타내는 이미지들(Sj, Uj, Ij, Nj)의 각 트레이닝 비디오와 관련되는 세트들을 입력으로 사용하여 상기 컨벌루션 신경망을 트레이닝하는 단계를 포함한다.
상기 각 히트 맵을 컬러화하는 단계는 상기 비디오 내의 상기 대응하는 프레임(t)의 상기 상대적 시간에 종속하는 C-차원 컬러화 함수 (o(t) = (o1(t), ..., oC(t)))를 각 히트 맵(
Figure pat00007
)에 적용하는 단계를 포함할 수 있다.
상기 T개의 프레임들은 C-1개의 간격들(intervals)로 분할되고, 상기 C-차원 컬러화 함수(o(t))는 각각의 제k 간격(
Figure pat00008
)에서 상기 C-차원 컬러화 함수(o(t))의 제k 성분(ok(t))이 1에서 0으로 감소하고 상기 C-차원 컬러화 함수(o(t))의 제k+1 성분(ok+1(t))이 0에서 1로 증가하며 상기 C-차원 컬러화 함수(o(t))의 나머지 다른 성분(oc(t))은 계속하여 0과 동일하도록 정의될 수 있다.
상기 C-차원 컬러화 함수(o(t))의 상기 성분들(oc(t),
Figure pat00009
)은 다음의 속성들을 만족할 수 있다:
Figure pat00010
; 및
Figure pat00011
, oc(t)는 구분적으로 연속적인 선형 함수(continuous piecewise linear function )임.
픽셀(x; y)과 채널(
Figure pat00012
)에 대해 프레임(t)에서 키 포인트(j)의 컬러화된 히트 맵 값(
Figure pat00013
)은 상기 C-차원 컬러화 함수(o(t))의 제c 성분(oc(t))이 포함된 수학식(
Figure pat00014
)에 의해 히트 맵 값(
Figure pat00015
)으로부터 주어질 수 있다.
상기 각 히트 맵을 컬러화하는 단계는 각각의 키 포인트(
Figure pat00016
)에 대하여 상기 프레임들(t)에 걸쳐 상기 키 포인트(j)의 컬러화된 히트 맵들(
Figure pat00017
)을 합계함으로써 로우 이미지(Sj)를 결정하는 단계를 포함할 수 있다.
상기 각 히트 맵을 컬러화하는 단계는 각각의 로우 이미지(Sj)에 대하여 상기 로우 이미지(Sj)를 제1 정규화된 이미지(Uj)로 정규화하는 단계를 포함할 수 있다.
픽셀(x; y)과 채널(c)에 대해 키 포인트(j)의 상기 제1 정규화된 이미지(Uj)의 값은 수학식(
Figure pat00018
)에 의해 대응하는 로우 이미지(Sj)의 값으로부터 주어질 수 있다.
상기 각 히트 맵을 컬러화하는 단계는 각각의 제1 정규화된 이미지(Uj)에 대하여 상기 제1 정규화된 이미지(Uj)의 C개의 채널들을 1-채널 세기 이미지(Ij)로 병합하는 단계를 포함할 수 있다.
각각의 세기 이미지(Ij)는 상기 채널들(c)에 걸쳐 상기 대응하는 제1 정규화된 이미지(Uj)를 합계함으로써 결정될 수 있다.
상기 각 히트 맵을 컬러화하는 단계는 각 정규화된 이미지(Uj)에 대하여 상기 대응하는 세기 이미지(Ij)의 함수로서 상기 제1 정규화된 이미지(Uj)를 제2 정규화된 이미지(Nj)로 추가로 정규화하는 단계를 포함할 수 있다.
픽셀(x; y)와 채널(c)에 대해 키 포인트(j)의 상기 제2 정규화된 이미지(Nj)의 값은 수학식(
Figure pat00019
)에 의해 상기 대응하는 제1 정규화된 이미지(Uj)의 값과 상기 세기 이미지(Ij)로부터 주어질 수 있다.
상기 컨벌루션 신경망을 트레이닝하는 단계는 각각의 트레이닝 비디오에 대하여 상기 컨벌루션 신경망에 입력으로 사용하기 위해 상기 트레이닝 비디오와 관련되는 이미지들(Sj, Uj, Ij, Nj)의 세트를 상기 비디오 동안 모든 키 포인트들(j)의 상기 위치 추정치의 상기 변화를 나타내는 글로벌 이미지로 스택(stacking)하는 단계를 포함할 수 있다.
데이터 프로세서를 사용하여, 입력된 비디오 내의 대상에 의해 수행되는 행동을 컨벌루션 신경망을 이용하여 분류하기 위한 방법은 (a) 상기 입력된 각 프레임(
Figure pat00020
)에 대하여, 상기 대상의 각 키 포인트(
Figure pat00021
)에 대하여, 상기 프레임(t) 내의 상기 키 포인트(j)의 위치 추정치를 나타내는 상기 키 포인트(j)의 히트 맵(
Figure pat00022
)을 생성하는 단계; (b) 상기 입력된 비디오 내의 대응하는 프레임(t)의 상대적 시간의 함수로서 각 히트 맵(
Figure pat00023
)을 컬러화하는 단계; (c) 각 키 포인트(
Figure pat00024
)에 대하여, 상기 키 포인트(j)의 모든 컬러화된 히트 맵들(
Figure pat00025
)을 상기 입력된 비디오 동안에 상기 키 포인트(j)의 위치 추정치의 변화를 나타내는 적어도 하나의 이미지(Sj, Uj, Ij, Nj)로 병합하는 단계; 및 (d) 상기 입력된 비디오 동안에 각 키 포인트(j)의 상기 위치 추정치의 상기 변화를 나타내는 이미지들(Sj, Uj, Ij, Nj)의 세트를 입력으로 사용하여 상기 입력된 비디오 내의 행동을 상기 컨벌루션 신경망을 이용하여 분류하는 단계를 포함한다.
상기 컨벌루션 신경망은 타겟 비디오 내의 대상들에 의해 수행되는 행동들을 분류하기 위하여 각각 이미 분류된 행동들을 수행하는 대상을 묘사하는 복수의 트레이닝 비디오들을 이용하여 트레이닝될 수 있다. 상기 컨벌루션 신경망의 트레이닝은 (i) 상기 트레이닝 비디오의 각 프레임(
Figure pat00026
)에 대하여, 상기 대상의 각 키 포인트(
Figure pat00027
)에 대하여, 상기 프레임(t) 내의 상기 키 포인트(j)의 위치 추정치를 나타내는 상기 키 포인트(j)의 히트 맵(
Figure pat00028
)을 생성하는 단계; (ii) 상기 비디오에서 대응하는 프레임(t)의 상대적 시간의 함수로서 각 히트 맵(
Figure pat00029
)을 컬러화하는 단계; (iii) 각 키 포인트(
Figure pat00030
)에 대하여, 상기 키 포인트(j)의 모든 컬러화된 히트 맵들(
Figure pat00031
)을 상기 비디오 동안에 상기 키 포인트(j)의 위치 추정치의 변화를 나타내는 적어도 하나의 이미지(Sj, Uj, Ij, Nj)로 병합하는 단계; 및 (iv) 상기 비디오 동안에 각 키 포인트(j)의 상기 위치 추정치의 상기 변화를 나타내는 이미지들(Sj, Uj, Ij, Nj)의 각 트레이닝 비디오와 관련되는 세트들을 입력으로 사용하여 상기 컨벌루션 신경망을 트레이닝하는 단계를 포함할 수 있다.
상기 각 히트 맵을 컬러화하는 단계는 상기 비디오 내의 상기 대응하는 프레임(t)의 상기 상대적 시간에 종속하는 C-차원 컬러화 함수 (o(t) = (o1(t), ..., oC(t)))를 각 히트 맵(
Figure pat00032
)에 적용하는 단계를 포함할 수 있다.
상기 T개의 프레임들은 C-1개의 간격들(intervals)로 분할되고, 상기 C-차원 컬러화 함수(o(t))는 각각의 제k 간격(
Figure pat00033
)에서 상기 C-차원 컬러화 함수(o(t))의 제k 성분(ok(t))이 1에서 0으로 감소하고 상기 C-차원 컬러화 함수(o(t))의 제k+1 성분(ok+1(t))이 0에서 1로 증가하며 상기 C-차원 컬러화 함수(o(t))의 나머지 다른 성분(oc(t))은 계속하여 0과 동일하도록 정의될 수 있다.
상기 C-차원 컬러화 함수(o(t))의 상기 성분들(oc(t),
Figure pat00034
)은 다음의 속성들을 만족할 수 있다.
Figure pat00035
; 및
Figure pat00036
, oc(t)는 구분적으로 연속적인 선형 함수(continuous piecewise linear function )임.
픽셀(x; y)과 채널(
Figure pat00037
)에 대해 프레임(t)에서 키 포인트(j)의 컬러화된 히트 맵 값(
Figure pat00038
)은 상기 C-차원 컬러화 함수(o(t))의 제c 성분(oc(t))이 포함된 수학식(
Figure pat00039
)에 의해 히트 맵 값(
Figure pat00040
)으로부터 주어질 수 있다.
상기 각 히트 맵을 컬러화하는 단계는 각각의 키 포인트(
Figure pat00041
)에 대하여 상기 프레임들(t)에 걸쳐 상기 키 포인트(j)의 컬러화된 히트 맵들(
Figure pat00042
)을 합계함으로써 로우 이미지(Sj)를 결정하는 단계를 포함할 수 있다.
상기 각 히트 맵을 컬러화하는 단계는 각각의 로우 이미지(Sj)에 대하여 상기 로우 이미지(Sj)를 제1 정규화된 이미지(Uj)로 정규화하는 단계를 포함할 수 있다.
픽셀(x; y)과 채널(c)에 대해 키 포인트(j)의 상기 제1 정규화된 이미지(Uj)의 값은 수학식(
Figure pat00043
)에 의해 대응하는 로우 이미지(Sj)의 값으로부터 주어질 수 있다.
상기 각 히트 맵을 컬러화하는 단계는 각각의 제1 정규화된 이미지(Uj)에 대하여 상기 제1 정규화된 이미지(Uj)의 C개의 채널들을 1-채널 세기 이미지(Ij)로 병합하는 단계를 포함할 수 있다.
각각의 세기 이미지(Ij)는 상기 채널들(c)에 걸쳐 상기 대응하는 제1 정규화된 이미지(Uj)를 합계함으로써 결정될 수 있다.
상기 각 히트 맵을 컬러화하는 단계는 각 정규화된 이미지(Uj)에 대하여 상기 대응하는 세기 이미지(Ij)의 함수로서 상기 제1 정규화된 이미지(Uj)를 제2 정규화된 이미지(Nj)로 추가로 정규화하는 단계를 포함할 수 있다.
상기 컨벌루션 신경망을 트레이닝하는 단계는 각각의 트레이닝 비디오에 대하여 상기 컨벌루션 신경망에 입력으로 사용하기 위해 상기 트레이닝 비디오와 관련되는 이미지들(Sj, Uj, Ij, Nj)의 세트를 상기 비디오 동안 모든 키 포인트들(j)의 상기 위치 추정치의 상기 변화를 나타내는 글로벌 이미지로 스택(stacking)하는 단계를 포함할 수 있다.
도면들은 다양한 실시예들을 예시하기 위한 목적으로만 제공되며, 한정하는 것으로 간주되어서는 안 된다.
도 1은 인간 행동 인식 방법을 가능하게 하는 아키텍처의 예를 도시한다.
도 2는 인간 행동 인식 방법에 의해 수행되는, 비디오를 처리하는 블록도를 도시한다.
도 3 및 4는 컬러화 기능의 예들을 도시한다.
도 5는 예시적인 키 포인트의 움직임을 도시한다.
도 6 내지 8은 각각 도 5에 도시된 움직임의 대응하는 제1 정규화된 이미지, 강도 이미지, 및 제2 정규화된 이미지를 도시한다.
도 9는 인간 행동 인식 방법에서 사용되기 위한 컨벌루션 신경망 아키텍처의 예를 도시한다.
도 10은 종래 인간 행동 인식 방법에 비해 도 9의 컨벌루션 신경망 아키텍처를 이용한 인간 행동 인식 방법이 갖는 효율성을 도시한다.
아래에서는 인간 행동 인식 방법의 2가지 상호 보완적인 측면들이 설명된다. 제1 측면은 비디오들의 행동 분류를 위해 컨벌루션 신경망을 트레이닝하기 위한 방법에 관한 것이고, 제2 측면은 제1 측면(트레이닝 방법)에 따라 트레이닝된 컨벌루션 신경망을 사용하여 입력된 비디오의 행동 분류를 위한 방법에 관한 것이다.
아래의 설명에서, 비디오들의 행동 분류는 비디오들의 대상들에 의해 수행되는 행동들의 분류, 즉, ("기준 행동들(reference actions)"로 지칭될) 소정의 액션들의 리스트 중에서 비디오에서 일어나는 적어도 하나(가능하게는 수 개의) 행동을 식별하는 것으로 정의된다. 비디오에서 식별될 행동이 없는 경우가 존재할 수 있다는 것을 이해할 것이다.
아래의 설명에서, (이미 분류되거나 분류될) 비디오들은 "트리밍된(trimmed)" 것이며, 여기서 트리밍은 비디오들이 특정 행동 주변의 오직 짧은 시간(수 초) 동안 지속되도록 컷팅되는 것으로 정의된다. 이러한 경우에, 각각의 비디오는 하나, 그리고 오로지 하나의 행동을 포함한다. 분류는 이러한 하나의 행동을 식별하기 위한 것이다.
아래에 설명되는 행동 분류에서, 행동 분류는 여러 기간에 걸쳐질 수 있는 행동보다 다양한 시간 간격들을 처리하기 위해 여러가지 규모를 갖는 슬라이딩 창 방법(sliding window approach)을 사용함으로써 제 시간의 행동 검출과 같은 관련 업무 및 트리밍되지 않은 비디오들로 확장될 수도 있다.
(트리밍되거나 그렇지 않은) 어떤 비디오는 (길이에 따라서) 1에서 T까지 넘버링된 T개의 프레임들의 시퀀스이다. 다르게 말하면, 비디오의 일반적인 프레임은 프레임 t (
Figure pat00044
)으로 언급될 것이다. 각각의 프레임은 이미지, 즉, 주어진 크기의 픽셀들, 예컨대, 368 x 368 픽셀들의 매트릭스이다.
아래에서 설명되는 행동 분류에 있어서, 비디오 내의 행동들은 결정된 "대상(subject)"에 의해 수행되며, "대상"은 비디오에서 감지될 수 있고 행동을 수행할 수 있으며 인지될 수 있는 "키 포인트들(key points)"을 제시하는 임의 종류의 타겟으로 정의된다.
예를 들면, 행동은 생물 행동(즉, 대상은 생물임), 더욱 구체적으로, 인간 행동(즉, 대상은 인간임) 일 수 있다. 인간 행동 분류의 예에서, 아래에서 더욱 자세히 설명되겠지만, 키 포인트들은 독특한 인간의 해부학적 특징들, 더욱 구체적으로는 (무릎, 팔꿈치, 어깨 등과 같은) 관절들, (손, 발, 머리 등과 같은) 말단, 또는 (눈, 귀, 코 등과 같이) 눈에 보이는 기관들이다.
다르게 말하자면, 키 포인들은 쉽게 추적할 수 있고 행동들을 구별 지을 수 있게 하는 대상의 포인트들이다. 예를 들면, 인간의 관절의 경우에, 손목은 쉽게 추적될 수 있고 넓은 범위의 팔 자세들을 구별 지을 수 있게 한다.
소정의 n개의 키 포인트들의 리스트가 제공될 수 있다. 이 리스트의 일반적인 키 포인트는 키 포인트 j (
Figure pat00045
)로 언급될 것이다. 예를 들면, n은 18개의 인간의 관절들(구체적으로 2개의 발목, 2개의 무릎, 2개의 고관절, 2개의 어깨, 2개의 팔꿈치, 2개의 손목, 2개의 귀, 2개의 눈, 코, 그리고 몸통 중심)이 키 포인트들로서 고려될 수 있다.
분류 프로세스가 키 포인트들로서 관절을 사용하는 인간 행동 분류의 예가 아래에 설명되기는 하나, 분류 프로세스는 예컨대 동물 행동의 분류(키 포인트들은 여전히 관절과 같은 독특한 해부학적 특징들일 수 있음) 또는 차량 행동의 분류(키포인트들은 휠, 윙팁, 헤드램프, 제트 엔진 등과 같은 기계적 부품들일 수 있음)와 같은 다른 시나리오들에도 동등하게 적용될 수 있다.
인간 행동 분류의 아래에서 설명되는 예에 있어서, 다음의 기준 행동들의 리스트가 적어도 부분적으로 사용될 수 있다: 자전거 타기, 씹기, 손 흔들기, 말하기, 야구 스윙, 마시기, 풀-업, 던지기, 손뼉치기, 돌리기, 담배 피우기, 물구나무서기, 말 타기, 역회전 공중제비, 골프, 밀기, 드리블, 활 쏘기, 재주넘기, 점프, 윗몸 일으키기, 다이빙, 계단 오르기, 먹기, 달리기, 웃기, 총 쏘기, 때리기, 팔굽혀펴기, 슈팅, 앉기, 키스, 잡기, 등반하기, 악수하기, 머리 빗기, 공 차기, 타격, 걷기, 바닥에 넘어지기, 미소짓기, 포옹하기, 옆으로 재주넘기, 서 있기, 따르기, 차기, 검도 연습, 찌르기, 펜싱, 검 뽑기.
도 1은 앞에서 언급한 2가지 타입(측면)의 행동 분류 방법을 실시하기 위한 시스템을 도시한다. 도시된 바와 같이, 도 1은 제1 서버(20)와 제2 서버(30)를 도시한다. 제1 서버(20)는 (제1 방법을 실시하는) 러닝 서버이고, 제2 서버(30)는 (제2 방법을 실시하는) 분류 서버이다. 이러한 2개의 서버는 통합될 수 있다.
각 서버(20 및 30)는 데이터 교환을 위해 인터넷과 같은 확장된 네트워크(2)에 연결되는 원격 컴퓨터 장치일 수 있다. 각 서버(20 및 30)는 데이터 프로세서(21 및 31)와 하드 디스크와 같은 메모리(22 및 32)를 포함한다.
제1 서버(20)의 메모리(22)는 트레이닝 데이터베이스, 즉, (분류의 대상인 입력된 데이터가 아니라) 이미 분류된 데이터의 세트를 저장한다. 이 데이터는 비디오들(특히, 트리밍된 비디오들)로 구성되고, 트레이닝 예시들은 비디오 내에서 일어나는 행동들의 라벨을 갖는 비디오들이다. 다시 말하자면, 트레이닝 비디오는 이미 분류된 행동들을 수행하는 대상(특히 인간)을 묘사한다.
도 1은 (네트워크(2)에 연결되는) 워크 스테이션일 수 있는 클라이언트 장치(10)를 도시한다. 클라이언트 장치(10)는 하나 또는 두 서버들(20 및 30)과 통합될 수 있다.
도 1의 예에 따르면, 클라이언트 장치(10)는 분류될 하나 이상의 아이템들을 갖는다. 장치(10)의 조작자들은 통상적으로 해당 용어의 상업적인 의미에서 "클라이언트들", 또는 제1 및/또는 제2 서버들(20 및 30)을 동작하는 서비스 제공자이다.
도 1을 참조하면, 트레이닝 방법은 제1 서버(20)의 데이터 프로세서(21)에 의해 실시될 수 있다. 이 방법은 비디오(100) 내의 대상들에 의해 수행되는 행동들을 분류하기 위한 컨벌루션 신경망을 트레이닝한다.
도 2에 도시되는 제1 단계(a)에서, 트레이닝 비디오(100)는 외형(appearance)과 움직임(motion)을 모두 고려하는, 전체 비디오의 "간결한(compact)" 표현을 얻기 위해 전처리된다.
다시 말하지만, 외형과 움직임에 대해 각각 종래 분류 방법들에서 해 왔던 것과 같이 2개의 분류 스트림들을 독립적으로 트레이닝하는 대신에, 도 2의 분류 방법은 외형과 움직임을 동시에 처리한다. 아래의 설명에서 이러한 간결한 프로세스는 "PoTion"으로 지칭될 수 있으며, PoTion은 자세(pose)와 움직임(motion) 모두의 인코딩 또는 자세/움직임 인코딩을 의미한다.
PoTion은 전체 비디오에 걸쳐 몇 가지의 적절한 키 포인트들의 이동(movement)에 주목한다. 모든 픽셀들이 그들의 의미(semantics)와 관계없이 동일한 중요도를 갖는 광학적 흐름의 종래 프로세싱과 반대로, 몇 가지의 키 포인트들의 움직임을 모델링 한다.
가장 일반적인 방법은 프레임들 또는 스니핏(snippet)들로 제한되는 것과 반대로, 비디오-레벨 표현을 사용함으로써 장기적인(long-term) 종속성(dependencies)을 캡쳐할 수 있다.
더구나, 아래에서 더욱 자세히 설명되겠지만, PoTion은 고정된 크기이며, 즉, 비디오 클립의 재생 시간에 종속적이지 않다. 따라서, PoTion은 순환망들(recurrent networks) 또는 더욱 정교한 스킴들(schemes)에 기대지 않고, 분류를 위한 종래 컨벌루션 신경망에 전달될 수 있다.
프로세스가 완전히 구별될 수 있으므로, 컨벌루션 신경망이 단계(a)에 포함되지 않을 수도 있고, 컨벌루션 신경망이 히트 맵 추출로부터 PoTion 분류까지 샅샅이 트레이닝될 수 있다는 것을 이해해야 한다.
도 2에 도시된 바와 같이, 단계 (a)는 트레이닝 세트의 각 비디오의 반복적인 처리를 포함한다. 도 2에 도시된 바와 같이, 각 비디오는 프레임(프레임 0 ... 프레임 t ... 프레임 T-1) 마다, 그리고 각 프레임에 대하여 키 포인트마다 처리된다. 도 2의 예에 따르면, 4개의 키 포인트들, 코, 왼쪽 팔꿈치, 오른쪽 손 그리고 오른쪽 발이 고려된다.
제1 하위 단계(a0)에서, 도 2에 도시된 바와 같이, 비디오의 각 프레임(
Figure pat00046
)에 대하여, 그리고 키 포인트들의 리스트에서 각 키 포인트(
Figure pat00047
)에 대하여, 제1 서버(20)의 데이터 프로세서(21)는 프레임 내의 키 포인트의 위치 추정치를 나타내는 키 포인트의 히트 맵(
Figure pat00048
)을 생성한다.
히트 맵(
Figure pat00049
)은 쌍(프레임 t, 키 포인트 j)과 관련된다. 다시 말하자면, Tㅇn개의 히트 맵들(
Figure pat00050
)의 집합{
Figure pat00051
}이 생성된다. 각 프레임(t)에 대하여, 배경에 대한 추가 히트 맵{
Figure pat00052
}이 생성될 수 있다.
하위 단계(a0)는 키 포인트 측위(localization) 작업이라고 할 수 있다. 본 설명에서, 히트 맵은 각 픽셀에서 각 관절이 존재하는 예상 확률을 나타내는 확률론적 맵(probabilistic map)으로서,
Figure pat00053
는 픽셀(x; y)가 프레임(t)에서 키 포인트(j)를 포함할 가능성이다.
키 포인트 히트 맵들을 출력하는 2차원 자세 추정 방법들은 본 기술분야의 당업자들에게 잘 알려져 있다. 예를 들면, Z. Cao 등은 "부분 관련도 필드를 사용하는 실시간 다자 2차원 자세 추정(Realtime multi-person 2D pose estimation using part affinity fields)"에서 인간 관절 히트 맵들을 생성하기 위한 2차원 자세 추정 방법을 개시한다.
2차원 자세 추정 방법은 여러 사람이 존재하는 환경을 처리할 수 있으며, 가림(occlusion)과 끊김(truncation)에 강건하다.
예를 들면, 키 포인트 히트 맵들을 출력하는 종래 2차원 자세 추정 방법은 크기 (w ㅧ h)의 컬러 이미지를 입력 받고, 이미지 내의 각 대상에 대하여 해부학적 키 포인트들의 2차원 위치를 출력한다.
피드-포워드(feed-forward) 신경망은 몸체 부분(body part) 위치들의 2차원 신뢰 맵들(S)의 세트 및 부분들 사이의 연관 정도를 인코딩한 부분 관련도들(part affinities )의 2차원 벡터 필드들(L)의 세트를 예측한다.
세트(S = (S1, S2, ..., SJ))는 부분(part) 당 하나씩 J개의 신뢰 맵들을 가지며, 여기서
Figure pat00054
이다. 세트(L = (L1, L2, ..., LC))는 림(limb) 당 하나씩 C 개의 벡터 필드들을 가지며, 여기서
Figure pat00055
이고, LC 내의 각 이미지 위치는 2차원 벡터를 인코딩한다.
마지막으로, 신뢰 맵들과 관련도 필드들은 탐욕적인 추론(greedy inference)에 의해 분석(parse)되어 이미지 내의 모든 대상들에 대한 2차원 키 포인트들을 출력한다.
2차원 자세 추정 방법은 다양한 관절 후보자들을 인간 자세들의 예들로 연관시키기 위해 뼈들에 대응하는 관절들의 쌍 간의 관련도를 나타내는 필드들뿐만 아니라 관절 히트 맵들을 추출한다.
히트 맵의 공간 해상도는 신경망의 스트라이드(stride)로 인하여 입력 프레임보다 낮을 수 있다. 예를 들면, 전술한 해법의 아키텍처는 8의 스트라이드를 가질 수 있으며, 368 x 368의 크기인 입력 프레임에 대하여 46 x 46의 히트 맵들을 가져올 수 있다.
실제는, 모든 히트 맵들(
Figure pat00056
)은 히트 맵들이 최소 치수를 예를 들면 64 픽셀들의 임계값으로 설정함으로써 동일한 크기를 가질 수 있도록 재조정될 수 있다. 다음과 같이, 히트 맵의 폭과 높이는 재조정 후에 각각 W 와 H로 표시될 수 있으며, min(W; H) = 64일 수 있다. 히트 맵 값들(
Figure pat00057
)은 확률들을 재귀하도록 트레이닝됨에도 불구하고 출력 값들이 약간 0보다 작거나 1보다 클 수 있긴 하지만 범위 [0; 1]로 고정될 수 있다.
제1 하위 단계(a0)는 예컨대 이미지 인식, 물체 검출 또는 위치 인식을 위한 컨벌루션 신경망들에 의해 계산되는 특징 맵들과 같은 임의 종류의 히트 맵들로 확장될 수 있다.
제2 하위 단계(a1)에서, 각 히트 맵(
Figure pat00058
)은 비디오 내의 대응하는 프레임의 상대적 시간(t)의 함수로 컬러화된다. 다시 말하지만, 치수(W x H)를 갖는 각 히트 맵(
Figure pat00059
)에 대하여, 치수(W x H x C), 즉, 동일한 공간 해상도를 갖지만 1보다 큰 C 개의 채널들을 갖는 대응하여 컬러화된 히트 맵(
Figure pat00060
)이 생성된다.
도 2에 도시된 바와 같이, 프레임(0)의 각 키 포인트 위치는 적색으로 컬러화된다. 프레임들이 컬러화 프로세서를 통해 진행됨에 따라 각각의 키 포인트 위치는 컬러화되어 적색에서 녹색으로 변하는 컬러화된 자취(swath)가 된다.
예를 들면, 도 2에 도시된 바와 같이, 프레임(t)의 각 키 포인트 위치는 황색, 황색을 띈 적색 또는 황색을 띈 녹색으로 컬러화된다. 도 2에 추가로 도시된 바와 같이, 프레임(T-1)의 각 키 포인트 위치는 녹색으로 컬러화된다.
C개의 채널들은 컬러 채널들로 해석될 수 있다. 예를 들면, C = 2인 채널들을 갖는 컬러화된 히트 맵(
Figure pat00061
)은 적색과 녹색 채널을 갖는 이미지로 시각화될 수 있고, C = 3인 채널들을 갖는 컬러화된 히트 맵(
Figure pat00062
)은 적색, 녹색 및청색 채널을 갖는 이미지로 시각화될 수 있다.
반대로, 초기 히트 맵(
Figure pat00063
)은 일 채널 이미지, 즉, "그레이스케일"이다. 행동 분류 방법은 C의 값이 3보다 클 때 더욱 효과적인 결과를 가져오지만, 컬러화는 각 채널을 RGB에 매핑함으로써 시각화할 수 있기 때문에 C가 2 또는 3일 때 실현 가능하다.
각 프레임 내의 각 키 포인트 위치를 컬러화함으로써, 키 포인트의 위치는 곡선의 x, y 좌표로 정의될 수 있으며, 움직임은 x, y 좌표에서 색상에 의해 시간에 대해 곡선으로 표현될 수 있다. 위치 곡선에 색상을 사용함으로써 비디오 내의 키 포인트의 자세(위치)와 움직임(PoTion)을 표현할 수 있다.
색상은 C-차원 튜플(
Figure pat00064
), 즉, 상이한 채널들의 숙고된 조합으로 정의될 수 있다. 하위 단계(a2)는 바람직하게 비디오의 대응하는 프레임(t)의 상대적 시간에 종속하는 C-차원 컬러화 함수(o(t) = (o1(t), ..., oC(t)))를 각 히트 맵(
Figure pat00065
)에 적용하는 것을 포함할 수 있다. 다시 말하면, 동일한 컬러(o(t))는 주어진 프레임(t)의 모든 특징들(j)에 대해 히트 맵(
Figure pat00066
)을 컬러화하기 위해 적용될 수 있다.
따라서, 픽셀(x; y)과 채널(
Figure pat00067
)에 대하여 프레임(t)의 키 포인트(j)의 컬러화된 히트 맵 값(
Figure pat00068
)은 C-차원 컬러화 함수(o(t))의 제c 성분(oc(t))이 포함된 수학식(
Figure pat00069
)에 의해 (초기 일-채널) 히트 맵 값(
Figure pat00070
)으로부터 주어진다.
다른 컬러화 스킴들(즉, o(t)의 정의들)도 가능하다. 특히, 출력 채널들(C)의 다양한 개수들에 대응하는 예들이 도 3과 도 4에 도시된다.
도 3과 도 4의 상부에는 성분들(o1(t), ..., oC(t))이 도시되고, 도 3과 도 4의 하부에는 생성된 색상(o(t))가 도시된다.
바람직하게, 함수(o(t))는 다음의 속성들을 만족한다:
-
Figure pat00071
: 즉, 성분들(o(t))의 합은 히트 맵을 "컬러화"하기 위해, 즉, 전술한 결과를 만들 때 위치 추정 정보를 변경하지 않고 컬러를 갖는 시간 정보를 추가하기 위해, 일정하고, 특히 1과 동일함.
-
Figure pat00072
, Oc(t)는 상대적 시간(t)의 구분적으로 연속인 선형 함수로서, 색상은 지나간 시간을 현실적으로 표현할 수 있도록 선형적으로 변함.
도 3에 2 채널을 위한 컬러화 스킴이 도시되는데, 시각화를 위해 채널 1과 2를 위해 (파선(100)으로 표시되는) 적색(o1(t))과 (실선(110)으로 표시되는) 녹색(o2(t))이 사용된다. 도시된 바와 같이, 컬러화 스킴은 제1 프레임(t = 1)을 적색으로 컬러화하고, 마지막 프레임(t = T)을 녹색으로 컬러화하고, 중앙 프레임(t = T/2+1)를 녹색과 적색이 동일한 비율(50%)로 섞인 색상으로 컬러화한다. 적색과 녹색의 정확한 비율은 t의 선형 함수, 즉, (t-1)/T이다. 도 3의 예에서, o1(t) = 1 - (t-1)/T 이고, o2(t) = (t-1)/T 이다.
도 4에 3 채널을 위한 컬러화 스팀이 도시되는데, 시각화를 위해 채널 1, 2, 및 3을 위해 (파선(100)으로 표시되는) 적색(o1(t)), (실선(110)으로 표시되는) 녹색(o2(t)), 및 (회색 실선(120)으로 표시되는) 청색(o3(t))이 사용된다. 도시된 바와 같이, 컬러화 스킴은 제1 프레임(t = 1)을 적색으로 컬러화하고, 마지막 프레임(t = T)을 청색으로 컬러화하고, 중앙 프레임(t = T/2+1)를 녹색으로 컬러화한다. 적색과 녹색의 정확한 비율은 t의 선형 함수, 즉, 2(t-1)/T이다.
도 4의 예에서, 선형 함수들은 다음과 같다:
Figure pat00073
,
Figure pat00074
, 및
Figure pat00075
두 예에 있어서, 색상은 불분명하게 변경될 수 있다. 즉, 성분들(o1(t), ..., oC(t))이 교환될 수 있다. (C = 2인 경우, o1(t)과 o2(t) 중 하나는 (t-1)/T이고, 다른 하나는 1 - (t-1)/T일 수 있다. C = 3인 경우, o1(t), o2(t), 및 o3(t) 중 하나는
Figure pat00076
이고, 다른 하나는
Figure pat00077
이고, 마지막 하나는
Figure pat00078
일 수 있다.)
이러한 컬러화 스팀은 다른 개수의 색상 채널들(C)에 확장될 수 있으며, T개의 프레임들은 (C-1)개의 규칙적으로 샘플링된 간격들로 분할될 수 있다.
각 제k 간격(
Figure pat00079
)에서, ok(t)는 1에서 0으로 감소하고, ok+1(t)는 0에서 1로 증가하고, 나머지 다른 oc(t)는 계속하여 0과 동일하다(1 외에 다른 최대 값들이 사용될 수 있다). 모든 변형들은 선형 또는 비선형일 수 있다.
성분들은 재귀적으로 결정될 수 있다. 제1 (C-2) 간격에서, (C-1)개의 채널들을 위해 컬러화 스킴이 적용될 수 있으며, 마지막 채널에서 oC-1(t)는 1에서 0으로 감속하고, oC(t)는 0에서 1로 증가하고, 나머지 다른 oc(t)는 0과 동일하게 유지된다.
하위 단계(a2)에서, 제1 서버(20)의 데이터 프로세싱 프로세서(21)는(즉, 다른 프레임들(t)에 대해) 키 포인트(j)의 모든 컬러화된 히트 맵들(
Figure pat00080
)을 비디오 동안 키 포인트(j)의 위치 추정치의 변화를 나타내는 적어도 하나의 이미지(Sj, Uj, Ij, Nj)로 병합한다.
이러한 병합은 각각의 키 포인트(
Figure pat00081
)에 대하여 수행된다. 이미지들(Sj, Uj, Ij, Nj)은 외형과 움직임을 동시에 표현한다.
예를 들면, 도 2에 도시된 바와 같이, 코 키 포인트의 이미지는, 병합 후에, 적색을 통해 코 키 포인트가 초기에 이미지의 오른쪽에 위치하였음을 나타낸다. 그후 코 키 포인트는 (녹색으로 표현된 바와 같이) 이미지의 왼쪽(음의 x 방향)으로 이동한다. 이때, 코 키 포인트는 양의 y 방향으로 이동한 후 음의 y 방향으로 이동한다. 이것은 이미지들이 프레임(0)에서 프레임(T-1)로 변환하므로 인간 대상의 이미지와 일치한다.
도 2에 도시된 바와 같이, 인간 대상은 이미지의 오른쪽에서 시작하여 이미지의 왼쪽에서 끝난다. 이러한 행동은 도 2에 도시된 바와 같은 위치/움직임 이미지를 생성할 것이다.
아래에서 더욱 자세히 설명되겠지만, 컬러화된 히트 맵들(
Figure pat00082
)을 병합하는 다른 방법들도 가능하다. 특히, 4 종류의 이미지들까지 처리될 수 있다. (1) 로우 이미지(Sj), (2) 제1 정규화된 이미지(Uj), (3) 세기 이미지(Ij), 및 (4) 제2 정규화된 이미지(Nj)
4 종류의 이미지들 모두는 비디오 동안 키 포인트(j)의 위치 추정치의 변화를 나타내며, PoTion을 위한 훌륭한 후보자들이다.
임의 개수의 이러한 종류의 이미지들이 하위 단계(a2)에서 순차적으로 또는 직접 생성될 수 있다.
예를 들면, 4 종류의 이미지들은, 각 단계가 이전 단계로부터 이어지는, 연이은 단계들에서 생성된다.
당업자는 예를 들면 적절한 수학식을 사용하여 제2 정규화된 이미지(Nj)를 PoTion 표현으로서 직접 생성하는 것이 바람직할 수 있다는 것을 이해할 것이다.
로우 이미지(Sj)는 프레임들(t)에 걸쳐 컬러화된 히트 맵들(
Figure pat00083
)을 합계함으로써 쉽게 획득될 수 있는 (치수(W x H x C)를 갖는) C-채널 이미지이다:
Figure pat00084
.
Sj의 값들은 상기 합계로 인하여 프레임들의 개수(T)와 함께 증가한다. 비디오가 길수록, 픽셀들에 걸쳐 Sj의 평균 값은 높아질 것이다.
변치 않는 표현을 얻기 위해, 하위 단계(a2)는 각각의 로우 이미지(Sj)에 대하여 로우 이미지(Sj)를 (여전히 C-채널들)인 제1 정규화된 이미지(Uj)로 정규화하는 단계를 포함한다. 예를 들면, 각 채널(c)에 대하여, 합계된 히트 맵 값은 모든 픽셀들에 걸쳐 최대 값으로 나눔으로써 독립적으로 정규화된다: 즉,
Figure pat00085
. 대안적으로, 정규화는 모든 프레임들에 걸쳐 컬러화 성분(oc(t))의 총합으로 나눔으로써 수행될 수 있다: 즉,
Figure pat00086
.
예를 들면, 도 5에 도시되는 키 포인트의 움직임은 이에 대응하여 획득되는 3-채널 제1 정규화된 이미지(Uj)를 표시하며, 이는 도 6에 도시된다. 키 포인트 위치의 시간적 변화는 쉽게 볼 수 있도록 색상으로 인코딩될 수 있다. 도 6은 적색(R)에서 녹색(G)으로 변한 후 청색(B)으로 변하도록 컬러화된 것이다.
도 5에 도시된 바와 같이, 키 포인트의 위치가 이미지의 왼쪽에서 시작하면서 적색으로 컬러화되고, 키 포인트의 위치가 루프에 진압하면서 녹색으로 변한다. 키 포인트의 위치가 루프 안에 위치할 때 녹색으로 컬러화되고, 키 포인트의 위치가 루프를 떠남에 따라 키 포인트의 위치는 녹색에서 청색으로 변하도록 컬러화된다. 마지막으로, 키 포인트의 위치가 갈고리(hook)에 진입함에 따라 키 포인트의 위치는 청색으로 컬러화된다.
제1 정규화된 이미지(Uj)는 비디오 동안 키 포인트(j)의 위치 추정치의 변화를 나타내는 PoTion 표현으로서 효과적으로 사용될 수 있다. 그러나, 키 포인트가 소정의 시간 동안 특정 위치를 유지한다면, 더 강한 세기가 얻어질 것이다(도 6의 예에서 궤적의 중간(G)). 이러한 현상은 불리할 수 있으며, 하위 단계(a2)는 세기를 추가로 정규화하기 위해 제2 부(part)를 포함할 수 있다.
이러한 제2 부로서, 하위 단계(a2)는 각각의 제1 정규화된 이미지(Uj)에 대하여 제1 정규화된 이미지(Uj)의 C 채널들을 1 채널 세기 이미지(Ij)로 병합하는 단계를 포함한다. 이러한 표현은 시간적 순서에 관한 정보를 갖지 않지만("그레이스케일" 이미지임), 얼마나 많은 시간 동안 픽셀이 각 위치에 머물렀는지를 인코딩한다.
각 세기 이미지(Ij)는 채널들(c)에 걸쳐 대응하는 제1 정규화된 이미지(Uj)를 합계함으로써 결정될 수 있다. 다시 말하자면, 픽셀(x; y)에 대해 키 포인트(j)의 세기 이미지 값(Ij)는 수학식(
Figure pat00087
)에 의해 주어진다. 세기 이미지(Ij)의 대응하는 예는 도 7에 도시된다.
완전히 정규화된 표현을 얻기 위하여, 하위 단계(a2)는 각 제1 정규화된 이미지(Uj)에 대해, 제1 정규화된 이미지(Uj)를 (여전히 C 채널들인) ("이중으로" 정규화된 이미지로 간주될 수 있는) 제2 정규화된 이미지(Nj)로, 대응하는 세기 이미지(Ij)의 함수로서, 병합하는 단계를 포함한다.
예를 들면, 제1 정규화된 이미지(Uj)는 낮은 세기의 영역에서 불안정성을 제거하기 위한 파라미터(특히, ε = 1)를 갖는
Figure pat00088
와 같이, 세기 이미지(Ij)로 나눠질 수 있다.
제2 정규화된 이미지(Nj)에서, 움직임 궤적의 모든 위치들은 각 위치에서 소비한 시간의 양과 관계 없이 동등한 가중치를 갖는다. 궤적 내의 순간적인 정지들은 제1 정규화된 이미지(Uj) 및 세기 이미지(Ij) 내의 다른 궤적 위치들에 비해 더 가중된다. 위 수학식에서 나누기는 이러한 효과를 제거한다.
제2 정규화된 이미지(Nj)의 대응하는 예는 도 8에 도시된다. "루프" 부분은 비정상적으로 과한 세기를 갖지 않는다는 것을 알 수 있다.
따라서 이러한 제2 정규화된 이미지(Nj)는 비디오 동안 키 포인트(j)의 위치 추정치의 변화를 나타내는 PoTion 표현으로서 사용될 수 있다.
제1 정규화된 이미지(Uj), 세기 이미지(Ij) 및 제2 정규화된 이미지(Nj)는 함께 적절한 PoTion 표현(즉, 비디오 동안 키 포인트의 위치 추정치의 변화에 대한 표현들)으로서 간주될 수 있고, 예컨대 스택(stacking)에 의해 결합될 수 있다. 대안적으로, 또는 추가적으로, 로우 이미지(Sj)도 간주될 수 있다.
하위 단계들(a0 내지 a2)를 완료한 후에, 컨벌루션 신경망은 획득된 PoTion 표현들을 사용하여 적절하게 트레이닝된다. 트레이닝은 컨벌루션 신경망의 파라미터들 및 가중치들의 최적 값들을 결정하는 것으로 정의된다. 아래에서 더욱 자세히 설명되겠지만, 트레이닝은 임의의 사전-트레이닝을 포함하지 않을 수 있다.
비디오 동안 각 키 포인트의 위치 추정치의 변화를 나타내는 이미지들(Sj, Uj, Ij, Nj)의, 각각의 트레이닝 비디오와 연관되는, 세트들은 컨벌루션 신경망의 입력으로 사용된다.
대안적으로, 각 트레이닝 비디오에 대하여, 컨벌루션 신경망의 대응하는 입력은 모든 키 포인트들(
Figure pat00089
)에 대하여 비디오 동안 모든 키 포인트들의 위치 추정치의 변화를 나타내는 "글로벌" 이미지로 스택된 대응하는 이미지들(Sj, Uj, Ij, Nj)로 구성된다.
PoTion 표현은 표준 이미지들에 비해 상당히 적은 조화(texture)를 갖기 때문에, 신경망 아키텍쳐는 깊어질(deep) 필요가 없고 임의의 사전-트레이닝을 요구하지 않는다. 따라서, 임의의 공지된 종래 컨벌루션 신경망 아키텍처가 효과적으로 사용될 수 있다.
더욱 구체적으로, 컨벌루션 신경망들은 일반적으로 정보를 처리하는 4가지 종류의 계층들을 포함한다: (1) 이미지의 블록들을 교대로 처리하는 컨벌루션 계층; (2) "활성화 기능"을 적용함으로써 결과의 적절성이 개선될 수 있게 하는 (소위 보정 계층으로 지칭되는) 비선형 계층; (3) 여러 개의 뉴런들을 하나의 뉴런으로 그룹핑하도록 하는 풀링 계층; 및 (4) 계층의 뉴런들을 이전 계층의 뉴런들 모두와 연결하는 완전하게 연결된 계층(fully connected layer).
또한, 컨벌루션 신경망은 데이터의 러닝(learning)을 가속화하기 위해 배치 정규화 계층들을 포함할 수 있다.
비선형 계층의 활성화 기능은 f(x) = max(0, x)와 동일한 종래 정류된 선형 유닛(Rectified Linear Unit) 기능을 사용하고, 풀링 계층은 스퀘어(square)의 4개의 값들 중 최대값에 대응하는 MaxPool2ㅧ2 기능을 사용하지만, AveragePool 또는 SumPool과 같은 다른 풀링 기능들을 사용할 수 있다.
컨벌루션 계층과 완전하게 연결도니 계층은 일반적으로 이전 계층의 뉴런들과 컨벌루션 신경망의 가중치들 간의 스칼라 곱에 대응한다.
통상적인 컨벌루션 신경망 아키텍처는 컨벌루션 계층들(CONV)와 비선형 계층들(RELU)의 몇몇 쌍들을 스택하고, 풀링 계층(POOL)을 추가한다. 다시 말하자면, 컨벌루션 계층, 비선형 계층, 컨벌루션 계층, 비선형 계층, 컨벌루션 계층, 비선형 계층 및 풀링 계층으로 구성되는 계층 그룹을 형성한다.
컨벌루션 신경망 아키텍쳐는 충분히 작은 출력 벡터가 획득될 때까지 이러한 계층 스킴을 반복하고, 하나 또는 두개의 완전하게 연결된 계층들로 종결한다.
통상적인 컨벌루션 신경망 아키텍쳐는 INPUT → [[CONV → RELU]p → POOL]n → FC 일 수 있으며, 여기서 p는 컨벌루션 계층과 비선형 계층의 쌍의 개수이고, n은 계층 그룹의 개수이다.
유리하게 사용되는 컨벌루션 신경망은 컨벌루션 신경망 아키텍처의 개관을 나타내는 도 9에 도시된 바와 같이, 6개의 컨벌루션 계층과 하나의 완전하게 연결된 계층을 포함할 수 있다.
각 컨벌루션 계층(CONV) 다음에 배치 정규화 계층과 ReLU 비선형 계층이 온다. 32의 배치 크기가 사용될 수 있다. 3개의 블록 후에, 컨벌루션 신경망은 비디오 분류를 수행하기 위해 소프트-맥스를 갖는 완전하게 연결된 계층(FC)이 뒤따르는 글로벌 평균 풀링 계층(POOL)을 포함한다.
일 예에서, 18개의 인간 관절 키 포인트들이 측위되고(즉, 배경까지 19개), 제1 정규화된 이미지(Uj), 세기 이미지(Ij), 및 제2 정규화된 이미지(Nj)가 고려되는 경우, 입력 채널의 개수는 (19 x (2C + 1)) 채널들이다(제1 정규화된 이미지(Uj)와 제2 정규화된 이미지(Nj)는 모두 C 채널들을 갖고, 세기 이미지(Ij)는 1개의 채널을 갖는다).
모든 컨벌루션들은 예컨대 3의 커널 크기, 2의 스트라이드를 갖는 첫번째, 및 1의 스트라이드를 갖는 두번째를 갖는다. 결과적으로, 각 블록의 시작에서 특징 맵들의 공간 해상도는 2로 나눠진다.
공간 해상도가 감소되면, 동시에 채널들의 개수는 2배가 된다: 제1 블록에서 128개의 채널로 시작해서, 제2 블록에서는 256개의 채널, 제3 블록에서는 512개의 채널.
블록들의 개수, 블록 당 컨벌루션 계층의 개수, 및 채널의 개수는 달라질 수 있다.
모든 계층 가중치들은 다음의 발견(heuristic)으로 초기화될 수 있다:
Figure pat00090
U[??a, a]는 간격 (-a, a)에서 균일한 분포이고, n은 이전 계층의 크기(W의 열들의 개수)이다.
전술한 바와 같이, PoTion 표현을 입력 받는 공개된 컨벌루션 신경망은 처음부터 트레이닝될 수 있다.
트레이닝 동안, 예를 들면, 0.25의 확률을 갖는 감소된 활성화들은 각각의 컨벌루션 계층 후에 감소된다. 신경망은 예를 들어 확률적인 최적화(stochastic optimization)를 사용하여 최적화될 수 있다.
PoTion 표현이 데이터셋의 모든 트레이닝 비디오에 대해 사전-프로세싱되었다면(즉, 도 2의 단계(a) 후에), 머리 빗기, 앉기, 또는 야구 스윙과 같은 51개의 클래스들로부터 6,766개의 비디오 클립을 포함하는 데이터셋을 사용하여 NVIDIA Titan X GPU에서 컨벌루션 신경망을 트레이닝하는데 대략 4시간이 소요된다. 다시 말하자면, 비디오 분류 트레이닝은 임의의 사전-트레이닝 없이 싱글 GPU에서 수 시간 안에 수행될 수 있다.
일반적으로, 트레이닝은 종종 사전-트레이닝과 함께 수 개의 GPU들 상에서 수 일이 걸린다.
데이터 증가는 컨벌루션 신경망 트레이닝에 중심적인 역할을 한다고 알려져 있다. 트레이닝에서 입력들을 무작위로 뒤집음(flipping)으로써, 통상적으로 이미지와 행동 분류를 하는 경우이므로, 성능은 현저하게 개선될 수 있다. 인간 관절의 예에서, (인간의 대칭성으로 인하여) 왼쪽과 오른쪽 관절들에 대응하는 채널들을 교환할 뿐만 아니라 PoTion 표현을 수평으로 뒤집음으로써 데이터 증가를 실현할 수 있다.
당업자는 히트 맵들을 고르게 하거나, 각각의 관절에 대해 무작위로 수 픽셀들만큼 히트 맵들을 이동시키거나, 작은 양의 무작위 공간 노이즈를 추가하거나, 무작위 크롭핑(cropping)과 같은 다른 전략을 사용함으로써 데이터 증가를 실현할 수도 있다.
위에서 논의한 바와 같이, 입력된 비디오 분류 방법은 입력된 비디오에서 대상에 의해 수행되는 행동을 분류하기 위해 제2 서버(30)의 데이터 프로세서(31)에 의해 구현된다. 분류될 비디오는 클라이언트 장치(10)로부터 수신될 수 있다.
전술한 바와 같이, 제1 단계(a)에서 컨벌루션 신경망의 트레이닝은 제1 서버(20)에 의해 (이미 분류된 행동을 수행하는 대상을 묘사하는 트레이닝 비디오를 기초로) 수행된다. 각각의 트레이닝 비디오에 대해 트레이닝이 실시되고, (이미 설명된 바와 같이 이미지들(Sj, Uj, Ij, Nj)의 세트가 가능하게 스택되고, 비디오 동안 키 포인트들(j)의 위치 추정치들의 변화를 나타내는) PoTion 표현이 생성되고, 트레이닝은 이러한 표현들을 기초로 수행된다.
제1 서버와 제2 서버는 동일한 서버일 수 있다고 이해된다. 추가적으로, 단계(a)는 트레이닝된 컨벌루션 신경망의 파라미터들 및 가중치들을 메모리(22)에 저장하기 위해 제1 서버(20)에서 제2 서버(30)로 전달하는 단계를 포함할 수 있다.
입력된 비디오 분류 방법에서 제2 서버(30)의 데이터 프로세서(31)는 입력된 비디오의 PoTion 표현을 생성한다.
더욱 구체적으로, 제2 서버(30)의 데이터 프로세서(31)는 (1) 입력된 비디오의 각 프레임(
Figure pat00091
)에 대하여, 대상의 각 키 포인트(
Figure pat00092
)에 대하여, 프레임(t) 내의 키 포인트(j)의 위치 추정치를 나타내는 키 포인트(j)의 히트 맵(
Figure pat00093
)을 생성하고; (2) 비디오 내의 대응하는 프레임(t)의 상대적 시간의 함수로서 각 히트 맵(
Figure pat00094
)을 컬러화하고; (3) 각 키 포인트(
Figure pat00095
)에 대하여, 키 포인트(j)의 모든 컬러화된 히트 맵들(
Figure pat00096
)을 비디오 동안에 키 포인트(j)의 위치 추정치의 변화를 나타내는 이미지(Sj, Uj, Ij, Nj)로 병합한다.
컬러화 및 병합 프로세스들은 이들에 대한 임의의 개량을 포함할 수 있다. 입력된 비디오 분류 방법은 (인지될 하나의 행동만을 포함하도록) 입력된 비디오의 트리밍을 실행할 수 있다.
그 후(병합 후), 제2 서버(30)의 데이터 프로세서(31)는 비디오 동안에 각 키 포인트(j)의 위치 추정치의 변화를 나타내는 이미지들(Sj, Uj, Ij, Nj)의 세트를 입력으로 사용하는 컨벌루션 신경망을 이용하여 입력된 비디오를 분류한다. 획득된 분류 결과는 다시 클라이언트 장치(10)로 전달될 수 있다.
도 10은 분류 정확성이 인플레이티드 3차원 컨벌루션 신경망을 기초로 분류할 때 거의 모든 클래스들에 대해 현저하게 개선된다는 것을 보여준다.
일부 클래스들(예컨대, 말하기, 마시기, 풀업 등)은 이미 완전히 분류되어서, 추가적인 이득이 가능하지 않다.
가장 큰 이득을 갖는 클래스들은 종종 상부 바디 관절들의 큰 움직임과 연관된다. 예를 들면, 검과 함께하는 운동을 포함하는 4개의 클래스들(검 뽑기, 펜싱, 검, 및 검도 연습)은 존재하는 PoTion 표현 중에서 가장 이득이 되는 클래스들에 속한다.
전체 행동에 비해 이러한 복잡한 운동들에 포함되는 바디 일부들의 상대적 위치들은 인지에 중요한 것으로 보인다. PoTion 표현은 장기적인 종속성(long-term dependencies)을 적절하게 인코딩하고, 따라서 적절한 설명을 제공하고 이러한 클래스들의 분류를 개선한다.
행동 분류 트레이닝 및 실제 행동 분류는 서버들의 데이터 프로세서를 사용하여 코드 명령어들을 포함하는 컴퓨터 프로그램 제품을 실행함으로써 구현될 수 있다.
앞에서 개시한 실시예들 및 다른 특징들과 기능들의 변형들, 또는 이들의 대체 형태들은 많은 여러 다른 시스템들 또는 어플리케이션들에 바람직하게 결함될 수 있다고 이해되어야 한다. 또한, 다양하게 존재하는 예측되지 않거나 예상되지 않은 대체 형태들, 수정 형태들, 변형들 또는 이들의 개선 형태들이 본 기술분야의 당업자들에 의해 나중에 만들어질 수 있으며, 이들도 역시 전술한 설명과 후속하는 청구범위에 의해 포함되는 것으로 의도된다.

Claims (32)

  1. 데이터 프로세서를 사용하여, 각각 이미 분류된 행동들을 수행하는 대상을 묘사하는 복수의 트레이닝 비디오들을 이용하여, 타겟 비디오에서 대상들에 의해 수행되는 행동들을 분류하기 위해 컨벌루션 신경망을 트레이닝하기 위한 방법으로서,
    (a) 상기 트레이닝 비디오의 각 프레임(
    Figure pat00097
    )에 대하여, 상기 대상의 각 키 포인트(
    Figure pat00098
    )에 대하여, 상기 프레임(t) 내의 상기 키 포인트(j)의 위치 추정치를 나타내는 상기 키 포인트(j)의 히트 맵(
    Figure pat00099
    )을 생성하는 단계;
    (b) 상기 비디오에서 대응하는 프레임(t)의 상대적 시간의 함수로서 각 히트 맵(
    Figure pat00100
    )을 컬러화하는 단계;
    (c) 각 키 포인트(
    Figure pat00101
    )에 대하여, 상기 키 포인트(j)의 모든 컬러화된 히트 맵들(
    Figure pat00102
    )을 상기 비디오 동안에 상기 키 포인트(j)의 위치 추정치의 변화(evolution)를 나타내는 적어도 하나의 이미지(Sj, Uj, Ij, Nj)로 병합하는 단계; 및
    (d) 상기 비디오 동안에 각 키 포인트(j)의 상기 위치 추정치의 상기 변화를 나타내는 이미지들(Sj, Uj, Ij, Nj)의 각 트레이닝 비디오와 관련되는 세트들을 입력으로 사용하여 상기 컨벌루션 신경망을 트레이닝하는 단계를 포함하는 컨벌루션 신경망의 트레이닝 방법.
  2. 제1 항에 있어서,
    상기 각 히트 맵을 컬러화하는 단계는 상기 비디오 내의 상기 대응하는 프레임(t)의 상기 상대적 시간에 종속하는 C-차원 컬러화 함수 (o(t) = (o1(t), ..., oC(t)))를 각 히트 맵(
    Figure pat00103
    )에 적용하는 단계를 포함하는 컨벌루션 신경망의 트레이닝 방법.
  3. 제2 항에 있어서,
    상기 T개의 프레임들은 C-1개의 간격들(intervals)로 분할되고, 상기 C-차원 컬러화 함수(o(t))는 각각의 제k 간격(
    Figure pat00104
    )에서 상기 C-차원 컬러화 함수(o(t))의 제k 성분(ok(t))이 1에서 0으로 감소하고 상기 C-차원 컬러화 함수(o(t))의 제k+1 성분(ok+1(t))이 0에서 1로 증가하며 상기 C-차원 컬러화 함수(o(t))의 나머지 다른 성분(oc(t))은 계속하여 0과 동일하도록 정의되는 컨벌루션 신경망의 트레이닝 방법.
  4. 제3 항에 있어서,
    상기 C-차원 컬러화 함수(o(t))의 상기 성분들(oc(t),
    Figure pat00105
    )은 다음의 속성들을 만족하는 컨벌루션 신경망의 트레이닝 방법.
    Figure pat00106

    Figure pat00107
    , oc(t)는 구분적으로 연속적인 선형 함수(continuous piecewise linear function )임.
  5. 제2 항에 있어서,
    픽셀(x; y)과 채널(
    Figure pat00108
    )에 대해 프레임(t)에서 키 포인트(j)의 컬러화된 히트 맵 값(
    Figure pat00109
    )은 상기 C-차원 컬러화 함수(o(t))의 제c 성분(oc(t))이 포함된 수학식(
    Figure pat00110
    )에 의해 히트 맵 값(
    Figure pat00111
    )으로부터 주어지는 컨벌루션 신경망의 트레이닝 방법.
  6. 제3 항에 있어서,
    픽셀(x; y)과 채널(
    Figure pat00112
    )에 대해 프레임(t)에서 키 포인트(j)의 컬러화된 히트 맵 값(
    Figure pat00113
    )은 상기 C-차원 컬러화 함수(o(t))의 제c 성분(oc(t))이 포함된 수학식(
    Figure pat00114
    )에 의해 히트 맵 값(
    Figure pat00115
    )으로부터 주어지는 컨벌루션 신경망의 트레이닝 방법.
  7. 제4 항에 있어서,
    픽셀(x; y)과 채널(
    Figure pat00116
    )에 대해 프레임(t)에서 키 포인트(j)의 컬러화된 히트 맵 값(
    Figure pat00117
    )은 상기 C-차원 컬러화 함수(o(t))의 제c 성분(oc(t))이 포함된 수학식(
    Figure pat00118
    )에 의해 히트 맵 값(
    Figure pat00119
    )으로부터 주어지는 컨벌루션 신경망의 트레이닝 방법.
  8. 제1 항에 있어서,
    상기 각 히트 맵을 컬러화하는 단계는 각각의 키 포인트(
    Figure pat00120
    )에 대하여 상기 프레임들(t)에 걸쳐 상기 키 포인트(j)의 컬러화된 히트 맵들(
    Figure pat00121
    )을 합계함으로써 로우 이미지(Sj)를 결정하는 단계를 포함하는 컨벌루션 신경망의 트레이닝 방법.
  9. 제8 항에 있어서,
    상기 각 히트 맵을 컬러화하는 단계는 각각의 로우 이미지(Sj)에 대하여 상기 로우 이미지(Sj)를 제1 정규화된 이미지(Uj)로 정규화하는 단계를 포함하는 컨벌루션 신경망의 트레이닝 방법.
  10. 제9 항에 있어서,
    픽셀(x; y)과 채널(c)에 대해 키 포인트(j)의 상기 제1 정규화된 이미지(Uj)의 값은 수학식(
    Figure pat00122
    )에 의해 대응하는 로우 이미지(Sj)의 값으로부터 주어지는 컨벌루션 신경망의 트레이닝 방법.
  11. 제9 항에 있어서,
    상기 각 히트 맵을 컬러화하는 단계는 각각의 제1 정규화된 이미지(Uj)에 대하여 상기 제1 정규화된 이미지(Uj)의 C개의 채널들을 1-채널 세기 이미지(Ij)로 병합하는 단계를 포함하는 컨벌루션 신경망의 트레이닝 방법.
  12. 제10 항에 있어서,
    상기 각 히트 맵을 컬러화하는 단계는 각각의 제1 정규화된 이미지(Uj)에 대하여 상기 제1 정규화된 이미지(Uj)의 C개의 채널들을 1-채널 세기 이미지(Ij)로 병합하는 단계를 포함하는 컨벌루션 신경망의 트레이닝 방법.
  13. 제11 항에 있어서,
    각각의 세기 이미지(Ij)는 상기 채널들(c)에 걸쳐 상기 대응하는 제1 정규화된 이미지(Uj)를 합계함으로써 결정되는 컨벌루션 신경망의 트레이닝 방법.
  14. 제11 항에 있어서,
    상기 각 히트 맵을 컬러화하는 단계는 각 정규화된 이미지(Uj)에 대하여 상기 대응하는 세기 이미지(Ij)의 함수로서 상기 제1 정규화된 이미지(Uj)를 제2 정규화된 이미지(Nj)로 추가로 정규화하는 단계를 포함하는 컨벌루션 신경망의 트레이닝 방법.
  15. 제12 항에 있어서,
    상기 각 히트 맵을 컬러화하는 단계는 각 정규화된 이미지(Uj)에 대하여 상기 대응하는 세기 이미지(Ij)의 함수로서 상기 제1 정규화된 이미지(Uj)를 제2 정규화된 이미지(Nj)로 추가로 정규화하는 단계를 포함하는 컨벌루션 신경망의 트레이닝 방법.
  16. 제14 항에 있어서,
    픽셀(x; y)와 채널(c)에 대해 키 포인트(j)의 상기 제2 정규화된 이미지(Nj)의 값은 수학식(
    Figure pat00123
    )에 의해 상기 대응하는 제1 정규화된 이미지(Uj)의 값과 상기 세기 이미지(Ij)로부터 주어지는 컨벌루션 신경망의 트레이닝 방법.
  17. 제1 항에 있어서,
    상기 컨벌루션 신경망을 트레이닝하는 단계는 각각의 트레이닝 비디오에 대하여 상기 컨벌루션 신경망에 입력으로 사용하기 위해 상기 트레이닝 비디오와 관련되는 이미지들(Sj, Uj, Ij, Nj)의 세트를 상기 비디오 동안 모든 키 포인트들(j)의 상기 위치 추정치의 상기 변화를 나타내는 글로벌 이미지로 스택(stacking)하는 단계를 포함하는 컨벌루션 신경망의 트레이닝 방법.
  18. 제2 항에 있어서,
    상기 컨벌루션 신경망을 트레이닝하는 단계는 각각의 트레이닝 비디오에 대하여 상기 컨벌루션 신경망에 입력으로 사용하기 위해 상기 트레이닝 비디오와 관련되는 이미지들(Sj, Uj, Ij, Nj)의 세트를 상기 비디오 동안 모든 키 포인트들(j)의 상기 위치 추정치의 상기 변화를 나타내는 글로벌 이미지로 스택(stacking)하는 단계를 포함하는 컨벌루션 신경망의 트레이닝 방법.
  19. 제3 항에 있어서,
    상기 컨벌루션 신경망을 트레이닝하는 단계는 각각의 트레이닝 비디오에 대하여 상기 컨벌루션 신경망에 입력으로 사용하기 위해 상기 트레이닝 비디오와 관련되는 이미지들(Sj, Uj, Ij, Nj)의 세트를 상기 비디오 동안 모든 키 포인트들(j)의 상기 위치 추정치의 상기 변화를 나타내는 글로벌 이미지로 스택(stacking)하는 단계를 포함하는 컨벌루션 신경망의 트레이닝 방법.
  20. 데이터 프로세서를 사용하여, 입력된 비디오 내의 대상에 의해 수행되는 행동을 컨벌루션 신경망을 이용하여 분류하기 위한 방법으로서,
    (a) 상기 입력된 각 프레임(
    Figure pat00124
    )에 대하여, 상기 대상의 각 키 포인트(
    Figure pat00125
    )에 대하여, 상기 프레임(t) 내의 상기 키 포인트(j)의 위치 추정치를 나타내는 상기 키 포인트(j)의 히트 맵(
    Figure pat00126
    )을 생성하는 단계;
    (b) 상기 입력된 비디오 내의 대응하는 프레임(t)의 상대적 시간의 함수로서 각 히트 맵(
    Figure pat00127
    )을 컬러화하는 단계;
    (c) 각 키 포인트(
    Figure pat00128
    )에 대하여, 상기 키 포인트(j)의 모든 컬러화된 히트 맵들(
    Figure pat00129
    )을 상기 입력된 비디오 동안에 상기 키 포인트(j)의 위치 추정치의 변화를 나타내는 적어도 하나의 이미지(Sj, Uj, Ij, Nj)로 병합하는 단계; 및
    (d) 상기 입력된 비디오 동안에 각 키 포인트(j)의 상기 위치 추정치의 상기 변화를 나타내는 이미지들(Sj, Uj, Ij, Nj)의 세트를 입력으로 사용하여 상기 입력된 비디오 내의 행동을 상기 컨벌루션 신경망을 이용하여 분류하는 단계를 포함하는 행동 분류 방법.
  21. 제20 항에 있어서,
    상기 컨벌루션 신경망은 타겟 비디오 내의 대상들에 의해 수행되는 행동들을 분류하기 위하여 각각 이미 분류된 행동들을 수행하는 대상을 묘사하는 복수의 트레이닝 비디오들을 이용하여 트레이닝되며,
    상기 컨벌루션 신경망의 트레이닝은,
    (i) 상기 트레이닝 비디오의 각 프레임(
    Figure pat00130
    )에 대하여, 상기 대상의 각 키 포인트(
    Figure pat00131
    )에 대하여, 상기 프레임(t) 내의 상기 키 포인트(j)의 위치 추정치를 나타내는 상기 키 포인트(j)의 히트 맵(
    Figure pat00132
    )을 생성하는 단계;
    (ii) 상기 비디오에서 대응하는 프레임(t)의 상대적 시간의 함수로서 각 히트 맵(
    Figure pat00133
    )을 컬러화하는 단계;
    (iii) 각 키 포인트(
    Figure pat00134
    )에 대하여, 상기 키 포인트(j)의 모든 컬러화된 히트 맵들(
    Figure pat00135
    )을 상기 비디오 동안에 상기 키 포인트(j)의 위치 추정치의 변화를 나타내는 적어도 하나의 이미지(Sj, Uj, Ij, Nj)로 병합하는 단계; 및
    (iv) 상기 비디오 동안에 각 키 포인트(j)의 상기 위치 추정치의 상기 변화를 나타내는 이미지들(Sj, Uj, Ij, Nj)의 각 트레이닝 비디오와 관련되는 세트들을 입력으로 사용하여 상기 컨벌루션 신경망을 트레이닝하는 단계를 포함하는 행동 분류 방법.
  22. 제21 항에 있어서,
    상기 각 히트 맵을 컬러화하는 단계는 상기 비디오 내의 상기 대응하는 프레임(t)의 상기 상대적 시간에 종속하는 C-차원 컬러화 함수 (o(t) = (o1(t), ..., oC(t)))를 각 히트 맵(
    Figure pat00136
    )에 적용하는 단계를 포함하는 행동 분류 방법.
  23. 제22 항에 있어서,
    상기 T개의 프레임들은 C-1개의 간격들(intervals)로 분할되고, 상기 C-차원 컬러화 함수(o(t))는 각각의 제k 간격(
    Figure pat00137
    )에서 상기 C-차원 컬러화 함수(o(t))의 제k 성분(ok(t))이 1에서 0으로 감소하고 상기 C-차원 컬러화 함수(o(t))의 제k+1 성분(ok+1(t))이 0에서 1로 증가하며 상기 C-차원 컬러화 함수(o(t))의 나머지 다른 성분(oc(t))은 계속하여 0과 동일하도록 정의되는 행동 분류 방법.
  24. 제23 항에 있어서,
    상기 C-차원 컬러화 함수(o(t))의 상기 성분들(oc(t),
    Figure pat00138
    )은 다음의 속성들을 만족하는 행동 분류 방법.
    Figure pat00139

    Figure pat00140
    , oc(t)는 구분적으로 연속적인 선형 함수(continuous piecewise linear function )임.
  25. 제22 항에 있어서,
    픽셀(x; y)과 채널(
    Figure pat00141
    )에 대해 프레임(t)에서 키 포인트(j)의 컬러화된 히트 맵 값(
    Figure pat00142
    )은 상기 C-차원 컬러화 함수(o(t))의 제c 성분(oc(t))이 포함된 수학식(
    Figure pat00143
    )에 의해 히트 맵 값(
    Figure pat00144
    )으로부터 주어지는 행동 분류 방법.
  26. 제21 항에 있어서,
    상기 각 히트 맵을 컬러화하는 단계는 각각의 키 포인트(
    Figure pat00145
    )에 대하여 상기 프레임들(t)에 걸쳐 상기 키 포인트(j)의 컬러화된 히트 맵들(
    Figure pat00146
    )을 합계함으로써 로우 이미지(Sj)를 결정하는 단계를 포함하는 행동 분류 방법.
  27. 제26 항에 있어서,
    상기 각 히트 맵을 컬러화하는 단계는 각각의 로우 이미지(Sj)에 대하여 상기 로우 이미지(Sj)를 제1 정규화된 이미지(Uj)로 정규화하는 단계를 포함하는 행동 분류 방법.
  28. 제27 항에 있어서,
    픽셀(x; y)과 채널(c)에 대해 키 포인트(j)의 상기 제1 정규화된 이미지(Uj)의 값은 수학식(
    Figure pat00147
    )에 의해 대응하는 로우 이미지(Sj)의 값으로부터 주어지는 행동 분류 방법.
  29. 제27 항에 있어서,
    상기 각 히트 맵을 컬러화하는 단계는 각각의 제1 정규화된 이미지(Uj)에 대하여 상기 제1 정규화된 이미지(Uj)의 C개의 채널들을 1-채널 세기 이미지(Ij)로 병합하는 단계를 포함하는 행동 분류 방법.
  30. 제29 항에 있어서,
    각각의 세기 이미지(Ij)는 상기 채널들(c)에 걸쳐 상기 대응하는 제1 정규화된 이미지(Uj)를 합계함으로써 결정되는 행동 분류 방법.
  31. 제29 항에 있어서,
    상기 각 히트 맵을 컬러화하는 단계는 각 정규화된 이미지(Uj)에 대하여 상기 대응하는 세기 이미지(Ij)의 함수로서 상기 제1 정규화된 이미지(Uj)를 제2 정규화된 이미지(Nj)로 추가로 정규화하는 단계를 포함하는 행동 분류 방법.
  32. 제21 항에 있어서,
    상기 컨벌루션 신경망을 트레이닝하는 단계는 각각의 트레이닝 비디오에 대하여 상기 컨벌루션 신경망에 입력으로 사용하기 위해 상기 트레이닝 비디오와 관련되는 이미지들(Sj, Uj, Ij, Nj)의 세트를 상기 비디오 동안 모든 키 포인트들(j)의 상기 위치 추정치의 상기 변화를 나타내는 글로벌 이미지로 스택(stacking)하는 단계를 포함하는 행동 분류 방법.
KR1020190037967A 2018-03-30 2019-04-01 컨벌루션 신경망을 트레이닝하고 트레이닝된 컨벌루션 신경망을 이용하여 비디오의 대상에 의해 수행되는 행동을 분류하기 위한 시스템 및 방법 KR20200068545A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
EP18305367.7 2018-03-30
EP18305367.7A EP3547211B1 (en) 2018-03-30 2018-03-30 Methods for training a cnn and classifying an action performed by a subject in an inputted video using said cnn
US201962818780P 2019-03-15 2019-03-15
US62/818,780 2019-03-15

Publications (1)

Publication Number Publication Date
KR20200068545A true KR20200068545A (ko) 2020-06-15

Family

ID=62217897

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190037967A KR20200068545A (ko) 2018-03-30 2019-04-01 컨벌루션 신경망을 트레이닝하고 트레이닝된 컨벌루션 신경망을 이용하여 비디오의 대상에 의해 수행되는 행동을 분류하기 위한 시스템 및 방법

Country Status (3)

Country Link
US (1) US10867184B2 (ko)
EP (1) EP3547211B1 (ko)
KR (1) KR20200068545A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220060587A (ko) * 2020-11-04 2022-05-12 한국전자기술연구원 이상 이벤트 탐지 방법, 장치 및 시스템
KR20220093642A (ko) * 2020-12-28 2022-07-05 한국로봇융합연구원 학습모델 기반의 발달 장애 조기 선별을 위한 데이터에 대한 레이블링을 위한 장치 및 이를 위한 방법
WO2023068441A1 (ko) * 2021-10-20 2023-04-27 중앙대학교 산학협력단 딥러닝을 이용한 행동 인식 방법 및 그 장치

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018210796A1 (en) * 2017-05-15 2018-11-22 Deepmind Technologies Limited Neural network systems for action recognition in videos
CN109670397B (zh) * 2018-11-07 2020-10-30 北京达佳互联信息技术有限公司 人体骨骼关键点的检测方法、装置、电子设备及存储介质
US11282198B2 (en) 2018-11-21 2022-03-22 Enlitic, Inc. Heat map generating system and methods for use therewith
EP3731185A1 (en) * 2019-04-26 2020-10-28 Tata Consultancy Services Limited Weakly supervised learning of 3d human poses from 2d poses
US11151412B2 (en) * 2019-07-01 2021-10-19 Everseen Limited Systems and methods for determining actions performed by objects within images
US11481619B2 (en) * 2019-07-10 2022-10-25 Adobe Inc. Incorporating black-box functions in neural networks
JP7383435B2 (ja) * 2019-09-17 2023-11-20 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
CN110765898B (zh) * 2019-10-09 2022-11-22 东软睿驰汽车技术(沈阳)有限公司 一种图像中物体及其关键点的确定方法和装置
CN110929638B (zh) * 2019-11-20 2023-03-07 北京奇艺世纪科技有限公司 一种人体关键点识别方法、装置及电子设备
CN110909663B (zh) * 2019-11-20 2022-10-25 北京奇艺世纪科技有限公司 一种人体关键点识别方法、装置及电子设备
US11178368B2 (en) 2019-11-26 2021-11-16 Adobe Inc. Automatic digital parameter adjustment including tone and color correction
CN110969114B (zh) * 2019-11-28 2023-06-09 四川省骨科医院 一种人体动作功能检测系统、检测方法及检测仪
CN111062970A (zh) * 2019-12-10 2020-04-24 广州电力工程监理有限公司 一种基于热力图的轨迹生成方法及系统
CN111046826B (zh) * 2019-12-20 2023-07-04 北京碧拓科技有限公司 一种远红外热成像人脸关键点的定位方法
CN113132727B (zh) * 2019-12-30 2022-07-22 北京大学 可伸缩机器视觉编码方法和运动引导图像生成网络的训练方法
CN113132732B (zh) * 2019-12-31 2022-07-29 北京大学 一种人机协同的视频编码方法及视频编码系统
CN111222493B (zh) * 2020-01-20 2023-07-28 北京捷通华声科技股份有限公司 一种视频处理方法及装置
US11676018B2 (en) * 2020-01-30 2023-06-13 Mediatek Inc. Feature extraction with keypoint resampling and fusion (KRF)
CN111639571B (zh) * 2020-05-20 2023-05-23 浙江工商大学 基于轮廓卷积神经网络的视频动作识别方法
CN111709428B (zh) * 2020-05-29 2023-09-15 北京百度网讯科技有限公司 图像中关键点位置的识别方法、装置、电子设备及介质
CN111783882B (zh) * 2020-06-30 2022-09-09 北京市商汤科技开发有限公司 关键点检测方法、装置、电子设备及存储介质
CN111814700B (zh) * 2020-07-13 2023-09-26 苏州玥林信息科技有限公司 一种基于儿童行为特征的行为动作识别方法
CN112002039A (zh) * 2020-08-22 2020-11-27 王冬井 基于人工智能和人体感知的档案柜柜门自动控制方法
CN112017212B (zh) * 2020-08-26 2022-10-04 北京紫光展锐通信技术有限公司 人脸关键点跟踪模型的训练、跟踪方法及系统
CN111737396A (zh) * 2020-08-26 2020-10-02 成都四方伟业软件股份有限公司 一种基于2d卷积提升热力图显示性能的方法及装置
CN112131985B (zh) * 2020-09-11 2024-01-09 同济人工智能研究院(苏州)有限公司 一种基于OpenPose改进的实时轻量人体姿态估计方法
CN112347861B (zh) * 2020-10-16 2023-12-05 浙江工商大学 一种基于运动特征约束的人体姿态估计方法
CN114548355A (zh) * 2020-11-26 2022-05-27 中兴通讯股份有限公司 Cnn训练方法、电子设备和计算机可读存储介质
CN112801042B (zh) * 2021-03-08 2023-12-15 南京大学 一种基于深度学习和视频轨迹的学生上课行为识别方法
CN113408568B (zh) * 2021-04-16 2024-04-16 科大讯飞股份有限公司 对象关键点的检测模型训练的相关方法、装置、设备
US11463656B1 (en) * 2021-07-06 2022-10-04 Dell Products, Lp System and method for received video performance optimizations during a video conference session
CA3225826A1 (en) * 2021-07-27 2023-02-02 Caroline ROUGIER Two-dimensional pose estimations
WO2023063950A1 (en) * 2021-10-14 2023-04-20 Hewlett-Packard Development Company, L.P. Training models for object detection
CN114638878B (zh) * 2022-03-18 2022-11-11 北京安德医智科技有限公司 基于深度学习的二维超声心动图管径检测方法及装置
CN114492216B (zh) * 2022-04-19 2022-07-19 中国石油大学(华东) 一种基于高分辨率表征学习的抽油机运行轨迹模拟方法
CN114999002B (zh) * 2022-08-04 2022-11-11 松立控股集团股份有限公司 一种融合人体姿态信息的行为识别方法
CN117197877B (zh) * 2023-11-07 2024-03-19 山东省工业技术研究院 一种基于区域加权光流特征的微表情识别方法及系统

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005040830A1 (de) * 2005-08-25 2007-03-15 Carl Zeiss Jena Gmbh Optische Anordnung und Verfahren zur Abbildung tiefenstrukturierter Objekte
US8165407B1 (en) * 2006-10-06 2012-04-24 Hrl Laboratories, Llc Visual attention and object recognition system
US7949191B1 (en) * 2007-04-04 2011-05-24 A9.Com, Inc. Method and system for searching for information on a network in response to an image query sent by a user from a mobile communications device
US8150165B2 (en) * 2008-04-11 2012-04-03 Recognition Robotics, Inc. System and method for visual recognition
US8760756B2 (en) * 2008-10-14 2014-06-24 Burnham Institute For Medical Research Automated scanning cytometry using chromatic aberration for multiplanar image acquisition
US8761512B1 (en) * 2009-12-03 2014-06-24 Google Inc. Query by image
EP2545522B1 (en) * 2010-03-09 2017-07-26 Perceptimed, Inc. Medication verification and dispensing
US9092736B2 (en) * 2010-07-07 2015-07-28 Qualcomm Incorporated Communication and synapse training method and hardware for biologically inspired networks
US8615105B1 (en) * 2010-08-31 2013-12-24 The Boeing Company Object tracking system
US8442321B1 (en) * 2011-09-14 2013-05-14 Google Inc. Object recognition in images
US8805029B1 (en) * 2011-11-30 2014-08-12 Google Inc. Visual security mechanism for a device with a front-facing camera
US9836839B2 (en) * 2015-05-28 2017-12-05 Tokitae Llc Image analysis systems and related methods
US9652890B2 (en) * 2015-09-29 2017-05-16 Disney Enterprises, Inc. Methods and systems of generating an anatomically-constrained local model for performance capture
US10242266B2 (en) * 2016-03-02 2019-03-26 Mitsubishi Electric Research Laboratories, Inc. Method and system for detecting actions in videos
CN107273800B (zh) * 2017-05-17 2020-08-14 大连理工大学 一种基于注意机制的卷积递归神经网络的动作识别方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220060587A (ko) * 2020-11-04 2022-05-12 한국전자기술연구원 이상 이벤트 탐지 방법, 장치 및 시스템
KR20220093642A (ko) * 2020-12-28 2022-07-05 한국로봇융합연구원 학습모델 기반의 발달 장애 조기 선별을 위한 데이터에 대한 레이블링을 위한 장치 및 이를 위한 방법
WO2023068441A1 (ko) * 2021-10-20 2023-04-27 중앙대학교 산학협력단 딥러닝을 이용한 행동 인식 방법 및 그 장치

Also Published As

Publication number Publication date
EP3547211A1 (en) 2019-10-02
US10867184B2 (en) 2020-12-15
EP3547211B1 (en) 2021-11-17
US20190303677A1 (en) 2019-10-03

Similar Documents

Publication Publication Date Title
KR20200068545A (ko) 컨벌루션 신경망을 트레이닝하고 트레이닝된 컨벌루션 신경망을 이용하여 비디오의 대상에 의해 수행되는 행동을 분류하기 위한 시스템 및 방법
Aneja et al. Sequential latent spaces for modeling the intention during diverse image captioning
Liu et al. Human pose estimation in video via structured space learning and halfway temporal evaluation
CN110472604B (zh) 一种基于视频的行人与人群行为识别方法
Xu et al. A hierarchical spatio-temporal model for human activity recognition
KR20210031405A (ko) 암시적 포즈 표현을 이용한 행동 인식
CN109685037B (zh) 一种实时动作识别方法、装置及电子设备
US20160296795A1 (en) Apparatus and method for analyzing golf motion
Mousavi et al. Learning to predict where to look in interactive environments using deep recurrent q-learning
Liu et al. Joint dynamic pose image and space time reversal for human action recognition from videos
Oreshkin et al. Protores: Proto-residual network for pose authoring via learned inverse kinematics
CN117218709A (zh) 基于时间可变形注意力机制的居家老人实时状态监测方法
CN115346262A (zh) 一种表情驱动参数的确定方法、装置、设备及存储介质
CN113420703B (zh) 基于多尺度特征提取和多注意力机制建模的动态面部表情识别方法
CN112149602B (zh) 动作计数方法、装置、电子设备及存储介质
US11657281B2 (en) Method and system for symmetric recognition of handed activities
Mohamed A novice guide towards human motion analysis and understanding
Wang [Retracted] Long Jump Action Recognition Based on Deep Convolutional Neural Network
NL2020989B1 (en) Monitoring and analyzing body language with machine learning, using artificial intelligence systems for improving interaction between humans, and humans and robots.
CN111914798A (zh) 基于骨骼关节点数据的人体行为识别方法
Malawski et al. Automatic analysis of techniques and body motion patterns in sport
Elkess et al. Karate First Kata Performance Analysis and Evaluation with Computer Vision and Machine Learning
Yadav et al. An Efficient Deep Convolutional Neural Network Model For Yoga Pose Recognition Using Single Images
Du [Retracted] The Selecting Optimal Ball‐Receiving Body Parts Using Pose Sequence Analysis and Sports Biomechanics
WO2023090040A1 (ja) コメント生成装置、コメント生成方法及びプログラム