KR20220063847A - Electronic device for identifying human gait pattern and method there of - Google Patents
Electronic device for identifying human gait pattern and method there of Download PDFInfo
- Publication number
- KR20220063847A KR20220063847A KR1020200149421A KR20200149421A KR20220063847A KR 20220063847 A KR20220063847 A KR 20220063847A KR 1020200149421 A KR1020200149421 A KR 1020200149421A KR 20200149421 A KR20200149421 A KR 20200149421A KR 20220063847 A KR20220063847 A KR 20220063847A
- Authority
- KR
- South Korea
- Prior art keywords
- angle
- link
- subject
- joint
- information
- Prior art date
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1671—Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
- B25J19/021—Optical sensing devices
- B25J19/023—Optical sensing devices including video camera means
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled systems
Abstract
Description
본 개시는 대상자의 보행 패턴을 식별하는 방법 및 이를 수행하는 전자 장치에 관한 것이다. 보다 상세하게는 휴머노이드 로봇 모델을 이용하여 대상자의 보행 패턴을 식별하는 방법 및 이를 수행하는 전자 장치에 관한 것이다.The present disclosure relates to a method for identifying a gait pattern of a subject and an electronic device for performing the same. More particularly, it relates to a method of identifying a gait pattern of a subject using a humanoid robot model, and an electronic device for performing the same.
병원이나 요양원에서 의료에 필요한 자동 건강상태 측정 및 모니터링을 위한 보행 패턴 기술들이 개발되고 있다. 특히 사람의 동작 인식 또는 자세 추정 기술은 이미지 내지 영상을 분석함으로써 수행되고 있으며 다양한 융합 기술에 기초하여 활발하게 연구되고 있다.In hospitals or nursing homes, gait pattern technologies for automatic health measurement and monitoring necessary for medical care are being developed. In particular, human motion recognition or posture estimation techniques are being performed by analyzing images or images, and are being actively studied based on various fusion techniques.
또한, 이미지 또는 영상을 분석함으로써 2D차원의 자세 분석, 3D차원의 자세 분석에 대한 연구가 활발하게 진행되고 있으며, 보다 상세하게는 사람의 신체 구조에 대응되는 골격 모델을 생성하고, 생성된 골격 모델 내 관절 각도 등을 추정함으로써 수행된다.In addition, by analyzing images or images, research on 2D-dimensional posture analysis and 3D-dimensional posture analysis is being actively conducted. This is done by estimating my joint angle, etc.
한편, 인공 지능 기술은 종래 규칙(Rule) 기반 시스템과 달리 스스로 학습하고, 똑똑해지는 시스템으로서 영상 처리, 음성 처리 등 다양한 분야에서 사용되고 있다. 최근 심층 신경망(deep neural network, DNN) 알고리즘이 다양한 머신 러닝 분야에 사용되며 성능 향상이 크게 이루어지고 있으며 이를 통한 영상 처리 기술을 통한 영상 인식 기술이 적용된 제품들 역시 공개되고 있다.On the other hand, artificial intelligence technology is used in various fields such as image processing and voice processing as a system that learns by itself and becomes smart unlike the conventional rule-based system. Recently, a deep neural network (DNN) algorithm is used in various machine learning fields, and performance is greatly improved.
종래 사람의 자세를 분석하기 위해 인체의 모형을 모방한 인체 모델을 활용하여 사람의 보행 패턴, 자세 등을 분석하기 위한 기술들이 연구되어 왔으나, 실제 사람의 정확한 자세를 추정 하는 데는 한계가 있다. 따라서, 사람의 보행 패턴 내지 자세를 보다 정확하게 식별하기 위한 기술 개발이 요구되고 있다.In order to analyze a person's posture, techniques for analyzing a person's gait pattern, posture, etc. have been studied using a human body model that imitates a human body model. Accordingly, there is a demand for technology development for more accurately identifying a person's gait pattern or posture.
일 실시 예에 따르면, 전자 장치가 대상자의 보행 패턴을 식별하는 방법 및 이를 수행하는 전자 장치가 제공될 수 있다.According to an embodiment, a method for an electronic device to identify a gait pattern of a subject and an electronic device for performing the same may be provided.
일 실시 예에 의하면, 휴머노이드 로봇 모델을 이용하여 대상자의 보행 패턴을 식별하는 방법 및 이를 수행하는 전자 장치가 제공될 수 있다.According to an embodiment, a method for identifying a gait pattern of a subject using a humanoid robot model and an electronic device for performing the same may be provided.
상술한 기술적 과제를 달성하기 위한 본 개시의 일 실시 예에 따라, 전자 장치가 대상자의 보행 패턴을 식별하는 방법은 상기 전자 장치와 연결된 카메라를 통하여 상기 대상자를 촬영함으로써 영상을 획득하는 단계; 획득된 상기 이미지로부터 인체골격 정보를 생성하는 단계; 상기 생성된 인체골격 정보에서 적어도 하나의 링크의 연결 관계에 기초하여 상기 대상자에 대한 상기 카메라의 촬영 각도를 식별하는 단계; 상기 카메라의 촬영 각도에 기초하여 상기 로봇 모델의 관절 정보를 결정하는 단계; 및 상기 결정된 관절 정보에 기초하여 휴머노이드 로봇 자세 시뮬레이션을 실행함으로써 상기 대상자의 보행 패턴을 식별하는 단계; 를 포함할 수 있다.According to an embodiment of the present disclosure for achieving the above-described technical problem, a method for an electronic device to identify a gait pattern of a subject includes: acquiring an image by photographing the subject through a camera connected to the electronic device; generating human skeleton information from the acquired image; identifying a photographing angle of the camera with respect to the subject based on a connection relationship of at least one link in the generated human skeleton information; determining joint information of the robot model based on the photographing angle of the camera; and identifying a gait pattern of the subject by executing a humanoid robot posture simulation based on the determined joint information; may include
또한, 상기 기술적 과제를 해결하기 위한 본 개시의 또 다른 실시 예에 따라, 대상자의 보행 패턴을 식별하는 전자 장치는 네트워크 인터페이스; 하나 이상의 인스트럭션을 저장하는 메모리; 및 적어도 하나의 프로세서; 를 포함하고, 상기 적어도 하나의 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써, 상기 전자 장치와 연결된 카메라를 통하여 상기 대상자를 촬영함으로써 영상을 획득하고, 상기 영상으로부터 획득된 인체골격 정보를 생성하고, 상기 생성된 인체골격 정보에서 적어도 하나의 링크의 연결 관계에 기초하여 상기 대상자에 대한 상기 카메라의 촬영 각도를 식별하고, 상기 카메라의 촬영 각도에 기초하여 상기 로봇 모델의 관절 정보를 결정하고, 상기 결정된 관절 정보에 기초하여 휴머노이드 로봇의 자세 시뮬레이션을 실행함으로써 상기 대상자의 보행 패턴을 식별할 수 있다.In addition, according to another embodiment of the present disclosure for solving the above technical problem, an electronic device for identifying a gait pattern of a subject includes: a network interface; a memory storing one or more instructions; and at least one processor; including, wherein the at least one processor obtains an image by photographing the subject through a camera connected to the electronic device by executing the one or more instructions, generates human skeleton information obtained from the image, and generates the Identifies the photographing angle of the camera for the subject based on the connection relationship of at least one link in the human skeleton information, determines the joint information of the robot model based on the photographing angle of the camera, and the determined joint information It is possible to identify the subject's gait pattern by executing a posture simulation of the humanoid robot based on the
또한, 상기 기술적 과제를 해결하기 위한 본 개시의 또 다른 실시 예에 따라, 전자 장치가 대상자의 보행 패턴을 식별하는 방법에 있어서, 상기 전자 장치와 연결된 카메라를 통하여 상기 대상자를 촬영함으로써 영상을 획득하는 단계; 상기 획득된영상으로부터 인체골격 정보를 생성하는 단계; 상기 생성된 인체골격 정보에서 적어도 하나의 링크의 연결 관계에 기초하여 상기 대상자에 대한 상기 카메라의 촬영 각도를 식별하는 단계; 상기 카메라의 촬영 각도에 기초하여 상기 로봇 모델의 관절 정보를 결정하는 단계; 및 상기 결정된 관절 정보에 기초하여 휴머노이드 로봇 자세 시뮬레이션을 실행함으로써 상기 대상자의 보행 패턴을 식별하는 단계; 를 포함하는 방법을 수행하도록 하는 프로그램이 저장된 컴퓨터로 읽을 수 있는 기록 매체가 제공될 수 있다.In addition, according to another embodiment of the present disclosure for solving the technical problem, in a method for an electronic device to identify a subject's gait pattern, acquiring an image by photographing the subject through a camera connected to the electronic device step; generating human skeleton information from the acquired image; identifying a photographing angle of the camera with respect to the subject based on a connection relationship of at least one link in the generated human skeleton information; determining joint information of the robot model based on the photographing angle of the camera; and identifying a gait pattern of the subject by executing a humanoid robot posture simulation based on the determined joint information; A computer-readable recording medium in which a program for performing a method including a method is stored may be provided.
도 1은 일 실시 예에 따른 전자 장치가 대상자의 보행 패턴을 식별하는 과정을 개략적으로 설명하기 위한 도면이다.
도 2는 일 실시 예에 따른 DH 법을 이용한 인접 좌표계 간의 기하학적 관계를 나타내는 도면이다.
도 3은 일 실시 예에 따른 로봇 모델 하체의 관절-링크 모델을 설명하기 위한 도면이다.
도 4는 일 실시 예에 따른 인체의 3가지 평면을 설명하기 위한 도면이다.
도 5는 일 실시 예에 따른 로봇 모델 상체의 관절-링크 모델을 설명하기 위한 도면이다.
도 6은 일 실시 예에 따른 신경망 모델에서 인식한 관절 및 관절 사이를 연결하는 링크를 설명하기 위한 도면이다.
도 7은 일 실시 예에 따라 3차원 물체를 관상면과 시상면에 투영했을 때의 관계를 위한 도면이다.
도 8은 사람과 카메라의 각도 관계를 설명하기 위한 도면이다.
도 9는 일 실시 예에 따라 두 링크가 이르는 각도를 설명하기 위한 도면이다.
도 10은 또 다른 실시 예에 따라 두 링크가 이루는 각도를 설명하기 위한 도면이다.
도 11은 또 다른 실시 예에 따라 두 링크가 이루는 각도를 설명하기 위한 도면이다.
도 12는 일 실시 예에 따라 사람이 정면을 향할 때 또는 오른쪽을 향할 때 신경망 모델에서 인식한 골격 모델을 설명하기 위한 도면이다.
도 13은 일 실시 예에 따라 사람이 오른쪽, 정면, 왼쪽을 향할 때의 신경망 모델에서 인식한 골격 모델을 설명하기 위한 도면이다.
도 14는 일 실시 예에 따라 사람이 오른쪽과 왼쪽을 향할 때 인식된 신경망 골격 모델을 설명하기 위한 도면이다.
도 15는 일 실시 예에 따라 얼굴 링크와 몸통 링크의 사이각을 설명하기 위한 도면이다.
도 16은 일 실시 예에 따라 픽셀 좌표로 표시된 인체의 골격 모델을 나타내는 도면이다.
도 17은 일 실시 예에 따라 서있는 로봇 모델 하체의 관절-링크 모델을 나타내는 도면이다.
도 18은 일 실시 예에 따라 오른쪽 고관절 관상면 각도를 계산하기 위한 도면이다.
도 19는 일 실시 예에 따라 왼쪽 고관절 관상면 각도를 게산하기 위한 도면이다.
도 20은 일 실시 예에 따라 로봇 모델 상체의 관절-링크 모델을 설명하기 위한 도면이다.
도 21은 일 실시 예에 따른 오른쪽 및 왼쪽 어깨 관절 각도를 계산하기 위한 도면이다.
도 22는 일 실시 예에 따라 왼쪽에서 관측한 픽셀 좌표로 표시된 인체의 골격 모델을 나타내는 도면이다.
도 23은 일 실시 예에 따라 신경망으로 인식한 오른쪽 및 왼쪽 다리의 신경망 골격 모델 및 관절각을 나타내는 도면이다.
도 24는 일 실시 예에 따라 오른쪽 고관절 각도를 계산하기 위한 도면이다.
도 25는 일 실시 예에 따라 오른쪽 슬관절 각도를 계산하기 위한 도면이다.
도 26은 일 실시 예에 따라 왼쪽 고관절 각도를 계산하기 위한 도면이다.
도 27은 일 실시 예에 따라 왼쪽 슬관절 각도를 계산하기 위한 도면이다.
도 28은 일 실시 예에 따라 오른쪽 팔의 링크와 관절, 오른쪽 어깨의 링크와 관절, 오른쪽 팔꿈치의 링크와 관절들을 설명하기 위한 도면이다.
도 29는 일 실시 예에 따라 왼쪽 팔의 링크와 관절들을 설명하기 위한 도면이다.
도 30은 일 실시 예에 따라 사람이 왼쪽을 향해 걸을 때 픽셀 좌표로 표시된 인체의 골격 모델을 나타내는 도면이다.
도 31은 일 실시 예에 따라 오른쪽 다리 및 왼쪽 다리의 골격 모델과 관절각을 설명하기 위한 도면이다.
도 32는 일 실시 예에 따라 오른쪽 팔과 왼쪽 팔의 링크와 관절들을 설명하기 위한 도면이다.
도 33은 일 실시 예에 따라 대상자가 카메라를 향할 때 이미지 크기와 카메라 까지의 거리 관계를 설명하기 위한 도면이다.
도 34는 일 실시 예에 따라 전자 장치가 대상자의 보행 패턴을 식별하는 방법의 흐름도이다.
도 35는 일 실시 예에 따라 전자 장치가 로봇 모델을 생성하는 과정을 나타내는 도면이다.
도 36은 일 실시 예에 따라 전자 장치가 대상자에 대한 카메라의 촬영 각도를 식별하는 과정을 나타내는 도면이다.
도 37은 이 실시 예에 따라 전자 장치가 대상자의 보행 패턴을 식별하는 과정을 설명하기 위한 도면이다.
도 38은 일 실시 예에 따른 전자 장치의 블록도이다.
도 39는 또 다른 실시 예에 따른 전자 장치의 블록도이다.1 is a diagram schematically illustrating a process in which an electronic device identifies a gait pattern of a subject according to an exemplary embodiment.
2 is a diagram illustrating a geometric relationship between adjacent coordinate systems using a DH method according to an exemplary embodiment.
3 is a view for explaining a joint-link model of the lower body of the robot model according to an embodiment.
4 is a view for explaining three planes of the human body according to an embodiment.
5 is a view for explaining a joint-link model of the upper body of the robot model according to an embodiment.
6 is a diagram for explaining a joint recognized by a neural network model and a link connecting the joints according to an embodiment.
7 is a diagram for a relationship when a three-dimensional object is projected on a coronal plane and a sagittal plane, according to an embodiment.
8 is a diagram for explaining an angular relationship between a person and a camera.
9 is a view for explaining an angle between two links according to an embodiment.
10 is a view for explaining an angle between two links according to another embodiment.
11 is a view for explaining an angle between two links according to another embodiment.
12 is a diagram for describing a skeletal model recognized by a neural network model when a person faces the front or the right, according to an embodiment.
13 is a diagram for describing a skeletal model recognized by a neural network model when a person faces right, front, and left according to an embodiment.
14 is a diagram for describing a neural network skeletal model recognized when a person faces right and left, according to an embodiment.
15 is a view for explaining an angle between a face link and a body link, according to an embodiment.
16 is a diagram illustrating a skeletal model of a human body displayed in pixel coordinates, according to an exemplary embodiment.
17 is a view showing a joint-link model of the robot model lower body standing according to an embodiment.
18 is a diagram for calculating a right hip coronal angle according to an embodiment.
19 is a diagram for calculating the angle of the coronal plane of the left hip joint according to an embodiment.
20 is a view for explaining a joint-link model of the upper body of the robot model according to an embodiment.
21 is a diagram for calculating right and left shoulder joint angles according to an embodiment.
22 is a diagram illustrating a skeletal model of a human body indicated by pixel coordinates observed from the left, according to an exemplary embodiment.
23 is a diagram illustrating a neural network skeletal model and joint angles of right and left legs recognized by a neural network according to an exemplary embodiment.
24 is a diagram for calculating a right hip joint angle according to an exemplary embodiment.
25 is a diagram for calculating a right knee joint angle according to an embodiment.
26 is a diagram for calculating a left hip joint angle according to an embodiment.
27 is a diagram for calculating a left knee joint angle according to an embodiment.
28 is a view for explaining a link and a joint of a right arm, a link and a joint of a right shoulder, and a link and a joint of a right elbow, according to an embodiment.
29 is a diagram for describing a link and joints of a left arm, according to an exemplary embodiment.
30 is a diagram illustrating a skeletal model of a human body displayed in pixel coordinates when a person walks toward the left, according to an exemplary embodiment.
31 is a view for explaining skeletal models and joint angles of a right leg and a left leg, according to an exemplary embodiment.
32 is a diagram for describing links and joints of a right arm and a left arm, according to an exemplary embodiment.
33 is a diagram for describing a relationship between an image size and a distance to a camera when a subject faces a camera, according to an embodiment.
34 is a flowchart of a method for an electronic device to identify a gait pattern of a subject, according to an embodiment.
35 is a diagram illustrating a process in which an electronic device generates a robot model, according to an exemplary embodiment.
36 is a diagram illustrating a process in which an electronic device identifies a photographing angle of a camera with respect to a subject, according to an exemplary embodiment.
37 is a diagram for describing a process in which an electronic device identifies a gait pattern of a subject according to this embodiment.
38 is a block diagram of an electronic device according to an embodiment.
39 is a block diagram of an electronic device according to another embodiment.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 개시에 대해 구체적으로 설명하기로 한다. Terms used in this specification will be briefly described, and the present disclosure will be described in detail.
본 개시에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다. The terms used in the present disclosure have been selected as currently widely used general terms as possible while considering the functions in the present disclosure, but these may vary depending on the intention or precedent of a person skilled in the art, the emergence of new technology, and the like. In addition, in a specific case, there is a term arbitrarily selected by the applicant, and in this case, the meaning will be described in detail in the description of the corresponding invention. Therefore, the terms used in the present disclosure should be defined based on the meaning of the term and the contents of the present disclosure, rather than the simple name of the term.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.In the entire specification, when a part "includes" a certain element, this means that other elements may be further included, rather than excluding other elements, unless otherwise stated. In addition, terms such as "...unit" and "module" described in the specification mean a unit that processes at least one function or operation, which may be implemented as hardware or software, or a combination of hardware and software. .
또한 명세서 전체에서 약어 hp는 엉덩이(hip)을 의미하고, kn은 무릎(knee)을 의미하며, an은 발목(ankle)을 의미하고, sh는 어깨(shoulder)를 의미하고, el은 팔꿈치(elbow)를 의미하고, hd는 머리(head)를 의미하며, l은 왼쪽(left), r은 오른쪽(right)을 의미할 수 있다.In addition, throughout the specification, the abbreviation hp means hip, kn means knee, an means ankle, sh means shoulder, and el means elbow. ), hd means head, l means left, and r means right.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, with reference to the accompanying drawings, the embodiments of the present disclosure will be described in detail so that those of ordinary skill in the art to which the present disclosure pertains can easily implement them. However, the present disclosure may be implemented in several different forms and is not limited to the embodiments described herein. And in order to clearly explain the present disclosure in the drawings, parts irrelevant to the description are omitted, and similar reference numerals are attached to similar parts throughout the specification.
도 1은 일 실시 예에 따른 작업 관리 시스템이 대상 작업을 관리하는 과정을 개략적으로 설명하기 위한 도면이다.1 is a diagram schematically illustrating a process in which a job management system manages a target job according to an embodiment.
일 실시 예에 의하면 전자 장치(1000)는 대상자를 촬영함으로써 이미지 (102, 104, 106)를 획득하고, 획득된 이미지에 포함된 대상자의 보행 패턴을 식별할 수 있다. 일 실시 예에 의하면, 전자 장치(1000)는 프로세서(120) 및 메모리(140)를 포함하고, 메모리(140)는 미리 구축된 휴머노이드 로봇 모델(142)에 대한 정보 및 신경망 모델(144)에 대한 정보를 포함할 수 있다. According to an embodiment, the
예를 들어, 전자 장치(1000)는 대상자에 대한 이미지(102, 104, 106)를 획득할 수 있다. 일 실시 예에 의하면 전자 장치(1000)는 카메라 장치와 연결됨으로써, 카메라 장치로부터 이미지(102, 104, 106)를 획득할 수도 있다. 그러나 또 다른 실시 예에 의하면, 전자 장치(1000)가 카메라 장치를 포함하고, 카메라 장치를 통하여 대상자에 대한 이미지(102, 104, 106)를 획득할 수도 있다. 예를 들어, 전자 장치(1000)는 이미지를 미리 저장된 신경망 모델에 입력함으로써 인체골격 정보(관절 정보, 링크 정보를 포함)를 획득하고, 획득된 인체골격 정보에 기초하여, 대상자에 대한 카메라 촬영 각도, 관절 각도, 관절을 연결하는 링크의 길이 등에 대한 정보를 식별할 수 있다. 전자 장치(1000)는 획득된 인체골격 정보에 기초하여 로봇 모델을 시뮬레이션함으로써, 이를 토대로 대상자의 보행 속도 및 스텝 길이와 같은 다양한 보행 정보(162)를 결정할 수 있다. 본 개시에 따른 전자 장치(1000)는 관절 정보, 링크 정보, 보행 속도 또는 스텝 길이 중 적어도 하나에 기초하여 대상자의 보행 패턴(164)을 식별할 수 있다.For example, the
일 실시 예에 의하면, 본 개시에 따른 전자 장치(1000)는 서버(2000)와 연동함으로써 대상자의 보행 패턴을 식별할 수도 있다. 일 실시 예에 의하면, 전자 장치(1000)는 네트워크를 통하여 서버(2000)와 연동될 수 있고, 네트워크는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 부가가치 통신망(Value Added Network; VAN), 이동 통신망(mobile radio communication network), 중 적어도 하나의 조합을 포함할 수 있다. 본 개시에 따른 전자 장치(1000)는 상술한 서버(2000)외에도 다양한 네트워크 구성 주체와 통신을 하기 위한 포괄적인 의미의 데이터 통신망과, 유선 인터넷, 무선 인터넷 및 모바일 무선 통신망 자체를 포함할 수 도 있다.According to an embodiment, the
일 실시 예에 의하면, 전자 장치(1000)가 이용하는 신경망 모델(144)은 오픈포즈(OpenPose) 모델일 수 있다. 전자 장치(1000)는 오픈포즈 모델을 이용하여 3차원 인체 모션을 2차원 카메라 영상 평면에 덧입혀서 표시할 수 있다. 일 실시 예에 의하면 인체골격 정보는 관절 정보, 관절 사이를 연결하는 링크에 관한 링크 정보를 포함할 수 있다. 일 실시 예에 의하면, 관절 정보는 관절각, 관절 식별 번호에 대한 정보를 포함할 수 있고, 링크 정보는 링크의 길이에 대한 정보를 더 포함할 수도 있다. 일 실시 예에 의하면, 링크 사이의 각도에 대한 정보는 관절 정보에 포함될 수도 있다.According to an embodiment, the neural network model 144 used by the
또한, 일 실시 예에 의하면, 전자 장치(1000)는 오픈포즈 모델 외에도 기타 인공 지능 모델을 더 이용하여 이미지 내 대상자의 자세를 식별할 수도 있다. 일 실시 예에 의하면, 전자 장치(1000)가 이용하는 인공 지능 모델은 심층 신경망(DNN:Deep Neural Network)를 포함할 수 있으며, 예를 들어, CNN (Convolutional Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 또는 심층 Q-네트워크 (Deep Q-Networks) 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.Also, according to an embodiment, the
도 2는 일 실시 예에 따른 DH 법을 이용한 인접 좌표계 간의 기하학적 관계를 나타내는 도면이다.2 is a diagram illustrating a geometric relationship between adjacent coordinate systems using a DH method according to an exemplary embodiment.
DH법은 로봇의 인접한 좌표계 사이의 회전과 이동 관계를 표현하기 위해 Denavit와 Hartenberg가 1955년에 제안한 방법으로서, 4개의 파라미터를 갖는 동차변환행렬(homogeneous transformation matrix)의 곱을 이용해서 로봇의 링크나 몸체에 부착된 좌표계를 이전 링크의 좌표계로부터 체계적으로 구축하는 방법이다. DH법은 링크와 링크가 서로 연결되어 있으면 대부분의 로봇에 적용할 수 있으므로, 기준좌표계를 기준으로 임의의 링크 좌표계 나 말단부 좌표계 의 원점과 방향도 순차적으로 구할 수 있다.The DH method is a method proposed by Denavit and Hartenberg in 1955 to express the relationship between rotation and movement between adjacent coordinate systems of a robot. It is a method to systematically build the coordinate system attached to the link or body of the robot from the coordinate system of the previous link by using the product of a homogeneous transformation matrix. Since the DH method can be applied to most robots if the link and the link are connected to each other, the reference coordinate system Any link coordinate system based on I distal coordinate system The origin and direction of can also be found sequentially.
DH법을 이해하기 위해 도 2에 도시된 바와 같이 번째 관절이 번째 링크와 번째 링크를 연결하고, 각 링크에 좌표계와 좌표계가 부착되어 있다고 가정한다. 번째 관절의 액추에이터가 회전이나 이동을 하면 후단에 연결된 i번째 링크와 좌표계가 이에 반응해서 움직인다. 도 2에서 네 개의 DH 파라미터 (202, 204, 206, 208)는 DH법에서 규정한 파라미터로서 각각 관절각(joint angle), 링크 비틀림(link twist), 링크 오프셋(link offset), 링크 길이(link length)를 나타낸다. DH변환행렬 는 후행승산(post-multiply) 기법을 적용하여 하기 수학식 1과 같이 나타날 수 있다.As shown in Figure 2 to understand the DH method, the second joint second link and Connect the second link, and in each link coordinate system and Assume that a coordinate system is attached. When the actuator of the th joint rotates or moves, the i-th link connected to the rear end The coordinate system moves in response to this. The four DH parameters in Figure 2 (202, 204, 206, 208) are parameters stipulated by the DH method and indicate a joint angle, a link twist, a link offset, and a link length, respectively. DH transformation matrix can be expressed as in
상기 수학식 1식에서 대문자 와 는 sin 함수와 cos 함수를 각각 나타내며, 위첨자와 아래첨자는 DH 파라미터와 그 인덱스를 나타낸다. 즉, 는 를 나타내고 는 를 의미한다. 그리고 Rot은 좌표계 회전 행렬을, Trans는 좌표계 이동 행렬을 의미한다. Capital letters in
도 3은 일 실시 예에 따른 로봇 모델 하체의 관절-링크 모델을 설명하기 위한 도면이다.3 is a view for explaining a joint-link model of the lower body of the robot model according to an embodiment.
도 3은 로봇 모델(예컨대 휴머노이드 로봇)이 서 있을 때의 하체를 링크와 관절들로 표현한 것으로 각 링크 좌표계들은 DH법의 파라미터 규정방식을 따른다. 기준좌표계(reference coordinate frame)인 좌표계는 왼쪽 고관절에 위치하고, 세계좌표계(world coordinate frame)인 좌표계는 통상적인 방식대로 축은 로봇의 앞쪽 방향을, 축은 로봇의 오른쪽에서 왼쪽을 향하는 측면 방향을, 축은 위쪽을 향하는 방향으로 설정될 수 있다. 도 3에서 휴머노이드 로봇의 하체는 2개의 발바닥면과 7개의 링크(), 6개의 시상면(sagittal plane) 관절(), 4개의 관상면(coronal plane) 관절, 2개의 횡평면(transversal plane) 관절로 구성되어 있음을 알 수 있다.3 shows the lower body when a robot model (eg, a humanoid robot) is standing with links and joints, and each link coordinate system follows the parameter regulation method of the DH method. a reference coordinate frame The coordinate system is located in the left hip joint, and the world coordinate frame is The coordinate system is in the usual way The axis is the front direction of the robot, The axis is the lateral direction from right to left of the robot, The axis may be set in an upward direction. 3, the lower body of the humanoid robot has two soles and seven links ( ), six sagittal plane joints ( ), four coronal plane joints, and two transversal plane joints.
도 4는 일 실시 예에 따른 인체의 3가지 평면을 설명하기 위한 도면이다.4 is a view for explaining three planes of the human body according to an embodiment.
일 실시 예에 따르면 인체는 3가지 평면(예컨대 인체의 운동면)으로 구분될 수 있다. 예를 들어, Coronal Plane(404)은 관상면으로 인체를 앞쪽과 뒤쪽으로 나눈 면일 수 있다. 또한, Sagittal Plane(402)은 신체를 가운데를 기준으로 왼쪽 및 오른쪽으로 나눈 것으로 시상면 또는 정중면일 수 있다. 또한, Transverse Plane(406)은 신체를 위/아래를 기준으로 나누는 것으로 수평면 또는 횡단면일 수 있다. 전자 장치(1000)는 인체의 3가지 평면에 대한 관절 정보 내지 링크 정보들을 결정할 수 있다.According to an embodiment, the human body may be divided into three planes (eg, a movement surface of the human body). For example, the
이제 도 2 내지 4를 참조하여 하체의 왼쪽 고관절에 위치해 있는 기준좌표계 에서 하체 링크 상의 임의의 점을 측정할 때의 좌표를 계산하는 과정을 설명한다. 먼저 왼쪽 고관절에서 횡평면 관절인 회전에 의해 변환된 좌표계 상의 한 점 을 좌표계에서 보았을 때의 확장벡터 은 수학식 1의 DH행렬 를 이용하여 다음과 같이 표현할 수 있다.Now with reference to FIGS. 2 to 4, the reference coordinate system located in the left hip joint of the lower body Describes the process of calculating the coordinates when measuring any point on the lower body link. First, the transverse plane joint in the left hip joint transformed by rotation a point on the coordinate system second Expansion vector as seen in the coordinate system is the DH matrix of
상기 수학식 2의 벡터에서 위첨자 0은 기준좌표계가 0번째() 좌표계이고 아래첨자 1은 대상좌표계가 첫 번째() 좌표계라는 의미를 갖는다. 은 DH변환행렬로서, 도 3을 참조하면 네 개의 DH 파라미터는 의 관계가 있음을 알 수 있다. 여기서 주의할 점은 고관절 횡평면 회전각 은 오른손 법칙에 의해 상향축(축)을 중심으로 뒤에서 앞으로 회전하는 것이 양의 방향이라는 사실이다. 그 다음, 왼쪽 고관절에서 관상면 관절인 회전에 의해 변환된 좌표계 상의 한 점 를 좌표계에서 보았을 때의 확장벡터 는 DH변환행렬과 후행승산(post-multiply) 규칙을 이용하여 다음의 수학식 3으로 표현할 수 있다.of
상기 수학식 3에서 의 네 개 DH 파라미터는 의 관계가 있음을 알 수 있다. 여기서 주의할 점은 고관절 관상면 회전각 은 오른손 법칙에 의해 전향축(축)을 중심으로 왼쪽으로 회전하는 것이 양의 방향이라는 사실이다. 이제 왼쪽 허벅지 링크에 위치한 좌표계 상의 한 점 , 쪽 정강이 링크에 위치한 좌표계 상의 한 점 , 왼쪽 발목에 위치한 좌표계 상의 한 점 를 좌표계에서 보았을 때의 확장벡터 , , 를 다음과 같은 관계식으로 표현할 수 있다.In
상기 수학식 4 내지 6에서, 의 DH 파라미터는 이고, 의 DH 파라미터는 이고, 의 DH 파라미터는 임을 알 수 있다. 여기서 주의할 점은 시상면 관절 회전각 은 오른손 법칙에 의해 측면을 향하는 축(축)을 중심으로 위쪽으로 회전시킬 경우는 음의 값, 아래쪽으로 회전시키는 경우 양의 값이 된다는 사실이다. 그 다음으로 왼쪽 발바닥에 위치한 좌표계 상의 한 점 를 좌표계에서 보았을 때의 확장벡터 는 다음 관계식으로 표현된다.In
상기 수학식 7에서 에 대한 네 개의 DH 파라미터는 이다. 이제 하체의 오른쪽 고관절에 위치한 좌표계 상의 한 점 를 좌표계에서 보았을 때의 확장벡터 를 계산하기 위해 도 3을 참조하면 좌표계를 축 방향으로 (: 골반 링크길이)만큼 이동하고 축을 중심으로 축을 회전시키면 축이 되므로 DH행렬 에 파라미터를 입력하여 다음과 같이 표현할 수 있다.In
오른쪽 고관절에서 횡평면 관절인 회전에 의해 변환된 좌표계 상의 한 점 을 좌표계에서 보았을 때의 확장벡터 은 상기 수학식 8과 DH행렬을 이용하여 다음과 같이 표현할 수 있다.Transverse plane joint in the right hip joint transformed by rotation a point on the coordinate system second Expansion vector as seen in the coordinate system can be expressed as follows using
도 3을 참조하면 의 네 개 DH 파라미터는 의 관계가 있음을 알 수 있다. 그 다음, 오른쪽 고관절에서 관상면 관절인 회전에 의해 변환된 좌표계 상의 한 점 를 좌표계에서 보았을 때의 확장벡터 는 DH변환행렬과 후행승산 규칙을 이용하여 다음과 같이 표현할 수 있다.3 , The four DH parameters of It can be seen that there is a relationship between Then, the coronal joint in the right hip joint transformed by rotation a point on the coordinate system cast Expansion vector as seen in the coordinate system can be expressed as follows using the DH transformation matrix and the post-multiplication rule.
상기 수학식 10에서 의 DH 파라미터는 의 관계가 성립함을 알 수 있다. 이제 오른쪽 허벅지 링크에 위치한 좌표계 상의 한 점 , 오른쪽 정강이 링크에 위치한 좌표계 상의 한 점 , 오른쪽 발목에 위치한 좌표계 상의 한 점 를 좌표계에서 보았을 때의 확장벡터 , , 를 다음과 같은 관계식으로 표현할 수 있다.In
상기 수학식 11 내지 13에서 의 DH 파라미터는 이고, 의 DH 파라미터는 이고, 의 DH 파라미터는 임을 알 수 있다. 그 다음으로 오른쪽 발바닥에 위치한 좌표계 상의 한 점 을 좌표계에서 보았을 때의 확장벡터 는 다음 관계식으로 표현된다.In
상기 수학식 14에서 에 대한 네 개의 DH 파라미터는 이다. 하기 표 1에 따라 모든 링크 좌표계의 DH 행렬의 파라미터를 나타낼 수 있다.In
상기 표1은 상술한 수학식 1 내지 14에 따라 결정된 서있는 휴머노이즈 로봇 모델 하체의 링크 좌표계의 DH 변환 행렬을 나타낸다.Table 1 shows the DH transformation matrix of the link coordinate system of the lower body of the standing humanoid robot model determined according to
도 5는 일 실시 예에 따른 로봇 모델 상체의 관절-링크 모델을 설명하기 위한 도면이다. 5 is a view for explaining a joint-link model of the upper body of the robot model according to an embodiment.
도 5는 휴머노이드 로봇이 서있을 때의 상체를 링크와 관절들로 표현한 그림으로, 각 링크 좌표계들은 DH법의 파라미터 규정방식을 따른다. 상체의 왼쪽 관상면 어깨관절에 위치한 좌표계는 하체의 오른쪽 고관절에 위치한 좌표계에서 축을 따라 만큼 이동시키고, 새로운 축을 따라 (: 어깨 링크)만큼 이동시킨 후, 축을 중심으로 축을 만큼 회전시켜 축을 얻음으로써 구할 수 있다. 그러므로 DH행렬 의 파라미터는 이며, 좌표계 상의 한 점 을 좌표계에서 보았을 때의 확장벡터 는 DH행렬을 이용하여 다음과 같이 표현할 수 있다.5 is a figure expressing the upper body with links and joints when the humanoid robot is standing. Each link coordinate system follows the parameter regulation method of the DH method. Located in the left coronal plane of the upper body at the shoulder joint The coordinate system is located in the right hip joint of the lower body. in the coordinate system along the axis move as much as possible, and along the axis ( : After moving as much as shoulder link), around the axis axis rotate as much It can be obtained by obtaining the axis. Therefore, the DH matrix the parameters of is, a point on the coordinate system second Expansion vector as seen in the coordinate system can be expressed as follows using the DH matrix.
상체의 왼쪽 시상면 어깨 관절에 위치한 좌표계는 축을 중심으로 축을 만큼 회전시켜서 축을 얻고, 축을 중심으로 축을 만큼 회전시켜 축을 얻는다. 이를 DH행렬 의 파라미터로 표현하면 이며 수식으로 표현하면 다음과 같다.Located in the left sagittal plane of the upper body at the shoulder joint the coordinate system around the axis axis rotate it as much get an axis, around the axis axis rotate as much get the axis This is the DH matrix If expressed as a parameter of and expressed as a formula:
그 다음으로 왼쪽 위팔 링크에 위치한 좌표계 상의 한 점 과 왼쪽 아래팔에 위치한 좌표계 상의 한 점 을 좌표계에서 보았을 때의 확장벡터 와 은 다음 수학식에 따른 관계식으로 표현된다.Next, located on the left upper arm link a point on the coordinate system and located on the left forearm a point on the coordinate system second Expansion vector as seen in the coordinate system Wow is expressed as a relational expression according to the following equation.
상기 수학식 17 내지 18에서 에 대한 네 개의 DH 파라미터는 앞에서 설명한 회전각 부호설정 원리에 의해 이고, 에 대한 네 개의 DH 파라미터는 이다. 상체의 오른쪽 관상면 어깨관절에 위치한 좌표계는 좌표계를 축을 따라 만큼 이동하여 얻은 것이므로, 의 DH 파라미터는 이 되고 좌표계 상의 한 점 을 좌표계에서 보았을 때의 확장벡터 는 DH행렬을 이용하여 하기 수학식 19로 표현될 수 있다.In
상체의 오른쪽 시상면 어깨 관절에 위치한 좌표계는 축을 중심으로 축을 만큼 회전시켜서 축을 얻고, 축을 중심으로 축을 만큼 회전시켜 축을 얻는다. 이를 DH행렬 의 파라미터로 표현하면 이며 수식으로 표현하면 다음과 같다.Located in the right sagittal plane of the upper body at the shoulder joint the coordinate system around the axis axis rotate it as much get an axis, around the axis axis rotate as much get the axis This is the DH matrix If expressed as a parameter of and expressed as a formula:
그 다음으로 오른쪽 위팔 링크에 위치한 좌표계 상의 한 점 과 오른쪽 아래팔에 위치한 좌표계 상의 한 점 을 좌표계에서 보았을 때의 확장벡터 과 은 다음 관계식으로 표현된다.Next, located on the right upper arm link a point on the coordinate system and located on the right lower arm a point on the coordinate system second Expansion vector as seen in the coordinate system class is expressed by the following relation.
상기 수학식 21 내지 22에서 에 대한 네 개의 DH 파라미터는 이고, 에 대한 네 개의 DH 파라미터는 이다. 도 5에서 머리와 목에 위치한 관절들의 좌표계를 구하기 위해 각 좌표계 변환관계를 알아보자. 목에 위치한 좌표계는 좌표계를 축을 따라 만큼 이동하고, 새로운 축을 중심으로 축을 만큼 회전하여 축을 얻으므로, 의 DH 파라미터는 가 된다. 확장벡터 는 DH행렬을 이용하여 다음과 같이 표현할 수 있다.In
목의 횡평면 관절각 의 회전에 의해 변환되는 좌표계는 축을 중심으로 축을 만큼 회전하고, 축을 따라서 만큼 이동하고, 축을 중심으로 축을 만큼 회전하여 축을 얻게 되므로 의 DH 파라미터는 가 되고 다음과 같이 표현된다.transverse plane articular angle of the neck is transformed by the rotation of the coordinate system around the axis axis rotate as much as along the axis move as much around the axis axis rotate as much to get an axis The DH parameter of and is expressed as
머리의 시상면 관절각 의 회전에 의해 변환되는 좌표계는 축을 중심으로 축을 만큼 회전하여 축을 얻고, 축을 따라서 만큼 이동하여 얻게 되므로 의 DH 파라미터는 가 되고 과 같이 표현된다.sagittal articular angle of the head is transformed by the rotation of the coordinate system around the axis axis rotate as much get an axis, along the axis Because you get it by moving The DH parameter of become is expressed as
하기 표 2에서 상체의 모든 링크 좌표계의 DH 변환행렬을 정리했다.Table 2 below summarizes the DH transformation matrix of all link coordinate systems of the upper body.
지금까지는 링크 좌표계 상의 한 점이 갖는 좌표 를 왼쪽 고관절에 위치한 좌표계 기준으로 측정했을 때의 좌표 관계식을 구했는데, 이를 도 3 또는 도 5의 신체 중심점에 놓인 휴먼좌표계인 좌표계를 기준으로 측정한 좌표값으로 변환하기 위해서는 다음 식과 같이 좌표계 변환행렬을 추가적으로 곱해줘야 한다.So far, the coordinates of a point in the link coordinate system located in the left hip joint A coordinate relational expression was obtained when measured based on the coordinate system, which is a human coordinate system placed at the center point of the body in FIG. 3 or FIG. In order to convert the coordinate values measured based on the coordinate system, it is necessary to additionally multiply the coordinate system transformation matrix as shown in the following equation.
상기 수학식 25에서 는 좌표계의 각 축 단위벡터를, 는 좌표계의 각 축 단위벡터를 각각 나타낸다.In
도 6은 일 실시 예에 따른 신경망 모델에서 인식한 관절 및 관절 사이를 연결하는 링크를 설명하기 위한 도면이다.6 is a diagram for explaining a joint recognized by a neural network model and a link connecting the joints according to an embodiment.
일 실시 예에 의하면, 전자 장치(1000)는 대상자를 촬영함으로써 획득한 이미지를 소정의 신경망 모델(예컨대 오픈포즈 모델)에 입력함으로써 대상자에 대한 관절 포인트, 관절을 연결하는 링크에 대한 관절-링크 모델을 획득할 수 있다. 오픈포즈 모델은 인간의 관절과 얼굴, 발의 각 위치를 도 6에서 보는 것과 같이 0에서 24까지의 번호로 인식할 수 있다. According to an embodiment, the
오픈포즈는 3차원에 있는 인체 골격을 2차원 영상에 투영하므로 투영법을 잘 활용해야 한다. 그런데 사람이 걸어가는 것을 정면에서 볼 때와 측면에서 볼 때를 생각해보면 동일한 모션에 대해서도 투영된 골격모델이 달라지는 것을 알 수 있다. 즉, 걸어가기 위해서 한 쪽 다리를 들어 올렸을 때 이를 정면에서 보면 투영법의 효과에 의해 허벅지 길이가 줄어들어 보이고, 이 값과 원래 길이와의 비율을 acos 함수로 계산하면 시상면(sagittal plane, x-z 평면) 관절각이 나온다. 반면에 측면에서 허벅지를 보면 길이는 그대로이므로 그냥 각도 값을 계산하면 된다. 그러므로 사람을 보는 각도에 따라 동일한 관절각을 계산하는 방법이 달라진다. 이하 후술하는 도 7을 참조하여 사람을 보는 각도에 따른 관절각을 계산하는 과정을 설명하기로 한다.Since Open Pose projects a three-dimensional human skeleton onto a two-dimensional image, it is necessary to use the projection method well. However, if you consider when a person walks when viewed from the front and from the side, it can be seen that the projected skeletal model is different even for the same motion. In other words, when one leg is raised to walk, when viewed from the front, the thigh length appears to have decreased due to the effect of the projection method. joint angles appear. On the other hand, if you look at the thigh from the side, the length is the same, so you just need to calculate the angle value. Therefore, the method of calculating the same joint angle varies depending on the angle from which the person is viewed. Hereinafter, a process of calculating the joint angle according to the viewing angle of a person will be described with reference to FIG. 7 to be described later.
도 7은 일 실시 예에 따라 3차원 물체를 관상면과 시상면에 투영했을 때의 관계를 위한 도면이다.7 is a diagram for a relationship when a three-dimensional object is projected on a coronal plane and a sagittal plane, according to an embodiment.
도 8은 사람과 카메라의 각도 관계를 설명하기 위한 도면이다.8 is a diagram for explaining an angular relationship between a person and a camera.
도 7의 그림 (702)을 참조하면 길이가 인 역진자를 시상면에서 만큼 회전시키고 관상면(coronalplnae, y-z 평면)에서 만큼 회전시킨 것을 3차원과 2차원에서 표현한 것을 나타낸다. 도 8의 그림 (704)를 참조하면 카메라가 사람을 촬영하는 각도를 라고 할 때 사람과 카메라의 각도 관계를 정의한 것이다. 즉, 카메라가 사람을 정면으로 마주보고 있을 때는 는 , 카메라가 시계 반대방향으로 움직여서 마주보는 사람의 왼쪽을 찍으면 양의 각도, 시계 방향으로 움직여서 마주보는 사람의 오른쪽을 찍으면 음의 각도라고 정의한다. 그러므로 카메라가 정확하게 좌측에서 사람을 찍으면(혹은 화면에서 사람이 정확하게 오른쪽을 향하면) 값은 , 정확하게 우측에서 사람을 찍으면(혹은 화면에서 사람이 정확하게 왼쪽을 향하면) 가 된다. Referring to figure 702 of FIG. 7 , the length is Inverted pendulum in the sagittal plane rotated by and in the coronal plnae (yz plane) It represents the representation in 3D and 2D that rotated as much as possible. Referring to the figure 704 of FIG. 8, the angle at which the camera shoots a person is It defines the angular relationship between the person and the camera. That is, when the camera is facing the person Is , is defined as a positive angle when the camera moves counterclockwise to take a picture on the left side of the person facing it, and a negative angle when the camera moves clockwise to take a picture on the right side of the person facing it. So if the camera is shooting a person exactly on the left (or if the person on the screen is pointing exactly right) value is , when you photograph a person precisely from the right (or when the person is correctly pointed to the left on the screen). becomes
오픈포즈는 각 관절에 대해 2차원 영상 좌표를 제공하므로, 이로부터 링크의 길이와 각도를 계산할 수 있다. 각 관절에 대해, 관련 링크 길이가 에서 으로 변화하는 것을 이용해서 계산한 각도 값에는 아래첨자 을, 연결된 두 링크 간의 각도인 를 이용해서 계산한 각도 값에는 아래첨자 를 붙인다. Since OpenPose provides two-dimensional image coordinates for each joint, the length and angle of the link can be calculated from them. For each joint, the associated link length is at The angle value calculated using the change to , which is the angle between the two connected links The angle value calculated using paste it
이제 도 7의 그림 (702) 및 도 8의그림 (704)를 참조하여 촬영각 와 시상면 관절 , 관상면 관절 와의 관계를 보자. 도 7의그림 (702)의 아래 왼쪽 그림은 역진자의 움직임이 관상면에 투영된 것이다. 이때 이고, 에 의해서 링크의 길이가 에서 으로 바뀌고, 에 의해서 역진자의 회전이 일어났으므로 하기 수학식에 따른 관계식이 성립한다.Now with reference to the figure 702 of FIG. 7 and the figure 704 of FIG. 8, the shooting angle and sagittal joint , coronal joint Let's see the relationship with The lower left figure of the figure 702 of FIG. 7 is that the motion of the inverted pendulum is projected onto the coronal plane. At this time ego, the length of the link by at is changed to Since the rotation of the inverted pendulum occurred by
도 7의 그림 (702)의 아래 오른쪽 그림은 역진자의 움직임이 시상면에 투영된 것이며, 이때 이고, 에 의해서 역진자의 회전이 일어나고, 에 의해서 링크의 길이가 에서 으로 바뀌었으므로 다음의 관계식이 성립한다.The lower right figure of the figure 702 of FIG. 7 is that the motion of the inverted pendulum is projected on the sagittal plane, at this time ego, The rotation of the inverted pendulum is caused by the length of the link by at , so the following relation is established:
상기 수학식 26 내지 27을 참조하면, 시상면 관절각 는 가 일 때(카메라가 사람을 정면으로 촬영할 때)는 오픈포즈 골격모델의 링크 길이 변화를 사용하고, 가 일 때(카메라가 사람을 좌측에서 촬영할 때)는 회전각을 사용해서 계산할 필요성이 있다. 그러므로 카메라의 촬영각 가 다양하게 변할 때 오픈포즈 골격모델로부터 계산되는 시상면 각도는 다음 수학식 28과 같이 에 따른 가중치 합으로 계산해야 한다. 카메라가 사람을 좌측면에서 촬영할 때는 가 음수이므로 식에서 절대값을 취했다.Referring to Equations 26 to 27, the sagittal joint angle Is go When (when the camera shoots a person in front), the link length change of the open pose skeletal model is used, go , it is necessary to calculate using the angle of rotation (when the camera is photographing a person from the left). Therefore, the angle of view of the camera When is varied, the sagittal angle calculated from the open pose skeletal model is as shown in Equation 28 below. should be calculated as the sum of weights according to When the camera is shooting a person from the left side Since is a negative number, the absolute value is taken from the expression.
이와 반대로 관상면 관절각 는 가 일 때는 회전각을 사용하고, 가 일 때는 오픈포즈 골격모델의 링크 길이 변화를 사용해서 계산해야 한다. 그러므로 오픈포즈 골격 정보로부터 계산되는 관상면 각도는 다음 수학식 29 및 30과 같이 에 따른 가중치 합으로 계산해야 한다.Conversely, the coronal joint angle Is go When the angle of rotation is used, go In some cases, it should be calculated using the link length change of the open pose skeletal model. Therefore, the coronal angle calculated from the open pose skeleton information is as shown in Equations 29 and 30 below. should be calculated as the sum of weights according to
이제 후술하는 도 9 내지 11을 참조하여 두 링크가 있을 때 두 링크의 사이각을 계산하는 방법에 대해 설명하기로 한다.A method of calculating an angle between two links when there are two links will now be described with reference to FIGS. 9 to 11, which will be described later.
도 9는 일 실시 예에 따라 두 점이 이르는 각도를 설명하기 위한 도면이다.9 is a view for explaining an angle between two points, according to an exemplary embodiment.
도 9의 그림 (902)에서 보듯이 점 은 앞서가는 링크의 끝점, 는 뒤따르는 링크의 끝점을 의미하고, 점 의 각도가 , 점 의 각도가 라고 하자. 두 점이 둘 다 1사분면에 있을 때, 두 점의 사이각 는 다음과 같이 계산할 수 있다.As shown in figure 902 of FIG. 9, the point is the endpoint of the preceding link, denotes the endpoint of the link that follows, and the dot the angle of , dot the angle of let's say When two points are in the first quadrant, the angle between the two points can be calculated as
상기 수학식 31 내지 32에서 atan2 함수는 tan함수의 역함수로서 값을 에서 범위에서 계산하는 함수를 의미한다. In Equations 31 to 32, the atan2 function is the inverse function of the tan function. value at A function that calculates in a range.
도 10은 또 다른 실시 예에 따라 두 점이 이루는 각도를 설명하기 위한 도면이다.10 is a view for explaining an angle formed by two points according to another embodiment.
도 10의 그림 (906)을 참조하면, 같이 앞서가는 점이 3사분면이나 4사분면에 있을 때는 앞서가는 점의 atan2 함수 결과값이 음의 각도가 되므로 아래 식과 같이 이 각도에 를 더해야 한다.Referring to the figure 906 of FIG. 10, when the leading point is in the third or fourth quadrant, the result value of the atan2 function of the leading point becomes a negative angle. should be added
도 10의 그림 (908)에 도시된 바와 같이 앞서가는 점은 3사분면에, 뒤따른 점은 4사분면에 있는 경우 앞서가는 점에는 를 더하고 뒤따르는 점은 그냥 음의 각도값을 빼주면 된다.As shown in figure 908 of FIG. 10 , when the leading point is in the third quadrant and the following point is in the fourth quadrant, the leading point is in the fourth quadrant. To add and follow the dot, simply subtract the negative angle value.
도 11은 또 다른 실시 예에 따라 두 점이 이루는 각도를 설명하기 위한 도면이다.11 is a view for explaining an angle formed by two points according to another embodiment.
도 11에 도시된 바와 같이 앞서가는 점과 뒤따른 점이 3,4분면이라도 같은 사분면에 있는 경우 앞서가는 점의 각도에 뒤따르는 점의 각도를 그냥 빼주면 된다.As shown in FIG. 11 , if the leading point and the following point are in the same quadrant even in the 3rd or 4th quadrant, the angle of the following point is simply subtracted from the angle of the leading point.
지금까지의 여러 경우를 정리하여 표를 만들면 다음과 같다. 표에서 은 앞서가는 점, 는 뒤따르는 점을 의미하고, 이다. 과 가 이루는 각도 차이는 하기 표 3의 보정된 각도 값 및 상기 보정된 각도 값을 하기 수학식 35에 적용함으로써 계산될 수 있다.The following is a table by summarizing the various cases so far. in the table is the leading point, means the following point, am. class The angle difference formed by can be calculated by applying the corrected angle value of Table 3 below and the corrected angle value to Equation 35 below.
이제 오픈포즈를 이용해서 2차원 영상좌표계에서 표현된 대상인의 관절-링크 모델만으로 카메라가 그 사람을 촬영하는 각도인 를 계산하는 방법에 대해 설명한다.Now, using the open pose, the angle at which the camera shoots the person with only the joint-link model of the target person expressed in the two-dimensional image coordinate system. How to calculate .
제자리에서 똑바로 선 채 왼쪽이나 오른쪽으로 방향이 틀어져 있으면 어깨 링크나 골반 링크가 투영법에 의해 그만큼 짧아 보일 것이다. 이 중에서 어깨 링크는 상체의 자세와 숙인 각도에도 영향을 받으므로, 골반 링크의 길이 변화를 측정하는 것이 낫다. 그런데, 투영법은 코싸인 함수 관계가 있으므로 양의 각도나 음의 각도가 같은 값이 나온다. 즉, 사람이 제자리에서 왼쪽으로 돌아서 있을 때와 오른쪽으로 돌아서 있을 때 투영되어 보이는 골반의 길이가 같아서 이 길이 변화만으로는 왼쪽인지 오른쪽인지 구분할 수가 없다. If you stand upright in place and turn left or right, your shoulder links or pelvic links will appear that short of projection. Among them, since the shoulder link is also affected by the posture and leaning angle of the upper body, it is better to measure the change in the length of the pelvic link. However, since the projection method has a cosine function relation, the same positive and negative angles are obtained. That is, the person moves to the left in place when turning and to the right Since the projected pelvis is the same length when turned around, it is impossible to tell whether the pelvis is left or right just by changing this length.
이에 대한 대책으로 머리가 향하는 방향을 확인해서 몸통 링크에 대해 왼쪽으로 틀어져 있는지 오른쪽으로 틀어져 있는지를 확인하고, 몇 도 정도 틀어져 있는지는 골반 링크의 길이 비교를 함으로써 카메라 각도 를 계산할 수 있다. 참고로 도 6에서 얼굴 부분의 특징점 번호가 코는 0, 오른쪽 눈은 15, 오른쪽 귀는 17, 왼쪽 눈은 16, 왼쪽 귀는 18이다.As a countermeasure against this, check the direction the head is facing, check whether it is twisted to the left or the right with respect to the trunk link, and compare the length of the pelvic link to see how many degrees it is twisted by comparing the camera angle. can be calculated. For reference, in FIG. 6 , the feature point numbers of the face part are 0 for the nose, 15 for the right eye, 17 for the right ear, 16 for the left eye, and 18 for the left ear.
도 12는 일 실시 예에 따라 사람이 정면을 향할 때 또는 오른쪽을 향할 때 신경망 모델에서 인식한 모델을 설명하기 위한 도면이다.12 is a diagram for explaining a model recognized by a neural network model when a person faces the front or the right, according to an embodiment.
도 12를 참조하면 카메라가 고정되어 있고 사람이 정면을 향할 때와 오른쪽을 향할 때 오픈포즈에서 인식한 링크-관절 모델의 비교 결과를 알 수 있다. 도 12의 그림 (922)에 도시된 바와 같이 사람이 정면을 향할 때는 얼굴에 해당하는 0번-1번 링크가 수직이지만, 도 12의 그림 (924)에 도시된 바와 같이, 사람이 오른쪽을 향할 때는 0번-1번 링크가 몸통(torso) 링크에 비해 왼쪽(상하반전이 일어나는 영상좌표에서도 왼쪽)으로 기울어진 것을 알 수 있다. 이는 얼굴이 어깨에 비해 앞으로 나와 있고 이를 측면에서 보았을 때 발생하는 현상이다. 반대로 사람이 왼쪽을 향할 때는 0번-1번 링크가 몸통 링크의 오른쪽(영상좌표에도 오른쪽)으로 기울 것이라는 사실을 알 수 있다.Referring to FIG. 12 , it can be seen the comparison result of the link-joint model recognized by the open pose when the camera is fixed and the person faces the front and the right side. As shown in the figure 922 of FIG. 12 , when the person faces the front, the links 0-1 corresponding to the face are vertical, but as shown in the figure 924 of FIG. 12 , the person faces to the right. At this time, it can be seen that the links 0-1 are inclined to the left compared to the torso link (even in the image coordinates where the up and down inversion occurs). This is a phenomenon that occurs when the face is protruded forward relative to the shoulder and viewed from the side. Conversely, it can be seen that when a person turns left, links 0-1 will lean to the right of the body link (right in the image coordinates).
도 13은 일 실시 예에 따라 사람이 오른쪽, 정면, 왼쪽을 향할 때의 신경망 모델에서 인식한 인식 모델을 설명하기 위한 도면이다.13 is a diagram for describing a recognition model recognized by a neural network model when a person faces right, front, and left, according to an embodiment.
도 13을 참조하여 카메라가 고정된 경우 사람이 오른쪽, 정면, 왼쪽을 향할 때, 또는 카메라가 움직이는 경우 사람의 왼쪽, 정면, 오른쪽을 촬영할 때 오픈포즈에서 인식한 골격모델을 설명하기로 한다. 오픈포즈로 인식한 인체 골격 데이터의 움직임을 3차원 공간에서 표현할 때 기준좌표계가 몸 중심점에 있어서 공중에 떠있는 자세라고 가정하므로 카메라의 위치와 상관없이 사람을 기준으로 모델링 하는 것이 보다 더 직관적이다.A skeletal model recognized in an open pose when a person faces right, front, or left when the camera is fixed, or when the left, front, or right side of a person is photographed when the camera is moving will be described with reference to FIG. 13 . When expressing the movement of human skeleton data recognized by an open pose in a three-dimensional space, it is more intuitive to model based on a person regardless of the position of the camera because the reference coordinate system is assumed to be a posture floating in the air at the center of the body.
도 13에서 좌표계는 인체 움직임과는 상관없이 인체 중심부에 고정되어 있는 절대좌표계(absolute coordinate frame)이고, 좌표계는 인체의 중심에 붙어있으며 사람이 바라보는 방향을 틀거나 카메라가 회전하면 그에 따라 회전하는 상대좌표계(relative coordinate frame)이다. 는 축을 중심으로 축을 회전시켜서 축을 얻을 때 그 회전각도이다. 오른손 법칙에 의하면 도 13의 그림 (932)에 도시된 바와 같이 사람이 카메라에 대해 오른쪽으로 도는 경우 는 음의 각도가 되고, 도 13의 그림 (936)에 도시된 바와 같이 카메라에 대해 왼쪽으로 도는 경우 는 양의 각도가 되며, 도 13의 그림 (934)에 도시된 바와 같이 카메라에 대해 정면인 경우 각도 는 0이 된다. 그럼 오픈포즈 영상으로부터 사람이 향하는 각도 를 계산하기 위해서는 아래의 두 단계가 필요하다. 먼저 2차원 영상좌표계에서 0번-1번 링크(얼굴 부분)가 1번-8번 링크의 왼쪽에 있는지 오른쪽에 있는지를 확인한다. 앞서 설명한 대로 영상좌표계에서 얼굴 링크가 몸통 링크의 왼쪽에 있으면 사람이 오른쪽을 향하는 것이고, 반대로 얼굴 링크가 몸통 링크의 오른쪽에 있으면 왼쪽을 향하는 것이다. 두번째로 대상인이 정면을 향하고 차려 자세로 있을 때 골반의 픽셀 길이를 , 걸어가는 중에 측정된 골반의 픽셀 길이를 라고 하면, 그 비율의 acos 함수 값을 이용하면 의 크기를 알 수 있다. 그런데 대상인이 카메라로 다가오거나 멀어질 경우에도 가 달라질 수 있으므로, 몸통 대 골반의 픽셀 길이의 비율 변화를 계산하는 것이 보다 안정적인 측정결과를 얻을 수 있는 방법이다. 첫 번째 단계에서 0번-1번 링크가 왼쪽과 오른쪽 중 어디에 있는지는 두 링크(0번-1번 링크와 1번-8번 링크)간 사이각 계산 방법을 적용하면 된다.13 in FIG. The coordinate system is an absolute coordinate frame that is fixed at the center of the human body regardless of human body movement. The coordinate system is attached to the center of the human body and is a relative coordinate frame that rotates according to the direction of the person's gaze or the camera rotates. Is around the axis by rotating the axis It is the rotation angle when the axis is obtained. According to the right-hand rule, when a person turns to the right with respect to the camera as shown in figure 932 of FIG. is a negative angle, and when turning left with respect to the camera as shown in figure 936 of FIG. is a positive angle, the angle when facing the camera as shown in figure 934 of FIG. becomes 0. Then, the angle the person faces from the open pose image The following two steps are required to calculate . First, it is checked whether the 0-1 link (face part) is on the left or right side of the 1-8 link in the 2D image coordinate system. As described above, if the face link is to the left of the body link in the image coordinate system, the person is facing to the right. , conversely, if the face link is to the right of the body link, it is pointing to the left. . Second, measure the pixel length of the pelvis when the subject is in a front-facing pose. , the pixel length of the pelvis measured during walking , if we use the acos function value of that ratio, size can be found. However, even if the subject approaches or moves away from the camera, Since ? can vary, calculating the ratio change of the pixel length of the torso to the pelvis is a way to obtain a more stable measurement result. In the first step, the method of calculating the angle between the two links (Links 0-1 and Links 1-8) is applied to determine whether the 0-1 link is on the left or the right side.
도 14는 일 실시 예에 따라 사람이 오른쪽과 왼쪽을 향할 때 신경망으로 인식된 골격 모델을 설명하기 위한 도면이다.14 is a diagram for explaining a skeletal model recognized by a neural network when a person faces right and left, according to an embodiment.
도 14를 참조하면, 도 14의 그림 (942) 및 그림 (944)는 각각 사람이 카메라 기준으로 오른쪽을 향할 때와 왼쪽을 향할 때 영상좌표계에서 인식된 오픈포즈 골격모델을 나타낸다.Referring to FIG. 14 , figures 942 and 944 of FIG. 14 show the open pose skeletal model recognized in the image coordinate system when a person faces right and left with respect to the camera, respectively.
도 15는 일 실시 예에 따라 얼굴 링크와 몸통 링크의 사이각을 설명하기 위한 도면이다.15 is a view for explaining an angle between a face link and a body link, according to an embodiment.
도 15는 영상좌표계에서 얼굴 링크가 몸통 링크에 비해 왼쪽이나 오른쪽으로 기울어진 각도 를 계산하는 과정을 나타낸다. 영상좌표계에서 얼굴 링크의 각도를 , 몸통 링크의 각도를 , 그 사이각을 라고 하면 다음의 관계가 성립한다.15 is an angle at which the face link is inclined to the left or right compared to the body link in the image coordinate system. shows the process of calculating The angle of the face link in the image coordinate system , the angle of the body link , the angle between , then the following relationship is established:
도 15에서 얼굴 링크가 몸통 링크의 연속선상에 있을 때 , 이며, 얼굴 링크가 몸통 링크에 비해 왼쪽에 있으면(사람은 오른쪽을 향함) , , 얼굴 링크가 몸통 링크에 비해 오른쪽에 있으면(사람은 왼쪽을 향함) , 이다. 두 번째 단계에서 몸통의 픽셀 길이() 대 골반의 픽셀 길이()의 비율을 라고 하면, 정면을 보고 서있을 때의 골반 길이 비율() 값을 미리 확보해 둔다. 그리고 현재 자세에서의 몸통 대 골반 길이의 비율인 를 계산하여 현재 골반 길이가 얼마나 변했는지를 계산할 수 있다. 이를 식으로 표현하면 다음과 같다.15, when the facial link is on a continuous line of the body link , , if the face link is to the left relative to the body link (people face right) , , if the face link is to the right compared to the torso link (people face left) , am. In the second step, the pixel length of the body ( ) versus pelvis length in pixels ( ) to the ratio of , the ratio of pelvic length when standing facing the front ( ) to reserve the value in advance. And the ratio of the torso to pelvis length in the current posture is can be calculated to calculate how much the current pelvic length has changed. Expressing this in an expression is as follows.
상기 내용에 따라 카메라를 기준으로 사람이 향하는 각도 를 계산하면 다음과 같다.The angle the person faces with respect to the camera according to the above is calculated as follows.
그리고 가 이렇게 (정면을 향할 때)가 아닌 값이 되면 신체 중심점 휴먼좌표계인 좌표계 식을 세계좌표계인 좌표계 식으로 변환해야 한다. 이를 위해 아래와 같이 회전변환행렬을 곱해줘야 한다.And go like this If it becomes a value other than (when facing forward), the human coordinate system of the body center Coordinate system expression is world coordinate system It must be converted to a coordinate system expression. To do this, we need to multiply the rotation transformation matrix as follows.
식에서 는 좌표계의 각 축 단위벡터를 는 좌표계의 각 축 단위벡터를 각각 나타낸다.in the expression Is The unit vector of each axis of the coordinate system Is Each axis unit vector of the coordinate system is indicated.
도 16은 일 실시 예에 따라 픽셀 좌표로 표시된 인체의 골격 모델을 나타내는 도면이다.16 is a diagram illustrating a skeletal model of a human body displayed in pixel coordinates, according to an exemplary embodiment.
오픈포즈는 카메라 픽셀 영상에서 인간의 주요 관절과 얼굴, 발을 인식하여 픽셀 좌표값을 계산하므로 이 좌표를 기반으로 인체를 2차원에서 모델링하면 도 16의 그림 (1632)에 도시된 바와 같은 자세가 나온다. 그림에서 신체의 부분을 표시할 때 빨간 색은 오른쪽을, 파란 색은 왼쪽을 나타내므로, 상하 반전이 된 것을 알 수 있다. 도 16의 그림 (1632)의 인체 골격 모델은 픽셀 좌표에 따라 관절(1634) 및 상기 관절에 연결된 링크(1636)를 포함할 수 있다. 먼저 후술하는 도 17을 참조하여 하체의 관상면, 시상면 관절각 계산법에 대해 설명하기로 한다. Open pose recognizes the main joints, face, and feet of a human from the camera pixel image and calculates pixel coordinate values. Based on these coordinates, if the human body is modeled in two dimensions, the posture as shown in figure 1632 of FIG. 16 is obtained. comes out When displaying body parts in the figure, red indicates the right and blue indicates the left, so you can see that the top and bottom are inverted. The human skeleton model of the figure 1632 of FIG. 16 may include a joint 1634 and a
도 17은 일 실시 예에 따라 서있는 로봇 모델 하체의 관절-링크 모델을 나타내는 도면이다.17 is a view showing a joint-link model of the robot model lower body standing according to an embodiment.
도 17은 3차원 공간상에서 정의한 휴머노이드 로봇 모델로서 도 16과 비교하기 위한 도면이다. 도 17에 도시된 오른쪽 관상면 관절각 은 차려자세로 있을 때는 , 오른쪽에서 왼쪽으로 회전할 때는 양의 각도일 수 있다.FIG. 17 is a diagram for comparison with FIG. 16 as a humanoid robot model defined in a three-dimensional space. The right coronal joint angle shown in FIG. 17 When you are in the pose , can be a positive angle when rotating from right to left.
도 18은 일 실시 예에 따라 오른쪽 고관절 관상면 각도를 계산하기 위한 도면이다.18 is a diagram for calculating a right hip coronal angle according to an embodiment.
보다 상세하게는 도 18의 그림 (962)는 오른쪽 고관절 관상면 각도인 을 계산하기 위한 개념도이고, 그림 (964)는 그림 (962)의 9번 노드를 원점으로 이동함에 따른 그림이다. 보다 상세하게는 그림 (964)는 골반 링크와 오른쪽 허벅지 링크 간 각도 계산을 하기 위해 9번 노드의 위치를 원점으로 이동한 모습이다. 이제 atan2 함수에서 계산한 각도값을 표 3에서 보정한 함수 를 이용해서 하기 수학식 41과 같이 두 각도 값을 계산할 수 있다.In more detail, the figure 962 of FIG. 18 shows the right hip joint coronal angle. It is a conceptual diagram for calculating . In more detail, Figure 964 shows that the position of
이 각도 값으로부터 도 18의 그림 (962)를 참조하여 을 계산하면 다음과 같다.From this angle value, referring to figure 962 of FIG. 18, is calculated as follows.
즉, 은 두 링크의 사이각()에 를 뺀 값이 각도 값이 되고, 각도의 방향은 반대 방향이므로 앞에 마이너스를 곱해준다.in other words, is the angle between the two links ( )to The subtracted value becomes the angle value, and since the direction of the angle is in the opposite direction, it is multiplied by a minus in front.
도 19는 일 실시 예에 따라 왼쪽 고관절 관상면 각도를 계산하기 위한 도면이다.19 is a diagram for calculating a left hip coronal angle according to an embodiment.
보다 상세하게는 도 19의 그림 (966)은 왼쪽 고관절 관상면 각도 를 계산하기 위한 개념도이고, 그림 (968)은 골반 링크와 왼쪽 허벅지 링크 간 각도 계산을 용이하게 하기 위해 12번 노드의 위치를 원점으로 이동한 그림이다. 마찬가지로 를 이용해서 하기 수학식 43과 같이 두 각도 값을 계산할 수 있다.In more detail, the figure 966 of FIG. 19 shows the left hip coronal angle. It is a conceptual diagram for calculating . Likewise Two angle values can be calculated using Equation 43 below.
이 각도값으로부터 을 계산하면 하기 수학식과 같다.from this angle is calculated as the following equation.
즉, 은 두 링크간 사이각()에 를 더한 값이 각도의 크기가 되고 회전축의 방향은 반대이므로 앞에 마이너스를 곱해준다. 다음으로 하체의 시상면 관절각 계산법에 대해 알아보자. 사람이 걸어가는 것을 정면에서 보면 다리를 앞으로 들어올리는 경우 길이가 짧아져 보이는데 이는 투영법에 의한 것임을 상술한 바 있다. 도 17에서 하체의 시상면 관절각 은 다리를 앞으로 들어올릴 때는 음의 각도, 뒤로 뻗을 때는 양의 각도로 정의되어 있음에 주의한다. 오른쪽 골반의 시상면 관절각 은 다음 식으로 계산할 수 있다.in other words, is the angle between the two links ( )to The added value becomes the size of the angle, and the direction of the axis of rotation is opposite, so multiply it by minus in front. Next, let's learn how to calculate the sagittal joint angle of the lower body. If you see a person walking from the front, the length appears shorter when the legs are raised forward, but it has been described above that this is due to the projection method. 17, the sagittal joint angle of the lower body Note that is defined as a negative angle for lifting the leg forward and a positive angle for extending the leg backward. Sagittal articular angle of the right pelvis can be calculated in the following way.
식에서 는 사람이 차려자세로 있을 때 측정한 허벅지뼈의 픽셀길이를, 은 사람이 걸어갈 때 측정한 오른쪽 허벅지뼈의 픽셀길이를 의미한다. 식의 부호는 허벅지를 위로 들어올리는 경우 음의 값, 뒤로 내젖는 경우 양의 값이 되므로 로 표시했다. 투영법의 특성상 각도의 부호는 알 수 없으므로 다른 정보를 사용해야 한다. 지금처럼 사람이 앞으로 걸어가는 경우에는 제일 먼저 들어올리는 다리를 인식해서 그 다리의 골반 시상면 관절각의 부호를 음수로 잡으면 된다. in the expression is the pixel length of the thighbone measured when the person is in a standing position, is the pixel length of the right thighbone measured when a person walks. The sign of the expression is a negative value when the thigh is lifted upwards, and a positive value when the thigh is extended backwards. marked with Due to the nature of the projection method, the sign of the angle is unknown, so other information must be used. When a person walks forward like now, the first leg is recognized and the sign of the joint angle of the pelvic sagittal plane of that leg is taken as a negative number.
오른쪽 무릎의 시상면 관절각 에 대해서 생각해보자. 사람이 걸어갈 때 정강이의 투영된 길이는 값에 의해 결정되며, 인체 골격 구조의 특징 상 슬관절은 앞으로 꺾이지 않기 때문에 다음 식으로 계산할 수 있다.Sagittal articular angle of the right knee Let's think about When a person walks, the projected length of the shin is It is determined by the value, and since the knee joint does not bend forward due to the characteristics of the human skeletal structure, it can be calculated using the following formula.
상기 수학식에서 는 사람이 차려자세로 있을 때 측정한 정강이뼈의 픽셀길이를, 은 사람이 걸어갈 때 측정한 오른쪽 정강이뼈의 픽셀길이를 의미한다. 왼쪽 다리의 골반과 무릎의 시상면 관절각들은 동일한 원리로 수식화할 수 있다. 즉, 왼쪽 골반의 시상면 관절각 은 다음 식으로 계산할 수 있다.in the above formula is the pixel length of the shin bone measured when the person is in a standing position, is the pixel length of the right shinbone measured when a person walks. The sagittal joint angles of the pelvis and knee of the left leg can be formulated using the same principle. That is, the sagittal joint angle of the left pelvis can be calculated in the following way.
상기 수학식에서 은 사람이 걸어갈 때 측정한 왼쪽 허벅지뼈의 픽셀길이를 의미한다. 는 왼쪽과 오른쪽 동일한 값으로 두는데, 차려 자세에서 오픈포즈로 측정한 왼쪽과 오른쪽 허벅지의 픽셀 길이의 평균값으로 계산하면 된다. 왼쪽 무릎의 시상면 관절각 은 다음 식으로 계산할 수 있다.in the above formula is the pixel length of the left thighbone measured when a person walks. is set as the same value for the left and right sides, and it can be calculated as the average value of the pixel lengths of the left and right thighs measured in an open pose in a dressing up posture. Sagittal articular angle of the left knee can be calculated in the following way.
상기 수학식에서 은 사람이 걸어갈 때 측정한 왼쪽 정강이뼈의 픽셀길이를 의미한다.in the above formula is the pixel length of the left shinbone measured when a person walks.
도 20은 일 실시 예에 따라 로봇 모델 상체의 관절-링크 모델을 설명하기 위한 도면이다.20 is a view for explaining a joint-link model of the upper body of the robot model according to an embodiment.
도 20을 참조하여 상체의 관상면, 시상면 관절각 계산법에 대해 알아보자. 도 20은 3차원 공간상에서 정의한 휴머노이드 로봇 모델로서 도 16의 그림과 비교하기 위한 도면이다. 도 20을 참조하면 양쪽 어깨에 있는 관상면 관절각 은 차려자세로 있을 때는 , 오른쪽에서 왼쪽으로 회전할때는 양의 각도라는 것을 기억하자.With reference to FIG. 20, let's learn about the method of calculating the coronal and sagittal joint angles of the upper body. FIG. 20 is a diagram for comparison with the figure of FIG. 16 as a humanoid robot model defined in a three-dimensional space. Referring to Figure 20, the coronal joint angles on both shoulders When you are in the pose , remember that a right-to-left rotation is a positive angle.
도 21은 일 실시 예에 따른 오른쪽 및 왼쪽 어깨 관절 각도를 계산하기 위한 도면이다.21 is a diagram for calculating right and left shoulder joint angles according to an embodiment.
보다 상세하게는 도 21의 그림 (972)는 오른쪽 어깨관절 관상면 각도인 을 계산하기 위한 개념도이고, 도 21의 그림 (974)는 왼쪽 어깨관절 관상면 각도인 을 계산하기 위한 개념도이다. 상술한 하체 관절에 대해 적용한 방법을 그대로 적용하면 다음과 같이 두 각도 값을 계산할 수 있다.In more detail, the figure 972 of FIG. 21 is the right shoulder joint coronal angle. is a conceptual diagram for calculating It is a conceptual diagram for calculating . If the method applied to the lower body joint described above is applied as it is, two angle values can be calculated as follows.
이 각도 값으로부터 도 21의 그림 (972)를 참조하여 을 계산하면 다음과 같다.From this angle value, referring to figure 972 of FIG. is calculated as follows.
도 21의 그림 (974)를 참조로 하여 왼쪽 어깨관절 관상면 각도인 을 계산하는 과정을 설명하기로 한다. 두 각도 값은 다음과 같이 계산할 수 있다.With reference to the figure 974 of FIG. 21, the angle of the coronal plane of the left shoulder joint is The process of calculating . The two angle values can be calculated as follows.
이 각도 값으로부터 도 21의 그림 (974)를 참조로 하여 을 계산하면 다음과 같다.From this angle value, referring to the figure 974 of Fig. 21, is calculated as follows.
상체의 어깨와 팔목 시상면 관절각 계산 방법은 하체에서 계산한 원리와 비슷하다. 먼저 오른쪽 어깨관절의 시상면 각도인 은 와 같이 표현된다.The shoulder and wrist sagittal joint angle calculation method of the upper body is similar to the principle calculated in the lower body. First, the sagittal angle of the right shoulder joint is silver is expressed as
상기 수학식에서 는 사람이 차려자세로 있을 때 측정한 위팔뼈의 픽셀길이를, 은 사람이 걸어갈 때 측정한 오른쪽 위팔뼈의 픽셀길이를 의미한다. 식의 부호는 팔을 앞으로 흔드는 경우 음의 값, 뒤로 흔드는 경우 양의 값이 되므로 로 표시했다. 투영법의 특성상 각도의 부호는 알 수 없으므로 다른 정보를 사용해야 한다. 지금처럼 사람이 앞으로 걸어가는 경우에는 왼쪽, 오른쪽의 다리와 팔이 서로 반대방향으로 움직이는 원리를 이용해서 다리와 팔의 시상면 관절각 부호를 반대로 설정하면 된다. 오른쪽 팔꿈치 시상면 관절각 에 대해 생각해보자. 사람이 오른팔을 앞뒤로 흔들 때 아래팔의 투영된 길이는 값에 의해 결정되며, 인체 골격 구조의 특징 상 팔꿈치 관절은 뒤로 꺾이지 않기 때문에 다음 식으로 계산할 수 있다.in the above formula is the pixel length of the upper arm bone measured when the person is in a standing position, is the pixel length of the right upper arm bone measured when a person walks. The sign of the expression is negative when the arm is waved forward, and a positive value when the arm is waved backward. marked with Due to the nature of the projection method, the sign of the angle is unknown, so other information must be used. When a person walks forward as it is now, using the principle that the left and right legs and arms move in opposite directions, set the sagittal joint angle sign of the leg and arm in reverse. right elbow sagittal joint angle Let's think about When a person swings their right arm back and forth, the projected length of the forearm is It is determined by the value, and since the elbow joint does not bend backwards due to the characteristics of the human skeletal structure, it can be calculated using the following formula.
상기 식에서 는 사람이 차려자세로 있을 때 측정한 아래팔뼈의 픽셀길이를, 은 사람이 걸어갈 때 측정한 오른쪽 아래팔뼈의 픽셀길이를 의미한다. 왼쪽 팔의 시상면 관절각들은 동일한 원리로 수식화할 수 있다. 즉, 왼쪽 어깨의 시상면 관절각 은 다음 식으로 계산할 수 있다.in the above formula is the pixel length of the forearm measured when the person is in a standing position, is the pixel length of the right forearm measured when a person walks. The sagittal joint angles of the left arm can be formulated using the same principle. That is, the sagittal joint angle of the left shoulder can be calculated in the following way.
상기 수학식에서 은 사람이 걸어갈 때 측정한 왼쪽 위팔뼈의 픽셀길이를 의미한다. in the above formula is the pixel length of the left upper arm bone measured when a person walks.
왼쪽 팔꿈치 시상면 관절각 에 대해 생각해보자. 사람이 왼팔을 앞뒤로 흔들 때 아래팔의 투영된 길이는 값에 의해 결정되며, 인체 골격 구조의 특징 상 팔꿈치 관절은 뒤로 꺾이지 않기 때문에 다음 식으로 계산할 수 있다.left elbow sagittal joint angle Let's think about When a person swings their left arm back and forth, the projected length of the forearm is It is determined by the value, and since the elbow joint does not bend backwards due to the characteristics of the human skeletal structure, it can be calculated using the following formula.
상기 수학식에서 은 사람이 걸어갈 때 측정한 오른쪽 왼팔뼈의 픽셀길이를 의미한다.in the above formula is the pixel length of the right left arm bone measured when a person walks.
도 22는 일 실시 예에 따라 왼쪽에서 관측한 픽셀 좌표로 표시된 인체의 골격 모델을 나타내는 도면이다.22 is a diagram illustrating a skeletal model of a human body indicated by pixel coordinates observed from the left, according to an exemplary embodiment.
도 22를 참조하여 사람이 오른쪽을 향할 때의 관절각을 계산하는 과정을 설명하기로 한다. 도 22는 사람이 제자리에서 오른쪽을 향해 걸을 때(카메라는 사람의 왼쪽에서 촬영) 오픈포즈 골격모델을 추출한 화면이다. 마찬가지로 영상좌표계에서 상하 반전이 일어나서 빨간 색은 신체의 오른쪽을, 파란 색은 왼쪽을 나타내는 것을 주의하자. 오픈포즈 골격 모델 화면 (2210)을 참조하면 사람의 관절(2202)이 포인트로 표시되고, 상기 관절(2202)을 연결하는 링크(2204)가 도시됨을 관측할 수 있다. A process of calculating the joint angle when a person turns to the right will be described with reference to FIG. 22 . 22 is a screen obtained by extracting an open pose skeletal model when a person walks from a place to the right (the camera is taken from the person's left side). In the same way, be aware that the red color represents the right side of the body and the blue color represents the left side of the body due to the upside-down inversion in the image coordinate system. Referring to the open pose
먼저 하체의 시상면, 관상면 관절각 계산법에 대해 알아보자. 도 17에서 오른쪽 고관절 시상면 관절각 은 차려자세로 있을 때는 , 다리를 앞으로 들어 올리면 음의 각도라는 것을 기억하자. First, let's learn how to calculate the sagittal and coronal joint angles of the lower body. 17, the right hip sagittal joint angle When you are in the pose , remember that lifting the leg forward is a negative angle.
도 23은 일 실시 예에 따라 신경망으로 인식한 오른쪽 및 왼쪽 다리의 신경망 골격 모델 및 관절각을 나타내는 도면이다.23 is a diagram illustrating a neural network skeletal model and joint angles of right and left legs recognized by a neural network according to an exemplary embodiment.
도 24는 일 실시 예에 따라 오른쪽 고관절 각도를 계산하기 위한 도면이다.24 is a diagram for calculating a right hip joint angle according to an exemplary embodiment.
보다 상세하게는 도 24는 오른쪽 고관절 시상면 각도인 을 계산하기 위한 개념도이다. 이제 앞 절에서 사용한 방식을 그대로 적용해서, 표 3의 보정함수 를 이용하여 다음과 같이 두 각도 값을 계산할 수 있다.In more detail, Figure 24 is a right hip joint sagittal angle It is a conceptual diagram for calculating . Now, applying the method used in the previous section as it is, the correction function in Table 3 can be used to calculate the two angle values as follows.
이 각도 값을 이용하고 도 24의 오른쪽 그림을 참고로 하여 을 계산하면 다음과 같다.Using this angle value and referring to the figure on the right of FIG. 24, is calculated as follows.
도 25는 일 실시 예에 따라 오른쪽 슬관절 각도를 계산하기 위한 도면이다.25 is a diagram for calculating a right knee joint angle according to an embodiment.
도 25의 그림 (2226)을 참조하여 오른쪽 슬관절 시상면 각도인 을 계산하는 과정을 설명하기로 한다. 마찬가지로 보정함수 를 이용해서 다음과 같이 두 각도 값을 계산할 수 있다.Referring to the figure 2226 of FIG. 25, the right knee joint sagittal angle is The process of calculating . Similarly, the correction function can be used to calculate the two angle values as follows.
이 각도 값을 이용하여 을 계산하면 다음과 같다.using this angle is calculated as follows.
보정함수 를 이용해서 다음과 같이 두 각도 값을 계산할 수 있다.correction function can be used to calculate the two angle values as follows.
이 각도 값을 이용하고 후술하는 도 26을 참조로 하여 을 계산하기로 한다.Using this angle value and referring to FIG. 26 to be described later, to calculate
도 26은 일 실시 예에 따라 왼쪽 고관절 각도를 계산하기 위한 도면이다.26 is a diagram for calculating a left hip joint angle according to an embodiment.
상기 수학식 60의 각도 값을 이용하여 도 26을 참조하여 하면 다음과 같다. 하기 수학식은 수학식 57과 같은 형태임을 알 수 있다.Referring to FIG. 26 using the angle value of Equation 60, If you do: the following formula It can be seen that is of the same form as in Equation 57.
도 27은 일 실시 예에 따라 왼쪽 슬관절 각도를 계산하기 위한 도면이다.27 is a diagram for calculating a left knee joint angle according to an embodiment.
보다 상세하게는 도 27은 왼쪽 슬관절 시상면 각도인 을 계산하기 위한 개념도이다. 보정함수 를 이용해서 두 각도 값은 각각 와 같이 계산될 수 있다. 이렇게 계산된 각도 값을 이용하여 을 계산하면 와 같이 표현된다.In more detail, Figure 27 is the left knee joint sagittal angle It is a conceptual diagram for calculating . correction function Each of the two angle values using can be calculated as Using this calculated angle value, If you calculate is expressed as
다음으로 하체의 관상면 관절각 계산법에 대해 알아보자. 사람이 걸어가는 것을 왼쪽이나 오른쪽에서 보면 다리를 옆으로 들어올리는 경우 길이가 짧아져 보이는데 이는 투영법에 의한 것임을 상술하였다. 도 17에서 하체의 관상면 관절각 은 다리를 왼쪽으로 들어올릴 때는 양의 각도, 오른쪽으로 들어올릴 때는 음의 각도로 정의되어 있음을 기억하자. 오른쪽 골반의 관상면 관절각 과 왼쪽 골반의 관상면 관절각 은 다음 식으로 계산할 수 있다. Next, let's learn how to calculate the coronal joint angle of the lower body. If you see a person walking from the left or right side, the length appears shorter when the legs are raised to the side. In Figure 17, the coronal joint angle of the lower body Note that is defined as a positive angle for lifting the leg to the left and a negative angle for lifting the leg to the right. Coronal articular angle of the right pelvis and coronal articular angles of the left pelvis can be calculated in the following way.
상기 수학식 61 내지 62에서 는 사람이 차려자세로 있을 때 측정한 허벅지뼈의 픽셀길이를, 과 은 사람이 걸어갈 때 측정한 오른쪽과 왼쪽 허벅지뼈의 픽셀길이를 각각 의미한다. 식의 부호는 다리를 왼쪽으로 들어올릴 때는 양의 각도, 오른쪽으로 들어올릴 때는 음의 각도이고, 사람이 앞으로 걸어가는 경우에는 일반적으로 다리를 바깥쪽(왼쪽 다리는 왼쪽, 오른쪽 다리는 오른쪽)으로 들어올리는 경향이 있으므로, 에는 음의 부호, 에는 양의 부호를 부여하면 된다. 이제 상체의 시상면, 관상면 관절각을 상기 방법대로 적용해 보자. 도 20을 참조하면 양쪽 어깨에 있는 시상면 관절각 과 팔꿈치에 있는 시상면 관절각 은 차려자세로 있을 때는 , 팔을 앞쪽으로 들어올릴 때는 음의 각도, 뒤쪽으로 내저을 때는 양의 각도라는 것을 기억하자.In Equations 61 to 62, is the pixel length of the thighbone measured when the person is in a standing position, class is the pixel length of the right and left thighbones, respectively, measured when a person walks. The sign of the equation is a positive angle when the leg is lifted to the left and a negative angle when it is lifted to the right, and when a person is walking forward, the leg is usually turned outward (left leg left, right leg right). As there is a tendency to lift, is a negative sign, should be given a positive sign. Now, let's apply the sagittal and coronal joint angles of the upper body as above. Referring to Figure 20, the sagittal joint angles in both shoulders and sagittal articular angles in the elbow When you are in the pose , Remember that when you raise your arm forward, it is a negative angle, and when you swing it backwards, it is a positive angle.
도 28은 일 실시 예에 따라 오른쪽 팔의 링크와 관절, 오른쪽 어깨의 링크와 관절, 오른쪽 팔꿈치의 링크와 관절들을 설명하기 위한 도면이다.28 is a view for explaining a link and a joint of a right arm, a link and a joint of a right shoulder, and a link and a joint of a right elbow, according to an embodiment.
도 28의 그림 (2242)는 오른쪽 팔에 있는 관절인 과 을 계산하기 위한 개념도이다. 도 28의 그림 (2244)는 어깨 관절 부분을 확대해서 그린 그림으로서, 보정함수 를 이용해서 다음과 같이 두 각도 값과 을 계산할 수 있다. Figure 2242 of Figure 28 is a joint in the right arm. class It is a conceptual diagram for calculating . Figure 2244 of Figure 28 is an enlarged drawing of the shoulder joint portion, the correction function using the two angle values and can be calculated.
도 28의 그림 (2246)은 오른팔 팔꿈치 관절 부분을 확대해서 그린 그림으로서, 보정함수 을 이용해서 다음과 같이 두 각도 값과 을 계산할 수 있다.Figure 2246 of Figure 28 is an enlarged drawing of the elbow joint of the right arm, and the correction function using the two angle values and can be calculated.
도 29는 일 실시 예에 따라 왼쪽 팔의 링크와 관절들을 설명하기 위한 도면이다.29 is a diagram for describing a link and joints of a left arm, according to an exemplary embodiment.
보다 상세하게는 도 29의 그림 (2248)을 참조하여 왼쪽 팔에 있는 관절인 과 을 계산하기 위한 개념도이다. 앞에서 계산한 방식대로 왼쪽 어깨 관절 부분을 확대해서 그린 그림으로서, 보정함수 를 이용해서 다음과 같이 두 각도 값과 을 계산할 수 있다.In more detail, referring to the figure 2248 of FIG. 29, the joint in the left arm class It is a conceptual diagram for calculating . As a figure drawn by enlarged the left shoulder joint in the same way as previously calculated, the correction function using the two angle values and can be calculated.
왼쪽 팔꿈치 관절 부분은 보정함수 를 이용해서 다음과 같이 두 각도 값과 을 계산할 수 있다.The left elbow joint part is a correction function using the two angle values and can be calculated.
이제 상체 두 어깨의 관상면 관절각 계산법에 대해 알아보자. 도 20에서 어깨의 관상면 관절각 은 팔을 왼쪽으로 들어올릴 때는 양의 각도, 오른쪽으로 들어올릴 때는 음의 각도로 정의되어 있음을 기억하자. 이 원리에 따라 오른쪽 어깨의 관상면 관절각 은 다음 식으로 계산할 수 있다.Now let's learn how to calculate the coronal joint angle of the upper body and both shoulders. In Fig. 20, the coronal joint angle of the shoulder Note that the angle is defined as a positive angle when the arm is raised to the left and a negative angle when the arm is raised to the right. According to this principle, the coronal joint angle of the right shoulder can be calculated in the following way.
상기 수학식 71에서 는 사람이 차려자세로 있을 때 측정한 위팔뼈의 픽셀길이를, 은 사람이 걸어갈 때 측정한 오른쪽 위팔뼈의 픽셀길이를 의미한다. 팔을 왼쪽으로 올릴 때는 양의 각도, 오른쪽으로 올릴 때는 음의 각도이고, 사람이 앞으로 걸어갈 때에는 일반적으로 팔을 바깥쪽(왼쪽 팔은 왼쪽, 오른쪽 팔은 오른쪽)으로 올리는 경향이 있으므로, 에는 음의 부호, 에는 양의 부호를 부여하면 된다. 마찬가지로 왼쪽 어깨의 관상면 관절각 은 다음 식으로 계산할 수 있다.In Equation 71 above is the pixel length of the upper arm bone measured when the person is in a standing position, is the pixel length of the right upper arm bone measured when a person walks. When the arm is raised to the left, it is a positive angle, and when it is raised to the right, it is a negative angle, and when a person walks forward, the arm generally tends to be raised outward (left arm left, right arm right). is a negative sign, should be given a positive sign. Similarly, the coronal joint angle of the left shoulder can be calculated in the following way.
상기 수학식에서 은 사람이 걸어갈 때 측정한 왼쪽 위팔뼈의 픽셀길이를 의미한다.in the above formula is the pixel length of the left upper arm bone measured when a person walks.
도 30은 일 실시 예에 따라 사람이 왼쪽을 향해 걸을 때 픽셀 좌표로 표시된 인체의 골격 모델을 나타내는 도면이다.30 is a diagram illustrating a skeletal model of a human body displayed in pixel coordinates when a person walks toward the left, according to an exemplary embodiment.
도 30을 참조하여 사람이 왼쪽을 향할 때 관절각을 계산하는 과정을 설명하기로 한다. 도 30의 그림 (2250)은 사람이 제자리에서 왼쪽을 향해 걷을 때(카메라는 사람의 오른쪽에서 촬영) 오픈포즈 골격모델을 추출한 화면이다.A process of calculating the joint angle when a person turns to the left will be described with reference to FIG. 30 . Figure 2250 of FIG. 30 is a screen extracting an open pose skeleton model when a person walks from a place to the left (the camera is taken from the person's right side).
도 31은 일 실시 예에 따라 오른쪽 다리 및 왼쪽 다리의 골격 모델과 관절각을 설명하기 위한 도면이다.31 is a view for explaining skeletal models and joint angles of a right leg and a left leg, according to an exemplary embodiment.
보다 상세하게는 도 31의 그림 (2262)는 오른쪽 다리의 오픈포즈 골격 모델과 관절각을 정의하는 도면이고, 도 31의 그림 (2264)는 왼쪽 다리의 오픈포즈 골격 모델과 관절각 정의를 나타내는 도면이다. 상술한 한 원리를 그대로 적용해서 그 결과만을 수식화하면 다음과 같다. 여기서 주의할 점은 시상면 관절각의 양의 회전방향은 사람을 왼쪽에서 볼 때는 시계방향이지만, 오른쪽에서 볼 때는 반시계방향이다. 먼저 오른쪽 고관절 시상면 각도인 의 관계식을 유도하면 다음과 같다.In more detail, figure 2262 of FIG. 31 is a view defining the open pose skeletal model and joint angle of the right leg, and figure 2264 of FIG. 31 is a view showing the open pose skeletal model and joint angle definition of the left leg am. Applying the above-mentioned principle as it is and formulating only the result is as follows. Note that the positive rotation direction of the sagittal joint angle is clockwise when viewed from the left, but counterclockwise when viewed from the right. First, the right hip sagittal angle If we derive the relational expression of
오른쪽 슬관절 시상면 각도인 의 관계식을 유도하면 다음과 같다.Right knee sagittal angle If we derive the relational expression of
왼쪽 슬관절 시상면 각도인 의 관계식을 유도하면 다음과 같다.Left knee sagittal angle If we derive the relational expression of
다음으로 하체의 관상면 관절각 계산법에 대해 알아보자. 도 17에서 하체의 관상면 관절각 은 다리를 왼쪽으로 들어올릴 때는 양의 각도, 오른쪽으로 들어올릴 때는 음의 각도로 정의되어 있음을 기억하자.Next, let's learn how to calculate the coronal joint angle of the lower body. In Figure 17, the coronal joint angle of the lower body Note that is defined as a positive angle for lifting the leg to the left and a negative angle for lifting the leg to the right.
오른쪽 골반의 관상면 관절각 과 왼쪽 골반의 관상면 관절각 은 다음 식으로 계산할 수 있다.Coronal articular angle of the right pelvis and coronal articular angles of the left pelvis can be calculated in the following way.
식에서 는 사람이 차려자세로 있을 때 측정한 허벅지뼈의 픽셀길이를, 과 은 사람이 걸어갈 때 측정한 오른쪽과 왼쪽 허벅지뼈의 픽셀길이를 각각 의미한다. 상술한 바와 마찬가지로 사람이 앞으로 걸어갈 때 일반적으로 다리를 바깥쪽(왼쪽 다리는 왼쪽, 오른쪽 다리는 오른쪽)으로 들어올리는 경향이 있으므로, 에는 음의 부호, 에는 양의 부호를 부여하면 된다.in the expression is the pixel length of the thighbone measured when the person is in a standing position, class is the pixel length of the right and left thighbones, respectively, measured when a person walks. As mentioned above, as people generally tend to lift their legs outward (left leg left, right leg right) when walking forward, is a negative sign, should be given a positive sign.
도 32는 일 실시 예에 따라 오른쪽 팔과 왼쪽 팔의 링크와 관절들을 설명하기 위한 도면이다.32 is a diagram for describing links and joints of a right arm and a left arm, according to an exemplary embodiment.
이제 같은 원리로 도 32를 참조하여 상체 시상면 관절각을 계산해보자. 도 32로부터 오른쪽 어깨 시상면 관절의 각도 관계식을 유도하면 다음과 같다.Now, with reference to FIG. 32 in the same principle, let's calculate the upper body sagittal joint angle. The angular relational expression of the right shoulder sagittal joint is derived from FIG. 32 as follows.
오른쪽 팔꿈치 시상면 관절의 각도 관계식을 유도하면 다음과 같다.The angular relational expression of the right elbow sagittal joint is derived as follows.
그림으로부터 왼쪽 어깨 시상면 관절의 각도 관계식을 유도하면 다음과 같다.The angular relational expression of the left shoulder sagittal joint is derived from the figure as follows.
그림으로부터 왼쪽 팔꿈치 시상면 관절의 각도 관계식을 유도하면 다음과 같다.From the figure, the angular relational expression of the sagittal joint of the left elbow is derived as follows.
이제 상체 두 어깨의 관상면 관절각 계산법에 대해 알아보자. 투영법의 원리에 따라 오른쪽과 왼쪽 어깨의 관상면 관절각 , 은 다음 식으로 계산할 수 있다.Now let's learn how to calculate the coronal joint angle of the upper body and both shoulders. Coronary articular angles of the right and left shoulder according to the principle of projection , can be calculated in the following way.
식에서 과 은 사람이 걸어갈 때 측정한 오른쪽 위팔뼈와 왼쪽 위팔뼈의 픽셀길이를 각각 의미한다. 앞에서와 마찬가지로 사람이 앞으로 걸어가는 경우에는 일반적으로 팔을 바깥쪽(왼쪽 팔은 왼쪽, 오른쪽 팔은 오른쪽)으로 뻗는 경향이 있으므로, 에는 음의 부호, 에는 양의 부호를 부여했다. in the expression class denotes the pixel length of the right upper arm and the left upper arm, respectively, measured when a person walks. As before, when a person walks forward, they generally tend to extend their arms outward (left arm left, right arm right), so is a negative sign, is given a positive sign.
도 33은 일 실시 예에 따라 대상자가 카메라를 향할 때 이미지 크기와 카메라까지의 거리 관계를 설명하기 위한 도면이다.33 is a diagram for describing a relationship between an image size and a distance to a camera when a subject faces a camera, according to an embodiment.
일 실시 예에 의하면 로봇 장치가 모니터링하는 대상자는 제자리에서 걸어갈 수도 있지만, 카메라를 향해 위치를 이동하면서 걸을 수도 있다. 일 실시 예에 의하면 오픈포즈 모델에서 인식하는 사람의 전체 몸의 길이는 원근법에 의해 카메라에 접근할수록 길게 인식된다. 도 33을 참조하면 그림 2272 a에서 대상자가 서있는 카메라 전단의 위치를 기준 위치로 하여 대상자가 카메라를 향해 v속도로 걸음으로써 대상자의 위치가 그림 2272 b에서와 같이 변함을 알 수 있다. 그림 2272 b에서는 대상자가 그림 2272 a보다 카메라에 더 가깝게 위치하기 때문에 카메라가 촬영한 이미지상 대상자의 몸의 길이는 길어질 수 있다. According to an embodiment, the subject monitored by the robot device may walk in place, or may walk while moving its position toward the camera. According to an embodiment, the length of the entire body of a person recognized by the open pose model is recognized as being longer as the camera approaches the camera by perspective. Referring to FIG. 33, it can be seen that the position of the subject changes as shown in Fig. 2272 b as the subject walks toward the camera at v speed using the position of the front end of the camera where the subject is standing in Fig. 2272 a as the reference position. In Figure 2272 b, the subject's body length in the image taken by the camera may be longer because the subject is located closer to the camera than in Figure 2272 a.
그림 2272 c를 참조하면, 그림 2272 a에서 대상자가 카메라로부터 떨어진 거리를 x1이라 하고, 대상자가 카메라를 향하여 t시간동안 걸음으로써 도달하게 되는 위치로써, 그림 2272 b에서 대상자가 카메라로부터 떨어진 거리를 x2로 하며, 카메라의 초점 거리를 f라고 할 때 거리 관계가 도시된다. 그림 2272 c의 관계에 기초하여 로봇 장치가 보행 속도 및 스텝 길이를 식별하는 과정을 설명하기로 한다.Referring to Figure 2272 c, in Figure 2272 a, the distance the subject is away from the camera is x1, and the position reached by the subject walking towards the camera for t time. In Figure 2272 b, the distance the subject is away from the camera is x2 , and the distance relationship is shown when the focal length of the camera is f. Based on the relationship in Fig. 2272c, the process of identifying the walking speed and step length of the robot device will be described.
먼저 로봇 장치는 보행 속도를 결정하기 위해 두 지점 사이의 거리 및 거리 사이를 걷는데 소요된 시간을 식별한다. 대상자가 이동하기 전 실제 몸통 길이 및 대상자를 촬영함으로써 획득된 이미지상 몸통의 픽셀 길이 를 측정한다. 또한, 현재 이미지 상 대상자의 몸통 픽셀 길이 를 측정하고, 카메라로부터 떨어진 대상자의 현재 위치(또는 거리)를 x0로 측정한다. 로봇 장치는 하기 수학식에 따라 비율 관계를 결정할 수 있다.First, the robotic device identifies the distance between two points and the time spent walking between the distances to determine the walking speed. Actual torso length before subject moves and the pixel length of the torso on the image obtained by photographing the subject. measure In addition, the pixel length of the subject's body in the current image is measured, and the current position (or distance) of the subject away from the camera is measured as x 0 . The robot device may determine the ratio relationship according to the following equation.
상기 수학식에서 은 픽셀당 길이(미터 단위)를 나타내고, 카메라에 고유한 특성 값이다. 상기 수학식 91에 따른 관계는 하기 수학식과 같이 표현될 수 있다.in the above formula represents the length per pixel (in meters) and is a characteristic value unique to the camera. The relationship according to
로봇 장치는 현재 대상자의 측정 위치 x를 상기 수학식 92로부터 유도할 수 있다. 이 식으로부터 하기 수학식 93과 같이 현재 몸통 픽셀길이를 이용해서 x를 계산할 수 있다.The robot device may derive the measurement position x of the current subject from Equation 92. From this equation, x can be calculated using the current body pixel length as shown in Equation 93 below.
상기 수학식 91 내지 93에서 나타는 바와 같이, 카메라로부터 대상자의 거리는 현재 이미지상에서 측정되는 몸통 길이가 커질수록 작아질 수 있다. 대상자가 카메라를 기준으로 거리 에서 까지 카메라를 향하여 v 속도로 이동시 걸음 속도는 하기 수학식에 따라 로봇 장치에 의해 결정될 수 있다.As shown in
상기 수학식에서 및 는 거리 및 에서 사람 몸통 길이를 나타낸다. 로봇 장치(1000)는 대상자가 이동하는 방향의 x축에 대해, 휴머노이드 로봇 시뮬레이션 시 두 발의 중심점 사이의 거리를 측정하고, 측정된 두 발의 중심점 사이의 거리에 기초하여 스텝 길이를 식별할 수 있다. 도 17에서 나타나는 세계 좌표계에서 오른발 및 왼쪽 발의 중심 좌표는 각각 및 에 해당된다. 로봇 장치(1000)는 하기 수학식에 기초하여 스텝 길이를 결정할 수 있다.in the above formula and is the distance and represents the length of the human body. The
상기 수학식에서 sl은 스텝 길이를 의미한다. max와 min 함수안의 변수는 오른발 및 왼쪽 발의 중심점 좌표에 관한 변수이다.In the above equation, sl denotes a step length. The variables in the max and min functions are variables related to the center point coordinates of the right and left feet.
도 34는 일 실시 예에 따라 전자 장치가 대상자의 보행 패턴을 식별하는 방법의 흐름도이다.34 is a flowchart of a method for an electronic device to identify a gait pattern of a subject, according to an embodiment.
S210에서 로봇 장치(1000)는 대상자를 촬영함으로써 이미지를 획득한다. 일 실시 예에 의하면 로봇 장치(1000)는 로봇 장치와 연결된 외부 디바이스로부터 대상자를 포함하는 이미지를 획득할 수도 있다.In S210, the
보다 상세하게는, 로봇 장치(1000)는 획득된 이미지를 신경망 모델에 입력함으로써 신경망 모델로부터 인체골격 정보를 획득할 수도 있다. More specifically, the
일 실시 예에 의하면, 로봇 장치가 이용하는 신경망 모델은 심층 신경망(DNN:Deep Neural Network)를 포함할 수 있으며, 예를 들어, CNN (Convolutional Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 또는 심층 Q-네트워크 (Deep Q-Networks) 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.According to an embodiment, the neural network model used by the robot device may include a deep neural network (DNN), for example, a convolutional neural network (CNN), a recurrent neural network (RNN), and a restricted boltzmann (RBM). Machine), a Deep Belief Network (DBN), a Bidirectional Recurrent Deep Neural Network (BRDNN), or a deep Q-networks, but is not limited thereto.
또한, 일 실시 예에 의하면 로봇 장치(1000)가 이용하는 신경망 모델은 오픈포즈(OpenPose) 모델로써, 인체의 관절 및 링크에 대한 정보를 출력하는 신경망 모델일 수 있다. 본 개시에 따른 인체골격 정보는 이미지 내 대상자의 관절의 좌표 정보 및 상기 관절 사이를 연결하는 링크의 길이 정보를 포함할 수 있다.Also, according to an embodiment, the neural network model used by the
S230에서, 로봇 장치(1000)는 로봇 모델 내 적어도 하나의 링크의 연결 관계에 기초하여 대상자에 대한 카메라의 촬영 각도를 식별할 수 있다. 로봇 장치(1000)가 대상자에 대한 카메라의 촬영 각도를 식별하는 과정은 상술한 수학식 39에 의해 수행될 수 있다. In S230 , the
S240에서, 로봇 장치(1000)는 카메라의 촬영 각도에 기초하여 로봇 모델의 관절 정보를 결정할 수 있다. 예를 들어, 로봇 장치(1000)는 식별된 카메라의 촬영 각도에 기초하여 서로 다른 방법으로 로봇 모델 내 특정 링크의 링크 길이, 관절각을 결정할 수 있다. In S240 , the
예를 들어, 로봇 장치(1000)는 로봇 모델 내 관절 정보 및 링크 정보에 기초하여 소정의 관절에 대하여 인접한 두개의 링크를 식별하고, 상기 식별된 두개의 링크의 사이각을 결정하고, 상기 결정된 사이각에 기초하여 상기 로봇 모델의 관절 정보를 결정할 수 있다.For example, the
또한, 일 실시 예에 의하면, 로봇 장치(1000)는 상기 카메라의 촬영 각도에 기초하여 상기 결정된 두 개의 링크의 사이각을 보정하고, 상기 보정된 두 개의 링크의 사이각에 기초하여 상기 로봇 모델의 관절 정보를 결정할 수 있다. 또한, 일 실시 예에 의하면, 로봇 장치(1000)는 두 개의 링크의 사이각을 결정하기 위해 상기 인접한 두개의 링크의 끝점이 위치하는 사분면 정보를 식별하고, 상기 식별된 사분면 정보에 기초하여 상기 두 링크의 링크 각도를 보정하기 위한 보정 함수를 생성하고, 상기 생성된 보정 함수를 상기 인접한 두 개의 링크의 각도에 각각 적용함으로써 링크 보정 각도를 생성하며, 상기 생성된 링크 보정 각도의 차를 이용하여 상기 두 개의 링크의 사이각을 결정할 수 있다.In addition, according to an embodiment, the
S250에서, 로봇 장치(1000)는 S240에서 결정된 관절 정보에 기초하여 휴머노이드 로봇의 자세 시뮬레이션을 실행함으로써 상기 대상자의 보행 패턴을 식별할 수 있다. 예를 들어, 로봇 장치(1000)는 대상자의 신체 골격에 대응되는 로봇 모델 내 각 관절에 대한 정보를 결정하고, 결정된 관절 정보를 로봇 모델을 이용하여 시뮬레이션함으로써 대상자의 보행패턴을 식별할 수 있다.In S250 , the
또한, 도 34에는 도시되지 않았지만, 로봇 장치(1000)는 이미지 내 대상자의 몸통 길이 및 이미지 내 대상자의 두 발의 중심점 사이의 거리를 식별하고, 식별된 몸통 길이 및 상기 두 발의 중심점 사이의 거리에 기초하여 상기 대상자의 보행속도 및 스텝 길이를 결정하며, 상기 관절 정보, 상기 보행속도 및 스텝 길이에 기초하여 상기 보행 패턴을 식별할 수도 있다.In addition, although not shown in FIG. 34 , the
일 실시 예에 의하면 로봇 장치(1000)는 소정의 두 지점 사이에서 상기 대상자의 몸통 길이 변화에 기초하여 상기 대상자의 보행속도를 결정하고, 상기 이미지 내 대상자 이미지의 두발의 중심점 사이의 거리에 기초하여 상기 스텝 길이를 식별할 수 있다.According to an embodiment, the
또 다른 실시 예에 의하면, 도 34에는 도시되지 않았지만 로봇 장치(1000)는 대상자를 촬영함으로써 획득된 이미지로부터 결정된 관절 정보에 기초하여 대상자의 보행 방향을 추정할 수도 있다. 로봇 장치(1000)는 상기 결정된 관절 정보, 상기 추정된 대상자의 보행 방향, 보행속도 또는 스텝 길이 중 적어도 하나에 기초하여 대상자의 보행 패턴을 식별할 수도 있다.According to another embodiment, although not shown in FIG. 34 , the
도 35는 일 실시 예에 따라 전자 장치가 로봇 모델을 생성하는 과정을 나타내는 도면이다.35 is a diagram illustrating a process in which an electronic device generates a robot model, according to an exemplary embodiment.
S310에서, 로봇 장치(1000)는 인체의 골격 구조에 기초하여 배치되는 기 설정된 수의 관절 및 상기 관절 사이를 연결하는 링크를 포함하는 관절-링크 모델에 대하여 DH 변환행렬을 적용함으로써 왼쪽 고관절을 기준으로 하는 기준 좌표계에 따른 링크 좌표계를 생성할 수 있다. S320에서, 로봇 장치(1000)는 링크 좌표계에 좌표계 변환행렬을 추가적으로 적용함으로써 신체 중심점을 기준으로 하는 휴먼 좌표계를 생성할 수 있다.In S310, the
S330에서, 로봇 장치(1000)는 카메라 촬영 각도에 기초하여 적응적으로 상기 휴먼 좌표계에 회전 변환행렬을 적용함으로써 세계 좌표계를 생성할 수 있다. S340에서 로봇 장치(1000)는 상기 카메라 촬영 각도에 기초하여 휴먼 좌표계 또는 세계 좌표계에 따른 상기 로봇 모델을 생성할 수 있다. 일 실시 예에 의하면 로봇 모델은 대상자의 신체 골격에 대응되는 관절 및 상기 관절을 연결하는 링크에 대한 정보에 기초하여 생성된 모델일 수 있다. 즉, 본 개시에 따른 로봇 장치(1000)는 카메라 촬영 각도를 결정하고, 결정된 촬영 각도가 0도가 아닌 경우, 로봇 좌표계를 휴먼 좌표계에서 세계 좌표계로 변환하고, 변환된 세계 좌표계에 따른 로봇 모델을 생성할 수 있다. S350에서, 로봇 장치(1000)는 로봇 모델을 이용하여 휴머노이드 로봇의 자세 시뮬레이션을 실행함으로써 대상자의 보행 패턴을 식별할 수 있다.In S330 , the
도 36은 일 실시 예에 따라 전자 장치가 대상자에 대한 카메라의 촬영 각도를 식별하는 과정을 나타내는 도면이다.36 is a diagram illustrating a process in which an electronic device identifies a photographing angle of a camera with respect to a subject, according to an exemplary embodiment.
S410에서, 로봇 장치(1000)는 로봇 모델 내 얼굴 링크 및 몸통 링크를 식별할 수 있다. S420에서, 로봇 장치(1000)는 식별된 얼굴 링크 및 목 링크 사이각에 기초하여 얼굴 링크가 몸통 링크에 대해 기울어진 방향을 식별할 수 있다. S430에서, 로봇 장치(1000)는 로봇 모델 내 몸통의 길이 및 골반의 길이 비율을 식별할 수 있다. S440에서, 로봇 장치(1000)는 식별된 방향 및 길이 비율에 기초하여 대상자에 대한 상기 카메라의 촬영 각도를 식별할 수 있다.In S410 , the
도 37은 이 실시 예에 따라 전자 장치가 대상자의 보행 패턴을 식별하는 과정을 설명하기 위한 도면이다.37 is a diagram for describing a process in which an electronic device identifies a gait pattern of a subject according to this embodiment.
S502에서, 로봇 장치(1000)는 대상자의 팔 길이, 카메라와 대상자 간의 거리를 측정한다. S504에서, 로봇 장치(1000)는 오픈포즈 신경망 모델의 신경망 연산을 위해, 오픈포즈 신경망 모델을 런칭할 수 있다. S506에서 로봇 장치(1000)는 오픈포즈 신경망 모델로부터 대상자의 정지 자세에 대한 초기 인체골격 정보를 획득할 수 있다.In S502, the
S508에서, 로봇 장치(1000)는 대상자에 대한 카메라의 촬영 각도를 결정할 수 있다. 로봇 장치(1000)가 대상자에 대한 카메라의 촬영 각도를 식별하는 과정은 상술한 바와 같으므로 생략하기로 한다.In S508 , the
S510에서, 로봇 장치(1000)는 로봇 모델 내 각 링크 길이 변화로부터 시상면 관절 변수(joint variables) 및 관상면 관절 변수를 결정한다. S512에서, 로봇 장치(1000)는 각 관절에 대한 인접한 두 개 링크 사이의 사이각을 결정한다. S514에서, 로봇 장치(1000)는 촬영 각도에 기초하여 상술한 링크 길이, 상술한 관절 변수에 대한 가중치 평균을 결정한다. S516에서, 로봇 장치(1000)는 결정된 관절 변수 값에 기초하여 생성된 로봇 모델을 시뮬레이션할 수 있다. S518에서, 로봇 장치(1000)는 시뮬레이션 결과에 기초하여 대상자의 걸음 속도 및 스텝 길이를 식별할 수 있다. S520에서 로봇 장치(1000)는 대상자의 보행 패턴을 식별하는 과정을 계속할지 여부를 결정할 수 있다. 예를 들어 로봇 장치(1000)는 대상자의 보행패턴이 식별되지 않는 경우, S508 단계를 다시 수행할 수도 있지만, 대상자의 보행 패턴이 식별되는 경우, 상술한 방법의 수행을 종료할 수 있다.In S510 , the
도 38은 일 실시 예에 따른 전자 장치의 블록도이다.38 is a block diagram of an electronic device according to an embodiment.
도 39는 또 다른 실시 예에 따른 전자 장치의 블록도이다.39 is a block diagram of an electronic device according to another embodiment.
도 38에 도시된 바와 같이 일 실시 예에 따른 로봇 장치(1000)는 프로세서(1300), 네트워크 인터페이스(1500) 및 메모리(1700)를 포함할 수 있다. 그러나, 도시된 구성 요소가 모두 필수구성요소인 것은 아니다. 도시된 구성 요소보다 많은 구성 요소에 의해 로봇 장치(1000)가 구현될 수도 있고, 그 보다 적은 구성 요소에 의해서도 로봇 장치(1000)는 구현될 수 있다.As shown in FIG. 38 , the
예를 들어, 도 39에 도시된 바와 같이 로봇 장치(1000)는 프로세서(1300), 네트워크 인터페이스(1500) 및 메모리(1700)외에, 사용자 입력 인터페이스(1100), 출력부(1200), 센싱부(1400), 네트워크 인터페이스(1500) 및 A/V 입력부(1600)를 더 포함할 수도 있다.For example, as shown in FIG. 39 , the
사용자 입력 인터페이스(1100)는, 사용자가 로봇 장치(1000)를 제어하기 위한 데이터를 입력하는 수단을 의미한다. 예를 들어, 사용자 입력 인터페이스(1100)에는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다. 사용자 입력 인터페이스(1100)는 대상자로부터 로봇 장치를 제어하기 위한 키보드 입력, 음성 입력 기타 터치 입력 등을 획득할 수 있다.The
출력부(1200)는, 오디오 신호 또는 비디오 신호 또는 진동 신호를 출력할 수 있으며, 출력부(1200)는 디스플레이부(1210), 음향 출력부(1220), 및 진동 모터(1230)를 포함할 수 있다. 예를 들어, 로봇 장치(1000)는 출력부(1200)를 이용하여 사용자 입력에 따른 컨텐츠를 출력할 수 있다.The
디스플레이부(1210)는 로봇 장치(1000)에서 처리되는 정보 내지 컨텐츠를 표시 출력하기 위한 화면을 포함한다. 또한, 화면은 영상을 디스플레이 할 수 있다. 예를 들면, 디스플레이부(1210)는 로봇 장치(1000)가 인식한 대상 객체에 대한 정보, 사용자 음성 입력에 매칭되는 컨텐츠들을 표시할 수 있다.The
음향 출력부(1220)는 네트워크 인터페이스(1500)로부터 수신되거나 메모리(1700)에 저장된 오디오 데이터를 출력한다. 또한, 음향 출력부(1220)는 사용자 음성 입력에 대한 음성 인식 결과에 따른 응답 오디오 데이터를 출력할 수도 있다. 또한, 음향 출력부(1220)는 전자 장치(2000)에서 수행되는 기능(예를 들어, 호신호 수신음, 메시지 수신음, 알림음)과 관련된 음향 신호를 출력할 수도 있다.The
프로세서(1300)는 통상적으로 로봇 장치(1000)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(1300)는, 메모리(1700)에 저장된 프로그램들을 실행함으로써, 사용자 입력 인터페이스(1100), 출력부(1200), 센싱부(1400), 네트워크 인터페이스(1500), A/V 입력부(1600) 등을 전반적으로 제어할 수 있다. 또한, 프로세서(1300)는 메모리(1700)에 저장된 프로그램들을 실행함으로써, 도 1 내지 도 37에 기재된 로봇 장치(1000)의 기능을 수행할 수 있다.The
일 실시 예에 의하면, 프로세서(1300)는 상기 하나 이상의 인스트럭션을 실행함으로써, 상기 로봇 장치와 연결된 카메라를 통하여 상기 대상자를 촬영함으로써 이미지를 획득하고, 상기 이미지로부터 획득된 인체골격 정보에 기초하여 미리 설정된 좌표계에 따른 로봇 모델을 생성하고, 상기 생성된 로봇 모델 내 적어도 하나의 링크의 연결 관계에 기초하여 상기 대상자에 대한 상기 카메라의 촬영 각도를 식별하고, 상기 카메라의 촬영 각도에 기초하여 상기 로봇 모델의 관절 정보를 결정하고, 상기 결정된 관절 정보에 기초하여 상기 대상자의 보행 패턴을 식별할 수 있다.According to an embodiment, the
일 실시 예에 의하면, 프로세서(1300)는 상기 이미지 내 대상자의 몸통 길이 및 상기 이미지 내 대상자의 두 발의 중심점 사이의 거리를 식별하고, 상기 식별된 몸통 길이 및 상기 두 발의 중심점 사이의 거리에 기초하여 상기 대상자의 보행속도 및 스텝 길이를 식별하고, 상기 관절 정보, 상기 보행속도 및 스텝 길이에 기초하여 상기 보행 패턴을 식별할 수 있다.According to an embodiment, the
일 실시 예에 의하면, 프로세서(1300)는 상기 획득된 이미지를 신경망 모델에 입력함으로써 상기 신경망 모델로부터 인체골격 정보를 획득할 수 있다.According to an embodiment, the
일 실시 예에 의하면, 적어도 하나의 프로세서는 인체의 골격 구조에 기초하여 배치되는 기 설정된 수의 관절 및 상기 관절 사이를 연결하는 링크를 포함하는 관절-링크 모델에 대하여 DH 변환행렬을 적용함으로써 왼쪽 고관절을 기준으로 하는 기준 좌표계에 따른 링크 좌표계를 생성하고, 상기 링크 좌표계에 좌표계 변환행렬을 추가적으로 적용함으로써 신체 중심점을 기준으로 하는 휴먼 좌표계를 생성하고, 상기 카메라 촬영 각도에 기초하여 적응적으로 상기 휴먼 좌표계에 회전 변환행렬을 적용함으로써 세계 좌표계를 생성하고, 상기 카메라 촬영 각도에 기초하여 휴먼 좌표계 또는 세계 좌표계에 따른 상기 로봇 모델을 생성할 수 있다.According to an embodiment, the at least one processor applies a DH transformation matrix to a joint-link model including a preset number of joints disposed based on the skeletal structure of the human body and links connecting the joints to the left hip joint. Generates a link coordinate system according to a reference coordinate system based on , and additionally applies a coordinate system transformation matrix to the link coordinate system to generate a human coordinate system based on a body center point, and adaptively based on the camera shooting angle, the human coordinate system A world coordinate system may be generated by applying a rotation transformation matrix to , and the robot model according to the human coordinate system or the world coordinate system may be generated based on the camera shooting angle.
일 실시 예에 의하면 적어도 하나의 프로세서는 상기 로봇 모델 내 얼굴 링크 및 몸통 링크를 식별하고, 상기 식별된 얼굴 링크 및 목 링크의 사이각에 기초하여 상기 얼굴 링크가 몸통 링크에 대해 기울어진 방향을 식별하고, 상기 로봇 모델 내 몸통의 길이 및 골반의 길이 비율을 식별하고, 상기 식별된 방향 및 상기 길이 비율에 기초하여 상기 대상자에 대한 상기 카메라의 촬영 각도를 식별할 수 있다.According to an embodiment, the at least one processor identifies a facial link and a torso link in the robot model, and identifies a direction in which the facial link is inclined with respect to the torso link based on an angle between the identified facial link and the neck link. and identify a length ratio of a torso and a pelvis in the robot model, and identify a shooting angle of the camera for the subject based on the identified direction and the length ratio.
일 실시 예에 의하면, 프로세서(1300)는 상기 로봇 모델 내 관절 정보 및 링크 정보에 기초하여 소정의 관절에 대하여 인접한 두개의 링크를 식별하고, 상기 식별된 두개의 링크의 사이각을 결정하고, 상기 결정된 사이각에 기초하여 상기 로봇 모델의 관절 정보를 결정할 수 있다.According to an embodiment, the
일 실시 예에 의하면, 프로세서(1300)는 상기 카메라의 촬영 각도에 기초하여 상기 결정된 두개의 링크의 사이각을 보정하고, 상기 보정된 두개의 링크의 사이각에 기초하여 상기 로봇 모델의 관절 정보를 결정할 수 있다.According to an embodiment, the
일 실시 예에 의하면, 프로세서(1300)는 상기 인접한 두개의 링크의 끝점이 위치하는 사분면 정보를 식별하고, 상기 식별된 사분면 정보에 기초하여 상기 두 링크의 링크 각도를 보정하기 위한 보정 함수를 생성하고, 상기 생성된 보정 함수를 상기 인접한 두개의 링크의 각도에 각각 적용함으로써 링크 보정 각도를 생성하고, 상기 생성된 링크 보정 각도의 차를 이용하여 상기 두개의 링크의 사이각을 결정할 수 있다.According to an embodiment, the
일 실시 예에 의하면, 적어도 하나의 프로세서는 소정의 두 지점 사이에서 상기 대상자의 몸통 길이 변화에 기초하여 상기 대상자의 보행속도를 결정하고, 상기 이미지 내 대상자 3차원 시뮬레이션의 두 발의 중심점 사이의 거리에 기초하여 상기 스텝 길이를 식별할 수 있다.According to an embodiment, the at least one processor determines the walking speed of the subject based on the change in the subject's torso length between two predetermined points, and the distance between the center points of the subject's two feet of the subject's three-dimensional simulation in the image. Based on the step length can be identified.
센싱부(1400)는, 로봇 장치(1000)의 상태 또는 로봇 장치(1000) 주변의 상태를 감지하고, 감지된 정보를 프로세서(1300)로 전달할 수 있다. 센싱부(1400)는 로봇 장치(1000)의 사양 정보, 로봇 장치(1000)의 상태 정보, 로봇 장치(1000)의 주변 환경 정보, 사용자의 상태 정보, 사용자의 위치 정보 등을 센싱하는데 이용될 수 있다.The
센싱부(1400)는, 지자기 센서(Magnetic sensor)(1410), 가속도 센서(Acceleration sensor)(1420), 온/습도 센서(1430), 적외선 센서(1440), 자이로스코프 센서(1450), 위치 센서(예컨대, GPS)(1460), 기압 센서(1470), 근접 센서(1480), 및 RGB 센서(illuminance sensor)(1490) 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다. 각 센서들의 기능은 그 명칭으로부터 당업자가 직관적으로 추론할 수 있으므로, 구체적인 설명은 생략하기로 한다.The
네트워크 인터페이스(1500)는 로봇 장치(1000)가 다른 장치(미도시) 내지 서버(2000)와 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 다른 장치(미도시)는 로봇 장치(1000)와 데이터를 송수신할 수 있는 컴퓨팅 장치이거나 센싱 장치일 수 있으나, 이에 제한되지 않는다. 예를 들어, 네트워크 인터페이스(1500)는, 근거리 통신부(1510), 이동 통신부(1520), 방송 수신부(1530)를 포함할 수 있다. The
근거리 통신부(short-range wireless communication unit)(1510)는, 블루투스 통신부, BLE(Bluetooth Low Energy) 통신부, 근거리 무선 통신부(Near Field Communication unit), WLAN(와이파이) 통신부, 지그비(Zigbee) 통신부, 적외선(IrDA, infrared Data Association) 통신부, WFD(Wi-Fi Direct) 통신부, UWB(ultra wideband) 통신부 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. Short-range
이동 통신부(1520)는, 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 여기에서, 무선 신호는, 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.The
방송 수신부(1530)는, 방송 채널을 통하여 외부로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다. 방송 채널은 위성 채널, 지상파 채널을 포함할 수 있다. 구현 예에 따라서 로봇 장치(1000)가 방송 수신부(1530)를 포함하지 않을 수도 있다.The
A/V(Audio/Video) 입력부(1600)는 오디오 신호 또는 비디오 신호 입력을 위한 것으로, 이에는 카메라(1610)와 마이크로폰(1620) 등이 포함될 수 있다. 카메라(1610)는 화상 통화모드 또는 촬영 모드에서 이미지 센서를 통해 정지영상 또는 동영상 등의 화상 프레임을 얻을 수 있다. 예를 들어, 카메라(1610)는 대상자를 촬영함으로써 대상자에 대한 이미지를 획득할 수 있다. 또한, 카메라(1610)는 대상자에 대한 이미지를 프레임에 따라 획득함으로써 동영상을 획득할 수도 있다. 카메라내 이미지 센서를 통해 캡쳐된 이미지는 프로세서(1300) 또는 별도의 이미지 처리부(미도시)를 통해 처리될 수 있다. The A/V (Audio/Video)
마이크로폰(1620)은, 외부의 음향 신호를 입력 받아 전기적인 음성 데이터로 처리한다. 예를 들어, 마이크로폰(1620)은 외부 디바이스 또는 사용자로부터 음향 신호 내지 음성 신호를 수신할 수 있다. 마이크로폰(1620)은 사용자의 음성 입력을 수신할 수 있다. 마이크로폰(1620)은 외부의 음향 신호를 입력 받는 과정에서 발생 되는 잡음(noise)을 제거하기 위한 다양한 잡음 제거 알고리즘을 이용할 수 있다. 마이크로폰(1620)은 획득된 사용자 음성 신호를 프로세서(1300)로 전달한다. 프로세서(1300)는 소정의 신경망 모델 내지 음성 인식을 위한 모델을 이용하여 사용자 음성 신호를 분석함으로써 사용자의 음성을 식별할 수 있다.The
메모리(1700)는, 프로세서(1300)의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 로봇 장치(1000)로 입력되거나 전자 장치(2000)로부터 출력되는 데이터를 저장할 수도 있다. 또한, 메모리(1700)는 로봇 모델에 대한 정보, 로봇 모델 내 링크 또는 관절에 대한 정보, 신경망 모델에 대한 정보, 음성 인식 모델에 대한 정보 등을 저장할 수 있다. 또한, 메모리(1700)는 사용자 음성에 따라 표시될 수 있는 다양한 컨텐츠에 대한 정보를 더 포함할 수도 있다.The
일 실시 예에 의하면, 메모리(1700)에는 로봇 장치(1000)가 이용하는 적어도 하나의 인공 지능 모델에 대한 파라미터 정보를 더 저장할 수도 있다. 예를 들어, 메모리(1700)는 적어도 하나의 신경망 모델 내 레이어들, 노드들, 상기 레이어들의 연결 강도에 관한 가중치 값들을 저장할 수 있다. 또한, 로봇 장치(1000)는 인공 지능 모델을 학습시키기 위한 다양한 학습 데이터등을 더 저장할 수도 있다.According to an embodiment, the
메모리(1700)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. The
메모리(1700)에 저장된 프로그램들은 그 기능에 따라 복수 개의 모듈들로 분류할 수 있는데, 예를 들어, UI 모듈(1710), 터치 스크린 모듈(1720), 알림 모듈(1730) 등으로 분류될 수 있다.Programs stored in the
UI 모듈(1710)은, 애플리케이션 별로 로봇 장치(1000)와 연동되는 특화된 UI, GUI 등을 제공할 수 있다. 터치 스크린 모듈(1720)은 사용자의 터치 스크린 상의 터치 제스처를 감지하고, 터치 제스처에 관한 정보를 프로세서(1300)로 전달할 수 있다. 일부 실시 예에 따른 터치 스크린 모듈(1720)은 터치 코드를 인식하고 분석할 수 있다. 터치 스크린 모듈(1720)은 컨트롤러를 포함하는 별도의 하드웨어로 구성될 수도 있다.The
알림 모듈(1730)은 로봇 장치(1000)의 이벤트 발생을 알리기 위한 신호를 발생할 수 있다. 로봇 장치(1000)에서 발생되는 이벤트의 예로는 호 신호 수신, 메시지 수신, 키 신호 입력, 일정 알림 등이 있다. 알림 모듈(1730)은 디스플레이부(1210)를 통해 비디오 신호 형태로 알림 신호를 출력할 수도 있고, 음향 출력부(1220)를 통해 오디오 신호 형태로 알림 신호를 출력할 수도 있고, 진동 모터(1230)를 통해 진동 신호 형태로 알림 신호를 출력할 수도 있다.The
일 실시예에 따른 대상자의 보행 패턴을 식별하는 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 개시를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. The method for identifying a subject's gait pattern according to an embodiment may be implemented in the form of program instructions that may 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 present disclosure, or may be known and available to those skilled in the art of computer software.
또한, 상기 일 실시 예에 다른 방법을 수행하도록 하는 프로그램이 저장된 기록매체를 포함하는 컴퓨터 프로그램 장치가 제공될 수 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. In addition, according to the embodiment, a computer program apparatus including a recording medium storing a program for performing another method may be provided. 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.
이상에서 본 개시의 실시예에 대하여 상세하게 설명하였지만 본 개시의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 개시의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 개시의 권리범위에 속한다.Although the embodiments of the present disclosure have been described in detail above, the scope of the present disclosure is not limited thereto, and various modifications and improved forms of the present disclosure are also provided by those skilled in the art using the basic concept of the present disclosure as defined in the following claims. belong to the scope of the right.
Claims (19)
상기 로봇 장치와 연결된 카메라를 통하여 상기 대상자를 촬영함으로써 이미지를 획득하는 단계;
상기 획득된 이미지로부터 인체골격 정보를 생성하는 단계;
상기 생성된 인체골격 정보에서 적어도 하나의 링크의 연결 관계에 기초하여 상기 대상자에 대한 상기 카메라의 촬영 각도를 식별하는 단계;
상기 카메라의 촬영 각도에 기초하여 로봇 모델의 관절 정보를 결정하는 단계; 및
상기 결정된 관절 정보에 기초하여 휴머노이드 로봇의 자세 시뮬레이션을 실행함으로써 상기 대상자의 보행 패턴을 식별하는 단계; 를 포함하는, 방법.A method for a robot device to identify a gait pattern of a subject, the method comprising:
acquiring an image by photographing the subject through a camera connected to the robot device;
generating human skeleton information from the acquired image;
identifying a photographing angle of the camera with respect to the subject based on a connection relationship of at least one link in the generated human skeleton information;
determining joint information of the robot model based on the photographing angle of the camera; and
identifying a gait pattern of the subject by executing a posture simulation of a humanoid robot based on the determined joint information; A method comprising
상기 이미지 내 대상자의 몸통 길이 및 3차원 모델 내 대상자의 두 발의 중심점 사이의 거리를 식별하는 단계;
상기 식별된 몸통 길이 및 상기 두 발의 중심점 사이의 거리에 기초하여 상기 대상자의 보행속도 및 스텝 길이를 식별하는 단계;
상기 대상자의 보행 방향을 추정하는 단계; 및
상기 관절 정보, 상기 보행속도, 스텝 길이 및 상기 추정된 보행 방향에 기초하여 상기 보행 패턴을 식별하는 단계; 를 포함하는, 방법.The method of claim 1, wherein the method
identifying a distance between the subject's torso length in the image and the center point of the subject's two feet in the three-dimensional model;
identifying a walking speed and a step length of the subject based on the identified trunk length and the distance between the center points of the two feet;
estimating the walking direction of the subject; and
identifying the gait pattern based on the joint information, the gait speed, the step length, and the estimated gait direction; A method comprising
상기 획득된 이미지를 신경망 모델에 입력함으로써 상기 신경망 모델로부터 인체골격 정보를 획득하는 단계; 를 더 포함하고,
상기 인체골격 정보는 상기 이미지 내 대상자의 관절의 좌표 정보 및 상기 관절 사이를 연결하는 링크의 길이 정보를 포함하는 것을 특징으로 하는, 방법.The method of claim 1, wherein the method
acquiring human skeleton information from the neural network model by inputting the acquired image into a neural network model; further comprising,
The human skeleton information is characterized in that it comprises coordinate information of the joint of the subject in the image and length information of a link connecting the joints.
인체의 골격 구조에 기초하여 배치되는 기 설정된 수의 관절 및 상기 관절 사이를 연결하는 링크를 포함하는 관절-링크 모델에 대하여 DH 변환행렬을 적용함으로써 왼쪽 고관절을 기준으로 하는 기준 좌표계에 따른 링크 좌표계를 생성하는 단계;
상기 링크 좌표계에 좌표계 변환행렬을 추가적으로 적용함으로써 신체 중심점에 위치한 휴먼 좌표계를 생성하는 단계;
상기 카메라 촬영 각도에 기초하여 적응적으로 상기 휴먼 좌표계에 회전 변환행렬을 적용함으로써 세계 좌표계를 생성하는 단계;
상기 카메라의 촬영 각도에 기초하여 휴먼 좌표계 또는 세계 좌표계에 따른 상기 로봇 모델을 생성하는 단계; 및
상기 로봇 모델을 이용하여 상기 휴머노이드 로봇의 자세 시뮬레이션을 실행함으로써 상기 대상자의 보행패턴을 식별하는 단계;를 포함하는, 방법.The method of claim 1, wherein the method
Link coordinate system according to the reference coordinate system based on the left hip joint by applying the DH transformation matrix to the joint-link model including a preset number of joints arranged based on the skeletal structure of the human body and links connecting between the joints. generating;
generating a human coordinate system located at a body center point by additionally applying a coordinate system transformation matrix to the link coordinate system;
generating a world coordinate system by adaptively applying a rotation transformation matrix to the human coordinate system based on the camera shooting angle;
generating the robot model according to a human coordinate system or a world coordinate system based on the photographing angle of the camera; and
Recognizing a gait pattern of the subject by executing a posture simulation of the humanoid robot using the robot model.
상기 로봇 모델 내 얼굴 링크 및 몸통 링크를 식별하는 단계;
상기 식별된 얼굴 링크 및 목 링크의 사이각에 기초하여 상기 얼굴 링크가 몸통 링크에 대해 기울어진 방향을 식별하는 단계;
상기 로봇 모델 내 몸통의 길이 및 골반의 길이 비율을 식별하는 단계;
상기 식별된 방향 및 상기 길이 비율에 기초하여 상기 대상자에 대한 상기 카메라의 촬영 각도를 식별하는 단계; 를 포함하는, 방법.The method of claim 1, wherein the step of identifying the shooting angle comprises:
identifying a facial link and a torso link in the robot model;
identifying a direction in which the facial link is inclined with respect to the body link based on the angle between the identified facial link and the neck link;
identifying a ratio of the length of the torso and the length of the pelvis in the robot model;
identifying a shooting angle of the camera for the subject based on the identified direction and the length ratio; A method comprising
상기 로봇 모델 내 관절 정보 및 링크 정보에 기초하여 소정의 관절에 대하여 인접한 두개의 링크를 식별하는 단계;
상기 식별된 두개의 링크의 사이각을 결정하는 단계; 및
상기 결정된 사이각에 기초하여 상기 로봇 모델의 관절 정보를 결정하는 단계; 를 포함하는, 방법.According to claim 1, wherein the step of determining the joint information of the robot model
identifying two adjacent links with respect to a predetermined joint based on joint information and link information in the robot model;
determining an angle between the identified two links; and
determining joint information of the robot model based on the determined angle; A method comprising
상기 카메라의 촬영 각도에 기초하여 상기 결정된 두개의 링크의 사이각을 보정하는 단계; 및
상기 보정된 두개의 링크의 사이각에 기초하여 상기 로봇 모델의 관절 정보를 결정하는 단계; 를 포함하는, 방법.According to claim 6, The step of determining the joint information of the robot model
correcting the angle between the two links determined based on the photographing angle of the camera; and
determining joint information of the robot model based on the corrected angle between the two links; A method comprising
상기 인접한 두개의 링크의 끝점이 위치하는 사분면 정보를 식별하는 단계;
상기 식별된 사분면 정보에 기초하여 상기 두개의 링크의 링크 각도를 보정하기 위한 보정 함수를 생성하는 단계;
상기 생성된 보정 함수를 상기 인접한 두개의 링크의 각도에 각각 적용함으로써 링크 보정 각도를 생성하는 단계; 및
상기 생성된 링크 보정 각도의 차를 이용하여 상기 두개의 링크의 사이각을 결정하는 단계; 를 포함하는, 방법.The method of claim 6, wherein determining the angle between the two links comprises:
identifying information about a quadrant in which endpoints of the two adjacent links are located;
generating a correction function for correcting a link angle of the two links based on the identified quadrant information;
generating a link correction angle by applying the generated correction function to the angles of the two adjacent links, respectively; and
determining an angle between the two links using a difference between the generated link correction angles; A method comprising
소정의 두 시점에서 상기 대상자의 몸통 길이 변화에 기초하여 상기 대상자의 보행속도를 결정하는 단계; 및
상기 이미지 내 대상자 시뮬레이션 시 두 발의 중심점 사이의 거리에 기초하여 상기 스텝 길이를 식별하는 단계; 를 포함하는, 방법.The method of claim 2, wherein the step of identifying the walking speed and the step length comprises:
determining the walking speed of the subject based on the change in the length of the subject's torso at two predetermined time points; and
identifying the step length based on the distance between the center points of the two feet during the subject simulation in the image; A method comprising
네트워크 인터페이스;
하나 이상의 인스트럭션을 저장하는 메모리; 및
적어도 하나의 프로세서; 를 포함하고,
상기 적어도 하나의 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써,
상기 로봇 장치와 연결된 카메라를 통하여 상기 대상자를 촬영함으로써 이미지를 획득하고,
상기 이미지로부터 인체골격 정보를 획득하고,
상기 획득된 인체 골격 정보에서 적어도 하나의 링크의 연결 관계에 기초하여 상기 대상자에 대한 상기 카메라의 촬영 각도를 식별하고,
상기 카메라의 촬영 각도에 기초하여 로봇 모델의 관절 정보를 결정하고,
상기 결정된 관절 정보에 기초하여 휴머노이드 로봇의 자세 시뮬레이션을 실행함으로써 상기 대상자의 보행 패턴을 식별하는, 로봇 장치.A robot device for identifying a subject's gait pattern, comprising:
network interface;
a memory storing one or more instructions; and
at least one processor; including,
The at least one processor by executing the one or more instructions,
Obtaining an image by photographing the subject through a camera connected to the robot device,
Obtain human skeleton information from the image,
Identifies a shooting angle of the camera with respect to the subject based on a connection relationship of at least one link in the obtained human skeleton information,
Determine the joint information of the robot model based on the shooting angle of the camera,
A robot device that identifies the subject's gait pattern by executing a posture simulation of the humanoid robot based on the determined joint information.
상기 이미지 내 대상자의 몸통 길이 및 3차원 모델 내 대상자의 두 발의 중심점 사이의 거리를 식별하고,
상기 식별된 몸통 길이 및 상기 두 발의 중심점 사이의 거리에 기초하여 상기 대상자의 보행속도 및 스텝 길이를 식별하고,
상기 대상자의 보행 방향을 추정하고,
상기 관절 정보, 상기 보행속도, 스텝 길이 및 상기 추정된 보행 방향에 기초하여 상기 보행 패턴을 식별하는, 로봇 장치.11. The method of claim 10, wherein the at least one processor comprises:
identifying the length of the subject's torso in the image and the distance between the center points of the subject's two feet in the three-dimensional model,
identifying the walking speed and step length of the subject based on the identified trunk length and the distance between the center points of the two feet;
Estimate the walking direction of the subject,
A robot device that identifies the gait pattern based on the joint information, the gait speed, the step length, and the estimated gait direction.
상기 획득된 이미지를 신경망 모델에 입력함으로써 상기 신경망 모델로부터 상기 인체골격 정보를 획득하고,
상기 인체골격 정보는 상기 이미지 내 대상자의 관절의 좌표 정보 및 상기 관절 사이를 연결하는 링크의 길이 정보를 포함하는 것을 특징으로 하는, 로봇 장치.12. The method of claim 11, wherein the at least one processor comprises:
Obtaining the human skeleton information from the neural network model by inputting the obtained image into a neural network model,
The human skeleton information is a robot device, characterized in that it includes coordinate information of the joint of the subject in the image and length information of a link connecting the joints.
인체의 골격 구조에 기초하여 배치되는 기 설정된 수의 관절 및 상기 관절 사이를 연결하는 링크를 포함하는 관절-링크 모델에 대하여 DH 변환행렬을 적용함으로써 왼쪽 고관절을 기준으로 하는 기준 좌표계에 따른 링크 좌표계를 생성하고,
상기 링크 좌표계에 좌표계 변환행렬을 추가적으로 적용함으로써 신체 중심점에 위치한 휴먼 좌표계를 생성하고,
상기 카메라의 촬영 각도에 기초하여 적응적으로 상기 휴먼 좌표계에 회전 변환행렬을 적용함으로써 세계 좌표계를 생성하고,
상기 카메라의 촬영 각도에 기초하여 휴먼 좌표계 또는 세계 좌표계에 따른 상기 로봇 모델을 생성하고,
상기 로봇 모델을 이용하여 상기 휴머노이드 로봇의 자세 시뮬레이션을 실행함으로써 상기 대상자의 보행 패턴을 식별하는, 로봇 장치.12. The method of claim 11, wherein the at least one processor comprises:
Link coordinate system according to the reference coordinate system based on the left hip joint by applying the DH transformation matrix to the joint-link model including a preset number of joints arranged based on the skeletal structure of the human body and links connecting between the joints. create,
By additionally applying a coordinate system transformation matrix to the link coordinate system, a human coordinate system located at the center of the body is generated,
A world coordinate system is generated by adaptively applying a rotation transformation matrix to the human coordinate system based on the shooting angle of the camera,
Generating the robot model according to the human coordinate system or the world coordinate system based on the shooting angle of the camera,
A robot device that identifies a gait pattern of the subject by executing a posture simulation of the humanoid robot using the robot model.
상기 로봇 모델 내 얼굴 링크 및 몸통 링크를 식별하고,
상기 식별된 얼굴 링크 및 목 링크의 사이각에 기초하여 상기 얼굴 링크가 몸통 링크에 대해 기울어진 방향을 식별하고,
상기 로봇 모델 내 몸통의 길이 및 골반의 길이 비율을 식별하고,
상기 식별된 방향 및 상기 길이 비율에 기초하여 상기 대상자에 대한 상기 카메라의 촬영 각도를 식별하는, 로봇 장치.12. The method of claim 11, wherein the at least one processor comprises:
identifying a facial link and a torso link in the robot model;
identify a direction in which the facial link is inclined with respect to the body link based on the angle between the identified facial link and the neck link;
Identifies the ratio of the length of the torso and the length of the pelvis in the robot model,
identifying a shooting angle of the camera with respect to the subject based on the identified direction and the length ratio.
상기 로봇 모델 내 관절 정보 및 링크 정보에 기초하여 소정의 관절에 대하여 인접한 두개의 링크를 식별하고,
상기 식별된 두 개의 링크의 사이각을 결정하고,
상기 결정된 사이각에 기초하여 상기 로봇 모델의 관절 정보를 결정하는 로봇 장치.12. The method of claim 11, wherein the at least one processor comprises:
Identifies two adjacent links with respect to a predetermined joint based on joint information and link information in the robot model,
Determining the angle between the identified two links,
A robot device for determining joint information of the robot model on the basis of the determined in-between angle.
상기 카메라의 촬영 각도에 기초하여 상기 결정된 두 개의 링크의 사이각을 보정하고,
상기 보정된 두개의 링크의 사이각에 기초하여 상기 로봇 모델의 관절 정보를 결정하는, 로봇 장치.16. The method of claim 15, wherein the at least one processor comprises:
Correcting the angle between the two links determined on the basis of the shooting angle of the camera,
For determining the joint information of the robot model based on the corrected angle between the two links, the robot device.
상기 인접한 두개의 링크의 끝점이 위치하는 사분면 정보를 식별하고,
상기 식별된 사분면 정보에 기초하여 상기 두개의 링크의 링크 각도를 보정하기 위한 보정 함수를 생성하고,
상기 생성된 보정 함수를 상기 인접한 두개의 링크의 각도에 각각 적용함으로써 링크 보정 각도를 생성하고,
상기 생성된 링크 보정 각도의 차를 이용하여 상기 두개의 링크의 사이각을 결정하는, 로봇 장치.16. The method of claim 15, wherein the at least one processor comprises:
Identifies the quadrant information in which the endpoints of the two adjacent links are located,
generating a correction function for correcting a link angle of the two links based on the identified quadrant information;
generating a link correction angle by applying the generated correction function to the angles of the two adjacent links, respectively;
Using the difference of the generated link correction angle to determine the angle between the two links, the robot device.
소정의 두 지점 사이에서 상기 대상자의 몸통 길이 변화에 기초하여 상기 대상자의 보행속도를 결정하고,
상기 이미지 내 대상자 3차원 모델의 두발의 중심점 사이의 거리에 기초하여 상기 스텝 길이를 식별하는, 로봇 장치.13. The method of claim 12, wherein the at least one processor comprises:
Determine the subject's walking speed based on the change in the subject's trunk length between two predetermined points,
identifying the step length based on the distance between the center points of the subject's three-dimensional model of the subject in the image.
상기 로봇 장치와 연결된 카메라를 통하여 상기 대상자를 촬영함으로써 이미지를 획득하는 단계;
상기 획득된 상기 이미지로부터 인체골격 정보를 생성하는 단계;
상기 생성된 인체골격 정보에서 적어도 하나의 링크의 연결 관계에 기초하여 상기 대상자에 대한 상기 카메라의 촬영 각도를 식별하는 단계;
상기 카메라의 촬영 각도에 기초하여 로봇 모델의 관절 정보를 결정하는 단계; 및
상기 결정된 관절 정보에 기초하여 휴머노이드 로봇의 자세 시뮬레이션을 실행함으로써 상기 대상자의 보행 패턴을 식별하는 단계; 를 포함하는 방법을 수행하도록 하는 프로그램이 저장된 컴퓨터로 읽을 수 있는 기록 매체.A method for a robot device to identify a gait pattern of a subject, the method comprising:
acquiring an image by photographing the subject through a camera connected to the robot device;
generating human skeleton information from the acquired image;
identifying a photographing angle of the camera with respect to the subject based on a connection relationship of at least one link in the generated human skeleton information;
determining joint information of the robot model based on the photographing angle of the camera; and
identifying a gait pattern of the subject by executing a posture simulation of a humanoid robot based on the determined joint information; A computer-readable recording medium having a program stored thereon for performing a method comprising a.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200149421A KR102436906B1 (en) | 2020-11-10 | 2020-11-10 | Electronic device for identifying human gait pattern and method there of |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200149421A KR102436906B1 (en) | 2020-11-10 | 2020-11-10 | Electronic device for identifying human gait pattern and method there of |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220063847A true KR20220063847A (en) | 2022-05-18 |
KR102436906B1 KR102436906B1 (en) | 2022-08-29 |
Family
ID=81800741
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200149421A KR102436906B1 (en) | 2020-11-10 | 2020-11-10 | Electronic device for identifying human gait pattern and method there of |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102436906B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114863567A (en) * | 2022-05-19 | 2022-08-05 | 北京中科睿医信息科技有限公司 | Method and device for determining gait information |
KR102623494B1 (en) * | 2022-12-27 | 2024-01-10 | 동아대학교 산학협력단 | Device, method and program recording medium for analyzing gait using pose recognition package |
WO2024029880A1 (en) * | 2022-08-03 | 2024-02-08 | 주식회사 딥핑소스 | Learning method and learning apparatus for training deep learning-based gaze detection model for detecting gaze, and test method and test apparatus using same |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015061579A (en) * | 2013-07-01 | 2015-04-02 | 株式会社東芝 | Motion information processing apparatus |
KR20200084567A (en) | 2019-01-03 | 2020-07-13 | 전자부품연구원 | Health abnormality detection system and method using gait pattern |
-
2020
- 2020-11-10 KR KR1020200149421A patent/KR102436906B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015061579A (en) * | 2013-07-01 | 2015-04-02 | 株式会社東芝 | Motion information processing apparatus |
KR20200084567A (en) | 2019-01-03 | 2020-07-13 | 전자부품연구원 | Health abnormality detection system and method using gait pattern |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114863567A (en) * | 2022-05-19 | 2022-08-05 | 北京中科睿医信息科技有限公司 | Method and device for determining gait information |
WO2024029880A1 (en) * | 2022-08-03 | 2024-02-08 | 주식회사 딥핑소스 | Learning method and learning apparatus for training deep learning-based gaze detection model for detecting gaze, and test method and test apparatus using same |
KR102623494B1 (en) * | 2022-12-27 | 2024-01-10 | 동아대학교 산학협력단 | Device, method and program recording medium for analyzing gait using pose recognition package |
Also Published As
Publication number | Publication date |
---|---|
KR102436906B1 (en) | 2022-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102436906B1 (en) | Electronic device for identifying human gait pattern and method there of | |
JP6116784B1 (en) | 3D model generation system, 3D model generation method, and program | |
US11468612B2 (en) | Controlling display of a model based on captured images and determined information | |
KR102640420B1 (en) | Operation Method for activation of Home robot device and Home robot device supporting the same | |
CN112005198A (en) | Hand state reconstruction based on multiple inputs | |
US11298050B2 (en) | Posture estimation device, behavior estimation device, storage medium storing posture estimation program, and posture estimation method | |
WO2007010893A1 (en) | Joint object position and posture estimating device, its method, and program | |
JP2012083955A (en) | Motion model learning device, three-dimensional attitude estimation device, motion model learning method, three-dimensional attitude estimation method and program | |
Xiao et al. | Machine learning for placement-insensitive inertial motion capture | |
JPWO2019049298A1 (en) | 3D data system and 3D data processing method | |
JP2003271975A (en) | Method of extracting plane, extractor therefor, program therefor, recording medium therefor, and robot system mounted with plane extractor | |
US20220101603A1 (en) | Body shape and pose estimation via volumetric regressor for raw three dimensional scan models | |
Jatesiktat et al. | Personalized markerless upper-body tracking with a depth camera and wrist-worn inertial measurement units | |
US11430168B2 (en) | Method and apparatus for rigging 3D scanned human models | |
CN113033526A (en) | Computer-implemented method, electronic device and computer program product | |
KR20230166319A (en) | Device, method and program recording medium for identifying human 3d whole-body pose/motion | |
US20200226787A1 (en) | Information processing apparatus, information processing method, and program | |
JP7223865B2 (en) | Information processing device, information processing method and program | |
EP3971683A1 (en) | Human body portion tracking method and human body portion tracking system | |
WO2023189838A1 (en) | Information processing device, information processing method, and program | |
JP2021099666A (en) | Method for generating learning model | |
US11783492B2 (en) | Human body portion tracking method and human body portion tracking system | |
KR102510051B1 (en) | Control method of electronic device to determine motion matching using by reference position for each time and joint | |
US20230414132A1 (en) | System and method for providing rehabilitation in a virtual environment | |
JP7432330B2 (en) | Posture correction network learning device and its program, and posture estimation device and its program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |