KR102650594B1 - 낮은 공간 지터, 낮은 레이턴시 및 저전력 사용을 갖는 객체 및 키포인트 검출 시스템 - Google Patents

낮은 공간 지터, 낮은 레이턴시 및 저전력 사용을 갖는 객체 및 키포인트 검출 시스템 Download PDF

Info

Publication number
KR102650594B1
KR102650594B1 KR1020210079209A KR20210079209A KR102650594B1 KR 102650594 B1 KR102650594 B1 KR 102650594B1 KR 1020210079209 A KR1020210079209 A KR 1020210079209A KR 20210079209 A KR20210079209 A KR 20210079209A KR 102650594 B1 KR102650594 B1 KR 102650594B1
Authority
KR
South Korea
Prior art keywords
hand
detector
random noise
noise source
scaler
Prior art date
Application number
KR1020210079209A
Other languages
English (en)
Other versions
KR20210156793A (ko
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 KR20210156793A publication Critical patent/KR20210156793A/ko
Application granted granted Critical
Publication of KR102650594B1 publication Critical patent/KR102650594B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/28Recognition of hand or arm movements, e.g. recognition of deaf sign language
    • 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/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/042Knowledge-based neural networks; Logical representations of neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/28Quantising the image, e.g. histogram thresholding for discrimination between background and foreground patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/107Static hand or arm
    • G06V40/113Recognition of static hand signs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • G06T2207/20132Image cropping

Landscapes

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

Abstract

비디오 객체 및 키포인트 위치 검출 기법들이 제시된다. 시스템은 위치들과 연관된 확률들과 함께 객체의 키포인트들의 위치들을 생성하기 위한 검출 시스템, 및 검출된 객체들의 키포인트 위치들을 안정화시키기 위한 안정성 시스템을 포함한다. 일부 태양들에서, 생성된 확률들은 입력 이미지들 내의 위치들에 대응하는 2차원 어레이이고, 안정성 시스템은 생성된 확률들을 2차원 확률 분포 함수에 피팅한다.

Description

낮은 공간 지터, 낮은 레이턴시 및 저전력 사용을 갖는 객체 및 키포인트 검출 시스템{OBJECT AND KEYPOINT DETECTION SYSTEM WITH LOW SPATIAL JITTER, LOW LATENCY AND LOW POWER USAGE}
우선권에 대한 주장
본 출원은 2020년 6월 18일자로 출원되고 발명의 명칭이 "Object and Keypoint Detection System with Low Spatial Jitter, Low Latency and Low Power Usage"인 미국 특허 출원 제63/040,909호에 대한 우선권을 주장하며, 이것의 개시 내용은 그 전체가 본 명세서에 통합된다.
기술분야
본 발명은 객체 및 키포인트 검출 시스템, 특히 공간적 지터(spatial jitter)에 강건한 그러한 시스템들에 관한 것이다.
많은 현대의 비디오 애플리케이션들, 예컨대 인간-사용자 상호작용을 위한 증강 관련, 가상 현실, 및 다른 현대의 시스템들은 공통 객체들의 검출 및 위치를 요구한다. 그러나, 객체 검출 및 위치에 대한 기존의 기법들은, 특히 실시간으로 적용될 때 또는 더 높은 신뢰성 및 안정성이 요구될 때, 많은 프로세싱 리소스들 및 전력을 요구하는 경향이 있다. 따라서, 그러한 기법들은 프로세싱 리소스들이 제한되는 프로세싱 환경들에 있는 제한된 애플리케이션, 예컨대 다른 컴퓨팅 플랫폼들에 비해 더 적은 프로세싱 리소스들을 가질 수 있는 모바일 컴퓨팅 디바이스들을 발견할 수 있다.
도 1은 본 발명의 일 태양에 따른 시스템을 예시한다.
도 2는 본 발명의 일 실시예에 따른 키포인트 검출기의 기능적 블록도이다.
도 3은 본 발명의 일 실시예에 따른 신경 네트워크 시스템을 예시한다.
도 4 및 도 5는 신경 네트워크 시스템 내의 네트워크 요소들의 예시적인 분포들을 예시한다.
도 6은 본 발명의 일 태양에 따른 손 검출 시스템의 기능적 블록도이다.
도 7은 본 발명의 일 실시예에 따른 디바이스의 블록도이다.
개시된 기법들은 입력 비디오의 콘텐츠로부터 미리결정된 객체를 검출하는 것을 포함하는데, 이는 미리결정된 객체가 존재하는 것으로 추정되는 입력 비디오의 좌표들 및 좌표들에서의 미리결정된 객체의 각자의 추정된 확률들을 나타내는 데이터를 생성하는 것을 포함한다. 좌표들에서의 미리결정된 객체의 추정된 확률들을 확률 분포 함수에 피팅(fitting)함으로써 미리결정된 객체의 최종 위치가 할당될 수 있다.
태양들에서, 미리결정된 객체를 검출하는 것은 신경 네트워크에 따라 객체의 미리결정된 키포인트들의 좌표들을 검출하는 것을 포함할 수 있다. 신경 네트워크는 교번하는 스테이지들의 캐스케이드로 접속된 복수의 신경 네트워크 요소들 및 복수의 안정성 모듈들을 포함할 수 있다. 안정성 요소들은 랜덤 잡음 소스, 선행 스테이지로부터의 신경 요소 출력들을 랜덤 잡음 소스의 크기로 정규화하기 위한 스케일러, 및 랜덤 잡음 소스 및 스케일러에 커플링된 입력들을 갖는 가산기(adder)를 포함할 수 있다.
일 태양에서, 미리결정된 객체는 사람 손일 수 있다. 검출하는 것은 사람 손의 키포인트들을 검출하는 것, 및 미리결정된 제스처 패턴들에 따라 시간 경과에 따른 손의 최종 검출된 위치들을 분류함으로써 사람 손의 제스처를 검출하는 것을 포함할 수 있다. 일 태양에서, 키포인트 검출 시스템은 손 "키랄성(chirality)", 즉 미리결정된 객체들이 사람 대상의 왼손을 나타내는지 또는 사람 대상의 오른손을 나타내는지 여부를 구별할 수 있다. 키포인트 검출 시스템은 키랄성 특성들을 갖는 다른 요소들, 즉 이미지 콘텐츠 내의 다른 곳에 미러링된 대응부들을 가질 수 있는 콘텐츠 객체들을 식별하고 구별할 수 있다.
본 발명은 다음과 같이, 전통적인 시스템들에서 발견되는 많은 제한들을 극복하는 객체들 및 그들의 연관된 키포인트들에 대한 키포인트 검출 시스템을 제시한다:
a. 높은 전력 사용을 유도하는 깊이 센서를 요구하는 것;
b. 높은 프로세싱 리소스들을 요구하고 낮은 분석 프레임 속도를 나타내는 것
c. 키포인트들의 상당한 지터링을 갖는 불안정한 검출
d. 낮은 프레임 속도 및 추가적인 시간적 평활도 필터의 채택 둘 모두로 인한 높은 레이턴시
도 1은 본 발명의 일 태양에 따른 시스템(100)을 예시한다. 시스템(100)은 키포인트 검출기(110), 안정성 모듈(120), 지속성 검출기(130), 및 필터 시스템(140)을 포함할 수 있다. 시스템(100)은 입력 비디오 시퀀스를 받아들일 수 있는데, 이는 편리한 대로 카메라 시스템에 의해 제공되거나 저장소(도시되지 않음)로부터 검색될 수 있다. 시스템은 검출된 객체들의 수 및 비디오 시퀀스의 프레임들 위의 그러한 객체들의 좌표들을 식별하는 데이터를 출력할 수 있다.
키포인트 검출기(110)는 이미지 콘텐츠 내로부터 미리결정된 객체들을 검출할 수 있고, 그렇게 검출되는 각각의 객체의 위치를 나타내는 좌표들을 출력할 수 있다. 그렇게 검출되는 객체들의 수는 입력 비디오 시퀀스에 제시되는 콘텐츠에 기초하여 달라질 수 있다. 키포인트 검출기(110)는 키포인트 검출기(110)가 인식할 수 있는 객체들의 유형들을 결정하는, 훈련 데이터로부터 획득된 네트워크 가중치들(115)을 갖는 신경 네트워크 시스템으로서 구현될 수 있다. 예를 들어, 키포인트 검출기(110)는 사람 얼굴, 인체, 사람 손, 미리결정된 유형들의 동물 등을 인식하도록 훈련될 수 있다. 논의된 바와 같이, 키포인트 검출은 이미지 콘텐츠에서 대상의 왼손을 오른손과 구별하도록 훈련될 수 있다. 키포인트 검출기(110)는 비디오 데이터로부터 검출된 키포인트들의 좌표들 및 2차원 확률 분포들을 나타내는 데이터를 출력할 수 있다. 키포인트 검출기(110)가 상이한 유형들의 다수 유형의 객체들(예컨대, 인체들 및 사람 손들)을 인식하도록 훈련될 때, 키포인트 검출기(110)는 또한 그렇게 식별되는 객체의 유형의 식별자를 출력할 수 있다. 일 태양에서, 키포인트 검출기(100)는 검출된 객체의 중요 특징부들에 대응하는 위치들의 리스트를 포함하는, 각각의 검출된 객체에 대한 출력을 생성할 수 있다.
안정성 모듈(120)은 키포인트 검출기(110)에 의해 출력되는 좌표 데이터 및 확률 분포들로부터 키포인트들의 최종 좌표 포지션들을 결정할 수 있다. 안정성 모듈은 좌표 및 확률 데이터를 예상된 분포 함수들, 예컨대 가우시안 분포 함수들 또는 n차 다항식 분포 함수에 맵핑하도록 커브 피팅(curve-fitting) 동작들을 수행할 수 있다. 예를 들어, 가우시안 함수의 경우, 키포인트 좌표는 근사 가우시안 함수의 평균 값으로서 도출될 수 있다. 일 실시예에서, 안정성 모듈(120)은 결정론적 함수(deterministic function)로 확률 분포들의 시간 시퀀스를 피팅할 수 있는데, 결정론적 함수는 시간적으로 더 먼 프레임들에 대한 가중치들보다 더 최근의 프레임들로부터의 분포들에 상대적으로 더 높은 가중치들을 적용한다. 안정성 모듈(120)은, 예상된 분포 함수에 좌표/확률 데이터를 맵핑한 후에, 그것의 최대 값으로부터 키포인트들의 최종 위치들을 선택할 수 있다.
안정성 모듈(120)의 동작은, 키포인트 위치들을, 그들의 최대 추정된 확률들에 따라 할당하는 다른 접근법들에 비해 증가된 성능을 제공할 것으로 예상된다. 그러한 다른 접근법들은 그들이 확률 추정치들에서 잡음을 겪기 때문에 불안정성으로 이어진다. 안정성 모듈(120)은 상기에서 논의된 바와 같이, 각각의 확률 분포를 결정론적 평활 함수(deterministic smooth function)로 근사화함으로써 그러한 잡음 특성의 영향들을 감소시킬 수 있다. 더욱이, 안정성 모듈(120)은 파라미터들의 학습을 요구하지 않고, 따라서 안정성 모듈(120)은 동작의 훈련 스테이지와 테스트 스테이지의 두가지 모두의 스테이지들 동안 동일한 방식으로 거동한다. 비디오 입력의 경우, 안정성 모듈(120)은 결정론적 함수들로 확률 분포들의 시퀀스를 피팅할 수 있다. 더 최근에 프로세싱된 비디오 프레임들로부터의 확률 분포들은 '더 오래된' 더 멀리 떨어진 프로세싱된 프레임들보다 더 양호한 결정론적 함수를 피팅하는 데 순응될 수 있다.
지속성 검출기(130)는 비디오의 연속적인 프레임들에 걸쳐 이미지 데이터 내에서 지속되는 검출된 객체들을 식별할 수 있다. 객체들은, 객체 키포인트들이 2개 이상의 인접한 프레임들에서 서로 미리결정된 임계 거리 내에 있고, 적용가능한 경우 공통 유형을 가질 때 지속적인 것으로 식별될 수 있다. 객체들이 다수의 프레임들에 걸쳐 지속되는 것으로 식별될 때, 지속성 검출기(120)는 객체들의 이들 인스턴스들에 식별자(ID)를 할당하고, 그들이 나타나는 프레임들의 범위 내에서 객체들의 키포인트들의 좌표들을 식별할 수 있다.
필터(140)는 키포인트들을 나타내는 좌표 데이터에 시간적 필터링을 적용할 수 있다. 필터(140)는 키포인트 좌표 데이터를 평활화할 수 있는데, 이는, 예를 들어 검출된 키포인트들을 포함하는 이미지 데이터 위에 바운딩 박스(bounding box)들이 중첩된 경우, 달리 관찰될 수 있는 프레임 대 프레임 지터를 감소시킬 수 있다. 키포인트 좌표들은 적절한 인터페이스들을 통해 운영 시스템(150) 또는 애플리케이션과 같은 다른 시스템 컴포넌트들로 내보내질 수 있다.
일 실시예에서, 시간적 필터(140)는 일정 기간에 걸쳐 객체 키포인트들의 궤적을 평활화하기 위해, 칼만 필터(Kalman Filter), 1-유로 필터(One-Euro filter) 등과 같은 필터링을 적용할 수 있다. 시간적 필터는, 검출된 객체들이 프레임들의 시퀀스에 걸쳐 수집된 후에 각각의 키포인트를 개별적으로 평활화한다. 실제로, 시간적 필터링은 다수개(>2)의 인접한 프레임들에 걸쳐 적용될 수 있다. 시간적 필터는 객체 이동의 가속이 임계치보다 더 작을 때 인에이블될 수 있거나, 시간적 필터는 가속도의 함수에 의해 가중될 수 있어서, 시간적 필터가 관찰가능 레이턴시를 도입하지 않게 한다. 객체가 큰 가속도로 이동하고 있거나, 이동 방향의 갑작스러운 변화를 가질 때, 시간적 평활화 필터는 강조되지 않거나 디스에이블될 수 있고, 지속성 검출기(130)로부터의 출력들이 시스템 출력들로서 직접 사용될 수 있다.
도 2는 본 발명의 일 실시예에 따른 키포인트 검출기(200)의 기능적 블록도이다. 키포인트 검출기(200)는 객체 바운딩 박스 검출기(210), 영역 필터(220), 및 객체 키포인트 검출기(230)를 포함할 수 있다. 키포인트 검출기(200)는 도 1의 시스템(100)에 적용될 수 있다.
객체 바운딩 박스 검출기(210)는 비디오 콘텐츠로부터 미리결정된 유형들의 객체들을 검출할 수 있다. 전형적으로, 객체 바운딩 박스 검출기(210)는 이미지 콘텐츠 내의 객체(들)를 인식하기 위해 비디오 시퀀스의 각각의 프레임에 걸쳐 반복될 수 있다. 객체 바운딩 박스 검출기(210)는 신경 네트워크 및 훈련 시퀀스들로부터 결정된 가중치들(215)에 의해 구현될 수 있다. 객체 바운딩 박스 검출기(210)는 미리결정된 객체들이 검출되는 각각의 프레임의 공간 영역(들)을 식별하는 데이터, 영역들이 객체를 포함할 추정된 가능성을 나타내는 신뢰도 점수들, 및 다수의 유형들의 객체들이 검출되는 구현예에서의 객체 유형을 출력할 수 있다.
논의된 바와 같이, 일 태양에서, 객체 바운딩 박스 검출기는 서로 대칭적인 반영(reflection)들인 2개의 상이한 객체들 사이를 구별함으로써 객체의 키랄성을 검출할 수 있다. 예를 들어, 사람 손이 미리결정된 유형의 검출된 객체인 경우, 객체 바운딩 박스 검출기(210)는 검출된 손에 대해 오른손과 왼손을 구별하고, 손의 검출된 키랄성의 표시를 출력할 수 있다.
영역 필터(220)는 객체 바운딩 박스 검출기(210)에 의해 식별된 영역들에 대응하는 이미지 콘텐츠를 추출하고, 콘텐츠를 크로핑된 영역(cropped region)들로서 객체 키포인트 검출기(230)로 출력할 수 있다. 일 태양에서, 영역 필터(220)는, 예를 들어 얼마나 많은 검출된 객체들이 객체 키포인트 검출기(230)에 의해 프로세싱될지 또는 어떤 유형들의 객체들이 객체 키포인트 검출기(230)에 의해 프로세싱될지를 관리하는 구성 설정들(225)에 따라 동작할 수 있다. 구성 설정들(225)이, 객체 바운딩 박스 검출기(210)에 의해 검출되는 것보다 더 적은 수의 영역들이 객체 키포인트 검출기(230)로 출력된다는 것을 알려줄 때, 영역 필터(220)는 그들의 상대적 크기들에 따라(예컨대, 더 작은 영역들에 비해 더 큰 영역들을 우선순위화함) 또는 그들의 상대적 신뢰도 점수들에 따라(더 낮은 신뢰도 점수들을 갖는 다른 영역들에 비해 더 높은 신뢰도 점수들을 갖는 영역들을 우선순위화함) 출력될 영역들을 선택할 수 있다. 구성 설정들(225)은, 일단 전개되면 키포인트 검출기(200)의 설계자들 또는 키포인트 검출기(200)를 동작시키는 사용자들에 의해 정의될 수 있다.
객체 키포인트 검출기(230)는 검출된 객체들을 나타내는 이미지 데이터 내로부터 객체 키포인트들을 검출할 수 있다. 객체 키포인트 검출기(230)는 네트워크 동작을 관리하는 가중치들(235)을 갖는 신경 네트워크로서 구현될 수 있다. 객체 키포인트들은 전형적으로, 시스템이 검출하도록 구성되는 객체들의 미리결정된 구조적 컴포넌트들을 나타낸다. 인체들을 검출하도록 훈련되는 시스템의 경우, 키포인트들은 몸체 내의 관절들(손목, 팔꿈치, 어깨, 둔부, 무릎, 발목 등), 머리 꼭대기, 턱 등의 위치들과 같은 인체의 미리결정된 구조적 요소들에 대응할 수 있다. 사람 얼굴들을 검출하도록 훈련되는 시스템의 경우, 키포인트들은 모발선, 눈썹, 눈, 코, 귀, 입술, 턱 등과 같은 사람 얼굴의 미리결정된 구조적 요소들에 대응할 수 있다. 사람 손들을 검출하도록 훈련되는 시스템의 경우, 키포인트들은 손목, 각각의 손가락 및 엄지손가락을 따른 관절들 등과 같은 사람 손의 미리결정된 구조적 요소들에 대응할 수 있다. 키포인트 객체들의 수 및 유형은 전형적으로 시스템이 검출하도록 훈련되는 객체의 유형에 기초하여 달라질 것이다. 객체 키포인트 검출기(230)는 각각의 입력 크롭 영역에 대한 키포인트 좌표들의 리스트를 출력할 수 있다. 객체 키포인트 검출기(230)에 의해 출력되는 키포인트 좌표들은 키포인트 검출기(200)의 최종 출력들을 나타낼 수 있다.
도 3은 본 발명의 일 실시예에 따른 신경 네트워크 시스템(300)을 예시한다. 신경 네트워크 시스템(300)은 캐스케이드로 접속된 복수의 신경 네트워크 요소들(310.1, 310.2, ..., 320.n) 및 안정성 계층들(320.1, 320.2, ..., 320.n)을 포함할 수 있다. 신경 네트워크 요소들(310.1, 310.2, ..., 320.n) 및 안정성 계층들(320.1, 320.2, ..., 320.n)은 신경 네트워크 시스템(300)에 대해 확립된 가중치들(330)에 따라 동작할 수 있다.
안정성 계층들 각각(즉, 계층(310.1))은 분포 규칙화 유닛(distribution regularization unit)(322.1), 가산기(324.1) 및 랜덤 잡음 생성기(326.1)를 포함할 수 있다. 분포 규칙화 유닛(322.1)은 선행 신경 네트워크 요소(310.1)로부터의 출력들을 수신할 수 있다. 그것은 출력들의 크기들을 랜덤 잡음 생성기(326.1)에 의해 생성되는 잡음의 레벨들에 비례한 레벨들로 정규화할 수 있다. 가산기(324.1)는 분포 규칙화 유닛(322.1) 및 랜덤 잡음 생성기(326.1)의 출력들을 가산하고, 총 출력(aggregate output)들을 신경 네트워크 요소들의 다음 계층(안정성 계층(320.1)의 경우에 요소(310.2))으로 출력할 수 있다. 최종 안정성 계층(320.n)의 경우, 가산기(324.n)의 출력들은 신경 네트워크 시스템(300)의 최종 출력들로 될 수 있다.
논의된 바와 같이, 신경 네트워크 요소들(310.1, 310.2, ..., 320.n) 및 안정성 계층들(320.1, 320.2, ..., 320.n)은 신경 네트워크 시스템(300)에 대해 확립된 가중치들(330)에 따라 동작할 수 있다. 신경 네트워크 시스템(300)은 제1 신경 네트워크(300)에 입력되는 트레이닝 비디오 데이터에 따라 그리고 시스템(300)이 원하는 대로 동작할 때 최종 안정성 계층(320.n)으로부터 관찰될 예상된 출력에 따라 훈련될 수 있다. 시스템(300) 내의 가중치들(330)은 시스템(300)이 원하는 동작에 수렴할 때까지 시스템(300)으로부터 바람직하지 않은 출력이 관찰될 때 조정될 수 있다. 그 후에, 시스템(300)은 새롭게 생성된 비디오에 대한 런타임 시나리오들에서 사용될 수 있다.
도 3에 예시된 아키텍처는 객체 바운딩 박스 검출기(210)의 신경 네트워크로서 그리고 또한 도 2에 예시된 객체 키포인트 검출기(230)의 신경 네트워크로서 적용될 수 있다. 객체 바운딩 박스 검출기(210)의 경우, 시스템(300)은 객체 검출 프로세스들에 따라 시스템(300)을 훈련시키는 것으로부터 도출되는 가중치들(330)을 보유할 수 있다. 네트워크(300)는 다수의 인접한 비디오 프레임들을 입력으로서 취하는데, 즉 실시간 분석 동안 다수의 프레임들을 룩백(look back)함으로써 취하고, 네트워크(300)에서 인접한 프레임들을 융합하고, 이전 프레임들의 시퀀스에 기초하여 바운딩 박스를 예측할 수 있다. 유사하게, 키포인트 검출기(230)의 경우, 시스템(300)은 키포인트 검출 프로세스들에 따라 시스템(300)을 훈련시키는 것으로부터 도출되는 가중치들(330)을 보유할 수 있다. 네트워크(300)는 다수의 인접한 비디오 프레임들을 입력으로서 취하는데, 즉 실시간 분석 동안 다수의 프레임들을 룩백함으로써 취하고, 이전 프레임들의 시퀀스에 기초하여 키포인트 위치들을 예측할 수 있다. 이전 프레임들을 룩백함으로써, 네트워크는 각각의 프레임에서 포착된 잡음을 감소시키고 더 시간적으로 평활한 그리고 정확한 결과들을 생성할 수 있다.
안정성 계층들(320.1, 320.2, ..., 320.n)은 신경 네트워크 시스템(300)에 대한 키포인트 지터를 감소시킬 수 있다. 키포인트 지터는 입력 이미지의 작은 섭동들, 예컨대 카메라 센서 잡음, 카메라 시야 내의 객체 배향에서의 약간의 변화, 작은/미묘한 카메라 모션 등으로부터 발생할 수 있다. 입력 이미지가 약간 변화될 때, 보통의 신경 네트워크들의 잠재적 특징부들이 급격한 변화들을 보일 수 있고 신경 네트워크 기반 검출 시스템들로부터의 키포인트 위치들의 출력에서 지터를 야기할 수 있다.
훈련 동안, 분포 규칙화 블록(예컨대 322.1)은 지정된 분포에 따라 입력(이전 계층으로부터의 출력)을 규칙화하는 변환을 학습할 수 있다. 분포는 추가된 잡음을 압도하지 않도록 선택된다. 잡음의 최적 유형 및 에너지는 교차 검증을 통해 선택될 수 있다. 네트워크는 잠재적 특징부들의 이웃을 활용하고, 입력들이 추가된 잡음에 의해 변경되더라도 동일한 잠재적 특징부들을 출력하도록 학습할 수 있다.
도 3의 아키텍처는 신경 네트워크 내의 요소들에 의해 인식되는 잠재적 특징부들의 분포를 정규화함으로써 지터 문제들을 회피하여, 잠재적 특징부 출력들이 랜덤 잡음 생성기(326.1, 326.2, ..., 326.n)로부터의 잡음을 압도하지 않게 한다. 추가된 잡음은 가우시안 잡음(Gaussian noise) 및 라플라시안 잡음(Laplacian noise)과 같은 임의의 바람직한 분포를 따를 수 있다. 그와 같이, 각각의 안정성 모듈(320.1, 320.2, ..., 320.n)은 섭동들에 대하여 네트워크의 강건성을 증가시킬 수 있다. 입력이 프레임들의 시퀀스일 때, 안정성 모듈은 시간적 잡음(지터)에 대한 네트워크 안정성을 추가로 개선시킬 수 있다.
일 실시예에서, 안정성 계층(예컨대 320.1)은 대응하는 이전 신경 네트워크 요소(예컨대 310.1)로부터의 출력을 그의 입력으로서 취할 수 있다. 입력은 분포 규칙화 블록(예컨대 322.1)을 통과한다. 분포 규칙화 블록의 출력은 다음 계층으로의 출력으로서 직접 취해질 수 있다. 이러한 실시예에서, 분포 규칙화 블록의 출력에는 잡음이 추가되지 않는다.
도 3의 아키텍처에 채용되는 안정성 기법들은 신경 네트워크 요소들의 출력들 내로 직접 잡음을 주입하는 다른 기법들에 비해 이점들을 제공할 것으로 예상된다. 종종 잠재적 특징부들로 잡음을 직접 주입하는 애플리케이션들은, 큰 SNR(signal to noise ratio)을 갖는 잠재적 특징부들을 생성하여 추가된 잡음을 압도하도록 학습함으로써 추가된 잡음을 "속이는(cheat)" 신경 네트워크들에 의한 훈련 동안 극복될 수 있다. 더욱이, 입력 이미지 상에 가우시안 잡음을 추가하는 디노이징 오토인코더(denoising autoencoder)의 사용은 카메라에 대한 약간의 손 자세 변화들에 의해 도입된 변동들을 모방하지 않는데, 이는 키포인트 지터를 감소시키지 않는 차선의 훈련으로 이어진다. 그러나, 위에서 제안된 안정성 기법들은 다수의 은닉 계층들의 잠재적 특징부들 상에 랜덤 잡음을 추가하는데, 이는 네트워크가 이들 잠재적 특징부들의 이웃을 활용하고 이들 이웃들에 걸쳐 네트워크의 평활도를 개선시키게 한다.
도 3에서 논의된 안정성 계층들은 신경 네트워크 시스템들에 의해 인식되는 잠재적 특징부들을 안정화시키기 위한 그리고 잡음에 대한 잠재적 특징부 강건성을 개선시키기 위한 일반적인 접근법을 제공한다. 따라서, 안정성 계층들은 객체 검출 및 인체 키포인트 검출과 같은 다른 애플리케이션들에서 채용될 수 있다.
논의된 바와 같이, 신경 네트워크 요소들(310.1, 310.2, ..., 310.n)은 신경 네트워크의 미리결정된 요소들에 대응할 수 있다. 신경 네트워크들은 종종 도 4에 개략적으로 도시된 바와 같이 계층들로 구성되는 복수의 뉴런들로서 모델링된다. 일 구현예에서, 신경 네트워크 요소들(310.1, 310.2,..., 310.n)이 이들 계층들(410 내지 430)에 대응하도록 선택될 수 있다. 도 5에 개략적으로 도시된 다른 태양에서, 신경 네트워크 요소들(310.1, 310.2, ..., 310.n)은, 예를 들어 식별을 위해 개별 뉴런들이 작업되는 잠재적 특징부들과 같은 다른 선택 프로토콜들에 따라 뉴런들의 그룹들(510 내지 530)에 대응하도록 선택될 수 있다. 신경 네트워크로부터 신경 네트워크 요소들(310.1, 310.2, ..., 310.n)의 선택은 개별적인 애플리케이션 요구에 적합하도록 이루어질 수 있다.
도 6은 본 발명의 일 태양에 따른 손 검출 시스템(600)의 기능적 블록도이다. 객체 검출기(600)는 리샘플러(610), 손/몸체 검출기(620), 크로핑 유닛(630), 및 손 검출기(640)를 포함할 수 있다. 시스템(600)은 입력 비디오 내의 사람 손들의 위치들을 검출하도록 구성된 객체 바운딩 박스 검출기(210)(도 2)로서 적용될 수 있다. 손 검출기는 비디오 시퀀스를 입력으로서 취할 수 있다.
리샘플러(610)는 입력 비디오의 낮은 해상도 표현을 생성하고, 그것을 손/몸체 검출기(620)로 출력할 수 있다. 그의 명칭이 암시하는 바와 같이, 손/몸체 검출기(620)는 낮은 해상도의 비디오 내에서 검출되는 사람 손들 또는 인체들의 위치(들)를 식별하는 데이터를 생성할 수 있다. 손/몸체 검출기(620)는 손 검출 및 몸체 검출 분류 훈련을 나타내는 가중치들로 구성되는 신경 네트워크 객체 검출기일 수 있다.
손/몸체 검출기(620)가 비디오의 낮은 해상도 표현으로 손(들)을 검출할 때, 손/몸체 검출기(620)는 손(들)이 검출되었던 이미지 데이터 내의 위치들을 나타내는 바운딩 박스(들)의 좌표들을 출력할 수 있다. 좌표들은 객체 검출기(600)로 입력된 원래의 비디오에서의 바운딩 박스들의 좌표들을 나타내도록 스케일링될 수 있는데, 상기 원래의 비디오는 손/몸체 검출기(620)로 입력된 감소된 해상도의 비디오보다 더 높은 해상도를 가질 수 있다.
손/몸체 검출기(620)가 비디오의 낮은 해상도 표현에서 인체들의 존재를 검출하지만, 그것은 사람 손들의 존재를 검출하지는 않는다는 것을 생각할 수 있다. 그러한 동작은, 손들이 입력 비디오에는 나타나지만, 그들이 상대적으로 작은 크기를 가져서 낮은 해상도의 비디오 표현에서 손들이 검출되지 않게 할 때 발생할 수 있다. 손/몸체 검출기(620)는 이미지 데이터 내에서 검출된 인체들의 위치(들)를 식별하는 데이터를 크로핑 유닛(630)으로 출력할 수 있다.
크로핑 유닛(630)은 검출된 인체들의 영역들에서 소스 비디오 데이터를 크로핑하여, 몸체들의 바운딩 박스 위치들을 둘러싸는 추가의 이미지 데이터에 대한 마진(margin)들을 허용할 수 있다. 크로핑 유닛(630)에 의해 생성된 크로핑된 영역들은 손 검출기(640)로 출력되고, 다른 신경 네트워크가 사람 손을 검출하도록 훈련될 수 있다. 손 검출기(640)는 사람 손들이 검출되는 이미지 데이터의 좌표들을 식별하는 출력 데이터를 생성할 수 있다. 손/몸체 검출기(620)와 마찬가지로, 사람 손들의 좌표들은 사람 손들이 검출되는 소스 비디오 내의 위치들을 나타내도록 스케일링될 수 있다.
선택적으로, 크로핑 유닛(630)은 손/몸체 검출기(620)에 의해 식별된 영역들 내에서 대략적 단위로 사람 손들을 검출하도록 구성되는 경량의 손 검출기(도시되지 않음)를 포함할 수 있다. 경량의 손 검출은, (크로핑 후에) 손 검출기(640)에 의해 달리 쓰일 수 있는 프로세싱 리소스들을 보존하여 손/몸체 검출기(620)에 의해 식별된 영역들 내의 모든 이미지 데이터를 분석하도록 적용될 수 있다. 주어진 영역에 대해 경량의 손 검출이 사람 손들의 존재를 식별하지 않으면, 손 검출기(640)의 프로세싱은 각자의 영역에 대해 생략될 수 있다.
크로핑 유닛(630) 및 손 검출기(640)의 동작들은 원하는 대로 이미지 데이터의 상이한 해상도들에서 반복될 수 있다. 도 6은, 예를 들어 제2 리샘플러(650), 제2 크로핑 유닛(660), 및 제2 손 검출기(670)를 예시한다. 제2 리샘플러는 제1 리샘플러(610)에 의해 생성되는 낮은 해상도의 표현보다 더 높지만, 소스 비디오의 해상도보다 더 낮은 중간 해상도에서 입력 비디오의 표현을 생성할 수 있다. 이러한 실시예에서, 손 검출은 첫 번째로, 입력 비디오의 낮은 해상도의 표현 상에서 동작하는 손 검출기(620)에 의해 수행될 수 있는데, 이는 비디오 콘텐츠 내에서 상대적으로 큰 손들을 인식할 가능성이 있다. 손 검출은 두 번째로, 입력 비디오의 중간 해상도의 표현 상에서 동작하는 손 검출기(670)에 의해 수행될 수 있는데, 이는 비디오 콘텐츠 내에서 중간 크기를 갖는 손들을 인식할 가능성이 있다. 손 검출은 세 번째로, 입력 비디오의 전 해상도(full-resolution)의 표현 상에서 동작하는 손 검출기(640)에 의해 수행될 수 있는데, 이는 다른 손 검출기들(620, 670)에 의해 인식되는 크기들과 비교하여, 비디오 콘텐츠 내에서 작은 크기를 갖는 손들을 인식할 가능성이 있다. 일 실시예에서, 손 검출은 가능한 최대 수의 손들을 검출하기 위해 이미지 데이터의 모든 해상도들에서 수행될 수 있다. 대안적으로, 손 검출은 단계적으로 수행될 수 있는데, 첫 번째로 낮은 해상도의 비디오 상에서, 두 번째로 중간 해상도의 비디오 상에서, 그리고 마지막으로 미리결정된 수의 손들이 검출될 때까지 전 해상도의 비디오 상에서 동작한다. 그리고, 물론 원하는 대로, 도 6에 예시된 3개의 스테이지들을 초과하여, 손 검출의 추가적인 스테이지들이 수행될 수 있다.
일 실시예에서, 도 1의 시스템이 사람 손들을 인식하기 위해 적용될 수 있다. 손 검출 시스템(200)은 입력 비디오 시퀀스를 취하고, 프레임들의 정보를 융합할 수 있다. 객체 바운딩 박스 검출기(210)는 가장 최근의 프레임에 대해 하나 이상의 바운딩 박스들을 출력할 수 있고, 영역 필터(220)는 객체 영역들의 집합들의 상호작용(interaction of unions, IoU)에 기초하여 객체 영역들을 수집할 수 있다. 키포인트 검출기(230)는 최근 기간의 프레임들에 걸쳐 누적되는 수집된 손 영역들의 시퀀스를 입력으로서 취할 수 있고, 이미지의 2차원 평면에서 객체 키포인트들의 좌표들을 출력하여, 시간에 걸쳐 일관되는 ID를 각각의 손에 할당할 수 있다. 키포인트 검출기(230)는 객체마다 미리결정된 수의 키포인트 위치들을 검출하도록 훈련되는 신경 네트워크로 이루어질 수 있다. 예를 들어, 사람 손에 대한 키포인트 검출기는 손 영역 이미지에서 21개의 관절들을 검출할 수 있다.
비디오에 대한 상기의 기법들이 또한 단일 정지 이미지의 프로세싱을 위해 사용될 수 있다. 예를 들어, 도 2의 시스템(200)은 단일 이미지를 입력으로서 취하여 손들을 단일 이미지에서 검출할 수 있다. 객체 바운딩 박스 검출기는 입력 이미지를 프로세싱하고, 이미지에서 각각의 검출된 손에 대한 손 영역을 생성할 수 있다. 이어서, 영역 필터는 고정된 수의 가장 큰 검출된 손들의 크로핑된 이미지들을 출력할 수 있는데, 여기서 고정된 수는 사용자 특정된 구성이다. 이어서, 손 영역의 각각의 선택된 크로핑된 이미지는 키포인트 검출기 내로 공급될 수 있고, 이는 각각의 손 영역 이미지가 주어진 경우 21개의 손 관절들을 검출하도록 훈련된 심화 신경 네트워크로 이루어진다. 키포인트 검출기는 입력된 손 영역에 대한 키포인트 좌표들을 출력한다. 키포인트 좌표들은 정지 이미지 시스템의 최종 출력들일 수 있다.
비디오 콘텐츠 내의 사람 손들 및 키포인트들의 검출은 다양한 애플리케이션들을 야기한다. 도 1에 도시된 제1 애플리케이션에서, 제스처 검출기(150)가 미리결정된 패턴들에 따라 손 동작을 분류하게 하는 트레이닝 가중치들(155)에 따라 동작하는 제스처 검출기(150)로 손 위치들의 키포인트들이 입력될 수 있다. 일 실시예에서, 제스처 패턴들은 미국식 수화, 영국식 수화, 오스트레일리아식 수화 등과 같은 수화를 나타낼 수 있는데, 이들은 오퍼레이터들이 컴퓨터에 데이터를 입력하는 기준(basis)을 형성할 수 있다. 수화의 단어들 또는 문자들은 텍스트 입력으로서 컴퓨터 시스템의 애플리케이션(170)으로 입력될 수 있다. 대안적으로, 제스처 패턴들은 컴퓨터 디바이스의 운영 시스템(160) 또는 애플리케이션(170)에 대한 커맨드 입력을 나타낼 수 있는데, 이는 검출될 때, 대응하는 커맨드들로서 운영 시스템(160) 또는 애플리케이션(170)으로 입력될 수 있다. 애플리케이션에 대한 인터페이스들은 시스템이 구현되는 디바이스의 애플리케이션 프로그램 인터페이스들을 통해 이루어질 수 있다.
도 7은 본 발명의 일 실시예에 따른 디바이스(700)의 블록도이다. 디바이스(700)는 중앙 처리 장치(710), 메모리 시스템(720) 및 하나 이상의 입력/출력 디바이스들(730)을 포함할 수 있다. 중앙 처리 장치(710)는 프로세싱 코어(712) 및 신경 엔진(714)을 포함할 수 있고, 집적 회로가 전술한 도면들에서 논의된 신경 네트워크들을 구현한다. 메모리 시스템(720)은 프로세서 코어(712)에 의해 실행되는 운영 시스템(740) 및 애플리케이션(들)(750)을 나타내는 프로그램 명령어들, 신경 엔진(714)에 의해 적용되는 가중치들을 나타내는 가중치 데이터, 및 선택적으로 프로세싱될 아카이빙된 비디오를 나타내는 비디오 데이터를 저장할 수 있다. 메모리 시스템(720)은 전기 저장 매체, 자기 저장 매체, 및/또는 광학 저장 매체로 구현되는 하나 이상의 메모리 디바이스들에 의해 구현될 수 있다. 입력/출력 디바이스들(730)은 로컬 환경을 나타내는 비디오 데이터를 캡처하는 카메라를 포함할 수 있고, 다른 제어부들 및 디스플레이들(도시되지 않음)을 포함할 수 있는데, 이들을 통해 오퍼레이터들이 디바이스(700)와 인터페이싱한다. 디바이스(700)는 노트북 컴퓨터들, 태블릿 컴퓨터들, 스마트폰들, 게이밍 장비 및 다른 디바이스들과 같은 다양한 소비자 전자 디바이스들에 의해 구현될 수 있다.
도 7에 예시된 아키텍처는 여러 이점들을 제공할 수 있다:
a. 그것은 RGB 비디오 입력들을 사용하고 하드웨어 신경 엔진을 실행시킬 때, 상대적으로 낮은 전력을 소비할 수 있다.
b. 그것은 안정성 모듈들, 네트워크 아키텍처, 네트워크 모델의 양자화, 및/또는 하드웨어 신경 엔진의 사용으로 인해 낮은 레이턴시 프로세싱을 수행할 수 있다.
c. 그것은 비디오 기반 객체 검출 및 키포인트 검출 네트워크들(예컨대, 손 검출 네트워크들) 및/또는 안정성 모듈들의 사용으로 인해 키포인트들의 낮은 지터로 안정한 객체 인식을 수행할 수 있다.
d. 그것은 인지된 레이턴시를 관리하면서 시간적 궤적 추정/평활화 전략들을 적용할 수 있고, 이는 동작 동안 추가의 안정성을 제공할 수 있다.
본 발명의 여러 실시예들이 본 명세서에 구체적으로 예시되고/되거나 기술된다. 그러나, 본 발명의 수정 및 변형이 본 발명의 사상 및 의도된 범주로부터 벗어남이 없이 상기의 교시에 의해 그리고 첨부한 특허청구범위의 범위 내에 포함된다는 것이 인지될 것이다.

Claims (17)

  1. 시스템으로서,
    키포인트 검출기 - 상기 키포인트 검출기는 비디오에 대한 입력, 및 상기 키포인트 검출기에 의해 인식되는 객체의 좌표들 및 그러한 좌표들에서의 추정된 확률들을 나타내는 데이터에 대한 출력을 갖고, 상기 키포인트 검출기는 연관된 가중치들을 갖는 신경 네트워크 요소 및 안정성 계층을 포함하고, 상기 안정성 계층은:
    잡음을 생성하기 위한 랜덤 잡음 소스;
    상기 신경 네트워크 요소로부터의 출력을 상기 랜덤 잡음 소스에 의해 생성된 상기 잡음의 크기로 정규화하도록 구성되는 스케일러; 및
    상기 랜덤 잡음 소스 및 상기 스케일러에 커플링된 입력들을 갖고, 상기 랜덤 잡음 소스 및 상기 스케일러부터의 출력들을 가산하도록 구성되는 가산기(adder)를 포함함 -; 및
    상기 키포인트 검출기에 의해 출력되는 상기 좌표 및 추정된 확률 데이터에 대한 입력, 및 검출된 상기 객체의 최종 추정된 좌표에 대한 출력을 갖는 안정성 모듈을 포함하고, 상기 최종 추정된 좌표는 상기 검출된 객체의 좌표 및 추정된 확률 데이터에 적용된 커브 피팅(curve-fitting) 기법으로부터 도출되는, 시스템.
  2. 제1항에 있어서, 상기 키포인트 검출기는,
    제1 신경 네트워크 및 연관된 제1 가중치들로서 구현되는 객체 검출기 - 상기 객체 검출기는 미리결정된 객체의 콘텐츠를 나타내는 입력 비디오의 영역들을 검출함 -; 및
    제2 신경 네트워크 및 연관된 제2 가중치들로서 구현되는 객체 키포인트 검출기 - 상기 객체 키포인트 검출기는 상기 미리결정된 객체의 미리결정된 객체 키포인트들의 콘텐츠를 나타내는 입력 비디오 내의 위치들을 검출함 - 를 포함하는, 시스템.
  3. 제2항에 있어서, 상기 객체 검출기는,
    캐스케이드로 접속된 복수의 신경 네트워크 요소들 및 복수의 안정성 요소들을 포함하고, 상기 안정성 요소들 각각은,
    잡음을 생성하기 위한 랜덤 잡음 소스,
    선행 스테이지로부터의 신경 요소 출력들을 상기 랜덤 잡음 소스에 의해 생성된 상기 잡음의 크기로 정규화하도록 구성되는 스케일러, 및
    상기 랜덤 잡음 소스 및 상기 스케일러에 커플링된 입력들을 갖고, 상기 랜덤 잡음 소스 및 상기 스케일러로부터의 출력들을 가산하도록 구성되는 가산기를 포함하는, 시스템.
  4. 제2항에 있어서, 상기 객체 키포인트 검출기는,
    캐스케이드로 접속된 복수의 신경 네트워크 요소들 및 복수의 안정성 요소들을 포함하고, 상기 안정성 요소들 각각은,
    잡음을 생성하기 위한 랜덤 잡음 소스,
    선행 스테이지로부터의 신경 요소 출력들을 상기 랜덤 잡음 소스에 의해 생성되는 상기 잡음의 크기로 정규화하도록 구성되는 스케일러, 및
    상기 랜덤 잡음 소스 및 상기 스케일러에 커플링된 입력들을 갖고, 상기 랜덤 잡음 소스 및 상기 스케일러로부터의 출력들을 가산하도록 구성되는 가산기를 포함하는, 시스템.
  5. 제2항에 있어서, 미리결정된 객체는 사람 손이고, 상기 객체 검출기는 검출된 사람 손의 키랄성(chirality)을 추가로 검출하고, 상기 키포인트 검출기는,
    미리결정된 패턴들에 따라 손동작을 분류하기 위한 제스처 검출기를 추가로 포함하고, 상기 제스처 검출기는 사람 손의 미리결정된 키포인트들의, 상기 안정성 모듈로부터의 최종 추정된 좌표들에 대한 입력을 갖는, 시스템.
  6. 제1항에 있어서, 상기 키포인트 검출기는,
    입력 비디오에 대한 입력을 갖는 리샘플러(resampler),
    상기 리샘플러에 커플링된 출력을 갖는 손/몸체 검출기,
    상기 손/몸체 검출기로부터의 출력에 커플링된 입력을 갖는 크로핑 유닛(cropping unit), 및
    상기 크로핑 유닛의 출력에 커플링된 입력을 갖는 손 검출기를 포함하는, 시스템.
  7. 제2항에 있어서, 상기 미리결정된 객체는 사람 손이고, 상기 객체 검출기에 의해 영역들을 검출하는 것은,
    상기 입력 비디오를 더 낮은 해상도로 리샘플링하는 것;
    상기 더 낮은 해상도의 비디오 상에서 손/몸체 검출을 수행하는 것;
    상기 손/몸체 검출이 상기 더 낮은 해상도의 비디오에서 손을 검출할 때, 상기 검출된 손의 좌표들을 출력하는 것; 및
    상기 손/몸체 검출이 상기 더 낮은 해상도의 비디오에서 몸체를 검출할 때, 상기 손/몸체 검출에 의해 식별되는, 상기 입력 비디오의 입력 해상도에서의 상기 입력 비디오의 영역 상에서 손 검출을 수행하는 것을 포함하는, 시스템.
  8. 방법으로서,
    입력 비디오의 콘텐츠로부터 미리결정된 객체를 검출하는 단계 - 상기 검출하는 단계는 상기 미리결정된 객체가 존재하는 것으로 추정되는 상기 입력 비디오의 좌표들 및 상기 좌표들에서의 상기 미리결정된 객체의 각자의 추정된 확률들을 나타내는 데이터를 생성하고, 상기 검출하는 단계는 연관된 가중치들을 갖는 신경 네트워크 요소 및 안정성 계층을 이용해 상기 입력 비디오를 처리하는 단계를 포함하고, 상기 안정성 계층은:
    잡음을 생성하기 위한 랜덤 잡음 소스;
    상기 신경 네트워크 요소로부터의 출력을 상기 랜덤 잡음 소스에 의해 생성된 상기 잡음의 크기로 정규화하도록 구성되는 스케일러; 및
    상기 랜덤 잡음 소스 및 상기 스케일러에 커플링된 입력들을 갖고, 상기 랜덤 잡음 소스 및 상기 스케일러로부터의 출력들을 가산하도록 구성되는 가산기를 포함함 -; 및
    상기 좌표들에서의 상기 미리결정된 객체의 추정된 확률들을 확률 분포 함수에 피팅함으로써 상기 미리결정된 객체의 최종 위치를 할당하는 단계를 포함하는, 방법.
  9. 제8항에 있어서, 상기 검출하는 단계는 신경 네트워크에 따라 상기 객체의 미리결정된 키포인트들의 좌표들을 검출하는 단계를 포함하는, 방법.
  10. 제9항에 있어서, 상기 신경 네트워크는 교번하는 스테이지들의 캐스케이드로 접속된 복수의 신경 네트워크 요소들 및 복수의 안정성 요소들을 포함하고, 상기 안정성 요소들 각각은,
    잡음을 생성하기 위한 랜덤 잡음 소스,
    선행 스테이지로부터의 신경 요소 출력들을 상기 랜덤 잡음 소스에 의해 생성된 상기 잡음의 크기로 정규화하도록 구성되는 스케일러, 및
    상기 랜덤 잡음 소스 및 상기 스케일러에 커플링된 입력들을 갖고, 상기 랜덤 잡음 소스 및 상기 스케일러로부터의 출력들을 가산하도록 구성되는 가산기를 포함하는, 방법.
  11. 제9항에 있어서, 미리결정된 객체는 사람 손이고, 상기 검출하는 단계는,
    검출된 사람 손의 키랄성을 검출하는 단계; 및
    미리결정된 제스처 패턴들에 따라 상기 손의 키포인트들의 시간 경과에 따른 최종 위치들을 분류함으로써 제스처를 검출하는 단계를 추가로 포함하는, 방법.
  12. 제8항에 있어서, 상기 검출하는 단계는,
    상기 입력 비디오를 더 낮은 해상도로 리샘플링하는 단계;
    상기 더 낮은 해상도의 비디오 상에서 손/몸체 검출을 수행하는 단계;
    상기 손/몸체 검출이 상기 더 낮은 해상도의 비디오에서 손을 검출할 때, 상기 검출된 손의 좌표들을 출력하는 단계; 및
    상기 손/몸체 검출이 상기 더 낮은 해상도의 비디오에서 몸체를 검출할 때, 상기 손/몸체 검출에 의해 식별되는, 상기 입력 비디오의 입력 해상도에서의 상기 입력 비디오의 영역 상에서 손 검출을 수행하는 단계를 포함하는, 방법.
  13. 명령어들을 포함하는 비일시적 메모리로서, 상기 명령어들은 프로세서에 의해 실행될 때,
    입력 비디오의 콘텐츠로부터 미리결정된 객체를 검출하는 것 - 상기 검출하는 것은 상기 미리결정된 객체가 존재하는 것으로 추정되는 상기 입력 비디오의 좌표들 및 상기 좌표들에서의 상기 미리결정된 객체의 각자의 추정된 확률들을 나타내는 데이터를 생성하고, 상기 검출하는 것은 연관된 가중치들을 갖는 신경 네트워크 요소 및 안정성 계층을 이용해 상기 입력 비디오를 처리하는 것을 포함하고, 상기 안정성 계층은:
    잡음을 생성하기 위한 랜덤 잡음 소스;
    상기 신경 네트워크 요소로부터의 출력을 상기 랜덤 잡음 소스에 의해 생성된 잡음의 크기로 정규화하도록 구성되는 스케일러; 및
    상기 랜덤 잡음 소스 및 상기 스케일러에 커플링된 입력들을 갖고, 상기 랜덤 잡음 소스 및 상기 스케일러로부터의 출력들을 가산하도록 구성되는 가산기를 포함함 -; 및
    상기 좌표들에서의 상기 미리결정된 객체의 추정된 확률들을 확률 분포 함수에 피팅함으로써 상기 미리결정된 객체의 최종 위치를 할당하는 것을 야기하는, 비일시적 메모리.
  14. 제13항에 있어서, 상기 검출하는 것은 신경 네트워크에 따라 상기 객체의 미리결정된 키포인트들의 좌표들을 검출하는 것을 포함하는, 비일시적 메모리.
  15. 제14항에 있어서, 상기 신경 네트워크는 캐스케이드로 접속된 복수의 신경 네트워크 요소들 및 복수의 안정성 요소들을 포함하고, 상기 안정성 요소들 각각은,
    잡음을 생성하기 위한 랜덤 잡음 소스,
    선행 스테이지로부터의 신경 요소 출력들을 상기 랜덤 잡음 소스에 의해 생성된 상기 잡음의 크기로 정규화하도록 구성되는 스케일러, 및
    상기 랜덤 잡음 소스 및 상기 스케일러에 커플링된 입력들을 갖고, 상기 랜덤 잡음 소스 및 상기 스케일러로부터의 출력들을 가산하도록 구성되는 가산기를 포함하는, 비일시적 메모리.
  16. 제14항에 있어서, 미리결정된 객체는 사람 손이고, 상기 검출하는 것은,
    검출된 사람 손의 키랄성을 검출하는 것; 및
    미리결정된 제스처 패턴들에 따라 상기 손의 키포인트들의 시간 경과에 따른 최종 위치들을 분류함으로써 제스처를 검출하는 것을 추가로 포함하는, 비일시적 메모리.
  17. 제13항에 있어서, 상기 검출하는 것은,
    상기 입력 비디오를 더 낮은 해상도로 리샘플링하는 것;
    상기 더 낮은 해상도의 비디오 상에서 손/몸체 검출을 수행하는 것;
    상기 손/몸체 검출이 상기 더 낮은 해상도의 비디오에서 손을 검출할 때, 상기 검출된 손의 좌표들을 출력하는 것; 및
    상기 손/몸체 검출이 상기 더 낮은 해상도의 비디오에서 몸체를 검출할 때, 상기 손/몸체 검출에 의해 식별되는, 상기 입력 비디오의 입력 해상도에서의 상기 입력 비디오의 영역 상에서 손 검출을 수행하는 것을 포함하는, 비일시적 메모리.
KR1020210079209A 2020-06-18 2021-06-18 낮은 공간 지터, 낮은 레이턴시 및 저전력 사용을 갖는 객체 및 키포인트 검출 시스템 KR102650594B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202063040909P 2020-06-18 2020-06-18
US63/040,909 2020-06-18
US17/339,249 2021-06-04
US17/339,249 US11847823B2 (en) 2020-06-18 2021-06-04 Object and keypoint detection system with low spatial jitter, low latency and low power usage

Publications (2)

Publication Number Publication Date
KR20210156793A KR20210156793A (ko) 2021-12-27
KR102650594B1 true KR102650594B1 (ko) 2024-03-21

Family

ID=78912598

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210079209A KR102650594B1 (ko) 2020-06-18 2021-06-18 낮은 공간 지터, 낮은 레이턴시 및 저전력 사용을 갖는 객체 및 키포인트 검출 시스템

Country Status (3)

Country Link
US (1) US11847823B2 (ko)
KR (1) KR102650594B1 (ko)
CN (1) CN113822122A (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111079695A (zh) * 2019-12-30 2020-04-28 北京华宇信息技术有限公司 一种人体关键点检测与自学习方法及装置
CN111160269A (zh) * 2019-12-30 2020-05-15 广东工业大学 一种人脸关键点检测方法及装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11074495B2 (en) 2013-02-28 2021-07-27 Z Advanced Computing, Inc. (Zac) System and method for extremely efficient image and pattern recognition and artificial intelligence platform
KR101653235B1 (ko) 2016-03-11 2016-09-12 한국전자통신연구원 제스쳐 인식 장치 및 그 방법
US10929654B2 (en) * 2018-03-12 2021-02-23 Nvidia Corporation Three-dimensional (3D) pose estimation from a monocular camera
FR3081591B1 (fr) * 2018-05-23 2020-07-31 Idemia Identity & Security France Procede de traitement d'un flux d'images video
US11074711B1 (en) * 2018-06-15 2021-07-27 Bertec Corporation System for estimating a pose of one or more persons in a scene
CN113569798B (zh) 2018-11-16 2024-05-24 北京市商汤科技开发有限公司 关键点检测方法及装置、电子设备和存储介质
CN111126272B (zh) 2019-12-24 2020-11-10 腾讯科技(深圳)有限公司 姿态获取方法、关键点坐标定位模型的训练方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111079695A (zh) * 2019-12-30 2020-04-28 北京华宇信息技术有限公司 一种人体关键点检测与自学习方法及装置
CN111160269A (zh) * 2019-12-30 2020-05-15 广东工业大学 一种人脸关键点检测方法及装置

Also Published As

Publication number Publication date
CN113822122A (zh) 2021-12-21
US20210397826A1 (en) 2021-12-23
US11847823B2 (en) 2023-12-19
KR20210156793A (ko) 2021-12-27

Similar Documents

Publication Publication Date Title
US20220383535A1 (en) Object Tracking Method and Device, Electronic Device, and Computer-Readable Storage Medium
US10198823B1 (en) Segmentation of object image data from background image data
CN109344793B (zh) 用于识别空中手写的方法、装置、设备以及计算机可读存储介质
Gurav et al. Real time finger tracking and contour detection for gesture recognition using OpenCV
Chen et al. Human action recognition using star skeleton
US8542928B2 (en) Information processing apparatus and control method therefor
Murthy et al. Hand gesture recognition using neural networks
Arcoverde Neto et al. Enhanced real-time head pose estimation system for mobile device
CN110807410B (zh) 关键点定位方法、装置、电子设备和存储介质
CN111753764A (zh) 一种边缘端基于姿态估计的手势识别方法
WO2022199360A1 (zh) 运动物体的定位方法、装置、电子设备及存储介质
JPWO2019111932A1 (ja) モデル学習装置、モデル学習方法及びコンピュータプログラム
CN114937285A (zh) 动态手势识别方法、装置、设备及存储介质
JP2016099643A (ja) 画像処理装置、画像処理方法および画像処理プログラム
CN109325387B (zh) 图像处理方法、装置、电子设备
KR102650594B1 (ko) 낮은 공간 지터, 낮은 레이턴시 및 저전력 사용을 갖는 객체 및 키포인트 검출 시스템
KR101909326B1 (ko) 얼굴 모션 변화에 따른 삼각 매쉬 모델을 활용하는 사용자 인터페이스 제어 방법 및 시스템
Pradhan et al. Design of intangible interface for mouseless computer handling using hand gestures
Badi et al. RETRACTED ARTICLE: Feature extraction and ML techniques for static gesture recognition
CN112541418A (zh) 用于图像处理的方法、装置、设备、介质和程序产品
KR20170070298A (ko) 물체-행동 관계 모델에 기반한 행동 인식 방법 및 그 장치
Kane et al. Sign Language apprehension using convolution neural networks
Thakur Robust hand gesture recognition for human machine interaction system
Higuchi et al. Robust finger tracking for gesture control of mobile devices using contour and interior information of a finger
US20230419733A1 (en) Devices and methods for single or multi-user gesture detection using computer vision

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant