KR102616230B1 - Method for determining user's concentration based on user's image and operating server performing the same - Google Patents

Method for determining user's concentration based on user's image and operating server performing the same Download PDF

Info

Publication number
KR102616230B1
KR102616230B1 KR1020230082149A KR20230082149A KR102616230B1 KR 102616230 B1 KR102616230 B1 KR 102616230B1 KR 1020230082149 A KR1020230082149 A KR 1020230082149A KR 20230082149 A KR20230082149 A KR 20230082149A KR 102616230 B1 KR102616230 B1 KR 102616230B1
Authority
KR
South Korea
Prior art keywords
user
score
head
movement
concentration
Prior art date
Application number
KR1020230082149A
Other languages
Korean (ko)
Inventor
윤희동
이상진
이세욱
Original Assignee
(주)대교씨엔에스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)대교씨엔에스 filed Critical (주)대교씨엔에스
Application granted granted Critical
Publication of KR102616230B1 publication Critical patent/KR102616230B1/en

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/16Devices for psychotechnics; Testing reaction times ; Devices for evaluating the psychological state
    • A61B5/168Evaluating attention deficit, hyperactivity
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
    • A61B5/1116Determining posture transitions
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
    • A61B5/1126Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb using a particular sensing technique
    • A61B5/1128Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb using a particular sensing technique using image analysis
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/16Devices for psychotechnics; Testing reaction times ; Devices for evaluating the psychological state
    • A61B5/163Devices for psychotechnics; Testing reaction times ; Devices for evaluating the psychological state by tracking eye movement, gaze, or pupil change
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/24Detecting, measuring or recording bioelectric or biomagnetic signals of the body or parts thereof
    • A61B5/316Modalities, i.e. specific diagnostic methods
    • A61B5/369Electroencephalography [EEG]
    • A61B5/372Analysis of electroencephalograms
    • A61B5/374Detecting the frequency distribution of signals, e.g. detecting delta, theta, alpha, beta or gamma waves
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/20ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for computer-aided diagnosis, e.g. based on medical expert systems
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/30ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for calculating health indices; for individual health risk assessment

Landscapes

  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Public Health (AREA)
  • Medical Informatics (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Pathology (AREA)
  • Surgery (AREA)
  • Animal Behavior & Ethology (AREA)
  • Veterinary Medicine (AREA)
  • Physics & Mathematics (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Psychology (AREA)
  • Developmental Disabilities (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Data Mining & Analysis (AREA)
  • Educational Technology (AREA)
  • Child & Adolescent Psychology (AREA)
  • Physiology (AREA)
  • Dentistry (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Primary Health Care (AREA)
  • Epidemiology (AREA)
  • Databases & Information Systems (AREA)
  • Hospice & Palliative Care (AREA)
  • Radiology & Medical Imaging (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)

Abstract

사용자 이미지에 기반하여 사용자의 집중력을 판단하는 방법 및 이를 수행하는 운영 서버가 개시된다. 상기 집중력 스코어링 방법을 수행하는 운영 서버는, 적어도 하나의 프로세서(processor); 및 상기 적어도 하나의 프로세서가 적어도 하나의 동작(operation)을 수행하도록 지시하는 명령어들(instructions)을 저장하는 메모리(memory)를 포함하고, 상기 적어도 하나의 동작은, 사용자를 촬영한 사용자 이미지를 획득하는 동작; 상기 사용자 이미지로부터 상기 사용자의 머리에 대한 수평 방향 움직임 각도와 수직 방향 움직임 각도를 결정하고, 상기 수평 방향 움직임 각도와 상기 수직 방향 움직임 각도를 이용하여 머리 움직임 점수를 산출하는 동작;상기 사용자 이미지로부터 상기 사용자의 시선 방향을 지시하는 시선 벡터를 결정하고, 결정된 상기 시선 벡터를 이용하여 상기 사용자의 시선 움직임 점수를 산출하는 동작; 상기 사용자 이미지로부터 상기 사용자의 눈을 식별하고, 식별된 상기 사용자의 눈을 이용하여 눈감김 점수를 산출하는 동작; 상기 머리 움직임 점수, 상기 시선 움직임 점수, 및 상기 눈감김 점수를 이용하여 입력 데이터를 생성하는 동작; 상기 입력 데이터를 미리 지도학습된 딥러닝 기반의 스코어링 학습 모델에 입력하는 동작; 및 상기 스코어링 학습 모델의 출력으로 집중력 점수를 획득하는 동작;을 포함한다.A method for determining a user's concentration based on a user image and an operating server that performs the same are disclosed. The operating server that performs the concentration scoring method includes at least one processor; and a memory that stores instructions that instruct the at least one processor to perform at least one operation, wherein the at least one operation is to acquire a user image of the user. action; An operation of determining a horizontal movement angle and a vertical movement angle of the user's head from the user image, and calculating a head movement score using the horizontal movement angle and the vertical movement angle; Determining a gaze vector indicating the user's gaze direction and calculating a gaze movement score of the user using the determined gaze vector; Identifying the user's eyes from the user image and calculating an eye closure score using the identified eyes of the user; Generating input data using the head movement score, the eye movement score, and the eye closure score; Inputting the input data into a previously supervised deep learning-based scoring learning model; and an operation of obtaining a concentration score as an output of the scoring learning model.

Description

사용자 이미지에 기반하여 사용자의 집중력을 판단하는 방법 및 이를 수행하는 운영 서버{METHOD FOR DETERMINING USER'S CONCENTRATION BASED ON USER'S IMAGE AND OPERATING SERVER PERFORMING THE SAME}Method for determining user's concentration based on user image and operating server that performs the same {METHOD FOR DETERMINING USER'S CONCENTRATION BASED ON USER'S IMAGE AND OPERATING SERVER PERFORMING THE SAME}

본 발명은 사용자 이미지에 기반하여 사용자의 집중력을 판단하는 방법 및 이를 수행하는 운영 서버에 관한 것이다.The present invention relates to a method of determining a user's concentration based on a user image and an operating server that performs the same.

사람은 살아가면서 다양한 지식 및 기술들을 습득하게 되며, 습득된 지식 및 기술들은 그 사람의 직업, 소득, 지능 등 다양한 후천적 성과들을 결정하는 데 큰 영향을 미치게 된다. 이러한 지식 및 기술의 습득을 효과적으로 하기 위해서는 학습 과정 동안에 상당한 집중력을 유지할 것이 요구된다. 그러나, 이러한 집중력은 직접적으로 측정이 어렵기에 학습자 본인은 자신이 집중력을 발휘하는지에 대한 객관적인 지표를 얻을 수 있는 문제가 있어, 학습자의 집중력을 수치화할 수 있는 방법이 요구된다.As people live, they acquire various knowledge and skills, and the acquired knowledge and skills have a great influence in determining various acquired outcomes such as a person's occupation, income, and intelligence. In order to effectively acquire such knowledge and skills, it is necessary to maintain considerable concentration during the learning process. However, since this concentration is difficult to measure directly, there is a problem in which the learner can obtain objective indicators of whether he or she is concentrating, and a method that can quantify the learner's concentration is required.

특히, 과학기술의 발달로 인해 비대면으로 학습이 진행되는 경우가 잦아지고 있는데, 비대면으로 학습을 진행하는 경우 감독자가 학습자의 집중력 정도를 판단할 수단이 없는 문제가 있다.In particular, due to the development of science and technology, cases where learning is conducted non-face-to-face are becoming more frequent. When learning is conducted non-face-to-face, there is a problem in that supervisors do not have the means to judge the learner's level of concentration.

상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 사용자 이미지에 기반하여 사용자의 집중력을 판단하는 방법 및 이를 수행하는 운영 서버를 제공하는데 있다. The purpose of the present invention to solve the above problems is to provide a method for determining a user's concentration based on a user image and an operating server that performs the same.

상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은, 본 문서를 통해 직접적 또는 간접적으로 파악되는 목적들을 추가로 제공할 수 있다.Other purposes of the present invention to solve the above problems can additionally provide purposes that are directly or indirectly identified through this document.

상기 목적을 달성하기 위한 본 발명의 일 측면은, 사용자 이미지에 기반하여 사용자의 집중력을 스코어링하는 방법 및 이를 수행하는 운영 서버를 제공한다.One aspect of the present invention for achieving the above object provides a method of scoring a user's concentration based on a user image and an operating server that performs the same.

상기 집중력 스코어링 방법을 수행하는 운영 서버는, 적어도 하나의 프로세서(processor); 및 상기 적어도 하나의 프로세서가 적어도 하나의 동작(operation)을 수행하도록 지시하는 명령어들(instructions)을 저장하는 메모리(memory)를 포함하고, 상기 적어도 하나의 동작은, 사용자를 촬영한 사용자 이미지를 획득하는 동작; 상기 사용자 이미지로부터 상기 사용자의 머리에 대한 수평 방향 움직임 각도와 수직 방향 움직임 각도를 결정하고, 상기 수평 방향 움직임 각도와 상기 수직 방향 움직임 각도를 이용하여 머리 움직임 점수를 산출하는 동작;상기 사용자 이미지로부터 상기 사용자의 시선 방향을 지시하는 시선 벡터를 결정하고, 결정된 상기 시선 벡터를 이용하여 상기 사용자의 시선 움직임 점수를 산출하는 동작; 상기 사용자 이미지로부터 상기 사용자의 눈을 식별하고, 식별된 상기 사용자의 눈을 이용하여 눈감김 점수를 산출하는 동작; 상기 머리 움직임 점수, 상기 시선 움직임 점수, 및 상기 눈감김 점수를 이용하여 입력 데이터를 생성하는 동작; 상기 입력 데이터를 미리 지도학습된 딥러닝 기반의 스코어링 학습 모델에 입력하는 동작; 및 상기 스코어링 학습 모델의 출력으로 집중력 점수를 획득하는 동작;을 포함한다.The operating server that performs the concentration scoring method includes at least one processor; and a memory that stores instructions that instruct the at least one processor to perform at least one operation, wherein the at least one operation is to acquire a user image of the user. action; An operation of determining a horizontal movement angle and a vertical movement angle of the user's head from the user image, and calculating a head movement score using the horizontal movement angle and the vertical movement angle; Determining a gaze vector indicating the user's gaze direction and calculating a gaze movement score of the user using the determined gaze vector; Identifying the user's eyes from the user image and calculating an eye closure score using the identified eyes of the user; Generating input data using the head movement score, the eye movement score, and the eye closure score; Inputting the input data into a previously supervised deep learning-based scoring learning model; and an operation of obtaining a concentration score as an output of the scoring learning model.

본 문서에 개시되는 다양한 실시 예들에 따르면, 사용자를 촬영한 사용자 이미지에 기반하여 사용자의 집중력을 판단함으로써, 집중력에 따른 스코어링이 가능하며, 집중력에 따른 스코어링을 통해 사용자 진단을 효율적으로 할 수 있는 효과가 있다.According to various embodiments disclosed in this document, by determining the user's concentration based on the user image taken of the user, scoring according to concentration is possible, and the effect of efficiently diagnosing the user through scoring according to concentration There is.

또한, 본 문서에 개시되는 다양한 실시 예들에 따르면, 낮은 비용 및 리소스로 사용자의 집중력을 높은 신뢰도로 신속히 정량화할 수 있는 효과가 있다.In addition, according to various embodiments disclosed in this document, there is an effect of quickly quantifying the user's concentration with high reliability at low cost and resources.

도 1은 일 실시예에 따른 사용자의 집중력을 판단하는 집중력 스코어링 시스템을 나타낸다.
도 2는 본 발명의 실시 예들에 따른 집중력 스코어링 과정을 설명하기 위한 도면이다.
도 3은 본 발명의 실시 예들에 따른 운영 서버를 나타낸다.
도 4는 본 발명의 실시 예들에 따른 머리 움직임 점수를 산출하는 과정을 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 사용자 이미지에서 머리 움직임 점수를 나타내기 위한 제1 내지 제3 머리 벡터를 도시하고, 시선 방향을 나타내는 시선 벡터를 도시한 것이다.
도 6은 본 발명의 실시 예들에 따른 시선 움직임 점수를 산출하는 과정을 설명하기 위한 도면이다.
도 7은 일 실시예에 따른 시선 움직임 점수를 산출하는 기준을 설명하기 위한 그래프이다.
도 8은 본 발명의 실시 예들에 따른 눈감김 점수를 산출하는 과정을 설명하기 위한 도면이다.
도 9는 본 발명의 실시 예들에 따른 집중력 스코어링 방법을 설명하기 위한 도면이다.
도 10은 본 발명의 실시 예들에 따른 스코어링 학습 모델을 미리 지도학습하는 과정을 설명하기 위한 도면이다.
도 11은 본 발명의 실시 예들에 따른 운영 서버의 하드웨어 구성을 예시적으로 나타낸 도면이다.
Figure 1 shows a concentration scoring system for determining a user's concentration according to an embodiment.
Figure 2 is a diagram for explaining a concentration scoring process according to embodiments of the present invention.
Figure 3 shows an operating server according to embodiments of the present invention.
Figure 4 is a diagram for explaining the process of calculating head movement scores according to embodiments of the present invention.
FIG. 5 illustrates first to third head vectors for representing head movement scores in a user image according to an embodiment, and a gaze vector representing a gaze direction.
Figure 6 is a diagram for explaining the process of calculating eye movement scores according to embodiments of the present invention.
Figure 7 is a graph for explaining the criteria for calculating eye movement scores according to an embodiment.
Figure 8 is a diagram for explaining the process of calculating blindness scores according to embodiments of the present invention.
Figure 9 is a diagram for explaining a concentration scoring method according to embodiments of the present invention.
Figure 10 is a diagram for explaining a process of pre-supervised learning of a scoring learning model according to embodiments of the present invention.
Figure 11 is a diagram illustrating the hardware configuration of an operating server according to embodiments of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. Since the present invention can make various changes and have various embodiments, specific embodiments will be illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the present invention to specific embodiments, and should be understood to include all changes, equivalents, and substitutes included in the spirit and technical scope of the present invention. While describing each drawing, similar reference numerals are used for similar components.

제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다. Terms such as first, second, A, and B may be used to describe various components, but the components should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another. For example, a first component may be named a second component, and similarly, the second component may also be named a first component without departing from the scope of the present invention. The term and/or includes any of a plurality of related stated items or a combination of a plurality of related stated items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. When a component is said to be "connected" or "connected" to another component, it is understood that it may be directly connected to or connected to the other component, but that other components may exist in between. It should be. On the other hand, when it is mentioned that a component is “directly connected” or “directly connected” to another component, it should be understood that there are no other components in between.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in this application are only used to describe specific embodiments and are not intended to limit the invention. Singular expressions include plural expressions unless the context clearly dictates otherwise. In this application, terms such as “comprise” or “have” are intended to designate the presence of features, numbers, steps, operations, components, parts, or combinations thereof described in the specification, but are not intended to indicate the presence of one or more other features. It should be understood that this does not exclude in advance the possibility of the existence or addition of elements, numbers, steps, operations, components, parts, or combinations thereof.

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

이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the attached drawings.

도 1은 일 실시예에 따른 사용자의 집중력을 판단하는 집중력 스코어링 시스템을 나타낸다. 도 1을 참조하면, 집중력 스코어링 시스템(10)은 사용자(또는, 학습자; USER)의 학습 중의 모습을 촬영한 사용자 이미지를 이용하여, 사용자(USER)의 집중력을 나타내는 집중력 점수를 산출할 수 있다(즉, 스코어링할 수 있다). 이 때, 사용자 이미지는 사용자(USER)의 학습 시 사용자(USER)의 정면 모습을 촬영한 이미지일 수 있다.Figure 1 shows a concentration scoring system for determining a user's concentration according to an embodiment. Referring to FIG. 1, the concentration scoring system 10 can calculate a concentration score indicating the concentration of the user (USER) using a user image captured while the user (or learner; USER) is learning ( That is, it can be scored). At this time, the user image may be an image taken of the front view of the user (USER) when the user (USER) is learning.

집중력 스코어링 시스템(10)은 운영 서버(100), 카메라(200) 및 데이터 베이스(300)를 포함할 수 있다.The concentration scoring system 10 may include an operation server 100, a camera 200, and a database 300.

카메라(200)는 사용자(USER)의 모습을 촬영하고, 촬영 결과에 따라 사용자 이미지를 생성할 수 있다. 실시 예들에 따라, 카메라(200)는 학습중인 사용자(USER)의 모습을 촬영하여 사용자 이미지를 생성할 수 있다. 예컨대, 카메라(200)는 촬상 소자를 포함하는 전자 장치일 수 있다.The camera 200 can capture a user's appearance and create a user image according to the photographing results. Depending on embodiments, the camera 200 may capture a user (USER) in training to create a user image. For example, the camera 200 may be an electronic device including an imaging device.

한편, 본 명세서에서 카메라(200)라 함은, 일반적인 카메라 이외에, 촬상 소자를 포함하여 이미지를 생성할 수 있는 임의의 장치를 통칭할 수 있고, 예를 들어, 카메라를 탑재한 모바일 디바이스(예컨대, 스마트폰 또는 태블릿 PC)를 포함한다.Meanwhile, in this specification, the camera 200 may refer to any device capable of generating images including an imaging device in addition to a general camera, for example, a mobile device equipped with a camera (e.g., Smartphone or tablet PC).

운영 서버(100)는 본 발명의 실시 예들에 따른 집중력 스코어링 방법을 수행할 수 있다. 운영 서버(100)는 카메라(200)로부터 사용자 이미지를 수신하고, 수신된 사용자 이미지를 이용하여 사용자(USER)의 집중력을 나타내는 집중력 점수를 산출할 수 있다.The operation server 100 may perform a concentration scoring method according to embodiments of the present invention. The operation server 100 may receive a user image from the camera 200 and calculate a concentration score indicating the user's concentration using the received user image.

실시 예들에 따라, 운영 서버(100)는 딥러닝 기반의 집중력 스코어링 학습 모델(107a)에 기초하여, 사용자 이미지로부터 사용자(USER)의 집중력 정도를 정량화하여 집중력 점수를 산출할 수 있다. 예를 들어, 운영 서버(100)는 사용자 이미지로부터 사용자(USER)의 머리 움직임 및 시선 움직임을 결정하고, 머리 움직임 및 시선 움직임을 스코어링 학습 모델(107a)에 입력하고, 스코어링 학습 모델(107a)의 출력에 기초하여 사용자(USER)가 현재 집중하고 있는 정도를 나타내는 집중력 점수를 산출할 수 있다.According to embodiments, the operation server 100 may calculate the concentration score by quantifying the degree of concentration of the user (USER) from the user image, based on the deep learning-based concentration scoring learning model 107a. For example, the operation server 100 determines the head movement and eye movement of the user (USER) from the user image, inputs the head movement and eye movement into the scoring learning model 107a, and Based on the output, a concentration score indicating the degree to which the user is currently concentrating can be calculated.

데이터베이스(300)는 집중력 스코어링 시스템(10)을 운영하기 위한 데이터를 저장할 수 있다. 실시 예들에 따라, 데이터베이스(300)는 운영 서버(100)가 사용자(USER)의 집중력을 스코어링하기 위해 필요한 데이터들을 저장할 수 있다. 예컨대, 데이터베이스(300)는 딥러닝 기반의 집중력 스코어링 학습 모델(107a)의 학습을 위한 데이터(예컨대, 학습 데이터)를 저장해둘 수 있다. The database 300 may store data for operating the concentration scoring system 10. Depending on embodiments, the database 300 may store data necessary for the operation server 100 to score the concentration of the user (USER). For example, the database 300 may store data (eg, learning data) for learning the deep learning-based concentration scoring learning model 107a.

예를 들어, 데이터베이스(200)는 미리 조사된 표본 사용자들의 머리 움직임 및 시선 움직임과 관련된 데이터 및 기준 집중력 점수 데이터를 포함할 수 있다. 이 때, 기준 집중력 점수 데이터는 표본 사용자들의 집중 상태(예를 들어, 학습중인 상태)에서 측정된 뇌파 신호들에 기초하여 결정될 수 있다. 이에 대해서는 후술하도록 한다.For example, the database 200 may include data related to head movements and eye movements of sample users surveyed in advance, and standard concentration score data. At this time, the standard concentration score data may be determined based on EEG signals measured in the concentration state (eg, learning state) of the sample users. This will be described later.

도 2는 본 발명의 실시 예들에 따른 집중력 스코어링 과정을 설명하기 위한 도면이다. Figure 2 is a diagram for explaining a concentration scoring process according to embodiments of the present invention.

도 2를 참조하면, 집중력 스코어링 시스템(10)은 사용자(USER)의 학습물(MAT)에 대한 학습 중의 집중력을 스코어링하여 집중력 점수를 산출할 수 있다.Referring to FIG. 2, the concentration scoring system 10 can calculate a concentration score by scoring the user's concentration while learning about the learning material (MAT).

집중력 스코어링 시스템(10)은 사용자(USER)를 촬영한 사용자 이미지(IMG)로부터 사용자의 머리 움직임을 측정하고, 측정된 머리 움직임의 정도를 나타내는 머리 움직임 점수(HMVS)를 산출할 수 있다. 여기서, 사용자 이미지(IMG)는 학습물(MAT)을 학습 중인 사용자(USER)의 정면을 미리 설정된 시간동안 촬영하여 얻어지는 이미지 프레임들 또는 이미지 프레임들로 구성되는 동영상일 수 있다.The concentration scoring system 10 can measure the user's head movement from the user image (IMG) captured by the user (USER) and calculate a head movement score (HMVS) indicating the degree of the measured head movement. Here, the user image (IMG) may be image frames obtained by photographing the front of a user (USER) learning the learning material (MAT) for a preset time, or a video composed of image frames.

또한, 집중력 스코어링 시스템(10)은 사용자의 시선 움직임을 측정하고, 측정된 시선 움직임의 정도를 나타내는 시선 움직임 점수(EMVS)를 계산한다. Additionally, the concentration scoring system 10 measures the user's eye movement and calculates an eye movement score (EMVS) indicating the degree of the measured eye movement.

또한, 집중력 스코어링 시스템(10)은 사용자의 눈감김을 측정하고, 측정된 눈감김의 정도를 나타내는 눈감김 점수(EBS)를 산출할 수 있다. 이후, 집중력 스코어링 시스템(10)은 머리 움직임 점수(HMVS), 시선 움직임 점수(EMVS), 및 눈감김 점수(EBS)를집중력 스코어링 학습 모델(107a)에 입력하고, 집중력 스코어링 학습 모델(107a)의 출력에 기초하여 사용자(USER)의 집중력 점수를 산출할 수 있다.Additionally, the concentration scoring system 10 can measure the user's eye closure and calculate an eye closure score (EBS) indicating the measured degree of eye closure. Afterwards, the concentration scoring system 10 inputs the head movement score (HMVS), eye movement score (EMVS), and eye closure score (EBS) into the concentration scoring learning model 107a, and the concentration scoring learning model 107a. Based on the output, the user's concentration score can be calculated.

구체적으로, 본 발명의 실시 예들에 따른 집중력 스코어링 시스템(10)은 사용자(USER)의 집중력이 떨어진 상태와 연관된 사용자(USER)의 움직임을 이용하여 집중력 점수를 산출할 수 있다. Specifically, the concentration scoring system 10 according to embodiments of the present invention may calculate a concentration score by using the user's (USER's) movement associated with the user's (USER's) decreased concentration state.

사용자(USER)가 집중력을 할 때 나타나는 행동들은 사용자(USER) 마다 다를 수 있어 경향성 있게 지표화하기 힘든 반면, 사용자(USER)가 집중을 하지 못하는 경우에는 보통 좌우를 두리번 거리거나(머리 움직임 데이터), 또는, 오랜 시간 동안 특정한 부분을 응시(시선 움직임 데이터)하게 된다. 따라서, 본 발명의 실시 예들에 따르면 사용자(USER)가 집중하지 못하는 상황과 연관된 사용자(USER)의 동작을 나타내는 움직임들을 이용하여 집중력 점수를 산출할 수 있어, 보다 정확한 집중력 스코어링이 가능한 장점이 있다.Behaviors that occur when a user (USER) concentrates may vary from user to user, making it difficult to index them in a trendy manner. On the other hand, when a user (USER) is unable to concentrate, they usually look left and right (head movement data), Or, you may stare at a specific part for a long time (eye movement data). Therefore, according to embodiments of the present invention, the concentration score can be calculated using movements representing the user's (USER's) actions related to a situation in which the user (USER) is unable to concentrate, which has the advantage of enabling more accurate concentration scoring.

도 3은 본 발명의 실시 예들에 따른 운영 서버를 나타낸다. Figure 3 shows an operating server according to embodiments of the present invention.

도 3을 참조하면, 운영 서버(100)는 데이터 수집부(101), 머리 움직임 산출부(103), 시선 움직임 산출부(105) 및 집중력 점수 산출부(107)를 포함할 수 있다. 한편, 도 3에 도시된 각 구성들(101, 103, 105, 107)은 본 발명의 실시 예들에 따른 운영 서버(100)의 기능적 구성요소들을 나타내며, 각 구성들(101, 103, 105, 107) 중 적어도 하나는 메모리 및 상기 메모리에 저장된 명령어들을 실행함으로써 소정의 연산을 수행하도록 구성되는 프로세서로 구현될 수 있다. Referring to FIG. 3, the operation server 100 may include a data collection unit 101, a head movement calculation unit 103, an eye movement calculation unit 105, and a concentration score calculation unit 107. Meanwhile, each of the components 101, 103, 105, and 107 shown in FIG. 3 represents functional components of the operation server 100 according to embodiments of the present invention, and each of the components 101, 103, 105, and 107 ), at least one of which may be implemented as a memory and a processor configured to perform a predetermined operation by executing instructions stored in the memory.

이미지 수집부(101)는 카메라(200)를 이용하여 사용자(USER)를 촬영한 사용자 이미지(IMG)를 획득할 수 있다. 일 실시예에서, 카메라(200)와의 유선 또는 무선 네트워크를 이용한 통신을 통해 사용자 이미지(IMG)를 실시간으로 수집하여 획득할 수도 있고, 별도의 방법으로 수집된 사용자 이미지(IMG)를 관리자의 입력에 의해 입력받는 방식으로 획득할 수도 있다. 사용자 이미지(IMG)는 사용자(USER)의 머리 및 시선의 움직임이 잘 식별될 수 있는 이미지로서, 예를 들어, 사용자(USER)를 정면에서 촬영한 이미지일 수 있으나, 이에 한정되는 것은 아니다. 또한, 이미지 수집부(101)는 데이터베이스(200)로부터 표본 사용자의 사용자 이미지를 학습 데이터로서 수신할 수도 있다. The image collection unit 101 may acquire a user image (IMG) of a user (USER) using the camera 200. In one embodiment, the user image (IMG) may be collected and acquired in real time through communication using a wired or wireless network with the camera 200, and the user image (IMG) collected in a separate method may be input to the administrator. It can also be obtained by receiving input. The user image (IMG) is an image in which the user's (USER's) head and eye movements can be clearly identified. For example, the user image (IMG) may be an image taken from the front of the user (USER), but is not limited thereto. Additionally, the image collection unit 101 may receive a user image of a sample user from the database 200 as learning data.

이를 위해, 데이터 수집부(101)는 카메라(200)와 유선 또는 무선 네트워크를 통해 통신함으로써 사용자 이미지를 수신할 수 있다. 또한, 데이터 수집부(101)는 데이터베이스(200)에 액세스하여, 데이터베이스(200)에 저장된 표본 사용자의 사용자 이미지를 수집할 수 있다.To this end, the data collection unit 101 can receive user images by communicating with the camera 200 over a wired or wireless network. Additionally, the data collection unit 101 may access the database 200 and collect user images of sample users stored in the database 200.

머리 움직임 산출부(103)는 사용자 이미지를 분석하여, 사용자 이미지로부터 사용자(USER)의 머리 움직임을 나타내는 머리 움직임 데이터를 생성할 수 있다. 실시 예들에 따라, 머리 움직임 산출부(103)는 사용자 이미지로부터 사용자(USER)의 머리의 수평방향 움직임, 예컨대, '도리도리'하는 움직임(yaw), 수직 방향 움직임, 예컨대, '끄덕끄덕'하는 움직임(pitch) 및 머리의 회전 움직임, 예컨대, '갸우뚱' 하는 움직임(roll)을 결정하고, 이로부터 머리 움직임 점수(HMVS)를 산출할 수 있다. 이에 대해서는 후술한다.The head movement calculation unit 103 may analyze the user image and generate head movement data representing the user's head movement from the user image. Depending on the embodiment, the head motion calculation unit 103 may detect a horizontal movement of the user's head from the user image, such as a 'yaw' movement, or a vertical movement, such as a 'nodding' movement. (pitch) and rotational movement of the head, for example, a 'tilting' movement (roll), can be determined, and a head movement score (HMVS) can be calculated from this. This will be described later.

시선 움직임 산출부(105)는 사용자 이미지(IMG)를 분석하여, 사용자 이미지(IMG)로부터 사용자(USER)의 시선 움직임을 결정하고, 결정된 시선 움직임을 나타내는 시선 움직임 점수(EMVS)를 산출할 수 있다. 실시 예들에 따라, 시선 움직임 산출부(105)는 사용자 이미지로부터 사용자(USER)의 눈의 안구(eyeball) 및 홍채(iris)의 위치를 결정하고, 결정된 안구와 홍채의 상대적 위치를 분석함으로써 시선 움직임을 결정할 수 있다.The eye movement calculation unit 105 may analyze the user image (IMG), determine the eye movement of the user (USER) from the user image (IMG), and calculate an eye movement score (EMVS) representing the determined eye movement. . According to embodiments, the gaze movement calculation unit 105 determines the positions of the eyeball and iris of the user's eye from the user image, and moves the gaze by analyzing the relative positions of the determined eyeball and iris. can be decided.

또한, 시선 움직임 산출부(105)는 사용자 이미지를 분석하여, 사용자 이미지로부터 사용자(USER)의 눈감김 정도를 산출할 수 있다. 실시 예들에 따라, 시선 움직임 산출부(105)는 사용자 이미지로부터 사용자(USER)의 눈의 윤곽선 상에 위치한 복수의 랜드마크 지점들을 결정하고, 결정된 랜드마크 지점들의 거리를 비교함으로써 눈감김(EAR)의 정도를 결정하고, 결정된 눈감김의 정도에 기초하여 눈감김 점수(EBS)를 산출할 수 있다.Additionally, the eye movement calculation unit 105 may analyze the user image and calculate the degree of eye closure of the user (USER) from the user image. According to embodiments, the eye movement calculation unit 105 determines a plurality of landmark points located on the outline of the user's eyes from the user image, and compares the distances of the determined landmark points to determine eye closure (EAR). The degree of blindness can be determined, and an blindness score (EBS) can be calculated based on the determined degree of blindness.

집중력 점수 산출부(107)는 산출된 점수들을 이용하여 사용자(USER)의 집중력 정도를 나타내는 집중력 점수를 계산할 수 있다. 실시 예들에 따라, 집중력 점수 산출부(107)는 학습된 딥 러닝 기반의 집중력 스코어링 학습 모델(107a)에, 산출된 머리 움직임 점수(HMVS), 시선 움직임 점수(EMVS) 및 눈감김 점수(EBS)를 입력함으로써 사용자(USER)의 집중력 점수(FS)를 출력으로서 획득할 수 있다. 이에 대해서는 상술한다.The concentration score calculation unit 107 may use the calculated scores to calculate a concentration score indicating the user's degree of concentration. According to embodiments, the concentration score calculation unit 107 uses the learned deep learning-based concentration scoring learning model 107a to calculate the head movement score (HMVS), eye movement score (EMVS), and eye closure score (EBS). By entering , the user's concentration score (FS) can be obtained as output. This will be described in detail.

도 4는 본 발명의 실시 예들에 따른 머리 움직임 점수를 산출하는 과정을 설명하기 위한 도면이다. 도 5는 일 실시예에 따른 사용자 이미지에서 머리 움직임 점수를 나타내기 위한 제1 내지 제3 머리 벡터를 도시하고, 시선 방향을 나타내는 시선 벡터를 도시한 것이다.Figure 4 is a diagram for explaining the process of calculating head movement scores according to embodiments of the present invention. FIG. 5 illustrates first to third head vectors for representing head movement scores in a user image according to an embodiment, and a gaze vector representing a gaze direction.

도 4를 참조하면, 사용자(USER)의 머리의 움직임은 머리의 수평방향 움직임 각도(yaw), 수직 방향 움직임 각도(pitch), 및 머리의 회전 움직임 각도(roll)로 표현될 수 있다. 이들 움직임들 중, 수평방향 움직임 각도(yaw)와 수직 방향 움직임 각도(pitch)는 각각 이른바 '도리도리' 동작과 '끄덕끄덕' 동작에 해당하고, 이는 학습과정에서 학습물을 이해하기 위해 집중도가 높았을 때 나타나는 동작으로서 집중도를 판단하는 지표가 되나, 회전 움직임 각도(roll)는 일종의 갸우뚱한 동작으로서 집중도가 낮을 때 뿐만 아니라 집중도가 높을 때도 나타나기 때문에 집중도 판단에 방해가 되는 요소가 될 수 있다. 따라서, 사용자(USER)의 집중도와 연관성이 상대적으로 큰 움직임을 머리의 수평방향 움직임(yaw) 및 수직 방향 움직임(pitch) 2가지로 선정하고, 회전 움직임 각도(roll)는 집중도 판단에서 배제하였다.Referring to FIG. 4, the movement of the user's head may be expressed as a horizontal movement angle of the head (yaw), a vertical movement angle (pitch), and a rotational movement angle of the head (roll). Among these movements, the horizontal movement angle (yaw) and the vertical movement angle (pitch) correspond to the so-called 'dori-dori' movement and 'nodding' movement, respectively, which require high concentration in order to understand the learning material during the learning process. It is a movement that appears when the concentration is high and is an indicator of concentration, but the rotational movement angle (roll) is a kind of tilting movement that appears not only when the concentration is low but also when the concentration is high, so it can be a factor that interferes with the judgment of concentration. Therefore, the horizontal movement of the head (yaw) and the vertical movement (pitch) of the head were selected as two movements that had a relatively high correlation with the user's concentration, and the rotational movement angle (roll) was excluded from the judgment of concentration.

따라서, 일 실시예에 따른 머리 움직임 산출부(103)는 사용자 이미지로부터 사용자(USER)의 머리의 수평방향 움직임 각도(yaw) 및 수직 방향 움직임 각도(pitch)를 산출하고, 수평방향 움직임 각도(yaw)와 수직 방향 움직임 각도(pitch)를 이용하여 머리 움직임 데이터를 생성할 수 있다. Therefore, the head movement calculation unit 103 according to one embodiment calculates the horizontal movement angle (yaw) and the vertical movement angle (pitch) of the user's head from the user image, and the horizontal movement angle (yaw) ) and the vertical movement angle (pitch) can be used to generate head movement data.

도 5를 참조하면, 사용자 이미지(IMG)에서 사용자의 머리 움직임을 표현하기 위하여 머리의 수평방향 움직임의 중심축을 나타내는 제1 머리 벡터(HV1), 머리의 수직방향 움직임의 중심축을 나타내는 제2 머리 벡터(HV2), 제1 머리 벡터(HV1)와 제2 머리 벡터(HV2)에 동시에 수직한 제3 머리 벡터(HV3)를 확인할 수 있다. 여기서, 제1 머리 벡터(HV1)와 제2 머리 벡터(HV2)의 회전각(radius)을 단위 시간 간격으로 측정함으로써 수평방향 움직임 각도(yaw)와 수평방향 움직임 각도(pitch)를 획득할 수 있다.Referring to FIG. 5, in order to express the user's head movement in the user image (IMG), a first head vector (HV1) representing the central axis of the horizontal movement of the head, and a second head vector representing the central axis of the vertical movement of the head (HV2), the third head vector (HV3) can be confirmed simultaneously perpendicular to the first head vector (HV1) and the second head vector (HV2). Here, the horizontal movement angle (yaw) and the horizontal movement angle (pitch) can be obtained by measuring the rotation angle (radius) of the first head vector (HV1) and the second head vector (HV2) at unit time intervals. .

또한, 도 5를 참조하면, 사용자 이미지(IMG)에서 사용자의 시선 움직임을 표현하기 위하여 사용자의 눈과 홍채의 위치를 각각 결정하고, 눈과 홍채의 위치 사이의 상대적 위치를 이용하여 현재의 시선 방향을 나타내는 시선 벡터(EV)를 도시한 것을 확인할 수 있다.In addition, referring to FIG. 5, in order to express the user's gaze movement in the user image (IMG), the positions of the user's eyes and iris are determined, respectively, and the relative position between the positions of the eyes and the iris is used to determine the current gaze direction. It can be seen that the gaze vector (EV) representing is shown.

구체적으로, 머리 움직임 산출부(103)는 머리의 수평방향 움직임의 중심축을 나타내는 제1 머리 벡터(HV1)와 머리의 수직방향 움직임의 중심축을 나타내는 제2 머리 벡터(HV2)를 사용자 이미지에서 결정하고, 결정된 제1 머리 벡터(HV1)와 제2 머리 벡터(HV2) 각각이 단위 시간(예를 들어 15초)동안 이동하는 각도를 측정함으로써, 수평방향 움직임 각도(yaw)와 수직 방향 움직임 각도(pitch)를 결정할 수 있다. Specifically, the head motion calculation unit 103 determines a first head vector (HV1) representing the central axis of horizontal movement of the head and a second head vector (HV2) representing the central axis of vertical movement of the head from the user image, , By measuring the angle through which each of the determined first head vector (HV1) and second head vector (HV2) moves during unit time (for example, 15 seconds), the horizontal movement angle (yaw) and the vertical movement angle (pitch) ) can be determined.

예를 들어, 단위 시간 내에서 제1 시점과 제2 시점 사이의 머리의 수평방향 움직임 각도(yaw)와 머리의 수직방향 움직임 각도(pitch)는 다음과 같이 결정될 수 있다. 먼저, 제1 시점에서 제1 머리 벡터(HV1), 제2 머리 벡터(HV2), 및 제3 머리 벡터(HV3)를 획득하고, 제2 머리 벡터(HV2)와 제3 머리 벡터(HV3)를 포함하는 가상의 기준 수평좌표평면과 제1 머리 벡터(HV1)와 제2 머리 벡터(HV2)를 포함하는 가상의 기준 수직좌표평면을 정의한다. 다음으로, 제2 시점에서 제1 머리 벡터(HV1), 제2 머리 벡터(HV2), 및 제3 머리 벡터(HV3)를 획득한다. 다음으로, 제2 시점에서 획득된 제2 머리 벡터(HV2)를 앞서 제1 시점에서 정의한 기준 수평좌표평면에 투영(projection)하여 투영된 제2 머리 벡터(HV2)를 획득하고, 제2 시점에서의 투영된 제2 머리 벡터(HV2)와 제1 시점에서 획득한 제2 머리 벡터(HV2) 사이의 사이각을 제1 시점과 제2 시점 사이의 머리에 대한 수평방향 움직임 각도(yaw)로서 결정할 수 있다.For example, the horizontal movement angle (yaw) of the head and the vertical movement angle (pitch) of the head between the first and second viewpoints within a unit of time may be determined as follows. First, the first head vector (HV1), the second head vector (HV2), and the third head vector (HV3) are obtained at the first time point, and the second head vector (HV2) and the third head vector (HV3) are obtained. A virtual reference horizontal coordinate plane including a first head vector (HV1) and a second head vector (HV2) is defined. Next, the first head vector (HV1), the second head vector (HV2), and the third head vector (HV3) are obtained at the second time point. Next, the second head vector (HV2) obtained at the second viewpoint is projected onto the reference horizontal coordinate plane previously defined at the first viewpoint to obtain the projected second head vector (HV2), and at the second viewpoint The angle between the projected second head vector (HV2) and the second head vector (HV2) obtained at the first viewpoint is determined as the horizontal movement angle (yaw) for the head between the first viewpoint and the second viewpoint. You can.

또한, 제2 시점에서 획득된 제1 머리 벡터(HV1)를 앞서 제1 시점에서 정의한 기준 수직좌표평면에 투영(projection)하여 투영된 제1 머리 벡터(HV1)를 획득하고, 제2 시점에서의 투영된 제1 머리 벡터(HV1)와 제1 시점에서 획득한 제1 머리 벡터(HV1) 사이의 사이각을 제1 시점과 제2 시점 사이의 머리에 대한 수직방향 움직임 각도(pitch)로서 결정할 수 있다.In addition, the first head vector (HV1) obtained at the second viewpoint is projected onto the reference vertical coordinate plane previously defined at the first viewpoint to obtain the projected first head vector (HV1), and the projected first head vector (HV1) is obtained at the second viewpoint. The angle between the projected first head vector (HV1) and the first head vector (HV1) obtained at the first viewpoint can be determined as the vertical movement angle (pitch) for the head between the first viewpoint and the second viewpoint. there is.

앞선 예시는 제1 시점에서 기준 수평좌표평면과 기준수직좌표평면을 정의하고 제2 시점에서 투영하는 것으로 설명하였으나, 제2 시점에서 기준 수평좌표평면과 기준수직좌표평면을 정의하고 제1 시점에서 투영하여 사이각을 비교하더라도 동일한 결과가 도출될 수 있다.The previous example was explained by defining the reference horizontal coordinate plane and reference vertical coordinate plane at the first viewpoint and projecting from the second viewpoint, but defining the reference horizontal coordinate plane and reference vertical coordinate plane at the second viewpoint and projecting from the first viewpoint. Therefore, the same results can be obtained even if the included angles are compared.

여기서, 제1 머리 벡터(HV1), 제2 머리 벡터(HV2), 및 제3 머리 벡터(HV3)는, 머리 움직임을 나타내는 벡터를 추정하기 위한 대표 논문(FSA-Net: Learning Fine-Grained Structure Aggregation for Head Pose Estimation from a Single Image, Tsun-Yi Yang, Yi-Ting Chen, Yen-Yu Lin, Yung-Yu Chuang, 1087-1096 pages, 2019, IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR))을 참조하여 통상의 기술자가 용이하게 재현할 수 있으므로 이에 관한 더 구체적인 설명은 생략한다.Here, the first head vector (HV1), the second head vector (HV2), and the third head vector (HV3) are representative papers for estimating vectors representing head movement (FSA-Net: Learning Fine-Grained Structure Aggregation for Head Pose Estimation from a Single Image, Tsun-Yi Yang, Yi-Ting Chen, Yen-Yu Lin, Yung-Yu Chuang, 1087-1096 pages, 2019, IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)) Since a person skilled in the art can easily reproduce this with reference, a more detailed description thereof will be omitted.

머리 움직임 산출부(103)는 소정의 시간 구간 동안의 사용자(USER)의 머리의 수평방향 움직임 각도(yaw)와 머리의 수직방향 움직임 각도(pitch)에 기초하여, 사용자(USER)의 머리 움직임의 정도를 나타내는 머리 움직임 점수를 산출할 수 있다. 실시 예들에 따라, 머리 움직임 점수는 사용자(USER)의 머리의 수평방향 움직임 각도(yaw) 및/또는 머리의 수직방향 움직임 각도(pitch)의 변화가 클수록 적게 산출될 수 있다.The head movement calculation unit 103 calculates the head movement of the user (USER) based on the horizontal movement angle (yaw) and the vertical movement angle (pitch) of the head of the user (USER) during a predetermined time period. A head movement score indicating the degree of movement can be calculated. Depending on embodiments, the head movement score may be calculated less as the change in the horizontal movement angle (yaw) and/or the vertical movement angle (pitch) of the user's head increases.

예를 들어, 머리 움직임 산출부(103)는 사용자 이미지로부터 15초 동안, 0.5초 간격으로 제1 내지 제3 머리 벡터들을 결정함으로써, 총 30개의 사용자(USER)의 제1 내지 제3 머리 벡터를 결정할 수 있다. 이 경우, 시간적으로 연속하는 30개의 제1 내지 제3 머리 벡터가 산출된다. 머리 움직임 산출부(103)는 이들 30개의 제1 내지 제3 머리 벡터들을 기반으로 전술한 머리의 수평방향 움직임 각도(yaw)와 머리의 수직방향 움직임 각도(pitch)를 결정하고, 이로부터 머리 움직임 점수를 결정할 수 있다.For example, the head motion calculation unit 103 determines the first to third head vectors from the user image at intervals of 0.5 seconds for 15 seconds, thereby determining the first to third head vectors of a total of 30 users (USER). You can decide. In this case, 30 temporally consecutive first to third head vectors are calculated. The head movement calculation unit 103 determines the above-described horizontal movement angle of the head (yaw) and the vertical movement angle of the head (pitch) based on these 30 first to third head vectors, and from these, head movement You can decide the score.

머리 움직임 산출부(103)는 아래 수학식 1에 따라 제1 머리 움직임 점수(HMVSy)를 결정할 수 있다. 예를 들어, 제1 머리 움직임 점수는 미리 지정된 시간 구간(예를 들어 15초) 동안 마다 하나씩 산출될 수 있다.The head movement calculation unit 103 may determine the first head movement score (HMVSy) according to Equation 1 below. For example, the first head movement score may be calculated one by one during a predetermined time period (eg, 15 seconds).

여기서, HMVSy는 머리의 수평방향 움직임 각도(yaw)를 이용하여 산출한 제1 머리 움직임 점수이고, HMVAymax는 해당 시간 구간(예를 들어 15초의 시간 구간)에서 머리의 수평방향 움직임 각도(yaw)의 최대값이고, HMVAref는 미리 설정된 임계 각도이고, rH는 미리 설정된 비례상수이다. 예를 들어, 임계 각도는 10도이고, 비례상수는 0.05일 수 있으나, 이에 한정되는 것은 아니다. 한편, 머리 움직임 산출부(103)는 0 미만의 제1 머리 움직임 점수에 대해서는 0으로 산출할 수 있다. 즉, 머리 움직임 점수는 0 이상일 수 있다.Here, HMVSy is the first head movement score calculated using the horizontal movement angle of the head (yaw), and HMVay max is the horizontal movement angle of the head (yaw) in the corresponding time interval (for example, a time interval of 15 seconds). is the maximum value, HMVA ref is a preset threshold angle, and r H is a preset proportionality constant. For example, the critical angle may be 10 degrees and the proportionality constant may be 0.05, but are not limited thereto. Meanwhile, the head motion calculation unit 103 may calculate the first head motion score of less than 0 as 0. That is, the head movement score may be 0 or more.

머리 움직임 산출부(103)는 아래 수학식 2에 따라 제2 머리 움직임 점수를 결정할 수 있다. 예를 들어, 제2 머리 움직임 점수(HMVSp)는 15초 동안 마다 하나씩 산출될 수 있다.The head movement calculation unit 103 may determine the second head movement score according to Equation 2 below. For example, the second head movement score (HMVSp) may be calculated once every 15 seconds.

여기서, HMVSp는 머리의 수직방향 움직임 각도(pitch)를 이용하여 산출한 제2 머리 움직임 점수이고, HMVApmax는 해당 시간 구간(예를 들어 15초의 시간 구간)에서 머리의 수직방향 움직임 각도(pitch)의 최대값이고, HMVAref는 미리 설정된 임계 각도이고, rH는 미리 설정된 비례상수이다. 예를 들어, 수학식 1과 마찬가지로 임계 각도는 10도이고, 비례상수는 0.05일 수 있으나, 이에 한정되는 것은 아니다. 한편, 머리 움직임 산출부(103)는 0 미만의 제2 머리 움직임 점수에 대해서는 0으로 산출할 수 있다. 즉, 제2 머리 움직임 점수는 0 이상일 수 있다.Here, HMVSp is the second head movement score calculated using the vertical movement angle (pitch) of the head, and HMVAp max is the vertical movement angle (pitch) of the head in the corresponding time interval (for example, a time interval of 15 seconds). is the maximum value, HMVA ref is a preset threshold angle, and r H is a preset proportionality constant. For example, as in Equation 1, the critical angle may be 10 degrees and the proportionality constant may be 0.05, but are not limited thereto. Meanwhile, the head motion calculation unit 103 may calculate the second head motion score of less than 0 as 0. That is, the second head movement score may be 0 or more.

머리 움직임 산출부(103)는 수학식 1에 따라 산출한 제1 머리 움직임 점수(HMVSy) 및 수학식 2에 따라 산출한 제2 머리 움직임 점수(HMVSp)를 합산하여 머리 움직임 점수(HMVS)를 산출할 수 있다.The head movement calculation unit 103 calculates the head movement score (HMVS) by adding the first head movement score (HMVSy) calculated according to Equation 1 and the second head movement score (HMVSp) calculated according to Equation 2. can do.

도 6은 본 발명의 실시 예들에 따른 시선 움직임 점수를 산출하는 과정을 설명하기 위한 도면이다. 도 5 및 도 6을 참조하면, 시선 움직임 산출부(105)는 사용자 이미지로부터 사용자의 눈(또는 안구)을 식별하고, 식별된 안구로부터 사용자(USER)의 시선을 나타내는 시선 벡터(EV)를 산출할 수 있다.Figure 6 is a diagram for explaining the process of calculating eye movement scores according to embodiments of the present invention. Referring to FIGS. 5 and 6, the eye movement calculation unit 105 identifies the user's eye (or eyeball) from the user image and calculates a gaze vector (EV) representing the user's (USER) gaze from the identified eyeball. can do.

시선 움직임 산출부(105)는 사용자 이미지로부터 사용자(USER)의 눈, 안구(EB) 및 홍채(IS)를 식별할 수 있다. 실시 예들에 따라, 시선 움직임 산출부(105)는 눈, 안구(EB) 및 홍채(IS)에 대응하는 특징점(즉, 랜드마크)을 결정할 수 있다. 이 때, 안구(EB)는 신체학적 개념으로, 실제 눈에 대응하는 구(sphere) 형상의 기관을 의미하며, 눈은 외관상으로 볼 때 눈으로 인식되는 부분(즉, 안구가 노출되어 있는 영역)을 의미한다. 또한, 위 특징점들은 해당 부분의 중심점 및 외곽선에 포함되는 특징점들을 포함한다.The gaze movement calculation unit 105 may identify the eyes, eyeballs (EB), and iris (IS) of the user (USER) from the user image. Depending on embodiments, the gaze movement calculation unit 105 may determine feature points (i.e., landmarks) corresponding to the eye, eyeball (EB), and iris (IS). At this time, the eyeball (EB) is a physical concept, meaning a sphere-shaped organ corresponding to the actual eye, and the eye is the part that is recognized as an eye when viewed externally (i.e., the area where the eyeball is exposed). means. Additionally, the above feature points include feature points included in the center point and outline of the corresponding part.

시선 움직임 산출부(105)는 눈을 나타내는 랜드마크, 안구(EB)의 중심 및 외곽을 나타내는 랜드마크 좌표들 및 홍채(IS)의 중심 및 외곽을 나타내는 랜드마크 좌표들을 결정할 수 있다. 이때 구체적인 활용예로, 오픈소스 라이브러리(MediaPipe)에서 제공하는 함수를 이용하면, 사용자 이미지에서 눈의 윤곽선과 홍채의 윤곽선을 구성하는 랜드마크 좌표들을 추출할 수 있다.The eye movement calculation unit 105 may determine a landmark representing the eye, landmark coordinates representing the center and outline of the eyeball (EB), and landmark coordinates representing the center and outline of the iris (IS). As a specific example of use at this time, by using the function provided by the open source library (MediaPipe), landmark coordinates that constitute the outline of the eye and iris can be extracted from the user image.

시선 움직임 산출부(105)는 눈, 안구(EB) 및 홍채(IS)에 대한 정보들을 이용하여 사용자(USER)의 시선을 나타내는 시선 벡터(EV)를 결정할 수 있다. The gaze movement calculation unit 105 may determine a gaze vector (EV) representing the gaze of the user (USER) using information about the eye, eyeball (EB), and iris (IS).

또한, 시선 움직임 산출부(105)는 눈의 윤곽선을 구성하는 랜드마크 좌표들을 서로 비교하여, 안구의 중심 좌표(uc, vc)를 결정할 수 있다. 예를 들어, 눈의 양쪽 끝점을 잇는 선 상에 있는 점들 중에서 윤곽선을 구성하는 좌표들의 좌우 대칭 중심점을 안구 중심좌표로서 추출하거나 눈의 윤곽선을 구성하는 좌표들(도 5에서와 같이 원에서 짤린 형상)을 이용해 눈으로 노출되지 않는 안구 전체의 형상을 추정하고 안구 전체의 형상으로부터), 눈의 정중앙(즉 안구의 중심점에 해당)을 나타내는 안구의 중심 좌표(uc, vc)를 결정할 수 있다. 일 실시예에서, 눈의 윤곽선을 구성하는 좌표들 중 일부(예를 들어 눈의 양쪽 끈점을 잇는 선을 기준으로 위쪽에 배치된 좌표들)를 이용해 안구의 곡률을 결정하고, 결정된 곡률을 이용해 안구 전체의 형상을 추정할 수 있다.Additionally, the eye movement calculation unit 105 may compare the landmark coordinates constituting the outline of the eye and determine the coordinates of the center of the eye (u c , v c ). For example, among the points on the line connecting both end points of the eye, the left-right symmetrical center point of the coordinates constituting the outline is extracted as the eye center coordinates, or the coordinates constituting the outline of the eye (a shape cut out of a circle as shown in Figure 5) are extracted as eye center coordinates. ) can be used to estimate the shape of the entire eyeball that is not exposed to the eye, and from the shape of the entire eyeball), the center coordinates of the eyeball (u c , v c ), which represent the exact center of the eye (i.e., corresponding to the center point of the eyeball), can be determined. . In one embodiment, the curvature of the eye is determined using some of the coordinates constituting the outline of the eye (for example, coordinates placed above the line connecting the two points of the eye), and the determined curvature is used to determine the curvature of the eye. The overall shape can be estimated.

또한, 시선 움직임 산출부(105)는 홍채의 윤곽선을 구성하는 좌표들의 중심좌표를 추정함으로써, 홍채의 중심 좌표(ui0, vi0)를 결정할 수 있다.Additionally, the eye movement calculation unit 105 may determine the center coordinates of the iris (u i0 , v i0 ) by estimating the center coordinates of the coordinates constituting the outline of the iris.

또한, 시선 움직임 산출부(105)는 사람의 안구 반지름에 대한 통계적인 분석 데이터를 이용하여 사용자의 안구 반지름을 추정하거나, 눈의 양쪽 끝점을 잇는 거리에 미리 설정된 가중치 계수를 곱하여 안구의 반지름을 추정하거나, 또는 앞서 추정한 안구의 형상으로부터 안구의 반지름(rEB)을 결정할 수 있다.In addition, the eye movement calculation unit 105 estimates the user's eye radius using statistical analysis data on the human eye radius, or estimates the eye radius by multiplying the distance between the two end points of the eye by a preset weight coefficient. Alternatively, the radius of the eyeball (r EB ) can be determined from the previously estimated shape of the eyeball.

실시 예들에 따라, 시선 움직임 산출부(105)는 홍채(IS)의 중심 좌표(ui0, vi0), 안구(EB)의 반지름(rEB) 및 안구(EB)의 중심 좌표(uc, vc)를 기초로 사용자가 현재 바라보는 시선 방향을 지시하는 시선 벡터(EV)의 수평 각도 및 수직 각도를 결정할 수 있다. 여기서, 수평 각도 및 수직 각도는 구형 좌표계에서의 각도로서, 오일러 각을 구성한다.According to embodiments, the gaze movement calculation unit 105 may include the center coordinates of the iris (IS) (u i0 , v i0 ), the radius of the eyeball (EB) (r EB ), and the center coordinates of the eyeball (EB) (u c , Based on v c ), the horizontal angle and vertical angle of the gaze vector (EV) indicating the user's current gaze direction can be determined. Here, the horizontal angle and vertical angle are angles in a spherical coordinate system and constitute Euler angles.

구체적으로, 사용자(USER)의 시선은 곧 홍채(IS)의 움직임과 직결되므로, 시선 움직임 산출부(105)는 시선 벡터(EV)의 수평 각도 및 수직 각도로, 기 산출된 홍채(IS)와 관련된 랜드마크 좌표들을 표현한 후, 랜드마크들의 정보로부터 역으로 시선 벡터(EV)의 수평 각도 및 수직 각도를 결정할 수 있다.Specifically, since the user's gaze is directly related to the movement of the iris (IS), the gaze movement calculation unit 105 calculates the previously calculated iris (IS) and the horizontal angle and vertical angle of the gaze vector (EV). After expressing the relevant landmark coordinates, the horizontal angle and vertical angle of the gaze vector (EV) can be determined inversely from the landmark information.

예를 들어, 시선 움직임 산출부(105)는 아래 수학식 2 내지 5의 해를 구함으로써, 시선 벡터의 수평 각도 및 수직 각도를 결정할 수 있다.For example, the gaze movement calculation unit 105 may determine the horizontal angle and vertical angle of the gaze vector by finding solutions to Equations 2 to 5 below.

여기서, (uc, vc)는 안구(EB)의 중심을 나타내는 랜드마크의 좌표, 즉, 중심 좌표이고, (ui0, vi0)는 홍채(IS)의 중심을 나타내는 랜드마크의 좌표, 즉, 중심 좌표이고, (uij, vij)(j=1, 2, ... N; N은 자연수)는 홍채(IS)의 각 윤곽선상에 위치한 랜드마크들의 좌표, 즉 외곽 좌표이고, rEB는 안구(EB)의 반지름이고, θ는 시선 벡터(EV)의 수평 각도이고, φ는 시선 벡터(EV)의 수직 각도이고, δ는 홍채(IS)의 안구(EB)에 대한 중심각(radius angle)이고, γ는 홍채(IS)의 각 외곽의 홍채(IS) 중심에 대한 편각(angular offset)이다.Here, (u c , v c ) are the coordinates of the landmark indicating the center of the eyeball (EB), that is, the central coordinates, (u i0 , v i0 ) are the coordinates of the landmark indicating the center of the iris (IS), That is, they are the central coordinates, and (u ij , v ij )(j=1, 2, ... N; N is a natural number) are the coordinates of landmarks located on each outline of the iris (IS), that is, the outer coordinates, r EB is the radius of the eyeball (EB), θ is the horizontal angle of the gaze vector (EV), ϕ is the vertical angle of the gaze vector (EV), and δ is the central angle of the iris (IS) to the eyeball (EB). radius angle), and γ is the angular offset of each outer edge of the iris (IS) with respect to the center of the iris (IS).

이 때, 수학식 2 내지 5는 총 4개의 수학식이고, 구하고자 하는 4개의 변수(θ, φ, δ, γ) 이외의 값들은 알려져 있으므로 수학식 3 내지 6을 이용하면, 시선 벡터(EV)의 수평각, 수직각을 포함하는 4개의 변수를 도출할 수 있다. At this time, Equations 2 to 5 are a total of four equations, and since the values other than the four variables (θ, ϕ, δ, γ) to be obtained are known, using Equations 3 to 6, the gaze vector (EV) ) can be derived from four variables including the horizontal and vertical angles.

실시 예들에 따라, 시선 움직임 산출부(105)는 켤레 기울기법(conjugate gradient method)와 같은 반복 최적화(iterative optimization) 방식을 이용하여 수학식 3 내지 6으로부터 시선 벡터의 수평 각도 및 수직 각도를 결정할 수 있다. 이 때, 시선 움직임 산출부(105)는 아래 수학식 7에 따라 정의되는 최소 손실 함수를 이용하여 시선 벡터의 수평 각도 및 수직 각도를 결정할 수 있다.Depending on the embodiment, the gaze movement calculation unit 105 may determine the horizontal angle and vertical angle of the gaze vector from Equations 3 to 6 using an iterative optimization method such as the conjugate gradient method. there is. At this time, the gaze movement calculation unit 105 may determine the horizontal angle and vertical angle of the gaze vector using the minimum loss function defined according to Equation 7 below.

여기서, u'ij 및 v'ij는 각 반복 단계에서 안구(IS)를 나타내는 j번째(j=0, 1, ..., N) 랜드마크들의 추정된 좌표이다.Here, u' ij and v' ij are the estimated coordinates of the j (j=0, 1, ..., N) landmarks representing the eye (IS) at each iteration step.

또는, 대안적으로, 시선 움직임 산출부(105)는 아래 수학식 8 및 수학식 9에 따라 시선 벡터의 수평 각도(

Figure 112023070269755-pat00008
) 및 수직 각도(φ)를 결정할 수 있다.Or, alternatively, the gaze movement calculation unit 105 calculates the horizontal angle of the gaze vector according to Equation 8 and Equation 9 below (
Figure 112023070269755-pat00008
) and the vertical angle (ϕ) can be determined.

이를 통해, 도 5에 도시된 바와 같이, 시선 움직임 산출부(105)는 사용자(USER)의 사용자 이미지로부터 사용자(USER)의 시선을 나타내는 시선 벡터(EV)를 결정할 수 있다.Through this, as shown in FIG. 5, the gaze movement calculation unit 105 can determine a gaze vector (EV) representing the gaze of the user (USER) from the user image of the user (USER).

시선 움직임 산출부(105)는 소정의 구간 동안의 사용자(USER)의 시선 움직임에 기초하여, 사용자(USER)의 시선 움직임의 정도를 나타내는 시선 움직임 점수를 산출할 수 있다. 실시 예들에 따라, 시선 움직임 산출부(105)는 산출된 시선 벡터(EV)의 수평 각도 및 수직 각도를 기초로, 시선 움직임 점수(EMVS)를 계산할 수 있다.The eye movement calculation unit 105 may calculate an eye movement score indicating the degree of eye movement of the user (USER) based on the eye movement of the user (USER) during a predetermined period. Depending on embodiments, the eye movement calculation unit 105 may calculate an eye movement score (EMVS) based on the horizontal angle and vertical angle of the calculated gaze vector (EV).

예를 들어, 시선 움직임 산출부(105)는 사용자 이미지로부터 미리 지정된 시간구간(예를 들어 15초, 점수 산출의 기준이 되는 시간구간임) 동안, 0.5초 간격(로우 데이터를 획득하는 시간 간격임, 즉 시선 벡터를 결정하는 시간 간격)으로 총 30개의 사용자(USER)의 시선 벡터들을 결정한다. 이 경우, 시간적으로 연속하는 30개의 시선 벡터들이 산출된다. 시선 움직임 산출부(105)는 이들 30개의 머리 시선 벡터들 각각의 성분(수평 각도, 수직 각도)으로부터 시선 움직임 점수를 결정할 수 있다. 이 때, 시선 움직임 점수는 지정된 시간 구간(예를 들어 15초)마다 하나씩 산출될 수 있다.For example, the eye movement calculation unit 105 calculates data at 0.5 second intervals (this is the time interval for acquiring raw data) during a pre-specified time interval from the user image (for example, 15 seconds, which is the standard time interval for calculating scores). , that is, the time interval for determining the gaze vector), a total of 30 user (USER) gaze vectors are determined. In this case, 30 temporally consecutive gaze vectors are calculated. The gaze movement calculation unit 105 can determine the gaze movement score from the components (horizontal angle, vertical angle) of each of these 30 head gaze vectors. At this time, eye movement scores may be calculated one by one for each designated time interval (for example, 15 seconds).

도 7은 일 실시예에 따른 시선 움직임 점수를 산출하는 기준을 설명하기 위한 그래프이다.Figure 7 is a graph for explaining the criteria for calculating eye movement scores according to an embodiment.

시선 움직임 산출부(105)는 지정된 시간 구간(예를 들어 15초) 내에서의 미리 지정된 시간 간격(예를 들어 0.5초)으로 획득된 연속적인 시선 벡터들 각각의 수평 각도 및 수직 각도의 변화에 기초하여 시선 움직임 점수를 결정할 수 있다. 실시 예들에 따라, 시선 움직임 점수는 시선 변화가 없거나 또는 시선 변화가 임계 이상인 경우에는 낮게 산정될 수 있다. The gaze movement calculation unit 105 calculates the changes in the horizontal angle and vertical angle of each of the consecutive gaze vectors obtained at a predetermined time interval (e.g., 0.5 seconds) within a specified time interval (e.g., 15 seconds). Based on this, the eye movement score can be determined. Depending on embodiments, the gaze movement score may be calculated low when there is no gaze change or when the gaze change is greater than a threshold.

일 실시예에서, 시선 움직임 산출부(105)는, 미리 지정된 시간 구간 동안 획득된 시선 벡터들을 시간적으로 인접한 시선 벡터들끼리 서로 비교하고, 비교 결과에 따라 시선 벡터들 중 일부를 정제(또는 제거)할 수 있다. 예를 들어, 시간적으로 인접한 2개의 시선 벡터들이 서로 동일하거나, 2개의 시선 벡터들 사이의 차분각(또는 사이각, radius)이 미리 지정된 임계각도 이내인 경우, 시선의 변화가 거의 없는 상태(즉, 멍하게 있거나 집중도가 높은 상태)인 것으로 보고 해당하는 2개의 시선 벡터들을 정제(또는 제거)할 수 있다. 다음으로, 시선 움직임 산출부(105)는, 미리 지정된 시간 구간 동안 획득된 시선 벡터들 중에서 정제되고 남아있는 시선 벡터들의 개수를 카운팅하고, 카운팅된 시선 벡터들의 개수에 따라 시선 움직임 점수를 산출할 수 있다. 구체적으로 도 7을 참조하면, 시선 움직임 점수를 세로축으로 도시하고, 정제된 시선 벡터들의 개수를 가로축에 도시한 그래프가 도시된다. 도 7을 참조할 때, 시선 움직임 점수는, 카운팅된 시선 벡터들의 개수가 미리 지정된 시간 구간 동안 획득된 시선 벡터들의 전체 갯수(예를 들어 15초 시간구간에서 0.5초 간격으로 획득할 경우 30개)의 50%에 가까울수록 0에 가깝도록 결정되고, 카운팅된 시선 벡터들의 개수가 시선 벡터들의 전체 갯수의 50%에서 멀어질수록(즉, 0에 가까워지거나 시선 벡터들의 전체 갯수에 가까워질수록) 증가하여 1에 수렴하도록 설정될 수 있다. 즉, 정제된 시선 벡터들이 너무 많은 경우에도 동일한 곳을 집중적으로 보고 있는 것으로 보고 높은 집중도로 평가하고, 정제된 시선벡터들이 너무 적은 경우에도 학습물의 내용들을 다양하게 훑어보고 있는 것으로 보아 높은 집중도로 평가하되, 정제된 시선 벡터들의 수가 50%에 가까울 때에는 시간 구간 내에서 순간적으로(예를 들어 수 초간) 멍하게 있는 상태에 있는 것으로 보아 집중도가 낮아지게 평가할 수 있다.In one embodiment, the gaze movement calculation unit 105 compares gaze vectors obtained during a predetermined time period with temporally adjacent gaze vectors, and refines (or removes) some of the gaze vectors according to the comparison result. can do. For example, when two temporally adjacent gaze vectors are identical to each other, or when the difference angle (or radius) between two gaze vectors is within a pre-specified critical angle, there is little change in gaze (i.e. , a state of being dazed or highly concentrated), the two corresponding gaze vectors can be refined (or removed). Next, the eye movement calculation unit 105 may count the number of gaze vectors that are refined and remain among the gaze vectors obtained during a pre-designated time period, and calculate an eye movement score according to the number of counted gaze vectors. there is. Specifically, referring to FIG. 7, a graph is shown showing the gaze movement score on the vertical axis and the number of refined gaze vectors on the horizontal axis. Referring to Figure 7, the gaze movement score is the total number of gaze vectors counted during a pre-specified time interval (for example, 30 when acquired at 0.5 second intervals in a 15 second time interval) is determined to be closer to 0 as it approaches 50% of It can be set to converge to 1. In other words, even when there are too many refined gaze vectors, the concentration is evaluated as high because it is considered that the same area is being looked at intensively. Even when there are too few refined gaze vectors, the concentration is evaluated as high because the content of the learning material is viewed in various ways. However, when the number of refined gaze vectors is close to 50%, the level of concentration can be evaluated as low by considering that the person is in a dazed state momentarily (for example, for several seconds) within the time interval.

다른 일 실시예에서, 시선 움직임 산출부(105)는 아래 수학식 10에 따라 시선 움직임 점수를 결정할 수 있다. In another embodiment, the eye movement calculation unit 105 may determine the eye movement score according to Equation 10 below.

여기서, EMVS는 시선 움직임 점수이고, K는 자연수로서, 하나의 구간 내에 존재하는 시간적으로 연속하는 두 개의 시선 벡터들의 쌍(이하, 연속 시선 벡터 쌍)의 개수로서, 구간 내 속하는 시선 벡터들의 전체 개수보다 하나 작은 값이다. dhi는 i번째 시간적으로 서로 인접한 시선 벡터 쌍의 수평 각도의 차이이고, dvi는 i번째 시간적으로 서로 인접한 시선 벡터 쌍의 수직 각도의 차이이다. A는 미리 설정된 기준 상수값으로서 양의 상수로 설정되는 것이 바람직하다. 수학식 10에 따르면, 시선 움직임 점수는 0 내지 1 사이의 양의 실수가 된다.Here, EMVS is the gaze movement score, K is a natural number, and is the number of pairs of two temporally consecutive gaze vectors (hereinafter referred to as consecutive gaze vector pairs) that exist within one section, and is the total number of gaze vectors within the section. It is a value one less than . dh i is the difference in the horizontal angles of the ith temporally adjacent pair of gaze vectors, and dv i is the difference in the vertical angles of the ith temporally adjacent pair of gaze vectors. A is a preset reference constant value and is preferably set to a positive constant. According to Equation 10, the eye movement score is a positive real number between 0 and 1.

또한, 학습물(MAT)의 특성을 고려하여, 시선 움직임 산출부(105)는 아래 수학식 10에 따라 시선 움직임 점수를 결정할 수도 있다. Additionally, considering the characteristics of the learning material (MAT), the eye movement calculation unit 105 may determine the eye movement score according to Equation 10 below.

여기서, ch 및 cv는 학습물(MAT)의 크기에 따라 결정되는 계수로서, 아래 수학식 12에 따라 결정될 수 있다.Here, c h and c v are coefficients determined according to the size of the learning material (MAT), and can be determined according to Equation 12 below.

여기서, Mx는 학습물(MAT)의 사용자(USER)가 보는 방향에서 측정한 학습물(MAT)의 가로 길이이고, My는 학습물(MAT)의 사용자(USER)가 보는 방향에서 측정한 학습물(MAT)의 세로 길이이다. Here , M This is the vertical length of the learning material (MAT).

한편, 앞선 다른 일 실시예에 따른 시선 움직임 점수 계산에 있어서, 시선 움직임 산출부(105)는 구간 내에서 시간적으로 연속하는 두 개의 시선 벡터들의 수평 각도 및 수직 각도가 동일하다면(즉, 사용자(USER)가 같은 곳을 응시한다면), 해당 시선 벡터들을 해당 시간 구간에 대한 시선 움직임 점수 계산에서 제외하고, 정제된 시선 벡터들을 대상으로 수학식 10 내지 수학식 12에 따른 연산을 수행할 수 있다. 예컨대, 15초 동안에 10초는 한 곳을 응시하는 경우에, 총 30개(15*2=30) 시선 벡터 중에서 20개(10*2)의 시선 벡터들이 정제 또는 제거될 수 있다. 이 때, 수학식 10 내지 수학식 12를 적용하는 경우, K는 29가 아니라 9가 되게 된다.Meanwhile, in calculating the gaze movement score according to another previous embodiment, the gaze movement calculation unit 105 determines if the horizontal angle and vertical angle of two temporally consecutive gaze vectors within the section are the same (i.e., the user (USER ) is staring at the same place), the corresponding gaze vectors can be excluded from calculating the gaze movement score for the corresponding time section, and an operation according to Equation 10 to Equation 12 can be performed on the refined gaze vectors. For example, when gazing at one place for 10 seconds out of 15 seconds, 20 (10*2) gaze vectors out of a total of 30 (15*2=30) gaze vectors may be refined or removed. At this time, when Equation 10 to Equation 12 is applied, K becomes 9, not 29.

도 8은 본 발명의 실시 예들에 따른 눈감김 점수를 산출하는 과정을 설명하기 위한 도면이다. 도 8을 참조하면, 시선 움직임 산출부(105)는 시선 움직임 점수 이외에, 사용자(USER)의 눈의 깜빡임 횟수를 이용하여, 사용자(USER)에 대한 눈감김 점수를 산출할 수 있다.Figure 8 is a diagram for explaining the process of calculating blindness scores according to embodiments of the present invention. Referring to FIG. 8, the gaze movement calculation unit 105 may calculate an eye closure score for the user (USER) using the number of eye blinks of the user (USER) in addition to the gaze movement score.

눈감김 점수는 사용자(USER)가 눈을 감고 있는지 여부를 나타내는 점수로서, 0(눈 감음) 또는 1(눈 감지 않음)의 값을 가질 수 있다. 시선 움직임 산출부(105)는 사용자 이미지로부터 인식된 사용자(USER)의 눈의 종횡비(EAR)에 기초하여, 사용자(USER)의 눈 깜빡임 횟수를 결정하고, 이로부터 눈감김 점수를 산출할 수 있다.The eye closure score is a score indicating whether the user (USER) is closing his or her eyes, and may have a value of 0 (eyes closed) or 1 (eyes not closed). The eye movement calculation unit 105 determines the number of eye blinks of the user (USER) based on the aspect ratio (EAR) of the user's eyes recognized from the user image, and calculates an eye closure score from this. .

시선 움직임 산출부(105)는 사용자 이미지로부터 사용자(USER)의 눈(안구 전체가 아닌 안구의 일부가 외부에 노출되어 외부에서 눈으로서 인식되는 부분)을 식별하고, 눈을 나타내는 랜드마크들을 결정할 수 있다. 예를 들어, 도 8에 도시된 바와 같이, 시선 움직임 산출부(105)는 사용자 이미지로부터 사용자(USER)의 눈을 나타내는 6개의 랜드마크 좌표들(P1~P6)을 결정할 수 있다. 앞서 설명한 것과 같이 오픈소스 라이브러리(MediaPipe)에서 제공하는 함수를 이용하면, 사용자 이미지에서 눈의 윤곽선을 구성하는 랜드마크 좌표들(P1~P6)을 추출할 수 있다.The eye movement calculation unit 105 can identify the user's eye (a part of the eyeball, not the entire eyeball, that is exposed to the outside and is recognized as an eye from the outside) from the user image, and determine landmarks representing the eye. there is. For example, as shown in FIG. 8, the eye movement calculation unit 105 may determine six landmark coordinates (P1 to P6) representing the user's eyes from the user image. As described above, using the function provided by the open source library (MediaPipe), landmark coordinates (P1 to P6) that constitute the outline of the eye can be extracted from the user image.

이후, 시선 움직임 산출부(105)는 눈의 랜드마크 좌표들 사이의 거리들을 이용하여 사용자(USER) 눈의 종횡비를 계산한다. 구체적으로, 시선 움직임 산출부(105)는 아래 수학식 13에 따라 종횡비를 계산할 수 있다.Afterwards, the eye movement calculation unit 105 calculates the aspect ratio of the user's (USER) eyes using the distances between the landmark coordinates of the eyes. Specifically, the eye movement calculation unit 105 may calculate the aspect ratio according to Equation 13 below.

여기서, EAR은 종횡비이고, 수학식 13에서 기호 ||X-Y||는 눈의 랜드마크 좌표 X와 눈의 랜드마크 좌표 Y사이의 거리를 산출하는 연산 기호로서 표기한 것이며, P1~P6은 눈의 랜드마크 좌표들이다.Here, EAR is the aspect ratio, and in Equation 13, the symbol || These are landmark coordinates.

시선 움직임 산출부(105)는 미리 지정된 시간 구간(예를 들어 15초) 동안 미리 지정된 시간간격(예를 들어 0.5초)마다 산출된 종횡비(EAR)로부터, 지정된 시간 구간 동안에서의 사용자(USER)의 눈깜빡임 횟수를 계산할 수 있다. 실시 예들에 따라, 시선 움직임 산출부(105)는 산출된 종횡비가 미리 설정된 임계 값(예컨대, 0.25) 미만인 경우, 사용자(USER)가 1회 눈을 깜빡인 것으로 계산할 수 있다.The eye movement calculation unit 105 calculates the user's (USER) value during the specified time interval from the aspect ratio (EAR) calculated at predetermined time intervals (for example, 0.5 seconds) during a predetermined time interval (for example, 15 seconds). The number of eye blinks can be calculated. Depending on embodiments, the eye movement calculation unit 105 may calculate that the user blinks once when the calculated aspect ratio is less than a preset threshold (eg, 0.25).

시선 움직임 산출부(105)는 시간 구간 동안의 산출된 종횡비(EAR)들을 이용하여 눈깜빡임 횟수를 계산하고, 계산된 눈깜빡임 횟수를 기초로 해당 구간 동안에서의 사용자(USER)의 눈감김 점수를 계산할 수 있다. 일 실시예에서, 시선 움직임 산출부(105)는 연속된 2개의 시간 구간(예를 들어 30초) 동안 지정된 시간간격마다 산출된 종횡비들의 평균값인 평균 종횡비를 산출하고, 산출된 평균 종횡비가 임계 종횡비보다 작은 경우, 자고 있는 것으로 간주하여 연속된 2개의 시간 구간들 중 첫번째 시간 구간(예를 들어 30초중에서 시간적으로 앞선 15초의 구간)에 대한 눈감김 점수를 0으로 결정할 수 있다. 반면, 시선 움직임 산출부(105)는 연속된 2개의 시간 구간(예를 들어 30초) 동안의 평균 종횡비가 임계 종횡비 이상인 경우, 연속된 2개의 시간 구간들 중 첫번째 시간 구간(예를 들어 30초중에서 시간적으로 앞선 15초의 구간)에 대한 눈감김 점수를 1로 결정할 수 있다. 즉, 눈감김 점수는 사용자가 수면 상태에 있으면 집중도가 없는 것으로 반영될 수 있도록 사용될 수 있다.The eye movement calculation unit 105 calculates the number of eye blinks using the calculated aspect ratios (EARs) during the time section, and calculates the user's eye closure score during the corresponding section based on the calculated number of eye blinks. It can be calculated. In one embodiment, the eye movement calculation unit 105 calculates an average aspect ratio, which is the average value of the aspect ratios calculated at specified time intervals for two consecutive time intervals (e.g., 30 seconds), and the calculated average aspect ratio is the critical aspect ratio. If it is smaller than this, it is considered to be sleeping, and the blindness score for the first of two consecutive time sections (for example, the 15-second section that precedes 30 seconds in time) can be determined as 0. On the other hand, when the average aspect ratio during two consecutive time sections (e.g., 30 seconds) is greater than or equal to the critical aspect ratio, the eye movement calculation unit 105 calculates the first time section (e.g., 30 seconds) of the two consecutive time sections. The blindness score for the temporally preceding 15-second section) can be determined to be 1. In other words, the eye closure score can be used to reflect lack of concentration when the user is in a sleeping state.

도 9는 본 발명의 실시 예들에 따른 집중력 스코어링 방법을 설명하기 위한 도면이다. 도 9를 참조하면, 집중력 점수 산출부(107)는 사용자(USER)에 대한 머리 움직임 점수(HMVS), 시선 움직임 점수(EMVS) 및 눈감김 점수(EBS)를 이용하여 사용자(USER)에 대한 집중력 점수(FS)를 산출할 수 있다.Figure 9 is a diagram for explaining a concentration scoring method according to embodiments of the present invention. Referring to FIG. 9, the concentration score calculation unit 107 calculates the concentration of the user (USER) using the head movement score (HMVS), eye movement score (EMVS), and eye closure score (EBS). The score (FS) can be calculated.

실시 예들에 따라, 집중력 점수 산출부(107)는 딥러닝 기반의 스코어링 학습 모델(107a)을 포함하고, 스코어링 학습 모델(107a)에 기초하여 집중력 점수(FS)를 산출할 수 있다. 예컨대, 집중력 점수(FS)는 스코어링 학습 모델(107a)에 대해 머리 움직임 점수(HMVS), 시선 움직임 점수(EMVS) 및 눈감김 점수(EBS)를 입력하고, 스코어링 학습 모델(107a)의 출력으로 획득될 수 있다.Depending on the embodiment, the concentration score calculation unit 107 may include a deep learning-based scoring learning model 107a and calculate the concentration score (FS) based on the scoring learning model 107a. For example, the concentration score (FS) is obtained by inputting the head movement score (HMVS), eye movement score (EMVS), and eye closure score (EBS) to the scoring learning model 107a and as the output of the scoring learning model 107a. It can be.

스코어링 학습 모델(107a)은 딥러닝 기반의 학습모델로서, 재귀 신경망(RNN, recurrent neural network), 컨볼루셔널 신경망(CNN, convolutional neural network), GRU(Gated Recurrent Unit), LSTM(Long Short-Term Memory) 등에 기반한 학습 모델일 수 있으나, 이에 한정되는 것은 아니다. 각 신경망 학습 모델의 구조나 구현은 구글의 텐서플로우(tensor flow) 등을 비롯하여 다양한 오픈소스 라이브러리 등을 통해 공개되어 있으므로, 통상의 기술자는 이들 중 선택적으로 활용할 수 있다. 실시 예들에 따라, 학습 모델(107a)은 학습 데이터(TR)에 의해 미리 지도학습(supervised-learning)된 모델일 수 있다. 이에 대해서는 후술한다.The scoring learning model 107a is a deep learning-based learning model, including a recurrent neural network (RNN), a convolutional neural network (CNN), a Gated Recurrent Unit (GRU), and a Long Short-Term (LSTM). It may be a learning model based on memory, etc., but is not limited to this. The structure and implementation of each neural network learning model are made public through various open source libraries, including Google's tensor flow, so those skilled in the art can selectively utilize them. Depending on embodiments, the learning model 107a may be a model that has been previously supervised-learned using training data (TR). This will be described later.

집중력 점수 산출부(107)는 머리 움직임 점수(HMVS), 시선 움직임 점수(EMVS) 및 눈감김 점수(EBS)를 이용하여 입력 데이터를 생성하고, 생성된 입력 데이터를 스코어링 학습 모델(107a)에 입력할 수 있다. 예를 들어, 머리 움직임 점수(HMVS), 시선 움직임 점수(EMVS) 및 눈감김 점수(EBS)를 각 성분값으로 하는 입력 벡터를 생성하고, 생성된 입력 벡터를 입력 데이터로서 스코어링 학습 모델(107a)에 입력할 수 있다.The concentration score calculation unit 107 generates input data using the head movement score (HMVS), eye movement score (EMVS), and eye closure score (EBS), and inputs the generated input data to the scoring learning model 107a. can do. For example, an input vector is generated with head movement score (HMVS), eye movement score (EMVS), and eye closure score (EBS) as each component value, and the scoring learning model 107a uses the generated input vector as input data. You can enter .

일 실시예에서, 집중력 점수 산출부(107)는 머리 움직임 점수(HMVS)와 시선 움직임 점수(EMVS)를 이용하여 사용자 움직임 점수를 산출하고, 산출된 사용자 움직임 점수와 눈감김 점수(EBS)를 이용해 입력 데이터를 생성할 수도 있다. 즉, 머리의 움직임과 시선 움직임은 하나의 사용자 움직임에 해당하므로 시선 움직임 점수(EMVS)를 일종의 가중치로서 활용하여 시선 움직임 점수(EMVS)와 머리 움직임 점수(HMVS)를 곱한 값을 사용자 움직임 점수로서 산출하고, 산출된 사용자 움직임 점수와 눈감김 점수(EBS)를 이용해 입력 데이터를 생성할 수 있다.In one embodiment, the concentration score calculation unit 107 calculates the user movement score using the head movement score (HMVS) and the eye movement score (EMVS), and uses the calculated user movement score and eye closure score (EBS) to calculate the user movement score. You can also generate input data. In other words, since head movement and eye movement correspond to one user movement, the eye movement score (EMVS) is used as a kind of weight, and the product of the eye movement score (EMVS) and head movement score (HMVS) is calculated as the user movement score. And, input data can be generated using the calculated user movement score and eye closure score (EBS).

도 10은 본 발명의 실시 예들에 따른 스코어링 학습 모델을 미리 지도학습하는 과정을 설명하기 위한 도면이다. 도 10을 참조하면, 스코어링 학습 모델(107a)을 위한 학습 데이터를 획득하기 위하여, 소정의 표본 사용자(USER, 학습 데이터를 구성하는 데 사용하는 사용자들로서 통상의 기술자가 미리 수집된 사용자 영상들을 기반으로 집중도가 높거나 산만한 표본 사용자를 선정할 수 있음)들을 대상으로 카메라(200)를 통해 사용자 이미지를 촬영한다.Figure 10 is a diagram for explaining a process of pre-supervised learning of a scoring learning model according to embodiments of the present invention. Referring to FIG. 10, in order to obtain training data for the scoring learning model 107a, a predetermined sample user (USER), which is a user used to construct learning data, is selected by a person skilled in the art based on user images collected in advance. User images are captured through the camera 200 targeting sample users who are highly focused or distracted.

집중력 점수 산출부(107)는, 이렇게 촬영된 사용자 이미지로부터 미리 지정된 시간 구간 동안의 머리 움직임 점수(HMVS), 시선 움직임 점수(EMVS) 및 눈감김 점수(EBS)를 산출하여 훈련 입력값을 생성하고, 동일한 시간 구간 동안 동일 사용자(USER)에게 뇌파 측정기기를 착용시켜 획득한 뇌파(brain wave) 데이터를 이용하여 집중력 점수(FS)를 산출하고, 산출된 집중력 점수(FS)를 훈련 출력값을 생성한 후, 훈련 입력값과 훈련 출력값의 쌍(pair)을 학습 데이터로서 입력받을 수 있다.The concentration score calculation unit 107 generates training input values by calculating head movement score (HMVS), eye movement score (EMVS), and eye closure score (EBS) during a predetermined time period from the user image captured in this way. , the concentration score (FS) is calculated using brain wave data obtained by having the same user (USER) wear an EEG measurement device during the same time period, and the calculated concentration score (FS) is used to generate training output values. Afterwards, a pair of training input values and training output values can be received as learning data.

사람의 뇌는 다양한 파형, 즉, 뇌파들을 출력한다. 이 때, 사람이 집중했을 때 두드러지는 뇌파가 있고, 스코어링 학습 모델(107a)에 지도 학습을 위한 훈련출력값으로 제공되는 집중력 점수(FS)는 사람의 뇌파들 중에서 집중했을 때 특별히 부각되는 뇌파들에 기초하여 결정될 수 있다. The human brain outputs various waveforms, that is, brain waves. At this time, there are brain waves that stand out when a person focuses, and the concentration score (FS) provided as a training output value for supervised learning in the scoring learning model 107a is based on brain waves that stand out especially when a person focuses. It can be decided based on

구체적으로, 뇌파 데이터에 따른 사용자의 현재 상태는 다음의 표 1과 같이 알려져있다.Specifically, the user's current state according to EEG data is known as shown in Table 1 below.

뇌파 데이터brain wave data 브레인 링크 주파수brain link frequency 데이터 설명Data Description 1One 중간 감마 (mid - γ)Mid Gamma (mid - γ) 41 - 49.75 Hz41 - 49.75 Hz 매우 날카로운 상태very sharp 22 낮은 감마 (low - γ)Low gamma (low - γ) 31 - 39.75 Hz31 - 39.75 Hz 스트레스 상태stress state 33 높은 베타 (high - β)high beta (high - β) 18 - 29.75 Hz18 - 29.75 Hz 열심히 일하는 동안 증가increases while working hard 44 낮은 베타 (low - β = smr)low beta (low - β = smr) 13 - 16.75 Hz13 - 16.75 Hz 집중하는 동안 증가increases while concentrating 55 높은 알파 (high - α)High alpha (high - α) 10 - 11.75 Hz10 - 11.75 Hz 빠른 반사와 정확한 반응Quick reflexes and accurate reactions 66 낮은 알파 (low - α)low alpha (low - α) 7.5 - 9.25 Hz7.5 - 9.25 Hz 명상의 상태state of meditation 77 세타 (general - θ)Theta (general - θ) 3.5 - 6.75 Hz3.5 - 6.75 Hz 일반적으로 최면 상태usually in a state of hypnosis 88 델타 (general - δ)delta (general - δ) 0.5 - 2.75 Hz0.5 - 2.75 Hz 수면 상태sleep state

본 실시예에서는 뉴로스카이에서 출시한 뇌파 측정기기인 마인드웨이브를 뇌파 측정기기로 사용하였으나, 이외에도 다른 뇌파 측정기기를 사용하는 경우에도 위 표 1에 따른 뇌파 데이터를 얻는 것이 가능하므로 통상의 기술자가 선택적으로 사용할 수 있다.위 표 1을 근거로, 사용자의 집중과 몰입 상태를 관찰하였을 때, 집중과 몰입 상태에서 낮은 베타파와 중간 베타파는 증가하는 경향성이 관찰되었고, 세타파는 거의 모든 관찰 구간에서 감소하는 경향성이 관찰되었다.In this example, MindWave, an EEG measurement device released by NeuroSky, was used as the EEG measurement device, but it is possible to obtain EEG data according to Table 1 above even when using other EEG measurement devices, so an ordinary technician can selectively It can be used. Based on Table 1 above, when observing the user's concentration and immersion state, low beta waves and middle beta waves tended to increase in the concentration and immersion state, and theta waves tended to decrease in almost all observation sections. This was observed.

이러한 경향성과 그 밖에 널리 알려진 뇌파와 집중력(또는 뇌 활성량) 사이의 상관관계를 갖는 논문들을 기초로, 집중력 점수(FS)는 낮은 베타파, 중간 베타파 및 세타파에 기초하여 결정될 수 있다.Based on these trends and other widely known papers showing the correlation between brain waves and concentration (or amount of brain activity), the concentration score (FS) can be determined based on low beta waves, medium beta waves, and theta waves.

구체적인 구현례에서, 집중력 점수(FS)는 아래 수학식 14에 따라 결정될 수 있다.In a specific implementation, the concentration score (FS) may be determined according to Equation 14 below.

여기서, FS는 각 측정 시점에서의 집중력 점수이고, Alow-beta는 해당 시점에서 측정된 낮은 베타파의 크기이고, Amid-beta는 해당 시점에서 측정된 중간 베타파의 크기이고, Atheta는 해당 시점에서 측정된 세타파의 크기이다. Here, FS is the concentration score at each measurement point, A low-beta is the size of low beta waves measured at that point, A mid-beta is the size of middle beta waves measured at that point, and A theta is This is the size of the theta wave measured at that point in time.

한편, 집중이라는 것은 특정 시점에서의 상태를 말한다기 보다는, 일정한 시간 동안에서의 상태를 나타내는 것이므로, 각 시점에서의 집중력 점수(FS)는 그 이전 시점에서의 집중력 점수에 종속적인 경향성이 있다. 따라서, 각 시점에서 산출된 집중력 점수(FS)가 이러한 경향성과 시계열적인 특성을 반영할 수 있도록 전처리되는 것이 바람직하다.Meanwhile, concentration refers to a state during a certain period of time rather than a state at a specific point in time, so the concentration score (FS) at each point in time tends to be dependent on the concentration score at the previous point in time. Therefore, it is desirable that the concentration score (FS) calculated at each time point is preprocessed to reflect these trends and time series characteristics.

일 실시예에서, 미리 지정된 시간 구간(예를 들어, 15초) 동안 미리 지정된 시간 간격(예를 들어 0.5초)마다 산출된 복수의 집중력 점수들을 대상으로 전처리를 수행하고, 전처리된 집중력 점수들을 이용하여 훈련 출력값이 구성될 수 있다.In one embodiment, pre-processing is performed on a plurality of concentration scores calculated at pre-specified time intervals (e.g., 0.5 seconds) during a pre-specified time interval (e.g., 15 seconds), and the pre-processed concentration scores are used. Thus, the training output value can be configured.

구체적으로, 소정 크기의 윈도우를 결정하고, 윈도우에 속한 시점들의 집중력 점수(FS)들을 이용하여 해당 윈도우의 다음 시점에 해당하는 집중력 점수(FS)를 결정할 수 있다. 예를 들어, 윈도우의 크기가 4인 경우, 4개의 시간적으로 연속된 집중력 점수(FS)들을 이용하여, 4개의 집중력 점수(FS)들의 바로 다음 시점의 집중력 점수(FS)를 결정할 수 있다. 상세한 예시로서, 윈도우의 크기가 4개인 경우 4개의 연속된 집중력 점수(FS)들의 평균값을 4개의 집중력 점수(FS)들의 바로 다음 시점의 집중력 점수(FS)로 사용할 수 있다. 이러한 방식으로, 미리 지정된 시간 구간(예를 들어 15초) 동안 산출된 집중력 점수들을 대상으로 윈도우를 하나씩 이동시키면서 집중력 점수들에 대한 전처리를 수행함으로써 집중력의 시계열성과 앞선 시간에 대한 의존성을 반영할 수 있다. Specifically, a window of a predetermined size can be determined, and the concentration score (FS) corresponding to the next viewpoint of the window can be determined using the concentration scores (FS) of viewpoints belonging to the window. For example, if the size of the window is 4, the concentration score (FS) at the time immediately following the four temporally consecutive concentration scores (FS) can be determined. As a detailed example, if the size of the window is 4, the average value of 4 consecutive FSs can be used as the FS at the time immediately following the 4 FSs. In this way, the time series of concentration and its dependence on the previous time can be reflected by performing preprocessing on the concentration scores by moving the windows one by one for the concentration scores calculated during a pre-specified time interval (for example, 15 seconds). there is.

이때, 훈련 입력값이 미리 지정된 시간 구간(예를 들어 15초)마다 하나의 훈련 입력값이 획득되는 것을 전제로 하면, 집중력 점수(FS) 또는 동일 시간 구간(예를 들어 15초)마다 하나의 훈련 출력값이 훈련 입력값과 커플링되어 사용되어야 한다. 그런데, 집중력 점수(FS)는 앞서 전처리가 수행되더라도 시간 구간 동안 복수개의 집중력 점수들이 존재하므로(15초의 시간 구간에서 0.5초 단위로 산출시 30개), 이를 추가 조정할 필요가 있다.At this time, assuming that one training input value is obtained for each pre-specified time interval (for example, 15 seconds), one concentration score (FS) or one training input value for each same time interval (for example, 15 seconds) is obtained. Training output values must be used in conjunction with training input values. However, even if the concentration score (FS) is previously preprocessed, there are multiple concentration scores during the time interval (30 when calculated in 0.5-second increments in a 15-second time interval), so it is necessary to adjust them further.

이를 위해, 미리 지정된 시간 구간에 대하여 전처리된 집중력 점수들을 대상으로, 해당 시간 구간에 대응하는 전체 전처리된 집중력 점수들의 산출 평균값이나 기하 평균값이 훈련 출력값으로 사용되는 것이 바람직하다.For this purpose, for concentration scores preprocessed for a pre-designated time interval, it is preferable that the calculated average value or geometric mean value of all preprocessed concentration scores corresponding to the corresponding time interval be used as a training output value.

도 11은 본 발명의 실시 예들에 따른 운영 서버의 하드웨어 구성을 예시적으로 나타낸 도면이다.Figure 11 is a diagram illustrating the hardware configuration of an operating server according to embodiments of the present invention.

도 11을 참조하면, 운영 서버(100)는, 적어도 하나의 프로세서(110), 상기 적어도 하나의 프로세서(110)가 적어도 하나의 동작(operation)을 수행하도록 지시하는 명령어들(instructions)을 저장하는 메모리(memory, 120)를 포함할 수 있다.Referring to FIG. 11, the operating server 100 stores at least one processor 110 and instructions that instruct the at least one processor 110 to perform at least one operation. May include memory (120).

여기서, 적어도 하나의 동작은 전술한 운영 서버(100)의 동작(또는 전술한 각 기능부들 중 적어도 하나의 동작)이나 기능들 중에서 적어도 일부를 포함하는 것으로 해석되며, 중복 설명을 방지하기 위하여 구체적인 설명은 생략된다.Here, at least one operation is interpreted as including at least a portion of the operation (or at least one operation of each of the above-described functional units) or functions of the operation server 100, and is described in detail to prevent duplicate description. is omitted.

여기서 적어도 하나의 프로세서(110)는 중앙 처리 장치(central processing unit, CPU), 그래픽 처리 장치(graphics processing unit, GPU), 또는 본 발명의 실시예들에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 메모리(120)는 휘발성 저장 매체 및 비휘발성 저장 매체 중에서 적어도 하나로 구성될 수 있다. Here, the at least one processor 110 may mean a central processing unit (CPU), a graphics processing unit (GPU), or a dedicated processor on which methods according to embodiments of the present invention are performed. You can. The memory 120 may be comprised of at least one of a volatile storage medium and a non-volatile storage medium.

운영 서버(100)는, 적어도 하나의 동작을 수행함에 따른 입력 데이터, 중간 처리 데이터, 임시 데이터, 출력 데이터 등을 비일시적으로 저장하기 위한 저장 장치(160)를 더 포함할 수 있다.The operation server 100 may further include a storage device 160 for non-temporarily storing input data, intermediate processing data, temporary data, output data, etc. resulting from performing at least one operation.

예를 들어, 메모리(120)는 읽기 전용 메모리(read only memory, ROM) 및 랜덤 액세스 메모리(random access memory, RAM) 중 하나일 수 있고, 저장 장치(160)는, 플래시메모리(flash-memory), 하드디스크 드라이브(HDD), 솔리드 스테이트 드라이브(SSD), 또는 각종 메모리 카드(예를 들어, micro SD 카드) 등일 수 있다.For example, the memory 120 may be one of read only memory (ROM) and random access memory (RAM), and the storage device 160 may be flash memory. , a hard disk drive (HDD), a solid state drive (SSD), or various memory cards (eg, micro SD card).

또한, 운영 서버(100)는, 무선 네트워크를 통해 통신을 수행하는 송수신 장치(transceiver)(130)를 더 포함할 수 있다. 또한, 운영 서버(100)는 입력 인터페이스 장치(140), 출력 인터페이스 장치(150) 등을 더 포함할 수 있다. 운영 서버(100)에 포함된 각각의 구성 요소들은 버스(bus)(170)에 의해 연결되어 서로 통신을 수행할 수 있다.In addition, the operation server 100 may further include a transceiver 130 that performs communication through a wireless network. Additionally, the operation server 100 may further include an input interface device 140, an output interface device 150, etc. Each component included in the operation server 100 is connected by a bus 170 and can communicate with each other.

운영 서버(100)의 예를 들면, 통신 가능한 데스크탑 컴퓨터(desktop computer), 랩탑 컴퓨터(laptop computer), 노트북(notebook), 스마트폰(smart phone), 태블릿 PC(tablet PC), 모바일폰(mobile phone), 스마트 워치(smart watch), 스마트 글래스(smart glass), e-book 리더기, PMP(portable multimedia player), 휴대용 게임기, 네비게이션(navigation) 장치, 디지털 카메라(digital camera), DMB(digital multimedia broadcasting) 재생기, 디지털 음성 녹음기(digital audio recorder), 디지털 음성 재생기(digital audio player), 디지털 동영상 녹화기(digital video recorder), 디지털 동영상 재생기(digital video player), PDA(Personal Digital Assistant) 등일 수 있다.Examples of the operating server 100 include a desktop computer, laptop computer, laptop, smart phone, tablet PC, and mobile phone capable of communication. ), smart watch, smart glass, e-book reader, PMP (portable multimedia player), portable game console, navigation device, digital camera, DMB (digital multimedia broadcasting) It may be a player, a digital audio recorder, a digital audio player, a digital video recorder, a digital video player, a PDA (Personal Digital Assistant), etc.

본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.Methods according to the present invention may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium. Computer-readable media may include program instructions, data files, data structures, etc., singly or in combination. Program instructions recorded on a computer-readable medium may be specially designed and constructed for the present invention or may be known and usable by those skilled in the computer software art.

컴퓨터 판독 가능 매체의 예에는 롬(ROM), 램(RAM), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Examples of computer-readable media may include hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, etc. Examples of program instructions may include machine language code such as that created by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc. The above-described hardware device may be configured to operate with at least one software module to perform the operations of the present invention, and vice versa.

또한, 상술한 방법 또는 장치는 그 구성이나 기능의 전부 또는 일부가 결합되어 구현되거나, 분리되어 구현될 수 있다. Additionally, the above-described method or device may be implemented by combining all or part of its components or functions, or may be implemented separately.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다. Although the present invention has been described above with reference to preferred embodiments, those skilled in the art may make various modifications and changes to the present invention without departing from the spirit and scope of the present invention as set forth in the claims below. You will understand that you can do it.

Claims (5)

집중력 스코어링 방법을 수행하는 운영 서버로서,
적어도 하나의 프로세서(processor); 및
상기 적어도 하나의 프로세서가 적어도 하나의 동작(operation)을 수행하도록 지시하는 명령어들(instructions)을 저장하는 메모리(memory)를 포함하고,
상기 적어도 하나의 동작은,
사용자를 촬영한 사용자 이미지를 획득하는 동작;
상기 사용자 이미지로부터 상기 사용자의 머리에 대한 수평 방향 움직임 각도와 수직 방향 움직임 각도를 결정하고, 상기 수평 방향 움직임 각도와 상기 수직 방향 움직임 각도를 이용하여 머리 움직임 점수를 산출하는 동작;상기 사용자 이미지로부터 상기 사용자의 시선 방향을 지시하는 시선 벡터를 결정하고, 결정된 상기 시선 벡터를 이용하여 상기 사용자의 시선 움직임 점수를 산출하는 동작;
상기 사용자 이미지로부터 상기 사용자의 눈을 식별하고, 식별된 상기 사용자의 눈을 이용하여 눈감김 점수를 산출하는 동작;
상기 머리 움직임 점수, 상기 시선 움직임 점수, 및 상기 눈감김 점수를 이용하여 입력 데이터를 생성하는 동작;
상기 입력 데이터를 미리 지도학습된 딥러닝 기반의 스코어링 학습 모델에 입력하는 동작; 및
상기 스코어링 학습 모델의 출력으로 집중력 점수를 획득하는 동작;을 포함하고,
상기 머리 움직임 점수를 산출하는 동작은,
상기 사용자 이미지에서 미리 지정된 시간 구간 동안 미리 지정된 시간 간격으로 상기 사용자의 머리의 수평방향 움직임의 중심축을 나타내는 제1 머리 벡터, 상기 머리의 수직방향 움직임의 중심축을 나타내는 제2 머리 벡터, 및 상기 제1 머리 벡터와 상기 제2 머리 벡터에 동시에 수직한 제3 머리 벡터를 결정하는 동작; 및
상기 제1 머리 벡터, 상기 제2 머리 벡터, 및 상기 제3 머리 벡터를 이용하여 상기 수평 방향 움직임 각도와 상기 수직 방향 움직임 각도를 결정하는 동작;을 포함하고,
상기 머리 움직임 점수를 산출하는 동작은,
하기 수학식 1에 따라 제1 머리 움직임 점수를 결정하는 동작을 포함하고,
[수학식 1]

상기 수학식 1에서, HMVSy는 머리의 수평방향 움직임 각도(yaw)를 이용하여 산출한 제1 머리 움직임 점수이고, HMVAymax는 상기 지정된 시간 구간에서 머리의 수평방향 움직임 각도(yaw)의 최대값이고, HMVAref는 미리 설정된 임계 각도이고, rH는 미리 설정된 비례상수인,
집중력 스코어링 방법을 수행하는 운영 서버.
An operating server that performs a concentration scoring method,
at least one processor; and
Includes a memory that stores instructions that instruct the at least one processor to perform at least one operation,
The at least one operation is,
An operation of acquiring a user image taken of a user;
An operation of determining a horizontal movement angle and a vertical movement angle of the user's head from the user image, and calculating a head movement score using the horizontal movement angle and the vertical movement angle; Determining a gaze vector indicating the user's gaze direction and calculating a gaze movement score of the user using the determined gaze vector;
Identifying the user's eyes from the user image and calculating an eye closure score using the identified eyes of the user;
Generating input data using the head movement score, the eye movement score, and the eye closure score;
Inputting the input data into a previously supervised deep learning-based scoring learning model; and
An operation of obtaining a concentration score as an output of the scoring learning model,
The operation of calculating the head movement score is,
A first head vector indicating the central axis of the horizontal movement of the user's head at a predetermined time interval during a predetermined time interval in the user image, a second head vector indicating the central axis of the vertical movement of the head, and the first determining a head vector and a third head vector perpendicular to the second head vector simultaneously; and
An operation of determining the horizontal movement angle and the vertical movement angle using the first head vector, the second head vector, and the third head vector,
The operation of calculating the head movement score is,
Including the operation of determining the first head movement score according to Equation 1 below,
[Equation 1]

In Equation 1, HMVSy is the first head movement score calculated using the horizontal movement angle (yaw) of the head, and HMVay max is the maximum value of the horizontal movement angle (yaw) of the head in the specified time interval. , HMVA ref is a preset critical angle, and r H is a preset proportionality constant,
An operational server that performs the concentration scoring method.
삭제delete 삭제delete 청구항 1에서,
상기 사용자의 시선 움직임 점수를 산출하는 동작은,
상기 사용자 이미지에서 눈의 윤곽선과 홍채의 윤곽선을 구성하는 랜드마크 좌표들을 추출하는 동작;
상기 눈의 윤곽선을 구성하는 랜드마크 좌표들을 비교하여 안구의 중심 좌표를 결정하는 동작;
상기 홍채의 윤곽선을 구성하는 랜드마크 좌표들을 비교하여 홍채의 중심 좌표를 결정하는 동작;
상기 안구의 중심 좌표와 상기 눈의 윤곽선을 구성하는 랜드마크 좌표들을 이용하여 상기 안구의 반지름을 결정하는 동작; 및
상기 안구의 중심 좌표, 상기 홍채의 중심 좌표, 상기 안구의 반지름을 이용하여 상기 시선 벡터의 수평 각도와 수직 각도를 결정하는 동작;을 포함하는,
집중력 스코어링 방법을 수행하는 운영 서버.
In claim 1,
The operation of calculating the user's eye movement score is,
extracting landmark coordinates constituting an eye outline and an iris outline from the user image;
An operation of determining the coordinates of the center of the eye by comparing landmark coordinates constituting the outline of the eye;
determining the coordinates of the center of the iris by comparing landmark coordinates constituting the outline of the iris;
determining the radius of the eyeball using the center coordinates of the eyeball and landmark coordinates constituting the outline of the eye; and
An operation of determining the horizontal angle and vertical angle of the gaze vector using the center coordinates of the eyeball, the center coordinates of the iris, and the radius of the eyeball.
An operational server that performs the concentration scoring method.
◈청구항 5은(는) 설정등록료 납부시 포기되었습니다.◈◈Claim 5 was abandoned upon payment of the setup registration fee.◈ 청구항 1에서,
상기 스코어링 학습 모델은,
학습 데이터를 생성하기 위해 별도로 수집한 표본 사용자들을 대상으로 촬영된 사용자 이미지로부터 산출된 상기 머리 움직임 점수, 상기 시선 움직임 점수, 및 상기 움직임 점수를 이용하여 획득된 훈련 입력값; 및
상기 표본 사용자들에게 뇌파 측정기기를 착용시켜 착용한 뇌파 데이터를 이용하여 산출된 집중력 점수를 나타내는 훈련 출력값;으로 구성된 학습 데이터를 이용하여 미리 지도학습되되,
상기 집중력 점수는, 아래 수학식 2에 따라 결정되는,
[수학식 2]

상기 수학식 2에서, FS는 상기 뇌파 측정기기를 이용한 뇌파 측정 시점에서의 집중력 점수이고, Alow-beta는 해당 뇌파 측정 시점에서 측정된 낮은 베타파의 크기이고, Amid-beta는 해당 뇌파 측정 시점에서 측정된 중간 베타파의 크기이고, Atheta는 해당 뇌파 측정 시점에서 측정된 세타파의 크기인,
집중력 스코어링 방법을 수행하는 운영 서버.
In claim 1,
The scoring learning model is,
Training input values obtained using the head movement score, the gaze movement score, and the movement score calculated from user images taken of sample users separately collected to generate learning data; and
A training output value representing a concentration score calculated using the brain wave data worn by the sample users wearing the brain wave measuring device is supervised in advance using learning data consisting of,
The concentration score is determined according to Equation 2 below,
[Equation 2]

In Equation 2, FS is the concentration score at the time of EEG measurement using the EEG measurement device, A low-beta is the size of the low beta wave measured at the time of the EEG measurement, and A mid-beta is the EEG measurement. A theta is the size of the middle beta wave measured at the time point, and A theta is the size of the theta wave measured at the time point of the EEG measurement.
An operational server that performs the concentration scoring method.
KR1020230082149A 2023-01-26 2023-06-26 Method for determining user's concentration based on user's image and operating server performing the same KR102616230B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020230009934 2023-01-26
KR20230009934 2023-01-26

Publications (1)

Publication Number Publication Date
KR102616230B1 true KR102616230B1 (en) 2023-12-20

Family

ID=89376803

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230082149A KR102616230B1 (en) 2023-01-26 2023-06-26 Method for determining user's concentration based on user's image and operating server performing the same

Country Status (1)

Country Link
KR (1) KR102616230B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102020479B1 (en) * 2018-11-22 2019-09-10 가천대학교 산학협력단 Globe Module System for Image Training
KR20220155562A (en) * 2020-08-31 2022-11-23 주식회사 마블러스 Method and apparatus for supporting user's learning concentration using werable device
KR20220164252A (en) * 2021-06-04 2022-12-13 이영민 Self-learning management server and self-learning management method using the same

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102020479B1 (en) * 2018-11-22 2019-09-10 가천대학교 산학협력단 Globe Module System for Image Training
KR20220155562A (en) * 2020-08-31 2022-11-23 주식회사 마블러스 Method and apparatus for supporting user's learning concentration using werable device
KR20220155561A (en) * 2020-08-31 2022-11-23 주식회사 마블러스 Method and apparatus for supporting user's learning concentration based on analysis of user's voice
KR20220164252A (en) * 2021-06-04 2022-12-13 이영민 Self-learning management server and self-learning management method using the same

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
[2019-IEEE]FSA-Net *
Singh T, etc., Attention Span Prediction Using Head-Pose Estimation With Deep Neural Networks. IEEE Access. Vol.9, pp.142632~142643 (2021.10.26.)* *

Similar Documents

Publication Publication Date Title
Singh et al. Exam Proctoring Classification Using Eye Gaze Detection
CN110084259B (en) Facial paralysis grading comprehensive evaluation system combining facial texture and optical flow characteristics
Li et al. Learning to predict gaze in egocentric video
Guo et al. Eyes tell all: Irregular pupil shapes reveal gan-generated faces
US20160371539A1 (en) Method and system for extracting characteristic of three-dimensional face image
Lu et al. Blob analysis of the head and hands: A method for deception detection
US20170364732A1 (en) Eye tracking via patterned contact lenses
De Marsico et al. Insights into the results of miche i-mobile iris challenge evaluation
US9892315B2 (en) Systems and methods for detection of behavior correlated with outside distractions in examinations
CN106796449A (en) Eye-controlling focus method and device
CN106557723A (en) A kind of system for face identity authentication with interactive In vivo detection and its method
Rigas et al. Eye movement-driven defense against iris print-attacks
CN107292299B (en) Side face recognition methods based on kernel specification correlation analysis
JP2014093023A (en) Object detection device, object detection method and program
CN115482574B (en) Screen gaze point estimation method, device, medium and equipment based on deep learning
Rigas et al. Gaze estimation as a framework for iris liveness detection
CN111128369A (en) Method and device for evaluating Parkinson's disease condition of patient
Jingchao et al. Recognition of classroom student state features based on deep learning algorithms and machine learning
RU2316051C2 (en) Method and system for automatically checking presence of a living human face in biometric safety systems
Dadiz et al. Detecting depression in videos using uniformed local binary pattern on facial features
JP4708835B2 (en) Face detection device, face detection method, and face detection program
Cimmino et al. M2FRED: Mobile masked face REcognition through periocular dynamics analysis
CN107977622B (en) Eye state detection method based on pupil characteristics
CN113971841A (en) Living body detection method and device, computer equipment and storage medium
CN112818899A (en) Face image processing method and device, computer equipment and storage medium

Legal Events

Date Code Title Description
A107 Divisional application of patent
GRNT Written decision to grant