









개시되는 실시예들은 골프 타격 모니터링용 시선 추적 시스템 및 방법과 비-일시적 컴퓨터 판독 가능 기록매체와 관련된다.Disclosed embodiments relate to eye tracking systems and methods for golf hitting monitoring and non-transitory computer readable recording media.
골프 이용자가 빠르게 증가함에 따라 사용자들은 단순히 골프를 참여하는 것에 그치지 않고, 골프 성적 향상을 위해 골프 스윙 자세를 교정하는 등 다양한 방법을 적용하고 있는 실정이다.As the number of golf users is rapidly increasing, users are not only participating in golf, but are also applying various methods such as correcting golf swing posture to improve golf performance.
운동 신경학적으로 골프공을 타격할 때 눈을 감거나 골프공을 정확히 응시하지 않으면 정확도 및 골프헤드 스피드가 증가하지 않을 수 있다. 이에, 골프 스윙 시 사용자의 시선이 골프공을 벗어나지 않는 것은 좋은 성적을 획득하기 위해 매우 중요한 요소 중 하나인 것이다.Kinetically, if you close your eyes or do not look directly at the golf ball when hitting the golf ball, your accuracy and golf head speed may not increase. Accordingly, ensuring that the user's gaze does not deviate from the golf ball during the golf swing is one of the very important factors in obtaining good scores.
상술한 이유로, 운용자는 골프공 타격 시 사용자의 시선을 정확히 파악하여 제공하는 기술의 필요성을 인지하게 되었다.For the above-mentioned reasons, operators have recognized the need for technology that accurately identifies and provides the user's gaze when hitting a golf ball.
개시된 실시예들은 골프 스윙 시 사용자가 골프공을 타격하는 시점 전후의 시선정보를 분석하기 위한 골프 타격 모니터링용 시선 추적 시스템 및 방법과 비-일시적 컴퓨터 판독 가능 기록매체를 제공하고자 한다.The disclosed embodiments seek to provide a gaze tracking system and method for golf hitting monitoring and a non-transitory computer readable recording medium for analyzing gaze information before and after a user hits a golf ball during a golf swing.
일 실시예에 따른 골프 타격 모니터링용 시선 추적 시스템은, 사용자의 골프공 타격 상태를 촬영하여 타격 이미지 프레임을 획득하기 위한 촬영 기기; 및 기 설정된 복수의 상기 타격 이미지 프레임으로 구성된 배치(batch) 단위의 상기 복수의 타격 이미지 프레임 중 골프공 타격 시점을 기준으로 기 설정된 전후의 타격 이미지 프레임으로부터 시선추적 알고리즘을 기초로 사용자 시선을 파악하여 골프공 타격 시 사용자의 골프공 응시 여부 및 눈을 감았는지 여부 중 적어도 하나 이상을 파악하는 시선 추적 장치를 포함하고, 상기 시선 추적 장치는 상기 사용자의 골프공 응시 여부 및 눈을 감았는지 여부를 파악하기 위한 복수의 모듈을 포함하고, 상기 복수의 모듈 및 상기 복수의 타격 이미지 프레임을 실행기준에 따라 멀티 스레드 처리 및 싱글 스레드 처리 중 어느 하나로 처리한다.An eye tracking system for golf hitting monitoring according to an embodiment includes a photographing device for acquiring a hitting image frame by photographing a user's golf ball hitting state; And determining the user's gaze based on an eye tracking algorithm from preset before and after hitting image frames based on the time of hitting the golf ball among the plurality of hitting image frames in a batch unit consisting of a plurality of preset hitting image frames. It includes an eye tracking device that determines at least one of whether the user is staring at the golf ball and whether the user's eyes are closed when hitting the golf ball, and the eye tracking device determines whether the user is staring at the golf ball and whether the user's eyes are closed. It includes a plurality of modules for processing, and processes the plurality of modules and the plurality of hitting image frames in one of multi-thread processing and single-thread processing according to execution standards.
상기 시선 추적 장치는, 상기 타격 이미지 프레임으로부터 얼굴 영역을 탐색하여 관심 영역(Region of interest)을 지정하는 얼굴 탐색 모듈; 상기 타격 이미지 프레임의 사용자의 얼굴 이미지 내 얼굴의 주요 특징인 복수의 랜드마크 좌표를 파악하는 랜드마크 추출 모듈; 상기 타격 이미지 프레임으로부터 탐색된 얼굴 영역의 위치 및 회전 각도를 기 학습된 얼굴 영역의 위치 및 회전 각도를 기초로 정규화된 공간 상의 얼굴 이미지로 변환하여 정규화하기 위한 이미지 정규화 모듈; 및 사용자의 얼굴 이미지 및 눈동자 이미지를 상기 시선추적 알고리즘에 적용하여 상기 사용자의 시선 예측 정보를 산출하고, 상기 시선 예측 정보에 학습 대상자들의 타격 이미지 프레임으로부터 획득된 최초 시선 예측 정보를 비롯한 정적 캘리브레이션 정보를 포함하는 사전 시선 예측 정보 및 메타 데이터를 반영한 캘리브레이션을 수행하여 최종 시선 예측 정보를 획득하기 위한 시선 추적 모듈을 포함할 수 있다.The eye tracking device includes a face search module that searches a face area from the hitting image frame and specifies a region of interest; A landmark extraction module that identifies a plurality of landmark coordinates that are main features of the face in the user's face image of the hitting image frame; an image normalization module for normalizing the position and rotation angle of the face area discovered from the hitting image frame by converting it into a face image in a normalized space based on the previously learned position and rotation angle of the face area; And applying the user's face image and eye image to the eye tracking algorithm to calculate the user's gaze prediction information, and adding static calibration information including the initial gaze prediction information obtained from the hitting image frames of the learning subjects to the gaze prediction information. It may include a gaze tracking module for obtaining final gaze prediction information by performing calibration reflecting the included preliminary gaze prediction information and meta data.
상기 메타 데이터는, 카메라 내부 파라미터(camera intrinsic parameters), 사용자의 헤드 포즈(head pose) 및 카메라와의 이격 거리를 포함할 수 있다.The metadata may include camera intrinsic parameters, the user's head pose, and the separation distance from the camera.
상기 시선 추적 모듈은, 시선예측 알고리즘에 따라 상기 골프공 타격 시점에 상기 타격 이미지 프레임 내 상기 사용자의 3차원 시선 방향 벡터를 추출하고, 상기 3차원 시선 방향 벡터 및 상기 메타 데이터를 이용하여 화면 상에 디스플레이 되는 상기 사용자의 2차원 시선 지점 좌표를 산출하여 상기 시선 예측 정보를 산출하는 시선 예측 모델; 및 블링크 알고리즘에 따라 상기 골프공 타격 시점에 상기 타격 이미지 프레임 내 상기 사용자가 눈을 감았는지 여부를 파악하는 눈 깜빡임 예측 모델을 포함할 수 있다.The gaze tracking module extracts the user's 3D gaze direction vector within the hitting image frame at the time of hitting the golf ball according to a gaze prediction algorithm, and displays the user's 3D gaze direction vector on the screen using the 3D gaze direction vector and the meta data. A gaze prediction model that calculates the gaze prediction information by calculating the displayed two-dimensional gaze point coordinates of the user; And it may include an eye blink prediction model that determines whether the user in the hitting image frame has closed his or her eyes at the time of hitting the golf ball according to the blink algorithm.
상기 시선 예측 모델은, 상기 학습 대상자들의 골프공 타격 상태를 촬영하여 획득된 타격 이미지 프레임으로부터 기 설정된 위치의 골프공 좌표 및 상기 골프공 좌표에 대응되는 상기 학습 대상자들의 상기 최초 시선 예측 정보를 포함하는 상기 사전 시선 예측 정보를 파악할 수 있다.The gaze prediction model includes golf ball coordinates at a preset position from a hitting image frame obtained by photographing the golf ball hitting state of the learning subjects and the initial gaze prediction information of the learning subjects corresponding to the golf ball coordinates. The preliminary gaze prediction information can be obtained.
상기 시선 예측 모델은, 상기 타격 이미지 프레임 내 사용자의 얼굴 영역 위치가 기 설정된 기준 위치와 상이한 경우, 상기 사용자의 얼굴 영역 위치를 상기 기 설정된 기준 위치와 일치하도록 보정하고, 상기 기 설정된 기준 위치는 상기 촬영 기기의 촬영영역 내에서 상기 사용자의 얼굴 이미지를 파악하기 위해 기 설정된 위치일 수 있다.The gaze prediction model corrects the position of the user's face region to match the preset reference position when the position of the user's face region within the hitting image frame is different from the preset reference position, and the preset reference position is the This may be a preset position to identify the user's face image within the capturing area of the photographing device.
상기 시선 추적 장치는, 상기 복수의 모듈 및 상기 복수의 타격 이미지 프레임 중 어느 하나의 대상의 상기 실행기준에 따라 병렬 실행이 필요한 대상과 순차 실행이 필요한 대상을 분류하고, 분류 결과에 따라 상기 각 대상을 상기 멀티 스레드 처리 및 상기 싱글 스레드 처리 중 어느 하나로 처리하기 위한 연산 처리 제어부를 더 포함할 수 있다.The eye tracking device classifies objects that require parallel execution and objects that require sequential execution according to the execution criteria of any one of the plurality of modules and the plurality of hitting image frames, and classifies each object according to the classification result. It may further include an operation processing control unit for processing in one of the multi-thread processing and the single-thread processing.
상기 연산 처리 제어부는, 상기 복수의 모듈 중 현재 모듈의 처리 시 이전 모듈의 연산 결과가 필요한 경우 상기 현재 모듈에 대해 상기 싱글 스레드 처리로 분류하고, 상기 현재 모듈의 처리 시 이전 모듈의 연산 결과가 불필요한 경우 상기 현재 모듈에 대해 상기 멀티 스레드 처리로 분류할 수 있다.The operation processing control unit classifies the current module as the single-thread processing when the operation result of the previous module is required when processing the current module among the plurality of modules, and when processing the current module, the operation result of the previous module is unnecessary. In this case, the current module can be classified as multi-threaded processing.
상기 연산 처리 제어부는, 상기 복수의 타격 이미지 프레임 중 현재 타격 이미지 프레임의 처리 시 이전 타격 이미지 프레임의 연산 결과가 필요한 경우 상기 현재 타격 이미지 프레임에 대해 상기 싱글 스레드 처리로 분류하고, 상기 현재 모듈의 처리 시 이전 모듈의 연산 결과가 불필요한 경우 상기 현재 모듈에 대해 상기 멀티 스레드 처리로 분류할 수 있다.The operation processing control unit, when processing the current hitting image frame among the plurality of hitting image frames, classifies the current hitting image frame into the single-thread processing when the calculation result of the previous hitting image frame is required, and processes the current module. If the calculation results of the previous module are unnecessary, the current module can be classified as multi-threaded processing.
상기 연산 처리 제어부는, 상기 복수의 모듈 및 상기 복수의 타격 이미지 프레임을 처리하기 위한 복수의 스레드를 포함하고, 상기 복수의 모듈 또는 상기 복수의 타격 이미지 프레임 각각을 적어도 하나 이상의 스레드에 할당할 수 있다.The operation processing control unit includes a plurality of threads for processing the plurality of modules and the plurality of hitting image frames, and may assign each of the plurality of modules or the plurality of hitting image frames to at least one or more threads. .
상기 시선 추적 장치는, 상기 최종 시선 예측 정보, 눈 깜빡임 데이터 및 촬영영역에서의 골프공 위치를 이용하여 상기 골프공 타격 시점의 상기 사용자의 골프공 응시 여부 및 눈을 감았는지 여부를 파악하기 위한 모니터링부를 더 포함할 수 있다.The eye tracking device uses the final gaze prediction information, eye blink data, and the golf ball position in the shooting area to monitor whether the user is looking at the golf ball at the time of hitting the golf ball and whether the user has closed his or her eyes. It can include more wealth.
상기 모니터링부는, 상기 사용자가 골프공의 타격 시점에 상기 골프공을 응시하지 않고 있거나, 또는 눈을 감고 있는 상태인 경우, 기 설정된 알람을 출력할 수 있다.The monitoring unit may output a preset alarm if the user is not looking at the golf ball or has his or her eyes closed at the time of hitting the golf ball.
상기 모니터링부는, 상기 촬영 기기를 통해 획득된 상기 타격 이미지 프레임 내 사용자의 얼굴 영역 위치를 비롯한 촬영 결과가 기 설정된 촬영조건과 일치하지 않는 경우, 상기 촬영 기기의 위치 및 각도와 조명의 위치, 각도 및 밝기를 비롯한 촬영 환경을 조정할 수 있도록 알림을 출력할 수 있다.The monitoring unit, when the shooting result, including the position of the user's face area in the hitting image frame obtained through the shooting device, does not match the preset shooting conditions, the location and angle of the shooting device and the position, angle, and You can output a notification so that you can adjust the shooting environment, including brightness.
상기 타격 이미지 프레임은, 상기 촬영 기기를 통해 촬영되어 배치단위로 상기 시선 추적 장치로 입력되는 비실시간 이미지 프레임일 수 있다.The hitting image frame may be a non-real-time image frame captured through the photographing device and input to the eye tracking device in batches.
상기 시선 추적 장치는, 상기 촬영 기기로부터 상기 복수의 타격 이미지 프레임을 수신할 때, 촬영 시간 기준의 이미지 프레임 순서에 따라 상기 복수의 타격 이미지 프레임을 수신할 수 있다.When receiving the plurality of striking image frames from the photographing device, the eye tracking device may receive the plurality of striking image frames according to the image frame order based on the shooting time.
다른 실시예에 따른 골프 타격 모니터링용 시선 추적 방법은, 촬영 기기가 사용자의 골프공 타격 상태를 촬영하여 타격 이미지 프레임을 획득하는 단계; 시선 추적 장치가 기 설정된 복수의 상기 타격 이미지 프레임으로 구성된 배치(batch) 단위의 상기 복수의 타격 이미지 프레임 중 골프공 타격 시점을 기준으로 기 설정된 전후의 타격 이미지 프레임을 파악하는 단계; 및 상기 타격 이미지 프레임으로부터 시선추적 알고리즘을 기초로 사용자 시선을 파악하여 골프공 타격 시 사용자의 골프공 응시 여부 및 눈을 감았는지 여부 중 적어도 하나 이상을 파악하는 단계를 포함하고, 상기 시선 추적 장치는 상기 사용자의 골프공 응시 여부 및 눈을 감았는지 여부를 파악하기 위한 복수의 모듈을 포함하고, 상기 골프공 타격 시 사용자의 골프공 응시 여부 및 눈을 감았는지 여부를 파악하는 단계에서, 상기 복수의 모듈 및 상기 복수의 타격 이미지 프레임을 실행기준에 따라 멀티 스레드 처리 및 싱글 스레드 처리 중 어느 하나로 처리한다.An eye tracking method for golf hitting monitoring according to another embodiment includes the steps of obtaining a hitting image frame by photographing the user's golf ball hitting state by a photographing device; Identifying, by the eye tracking device, preset before and after hitting image frames based on a golf ball hitting point among the plurality of hitting image frames in a batch unit composed of the plurality of preset hitting image frames; And determining the user's gaze based on an eye tracking algorithm from the hitting image frame to determine at least one of whether the user is staring at the golf ball and whether the user has closed his or her eyes when hitting the golf ball, wherein the eye tracking device Includes a plurality of modules for determining whether the user is staring at the golf ball and whether the user has closed his or her eyes, and in the step of determining whether the user is staring at the golf ball and whether the user has closed his or her eyes when hitting the golf ball, the plurality of modules The module and the plurality of hitting image frames are processed in either multi-thread processing or single-thread processing according to execution standards.
상기 골프 타격 모니터링용 시선 추적 방법은, 상기 골프공 타격 시 사용자의 골프공 응시 여부 및 눈을 감았는지 여부를 파악하는 단계 이전에, 학습 대상자들의 타격 이미지 프레임을 획득하는 단계; 및 시선 추적 장치가 상기 학습 대상자들의 타격 이미지 프레임으로부터 획득된 최초 시선 예측 정보를 비롯한 정적 캘리브레이션 정보를 포함하는 사전 시선 예측 정보를 생성하는 단계를 더 포함할 수 있다.The eye-tracking method for golf hitting monitoring includes the steps of acquiring hitting image frames of study subjects before determining whether the user gazes at the golf ball and closes his or her eyes when hitting the golf ball; And the gaze tracking device may further include generating preliminary gaze prediction information including static calibration information including initial gaze prediction information obtained from the hitting image frames of the learning subjects.
상기 골프공 타격 시 사용자의 골프공 응시 여부 및 눈을 감았는지 여부를 파악하는 단계는, 사용자의 얼굴 이미지 및 눈동자 이미지를 상기 시선추적 알고리즘에 적용하여 상기 사용자의 시선 예측 정보를 산출하는 단계; 상기 시선 예측 정보에 상기 사전 시선 예측 정보 및 메타 데이터를 반영한 캘리브레이션을 수행하여 최종 시선 예측 정보를 획득하는 단계; 상기 최종 시선 예측 정보, 눈 깜빡임 데이터 및 촬영영역에서의 골프공 위치를 이용하여 상기 골프공 타격 시점의 상기 사용자의 골프공 응시 여부 및 눈을 감았는지 여부를 파악하는 단계를 포함할 수 있다.The step of determining whether the user gazes at the golf ball and whether the user's eyes are closed when hitting the golf ball includes applying the user's face image and eye image to the eye tracking algorithm to calculate the user's gaze prediction information; Obtaining final gaze prediction information by performing calibration reflecting the preliminary gaze prediction information and meta data on the gaze prediction information; It may include determining whether the user is looking at the golf ball and whether the user's eyes are closed at the time of hitting the golf ball using the final gaze prediction information, eye blink data, and the golf ball position in the shooting area.
상기 골프 타격 모니터링용 시선 추적 방법은, 상기 골프공 타격 시 사용자의 골프공 응시 여부 및 눈을 감았는지 여부를 파악하는 단계에서, 상기 복수의 모듈 중 현재 모듈의 처리 시 이전 모듈의 연산 결과가 필요한 경우 상기 현재 모듈에 대해 상기 싱글 스레드 처리로 분류하고, 상기 현재 모듈의 처리 시 이전 모듈의 연산 결과가 불필요한 경우 상기 현재 모듈에 대해 상기 멀티 스레드 처리로 분류하여 처리할 수 있다.The eye tracking method for golf hitting monitoring is, in the step of determining whether the user gazes at the golf ball and whether the user has closed his or her eyes when hitting the golf ball, the calculation result of the previous module is required when processing the current module among the plurality of modules. In this case, the current module may be classified into the single-thread processing, and if the operation result of the previous module is unnecessary when processing the current module, the current module may be classified and processed as the multi-thread processing.
다른 실시예에 따른 비-일시적 컴퓨터 판독 가능 기록매체는 상술한 골프 타격 모니터링용 시선 추적 방법을 컴퓨터에 실행시키기 위한 프로그램을 기록한다.A non-transitory computer-readable recording medium according to another embodiment records a program for executing the eye-tracking method for golf hitting monitoring described above on a computer.
개시되는 실시예들에 따르면, 골프 스윙 시 사용자의 시선이 골프공을 정확히 응시했는지 여부 및 사용자가 눈을 감았는지 여부를 파악할 수 있어 사용자의 스윙 분석력을 강화할 수 있다는 효과를 기대할 수 있다.According to the disclosed embodiments, it is possible to determine whether the user's gaze is accurately focused on the golf ball and whether the user has closed his or her eyes during the golf swing, which can be expected to enhance the user's swing analysis ability.
또한, 개시되는 실시예들은 사용자의 시선 분석 처리를 실행기준에 따라 멀티 스레드 환경 또는 싱글 스레드 환경으로 구분하여 처리하기 때문에, 시선 분석 처리 시의 연산 처리 속도를 향상시킬 수 있다.In addition, since the disclosed embodiments process the user's gaze analysis processing by dividing it into a multi-threaded environment or a single-threaded environment according to execution standards, the calculation processing speed during gaze analysis processing can be improved.
또한, 개시되는 실시예들은 사용자의 시선을 객관적으로 분석할 수 있고, 이로 인해 코칭 스태프가 체크하기 힘든 부분까지 체크하여 사용자의 스윙 자세를 효과적으로 교정할 수 있다.Additionally, the disclosed embodiments can objectively analyze the user's gaze, thereby effectively correcting the user's swing posture by checking parts that are difficult for the coaching staff to check.
또한, 개시되는 실시예들은 사용자의 스윙 교정에 있어 시선분석 리포팅이 가능하므로 코칭 스태프의 인건비를 절감할 수 있다.Additionally, the disclosed embodiments enable gaze analysis reporting in correcting a user's swing, thereby reducing the labor costs of coaching staff.
도 1은 일 실시예에 따른 시선 추적 시스템을 설명하기 위한 블록도1 is a block diagram illustrating an eye tracking system according to an embodiment.
도 2는 도 1의 시선 추적 장치를 설명하기 위한 블록도Figure 2 is a block diagram for explaining the eye tracking device of Figure 1
도 3은 일 실시예에 따른 시선 추적 방법을 개략적으로 설명하기 위한 예시도Figure 3 is an example diagram schematically illustrating an eye tracking method according to an embodiment.
도 4는 일 실시예에 따른 실행 모드에 따라 시선 추적 처리를 수행하는 방법을 설명하기 위한 예시도Figure 4 is an example diagram illustrating a method of performing eye tracking processing according to an execution mode according to an embodiment.
도 5 내지 도 7은 일 실시예에 따른 시선 추적 방법을 설명하기 위한 예시도5 to 7 are exemplary diagrams for explaining an eye tracking method according to an embodiment.
도 8은 일 실시예에 따른 시선 추적 방법을 설명하기 위한 흐름도Figure 8 is a flowchart illustrating an eye tracking method according to an embodiment.
도 9는 도 8의 일부를 상세 설명하기 위한 흐름도Figure 9 is a flowchart for explaining part of Figure 8 in detail.
도 10은 일 실시예에 따른 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도10 is a block diagram for illustrating and illustrating a computing environment including a computing device according to an embodiment.
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.Hereinafter, specific embodiments of the present invention will be described with reference to the drawings. The detailed description below is provided to provide a comprehensive understanding of the methods, devices and/or systems described herein. However, this is only an example and the present invention is not limited thereto.
본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.In describing the embodiments of the present invention, if it is determined that a detailed description of the known technology related to the present invention may unnecessarily obscure the gist of the present invention, the detailed description will be omitted. In addition, the terms described below are terms defined in consideration of functions in the present invention, and may vary depending on the intention or custom of the user or operator. Therefore, the definition should be made based on the contents throughout this specification. The terminology used in the detailed description is merely for describing embodiments of the present invention and should in no way be limiting. Unless explicitly stated otherwise, singular forms include plural meanings. In this description, expressions such as “comprising” or “comprising” are intended to indicate certain features, numbers, steps, operations, elements, parts or combinations thereof, and one or more than those described. It should not be construed to exclude the existence or possibility of any other characteristic, number, step, operation, element, or part or combination thereof.
도 1은 일 실시예에 따른 시선 추적 시스템을 설명하기 위한 블록도이고, 도 2는 도 1의 시선 추적 장치를 설명하기 위한 블록도이다.FIG. 1 is a block diagram for explaining an eye tracking system according to an embodiment, and FIG. 2 is a block diagram for explaining the eye tracking device of FIG. 1 .
이하에서는, 일 실시예에 따른 시선 추적 방법을 개략적으로 설명하기 위한 예시도인 도 3, 일 실시예에 따른 실행 모드에 따라 시선 추적 처리를 수행하는 방법을 설명하기 위한 예시도인 도 4 및 일 실시예에 따른 시선 추적 방법을 설명하기 위한 예시도인 도 5 내지 도 7을 참고하여 설명하기로 한다.Below, FIG. 3, which is an exemplary diagram for schematically explaining an eye tracking method according to an embodiment, FIG. 4, which is an exemplary diagram for explaining a method for performing eye tracking processing according to an execution mode according to an embodiment, and FIG. The eye tracking method according to the embodiment will be described with reference to FIGS. 5 to 7 which are exemplary diagrams for explaining the eye tracking method according to the embodiment.
도 1을 참고하면, 골프 타격 모니터링용 시선 추적 시스템(이하에서는 '시선 추적 시스템'이라 하기로 함)(1000)은 촬영 기기(100) 및 시선 추적 장치(200)를 포함한다.Referring to FIG. 1 , an
촬영 기기(100)는 사용자의 골프공 타격 상태를 촬영하여 타격 이미지 프레임을 획득하기 위한 구성일 수 있다. The photographing
이때, 촬영 기기(100)는 사용자의 스윙 시 전체 샷을 촬영하기 위한 촬영 기기, 사용자의 얼굴 이미지 및 눈동자를 촬영하기 위한 촬영 기기, 사용자의 전면을 촬영하기 위한 촬영 기기, 사용자의 사이드를 촬영하기 위한 촬영 기기 및 천장에 설치되어 사용자의 스윙 시 탑 샷을 촬영하기 위한 촬영 기기 등 복수 개일 수 있다. 상기 복수 개의 촬영 기기(100)는 각각의 식별정보가 매칭되어 타격 이미지 프레임을 전달할 때 함께 전송할 수 있다.At this time, the photographing
시선 추적 장치(200)는 기 설정된 복수의 타격 이미지 프레임으로 구성된 배치(batch) 단위의 복수의 타격 이미지 프레임 중 골프공 타격 시점을 기준으로 기 설정된 전후의 타격 이미지 프레임으로부터 시선추적 알고리즘을 기초로 사용자 시선을 파악하여 골프공 타격 시 사용자의 골프공 응시 여부 및 눈을 감았는지 여부 중 적어도 하나 이상을 파악할 수 있다. 상기 시선추적 알고리즘은 사전 시선 예측, 사용자의 시선 예측, 사용자의 최종 시선 예측 등을 처리하기 위한 시선예측 알고리즘 및 사용자가 눈을 감았는지 여부를 파악하기 위한 블링크(blink) 알고리즘을 포함할 수 있다. 이에 대한 상세 설명은 후술하기로 한다.The
이때, 골프공 타격 시점은 실내 스크린 골프장에 구비된 골프기기 또는 실내외 개인용 골프기기 등의 골프기기(미도시)로부터 전달될 수 있다. 이에 한정되지 않고, 시선 추적 장치(200)가 복수의 타격 이미지 프레임을 머신러닝을 적용한 분석 등을 통해 자체적으로 골프공 타격 시점을 파악하는 것 역시 가능하다 할 것이다.At this time, the timing of hitting the golf ball may be transmitted from a golf device (not shown) such as a golf device provided at an indoor screen golf course or an indoor/outdoor personal golf device. Not limited to this, it is also possible for the
본 실시예에서는 촬영 기기(100)로부터 촬영된 단일 타격 이미지 프레임을 실시간으로 수신하는 것이 아니라, 기 설정된 배치 단위의 복수의 타격 이미지 프레임을 수신하여 시선 추적 처리를 수행하기 때문에, 후술하는 멀티 스레드 방식의 연산 처리를 적용하여 처리 속도 향상 및 시선 추적 정확도를 향상시킬 수 있다는 효과를 기대할 수 있다.In the present embodiment, rather than receiving a single hitting image frame captured from the
도 5를 참고하면, 시선 추적 장치(200)는 촬영 기기(100)를 통해 사용자의 골프공 타격 시점의 기 설정된 전후의 타격 이미지 프레임을 캘리브레이션 데이터로 수집할 수 있다. 예를 들어, 기 설정된 전후는 테이크어웨이 동작 및 백스윙 동작을 수행하는 시점, 또는 어드레스 동작 및 테이크웨이 동작을 수행하는 시점, 또는 타격전 3초 내지 타격 후 0.5초 등일 수 있으며, 이에 한정되지 않고, 운용자에 의해서 임의로 설정될 수 있다.Referring to FIG. 5 , the
상기 타격 이미지 프레임은 촬영 기기(100)를 통해 촬영되어 배치단위로 시선 추적 장치(200)로 입력되는 비실시간 이미지 프레임일 수 있다.The hitting image frame may be a non-real-time image frame that is captured through the photographing
시선 추적 장치(200)는 촬영 기기(100)로부터 복수의 타격 이미지 프레임을 수신할 때, 촬영 시간 기준의 이미지 프레임 순서에 따라 복수의 타격 이미지 프레임을 수신할 수 있다. 즉, 시선 추적 장치(200)는 촬영된 시간 순서에 따라 복수의 타격 이미지 프레임을 수신할 수 있다는 것이다.When receiving a plurality of striking image frames from the photographing
시선 추적 장치(200)는 사용자의 골프공 응시 여부 및 눈을 감았는지 여부를 파악하기 위한 복수의 모듈을 포함하고, 복수의 모듈 및 복수의 타격 이미지 프레임을 실행기준에 따라 멀티 스레드 처리 및 싱글 스레드 처리 중 어느 하나로 처리할 수 있다.The
도 2를 참고하면, 시선 추적 장치(200)는 얼굴 탐색 모듈(210), 랜드마크 추출 모듈(220), 이미지 정규화 모듈(230), 시선 추적 모듈(240), 연산 처리 제어부(250) 및 모니터링부(260)를 포함한다.Referring to FIG. 2, the
보다 상세히 설명하면, 얼굴 탐색 모듈(210)은 타격 이미지 프레임으로부터 얼굴 영역을 탐색하여 관심 영역(region of interest)을 지정할 수 있다.In more detail, the
즉, 얼굴 탐색 모듈(210)은 배치 단위의 복수의 타격 이미지 프레임 내 얼굴 이미지의 각도와 헤드 포즈를 파악하기 위한 기준점을 생성하는 것이다.That is, the
랜드마크 추출 모듈(220)은 타격 이미지 프레임의 사용자의 얼굴 이미지 내 얼굴의 주요 특징인 복수의 랜드마크 좌표를 파악할 수 있다.The landmark extraction module 220 can determine the coordinates of a plurality of landmarks that are main features of the face in the user's face image of the hitting image frame.
구체적으로, 랜드마크 추출 모듈(220)은 사용자 시선 예측을 위한 단초가 되는 얼굴의 위치, 회전, 카메라와의 거리 등의 정보를 알기 위해서 타격 이미지 프레임 내의 얼굴 특징점, 즉 랜드마크들의 좌표를 추출할 수 있다.Specifically, the landmark extraction module 220 extracts the coordinates of facial feature points, that is, landmarks, within the hitting image frame in order to obtain information such as the position, rotation, and distance from the camera of the face, which are the starting point for predicting the user's gaze. You can.
이미지 정규화 모듈(230)은 타격 이미지 프레임으로부터 탐색된 얼굴 영역의 위치 및 회전 각도를 기 학습된 얼굴 영역의 위치 및 회전 각도를 기초로 정규화된 공간 상의 얼굴 이미지로 변환하여 정규화 할 수 있다. 도 3에서 도시하는 바와 같이, 이미지 정규 모듈(230)은 카메라 내부 파라미터(camera intrinsic parameters), 사용자의 헤드 포즈(head pose) 및 카메라와의 이격 거리(distance to subject)를 포함하는 메타 데이터를 적용하여 정규화 처리할 수 있다.The
외모 기반 시선 예측은 헤드 포즈(head pose), 사용자와 촬영 기기 간의 거리 변동성 등으로 인해 시선 예측에 어려움이 있을 수 있다. 이미지 정규화는 입력된 이미지와 시선 레이블들을 정규화된 공간에 매핑하여 상술한 기하학적 변동성을 제거하기 위한 것이다.Appearance-based gaze prediction may have difficulty predicting gaze due to head pose and distance variability between the user and the recording device. Image normalization is intended to remove the above-mentioned geometrical variability by mapping the input image and gaze labels to a normalized space.
본 실시예에 따른 이미지 정규화 모듈(230)은 헤드 회전 및 이동으로 인한 변동성을 줄임으로써 학습 기반 시선 추정을 위한 훈련 및 테스트 데이터를 정렬할 수 있다.The
이미지 정규화 모듈(230)은 임의의 헤드 포즈가 있는 3차원 얼굴 메시(3D face mesh)에서 눈 이미지의 합성을 용이하게 하기 위해 눈 이미지와 시선 방향을 정규화된 공간으로 변환할 수 있다. 이미지 정규화 모듈(230)에 의해서 합성된 이미지는 시선 추적에 사용될 수 있다.The
이미지 정규화 모듈(230)은 카메라를 회전하고 눈에서 고정된 거리로 이동시키고 그에 따라 시선 방향을 조정할 수 있다. 정규화된 공간의 타격 이미지 프레임이 동일한 내부 및 외부 카메라 매개변수를 공유한다는 점을 고려하여 이미지 정규화 모듈(230)은 정규화된 공간에서 훈련 및 테스트할 수 있는 것이다.
상술한 이미지 정규화 모듈(230)에 따른 표준화된 입력형태는 시선 예측 모델의 정확성을 높이고, 새로운 사용자의 시선 예측에 대한 일반화 성능을 향상시킬 수 있다.The standardized input form according to the
시선 추적 모듈(240)은 사용자의 얼굴 이미지 및 눈동자 이미지를 시선추적 알고리즘에 적용하여 사용자의 시선 예측 정보를 산출하고, 시선 예측 정보에 학습 대상자들의 타격 이미지 프레임으로부터 획득된 최초 시선 예측 정보를 비롯한 정적 캘리브레이션 정보를 포함하는 사전 시선 예측 정보 및 메타 데이터를 반영한 캘리브레이션을 수행하여 최종 시선 예측 정보를 획득할 수 있다. 이때, 시선 추적 모듈(240)은 시선추적 알고리즘의 시선예측 알고리즘을 적용할 수 있다.The
상술한 사용자의 얼굴 이미지 및 눈동자 이미지는 기 수집된 추가 얼굴 이미지 및 눈동자 이미지를 더 포함할 수 있다. 이때, 시선 추적 모듈(240)에 입력되는 사용자의 얼굴 이미지 및 눈동자 이미지는 이미지 정규화 처리 후의 이미지일 수 있다.The user's face image and eye image described above may further include previously collected additional face images and eye images. At this time, the user's face image and eye image input to the
도 3을 참고하면, 상기 메타 데이터는 카메라 내부 파라미터(camera intrinsic parameters), 사용자의 헤드 포즈(head pose) 및 카메라와의 이격 거리를 포함할 수 있다.Referring to FIG. 3, the metadata may include camera intrinsic parameters, the user's head pose, and the separation distance from the camera.
도 2를 참고하면, 시선 추적 모듈(240)은 시선 예측 모델 및 눈 깜빡임 예측 모델을 포함할 수 있다. 도 3에서 개시하는 바와 같이, 본 실시예에 따른 시선 추적 모듈(240)은 시선 예측 모델(Gaze Model) 및 눈 깜빡임 예측 모델(Blink Model) 이외에 실행기준에 따라 독립적으로 병렬 처리할 수 있는 모듈들을 추가로 포함할 수 있다. 이때, 추가되는 모듈 역시 실행기준에 따라 병렬 처리 이외에 순차 처리 역시 가능할 수 있다.Referring to FIG. 2, the
시선 예측 모델은 학습 대상자들의 골프공 타격 상태를 촬영하여 획득된 타격 이미지 프레임으로부터 기 설정된 위치의 골프공 좌표 및 상기 골프공 좌표에 대응되는 학습 대상자들의 최초 시선 예측 정보를 포함하는 사전 시선 예측 정보를 파악할 수 있다.The gaze prediction model generates preliminary gaze prediction information including the golf ball coordinates at a preset position and the initial gaze prediction information of the learning subjects corresponding to the golf ball coordinates from the hitting image frame obtained by photographing the golf ball hitting state of the learning subjects. It can be figured out.
시선 추적 모듈(240)은 사전에 정확한 위치를 알고 있는 지점을 기 설정된 시간 동안 학습자가 응시하고 있는 타격 이미지 프레임(타격 영상)의 분석 과정을 통해 사전 시선 예측 정보를 생성할 수 있다. 상기 타격 이미지 프레임에서 시선 예측 모델이 최초로 예측하는 시선정보는 사람들의 공통적인 특성, 조명 등의 촬영조건 하의 일반화된 시선 예측으로, 분석하고자 하는 사용자 개인의 시선 방향과 차이가 있을 수 있다. 이러한 차이는 분석하고자 하는 사용자의 개인적인 특성으로부터 발생하는 값으로 사용자의 시선 예측 과정에서 일관되게 존재하는 개인적인 차이일 수 있다. 본 실시예의 시선 추적 모듈(240)은 사전 시선 예측 처리에서 파악한 개인별 특징 요소를 저장하고, 이후의 사용자의 타격 이미지 프레임별 시선 예측 시 반영하여 캘리브레이션을 수행함에 따라 더욱 정확한 최종 시선 예측 정보를 획득할 수 있다.The
도 3을 참고하면, 시선 예측 모델은 시선예측 알고리즘에 따라 골프공 타격 시점에 타격 이미지 프레임 내 사용자의 3차원 시선 방향 벡터(3D gaze direction vector)를 추출하고, 3차원 시선 방향 벡터 및 메타 데이터를 이용하여 화면 상에 디스플레이 되는 사용자의 2차원 시선 지점 좌표를 산출(2D PoG conversion)하여 시선 예측 정보를 산출할 수 있다.Referring to Figure 3, the gaze prediction model extracts the user's 3D gaze direction vector within the hitting image frame at the time of hitting the golf ball according to the gaze prediction algorithm, and extracts the 3D gaze direction vector and metadata. Gaze prediction information can be calculated by calculating the coordinates of the user's 2D gaze point displayed on the screen (2D PoG conversion).
시선 예측 모델은 타격 이미지 프레임 내 사용자의 얼굴 영역 위치가 기 설정된 기준 위치와 상이한 경우, 사용자의 얼굴 영역 위치를 기 설정된 기준 위치와 일치하도록 보정할 수 있다. 상기 기 설정된 기준 위치는 촬영 기기(100)의 촬영영역 내에서 사용자의 얼굴 이미지를 양호한 상태로 획득하기 위해 미리 설정된 위치일 수 있다.If the position of the user's face area within the hitting image frame is different from the preset reference position, the gaze prediction model may correct the position of the user's face area to match the preset reference position. The preset reference position may be a preset position to obtain a good image of the user's face within the capturing area of the photographing
눈 깜빡임 예측 모델은 블링크 알고리즘에 따라 골프공 타격 시점에 타격 이미지 프레임 내 사용자가 눈을 감았는지 여부를 파악할 수 있다. 이때, 블링크 알고리즘은 타격 이미지 프레임 내에서 파악된 눈 이미지를 통해 눈을 감고 있는지 또는 뜨고 있는지 여부를 파악하기 위한 알고리즘일 수 있다.The eye blink prediction model can determine whether the user in the hitting image frame has closed their eyes at the time of hitting the golf ball according to the blink algorithm. At this time, the blink algorithm may be an algorithm for determining whether the eyes are closed or open through the eye image identified within the hitting image frame.
연산 처리 제어부(250)는 복수의 모듈 및 복수의 타격 이미지 프레임 중 어느 하나의 대상의 실행기준에 따라 병렬 실행이 필요한 대상과 순차 실행이 필요한 대상을 분류할 수 있다. 이때, 병렬 실행은 멀티 스레드 방식으로 처리하는 것을 의미하고, 순차 실행은 싱글 스레드 방식으로 처리하는 것을 의미할 수 있다.The calculation
연산 처리 제어부(250)는 분류 결과에 따라 각 대상을 멀티 스레드 처리 및 싱글 스레드 처리 중 어느 하나로 처리할 수 있다.The calculation
구체적으로, 연산 처리 제어부(250)는 복수의 모듈 중 현재 모듈의 처리 시 이전 모듈의 연산 결과가 필요한 경우 현재 모듈에 대해 싱글 스레드 처리로 분류하고, 현재 모듈의 처리 시 이전 모듈의 연산 결과가 불필요한 경우 상기 현재 모듈에 대해 멀티 스레드 처리로 분류할 수 있다.Specifically, the calculation
연산 처리 제어부(250)는 복수의 타격 이미지 프레임 중 현재 타격 이미지 프레임의 처리 시 이전 타격 이미지 프레임의 연산 결과가 필요한 경우 현재 타격 이미지 프레임에 대해 싱글 스레드 처리로 분류하고, 현재 모듈의 처리 시 이전 모듈의 연산 결과가 불필요한 경우 현재 모듈에 대해 멀티 스레드 처리로 분류할 수 있다. 이러한 이전 연산 결과에 따른 분류 방법이 상술한 실행기준일 수 있다.If the calculation result of the previous hitting image frame is required when processing the current hitting image frame among the plurality of hitting image frames, the calculation
즉, 연산 처리 제어부(250)는 현재 타격 이미지 프레임의 처리 시 이전 타격 이미지 프레임에 포함된 정보(예를 들어, 이미지 프레임 및 모듈에 의한 연산 결과)에 의존성을 가지지 않는 타격 이미지 프레임이라면 멀티 스레딩 방식으로 처리할 수 있다.That is, when processing the current hitting image frame, the calculation
연산 처리 제어부(250)는 복수의 모듈 및 복수의 타격 이미지 프레임을 처리하기 위한 복수의 스레드를 포함하고, 복수의 모듈 또는 복수의 타격 이미지 프레임 각각을 적어도 하나 이상의 스레드에 할당할 수 있다.The operation
도 4와 같이, 실행되는 스레드들을 스레드 풀에 모아두고 각 스레드에 모듈에서 처리할 태스크(task)를 할당할 수 있다. 멀티 스레딩 방식은 처리해야 할 다수의 태스크들(예를 들어, 타격 이미지 프레임 또는 타격 이미지 프레임에 대한 이전 모듈의 연산 결과)이 존재하는 경우, 그 순서에 상관없이 처리할 태스크들을 가져와 연산하는 워커, 즉 스레드를 다수 구비하는 방식이다.As shown in Figure 4, executing threads can be collected in a thread pool and tasks to be processed in a module can be assigned to each thread. In the multi-threading method, when there are multiple tasks to be processed (for example, a striking image frame or the calculation result of a previous module for a striking image frame), a worker takes the tasks to be processed and operates them regardless of the order. In other words, it is a method that has a large number of threads.
본 실시예의 연산 처리 제어부(250)의 멀티 스레드 구현 방식은 태스크 기반 멀티 스레딩 개념을 사용하는 것으로서, 한 이미지 프레임을 처리하는 태스크 단위를 다수로 규정할 수 있다. 연산 처리 제어부(250)는 다수의 스레드 중 태스크 처리가 완료된 스레드로 처리할 태스크를 할당하여 연산을 수행하도록 할 수 있다.The multi-threaded implementation method of the operation
일반적으로, 한 이미지 프레임에 대한 모든 모듈 연산 과정을 하나의 스레드에게 할당하고 이런 스레드를 다수 구비하는 멀티 스레드 방식이거나, 각 모듈은 하나의 스레드가 진행할 수 있다.In general, it is a multi-threaded method in which all module calculation processes for one image frame are assigned to one thread and multiple such threads are provided, or each module can be performed by one thread.
도 4를 참고하면, 본 실시예의 연산 처리 제어부(250)는 얼굴 탐색 모듈(210), 랜드마크 추출 모듈(220), 이미지 정규화 모듈(230) 및 시선 추적 모듈(240)을 포함하는 복수의 모듈 각각의 다수의 태스크가 다수의 스레드에서 처리하는 멀티 스레딩 방식일 수 있다. 예를 들어, 연산 처리 제어부(250)는 1 모듈에 대한 태스크 1(1-Task 1) 내지 태스크 6(1-Task 6)을 하나의 스레드에만 순차적으로 할당하는 것이 아니라, 특정 태스크(1-Task 3)에 대해 타 스레드 보다 빠르게 착수할 수 있는 스레드로 할당하거나, 또는 태스크 처리가 완료되어 태스크를 보유하고 있지 않은 스레드로 할당하는 것이다. 이에, 연산 처리 제어부(250)는 이미지 프레임의 순서를 맞추는 동기화 처리, 또는 각 스레드의 결과가 잘 완료되도록 확인하는 절차를 수행할 수 있다.Referring to FIG. 4, the operation
모니터링부(260)는 최종 시선 예측 정보, 눈 깜빡임 데이터 및 촬영영역에서의 골프공 위치를 이용하여 골프공 타격 시점의 사용자의 골프공 응시 여부 및 눈을 감았는지 여부를 파악하기 위한 구성일 수 있다.The
도 6은 복수의 타격 이미지 프레임 중 하나를 나타내는 것으로서, 사용자가 응시해야 할 골프공과 이에 대한 사용자의 시선 예측에 관한 이미지를 예로 나타내고 있다. 이때, 1은 골프공으로 이에 대한 평면 상의 좌표는 이미 저장하고 있는 상태이고, 2는 사용자의 시선을 추적하기 위한 촬영 기기(100)로 이에 대한 위치 정보 역시 기 저장된 상태일 수 있다.Figure 6 shows one of a plurality of hitting image frames, and shows as an example an image of a golf ball at which the user should gaze and prediction of the user's gaze with respect to the golf ball. At this time, 1 is a golf ball and its coordinates on the plane have already been stored, and 2 is the
모니터링부(260)는 촬영 기기(100)에 의해서 촬영되어 파악된 최종 시선 예측 정보를 통해 촬영 기기(100)의 상대적 위치로부터 골프공의 위치를 기준으로 사용자가 응시하고 있는 영역의 위치(도 6의 3)를 파악할 수 있다. 즉, 3은 사용자의 응시 지점인 것이다.The
한편, 캘리브레이션을 위한 사전 시선 예측 처리인 경우, 시선 예측 모델은 1과 3의 차이로부터 학습할 이미지 프레임에 적용될 개인의 특성을 파악할 수 있다.Meanwhile, in the case of preliminary gaze prediction processing for calibration, the gaze prediction model can identify individual characteristics to be applied to the image frame to be learned from the difference between 1 and 3.
모니터링부(260)는 골프공 타격 시점의 사용자의 시선 좌표인 3이 어떻게 유지되는지와 변화하였는지를 수집, 분석 및 축적한 시선 분석 리포팅을 사용자가 확인할 수 있도록 제공하여, 사용자의 골프 스윙 자세 교정에 활용할 수 있도록 하는 것이다.The
도 7은 도 6을 시각화 한 예시로서, 기 설정된 기간 동안 사용자의 시선이 집중된 영역(ⓐ) 및 시선이 미치지 않는 영역(ⓑ)을 구분하여 표시한 특징 지도(saliency map)를 나타낸 것이다. 모니터링부(260)는 도 7의 시선 분석 맵을 시선 분석 리포팅에 포함하여 사용자 단말로 제공할 수 있다.Figure 7 is an example visualizing Figure 6 and shows a feature map (saliency map) that distinguishes between the area where the user's gaze is focused (ⓐ) and the area where the user's gaze is not (ⓑ) during a preset period. The
모니터링부(260)는 사용자가 골프공의 타격 시점에 골프공을 응시하지 않고 있거나, 또는 눈을 감고 있는 상태인 경우, 기 설정된 알람을 출력할 수 있다. 예를 들어, 모니터링부(260)는 시선 추적 서비스를 제공하는 주체가 실내 스크린 골프장에 구비된 골프 분석 기기, 또는 실내외용 개인용 골프기기인 경우, 해당 기기의 화면을 통해 골프공 타격 시점의 사용자의 골프공 응시 여부 및 눈을 감았는지 여부를 표시하여 사용자가 확인할 수 있도록 할 수 있다.The
모니터링부(260)는 촬영 기기(100)를 통해 획득된 타격 이미지 프레임 내 사용자의 얼굴 영역 위치를 비롯한 촬영 결과가 기 설정된 촬영조건과 일치하지 않는 경우, 촬영 기기의 위치 및 각도와 조명의 위치, 각도 및 밝기를 비롯한 촬영 환경을 조정할 수 있도록 알림을 출력할 수 있다.If the shooting result, including the location of the user's face area within the striking image frame acquired through the
모니터링부(260)는 최적의 환경 조건에서 사용자의 얼굴 및 눈동자를 촬영할 수 있도록 조명(미도시) 및 촬영 기기(100)의 위치, 각도 및 밝기 등의 조건을 조정할 수 있도록 운용자의 단말로 알림을 전송할 수 있다.The
한편, 모니터링부(260)와 조명 및 촬영 기기(100) 각각과의 유무선 통신이 가능한 경우, 모니터링부(260)는 각각으로 제어 정보를 전송하여 원격으로 구동모터를 제어하여 각도를 변경하거나, 밝기 등의 조건을 조정할 수 있다.On the other hand, when wired and wireless communication is possible between the
도 8은 일 실시예에 따른 시선 추적 방법을 설명하기 위한 흐름도이다. 도 8에 도시된 방법은 예를 들어, 전술한 시선 추적 시스템(1000)에 의해 수행될 수 있다. 도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.Figure 8 is a flowchart for explaining an eye tracking method according to an embodiment. The method shown in FIG. 8 may be performed, for example, by the
101 단계에서, 촬영 기기(100)는 학습 대상자들의 타격 이미지 프레임을 획득할 수 있다.In
103 단계에서, 시선 추적 장치(200)는 학습 대상자들의 타격 이미지 프레임으로부터 획득된 최초 시선 예측 정보를 비롯한 정적 캘리브레이션 정보를 포함하는 사전 시선 예측 정보를 생성할 수 있다.In
105 단계에서, 촬영 기기(100)는 사용자의 골프공 타격 상태를 촬영하여 타격 이미지 프레임을 획득할 수 있다. 이때, 촬영 기기(100)는 사용자의 얼굴 이미지 및 눈동자 이미지를 획득할 수 있는 위치에 구비되어, 촬영할 수 있다.In
107 단계에서, 시선 추적 장치(200)는 기 설정된 복수의 타격 이미지 프레임으로 구성된 배치(batch) 단위의 복수의 타격 이미지 프레임 중 골프공 타격 시점을 기준으로 기 설정된 전후의 타격 이미지 프레임을 파악할 수 있다.In
또한, 시선 추적 장치(200)는 타격 이미지 프레임으로부터 시선추적 알고리즘을 기초로 사용자 시선을 파악하여 골프공 타격 시 사용자의 골프공 응시 여부 및 눈을 감았는지 여부 중 적어도 하나 이상을 파악할 수 있다. 이때, 시선추적 알고리즘은 시선예측 알고리즘 및 블링크 알고리즘을 포함할 수 있다.In addition, the
상기 시선 추적 장치(200)는 사용자의 골프공 응시 여부 및 눈을 감았는지 여부를 파악하기 위한 복수의 모듈을 포함할 수 있다. 상기 복수의 모듈은 얼굴 탐색 모듈(210), 랜드마크 추출 모듈(220), 이미지 정규화 모듈(230) 및 시선 추적 모듈(240)을 포함할 수 있다. 상기 시선 추적 모듈(240)은 시선 예측 모델 및 눈 깜빡임 예측 모델을 포함할 수 있고, 이에 더해 추가로 멀티 스레드 처리가 가능한 모듈을 더 포함할 수 있다.The
107 단계에서, 시선 추적 장치(200)는 복수의 모듈 및 복수의 타격 이미지 프레임을 실행기준에 따라 멀티 스레드 처리 및 싱글 스레드 처리 중 어느 하나로 처리할 수 있다.In
107 단계에서, 시선 추적 장치(200)는 복수의 모듈 및 복수의 타격 이미지 프레임 중 어느 하나의 대상의 실행기준에 따라 병렬 실행이 필요한 대상과 순차 실행이 필요한 대상을 분류할 수 있다.In
시선 추적 장치(200)는 분류 결과에 따라 상기 각 대상을 상기 멀티 스레드 처리 및 상기 싱글 스레드 처리 중 어느 하나로 처리할 수 있다.The
구체적으로, 시선 추적 장치(200)는 복수의 모듈 중 현재 모듈의 처리 시 이전 모듈의 연산 결과가 필요한 경우 현재 모듈에 대해 싱글 스레드 처리로 분류하고, 현재 모듈의 처리 시 이전 모듈의 연산 결과가 불필요한 경우 상기 현재 모듈에 대해 멀티 스레드 처리로 분류할 수 있다.Specifically, when processing the current module among a plurality of modules, the
시선 추적 장치(200)는 복수의 타격 이미지 프레임 중 현재 타격 이미지 프레임의 처리 시 이전 타격 이미지 프레임의 연산 결과가 필요한 경우 현재 타격 이미지 프레임에 대해 싱글 스레드 처리로 분류하고, 현재 모듈의 처리 시 이전 모듈의 연산 결과가 불필요한 경우 현재 모듈에 대해 멀티 스레드 처리로 분류할 수 있다.If the calculation result of the previous hitting image frame is required when processing the current hitting image frame among the plurality of hitting image frames, the
즉, 시선 추적 장치(200)는 현재 타격 이미지 프레임의 처리 시 이전 타격 이미지 프레임에 포함된 정보(예를 들어, 이미지 프레임 및 모듈에 의한 연산 결과)에 의존성을 가지지 않는 타격 이미지 프레임이라면 멀티 스레딩 방식으로 처리할 수 있다.That is, when processing the current hitting image frame, the
시선 추적 장치(200)는 복수의 모듈 및 복수의 타격 이미지 프레임을 처리하기 위한 복수의 스레드를 포함하고, 복수의 모듈 또는 복수의 타격 이미지 프레임 각각을 적어도 하나 이상의 스레드에 할당할 수 있다.The
109 단계에서, 시선 추적 장치(200)는 파악된 골프공 타격 시점의 사용자의 골프공 응시 여부 및 눈을 감았는지 여부를 화면 상에 출력하거나, 사용자 단말로 전송하거나, 또는 운용자 단말로 전송할 수 있다.In
도 9는 도 8의 일부를 상세 설명하기 위한 흐름도로서, 도 8의 107의 단계를 상세히 설명하기 위한 도면이다.FIG. 9 is a flowchart for explaining a part of FIG. 8 in detail, and is a diagram for explaining
201 단계에서, 시선 추적 장치(200)는 타격 이미지 프레임으로부터 얼굴 영역을 탐색하여 관심 영역(Region of interest)을 지정할 수 있다.In
203 단계에서, 시선 추적 장치(200)는 타격 이미지 프레임의 사용자의 얼굴 이미지 내 얼굴의 주요 특징인 복수의 랜드마크 좌표를 파악할 수 있다.In
205 단계에서, 시선 추적 장치(200)는 타격 이미지 프레임으로부터 탐색된 얼굴 영역의 위치 및 회전 각도를 기 학습된 얼굴 영역의 위치 및 회전 각도를 기초로 정규화된 공간 상의 얼굴 이미지로 변환하여 정규화 할 수 있다.In
207 단계 및 209 단계에서, 시선 추적 장치(200)는 사용자의 얼굴 이미지 및 눈동자 이미지를 시선추적 알고리즘에 적용하여 상기 사용자의 시선 예측 정보를 산출할 수 있다.In
구체적으로, 시선 추적 장치(200)는 시선추적 알고리즘에 따라 골프공 타격 시점에 타격 이미지 프레임 내 사용자의 3차원 시선 방향 벡터(3D gaze direction vector)를 추출하고, 3차원 시선 방향 벡터 및 메타 데이터를 이용하여 화면 상에 디스플레이 되는 사용자의 2차원 시선 지점 좌표를 산출(2D PoG conversion)하여 시선 예측 정보를 산출할 수 있다.Specifically, the
211 단계에서, 시선 추적 장치(200)는 시선 예측 정보에 사전 시선 예측 정보 및 메타 데이터를 반영한 캘리브레이션을 수행하여 최종 시선 예측 정보를 획득할 수 있다.In
213 단계에서, 시선 추적 장치(200)는 최종 시선 예측 정보, 눈 깜빡임 데이터 및 촬영영역에서의 골프공 위치를 이용하여 골프공 타격 시점의 사용자의 골프공 응시 여부 및 눈을 감았는지 여부를 파악할 수 있다.In
본 실시예는 상술한 도 8 및 9의 골프 타격 모니터링용 시선 추적 방법을 컴퓨터에 실행시키기 위한 프로그램이 기록되어 있는 비-일시적 컴퓨터 판독 가능 기록매체를 포함한다.This embodiment includes a non-transitory computer-readable recording medium on which a program for executing the eye tracking method for golf hitting monitoring shown in FIGS. 8 and 9 described above is recorded on a computer.
도 10은 일 실시예에 따른 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에 서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술된 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.FIG. 10 is a block diagram illustrating and illustrating a computing environment including a computing device according to an embodiment. In the illustrated embodiment, each component may have different functions and capabilities in addition to those described below, and may include additional components in addition to those described below.
도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 시선 추적 장치(200)일 수 있다. 또한, 컴퓨팅 장치(12)는 시선 추적 시스템(1000)일 수 있다.The illustrated
컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.
컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.Computer-
통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.
컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(12)와 연결될 수도 있다.
이상에서 본 발명의 대표적인 실시예들을 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 청구범위뿐만 아니라 이 청구범위와 균등한 것들에 의해 정해져야 한다.Although representative embodiments of the present invention have been described in detail above, those skilled in the art will understand that various modifications can be made to the above-described embodiments without departing from the scope of the present invention. . Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined not only by the claims described below but also by equivalents to these claims.
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR10-2022-0045691 | 2022-04-13 | ||
| KR1020220045691AKR20230147237A (en) | 2022-04-13 | 2022-04-13 | Eye tracking system and method for golf hitting monitoring, and computer readable recording medium |
| Publication Number | Publication Date |
|---|---|
| WO2023200038A1true WO2023200038A1 (en) | 2023-10-19 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/KR2022/007024CeasedWO2023200038A1 (en) | 2022-04-13 | 2022-05-17 | Eye tracking system and method for monitoring golf hitting, and non-transitory computer-readable recording medium |
| Country | Link |
|---|---|
| KR (1) | KR20230147237A (en) |
| WO (1) | WO2023200038A1 (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20090061177A (en)* | 2007-12-11 | 2009-06-16 | 한국전자통신연구원 | Multithreading framework supporting dynamic load balancing and processing methods using it |
| KR20110019837A (en)* | 2009-08-21 | 2011-03-02 | 이재복 | Point of view adaptive screen golf system and screen golf display method |
| KR20120052224A (en)* | 2009-07-09 | 2012-05-23 | 나이키 인터내셔널 엘티디. | Eye and body movement tracking for testing and/or training |
| KR102232253B1 (en)* | 2020-06-29 | 2021-03-25 | (주)케이에스전자 | Posture comparison and correction method using an application that checks two golf images and result data together |
| KR102256260B1 (en)* | 2020-02-10 | 2021-05-27 | (주) 알디텍 | Smart camera sensor for screen golf |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100926754B1 (en) | 2009-03-17 | 2009-11-16 | 권주환 | Golf Teaching System |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20090061177A (en)* | 2007-12-11 | 2009-06-16 | 한국전자통신연구원 | Multithreading framework supporting dynamic load balancing and processing methods using it |
| KR20120052224A (en)* | 2009-07-09 | 2012-05-23 | 나이키 인터내셔널 엘티디. | Eye and body movement tracking for testing and/or training |
| KR20110019837A (en)* | 2009-08-21 | 2011-03-02 | 이재복 | Point of view adaptive screen golf system and screen golf display method |
| KR102256260B1 (en)* | 2020-02-10 | 2021-05-27 | (주) 알디텍 | Smart camera sensor for screen golf |
| KR102232253B1 (en)* | 2020-06-29 | 2021-03-25 | (주)케이에스전자 | Posture comparison and correction method using an application that checks two golf images and result data together |
| Publication number | Publication date |
|---|---|
| KR20230147237A (en) | 2023-10-23 |
| Publication | Publication Date | Title |
|---|---|---|
| WO2019132168A1 (en) | System for learning surgical image data | |
| WO2019050360A1 (en) | Electronic device and method for automatic human segmentation in image | |
| WO2013015528A1 (en) | Apparatus, method, and medium detecting object pose | |
| WO2012026147A1 (en) | Person detection system | |
| WO2016171341A1 (en) | Cloud-based pathology analysis system and method | |
| WO2018048000A1 (en) | Device and method for three-dimensional imagery interpretation based on single camera, and computer-readable medium recorded with program for three-dimensional imagery interpretation | |
| WO2018135906A1 (en) | Camera and image processing method of camera | |
| WO2017164478A1 (en) | Method and apparatus for recognizing micro-expressions through deep learning analysis of micro-facial dynamics | |
| WO2016163755A1 (en) | Quality measurement-based face recognition method and apparatus | |
| WO2021235682A1 (en) | Method and device for performing behavior prediction by using explainable self-focused attention | |
| WO2021045367A1 (en) | Method and computer program for determining psychological state through drawing process of counseling recipient | |
| WO2021100919A1 (en) | Method, program, and system for determining whether abnormal behavior occurs, on basis of behavior sequence | |
| WO2012091326A2 (en) | Three-dimensional real-time street view system using distinct identification information | |
| WO2019168264A1 (en) | Electronic device and method for controlling same | |
| WO2022213540A1 (en) | Object detecting, attribute identifying and tracking method and system | |
| WO2019000118A1 (en) | Visual inspection method, control device, system and storage device for industrial processes | |
| JP2019153986A (en) | Monitoring system, management apparatus, monitoring method, computer program, and storage medium | |
| WO2020147792A1 (en) | Video display method, device and system, and video camera | |
| CN118470645A (en) | Visual detection-based intelligent pen test monitoring system and method | |
| WO2019240330A1 (en) | Image-based strength prediction system and method therefor | |
| WO2023200038A1 (en) | Eye tracking system and method for monitoring golf hitting, and non-transitory computer-readable recording medium | |
| WO2022255642A1 (en) | Weight-reduced hand joint prediction method and device for implementation of real-time hand motion interface of augmented reality glass device | |
| US11132778B2 (en) | Image analysis apparatus, image analysis method, and recording medium | |
| CN112883863A (en) | Intelligent detection method, system, medium and equipment for wearing rate of intensive people flow mask | |
| WO2023075137A1 (en) | Apparatus and method of multimodal contactless vital sign monitoring |
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application | Ref document number:22937551 Country of ref document:EP Kind code of ref document:A1 | |
| NENP | Non-entry into the national phase | Ref country code:DE | |
| 122 | Ep: pct application non-entry in european phase | Ref document number:22937551 Country of ref document:EP Kind code of ref document:A1 |