KR102273276B1 - Real-time motion analysis method and device performing the same - Google Patents

Real-time motion analysis method and device performing the same Download PDF

Info

Publication number
KR102273276B1
KR102273276B1 KR1020200082168A KR20200082168A KR102273276B1 KR 102273276 B1 KR102273276 B1 KR 102273276B1 KR 1020200082168 A KR1020200082168 A KR 1020200082168A KR 20200082168 A KR20200082168 A KR 20200082168A KR 102273276 B1 KR102273276 B1 KR 102273276B1
Authority
KR
South Korea
Prior art keywords
unit
pattern
patterns
motion analysis
unit patterns
Prior art date
Application number
KR1020200082168A
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 KR1020200082168A priority Critical patent/KR102273276B1/en
Application granted granted Critical
Publication of KR102273276B1 publication Critical patent/KR102273276B1/en

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
    • A61B5/1126Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb using a particular sensing technique
    • A61B5/1127Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb using a particular sensing technique using markers
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
    • A61B5/1116Determining posture transitions
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
    • A61B5/112Gait analysis
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
    • A61B5/1126Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb using a particular sensing technique
    • A61B5/1128Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb using a particular sensing technique using image analysis
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B2503/00Evaluating a particular growth phase or type of persons or animals
    • A61B2503/12Healthy persons not otherwise provided for, e.g. subjects of a marketing survey

Landscapes

  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Molecular Biology (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Biophysics (AREA)
  • Pathology (AREA)
  • Dentistry (AREA)
  • Biomedical Technology (AREA)
  • Physiology (AREA)
  • Medical Informatics (AREA)
  • Physics & Mathematics (AREA)
  • Surgery (AREA)
  • Animal Behavior & Ethology (AREA)
  • General Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Radiology & Medical Imaging (AREA)
  • Image Analysis (AREA)

Abstract

Disclosed are a real-time motion analysis method and a device for performing the same. According to an embodiment, the motion analysis method includes the steps of: a step of acquiring an image of a user who has attached a marker in a form of a band surrounding a part of a body; and analyzing a user's motion based on the image. A marker includes a pattern in which first unit patterns formed by a plurality of unit polygons sharing one vertex are arranged in a line. The first unit patterns share at least one unit polygon with an adjacent first unit pattern, and the unit polygons may or may not include an identification mark therein. The present invention provides a real-time motion analysis technology capable of estimating the displacement of each body part with 6 degrees of freedom.

Description

실시간 동작 분석 방법 및 이를 수행하는 장치{REAL-TIME MOTION ANALYSIS METHOD AND DEVICE PERFORMING THE SAME}REAL-TIME MOTION ANALYSIS METHOD AND DEVICE PERFORMING THE SAME

아래 실시예들은 실시간 동작 분석 방법 및 이를 수행하는 장치에 관한 것이다.The following embodiments relate to a real-time motion analysis method and an apparatus for performing the same.

최근 걷기 운동이 주목을 받으면서 다양한 걷기 운동법이 소개되고 있으며 걷기 운동에 최적화된 신발이 개발되고 있으며, 보행 자세를 교정하기 위한 다양한 프로그램과 이를 뒷받침하기 위한 센싱 및 분석 기구들이 개발되고 있다.Recently, as walking exercise has attracted attention, various walking exercise methods have been introduced, shoes optimized for walking exercise have been developed, and various programs for correcting walking posture and sensing and analysis devices to support this are being developed.

보행 분석 방법으로 적외선 카메라 및 역반사 마커를 이용하는 방법이 가장 일반적이다. 다만, 적외선 카메라를 이용하는 경우 마커의 가려짐에 의해 마커의 추적이 끊길 수 있으며, 가격이 매우 비싸다.The most common method for gait analysis is to use an infrared camera and retroreflective markers. However, when an infrared camera is used, the tracking of the marker may be interrupted due to the occlusion of the marker, and the price is very high.

다른 보행 분석 방법으로 여러 방향에서 관찰하여 얻을 실루엣을 바탕으로 인체의 모델을 근사하여 관절의 위치와 방향 등에 대한 정보를 얻는 실루엣 기반 동작 분석 방법이 있다. 다만 실루엣에 기반한 동작 분석 방법은 회전과 같이 실루엣 변화가 별로 없는 움직임의 경우 정확도가 매우 떨어진다.As another gait analysis method, there is a silhouette-based motion analysis method that approximates a human body model based on a silhouette obtained by observing from various directions to obtain information about the position and direction of joints. However, the motion analysis method based on the silhouette has very poor accuracy in the case of movements with little silhouette change, such as rotation.

딥러닝 기반의 자세 추정 시스템은 CNN(convolutional neural network)를 이용하여 2차원 이미지상에서 각 관절의 위치를 찾아낼 수 있고 여러 대의 카메라를 이용하는 경우 삼각 측량법(triangulation)을 이용하여 3차원 공간 상에서의 위치를 추정할 수 있지만, 회전에 대한 정보를 알 수 없다.A deep learning-based posture estimation system can find the position of each joint on a two-dimensional image using a convolutional neural network (CNN), and when using multiple cameras, a position in a three-dimensional space using triangulation can be estimated, but no information about the rotation is available.

관련 선행기술로, 한국 공개특허공보 제10-2012-0085064호(발명의 명칭: 착용형 보행분석장치 및 이를 포함한 보행분석시스템)가 있다.As a related prior art, there is Korean Patent Application Laid-Open No. 10-2012-0085064 (title of the invention: wearable gait analysis device and gait analysis system including the same).

실시예들은 신체 각 부분의 6자유도 변위 추정이 가능한 실시간 동작 분석 기술을 제공할 수 있다.Embodiments may provide a real-time motion analysis technology capable of estimating the displacement of each body part with 6 degrees of freedom.

구체적으로, 실시예들은 띠 마커를 이용하여 전 방향에서 인식 가능하고, 끊김 없는 자세 추정이 가능한 동작 분석 기술을 제공할 수 있다.Specifically, the embodiments may provide a motion analysis technique that is recognizable in all directions using a band marker and enables seamless posture estimation.

다만, 기술적 과제는 상술한 기술적 과제들로 한정되는 것은 아니며, 또 다른 기술적 과제들이 존재할 수 있다.However, the technical problems are not limited to the above-described technical problems, and other technical problems may exist.

일 실시예에 따른 동작 분석 방법은, 신체 부위 중 일부를 둘러싸는 띠 형태의 마커를 부착한 사용자를 촬영한 이미지를 획득하는 단계와, 상기 이미지에 기초하여 상기 사용자의 동작을 분석하는 단계를 포함하고, 상기 마커는, 복수의 단위 폴리곤들이 한 꼭지점을 공유하여 형성하는 제1 단위 패턴들이 일렬로 나열된 패턴을 포함하고, 상기 제1 단위 패턴들은, 인접한 제1 단위 패턴과 적어도 하나의 단위 폴리곤을 공유하고, 상기 단위 폴리곤들은, 내부에 식별 표지를 포함하거나 포함하지 않는다.A motion analysis method according to an embodiment includes acquiring an image of a user with a band-shaped marker surrounding a part of the body and analyzing the user's motion based on the image. and, the marker includes a pattern in which first unit patterns formed by a plurality of unit polygons sharing one vertex are arranged in a line, and the first unit patterns include an adjacent first unit pattern and at least one unit polygon. shared, and the unit polygons may or may not contain an identification mark therein.

상기 단위 폴리곤들은 각각은, 삼각형이고, 상기 제1 단위 패턴들은, 한 점을 세 개의 꼭지점 중 하나로 하는 여섯 개의 삼각형이 모여 형성된 육각 패턴들이고, 상기 육각 패턴들은, 인접한 육각 패턴들과 두 개의 삼각형이 중첩되도록 배열될 수 있다.Each of the unit polygons is a triangle, and the first unit patterns are hexagonal patterns formed by gathering six triangles having one point as one of three vertices, and the hexagonal patterns include adjacent hexagonal patterns and two triangles. They may be arranged to overlap.

상기 분석하는 단계는, 상기 이미지를 처리하여 상기 마커의 패턴을 식별하는 단계와, 식별된 패턴에 기초하여 상기 사용자의 자세를 추정하는 단계를 포함할 수 있다.The analyzing may include processing the image to identify the pattern of the marker, and estimating the posture of the user based on the identified pattern.

상기 패턴을 식별하는 단계는, 인접하는 두 개의 제1 단위 패턴들을 포함하는 제2 단위 패턴들을 식별하는 단계와, 상기 제2 단위 패턴들에 기초하여 상기 제1 단위 패턴들의 배치를 식별하는 단계를 포함할 수 있다.The identifying of the pattern may include identifying second unit patterns including two adjacent first unit patterns, and identifying the arrangement of the first unit patterns based on the second unit patterns. may include

상기 제2 단위 패턴들을 식별하는 단계는, 상기 이미지를 이진화하는 단계와, 이진화한 이미지에서 패턴의 윤곽, 상기 단위 폴리곤들의 꼭지점 및 상기 식별 표지를 인식하는 단계와, 상기 제1 단위 패턴들을 인식하는 단계와, 상기 제2 단위 패턴들을 인식하는 단계와, 상기 제2 단위 패턴들 각각에 포함된 제1 단위 패턴들에 기초하여 상기 제2 단위 패턴들 각각의 ID를 식별하는 단계를 포함할 수 있다.The step of identifying the second unit patterns includes binarizing the image, recognizing the outline of the pattern in the binarized image, vertices of the unit polygons, and the identification mark, and recognizing the first unit patterns. The method may include: recognizing the second unit patterns; and identifying the ID of each of the second unit patterns based on the first unit patterns included in each of the second unit patterns. .

상기 ID를 식별하는 단계는, 상기 식별 표지에 기초하여 상기 제2 단위 패턴을 구성하는 첫번째 제1 단위 패턴의 종류를 식별하는 단계와, 상기 식별 표지에 기초하여 상기 단위 패턴을 구성하는 두번째 제1 단위 패턴의 종류를 식별하는 단계와, 상기 첫번째 제1 단위 패턴의 종류, 상기 두번째 제1 단위 패턴의 종류 및 상기 첫번째 제1 단위 패턴 및 두번째 제1 단위 패턴이 중첩되는 위치에 기초하여 상기 ID를 식별하는 단계를 포함할 수 있다.The identifying of the ID may include: identifying a type of a first first unit pattern constituting the second unit pattern based on the identification mark; and a second first unit pattern constituting the unit pattern based on the identification mark. identifying the type of the unit pattern; determining the ID based on the type of the first first unit pattern, the type of the second first unit pattern, and the position where the first first unit pattern and the second first unit pattern overlap It may include the step of identifying.

상기 자세를 추정하는 단계는, 상기 패턴 위 꼭지점들의 좌표를 획득하는 단계와, 상기 배치 및 상기 좌표에 기초하여 동작 분석을 위한 데이터를 계산하는 단계와, 상기 데이터에 기초하여 상기 자세를 추정하는 단계를 포함할 수 있다.The estimating of the posture may include: obtaining coordinates of vertices on the pattern; calculating data for motion analysis based on the arrangement and the coordinates; and estimating the posture based on the data. may include.

상기 데이터를 계산하는 단계는, 상기 신체 부위의 중심 좌표를 정의하는 단계와, 상기 중심 좌표 및 상기 제1 단위 패턴들의 중심들 사이의 상대적 거리 및 각도를 계산하는 단계와, 상기 신체 부위의 길이 방향을 정의하는 단계와, 상기 신체 부위의 앞 부분이 향하는 방향을 정의하는 단계를 포함할 수 있다.The calculating of the data may include: defining a center coordinate of the body part; calculating a relative distance and angle between the central coordinate and the centers of the first unit patterns; and a longitudinal direction of the body part. and defining a direction in which the front part of the body part faces.

상기 데이터를 계산하는 단계는, 상기 중심 좌표와 상기 패턴 위 꼭지점들 사이의 상대적 거리 및 상기 중심 좌표와 제1 단위 패턴들의 중심들 사이의 상대적 각도를 계산하는 단계와, 상기 제1 단위 패턴들의 중심의 좌표 중 일부, 상기 상대적 거리 및 상기 상대적 각도에 기초하여 상기 데이터를 계산하는 단계를 포함할 수 있다.The calculating of the data may include calculating a relative distance between the central coordinates and vertices on the pattern and a relative angle between the central coordinates and centers of the first unit patterns; The method may include calculating the data based on some of the coordinates of , the relative distance, and the relative angle.

일 실시예에 따른 동작 분석 장치는, 인스트럭션들을 포함하는 메모리와, 상기 인스트럭션들을 실행하기 위한 프로세서를 포함하고, 상기 프로세서에 의해 상기 인스트럭션들이 실행될 때, 상기 프로세서는, 사용자의 신체 부위 중 일부를 둘러싸는 띠 형태의 마커를 촬영한 이미지를 획득하고, 상기 이미지에 기초하여 상기 사용자의 동작을 분석하고, 상기 마커는, 복수의 단위 폴리곤들이 한 꼭지점을 공유하여 형성하는 제1 단위 패턴들이 일렬로 나열된 패턴을 포함하고, 상기 제1 단위 패턴들은, 인접한 제1 단위 패턴과 적어도 하나의 단위 폴리곤을 공유하고, 상기 단위 폴리곤들은, 내부에 식별 표지를 포함하거나 포함하지 않는다.A motion analysis apparatus according to an embodiment includes a memory including instructions and a processor for executing the instructions, and when the instructions are executed by the processor, the processor surrounds a portion of a user's body part acquires an image of a band-shaped marker, analyzes the user's motion based on the image, and the marker includes first unit patterns formed by a plurality of unit polygons sharing one vertex in a line a pattern, wherein the first unit patterns share at least one unit polygon with an adjacent first unit pattern, and the unit polygons may or may not include an identification mark therein.

상기 단위 폴리곤들은 각각은, 삼각형이고, 상기 제1 단위 패턴들은, 한 점을 세 개의 꼭지점 중 하나로 하는 여섯 개의 삼각형이 모여 형성된 육각 패턴들이고, 상기 육각 패턴들은, 인접한 육각 패턴들과 두 개의 삼각형이 중첩되도록 배열될 수 있다.Each of the unit polygons is a triangle, and the first unit patterns are hexagonal patterns formed by gathering six triangles having one point as one of three vertices, and the hexagonal patterns include adjacent hexagonal patterns and two triangles. They may be arranged to overlap.

상기 프로세서는, 상기 이미지를 처리하여 상기 마커의 패턴을 식별하고, 식별된 패턴에 기초하여 상기 사용자의 자세를 추정할 수 있다.The processor may process the image to identify the pattern of the marker, and estimate the posture of the user based on the identified pattern.

상기 프로세서는, 인접하는 두 개의 제1 단위 패턴들을 포함하는 제2 단위 패턴들을 식별하고, 상기 제2 단위 패턴들에 기초하여 상기 제1 단위 패턴들의 배치를 식별할 수 있다.The processor may identify second unit patterns including two adjacent first unit patterns, and identify the arrangement of the first unit patterns based on the second unit patterns.

상기 프로세서는, 상기 이미지를 이진화하고, 이진화한 이미지에서 패턴의 윤곽, 상기 단위 폴리곤들의 꼭지점 및 상기 식별 표지를 인식하고, 상기 제1 단위 패턴들을 인식하고, 상기 제2 단위 패턴들을 인식하고, 상기 제2 단위 패턴들 각각에 포함된 제1 단위 패턴들에 기초하여 상기 제2 단위 패턴들 각각의 ID를 식별할 수 있다.The processor binarizes the image, recognizes the outline of a pattern, vertices of the unit polygons, and the identification mark in the binarized image, recognizes the first unit patterns, recognizes the second unit patterns, and IDs of each of the second unit patterns may be identified based on the first unit patterns included in each of the second unit patterns.

상기 프로세서는, 상기 식별 표지에 기초하여 상기 제2 단위 패턴을 구성하는 첫번째 제1 단위 패턴의 종류를 식별하고, 상기 식별 표지에 기초하여 상기 제2 단위 패턴을 구성하는 두번째 제1 단위 패턴의 종류를 식별하고, 상기 첫번째 제1 단위 패턴의 종류, 상기 두번째 제1 단위 패턴의 종류 및 상기 첫번째 제1 단위 패턴 및 두번째 제1 단위 패턴이 중첩되는 위치에 기초하여 상기 ID를 식별할 수 있다.The processor is configured to identify a type of a first first unit pattern constituting the second unit pattern based on the identification mark, and a type of a second first unit pattern constituting the second unit pattern based on the identification mark. may be identified, and the ID may be identified based on a type of the first first unit pattern, a type of the second first unit pattern, and a position where the first first unit pattern and the second first unit pattern overlap.

상기 프로세서는, 상기 패턴 위 꼭지점들의 좌표를 획득하고, 상기 배치 및 상기 좌표에 기초하여 동작 분석을 위한 데이터를 계산하고, 상기 데이터에 기초하여 상기 자세를 추정할 수 있다.The processor may obtain coordinates of vertices on the pattern, calculate data for motion analysis based on the arrangement and the coordinates, and estimate the posture based on the data.

상기 프로세서는, 상기 신체 부위의 중심 좌표를 정의하고, 상기 신체 부위의 길이 방향을 정의하고, 상기 신체 부위의 앞 부분이 향하는 방향을 정의할 수 있다.The processor may define central coordinates of the body part, define a longitudinal direction of the body part, and define a direction in which a front part of the body part faces.

상기 프로세서는, 상기 중심 좌표 및 상기 패턴 위 꼭지점들 사이의 상대적 거리 및 상기 중심 좌표 및 제1 단위 패턴들의 중심들 사이의 상대적 각도를 계산하고, 상기 제1 단위 패턴들의 중심의 좌표 중 일부, 상기 상대적 거리 및 상기 상대적 각도에 기초하여 상기 데이터를 계산할 수 있다.The processor is configured to calculate a relative distance between the center coordinates and vertices on the pattern and a relative angle between the center coordinates and centers of the first unit patterns, some of the coordinates of the centers of the first unit patterns, the The data may be calculated based on the relative distance and the relative angle.

도 1은 일 실시예에 따른 동작 분석 방법을 개념적으로 설명하기 위한 도면이다.
도 도 2는 일 실시예에 따른 동작 분석 시스템의 개략적인 블록도이다.
도 3은 도 2에 도시된 동작 분석 장치의 개략적인 블록도이다.
도 4는 도 2에 도시된 마커를 상세히 설명하기 위한 도면이다.
도 5a 내지 도 5c는 도 2에 도시된 마커의 패턴을 상세히 설명하기 위한 도면이다.
도 6a 내지 도 6f는 도 2에 도시된 동작 분석 장치의 패턴 인식 동작을 상세히 설명하기 위한 도면이다.
도 7은 도 2에 도시된 동작 분석 장치가 자세를 추정하기 위한 파라미터를 설명하기 위한 도면이다.
도 8a 내지 도 8c는 도 2에 도시된 동작 분석 장치의 자세 추정 동작을 상세히 설명하기 위한 도면이다.
1 is a diagram for conceptually explaining a motion analysis method according to an embodiment.
2 is a schematic block diagram of a motion analysis system according to an embodiment.
FIG. 3 is a schematic block diagram of the motion analysis apparatus shown in FIG. 2 .
FIG. 4 is a diagram for describing the marker shown in FIG. 2 in detail.
5A to 5C are diagrams for explaining in detail the pattern of the marker shown in FIG. 2 .
6A to 6F are diagrams for explaining in detail a pattern recognition operation of the motion analysis apparatus shown in FIG. 2 .
FIG. 7 is a diagram for explaining parameters for estimating posture by the motion analysis apparatus shown in FIG. 2 .
8A to 8C are diagrams for explaining in detail a posture estimation operation of the motion analysis apparatus shown in FIG. 2 .

이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. However, since various changes may be made to the embodiments, the scope of the patent application is not limited or limited by these embodiments. It should be understood that all modifications, equivalents and substitutes for the embodiments are included in the scope of the rights.

실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Terms used in the examples are used for the purpose of description only, and should not be construed as limiting. The singular expression includes the plural expression unless the context clearly dictates otherwise. In the present specification, terms such as “comprise” or “have” are intended to designate that a feature, number, step, operation, component, part, or combination thereof described in the specification exists, but one or more other features It should be understood that this does not preclude the existence or addition of numbers, steps, operations, components, parts, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the embodiment belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related art, and should not be interpreted in an ideal or excessively formal meaning unless explicitly defined in the present application. does not

또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In addition, in the description with reference to the accompanying drawings, the same components are given the same reference numerals regardless of the reference numerals, and the overlapping description thereof will be omitted. In the description of the embodiment, if it is determined that a detailed description of a related known technology may unnecessarily obscure the gist of the embodiment, the detailed description thereof will be omitted.

또한, 실시 예의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다. In addition, in describing the components of the embodiment, terms such as first, second, A, B, (a), (b), etc. may be used. These terms are only for distinguishing the component from other components, and the essence, order, or order of the component is not limited by the term. When it is described that a component is “connected”, “coupled” or “connected” to another component, the component may be directly connected or connected to the other component, but another component is between each component. It will be understood that may also be "connected", "coupled" or "connected".

어느 하나의 실시 예에 포함된 구성요소와, 공통적인 기능을 포함하는 구성요소는, 다른 실시 예에서 동일한 명칭을 사용하여 설명하기로 한다. 반대되는 기재가 없는 이상, 어느 하나의 실시 예에 기재한 설명은 다른 실시 예에도 적용될 수 있으며, 중복되는 범위에서 구체적인 설명은 생략하기로 한다.Components included in one embodiment and components having a common function will be described using the same names in other embodiments. Unless otherwise stated, a description described in one embodiment may be applied to another embodiment, and a detailed description in the overlapping range will be omitted.

도 1은 일 실시예에 따른 동작 분석 방법을 개념적으로 설명하기 위한 도면이고, 도 2는 일 실시예에 따른 동작 분석 시스템의 개략적인 블록도이다.1 is a diagram for conceptually explaining a motion analysis method according to an embodiment, and FIG. 2 is a schematic block diagram of a motion analysis system according to an embodiment.

동작 분석 시스템(10)은 실시간으로 사용자(30)의 동작을 분석할 수 있다. 동작 분석 시스템(10)은 사용자(30)의 신체 각 부분의 6자유도 변위를 실시간으로 추정할 수 있다.The motion analysis system 10 may analyze the motion of the user 30 in real time. The motion analysis system 10 may estimate the displacement of 6 degrees of freedom of each part of the body of the user 30 in real time.

동작 분석 시스템(10)은 사용자(30)의 허벅지 및/또는 정강이 등의 신체 부위의 6자유도 위치 및 방향을 동시에 추정할 수 있으므로 각 관절의 굴곡 및/또는 신전뿐만 아니라 회전에 대한 데이터도 획득할 수 있다.Since the motion analysis system 10 can simultaneously estimate the position and orientation of six degrees of freedom of the body part such as the thigh and/or shin of the user 30, data on rotation and/or flexion and/or extension of each joint is also obtained. can do.

동작 분석 시스템(10)은 마커(100)를 부착한 사용자(30)를 촬영한 이미지에 기초하여 사용자(30)의 동작을 분석할 수 있다. 동작 분석 시스템(10)은 전 방향에서 인식 가능한 마커(100)를 이용하여 사용자(30)의 동작을 분석할 수 있다. 동작 분석 시스템(10)은 마커(100)의 일부분이 가려지더라도, 마커(100)의 다른 부분을 인식하여 사용자(30)의 자세를 추정할 수 있다.The motion analysis system 10 may analyze the motion of the user 30 based on an image of the user 30 to which the marker 100 is attached. The motion analysis system 10 may analyze the motion of the user 30 using the marker 100 recognizable in all directions. The motion analysis system 10 may estimate the posture of the user 30 by recognizing another part of the marker 100 even if a part of the marker 100 is covered.

동작 분석 시스템(10)은 마커(100), 촬영 장치(150), 및 동작 분석 장치(170)를 포함할 수 있다.The motion analysis system 10 may include a marker 100 , an imaging device 150 , and a motion analysis device 170 .

마커(100)는 사용자(30)의 신체 부위 중 일부를 둘러싸는 띠 형태의 마커일 수 있다. 예를 들어, 마커(100)는 사용자(30)의 허벅지, 정강이, 허리, 팔 및 가슴 등의 신체 모든 부위를 둘러 부착될 수 있다.The marker 100 may be a marker in the form of a band surrounding a part of the body part of the user 30 . For example, the marker 100 may be attached around all parts of the body of the user 30 , such as thighs, shins, waist, arms, and chest.

마커(100)는 동작 분석 시스템(10)이 인식할 수 있는 패턴을 포함할 수 있다. 예를 들어, 마커(100)는 단위 패턴이 일렬로 나열된 패턴을 포함할 수 있다.The marker 100 may include a pattern that the motion analysis system 10 can recognize. For example, the marker 100 may include a pattern in which unit patterns are arranged in a line.

촬영 장치(150)는 마커(100)를 부착한 사용자(30)를 촬영할 수 있다. 촬영 장치(150)는 비디오 카메라(video camera), 캠코더(camcorder), 및 웹캠(webcam) 등 실시간으로 이미지를 획득할 수 있는 모든 종류의 촬영 장치로 구현될 수 있다.The photographing apparatus 150 may photograph the user 30 with the marker 100 attached. The photographing apparatus 150 may be implemented as any type of photographing apparatus capable of acquiring an image in real time, such as a video camera, a camcorder, and a webcam.

동작 분석 장치(170)는 마커(100)를 부착한 사용자(30)를 촬영한 이미지에 기초하여 사용자(30)의 동작을 분석할 수 있다. 예를 들어, 동작 분석 장치(170)는 이미지 내 마커의 패턴을 인식하여 사용자(30)의 동작을 분석할 수 있다.The motion analysis apparatus 170 may analyze the motion of the user 30 based on an image of the user 30 to which the marker 100 is attached. For example, the motion analysis apparatus 170 may analyze the motion of the user 30 by recognizing a pattern of a marker in the image.

도 1 및 도 2에서는 촬영 장치(150)가 동작 분석 장치(170)의 외부에 구현된 것으로 도시하고 있지만, 반드시 이에 한정되는 것은 아니며, 실시예에 따라 촬영 장치(150)는 동작 분석 장치(170)의 내부에 구현될 수도 있다.In FIGS. 1 and 2 , the photographing device 150 is illustrated as being implemented outside the motion analysis apparatus 170 , but the present invention is not limited thereto. According to an embodiment, the photographing apparatus 150 includes the motion analysis apparatus 170 . ) can also be implemented inside.

도 3은 도 2에 도시된 동작 분석 장치의 개략적인 블록도이다.FIG. 3 is a schematic block diagram of the motion analysis apparatus shown in FIG. 2 .

동작 분석 장치(170)는 메모리(173) 및 프로세서(177)를 포함할 수 있다.The motion analysis apparatus 170 may include a memory 173 and a processor 177 .

메모리(173)는 프로세서(177)에 의해 실행가능한 인스트럭션들(또는 프로그램)을 저장할 수 있다. 예를 들어, 인스트럭션들은 프로세서(177)의 동작 및/또는 프로세서(177)의 각 구성의 동작을 실행하기 위한 인스트럭션들을 포함할 수 있다.The memory 173 may store instructions (or programs) executable by the processor 177 . For example, the instructions may include instructions for executing an operation of the processor 177 and/or an operation of each component of the processor 177 .

프로세서(177)는 메모리(173)에 저장된 데이터를 처리할 수 있다. 프로세서(177)는 메모리(173)에 저장된 컴퓨터로 읽을 수 있는 코드(예를 들어, 소프트웨어) 및 프로세서(177)에 의해 유발된 인스트럭션(instruction)들을 실행할 수 있다.The processor 177 may process data stored in the memory 173 . The processor 177 may execute computer readable code (eg, software) stored in the memory 173 and instructions induced by the processor 177 .

프로세서(177)는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다.  예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다.The processor 177 may be a hardware-implemented data processing device having a circuit having a physical structure for executing desired operations. For example, desired operations may include code or instructions included in a program.

예를 들어, 하드웨어로 구현된 데이터 처리 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.For example, a data processing device implemented as hardware includes a microprocessor, a central processing unit, a processor core, a multi-core processor, and a multiprocessor. , an Application-Specific Integrated Circuit (ASIC), and a Field Programmable Gate Array (FPGA).

동작 분석 장치(170)는 컴퓨팅 장치, Machine-type 통신 장치, IoT 장치 또는 휴대용 전자 장치 등에 구현될 수 있다.The motion analysis device 170 may be implemented in a computing device, a machine-type communication device, an IoT device, or a portable electronic device.

휴대용 전자 장치는 랩탑(laptop) 컴퓨터, 이동 전화기, 스마트 폰(smart phone), 태블릿(tablet) PC, 모바일 인터넷 디바이스(mobile internet device(MID)), PDA(personal digital assistant), EDA(enterprise digital assistant), 디지털 스틸 카메라(digital still camera), 디지털 비디오 카메라(digital video camera), PMP(portable multimedia player), PND(personal navigation device 또는 portable navigation device), 휴대용 게임 콘솔(handheld game console), e-북(e-book), 스마트 디바이스(smart device)를 포함할 수 있다. 예를 들어, 스마트 디바이스는 스마트 워치(smart watch) 또는 스마트 밴드(smart band)를 포함할 수 있다.Portable electronic devices include a laptop computer, a mobile phone, a smart phone, a tablet PC, a mobile internet device (MID), a personal digital assistant (PDA), and an enterprise digital assistant (EDA). ), digital still camera, digital video camera, PMP (portable multimedia player), PND (personal navigation device or portable navigation device), handheld game console, e-book (e-book), may include a smart device (smart device). For example, the smart device may include a smart watch or a smart band.

동작 분석 장치(170)는 촬영 장치(150)를 통해 촬영한 이미지를 처리하여 마커(100)의 패턴을 식별할 수 있다. 동작 분석 장치(170)는 마커(100)의 기울어짐 또는 굴곡에 의한 이미지 왜곡에 강인하게 마커(100)의 패턴을 인식할 수 있다. 예를 들어, 동작 분석 장치(170)는 더클라스-패커 알고리즘(Douglas-Peucker Algorithm)을 이용하여 마커(100)의 패턴을 인식할 수 있다.The motion analysis apparatus 170 may process the image captured by the photographing apparatus 150 to identify the pattern of the marker 100 . The motion analysis apparatus 170 may recognize the pattern of the marker 100 robustly against image distortion due to inclination or bending of the marker 100 . For example, the motion analysis apparatus 170 may recognize a pattern of the marker 100 using a Douglas-Peucker algorithm.

동작 분석 장치(170)는 마커(100)의 패턴에서 제1 단위 패턴(200)을 식별할 수 있다. 예를 들어, 동작 분석 장치(170)는 제2 단위 패턴(300)을 식별함으로써, 마커(100)에 일렬로 배열된 제1 단위 패턴(200)의 배치를 획득할 수 있다.The motion analysis apparatus 170 may identify the first unit pattern 200 from the pattern of the marker 100 . For example, the motion analysis apparatus 170 may acquire the arrangement of the first unit patterns 200 arranged in a line on the marker 100 by identifying the second unit patterns 300 .

동작 분석 장치(170)는 제1 단위 패턴(200)의 배열을 식별하여 마커(100)가 부착된 신체 부위의 좌표를 정의할 수 있다. 예를 들어, 동작 분석 장치(170)는 각각의 제1 단위 패턴(200)의 위치에 기초하여 신체 부위의 윤곽에 해당하는 공간상 좌표를 정의할 수 있다.The motion analysis apparatus 170 may identify the arrangement of the first unit pattern 200 to define the coordinates of the body part to which the marker 100 is attached. For example, the motion analysis apparatus 170 may define spatial coordinates corresponding to the contour of the body part based on the position of each of the first unit patterns 200 .

동작 분석 장치(170)는 신체 부위의 윤곽 좌표에 기초하여 신체 부위의 자세를 추정할 수 있다. 예를 들어, 동작 분석 장치(170)는 신체 부위의 윤곽 좌표에 기초하여 신체 부위의 중심 좌표, 신체 부위의 길이 방향(z-axis), 신체 부위의 앞 부분이 향하는 방향(y-axis), 및 신체 부위의 측면이 항하는 방향(x-axis)을 추정할 수 있다.The motion analysis apparatus 170 may estimate the posture of the body part based on the contour coordinates of the body part. For example, the motion analysis device 170 may include a center coordinate of a body part, a longitudinal direction (z-axis) of the body part, a direction in which the front part of the body part faces (y-axis), based on the contour coordinates of the body part, and a direction (x-axis) in which the side surface of the body part traverses.

동작 분석 장치(170)는 신체 부위의 중심 및/또는 윤곽 좌표 및 좌표들 사이의 상대적 거리와 각도 정보를 저장할 수 있다. 동작 분석 장치(170)는 적은 수의 제1 단위 패턴(200)이 인식되더라도 저장된 정보에 기초하여 전체 제1 단위 패턴(200)에 대응되는 좌표를 모두 추정할 수 있다.The motion analysis apparatus 170 may store center and/or contour coordinates of a body part, and relative distance and angle information between the coordinates. Even if a small number of the first unit patterns 200 are recognized, the motion analysis apparatus 170 may estimate all coordinates corresponding to the entire first unit patterns 200 based on the stored information.

동작 분석 장치(170)의 자세 추정 방법에 대해서는, 도 5a 내지 도 5c에서 마커(100)의 패턴에 대한 설명 후에 더 상세히 설명하도록 한다.The posture estimation method of the motion analysis apparatus 170 will be described in more detail after the description of the pattern of the marker 100 in FIGS. 5A to 5C .

도 4는 도 2에 도시된 마커를 상세히 설명하기 위한 도면이고, 도 5a 내지 도 5c는 도 2에 도시된 마커의 패턴을 상세히 설명하기 위한 도면이다.FIG. 4 is a diagram for explaining the marker shown in FIG. 2 in detail, and FIGS. 5A to 5C are diagrams for explaining the pattern of the marker shown in FIG. 2 in detail.

마커(100)는 패턴을 포함하는 띠 형태로 구현되어 사용자(30)의 신체 부위를 둘러 부착될 수 있다. 도 4에는 마커(100)가 사용자(30)의 정강이에 착용된 예를 도시했지만 이에 한정되지 않으며, 마커(100)는 사용자(30)의 허벅지, 정강이, 허리, 팔, 및 가슴 등의 모든 신체 부위에 착용될 수 있다.The marker 100 may be implemented in the form of a band including a pattern and attached around a body part of the user 30 . 4 shows an example in which the marker 100 is worn on the shin of the user 30 , but is not limited thereto, and the marker 100 includes all body parts such as the thigh, shin, waist, arm, and chest of the user 30 . It can be worn over the area.

마커(100)는 동작 분석 시스템(10)이 인식할 수 있는 패턴을 포함할 수 있다. 마커(100)는 제1 단위 패턴(200)에 일렬로 연속하여 배열되는 패턴을 포함할 수 있다.The marker 100 may include a pattern that the motion analysis system 10 can recognize. The marker 100 may include a pattern continuously arranged in a line on the first unit pattern 200 .

제1 단위 패턴(200)들은 복수의 단위 폴리곤들이 한 꼭지점을 공유하여 형성되는 패턴일 수 있다. 예를 들어, 제1 단위 패턴들은 한 점을 세 개의 꼭지점 중 하나로 하는 여섯 개의 삼각형들이 모여 형성된 육각 패턴들 일 수 있다.The first unit patterns 200 may be a pattern in which a plurality of unit polygons share one vertex. For example, the first unit patterns may be hexagonal patterns formed by gathering six triangles having one point as one of three vertices.

동작 분석 시스템(10)은 내각의 크기가 가장 작은 정삼각형을 단위 폴리곤으로 이용하여 이미지 왜곡에 의해 패턴의 꼭지점을 인식하지 못하는 가능성 최소화할 수 있다. 또한, 동작 분석 시스템(10)은 해상도(resolution), 초점 길이(focal length), 동작 분석에 요구되는 범위, 및/또는 각 단위 폴리곤의 인식을 위해 요구되는 픽셀 넓이를 고려하여 단위 폴리곤의 넓이를 결정할 수 있다. 예를 들어, 동작 분석 시스템(10)은 수학식 1에 기초하여 단위 폴리곤인 삼각형의 넒이를 계산할 수 있다.The motion analysis system 10 may minimize the possibility of not recognizing the vertices of the pattern due to image distortion by using an equilateral triangle having the smallest interior angle as a unit polygon. In addition, the motion analysis system 10 calculates the area of the unit polygon in consideration of resolution, focal length, a range required for motion analysis, and/or a pixel area required for recognition of each unit polygon. can decide For example, the motion analysis system 10 may calculate the width of a triangle that is a unit polygon based on Equation (1).

Figure 112020069384455-pat00001
Figure 112020069384455-pat00001

이때, A는 단위 폴리곤의 넓이, Apixel은 단위 폴리곤이 맺힌 상의 넓이, T는 단위 폴리곤과 초점 사이 거리, 및 fx와 fy는 상과 초점 사이 거리를 나타낸다.In this case, A is the area of the unit polygon, A pixel is the area of the image formed by the unit polygon, T is the distance between the unit polygon and the focal point, and f x and f y are the distance between the image and the focal point.

제1 단위 패턴(200)들은 인접한 제1 단위 패턴과 적어도 하나의 단위 폴리곤을 공유할 수 있다. 예를 들어, 육각 패턴인 제1 단위 패턴(200)들은 인접한 육각 패턴들과 두 개의 삼각형이 중첩되도록 배열될 수 있다.The first unit patterns 200 may share at least one unit polygon with an adjacent first unit pattern. For example, the first unit patterns 200 that are hexagonal patterns may be arranged so that two triangles overlap adjacent hexagonal patterns.

단위 폴리곤들은 내부에 식별 표지(250)를 포함하거나 포함하지 않을 수 있다. 제1 단위 패턴(200)은 식별 표지(250)를 포함하는 단위 폴리곤의 배치에 따라 서로 다른 종류로 구분될 수 있다. 예를 들어, 육각 패턴인 제1 단위 패턴(200)은 도 5b에 도시된 것과 같이 방사 대칭형 패턴을 제외하면 총 9가지 종류(육각형 0 내지 육각형 8)로 구분될 수 있다.The unit polygons may or may not include the identification mark 250 therein. The first unit pattern 200 may be divided into different types according to the arrangement of unit polygons including the identification mark 250 . For example, the first unit pattern 200, which is a hexagonal pattern, may be divided into a total of nine types (hexagons 0 to 8) except for the radially symmetrical pattern as shown in FIG. 5B .

제2 단위 패턴(300)은 인접하는 두 개의 제1 단위 패턴(200-1 및 200-2)들을 포함할 수 있다. 예를 들어, 제2 단위 패턴(300)은 인접한 육각 패턴(200-1 및 200-2)이 두 개의 삼각형을 공유하며 중첩된 패턴일 수 있다.The second unit pattern 300 may include two adjacent first unit patterns 200 - 1 and 200 - 2 . For example, the second unit pattern 300 may be a pattern in which adjacent hexagonal patterns 200 - 1 and 200 - 2 share two triangles and overlap each other.

제2 단위 패턴(300)은 포함하는 제1 단위 패턴들(200-1 및 200-2)의 종류에 따라 고유한 ID로 식별될 수 있다. 이때, 제2 단위 패턴(300)은 동일한 종류의 제1 단위 패턴들(200-1 및 200-2)을 포함하는 경우에도 포함되는 제1 단위 패턴들(200-1 및 200-2)이 회전하여 중첩하는 경우 서로 다른 ID로 식별될 수 있다.The second unit pattern 300 may be identified by a unique ID according to the types of the first unit patterns 200 - 1 and 200 - 2 included therein. In this case, even when the second unit pattern 300 includes the first unit patterns 200 - 1 and 200 - 2 of the same type, the included first unit patterns 200 - 1 and 200 - 2 are rotated. In the case of overlapping with each other, they can be identified by different IDs.

도 5c에는 육각형 0인 제1 단위 패턴(200-1) 및 육각형 1인 제1 단위 패턴(200-2)을 포함하는 제2 단위 패턴들(300-1 및 300-2)의 예를 도시했지만, 육각형 0인 제1 단위 패턴(200-1) 및 육각형 1인 제1 단위 패턴(200-2)을 포함하는 제2 단위 패턴은 도 5c에 도시된 두 가지 제2 단위 패턴(300-1 및 300-2)로 한정되는 것은 아니고, 더 많은 서로 식별 가능한 제2 단위 패턴(300)이 존재할 수 있다. 서로 식별 가능한 제2 단위 패턴(300)들의 ID는 총 394개 존재할 수 있다.Although FIG. 5C shows an example of the second unit patterns 300-1 and 300-2 including the first unit pattern 200-1 having hexagonal 0 and the first unit pattern 200-2 having hexagonal 1, , the second unit pattern including the first unit pattern 200-1 having hexagonal 0 and the first unit pattern 200-2 having hexagonal 1 is the two second unit patterns 300-1 and 300-1 shown in FIG. 5C. 300-2), and more mutually identifiable second unit patterns 300 may exist. A total of 394 IDs of the second unit patterns 300 identifiable from each other may exist.

동작 분석 장치(170)는 제2 단위 패턴(300)들의 고유 ID를 식별해 서로 다른 제2 단위 패턴(300)들과 구분할 수 있다. 동작 분석 장치(170)는 제2 단위 패턴(300)들의 ID를 식별하여 제1 단위 패턴(200)들의 배치를 획득할 수 있다.The motion analysis apparatus 170 may identify the unique IDs of the second unit patterns 300 to distinguish them from the different second unit patterns 300 . The motion analysis apparatus 170 may identify the IDs of the second unit patterns 300 to obtain the arrangement of the first unit patterns 200 .

도 6a 내지 도 6f는 도 2에 도시된 동작 분석 장치의 패턴 인식 동작을 상세히 설명하기 위한 도면이다.6A to 6F are diagrams for explaining in detail a pattern recognition operation of the motion analysis apparatus shown in FIG. 2 .

동작 분석 장치(170)는 마커(100)를 착용한 사용자(30)를 촬영한 이미지를 처리하여 마커(100)에 포함된 패턴을 식별할 수 있다.The motion analysis apparatus 170 may process an image captured by the user 30 wearing the marker 100 to identify a pattern included in the marker 100 .

동작 분석 장치(170)는 도 6a에 도시된 것과 같은 마커(100)의 패턴을 도 6b에 도시된 것과 같이 이진화(thresholding) 할 수 있다. 예를 들어, 동작 분석 장치(170)는 이미지에 포함된 픽셀마다 픽셀을 중심으로 하는 일정 크기의 커널(kernel)을 생성하여 커널 안의 픽셀들의 평균 강도(intensity)를 임계치(threshold)로 설정하고, 각 픽셀의 강도가 임계치보다 클 경우 1, 작을 경우 0을 부여하여 이미지를 이진화 할 수 있다.The motion analysis apparatus 170 may threshold the pattern of the marker 100 as shown in FIG. 6A as shown in FIG. 6B . For example, the motion analysis apparatus 170 generates a kernel of a predetermined size centered on a pixel for each pixel included in the image and sets the average intensity of the pixels in the kernel as a threshold, The image can be binarized by giving 1 if the intensity of each pixel is greater than the threshold and 0 if it is less.

동작 분석 장치(170)는 이진화된 이미지에서 도 6c와 같이 패턴의 윤곽을 인식하고, 도 6d와 같이 각각의 삼각형들의 꼭지점들을 인식할 수 있다. 이때, 동작 분석 장치(170)는 각각의 삼각형들의 꼭지점을 개별적으로 인식하여, 복수의 삼각형의 꼭지점이 중첩된 꼭지점이라 하더라도 각각의 삼각형에 포함된 꼭지점으로 각각 인식될 수 있다.The motion analysis apparatus 170 may recognize the outline of the pattern in the binarized image as shown in FIG. 6C , and recognize the vertices of each triangle as shown in FIG. 6D . In this case, the motion analysis apparatus 170 may individually recognize the vertices of each triangle, and even if the vertices of the plurality of triangles are overlapping vertices, they may be recognized as vertices included in each triangle.

동작 분석 장치(170)는 마커(100)에 포함되는 식별 표지를 인식할 수 있다.The motion analysis apparatus 170 may recognize an identification mark included in the marker 100 .

동작 분석 장치(170)는 제1 단위 패턴을 인식할 수 있다. 예를 들어, 동작 분석 장치(170)는 인식한 모든 꼭지점에 대해 꼭지점을 중심으로 꼭지점이 포함되는 삼각형의 변의 길이의 평균을 한 변의 길이로 가지는 정사각형을 이용하여 관심 영역(Region of Interest(ROI)) 검사를 수행할 수 있는데, 동작 분석 장치(170)는 정사각형 내부에 꼭지점들이 총 여섯 개가 포함되면, 해당 꼭지점을 제1 단위 패턴(200)의 중심으로 인식할 수 있다.The motion analysis apparatus 170 may recognize the first unit pattern. For example, for all recognized vertices, the motion analysis apparatus 170 uses a square having the average of the lengths of the sides of a triangle including the vertices as the length of the vertex as a region of interest (ROI). ), the motion analysis apparatus 170 may recognize the corresponding vertex as the center of the first unit pattern 200 when a total of six vertices are included in the square.

동작 분석 장치(170)는 제1 단위 패턴(200)의 중심점으로 인식하는 경우, 관심 영역 검사의 기준이 된 꼭지점을 포함하는 삼각형을 시작으로, 시계 방향으로 삼각형 내부의 식별 표지를 판독할 수 있다. 예를 들어, 동작 분석 장치(170)는 식별 표지를 포함하는 삼각형을 1, 식별 표지를 포함하지 않는 삼각형을 0으로 판독하여 이진 코드를 획득할 수 있다. 도 6e의 예는 3번으로 표시된 삼각형의 꼭지점을 기준으로 관심 영역 검사를 수행한 경우이므로, 동작 분석 장치(170)는 제1 단위 패턴(200)에 대해 101100인 이진 코드를 획득할 수 있다. 다른 예로, 2번으로 표시된 삼각형의 꼭지점을 기준으로 관심 영역 검사가 수행된 경우에는 동작 분석 장치(170)가 001011인 이진코드를 획득할 수 있다.When recognizing as the center point of the first unit pattern 200, the motion analysis device 170 may read the identification mark inside the triangle in a clockwise direction, starting with the triangle including the vertex that is the reference point of the ROI test. . For example, the motion analysis apparatus 170 may obtain a binary code by reading a triangle including the identification mark as 1 and a triangle not including the identification mark as 0. In the example of FIG. 6E , since the region of interest inspection is performed based on the vertex of the triangle indicated by number 3 , the motion analysis apparatus 170 may obtain the binary code 101100 for the first unit pattern 200 . As another example, when the region of interest inspection is performed based on the vertex of the triangle indicated by number 2, the motion analysis apparatus 170 may obtain the binary code 001011 .

동작 분석 장치(170)는 각각의 제1 단위 패턴(200)의 종류에 대한 이진 코드 라이브러리를 가지고 있을 수 있다. 동작 분석 장치(170)는 각각의 제1 단위 패턴(200)의 이진 코드를 획득한 뒤 이진 코드 라이브러리에 기초하여 각각의 제1 단위 패턴(200)의 종류 및 해당 제1 단위 패턴의 기준 삼각형을 식별할 수 있다.The motion analysis apparatus 170 may have a binary code library for each type of the first unit pattern 200 . After obtaining the binary code of each first unit pattern 200 , the motion analysis device 170 determines the type of each first unit pattern 200 and the reference triangle of the first unit pattern based on the binary code library. can be identified.

도 6e의 예에서, 동작 분석 장치(170)는 101100인 이진 코드를 획득하였고, 01100은 육각형 5에 대한 이진 코드 라이브러리인 100101, 001011, 010110, 101100, 011001, 110010에 포함되므로, 동작 분석 장치(170)는 제1 단위 패턴(200)을 육각형 5로 식별할 수 있다.In the example of FIG. 6E , the motion analysis device 170 obtained a binary code of 101100, and 01100 is included in 100101, 001011, 010110, 101100, 011001, 110010, which are binary code libraries for hexagon 5, so the motion analysis device ( 170 may identify the first unit pattern 200 as a hexagon 5 .

또한, 이진 코드 라이브러리는 각각의 이진 코드에 대해 기준 삼각형을 식별하는 정보를 포함하고 있어 도 6e의 예에서 101100인 이진 코드를 획득하였고, 동작 분석 장치(170)는 이진 코드 판독을 시작한 삼각형에서 반시계방향으로 세번째 삼각형을 기준 삼각형으로 식별할 수 있다.In addition, the binary code library contains information for identifying a reference triangle for each binary code, so that in the example of FIG. 6E, a binary code equal to 101100 was obtained, and the motion analysis device 170 reads the binary code from the triangle that started reading the binary code. The third triangle in a clockwise direction can be identified as the reference triangle.

동작 분석 장치(170)는 각각의 제1 단위 패턴(200)에 대해 기준 삼각형을 기준으로 제1 단위 패턴(200)에 포함된 삼각형을 식별할 수 있다. 예를 들어, 동작 분석 장치(170)는 기준 삼각형부터 시계 방향으로 0부터 5까지의 번호를 부여할 수 있다.The motion analysis apparatus 170 may identify a triangle included in the first unit pattern 200 based on a reference triangle for each of the first unit patterns 200 . For example, the motion analysis apparatus 170 may assign numbers from 0 to 5 in a clockwise direction from the reference triangle.

동작 분석 장치(170)는 제2 단위 패턴(300)들을 인식하고, 제2 단위 패턴(300)들에 포함되는 제1 단위 패턴(200)의 종류 및 두 제1 단위 패턴(200)이 중첩되는 위치에 기초하여 제2 단위 패턴(300)들의 ID를 식별할 수 있다.The motion analysis apparatus 170 recognizes the second unit patterns 300 , the type of the first unit pattern 200 included in the second unit patterns 300 , and the type of the first unit pattern 200 in which the two first unit patterns 200 overlap. IDs of the second unit patterns 300 may be identified based on the positions.

동작 분석 장치(170)는 제2 단위 패턴(300)에 포함된 첫번째 제1 단위 패턴(200)의 종류, 두번째 제2 단위 패턴(200)의 종류 및 중첩되는 삼각형의 번호에 기초하여 제2 단위 패턴(300)의 ID를 결정할 수 있다. 도 6f의 예에서, 첫번째 제1 단위 패턴(200)의 종류는 육각형 5이고, 두번째 제1 단위 패턴(200)의 종류는 육각형 0이고, 중첩되는 삼각형의 번호는 3, 0, 4 및 5이므로, 동작 분석 장치(170)는 제2 단위 패턴(300)의 ID를 [5, 0, 3, 0, 4, 5]로 결정할 수 있다.The motion analysis apparatus 170 determines the second unit based on the type of the first first unit pattern 200 included in the second unit pattern 300 , the type of the second second unit pattern 200 , and the number of overlapping triangles. The ID of the pattern 300 may be determined. In the example of FIG. 6F , the type of the first first unit pattern 200 is hexagonal 5, the type of the second first unit pattern 200 is hexagonal 0, and the numbers of the overlapping triangles are 3, 0, 4, and 5. , the motion analysis apparatus 170 may determine the ID of the second unit pattern 300 as [5, 0, 3, 0, 4, 5].

동작 분석 장치(170)는 제2 단위 패턴(300)의 ID에 기초하여 제1 단위 패턴(200)들의 배치를 식별할 수 있다. 예를 들어, 동작 분석 장치(170)는 제2 단위 패턴(300)의 ID에 기초하여 제2 단위 패턴(300)의 위치를 획득할 수 있고, 제2 단위 패턴(300)의 위치에 기초하여 제2 단위 패턴(300)에 포함되는 제1 단위 패턴(200)의 위치를 획득하여, 전체 제1 단위 패턴(200)의 배치를 식별할 수 있다.The motion analysis apparatus 170 may identify the arrangement of the first unit patterns 200 based on the ID of the second unit pattern 300 . For example, the motion analysis apparatus 170 may acquire the position of the second unit pattern 300 based on the ID of the second unit pattern 300 , and based on the position of the second unit pattern 300 , By acquiring the position of the first unit pattern 200 included in the second unit pattern 300 , the entire arrangement of the first unit pattern 200 may be identified.

도 7은 도 2에 도시된 동작 분석 장치가 자세를 추정하기 위한 파라미터를 설명하기 위한 도면이고, 도 8a 내지 도 8c는 도 2에 도시된 동작 분석 장치의 자세 추정 동작을 상세히 설명하기 위한 도면이다.7 is a diagram for explaining parameters for estimating a posture of the motion analysis apparatus shown in FIG. 2 , and FIGS. 8A to 8C are diagrams for explaining in detail a posture estimating operation of the motion analyzing apparatus shown in FIG. 2 .

동작 분석 장치(170)는 패턴 위 꼭지점들의 좌표를 획득할 수 있다. 예를 들어, 동작 분석 장치(170)는 두 개 이상의 이미지에서 같은 패턴이 인식되었을 때 패턴 위 삼각형 꼭지점들의 3D 좌표를 삼각 측량법(triangulation)를 통해 계산할 수 있다.The motion analysis apparatus 170 may obtain coordinates of vertices on the pattern. For example, when the same pattern is recognized in two or more images, the motion analysis apparatus 170 may calculate 3D coordinates of triangular vertices on the pattern through triangulation.

동작 분석 장치(170)는 패턴 위 삼각형들의 전체적인 배치(configuration)를 획득하여 마커(100)가 둘러진 신체 부위의 굴곡 조건이 고려된 자세 추정을 수행할 수 있다.The motion analysis apparatus 170 may obtain the overall configuration of the triangles on the pattern and perform posture estimation in consideration of the bending condition of the body part surrounding the marker 100 .

동작 분석 장치(170)는 제1 단위 패턴들의 중심(500-1 내지 500-n)의 좌표를 획득할 수 있다.The motion analysis apparatus 170 may obtain coordinates of the centers 500-1 to 500-n of the first unit patterns.

동작 분석 장치(170)는 제1 단위 패턴들(200)의 배치 및 제1 단위 패턴들의 중심(500-1 내지 500-n)의 좌표에 기초하여 동작 분석을 위한 데이터를 계산할 수 있다. 동작 분석을 위한 데이터는 마커(100)가 부착된 신체 부위의 중심(530), 신체 부위의 길이이 방향(z-axis), 신체 부위의 앞 부분이 향하는 방향(y-axis), 및/또는 신체 부위의 측면이 항하는 방향(x-axis)이 포함될 수 있다.The motion analysis apparatus 170 may calculate data for motion analysis based on the arrangement of the first unit patterns 200 and the coordinates of the centers 500-1 to 500-n of the first unit patterns. The data for motion analysis includes the center 530 of the body part to which the marker 100 is attached, the length direction of the body part (z-axis), the direction the front part of the body part faces (y-axis), and/or the body A direction (x-axis) in which the side of the region traverses may be included.

동작 분석 장치(170)는 앞쪽(anterior) 제1 단위 패턴의 중심(500-1) 및 뒤쪽(posterior) 제1 단위 패턴의 중심(500-k) 사이 중점을 신체 부위의 중심(530)으로 정의할 수 있다. 이때, 마커(100)는 특정 제1 단위 패턴(500-1)이 신체 부위의 앞쪽(anterior)에 위치하도록 및/또는 특정 제1 단위 패턴(500-k)이 신체부위의 뒤쪽(posterior)에 위치하도록 착용되어야 할 수 있다.The motion analysis device 170 defines the midpoint between the center 500-1 of the anterior first unit pattern and the center 500-k of the posterior first unit pattern as the center 530 of the body part. can do. At this time, the marker 100 is set such that the specific first unit pattern 500-1 is located in the front of the body part and/or the specific first unit pattern 500-k is located in the posterior side of the body part. It may have to be worn to position.

동작 분석 장치(170)는 제1 단위 패턴들의 중심(500-1 내지 500-n)의 좌표에 기초하여 신체 부위의 길이이 방향(z-axis)을 정의할 수 있다. 예를 들어, 동작 분석 장치(170)는 제1 단위 패턴들의 중심들(500-1 내지 500-n)을 한 평면 위에 근사(fitting) 시켰을 때 해당 평면의 법선 벡터를 신체 부위의 길이이 방향(z-axis)으로 정의할 수 있다.The motion analysis apparatus 170 may define the length direction (z-axis) of the body part based on the coordinates of the centers 500-1 to 500-n of the first unit patterns. For example, when the centers 500-1 to 500-n of the first unit patterns are fitted on one plane, the motion analysis apparatus 170 calculates a normal vector of the plane in the direction (z) of the length of the body part. -axis) can be defined.

동작 분석 장치(170)는 앞쪽(anterior) 뒤쪽(posterior) 제1 단위 패턴의 중심(500-k)으로부터 제1 단위 패턴의 중심(500-1)으로의 벡터를 신체 부위의 앞 부분이 향하는 방향(y-axis)으로 정의할 수 있다.The motion analysis apparatus 170 calculates a vector from the center 500-k of the anterior and posterior first unit pattern to the center 500-1 of the first unit pattern in the direction in which the front of the body part faces. It can be defined as (y-axis).

동작 분석 장치(170)는 신체 부위의 길이이 방향(z-axis) 및 신체 부위의 앞 부분이 향하는 방향(y-axis)에 수직인 방향을 신체 부위의 측면이 항하는 방향(x-axis)으로 정의할 수 있다.The motion analysis device 170 sets a direction perpendicular to the direction (z-axis) of the length of the body part and the direction in which the front part of the body part faces (y-axis) as the direction (x-axis) in which the side of the body part navigates. can be defined

동작 분석 장치(170)는 신체 부위의 중심(530), 신체 부위의 길이이 방향(z-axis), 신체 부위의 앞 부분이 향하는 방향(y-axis), 및/또는 신체 부위의 측면이 항하는 방향(x-axis)에 기초하여 사용자의 자세를 추정할 수 있다.The motion analysis device 170 determines the center 530 of the body part, the length direction (z-axis) of the body part, the direction the front part of the body part faces (y-axis), and/or the side of the body part The user's posture may be estimated based on the direction (x-axis).

동작 분석 장치(170)는 신체 부위의 중심(530) 및 패턴 위 꼭지점들 사이의 상대적 거리를 계산할 수 있고, 신체 부위의 중심(530) 및 제1 단위 패턴들의 중심들(500-1 내지 500-n) 사이의각도를 계산할 수 있다. 동작 분석 장치(170)는 계산한 상대적 거리 및/또는 각도를 저장할 수 있다.The motion analysis apparatus 170 may calculate a relative distance between the center 530 of the body part and vertices on the pattern, and the center 530 of the body part and the centers 500-1 to 500- of the first unit patterns. n) can calculate the angle between The motion analysis device 170 may store the calculated relative distance and/or angle.

동작 분석 장치(170)는 저장된 상대적 거리 및 각도에 기초하여 마커(100)의 패턴 중 일부분만 인식된 경우에도 인식되지 않은 꼭지점들의 좌표를 추정할 수 있다. 예를 들어, 동작 분석 장치(170)는 패턴 위 꼭지점 중 일부분만 인식한 경우에도 미리 저장된 신체 부위의 중심(530) 및 꼭지점들 사이의 상대적 거리(rn) 및/또는 신체 부위의 중심(530) 및 제1 단위 패턴들의 중심들(500-1 내지 500-n) 사이의 각도(θn)에 기초하여 인식되지 않은 꼭지점들의 좌표를 추정할 수 있다.The motion analysis apparatus 170 may estimate the coordinates of unrecognized vertices even when only a part of the pattern of the marker 100 is recognized based on the stored relative distances and angles. For example, even when only a portion of the vertices on the pattern are recognized, the motion analysis apparatus 170 stores the pre-stored center 530 of the body part and the relative distance r n between the vertices and/or the center 530 of the body part. ) and the coordinates of unrecognized vertices may be estimated based on the angle θ n between the centers 500-1 to 500-n of the first unit patterns.

도 8b의 예를 참조하면, 앞쪽 제1 단위 패턴(500-1)이 인식되지 않은 경우에도, 인식된 다른 제1 단위 패턴(500-3)의 중심 및 두 제1 단위 패턴(500-1 및 500-3) 사이의 상대적 각도(

Figure 112020069384455-pat00002
)에 기초하여 신체 부위의 앞 부분이 향하는 방향(y-axis)을 추정할 수 있다.Referring to the example of FIG. 8B , even when the front first unit pattern 500 - 1 is not recognized, the center of the recognized other first unit pattern 500 - 3 and the two first unit patterns 500 - 1 and 500-3) between the relative angles (
Figure 112020069384455-pat00002
), it is possible to estimate the direction (y-axis) of the front part of the body part.

따라서, 동작 분석 장치(170)는 마커(100)의 패턴 중 일부분만 인식한 경우에도 모든 제1 단위 패턴들의 중심들(500-1 내지 500-n)의 좌표를 획득할 수 있고, 이에 기초하여 자세 추정을 수행할 수 있다. 예를 들어, 동작 분석 장치(170)는 인식된 일부 패턴 위 꼭지점의 배치 및 좌표와 저장된 상대적 거리 정보에 기초한 다변측정법(multilateration)을 통해 신체 부위의 중심 좌표를 계산하고, 인식된 일부 제1 단위 패턴들의 중심들(500-1 내지 500-n)의 배치 및 좌표와 저장된 상대적 각도 정보에 기초한 최소 제곱법을 통해 신체 부위의 방향(z-axis 및 y-axis)를 계산하여, 사용자(30)의 자세를 추정할 수 있다.Accordingly, the motion analysis apparatus 170 may obtain the coordinates of the centers 500-1 to 500-n of all the first unit patterns even when only a part of the patterns of the marker 100 is recognized, and based on this, the coordinates of the centers 500-1 to 500-n are obtained. Posture estimation can be performed. For example, the motion analysis device 170 calculates the center coordinates of the body part through multilateration based on the location and coordinates of the vertices on the recognized partial pattern and the stored relative distance information, and the recognized partial first unit. By calculating the direction (z-axis and y-axis) of the body part through the least squares method based on the arrangement and coordinates of the centers (500-1 to 500-n) of the patterns and the stored relative angle information, the user 30 posture can be estimated.

동작 분석 시스템(10)은 촬영 장치(150)가 마커(100)를 부착한 사용자(30)를 촬영한 이미지를 동작 분석 장치(170)를 통해 분석하여 사용자(30)의 동작 분석 결과를 획득할 수 있다.The motion analysis system 10 analyzes the image captured by the photographing device 150 of the user 30 to which the marker 100 is attached through the motion analysis device 170 to obtain a motion analysis result of the user 30 . can

동작 분석 시스템(10)은 마커(100)의 일부분이 가려지더라도 실시간으로 동작 분석을 수행할 수 있으며, 마커(100)의 굴곡 또는 왜곡에도 강인하며, 높은 정확도로 자세 추정을 수행할 수 있는 특성을 가진다.The motion analysis system 10 can perform motion analysis in real time even when a part of the marker 100 is covered, is robust against bending or distortion of the marker 100, and can perform posture estimation with high accuracy have

또한, 동작 분석 시스템(10)은 이미지를 획득할 수 있는 모든 종류의 촬영 장치(150)로 구현할 수 있어 낮은 가격으로 동작 분석 시스템(10)을 구현할 수도 있다.In addition, since the motion analysis system 10 can be implemented with all kinds of photographing devices 150 capable of acquiring an image, the motion analysis system 10 can be implemented at a low price.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and available to those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic such as floppy disks. - includes magneto-optical media, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may comprise a computer program, code, instructions, or a combination of one or more thereof, which configures a processing device to operate as desired or is independently or collectively processed You can command the device. The software and/or data may be any kind of machine, component, physical device, virtual equipment, computer storage medium or device, to be interpreted by or to provide instructions or data to the processing device. , or may be permanently or temporarily embody in a transmitted signal wave. The software may be distributed over networked computer systems, and stored or executed in a distributed manner. Software and data may be stored in one or more computer-readable recording media.

이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with reference to the limited drawings, those skilled in the art may apply various technical modifications and variations based on the above. For example, the described techniques are performed in a different order than the described method, and/or the described components of the system, structure, apparatus, circuit, etc. are combined or combined in a different form than the described method, or other components Or substituted or substituted by equivalents may achieve an appropriate result.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (20)

신체 부위 중 일부를 둘러싸는 띠 형태의 마커를 부착한 사용자를 촬영한 이미지를 획득하는 단계; 및
상기 이미지에 기초하여 상기 사용자의 동작을 분석하는 단계
를 포함하고,
상기 마커는,
복수의 단위 폴리곤들이 한 꼭지점을 공유하여 형성하는 제1 단위 패턴들이 일렬로 나열된 패턴을 포함하고,
상기 제1 단위 패턴들은,
인접한 제1 단위 패턴과 적어도 하나의 단위 폴리곤을 공유하고,
상기 단위 폴리곤들은,
내부에 식별 표지를 포함하거나 포함하지 않는, 동작 분석 방법.
acquiring an image of a user with a band-shaped marker surrounding some of the body parts; and
analyzing the user's motion based on the image
including,
The marker is
a pattern in which first unit patterns formed by a plurality of unit polygons sharing one vertex are arranged in a line;
The first unit patterns are
Shares at least one unit polygon with an adjacent first unit pattern,
The unit polygons are
A method of analyzing behavior, with or without an identification mark therein.
제1항에 있어서,
상기 단위 폴리곤들은 각각은,
삼각형이고,
상기 제1 단위 패턴들은,
한 점을 세 개의 꼭지점 중 하나로 하는 여섯 개의 삼각형이 모여 형성된 육각 패턴들이고,
상기 육각 패턴들은,
인접한 육각 패턴들과 두 개의 삼각형이 중첩되도록 배열되는, 동작 분석 방법.
According to claim 1,
Each of the unit polygons,
is a triangle,
The first unit patterns are
It is a hexagonal pattern formed by combining six triangles with one point as one of the three vertices.
The hexagonal patterns are
A method for analyzing motion, in which adjacent hexagonal patterns and two triangles are arranged to overlap.
제1항에 있어서,
상기 분석하는 단계는,
상기 이미지를 처리하여 상기 마커의 패턴을 식별하는 단계; 및
식별된 패턴에 기초하여 상기 사용자의 자세를 추정하는 단계
를 포함하는, 동작 분석 방법.
According to claim 1,
The analyzing step is
processing the image to identify a pattern of the marker; and
estimating the posture of the user based on the identified pattern
Including, a method for analyzing motion.
제3항에 있어서,
상기 패턴을 식별하는 단계는,
인접하는 두 개의 제1 단위 패턴들을 포함하는 제2 단위 패턴들을 식별하는 단계; 및
상기 제2 단위 패턴들에 기초하여 상기 제1 단위 패턴들의 배치를 식별하는 단계
를 포함하는, 동작 분석 방법.
4. The method of claim 3,
The step of identifying the pattern,
identifying second unit patterns including two adjacent first unit patterns; and
identifying the arrangement of the first unit patterns based on the second unit patterns;
Including, a method for analyzing motion.
제4항에 있어서,
상기 제2 단위 패턴들을 식별하는 단계는,
상기 이미지를 이진화하는 단계;
이진화한 이미지에서 패턴의 윤곽, 상기 단위 폴리곤들의 꼭지점 및 상기 식별 표지를 인식하는 단계;
상기 제1 단위 패턴들을 인식하는 단계;
상기 제2 단위 패턴들을 인식하는 단계; 및
상기 제2 단위 패턴들 각각에 포함된 제1 단위 패턴들에 기초하여 상기 제2 단위 패턴들 각각의 ID를 식별하는 단계
를 포함하는, 동작 분석 방법.
5. The method of claim 4,
The step of identifying the second unit patterns includes:
binarizing the image;
recognizing the outline of the pattern, the vertices of the unit polygons, and the identification mark in the binarized image;
recognizing the first unit patterns;
recognizing the second unit patterns; and
identifying the ID of each of the second unit patterns based on the first unit patterns included in each of the second unit patterns;
Including, a method for analyzing motion.
제5항에 있어서,
상기 ID를 식별하는 단계는,
상기 식별 표지에 기초하여 상기 제2 단위 패턴을 구성하는 첫번째 제1 단위 패턴의 종류를 식별하는 단계;
상기 식별 표지에 기초하여 상기 단위 패턴을 구성하는 두번째 제1 단위 패턴의 종류를 식별하는 단계; 및
상기 첫번째 제1 단위 패턴의 종류, 상기 두번째 제1 단위 패턴의 종류 및 상기 첫번째 제1 단위 패턴 및 두번째 제1 단위 패턴이 중첩되는 위치에 기초하여 상기 ID를 식별하는 단계
를 포함하는, 동작 분석 방법.
6. The method of claim 5,
The step of identifying the ID,
identifying a type of a first first unit pattern constituting the second unit pattern based on the identification mark;
identifying a type of a second first unit pattern constituting the unit pattern based on the identification mark; and
identifying the ID based on a type of the first first unit pattern, a type of the second first unit pattern, and a position where the first first unit pattern and the second first unit pattern overlap
Including, a method for analyzing motion.
제4항에 있어서,
상기 자세를 추정하는 단계는,
상기 패턴 위 꼭지점들의 좌표를 획득하는 단계;
상기 배치 및 상기 좌표에 기초하여 동작 분석을 위한 데이터를 계산하는 단계; 및
상기 데이터에 기초하여 상기 자세를 추정하는 단계
를 포함하는, 동작 분석 방법.
5. The method of claim 4,
The step of estimating the posture is
obtaining coordinates of vertices on the pattern;
calculating data for motion analysis based on the arrangement and the coordinates; and
estimating the posture based on the data
Including, a method for analyzing motion.
제7항에 있어서,
상기 데이터를 계산하는 단계는,
상기 신체 부위의 중심 좌표를 정의하는 단계;
상기 신체 부위의 길이 방향을 정의하는 단계; 및
상기 신체 부위의 앞 부분이 향하는 방향을 정의하는 단계
를 포함하는, 동작 분석 방법.
8. The method of claim 7,
Calculating the data includes:
defining center coordinates of the body part;
defining a longitudinal direction of the body part; and
defining a direction in which the front part of the body part faces
Including, a method for analyzing motion.
제8항에 있어서,
상기 데이터를 계산하는 단계는,
상기 중심 좌표와 상기 패턴 위 꼭지점들 사이의 상대적 거리 및 상기 중심 좌표와 제1 단위 패턴들의 중심들 사이의 상대적 각도를 계산하는 단계;
상기 제1 단위 패턴들의 중심의 좌표 중 일부, 상기 상대적 거리 및 상기 상대적 각도에 기초하여 상기 데이터를 계산하는 단계
를 포함하는, 동작 분석 방법.
9. The method of claim 8,
Calculating the data includes:
calculating a relative distance between the center coordinates and vertices on the pattern and a relative angle between the center coordinates and centers of the first unit patterns;
calculating the data based on some of the coordinates of the centers of the first unit patterns, the relative distance, and the relative angle
Including, a method for analyzing motion.
하드웨어와 결합되어 제1항 내지 제9항 중 어느 하나의 항의 방법을 실행시키기 위하여 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램.
A computer program stored in a computer-readable recording medium in combination with hardware to execute the method of any one of claims 1 to 9.
인스트럭션들을 포함하는 메모리; 및
상기 인스트럭션들을 실행하기 위한 프로세서
를 포함하고,
상기 프로세서에 의해 상기 인스트럭션들이 실행될 때, 상기 프로세서는,
사용자의 신체 부위 중 일부를 둘러싸는 띠 형태의 마커를 촬영한 이미지를 획득하고, 상기 이미지에 기초하여 상기 사용자의 동작을 분석하고,
상기 마커는,
복수의 단위 폴리곤들이 한 꼭지점을 공유하여 형성하는 제1 단위 패턴들이 일렬로 나열된 패턴을 포함하고,
상기 제1 단위 패턴들은,
인접한 제1 단위 패턴과 적어도 하나의 단위 폴리곤을 공유하고,
상기 단위 폴리곤들은,
내부에 식별 표지를 포함하거나 포함하지 않는, 동작 분석 장치.
a memory containing instructions; and
a processor for executing the instructions
including,
When the instructions are executed by the processor, the processor
Obtaining an image obtained by photographing a band-shaped marker surrounding a part of the user's body part, and analyzing the user's motion based on the image,
The marker is
a pattern in which first unit patterns formed by a plurality of unit polygons sharing one vertex are arranged in a line;
The first unit patterns are
Shares at least one unit polygon with an adjacent first unit pattern,
The unit polygons are
A motion analysis device with or without an identification mark therein.
제11항에 있어서,
상기 단위 폴리곤들은 각각은,
삼각형이고,
상기 제1 단위 패턴들은,
한 점을 세 개의 꼭지점 중 하나로 하는 여섯 개의 삼각형이 모여 형성된 육각 패턴들이고,
상기 육각 패턴들은,
인접한 육각 패턴들과 두 개의 삼각형이 중첩되도록 배열되는, 동작 분석 장치.
12. The method of claim 11,
Each of the unit polygons,
is a triangle,
The first unit patterns are
It is a hexagonal pattern formed by combining six triangles with one point as one of the three vertices.
The hexagonal patterns are
A motion analysis device, arranged so that adjacent hexagonal patterns and two triangles overlap.
제11항에 있어서,
상기 프로세서는,
상기 이미지를 처리하여 상기 마커의 패턴을 식별하고, 식별된 패턴에 기초하여 상기 사용자의 자세를 추정하는, 동작 분석 장치.
12. The method of claim 11,
The processor is
A motion analysis apparatus for processing the image to identify a pattern of the marker and estimating a posture of the user based on the identified pattern.
제13항에 있어서,
상기 프로세서는,
인접하는 두 개의 제1 단위 패턴들을 포함하는 제2 단위 패턴들을 식별하고, 상기 제2 단위 패턴들에 기초하여 상기 제1 단위 패턴들의 배치를 식별하는, 동작 분석 장치.
14. The method of claim 13,
The processor is
A motion analysis apparatus comprising: identifying second unit patterns including two adjacent first unit patterns; and identifying an arrangement of the first unit patterns based on the second unit patterns.
제14항에 있어서,
상기 프로세서는,
상기 이미지를 이진화하고, 이진화한 이미지에서 패턴의 윤곽, 상기 단위 폴리곤들의 꼭지점 및 상기 식별 표지를 인식하고, 상기 제1 단위 패턴들을 인식하고, 상기 제2 단위 패턴들을 인식하고, 상기 제2 단위 패턴들 각각에 포함된 제1 단위 패턴들에 기초하여 상기 제2 단위 패턴들 각각의 ID를 식별하는, 동작 분석 장치.
15. The method of claim 14,
The processor is
binarizing the image, recognizing the outline of a pattern, vertices of the unit polygons, and the identification mark in the binarized image, recognizing the first unit patterns, recognizing the second unit patterns, and recognizing the second unit pattern A motion analysis apparatus for identifying the ID of each of the second unit patterns based on the first unit patterns included in each.
제15항에 있어서,
상기 프로세서는,
상기 식별 표지에 기초하여 상기 제2 단위 패턴을 구성하는 첫번째 제1 단위 패턴의 종류를 식별하고, 상기 식별 표지에 기초하여 상기 제2 단위 패턴을 구성하는 두번째 제1 단위 패턴의 종류를 식별하고, 상기 첫번째 제1 단위 패턴의 종류, 상기 두번째 제1 단위 패턴의 종류 및 상기 첫번째 제1 단위 패턴 및 두번째 제1 단위 패턴이 중첩되는 위치에 기초하여 상기 ID를 식별하는, 동작 분석 장치.
16. The method of claim 15,
The processor is
identifying a type of a first first unit pattern constituting the second unit pattern based on the identification mark, and identifying a type of a second first unit pattern constituting the second unit pattern based on the identification mark; and identifying the ID based on a type of the first first unit pattern, a type of the second first unit pattern, and a position where the first first unit pattern and the second first unit pattern overlap.
제14항에 있어서,
상기 프로세서는,
상기 패턴 위 꼭지점들의 좌표를 획득하고, 상기 배치 및 상기 좌표에 기초하여 동작 분석을 위한 데이터를 계산하고, 상기 데이터에 기초하여 상기 자세를 추정하는, 동작 분석 장치.
15. The method of claim 14,
The processor is
Obtaining coordinates of vertices on the pattern, calculating data for motion analysis based on the arrangement and the coordinates, and estimating the posture based on the data.
제17항에 있어서,
상기 프로세서는,
상기 신체 부위의 중심 좌표를 정의하고, 상기 신체 부위의 길이 방향을 정의하고, 상기 신체 부위의 앞 부분이 향하는 방향을 정의하는, 동작 분석 장치.
18. The method of claim 17,
The processor is
The motion analysis apparatus of claim 1 , defining a center coordinate of the body part, defining a longitudinal direction of the body part, and defining a direction in which a front part of the body part faces.
제18항에 있어서,
상기 프로세서는,
상기 중심 좌표와 상기 패턴 위 꼭지점들 사이의 상대적 거리 및 상기 중심 좌표와 제1 단위 패턴들의 중심들 사이의 상대적 각도를 계산하고, 상기 제1 단위 패턴들의 중심의 좌표 중 일부, 상기 상대적 거리 및 상기 상대적 각도에 기초하여 상기 데이터를 계산하는, 동작 분석 장치.
19. The method of claim 18,
The processor is
a relative distance between the central coordinates and vertices on the pattern and a relative angle between the central coordinates and centers of the first unit patterns are calculated, and some of the coordinates of the centers of the first unit patterns, the relative distance and the A motion analysis device for calculating the data based on a relative angle.
신체 부위 중 일부를 둘러싸는 띠 형태의 마커를 부착한 사용자를 촬영하는 촬영 장치; 및
제11항 내지 제19항 중 어느 하나의 항의 동작 분석 장치를 포함하고,
복수의 단위 폴리곤들이 한 꼭지점을 공유하여 형성하는 제1 단위 패턴들이 일렬로 나열된 패턴을 포함하고,
상기 제1 단위 패턴들은,
인접한 제1 단위 패턴과 적어도 하나의 단위 폴리곤을 공유하고,
상기 단위 폴리곤들은,
내부에 식별 표지를 포함하거나 포함하지 않는, 동작 분석 시스템.
a photographing device for photographing a user with a band-shaped marker surrounding a part of the body; and
20. Including the motion analysis device of any one of claims 11 to 19,
a pattern in which first unit patterns formed by a plurality of unit polygons sharing one vertex are arranged in a line;
The first unit patterns are
Shares at least one unit polygon with an adjacent first unit pattern,
The unit polygons are
A motion analysis system, with or without an identification mark therein.
KR1020200082168A 2020-07-03 2020-07-03 Real-time motion analysis method and device performing the same KR102273276B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200082168A KR102273276B1 (en) 2020-07-03 2020-07-03 Real-time motion analysis method and device performing the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200082168A KR102273276B1 (en) 2020-07-03 2020-07-03 Real-time motion analysis method and device performing the same

Publications (1)

Publication Number Publication Date
KR102273276B1 true KR102273276B1 (en) 2021-07-06

Family

ID=76860536

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200082168A KR102273276B1 (en) 2020-07-03 2020-07-03 Real-time motion analysis method and device performing the same

Country Status (1)

Country Link
KR (1) KR102273276B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150053202A (en) * 2013-11-07 2015-05-15 한국전기연구원 Calibration method for surgical navigation systems
KR20160047702A (en) * 2014-10-23 2016-05-03 이진용 Measuring method and system for 3-dimensional position of human body
KR101820682B1 (en) * 2016-08-09 2018-01-23 주식회사 고영테크놀러지 Marker for optical tracking, optical tracking system, and optical tracking method
KR101929471B1 (en) * 2017-04-17 2018-12-14 재단법인대구경북과학기술원 Method for tracking marker, apparatus and system for executing the method
KR20210016378A (en) * 2018-05-14 2021-02-15 노바라드 코포레이션 How to align the patient's image data with the patient's actual field of view using an optical cord attached to the patient

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150053202A (en) * 2013-11-07 2015-05-15 한국전기연구원 Calibration method for surgical navigation systems
KR20160047702A (en) * 2014-10-23 2016-05-03 이진용 Measuring method and system for 3-dimensional position of human body
KR101820682B1 (en) * 2016-08-09 2018-01-23 주식회사 고영테크놀러지 Marker for optical tracking, optical tracking system, and optical tracking method
KR101929471B1 (en) * 2017-04-17 2018-12-14 재단법인대구경북과학기술원 Method for tracking marker, apparatus and system for executing the method
KR20210016378A (en) * 2018-05-14 2021-02-15 노바라드 코포레이션 How to align the patient's image data with the patient's actual field of view using an optical cord attached to the patient

Similar Documents

Publication Publication Date Title
JP5618569B2 (en) Position and orientation estimation apparatus and method
US7671875B2 (en) Information processing method and apparatus
JP5548482B2 (en) Position / orientation measuring apparatus, position / orientation measuring method, program, and storage medium
Traver et al. A review of log-polar imaging for visual perception in robotics
JP5950122B2 (en) Calibration apparatus, calibration method, and calibration program
Pintaric et al. Affordable infrared-optical pose-tracking for virtual and augmented reality
ES2402957T3 (en) Effective and accurate tracking of three-dimensional objects
US20100289797A1 (en) Position and orientation estimation apparatus and method
WO2016199605A1 (en) Image processing device, method, and program
JP2009536731A (en) Modeling of humanoid shape by depth map
JP2011179908A (en) Three-dimensional measurement apparatus, method for processing the same, and program
JP2009252112A (en) Image processing apparatus and method
CN101821580A (en) System and method for three-dimensional measurement of the shape of material objects
JP4938748B2 (en) Image recognition apparatus and program
Ferrara et al. Wide-angle and long-range real time pose estimation: A comparison between monocular and stereo vision systems
JP5976089B2 (en) Position / orientation measuring apparatus, position / orientation measuring method, and program
Wang et al. Coarse-to-fine dot array marker detection with accurate edge localization for stereo visual tracking
KR102655201B1 (en) Method for generating guideline to prevent injury and device performing the same
KR102273276B1 (en) Real-time motion analysis method and device performing the same
JP2022516466A (en) Information processing equipment, information processing methods, and programs
JP2001349706A (en) Position detection method and device, image processing method, sheet and recording medium
de Gusmao Lafayette et al. The virtual kinect
JP5559749B2 (en) POSITION DETECTION DEVICE, POSITION DETECTION METHOD, AND COMPUTER PROGRAM
JP7373352B2 (en) Location estimation device, location learning device and program
Nguyen et al. Vision-Based Global Localization of Points of Gaze in Sport Climbing

Legal Events

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