DOI QR코드

DOI QR Code

Research on Ocular Data Analysis and Eye Tracking in Divers

  • Ye Jun Lee (HRI Research Center, Korea Institute of Robotics and Technology Convergence) ;
  • Yong Kuk Kim (HRI Research Center, Korea Institute of Robotics and Technology Convergence) ;
  • Da Young Kim (HRI Research Center, Korea Institute of Robotics and Technology Convergence) ;
  • Jeongtack Min (Marine Leisure Equipment R&D Center, Korea Institute of Robotics and Technology Convergence) ;
  • Min-Kyu Kim (HRI Research Center, Korea Institute of Robotics and Technology Convergence)
  • Received : 2024.07.19
  • Accepted : 2024.08.13
  • Published : 2024.08.30

Abstract

This paper proposes a method for acquiring and analyzing ocular data using a special-purpose diver mask targeted at divers who primarily engage in underwater activities. This involves tracking the user's gaze with the help of a custom-built ocular dataset and a YOLOv8-nano model developed for this purpose. The model achieved an average processing time of 45.52ms per frame and successfully recognized states of eyes being open or closed with 99% accuracy. Based on the analysis of the ocular data, a gaze tracking algorithm was developed that can map to real-world coordinates. The validation of this algorithm showed an average error rate of about 1% on the x-axis and about 6% on the y-axis.

본 논문은 수중 활동을 주로 하는 다이버를 대상으로 특수 목적용 다이버 마스크를 이용해서 안구 데이터를 획득 및 분석하고, 이를 이용해서 사용자의 시선을 추적하는 방법에 대해 제안한다. 안구 데이터 분석을 위해 자체 제작한 안구 데이터 셋을 구축하였고, YOLOv8-nano 모델을 활용해서 학습 모델을 생성하였다. 학습 모델의 프레임 당 소요 시간은 평균 45.52ms를 달성하였고, 눈을 뜬 상태와 감는 상태를 구별하는 인식 성공률은 99%를 달성하였다. 안구 데이터 분석 결과를 바탕으로 현실 세계 좌표를 매칭할 수 있는 시선 추적 알고리즘을 개발하였다. 이 알고리즘의 검증 결과 x축은 약 1%, y축은 약 6%의 평균 오차율을 나타내는 것을 알 수 있었다.

Keywords

I. Introduction

최근 생체 데이터의 중요성이 더욱 부각되면서 이를 활용한 건강 진단 및 이상 징후 탐지 연구가 활발히 진행되고 있다. 사람의 생체 데이터는 신체 건강 상태의 진단이나 감정 상태 판단 및 이상 징후를 탐지하는데 필수적인 요소이다. 특히 사람의 안구 데이터는 건강 상태를 반영하는 중요한 지표 중 하나로 볼 수 있다. 안구는 신체의 다른 부위와 마찬가지로 건강 상태의 변화를 반영하는 다양한 신호를 포함하고 있다. 이러한 신호들을 정확하게 분석함으로써 건강 이상 징후를 탐지하고 예방하는데 큰 기여를 할 수 있다[1,2]. 사람의 생체 데이터로 정의할 수 있는 대표적인 요소는 심전도, 산소포화도, 체온 등이 존재한다. 육지에서는 이러한 생체 데이터를 활용하여 신체 상태를 판단하는데 어려움이 없다. 하지만 수중 환경에서는 수온에 의해 체온 데이터의 신뢰성 감소, 심전도 및 산소포화도 데이터 취득 시 물에 의한 잡음으로 육지와 비교해서 상대적으로 신뢰도가 낮은 편이다. 이와 같이 수중 환경에서는 접촉식 센서를 이용한 다이버의 신체 상태를 판단하는데 어려움이 많다. 사람의 눈은 수중에서도 비접촉식으로 촬영할 수 있다는 장점을 가진다. 또한 사람의 눈은 신체 상태를 파악할 수 있는 중요한 요소로 활용할 수 있다. 눈꺼풀의 움직임, 동공의 움직임 또는 눈을 감거나 뜬 상태와 같이 눈의 운동 상태를 바탕으로 의식 상태를 판단하거나 의사 표현의 의도를 파악할 수 있으며 나아가 위험 상황을 예상할 수도 있다.

본 논문에서는 다이버의 실시간 안구 영상 데이터의 분석과 시선 추적에 관한 연구 방법을 제안한다. 수중 환경에서 안구 데이터가 다른 생체 데이터와 비교하여 가질 수 있는 장점은 비접촉성에 기반한 실시간 영상 데이터 활용이 가능하다는 점이다. 또한 안구 데이터는 시각적 정보뿐만 아니라 신체의 다른 부분과의 상호작용을 통해 건강 상태에 대한 중요한 단서를 제공한다. 특히 안구 운동 패턴, 동공의 크기, 눈꺼풀의 움직임에 관한 데이터는 다양한 건강 이상 징후와 직접적으로 연관 지을 수 있다. 이와 같이 수중에서의 안구 데이터는 다이버의 상태 및 의도를 판단함에 있어 활용도가 높은 요소이다. 안구 데이터의 분석을 통해 동공 상태 인식, 눈을 뜨거나 감은 상태에 대한 인식으로 신체 상태의 이상 징후 판별에 대한 가능성을 확보할 수 있다. 또한 다이버의 시선을 추적하고 의도를 추정하는 데 있어 필수 요소로 활용할 수 있다.

본 논문의 2장에서는 안구 데이터를 활용한 건강 상태 진단 및 이상 징후 판단에 관한 연구 동향을 분석하며, 3장에서는 실시간 안구 영상 데이터 분석 방법을 제안한다. 4장에서는 실험을 통해 분석 방법에 대한 검증을 수행하고 5장에서 결론을 짓는다.

II. Related works

안구 데이터를 활용해서 사용자 의도 분석이나 신체 상태를 예측 및 판단하는 것과 관련된 다양한 연구가 진행되는 추세이다.

[3]은 운전자의 시선 추정 및 시선 행동 이해에 관한 연구로써, 헤드 마운트형 및 원격 카메라 시스템을 이용하여 운전자의 시선을 추정하는 방법에 대해 다룬다. 다양한 시선 추적 시스템을 사용하여 운전자의 행동과 인지 부하를 이해하기 위한 목적이며, 헤드 마운트형 기기를 사용해서 정밀한 시선 데이터를 수집한다. 해당 연구는 안구 데이터를 취득하는 장비를 활용해서 시선 추적을 수행하는 것을 바탕으로 본 논문에서 제안하는 시선 추적과 유사한 방향인 것을 알 수 있다. 하지만 해당 연구는 운전자와 도로 안전에 초점을 맞추고 있으며, 수중에서 다이버의 상태 모니터링과는 차이점이 존재한다.

[4]는 비전 기반의 운전자 인지 부하 분류 연구에 관한 내용이다. 운전자의 인지 부하를 분류하기 위해 카메라를 이용해 촬영한 안구의 움직임 데이터를 분석하여 인지 부하를 평가하며, 머신 러닝과 딥 러닝 기술을 활용한다. 주요 역할은 안구의 움직임울 분석하여 운전자의 피로도와 스트레스를 감지하는 것이다. 해당 연구는 머신 러닝과 딥러닝 기술을 활용해서 안구의 움직임 데이터를 분석한다는 점을 바탕으로 본 논문에서 제안하고자 하는 딥 러닝 기술을 활용한 안구 데이터 분석과 일부 유사성을 가지지만, 인지 부하에 대한 초점과 다이버의 건강 상태에 대한 이상 징후를 감지하는 것은 차이가 존재한다.

[5]는 스마트 헬스케어 장치에서 머신 러닝 기술을 활용한 이상 탐지에 관한 연구 내용이다. 다양한 도메인에서 이상 탐지를 위한 머신 러닝 학습 기법을 제안하고 있으며 건강 모니터링 시스템에서 비정상적인 패턴을 식별하는데 이러한 기술을 적용한다. 또한 안구 추적 데이터를 사용해서 사용자의 신체적 고통이나 이상 징후를 감지할 수 있는 특징을 가진다. 본 논문에서 제안하는 이상 징후를 탐지하는데 일부 유사성을 띄지만 일상적인 헬스케어 애플리케이션에 초점을 두고 있다는 점에서 차이점이 존재한다.

[6]은 수중 환경에서 다이버의 건강을 실시간으로 모니터링하는 시스템에 대한 연구 내용이다. 혈압이나 심박수 등의 생체 신호를 무선 통신으로 모니터링하며, 다이버의 안전을 위한 위험 평가와 기본 건강 추적에 사용된다. 본 논문은 생체 데이터를 사용한다는 점에서 일부 유사성을 띄지만 동공 이미지 데이터를 활용하지 않는다는 점에서 차이점이 존재한다. 이와 같이 안구 데이터는 다양한 연구 분야에서 활용되고 있지만 본 논문에서 제안하는 방법과 환경이 유사한 연구 분야는 현재까지 찾기 힘들다.

III. The Method of Ocular Data Analysis and Eye tracking

수중에서 실시간으로 다이버의 안구 데이터를 취득하고 분석하기 위해 하드웨어의 구성 요소에 대한 설명과 안구 및 동공 인식을 위한 알고리즘의 구조에 대해서 설명한다.

1. Real-time ocular data acquisition and analysis hardware components

다이버가 안전한 스쿠버 다이빙 탐험을 진행하기 위해서는 다양한 다이빙 장비를 착용해야한다. 일반적으로 잠수복, 공기통, 마스크, 부력조절장치, 오리발을 필수적으로 착용해야하며, 그 외에도 수중 환경 정보를 제공할 수 있는 다양한 장비들을 추가로 착용해야 한다. 이처럼 많은 장비를 착용하는 다이버에게 크고 무거운 장비를 추가적으로 착용하게 할 경우 부정적인 인식과 반발심을 제공할 수 있다. 그 뿐만 아니라 수중에서는 열 배출이 힘들어 높은 컴퓨팅 파워를 가지는 시스템이나 알고리즘을 구현하기도 어렵다. 여러가지 문제 요인에 대한 해결 방안을 적용하기 위해 본 논문에서는 안구 영상 데이터 수집을 위한 다이버 마스크와 데이터 처리 목적의 미니 PC인 라떼판다 시그마를 사용한다.

깊은 수심의 수중 환경은 빛이 없어 매우 어두울 확률이 높다. 따라서 밝은 빛의 외부 조명을 활용하는 경우가 많다. Fig. 1은 본 논문에서 사용하는 특수 목적용 다이버 마스크이며 어두운 수중 환경에서 눈의 움직임을 정확하게 인식하기 위해 적외선 조명과 적외선 카메라가 부착되어 있는 것이 특징이다. 적외선 조명과 적외선 카메라는 다이버 마스크의 내부에 체결되어있으며 사용자의 눈을 직접적으로 바라보는 상태이므로, 외부 조명에 의한 빛의 간섭 또한 적다. 특수 목적용 다이버 마스크는 현재 개발 단계에 있으며, 상용화를 위한 과정을 진행할 계획이다.

CPTSCQ_2024_v29n8_43_3_f0001.png 이미지

Fig. 1. Special purpose diver mask

특수 목적용 다이버 마스크를 통해 취득한 데이터를 처리하고 안구 데이터를 분석하기 위해서는 적당한 사양의 PC가 필요하다. 또한 다이버에게 장착하기 위해서는 방수가 되는 작은 크기의 보관함이 필요하다. 그 뿐만 아니라 PC에서 발생되는 열을 관리하지 못할 경우 내부 프로세서의 기능이 저하될 수 있다. 이러한 조건들을 바탕으로 본 논문에서는 적당한 크기와 영상 데이터의 분석이 가능하고 적당한 열 배출조건에 적합한 제품인 라떼판다 시그마를 데이터 처리 및 분석 용도로 사용한다.

2. Real-time ocular data analysis method

본 논문에서 달성하고자 하는 목표는 총 2개로 분류할 수 있다. 첫 번째는 다이버 마스크를 착용한 상태의 적외선 이미지 데이터셋 구축과 안구 특징 인식을 위한 딥 러닝 인식 모델 구축, 두 번째는 다이버의 안구 데이터를 활용한 시선 추적 알고리즘 구현이다.

2.1 Implementation image datasets and deep learning recognition models

다이버의 안구 데이터 인식을 위해서 전용 이미지 데이터셋을 구축하고 전처리를 통해 딥 러닝 인식 모델을 구축한다. 사람의 눈을 촬영한 이미지로 구성된 오픈 데이터셋은 쉽게 구할 수 있지만 인종의 차이, 눈을 촬영한 각도, 마스크를 쓰지 않은 상태, RGB 데이터 타입과 같은 이유로 본 논문에서 사용하고자 하는 모델에는 활용성이 떨어질 수 있다. 따라서 다이버 마스크에 부착된 카메라의 위치, 마스크를 쓴 상태에서 촬영한 다이버의 눈과 같은 특징을 바탕으로 자체 커스텀 데이터셋을 구축한다. 오픈 데이터셋과 커스텀 데이터셋의 시각적 차이는 Fig. 2와 같다. 다이버의 안구 데이터 분석을 위해 Fig. 4와 같이 눈(Eye), 동공(Pupil), 내안각(Medial Canthus)과 외안각(Lateral Canthus), 감은 상태의 눈(Closed Eyes) 총 5개의 클래스로 구분한다. Fig. 3은 5개의 클래스에 해당하는 눈의 부위를 분류하는 기준에 관한 근거이며 이를 바탕으로 라벨링 기준을 결정할 수 있다[7].

CPTSCQ_2024_v29n8_43_4_f0001.png 이미지

Fig. 2. Distinguish between open data (left) and custom data (right)

CPTSCQ_2024_v29n8_43_4_f0002.png 이미지

Fig. 3. Eye, pupil, Medial canthus, Lateral canthus class labeling standard (top: classification standard by region, bottom: labeling standard)

CPTSCQ_2024_v29n8_43_4_f0003.png 이미지

Fig. 4. Five class labeling based on region classification criteria

눈과 동공의 역할은 다이버의 의식 상태, 신체 건강 상태를 추정하고 시선을 추적하는 용도로 활용한다. 내안각과 외안각은 착용중인 마스크가 움직일 경우 시선 추적에 오차가 발생할 수 있으며, 이를 보정하기 위한 용도로 활용한다. 마지막으로 감은 상태의 눈은 다이버의 의식 상태를 판단하고 시선 추적 및 캘리브레이션 과정에서 특정 객체를 놓치는 상황에 대응하기 위함이다. 그 뿐만 아니라 다이버의 신체적, 정신적 이상 징후를 판별하기 위한 요소로 활용할 수도 있다.

본 논문에서는 YOLOv8-nano 모델을 활용해서 학습 모델을 생성한다. 해당 모델은 저사양 환경의 시스템에서 일반 모델에 비해 상대적으로 작은 컴퓨팅 파워를 활용해서 객체를 인식하는데 주로 사용한다. 입력되는 이미지 데이터는 모두 눈을 촬영한 이미지이며, 다른 장애물이 포함되는 빈도수는 아주 적다. 따라서 높은 성능의 정확도를 달성할 필요가 없으며 클래스 별로 유사성이 높아 YOLOv8-nano 모델이 적합하다고 볼 수 있다. 또한 GPU가 없고 고성능이 아닌 라떼판다 시그마에서 활용하기에 적합하다고 볼 수 있다.

2.2 Diver eye tracking algorithm

Fig. 5는 시선 추적이 가능한 상용화된 장치를 의미한다[8,9]. 외장 및 내장 카메라가 하나의 플랫폼으로 구성된 안경이나 VR 기기와 같은 착용형 장치와 특정 공간 내부에 카메라가 설치되고 사람이 지정된 공간에 위치하는 자동차 운전석과 같은 시스템 형태의 플랫폼 방식이 존재한다.

CPTSCQ_2024_v29n8_43_4_f0004.png 이미지

Fig. 5. Eye tracking device (top left: Google Glass, top right: Pupil labs, bottom left: Apple vision pro, bottom right: BMW Cockpit)

시선 추적을 위한 다양한 솔루션이 있지만 수중 환경에서 활용하기에는 현실적으로 어려움이 많다. 전방 시야 확보가 어려워 외부 정보를 확인할 수 없는 상황이 발생할 수 있고 환경적, 신체적 요인으로 인해 한쪽 눈의 정보만 취득할 수 있는 상황이 발생할 수도 있다. 여러 문제 요인으로 인해 본 논문에서는 단안을 이용한 시선 추적 알고리즘을 구현하고자 한다.

단안을 이용한 다이버의 시선 추적을 위해서는 동공의 위치와 실제 위치 간의 초기 캘리브레이션 과정이 필요하다. Fig. 4는 초기 캘리브레이션 방법에 대한 예시이다. 마스크를 착용한 사용자가 특정 간격으로 떨어진 점을 순차적으로 바라보면서 점과 사용자의 동공 위치를 매칭하는 과정이다. Fig. 4(위)는 캘리브레이션 그림으로 사용자의 동공 위치와 현실 세계를 매칭하는 용도로 사용된다. (1)의 가운데 원은 사용자가 정중앙을 쳐다보도록 지시하는 것을 의미하며 (2)의 왼쪽 원은 (1)의 점을 기준으로 50cm 떨어진 좌측에 위치하는 원을 쳐다보도록 지시하는 것을 의미한다. 마지막으로 (3)의 오른쪽 원은 (1)의 점을 기준으로 50cm 떨어진 우측에 위치하는 원을 쳐다보도록 지시하는 것을 의미한다. 해당 그림은 예시이며 실제 캘리브레이션 상황에서는 위, 아래 영역에 대한 부분도 추가하여 동공 위치 데이터를 획득할 수 있도록 구현한다. Fig. 4(아래)는 마스크를 착용한 사용자가 캘리브레이션 그림을 순차적으로 쳐다볼 때 그에 대한 동공 좌표를 획득하는 과정이다. 3개의 원을 쳐다보면서 그에 해당하는 동공의 좌표를 획득할 수 있으며 픽셀 당 실제 움직이는 거리에 대한 계수를 획득할 수 있다.

CPTSCQ_2024_v29n8_43_5_f0001.png 이미지

Fig. 6. Initial calibration method for eye tracking (example)

동공의 움직임에 대한 현실 세계의 시선 위치를 획득하기 위해 Fig. 4를 기반으로 수식 1과 같이 비례 상수 kpx, kpy를 획득할 수 있다. xr, xps, xp는 순서대로 현실 세계에서 x축 방향으로 시선을 옮겼을 때 실제 움직인 거리, 가운데 정중앙 원을 바라보는 상황에 대한 동공의 x축 좌표, x축 방향으로 시선을 옮겼을 때 동공의 x축 좌표를 의미한다. yr, yps, yp는 순서대로 현실 세계에서 y축 방향으로 시선을 옮겼을 때 실제 움직인 거리, 가운데 정중앙원을 바라보는 상황에 대한 동공의 y축 좌표, y축 방향으로 시선을 옮겼을 때 동공의 y축 좌표를 의미한다.

\(\begin{align}k_{p x}=\frac{x_{r}}{x_{p s}-x_{p}}, x_{r}=k_{p x}\left(x_{p s}-x_{p}\right)\end{align}\)

\(\begin{align}k_{p y}=\frac{y_{r}}{y_{p s}-y_{p}}, x_{r}=k_{p x}\left(x_{p s}-x_{p}\right)\end{align}\)

사람의 눈은 원의 특징을 가지며 표면에 위치한 동공을 통해 시야를 확보한다. 만약 동공의 정밀한 위치 정보를 확보하기 위해서는 3차원의 좌표 개념으로 접근할 필요가 있다. 하지만 본 논문의 특수 목적용 다이버 마스크는 수중에서 사용해야한다는 환경적인 제한 요소가 존재하며 3차원 이미지를 획득할 목적으로 하드웨어 구조를 설계할 경우 마스크의 사이즈가 커질 가능성이 있고, 이는 실사용자의 거부반응을 일으킬 수 있다. 따라서 단일 카메라 구조로 설계되었으며 시야를 방해하지 않는 목적으로 눈의 아래 방향에 설치되었다. 이로 인해 눈이 움직이는 방향과 2차원 상의 동공 좌표는 상대적으로 다르다. 이를 해결하기 위해 동공의 이동 방향 별로 최적화된 비례 상수를 획득하고, 가중치를 적용하여 동공 위치와 현실 세계 좌표를 매칭하고자 한다.

동공의 움직임이 발생했을 때 이동하는 방향에 대한 가중치를 결정해야하며 Fig. 7과 같이 기준을 정의한다. Fig. 7의 θ는 동공의 초기 중심 좌표를 의미하는 원의 중심과 움직임이 발생한 동공의 위치가 이루는 각인 이동 방향을 의미하며, 값에 따라 W0부터 Wg의 가중치를 결정할 수 있다.

CPTSCQ_2024_v29n8_43_5_f0002.png 이미지

Fig. 7. Criteria for determining weight for pupil movement direction

Fig. 7을 바탕으로 동공의 이동 방향에 대한 가중치를 유도할 수 있다. 아래 수식의 Wn은 결정된 가중치가 저장되는 배열, Wtable은 가중치 결정 기준을 의미한다.

Wn = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}

Wtable = {0, 30, 60, 120, 150, 180, 210, 240, 300, 330}

동공의 이동 방향 θ를 획득한 뒤 Wtable을 기준으로 가장 인접한 값을 찾고 순서 n을 획득한다. 이를 통해 가중치를 결정하는 변수인 d1과 d2를 획득할 수 있다.

\(\begin{align}d_{1}=\left\{\begin{array}{ll}\theta-W_{\text {table }}[n] & \text { if } \quad \theta \geq W_{\text {table }}[n] \\ \theta-W_{\text {table }}[n-1] & \text { if } \quad \theta<W_{\text {table }}[n]\end{array}\right.\end{align}\)

\(\begin{align}d_{2}=\left\{\begin{array}{ll}W_{\text {table }}[n+1] -\theta & \text { if } \quad \theta \geq W_{\text {table }}[n] \\ W_{\text {table }}[n]- \theta & \text { if } \quad \theta<W_{\text {table }}[n]\end{array}\right.\end{align}\)

d1과 d2를 이용해서 동공의 이동 방향 θ와 근접한 위치에 가중치를 설정할 수 있다. 만약 θ가 Wtable[n]과 Wtable[n+1] 사이에 위치하는 경우 아래 수식을 통해 Wn과 Wn+1에 가중치가 설정되며, 가까운 비율 만큼 보다 크거나 작게 가중치를 설정할 수 있다.

\(\begin{align}W_{n}=\left\{\begin{array}{ll}d_{2} /\left(d_{1}+d_{2}\right) & \text { if } \quad \theta \geq W_{\text {table }}[n] \\ d_{1} /\left(d_{1}+d_{2}\right) & \text { if } \quad \theta<W_{\text {table }}[n]\end{array}\right.\end{align}\)

\(\begin{align}W_{n+1}=\left\{\begin{array}{ll}d_{1} /\left(d_{1}+d_{2}\right) & \text { if } \quad \theta > W_{\text {table }}[n] \\ 0 & \text { if } \quad \theta \leq W_{\text {table }}[n]\end{array}\right.\end{align}\)

\(\begin{align}W_{n-1}=\left\{\begin{array}{ll}0 & \text { if } \quad \theta \geq W_{\text {table }}[n] \\ d_{2} /\left(d_{1}+d_{2}\right) & \text { if } \quad \theta<W_{\text {table }}[n]\end{array}\right.\end{align}\)

앞에서 유도한 비례상수를 이용해서 아래 수식과 같이 동공의 이동 방향 및 거리에 대한 현실 세계의 시선 좌표를 유도할 수 있다.

xr = (kx0W0 + kx1W1 + kx2W2 + ⋯ + kx9W9)(xps - xp)

yr = (ky0W0 + ky1W1 + ky2W2 + ⋯ + ky9W9)(yps - yp)

IV. Experiment and Verification

1. Implementation and verification of ocular detection model

안구 데이터 인식 모델을 구축하기 위해 5명의 실험자를 대상으로 자체 데이터셋을 생성한다. 데이터셋 생성을 위한 영상 촬영은 실험실 환경에서 진행하였으며, 모든 실험자는 동일한 궤적으로 안구 운동을 진행하도록 제한하였다. 생성한 데이터셋의 이미지 개수는 8,432개이며, 9대 1의 비율로 학습용과 검증용을 분류한다. 각 클래스 별 데이터의 개수는 Table 1과 같다. 대표적으로 ‘Open Eye’ 클래스와 ‘Closed Eye’로 구성되며 그 외 ‘Pupil’, ‘Lateral Canthus’, ‘Medial Canthus’ 클래스는 ‘Open Eye’ 클래스가 인식되는 상황에서 포함된다. ‘Closed Eye’ 클래스가 타 클래스 대비 개수가 적은 이유는 눈을 감고 있는 시간이 상대적으로 적기 때문이다. YOLO v8-nano 모델을 이용해서 안구 데이터 인식 모델에 대한 학습 과정을 수행했고, 검증용 데이터를 이용한 학습 모델의 테스트는 Fig. 8과 같다. 눈을 뜬 상태에서 내안각, 외안각과 동공 모두 정확하게 인식되는 것을 알 수 있으며, 그 뿐만 아니라 눈을 감은 상태도 정확히 인식하는 것을 알 수 있다.

CPTSCQ_2024_v29n8_43_6_f0001.png 이미지

Fig. 8. Ocular data recognition model learning results

Table 1. Number of data for each class

CPTSCQ_2024_v29n8_43_6_t0001.png 이미지

YOLOv8은 다양한 하드웨어 환경에서 구현될 수 있도록 5개의 솔루션을 제공하며, 인식 성능이 가장 낮지만 저사양 옵션인 nano 모델부터 인식 성능이 가장 높고 고사양 옵션인 xlarge 모델까지 구성된다. 본 논문에서 제안하는 하드웨어와 YOLOv8-nano의 적합성 및 인식 성능에 대한 검증을 위해 YOLOv8-medium과의 비교 실험을 수행한다. 실험용 영상은 학습에 활용되지 않았으며, 구성은 약 36초, 2,106 프레임으로 구성된다. Table 2는 두 모델의 각 프레임 별 평균 처리 속도, Table 3은 두 모델의 각 클래스 별 평균 인식 정확도 및 인식 개수를 의미한다.

Table 2. Average processing time per frame

CPTSCQ_2024_v29n8_43_6_t0002.png 이미지

Table 3. Average confidence and recognitions count

CPTSCQ_2024_v29n8_43_6_t0003.png 이미지

실험을 통해 YOLOv8-nano 모델은 프레임 당 평균 45.25ms의 결과를 도출하여 실시간성을 확보할 수 있음을 검증할 수 있다. 또한 Table 3과 같이 YOLOv8-nano 모델을 이용해서 각 상황에 대한 인식 성공률의 결과를 도출할 수 있다. Table 4는 YOLOv8-nano 모델을 이용하여 실험용 영상의 인식 성공률에 대한 결과로, 눈을 뜨거나 감은 상태의 인식 성공률, 눈을 뜬 상태에서 내안각과 외안각 및 동공의 인식 성공률을 의미한다. 실험용 영상의 2,106개의 프레임 중 눈을 뜨거나 감은 상태의 인식 성공 개수는 총 2,104개이므로, 이를 인식하는 성공률은 99.9%를 나타낸다. 또한 눈을 뜬 상태인 1,835개의 프레임 중 내안각을 인식한 프레임 개수는 1,375개로 74.93%의 인식 성공률을, 외안각을 인식한 프레임 개수는 1,816개로 98.97%의 인식 성공률을, 동공을 인식한 프레임 개수는 1,829개로 99.67%의 인식 성공률을 나타내는 것을 알 수 있다. 내안각의 인식 성공률을 제외하고 나머지 클래스에 대해서는 모두 높은 성능을 발휘하는 것을 알 수 있으며 본 논문에서 제안하는 하드웨어 시스템에 YOLOv8-nano 모델이 적합하다는 것을 검증할 수 있다.

Table 4. Recognition success rate by state

CPTSCQ_2024_v29n8_43_6_t0004.png 이미지

2. Verification of eye tracking algorithm

본 챕터에서는 3장에서 제안한 시선 추적 알고리즘에 대한 검증을 수행한다. 현실 세계의 시선을 추적하기 위한 목적으로 Fig. 9를 사용한다. 이를 통해 동공의 이동 방향에 따른 시선 추적 결과, 이동 거리에 따른 시선 추적 결과를 모두 확인할 수 있다.

CPTSCQ_2024_v29n8_43_7_f0001.png 이미지

Fig. 9. Eye tracking verification image

동공의 이동 방향 및 이동 거리에 따라 Fig. 9의 검증용 이미지에 실제 시선을 투영한 결과는 Fig. 10과 같다. 좌측은 특수 목적용 다이버 마스크를 착용한 상태에서 촬영한 안구 이미지, 우측은 현재 투영된 시선 위치에 대해 빨간 점으로 표현한 결과를 의미한다.

CPTSCQ_2024_v29n8_43_7_f0002.png 이미지

Fig. 10. Eye tracking verification results

Table 5는 Fig. 9의 검증용 이미지에 표기된 점의 실제 좌표와 현실 세계 투영 좌표의 측정치를 비교한 결과를 나타낸다. x축 기준으로 최대 2%, 평균 1%의 오차율을 보이고 y축을 기준으로 최대 64%, 평균 6%의 오차율을 보이는 것을 알 수 있다. 실험 결과를 통해 y축 방향에 대한 정확도가 떨어진다는 것을 알 수 있다. 이는 단안을 밑에서 위로 촬영한다는 점으로 인해 동공의 움직임이 명확하게 나타나지 않아 발생하는 문제로 추정된다.

Table 5. Eye tracking verification results

CPTSCQ_2024_v29n8_43_8_t0001.png 이미지

V. Conclusion

본 논문에서는 특수 목적용 다이버 마스크를 이용하여 착용자의 안구 데이터를 분석하고 시선을 추적할 수 있는 방법에 대해 제안했다. 시선 추적을 위해 커스텀 데이터셋을 활용하여 딥 러닝 기반의 동공 특징 인식 모델을 구축하였고, 이를 이용하여 현실 세계 좌표 매칭을 이용한 시선 추적 알고리즘을 구현하였다. 본 논문에서 수행한 연구 결과는 기존 연구 분야에서는 시도하지 않은 새로운 환경에 대한 접근이다. 또한 실험을 통해 안구의 각 요소에 대한 높은 인식 성공률, 시선 추적의 비교 정확도 등을 검증하였고 수중 환경에서 대응할 수 있는 수준의 성능을 갖추었다고 볼 수 있다.

본 논문에서 제안하는 과정에서는 실험실 환경에서 데이터의 수집과 실험을 통한 알고리즘8 검증 과정을 거쳤으며, 차후 연구에서는 검증이 완료된 알고리즘을 바탕으로 방수 작업이 완료된 장비를 이용한 실제 수중 환경의 데이터 수집 및 알고리즘의 분석과 검증을 진행하고자 한다. 수중 환경에서 수집하는 데이터는 실험실 환경에서 취득하는 것과 일부 차이가 발생할 것으로 추정되며, 취득한 데이터를 통해 알고리즘의 완성도를 향상시킬 수 있을 것으로 예상한다. 그 외에도 양안 데이터를 이용해서 시선 추적 알고리즘의 정확도 개선 및 기술의 고도화 과정을 진행할 계획이며, 다이버 마스크를 착용중인 상황에서 외부 물리적인 요인에 의한 마스크의 움직임으로 발생할 수 있는 왜곡 현상을 상쇄하기 위해 안구 구성 요소인 내안각과 외안각을 이용한 자동 캘리브레이션 알고리즘도 구현하고자 한다.

ACKNOWLEDGEMENT

This research was supported by Development of standard manufacturing technology for marine leisure vessels and safety support robots for underwater leisure activities of Korea Institute of Marine Science & Technology Promotion(KIMST) funded by the Ministry of Oceans and Fisheries(20220567).

References

  1. H. Li, J. Cao, A. Grzybowski, K. Jin, L. Lou and J. Ye, "Diagnosing Systemic Disorders with AI Algorithms Based on Ocular Images," Healthcare, Vol. 11, No. 12, pp.1739, June. 2023. DOI: 10.3390/healthcare11121739
  2. T. Yuhe and S. Xufang, "Ocular images-based artificial intelligence on systemic diseases," BioMedical Engineering Online, Vol. 22, No. 49, May. 2023. DOI: 10.1186/s12938-023-01110-1
  3. P. K. Sharma and P. Chakraborty, "A review of driver gaze estimation and application in gaze behavior understanding," Engineering Applications of Artificial Intelligence, Vol. 133, No. B, Jul. 2023. DOI: 10.1016/j.engappai.2024.108117
  4. R. Hamidur, A. M. Uddin, B. Shaibal, F. Peter and B. Shahina, "Vision-Based Driver's Cognitive Load Classification Considering Eye Movement Using Machine Learning and Deep Learning," Sensors, Vol. 21, No. 23, pp. 8019, Nov. 2021. DOI: 10.3390/s21238019
  5. M. Kavitha, P. V. V. S Srinivas, P. S. Latha Kalyampudi, S. F. Choragudi and S. Singaraju, "Machine Learning Techniques for Anomaly Detection in Smart Healthcare," 2021 Third International Conference on Inventive Research in Computing Applications (ICIRCA), pp. 1350-1356, Oct. 2021. DOI: 10.1109/ICIRCA51532.2021.9544795
  6. S. Gunanandhini, P. M. Shree, G. Manojkumar, M. Ragul, S. Manjit and R. Gokul, "SCUBA Divers Health Monitoring and Risk Management System," 2023 9th International Conference on Advanced Computing and Communication Systems (ICACCS), pp. 1477-1481, May. 2023. DOI: 10.1109/ICACCS57279.2023.10112711
  7. M. S. Alghoul, A. M. Kearney, S. J. Pacella and C. A. Purnell, "Eyelid Reconstruction," Plastic and Reconstructive Surgery - Global Open, Vol. 7, No. 11, pp. e2520, Nov. 2019. DOI: 10.1097/GOX.0000000000002520
  8. K. Moritz, P. William and B. Andreas, "Pupil:an open source platform for pervasive eye tracking and mobile gaze-based interaction," UbiComp '14 Adjunct: Proceedings of the 2014 ACM International Joint Conference on Pervasive and Ubiquitous Computing: Adjunct Publication, pp. 1151-1560, Sep. 2014. DOI:10.1145/2638728.2641695
  9. M. Mouayad, W. Ethan, O. Joshua, Z. Nasif, S. Prithul, G. L. Andrew and T. Alireza, "Apple Vision Pro for Ophthalmology and Medicine," Annals of Biomedical Engineering, Vol. 51, pp. 2643-2646, Jun. 2023. DOI: 10.1007/s10439-023-03283-1