KR20200068545A - 컨벌루션 신경망을 트레이닝하고 트레이닝된 컨벌루션 신경망을 이용하여 비디오의 대상에 의해 수행되는 행동을 분류하기 위한 시스템 및 방법 - Google Patents
컨벌루션 신경망을 트레이닝하고 트레이닝된 컨벌루션 신경망을 이용하여 비디오의 대상에 의해 수행되는 행동을 분류하기 위한 시스템 및 방법 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 89
- 238000012549 training Methods 0.000 title claims abstract description 87
- 238000013527 convolutional neural network Methods 0.000 title claims abstract description 85
- 230000009471 action Effects 0.000 title claims abstract description 34
- 230000006399 behavior Effects 0.000 claims description 53
- 238000004040 coloring Methods 0.000 claims description 38
- 230000008859 change Effects 0.000 claims description 28
- 230000014509 gene expression Effects 0.000 claims description 18
- 238000012886 linear function Methods 0.000 claims description 8
- 230000001419 dependent effect Effects 0.000 claims description 6
- 230000007423 decrease Effects 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 5
- 230000003542 behavioural effect Effects 0.000 claims description 4
- 238000010606 normalization Methods 0.000 claims description 4
- 230000004931 aggregating effect Effects 0.000 abstract 1
- 230000006870 function Effects 0.000 description 32
- 230000033001 locomotion Effects 0.000 description 18
- 230000036544 posture Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000011176 pooling Methods 0.000 description 7
- 238000007796 conventional method Methods 0.000 description 6
- 210000002569 neuron Anatomy 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000004913 activation Effects 0.000 description 3
- 238000001994 activation Methods 0.000 description 3
- 230000015654 memory Effects 0.000 description 3
- 241001465754 Metazoa Species 0.000 description 2
- 230000009194 climbing Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000035622 drinking Effects 0.000 description 2
- 210000005069 ears Anatomy 0.000 description 2
- YYJNOYZRYGDPNH-MFKUBSTISA-N fenpyroximate Chemical compound C=1C=C(C(=O)OC(C)(C)C)C=CC=1CO/N=C/C=1C(C)=NN(C)C=1OC1=CC=CC=C1 YYJNOYZRYGDPNH-MFKUBSTISA-N 0.000 description 2
- 210000002683 foot Anatomy 0.000 description 2
- 210000004247 hand Anatomy 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 210000003127 knee Anatomy 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009183 running Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000009966 trimming Methods 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 210000000707 wrist Anatomy 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 210000003423 ankle Anatomy 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000004791 biological behavior Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 230000001055 chewing effect Effects 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 239000006103 coloring component Substances 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000009189 diving Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 210000003414 extremity Anatomy 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 210000003128 head Anatomy 0.000 description 1
- 239000004615 ingredient Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 210000000056 organ Anatomy 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000000391 smoking effect Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
- 210000000857 visual cortex Anatomy 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 230000009184 walking Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G06K9/00718—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/41—Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/46—Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis 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
본 발명은 머신 러닝에 관한 것으로서, 더욱 구체적으로는, 행동, 특히, 인간 행동을 분류하기 위해 컨벌루션 신경망을 트레이닝하고 이러한 컨벌루션 신경망을 이용하는 방법에 관한 것이다.
컴퓨터 비전은 컴퓨터들에게 디지털 비디오들로부터의 고급 이해를 제공하고자 노력하는 최신 분야이다. 컴퓨터 비전은 인간의 시각 체계가 할 수 있는 업무들을 자동화하려 한다.
가장 도전적인 업무들 중 하나는 인간의 행동 인식, 즉, 특히 가능성 있는 명단 중에서 인간에 의해 수행되는 행동을 시각적으로 식별하는 능력(분류)이다.
예를 들면, 공공 장소에서의 위협들(예컨대 싸움, 무기 뽑기(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) 상기 트레이닝 비디오의 각 프레임()에 대하여, 상기 대상의 각 키 포인트()에 대하여, 상기 프레임(t) 내의 상기 키 포인트(j)의 위치 추정치를 나타내는 상기 키 포인트(j)의 히트 맵()을 생성하는 단계; (b) 상기 비디오에서 대응하는 프레임(t)의 상대적 시간의 함수로서 각 히트 맵()을 컬러화하는 단계; (c) 각 키 포인트()에 대하여, 상기 키 포인트(j)의 모든 컬러화된 히트 맵들()을 상기 비디오 동안에 상기 키 포인트(j)의 위치 추정치의 변화를 나타내는 적어도 하나의 이미지(Sj, Uj, Ij, Nj)로 병합하는 단계; 및 (d) 상기 비디오 동안에 각 키 포인트(j)의 상기 위치 추정치의 상기 변화를 나타내는 이미지들(Sj, Uj, Ij, Nj)의 각 트레이닝 비디오와 관련되는 세트들을 입력으로 사용하여 상기 컨벌루션 신경망을 트레이닝하는 단계를 포함한다.
상기 각 히트 맵을 컬러화하는 단계는 상기 비디오 내의 상기 대응하는 프레임(t)의 상기 상대적 시간에 종속하는 C-차원 컬러화 함수 (o(t) = (o1(t), ..., oC(t)))를 각 히트 맵()에 적용하는 단계를 포함할 수 있다.
상기 T개의 프레임들은 C-1개의 간격들(intervals)로 분할되고, 상기 C-차원 컬러화 함수(o(t))는 각각의 제k 간격()에서 상기 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), )은 다음의 속성들을 만족할 수 있다: ; 및 , oc(t)는 구분적으로 연속적인 선형 함수(continuous piecewise linear function )임.
픽셀(x; y)과 채널()에 대해 프레임(t)에서 키 포인트(j)의 컬러화된 히트 맵 값()은 상기 C-차원 컬러화 함수(o(t))의 제c 성분(oc(t))이 포함된 수학식()에 의해 히트 맵 값()으로부터 주어질 수 있다.
상기 각 히트 맵을 컬러화하는 단계는 각각의 키 포인트()에 대하여 상기 프레임들(t)에 걸쳐 상기 키 포인트(j)의 컬러화된 히트 맵들()을 합계함으로써 로우 이미지(Sj)를 결정하는 단계를 포함할 수 있다.
상기 각 히트 맵을 컬러화하는 단계는 각각의 로우 이미지(Sj)에 대하여 상기 로우 이미지(Sj)를 제1 정규화된 이미지(Uj)로 정규화하는 단계를 포함할 수 있다.
상기 각 히트 맵을 컬러화하는 단계는 각각의 제1 정규화된 이미지(Uj)에 대하여 상기 제1 정규화된 이미지(Uj)의 C개의 채널들을 1-채널 세기 이미지(Ij)로 병합하는 단계를 포함할 수 있다.
각각의 세기 이미지(Ij)는 상기 채널들(c)에 걸쳐 상기 대응하는 제1 정규화된 이미지(Uj)를 합계함으로써 결정될 수 있다.
상기 각 히트 맵을 컬러화하는 단계는 각 정규화된 이미지(Uj)에 대하여 상기 대응하는 세기 이미지(Ij)의 함수로서 상기 제1 정규화된 이미지(Uj)를 제2 정규화된 이미지(Nj)로 추가로 정규화하는 단계를 포함할 수 있다.
픽셀(x; y)와 채널(c)에 대해 키 포인트(j)의 상기 제2 정규화된 이미지(Nj)의 값은 수학식()에 의해 상기 대응하는 제1 정규화된 이미지(Uj)의 값과 상기 세기 이미지(Ij)로부터 주어질 수 있다.
상기 컨벌루션 신경망을 트레이닝하는 단계는 각각의 트레이닝 비디오에 대하여 상기 컨벌루션 신경망에 입력으로 사용하기 위해 상기 트레이닝 비디오와 관련되는 이미지들(Sj, Uj, Ij, Nj)의 세트를 상기 비디오 동안 모든 키 포인트들(j)의 상기 위치 추정치의 상기 변화를 나타내는 글로벌 이미지로 스택(stacking)하는 단계를 포함할 수 있다.
데이터 프로세서를 사용하여, 입력된 비디오 내의 대상에 의해 수행되는 행동을 컨벌루션 신경망을 이용하여 분류하기 위한 방법은 (a) 상기 입력된 각 프레임()에 대하여, 상기 대상의 각 키 포인트()에 대하여, 상기 프레임(t) 내의 상기 키 포인트(j)의 위치 추정치를 나타내는 상기 키 포인트(j)의 히트 맵()을 생성하는 단계; (b) 상기 입력된 비디오 내의 대응하는 프레임(t)의 상대적 시간의 함수로서 각 히트 맵()을 컬러화하는 단계; (c) 각 키 포인트()에 대하여, 상기 키 포인트(j)의 모든 컬러화된 히트 맵들()을 상기 입력된 비디오 동안에 상기 키 포인트(j)의 위치 추정치의 변화를 나타내는 적어도 하나의 이미지(Sj, Uj, Ij, Nj)로 병합하는 단계; 및 (d) 상기 입력된 비디오 동안에 각 키 포인트(j)의 상기 위치 추정치의 상기 변화를 나타내는 이미지들(Sj, Uj, Ij, Nj)의 세트를 입력으로 사용하여 상기 입력된 비디오 내의 행동을 상기 컨벌루션 신경망을 이용하여 분류하는 단계를 포함한다.
상기 컨벌루션 신경망은 타겟 비디오 내의 대상들에 의해 수행되는 행동들을 분류하기 위하여 각각 이미 분류된 행동들을 수행하는 대상을 묘사하는 복수의 트레이닝 비디오들을 이용하여 트레이닝될 수 있다. 상기 컨벌루션 신경망의 트레이닝은 (i) 상기 트레이닝 비디오의 각 프레임()에 대하여, 상기 대상의 각 키 포인트()에 대하여, 상기 프레임(t) 내의 상기 키 포인트(j)의 위치 추정치를 나타내는 상기 키 포인트(j)의 히트 맵()을 생성하는 단계; (ii) 상기 비디오에서 대응하는 프레임(t)의 상대적 시간의 함수로서 각 히트 맵()을 컬러화하는 단계; (iii) 각 키 포인트()에 대하여, 상기 키 포인트(j)의 모든 컬러화된 히트 맵들()을 상기 비디오 동안에 상기 키 포인트(j)의 위치 추정치의 변화를 나타내는 적어도 하나의 이미지(Sj, Uj, Ij, Nj)로 병합하는 단계; 및 (iv) 상기 비디오 동안에 각 키 포인트(j)의 상기 위치 추정치의 상기 변화를 나타내는 이미지들(Sj, Uj, Ij, Nj)의 각 트레이닝 비디오와 관련되는 세트들을 입력으로 사용하여 상기 컨벌루션 신경망을 트레이닝하는 단계를 포함할 수 있다.
상기 각 히트 맵을 컬러화하는 단계는 상기 비디오 내의 상기 대응하는 프레임(t)의 상기 상대적 시간에 종속하는 C-차원 컬러화 함수 (o(t) = (o1(t), ..., oC(t)))를 각 히트 맵()에 적용하는 단계를 포함할 수 있다.
상기 T개의 프레임들은 C-1개의 간격들(intervals)로 분할되고, 상기 C-차원 컬러화 함수(o(t))는 각각의 제k 간격()에서 상기 C-차원 컬러화 함수(o(t))의 제k 성분(ok(t))이 1에서 0으로 감소하고 상기 C-차원 컬러화 함수(o(t))의 제k+1 성분(ok+1(t))이 0에서 1로 증가하며 상기 C-차원 컬러화 함수(o(t))의 나머지 다른 성분(oc(t))은 계속하여 0과 동일하도록 정의될 수 있다.
픽셀(x; y)과 채널()에 대해 프레임(t)에서 키 포인트(j)의 컬러화된 히트 맵 값()은 상기 C-차원 컬러화 함수(o(t))의 제c 성분(oc(t))이 포함된 수학식()에 의해 히트 맵 값()으로부터 주어질 수 있다.
상기 각 히트 맵을 컬러화하는 단계는 각각의 키 포인트()에 대하여 상기 프레임들(t)에 걸쳐 상기 키 포인트(j)의 컬러화된 히트 맵들()을 합계함으로써 로우 이미지(Sj)를 결정하는 단계를 포함할 수 있다.
상기 각 히트 맵을 컬러화하는 단계는 각각의 로우 이미지(Sj)에 대하여 상기 로우 이미지(Sj)를 제1 정규화된 이미지(Uj)로 정규화하는 단계를 포함할 수 있다.
상기 각 히트 맵을 컬러화하는 단계는 각각의 제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의 컨벌루션 신경망 아키텍처를 이용한 인간 행동 인식 방법이 갖는 효율성을 도시한다.
도 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 ()으로 언급될 것이다. 각각의 프레임은 이미지, 즉, 주어진 크기의 픽셀들, 예컨대, 368 x 368 픽셀들의 매트릭스이다.
아래에서 설명되는 행동 분류에 있어서, 비디오 내의 행동들은 결정된 "대상(subject)"에 의해 수행되며, "대상"은 비디오에서 감지될 수 있고 행동을 수행할 수 있으며 인지될 수 있는 "키 포인트들(key points)"을 제시하는 임의 종류의 타겟으로 정의된다.
예를 들면, 행동은 생물 행동(즉, 대상은 생물임), 더욱 구체적으로, 인간 행동(즉, 대상은 인간임) 일 수 있다. 인간 행동 분류의 예에서, 아래에서 더욱 자세히 설명되겠지만, 키 포인트들은 독특한 인간의 해부학적 특징들, 더욱 구체적으로는 (무릎, 팔꿈치, 어깨 등과 같은) 관절들, (손, 발, 머리 등과 같은) 말단, 또는 (눈, 귀, 코 등과 같이) 눈에 보이는 기관들이다.
다르게 말하자면, 키 포인들은 쉽게 추적할 수 있고 행동들을 구별 지을 수 있게 하는 대상의 포인트들이다. 예를 들면, 인간의 관절의 경우에, 손목은 쉽게 추적될 수 있고 넓은 범위의 팔 자세들을 구별 지을 수 있게 한다.
소정의 n개의 키 포인트들의 리스트가 제공될 수 있다. 이 리스트의 일반적인 키 포인트는 키 포인트 j ()로 언급될 것이다. 예를 들면, 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에 도시된 바와 같이, 비디오의 각 프레임()에 대하여, 그리고 키 포인트들의 리스트에서 각 키 포인트()에 대하여, 제1 서버(20)의 데이터 프로세서(21)는 프레임 내의 키 포인트의 위치 추정치를 나타내는 키 포인트의 히트 맵()을 생성한다.
히트 맵()은 쌍(프레임 t, 키 포인트 j)과 관련된다. 다시 말하자면, Tㅇn개의 히트 맵들()의 집합{}이 생성된다. 각 프레임(t)에 대하여, 배경에 대한 추가 히트 맵{ }이 생성될 수 있다.
하위 단계(a0)는 키 포인트 측위(localization) 작업이라고 할 수 있다. 본 설명에서, 히트 맵은 각 픽셀에서 각 관절이 존재하는 예상 확률을 나타내는 확률론적 맵(probabilistic map)으로서, 는 픽셀(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개의 신뢰 맵들을 가지며, 여기서 이다. 세트(L = (L1, L2, ..., LC))는 림(limb) 당 하나씩 C 개의 벡터 필드들을 가지며, 여기서 이고, LC 내의 각 이미지 위치는 2차원 벡터를 인코딩한다.
마지막으로, 신뢰 맵들과 관련도 필드들은 탐욕적인 추론(greedy inference)에 의해 분석(parse)되어 이미지 내의 모든 대상들에 대한 2차원 키 포인트들을 출력한다.
2차원 자세 추정 방법은 다양한 관절 후보자들을 인간 자세들의 예들로 연관시키기 위해 뼈들에 대응하는 관절들의 쌍 간의 관련도를 나타내는 필드들뿐만 아니라 관절 히트 맵들을 추출한다.
히트 맵의 공간 해상도는 신경망의 스트라이드(stride)로 인하여 입력 프레임보다 낮을 수 있다. 예를 들면, 전술한 해법의 아키텍처는 8의 스트라이드를 가질 수 있으며, 368 x 368의 크기인 입력 프레임에 대하여 46 x 46의 히트 맵들을 가져올 수 있다.
실제는, 모든 히트 맵들()은 히트 맵들이 최소 치수를 예를 들면 64 픽셀들의 임계값으로 설정함으로써 동일한 크기를 가질 수 있도록 재조정될 수 있다. 다음과 같이, 히트 맵의 폭과 높이는 재조정 후에 각각 W 와 H로 표시될 수 있으며, min(W; H) = 64일 수 있다. 히트 맵 값들()은 확률들을 재귀하도록 트레이닝됨에도 불구하고 출력 값들이 약간 0보다 작거나 1보다 클 수 있긴 하지만 범위 [0; 1]로 고정될 수 있다.
제1 하위 단계(a0)는 예컨대 이미지 인식, 물체 검출 또는 위치 인식을 위한 컨벌루션 신경망들에 의해 계산되는 특징 맵들과 같은 임의 종류의 히트 맵들로 확장될 수 있다.
제2 하위 단계(a1)에서, 각 히트 맵()은 비디오 내의 대응하는 프레임의 상대적 시간(t)의 함수로 컬러화된다. 다시 말하지만, 치수(W x H)를 갖는 각 히트 맵()에 대하여, 치수(W x H x C), 즉, 동일한 공간 해상도를 갖지만 1보다 큰 C 개의 채널들을 갖는 대응하여 컬러화된 히트 맵()이 생성된다.
도 2에 도시된 바와 같이, 프레임(0)의 각 키 포인트 위치는 적색으로 컬러화된다. 프레임들이 컬러화 프로세서를 통해 진행됨에 따라 각각의 키 포인트 위치는 컬러화되어 적색에서 녹색으로 변하는 컬러화된 자취(swath)가 된다.
예를 들면, 도 2에 도시된 바와 같이, 프레임(t)의 각 키 포인트 위치는 황색, 황색을 띈 적색 또는 황색을 띈 녹색으로 컬러화된다. 도 2에 추가로 도시된 바와 같이, 프레임(T-1)의 각 키 포인트 위치는 녹색으로 컬러화된다.
C개의 채널들은 컬러 채널들로 해석될 수 있다. 예를 들면, C = 2인 채널들을 갖는 컬러화된 히트 맵()은 적색과 녹색 채널을 갖는 이미지로 시각화될 수 있고, C = 3인 채널들을 갖는 컬러화된 히트 맵()은 적색, 녹색 및청색 채널을 갖는 이미지로 시각화될 수 있다.
반대로, 초기 히트 맵()은 일 채널 이미지, 즉, "그레이스케일"이다. 행동 분류 방법은 C의 값이 3보다 클 때 더욱 효과적인 결과를 가져오지만, 컬러화는 각 채널을 RGB에 매핑함으로써 시각화할 수 있기 때문에 C가 2 또는 3일 때 실현 가능하다.
각 프레임 내의 각 키 포인트 위치를 컬러화함으로써, 키 포인트의 위치는 곡선의 x, y 좌표로 정의될 수 있으며, 움직임은 x, y 좌표에서 색상에 의해 시간에 대해 곡선으로 표현될 수 있다. 위치 곡선에 색상을 사용함으로써 비디오 내의 키 포인트의 자세(위치)와 움직임(PoTion)을 표현할 수 있다.
색상은 C-차원 튜플(), 즉, 상이한 채널들의 숙고된 조합으로 정의될 수 있다. 하위 단계(a2)는 바람직하게 비디오의 대응하는 프레임(t)의 상대적 시간에 종속하는 C-차원 컬러화 함수(o(t) = (o1(t), ..., oC(t)))를 각 히트 맵()에 적용하는 것을 포함할 수 있다. 다시 말하면, 동일한 컬러(o(t))는 주어진 프레임(t)의 모든 특징들(j)에 대해 히트 맵()을 컬러화하기 위해 적용될 수 있다.
따라서, 픽셀(x; y)과 채널()에 대하여 프레임(t)의 키 포인트(j)의 컬러화된 히트 맵 값()은 C-차원 컬러화 함수(o(t))의 제c 성분(oc(t))이 포함된 수학식()에 의해 (초기 일-채널) 히트 맵 값()으로부터 주어진다.
다른 컬러화 스킴들(즉, o(t)의 정의들)도 가능하다. 특히, 출력 채널들(C)의 다양한 개수들에 대응하는 예들이 도 3과 도 4에 도시된다.
도 3과 도 4의 상부에는 성분들(o1(t), ..., oC(t))이 도시되고, 도 3과 도 4의 하부에는 생성된 색상(o(t))가 도시된다.
바람직하게, 함수(o(t))는 다음의 속성들을 만족한다:
- : 즉, 성분들(o(t))의 합은 히트 맵을 "컬러화"하기 위해, 즉, 전술한 결과를 만들 때 위치 추정 정보를 변경하지 않고 컬러를 갖는 시간 정보를 추가하기 위해, 일정하고, 특히 1과 동일함.
도 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의 예에서, 선형 함수들은 다음과 같다:
두 예에 있어서, 색상은 불분명하게 변경될 수 있다. 즉, 성분들(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) 중 하나는 이고, 다른 하나는 이고, 마지막 하나는 일 수 있다.)
이러한 컬러화 스팀은 다른 개수의 색상 채널들(C)에 확장될 수 있으며, T개의 프레임들은 (C-1)개의 규칙적으로 샘플링된 간격들로 분할될 수 있다.
각 제k 간격()에서, 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)의 모든 컬러화된 히트 맵들()을 비디오 동안 키 포인트(j)의 위치 추정치의 변화를 나타내는 적어도 하나의 이미지(Sj, Uj, Ij, Nj)로 병합한다.
예를 들면, 도 2에 도시된 바와 같이, 코 키 포인트의 이미지는, 병합 후에, 적색을 통해 코 키 포인트가 초기에 이미지의 오른쪽에 위치하였음을 나타낸다. 그후 코 키 포인트는 (녹색으로 표현된 바와 같이) 이미지의 왼쪽(음의 x 방향)으로 이동한다. 이때, 코 키 포인트는 양의 y 방향으로 이동한 후 음의 y 방향으로 이동한다. 이것은 이미지들이 프레임(0)에서 프레임(T-1)로 변환하므로 인간 대상의 이미지와 일치한다.
도 2에 도시된 바와 같이, 인간 대상은 이미지의 오른쪽에서 시작하여 이미지의 왼쪽에서 끝난다. 이러한 행동은 도 2에 도시된 바와 같은 위치/움직임 이미지를 생성할 것이다.
아래에서 더욱 자세히 설명되겠지만, 컬러화된 히트 맵들()을 병합하는 다른 방법들도 가능하다. 특히, 4 종류의 이미지들까지 처리될 수 있다. (1) 로우 이미지(Sj), (2) 제1 정규화된 이미지(Uj), (3) 세기 이미지(Ij), 및 (4) 제2 정규화된 이미지(Nj)
4 종류의 이미지들 모두는 비디오 동안 키 포인트(j)의 위치 추정치의 변화를 나타내며, PoTion을 위한 훌륭한 후보자들이다.
임의 개수의 이러한 종류의 이미지들이 하위 단계(a2)에서 순차적으로 또는 직접 생성될 수 있다.
예를 들면, 4 종류의 이미지들은, 각 단계가 이전 단계로부터 이어지는, 연이은 단계들에서 생성된다.
당업자는 예를 들면 적절한 수학식을 사용하여 제2 정규화된 이미지(Nj)를 PoTion 표현으로서 직접 생성하는 것이 바람직할 수 있다는 것을 이해할 것이다.
Sj의 값들은 상기 합계로 인하여 프레임들의 개수(T)와 함께 증가한다. 비디오가 길수록, 픽셀들에 걸쳐 Sj의 평균 값은 높아질 것이다.
변치 않는 표현을 얻기 위해, 하위 단계(a2)는 각각의 로우 이미지(Sj)에 대하여 로우 이미지(Sj)를 (여전히 C-채널들)인 제1 정규화된 이미지(Uj)로 정규화하는 단계를 포함한다. 예를 들면, 각 채널(c)에 대하여, 합계된 히트 맵 값은 모든 픽셀들에 걸쳐 최대 값으로 나눔으로써 독립적으로 정규화된다: 즉, . 대안적으로, 정규화는 모든 프레임들에 걸쳐 컬러화 성분(oc(t))의 총합으로 나눔으로써 수행될 수 있다: 즉, .
예를 들면, 도 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)는 수학식()에 의해 주어진다. 세기 이미지(Ij)의 대응하는 예는 도 7에 도시된다.
완전히 정규화된 표현을 얻기 위하여, 하위 단계(a2)는 각 제1 정규화된 이미지(Uj)에 대해, 제1 정규화된 이미지(Uj)를 (여전히 C 채널들인) ("이중으로" 정규화된 이미지로 간주될 수 있는) 제2 정규화된 이미지(Nj)로, 대응하는 세기 이미지(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)의, 각각의 트레이닝 비디오와 연관되는, 세트들은 컨벌루션 신경망의 입력으로 사용된다.
대안적으로, 각 트레이닝 비디오에 대하여, 컨벌루션 신경망의 대응하는 입력은 모든 키 포인트들()에 대하여 비디오 동안 모든 키 포인트들의 위치 추정치의 변화를 나타내는 "글로벌" 이미지로 스택된 대응하는 이미지들(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)으로 초기화될 수 있다:
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) 입력된 비디오의 각 프레임()에 대하여, 대상의 각 키 포인트()에 대하여, 프레임(t) 내의 키 포인트(j)의 위치 추정치를 나타내는 키 포인트(j)의 히트 맵()을 생성하고; (2) 비디오 내의 대응하는 프레임(t)의 상대적 시간의 함수로서 각 히트 맵()을 컬러화하고; (3) 각 키 포인트()에 대하여, 키 포인트(j)의 모든 컬러화된 히트 맵들()을 비디오 동안에 키 포인트(j)의 위치 추정치의 변화를 나타내는 이미지(Sj, Uj, Ij, Nj)로 병합한다.
컬러화 및 병합 프로세스들은 이들에 대한 임의의 개량을 포함할 수 있다. 입력된 비디오 분류 방법은 (인지될 하나의 행동만을 포함하도록) 입력된 비디오의 트리밍을 실행할 수 있다.
그 후(병합 후), 제2 서버(30)의 데이터 프로세서(31)는 비디오 동안에 각 키 포인트(j)의 위치 추정치의 변화를 나타내는 이미지들(Sj, Uj, Ij, Nj)의 세트를 입력으로 사용하는 컨벌루션 신경망을 이용하여 입력된 비디오를 분류한다. 획득된 분류 결과는 다시 클라이언트 장치(10)로 전달될 수 있다.
도 10은 분류 정확성이 인플레이티드 3차원 컨벌루션 신경망을 기초로 분류할 때 거의 모든 클래스들에 대해 현저하게 개선된다는 것을 보여준다.
일부 클래스들(예컨대, 말하기, 마시기, 풀업 등)은 이미 완전히 분류되어서, 추가적인 이득이 가능하지 않다.
가장 큰 이득을 갖는 클래스들은 종종 상부 바디 관절들의 큰 움직임과 연관된다. 예를 들면, 검과 함께하는 운동을 포함하는 4개의 클래스들(검 뽑기, 펜싱, 검, 및 검도 연습)은 존재하는 PoTion 표현 중에서 가장 이득이 되는 클래스들에 속한다.
전체 행동에 비해 이러한 복잡한 운동들에 포함되는 바디 일부들의 상대적 위치들은 인지에 중요한 것으로 보인다. PoTion 표현은 장기적인 종속성(long-term dependencies)을 적절하게 인코딩하고, 따라서 적절한 설명을 제공하고 이러한 클래스들의 분류를 개선한다.
행동 분류 트레이닝 및 실제 행동 분류는 서버들의 데이터 프로세서를 사용하여 코드 명령어들을 포함하는 컴퓨터 프로그램 제품을 실행함으로써 구현될 수 있다.
앞에서 개시한 실시예들 및 다른 특징들과 기능들의 변형들, 또는 이들의 대체 형태들은 많은 여러 다른 시스템들 또는 어플리케이션들에 바람직하게 결함될 수 있다고 이해되어야 한다. 또한, 다양하게 존재하는 예측되지 않거나 예상되지 않은 대체 형태들, 수정 형태들, 변형들 또는 이들의 개선 형태들이 본 기술분야의 당업자들에 의해 나중에 만들어질 수 있으며, 이들도 역시 전술한 설명과 후속하는 청구범위에 의해 포함되는 것으로 의도된다.
Claims (32)
- 데이터 프로세서를 사용하여, 각각 이미 분류된 행동들을 수행하는 대상을 묘사하는 복수의 트레이닝 비디오들을 이용하여, 타겟 비디오에서 대상들에 의해 수행되는 행동들을 분류하기 위해 컨벌루션 신경망을 트레이닝하기 위한 방법으로서,
(a) 상기 트레이닝 비디오의 각 프레임()에 대하여, 상기 대상의 각 키 포인트()에 대하여, 상기 프레임(t) 내의 상기 키 포인트(j)의 위치 추정치를 나타내는 상기 키 포인트(j)의 히트 맵()을 생성하는 단계;
(b) 상기 비디오에서 대응하는 프레임(t)의 상대적 시간의 함수로서 각 히트 맵()을 컬러화하는 단계;
(c) 각 키 포인트()에 대하여, 상기 키 포인트(j)의 모든 컬러화된 히트 맵들()을 상기 비디오 동안에 상기 키 포인트(j)의 위치 추정치의 변화(evolution)를 나타내는 적어도 하나의 이미지(Sj, Uj, Ij, Nj)로 병합하는 단계; 및
(d) 상기 비디오 동안에 각 키 포인트(j)의 상기 위치 추정치의 상기 변화를 나타내는 이미지들(Sj, Uj, Ij, Nj)의 각 트레이닝 비디오와 관련되는 세트들을 입력으로 사용하여 상기 컨벌루션 신경망을 트레이닝하는 단계를 포함하는 컨벌루션 신경망의 트레이닝 방법. - 제8 항에 있어서,
상기 각 히트 맵을 컬러화하는 단계는 각각의 로우 이미지(Sj)에 대하여 상기 로우 이미지(Sj)를 제1 정규화된 이미지(Uj)로 정규화하는 단계를 포함하는 컨벌루션 신경망의 트레이닝 방법. - 제9 항에 있어서,
상기 각 히트 맵을 컬러화하는 단계는 각각의 제1 정규화된 이미지(Uj)에 대하여 상기 제1 정규화된 이미지(Uj)의 C개의 채널들을 1-채널 세기 이미지(Ij)로 병합하는 단계를 포함하는 컨벌루션 신경망의 트레이닝 방법. - 제10 항에 있어서,
상기 각 히트 맵을 컬러화하는 단계는 각각의 제1 정규화된 이미지(Uj)에 대하여 상기 제1 정규화된 이미지(Uj)의 C개의 채널들을 1-채널 세기 이미지(Ij)로 병합하는 단계를 포함하는 컨벌루션 신경망의 트레이닝 방법. - 제11 항에 있어서,
각각의 세기 이미지(Ij)는 상기 채널들(c)에 걸쳐 상기 대응하는 제1 정규화된 이미지(Uj)를 합계함으로써 결정되는 컨벌루션 신경망의 트레이닝 방법. - 제11 항에 있어서,
상기 각 히트 맵을 컬러화하는 단계는 각 정규화된 이미지(Uj)에 대하여 상기 대응하는 세기 이미지(Ij)의 함수로서 상기 제1 정규화된 이미지(Uj)를 제2 정규화된 이미지(Nj)로 추가로 정규화하는 단계를 포함하는 컨벌루션 신경망의 트레이닝 방법. - 제12 항에 있어서,
상기 각 히트 맵을 컬러화하는 단계는 각 정규화된 이미지(Uj)에 대하여 상기 대응하는 세기 이미지(Ij)의 함수로서 상기 제1 정규화된 이미지(Uj)를 제2 정규화된 이미지(Nj)로 추가로 정규화하는 단계를 포함하는 컨벌루션 신경망의 트레이닝 방법. - 제1 항에 있어서,
상기 컨벌루션 신경망을 트레이닝하는 단계는 각각의 트레이닝 비디오에 대하여 상기 컨벌루션 신경망에 입력으로 사용하기 위해 상기 트레이닝 비디오와 관련되는 이미지들(Sj, Uj, Ij, Nj)의 세트를 상기 비디오 동안 모든 키 포인트들(j)의 상기 위치 추정치의 상기 변화를 나타내는 글로벌 이미지로 스택(stacking)하는 단계를 포함하는 컨벌루션 신경망의 트레이닝 방법. - 제2 항에 있어서,
상기 컨벌루션 신경망을 트레이닝하는 단계는 각각의 트레이닝 비디오에 대하여 상기 컨벌루션 신경망에 입력으로 사용하기 위해 상기 트레이닝 비디오와 관련되는 이미지들(Sj, Uj, Ij, Nj)의 세트를 상기 비디오 동안 모든 키 포인트들(j)의 상기 위치 추정치의 상기 변화를 나타내는 글로벌 이미지로 스택(stacking)하는 단계를 포함하는 컨벌루션 신경망의 트레이닝 방법. - 제3 항에 있어서,
상기 컨벌루션 신경망을 트레이닝하는 단계는 각각의 트레이닝 비디오에 대하여 상기 컨벌루션 신경망에 입력으로 사용하기 위해 상기 트레이닝 비디오와 관련되는 이미지들(Sj, Uj, Ij, Nj)의 세트를 상기 비디오 동안 모든 키 포인트들(j)의 상기 위치 추정치의 상기 변화를 나타내는 글로벌 이미지로 스택(stacking)하는 단계를 포함하는 컨벌루션 신경망의 트레이닝 방법. - 데이터 프로세서를 사용하여, 입력된 비디오 내의 대상에 의해 수행되는 행동을 컨벌루션 신경망을 이용하여 분류하기 위한 방법으로서,
(a) 상기 입력된 각 프레임()에 대하여, 상기 대상의 각 키 포인트()에 대하여, 상기 프레임(t) 내의 상기 키 포인트(j)의 위치 추정치를 나타내는 상기 키 포인트(j)의 히트 맵()을 생성하는 단계;
(b) 상기 입력된 비디오 내의 대응하는 프레임(t)의 상대적 시간의 함수로서 각 히트 맵()을 컬러화하는 단계;
(c) 각 키 포인트()에 대하여, 상기 키 포인트(j)의 모든 컬러화된 히트 맵들()을 상기 입력된 비디오 동안에 상기 키 포인트(j)의 위치 추정치의 변화를 나타내는 적어도 하나의 이미지(Sj, Uj, Ij, Nj)로 병합하는 단계; 및
(d) 상기 입력된 비디오 동안에 각 키 포인트(j)의 상기 위치 추정치의 상기 변화를 나타내는 이미지들(Sj, Uj, Ij, Nj)의 세트를 입력으로 사용하여 상기 입력된 비디오 내의 행동을 상기 컨벌루션 신경망을 이용하여 분류하는 단계를 포함하는 행동 분류 방법. - 제20 항에 있어서,
상기 컨벌루션 신경망은 타겟 비디오 내의 대상들에 의해 수행되는 행동들을 분류하기 위하여 각각 이미 분류된 행동들을 수행하는 대상을 묘사하는 복수의 트레이닝 비디오들을 이용하여 트레이닝되며,
상기 컨벌루션 신경망의 트레이닝은,
(i) 상기 트레이닝 비디오의 각 프레임()에 대하여, 상기 대상의 각 키 포인트()에 대하여, 상기 프레임(t) 내의 상기 키 포인트(j)의 위치 추정치를 나타내는 상기 키 포인트(j)의 히트 맵()을 생성하는 단계;
(ii) 상기 비디오에서 대응하는 프레임(t)의 상대적 시간의 함수로서 각 히트 맵()을 컬러화하는 단계;
(iii) 각 키 포인트()에 대하여, 상기 키 포인트(j)의 모든 컬러화된 히트 맵들()을 상기 비디오 동안에 상기 키 포인트(j)의 위치 추정치의 변화를 나타내는 적어도 하나의 이미지(Sj, Uj, Ij, Nj)로 병합하는 단계; 및
(iv) 상기 비디오 동안에 각 키 포인트(j)의 상기 위치 추정치의 상기 변화를 나타내는 이미지들(Sj, Uj, Ij, Nj)의 각 트레이닝 비디오와 관련되는 세트들을 입력으로 사용하여 상기 컨벌루션 신경망을 트레이닝하는 단계를 포함하는 행동 분류 방법. - 제26 항에 있어서,
상기 각 히트 맵을 컬러화하는 단계는 각각의 로우 이미지(Sj)에 대하여 상기 로우 이미지(Sj)를 제1 정규화된 이미지(Uj)로 정규화하는 단계를 포함하는 행동 분류 방법. - 제27 항에 있어서,
상기 각 히트 맵을 컬러화하는 단계는 각각의 제1 정규화된 이미지(Uj)에 대하여 상기 제1 정규화된 이미지(Uj)의 C개의 채널들을 1-채널 세기 이미지(Ij)로 병합하는 단계를 포함하는 행동 분류 방법. - 제29 항에 있어서,
각각의 세기 이미지(Ij)는 상기 채널들(c)에 걸쳐 상기 대응하는 제1 정규화된 이미지(Uj)를 합계함으로써 결정되는 행동 분류 방법. - 제29 항에 있어서,
상기 각 히트 맵을 컬러화하는 단계는 각 정규화된 이미지(Uj)에 대하여 상기 대응하는 세기 이미지(Ij)의 함수로서 상기 제1 정규화된 이미지(Uj)를 제2 정규화된 이미지(Nj)로 추가로 정규화하는 단계를 포함하는 행동 분류 방법. - 제21 항에 있어서,
상기 컨벌루션 신경망을 트레이닝하는 단계는 각각의 트레이닝 비디오에 대하여 상기 컨벌루션 신경망에 입력으로 사용하기 위해 상기 트레이닝 비디오와 관련되는 이미지들(Sj, Uj, Ij, Nj)의 세트를 상기 비디오 동안 모든 키 포인트들(j)의 상기 위치 추정치의 상기 변화를 나타내는 글로벌 이미지로 스택(stacking)하는 단계를 포함하는 행동 분류 방법.
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)
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)
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)
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 | 大连理工大学 | 一种基于注意机制的卷积递归神经网络的动作识别方法 |
-
2018
- 2018-03-30 EP EP18305367.7A patent/EP3547211B1/en active Active
-
2019
- 2019-03-20 US US16/359,182 patent/US10867184B2/en active Active
- 2019-04-01 KR KR1020190037967A patent/KR20200068545A/ko unknown
Cited By (3)
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) | コメント生成装置、コメント生成方法及びプログラム |