KR20210031405A - 암시적 포즈 표현을 이용한 행동 인식 - Google Patents

암시적 포즈 표현을 이용한 행동 인식 Download PDF

Info

Publication number
KR20210031405A
KR20210031405A KR1020200115685A KR20200115685A KR20210031405A KR 20210031405 A KR20210031405 A KR 20210031405A KR 1020200115685 A KR1020200115685 A KR 1020200115685A KR 20200115685 A KR20200115685 A KR 20200115685A KR 20210031405 A KR20210031405 A KR 20210031405A
Authority
KR
South Korea
Prior art keywords
image
neural network
pose
implicit
human
Prior art date
Application number
KR1020200115685A
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 KR20210031405A publication Critical patent/KR20210031405A/ko

Links

Images

Classifications

    • G06K9/00362
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2411Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/2431Multiple classes
    • G06K9/00201
    • G06K9/00711
    • G06K9/481
    • G06N3/0454
    • 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
    • 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/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • 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
    • G06K2209/055
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/03Recognition of patterns in medical or anatomical images
    • G06V2201/033Recognition of patterns in medical or anatomical images of skeletal patterns

Landscapes

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

Abstract

개체에 의해 수행된 행동을 인식하는 컴퓨터 구현 방법으로서, 하나 이상의 프로세서에 의해 개체의 적어도 일부를 포함하는 이미지를 획득하는 단계, 하나 이상의 프로세서에 의해 이미지에 기초하여 이미지에서 개체의 포즈의 암시적 표현을 생성하는 단계, 및 하나 이상의 프로세서에 의해 개체의 포즈의 암시적 표현을 분류함으로써 개체에 의해 수행되고 이미지에서 캡쳐된 행동을 결정하는 단계를 포함한다.

Description

암시적 포즈 표현을 이용한 행동 인식{ACTION RECOGNITION USING IMPLICIT POSE REPRESENTATIONS}
관련 출원에 대한 상호 참조
본 출원은 2017년 9월 11일에 출원된 EP 19306098.5의 우선권을 주장한다. 상기 참조된 출원의 전체 개시 내용은 본원에 참조로서 포함된다.
기술분야
본 개시는 행동 인식(action recognition)에 관한 것으로, 보다 구체적으로 이미지에 표시된 개체 행동에 따라 하나 이상의 이미지를 분류하기 위한 시스템 및 방법에 관한 것이다.
여기에 제공된 배경기술 설명은 본 개시의 컨텍스트(context)를 일반적으로 제시하기 위한 것이다. 본 배경기술 항목에서 기술된 범위 내에서, 현재 기재된 발명자의 작업(work)과, 출원 당시의 선행기술로서 자격이 되지 않는 명세서의 실시예는, 본 개시에 대한 선행기술로서 명시적으로 또는 묵시적으로 인정되지 않는다.
컨볼루션 신경망(convolutional neural networks, CNN)을 포함하는 신경망은, 예를 들어 컴퓨터 비젼 애플리케이션(computer vision application)에서 사용될 수 있다. 인간 행동 인식은, 가능한 행동의 수가 많고 가변적이며 다양한 행동에 대한 다양한 단서(예를 들어, 외관(appearance), 동작(motion), 포즈(pose), 객체(objects) 등)의 중요성으로 인해, 컴퓨터 비젼에서 어려운 작업에 해당한다. 또한, 행동들은 다양한 시간 범위에 걸쳐 있을 수 있으며 상이한 속도로 수행될 수 있다.
일부 방법들은 투-스트림 아키텍처(two-stream architectures), RNNs(Recurrent Neural Networks) 또는 시공간 3차원(3D) 컨볼루션(convolution)을 기반으로 구축될 수 있다. 딥 시공간적 컨볼루션 아키텍처(deep spatiotemporal convolutional architecture)를 기반으로 하고 투-스트림 아키텍처(two-stream architecture)에서 외관과 동작 정보를 결합하는 방법은, RGB(Red Green Blue) 비디오 프레임과 광학 흐름을 개별적으로 처리한다. 이 방법은 Kinetics 데이터 세트와 같은 특정 데이터 세트(dataset)에 대한 인간의 행동을 정확하게 결정할 수 있다.
이러한 방법들의 몇 가지 단점은 트레이닝에 대한 높은 계산 비용과 복잡성에 해당한다. 또한, 방법들은 카메라 움직임이나 노이즈와 같은 이미지의 일부 기록 속성에 대해 견고한 인간 행동 예측을 생성하지 못할 수 있다. 따라서 일부 데이터 세트 및 컨볼루션 신경망(CNNs)이 학습하는 내용은 장면(scene)과 객체(object)에 대해 편향될 수 있다. 이 상황 정보는 인간의 행동을 예측하는 데 유용할 수 있지만 인간의 행동을 정확하게 결정하고 장면이나 이미지에서 일어나는 일을 진정으로 이해하는 데는 충분하지 않다.
행동 인식을 위한 일부 방법들은 인간 행동에 초점을 맞추는 대신, 장면이나 객체와 같은 컨텍스트를 활용할 수 있다. 따라서 이러한 방법들은 컨텍스트(예를 들어, 장면 또는 객체)가 부분적으로만 사용 가능하거나, 부재하거나, 오해의 소지가 있는 경우에 오류가 발생하기 쉽다. 컨텍스트가 부분적으로 있거나, 부재하거나, 오해의 소지가 있는 예시들로는, 올바른 객체를 가지지만 정상적인 장소가 아닌 경우로서 실내 서핑이 있을 수 있고, 객체와 장면이 없는 경우로서 바이올린을 연주하는 사람을 흉내내는 마임 아티스트가 있을 수 있으며, 오해의 소지가 있는 컨텍스트에 해당하는 경우로서 축구공이 있는 축구장에서 볼링 장면을 흉내내는 축구 선수 등이 있을 수 있다. 3D CNN 및 기타 유형의 행동 인식 시스템은 이러한 행동을 인식하지 못할 수 있다. 도 4는 오해의 소지가 있는 이미지의 예시를 포함한다.
인간은 행동에 대해 더 완벽하게 이해하고, 컨텍스트, 객체 또는 장면 없이도 행동을 인식할 수 있다. 특히 도전적인 한 가지 예시는 모방된 행동(mimed actions)에 대한 인간 행동 인식이다. 마임 아티스트는 얼굴 표정, 제스처 및 동작만을 사용하고 단어나 컨텍스트 없이 청중에게 감정이나 행동을 제안할 수 있다.
예를 들어, 인간의 포즈로 전달되는 정보는 모방된 행동을 이해하는 데 사용될 수 있다. 입력 3D 골격 데이터로 사용하는 행동 인식 방법은 상황 정보에 독립적일 수 있다. 그러나, 이러한 방법은 모션 캡쳐 시스템 또는 거리 센서(range sensor)를 통해 정확한 데이터를 수집하는 매우 제한된 환경에서 사용할 수 있다.
실제(real-world) 시나리오에서는 신뢰할 수 있는 전신 3D 인간 포즈의 추출을 쉽지 않게 만드는 여러 가지 문제를 처리해야 한다. 예를 들어, 이러한 방법들은 노이즈, 복잡한 카메라 움직임, 이미지 흐림 및 조명 인공물 뿐만 아니라 인체의 가림(occlusion) 및 잘림(truncation)에 민감할 수 있다. 이러한 문제들은 3D 인간 포즈 추정을 더욱 어렵게 만들고, 결과적으로 인간 행동 인식을 더욱 어렵게 하며 부정확한 결과를 제공할 수도 있다.
명시적인 인간 포즈는 i 키 포인트(예를 들어, 인체의 관절에 해당)가 있는 3D 좌표(xi, yi, zi) 또는 골격 데이터와 같은 신체 키 포인트 좌표(body key point coordinates)로 정의될 수 있다.
명시적인 포즈에 기초한 방법들은 인간이 완전히 보일 것을 요구할 수 있으며, 1명의 행동 인식으로 제한될 수 있다. 이러한 방법 중 일부는 실제 비디오에서 행동 인식 작업을 위해 2D 포즈에만 의존한다. 2D 포즈에 비해 3D 포즈는 모호하지 않고 모션 역학을 더 잘 표현하는 장점이 있다. 그러나, 3D 인간 포즈는 모션 캡쳐 시스템, Kinect 센서 또는 다중 카메라 설정에서만 얻을 수 있으며 실제 비디오에서 얻을 수 없다.
시공간 정보를 캡쳐하기 위한 신경망을 설계하는 것은 간단하지 않다. 신경망은 입력을 기반으로 분류 결과와 같은 특정 출력을 생성하도록 구성될 수 있다. 그러나, 신경망의 특정 구조와 특정 필터 또는 가중치에 대한 지식이 없으면, 특정 분류가 어떠한 피쳐(feature)를 기초로 분류가 된 것인지 결정하거나 평가하는 것이 불가능할 수 있다. 따라서, 각각 서로 다른 아이디어에 기초하고 특정 목적을 위해 이용되는 두 신경망의 조합 또는 이 두 신경망의 일부는, 서로 다른 아이디어만으로 가정할 수 있는 원하는 효과를 보장하지 못할 수 있다. 예를 들어, 신경망이 그 결과의 기반을 두고 있는 입력의 특정 피쳐가 명확하지 않은 경우, 다른 신경망 또는 다른 신경망의 일부와의 조합은 예상되거나 원하는 결과를 생성하지 못할 수 있다. 두 가지 서로 다른 접근 방식 또는 네트워크의 조합이 특정 결과를 제공하는지 여부를 결정하는 것은 평가 비용이 많이 들 수 있다.
인간 행동 인식의 문제를 다루는 기술이 필요하다. 상기 단점을 극복하는 개선된 인간 행동 인식 방법을 제공하는 것이 바람직할 것이다. 특히, 하나 이상의 이미지에 기초하여 하나 이상의 인간 행동을 정확하게 식별하는 방법을 제공하는 것이 바람직할 것이다.
위의 결점을 극복하고 편향된 이미지 분류 문제를 해결하기 위해 인간 행동을 정확하게 결정하는 시스템 및 방법이 개시된다. 본 개시는 암시적 포즈 표현(implicit pose representation)을 직접 이용하는 개선된 행동 인식을 위한 방법 및 시스템을 제공한다. 요약의 실시예들은 인간 행동 인식과 관련하여 설명되지만, 이하는 개체 행동 인식에 사용될 수 있으며, 여기서 개체는 인간, 동물, 및 로봇과 같은 무생물을 포함하는 것으로 사용된다. 개체는 특정 클래스, 종 또는 컬렉션의 일부에 해당할 수 있는 살아있는 객체 및/또는 움직이는 객체일 수 있다.
일 실시예에서, 인간 행동 인식을 위한 컴퓨터 구현 방법은, 하나 이상의 인간의 적어도 일부를 보여주는 하나 이상의 이미지를 획득하는 단계, 적어도 부분적으로 하나 이상의 이미지에 기초하여, 하나 이상의 인간 포즈의 하나 이상의 암시적 표현을 생성하는 단계, 하나 이상의 인간 포즈의 암시적 표현 중 하나 이상을 분류함으로써 적어도 하나의 인간 행동을 결정하는 단계를 포함한다. 하나 이상의 인간 포즈의 암시적 표현 중 하나 이상을 직접 분류함으로써, 하나 이상의 이미지에 표시된 컨텍스트와 관련하여 견고한 행동 인식을 위한 개선된 방법 및 시스템이 제공된다. 적어도 하나의 인간 행동은, 하나 이상의 인간 포즈의 명시적 표현을 분류하는 것 대신, 하나 이상의 인간 포즈의 하나 이상의 암시적 표현을 분류함으로써 결정될 수 있다. 표현을 암시적으로 유지함으로써 표현의 모호성을 해결할 필요가 없으며, 이는 명시적 표현과 비교하여 암시적 표현의 효율적인 처리를 제공한다.
일 실시예에서, 하나 이상의 인간 포즈의 하나 이상의 암시적 표현은 제1 신경망의 적어도 일부에 의해 생성된 하나 이상의 피쳐 벡터(feature vector)를 포함한다. 제1 신경망은 인간의 2차원(2D) 및/또는 3차원(3D) 포즈를 결정하기 위해 초기에 훈련될 수 있다. 대안적으로 또는 추가적으로, 적어도 하나의 인간 행동은, 제1 신경망과 상이할 수 있는 제2 신경망에 의해 피쳐 벡터를 포함하는 하나 이상의 인간 포즈의 하나 이상의 암시적 표현을 분류함으로써 결정될 수 있다. 제2 신경망은 인간 행동에 따라 하나 이상의 피쳐 벡터를 분류하도록 훈련될 수 있다. 포즈 결정을 위해 신경망에 의해 생성된 피쳐 벡터를 분류함으로써, 인간 포즈의 암시적 표현을 효율적인 방식으로 생성할 수 있다. 예를 들어, 처음에 인간의 포즈를 감지하도록 훈련된 제1 신경망에서 피쳐 벡터를 추출할 수 있다.
추가 실시예에서, 하나 이상의 이미지를 획득하는 방법은, 비디오 및/또는 RGB(Red-Green-Blue) 이미지 시퀀스와 같은 이미지 시퀀스를 획득하는 단계, 인간 포즈의 암시적 표현 시퀀스를 생성하는 것을 포함하는 하나 이상의 암시적 표현을 생성하는 단계, 및 인간 포즈의 암시적 표현 시퀀스의 암시적 표현을 연접(concatenating)하는 것과, 연접된 암시적 표현에 대해 1차원(1D) 시간 컨볼루션(temporal convolution)과 같은 컨볼루션을 수행하는 것을 포함하는 적어도 하나의 인간 행동을 결정하는 단계를 포함한다. 암시적 표현을 연접하는 것은 암시적 표현 시퀀스의 모든 암시적 표현을 연접하는 것을 포함할 수 있다. 연접된 암시적 포즈 표현에 대해 컨볼루션을 수행함으로써, 시공간 정보가 단일 작업으로 (예를 들어, 간단한 1D 컨볼루션의 도움으로) 처리되기 때문에 효율적인 방식으로 인간 행동을 결정할 수 있다. 이를 통해, 복잡한 처리 단계를 갖거나 시간 정보를 인코딩하고 처리하기 위한 다중 레이어를 갖는 아키텍처와 비교하여 복잡하지 않은 아키텍처가 이 실시예를 구현할 수 있다.
추가 실시예에서, 본 방법은 하나 이상의 이미지 중 적어도 하나에 부분적으로 또는 완전히 표시된 각각의 인간 또는 하나 이상의 인간 주위에 하나 이상의 후보 박스를 결정하는 단계를 더 포함한다. 하나 이상의 인간 포즈의 하나 이상의 암시적 표현은 하나 이상의 후보 박스 및 하나 이상의 이미지에 기초하여 생성될 수 있다. 하나 이상의 이미지가 비디오 시퀀스와 같은 이미지 시퀀스를 포함하는 경우, 본 방법은 이미지 시퀀스를 따라 후보 박스에 기초하여 튜브를 추출하는 단계를 더 포함할 수 있다. 추가적으로, 하나 이상의 인간 포즈의 하나 이상의 암시적 표현을 생성하는 단계는 튜브를 따라 하나 이상의 인간 포즈의 암시적 표현의 시퀀스를 생성하는 단계를 포함할 수 있다. 1D 시간 컨볼루션은 적어도 하나의 인간 행동을 결정하기 위해, 스택(stacked)된 피쳐 벡터와 같은 피쳐 벡터의 시퀀스일 수 있는 암시적 표현의 시퀀스에 대해 수행되거나 적용될 수 있다. 하나 이상의 후보 박스 및 하나 이상의 이미지에 기초하여 암시적 표현을 생성함으로써, 한 명 또는 다수의 인간의 행동이 보다 정확한 방식으로 결정될 수 있다. 예를 들어, 후보 박스를 기초로 RoI(Region-of-Interest) 풀링(pooling)을 수행하여 이미지의 컨텍스트에 대한 견고성을 더욱 높일 수 있다.
일 실시예에서, 인간 행동 인식 또는 분류를 위해 신경망의 적어도 일부를 훈련하기 위한 컴퓨터 구현 방법은, 비디오 또는 이미지 시퀀스와 같은 하나 이상의 이미지의 제1 세트와 하나 이상의 이미지에 표시된 행동을 설명하고 제1 세트에 대응할 수 있는 제1 라벨을 획득하는 단계, 하나 이상의 이미지의 제1 세트의 각 세트의 적어도 하나의 이미지를 인간의 포즈를 결정하기 위해 훈련된 제1 신경망에 입력함으로써 하나 이상의 피쳐 벡터 세트를 생성하는 단계, 인간 행동 분류를 위해, 적어도 하나의 피쳐 벡터 세트의 피쳐 벡터에 기초하여, 제2 신경망의 하나 이상의 레이어와 같은 제2 신경망의 적어도 일부를 훈련하는 단계를 포함한다. 적어도 하나의 피쳐 벡터 세트의 피쳐 벡터는 입력된 이미지 및 제1 라벨 중 대응 라벨에 대응하고, 피쳐 벡터는 제1 신경망의 적어도 일부에 의해 생성된다. 인간 포즈 결정을 위해 신경망에 의해 생성된 피쳐 벡터에 기초하여 인간 행동 분류를 위한 신경망의 적어도 일부를 훈련시킴으로써, 인간 행동 분류 또는 인식을 위한 신경망을 빠르고 효율적으로 생성할 수 있다. 예를 들어, 인간 행동 분류 또는 인식을 위한 신경망은 인간 포즈 결정을 위한 기존의 신경망 또는 그 같은 신경망의 일부와 결합될 수 있다. 나아가, 초기 인간의 포즈를 결정하기 위해 훈련된 신경망의 포즈 피쳐(pose feature)나 피쳐 벡터에 대해 신경망을 직접 훈련시킴으로써, 이미지에 표시된 컨텍스트에 관해서도 견고하고, 행동 인식을 위해 개선된 신경망이 생성될 수 있다.
추가 실시예에서, 하나 이상의 이미지의 제1 세트 각각은 이미지 시퀀스를 포함하고, 적어도 하나의 피쳐 벡터 세트의 피쳐 벡터는 이미지 시퀀스에 적어도 부분적으로 대응하는 피쳐 벡터 시퀀스를 포함한다. 피쳐 벡터 시퀀스 중 복수의 피쳐 벡터는 연접되거나 스택되어, 연접되거나 스택된 복수의 피쳐 벡터로 제2 신경망의 1D 시간 컨볼루션 레이어와 같은 시간 컨볼루션 레이어(temporal convolutional layer)를 훈련시킨다. 포즈 감지를 위한 신경망에서 생성된 스택된 피쳐(stacked feature)로 행동 인식을 위한 신경망의 시간 컨볼루션 레이어를 훈련시킴으로써, 이미지의 시간 및 공간 정보를 단순화된 방식으로 처리하는 아키텍처가 제공되거나 훈련된다. 이에 따라, 행동 인식을 위한 신경망 훈련 비용을 줄일 수 있다.
추가 실시예에서, 제1 신경망은 제2 신경망 이전의 제2 세트에 대응하는 제2 라벨 및 하나 이상의 이미지의 제2 세트에 기초하여 훈련될 수 있다. 제1 신경망의 가중치는 제2 신경망의 훈련 중에 고정될 수 있다. 훈련 중에 제1 신경망의 가중치를 고정함으로써, 제2 신경망의 훈련이 효율적이고 효과적으로 수행될 수 있다. 예를 들어, 행동 분류를 위해 신경망의 일부를 훈련하는데 더 많은 프로세싱 리소스가 사용될 수 있다. 여기에는 피쳐 벡터 시퀀스가 훈련에 사용될 때 더 큰 시간 윈도우(temporal window)를 허용하는 단계가 포함될 수 있다. 대안적으로, 제1 신경망의 적어도 일부는 제1 이미지 세트 및 이에 대응하는 제1 라벨에 기초하여 제2 신경망과 함께 훈련된다. 이를 통해 제1 신경망 및 제2 신경망의 조합의 정확도를 높일 수 있다.
추가 실시예에서, 컴퓨터 실행 가능 명령어가 저장된 컴퓨터 판독 가능 저장 매체가 제공된다. 하나 이상의 프로세서에 의해 실행될 때, 컴퓨터 실행 가능 명령어는 인간 행동 인식을 위한 방법을 수행하거나, 여기에 설명된 인간 행동 인식을 위한 신경망의 적어도 일부를 훈련시키기 위한 방법을 수행한다.
추가 실시예에서, 프로세싱 회로를 포함하는 장치가 제공된다. 프로세싱 회로는 인간 행동 인식을 위한 방법을 수행하도록 구성되거나, 여기에 설명된 인간 행동 인식을 위한 신경망의 적어도 일부를 훈련시키기 위한 방법을 수행하도록 구성된다.
일 실시예에서, 개체에 의해 수행된 행동을 인식하는 컴퓨터 구현 방법은, 하나 이상의 프로세서에 의해 개체의 적어도 일부를 포함하는 이미지를 획득하는 단계, 하나 이상의 프로세서에 의해 이미지에 기초하여 이미지에서 개체의 포즈의 암시적 표현을 생성하는 단계, 및 하나 이상의 프로세서에 의해, 개체의 포즈의 암시적 표현을 분류함으로써, 개체에 의해 수행되고 이미지에서 캡쳐된 행동을 결정하는 단계를 포함한다.
추가 실시예에서, 암시적 표현은 개체의 골격의 포즈에 대응하는 3차원(3D) 좌표를 갖는 키 포인트가 파생될 수 있는 피쳐 벡터를 포함한다.
추가 실시예에서, 3D 좌표를 갖는 키 포인트를 포함하지 않는 암시적 표현은 개체의 골격 포즈에 대응하는 키 포인트를 도출하는 데 사용된다.
추가 실시예에서, 암시적 표현에는 2차원(2D) 또는 3차원(3D) 개체 골격 데이터가 포함되지 않는다.
추가 실시예에서, 암시적 표현을 생성하는 것은 제1 신경망을 이용하여 이미지에서 개체의 포즈의 암시적 표현을 생성하는 것을 포함한다.
추가 실시예에서, 본 방법은 이미지에서 개체의 2차원(2D) 및 3차원(3D) 포즈 중 적어도 하나를 결정하기 위해 제1 신경망을 훈련시키는 단계를 더 포함한다.
추가 실시예에서, 개체에 의해 수행된 행동을 결정하는 단계는 제2 신경망을 사용하여 포즈의 암시적 표현을 분류함으로써 행동을 결정하는 단계를 포함한다.
추가 실시예에서, 암시적 표현에는 피쳐 벡터가 포함된다.
추가 실시예에서, 본 방법은 개체에 의한 행동에 따라 피쳐 벡터를 분류하기 위해 제2 신경망을 훈련시키는 단계를 더 포함한다.
추가 실시예에서, 개체는 인간을 포함하고, 포즈는 인간 포즈를 포함하며, 행동은 인간에 의해 수행된 행동을 포함한다.
추가 실시예에서, 이미지는 비디오로부터의 이미지 시퀀스를 포함한다.
추가 실시예에서, 암시적 표현을 생성하는 단계는, 이미지에 기초하여 암시적 표현을 각각 생성하는 것을 포함한다. 본 방법은, 암시적 표현을 연접하여 연접된 암시적 표현을 생성하는 단계를 더 포함한다. 행동을 결정하는 단계는, 연접된 암시적 표현에 대해 컨볼루션을 수행하여 최종 암시적 표현을 생성하고, 최종 암시적 표현을 분류함으로써 개체에 의해 수행된 행동을 결정하는 단계를 포함한다.
추가 실시예에서, 컨볼루션은 1차원(1D) 컨볼루션에 해당한다.
추가 실시예에서, 컨볼루션은 1차원(1D) 시간(temporal) 컨볼루션에 해당한다.
추가 실시예에서, 본 방법은, 하나 이상의 프로세서에 의해, 이미지에서 캡쳐된 개체 주위의 후보 박스를 결정하는 단계를 더 포함하고, 암시적 표현을 생성하는 단계는 후보 박스에 기초하여 암시적 표현을 생성하는 단계를 포함한다.
추가 실시예에서, 본 방법은 하나 이상의 프로세서에 의해 후보 박스에 기초하여 이미지로부터 튜브를 추출하는 단계를 더 포함한다.
추가 실시예에서, 후보 박스를 결정하는 단계가 지역 제안 네트워크(regional proposal network, RPN) 모듈을 이용하여 후보 박스를 결정하는 단계를 포함한다.
일 실시예에서, 이미지에서 개체에 의해 수행된 행동을 인식하도록 구성된 신경망을 훈련시키기 위한 컴퓨터 구현 방법은, 하나 이상의 프로세서에 의해 제1 이미지 및 제1 이미지에서 개체에 의해 수행된 행동에 대응하는 제1 라벨을 각각 획득하는 단계, 하나 이상의 프로세서에 의해, 입력 이미지에 기초하여 개체에 의해 수행된 행동을 결정하도록 구성된 제1 신경망에 제1 이미지 중 일부를 입력함으로써, 제1 신경망에 의해 피쳐 벡터를 생성하는 단계, 및 하나 이상의 프로세서에 의해, 입력된 이미지 및 이에 대응하는 제1 라벨에 대응하는 피쳐 벡터에 기초하여, 이미지에서 개체에 의해 수행된 행동을 인식하도록 구성된 제2 신경망을 훈련시키는 단계를 포함한다.
추가 실시예에서, 제1 이미지는 행동을 수행하는 개체의 이미지 시퀀스를 포함한다.
추가 실시예에서, 본 방법은 하나 이상의 프로세서에 의해 피쳐 벡터를 연접하는 단계를 더 포함하고, 훈련시키는 것은 연접된 피쳐 벡터를 이용하여 제2 신경망의 1차원(1D) 시간 컨볼루션 레이어를 훈련시키는 것을 포함한다.
추가 실시예에서, 본 방법은, 하나 이상의 프로세서에 의해, 제2 이미지 및 제2 이미지에 대응하는 제2 라벨에 기초하여 제1 신경망을 훈련시키는 단계를 더 포함하고, 제2 신경망을 훈련시키는 것은 제1 신경망의 훈련 이후 제2 신경망을 훈련시키는 것을 포함하고, 제2 신경망의 훈련 중에 제1 신경망의 가중치는 일정하게 고정된 상태로 유지된다.
추가 실시예에서, 본 방법은 하나 이상의 프로세서에 의해 제2 신경망의 트레이닝과 함께, 제1 이미지 및 제1 이미지에 대응하는 제1 라벨에 기초하여 제1 신경망을 훈련시키는 단계를 더 포함한다.
일 실시예에서, 시스템은, 하나 이상의 프로세서, 및 하나 이상의 프로세서에 의해 실행될 때 기능을 수행하는 코드를 포함하는 메모리를 포함하고, 기능은 개체의 적어도 일부를 포함하는 이미지를 획득하는 것, 이미지에 기초하여 이미지에서 개체의 포즈에 대한 암시적 표현을 생성하는 것, 및 개체의 포즈의 암시적 표현을 분류함으로써 개체에 의해 수행되고 이미지에 캡쳐된 행동을 결정하는 것을 포함한다.
본 개시 내용의 추가적인 적용 분야는 상세한 설명, 청구 범위 및 도면으로부터 명백해질 것이다. 상세한 설명 및 특정 예는 단지 예시를 위한 것이며 본 개시의 범위를 제한하려는 것이 아니다.
본 개시는 상세한 설명 및 첨부 도면으로부터 보다 완전히 이해될 것이다.
도 1은 인간 행동 인식을 위한 방법을 도시하는 프로세스 흐름도이다.
도 2는 암시적 인간 포즈 표현을 생성하기 위한 방법을 도시하는 프로세스 흐름도이다.
도 3은 인간 행동 인식을 위한 방법을 도시하는 프로세스 흐름도이다.
도 4는 이미지로부터 인간 행동을 결정하기 위한 기술을 도시하는 개략도이다.
도 5는 인간 포즈 결정을 위한 신경망의 아키텍쳐(architecture)를 도시한다.
도 6은 인간 행동 인식을 위해 신경망의 적어도 일부를 훈련시키기 위한 방법의 프로세스 흐름도이다.
도 7은 이미지로부터 인간 행동을 결정하기 위한 기술을 도시하는 개략도이다.
도 8A 내지 8F는 입력 비디오 프레임 수의 함수로서 평균 정확도의 플롯을 나타낸다.
도 9는 개시된 방법이 수행될 수 있는 예시적인 아키텍쳐(architecture)를 나타낸다.
도면에서, 참조 번호는 유사 및/또는 동일한 요소를 식별하기 위해 재사용될 수 있다.
본 명세서에서 인간 행동 인식을 위한 시스템 및 방법이 설명된다. 설명의 목적으로, 설명된 실시예의 철저한 이해를 제공하기 위해 수많은 예시 및 특정 세부 사항이 제시된다. 청구범위에 의해 정의된 실시예는 이들 예들의 특징들 중 일부 또는 전부를 단독으로 포함하거나 또는 아래에 설명된 다른 특징들과 조합하여 포함할 수 있고, 여기에 설명된 특징 및 개념의 수정 및 등가물을 더 포함할 수 있다. 예시적인 실시예는 요소 및 구조가 참조 번호로 표시된 도면을 참조하여 설명될 것이다. 또한, 실시예가 방법인 경우, 방법의 단계 및 요소는 병렬 또는 순차적 실행으로 결합될 수 있다. 모순되지 않는 한, 후술하는 모든 실시예는 서로 결합될 수 있다. 여기에 설명된 방법은 하나 이상의 프로세서에 의해 수행될 수 있다.
도 1은 일 실시예에 따라 인간 포즈 피쳐와 같은 인간 포즈의 하나 이상의 암시적 표현을 직접 이용하는, 인간 행동 인식을 위한 예시적인 방법(100)의 프로세스 흐름도이다. 구체적으로, 방법(100)은 하나 이상의 이미지에서 캡쳐되거나 비디오에서 발생하는 인간 행동(인간에 의해 수행된 행동)과 같은 행동을 예측하는 데 사용될 수 있다. 비디오는 시간이 지남에 따라 캡쳐된 이미지 시퀀스에서 생성된다.
도면 부호 110에서, 예를 들어 컴퓨팅 장치의 하나 이상의 프로세서에 의해 하나 이상의 이미지가 획득된다. 하나 이상의 이미지는, 예를 들어 컴퓨팅 장치의 카메라를 사용하여 캡쳐되거나, 컴퓨팅 장치의 메모리로부터 획득되거나, 다른 컴퓨팅 장치로부터(예를 들어, 네트워크를 통해) 수신되거나, 다른 적절한 방식으로 획득될 수 있다. 하나 이상의 이미지는 트리밍(trimming)된 비디오와 같은, 일련의 이미지 또는 프레임을 포함할 수 있다. 트리밍된 동영상은 인간이 수행한 특정 작업에 대해 동영상이 몇 초(예를 들어, 2 ~ 10 초)만 지속됨을 의미한다. 하나 이상의 획득된 이미지는 한 명 이상의 인간의 적어도 일부를 보여줄 수 있다. 일례에서, 하나 이상의 이미지는 실제 비디오(real-world videos), 웹 사이트의 비디오(예를 들어, YouTube, TikTok 등), 텔레비전 영상, 영화, 카메라 녹화물 또는 모바일 플랫폼에서 캡쳐한 비디오와 같은 비디오를 포함한다. 이미지 또는 비디오는 복수의 RGB(적녹청) 프레임/이미지의 시퀀스를 포함할 수 있다.
도면 부호 120에서, 하나 이상의 획득된 이미지에 적어도 부분적으로 기초하여, 하나 이상의 인간 포즈에 대한 하나 이상의 암시적 표현이 생성된다. 인간 포즈의 암시적 표현의 예는, 포즈 검출기 모듈과 같은 제1 신경망의 적어도 일부에 의해 생성된 피쳐 벡터 또는 피쳐일 수 있다. 피쳐 벡터 또는 피쳐는 딥(deep) 또는 미드레벨(mid-level)의 3D 포즈 피쳐를 포함할 수 있다. 하나 이상의 인간 포즈의 하나 이상의 암시적 표현은, 하나 이상의 인간 포즈와 관련되거나 하나 이상의 인간 포즈가 결정될 수 있는 정보를 나타낼 수 있다. 하나 이상의 인간 포즈의 암시적 표현은 하나 이상의 인간 포즈에 관한 모호성을 포함할 수 있다. 반대로, 인간 포즈의 명시적 표현은 인간 포즈와 관련하여 명확하게 정의된다. 예를 들어, 인간 포즈의 명시적 표현은 알려진 3차원(3D) 좌표 (xi, yi, zi)를 갖는 각 키 포인트와 함께 13개의 키 포인트를 포함할 수 있다. 도 7은 39개의 키 포인트(프레임/이미지 당 13개의 키 포인트 * 3 = 39)를 포함하는 예시적인 막대 그림(stick figure)을 포함한다. 반대로, 포즈의 암시적 표현은 39개의 키 포인트가 파생될 수 있는 피쳐 벡터일 수 있다.
표현을 암시적으로 유지함으로써, 포즈 감지의 모호성은 해결될 필요가 없을 수 있으며, 따라서 명시적 표현에 비해 암시적 표현에 대한 처리가 개선될 수 있다. 예를 들어, 암시적 표현의 정보 내용은 명시적 표현에 비해 증가할 수 있다.
제1 신경망은 인간의 2차원(2D) 및/또는 3차원(3D) 포즈와 같은 인간 포즈를 인식하거나 결정하도록 훈련되었거나 처음부터 훈련된 신경망일 수 있다. 하나 이상의 인간 포즈의 하나 이상의 암시적 표현은 비디오의 단일 프레임(또는 이미지)에 기초하여 생성될 수 있다. 예를 들어, 하나 이상의 암시적 표현이 하나의 프레임, 둘 이상의 프레임, 또는 비디오의 각 프레임에 대해 생성될 수 있다.
도면 부호 130에서, 적어도 하나의 인간 행동은 하나 이상의 인간 포즈의 하나 이상의 암시적 표현을 분류함으로써 결정된다. 다양한 구현에서, 하나 이상의 인간 포즈의 하나 이상의 암시적 표현을 분류함으로써 적어도 하나의 인간 행동을 결정하는 단계는 제2 신경망에 의해 수행된다. 제2 신경망은 인간 행동에 따라 제1 신경망에 의해 생성된 하나 이상의 피쳐 벡터를 분류하도록 훈련될 수 있다. 방법(100)은 제1 신경망 및 제2 신경망의 적어도 일부를 포함하는 신경망에 의해 수행될 수 있다. 제1 신경망 및 제2 신경망은 단일 컴퓨팅 장치 또는 서버, 또는 분산 컴퓨팅 장치 및/또는 서버에서 실행될 수 있다.
도 2는 암시적 인간 포즈 표현을 생성하기 위한 방법(200)의 프로세스 흐름도이다. 방법(200) 또는 방법(200)의 하나 이상의 부분은 도 1의 도면 부호 120의 하나 이상의 암시적 표현을 생성하는 데 사용될 수 있다.
방법(200)은 획득된 이미지를 처리하는 단계를 포함하는 도면 부호 210으로 시작할 수 있다. 처리하는 단계는, 획득된 이미지를 제1 신경망에 입력하는 단계 또는 획득된 이미지를 제1 신경망의 하나 이상의 컨볼루션 레이어에 입력하여 피쳐 벡터를 생성하는 단계를 포함할 수 있다. 제1 신경망은 인간 포즈(예를 들어, 인간 포즈의 암시적 표현)를 결정하도록 구성된 딥 컨볼루션 신경망(convolutional neural network, CNN) 일 수 있다.
도면 부호 220에서, 하나 이상의 이미지 중 적어도 하나에 표시된 인간 주위에서 하나 이상의 후보 박스 또는 바운딩 박스가 결정된다. 예시적인 바운딩 박스는 도 7에서 인간 주위에 도시되어 있다. 실시예에서, RPN(Region Proposal Network) 모듈은 하나 이상의 이미지에 표시된 각 인간 주위의 후보 박스 또는 바운딩 박스를 결정하는 데 사용된다. 후보 박스는 생성된 피쳐 벡터 또는 처리된 이미지를 기초로 결정될 수 있다. 다양한 구현에서, 후보 박스는 검출된 인간 포즈 또는 인간의 키 포인트 좌표에 대응한다.
도면 부호 230에서, 하나 이상의 후보 박스 및 처리된 이미지에 기초하여 하나 이상의 인간 포즈의 하나 이상의 암시적 표현이 생성된다. 하나 이상의 인간 포즈의 하나 이상의 암시적 표현의 생성은 결정된 후보 박스에 기초하여 관심 영역(Region of Interest, RoI) 풀링(pooling)을 수행함으로써 생성된 피쳐 벡터를 수정하는 것을 포함할 수 있다. 이 예시에서, 하나 이상의 인간 포즈의 하나 이상의 암시적 표현은 하나 이상의 수정되고 생성된 피쳐 벡터를 포함한다.
도 3은 적어도 하나의 실시예에 따른 인간 행동 인식을 위한 방법(300)의 프로세스 흐름도이다. 방법(300)의 하나 이상의 부분은 도 1의 방법(100) 및/또는 도 2의 방법(200)의 하나 이상의 부분에 대응할 수 있다.
도면 부호 310에서, 이미지 또는 프레임의 시퀀스가 획득된다. 이미지 시퀀스는 비디오, 예를 들어 카메라로 녹화된 비디오, 또는 컴퓨터 판독 가능 매체에서 획득한 비디오일 수 있다. 도면 부호 320에서 이미지 시퀀스가 처리된다. 처리하는 단계는, 이미지 시퀀스의 적어도 2개의 이미지를 제1 신경망 또는 제1 신경망의 하나 이상의 컨볼루션 레이어에 입력하여 일련의 피쳐 벡터를 획득하는 단계를 포함할 수 있다. 다양한 구현에서, 이미지 또는 프레임 시퀀스의 각 이미지 또는 프레임은 처리되어 피쳐 벡터 시퀀스가 얻어진다.
도면 부호 330에서, 적어도 두 개의 이미지에 표시된 인간 주변의 후보 박스는, 예를 들어 RPN 모듈을 사용하여 결정된다. 후보 박스는 생성된 피쳐 벡터 및/또는 적어도 2개의 이미지에서 검출된 인간에 기초하여 결정될 수 있다. 전술한 바와 같이, 인간 포즈 검출기 또는 인간 포즈 검출을 위한 신경망에 의해 생성된 피쳐 벡터는 인간 포즈의 암시적 표현일 수 있다.
이미지 시퀀스에서 시간에 따른 포즈의 변화(evolution)를 결정하기 위해, 각 인간은 시간에 따라 트래킹 될 수 있다. 이것은 이미지 시퀀스를 따라 인간 주위의 후보 박스를 연결하여 달성될 수 있다.
도면 부호 340에서, 튜브(tube)는 적어도 두 개 이미지의 시퀀스를 따라 결정된 후보 박스에 기초하여 추출된다. 튜브는 공간 후보(spatial candidate)의 시간 시리즈(temporal series) 또는 바운딩 박스, 즉 시공간 비디오 튜브일 수 있다. 예를 들어, 튜브를 생성하기 위해 연속 이미지의 후보 박스를 연결할 수 있다. 가장 높은 인간 검출 점수를 가진 후보 박스에서 시작하여, 후보 박스는, 예컨대 후보 박스 간의 IoU(Intersection-over-Union)에 기초하여, 후속 프레임에서의 검출과 매칭될 수 있다. 일 예시에서, 이미지 시퀀스의 후속 이미지에 있는 두 개의 후보 박스는 IoU가 0.3과 같이 미리 결정된 값보다 클 때 연결된다. 그렇지 않으면, 후보 박스는 후속 이미지 이후의 이미지의 후보 박스와 매칭되고, 누락된 이미지의 후보 박스 또는 후속 이미지의 후보 박스에 대해 선형 보간(linear interpolation)이 이루어질 수 있다. 예를 들어, 10개의 연속 이미지 중 매칭되는 것이 없는 경우(예를 들어, 미리 결정된 값 미만의 IoU), 튜브는 중지될 수 있다. 이 절차는 인간을 포함하는 튜브를 얻기 위해 포워드(순방향 시간 방향의 비디오) 및/또는 백워드(역방향 시간 방향의 비디오) 실행될 수 있다. 그런 다음, 제1 링크의 모든 검출이 삭제될 수 있으며, 나머지 검출에 대해 절차를 반복할 수 있다.
요약하면, 모든 프레임에서 모든 인간 검출 세트가 먼저 고려된다. 그런 다음 상술한 바와 같이 제1 링크가 작성된다. 다음으로 이전 링크의 바운딩 박스를 포함하지 않는 바운딩 박스의 제2 링크가 작성된다. 이를 위해, 이전에 링크된 박스를 제외하고 모든 프레임의 모든 바운딩 박스를 고려한 동일한 프로세스를 반복할 수 있다.
도면 부호 350에서, 암시적 포즈 표현 시퀀스는 처리된 이미지 시퀀스 및 추출된 튜브를 기초로 생성된다. 예를 들어, 암시적 포즈 표현의 시퀀스는 이미지 시퀀스 중 처리된 이미지에 대해 RoI-풀링을 수행함으로써 생성된 피쳐 벡터를 포함할 수 있다.
도면 부호 360에서, 암시적 포즈 표현 시퀀스의 암시적 포즈 표현은 한쪽 끝과 다른 한쪽 끝을 붙여(end to end) 스택(stack)되거나 연접(concatenate)된다. 도면 부호 370에서, 컨볼루션은 연접되거나 스택된 표현에 적용되어 행동 또는 복수의 행동 점수를 결정할 수 있다. 컨볼루션은 1차원(1D) 시간 컨볼루션 또는 다른 적절한 유형의 컨볼루션 레이어일 수 있다. 컨볼루션의 결과에 따라, 행동 점수가 결정되고, 행동에 따라 연접되거나 스택된 표현을 분류하는 데 사용될 수 있다. 피쳐 벡터를 암시적 표현으로 사용함으로써, 포즈 감지의 모호성을 해결할 필요가 없으며, 시간 컨볼루션이 효율적인 방식으로 만들어져 결과를 생성할 수 있다.
다양한 구현에서, 3D 스켈레톤 데이터(skeleton data)와 같은 포즈 시퀀스를 명시적으로 추정하고 이러한 명시적 포즈 시퀀스에 따라 동작하는 것 대신, 3D 포즈 검출기에 의해 학습된 암시적 딥 포즈 표현(implicit deep pose representation)을 사용하는 행동 인식 프레임워크가 개시된다. 암시적 딥 포즈 표현은 포즈 모호성을 인코딩하는 장점이 있고, 순수한 포즈 기반 방법이 복잡한 케이스를 명확히 하는데 필요로 할 수 있는 트래킹(tracking) 또는 시간 추론이 필요하지 않다는 장점이 있다. 적어도 하나의 실시예에서, 포즈 결정을 위한 제1 신경망은 LCR-Net++ 포즈 검출기, LCR-Net 포즈 검출기, 또는 다른 적절한 유형의 포즈 검출기와 같은 포즈 검출기를 포함한다. LCR-Net++ 포즈 검출기는 G.Rogez, P.Weinzaepfel, 및 C.Schmid 저 "LCR-Net++: Multi-person 2D and 3D pose detection in natural images", IEEE trans, PAMI, 2019 에서 설명된다. LCR-Net++ 포즈 검출기는 이미지 경계에 의한 가림 및 잘림과 같은 까다로운 경우에도 견고(robust)할 수 있다. LCR-Net++는 이미지에 표시된 한 명 이상의 인간에 대한 전신 2D 및 3D 포즈를 추정하도록 구성된다. LCR-Net++의 인간 수준 중간 포즈 기능 표현(human-level intermediate pose feature representation)은 스택될 수 있으며, 스택 표현에 1D 시간 컨볼루션을 적용할 수 있다.
도 4는 이미지로부터 인간 행동을 결정하기 위한 기능 블록도(400)를 예시하는 개략도이다. 도 4는 시간에 따른 이미지 시퀀스(410)를 형성하는 3개의 이미지(410a, 410b 및 410c)를 도시한다. 그러나, 이미지 시퀀스에는 두 개 이상의 이미지가 포함될 수 있다. 본 예시에서, 이미지(410a, 410b, 410c)는 미식 축구장에서 농구(미식 축구 아님)를 하는 미식 축구 선수 복장을 한 인간을 보여준다. 따라서, 이미지(410a, 410b, 410c)는 미식 축구와 관련된 컨텍스트를 포함하지만, 이미지의 컨텍스트와 관련이 없거나 오해의 소지가 있는 두 인간이 수행하는 행동, 즉 농구공을 쏘거나 던지는 척하는 인간의 행동을 보여준다.
이미지는 인간 포즈 검출을 위해 제1 신경망의 적어도 일부에 의해 처리될 수 있다. RPN 모듈과 같은 제1 신경망 또는 제1 신경망의 적어도 일부는 이미지에 표시된 인간 주변의 후보 박스(412a 및 412b)를 결정하도록 구성될 수 있다. 인간 트랙(human track)은 이미지 시퀀스의 각 이미지에 대해 인간 주변의 후보 박스를 연결하여 생성되는 튜브에 의해 정의될 수 있다. 인간 트랙 또는 튜브는 이미지 시퀀스(410a 내지 410c)를 따라 각각의 인간에 대해 동일한 그레이 스케일/색상으로 표시된다. 더욱이, 제1 신경망 또는 제1 신경망의 적어도 일부는 피쳐 벡터(420a, 420b, 420c)를 포함하는 피쳐 벡터(420)의 시퀀스를 생성하도록 구성될 수 있다. 도 4의 예시에서, 가독성을 위해 인간 트랙/튜브 하나에 대해서만 표시된다. 피쳐 벡터(420a, 420b, 420c)는 이미지(410a, 410b, 410c)에 대응한다. 피쳐 벡터 시퀀스의 피쳐 벡터(420a, 420b, 420c)는 인간 트랙을 따르는 제1 신경망의 미드레벨 포즈 피쳐일 수 있다.
피쳐 벡터(420)의 시퀀스 생성 후, 피쳐 벡터(420a, 420b, 420c)는 시간 정보를 활용하기 위해 스택/연접된다. 스택된 피쳐 벡터(430)의 순서는 피쳐 벡터(420)의 시퀀스에서 피쳐 벡터(420a, 420b, 420c)의 순서 및/또는 이미지의 시퀀스(410)에서 이미지(410a, 410b, 410b)의 순서에 대응할 수 있다. 스택된 피쳐 벡터(430)는 행동 점수(440)를 결정함으로써 행동에 따라 분류될 수 있다. 각각의 분류는 연관된 행동을 가질 수 있고, 가장 높은 행동 점수를 갖는 분류는 시퀀스에서 수행된 행동을 결정하기 위해 선택될 수 있다.
다양한 구현에서, 스택된 피쳐 벡터(430)의 분류는 제2 신경망에 의한 분류를 위한 행동 분류를 위해 스택된 피쳐 벡터(430)를 제2 신경망에 입력하는 것을 포함할 수 있다. 제2 신경망은 1D 컨볼루션 레이어와 같은 하나 이상의 컨볼루션 레이어를 포함할 수 있다. 제2 신경망은, 추가적으로 또는 대안적으로, 행동 점수(440)를 출력하도록 구성된 하나 이상의 완전 연결 레이어(fully connected layer)을 포함할 수 있다.
행동 점수(440)에 기초하여, 시퀀스에서 인간에 의해 수행된 행동이 예컨대 행동 모듈에 의해 결정될 수 있다. 예를 들어, 행동 점수(442a)는 행동 점수(442b) 및 모든 다른 행동 점수보다 높을 수 있다. 따라서, 행동 모듈은 행동 점수(442a)에 대응하는 행동이 순서대로 수행되었다고 결정할 수 있다. 도 4에서 행동 점수(442a)는 "농구하는 것"에 대응한다.
다양한 구현에서, 행동 모듈은 유효한 행동으로 간주되기 위해 가장 높은 행동 점수가 미리 결정된 값(예를 들어, 0.5)보다 클 것을 요구할 수 있다. 이 같은 구현에서, 최고 행동 점수가 미리 결정된 값보다 작으면, 행동 모듈은 알려 지지 않은 행동이 시퀀스에서 수행되었던 것으로 결정할 수 있다.
행동 인식을 위한 시스템은 시퀀스에 기초하여 피쳐 벡터(420a, 420b, 420c)를 생성하도록 구성된 제1 신경망의 일부와 시퀀스에서 행동을 결정하도록 구성된 제2 신경망을 포함할 수 있다. 이미지 또는 피쳐 벡터 시퀀스의 시간 정보를 인코딩하도록 구성된 제2 신경망은, 피쳐 벡터 또는 인간 포즈 피쳐를 직접 사용할 수 있으며, 이미지/프레임(예를 들어, RGB-d 이미지 또는 회색조-d 이미지)의 뎁스 구성요소(depth component)와 같은 추가 데이터가 필요하지 않을 수 있다. 이는 컨텍스트에 대해 견고한, 행동 인식을 위한 개선된 시스템을 제공한다.
다양한 구현에서, 단일 프레임 검출 및 딥 미드레벨 3D 포즈 피쳐는 3D 포즈 검출기 모듈을 사용하여 생성될 수 있다. 시간 통합(temporal integration)은 튜브 제안을 생성함으로써 수행될 수 있고, 이와 함께 암시적 3D 포즈 기반 피쳐들이 연접되어, 1D 시간 컨볼루션 레이어를 이용하여 수행된 행동을 직접 분류하는 데 사용된다.
본 명세서에 설명된 방법은, 3D 인간 포즈의 시퀀스를 추정하고 분류하는 데 사용되는 다른 3D 행동 인식 방법에 비해 내재된 포즈 추정 노이즈가 적게 발생한다. 더욱이, 3D 행동 인식을 위한 다른 방법은, 1D 시간 컨볼루션을 사용하는 본 명세서에 설명된 실시예와 비교하여, 이미지 시퀀스로부터 시간 정보를 추출하기 위한 복잡한 아키텍쳐(architecture)를 포함할 수 있다.
예를 들어, 입력 비디오는 인간 튜브를 감지하기 위해 LCR-Net++와 같은 포즈 검출기 모듈에 의해 적어도 부분적으로 처리된다. 입력 비디오를 처리하는 포즈 검출기 모듈로부터 미드레벨 포즈 피쳐가 추출될 수 있다. 인간의 튜브를 기초로 생성될 수 있는 미드레벨 포즈 피쳐는 시간의 흐름에 따라 스택/연접될 수 있다. 그런 다음, 단일 1D 시간 컨볼루션을 스택된 포즈 피쳐에 적용하여 행동 점수를 얻을 수 있다. 미드레벨 포즈 피쳐에 적용되는 단일 1D 시간 컨볼루션은, 신경망의 1D 시간 컨볼루션 레이어에서 구현될 수 있다. 1D 시간 컨볼루션 레이어는 신경망의 단순하고 복잡하지 않은 아키텍쳐를 제공하여 시간 정보를 추출한다.
도 5는 인간 포즈 결정을 위한 신경망의 예시적인 아키텍처(500)를 포함하는 기능 블록도이다. 아키텍처(500)는 신경망(모듈)(502)을 포함한다. 신경망(502)은 본 명세서에서 언급된 제1 신경망이거나 이를 포함할 수 있다. 신경망(502)은 신경망(502)에 입력된 이미지(510)에 완전히 또는 부분적으로 표시된 각 인간에 대한 포즈를 결정하도록 구성된다.
신경망(502)은 하나 이상의 컨볼루션 레이어(520)를 포함하고, RPN(Region Proposal Network) 모듈(530), 분류 모듈(550) 및 회귀 모듈(560)을 포함할 수 있다. 더욱이, 신경망(502)은 하나 이상의 완전 연결(fully connected, fc) 레이어(540)를 포함할 수 있다. 완전 연결 레이어(540a)는 컨볼루션 레이어(520)의 출력에 기초하여 제2 신경망(580)에 대한 입력으로서 사용되는 암시적 표현을 생성하도록 구성된다. 완전 연결 레이어(540b 및 540c)는 완전 연결 레이어(540a)의 출력에 기초하여 명시적 표현을 생성하도록 구성된다. 분류 및 회귀 모듈(550, 560)은 분류를 결정하고 완전 연결 레이어(540b 및 540c)의 출력에 대해 회귀(regression)를 수행할 수 있다. 완전 연결 레이어(540a)는, 완전 연결 레이어(540b 및 540c)에 의해 수행될 수 있는 것처럼 포즈를 직접 지정하는 데 사용될 수 없기 때문에, 암시적 표현을 생성하며 포즈를 추정하는데 사용된다.
RPN 모듈(530)은 인간 주변의 후보 박스를 추출하도록 구성된다. 실시예에서, 포즈 제안은, 후보 박스 내 인간의 포즈를 미리 결정된 앵커 포즈와 매칭(matching)/맞춤(fitting)하고, 앵커 포즈를 후보 박스에 배치함으로써, RPN 모듈(530)에 의해 결정된다. 포즈 제안은 분류 모듈(550)에 의해 채점되고 회귀 모듈(560)에 의해 정제(refined) 또는 회귀(regressed)된다. 회귀 모듈(560)은 각 앵커 포즈에 대해 독립적으로 훈련된 클래스 별 회귀자(regressor)를 포함할 수 있다.
앵커 포즈는 사람의 서 있는 포즈, 앉은 포즈 및 기타 일반적인 사람의 포즈에 대응되는 키(key) 포즈일 수 있다. 각 앵커 포즈는 복수의 키포인트를 포함한다. 회귀 모듈(560)은 분류 모듈(550)에서 분류에 사용된 것과 동일한 피쳐를 입력으로 취할 수 있다. 앵커 포즈는 2D와 3D에서 공동으로 정의될 수 있으며, 공동의 2D-3D 포즈 공간에서 정제(refinement)/회귀(regression)가 이루어질 수 있다.
다양한 구현에서, 신경망(502)은 장면 및 이미지에서 다수의 인간을 검출하도록 구성되거나, 이미지 경계에 의한 가림 또는 잘림의 경우에서도 전신 포즈를 출력하도록 구성될 수 있으며, 또는 이를 모두 수행하도록 구성될 수 있다. 이미지 경계에서의 잘림의 예시에서, 신경망(502)은 동일한 키포인트(들)에서 전신 포즈를 절단할 수 있다. 결과는 실시간으로 생성될 수 있다. 신경망(502)은 아키텍쳐(architecture)와 유사한 Faster R-CNN을 포함할 수 있다.
신경망(502)은 인간 튜브를 추출하거나 비디오와 같은 이미지 시퀀스로부터 인간을 트래킹하도록 구성될 수 있다. 이 예시에서, 이미지 시퀀스의 각 이미지 또는 이미지 시퀀스의 이미지 서브 세트는 신경망(502)에 입력되어 이미지의 서브 세트에 대한 인간 주변의 후보 박스를 검출한다. 그런 다음, 후속 이미지의 후보 박스가 예를 들어 후보 박스 사이의 IoU(Intersection-over-Union)를 이용하여 연결된다.
다양한 구현에서, 인간 포즈의 암시적 표현은, 포즈 분류를 위한 최종 레이어와 조인트 2D 및 3D 포즈 정제/회귀를 위한 최종 레이어에 대한 입력으로 이용되는 피쳐 또는 피쳐 벡터를 포함한다. 이러한 피쳐는 인간 행동 분류를 위해 선택 및/또는 추출 및 사용될 수 있다. 예시에서, 이러한 피쳐는, 2048 차원(또는 다른 적절한 차원)을 포함하거나, ResNet50 백본(backbone) 또는 다른 적절한 유형의 이미지 분류 알고리즘에 의해 생성될 수 있으며, 또는 양자 모두에 해당할 수 있다.
신경망(502)과 유사한, 포즈 검출을 위한 신경망에 의해 생성된 피쳐는, 2D 및 3D 포즈 모두에 대한 정보를 인코딩(또는 포함)할 수 있다. 따라서, 이러한 포즈는 포즈 모호성을 포함할 수 있다. 본 명세서에 기술된 방법은, 이러한 피쳐를 직접 분류하여 인간의 행동을 결정할 수 있으며, 순수한 포즈 기반 방법이 복잡한 케이스 및 상황을 명확히 하는 데 필요로 하는 트래킹 또는 시간 추론을 필요로 하지 않을 수 있다. 피쳐는 인간 튜브에 따라 시간의 흐름에 맞춰 단순하게 스택될 수 있으며, 커널 크기 T의 시간 컨볼루션이 결과 매트릭스 상에 적용될 수 있고, 여기서 T는 이미지 시퀀스의 이미지 수에 해당한다. 이 컨볼루션은 이미지 시퀀스에 대한 행동 점수를 출력할 수 있다.
도 6은 인간 행동 인식 및 포즈 추정을 위해 신경망의 적어도 일부를 훈련하기 위한 예시적인 방법(600)을 나타내는 흐름도이다. 선택적으로, 도면 부호 610에서, 신경망은 훈련 이미지 및 훈련 이미지에 대응하는 라벨에 기초하여 이미지에 표시된 인간 포즈에 따라 이미지를 분류하도록 훈련된다. 트레이닝 이미지는 하나 이상의 인간 또는 하나 이상의 인간의 적어도 일부를 보여줄 수 있고, 라벨은 하나 이상의 인간의 하나 이상의 포즈를 나타낼 수 있다. 신경망은 이미지에 표시된 하나 이상의 인간 또는 인간의 적어도 일부의 2D 및/또는 3D 인간 포즈를 추정하도록 훈련될 수 있다.
도면 부호 620에서, 하나 이상의 이미지의 제1 세트 및 제1 세트에 대응하는 제1 라벨이 획득된다. 제1 이미지 세트의 각 세트는 비디오 시퀀스와 같은 이미지 또는 프레임의 시퀀스를 포함할 수 있다. 제1 라벨 중 하나는, 제1 세트 중 하나의 하나 이상의 이미지에서 인간이 수행하는 하나 이상의 행동을 정의할 수 있다.
도면 부호 630에서, 적어도 하나의 피쳐 벡터의 하나 이상의 세트는, 하나 이상의 이미지의 제1 세트 각각의 적어도 하나의 이미지를 제1 신경망에 입력함으로써 생성된다. 적어도 하나의 피쳐 벡터의 세트는, 하나 이상의 컨볼루션 레이어 및/또는 RPN 모듈과 같은 제1 신경망의 적어도 일부에 의해 생성된다. 다양한 구현에서, 제1 신경망은 도면 부호 610에서 훈련된 신경망이다. 대안적으로, 제1 신경망은 하나 이상의 이미지의 제1 세트 및 제1 라벨과 함께 획득되고, 인간 포즈를 결정하기 위해 초기에 훈련된 신경망일 수 있다.
도면 부호 640은 점선으로 표시된 것과 같이 선택적일 수 있다. 이 경우, 하나 이상의 이미지의 제1 세트 각각은 이미지 시퀀스를 포함하고, 적어도 하나의 피쳐 벡터 세트의 각각은 이미지 시퀀스에 적어도 부분적으로 대응하는 피쳐 벡터 시퀀스를 포함하고, 피쳐 벡터 시퀀스의 복수의 피쳐 벡터는 도면 부호 640에서 연접되거나 스택될 수 있다.
도면 부호 650에서 도 5를 참조하면, 인간 행동 분류를 위한 제2 신경망의 적어도 일부는, 적어도 하나의 이미지 및 제1 라벨 중 적어도 하나의 대응 라벨에 대응하는 적어도 하나의 피쳐 벡터에 기초하여 훈련된다. 다양한 구현에서, 제2 신경망(예를 들어, 도 5의 예시의 제2 신경망(580))의 훈련은, 복수의 연접된 피쳐 벡터(예를 들어, 도 5의 완전 연결 레이어(540a)의 피쳐 벡터)로 제2 신경망의 1차원(1D) 시간 컨볼루션 레이어와 같은 컨볼루션 레이어를 훈련하는 것을 포함한다. 다양한 구현에서, 제2 신경망(580)은 1차원(1D) 시간 컨볼루션 레이어일 수 있는 단일 컨볼루션 레이어를 포함하거나 그로 구성될 수 있다.
훈련 후 제2 신경망이 도 5에 도시된 제1 신경망의 적어도 부분과 결합되어, 비디오/시퀀스에서 행동을 예측하도록 구성된 신경망이 생성될 수 있으며, 해당 부분은 예컨대 피쳐 벡터 또는 암시적 포즈 피쳐를 생성하도록 구성될 수 있다. 제1 신경망(502) 또는 제1 신경망(502)의 (제1 신경망(502)을 훈련하는데 사용되는 도면 부호 570으로 식별되는 부분을 생략하는) 적어도 일부분(575)은, 각각의 인간 트랙/튜브에 대한 피쳐 벡터(예를 들어, 하나의 인간 트랙/튜브에 대한 피쳐 벡터 420a, 420b, 420c를 보여주는 도 4의 420)를 생성하도록 구성될 수 있고, 피쳐 벡터는 (도 4의 도면 부호 430과 같이) 스택/연접되며, 제2 신경망(580)에 의해 도면 부호 590에서 분류된다(예를 들어, 분류 442a 및 442b를 나타내는 도 4의 440).
다양한 구현에서, 제2 신경망은 제1 신경망의 훈련 후에 훈련된다. 이 경우, 제2 신경망의 훈련 중에 제1 신경망의 가중치가 고정될 수 있으며, 이는 이러한 가중치가 훈련 중에 변경되지 않음을 의미한다. 제1 신경망의 가중치는, 예를 들어 그래픽 처리 장치(GPU) 메모리 제약으로 인해 또는 더 큰 시간 윈도우(temporal window)가 고려되는 것을 허용하기 위해 훈련 중에 고정될 수 있다. 다양한 구현에서, 제1 신경망의 적어도 일부는 제1 이미지 세트 및 그에 대응하는 제1 라벨에 기초하여 제2 신경망과 공동으로 훈련된다.
훈련에서, T개의 연속 프레임의 랜덤 클립이 샘플링되고, 크로스 엔트로피 손실(cross-entropy loss)이 사용될 수 있으며, 여기서 T는 프레임 수이다. 테스트 시간에서, 완전 컨볼루션 아키텍쳐(fully convolutional architecture)가 제1 신경망에 사용될 수 있으며, 클래스 확률(class probabilities)은 비디오의 모든 클립에 대한 점수의 소프트맥스(softmax)에 의해 평균화될 수 있다.
실험 결과
도 4의 예시와 같은 다양한 구현은, 명시적 3D 또는 2D 포즈 시퀀스에 시공간 그래프 컨볼루션 네트워크(spatiotemporal graph convolutional network)를 사용하는 두 개의 기준(baseline)과 각각 비교된다. 모방된 행동에 대한 성과를 평가하기 위해, 표준 행동 인식 데이터 세트, 모방된 행동 "미메틱스(Mimetics)" 데이터 세트에 대한 실험 결과가 제시된다.
도 7은 명시적 3D 포즈 정보에 기초한 제1 기준(700)의 개요를 나타낸다. 입력 비디오가 주어지면, 인간 튜브가 검출되고, LCR-Net++를 이용하여 2D/3D 포즈가 추정된다(도 7에서 가독성을 위해 하나의 튜브에 대해서만 표시됨). 그런 다음, 3D 포즈 시퀀스를 생성하고, 시공간 그래프 신경망을 기반으로 한 행동 인식 방법을 이용하여 행동 점수를 획득한다. 보다 정확하게는, LCR-Net++에 의해 추정된 3D 포즈가 각 후보 박스에 대해 생성되어 각 튜브에 대한 3D 인간 포즈 골격 시퀀스를 구축한다. 그런 다음, 3D 인간 포즈 골격 시퀀스를 처리하기 위해 3D 행동 인식 방법이 사용된다. 본 아이디어에는 시공간 컨볼루션이 적용되는, 포즈 시퀀스로부터 시공간 그래프를 작성하는 것이 포함된다. 다음에서, 제1 기준은 STGCN3D라고 한다.
제2 기준은 2D 포즈를 기반으로 한다. 이전 파이프 라인의 변형은 LCR-Net++에 의해 추정한 3D 포즈를 2D 포즈로 대체한다. 한편으로, 3D 포즈가 내재적으로 모호한 2D 포즈보다 더 많은 정보를 제공하기 때문에, 이러한 변형은 성능을 저하할 가능성이 있다. 반면, 이미지와 동영상에서 추출한 2D 포즈는 3D 포즈보다 더 정확하고, 노이즈에 영향 받기 쉽다. 다음에서, 제2 기준은 STGCN2D라고 한다.
실험에 이용된 데이터 세트 개요
#cls #vid #splits In-the-wild GT 2D GT 3D
NTU 60 56,578 2 Yes Yes
JHMDB 21 928 3 Yes Yes
PennAction 15 2,326 1 Yes Yes
HMDB51 51 6,766 3 Yes
UCF101 101 13,320 3 Yes
Kinetics 400 306,245 1 Yes
다양한 수준의 실측 자료를 가지는 다양한 행동 인식 데이터 세트가 표 1에 나와 있으며, 이는 클래스 수, 비디오 수, 분할 수 및 프레임 레벨의 GT(ground-truth) 측면에서 데이터 세트를 요약한 것이다. 다중 분할이 있는 데이터 세트의 경우, 일부 결과는 제1 분할에서만 보고되며, 예를 들어 JHMDB의 분할 1에 대해 JHMDB-1로 표시된다. 본 발명의 구현은 실제 비디오에서 행동 인식을 수행하는 데 사용될 수 있지만, 2D 및 3D의 GT 포즈를 포함하는 NTU 3D 행동 인식 데이터 세트를 사용하여 결과를 검증할 수 있다. 표준 CS(cross-subject) 분할이 사용된다. 또한, 실험은, GT 2D 포즈는 있지만 3D 포즈는 없는 JHMDB 및 PennAction 데이터 세트에 대해 수행되었으며, 이는 데이터 세트가 실제(in-the-wild) 비디오를 포함하기 때문이다. 추가 데이터 세트는 HMDB51, UCF101 및 Kinetics로, 각 비디오의 실측 라벨보다 더 많은 정보를 포함하지 않는다. 메트릭(metric)으로서, 모든 클래스에 대해 평균화된 표준 평균 정확도, 즉 클래스 당 올바르게 분류된 비디오의 비율이 계산된다.
GT 2D 포즈가 있는 데이터 세트의 경우, GT 2D 포즈에서 얻은 Ground-Truth Tube (GT Tubes)를 이용할 때의 성능을, 추정된 2D 포즈로 만든 추정된 튜브(LCR Tubes)를 이용할 때의 성능과 비교한다. 후자의 경우, GT 튜브가 있는 시공간 IoU가 0.5보다 크면 튜브는 양수로 표시되고, 그렇지 않으면 음수로 표시된다. 튜브 주석(annotation)이 없는 경우, 모든 튜브에 비디오 클래스 라벨이 지정되어 있다고 가정한다. 튜브가 추출되지 않은 경우, 동영상은 트레이닝 동안 무시되고, 테스트 동영상으로 잘못 분류된 것으로 간주된다. Kinetics 데이터 세트에는, 머리만 보이는 많은 비디오와, 행동 중에 조작되는 한 손 또는 주 객체만 보이는 1인칭 시점의 많은 클립이 포함되어 있다. PennAction에서 비디오의 2%, JHMDB에서 8%, HMDB51에서 17%, UCF101에서 27%, Kinetics에서 34%에 대해 튜브를 얻을 수 없다.
도 8A 내지 8F는, 다양한 튜브(GT 또는 LCR) 및 피쳐(저해상도 또는 고해상도에서 추출된 포즈 또는 행동)에 대해 모든 데이터 세트에서 다양한 수의 비디오 프레임 T에 대해 본 명세서에서 설명된 예시(이하에서 스택형 암시적 포즈 네트워크(Stack Implicit Pose Network, SIP-Net이라고도 함)의 평균 정확도의 플롯을 보여준다. 전반적으로, 클립 크기 T가 클수록 분류 정확도가 높아진다. 특히 NTU 및 Kinetics와 같이 긴 비디오가 있는 데이터 세트의 경우가 그렇다. 이것은 GT 튜브와 LCR 튜브를 사용할 때 둘 다 유지된다. 다양한 구현에서, 프레임 수 T는 하기 설명된 실험에서 T=32로 유지될 수 있다.
다양한 구현에서, LCR 포즈 기능에 대한 시간 컨볼루션은 행동을 분류하도록 훈련된 ResNet50 백본이 있는 Faster R-CNN 모델에서 추출된 피쳐와 비교되었다. 이러한 프레임 레벨 검출기는 다양한 구현에 사용되었다. LCR-Net++를 사용하여 LCR 포즈 피쳐를 추출할 수 있다. LCR-Net++는 ResNet50을 사용하는 Faster R-CNN을 기반으로 한다. 따라서, LCR-Net++ 피쳐와 비교하여 행동을 분류하도록 훈련된 네트워크의 학습된 가중치만 변경된다.
본 실험에서는, 튜브를 따라 LCR-Net++ 및 행동을 분류하도록 훈련된 네트워크를 사용하여, "야구 스윙" 및 "벤치 프레스" 행동이 있는 두 비디오의 피쳐를 추출했다. 각 시퀀스에 대해, Faster R-CNN 행동 또는 LCR 포즈 피쳐를 이용할 때 튜브를 따라 있는 피쳐 간의 차이(거리)가 피쳐 상관 관계를 통해 표시된다. 결과는 암시적 포즈 피쳐(LCR 포즈 피쳐)가 Faster R-CNN 행동 피쳐보다 튜브 내부에서 더 많은 변형을 보일 수 있음을 보여준다. 특히, 포즈 피쳐 대신 액션 피쳐를 사용할 때, 정확도의 하락(T=32에 대해 JHMDB-1 및 PennAction에서 약 20%, NTU에서 약 5%)을 보여준다. 포즈 피쳐는 튜브에서 피쳐 간의 차이 또는 거리가 증가하기 때문에 액션 피쳐에 비해 성능이 상당히 향상된다. 특히 행동에 대해 프레임 별 검출기를 훈련시킬 때 주어진 튜브의 대부분의 피쳐는 상호 연관된다. 그러므로 그들로부터의 시간 정보를 활용하는 것은 어려울 수 있다. 반대로 LCR-Net++ 포즈 피쳐는 포즈와 마찬가지로 시간이 지남에 따라 상당히 변경되어 시간 통합의 이점을 더 많이 얻을 수 있다.
마지막으로, (a) 낮은 해상도, 즉 가장 작은 면이 320 픽셀이 되도록 입력 이미지의 크기를 조정한 후(LCR-Net++의 실시간 모델에 따름)의 낮은 해상도에서 추출된 피쳐와, (b) (Faster R-CNN 및 LCR-Net++ 모델을 모두 트레이닝하는데 이용되는) 가장 작은 이미지 크기가 800 픽셀로 설정된 고해상도에서 추출된 피쳐를 사용하여, (테스트 시) 이미지 해상도가 성능에 미치는 영향을 비교한다. JHMDB-1에서, 해상도가 높을수록 성능이 저하될 수 있으며, 이는 상대적으로 작은 데이터 세트 크기와 낮은 비디오 품질로 설명될 수 있다. 고해상도 비디오를 포함하는 PennAction 및 NTU 데이터 세트에서, 더 높은 해상도로 추출된 피쳐는 각각 약 1% 및 10%의 개선을 가져올 수 있다. 작은 해상도 설정은 특히 Kinetics와 같은 대규모 데이터 세트의 경우 속도 때문에 일부 구현에서 유지된다.
GT 튜브 또는 LCR 튜브를 사용하는 경우 데이터 세트에 대한 SIP-Net 접근 방식 및 두 개의 기준(baseline)에 대한 평균 정확도(%).
Method Tubes JHMDB-1 PennAction NTU (cs)
STGCN2D GT 22.7 92.5 69.5
STGCN3D GT 59.5 95.3 75.4
SIP-Net GT 73.7 96.4 66.7
STGCN2D LCR 19.2 76.4 67.2
STGCN3D LCR 60.9 88.4 73.0
SIP-Net LCR 65.2 90.6 63.3
표 2는 JHMDB-1, PennAction 및 NTU 데이터 세트에서 GT 및 LCR 튜브를 사용하여 본 발명의 실시예와 제1 및 제2 기준을 비교한 결과를 보여준다. 데이터 세트 JHMDB-1 및 PennAction의 경우, 본 출원은, 기준에 비해 훨씬 단순한 아키텍쳐임에도 불구하고, GT 및 LCR 튜브 모두에서 명시적인 2D-3D 포즈 표현을 기초로 하는 기준을 능가한다. 추정된 3D 포즈 시퀀스는 일반적으로 노이즈가 많고 시간 일관성(temporal consistency)이 부족할 수 있다. 또한, 제1 기준은 2D 대응물(counterpart)보다 성능이 훨씬 뛰어나서, 2D 포즈에 덜 차별적이고 더 모호한 정보가 포함되어 있음을 확인시켜 준다.
NTU 데이터 세트에서, 3D 포즈 기준은 GT 튜브 및 예상 포즈를 사용할 때 75.4%의 정확도를 얻을 수 있으며, GT 3D 포즈를 사용할 때 81.5%를 얻을 수 있다. 제한된 환경에서 이러한 6%의 차이는 실제 캡쳐한 비디오의 경우 증가할 수 있다. 본 발명의 구현 성능은 GT 튜브에서 66.7%로 더 낮지만, 그러나 도 8A 내지 8F에서 볼 수 있듯이, 이것은 피쳐가 저해상도에서 추출되기 때문일 수 있다. 더 높은 해상도에서는, STGCN3D와 동등한 77.5%를 얻을 수 있다.
포즈 기반 접근 방식에 대해, LCR 튜브를 사용하는 모든 데이터 세트에 관한 SIP-Net 및 두 개의 기준에 대한 평균 정확도(%).
JHMBD-1 JHMBD PennAction NTU (cs) HMB51-1 HMB51 UCF101-1 UCF101 Kinetics
STGCN2D 19.2 20.2 76.4 67.2 33.3 32.7 42.1 42.2 13.4
STGCN3D 60.9 54.5 88.4 73.0 31.4 31.7 41.4 41.5 12.2
SIP-Net 65.2 59.6 90.6 63.3 42.9 44.2 54.1 52.4 22.9
PoTion 59.1 57.0 - - 46.3 43.7 60.5 65.2 16.6
Zolfaghari et al. (pose only) 45.5 - - 67.8 36.0 - 56.9 - -
Multitask (with RGB) - - 97.4 74.3 - - - - -
STGCN (3D with OpenPose) 25.2 25.4 71.6 79.8 38.6 34.7 54.0 50.6 30.7
표 3은 LCR 튜브를 사용할 때 모든 데이터 세트에 대한 분류 정확도를 비교한 것이다(첫 세 개의 행 참고). 암시적 포즈 피쳐를 기반으로 하는 본 발명(SIP-Net)은, HMDB51, UCF101 및 Kinetics에서 10% 이상의 차이로 명시적 2D 및 3D 포즈를 사용하는 다른 방법보다 훨씬 뛰어난 성능을 발휘한다. 이는 명시적인 신체 키 포인트 좌표와 비교할 때 이 표현의 견고함을 보여준다. 흥미롭게도, HMDB51, UCF101 및 Kinetics에서, 2D 포즈 기준은 3D 포즈 기준보다 약간 더 나은 성능을 발휘하며, 이는 3D 포즈 추정치에 노이즈가 있다는 것을 의미할 수 있다.
또한, 표 3은 본 출원과 포즈 기반 방법 간의 비교를 보여준다. PoTion과 비교하여 본 출원의 경우, JHMDB에서 3%, HMDB51에서 0.5%, Kinetics에서 6%의 차이로 더 높은 정확도를 얻을 수 있고, UCF101에서 더 낮은 정확도를 얻을 수 있다. UCF101 데이터 세트의 일부 동영상에서, 인간은 너무 작아서 감지할 수 없으며 어떤 튜브도 만들 수 없다. 일부 포즈 모델에 비해, JHMDB 및 HMDB51의 첫 번째 분할에서 더 높은 정확도를 얻을 수 있으며, 저해상도 처리로 인해 NTU 뿐만 아니라 위와 같은 이유로 UCF101에서 더 낮은 정확도를 얻을 수 있다. NTU 및 PennAction에서, 일부 방법은 외관(appearance) 피쳐도 활용하기 때문에 더 높은 정확도를 얻는다. 3D ResNeXt-101 백본을 사용하여 본 출원을 표준 RGB 스트림과 결합하면, PennAction 데이터 세트에서 98.9%의 평균 정확도를 얻을 수 있다.
장면과 객체에 대한 행동 인식 알고리즘의 편향(bias)을 평가하고, 그러한 시각적 컨텍스트가 없는 경우의 일반화 가능성을 평가하기 위해, 미메틱스, 즉 모방된 행동의 데이터 세트를 사용하여 본 출원을 평가할 수 있다. 미메틱스는 특정 객체와의 상호 작용 또는 조작을 포함하는 모방된 인간 행동을 담은 YouTube의 짧은 비디오 클립을 포함한다. 여기에는 테니스를 치거나 축구공을 저글링하는 것과 같은 스포츠 활동, 음주 및 개인 위생(예를 들어, 양치질)과 같은 일상 활동, 또는 베이스 기타, 아코디언 또는 바이올린을 포함한 악기 연주가 포함된다. 이러한 클래스는 Kinetics 데이터 세트의 행동 라벨에서 선택되어, Kinetics에서 훈련된 모델을 평가할 수 있다. 미메틱스는 테스트 목적으로만 사용되는데, 이는 테스트된 신경망이 이 데이터 세트에서 훈련되지 않았음을 의미한다. 미메틱스는 45개의 인간 행동 클래스의 서브셋에 대해 619개의 짧은 동영상을 포함하며, 각 행동에 대해 10~20개의 클립이 있다. 이러한 행동들은 무대 또는 거리에서 마임 아티스트에 의해 수행되지만, 또한 일상 생활에서도 일반적으로 마임 게임 중에 수행되고, 또는 소셜 미디어에서 재미를 위해 캡쳐 및 공유된다. 예를 들어, 동영상은 실내 서핑 또는 골을 축하하기 위해 '볼링' 행동을 모방하는 축구 선수를 보여준다. 각 클래스의 클립은, 원하는 행동이 뒤따르는 흉내 또는 모방과 같은 키워드로 후보를 검색하거나, 특정 객체 카테고리가 뒤따르는 가상 및 무형과 같은 질의 단어를 사용하여 획득되었다. 데이터 세트는 인간 관찰자가 모방한 행동을 인식할 수 있도록 구축되었다. 동일한 클래스의 클립이 겹치지 않고 공통된 자료(예를 들어, 동일한 배경으로 동일한 행동을 흉내내는 동일한 사람)를 포함하지 않도록 주의를 기울였다. 비디오는 다양한 해상도와 프레임 속도를 가지며 Kinetics 데이터 세트에 따라 2초에서 10초 사이의 길이로 수동으로 트리밍되었다.
미메틱스 데이터 세트의 Top-k 정확도 및 mAP(mean average-precision)(%).
top-1 top-5 top-10 mAP
RGB 3D-ResNeXt-101 8.9 21.3 28.8 15.8
STGCN (2D with OpenPose) 9.2 25.5 34.5 18.1
STGCN2D 9.5 22.7 31.2 17.2
STGCN3D 10.4 25.5 34.4 18.8
SIP-Net 11.3 26.3 37.3 19.3
표 4는 미메틱스 데이터 세트에 대한 결과를 나타낸다. 모든 방법은 400개의 Kinetics 클래스에서 훈련되고, 미메틱스 데이터 세트의 비디오에서 테스트된다. 표 4는 Top-1, Top-5 및 Top-10 정확도와 mAP(mean average-precision)를 보여준다. 각 비디오는 단일 라벨을 가지고 있기 때문에, 평균 정밀도는 각 클래스에 대해 클래스의 모든 비디오에 걸쳐 평균을 내는 GT 라벨 순위의 역을 계산한다. 2 개의 기준과 본 발명의 구현은, 64개의 연속 RGB 프레임의 클립에서 훈련된 시공간 3D 딥 컨볼루션 네트워크 뿐만 아니라 OpenPose에 기초한 다른 방법과 비교되었다. 시공간 3D 컨볼루션과 함께 코드 릴리스(code release)가 사용되었다.
성능은 모든 방법에 대해 상대적으로 낮으며, Top-1 정확도 12% 및 mAP 20% 미만으로, 모방된 행동의 인식이 어렵다는 것을 보여준다. 사실상, 모든 방법들은 사다리 오르기, 신문 읽기, 자동차 운전하기, 볼링하기 등 일부 행동에 대해 제대로 수행되지 않을 수 있다. 자동차를 운전하는 행동의 경우, 트레이닝 비디오에서 인간이 자동차에 가려져 잘못된 포즈 추정이 발생하는 경향이 있다. 볼링의 경우, 마임은 행동을 모방할 때 종종 카메라를 마주 보는 반면, 훈련 비디오는 뒷면이나 측면에서 캡쳐될 수 있다. 대부분의 경우, (예를 들어, 에어 기타를 연주하거나 저널을 읽을 때) 마임은 과장되는 경향이 있으므로, 올바르게 분류하기 어렵다. 모든 방법의 또 다른 어려움은, 일부 Kinetics 행동이 세분화되어(예를 들어, 다양한 종류의 음식을 먹는 것에 해당하는 서로 다른 클래스), 특히 모방할 때 구별하기 어렵다는 것이다. 이것은 훈련 데이터와 관련된 문제를 암시한다.
스택된 암시적 포즈 표현에 적용되는 시간 컨볼루션을 포함하여, 본 출원을 이용하여 최상의 전체 성능을 얻을 수 있으며, 아마도 11.3%의 Top-1 정확도 및 19.3%의 mAP에 도달할 수 있다. 일반적으로 사람들이 너무 작거나 근접한 경우, 미메틱스 비디오의 3%는 LCR 튜브가 없으며, 이는 LCR-Net+++에 기초할 수 있는 본 출원 및 2개의 기준의 성능에 영향을 미친다. 장면에 여러 인간이 있을 때 또 다른 실패 사례가 발생한다. 튜브는 여러 인간 또는 다른 사람(예를 들어, 구경꾼)을 잘못 혼합하여 관심있는 행동을 모방한 것보다 더 높은 점수를 얻을 수 있다.
또한, 모든 포즈 기반 방법은 평균적으로 3D-ResNeXt 기준을 능가한다. 양궁, 바이올린 연주, 베이스 기타 연주, 트럼펫 연주 또는 아코디언 연주와 같은 일부 클래스의 경우, 3D-ResNeXt는 0%를 얻을 수 있지만 다른 방법은 합리적으로 잘 수행될 수 있다. 따라서, 행동 인식 방법은 수행된 행동보다 조작되는 객체나 비디오가 캡쳐되는 장면을 감지하는 방법을 학습할 수 있다.
3D-ResNeXt는, 객체(예를 들어, 담배)가 너무 작거나 손으로 가려져 객체(예를 들어, 야구공, 칫솔, 헤어 브러시)가 훈련 비디오에서 잘 보이지 않는 클래스에서 좋은 성능을 발휘할 수 있다. 이러한 경우들에서, 3D-ResNeXt는 (예를 들어, 양치질, 흡연, 머리 빗질을 위한) 얼굴과 손 또는 (예를 들어, 야구공 던지기와 같은) 신체에 초점을 맞추므로, 모방된 행동에서 잘 수행된다. 또한, 대부분의 미메틱스 비디오에 대해 모방된 행동과 관련된 장면에서 캡쳐된 행동에 대해 좋은 성능에 도달한다. 예를 들어, 덩크슛 농구의 미메틱스 비디오의 70%가 농구 골대에서 (공 없이) 흉내 낸 것일 수 있다. 3D-ResNeXt 방법은 이러한 비디오를 성공적으로 분류할 수 있지만(모두 Top-5), 농구 백보드 근처에서 발생하지 않는 클래스의 다른 비디오에서는 실패할 수 있으며, 이는 주로 장면 컨텍스트를 활용한다는 것을 보여준다.
마지막으로, 본 출원을 다른 포즈 기반 방법과 비교할 때, 큰 객체가 피사체의 팔 중 하나를 가리는 행동(예를 들어, 바이올린 연주, 아코디언 연주)에 대해 OpenPose 기반의 다른 방법에 비해 더 나은 성능을 얻을 수 있다. 이는, 눈에 보이는 팔다리에 대한 예측만 생성하는 OpenPose와 달리, 가림의 경우에 있어서도 LCR-Net++가 전신 포즈를 출력한다는 사실 때문일 수 있다. 또한, 본 출원은, 대부분의 시간 동안 배우가 부분적으로만 보이는 트럼펫 연주와 같은 클래스의 3D 기준을 능가할 수 있다. 3D 포즈는 노이즈가 있는 반면, 본 출원은 더 견고하다.
일부 특정 실시예가 위에서 상세하게 설명되었지만, 실시예의 의도된 범위에서 벗어나지 않고 실시예의 다양한 수정, 변경 및 개선이 상술한 교시 내용에 비추어 그리고 첨부된 청구범위의 내용 내에서 이루어질 수 있음이 당업자에게 명백할 것이다. 또한, 당업자에게 친숙하다고 생각되는 영역은 여기에 설명된 실시예를 불필요하게 모호하게 하지 않기 위해 여기에 설명하지 않았다. 따라서, 실시예는 특정 예시적인 실시예에 의해 제한되는 것이 아니라 첨부된 청구항의 범위에 의해서만 제한된다는 것을 이해해야 한다.
상기 실시예가 방법 단계의 맥락에서 설명되었지만, 이들은 또한 대응하는 장치 또는 시스템의 대응하는 구성 요소, 모듈 또는 피쳐의 설명을 나타낸다.
전술한 방법 단계 또는 기능 중 일부 또는 전부는, 하나 이상의 프로세서, 하나 이상의 마이크로 프로세서, 하나 이상의 전자 회로 또는 프로세싱 회로에 의해 실행(또는 사용)된다는 점에서 컴퓨터에 의해 구현될 수 있다.
전술한 실시예는 하드웨어 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있다. 상술한 구현은, 예를 들어 플로피 디스크, DVD, Blu-Ray, CD(컴팩트 디스크), 읽기 전용 메모리(ROM), PROM 및 EPROM, EEPROM, RAM(Random Access Memory), FLASH 메모리, 컴퓨터 판독 가능 저장 매체와 같은 비일시적 저장 매체를 사용하여 수행될 수 있다. 그러한 컴퓨터 판독 가능 매체는 범용 또는 특수 목적 컴퓨터 시스템에 의해 액세스될 수 있는 임의의 이용 가능한 매체일 수 있다.
일반적으로 실시예는, 컴퓨터 프로그램 제품이 컴퓨터에서 실행될 때 방법 중 하나를 수행하기 위해 작동되는 프로그램 코드 또는 컴퓨터 실행 가능 명령어, 프로그램 코드 또는 컴퓨터 실행 가능 명령어를 갖는 컴퓨터 프로그램 제품으로 구현될 수 있다. 프로그램 코드 또는 컴퓨터 실행 가능 명령어는 컴퓨터 판독 가능 저장 매체에 저장될 수 있다.
일 실시예에서, 저장 매체(또는 데이터 캐리어, 또는 컴퓨터 판독 가능 매체)는, 프로세서에 의해 수행될 때 여기에 설명된 방법 중 하나를 수행하기 위한, 저장 매체에 저장된 컴퓨터 프로그램 또는 컴퓨터 실행 가능 명령어를 포함한다. 추가 실시예에서, 장치는 하나 이상의 프로세서 및 상기 언급된 저장 매체를 포함한다.
추가 실시예에서, 장치는 예를 들어 프로세싱 회로(예를 들어, 메모리와 통신하는 프로세서)와 같은, 여기에 설명된 방법 중 하나를 수행하도록 구성되거나 적응되는 수단을 포함한다.
추가 실시예는 여기에 설명된 방법 중 하나를 수행하기 위한 컴퓨터 프로그램 또는 명령어가 설치된 컴퓨터를 포함한다.
실시예는 인간 행동 인식과 관련하여 설명되었지만, 당업자는 위의 실시예가 개체 행동 인식에 사용될 수 있으며, 여기서 개체는 인간, 동물 및 로봇과 같은 무생물을 포함하도록 사용된다는 것을 이해할 것이다. 개체는 특정 클래스, 종 또는 컬렉션의 일부에 해당할 수 있는 살아있는 객체 및/또는 움직이는 객체일 수 있다.
전술한 방법 및 실시예는, 데이터 교환을 위한 인터넷과 같은 네트워크(904)(무선 및/또는 유선일 수 있음)를 통해 통신하는 서버(900)와, 하나 이상의 클라이언트 장치(902)를 포함하는 도 9와 같은 아키텍쳐(architecture) 내에서 구현될 수 있다. 서버(900) 및 클라이언트 장치(902)는, 데이터 프로세서(912)(또는 더 간단하게 프로세서)(예를 들어, 912a, 912b, 912c, 912d, 912e) 및 예를 들어 하드 디스크 같은 메모리(913)(예를 들어, 913a, 913b, 913c, 913d, 913e)를 포함한다. 클라이언트 장치(902)는 자율 차량(902b), 로봇(902c), 컴퓨터(902d) 또는 휴대폰(902e)과 같이 서버(900)와 통신하는 임의의 유형의 컴퓨팅 장치일 수 있다.
보다 구체적으로 실시 예에서, 도 1 내지 도 3 및 도 6의 예시에 따른 훈련 및 분류 방법은 서버(900)에서 수행될 수 있다. 다른 실시예에서, 도 1 내지 도 3 및 도 6의 실시예에 따른 훈련 및 분류 방법은 클라이언트 장치(902)에서 수행될 수 있다. 또 다른 실시예에서, 훈련 및 분류 방법은 분산 방식으로 상이한 서버 또는 복수의 서버에서 수행될 수 있다.
명시적인 신체 키 포인트 좌표를 사용하지 않고 포즈 검출기에 의해 학습된 미드레벨 피쳐에 의해 수행될 수 있는 암시적 포즈 표현을 활용하는 새로운 접근 방식이 개시된다.
이러한 이미지 또는 비디오에서 수행되는 작업에 따라, 이미지 또는 비디오를 분류하는 기능은 여러 기술 작업과 관련이 있다. 예를 들어, 본 출원은 비디오의 제목과 같은 메타 데이터 뿐만 아니라 비디오의 내용과 관련이 없거나 오해의 소지가 있을 수 있는 비디오의 내용을 기반으로 비디오를 인덱싱할 수 있다. 예를 들어, 검색 엔진과 같은 검색 애플리케이션(application)을 위해 많은 양의 동영상을 인덱싱하는 컨텍스트에서, 동영상의 메타 데이터 뿐만 아니라 동영상의 실제 콘텐츠에 대한 검색 요청의 관련성을 기반으로 검색 요청에 대한 응답으로 검색 결과를 제공할 수 있다. 더욱이, 본 출원은 비디오의 콘텐츠와 관련되거나 연관된 광고를 제공할 수 있다. 예를 들어, Snow와 같은 비디오 공유 웹 사이트는 비디오 콘텐츠에 특정한 광고를 제공할 수 있다. 대안적으로 또는 추가적으로, 웹 페이지에서 비디오를 볼 때, 비디오의 콘텐츠를 기반으로 다른 비디오를 추천할 수 있다. 또한, 로봇 공학 및 자율 주행의 컨텍스트에서, 본 출원은 근처의 인간이 수행하는 행동을 인식하는 데 사용될 수 있다. 예를 들어, 인간은 인간이 수행하는 행동이나 제스처를 결정할 수 있는 로봇과 상호 작용할 수 있다. 또한, 자율 주행 차(autonomous vehicle)는 위험으로 분류되는 행동을 포함하는 위험한 인간 행동을 감지할 수 있으며, 자율 주행 차는 그에 따라 속도를 조정하거나 비상 브레이크를 수행할 수 있다. 또한, 본 발명의 실시예는 비디오 게임 분야에 적용될 수 있다. 사용자는 리모컨 없이 플레이 할 수 있다.
본 명세서에 설명된 방법은, 실제 3D 행동 인식에 대한 결과를 예측하는 정확도와 관련하여, 3D 골격 데이터 또는 신체 키 포인트 좌표에 대해 작동하는 신경망에 기반한 방법을 능가할 수 있다. LCR-Net++와 같은, 포즈 검출기의 딥 포즈 기반 피쳐와 같은 암시적 포즈 표현은, 행동 분류를 위해 특별히 훈련된 딥 피쳐(deep feature)보다 훨씬 더 나은 성능을 발휘할 수 있다.
상술한 설명은 본질적으로 단지 예시적인 것이며 본 개시, 그것의 응용, 또는 사용을 제한하려는 것이 아니다. 본 개시의 광범위한 교시는 다양한 형태로 구현될 수 있다. 따라서, 본 개시는 특정 예시를 포함하지만, 본 개시의 범위는 도면, 명세서 및 청구범위 내에서 변형이 가능하기 때문에, 특정 예시로 제한되지 않아야 한다. 본 방법의 하나 이상의 단계는 본 개시의 원리를 변경하지 않고 상이한 순서로 (또는 동시에) 실행될 수 있음을 이해해야 한다. 또한, 각각의 실시예는 특정 특징을 갖는 것으로 설명되었지만, 본 개시의 임의의 실시예와 관련하여 설명된 이들 특징 중 임의의 하나 이상은 그 조합이 명시적으로 설명되어 있지 않더라도, 다른 실시예의 특징으로 구현 및/또는 결합될 수 있다. 다시 말해서, 설명된 실시예는 상호 배타적이지 않으며, 하나 이상의 실시예를 다른 실시예와 치환하는 것은 본 개시의 범위 내에 있다.
개시된 실시예는 인간을 위한 전신 포즈를 생성하기 위한 시스템 및 방법을 설명하지만, 본 출원은 또한 적절한 훈련을 통해 전신 포즈를 생성하고 다른 유형의 동물(예를 들어, 개, 고양이 등)의 행동을 결정하는 데에도 적용 가능하다.
구성요소(예를 들어, 모듈, 회로 요소, 반도체 층 등) 간의 공간적 및 기능적 관계는 "연결된", "연계된", "결합된", "인접한", "다음에", “위에”, “위에”, “아래에”, “처음”을 포함하는 다양한 용어를 사용하여 설명된다. "직접적인" 것으로 명시적으로 언급되지 않는 한, 제1 및 제2 요소 사이의 관계가 상술된 개시에서 설명될 때, 그 관계는 제1 및 제2 요소 사이에 다른 중간 요소가 존재하지 않는 직접적인 관계일 수 있고, 또한 하나 이상의 중간 요소가 제1 및 제2 요소 사이에 (공간적으로 또는 기능적으로) 존재하는 간접적인 관계일 수 있다. 본 명세서에 사용된 바와 같이, "A, B 및 C 중 적어도 하나"의 표현은 비배타적인 논리 OR을 사용하여 A 또는 B 또는 C를 의미하는 것으로 해석되어야 하고, "A 중 적어도 하나, B 중 적어도 하나 및 C 중 적어도 하나"를 의미하는 것으로 해석되어서는 안된다.
도면에서, 화살촉으로 표시되는 화살의 방향은 일반적으로 예시의 대상인 정보(예컨대, 데이터 또는 명령어)의 흐름을 나타낸다. 예를 들어, 요소 A 및 요소 B가 다양한 정보를 교환하지만 요소 A에서 요소 B로 전송되는 정보가 예시와 관련이 있는 경우, 화살표는 요소 A에서 요소 B를 가리킬 수 있다. 단방향 화살표는 요소 B에서 요소 A로 전송되는 다른 정보가 없음을 의미하지 않는다. 또한, 요소 A로부터 요소 B로 전송된 정보에 대해, 요소 B는 정보의 요청 또는 수신 확인을 요소 A에 전송할 수 있다.
다음의 정의를 포함하여 본 출원에서 "모듈"또는 "제어기"라는 용어는 "회로"라는 용어로 대체될 수 있다. "모듈"이라는 용어는 ASIC (Application Specific Integrated Circuit), 디지털, 아날로그 또는 혼합 아날로그/디지털 이산 회로, 디지털, 아날로그 또는 혼합 아날로그/디지털 집적 회로, 조합 논리 회로, FPGA (Field Programmable Gate Array), 코드를 실행하는 프로세서 회로 (공유, 전용 또는 그룹), 프로세서 회로에 의해 실행되는 코드를 저장하는 메모리 회로(공유, 전용 또는 그룹), 설명된 기능을 제공하는 다른 적합한 하드웨어 구성 요소, 또는 시스템-온-칩 (system-on-chip)에서와 같이 상기 일부 또는 전부의 조합을 포함하거나 그 일부일 수 있다.
모듈은 하나 이상의 인터페이스 회로를 포함할 수 있다. 일부 예시에서, 인터페이스 회로는 근거리 통신망(LAN), 인터넷, 광역 통신망(WAN) 또는 이들의 조합에 연결된 유선 또는 무선 인터페이스를 포함할 수 있다. 본 개시의 임의의 모듈의 기능은 인터페이스 회로를 통해 연결된 다수의 모듈에 분산될 수 있다. 예를 들어, 복수의 모듈에 의해 부하 조절이 가능할 수 있다. 다른 예시에서, 서버(원격 또는 클라우드라고도 함) 모듈은 클라이언트 모듈 대신 일부 기능을 수행할 수 있다.
상기 사용된 코드는 소프트웨어, 펌웨어 및/또는 마이크로 코드를 포함할 수 있으며, 프로그램, 루틴, 기능, 클래스, 데이터 구조 및/또는 객체를 지칭할 수 있다. 공유 프로세서 회로는 여러 모듈에서 일부 또는 모든 코드를 실행하는 단일 프로세서 회로를 포함한다. 그룹 프로세서 회로는 추가적인 프로세서 회로와 결합하여 하나 이상의 모듈로부터 일부 또는 모든 코드를 실행하는 프로세서 회로를 포함한다. 다중 프로세서 회로라는 표현은 이산된 다이(discrete die) 상의 다중 프로세서 회로, 단일 다이(single die) 상의 다중 프로세서 회로, 단일 프로세서 회로의 다중 코어, 단일 프로세서 회로의 다중 스레드, 또는 이들의 조합을 포함한다. 공유 메모리 회로라는 용어는 복수 모듈의 일부 또는 모든 코드를 저장하는 단일 메모리 회로를 포함한다. 그룹 메모리 회로라는 용어는 추가 메모리와 결합하여 하나 이상의 모듈로부터의 일부 또는 모든 코드를 저장하는 메모리 회로를 포함한다.
메모리 회로라는 용어는 컴퓨터 판독 가능 매체의 서브 세트이다. 본 명세서에서 사용되는 컴퓨터 판독 가능 매체라는 용어는 매체를 통해 (예를 들어, 반송파상에서) 전파되는 일시적인 전기 또는 전자기 신호를 포함하지 않으며, 따라서 컴퓨터 판독 가능 매체라는 용어는 유형(tangible) 및 비일시적인(non-transitory) 것으로 간주될 수 있다. 비일시적이고 유형의 컴퓨터 판독 가능 매체의 비제한적 예는, 비휘발성 메모리 회로(예를 들어, 플래시 메모리 회로, 소거 가능 프로그램 가능 판독 전용 메모리 회로 또는 마스크 판독 전용 메모리 회로), 휘발성 메모리 회로(예컨대, 정적 랜덤 액세스 메모리 회로 또는 동적 랜덤 액세스 메모리 회로), 자기 저장 매체(예를 들어, 아날로그 또는 디지털 자기 테이프 또는 하드 디스크 드라이브), 및 광학 저장 매체(예를 들어, CD, DVD 또는 블루 레이 디스크)에 해당한다.
본 출원에 설명된 장치 및 방법은 컴퓨터 프로그램으로 구현된 하나 이상의 특정 기능을 실행하도록 범용 컴퓨터를 구성함으로써 생성된 특수 목적 컴퓨터에 의해 부분적으로 또는 완전히 구현될 수 있다. 상술한 기능 블록, 흐름도 구성 요소 및 기타 요소는 숙련된 기술자 또는 프로그래머의 루틴 작업에 의해 컴퓨터 프로그램으로 변환될 수 있는 소프트웨어 사양으로서 기능한다.
컴퓨터 프로그램은 적어도 하나의 비일시적(non-transitory), 유형(tangible)의 컴퓨터 판독 가능 매체에 저장된 프로세서 실행 가능 명령어를 포함한다. 또한, 컴퓨터 프로그램은 저장된 데이터를 포함하거나 의존할 수 있다. 컴퓨터 프로그램은 특수 목적 컴퓨터의 하드웨어와 상호 작용하는 기본 입/출력 시스템(BIOS), 특수 목적 컴퓨터의 특정 장치와 상호 작용하는 장치 드라이버, 하나 이상의 운영 체제, 사용자 애플리케이션, 백그라운드 서비스, 백그라운드 애플리케이션 등을 포함할 수 있다.
컴퓨터 프로그램은 다음을 포함할 수 있다: (i) HTML(hypertext markup language), XML(extensible markup language) 또는 JSON(JavaScript Object Notation)과 같은 구문 분석되는 서술어, (ii) 어셈블리 코드, (iii) 컴파일러에 의해 소스 코드로부터 생성된 객체 코드, (iv) 인터프리터에 의해 실행되는 소스 코드, (v) JIT(just-in-time) 컴파일러에 의한 컴파일 및 실행을 위한 소스 코드 등 예를 들어, 소스 코드는 C, C++, C #, ObjectiveC, Swift, Haskell, Go, SQL, R, Lisp, Java®, Fortran, Perl, Pascal, Curl, OCaml, Javascript®, HTML5(하이퍼 텍스트 마크 업 언어 5 개정), Ada, ASP(Active Server Pages), PHP(PHP: 하이퍼 텍스트 프리 프로세서), Scala, Eiffel, Smalltalk, Erlang, Ruby, Flash®, Visual Basic®, Lua, MATLAB, SIMULINK 및 Python® 를 포함한 언어의 신택스(syntax)를 사용하여 작성될 수 있다.

Claims (23)

  1. 개체에 의해 수행된 행동을 인식하는 컴퓨터 구현 방법으로서,
    하나 이상의 프로세서에 의해, 개체의 적어도 일부를 포함하는 이미지를 획득하는 단계;
    상기 하나 이상의 프로세서에 의해, 상기 이미지에 기초하여, 상기 이미지에서 상기 개체의 포즈의 암시적 표현을 생성하는 단계; 및
    상기 하나 이상의 프로세서에 의해, 상기 개체의 상기 포즈의 상기 암시적 표현을 분류함으로써, 상기 개체에 의해 수행되고 상기 이미지에서 캡쳐된 행동을 결정하는 단계를 포함하는, 컴퓨터 구현 방법.
  2. 제1항에 있어서,
    상기 암시적 표현은 상기 개체의 골격의 포즈에 대응하는 3차원(3D) 좌표를 갖는 키 포인트가 도출될 수 있는 피쳐 벡터를 포함하는, 컴퓨터 구현 방법.
  3. 제1항에 있어서,
    3차원 좌표를 갖는 키 포인트를 포함하지 않는 상기 암시적 표현은, 상기 개체의 골격의 포즈에 대응하는 키 포인트를 도출하기 위해 사용되는, 컴퓨터 구현 방법.
  4. 제1항에 있어서,
    상기 암시적 표현은 임의의 2차원(2D) 또는 3차원(3D) 개체 골격 데이터를 포함하지 않는, 컴퓨터 구현 방법.
  5. 제1항에 있어서,
    상기 암시적 표현을 생성하는 단계는 제1 신경망을 이용하여 상기 이미지에서 상기 개체의 상기 포즈의 상기 암시적 표현을 생성하는 단계를 포함하는, 컴퓨터 구현 방법.
  6. 제5항에 있어서,
    이미지에서 개체의 2차원(2D) 및 3차원(3D) 포즈 중 적어도 하나를 결정하기 위해 상기 제1 신경망을 훈련시키는 단계를 더 포함하는, 컴퓨터 구현 방법.
  7. 제1항에 있어서,
    상기 개체에 의해 수행된 행동을 결정하는 단계는 제2 신경망을 이용하여 상기 포즈의 상기 암시적 표현을 분류함으로써 상기 행동을 결정하는 단계를 포함하는, 컴퓨터 구현 방법.
  8. 제7항에 있어서,
    상기 암시적 표현은 피쳐 벡터를 포함하는, 컴퓨터 구현 방법.
  9. 제8항에 있어서,
    개체의 행동에 따라 피쳐 벡터를 분류하기 위해 상기 제2 신경망을 훈련시키는 단계를 더 포함하는, 컴퓨터 구현 방법.
  10. 제1항에 있어서,
    상기 개체는 인간을 포함하고, 상기 포즈는 인간의 포즈를 포함하고, 상기 행동은 인간에 의해 수행된 행동을 포함하는, 컴퓨터 구현 방법.
  11. 제1항에 있어서,
    상기 이미지는 비디오로부터의 이미지 시퀀스를 포함하는, 컴퓨터 구현 방법.
  12. 제1항에 있어서,
    상기 암시적 표현을 생성하는 단계는, 상기 이미지에 기초하여 상기 암시적 표현을 각각 생성하는 단계를 포함하고,
    상기 방법은, 상기 암시적 표현을 연접하여, 연접된 암시적 표현을 생성하는 단계를 더 포함하고,
    상기 행동을 결정하는 단계는, 상기 연접된 암시적 표현에 대해 컨볼루션(convolution)을 수행하여 최종 암시적 표현을 생성하는 단계와, 상기 최종 암시적 표현을 분류함으로써 상기 개체에 의해 수행되는 상기 행동을 결정하는 단계를 포함하는, 컴퓨터 구현 방법.
  13. 제12항에 있어서,
    상기 컨볼루션은 1차원(1D) 컨볼루션에 해당하는, 컴퓨터 구현 방법.
  14. 제12항에 있어서,
    상기 컨볼루션은 1차원(1D) 시간 컨볼루션(temporal convolution)에 해당하는, 컴퓨터 구현 방법.
  15. 제1항에 있어서,
    상기 하나 이상의 프로세서에 의해, 상기 이미지에서 캡쳐된 개체 주위의 후보 박스를 결정하는 단계를 더 포함하고,
    상기 암시적 표현을 생성하는 단계는 상기 후보 박스에 기초하여 상기 암시적 표현을 생성하는 단계를 포함하는, 컴퓨터 구현 방법.
  16. 제15항에 있어서,
    상기 하나 이상의 프로세서에 의해 상기 후보 박스에 기초하여 상기 이미지로부터 튜브를 추출하는 단계를 더 포함하는, 컴퓨터 구현 방법.
  17. 제15항에 있어서,
    상기 후보 박스를 결정하는 단계는 RPN(regional proposal network) 모듈을 이용하여 상기 후보 박스를 결정하는 단계를 포함하는, 컴퓨터 구현 방법.
  18. 이미지에서 개체에 의해 수행된 행동을 인식하도록 구성된 신경망을 훈련시키기 위한 컴퓨터 구현 방법으로서,
    하나 이상의 프로세서에 의해, 제1 이미지 및 상기 제1 이미지에서 개체에 의해 수행된 행동에 대응하는 및 제1 라벨을 각각 획득하는 단계;
    상기 하나 이상의 프로세서에 의해, 입력 이미지에 기초하여 개체에 의해 수행된 행동을 결정하도록 구성된 제1 신경망에 상기 제1 이미지 중 하나를 입력함으로써, 상기 제1 신경망에 의해 피쳐 벡터를 생성하는 단계; 및
    상기 하나 이상의 프로세서에 의해, 피쳐 벡터에 기초하여, 이미지에서 개체에 의해 수행된 행동을 인식하도록 구성된 제2 신경망을 훈련시키는 단계를 포함하고,
    상기 피쳐 벡터는 이미지 중 입력 이미지와 이에 대응하는 제1 라벨에 대응하는, 컴퓨터 구현 방법.
  19. 제18항에 있어서,
    상기 제1 이미지는 행동을 수행하는 개체의 이미지 시퀀스를 포함하는, 컴퓨터 구현 방법.
  20. 제19항에 있어서,
    상기 하나 이상의 프로세서에 의해, 상기 피쳐 벡터를 연접하는 단계를 더 포함하고,
    상기 훈련시키는 단계는 상기 연접된 피쳐 벡터를 이용하여 상기 제2 신경망의 1차원(1D) 시간 컨볼루션 레이어를 훈련시키는 단계를 포함하는, 컴퓨터 구현 방법.
  21. 제18항에 있어서,
    상기 하나 이상의 프로세서에 의해, 제2 이미지 및 제2 이미지에 대응하는 제2 라벨에 기초하여 제1 신경망을 훈련시키는 단계를 더 포함하고,
    상기 제2 신경망을 훈련시키는 단계는 상기 제1 신경망의 훈련 후에 상기 제2 신경망을 훈련시키는 단계를 포함하고,
    상기 제1 신경망의 가중치는 상기 제2 신경망의 훈련 동안 고정된 상태로 유지되는, 컴퓨터 구현 방법.
  22. 제18항에 있어서,
    상기 하나 이상의 프로세서에 의해, 상기 제2 신경망의 트레이닝과 공동으로, 상기 제1 이미지 및 상기 제1 이미지에 대응하는 상기 제1 라벨에 기초하여 상기 제1 신경망을 훈련시키는 단계를 더 포함하는, 컴퓨터 구현 방법.
  23. 시스템으로서,
    하나 이상의 프로세서; 및
    상기 하나 이상의 프로세서에 의해 실행될 때 기능을 수행하는 코드를 포함하는 메모리를 포함하고,
    상기 기능은,
    개체의 적어도 일부를 포함하는 이미지를 획득하는 단계;
    상기 이미지를 기초로 상기 이미지에서 상기 개체의 포즈의 암시적 표현을 생성하는 단계; 및
    상기 개체의 상기 포즈의 상기 암시적 표현을 분류함으로써, 상기 개체에 의해 수행되며 상기 이미지에서 캡쳐되는 행동을 결정하는 단계를 포함하는, 시스템.
KR1020200115685A 2019-09-11 2020-09-09 암시적 포즈 표현을 이용한 행동 인식 KR20210031405A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
EP19306098.5 2019-06-09
EP19306098.5A EP3792821A1 (en) 2019-09-11 2019-09-11 Action recognition using implicit pose representations
US16/903,527 2020-06-17
US16/903,527 US11625953B2 (en) 2019-09-11 2020-06-17 Action recognition using implicit pose representations

Publications (1)

Publication Number Publication Date
KR20210031405A true KR20210031405A (ko) 2021-03-19

Family

ID=68062880

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200115685A KR20210031405A (ko) 2019-09-11 2020-09-09 암시적 포즈 표현을 이용한 행동 인식

Country Status (4)

Country Link
US (2) US11625953B2 (ko)
EP (1) EP3792821A1 (ko)
JP (1) JP2021043974A (ko)
KR (1) KR20210031405A (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021055088A1 (en) * 2019-09-19 2021-03-25 Hrl Laboratories, Llc Learning actions with few labels in the embedded space
US20210213977A1 (en) * 2020-01-14 2021-07-15 Allstate Insurance Company Nearby Driver Intent Determining Autonomous Driving System
US11816678B2 (en) * 2020-06-26 2023-11-14 Capital One Services, Llc Systems and methods for providing user emotion information to a customer service provider
US20220138536A1 (en) * 2020-10-29 2022-05-05 Hong Kong Applied Science And Technology Research Institute Co., Ltd Actional-structural self-attention graph convolutional network for action recognition
US20220164569A1 (en) * 2020-11-26 2022-05-26 POSTECH Research and Business Development Foundation Action recognition method and apparatus based on spatio-temporal self-attention
US11216656B1 (en) * 2020-12-16 2022-01-04 Retrocausal, Inc. System and method for management and evaluation of one or more human activities
CN113343764A (zh) * 2021-05-10 2021-09-03 武汉理工大学 一种基于级联式网络架构的驾驶员分心检测方法及系统
US11941080B2 (en) * 2021-05-20 2024-03-26 Retrocausal, Inc. System and method for learning human activities from video demonstrations using video augmentation
CN113205595B (zh) * 2021-05-21 2022-03-29 华中科技大学 一种3d人体姿态估计模型的构建方法及其应用
US20220385907A1 (en) * 2021-05-21 2022-12-01 Qualcomm Incorporated Implicit image and video compression using machine learning systems
CN114092963B (zh) * 2021-10-14 2023-09-22 北京百度网讯科技有限公司 关键点检测及模型训练方法、装置、设备和存储介质
CN114161417A (zh) * 2021-12-07 2022-03-11 东莞市易联交互信息科技有限责任公司 一种机器人的动作控制方法和系统
US20230290057A1 (en) * 2022-03-10 2023-09-14 Nvidia Corporation Action-conditional implicit dynamics of deformable objects
CN114663593B (zh) * 2022-03-25 2023-04-07 清华大学 三维人体姿态估计方法、装置、设备及存储介质
WO2023212390A1 (en) * 2022-04-29 2023-11-02 University Of Southern California Neural network methods
US20230368520A1 (en) * 2022-05-12 2023-11-16 Samsung Electronics Co., Ltd. Fast object detection in video via scale separation
CN115205767A (zh) * 2022-09-16 2022-10-18 浪潮通信信息系统有限公司 一种抽烟行为检测方法、系统及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014207802B3 (de) * 2014-04-25 2015-10-29 Bayerische Motoren Werke Aktiengesellschaft Verfahren und System zum proaktiven Erkennen einer Aktion eines Verkehrsteilnehmers
US10242266B2 (en) * 2016-03-02 2019-03-26 Mitsubishi Electric Research Laboratories, Inc. Method and system for detecting actions in videos
US20170316578A1 (en) * 2016-04-29 2017-11-02 Ecole Polytechnique Federale De Lausanne (Epfl) Method, System and Device for Direct Prediction of 3D Body Poses from Motion Compensated Sequence
WO2019116099A1 (en) * 2017-12-13 2019-06-20 Humanising Autonomy Limited Systems and methods for predicting pedestrian intent

Also Published As

Publication number Publication date
US11625953B2 (en) 2023-04-11
EP3792821A1 (en) 2021-03-17
JP2021043974A (ja) 2021-03-18
US20210073525A1 (en) 2021-03-11
US20230215160A1 (en) 2023-07-06

Similar Documents

Publication Publication Date Title
KR20210031405A (ko) 암시적 포즈 표현을 이용한 행동 인식
US12076148B2 (en) Systems and methods for automated recognition of bodily expression of emotion
Weinzaepfel et al. Mimetics: Towards understanding human actions out of context
EP4002198A1 (en) Posture acquisition method and device, and key point coordinate positioning model training method and device
US9846845B2 (en) Hierarchical model for human activity recognition
CN109426805B (zh) 用于对象检测的方法、设备和计算机程序产品
EP3547211A1 (en) Methods for training a cnn and classifying an action performed by a subject in an inputted video using said cnn
CN112106043B (zh) 问题应答装置及方法
US8448056B2 (en) Validation analysis of human target
CN111222486B (zh) 手部姿态识别模型的训练方法、装置、设备及存储介质
KR101996371B1 (ko) 영상 캡션 생성 시스템과 방법 및 이를 위한 컴퓨터 프로그램
CN113743273B (zh) 基于视频图像目标检测的实时跳绳计数方法、装置和设备
US11551407B1 (en) System and method to convert two-dimensional video into three-dimensional extended reality content
Meng et al. A video information driven football recommendation system
CN113269013A (zh) 对象行为分析方法、信息显示方法及电子设备
Yi et al. Human action recognition based on action relevance weighted encoding
CN114565976A (zh) 一种训练智能测试方法以及装置
Rodrigues et al. Classification of facial expressions under partial occlusion for VR games
Dossso et al. Segmentation of patient images in the neonatal intensive care unit
Janbi et al. Bowlingdl: A deep learning-based bowling players pose estimation and classification
Srilakshmi et al. A-DQRBRL: attention based deep Q reinforcement battle royale learning model for sports video classification
Freire-Obregón et al. Decontextualized I3D ConvNet for ultra-distance runners performance analysis at a glance
Mohamed A novice guide towards human motion analysis and understanding
Qiao et al. Image optical processing based on convolutional neural networks in sports video recognition simulation
Amsaprabhaa Hybrid optimized multimodal spatiotemporal feature fusion for vision-based sports activity recognition