기계학습 기반 9방향 안구 사진 자동 결합 프로그램

Machine Learning-based Auto-merge Program for Nine-directional Ocular Photography

Article information

J Korean Ophthalmol Soc. 2023;64(8):734-742
Publication date (electronic) : 2023 August 15
doi : https://doi.org/10.3341/jkos.2023.64.8.734
1Department of Ophthalmology, Gyeongsang National University Changwon Hospital, Changwon, Korea
2Department of Ophthalmology, College of Medicine, Gyeongsang National University, Jinju, Korea
3Gyeongsang Institute of Health Sciences, Gyeongsang National University, Jinju, Korea
박신형1, 이우혁1, 강태신1, 조현경1,2,3, 한용섭1,2,3, 김지혜,1
1창원경상국립대학교병원 안과
2경상대학교 의과대학 안과학교실
3경상국립대학교 건강과학연구원
Address reprint requests to Ji Hye Kim, MD Department of Ophthalmology, Gyeongsang National University Changwon Hospital, #11 Samjeongja-ro, Seongsan-gu, Changwon 51472, Korea Tel: 82-55-214-2429, Fax: 82-55-214-1036 Email: coinonia35@naver.com
Received 2023 March 23; Revised 2023 April 19; Accepted 2023 July 17.

Abstract

목적

본 연구는 각각의 방향을 주시하면서 촬영한 여러 장의 안구 사진을 한 장의 9방향 안구 사진으로 결합하는 새로운 인공지능 기반 9방향 안구 사진 자동 결합 프로그램(HydraVersion)을 제안하고자 한다. 또한 HydraVersion의 정확도와 소요 시간을 기존의 파워포인트(PowerPoint)를 이용하는 수작업과 비교하여, HydraVersion의 유용성에 대해 알아보고자 한다.

대상과 방법

2016년 3월부터 2022년 6월까지 본원 외래에서 촬영한 9방향 안구 사진 중 134명의 사진 250세트 2,524장으로 후향적 연구를 진행하였다. 그중 38명 74세트 728장은 평가데이터 세트로 구성하고, 각각의 방법(HydraVersion/PowerPoint)을 이용하여 9방향 안구 사진을 생성하는데 소요된 시간을 측정하고 정확도를 평가하여 비교 분석하였다.

결과

HydraVersion은 74세트의 9방향 안구 사진 중 71세트(95.95%)를 정확하게 결합하였다. HydraVersion의 평균 소요 시간은 2.40 ± 0.43초, Powerpoint의 평균 소요 시간은 255.9 ± 26.7초로 HydraVersion이 PowerPoint보다 빠르게 사진을 결합하였다(p<0.001).

결론

그동안 일부 사시 및 신경안과 클리닉에서는 시간 및 인력 부족의 이유로 몇몇의 안구 사진들이 결합하지 못하고 낱장으로 보관되었다. 본 연구에서 개발한 프로그램을 통해 빠르고 편리하게 9방향 안구 사진을 생성함으로써, 진료 및 연구에 많은 도움이 될 것이라 기대한다.

Trans Abstract

Purpose

This study introduces a new machine learning-based auto-merge program (HydraVersion) that automatically combines multiple ocular photographs into single nine-directional ocular photographs. We compared the accuracy and time required to generate ocular photographs between HydraVersion and PowerPoint.

Methods

This was a retrospective study of 2,524 sets of 250 nine-directional ocular photographs (134 patients) between March 2016 and June 2022. The test dataset comprised 74 sets of 728 photographs (38 patients). We measured the time taken to generate nine-directional ocular photographs using HydraVersion and PowerPoint, and compared their accuracy.

Results

HydraVersion correctly combined 71 (95.95%) of the 74 sets of nine-directional ocular photographs. The average working time for HydraVersion and PowerPoint was 2.40 ± 0.43 and 255.9 ± 26.7 seconds, respectively; HydraVersion was significantly faster than PowerPoint (p < 0.001).

Conclusions

Strabismus and neuro-ophthalmology centers are often unable to combine and store photographs, except those of clinically significant cases, because of a lack of time and manpower. This study demonstrated that HydraVersion may facilitate treatment and research because it can quickly and conveniently generate nine-directional ocular photographs.

눈의 움직임을 기록하는 9방향 안구 사진(nine-directional ocular photography)은 위 오른쪽, 위 중앙, 위 왼쪽, 가운데 오른쪽, 가운데 중앙, 가운데 왼쪽, 아래 오른쪽, 아래 중앙, 아래 왼쪽, 총 아홉 방향을 주시한 안구 사진(ocular photography) 들로 구성된다. 한 방향을 주시할 때, 양 눈이 같은 방향으로 움직이는 동향운동(version)1,2은 외안근의 기능항진 또는 저하에 의해 비정상적인 모습을 보일 수 있는데, 9방향 안구 사진은 이 동향운동을 기록한다. 따라서 9방향 안구 사진은 각각의 주시 방향에 따른 눈의 움직임을 파악하고, 외안근의 기능항진 또는 저하를 진단 및 변화를 측정하며, 사시수술 전에 중요한 평가 항목으로 활용된다.

9방향 안구 사진을 작성하기 위해서는 각각의 안구 사진을 선별하고, 자르고, 크기를 조절하고, 배열하는 과정이 필요하다. 이러한 과정은 많은 시간이 들며, 검사자에 따른 결과물의 편차가 크다.3,4 또한 단순히 이미지만 자르는 것이 아니라 이미지를 회전하고 자르려면, 추가로 마이크로 소프트 파워포인트(PowerPoint) 또는 어도비 포토샵(Adobe Photoshop)과 같은 전문적인 이미지 편집 툴이 필요하다. 이러한 이유로 일부 병원에서는 몇몇의 안구 사진들이 결합하지 못한 채로 낱장으로 저장되고 있었다.

기계 학습을 이용해서 이미지에서 한 개 이상의 물체를 찾아서 위치와 종류를 출력하는 물체 식별(object detection)기법은 최근에 매우 빠르게 발전하고 있다.5 물체 식별은 자율주행, 번호판 식별 등 다양한 분야에 응용되고 있다. 주시 방향을 추적하는 기법 또한 빠르게 발전하고 있다.6-8 주시 방향 추적 기술들은 이미 여러 분야에서 활용되고 있는데, 그 예로는 졸음 운전을 예방하거나2 교육 과정에서 학생의 집중 정도를 평가9하는 데 사용할 수 있다.

본 연구에서는 기존에 알려진 물체 식별 기술에 기초하여, 여러 장의 안구 사진에서 안구의 위치와 주시 방향을 분석하며, 이를 통해 안구 사진을 자동으로 선별하고, 회전하고, 크기를 조정하고, 주변부를 자르고, 적절한 크기와 위치로 배열하고, 결합하여 한 장의 이미지를 생성하는 새로운 인공지능 기반 9방향 안구 사진 자동 결합 프로그램(HydraVersion)을 제안하고자 한다. 또한 기존의 PowerPoint를 이용하여 이미지를 편집하는 방법과 비교하여 자동화 프로그램에서 각각 9방향 안구 사진을 생성하는 데 필요한 시간과 정확도를 비교하여 HydraVersion의 유용성을 조사하고자 한다.

대상과 방법

2016년 3월부터 2022년 6월까지 창원경상국립대학교병원 안과에서 촬영한 9방향 안구 사진을 사용하였다. 본 연구는 후향적 의무기록을 분석한 피험자 동의 면제 연구로, 창원경상국립대학교 임상시험 윤리위원회(Institutional Review Board)의 승인을 받았으며(승인 번호: 2022-06-026), 의학연구윤리 강령인 헬싱키선언을 준수하였다.

평가 기준

본 연구에서는 PowerPoint (Microsoft Corporation, Redmond, WA, USA)를 이용하여 안구 사진을 합치는 기존의 수작업에 비교한 본 연구에서 제시하는 HydraVersion의 속도와 정확도를 비교하였다.

이때 소요된 시간은 HydraVersion/PowerPoint의 시작부터 9방향 합성 사진 하나가 완성될 때까지의 시간으로 정의하였다. 정확도는 PowerPoint를 이용한 기존의 방법으로 생성된 9방향 안구 사진을 기준으로 하여, 9방향 안구 사진 자동 결합 프로그램의 결과물이 일치하는지 여부를 4명의 안과의사가 함께 평가하였다.

HydraVersion과 PowerPoint의 수행 시간을 비교하기 위해서 Kolmogorov-Smirnov로 정규성 검정 후 Wilcoxon signed rank test를 사용하였다. 통계적 유의성은 p<0.05로 설정하였다.

안구 사진 촬영

창원경상국립대학교병원 소아사시 및 신경안과 외래를 방문한 환자 중 9방향 안구 사진이 필요한 환자를 두 명의 검사자가 촬영하였다. 검사자는 환자를 준비된 의자에 앉혀 카메라 렌즈를 직접 보게 하고, 가운데 중앙, 위 중앙, 위 왼쪽, 가운데 왼쪽, 아래 왼쪽, 아래 중앙, 아래 오른쪽, 가운데 오른쪽, 위 오른쪽 9개 방향을 각각 보도록 지시하였다. 환자가 아래 방향을 주시할 때는 눈꺼풀이 각막 가장자리를 가리는 것을 방지하기 위해 보조자의 도움을 받아 환자의 눈꺼풀을 들어 올렸다. 디지털카메라(Canon EOS 100D, Canon Inc, Tokyo, Japan)로 촬영하였고, 촬영된 이미지들은 등록 번호와 촬영일을 기준으로 폴더별로 분류하여, jpg파일 형식으로 하드 디스크에 저장하였다.

PowerPoint를 이용한 안구 사진 결합 방법

PowerPoint로 사진을 생성하는 방법은 다음과 같다. 9개의 방향으로 촬영된 안구 사진들을 한 장의 PowerPoint 슬라이드에 복사하였다. 두 눈을 중심으로 일정한 간격을 두고 적당한 크기로 안구 사진들을 잘랐다. 24×8 cm 크기의 3×3표를 생성하고, 잘라낸 이미지를 “그림 또는 질감 채우기”를 이용하여 각각의 셀에 넣었다.

HydraVersion을 이용한 안구 사진 결합 방법

HydraVersion의 개요

HydraVersion은 기계 학습을 이용하여 안구 사진에서 안구 위치와 주시 방향을 해석하는 식별기(discriminator), 주시 방향에 기초하여 9방향 안구 사진에 적절한 안구 사진을 선별하는 선별기(selector), 안구 위치에 따라 이미지를 회전하고 크기를 조정하고 주변부를 자르고 적절한 크기와 위치로 배열하고 결합하여 한 장의 이미지를 생성하는 편집기(editor)로 구성된다(Fig. 1).

Figure 1.

Overview of machine learning-based Auto-merge program (HydraVersion) for nine-directional ocular photography. The HydraVersion consists of the discriminator, the selector, and the editor. The discriminator uses machine learning to interpret the position and gaze direction of the eye in the photographs. The selector selects one eye photograph in each direction of nine-directional ocular photography based on the gaze direction of the eye interpreted by the discriminator. The editor rotates, resizes, and crops the periphery of the photograph according to eye position, arranges it in the proper size and place, and combines it to create a single nine-directional ocular photography.

안구 사진 전처리

원본 사진의 크기는 5,184×3,456 픽셀이다. 원본 사진의 크기가 너무 크기 때문에, 1/8 크기인 648×432 픽셀 크기로 축소하였다. 축소한 사진은 OpenCV10와 NumPy11를 이용하여 무손실 압축 형식인 png 파일 포맷으로 변환 및 저장하였다.

기계 학습 중에 식별기의 성능을 높이기 위해 데이터 증강(data augmentation)을 시행하였다. 이를 위해 안구 사진들을 무작위의 크기로 이미지를 확대 또는 축소한 뒤, 주변부를 잘라내거나 여백으로 채우는 공간 레벨 변형을 수행하였다. 모든 데이터 증강은 TensorFlow12에 내포된 함수들을 이용해서 수행하였다.

학습데이터세트 생성

기계 학습에서 클래스란, 판별하고자 하는 물체(object)의 종류를 말한다. 우리는 안구 사진에서 특정한 방향을 주시하는 안구 이미지를 찾고자 하였고, 각각의 안구 이미지에 “1”에서 “9”까지 클래스를 부여하였다(Fig. 2). 각 숫자가 의미하는 주시 방향은 키보드 숫자 패드와 동일하게 설정하였다. 예를 들어 “1”은 오른쪽 아래를 주시하는 눈이고, “3”은 왼쪽 아래를 주시하는 눈이다. 만약 한 사진에서 우안과 좌안이 다른 방향을 주시하면, 두 눈은 서로 다른 클래스를 가질 수 있다.

Figure 2.

Detailed mechanisms of HydraVersion. After machine learning, the discriminator receives multiple eye photographs and outputs an identification result table, including the eye’s position, class, and score. The selector gets the identification result table, draws up a nine-direction scorecard, and selects eye photographs in the order of the most probabilities. The editor receives the identification result table from the discriminator and the 9-direction scorecard from the selector. The editor converts the eye photographs into a standardized format using the eye positions in the identification result table. After that, the editor arranges the edited images at each part of the 9-directional ocular photographs based on the 9-direction scorecard received from the selector and combines them to create a single image.

학습데이터세트는 오픈 소스 프로그램인 Computer Vision Annotation Tool (CVAT; https://cvat.org)를 이용하여 생성하였다. 학습데이터세트를 구성하는 각각의 안구 사진에 대하여, 안구의 위치를 직사각형으로 표기하고 주시 방향을 클래스로 라벨링하였다(Fig. 2). 안구의 위치는 가로로 안구의 내안각에서 외안각까지, 세로로 윗눈꺼풀 정점에서 아래눈꺼풀 정점까지로 정의하였다. 최종적으로 학습용 데이터셋을 생성하기 위해, CVAT를 이용하여 라벨링된 이미지들을 Tfrecord 파일 형식으로 변환하였다.

식별기(discriminator)의 기계학습(machine learning) 과 출력

본 연구의 식별기는 2019년에 공개되어 그 성능이 인정된 EfficientDet13을 이용하였다. 구체적인 모델은 Google에서 예시한 코드(https://github.com/google/automl) 중 EfficientDet D7 모델을 일부 수정하여 사용하였다.

EfficientDet D7 모델은 EfficientDet에서 제시한 여러 모델 중 가장 크기가 크고 가장 성능이 우수한 모델이다. Backborn으로 EfficientNet B714을 이용하며, 약 5천만 개의 학습 변수를 가지고 있다. 학습 변수가 많고 비교적 느리지만, 매우 정확한 결과를 보여준다.

본 연구에서 EfficientDet D7을 학습시키기 위해 배치(batch)크기는 4로 하였고, 총 200 에폭(epochs)만큼 학습을 수행하였다. Intel® Core™ i9-10980XE와 GeForce RTX 3090을 이용하였고 총 32시간의 학습 시간이 소요되었다.

기계학습이 끝난 식별기는 9장 이상의 안구 사진들을 입력받아 안구의 위치, 클래스와 이에 대한 확률(score)을 포함하는 식별 결과표를 출력한다(Fig. 2).

선별기(selector)

선별기는 식별기로부터 식별 결과표를 받아 9방향 점수표를 생성한다(Fig. 2). 9방향 점수표는 각각의 안구 사진이 특정한 방향의 동향운동에 얼마나 적절한지 점수로 표현한 표이다. 이후 다음과 같이 가장 주시 방향이 명확한 순서대로 안구 사진을 고른다. 우선 9방향 점수표에서 가장 높은 값을 찾는다. Fig. 2에서 “IMG_7130”이 클래스 “5”에서 가장 높은 값인 “1.6938”을 가지고 있기 때문에 “IMG_7130”을 클래스 “5”에 배정한다. 다음으로 높은 값은 “IMG_7142”가 클래스 “7”에서 “1.4980”을 가지고 있다. 이때 “IMG_7142” 다른 클래스에 배정되어 있거나 클래스 “7”에 다른 이미지가 배정되어 있는지 확인한다. 만약 이미지나 클래스 중 하나라도 다른 곳에 배정되어 있었다면 다음 순서로 넘어가고, 아니라면 해당 이미지를 해당 클래스에 배정한다. 본 연구에서 “IMG_7142”가 이미지와 클래스 둘 다 배정되어 있지 않았기 때문에 “IMG_7142”를 클래스 “7”에 배정하였다. 같은 방법을 9방향 안구 사진의 모든 방향에 안구 사진이 배정될 때까지 반복한다.

편집기(editor)

편집기는 식별기에서 식별 결과표를, 선별기로부터 9방향 점수표를 받아 9방향 안구 사진을 생성한다. 편집기는 안구 사진들을 규격화된 형태로 변환한다. 우선 편집기는 안구 사진과 식별 결과표의 안구 위치를 이용해 두 안구의 중심을 연결하는 선을 긋는다. 이 선이 수평이 되도록 안구 사진을 회전한다. 이후 두 중심을 연결하는 선의 길이가 미리 설정된 길이가 되도록 이미지 크기를 조정한다. 이후 미리 설정된 이미지 여백 비율과 종횡비에 맞게 불필요한 주변부를 잘라낸다. 이후 편집기는 선별기에서 전달받은 9방향 점수표를 근거로 9방향 안구 사진의 각 위치에 편집한 이미지를 배열하고, 합쳐 한 장의 이미지를 생성한다(Fig. 2).

소프트웨어

본 연구는 Python 버전 3.7.9를 사용하였다. EfficientDet 모델은 TensorFlow12 2.4.1, Keras 2.4.3, OpenCV10 4.5.1.48, NumPy11 1.19.5로 구성되었다. 테스트 세트의 정확도와 소요 시간으로 본 연구에서 제시한 모델의 성능을 평가하였다. 본 연구에 사용된 CPU는 Intel® Core™ i9-10980XE이고 GPU는 GeForce RTX 3090 그래픽 카드이다. 통계 분석은 Microsoft Windows 플랫폼용 SPSS 통계 소프트웨어 버전 24.0 (SPSS, IBM, Chicago, IL, USA)을 사용하여 평가 데이터세트의 결과를 분석하였다.

결 과

본 연구에 사용한 안구 사진들은 등록번호, 촬영일, 질환명으로 폴더별로 구분되어 있었다. 본 연구에서는 한 환자가 여러 날짜에 내원하여 촬영한 경우, 날짜별로 구분해서 세트를 구성하였다. 또한 특정 방향을 주시하는 사진이 두장 이상이어서 10장 이상의 사진이 한 세트를 구성하더라도, 사진을 골라내지 않고 모든 사진을 사용하였다. 내사시, 외사시, 마비사시, 제한사시 각각에서 HydraVersion의 성능을 확인하기 위해 내사시, 간헐외사시, 마비사시, 갑상선안 병증을 대상군으로 정하였다.

본 연구에서는 내사시 29명 43세트 458장, 간헐외사시 47명 90세트 914장, 마비사시 45명 92세트 911장, 갑상선안병증 13명 25세트 241장, 총 134명 250세트 2524장으로 연구를 진행하였다. 대상군의 평균 나이는 26.6 ± 22.5세이고, 성비는 남자 65명, 여자 69명이었다. 전체 대상군 중 임의로 70%는 학습데이터세트로 사용하였으며, 30%는 평가데이터세트로 정하였다. 최종적으로 학습데이터세트는 96명 176세트 1,796장으로 구성하였고, 38명 74세트 728장은 평가데이터세트로 구성하였다.

CVAT를 이용해 학습데이터세트에 포함된 각 사진에 안구의 위치와 주시 방향을 라벨링하였다. 라벨링된 학습데이터세트로 HydraVersion을 훈련시킨 후, HydraVersion의 성능을 평가하였다. 먼저 9방향 안구 사진을 합성하기 전의 평가데이터세트 728장의 개별 사진에서 HydraVersion이 우안과 좌안의 주시 방향을 맞게 판독하였는지 확인하였다. 평가데이터세트는 각 질환별로 내사시 8명 12세트 116장, 외사시 13명 28세트 290장, 마비사시 11명 27세트 246장, 갑상선안병증 환자 4명 7세트 76장으로 구성하였다. HydraVersion은 728장의 사진 중 709장(97.39%)을 정확하게 라벨링하였다. 질환명에 따른 정확도는 내사시 98.28%, 외사시 96.21%, 마비사시 99.59%, 갑상선안병증 93.42%였다(Table 1). 판독에 오류가 발생한 원인은 협조가 부족한 환자에서 눈꺼풀이 동공을 가리거나 사진의 초점이 맞지 않아 동공을 찾기 어려운 경우였다.

The accuracy of HydraVersion

다음으로 각각의 질환에 대한 HydraVersion의 9방향 안구 사진 합성 속도와 정확도를 평가하기 위해, 평가데이터세트를 이용해서 HydraVersion과 PowerPoint로 각각 9방향 안구 사진을 생성하였다. 본 연구에서 개발한 HydraVersion은 74세트의 9방향 안구 사진 중, 71세트(95.95%)를 정확하게 결합하였다. 질환명에 따른 정확도는, 내사시 100%, 외사시 92.86%, 마비사시 96.30%, 갑상선안병증 100% 였다(Table 1). 외사시 2세트, 마비사시 1세트에서 사진 합성에 오류가 발생하였는데, 그 원인은 다음과 같다. 두 세트는 협조가 부족한 어린 환아에서 눈꺼풀이 동공을 가렸고, 한 세트는 사진의 초점이 맞지 않았다. 이렇게 사진의 질이 떨어지는 경우, 프로그램이 안구를 찾지 못하고 잘못된 이미지를 생성하였다.

본 연구에서 개발한 HydraVersion과 PowerPoint로 작업했을 때의 소요 시간을 비교하였다. 두 그룹 모두 정규성을 만족하지 않아(HydraVersion: p<0.001, PowerPoint: p=0.015), 비모수 검정인 Wilcoxon signed rank test를 시행하였다. Hydra-Version의 평균 소요 시간은 2.40 ± 0.43초, PowerPoint의 평균 소요 시간은 255.9 ± 26.7초로, HydraVersion이 PowerPoint 보다 빠르게 사진을 결합하였다(p<0.001) (Table 2).

Comparison of the time required between the HydraVersion and PowerPoint

각 질환별로 HydraVersion의 평균 소요 시간은 내사시 2.45 ± 0.40초, 외사시 2.52 ± 0.58초, 마비사시 2.24 ± 0.10초, 갑상선안병증 2.51 ± 0.41초였다. PowerPiont의 평균 소요 시간은 내사시 267.7 ± 30.0초, 외사시 250.7 ± 25.3초, 마비사시 256.7 ± 25.7초, 252.9 ± 29.5초였다. 모든 질환군에서 HydraVersion이 PowerPoint보다 빠르게 사진을 결합하였다(p=0.002, p<0.001, p<0.001, p=0.018, respectively) (Table 2).

고 찰

9방향 안구 사진은 동향 운동을 평가하고 수술 전후의 의무 기록에 필수적이나 이를 촬영하고 한 장의 사진으로 편집하는 과정들은 시간이 많이 소모되는데, 한 연구에 따르면 9방향 안구 사진을 촬영하고 PowerPoint로 편집하는 기존의 방법은 약 515.5 ± 187.0초가 소요되었다.15 본 연구에서는 사진을 촬영하는데 걸리는 시간은 측정하지 않고, 촬영된 사진을 편집하는 시간부터 측정하였다. 그 결과 PowerPoint로 편집하는 수작업은 약 255.9 ± 26.7초, Hydra-Version을 사용한 경우 약 2.40 ± 0.43초가 소요되어 두 방법 간에 걸리는 시간 차이는 대략 4분 정도였다. 한 장의 사진만 합성한다면 4분이라는 시간은 큰 부담이 되지 않는다. 그러나 실제 임상 현장에서는 하루에도 여러 환자의 9방향 안구 사진을 촬영하게 되고, 10명의 사진을 합성해야 된다면 기존의 수작업과 HydraVersion은 40분의 시간 차이가 나게 된다. 이러한 시간 차이는 편집해야 하는 9방향 안구 사진이 많을수록 커진다. 또한 기존의 수작업은 편집자가 직접 사진을 선별하고 편집하는 수고로움이 있기때문에, HydraVersion을 사용하는 경우 기존의 수작업에 비해 시간적 이득뿐만 아니라, 인력적인 면에서도 이득을 볼 수 있다.

그동안 시간 및 인력 부족의 이유로 본 병원을 포함하여 일부 사시 및 신경안과 클리닉에서는 몇몇의 안구 사진들이 결합되지 못하고 낱장으로 보관되고 있었다. 낱장으로 보관되는 사진들은 한 장의 9방향 안구 사진에 비해서 전반적인 추이가 한눈에 들어오지 않고, 기록으로 남길 때 많은 장수를 차지할 수 있다. 따라서 낱장으로 보관되는 사진들은 한 장의 9방향 안구 사진에 비해서 시간에 따른 환자의 경과를 한눈에 비교하는 것이 어렵고, 일부 안구 사진들이 연구 및 임상에서 활용되지 못하고 있었다.

이러한 불편을 해결하기 위해 기존의 여러 연구에서 9방향 안구 사진을 합치는 방법들을 고안하였다. “9Gaze”15와 “StrabisPIX”16는 스마트폰을 이용하여 9방향 안구 사진을 쉽게 촬영하기 위해 고안된 어플리케이션이다. 두 방법 모두 프로그램이 지시하는 대로 환자가 9방향 모두 사진을 촬영하면, 프로그램은 촬영한 사진들을 자동으로 합쳐서 한 장의 이미지를 생성한다. 추가적으로 “StrabisPIX”는 병원과 협력하여 생성된 이미지를 환자 정보에 연결하고 안과 의사에게 전송할 수 있다. 그러나 이 방법들은 사진을 합치는 과정만을 자동화했기 때문에, 촬영자가 수동으로 사진을 선별하고 사진의 크기와 모양을 맞춰야 한다. 또한 기존의 디지털 카메라로 촬영한 안구 사진들은 변환할 수 없다는 한계가 있었다.

자동화된 방법으로 안구 사진의 주시 방향을 분석한 다른 연구 중 일부는 이미지에서 안구의 위치를 찾는 과정이 생략되어 있었다.3,17 또한 일부 연구들은 자동화된 방법으로 안구의 위치를 찾고 안구 이미지만 추출한 다음, 눈동자의 위치를 통해 주시 방향을 추적하는 여러 구분된 단계를 수행하였다.18,19 이러한 연구들에 비교한 HydraVersion의 장점은 안구의 위치를 찾고, 주시 방향을 분석하는 여러 과정들을 물체 식별 기법을 응용하여 한 번에 수행한다는 점이다. 이를 통해 기계 학습을 위한 라벨링 과정을 한 단계로 단순화할 수 있었고, 안구 사진을 분석하는 이미지 처리 속도 또한 개선할 수 있었다.

이미지에서 원하는 클래스를 찾는 기계학습 방법은 크게 이미지 분류(classification), 물체 식별(object detection)으로 구분할 수 있다. 이 중 이미지 분류는 이미지 한 장에 한 가지의 클래스만 존재한다고 가정한다. 예를 들어, 어떠한 이미지가 “강아지”로 분류된다면, 이 이미지에는 강아지만 존재해야 하며 동시에 “고양이”나 “토끼”가 같이 있을 수 없다. 이러한 이유로 이미지 분류 기법은 질병의 유무, 질환의 종류와 같이 한가지 범주로 구분할 수 있는 데이터를 구분하는데 사용할 수 있다. 이미지 분류 방법으로는 한 개의 클래스만 부여하기 때문에, 안구 사진의 두 눈에 각각 클래스를 부여할 수 없다.

안구 사진에서 양 눈을 식별하기 위해 물체 식별 기법을 사용하는 것은 이미지 분류 기법에 비해 여러 장점이 있다. 물체 식별은 한 장의 이미지에 한 가지 이상의 물체(object)가 존재할 때, 각각의 물체의 위치와 클래스, 확률을 구분하여 출력한다. 따라서 물체 식별 방법을 이용하면 양안 각각에 대해 위치와 클래스, 확률을 얻을 수 있다. 양안을 따로 평가하기 때문에, 사시 및 눈운동장애에 의해 양안의 주시 방향이 일치하지 않더라도, 각각의 눈의 주시 방향을 독립적으로 평가할 수 있다는 장점이 있다. 또한 각각의 클래스에 대한 확률이 출력되기 때문에 같은 방향을 두 번 이상 촬영하더라도, 가장 정확도가 높은 사진을 선별할 수 있다. 또한 양안의 위치가 각각 출력되기 때문에 양 눈의 위치를 기반으로 일정한 규격으로 이미지를 회전하고, 자르고, 크기를 조정할 수 있다. 따라서 기존의 프로그램들이 사용하였던 방법15,16처럼 사진을 일정한 형태로 촬영하지 않더라도, 프로그램이 자동으로 안구 위치를 인식하여 정해진 크기와 각도, 모양을 맞추어 편집할 수 있었다.

질환에 따라 사시 및 눈운동장애의 형태가 다양하며, 각각의 눈은 비정상적인 위치를 가질 수 있고, 서로 다른 방향을 주시할 수도 있다. 이에 본 연구에서는 평가데이터세트로 내사시, 외사시, 마비사시, 제한사시로 질병군을 나누어 소요되는 시간과 성공률을 비교하였다. 이 중 제한사시는 갑상선 안병증을 포함하였다. 본 연구에서 고안한 HydraVersion은 네 질병군 모두 성공률이 높았다. 이는 선별기에서 주시 방향이 가장 명확한 사진부터 먼저 배치하고, 주시 방향이 애매한 사진은 나중에 채워 넣은 방법을 사용하였기 때문이다. 또한, 사시 각도가 크거나 눈운동이 좋지 않은 경우에도 우수한 결과를 보여주었다. 이는 HydraVersion이 주시 방향을 판독할 때 확률을 사용하였기 때문이다. 각각의 안구 사진은 9방향에 각각 적합할 확률을 출력할 수 있다. 만약 한 눈이 명확하게 한 방향을 주시한다면 매우 높은 확률 값을 가지게 되고, 애매한 방향과 각도로 주시한다면 낮은 확률 값을 가지게 된다. 따라서 주시 방향이 명확한 눈이 최종적인 주시 방향을 결정하기 때문에, 사시각이 크더라도 영향을 적게 주게 된다.

본 연구에서 제시한 HydraVersion의 한계점은 첫째로 사진에서 주시 방향을 판단하기 어려운 경우 오작동한다는 점이다. 수동으로 사진을 합칠 때에는 주시 방향이 명확하지 않더라도, 턱의 방향이나 눈꺼풀 위치, 촬영한 사진의 선후관계 등 주변 정보를 이용해서 주시 방향을 추정할 수 있다. 그러나 HydraVersion은 특정 위치를 주시하는 안구만을 이용해서 주시 방향을 판단하기 때문에, 주변 정보를 이용할 수 없다. 본 연구에서 눈꺼풀이 동공을 가리거나 사진의 초점이 맞지 않아 주시 방향이 명확하지 않은 경우 HydraVersion이 안구를 찾지 못하고 잘못된 이미지를 생성하였다. 따라서 9방향 사진을 촬영할 때 일정 수준 이상의 품질이 요구된다. 둘째로 HydraVersion은 동향운동의 방향만 평가한다. 따라서 HydraVersion을 통해서는 사시의 종류, 사시각의 변화 등의 정보를 얻을 수 없다. 만약 사시의 진단이나 사시각의 정량적인 평가를 위한다면, 본 연구에서 사용한 9개의 클래스보다 더 세밀한 클래스 구분이 필요할 것이다. 추가적인 연구를 통해 9방향 사진을 자동으로 생성하면서 동향운동 이상을 정량적으로 평가할 수 있는 프로그램을 개발한다면, 임상에서 사시의 진단 및 사시각의 정량적인 평가에 더 많은 도움이 될 것이다. 또한 기존의 연구된 9방향 안구 사진 어플리케이션15,16과 결합하여 HydraVersion을 일반인도 사용하기 쉽게 고안한다면, 병원 방문이 힘들거나 협조가 부족한 환자에서도 진료 및 치료에 도움을 받을 수 있을 것이라 기대한다.

본 연구에서는 학습데이터세트의 수가 약 1,700장으로, 각 클래스마다 200여 장 정도밖에 배정되지 않아 수가 부족하였다. 그래서 HydraVersion은 최대한 식별 능력을 끌어내기 위해 가장 크고 복잡한 모델을 사용할 수밖에 없었다. 추후 더 많은 학습데이터세트를 이용하고 사진의 해상도와 채도를 랜덤으로 변경하여 데이터세트의 수를 늘린다면, 더 빠르고 가벼운 모델로도 같은 성능을 발휘할 수 있을 것이다. 또한, 평가 데이터세트의 수도 74장으로 각 질환별로 배정된 평가데이터세트의 수가 부족하였다. 추후 더 많은 평가데이터세트를 이용한다면, 사시각이 큰 외사시나 내사시 또는 눈운동장애가 심한 마비사시 등으로 질환을 더 세분화하고 각각의 소요 시간과 성공률을 비교하여 분석하는 것이 필요하다.

본 연구를 통해 인력과 시간이 많이 소모되는 9방향 안구 사진을 자동화된 방법으로 빠르게 생성할 수 있게 됨에 따라 사시 및 신경안과 환자의 진단, 치료 및 연구에 도움이 될 수 있으리라 기대된다.

Notes

Conflicts of Interest

The authors have no conflicts to disclose.

References

1. Von Noorden G, Campos E. Binocular Vision and Ocular Motility: Theory and Management of Strabismus, 6th ed. St. Louis, MO: Mosby Year Book. Inc, 2002;68-9.
2. Khan MQ, Lee S. Gaze and eye tracking: techniques and applications in ADAS. Sensors (Basel) 2019;19:5540.
3. de Figueiredo LA, Dias JVP, Polati M, et al. Strabismus and artificial intelligence app: optimizing diagnostic and accuracy. Transl Vis Sci Technol 2021;10:22.
4. Lim HW, Lee DE, Lee JW, et al. Clinical measurement of the angle of ocular movements in the nine cardinal positions of gaze. Ophthalmology 2014;121:870–6.
5. Zou Z, Chen K, Shi Z, et al. Object detection in 20 years: a survey. arXiv 2019;May. 16. doi: 10.48550/arXiv.1905.05055.
6. Blascheck T, Kurzhals K, Raschke M, et al. Visualization of eye tracking data: a taxonomy and survey. Comput Graph Forum 2017;36:260–84.
7. Niehorster DC, Cornelissen THW, Holmqvist K, et al. What to expect from your remote eye-tracker when participants are unrestrained. Behav Res Methods 2018;50:213–27.
8. Van Renswoude DR, Raijmakers MEJ, Koornneef A, et al. Gazepath: an eye-tracking analysis tool that accounts for individual differences and data quality. Behav Res Methods 2018;50:834–52.
9. Sharma P, Joshi S, Gautam S, et al. Student engagement detection using emotion analysis, eye tracking and head movement with machine learning. In: Reis A, Barroso J, Martins P, et al., eds. Technology and Innovation in Learning, Teaching and Education. Cham: Springer, 2022; chap. 5.
10. Pulli K, Baksheev A, Kornyakov K, Eruhimov V. Real-time computer vision with OpenCV. Commun ACM 2012;55:61–9.
11. Van Der Walt S, Colbert SC, Varoquaux G. The NumPy array: a structure for efficient numerical computation. Comput Sci Eng 2011;13:22–30.
12. Abadi M, Barham P, Chen J, et al. TensorFlow: a system for Large-Scale machine learning. In: USENIX, eds. Graph Processing and Machine Learning. 12th USENIX Symposium on Operating Systems Design and Implementation; 2016 Nov 2-4; Savannah, GA. Berkeley, CA: USENIX Association; 2016. p.265-84.
13. Tan M, Pang R, Le QV. Efficientdet: Scalable and efficient object detection. In: IEEE, eds. 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR); 2020 Jun 13-19; Seattle, WA. Manhattan, NY: IEEE; 2020. p.10778-87.
14. Tan M, Le Q. Efficientnet: Rethinking model scaling for convolutional neural networks. In: Chaudhuri A, Salakhutdinov R, eds. Proceedings of the 36th International Conference on Machine Learning; 2019 Jun 9-15; Long Beach, CA. PMLR; 2019. p.6105-14.
15. Goseki T, Kunimi K, Shioya N, et al. New device for taking ninedirectional ocular photographs:“9Gaze” application. J Eye Mov Res 2022;Mar. 6. doi: 10.16910/jemr.15.1.5.
16. Phanphruk W, Liu Y, Morley K, et al. Validation of StrabisPIX, a mobile application for home measurement of ocular alignment. Transl Vis Sci Technol 2019;8:9.
17. Iwata Y, Handa T, Ishikawa H. Objective measurement of nine gaze-directions using an eye-tracking device. J Eye Mov Res 2020;Oct. 6. doi: 10.16910/jemr.13.6.4.
18. Lu J, Fan Z, Zheng C, et al. Automated strabismus detection for telemedicine applications. arXiv 2018;Dec. 3. doi: 10.48550/arXiv. 1809.02940.
19. Yu M, Lin Y, Tang X, et al. An easy iris center detection method for eye gaze tracking system. J Eye Mov Res 2015;Oct. 13. doi: 10.16910/jemr.8.3.5.

Biography

박신형 / Shin Hyeong Park

창원경상국립대학교병원 안과

Department of Ophthalmology, Gyeongsang National University Changwon Hospital

Article information Continued

Figure 1.

Overview of machine learning-based Auto-merge program (HydraVersion) for nine-directional ocular photography. The HydraVersion consists of the discriminator, the selector, and the editor. The discriminator uses machine learning to interpret the position and gaze direction of the eye in the photographs. The selector selects one eye photograph in each direction of nine-directional ocular photography based on the gaze direction of the eye interpreted by the discriminator. The editor rotates, resizes, and crops the periphery of the photograph according to eye position, arranges it in the proper size and place, and combines it to create a single nine-directional ocular photography.

Figure 2.

Detailed mechanisms of HydraVersion. After machine learning, the discriminator receives multiple eye photographs and outputs an identification result table, including the eye’s position, class, and score. The selector gets the identification result table, draws up a nine-direction scorecard, and selects eye photographs in the order of the most probabilities. The editor receives the identification result table from the discriminator and the 9-direction scorecard from the selector. The editor converts the eye photographs into a standardized format using the eye positions in the identification result table. After that, the editor arranges the edited images at each part of the 9-directional ocular photographs based on the 9-direction scorecard received from the selector and combines them to create a single image.

Table 1.

The accuracy of HydraVersion

Interpreting accuracy*
Merging accuracy
Total Error Accuracy (%) Total Error Accuracy (%)
Esotropia 116 2 98.28 12 0 100.0
Exotropia 290 11 96.21 28 2 92.86
Paralytic strabismus 246 1 99.59 27 1 96.30
TAO 76 5 93.42 7 0 100.0
Total 728 19 97.39 74 3 95.95

TAO = thyroid-associated ophthalmopathy.

*

The accuracy of interpreting each eye in the photograph before merging the images from the nine-directional ocular photography in the test dataset;

the accuracy of merging nine-directional ocular photography in the test dataset.

Table 2.

Comparison of the time required between the HydraVersion and PowerPoint

Esotropia Exotropia Paralytic strabismus TAO Total
HydraVersion 2.45 ± 0.40 2.52 ± 0.58 2.24 ± 0.10 2.51 ± 0.41 2.40 ± 0.43
PowerPoint 267.7 ± 30.0 250.7 ± 25.3 256.7 ± 25.7 252.9 ± 29.5 255.9 ± 26.7
p-value* 0.002 <0.001 <0.001 0.018 <0.001

Values are presented as seconds ± standard deviation.

TAO = thyroid-associated ophthalmopathy.

*

Wilcoxon signed rank test.