KR20220066535A - Method, Server and System for Recognizing Motion in Video - Google Patents

Method, Server and System for Recognizing Motion in Video Download PDF

Info

Publication number
KR20220066535A
KR20220066535A KR1020200152672A KR20200152672A KR20220066535A KR 20220066535 A KR20220066535 A KR 20220066535A KR 1020200152672 A KR1020200152672 A KR 1020200152672A KR 20200152672 A KR20200152672 A KR 20200152672A KR 20220066535 A KR20220066535 A KR 20220066535A
Authority
KR
South Korea
Prior art keywords
person
joint
joint position
position value
posture information
Prior art date
Application number
KR1020200152672A
Other languages
Korean (ko)
Other versions
KR102542878B1 (en
Inventor
이준호
Original Assignee
주식회사 플라스크
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 플라스크 filed Critical 주식회사 플라스크
Priority to KR1020200152672A priority Critical patent/KR102542878B1/en
Publication of KR20220066535A publication Critical patent/KR20220066535A/en
Priority to KR1020230073356A priority patent/KR20230093191A/en
Application granted granted Critical
Publication of KR102542878B1 publication Critical patent/KR102542878B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/98Detection or correction of errors, e.g. by rescanning the pattern or by human intervention; Evaluation of the quality of the acquired patterns
    • G06V10/993Evaluation of the quality of the acquired pattern
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/03Recognition of patterns in medical or anatomical images
    • G06V2201/033Recognition of patterns in medical or anatomical images of skeletal patterns

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Image Analysis (AREA)

Abstract

According to the present invention, a method for recognizing a motion in a video is performed by a server and comprises: a step of acquiring and storing posture information for a plurality of postures performed by a first character, wherein the posture information includes the direction and size of the first character performing the corresponding postures and joint position values of joints; a step of identifying the direction and size of a second character included in an input video; a step of inputting the input video into a joint prediction model to acquire joint position values of joints of the second character; a step of identifying specific posture information corresponding to the identified joint position values of the second character in the stored posture information; a step of correcting the identified direction and size of the second character with the direction and size of the first character in the identified specific posture information; a step of inputting the joint position values of the first character and the joint position values of the second character in the specific posture information into a discrimination model while the direction and size of the second character is corrected to calculate first error values of the joint position values of the second character with respect to the joint position values of the first character; and a step of determining first accuracy of the discrimination model based on the calculated first error values. The first character and the second character can be the same character.

Description

영상 내의 모션 인식 방법, 서버 및 시스템{Method, Server and System for Recognizing Motion in Video}Motion recognition method in video, server and system {Method, Server and System for Recognizing Motion in Video}

본 발명은 영상 내의 인물의 모션을 인식하는 것으로, 보다 상세하게는 인물이 마커를 부착하지 않은 상태에서 영상 내 인물의 모션을 인식하기 위한 영상 내의 모션 인식 방법, 서버 및 시스템에 관한 것이다.The present invention relates to a method for recognizing a motion of a person in an image, and more particularly, to a method, server and system for recognizing a motion of a person in an image for recognizing the motion of a person in an image in a state where the person does not attach a marker.

최근 들어 할리우드 영화에서만 볼 수 있었던 3차원 영상의 모션캡처 기술이 가전, 게임, 의료, 광고, 애니메이션, 버츄얼 유튜버 등에 의해 널리 사용되고 있다. 이러한 모션 캡쳐를 위한 장치는 대부분 인체에 마커나 센서를 붙인 다음 카메라로 마커 영상이나 센서로부터 나온 데이터를 인식하고 분석하여 인체 각 관절들의 위치와 방향을 측정한다. 여기에서 사용된 마커나 센서의 작동 방식에 따라서 초음파(Acoustic) 방식, 기계(Mechanical) 방식, 자기(Magnetic) 방식, 광학(Optical) 방식의 네 가지로 나눌 수 있다.Recently, motion capture technology of 3D images, which could only be seen in Hollywood movies, is widely used by home appliances, games, medical care, advertisements, animations, virtual YouTubers, and the like. Most of these motion capture devices attach markers or sensors to the human body, and then use a camera to recognize and analyze the marker images or data from the sensors to measure the position and direction of each joint in the human body. According to the operation method of the marker or sensor used here, it can be divided into four types: an acoustic method, a mechanical method, a magnetic method, and an optical method.

이들 중 대중에게 잘 알려진 영화 캐릭터 헐크의 경우도, 광학 방식 모션 캡쳐 장치를 이용하여 연기자의 주요 분절 부분에 마커를 부착하고 3 내지 16 대의 비디오카메라의 신호를 컴퓨터로 동시에 읽어들여 이들 중 마커의 위치를 분석하여 신체의 각 부위의 움직임을 파악하여 생성되었다.Among them, in the case of the movie character Hulk, which is well known to the public, markers are attached to the main segments of the performer using an optical motion capture device, and signals from 3 to 16 video cameras are simultaneously read into the computer to locate the markers. It was created by analyzing the movement of each part of the body.

이러한 종래의 광학 방식은 캐릭터 등의 동작을 사실적으로 표현하는데 중점을 두고 있기 때문에 데이터의 양이 방대하고 이러한 방대한 양의 데이터를 후처리 하기 위하여 고급사양의 컴퓨터와 많은 전문가가 필요하다. 또한, 고속프레임을 이용하거나 고화질의 카메라를 이용하는 경우 컴퓨터의 처리부담이 가중되고, 다수의 비디오카메라로부터 비디오 신호가 동시간에 동기되어 전송되어야 하기 때문에 고가의 동기식 카메라가 사용되므로 막대한 비용이 필요하다가 문제점이 존재한다.Since this conventional optical method focuses on realistically expressing the motion of a character, the amount of data is huge, and a high-end computer and many experts are required to post-process this vast amount of data. In addition, when using a high-speed frame or high-definition camera, the processing load of the computer is increased, and since video signals from a plurality of video cameras must be synchronously transmitted at the same time, an expensive synchronous camera is used, and a huge cost is required. A problem exists.

따라서, 모션 캡쳐를 다양한 규모의 기업들이 사용할 수 있도록 비용 절감이 가능하고 손쉽게 적용이 가능한 기술이 필요하다.Therefore, there is a need for a technology that can reduce costs and easily apply motion capture so that companies of various sizes can use it.

대한민국 공개특허공보 제10-2005-7014813호Republic of Korea Patent Publication No. 10-2005-7014813

상술한 바와 같은 문제점을 해결하기 위한 본 발명은 인물의 동작을 실시간으로 촬영한 영상을 기반으로 인물의 관절들 각각의 관절 위치값을 획득하는 것을 그 목적으로 한다.An object of the present invention for solving the above-described problems is to obtain joint position values of each joint of a person based on an image obtained by photographing the motion of the person in real time.

또한, 상기 새로운 학습데이터를 생성한 특정 모델에 대한 신뢰도를 판단하는 방법을 제공하는 것을 그 목적으로 한다.Another object of the present invention is to provide a method for determining the reliability of a specific model that has generated the new learning data.

본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The problems to be solved by the present invention are not limited to the problems mentioned above, and other problems not mentioned will be clearly understood by those skilled in the art from the following description.

상술한 과제를 해결하기 위한 본 발명에 따른 서버에 의해 수행되는 영상 내의 모션 인식 방법에 있어서, 제1 인물이 행하는 복수의 자세에 대한 각각의 자세 정보를 획득하여 저장하는 단계-상기 각각의 자세 정보는, 해당 자세를 행하는 제1 인물의 방향, 크기 및 관절들 각각의 관절 위치값을 포함함-, 입력 영상 내에 포함된 제2 인물의 방향 및 크기를 파악하는 단계, 상기 입력 영상을 관절 예측 모델에 입력하여, 제2 인물의 관절들 각각의 관절 위치값을 획득하는 단계, 상기 저장된 각각의 자세 정보 중 상기 파악된 제2 인물의 관절 위치값에 해당하는 특정 자세 정보를 파악하는 단계, 상기 파악된 제2 인물의 방향 및 크기를 상기 파악된 특정 자세 정보 내의 제1 인물의 방향 및 크기로 보정하는 단계, 제2 인물의 방향 및 크기가 보정된 상태에서, 상기 특정 자세 정보 내의 제1 인물의 관절 위치값 및 제2 인물의 관절 위치값을 판별 모델에 입력하여, 제1 인물의 관절 위치값에 대한 제2 인물의 관절 위치값의 제1 오차값을 산출하는 단계 및 상기 산출된 제1 오차값을 기반으로 상기 판별 모델의 제1 정확도를 판단하는 단계를 포함할 수 있고, 상기 제1 인물과 상기 제2 인물은 동일 인물일 수 있다.In the method for recognizing motion in an image performed by a server according to the present invention for solving the above-mentioned problem, the step of acquiring and storing each posture information for a plurality of postures performed by a first person - the respective posture information includes the direction, size, and joint position values of each of the joints of the first person performing the corresponding posture-, recognizing the direction and size of the second person included in the input image, using the input image as a joint prediction model input to, obtaining joint position values of each of the joints of the second person, identifying specific posture information corresponding to the identified joint position values of the second person among the stored respective posture information, the grasping correcting the direction and size of the second person to the direction and size of the first person in the identified specific posture information; Inputting the joint position value and the joint position value of the second person to the discrimination model, calculating a first error value of the joint position value of the second person with respect to the joint position value of the first person, and the calculated first error and determining the first accuracy of the discrimination model based on a value, wherein the first person and the second person may be the same person.

또한, 상기 제1 오차값, 제2 입력 영상을 상기 관절 예측 모델에 입력하여 상기 관절 예측 모델을 기계학습하는 단계를 더 포함할 수 있다.The method may further include machine learning the joint prediction model by inputting the first error value and the second input image to the joint prediction model.

또한, 기 저장된 제3 인물의 관절 위치값과 상기 학습된 관절 예측 모델을 기반으로 학습하여 산출한 제4 인물의 관절 위치값을 상기 판별 모델에 입력하여 상기 판별 모델을 기계학습하는 단계를 더 포함할 수 있고, 상기 제3 인물과 상기 제4 인물은 동일 인물일 수 있다.In addition, the method further includes: inputting the joint position value of the third person stored in advance and the joint position value of the fourth person calculated by learning based on the learned joint prediction model into the discrimination model to machine learning the discrimination model , and the third person and the fourth person may be the same person.

여기서, 상기 관절 예측 모델은, 상기 입력 영상 내에 각각의 프레임 별로 상기 제2 인물의 위치에 기반하여 고정된 지점의 기준좌표를 생성하고, 상기 프레임을 연결하여 상기 기준좌표를 중심으로 상기 제2 인물의 움직임에 따라 상기 제2 인물의 관절들 각각의 관절 위치값을 획득할 수 있다.Here, the joint prediction model generates reference coordinates of a fixed point based on the position of the second person for each frame in the input image, and connects the frames to the second person based on the reference coordinates joint position values of the joints of the second person may be obtained according to the movement of .

또한, 상기 제1 오차값은, 상기 제2 인물의 각각의 관절 위치값에 따라 관절 거리가 기 설정된 기준거리와 다른 경우인 구조 오차값 또는 관절 움직임 속도가 기 설정된 기준속도와 다른 경우인 속도 오차값을 포함할 수 있다.In addition, the first error value is a structural error value when the joint distance is different from a preset reference distance according to each joint position value of the second person or a speed error when the joint movement speed is different from the preset reference speed It can contain values.

또한, 상기 제1 정확도를 기반으로 상기 제1 정확도가 기 설정된 임계값 미만인지 판단하여, 상기 제1 정확도가 상기 임계값 미만이 될 때까지, 상기 관절 예측 모델 또는 상기 판별 모델을 반복 기계학습시키는 단계를 더 포함할 수 있다.In addition, based on the first accuracy, it is determined whether the first accuracy is less than a preset threshold, until the first accuracy is less than the threshold, repeating machine learning the joint prediction model or the discrimination model It may include further steps.

또한, 상술한 과제를 해결하기 위한 본 발명에 따른 영상 내의 모션 인식을 수행하는 서버에 있어서, 정보를 저장하는 메모리, 제1 인물이 행하는 복수의 자세에 대한 각각의 자세 정보를 획득하여 저장하고-상기 각각의 자세 정보는, 해당 자세를 행하는 제1 인물의 방향, 크기 및 관절들 각각의 관절 위치값을 포함함, 입력 영상 내에 포함된 제2 인물의 방향 및 크기를 파악하고, 상기 입력 영상을 관절 예측 모델에 입력하여, 제2 인물의 관절들 각각의 관절 위치값을 획득하고, 상기 저장된 각각의 자세 정보 중 상기 파악된 제2 인물의 관절 위치값에 해당하는 특정 자세 정보를 파악하고, 상기 파악된 제2 인물의 방향 및 크기를 상기 파악된 특정 자세 정보 내의 제1 인물의 방향 및 크기로 보정하고, 제2 인물의 방향 및 크기가 보정된 상태에서, 상기 특정 자세 정보 내의 제1 인물의 관절 위치값 및 제2 인물의 관절 위치값을 판별 모델에 입력하여, 제1 인물의 관절 위치값에 대한 제2 인물의 관절 위치값의 제1 오차값을 산출하고, 상기 산출된 제1 오차값을 기반으로 상기 판별 모델의 제1 정확도를 판단하는 제어부를 포함하고, 상기 제1 인물과 상기 제2 인물은 동일 인물일 수 있다.In addition, in the server for performing motion recognition in an image according to the present invention for solving the above problems, a memory for storing information, each posture information for a plurality of postures performed by the first person is obtained and stored - Each of the posture information includes the direction, size, and joint position value of each of the joints of the first person performing the corresponding posture, grasps the direction and size of the second person included in the input image, and uses the input image Input to the joint prediction model, obtain joint position values of each of the joints of the second person, identify specific posture information corresponding to the identified joint position values of the second person among the stored posture information, and the The direction and size of the identified second person are corrected to the direction and size of the first person in the identified specific posture information, and in a state in which the direction and size of the second person are corrected, By inputting the joint position value and the joint position value of the second person into the discrimination model, a first error value of the joint position value of the second person with respect to the joint position value of the first person is calculated, and the calculated first error value and a controller for determining the first accuracy of the discrimination model based on , wherein the first person and the second person may be the same person.

또한, 상기 제어부는, 상기 제1 오차값, 제2 입력 영상을 상기 관절 예측 모델에 입력하여 상기 관절 예측 모델을 기계학습하고, 기 저장된 제3 인물의 관절 위치값과 상기 학습된 관절 예측 모델을 기반으로 학습하여 산출한 제4 인물의 관절 위치값을 상기 판별 모델에 입력하여 상기 판별 모델을 기계학습하고, 상기 제3 인물과 상기 제4 인물은 동일 인물일 수 있다.In addition, the control unit, by inputting the first error value and the second input image to the joint prediction model, machine learning the joint prediction model, and the joint position value of the third person stored in advance and the learned joint prediction model The joint position value of the fourth person calculated based on learning is input to the discrimination model to machine-lear the discrimination model, and the third person and the fourth person may be the same person.

여기서, 상기 관절 예측 모델은, 상기 입력 영상 내에 각각의 프레임 별로 상기 제2 인물의 위치에 기반하여 고정된 지점의 기준좌표를 생성하고, 상기 프레임을 연결하여 상기 기준좌표를 중심으로 상기 제2 인물의 움직임에 따라 상기 제2 인물의 관절들 각각의 관절 위치값을 획득할 수 있다.Here, the joint prediction model generates reference coordinates of a fixed point based on the position of the second person for each frame in the input image, and connects the frames to the second person based on the reference coordinates joint position values of the joints of the second person may be obtained according to the movement of .

이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체가 더 제공될 수 있다.In addition to this, another method for implementing the present invention, another system, and a computer-readable recording medium for recording a computer program for executing the method may be further provided.

상기와 같은 본 발명에 따르면, 인물의 동작을 실시간으로 촬영한 영상을 기반으로 인물의 관절들 각각의 관절 위치값을 획득함으로써 인물이 마커를 부착하지 않고도 인물의 관절의 움직임을 예측할 수 있는 효과가 있다.According to the present invention as described above, the effect of predicting the movement of the joint of a person without attaching a marker by obtaining the joint position value of each of the joints of the person based on the image captured in real time of the movement of the person is obtained. have.

본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.Effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the following description.

도 1은 본 발명에 따른 영상 내의 모션 인식을 수행하는 시스템에 대해 개략적으로 나타낸 도면이다.
도 2는 본 발명에 따른 서버의 동작에 대해 개략적으로 나타낸 도면이다.
도 3은 본 발명에 따른 서버가 영상 내의 모션을 인식하는 과정을 나타낸 흐름도이다.
도 4는 본 발명에 따른 관절 예측 모델에서 관절 위치값을 획득하는 과정을 나타낸 예시도이다.
도 5는 본 발명에 따른 관절 예측 모델을 통해 예측된 관절 간의 거리에 대해 발생되는 오차값에 대한 예시도이다.
도 6은 본 발명에 따른 관절 예측 모델을 통해 예측된 관절의 이동속도에 대해 발생되는 오차값에 대한 예시도이다.
1 is a diagram schematically showing a system for performing motion recognition in an image according to the present invention.
2 is a diagram schematically illustrating an operation of a server according to the present invention.
3 is a flowchart illustrating a process in which a server recognizes a motion in an image according to the present invention.
4 is an exemplary diagram illustrating a process of obtaining a joint position value in a joint prediction model according to the present invention.
5 is an exemplary diagram of an error value generated for a distance between joints predicted through a joint prediction model according to the present invention.
6 is an exemplary diagram of an error value generated for the movement speed of the joint predicted through the joint prediction model according to the present invention.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.Advantages and features of the present invention and methods of achieving them will become apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in various different forms, and only those of ordinary skill in the art to which the present invention pertains, to complete the disclosure of the present invention. It is provided to fully understand the scope of the present invention, and the present invention is only defined by the scope of the claims.

본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)." 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.The terminology used herein is for the purpose of describing the embodiments and is not intended to limit the present invention. In this specification, the singular also includes the plural unless specifically stated otherwise in the phrase. As used herein, "comprises." and/or "comprising" does not exclude the presence or addition of one or more other components in addition to the stated components. Like reference numerals refer to like elements throughout, and "and/or" includes each and every combination of one or more of the recited elements. Although "first", "second", etc. are used to describe various elements, these elements are not limited by these terms, of course. These terms are only used to distinguish one component from another. Accordingly, it goes without saying that the first component mentioned below may be the second component within the spirit of the present invention.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않은 한 이상적으로 또는 과도하게 해석되지 않는다.Unless otherwise defined, all terms (including technical and scientific terms) used herein will have the meaning commonly understood by those of ordinary skill in the art to which this invention belongs. In addition, terms defined in a commonly used dictionary are not to be interpreted ideally or excessively unless specifically defined explicitly.

이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

설명에 앞서 본 명세서에서 사용하는 용어의 의미를 간략히 설명한다. 그렇지만, 용어의 설명은 본 명세서의 이해를 돕기 위한 것이므로, 명시적으로 본 발명을 한정하는 사항으로 기재하지 않은 경우에 본 발명의 기술적 사상을 한정하는 의미로 사용하는 것이 아님을 주의해야 한다.Before the description, the meaning of the terms used in this specification will be briefly described. However, it should be noted that the descriptions of terms are for the purpose of helping the understanding of the present specification, and are not used in the meaning of limiting the technical spirit of the present invention unless explicitly described as limiting the present invention.

도 1은 본 발명에 따른 영상 내의 모션 인식을 수행하는 시스템(1)에 대해 개략적으로 나타낸 도면이다.1 is a diagram schematically showing a system 1 for performing motion recognition in an image according to the present invention.

시스템(1)은 인물의 동작을 실시간으로 촬영한 영상을 기반으로 인물의 관절들 각각의 관절 위치값을 획득함으로써 인물이 마커를 부착하지 않고도 인물의 관절의 움직임을 예측할 수 있는 효과를 가질 수 있다.The system 1 may have the effect of predicting the movement of a person's joints without the person attaching a marker by acquiring joint position values of each of the person's joints based on an image captured in real time .

도 1을 보면, 시스템(1)은 영상을 촬영하는 촬영장치(10) 및 상기 영상 내의 모션 인식을 수행하는 서버(20)를 포함할 수 있다. 여기서, 촬영장치(10)는 별도로 구비되어 상기 서버(20)로 촬영한 영상을 송신할 수도 있고, 서버(20)에 연결되어 구비될 수도 있다.Referring to FIG. 1 , a system 1 may include a photographing device 10 for capturing an image and a server 20 for recognizing motion within the image. Here, the photographing apparatus 10 may be separately provided to transmit the photographed image to the server 20 , or may be provided in connection with the server 20 .

이하, 시스템(1)은 도 1에 도시된 구성요소보다 더 적은 수의 구성요소나 더 많은 구성요소를 포함할 수 있다.Hereinafter, the system 1 may include fewer or more components than the components shown in FIG. 1 .

촬영장치(10)는 영상 촬영이 가능한 기기를 의미할 수 있다. 상기 촬영장치(10)는 사용자의 조작 또는 기 설정된 입력에 따라 영상을 촬영할 수 있다. 상기 촬영장치(10)는 카메라가 구비된 전자기기일 수 있으며, 상기 서버(20)와 연결되어 구비되거나 별도로 구비된 상태에서 통신부(미도시)를 통해 정보의 송수신이 가능하도록 구비될 수 있다. 또한, 상기 촬영장치(10)는 영상 촬영 중 플레이 되는 음악에 대해서도 별도의 녹음모듈(미도시)을 구비하여 녹음할 수 있다.The photographing device 10 may mean a device capable of photographing an image. The photographing apparatus 10 may photograph an image according to a user's manipulation or a preset input. The photographing device 10 may be an electronic device equipped with a camera, and may be provided in connection with the server 20 or may be provided to enable transmission and reception of information through a communication unit (not shown) in a separately provided state. Also, the photographing device 10 may include a separate recording module (not shown) to record music played during video recording.

여기서, 촬영장치(10)는 기 설정된 촬영 가능한 반경에 위치하는 인물(2), 움직이는 물체(미도시), 배경 등을 촬영하고, 촬영하는 동안 플레이 되는 음악에 대해서는 실시간으로 녹음할 수 있다.Here, the photographing device 10 may photograph a person 2, a moving object (not shown), a background, etc. located within a preset photographable radius, and record music played while photographing in real time.

서버(20)는 통신부(210), 메모리(220) 및 제어부(230)를 포함하여 구성될 수 있으나 반드시 이에 한정되지 않고 더 적거나 더 많은 구성요소를 포함할 수 있다. 이하, 설명되는 좌표는 3차원 좌표이다.The server 20 may include a communication unit 210 , a memory 220 , and a control unit 230 , but is not limited thereto and may include fewer or more components. Coordinates to be described below are three-dimensional coordinates.

통신부(210)는 상기 서버(20)와 무선 통신 시스템 사이, 상기 서버(20)와 촬영장치(10) 사이 또는 상기 서버(20)와 외부 서버(미도시) 사이의 무선 통신을 가능하게 하는 하나 이상의 모듈을 포함할 수 있다. 또한, 상기 통신부(210)는 서버(20)를 하나 이상의 네트워크에 연결하는 하나 이상의 모듈을 포함할 수 있다.The communication unit 210 is one that enables wireless communication between the server 20 and a wireless communication system, between the server 20 and the photographing device 10, or between the server 20 and an external server (not shown). It may include more than one module. In addition, the communication unit 210 may include one or more modules for connecting the server 20 to one or more networks.

여기서, 통신부(210)는 촬영장치(10)로부터 영상과 영상에 함께 포함되는 음악에 대한 정보를 수신할 수 있고, 상기 서버(20)에서 생성한 상기 촬영장치(10)의 동작에 대한 제어신호를 전송할 수 있다.Here, the communication unit 210 may receive information about the image and music included in the image from the photographing device 10 , and a control signal for the operation of the photographing device 10 generated by the server 20 . can be transmitted.

메모리(220)는 상기 서버(20)의 다양한 기능을 지원하는 정보를 저장할 수 있다. 메모리(220)는 상기 서버(20)에서 구동되는 다수의 응용 프로그램(application program 또는 애플리케이션(application)), 상기 서버(20)의 동작을 위한 데이터들, 명령어들을 저장할 수 있다. 이러한 응용 프로그램 중 적어도 일부는, 무선 통신을 통해 외부 서버(미도시)로부터 다운로드 될 수 있다. 또한, 이러한 응용 프로그램 중 적어도 일부는, 상기 서버(20)의 기본적인 기능을 위하여 존재할 수 있다. 한편, 응용 프로그램은, 메모리(220)에 저장되고, 상기 서버(20) 상에 설치되어, 제어부(230)에 의하여 상기 서버(20)의 동작(또는 기능)을 수행하도록 구동될 수 있다.The memory 220 may store information supporting various functions of the server 20 . The memory 220 may store a plurality of application programs (or applications) driven in the server 20 , data for operation of the server 20 , and commands. At least some of these application programs may be downloaded from an external server (not shown) through wireless communication. In addition, at least some of these application programs may exist for a basic function of the server 20 . Meanwhile, the application program may be stored in the memory 220 , installed on the server 20 , and driven to perform an operation (or function) of the server 20 by the controller 230 .

제어부(230)는 상기 응용 프로그램과 관련된 동작 외에도, 통상적으로 상기 서버(20)의 전반적인 동작을 제어할 수 있다. 제어부(230)는 위에서 살펴본 구성요소들을 통해 입력 또는 출력되는 신호, 데이터, 정보 등을 처리하거나 메모리(220)에 저장된 응용 프로그램을 구동함으로써, 사용자에게 적절한 정보 또는 기능을 제공 또는 처리할 수 있다. In addition to the operation related to the application program, the controller 230 may generally control the overall operation of the server 20 . The controller 230 may provide or process appropriate information or functions to the user by processing signals, data, information, etc. input or output through the above-described components or by driving an application program stored in the memory 220 .

제어부(230)는 메모리(220)에 저장된 응용 프로그램을 구동하기 위하여, 도 1과 함께 살펴본 구성요소들 중 적어도 일부를 제어할 수 있다. 나아가, 제어부(230)는 상기 응용 프로그램의 구동을 위하여, 상기 서버(20)에 포함된 구성요소들 중 적어도 둘 이상을 서로 조합하여 동작 시킬 수 있다.The controller 230 may control at least some of the components discussed with reference to FIG. 1 in order to drive an application program stored in the memory 220 . Furthermore, in order to drive the application program, the controller 230 may operate at least two or more of the components included in the server 20 in combination with each other.

이하, 제어부(230)가 마커를 부착하고 움직인 인물(2)에 대해 마커를 통해 상기 인물(2)의 움직임에 대해 인식하는 경우, 이를 '제1 인물'이라고 명칭하고, 제어부(230)가 마커를 부착하고 움직인 상기 인물(2)에 대해 마커를 인식하지 않고 상기 인물(2)의 움직임에 대해 인식하는 경우, 이를 '제2 인물'이라고 명칭 하겠다. 따라서, 제1 인물과 제2 인물은 동일인물임을 의미할 수 있다.Hereinafter, when the control unit 230 recognizes the movement of the person 2 through the marker with respect to the person 2 who has attached the marker, this is called a 'first person', and the control unit 230 When the movement of the person 2 is recognized without recognizing the marker for the person 2 who has attached the marker and moved, this will be referred to as a 'second person'. Accordingly, it may mean that the first person and the second person are the same person.

구체적으로, 제어부(230)는 입력 영상 내의 제1 인물이 행하는 복수의 자세에 대한 각각의 자세 정보를 획득하여 저장할 수 있다. 여기서, 상기 각각의 자세 정보는, 해당 자세를 행하는 제1 인물의 방향, 크기 및 관절들 각각의 관절 위치값을 포함할 수 있다.Specifically, the controller 230 may obtain and store the respective posture information for a plurality of postures performed by the first person in the input image. Here, the respective posture information may include the direction, size, and joint position value of each of the joints of the first person performing the corresponding posture.

제어부(230)는 상기 입력 영상 내에 포함된 제2 인물의 방향 및 크기를 파악하고, 상기 입력 영상을 관절 예측 모델에 입력하여, 제2 인물의 관절들 각각의 관절 위치값을 획득할 수 있다. 상기 관절 예측 모델은 상기 입력 영상 내에 각각의 프레임 별로 상기 제2 인물의 위치에 기반하여 고정된 지점의 기준좌표를 생성하고, 상기 프레임을 연결하여 상기 기준좌표를 중심으로 상기 제2 인물의 움직임에 따라 상기 제2 인물의 관절들 각각의 관절 위치값을 획득할 수 있다. The controller 230 may determine the direction and size of the second person included in the input image, input the input image to the joint prediction model, and obtain joint position values of the joints of the second person. The joint prediction model generates reference coordinates of a fixed point based on the position of the second person for each frame in the input image, and connects the frames to the movement of the second person around the reference coordinates. Accordingly, a joint position value of each of the joints of the second person may be obtained.

여기서, 센서를 통해 모션을 인식하는 것과 달리 현재 대부분의 3D 포즈 예측 방법의 경우에는 골반 좌표를 원점으로 놓고 이외의 관절 좌표들의 상대적인 위치를 예측한다. 그렇기 때문에 달리는 모션에서 무게중심이 위아래로 움직이는 모습, 점프하는 모습 등의 모션을 얻는 것이 불가능하다. 따라서, 상기 제어부(230)는 제2 인물이 움직이지 않는 지점 일 예로 바닥을 딛고 서있다는 가정하에 상기 제2 인물의 관절들 각각의 관절 위치값을 획득함으로 좌표계 상에서 제2 인물의 발 관절이 땅을 딛고 서있는 형태로 예측이 가능하다.Here, unlike recognizing motion through a sensor, in most current 3D pose prediction methods, relative positions of other joint coordinates are predicted with the pelvic coordinates as the origin. Therefore, it is impossible to obtain motions such as moving up and down or jumping in the running motion. Accordingly, the control unit 230 acquires joint position values of each of the joints of the second person on the assumption that the second person is standing on the floor at a point where the second person does not move, for example, so that the foot joint of the second person touches the ground in the coordinate system. It can be predicted in the form of standing on its feet.

관절 예측 모델은 컨볼루션 뉴럴 네트워크(CNN, convolutional neural network) 및 순환 뉴럴 네트워크(recurrent neural network)를 포함할 수 있다. 이하, 컨볼루션 뉴럴 네트워크는 'CNN'이라 명칭하고, 순환 뉴럴 네트워크는 'RNN'이라 명칭하겠다.The joint prediction model may include a convolutional neural network (CNN) and a recurrent neural network. Hereinafter, the convolutional neural network will be called 'CNN', and the recurrent neural network will be called 'RNN'.

CNN은 영상의 각 영역에 대해 복수의 필터를 적용하여 특징 지도(Feature Map)를 만들어 내는 컨볼루션 층(Convolution Layer)과 특징 지도를 공간적으로 통합함으로써 위치나 회전의 변화에 불변하는 특징을 추출할 수 있도록 하는 통합층(Pooling Layer)을 번갈아 수차례 반복하는 구조로 형성될 수 있다. 이를 통해, 점, 선, 면 등의 낮은 수준의 특징에서부터 복잡하고 의미 있는 높은 수준의 특징까지 다양한 수준의 특징을 추출해낼 수 있다. CNN spatially integrates the convolution layer, which creates a feature map by applying a plurality of filters to each area of the image, and the feature map to extract features that are invariant to changes in position or rotation. It may be formed in a structure that alternately repeats the pooling layer several times. Through this, various level features can be extracted from low-level features such as points, lines, and planes to complex and meaningful high-level features.

컨볼루션 층은 입력 영상의 각 패치에 대하여 필터와 국지 수용장(Local Receptive Field)의 내적에 비선형 활성 함수(Activation Function)를 취함으로 서 특징지도(Feature Map)를 구할 수 있다. 다른 네트워크 구조와 비교하여, CNN은 희소한 연결성 (Sparse Connectivity)과 공유된 가중치(Shared Weights)를 가진 필터를 사용하는 특징을 가질 수 있다. 이러한 연결구조는 학습할 모수의 개수를 줄여주고, 역전파 알고리즘을 통한 학습을 효율적으로 만들어 결과적으로 예측 성능을 향상시킬 수 있다. The convolution layer can obtain a feature map by taking a nonlinear activation function on the dot product of the filter and the local receptive field for each patch of the input image. Compared to other network structures, CNNs may have the feature of using filters with sparse connectivity and shared weights. Such a connection structure can reduce the number of parameters to be learned, make learning through the backpropagation algorithm efficient, and consequently improve prediction performance.

통합 층(Pooling Layer 또는 Sub-sampling Layer)은 이전 컨볼루션 층에서 구해진 특징 지도의 지역 정보를 활용하여 새로운 특징 지도를 생성할 수 있다. 일반적으로 통합 층에 의해 새로 생성된 특징지도는 원래의 특징 지도보다 작은 크기로 줄어드는데, 대표적인 통합 방법으로는 특징 지도 내 해당 영역의 최대값을 선택하는 최대 통합(Max Pooling)과 특징 지도 내 해당 영역의 평균값을 구하는 평균 통합(Average Pooling) 등이 있을 수 있다. 통합 층의 특징지도는 일반적으로 이전 층의 특징 지도보다 입력 영상에 존재하는 임의의 구조나 패턴의 위치에 영향을 적게 받을 수 있다. 즉, 통합층은 입력 영상 혹은 이전 특징 지도에서의 노이즈나 왜곡과 같은 지역적 변화에 보다 강인한 특징을 추출할 수 있게 되고, 이러한 특징은 분류 성능에 중요한 역할을 할 수 있다. 또 다른 통합 층의 역할은, 깊은 구조상에서 상위의 학습 층으로 올라갈수록 더 넓은 영역의 특징을 반영할 수 있게 하는 것으로서, 특징 추출 층이 쌓이면서, 하위층에서는 지역적인 특징을 반영하고 상위층으로 올라갈수록 더욱 추상적인 전체 영상의 특징을 반영하는 특징 생성할 수 있다.The integration layer (Pooling Layer or Sub-sampling Layer) may generate a new feature map by using local information of the feature map obtained from the previous convolutional layer. In general, the newly created feature map by the integration layer is reduced to a smaller size than the original feature map. Representative integration methods include Max Pooling, which selects the maximum value of the corresponding region in the feature map, and the corresponding feature map in the feature map. There may be an average pooling method for obtaining an average value of a region. In general, the feature map of the integrated layer can be less affected by the location of arbitrary structures or patterns present in the input image than the feature map of the previous layer. That is, the integration layer can extract features that are more robust to regional changes such as noise or distortion in the input image or previous feature map, and these features can play an important role in classification performance. Another role of the integration layer is to reflect the features of a wider area as you go up to the upper learning layer in the deep structure. It is possible to generate features that reflect the characteristics of the abstract image as a whole.

이와 같이, 컨볼루션 층과 통합 층의 반복을 통해 최종적으로 추출된 특징은 다중 신경망(MLP: Multi-Layer Perception)이나 서포트 벡터 머신(SVM: Support Vector Machine)과 같은 분류 모델이 완전 연결 층(Fully-connected Layer)의 형태로 결합되어 분류 모델 학습 및 예측에 사용될 수 있다.In this way, the features finally extracted through iteration of the convolutional layer and the integration layer are fully connected to a classification model such as a multi-layer perception (MLP) or a support vector machine (SVM). -connected layer) and can be used for classification model training and prediction.

RNN은 어떤 특정 부분이 반복되는 구조를 통해 순서를 학습하기에 효과적인 딥러닝 기법으로 이전 상태의 상태값이 다음 계산의 입력으로 들어가서 결과에 영향을 미칠 수 있다(단어, 문장, 영상을 인식할 때 앞의 단어, 글자, 프레임을 참고하여 인식할 필요가 있기 때문). RNN은 음성과 글자 등 순차적인(Sequential) 정보를 인식하는 데 주로 사용될 수 있다.RNN is a deep learning technique that is effective for learning the sequence through a structure in which a specific part is repeated. Because it needs to be recognized by referring to the preceding word, letter, or frame). The RNN can be mainly used to recognize sequential information such as speech and letters.

다만, 본 발명에 따른 상기 관절 예측 모델은 CNN과 RNN에 한정되지 아니하고, 다양한 구조의 신경망으로 형성될 수 있다.However, the joint prediction model according to the present invention is not limited to CNN and RNN, and may be formed of neural networks having various structures.

일 예로, CNN 대신 트랜스포머(Transformer)를 이용할 수 있다. 자연어 처리 분야에서 많이 사용되는 신경망 구조인 트랜스포머(Transformer)는 ‘단어(word)’들의 시퀀스로 입력값(input)을 받는데 최근 여러 컴퓨터 비전 영역에서 이미지를 퍼즐처럼 자르고, 이미지를 퍼즐들의 시퀀스로 취급하여 트랜스포머(Transformer)에 넣었을 때 CNN을 초월한 결과를 얻을 수 있다. 이에 따라 이에 CNN 대신에 트랜스포머(Transformer)로 대체 가능하다.As an example, a transformer may be used instead of CNN. Transformer, a neural network structure widely used in the field of natural language processing, receives input as a sequence of 'words'. Thus, when it is put in a Transformer, it is possible to obtain a result that surpasses CNN. Accordingly, it can be replaced with a Transformer instead of a CNN.

제어부(230)는 입력 영상 내의 제1 인물이 행하는 복수의 자세에 대해 획득한 각각의 자세 정보를 중 상기 파악된 제2 인물의 관절 위치값에 해당하는 특정 자세 정보를 파악하고, 상기 파악된 제2 인물의 방향 및 크기를 상기 파악된 특정 자세 정보 내의 제1 인물의 방향 및 크기로 보정할 수 있다. The control unit 230 determines specific posture information corresponding to the joint position value of the identified second person among the posture information obtained for the plurality of postures performed by the first person in the input image, and the identified second person The direction and size of the second person may be corrected with the direction and size of the first person in the identified specific posture information.

제어부(230)는 제1 인물의 제1 자세 정보를 기준으로 제2 인물의 제1 자세와 동일한 특정 자세 정보를 파악하여 제2 인물의 방향 및 크기를 제1 인물의 방향 및 크기로 보정할 수 있다. 따라서, 제1 인물의 관절 위치값과 제2 인물의 관절 위치값을 판별하기 전에 방향과 크기의 보정을 통해 정확한 판별이 가능하도록 할 수 있는 효과를 가질 수 있다. The controller 230 may determine the specific posture information identical to the first posture of the second person based on the first posture information of the first person and correct the direction and size of the second person to the direction and size of the first person. have. Therefore, before determining the joint position value of the first person and the joint position value of the second person, it is possible to have the effect of enabling accurate determination through correction of the direction and size.

여기서, 제어부(230)는 제2 인물의 방향 및 크기가 보정된 상태에서, 상기 특정 자세 정보 내의 제1 인물의 관절 위치값 및 제2 인물의 관절 위치값을 판별 모델에 입력하여, 제1 인물의 관절 위치값에 대한 제2 인물의 관절 위치값의 제1 오차값을 산출할 수 있다. 이후, 제어부(203)는 상기 산출된 제1 오차값을 기반으로 상기 판별 모델의 제1 정확도를 판단할 수 있다. 여기서, 상기 제1 오차값은 상기 제2 인물의 각각의 관절 위치값에 따라 관절 거리가 기 설정된 기준거리와 다른 경우인 구조 오차값 또는 관절 움직임 속도가 기 설정된 기준속도와 다른 경우인 속도 오차값을 포함할 수 있다.Here, the control unit 230 inputs the joint position value of the first person and the joint position value of the second person in the specific posture information to the discrimination model in a state in which the direction and size of the second person are corrected, and the first person It is possible to calculate a first error value of the joint position value of the second person with respect to the joint position value of . Thereafter, the controller 203 may determine the first accuracy of the discrimination model based on the calculated first error value. Here, the first error value is a structural error value when the joint distance is different from a preset reference distance according to each joint position value of the second person or a speed error value when the joint movement speed is different from the preset reference speed may include

구체적으로, 구조 오차값(Structure Loss)은, 동작을 관절 좌표의 시퀀스로 이해할 때, 무릎 관절, 발 관절 사이의 거리는 정강이의 길이로, 시간에 따라 변화하면 안 된다. 그러므로 시간에 따라 연결된 관 절간의 거리의 불일치(Inconsistency)를 구조 오차값으로 판단할 수 있다.Specifically, when the structure loss value is understood as a sequence of joint coordinates, the distance between the knee joint and the foot joint is the length of the shin, and should not change with time. Therefore, the inconsistency of the distance between the connected joints over time can be judged as a structural error value.

또한, 속도 오차값(Velocity Loss)은, 시간에 따른 관절의 이동 즉, 관절의 속도가 지나치게 빨라서는 안 된다. 그러므로 관절의 속도는 실제 데이터셋 상의 관절의 움직임을 따라갈 수 있을 만큼 충분히 크면서 노이즈(Noise)를 일으키며 이동하지 않도록 적당히 느려야 한다. 따라서, 관절의 속도를 속도 오차값으로 판단할 수 있다.In addition, the velocity error value (Velocity Loss), the movement of the joint according to time, that is, the joint velocity should not be too fast. Therefore, the speed of the joint must be large enough to follow the movement of the joint on the actual data set, and be slow enough not to cause noise and move. Therefore, the speed of the joint can be determined as a speed error value.

제어부(230)는 상기 제1 정확도를 기반으로 상기 제1 정확도가 기 설정된 임계값 미만인지 판단하여, 상기 제1 정확도가 상기 임계값 미만이 될 때까지, 상기 관절 예측 모델 또는 상기 판별 모델을 반복 기계학습할 수 있다. 이에 따라 상기 서버(20)는 상기 촬영장치(10)에서 실시간으로 촬영되는 영상을 기반으로 실시간으로 인물의 움직임을 파악하여 관절 위치값을 획득할 수 있는 효과를 가질 수 있다.The control unit 230 determines whether the first accuracy is less than a preset threshold value based on the first accuracy, and repeats the joint prediction model or the determination model until the first accuracy is less than the threshold value can machine learning. Accordingly, the server 20 may have the effect of acquiring a joint position value by recognizing the movement of a person in real time based on the image captured in real time by the photographing device 10 .

이하, 제어부(230)가 마커를 부착하고 움직인 인물(3)에 대해 마커를 통해 상기 인물(3)의 움직임에 대해 인식하는 경우, 이를 '제3 인물'이라고 명칭하고, 제어부(230)가 마커를 부착하고 움직인 상기 인물(3)에 대해 마커를 인식하지 않고 상기 인물(3)의 움직임에 대해 인식하는 경우, 이를 '제4 인물'이라고 명칭 하겠다. 따라서, 제3 인물과 제4 인물은 동일인물임을 의미할 수 있다. 추가로, 인물(2)과 인물(3)은 다른 인물이거나 동일 인물일 수 있고, 인물(2)과 인물(3)은 다른 동작으로 움직이거나 같은 동작으로 움직일 수 있다. 하지만, 인물(2)과 인물(3)이 같은 동작으로 움직이더라도 아예 동일한 동작으로 움직이는 것은 불가능하다.Hereinafter, when the control unit 230 recognizes the movement of the person 3 through the marker with respect to the person 3 who has attached the marker, this is called a 'third person', and the control unit 230 When the movement of the person 3 is recognized without recognizing the marker for the person 3 who has attached the marker and moved, this will be referred to as a 'fourth person'. Accordingly, it may mean that the third person and the fourth person are the same person. Additionally, the person 2 and the person 3 may be different persons or the same person, and the person 2 and the person 3 may move with different motions or move with the same motion. However, even if the person 2 and the person 3 move with the same motion, it is impossible to move with the same motion.

제어부(230)는 상기 제1 오차값, 제2 입력 영상을 상기 관절 예측 모델에 입력하여 상기 관절 예측 모델을 기계학습할 수 있다. 제어부(230)는 기 저장된 제3 인물의 관절 위치값과 상기 학습된 관절 예측 모델을 기반으로 학습하여 산출한 제4 인물의 관절 위치값을 상기 판별 모델에 입력하여 상기 판별 모델을 기계학습할 수 있다. The controller 230 may machine-lear the joint prediction model by inputting the first error value and the second input image to the joint prediction model. The control unit 230 may perform machine learning of the discriminant model by inputting the joint position value of the third person stored in advance and the joint position value of the fourth person calculated by learning based on the learned joint prediction model to the discrimination model. have.

도 2는 본 발명에 따른 서버(20)의 동작에 대해 개략적으로 나타낸 도면이다.2 is a diagram schematically showing the operation of the server 20 according to the present invention.

도 2를 보면, 서버(20)는 촬영장치(10)로부터 수신한 입력 영상을 기반으로 제1 인물이 행하는 복수의 자세에 대한 자세를 행하는 제1 인물의 방향, 크기 및 관절들 각각의 관절 위치값을 포함하는 각각의 자세 정보를 획득할 수 있다.Referring to FIG. 2 , the server 20 performs a posture for a plurality of postures performed by the first person based on the input image received from the photographing device 10 , the direction, size, and joint position of each of the joints. Each posture information including a value may be obtained.

서버(20)는 상기 입력 영상 내에 포함된 제2 인물의 방향 및 크기를 파악하고, 상기 입력 영상을 관절 예측 모델에 입력하여, 제2 인물의 관절들 각각의 관절 위치값을 획득할 수 있다. 여기서, 서버(20)는 상기 저장된 각각의 자세 정보 중 상기 파악된 제2 인물의 관절 위치값에 해당하는 특정 자세 정보를 파악할 수 있다. 서버(20)는 상기 파악된 제2 인물의 방향 및 크기를 상기 파악된 특정 자세 정보 내의 제1 인물의 방향 및 크기로 보정하고, 제2 인물의 방향 및 크기가 보정된 상태에서, 상기 특정 자세 정보 내의 제1 인물의 관절 위치값 및 제2 인물의 관절 위치값을 판별 모델에 입력하여, 제1 인물의 관절 위치값에 대한 제2 인물의 관절 위치값의 제1 오차값을 산출할 수 있다.The server 20 may determine the direction and size of the second person included in the input image, and input the input image to the joint prediction model to obtain joint position values of the joints of the second person. Here, the server 20 may identify specific posture information corresponding to the identified joint position value of the second person among the stored respective posture information. The server 20 corrects the identified direction and size of the second person to the direction and size of the first person in the identified specific posture information, and in a state in which the direction and size of the second person are corrected, the specific posture By inputting the joint position value of the first person and the joint position value of the second person in the information into the discrimination model, a first error value of the joint position value of the second person with respect to the joint position value of the first person can be calculated .

서버(20)는 상기 산출된 제1 오차값을 기반으로 상기 판별 모델의 제1 정확도를 판단할 수 있다.The server 20 may determine the first accuracy of the discrimination model based on the calculated first error value.

서버(20)는 상기 제1 오차값, 제2 입력 영상을 상기 관절 예측 모델에 입력하여 상기 관절 예측 모델을 기계학습하고, 기 저장된 제3 인물의 관절 위치값과 상기 학습된 관절 예측 모델을 기반으로 학습하여 산출한 제4 인물의 관절 위치값을 상기 판별 모델에 입력하여 상기 판별 모델을 기계학습할 수 있다.The server 20 performs machine learning of the joint prediction model by inputting the first error value and the second input image to the joint prediction model, and based on the previously stored joint position value of a third person and the learned joint prediction model By inputting the joint position value of the fourth person calculated by learning to the discrimination model, the discrimination model may be machine-learned.

따라서, 상기 관절 예측 모델과 상기 판별 모델은 계속해서 기계학습을 통해 오차값이 낮아지고, 이로 인해 새로운 영상을 입력하는 경우, 실시간으로 새로운 영상의 인물의 움직임에 따라 관절 위치값을 획득할 수 있다.Therefore, the joint prediction model and the discriminant model continue to have lower error values through machine learning. Accordingly, when a new image is input, joint position values can be obtained in real time according to the movement of the person in the new image. .

도 3은 본 발명에 따른 서버(20)가 영상 내의 모션을 인식하는 과정을 나타낸 흐름도이다.3 is a flowchart illustrating a process in which the server 20 according to the present invention recognizes a motion in an image.

도 4는 본 발명에 따른 관절 예측 모델에서 관절 위치값을 획득하는 과정을 나타낸 예시도이다.4 is an exemplary diagram illustrating a process of obtaining a joint position value in a joint prediction model according to the present invention.

도 5는 본 발명에 따른 관절 예측 모델을 통해 예측된 관절 간의 거리에 대해 발생되는 오차값에 대한 예시도이다.5 is an exemplary diagram of an error value generated for a distance between joints predicted through a joint prediction model according to the present invention.

도 6은 본 발명에 따른 관절 예측 모델을 통해 예측된 관절의 이동속도에 대해 발생되는 오차값에 대한 예시도이다.6 is an exemplary diagram of an error value generated for the movement speed of the joint predicted through the joint prediction model according to the present invention.

먼저, 도 3을 보면, 본 발명의 영상 내의 모션을 인식하는 과정은 서버(20)에 의해 수행될 수 있으며, 특정 프로그램을 통해 수행될 수 있다. 또한, 이하, 서버(20)의 모든 동작은 제어부(230)가 동일하게 수행할 수 있다.First, referring to FIG. 3 , the process of recognizing a motion in an image of the present invention may be performed by the server 20 and may be performed through a specific program. Also, hereinafter, all operations of the server 20 may be performed by the controller 230 in the same manner.

서버(20)는 제1 인물의 자세 정보를 획득하여 저장할 수 있다(S301). The server 20 may obtain and store the posture information of the first person (S301).

상기 서버(20)는 입력 영상 내의 제1 인물이 행하는 복수의 자세에 대한 각각의 자세 정보를 획득하여 저장할 수 있다. 여기서, 상기 각각의 자세 정보는, 해당 자세를 행하는 제1 인물의 방향, 크기 및 관절들 각각의 관절 위치값을 포함할 수 있다.The server 20 may obtain and store the respective posture information for a plurality of postures performed by the first person in the input image. Here, the respective posture information may include the direction, size, and joint position value of each of the joints of the first person performing the corresponding posture.

서버(20)는 제2 인물의 방향 및 크기 파악(S302)하고, 관절 예측 모델을 기반으로 제2 인물의 관절 위치값 획득할 수 있다(S303).The server 20 may determine the direction and size of the second person (S302), and may obtain the joint position value of the second person based on the joint prediction model (S303).

서버(20)는 상기 입력 영상 내에 포함된 제2 인물의 방향 및 크기를 파악하고, 상기 입력 영상을 관절 예측 모델에 입력하여, 제2 인물의 관절들 각각의 관절 위치값을 획득할 수 있다. The server 20 may determine the direction and size of the second person included in the input image, and input the input image to the joint prediction model to obtain joint position values of the joints of the second person.

여기서, 관절 예측 모델은 상기 입력 영상 내에 각각의 프레임 별로 상기 제2 인물의 위치에 기반하여 고정된 지점의 기준좌표를 생성하고, 상기 프레임을 연결하여 상기 기준좌표를 중심으로 상기 제2 인물의 움직임에 따라 상기 제2 인물의 관절들 각각의 관절 위치값을 획득할 수 있다.Here, the joint prediction model generates reference coordinates of a fixed point based on the position of the second person for each frame in the input image, and connects the frames to move the second person around the reference coordinates Accordingly, a joint position value of each of the joints of the second person may be obtained.

도 4의 왼쪽을 보면, 서버(20)는 관절 예측 모델을 통해 상기 입력 영상 내에 각각의 프레임별로 관절 위치값을 획득할 때 제2 인물(401)의 위치에 기반하여 고정된 지점의 기준좌표(402)를 기준으로 잡고, 상기 이로 인해 프레임을 연결하여 상기 기준좌표를 중심으로 상기 제2 인물의 움직임에 따라 상기 제2 인물의 관절들 각각의 관절 위치값을 획득할 수 있다. 여기서, 상기 관절 예측 모델은 컨볼루션 뉴럴 네트워크(CNN, convolutional neural network) 및 순환 뉴럴 네트워크(recurrent neural network)를 포함할 수 있다.4, when the server 20 obtains the joint position value for each frame in the input image through the joint prediction model, the reference coordinate of the fixed point based on the position of the second person 401 ( 402) as a reference, and thereby, by connecting frames, it is possible to obtain joint position values of each of the joints of the second person according to the movement of the second person around the reference coordinates. Here, the joint prediction model may include a convolutional neural network (CNN) and a recurrent neural network.

일 예로, 서버(20)는 기준좌표(402)를 움직이지 않는 고정된 지점인 바닥의 한 지점으로 잡을 수 있다. 도 4 왼쪽은 제2 인물(401)이 바닥의 기준좌표(402)를 기준으로 30cm 점프한 상태인 제1 프레임이고, 도 4 오른쪽은 제1 프레임 다음 프레임인 제2 프레임으로 0.3초가 흐른 후의 프레임으로 바닥의 기준좌표(402)를 기준으로 제2 인물(401)이 오른쪽 위로 점프한 상태이다. 여기서, 서버(20)는 제2 프레임의 제2 인물(401)의 상태는 0.3초가 흐른 상태인데 제1 프레임의 위치에서 사람이 움직일 수 없는 위치에 있는 것이므로 이러한 오차에 대해서 삭제하는 과정을 통해 상기 제2 인물(401)의 관절들 각각의 관절 위치값을 획득할 수 있다. As an example, the server 20 may hold the reference coordinate 402 as a point on the floor that is a fixed point that does not move. The left side of Fig. 4 is the first frame in which the second person 401 jumps by 30 cm based on the reference coordinates 402 of the floor, and the right side of Fig. 4 is the second frame after the first frame, after 0.3 seconds have elapsed. As a result, the second person 401 jumps upward to the right based on the reference coordinates 402 of the floor. Here, in the server 20, the state of the second person 401 of the second frame is 0.3 seconds elapsed, but since it is in a position where a person cannot move from the position of the first frame, through the process of deleting this error, It is possible to obtain a joint position value of each of the joints of the second person 401 .

서버(20)는 제2 인물의 관절 위치값에 해당하는 특정 자세 정보 파악하고(S304), 제2 인물의 특정 자세 정보를 기반으로 제1 인물의 방향 및 크기로 보정할 수 있다(S305).The server 20 may determine specific posture information corresponding to the joint position value of the second person (S304), and correct the direction and size of the first person based on the specific posture information of the second person (S305).

서버(20)는 입력 영상 내의 제1 인물이 행하는 복수의 자세에 대해 획득한 각각의 자세 정보를 중 상기 파악된 제2 인물의 관절 위치값에 해당하는 특정 자세 정보를 파악하고, 상기 파악된 제2 인물의 방향 및 크기를 상기 파악된 특정 자세 정보 내의 제1 인물의 방향 및 크기로 보정할 수 있다.The server 20 recognizes specific posture information corresponding to the joint position value of the identified second person among the respective posture information obtained for a plurality of postures performed by the first person in the input image, and the identified second person The direction and size of the second person may be corrected with the direction and size of the first person in the identified specific posture information.

서버(20)는 제1 인물의 제1 자세 정보를 기준으로 제2 인물의 제1 자세와 동일한 특정 자세 정보를 파악하여 제2 인물의 방향 및 크기를 제1 인물의 방향 및 크기로 보정할 수 있다. 따라서, 제1 인물의 관절 위치값과 제2 인물의 관절 위치값을 판별하기 전에 방향과 크기의 보정을 통해 정확한 판별이 가능하도록 할 수 있는 효과를 가질 수 있다. The server 20 may determine the specific posture information identical to the first posture of the second person based on the first posture information of the first person and correct the direction and size of the second person to the direction and size of the first person have. Therefore, before determining the joint position value of the first person and the joint position value of the second person, it is possible to have the effect of enabling accurate determination through correction of the direction and size.

서버(20)는 판별 모델을 기반으로 제2 인물의 관절 위치값의 제1 오차값 산출할 수 있다(S306).The server 20 may calculate a first error value of the joint position value of the second person based on the discrimination model (S306).

서버(20)는 제2 인물의 방향 및 크기가 보정된 상태에서, 상기 특정 자세 정보 내의 제1 인물의 관절 위치값 및 제2 인물의 관절 위치값을 판별 모델에 입력하여, 제1 인물의 관절 위치값에 대한 제2 인물의 관절 위치값의 제1 오차값을 산출할 수 있다.In the state in which the direction and size of the second person are corrected, the server 20 inputs the joint position value of the first person and the joint position value of the second person in the specific posture information to the discrimination model, and the joint position of the first person A first error value of the joint position value of the second person with respect to the position value may be calculated.

여기서, 상기 제1 오차값은 상기 제2 인물의 각각의 관절 위치값에 따라 관절 거리가 기 설정된 기준거리와 다른 경우인 구조 오차값 또는 관절 움직임 속도가 기 설정된 기준속도와 다른 경우인 속도 오차값을 포함할 수 있다.Here, the first error value is a structural error value when the joint distance is different from a preset reference distance according to each joint position value of the second person or a speed error value when the joint movement speed is different from the preset reference speed may include

도 5를 보면, 제2 인물(501)의 확정된 팔 길이(손목부터 팔꿈치까지의 길이)가 27cm인데 도 5에서의 제2 인물(501)의 관절 위치값에 따른 팔 길이가 50cm인 경우, 제1 오차값은 구조 오차값일 수 있다.5, if the determined arm length (the length from the wrist to the elbow) of the second person 501 is 27cm, the arm length according to the joint position value of the second person 501 in FIG. 5 is 50cm, The first error value may be a structure error value.

도 6을 보면, 왼쪽은 제2 인물(601)의 팔이 머리 위로 올라간 상태이고, 0.01초의 시간이 경과된 오른쪽은 제2 인물(601)의 팔이 밑으로 내려간 상태인 경우, 관절의 동작 속도가 일정 속도 이상으로 움직일 수 없으므로 이 경우, 제1 오차값은 속도 오차값일 수 있다.Referring to FIG. 6 , the left side shows the state in which the arm of the second person 601 is raised above the head, and the right side after the time of 0.01 seconds has elapsed is the state where the arm of the second person 601 goes down, the joint motion speed Since cannot move over a certain speed, in this case, the first error value may be a speed error value.

서버(20)는 제1 오차값을 기반으로 상기 판별 모델의 제1 정확도를 판단할 수 있다(S307).The server 20 may determine the first accuracy of the discrimination model based on the first error value (S307).

서버(20)는 상기 제1 정확도를 기반으로 상기 제1 정확도가 기 설정된 임계값 미만인지 판단하여, 상기 제1 정확도가 상기 임계값 미만이 될 때까지, 상기 관절 예측 모델 또는 상기 판별 모델을 반복 기계학습할 수 있다. 이에 따라 상기 서버(20)는 상기 촬영장치(10)에서 실시간으로 촬영되는 영상을 기반으로 실시간으로 인물의 움직임을 파악하여 관절 위치값을 획득할 수 있는 효과를 가질 수 있다.The server 20 determines whether the first accuracy is less than a preset threshold value based on the first accuracy, and repeats the joint prediction model or the determination model until the first accuracy is less than the threshold value can machine learning. Accordingly, the server 20 may have the effect of acquiring a joint position value by recognizing the movement of a person in real time based on the image captured in real time by the photographing device 10 .

서버(20)는 관절 예측 모델과 판별 모델 기계학습할 수 있다(S308).The server 20 may perform machine learning of the joint prediction model and the discrimination model (S308).

서버(20)는 상기 제1 오차값, 제2 입력 영상을 상기 관절 예측 모델에 입력하여 상기 관절 예측 모델을 기계학습할 수 있다. 서버(20)는 기 저장된 제3 인물의 관절 위치값과 상기 학습된 관절 예측 모델을 기반으로 학습하여 산출한 제4 인물의 관절 위치값을 상기 판별 모델에 입력하여 상기 판별 모델을 기계학습할 수 있다.The server 20 may machine-lear the joint prediction model by inputting the first error value and the second input image to the joint prediction model. The server 20 may machine-lear the discrimination model by inputting the joint position value of the third person stored in advance and the joint position value of the fourth person calculated by learning based on the learned joint prediction model to the discrimination model. have.

도 3은 단계 S301 내지 단계 S308을 순차적으로 실행하는 것으로 기재하고 있으나, 이는 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 도 3에 기재된 순서를 변경하여 실행하거나 단계 S301 내지 단계 S308 중 하나 이상의 단계를 병렬적으로 실행하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이므로, 도 3은 시계열적인 순서로 한정되는 것은 아니다.3 illustrates that steps S301 to S308 are sequentially executed, this is merely illustrative of the technical idea of this embodiment, and those of ordinary skill in the art to which this embodiment belongs Since it will be possible to change the order described in FIG. 3 and execute it or execute at least one of steps S301 to S308 in parallel within a range that does not deviate from the essential characteristics, various modifications and variations may be applied, so that FIG. 3 is in a time-series order It is not limited.

이상에서 전술한 본 발명에 따른 방법은, 하드웨어인 서버와 결합되어 실행되기 위해 프로그램(또는 어플리케이션)으로 구현되어 매체에 저장될 수 있다.The method according to the present invention described above may be implemented as a program (or application) to be executed in combination with a server, which is hardware, and stored in a medium.

상기 전술한 프로그램은, 상기 컴퓨터가 프로그램을 읽어들여 프로그램으로 구현된 상기 방법들을 실행시키기 위하여, 상기 컴퓨터의 프로세서(CPU)가 상기 컴퓨터의 장치 인터페이스를 통해 읽힐 수 있는 C, C++, JAVA, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다. 이러한 코드는 상기 방법들을 실행하는 필요한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Functional Code)를 포함할 수 있고, 상기 기능들을 상기 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수 있다. 또한, 이러한 코드는 상기 기능들을 상기 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 상기 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조되어야 하는지에 대한 메모리 참조관련 코드를 더 포함할 수 있다. 또한, 상기 컴퓨터의 프로세서가 상기 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 상기 컴퓨터의 통신 모듈을 이용하여 원격에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수 있다.The above-described program is C, C++, JAVA, machine language, etc. that a processor (CPU) of the computer can read through the device interface of the computer in order for the computer to read the program and execute the methods implemented as a program It may include code (Code) coded in the computer language of Such code may include functional code related to a function defining functions necessary for executing the methods, etc., and includes an execution procedure related control code necessary for the processor of the computer to execute the functions according to a predetermined procedure. can do. In addition, the code may further include additional information necessary for the processor of the computer to execute the functions or code related to memory reference for which location (address address) in the internal or external memory of the computer to be referenced. have. In addition, when the processor of the computer needs to communicate with any other computer or server located remotely in order to execute the functions, the code uses the communication module of the computer to determine how to communicate with any other computer or server remotely. It may further include a communication-related code for whether to communicate and what information or media to transmit and receive during communication.

본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.The steps of a method or algorithm described in relation to an embodiment of the present invention may be implemented directly in hardware, as a software module executed by hardware, or by a combination thereof. A software module may contain random access memory (RAM), read only memory (ROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, hard disk, removable disk, CD-ROM, or It may reside in any type of computer-readable recording medium well known in the art to which the present invention pertains.

이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.As mentioned above, although embodiments of the present invention have been described with reference to the accompanying drawings, those skilled in the art to which the present invention pertains know that the present invention may be embodied in other specific forms without changing the technical spirit or essential features thereof. you will be able to understand Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive.

10: 촬영장치
20: 서버
10: shooting device
20: server

Claims (10)

서버에 의해 수행되는 영상 내의 모션 인식 방법에 있어서,
제1 인물이 행하는 복수의 자세에 대한 각각의 자세 정보를 획득하여 저장하는 단계-상기 각각의 자세 정보는, 해당 자세를 행하는 제1 인물의 방향, 크기 및 관절들 각각의 관절 위치값을 포함함-;
입력 영상 내에 포함된 제2 인물의 방향 및 크기를 파악하는 단계;
상기 입력 영상을 관절 예측 모델에 입력하여, 제2 인물의 관절들 각각의 관절 위치값을 획득하는 단계;
상기 저장된 각각의 자세 정보 중 상기 파악된 제2 인물의 관절 위치값에 해당하는 특정 자세 정보를 파악하는 단계;
상기 파악된 제2 인물의 방향 및 크기를 상기 파악된 특정 자세 정보 내의 제1 인물의 방향 및 크기로 보정하는 단계;
제2 인물의 방향 및 크기가 보정된 상태에서, 상기 특정 자세 정보 내의 제1 인물의 관절 위치값 및 제2 인물의 관절 위치값을 판별 모델에 입력하여, 제1 인물의 관절 위치값에 대한 제2 인물의 관절 위치값의 제1 오차값을 산출하는 단계; 및
상기 산출된 제1 오차값을 기반으로 상기 판별 모델의 제1 정확도를 판단하는 단계;를 포함하고,
상기 제1 인물과 상기 제2 인물은 동일 인물인, 모션 인식 방법.
A method for recognizing motion in an image performed by a server, the method comprising:
Acquiring and storing each posture information for a plurality of postures performed by the first person - Each of the posture information includes the direction, size, and joint position value of each of the joints of the first person performing the posture -;
recognizing the direction and size of a second person included in the input image;
inputting the input image to a joint prediction model to obtain joint position values of joints of a second person;
identifying specific posture information corresponding to the identified joint position value of the second person among the stored posture information;
correcting the identified direction and size of the second person to the direction and size of the first person in the identified specific posture information;
In a state in which the direction and size of the second person are corrected, the joint position value of the first person and the joint position value of the second person in the specific posture information are input to the discrimination model, 2 Calculating a first error value of the joint position value of the person; and
determining the first accuracy of the discrimination model based on the calculated first error value;
wherein the first person and the second person are the same person.
제1항에 있어서,
상기 제1 오차값, 제2 입력 영상을 상기 관절 예측 모델에 입력하여 상기 관절 예측 모델을 기계학습하는 단계;를 더 포함하는, 모션 인식 방법.
According to claim 1,
Machine learning the joint prediction model by inputting the first error value and the second input image to the joint prediction model; further comprising, a motion recognition method.
제2항에 있어서,
기 저장된 제3 인물의 관절 위치값과 상기 학습된 관절 예측 모델을 기반으로 학습하여 산출한 제4 인물의 관절 위치값을 상기 판별 모델에 입력하여 상기 판별 모델을 기계학습하는 단계;를 더 포함하고,
상기 제3 인물과 상기 제4 인물은 동일 인물인, 모션 인식 방법.
3. The method of claim 2,
The method further comprising: inputting the joint position value of the third person stored in advance and the joint position value of the fourth person calculated by learning based on the learned joint prediction model into the discrimination model to machine learning the discrimination model; and ,
The third person and the fourth person are the same person.
제1항에 있어서,
상기 관절 예측 모델은,
상기 입력 영상 내에 각각의 프레임 별로 상기 제2 인물의 위치에 기반하여 고정된 지점의 기준좌표를 생성하고, 상기 프레임을 연결하여 상기 기준좌표를 중심으로 상기 제2 인물의 움직임에 따라 상기 제2 인물의 관절들 각각의 관절 위치값을 획득하는, 모션 인식 방법.
According to claim 1,
The joint prediction model is,
For each frame in the input image, a reference coordinate of a fixed point is generated based on the position of the second person for each frame, and the second person is connected according to the movement of the second person based on the reference coordinate by connecting the frames. A method of recognizing a motion to obtain a joint position value of each of the joints.
제1항에 있어서,
상기 제1 오차값은,
상기 제2 인물의 각각의 관절 위치값에 따라 관절 거리가 기 설정된 기준거리와 다른 경우인 구조 오차값 또는 관절 움직임 속도가 기 설정된 기준속도와 다른 경우인 속도 오차값을 포함하는, 모션 인식 방법.
According to claim 1,
The first error value is
According to each joint position value of the second person, a structure error value when the joint distance is different from a preset reference distance, or a speed error value when the joint movement speed is different from the preset reference speed, according to the joint position value of the second person.
제1항에 있어서,
상기 제1 정확도를 기반으로 상기 제1 정확도가 기 설정된 임계값 미만인지 판단하여, 상기 제1 정확도가 상기 임계값 미만이 될 때까지, 상기 관절 예측 모델 또는 상기 판별 모델을 반복 기계학습시키는 단계;를 더 포함하는, 모션 인식 방법.
According to claim 1,
determining whether the first accuracy is less than a preset threshold value based on the first accuracy, and repeatedly machine learning the joint prediction model or the discrimination model until the first accuracy is less than the threshold value; Further comprising, a motion recognition method.
영상 내의 모션 인식을 수행하는 서버에 있어서,
정보를 저장하는 메모리;
제1 인물이 행하는 복수의 자세에 대한 각각의 자세 정보를 획득하여 저장하고-상기 각각의 자세 정보는, 해당 자세를 행하는 제1 인물의 방향, 크기 및 관절들 각각의 관절 위치값을 포함함,
입력 영상 내에 포함된 제2 인물의 방향 및 크기를 파악하고,
상기 입력 영상을 관절 예측 모델에 입력하여, 제2 인물의 관절들 각각의 관절 위치값을 획득하고,
상기 저장된 각각의 자세 정보 중 상기 파악된 제2 인물의 관절 위치값에 해당하는 특정 자세 정보를 파악하고,
상기 파악된 제2 인물의 방향 및 크기를 상기 파악된 특정 자세 정보 내의 제1 인물의 방향 및 크기로 보정하고,
제2 인물의 방향 및 크기가 보정된 상태에서, 상기 특정 자세 정보 내의 제1 인물의 관절 위치값 및 제2 인물의 관절 위치값을 판별 모델에 입력하여, 제1 인물의 관절 위치값에 대한 제2 인물의 관절 위치값의 제1 오차값을 산출하고,
상기 산출된 제1 오차값을 기반으로 상기 판별 모델의 제1 정확도를 판단하는 제어부;를 포함하고,
상기 제1 인물과 상기 제2 인물은 동일 인물인, 서버.
In the server for performing motion recognition in the image,
memory for storing information;
Obtaining and storing respective posture information for a plurality of postures performed by the first person, wherein each posture information includes the direction, size, and joint position value of each of the joints of the first person performing the posture;
Identify the direction and size of the second person included in the input image,
By inputting the input image to the joint prediction model, the joint position value of each joint of the second person is obtained,
Identifying specific posture information corresponding to the joint position value of the second person identified among the stored posture information,
correcting the direction and size of the identified second person to the direction and size of the first person in the identified specific posture information;
In a state in which the direction and size of the second person are corrected, the joint position value of the first person and the joint position value of the second person in the specific posture information are input to the discrimination model, 2 Calculate the first error value of the joint position value of the person,
A control unit for determining the first accuracy of the discrimination model based on the calculated first error value;
The first person and the second person are the same person, the server.
제1항에 있어서,
상기 제어부는,
상기 제1 오차값, 제2 입력 영상을 상기 관절 예측 모델에 입력하여 상기 관절 예측 모델을 기계학습하고,
기 저장된 제3 인물의 관절 위치값과 상기 학습된 관절 예측 모델을 기반으로 학습하여 산출한 제4 인물의 관절 위치값을 상기 판별 모델에 입력하여 상기 판별 모델을 기계학습하고,
상기 제3 인물과 상기 제4 인물은 동일 인물인, 서버.
According to claim 1,
The control unit is
Machine learning the joint prediction model by inputting the first error value and the second input image to the joint prediction model,
Machine learning the discriminant model by inputting the joint position value of the third person stored in advance and the joint position value of the fourth person calculated by learning based on the learned joint prediction model to the discrimination model,
The third person and the fourth person are the same person.
제1항에 있어서,
상기 관절 예측 모델은,
상기 입력 영상 내에 각각의 프레임 별로 상기 제2 인물의 위치에 기반하여 고정된 지점의 기준좌표를 생성하고, 상기 프레임을 연결하여 상기 기준좌표를 중심으로 상기 제2 인물의 움직임에 따라 상기 제2 인물의 관절들 각각의 관절 위치값을 획득하는, 서버.
According to claim 1,
The joint prediction model is,
For each frame in the input image, a reference coordinate of a fixed point is generated based on the position of the second person for each frame, and the second person is connected according to the movement of the second person based on the reference coordinate by connecting the frames. Obtaining the joint position value of each of the joints, the server.
컴퓨터와 결합하여, 제1항 내지 제6항 중 어느 한 항의 방법을 실행시키기 위해 컴퓨터 판독가능 기록매체에 저장된 프로그램.A program stored in a computer-readable recording medium in combination with a computer to execute the method of any one of claims 1 to 6.
KR1020200152672A 2020-11-16 2020-11-16 Method, Server and System for Recognizing Motion in Video KR102542878B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200152672A KR102542878B1 (en) 2020-11-16 2020-11-16 Method, Server and System for Recognizing Motion in Video
KR1020230073356A KR20230093191A (en) 2020-11-16 2023-06-08 Method for recognizing joint by error type, server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200152672A KR102542878B1 (en) 2020-11-16 2020-11-16 Method, Server and System for Recognizing Motion in Video

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020230073356A Division KR20230093191A (en) 2020-11-16 2023-06-08 Method for recognizing joint by error type, server

Publications (2)

Publication Number Publication Date
KR20220066535A true KR20220066535A (en) 2022-05-24
KR102542878B1 KR102542878B1 (en) 2023-06-14

Family

ID=81807558

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020200152672A KR102542878B1 (en) 2020-11-16 2020-11-16 Method, Server and System for Recognizing Motion in Video
KR1020230073356A KR20230093191A (en) 2020-11-16 2023-06-08 Method for recognizing joint by error type, server

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020230073356A KR20230093191A (en) 2020-11-16 2023-06-08 Method for recognizing joint by error type, server

Country Status (1)

Country Link
KR (2) KR102542878B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102612586B1 (en) * 2022-12-12 2023-12-11 박치호 Control method of electronic device removing abnormal image frame and restoring according to joint recognition in video

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100104228A (en) * 2009-03-17 2010-09-29 삼성전자주식회사 Apparatus and method for generating skeleton model using motion data and image data
KR20150114141A (en) * 2014-03-31 2015-10-12 한국전자통신연구원 System and method for motion estimation
KR20180045436A (en) * 2016-10-25 2018-05-04 동국대학교 산학협력단 The system and method for detecting motion using low-cost inertial sensor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100104228A (en) * 2009-03-17 2010-09-29 삼성전자주식회사 Apparatus and method for generating skeleton model using motion data and image data
KR20150114141A (en) * 2014-03-31 2015-10-12 한국전자통신연구원 System and method for motion estimation
KR20180045436A (en) * 2016-10-25 2018-05-04 동국대학교 산학협력단 The system and method for detecting motion using low-cost inertial sensor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102612586B1 (en) * 2022-12-12 2023-12-11 박치호 Control method of electronic device removing abnormal image frame and restoring according to joint recognition in video

Also Published As

Publication number Publication date
KR102542878B1 (en) 2023-06-14
KR20230093191A (en) 2023-06-27

Similar Documents

Publication Publication Date Title
US11430263B2 (en) Machine vision with dimensional data reduction
US7532743B2 (en) Object detector, object detecting method and robot
KR20180057096A (en) Device and method to perform recognizing and training face expression
KR101907077B1 (en) Method and apparatus for motion recognition
CN109685037B (en) Real-time action recognition method and device and electronic equipment
JP2019028843A (en) Information processing apparatus for estimating person's line of sight and estimation method, and learning device and learning method
JP2012518236A (en) Method and system for gesture recognition
CN105426827A (en) Living body verification method, device and system
US6980889B2 (en) Information processing apparatus and method, program storage medium, and program
US10162737B2 (en) Emulating a user performing spatial gestures
US20110208685A1 (en) Motion Capture Using Intelligent Part Identification
CN112966574A (en) Human body three-dimensional key point prediction method and device and electronic equipment
KR20200085696A (en) Method of processing video for determining emotion of a person
KR20230093191A (en) Method for recognizing joint by error type, server
CN108875506B (en) Face shape point tracking method, device and system and storage medium
KR20210039875A (en) Method, device and non-transitory computer-readable recording medium for estimating information about golf swing
KR20230080938A (en) Method and apparatus of gesture recognition and classification using convolutional block attention module
CN113553893A (en) Human body falling detection method and device based on deep neural network and electronic equipment
CN112199994A (en) Method and device for detecting interaction between 3D hand and unknown object in RGB video in real time
CA3172248A1 (en) Joint rotation inferences based on inverse kinematics
CN113916223B (en) Positioning method and device, equipment and storage medium
CN114782592A (en) Cartoon animation generation method, device and equipment based on image and storage medium
KR20210146265A (en) Method, device and non-transitory computer-readable recording medium for estimating information about golf swing
Portillo-Rodriguez et al. Development of a 3D real time gesture recognition methodology for virtual environment control
CN115966016B (en) Jump state identification method, system, electronic equipment and storage medium

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right