KR20150061488A - Method and apparatus for estimating 3d human pose - Google Patents

Method and apparatus for estimating 3d human pose Download PDF

Info

Publication number
KR20150061488A
KR20150061488A KR1020130145691A KR20130145691A KR20150061488A KR 20150061488 A KR20150061488 A KR 20150061488A KR 1020130145691 A KR1020130145691 A KR 1020130145691A KR 20130145691 A KR20130145691 A KR 20130145691A KR 20150061488 A KR20150061488 A KR 20150061488A
Authority
KR
South Korea
Prior art keywords
user
probability distribution
distribution value
region
pixel
Prior art date
Application number
KR1020130145691A
Other languages
Korean (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 한국전자통신연구원
Priority to KR1020130145691A priority Critical patent/KR20150061488A/en
Publication of KR20150061488A publication Critical patent/KR20150061488A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • 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/103Static body considered as a whole, e.g. static pedestrian or occupant recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • 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/20076Probabilistic image processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • General Health & Medical Sciences (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

An apparatus to estimate a three dimensional user posture extracts a user area corresponding to a user body from a depth video of the user, determines a central point of a frame joint area by using a randomized decision forest for each pixel within the user area, generates frame information by using the central point of the frame joint area, and estimates posture of the user from the frame information.

Description

3차원 사용자 자세 추정 방법 및 장치{METHOD AND APPARATUS FOR ESTIMATING 3D HUMAN POSE}[0001] METHOD AND APPARATUS FOR ESTIMATING 3D HUMAN POSE [0002]

본 발명은 3차원 사용자 자세 추정 방법 및 장치에 관한 것으로, 특히 사용자 신체의 특정 부위에 기초한 골격(skeleton) 정보로 사용자의 자세를 추정하는 방법에 관한 것이다. The present invention relates to a three-dimensional user attitude estimation method and apparatus, and more particularly, to a method of estimating a user's attitude with skeleton information based on a specific part of a user's body.

사용자에 대한 3차원 골격(skeleton) 정보를 빠르고 신뢰성 있게 추출하는 것은 컴퓨터 비전 분야에서 가장 중요한 문제 중의 하나다. 3차원 골격 정보 추출 기술은 사용자-컴퓨터 상호작용(Human Computer Interaction, HCI), 컴퓨터 그래픽스를 위한 모션 캡처(motion capture), 영상 감시를 위한 동작 인식(gesture/action recognition) 및 의료 서비스(health care) 등의 다양한 응용 분야를 가지고 있다. 특별히 3차원 골격 정보 추출 기술은 스마트 기기나 인터렉티브 디지털 콘텐츠를 위한 보다 자연스러운 사용자 인터페이스(natural user interface)를 가능하게 하는 핵심 기술로서 최근 많은 관심을 끌고 있다. Quickly and reliably extracting 3D skeleton information for users is one of the most important problems in computer vision. The 3D skeleton information extraction technology can be applied to human computer interaction (HCI), motion capture for computer graphics, gesture / action recognition for health monitoring and health care, And so on. In particular, 3D skeleton information extraction technology has attracted much attention as a core technology enabling a more natural user interface for smart devices and interactive digital contents.

거리 영상으로부터 사람의 골격 정보 추출에 관해서는 그 동안 많은 수의 특허가 발표되었다. 그 중 가장 성공적인 것은 2010년에 마이크로소프트가 발표한 깊이 카메라인 키넥트(Kinect)에 탑재된 골격 추적(skeletal tracking) 방법이다. 미국 특허 US8,503,720에 기재된 골격추적 방법은 미리 학습된 여러 개의 결정 트리(decision tree)를 입력 거리 영상의 모든 픽셀들에 적용하여 각 골격 관절의 3차원 좌표를 찾아내는 방식이다. A large number of patents have been issued for extracting human skeleton information from a distance image. The most successful of these is the skeletal tracking method on Kinect, a deep camera released by Microsoft in 2010. The skeleton tracking method described in US Pat. No. 8,503,720 is a method of finding three-dimensional coordinates of each skeletal joint by applying a plurality of previously learned decision trees to all the pixels of the input range image.

그러나, 이 방법은 GPU(graphics processing unit) 혹은 멀티-코어 CPU(central processing unit) 기반의 병렬화에 의존해야 한다. 제스처나 모션 기반의 사용자 인터페이스를 점차 대중화되고 있는 스마트 모바일 기기에 적용하는 것은 최근 중요한 이슈가 되고 있지만, 모바일 기기의 제한된 계산 성능으로 인해서 기존 키넥트에 적용되었던 3차원 골격 정보 추출 방법을 그대로 적용하는 것은 쉽지 않은 문제이다. 또한 고가의 GPU 혹은 멀티-코어 CPU 없이 실시간 3차원 골격 정보 추출을 가능하게 하는 것은 동작 인식 기반 사용자 인터페이스 시스템의 원가 절감을 위해서도 중요한 의미를 가진다.However, this approach must rely on graphics processing unit (GPU) or multi-core central processing unit (CPU) -based parallelization. Applying a gesture or motion-based user interface to a smart mobile device that has become increasingly popular has become a major issue in recent years. However, due to the limited computing power of mobile devices, the three-dimensional skeleton information extraction method It is not an easy problem. In addition, real - time 3D skeleton information extraction without expensive GPU or multi - core CPU is also important for cost reduction of motion recognition based user interface system.

본 발명이 해결하려는 과제는 고가의 GPU 혹은 멀티-코어 CPU의 병렬화 과정 없이 빠른 속도로 3차원 골격 정보를 추출할 수 있는 3차원 사용자 자세 추정 방법 및 장치를 제공하는 것이다. The object of the present invention is to provide a method and an apparatus for estimating a three-dimensional user's posture capable of extracting three-dimensional skeleton information at a high speed without parallelization of an expensive GPU or a multi-core CPU.

본 발명의 한 실시 예에 따르면, 3차원 사용자 자세 추정 장치에서 3차원 사용자 자세를 추정하는 방법이 제공된다. 3차원 사용자 자세 추정 방법은 사용자의 깊이 영상으로부터 사용자 몸에 해당하는 사용자 영역을 추출하는 단계, 상기 사용자 영역 내의 픽셀 각각에 대해 랜덤 결정 포레스트(Randomized Decision Forest)를 이용하여 상기 골격 관절 영역에서의 중심점을 결정하는 단계, 그리고 상기 골격 관절 영역에서의 중심점을 이용하여 골격 정보를 생성하는 단계를 포함한다. According to an embodiment of the present invention, a method for estimating a three-dimensional user posture in a three-dimensional user attitude estimation apparatus is provided. The three-dimensional user attitude estimation method includes extracting a user area corresponding to a user's body from a depth image of a user, calculating a center point in the skeletal joint area using a random decision forest (Randomized Decision Forest) And generating skeleton information using the center point in the skeleton joint region.

상기 결정하는 단계는 상기 사용자 영역 내의 픽셀 각각에 대하여 상기 랜덤 결정 포레스트를 이용하여 상기 사용자 몸 내의 어느 부위의 골격 관절에 해당하는지에 대한 확률 분포 값을 계산하는 단계, 상기 사용자 영역 내의 픽셀 각각에 대한 확률 분포 값을 이용하여 골격 관절 영역을 결정하는 단계, 그리고 상기 골격 관절 영역에서의 중심점을 결정하는 단계를 포함할 수 있다. Wherein the determining comprises calculating a probability distribution value for each of the pixels in the user region that corresponds to a skeletal joint of the region in the user's body using the random decision forest, Determining a skeletal articular region using a probability distribution value, and determining a center point in the skeletal articular region.

상기 랜덤 결정 포레스트를 이용하여 확률 분포 값을 계산하는 단계는 상기 사용자 영역 내의 픽셀 각각에 대하여, 상기 랜덤 결정 포레스트의 모든 결정 트리에서 리프 노드에서의 확률 분포 값을 획득하는 단계, 그리고 상기 모든 결정 트리에서 획득된 확률 분포 값을 합산하는 단계를 포함할 수 있다. Wherein calculating a probability distribution value using the random decision forest includes obtaining a probability distribution value at a leaf node in all decision trees of the random decision forest for each pixel in the user domain, And adding the probability distribution values obtained in step < RTI ID = 0.0 >

상기 랜덤 결정 포레스트를 이용하여 확률 분포 값을 계산하는 단계는 상기 사용자 영역 내의 픽셀 각각에 대하여, 상기 랜덤 결정 포레스트의 결정 트리 각각에서 리프 노드에 도달하기 전에 확률 분포 값이 임계 값을 넘지 않는 노드가 존재하면 0의 확률 분포 값을 반환하는 단계, 상기 랜덤 결정 포레스트의 결정 트리 각각에서 상기 리프 노드에 도달하기 전에 각 노드의 확률 분포 값이 임계 값을 초과하면 상기 리프 노드에서의 확률 분포 값을 반환하는 단계, 그리고 상기 랜덤 결정 포레스트의 결정 트리 각각에서 반환된 확률 분포 값을 합산하는 단계를 포함할 수 있다. Wherein calculating a probability distribution value using the random decision forest is performed for each of the pixels in the user domain by determining that a node whose probability distribution value does not exceed a threshold value before reaching a leaf node in each decision tree of the random decision forest Returning a probability distribution value of 0 at the leaf node if the probability distribution value of each node exceeds a threshold value before reaching the leaf node in each decision tree of the random decision forest; , And summing the probability distribution values returned in each of the decision trees of the random decision forest.

상기 랜덤 결정 포레스트를 이용하여 확률 분포 값을 계산하는 단계는 상기 랜덤 결정 포레스트의 결정 트리 각각에서 각 노드의 확률 분포 값을 자식 노드의 확률 분포 값을 이용하여 사전에 정의하는 단계를 더 포함할 수 있다. The step of calculating the probability distribution value using the random decision forest may further include the step of preliminarily defining the probability distribution value of each node in each decision tree of the random decision forest using the probability distribution value of the child node have.

상기 확률 분포 값을 계산하는 단계는 상기 사용자 영역 내의 픽셀 각각에 대하여 거절 트리(rejection tree)를 이용하여 관절 또는 비관절 클래스로 분류하는 단계, 그리고 상기 관절 클래스로 분류된 픽셀에 대해서만 랜덤 결정 포레스트를 이용하여 확률 분포 값을 계산하는 단계를 포함할 수 있다. Wherein calculating the probability distribution value comprises: classifying each pixel in the user region into a joint or non-joint class using a rejection tree; and determining a random decision forest only for pixels classified into the joint class And calculating a probability distribution value using the probability distribution value.

상기 분류하는 단계는 상기 사용자 영역 내의 픽셀 각각에 대하여 상기 거절 트리에서 리프 노드의 확률 분포 값을 임계 값과 비교하는 단계, 그리고 상기 사용자 영역 내의 픽셀 각각에 대하여 상기 거절 트리에서 리프 노드의 확률 분포 값이 상기 임계 값을 초과하는 경우에, 상기 관절 클래스로 분류하는 단계를 포함할 수 있다. Wherein said classifying comprises comparing a probability distribution value of a leaf node in the rejection tree to a threshold value for each pixel in the user region and for each pixel in the user region, And classifying the joint class into the joint class when the threshold value is greater than the threshold value.

상기 중심점을 결정하는 단계는 상기 깊이 영상으로부터 다중 스케일의 깊이 영상을 생성하는 단계, 상기 다중 스케일의 깊이 영상 중 가장 낮은 제1 스케일의 깊이 영상의 사용자 영역 내의 픽셀 각각에 대해 상기 랜덤 결정 포레스트를 이용하여 골격 관절 영역에서의 중심점을 추정하는 단계, 그리고 상기 다중 스케일의 깊이 영상 중 상기 제1 스케일보다 큰 제2 스케일의 깊이 영상에서 상기 중심점으로부터 일정 영역의 픽셀에 대해서만 상기 랜덤 결정 포레스트를 이용하여 상기 골격 관절 영역에서의 중심점을 확정하는 단계를 포함할 수 있다.The method of claim 1, wherein the determining the center point comprises: generating a multi-scale depth image from the depth image; using the random decision forest for each pixel in the user area of the lowest first scale depth image of the multi- Estimating a center point in the skeleton joint region by using the random decision forest only for pixels in a certain region from the center point in a depth image of a second scale larger than the first scale among the multi- And determining a center point in the skeletal articular region.

상기 사용자 영역을 추출하는 단계는 상기 깊이 영상 내에서 각 픽셀의 깊이 정보 값을 포함하는 픽셀 데이터를 추출하는 단계, 그리고 상기 픽셀 데이터에 기초하여 상기 사용자 영역을 추출하는 단계를 포함할 수 있다. The extracting of the user region may include extracting pixel data including a depth information value of each pixel in the depth image, and extracting the user region based on the pixel data.

본 발명의 다른 한 실시 예에 따르면, 3차원 사용자 자세 추정 장치가 제공된다. 3차원 사용자 자세 추정 장치는 사용자의 깊이 영상 중 사용자 영역 내의 픽셀 각각에 대해 랜덤 결정 포레스트(Randomized Decision Forest, RDF)를 이용하여 상기 사용자 몸 내의 어느 부위의 골격 관절에 해당하는지에 대한 최종 확률 분포 값을 계산하는 RDF 분류부, 상기 사용자 영역 내의 픽셀 각각의 확률 분포 값을 이용하여 골격 관절 영역에서의 중심점을 결정하는 중심점 결정부, 그리고 상기 골격 관절 영역에서의 중심점을 이용하여 상기 사용자의 자세를 추정하는 골격 정보 생성부를 포함한다. According to another embodiment of the present invention, a three-dimensional user attitude estimation apparatus is provided. The three-dimensional user attitude estimation apparatus estimates a final probability distribution value (X, Y, Z) of a portion of the user's body corresponding to a skeletal joint in the user's body by using a randomized decision forest (RDF) A center point determining unit for determining a center point in the skeleton joint region using a probability distribution value of each pixel in the user region, and a posture estimation unit for estimating the posture of the user using the center point in the skeleton joint region, And a skeleton information generating unit.

상기 3차원 사용자 자세 추정 장치는 상기 깊이 영상 내에서 각 픽셀의 깊이 정보 값을 포함하는 픽셀 데이터에 기초하여 상기 사용자 영역을 추출하는 사용자 영역 추출부를 더 포함할 수 있다. The 3D user attitude estimation apparatus may further include a user region extracting unit for extracting the user region based on pixel data including depth information of each pixel in the depth image.

상기 RDF 분류부는 상기 사용자 영역 내의 픽셀 각각에 대하여, 상기 RDF의 각 결정 트리에서 반환되는 확률 분포 값을 합산하여 상기 최종 확률 분포 값을 계산할 수 있다. The RDF classification unit may calculate the final probability distribution value by summing the probability distribution values returned from each decision tree of the RDF for each pixel in the user region.

상기 각 결정 트리에서 반환되는 확률 분포 값은 상기 각 결정 트리의 리프 노드에서의 확률 분포 값일 수 있다. The probability distribution value returned from each decision tree may be a probability distribution value at a leaf node of each decision tree.

상기 각 결정 트리에서 반환되는 확률 분포 값은 0 또는 리프 노드에서의 확률 분포 값일 수 있다. The probability distribution value returned from each decision tree may be 0 or a probability distribution value at the leaf node.

상기 RDF 분류부는 상기 RDF의 결정 트리 각각에서 리프 노드에 도달하기 전에 확률 분포 값이 임계 값을 넘지 않는 노드가 존재하면 0의 확률 분포 값을 반환하고 다른 결정 트리의 노드를 순회할 수 있다. The RDF classification unit may return a probability distribution value of 0 and traverse a node of another decision tree if a node whose probability distribution value does not exceed the threshold value exists before reaching the leaf node in each decision tree of the RDF.

상기 RDF 분류부는 상기 사용자 영역 내의 픽셀 각각에 대해 상기 RDF의 도입 트리로 거절 트리를 이용하여 관절 또는 비관절 클래스로 분류하고, 관절 클래스에 해당하는 픽셀에 대해서만 상기 RDF를 이용하여 상기 최종 확률 분포 값을 계산할 수 있다. Wherein the RDF classification unit classifies each of the pixels in the user region into a joint tree or a non-joint class using the reject tree as the introduction tree of the RDF, and uses the RDF only for the pixels corresponding to the joint class to calculate the final probability distribution value Can be calculated.

상기 RDF 분류부는 상기 비관절 클래스에 해당하는 픽셀에 대해서는 상기 최종 확률 분포 값으로 0을 반환할 수 있다. The RDF classification unit may return 0 as the final probability distribution value for pixels corresponding to the non-articulated class.

상기 깊이 영상은 다중 스케일의 깊이 영상을 포함하고, 상기 RDF 분류부는 상기 다중 스케일의 깊이 영상 중 가장 낮은 제1 스케일의 깊이 영상의 사용자 영역 내의 픽셀 각각에 대해 상기 랜덤 결정 포레스트를 이용하여 골격 관절 영역에서의 중심점을 추정하고, 상기 다중 스케일의 깊이 영상 중 상기 제1 스케일보다 큰 적어도 하나의 제2 스케일의 깊이 영상에서 상기 중심점으로부터 일정 영역의 픽셀에 대해서만 상기 랜덤 결정 포레스트를 이용하여 상기 골격 관절 영역에서의 중심점을 확정할 수 있다. Wherein the depth image includes a multi-scale depth image, and the RDF classification unit divides the skeletal articulated region using the random decision forest for each pixel in the user region of the lowest first scale depth image among the multi- Estimating a center point of the skeletal joint region using the random decision forest only for pixels in a certain region from the center point in a depth image of at least one second scale larger than the first scale among the multi- It is possible to determine the center point at

본 발명의 실시 예에 의하면, 확률 분포 기법에 따라 골격 관절을 추정하는 한편, 나아가 연산 과정에서 필요한 픽셀만을 선택함으로써, 연산량을 획기적으로 줄일 수 있다. 또한 어떠한 병렬화 과정 없이도 기존 키넥트에 적용되었던 3차원 골격 정보 추출 방법을 고속화하여 단일-코어 CPU 시스템에서도 실시간의 3차원 사용자 골격 정보를 추출할 수 있다.According to the embodiment of the present invention, the calculation amount can be drastically reduced by estimating the skeletal joint according to the probability distribution technique and further selecting only the pixels necessary for the calculation process. In addition, the 3D skeleton information extraction method applied to the existing Kinect can be speeded up without any parallelization process, and real-time 3D user skeleton information can be extracted even in a single-core CPU system.

도 1은 본 발명의 제1 실시 예에 따른 3차원 사용자 자세 추정 방법을 나타낸 흐름도이다.
도 2는 본 발명의 실시 예에 따른 각 픽셀의 확률 분포 값 계산 방법을 나타낸 흐름도이다.
도 3은 본 발명의 실시 예에 따른 각 픽셀의 확률 분포 값 계산을 위한 결정 트리의 일 예를 나타낸 도면이다.
도 4는 본 발명의 제2 실시 예에 따른 3차원 사용자 자세 추정 방법을 나타낸 흐름도이다.
도 5는 본 발명의 제2 실시 예에 따른 3차원 사용자 자세 추정 방법을 설명하기 위한 도면이다.
도 6은 본 발명의 제3 실시 예에 따른 3차원 사용자 자세 추정 방법을 나타낸 흐름도이다.
도 7은 본 발명의 실시 예에 따른 각 픽셀의 확률 분포 값 계산을 위한 결정 트리의 일 예를 나타낸 도면이다.
도 8은 본 발명의 제4 실시 예에 따른 3차원 사용자 자세 추정 방법을 나타낸 흐름도이다.
도 9는 본 발명의 실시 예에 따른 3차원 사용자 자세 추정 장치를 나타낸 도면이다.
도 10은 본 발명의 다른 실시 예에 따른 3차원 사용자 자세 추정 장치의 개략적인 도면이다.
1 is a flowchart illustrating a 3D user attitude estimation method according to a first embodiment of the present invention.
2 is a flowchart illustrating a method of calculating a probability distribution value of each pixel according to an embodiment of the present invention.
3 is a diagram illustrating an example of a decision tree for calculating a probability distribution value of each pixel according to an embodiment of the present invention.
4 is a flowchart illustrating a 3D user attitude estimation method according to a second embodiment of the present invention.
FIG. 5 is a diagram for explaining a three-dimensional user attitude estimation method according to a second embodiment of the present invention.
FIG. 6 is a flowchart illustrating a 3D user attitude estimation method according to a third embodiment of the present invention.
7 is a diagram illustrating an example of a decision tree for calculating a probability distribution value of each pixel according to an embodiment of the present invention.
8 is a flowchart illustrating a 3D user attitude estimation method according to a fourth embodiment of the present invention.
9 is a diagram illustrating a 3D user orientation estimation apparatus according to an embodiment of the present invention.
10 is a schematic diagram of a 3D user attitude estimation apparatus according to another embodiment of the present invention.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily carry out the present invention. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In order to clearly illustrate the present invention, parts not related to the description are omitted, and similar parts are denoted by like reference characters throughout the specification.

명세서 및 청구범위 전체에서, 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다. Throughout the specification and claims, when a section is referred to as "including " an element, it is understood that it does not exclude other elements, but may include other elements, unless specifically stated otherwise.

이제 본 발명의 실시 예에 따른 3차원 사용자 자세 추정 방법 및 시스템에 대하여 도면을 참고로 하여 상세하게 설명한다. Now, a method and system for estimating a three-dimensional user attitude according to an embodiment of the present invention will be described in detail with reference to the drawings.

도 1은 본 발명의 제1 실시 예에 따른 3차원 사용자 자세 추정 방법을 나타낸 흐름도이다. 1 is a flowchart illustrating a 3D user attitude estimation method according to a first embodiment of the present invention.

도 1을 참고하면, 3차원 사용자 자세 추정 장치는 깊이를 측정하는 깊이 정보 장치에 의해 측정된 깊이 영상을 수신한다(S110). 깊이 정보 장치는 예를 들면 깊이(Depth) 카메라일 수 있다. Referring to FIG. 1, the 3D user attitude estimation apparatus receives a depth image measured by a depth information measuring apparatus for measuring depth (S110). The depth information device may be, for example, a depth camera.

3차원 사용자 자세 추정 장치는 깊이 영상 내의 각 픽셀의 깊이 정보 값을 포함하는 픽셀 데이터를 추출한다(S120). 깊이 영상은 사용자 영역 및 배경 영역을 포함하는 2차원 이미지일 수 있다. 픽셀 데이터는 각 픽셀까지의 깊이 정보 이외에, 각 픽셀의 RGB 값, 조도 값, 깊이 정보 값 등일 수 있다. 픽셀 데이터는 하나의 픽셀 데이터일 수 있고, 여러 픽셀들의 집합 데이터(평균, 또는 합산 등)일 수 있다. The 3D user attitude estimation apparatus extracts pixel data including depth information of each pixel in the depth image (S120). The depth image may be a two-dimensional image including a user area and a background area. In addition to the depth information to each pixel, the pixel data may be an RGB value of each pixel, an illuminance value, a depth information value, and the like. The pixel data may be one pixel data, and may be aggregate data (such as average, sum, etc.) of several pixels.

3차원 사용자 자세 추정 장치는 추출된 픽셀 데이터에 기초하여, 사용자 몸에 해당하는 픽셀 즉, 사용자 영역을 추출한다(S130). 사용자 영역은 다양한 방법에 의해 선정될 수 있다. 예를 들어, 3차원 사용자 자세 추정 장치는 각 픽셀의 깊이 정보 값의 최대 값과 최소 값 사이의 분포를 계산하고, 학습된 특정 분포 값들의 군을 사용자 영역으로 추정할 수 있다. The 3D user's posture estimation device extracts a pixel corresponding to the user's body, that is, a user area based on the extracted pixel data (S130). The user area can be selected by various methods. For example, the 3D user attitude estimation apparatus can calculate the distribution between the maximum value and the minimum value of the depth information values of each pixel, and estimate the group of the learned specific distribution values as the user region.

3차원 사용자 자세 추정 장치는 사용자 영역 내의 픽셀이 사용자 신체 내의 어느 부위의 골격 관절에 해당되는지 판단하기 위해, 사용자 영역 내의 픽셀들 각각에 대해 어느 부위의 골격 관절에 해당하는지에 대한 확률 분포 값을 계산한다(S140). 골격 관절은 예를 들어, 머리, 목, 좌우 어깨, 좌우 팔꿈치, 좌우 팔목, 좌우 엉덩이, 좌우 무릎, 좌우 발목 등을 포함할 수 있다. 확률 분포 값은 랜덤 결정 포레스트(Randomized Decision Forest, RDF)에 의거하여 계산될 수 있다. 랜덤 결정 포레스트는 다수의 이진(binary) 결정 트리를 앙상블 형태로 결합한 것으로, 각 결정 트리에서는 랜덤한 방법으로 트리들을 성장시킨다. 학습과정에서 랜덤 결정 포레스트는 랜덤한 수의 노드를 생성시키고 각 결정 트리의 노드마다 정보량 증가치(information gain)에 최적의 판별식과 임계값이 결정된다. 이렇게 생성된 T개의 이진 결정 트리들은 앙상블로 결합되어 패턴 분류의 일반화(generalization) 율을 높이는 역할을 한다. 각 트리에서 생성된 클래스별 확률 값은 분류 클래스의 수만큼의 빈을 갖는 히스토그램에 누적되어 누적 확률 히스토그램이 생성된다. The 3D user's posture estimation apparatus calculates a probability distribution value of which part of the skeleton joint corresponds to which of the pixels in the user area so as to judge which portion of the user's body the pixel in the user's region corresponds to the skeleton joint of the user's body (S140). The skeletal joints may include, for example, the head, neck, left and right shoulders, left and right elbows, left and right cuffs, left and right buttocks, left and right knees, left and right ankles and the like. The probability distribution values may be calculated based on a randomized decision forest (RDF). Random Decision Forests combine multiple binary decision trees in an ensemble fashion, and each decision tree grows the trees in a random way. In the learning process, the random decision forest generates a random number of nodes, and the optimal discriminant and the threshold value are determined for the information gain of each decision tree. The T binary decision trees thus generated are combined into an ensemble to increase the generalization rate of the pattern classification. The probability value of each class generated in each tree is accumulated in the histogram having the number of beans as many as the classification class, and a cumulative probability histogram is generated.

이러한 RDF에 기초한 확률 분포 값은 하나 이상의 결정 트리를 순회하여 리프 노드에 저장되어 있는 확률 분포 값을 합산하여 얻어질 수 있다. 결정 트리는 루트 노드(root node) 및 루트 노드로부터 1차 분류된 제1 자식 노드 및 제1 자식 노드로부터 분류된 제2 자식 노드와 같은 방식으로 여러 단계로 분류된 자식 노드들을 트리 형식으로 포함한다. 가장 하부에 위치하는 자식 노드를 리프 노드(leaf node)로 정의된다. 상위 노드에서 하부 노드로의 분리는 하나 이상의 픽셀 데이터에 기초한 특징 변수와 미리 정의된 임계 값 변수를 포함하는 노드 분리 변수에 결정된다. Such RDF-based probability distribution values can be obtained by summing probability distribution values stored in a leaf node by traversing one or more decision trees. The decision tree includes child nodes sorted in various stages in a tree format in the same manner as a root node and a first child node classified first from the root node and a second child node classified from the first child node. The child node at the bottom is defined as a leaf node. The separation from an upper node to a lower node is determined by a node separation variable including a feature variable based on one or more pixel data and a predefined threshold variable.

3차원 사용자 자세 추정 장치는 사용자 영역 내의 픽셀들 각각에 대한 확률 분포 값에 따라, 높은 확률 분포 값의 픽셀을 분류하여 골격 관절 영역을 결정한다(S150). 즉, 3차원 사용자 자세 추정 장치는 임계값을 설정하고, 사용자 영역 내의 픽셀들 각각에 대한 확률 분포 값 중에서 임계값 이상의 픽셀로부터 골격 관절 영역을 결정한다. The 3D user's posture estimation apparatus determines a skeleton joint region by classifying pixels having a high probability distribution value according to a probability distribution value for each pixel in the user region (S150). That is, the 3D user attitude estimation apparatus sets a threshold value, and determines a skeletal articulated region from pixels above a threshold value among probability distribution values for each of the pixels in the user region.

3차원 사용자 자세 추정 장치는 골격 관절 영역으로 정의된 픽셀 영역에서의 중심점(centroid)을 결정한다(S160). The 3D user's posture estimation apparatus determines a centroid in a pixel region defined as a skeleton joint region (S160).

3차원 사용자 자세 추정 장치는 골격 관절의 중심점에 따라 골격 정보를 생성하고(S170), 생성된 골격 정보로부터 사용자의 자세를 추정한다(S180). 골격 정보는 각 골격 관절의 3차원 위치 정보와 골격 관절의 연결 정보를 포함할 수 있다. The 3D user's posture estimation apparatus generates skeleton information according to the center point of the skeleton joint (S170), and estimates the user's posture from the skeleton information generated (S180). The skeleton information may include three-dimensional position information of each skeletal joint and connection information of the skeletal joints.

이와 같이, 3차원 사용자 자세 추정 장치는 사용자 영역 내의 픽셀에 대해서만 RDF를 이용하여 확률 분포 값을 계산하므로, 깊이 영상의 모든 픽셀에 대해 RDF를 이용하여 골격 정보를 추출하는 방식에 비해 연산량을 줄일 수 있다. As described above, since the 3D user's posture estimation apparatus calculates the probability distribution value using RDF only for the pixels in the user area, the calculation amount can be reduced compared with the method of extracting the skeleton information using RDF for all the pixels of the depth image have.

도 2는 본 발명의 실시 예에 따른 각 픽셀의 확률 분포 값 계산 방법을 나타낸 흐름도이고, 도 3은 본 발명의 실시 예에 따른 각 픽셀의 확률 분포 값 계산을 위한 결정 트리의 일 예를 나타낸 도면이다. 도 2 및 도 3에서는 깊이 영상 I의 픽셀 x를 기준으로 설명하며, RDF의 결정 트리는 T개라고 가정한다. FIG. 2 is a flowchart illustrating a method of calculating a probability distribution value of each pixel according to an embodiment of the present invention. FIG. 3 is a diagram illustrating an example of a decision tree for calculating a probability distribution value of each pixel according to an embodiment of the present invention. to be. In FIGS. 2 and 3, the pixel x of the depth image I is described based on the assumption that the number of decision trees of the RDF is T. FIG.

도 2 및 도 3을 참고하면, 3차원 사용자 자세 추정 장치는 픽셀 x에 대하여 결정 트리 t(t=1)에서 루트 노드부터 수학식 1과 같은 약-분류 규칙(weak classification rule)을 만족하는지 판단한다(S200~S220). Referring to FIG. 2 and FIG. 3, the 3D user attitude estimation apparatus determines whether or not a weak classification rule such as Equation (1) is satisfied from a root node in a decision tree t (t = 1) (S200 to S220).

Figure pat00001
Figure pat00001

수학식 1에서, θ는 특징 변수(feature parameter)이고, τ는 임계값 변수이다. In Equation (1),? Is a feature parameter and? Is a threshold variable.

특징 변수로는 수학식 2와 같이 간단한 깊이 비교 특징을 사용할 수 있다. As a feature variable, a simple depth comparison feature can be used as shown in Equation (2).

Figure pat00002
Figure pat00002

여기서, θ=(u, v)는 두 옵셋(offset) 벡터로 이루어진 특징 변수를 의미한다. Here, θ = (u, v) denotes a feature variable consisting of two offset vectors.

약-분류 규칙에 따르면, 픽셀 x가 f(x;θ)≥τ을 만족하면, 1을 출력하고, 그렇지 않으면 0을 출력한다. According to the weak-classification rule, if pixel x satisfies f (x;?)??, It outputs 1, otherwise it outputs 0.

3차원 사용자 자세 추정 장치는 0이 출력되면 현재 노드에서 좌측 자식 노드로 이동하고(S230), 1이 출력되면 우측 자식 노드로 이동한다(S240). When 0 is output, the 3D user's posture estimating apparatus moves from the current node to the left child node (S230). When 1 is output, the 3D user's posture estimating apparatus moves to the right child node (S240).

3차원 사용자 자세 추정 장치는 이동한 노드가 리프 노드인지 확인하고(S250), 이동한 노드가 리프 노드가 아닌 경우 해당 노드에서 수학식 1과 같은 약-분류 규칙(weak classification rule)을 만족하는지 판단한다(S220). The 3D user's posture estimation device determines whether the moved node is a leaf node (S250). If the moved node is not a leaf node, it determines whether a weak classification rule such as Equation (1) (S220).

3차원 사용자 자세 추정 장치는 리프 노드에 도달할 때까지 단계(S220~S250)를 반복한다. The 3D user attitude estimation apparatus repeats steps S220 to S250 until it reaches the leaf node.

3차원 사용자 자세 추정 장치는 리프 노드에 도달하면, 결정 트리 t에서 리프 노드의 확률 분포 값을 획득한다(S260). When reaching the leaf node, the 3D user attitude estimation apparatus obtains the probability distribution value of the leaf node in the decision tree t (S260).

3차원 사용자 자세 추정 장치는 t가 T인지 확인하고(S270), t가 T가 아니면, t를 1 증가시켜서(S280), 다른 결정 트리 t(t=2)에서 단계를 수행하여 리프 노드의 확률 분포 값을 획득한다(S210~S260). 여기서, t가 T인지 확인하는 것은 픽셀 x에 대하여 모든 결정 트리를 순회하였는지 판단하기 위함이다.The three-dimensional user attitude estimation device checks whether t is T (S270). If t is not T, t is incremented by 1 (S280), and the step is performed in another decision tree t (t = 2) And obtains the distribution value (S210 to S260). Here, to confirm whether t is T is to judge whether all the decision trees have been traversed with respect to the pixel x.

이와 같이, 3차원 사용자 자세 추정 장치는 모든 결정 트리 각각에서 루트 노드에서부터 시작하여 리프 노드에 도달할 때까지 수학식 1과 같은 약-분류 규칙(weak classification rule)을 각각의 노드에 대해 반복 적용하여 모든 결정 트리를 순회(traverse)함으로써, 모든 결정 트리에서 리프 노드의 확률 분포 값을 획득한다. As described above, the 3D user attitude estimation apparatus repeatedly applies a weak classification rule as shown in Equation (1) to each node starting from the root node in each decision tree until reaching the leaf node By traversing all decision trees, we obtain the probability distribution values of the leaf nodes in all decision trees.

도 3에 도시한 바와 같이, 결정 트리 t의 각 리프 노드는 관절 클래스들에 대한 이산 확률 분포(discrete probability distribution) 값을 가진다. 따라서 픽셀 x가 하나의 리프 노드에 도달하면, 관절 클래스들에 대한 이산 확률 분포 값인 Pt(c|I,x)를 획득할 수 있다. As shown in Fig. 3, each leaf node of the decision tree t has a discrete probability distribution value for the joint classes. Thus, if pixel x reaches one leaf node, we can obtain the discrete probability distribution value P t (c | I, x) for the joint classes.

3차원 사용자 자세 추정 장치는 픽셀 x에 대하여 RDF의 모든 결정 트리에서 확률 분포 값을 획득하고 나면, 이들의 값을 합산하여 수학식 3과 같이 최종 이산 확률 분포 값을 계산한다(S290). After obtaining the probability distribution values in all the decision trees of the RDF with respect to the pixel x, the 3D user attitude estimation apparatus sums the values of the probability distribution values and calculates the final discrete probability distribution value as shown in Equation 3 (S290).

Figure pat00003
Figure pat00003

여기서, T는 RDF의 결정 트리의 수이고, c는 신체 내의 골격 관절을 나타낸다. Where T is the number of decision trees in the RDF and c is the skeletal joint in the body.

학습 데이터들로부터 추출된 특징벡터의 훈련과정을 통해 T개의 결정 트리를 갖는 RDF가 생성된다. RDF는 복수 개의 상태를 나타내는 골격 클래스들로 분류되도록 학습된다. RDF with T decision trees is generated through training of feature vectors extracted from the training data. The RDF is learned to be classified into skeleton classes representing a plurality of states.

RDF를 학습하는 알고리즘은 공지된 기술로서, 간단하게 설명하면 다음과 같다. 각각의 결정 트리에 대해서 기존 학습 영상 데이터에서 교체를 포함하여(with replacement) 균일하게(uniformly) 샘플링하여 새로운 학습 영상 데이터를 구성한다. 이러한 새로운 학습 데이터를 사용하여 특정한 정지 조건(stopping criteria)이 만족될 때까지 다음의 단계 a~e를 재귀적으로(recursively) 적용하여 트리를 확장시킨다. The algorithm for learning the RDF is a well-known technique and will be briefly described as follows. For each decision tree, new learning image data is constructed by sampling with uniform replacement of existing learning image data with replacement. Using this new learning data, we extend the tree by recursively applying the following steps a to e until certain stopping criteria are satisfied.

a. 특징 변수 θ와 문턱치 변수 τ로 구성된 노드 분리 변수 φ=(θ, τ)의 집합을 랜덤하게 생성한다. a. We randomly generate a set of node separation variables φ = (θ, τ) consisting of a feature variable θ and a threshold variable τ.

b. 각각의 분리 변수 φ에 대하여 학습 데이터 Q={(I, x)}를 수학식 4와 같이 좌/우 집합으로 분리한다. b. For each separation variable φ, the learning data Q = {(I, x)} is divided into a left / right set as shown in equation (4).

Figure pat00004
Figure pat00004

c. 노드 분리 변수에 대응하는 좌/우 집합에 대하여 수학식 5와 같이 정보량 증가치(information gain)를 계산한다. c. The information gain is calculated as shown in Equation (5) for the left / right set corresponding to the node separation variable.

Figure pat00005
Figure pat00005

여기에서, H(Q)는 집합 Q의 정규화된 히스토그램 PQ의 샤논(Shannon) 엔트로피를 나타낸다.Here, H (Q) represents the Shannon entropy of the normalized histogram PQ of the set Q.

d. 수학식 6과 같이 최대 정보량 증가치를 가지는 노드 분리 변수를 선택하고 선택한 노드 분리 변수를 현재 노드에 할당한다. d. As shown in Equation (6), a node separation variable having the maximum amount of information increase is selected and the selected node separation parameter is assigned to the current node.

Figure pat00006
Figure pat00006

e. 만약 최대 정보량 증가치가 사전에 정의된 임계값보다 작거나 결정 트리에서의 현재 노드에 대한 깊이가 최대값에 도달하였다면 알고리즘을 중단하고 결정 트리를 반환한다. 그렇지 않다면 위의 단계 a~d를 좌/우 노드에 재귀적으로 적용한다. 이와 같이 함으로써, RDF가 학습될 수 있다.e. If the maximum amount of information increase is less than the predefined threshold, or if the depth for the current node in the decision tree reaches the maximum value, the algorithm is aborted and the decision tree is returned. Otherwise, apply steps a to d recursively to the left / right node. In this way, RDF can be learned.

다음으로, 3차원 사용자 자세 추정 장치의 전체적인 연산량을 줄일 수 있는 3차원 사용자 자세 추정 방법에 대하여 도 4 내지 도 9를 참고로 하여 자세하게 설명한다. Next, a three-dimensional user attitude estimation method capable of reducing the overall amount of computation of the three-dimensional user attitude estimation apparatus will be described in detail with reference to FIG. 4 to FIG.

도 4는 본 발명의 제2 실시 예에 따른 3차원 사용자 자세 추정 방법을 나타낸 흐름도이고, 도 5는 본 발명의 제2 실시 예에 따른 3차원 사용자 자세 추정 방법을 설명하기 위한 도면이다. FIG. 4 is a flowchart illustrating a 3D user attitude estimation method according to a second embodiment of the present invention, and FIG. 5 is a diagram for explaining a 3D user attitude estimation method according to a second embodiment of the present invention.

도 4를 참고하면, 3차원 사용자 자세 추정 장치는 깊이 영상을 수신하면(S400), 수신한 깊이 영상으로부터 다중스케일의 깊이 영상을 생성한다(S410). 수신한 깊이 영상 즉, 원 영상이 최대 레벨의 영상이며, 원 영상보다 낮은 레벨의 깊이 영상이 생성될 수 있다. 즉, 3차원 사용자 자세 추정 장치는 주파수의 크기에 따라서 원 영상을 레벨별로 구분한다. 낮은 레벨일수록 주파수가 낮으며 레벨이 높을수록 주파수가 높다. 주파수는 해상도에 대응될 수 있다. 따라서 스케일은 영상의 픽셀 수를 나타낼 수 있다. 다중스케일의 영상 수는 임의적으로 설정이 가능하다. Referring to FIG. 4, the 3D user attitude estimation apparatus receives a depth image (S400), and generates a multi-scale depth image from the received depth image (S410). The received depth image, that is, the original image is the maximum level image, and a depth image of a lower level than the original image can be generated. That is, the 3D user attitude estimation apparatus classifies the original image according to the level of frequency. The lower the level, the lower the frequency. The higher the level, the higher the frequency. The frequency may correspond to the resolution. Thus, the scale can represent the number of pixels of the image. The number of multi-scale images can be arbitrarily set.

3차원 사용자 자세 추정 장치는 다중스케일의 깊이 영상 중 가장 낮은 레벨의 깊이 영상을 이용하여 도 1에서 설명한 단계(S120~S160)를 수행하여 골격 관절 영역에서의 중심점을 결정한다(S420). The 3D user's posture estimation apparatus determines the center point in the skeleton joint region by performing the steps S120 to S160 described in FIG. 1 using the depth image of the lowest level among the multiple-scale depth images (S420).

3차원 사용자 자세 추정 장치는 가장 낮은 레벨의 깊이 영상으로부터 결정된 골격 관절 영역에서의 중심점을 다음 레벨의 깊이 영상에서의 시작점으로 설정하고(S430), 시작점으로부터 일정 거리만큼의 영역을 설정하고(S440), 설정된 영역 내의 픽셀에 대해서만 RDF를 이용하여 골격 관절 영역에서의 중심점을 결정한다(S450). The 3D user's posture estimation apparatus sets the center point in the skeleton joint region determined from the lowest level depth image as a starting point in the depth image of the next level in step S430, sets an area of a certain distance from the starting point in step S440, , The center point in the skeleton joint region is determined using the RDF only for the pixels within the set region (S450).

이러한 방법으로, 3차원 사용자 자세 추정 장치는 마지막 레벨의 깊이 영상을 이용하여 골격 관절 영역에서의 중심점을 결정한다(S460). 마지막 레벨의 깊이 영상은 원 영상이 될 수 있으나, 그렇지 않을 수도 이다. In this way, the 3D user's posture estimation apparatus determines the center point in the skeleton joint region using the depth image of the last level (S460). The depth image of the last level may be the original image, but it may not.

마지막 레벨의 깊이 영상을 이용하여 각 골격 관절 영역에서의 중심점이 결정되면, 3차원 사용자 자세 추정 장치는 골격 관절의 중심점에 따라 골격 정보를 생성하고(S470), 생성된 골격 정보로부터 사용자의 자세를 추정한다(S480).When the center point of each skeletal joint region is determined using the depth image of the last level, the 3D user posture estimation apparatus generates skeleton information according to the center point of the skeleton joint (S470) (S480).

예를 들어, 도 5에 도시한 바와 같이, 다중스케일의 깊이 영상이 (a), (c) 및 (e)와 같다고 가정한다. 3차원 사용자 자세 추정 장치는 가장 낮은 레벨(scale 0)의 깊이 영상을 이용하여 도 5의 (b)와 같이 골격 관절 영역에서의 중심점을 결정한다. 다음, 3차원 사용자 자세 추정 장치는 도 5의 (d)와 같이 가장 낮은 레벨(scale 0)의 깊이 영상에서 결정된 골격 관절 영역의 중심점을 다음 레벨(scale 1)의 깊이 영상에서 시작점으로 설정하고, 시작점으로부터 일정 거리만큼의 영역을 설정하고, 설정된 영역 내의 픽셀에 대해서만 RDF를 이용하여 골격 관절 영역에서의 중심점을 결정한다. 이와 같은 방법으로 3차원 사용자 자세 추정 장치는 도 5의 (f)와 같이 마지막 레벨(scale 2)의 깊이 영상에서 골격 관절 영역의 중심점을 결정할 수 있다. For example, as shown in FIG. 5, it is assumed that a multi-scale depth image is as shown in (a), (c), and (e). The 3D user's posture estimation apparatus determines a center point in the skeletal articulated region as shown in FIG. 5 (b) using the depth image of the lowest level (scale 0). Next, the 3D user's posture estimation apparatus sets the center point of the skeleton joint region determined in the depth image of the lowest level (scale 0) as the start point in the depth image of the next level (scale 1) as shown in (d) An area of a certain distance from the starting point is set, and a center point in the skeletal articulated region is determined using RDF only for pixels in the set area. In this way, the 3D user's posture estimation apparatus can determine the center point of the skeleton joint region in the depth image of the last level (scale 2) as shown in FIG. 5 (f).

이렇게 하면, 본 발명의 제1 실시 예와 같이 사용자 영역의 모든 픽셀에 대해 RDF를 이용하는 방법에 비해 연산량을 줄일 수 있다. In this manner, the amount of computation can be reduced as compared with the method using RDF for all pixels in the user area as in the first embodiment of the present invention.

즉, 본 발명의 제2 실시 예에 따른 3차원 사용자 자세 추정 방법은 저해상도에서 적은 수의 픽셀에 대하여 RDF를 이용하여 각 골격 관절 영역에서 대략적으로 중심점을 찾고, 중심점으로부터 일정 영역에 있는 픽셀에 대해서만 고해상도의 영상에서 RDF를 이용하여 세밀하게 중심점을 찾는 방법으로서, 분석 신뢰도의 변동 없이, RDF를 사용는 픽셀의 수를 줄일 수 있어 연산 효율을 증대할 수 있다. In other words, the 3D user posture estimation method according to the second embodiment of the present invention finds a center point in each skeletal joint region using a RDF for a small number of pixels at a low resolution, As a method of finding the center point using RDF in a high resolution image, it is possible to reduce the number of pixels using RDF without increasing the reliability of the analysis, thereby increasing the computation efficiency.

골격 관절 추출에서 RDF의 역할은 입력 깊이 영상의 각각의 픽셀에 대해 특정한 골격 관절에 대응하는 확률 분포 값을 계산하는 것이다. 특정한 골격 관절에 대응하는 확률 분포 값은 각각의 결정 트리를 순회하여 리프 노드에 저장되어 있는 확률 분포 값을 합산함으로써 얻어진다. 이러한 확률 분포 값은 골격 관절별 확률 밀도 함수에 대한 3차원 점 각각의 공헌도를 의미한다. 이때 작은 공헌도를 가지는 점들을 무시함으로써 골격 관절 추출을 위한 연산량을 줄일 수 있다. 이러한 실시 예에 대하여 도 6을 참고로 하여 설명한다. The role of RDF in skeletal joint extraction is to calculate a probability distribution value corresponding to a particular skeletal joint for each pixel of the input depth image. A probability distribution value corresponding to a specific skeleton joint is obtained by summing the probability distribution values stored in the leaf node by traversing each decision tree. This probability distribution value represents the contribution of each of the three-dimensional points to the probability density function of skeletal joints. At this time, the amount of computation for skeletal joint extraction can be reduced by ignoring points with small contribution. This embodiment will be described with reference to Fig.

도 6은 본 발명의 제3 실시 예에 따른 3차원 사용자 자세 추정 방법을 나타낸 흐름도이고, 도 7은 본 발명의 실시 예에 따른 각 픽셀의 확률 분포 값 계산을 위한 결정 트리의 일 예를 나타낸 도면이다. 도 6 및 도 7에서도 깊이 영상 I의 픽셀 x를 기준으로 설명하며, RDF의 결정 트리는 T개라고 가정한다. FIG. 6 is a flowchart illustrating a 3D user orientation estimation method according to a third embodiment of the present invention. FIG. 7 is a diagram illustrating an example of a decision tree for calculating a probability distribution value of each pixel according to an embodiment of the present invention. to be. 6 and 7, it is assumed that the pixel x of the depth image I is used as a reference, and that the number of decision trees of the RDF is T. FIG.

3차원 사용자 자세 추정 장치는 사용자 영역 내의 픽셀들 각각에 대해 확률 분포 값을 계산하는데, 도 2에서 설명한 방법은 각 픽셀에 대하여 루트 노드에서부터 시작하여 리프 노드에 도달할 때까지 약-분류 규칙에 따라서 분류하여 리프 노드의 확률 분포 값을 획득하고, 이러한 과정을 모든 결정 트리에서 수행하게 된다. The three-dimensional user attitude estimation apparatus calculates a probability distribution value for each of the pixels in the user area. The method described in Fig. 2 is performed for each pixel in accordance with the weak-classification rule starting from the root node until reaching the leaf node The probability distribution values of the leaf nodes are obtained, and this process is performed in all decision trees.

도 6을 참고하면, 3차원 사용자 자세 추정 장치는 픽셀 x에 대하여 결정 트리 t(t=1)에서부터 사용자 영역 내의 픽셀들 각각에 대해, 해당 결정 트리에서 어느 한 노드에 도달하면(S600~S602), 현재 노드에서의 확률 분포 값과 임계값 ρnode과 비교한다(S604). 6, when the three-dimensional user attitude estimation apparatus reaches one of the nodes in the decision tree from the decision tree t (t = 1) to the pixels in the user area with respect to the pixel x (S600 to S602) , And compares the probability distribution value at the current node with the threshold value p node (S604).

3차원 사용자 자세 추정 장치는 노드에서의 확률 분포 값이 임계값 ρnode보다 작으면, 더 이상 분류하지 않지 않고 해당 결정 트리에서의 확률 분포 값을 0으로 반환한다(S606). 예를 들어, 도 7에 도시한 바와 같이, 픽셀 x에 대하여 결정 트리 t에서 노드 n의 확률 분포 값 Pt n(c)=ρ라고 가정한다. 3차원 사용자 자세 추정 장치는 ρ가 임계값 ρnode보다 작다면, 결정 트리를 더 이상 진행시키지 않고 0의 확률 분포 값을 반환한다. If the probability distribution value at the node is smaller than the threshold value ρ node , the 3D user attitude estimation device does not classify it any more and returns the probability distribution value in the decision tree as 0 (S606). For example, it is assumed that the probability distribution of values of n nodes in a decision tree with respect to t P t n pixels x (c) = ρ as shown in Fig. The three-dimensional user attitude estimation apparatus returns a probability distribution value of 0 without further progressing the decision tree if? Is smaller than the threshold value? Node .

이를 위해서는 우선 결정 트리의 각각의 노드에 대한 예비(auxiliary) 확률 분포 값이 정의되어야 한다. 결정 트리의 각 노드에 대한 예비 확률 분포 값은 수학식 7과 같이 재귀적으로 정의될 수 있다. To do this, an auxiliary probability distribution value for each node of the decision tree must first be defined. The preliminary probability distribution value for each node of the decision tree can be recursively defined as shown in Equation (7).

Figure pat00007
Figure pat00007

여기서, Pt n은 결정 트리 t의 각각의 노드 n에 대한 예비 확률 분포 벡터를 나타내고, Pt는 결정 트리 t에서 리프 노드에 저장되어 있는 확률 분포를 나타낸다. Pt l과 Pt r은 각각 노드 n의 두 자식 노드에 대한 예비 확률 벡터를 나타낸다. Where P t n represents the preliminary probability distribution vector for each node n of the decision tree t and P t represents the probability distribution stored at the leaf node in the decision tree t. P t l and P t r denote the preliminary probability vectors for the two child nodes of node n, respectively.

한편, 3차원 사용자 자세 추정 장치는 현재 노드에서의 확률 분포 값이 임계값 ρnode을 초과하면, 약-분류 규칙을 만족하는지 판단한다(S608). Meanwhile, if the probability distribution value at the current node exceeds the threshold value? Node , the 3D user attitude estimation apparatus determines whether the weak-classification rule is satisfied (S608).

3차원 사용자 자세 추정 장치는 약-분류 규칙에 의해 0이 출력되면 현재 노드에서 좌측 자식 노드로 이동하고(S610), 1이 출력되면 우측 자식 노드로 이동한다(S612). If the 3-dimensional user attitude estimation apparatus outputs 0 according to the weak-classification rule, the current node moves from the current node to the left child node (S610), and when 1 is output, moves to the right child node (S612).

3차원 사용자 자세 추정 장치는 이동한 노드가 리프 노드인지 확인하고(S614), 리프 노드에 도달할 때까지 단계(S604~S612)를 반복한다. The 3D user's posture estimation apparatus confirms whether the moved node is a leaf node (S614), and repeats the steps (S604 to S612) until reaching the leaf node.

3차원 사용자 자세 추정 장치는 리프 노드에 도달하면(S614), 결정 트리 t에서 리프 노드의 확률 분포 값을 획득한다(S616). When reaching the leaf node (S614), the 3D user's posture estimation apparatus obtains the probability distribution value of the leaf node in the decision tree t (S616).

3차원 사용자 자세 추정 장치는 t가 T인지 확인하고(S618), t가 T가 아니면, t를 1 증가시켜서(S620), 다른 결정 트리 t(t=2)에서 단계를 수행하여 리프 노드의 확률 분포 값을 획득한다(S602~S614).The three-dimensional user attitude estimation apparatus determines whether t is T in step S618. If t is not T, t is incremented by one in step S620, and the step is performed in another decision tree t (t = 2) And obtains the distribution value (S602 to S614).

3차원 사용자 자세 추정 장치는 픽셀 x에 대하여 RDF의 모든 결정 트리에서 확률 분포 값을 획득하고 나면, 이들의 값을 합산하여 수학식 3과 같이 최종 확률 분포 값을 계산한다(S622). After obtaining the probability distribution values in all decision trees of the RDF with respect to the pixel x, the 3D user attitude estimation apparatus sums the values of the probability distribution values and calculates a final probability distribution value as shown in Equation 3 (S622).

이와 같이, 3차원 사용자 자세 추정 장치는 모든 결정 트리에서 리프 노드의 확률 분포 값을 얻는 것이 아니라 높은 확률 분포 값의 노드에서만 리프 노드의 확률 분포 값을 획득함으로써, 골격 관절 추출을 위한 연산량을 줄일 수 있다. As described above, the 3D user attitude estimation apparatus obtains the probability distribution value of the leaf node only at the node having the high probability distribution value, rather than obtaining the probability distribution value of the leaf node in all decision trees, thereby reducing the calculation amount for the skeleton joint extraction have.

도 8은 본 발명의 제4 실시 예에 따른 3차원 사용자 자세 추정 방법을 나타낸 흐름도이다. 8 is a flowchart illustrating a 3D user attitude estimation method according to a fourth embodiment of the present invention.

도 8을 참고하면, 3차원 사용자 자세 추정 장치는 RDF의 결정 트리 외에 관절 또는 비관절 클래스로 분류하는 거절 트리(rejection tree)를 추가적으로 이용한다. 모든 골격 관절 클래스를 하나의 관절 클래스로 정의하고, 거절 트리는 입력되는 픽셀에 대하여 관절 또는 비관절 클래스로 분류한다. 거절 트리는 RDF를 위해 도입된 학습 데이터에서 모든 골격 관절 클래스를 하나의 관절 클래스로 결합하여 사용함으로써 학습이 가능하다. Referring to FIG. 8, the 3D user's posture estimation apparatus additionally uses a rejection tree to classify the decision tree of the RDF into a joint or non-joint class. All skeletal joint classes are defined as one joint class, and rejection trees are classified as joint or non-joint classes for the input pixels. The rejection tree can be learned by combining all the skeletal joint classes into one joint class from the learning data introduced for RDF.

3차원 사용자 자세 추정 장치는 RDF 전에 거절 트리를 RDF의 도입 트리로 사용한다. 3차원 사용자 자세 추정 장치는 수신되는 깊이 영상의 사용자 영역 내의 각 픽셀에 대하여 거절 트리에서 리프 노드의 확률 분포 값을 획득하고, 거절 트리에서 리프 노드의 확률 분포 값을 미리 설정한 임계 값 ρtree과 비교한다. The 3D user attitude estimation device uses the rejection tree as an introduction tree of RDF before RDF. 3D user posture estimating device and a received a probability value of a leaf node in the rejection tree for each pixel in the user area of a depth image that is received, and the pre-set probability value of a leaf node in the rejection tree threshold ρ tree Compare.

3차원 사용자 자세 추정 장치는 거절 트리에서 리프 노드의 확률 분포 값이 임계 값 ρtree보다 큰 경우에는 RDF를 진행한다. The 3D user attitude estimation apparatus proceeds RDF when the probability distribution value of the leaf node in the rejection tree is larger than the threshold value ρ tree .

한편, 3차원 사용자 자세 추정 장치는 거절 트리에서 리프 노드의 확률 분포 값이 임계 값 ρtree 이하이면, 0의 확률 분포 값을 반환한다. On the other hand, if the probability distribution value of the leaf node in the rejection tree is equal to or less than the threshold value ρ tree , the 3D user posture estimation apparatus returns a probability distribution value of 0.

예를 들어, 거절 트리의 확률 분포 값을 P0(c|I,x)라고 가정하면, 3차원 사용자 자세 추정 장치는 P0(c|I,x)가 임계 값 ρtree보다 클 때에만 해당 픽셀에 대하여 RDF를 이용하여 최종 확률 분포 값을 계산한다. For example, the probability distribution of values of the rejection tree P 0 | assuming that (c I, x), 3-D user posture estimation apparatus P 0 | only if (c I, x) is larger than the threshold value ρ tree that The final probability distribution value is calculated using RDF for the pixel.

골격 관절 포인트로부터 멀리 떨어져 있는 많은 픽셀들에 대해서 거절 트리의 확률 분포 값은 추가적인 RDF 계산에 있어서 무시해도 될 정도로 작은 값을 가진다. 따라서, 3차원 사용자 자세 추정 장치는 골격 관절 포인트로부터 멀리 떨어져 있는 많은 픽셀에 대해서는 RDF를 수행하지 않도록 함으로써, 골격 관절 추출을 위한 연산량을 줄일 수 있다. For many pixels far from the skeletal joint point, the probability distribution value of the rejection tree is small enough to be negligible in the additional RDF calculation. Therefore, the 3D user attitude estimation device does not perform RDF for many pixels far from the skeletal articulation point, thereby reducing the amount of computation for skeletal articulation extraction.

이와 같이 골격 관절 추출을 위한 연산량을 줄임으로써, 고가의 GPU 혹은 멀티-코어 CPU 없이 싱글-코어 CPU로도 빠르게 골격 관절 추출이 가능해진다. By reducing the amount of computation required to extract skeletal joints, skeletal joint extraction can be performed quickly with a single-core CPU without expensive GPUs or multi-core CPUs.

도 9는 본 발명의 실시 예에 따른 3차원 사용자 자세 추정 장치를 나타낸 도면이다. 9 is a diagram illustrating a 3D user orientation estimation apparatus according to an embodiment of the present invention.

도 9를 참고하면, 3차원 사용자 자세 추정 장치(900)은 사용자 영역 추출부(910), RDF 분류부(920), 중심점 결정부(930) 및 골격 정보 생성부(940)을 포함한다. 9, the 3D user orientation estimation apparatus 900 includes a user region extraction unit 910, an RDF classification unit 920, a center point determination unit 930, and a skeleton information generation unit 940.

사용자 영역 추출부(910)는 깊이 정보 장치에 의해 측정된 깊이 영상을 수신하면, 깊이 영상 내의 각 픽셀의 깊이 정보 값을 포함하는 픽셀 데이터를 추출하고, 출된 픽셀 데이터에 기초하여, 사용자 몸에 해당하는 픽셀 즉, 사용자 영역을 추출한다. Upon receiving the depth image measured by the depth information device, the user area extracting unit 910 extracts pixel data including the depth information value of each pixel in the depth image, and based on the extracted pixel data, That is, a user area.

RDF 분류부(920)는 사용자 영역 내의 픽셀들 각각에 대해 RDF를 이용하여 어느 부위의 골격 관절에 해당하는지에 대한 확률 분포 값을 계산한다. RDF 분류부(920)는 도 2 또는 도 6을 토대로 설명한 방법을 이용하여 각 픽셀에 대하여 확률 분포 값을 계산할 수 있다. 또한 RDF 분류부(920)는 도 8에서 설명한 바와 같이 RDF 전에 거절 트리를 이용할 수 있다. The RDF classification unit 920 calculates a probability distribution value of which part of the skeletal joint corresponds to each pixel in the user area using RDF. The RDF classification unit 920 can calculate a probability distribution value for each pixel using the method described with reference to FIG. 2 or FIG. The RDF classification unit 920 may use a reject tree before RDF as described in FIG.

중심점 결정부(930)는 사용자 영역 내의 픽셀들 각각에 대한 확률 분포 값에 따라, 높은 확률 분포 값의 픽셀을 분류하여 골격 관절 영역을 결정하고, 골격 관절 영역으로 정의된 픽셀 영역에서의 중심점을 결정한다. The center point determining unit 930 determines a skeleton joint region by classifying pixels having a high probability distribution value according to a probability distribution value for each pixel in the user region and determines a center point in a pixel region defined as a skeleton joint region do.

RDF 분류부(920) 및 중심점 결정부(930)는 도 4에서 설명한 방법을 수행하도록 동작할 수 있다. The RDF classification unit 920 and the center point determination unit 930 can operate to perform the method described in FIG.

골격 정보 생성부(940)는 골격 관절의 중심점에 따라 골격 정보를 생성하고, 생성된 골격 정보로부터 사용자의 자세를 추정한다.The skeleton information generation unit 940 generates skeleton information according to the center point of the skeleton joint, and estimates the posture of the user from the skeleton information generated.

이상에서 설명한 본 발명의 실시 예에 따른 3차원 사용자 자세 추정 장치 및 방법 중 적어도 일부 기능은 하드웨어로 구현되거나 하드웨어에 결합된 소프트웨어로 구현될 수 있다. 아래에서는 3차원 사용자 자세 추정 장치 및 방법이 컴퓨터 시스템에 결합된 실시 예에 대해서 도 10을 참고로 하여 상세하게 설명한다. At least some of the three-dimensional user attitude estimation apparatus and method according to the above-described embodiments of the present invention can be implemented in hardware or software combined with hardware. An embodiment in which a three-dimensional user attitude estimation apparatus and method are combined into a computer system will be described in detail with reference to FIG.

도 10은 본 발명의 다른 실시 예에 따른 3차원 사용자 자세 추정 장치의 개략적인 도면으로, 도 1 내지 도 9를 참고하여 설명한 사용자 영역 추출부(910), RDF 분류부(920), 중심점 결정부(930) 및 골격 정보 생성부(940)의 기능 중 적어도 일부를 수행하는 데 사용할 수 있는 시스템을 나타낸다. FIG. 10 is a schematic diagram of a 3D user's posture estimating apparatus according to another embodiment of the present invention. The user region extracting unit 910, the RDF classifying unit 920, (930) and skeleton information generation unit (940).

도 10을 참고하면, 3차원 사용자 자세 추정 장치(1000)는 프로세서(1010), 메모리(1020), 저장 장치(1030), 입출력(input/output, I/O) 인터페이스(1040) 및 네트워크 인터페이스(1050)를 포함한다.10, the 3D user attitude estimation apparatus 1000 includes a processor 1010, a memory 1020, a storage device 1030, an input / output (I / O) interface 1040, and a network interface 1050).

프로세서(1010)는 중앙 처리 유닛(central processing unit, CPU)이나 기타 칩셋, 마이크로프로세서 등으로 구현될 수 있으며, 메모리(1020)는 동적 랜덤 액세스 메모리(dynamic random access memory, DRAM), 램버스 DRAM(rambus DRAM, RDRAM), 동기식 DRAM(synchronous DRAM, SDRAM), 정적 RAM(static RAM, SRAM) 등의 RAM과 같은 매체로 구현될 수 있다. 저장 장치(1030)는 하드 디스크 (hard disk), CD-ROM(compact disk read only memory), CD-RW(CD rewritable), DVD-ROM(digital video disk ROM), DVD-RAM, DVD-RW 디스크, 블루레이(blu-ray) 디스크 등의 광학 디스크, 플래시 메모리, 다양한 형태의 RAM과 같은 영구 또는 휘발성 저장 장치로 구현될 수 있다. 또한 I/O 인터페이스(1040)는 프로세서(1010) 및/또는 메모리(1020)가 저장 장치(1030)에 접근할 수 있도록 하며, 네트워크 인터페이스(1050)는 프로세서(1010) 및/또는 메모리(1020)가 네트워크에 접근할 수 있도록 한다.The processor 1010 may be implemented as a central processing unit (CPU) or other chipset, microprocessor, and the like, and the memory 1020 may be a dynamic random access memory (DRAM), a Rambus DRAM DRAM, RDRAM), synchronous DRAM (synchronous DRAM, SDRAM), static RAM (SRAM), and the like. The storage device 1030 may be a hard disk, a compact disk read only memory (CD-ROM), a compact disk rewritable (CD-RW), a digital video disk ROM, , An optical disk such as a blu-ray disk, a flash memory, various types of RAM, or a permanent or volatile storage device. The I / O interface 1040 also allows the processor 1010 and / or the memory 1020 to access the storage device 1030 and the network interface 1050 can be coupled to the processor 1010 and / To access the network.

이 경우, 프로세서(1010)는 사용자 영역 추출부(910), RDF 분류부(920), 중심점 결정부(930) 및 골격 정보 생성부(940)의 기능의 적어도 일부 기능을 구현하기 위한 프로그램 명령을 메모리(1020)에 로드하고 RDF의 결정 트리 및 거절 트리를 저장 장치(1030)에 위치시켜, 도 1 내지 도 9를 참고로 하여 설명한 동작이 수행되도록 제어할 수 있다. 그리고 프로그램 명령은 저장 장치(1030)에 저장되어 있을 수 있으며, 또는 네트워크로 연결되어 있는 다른 시스템에 저장되어 있을 수 있다.In this case, the processor 1010 generates a program instruction for implementing at least some functions of the functions of the user region extracting unit 910, the RDF classifying unit 920, the center point determining unit 930, and the skeleton information generating unit 940 May be loaded into the memory 1020 and the decision tree and the refusal tree of the RDF may be placed in the storage device 1030 to control the operations described with reference to Figures 1-9 to be performed. The program command may be stored in the storage device 1030 or may be stored in another system connected to the network.

도 10에 도시한 프로세서(1010), 메모리(1020), 저장 장치(1030), I/O 인터페이스(1040) 및 네트워크 인터페이스(1050)는 하나의 컴퓨터에 구현될 수도 있으며 또는 복수의 컴퓨터에 분산되어 구현될 수도 있다.The processor 1010, the memory 1020, the storage device 1030, the I / O interface 1040, and the network interface 1050 shown in FIG. 10 may be implemented in one computer or distributed in a plurality of computers .

본 발명의 실시 예는 이상에서 설명한 장치 및/또는 방법을 통해서만 구현되는 것은 아니며, 본 발명의 실시 예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시 예의 기재로부터 본 발명이 속하는 기술 분야의 전문가라면 쉽게 구현할 수 있는 것이다. The embodiments of the present invention are not limited to the above-described apparatuses and / or methods, but may be implemented through a program for realizing functions corresponding to the configuration of the embodiment of the present invention or a recording medium on which the program is recorded, Such an embodiment can be readily implemented by those skilled in the art from the description of the embodiments described above.

이상에서 본 발명의 실시 예에 대하여 상세하게 설명하였지만 본 발명의 권리 범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리 범위에 속하는 것이다. While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, It belongs to the scope of right.

Claims (19)

3차원 사용자 자세 추정 장치에서 3차원 사용자 자세를 추정하는 방법으로서,
사용자의 깊이 영상으로부터 사용자 몸에 해당하는 사용자 영역을 추출하는 단계,
상기 사용자 영역 내의 픽셀 각각에 대해 랜덤 결정 포레스트(Randomized Decision Forest)를 이용하여 상기 골격 관절 영역에서의 중심점을 결정하는 단계, 그리고
상기 골격 관절 영역에서의 중심점을 이용하여 골격 정보를 생성하는 단계
를 포함하는 3차원 사용자 자세 추정 방법.
A method for estimating a three-dimensional user attitude in a three-dimensional user attitude estimation apparatus,
Extracting a user area corresponding to a user body from a depth image of the user,
Determining a center point in the skeletal articulated region using a randomized decision forest for each pixel in the user region, and
Generating skeleton information using a center point in the skeleton joint region
Dimensional user attitude estimation method.
제1항에서,
상기 결정하는 단계는
상기 사용자 영역 내의 픽셀 각각에 대하여 상기 랜덤 결정 포레스트를 이용하여 상기 사용자 몸 내의 어느 부위의 골격 관절에 해당하는지에 대한 확률 분포 값을 계산하는 단계,
상기 사용자 영역 내의 픽셀 각각에 대한 확률 분포 값을 이용하여 골격 관절 영역을 결정하는 단계, 그리고
상기 골격 관절 영역에서의 중심점을 결정하는 단계를 포함하는 3차원 사용자 자세 추정 방법.
The method of claim 1,
The step of determining
Calculating a probability distribution value for each of the pixels in the user area that corresponds to a skeletal joint of the user's body using the random decision forest;
Determining a skeletal articulated region using a probability distribution value for each pixel in the user region, and
And determining a center point in the skeletal joint region.
제2항에서,
상기 랜덤 결정 포레스트를 이용하여 확률 분포 값을 계산하는 단계는
상기 사용자 영역 내의 픽셀 각각에 대하여, 상기 랜덤 결정 포레스트의 모든 결정 트리에서 리프 노드에서의 확률 분포 값을 획득하는 단계, 그리고
상기 모든 결정 트리에서 획득된 확률 분포 값을 합산하는 단계를 포함하는 3차원 사용자 자세 추정 방법.
3. The method of claim 2,
Wherein the step of calculating a probability distribution value using the random decision forest
Obtaining, for each pixel in the user region, a probability distribution value at a leaf node in all decision trees of the random decision forest; and
And summing the probability distribution values obtained in all the decision trees.
제2항에서,
상기 랜덤 결정 포레스트를 이용하여 확률 분포 값을 계산하는 단계는
상기 사용자 영역 내의 픽셀 각각에 대하여, 상기 랜덤 결정 포레스트의 결정 트리 각각에서 리프 노드에 도달하기 전에 확률 분포 값이 임계 값을 넘지 않는 노드가 존재하면 0의 확률 분포 값을 반환하는 단계,
상기 랜덤 결정 포레스트의 결정 트리 각각에서 상기 리프 노드에 도달하기 전에 각 노드의 확률 분포 값이 임계 값을 초과하면 상기 리프 노드에서의 확률 분포 값을 반환하는 단계, 그리고
상기 랜덤 결정 포레스트의 결정 트리 각각에서 반환된 확률 분포 값을 합산하는 단계를 포함하는 3차원 사용자 자세 추정 방법.
3. The method of claim 2,
Wherein the step of calculating a probability distribution value using the random decision forest
Returning a probability distribution value of 0 for each of the pixels in the user domain if there is a node whose probability distribution value does not exceed a threshold value before reaching the leaf node in each decision tree of the random decision forest;
Returning a probability distribution value at the leaf node if the probability distribution value of each node exceeds a threshold value before reaching the leaf node in each decision tree of the random decision forest; and
And summing the probability distribution values returned in each of the decision trees of the random decision forest.
제4항에서,
상기 랜덤 결정 포레스트를 이용하여 확률 분포 값을 계산하는 단계는
상기 랜덤 결정 포레스트의 결정 트리 각각에서 각 노드의 확률 분포 값을 자식 노드의 확률 분포 값을 이용하여 사전에 정의하는 단계를 더 포함하는 3차원 사용자 자세 추정 방법.
5. The method of claim 4,
Wherein the step of calculating a probability distribution value using the random decision forest
Further comprising defining in advance a probability distribution value of each node in each decision tree of the random decision forest using a probability distribution value of the child node.
제2항에서,
상기 확률 분포 값을 계산하는 단계는
상기 사용자 영역 내의 픽셀 각각에 대하여 거절 트리(rejection tree)를 이용하여 관절 또는 비관절 클래스로 분류하는 단계, 그리고
상기 관절 클래스로 분류된 픽셀에 대해서만 랜덤 결정 포레스트를 이용하여 확률 분포 값을 계산하는 단계를 포함하는 3차원 사용자 자세 추정 방법.
3. The method of claim 2,
The step of calculating the probability distribution value
Classifying each pixel in the user area into a joint or non-joint class using a rejection tree, and
And calculating a probability distribution value using a random decision forest only for pixels classified into the joint class.
제6항에서,
상기 분류하는 단계는
상기 사용자 영역 내의 픽셀 각각에 대하여 상기 거절 트리에서 리프 노드의 확률 분포 값을 임계 값과 비교하는 단계, 그리고
상기 사용자 영역 내의 픽셀 각각에 대하여 상기 거절 트리에서 리프 노드의 확률 분포 값이 상기 임계 값을 초과하는 경우에, 상기 관절 클래스로 분류하는 단계를 포함하는 3차원 사용자 자세 추정 방법.
The method of claim 6,
The classifying step
Comparing a probability distribution value of a leaf node in the reject tree with a threshold value for each pixel in the user region, and
If the probability distribution value of the leaf node in the rejection tree exceeds the threshold value for each pixel in the user area, classifying the node into the joint class.
제1항에서,
상기 중심점을 결정하는 단계는
상기 깊이 영상으로부터 다중 스케일의 깊이 영상을 생성하는 단계,
상기 다중 스케일의 깊이 영상 중 가장 낮은 제1 스케일의 깊이 영상의 사용자 영역 내의 픽셀 각각에 대해 상기 랜덤 결정 포레스트를 이용하여 골격 관절 영역에서의 중심점을 추정하는 단계, 그리고
상기 다중 스케일의 깊이 영상 중 상기 제1 스케일보다 큰 제2 스케일의 깊이 영상에서 상기 중심점으로부터 일정 영역의 픽셀에 대해서만 상기 랜덤 결정 포레스트를 이용하여 상기 골격 관절 영역에서의 중심점을 확정하는 단계를 포함하는 3차원 사용자 자세 추정 방법.
The method of claim 1,
The step of determining the center point
Generating a multi-scale depth image from the depth image,
Estimating a center point in the skeletal articulated region using the random decision forest for each pixel in the user area of the lowest first scale depth image of the multi-scale depth images, and
Determining a center point in the skeletal joint region using the random decision forest only for pixels in a certain region from the center point in a depth image of a second scale larger than the first scale among the multi-scale depth images Three Dimensional User Pose Estimation Method.
제1항에서,
상기 골격 정보를 토대로 상기 사용자의 자세를 추정하는 단계
를 더 포함하며,
상기 골격 정보는 각 골격 관절의 3차원 위치 정보와 골격 관절의 연결 정보를 포함하는 3차원 사용자 자세 추정 방법.
The method of claim 1,
Estimating the posture of the user based on the skeleton information
Further comprising:
Wherein the skeleton information includes three-dimensional position information of each skeleton joint and connection information of the skeleton joint.
제1항에서,
상기 사용자 영역을 추출하는 단계는
상기 깊이 영상 내에서 각 픽셀의 깊이 정보 값을 포함하는 픽셀 데이터를 추출하는 단계, 그리고
상기 픽셀 데이터에 기초하여 상기 사용자 영역을 추출하는 단계를 포함하는 3차원 사용자 자세 추정 방법.
The method of claim 1,
The step of extracting the user area
Extracting pixel data including a depth information value of each pixel in the depth image, and
And extracting the user region based on the pixel data.
3차원 사용자 자세 추정 장치로서,
사용자의 깊이 영상 중 사용자 영역 내의 픽셀 각각에 대해 랜덤 결정 포레스트(Randomized Decision Forest, RDF)를 이용하여 상기 사용자 몸 내의 어느 부위의 골격 관절에 해당하는지에 대한 최종 확률 분포 값을 계산하는 RDF 분류부,
상기 사용자 영역 내의 픽셀 각각의 확률 분포 값을 이용하여 골격 관절 영역에서의 중심점을 결정하는 중심점 결정부, 그리고
상기 골격 관절 영역에서의 중심점을 이용하여 상기 사용자의 자세를 추정하는 골격 정보 생성부
를 포함하는 3차원 사용자 자세 추정 장치.
A three-dimensional user posture estimating apparatus comprising:
An RDF classification unit for calculating a final probability distribution value of a portion of the user's body corresponding to a skeleton joint in the user's body by using a randomized decision forest (RDF)
A center point determining unit for determining a center point in the skeleton joint region using a probability distribution value of each pixel in the user region,
A skeleton information generating unit for estimating a posture of the user using a center point in the skeleton joint region,
Dimensional user attitude estimation apparatus.
제11항에서,
상기 깊이 영상 내에서 각 픽셀의 깊이 정보 값을 포함하는 픽셀 데이터에 기초하여 상기 사용자 영역을 추출하는 사용자 영역 추출부
를 더 포함하는 3차원 사용자 자세 추정 장치.
12. The method of claim 11,
And extracting the user area based on pixel data including a depth information value of each pixel in the depth image,
Dimensional user attitude estimating device.
제11항에서,
상기 RDF 분류부는 상기 사용자 영역 내의 픽셀 각각에 대하여, 상기 RDF의 각 결정 트리에서 반환되는 확률 분포 값을 합산하여 상기 최종 확률 분포 값을 계산하는 3차원 사용자 자세 추정 장치.
12. The method of claim 11,
Wherein the RDF classification unit calculates the final probability distribution value by summing probability distribution values returned from each decision tree of the RDF for each pixel in the user region.
제12항에서,
상기 각 결정 트리에서 반환되는 확률 분포 값은 상기 각 결정 트리의 리프 노드에서의 확률 분포 값인 3차원 사용자 자세 추정 장치.
The method of claim 12,
Wherein the probability distribution value returned from each decision tree is a probability distribution value at a leaf node of each decision tree.
제12항에서,
상기 각 결정 트리에서 반환되는 확률 분포 값은 0 또는 리프 노드에서의 확률 분포 값인 3차원 3차원 사용자 자세 추정 장치.
The method of claim 12,
Wherein the probability distribution value returned from each decision tree is 0 or a probability distribution value at a leaf node.
제15항에서,
상기 RDF 분류부는 상기 RDF의 결정 트리 각각에서 리프 노드에 도달하기 전에 확률 분포 값이 임계 값을 넘지 않는 노드가 존재하면 0의 확률 분포 값을 반환하고 다른 결정 트리의 노드를 순회하는 3차원 사용자 자세 추정 장치.
16. The method of claim 15,
The RDF classification unit returns a probability distribution value of 0 when there is a node whose probability distribution value does not exceed the threshold value before reaching the leaf node in each decision tree of the RDF, Estimating device.
제11항에서,
상기 RDF 분류부는 상기 사용자 영역 내의 픽셀 각각에 대해 상기 RDF의 도입 트리로 거절 트리를 이용하여 관절 또는 비관절 클래스로 분류하고, 관절 클래스에 해당하는 픽셀에 대해서만 상기 RDF를 이용하여 상기 최종 확률 분포 값을 계산하는 3차원 사용자 자세 추정 장치.
12. The method of claim 11,
Wherein the RDF classification unit classifies each of the pixels in the user region into a joint tree or a non-joint class using the reject tree as the introduction tree of the RDF, and uses the RDF only for the pixels corresponding to the joint class to calculate the final probability distribution value Dimensional user posture estimating device.
제17항에서,
상기 RDF 분류부는 상기 비관절 클래스에 해당하는 픽셀에 대해서는 상기 최종 확률 분포 값으로 0을 반환하는 3차원 사용자 자세 추정 장치.
The method of claim 17,
Wherein the RDF classification unit returns 0 as the final probability distribution value for a pixel corresponding to the non-articulated class.
제11항에서,
상기 깊이 영상은 다중 스케일의 깊이 영상을 포함하고,
상기 RDF 분류부는 상기 다중 스케일의 깊이 영상 중 가장 낮은 제1 스케일의 깊이 영상의 사용자 영역 내의 픽셀 각각에 대해 상기 랜덤 결정 포레스트를 이용하여 골격 관절 영역에서의 중심점을 추정하고, 상기 다중 스케일의 깊이 영상 중 상기 제1 스케일보다 큰 적어도 하나의 제2 스케일의 깊이 영상에서 상기 중심점으로부터 일정 영역의 픽셀에 대해서만 상기 랜덤 결정 포레스트를 이용하여 상기 골격 관절 영역에서의 중심점을 확정하는 3차원 사용자 자세 추정 장치.
12. The method of claim 11,
Wherein the depth image includes a multi-scale depth image,
The RDF classification unit estimates a center point in the skeleton joint region using the random decision forest for each pixel in the user area of the lowest first scale depth image among the multiple scale depth images, Wherein the center point in the skeleton joint region is determined using the random decision forest only for pixels in a certain region from the center point in a depth image of at least one second scale larger than the first scale.
KR1020130145691A 2013-11-27 2013-11-27 Method and apparatus for estimating 3d human pose KR20150061488A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130145691A KR20150061488A (en) 2013-11-27 2013-11-27 Method and apparatus for estimating 3d human pose

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130145691A KR20150061488A (en) 2013-11-27 2013-11-27 Method and apparatus for estimating 3d human pose

Publications (1)

Publication Number Publication Date
KR20150061488A true KR20150061488A (en) 2015-06-04

Family

ID=53499452

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130145691A KR20150061488A (en) 2013-11-27 2013-11-27 Method and apparatus for estimating 3d human pose

Country Status (1)

Country Link
KR (1) KR20150061488A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107832713A (en) * 2017-11-13 2018-03-23 南京邮电大学 A kind of human posture recognition method based on OptiTrack
CN109635783A (en) * 2019-01-02 2019-04-16 上海数迹智能科技有限公司 Video monitoring method, device, terminal and medium
KR20190042197A (en) * 2017-10-16 2019-04-24 한국과학기술원 Regression-Based Landmark Detection Method on Dynamic Human Models and Apparatus Therefor
KR20210079542A (en) * 2019-12-20 2021-06-30 한국전자기술연구원 User Motion Recognition Method and System using 3D Skeleton Information
KR20230081378A (en) 2021-11-30 2023-06-07 광운대학교 산학협력단 Multi-view semi-supervised learning for 3D human pose estimation

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190042197A (en) * 2017-10-16 2019-04-24 한국과학기술원 Regression-Based Landmark Detection Method on Dynamic Human Models and Apparatus Therefor
CN107832713A (en) * 2017-11-13 2018-03-23 南京邮电大学 A kind of human posture recognition method based on OptiTrack
CN107832713B (en) * 2017-11-13 2021-11-16 南京邮电大学 Human body posture recognition method based on OptiTrack
CN109635783A (en) * 2019-01-02 2019-04-16 上海数迹智能科技有限公司 Video monitoring method, device, terminal and medium
KR20210079542A (en) * 2019-12-20 2021-06-30 한국전자기술연구원 User Motion Recognition Method and System using 3D Skeleton Information
KR20230081378A (en) 2021-11-30 2023-06-07 광운대학교 산학협력단 Multi-view semi-supervised learning for 3D human pose estimation

Similar Documents

Publication Publication Date Title
Ibrahim et al. An automatic Arabic sign language recognition system (ArSLRS)
US10552666B2 (en) Identification using depth-based head-detection data
EP3096263B1 (en) Human body orientation recognition method and system based on two-lens camera
US9275277B2 (en) Using a combination of 2D and 3D image data to determine hand features information
US9142011B2 (en) Shadow detection method and device
KR101305694B1 (en) Method of image processing for detecting object, device, method for user interface and user interface thereof
US20150248765A1 (en) Depth sensing using an rgb camera
CN106203423B (en) Weak structure perception visual target tracking method fusing context detection
US20170228587A1 (en) System and method for human pose estimation in unconstrained video
CN112232258B (en) Information processing method, device and computer readable storage medium
KR20150061488A (en) Method and apparatus for estimating 3d human pose
US9443137B2 (en) Apparatus and method for detecting body parts
KR101507242B1 (en) Apparatus and method for providing motion haptic effect using video analysis
CN111325204B (en) Target detection method, target detection device, electronic equipment and storage medium
US20150269778A1 (en) Identification device, identification method, and computer program product
Angelopoulou et al. Fast 2d/3d object representation with growing neural gas
JP6452324B2 (en) Image processing apparatus, image processing method, and program
KR101909326B1 (en) User interface control method and system using triangular mesh model according to the change in facial motion
Tarrataca et al. The current feasibility of gesture recognition for a smartphone using J2ME
KR102347639B1 (en) Devices for recognizing human behavior through spatial information in video data
JP4177689B2 (en) Video feature information generator
KR20150109868A (en) Method for detecting and removing floor area using depth information and apparutus for detecting and removing floor area using depth information and program recording medium for detecting and removing floor area using depth information
Yamasaki et al. Motion segmentation of 3D video using modified shape distribution
JP2019096252A (en) Program, device and method for estimating context representing human action from captured video
JP7110293B2 (en) Information processing device, information processing method and program

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid