본문 바로가기
A.I./이론

논문 리뷰)시선 예측 연구의 고전 - Eye Tracking for Everyone

by 채소장사 2022. 8. 20.

 2016년 CVPR에서 발표된 Eye Tracking for Everyone은 본격적으로 모바일 디바이스를 비롯한 상용장비에서 딥러닝 기반의 appearance-based eye tracking 연구가 시작되게 한 중요한 논문으로 꼽힌다. 이 논문의 발표와 함께 공개된 대규모 시선 예측을 위한 데이터셋 GazeCapture는 데이터의 다양성과 높은 신뢰도 덕분에 시선 추적 기술의 성능을 크게 향상시켰다. 이번 포스트에서는 이 논문의 리뷰를 통하여 초기 시선 예측 연구의 방향을 이해하고, 딥러닝 적용을 위한 데이터셋이 갖춰야 할 조건과 데이터셋을 활용한 시선 예측 모델에 대해 이해해보려고 한다.


 이 논문은 추가적인 장비나 센서가 없더라도, 모바일 장치에 설치한 시선 예측 애플리케이션으로 시선 추적이 가능하게 하자-라는 목표에서 출발한다. 이를 위해 시선 추적을 위한 대규모 데이터셋인 GazeCapture를 소개한다. 더불어 GazeCapture를 사용한 CNN 모델인 iTracker를 사용하여서, 실시간 사용이 가능하면서도 그 당시 연구들보다 오차를 크게 줄일 수 있었다.

1. Introduction

 시선 추적 기술은 다양한 영역에서 그 쓰임새가 크다.

  • HCI(human-computer intercation) 분야
  • 의료 진단 및 심리학 연구
  • 컴퓨터 비전 분야

이 당시 진행되었던 연구도 시선 추적 기술이 일반적으로 맞닥뜨리는 어려움을 똑같이 가졌는데, 비싸면서 사용하기 불편한 전용 장비를 갖춰야 할 필요가 있거나, 연구 환경과 다른 실제 상황에서는 정확성이 떨어지는 문제가 발생했다. 그래서 모두가 손쉽게 사용할 수 있는 기술이 되려면, 스마트폰 카메라나 웹캠과 같은 일반 장비를 통해서도 정확한 시선 예측이 이뤄져야 한다.

 이 논문의 목표는 어떠한 추가적인 장비의 도움 없이 스마트폰이나 태블릿같은 모바일 장비에서도 정확한 시선 추적을 달성하는 것이다. 모바일 장비가 널리 사용되면서 최신 기술의 지원이 빠르며, 카메라 장비의 발전이 빠른 장점도 있지만, 무엇보다도 디스플레이에 대해서 카메라가 고정된 위치에 있다는 것도 큰 장점이 된다.

 컴퓨터 비전에 딥러닝 기술이 도입되면서 큰 폭의 성능 향상이 일어난 것과 달리, 이 당시 시선 예측 기술은 딥러닝에 의한 이점을 크게 누리지 못했다. 이 논문은 사용할 수 있는 대규모 데이터셋이 부족했기 때문이라고 문제를 진단한다. 그래서 많아봐야 50여명의 대상자에 대한 기존의 데이터들과 차별성을 가진 GazeCapture 데이터셋을 크라우드소싱으로 구축하였다.  데이터셋은 모바일 기반의 시선 추적 데이터셋으로서 거의 1500명의 사용자의 시선 정보를 가지고 있으며 영상 배경, 조명 조건 뿐 아니라 사람의 얼굴 방향도 자유롭게 설정하여 기록됨으로써 큰 다양성을 가지고 있다.

 구축된 GazeCapture 데이터셋으로 end-to-end 시선예측이 가능한 CNN 모델인 iTracker를 학습시킨다. iTracker는 얼굴 방향(head pose) 예측이나 시선 추적에 필요한 별도의 특성을 추출하는 알고리즘이나 시스템을 요구하지 않는다. 입력 영상으로부터 양 눈과 얼굴 이미지를 잘라서학습시키는 것만으로, 기존 방식의 성능을 크게 앞지를 수 있었다. 한편, 정확도가 높은 모델이더라도 입력 크기나 네트워크의 파라미터 수가 많으면 모바일 장비 등에서 실시간 사용하는 것은 어려운 일이다. 논문에서는 Knowledge distillation에서 사용되는 dark knowledge(=hidden knowledge) 개념을 끌어와, 정확도를 최소한으로 희생하면서 모바일 장비 등에서 실시간 실행이 가능한 더 작고 빠른 신경망을 학습시켰다.

2. Related Work

Gaze estimation:

 시선 예측은 크게 model-based 방식과 appearance-based 방식으로 나뉜다. Model-based 방식은 눈에 대한 기하학적(geometric) 모델을 구축하여 사용하며, 다시 corneal-reflection-based 방식과 shape-based 방식으로 구분할 수 있다. corneal-reflection-based 방식은 외부 광원의 빛이 눈에 반사되는 지점(glint)을 활용하여 눈의 특성을 탐색한다. 반면 shape-based 방식은 동공 중심(pupil center)이나 홍채 경계(iris edge) 같은 대상자 눈의 모양을 관찰하여 시선 방향을 추론한다.

더보기

 참고) 일반적으로 model-based 시선 예측 방식은 높은 정확성을 보일 수는 있지만, 대상자마다의 기하학적 모델을 구축하기 위하여 적외선 카메라와 같은 전용 장비를 필요로 한다. 또 논문에 나온 것처럼 카메라에 입력되는 영상의 해상도가 낮거나 조명 조건이 자주 바뀌면 정확한 시선 예측이 어려운 단점이 있다.

 Appearance-based 방식은 이와 달리 눈 이미지를 직접적인 입력으로 사용하여서 시선 방향을 예측한다. 저해상도 이미지에서도 시선 예측이 가능하지만, model-based 방식에 비해서 각 대상자의 훈련 데이터가 훨씬 많이 필요로 하였다. 그런데 이 논문에서는 제안하는 대규모 시선 데이터를 활용하여 딥러닝 기반의 모델을 사용하였고, 딥러닝 학습이 가진 일반화 능력 덕분에 특정 사용자에 대한 데이터가 필요하지 않음을 강조한다. (참고- 물론 user-specific data를 사용한 캘리브레이션은 성능 향상에 도움이 되지만, 대규모 데이터에 의한 iTracker의 일반화 능력이 더 중요하다고 주장하고 있다.)

Gaze datasets:

 이 당시 공개된 시선 데이터셋의 특성을 표로 나타내어 비교하면 다음과 같다. 각 행의 번호는 참고 논문 번호이며, Ours가 논문에서 제안한 GazeCapture 데이터셋이다. ( cont. 는 continous의 약자로서 연속된 값을 가짐을 뜻한다.)

더보기

참고논문 번호에 따른 논문 소개

  • [24] : An eye tracking dataset for point of gaze detection. 2012.
  • [40] : A comprehensive head pose and gaze database. 2007.
  • [31] : Gaze locking: Passive eye detection for human-object interaction. 2013.
  • [25] : A database for the development and evaluation of gaze estimation algorithm from rgb and
              rgb-d cameras. 2014.
  • [34] : Learning-by-synthesis for appearance-based 3d gaze estimation. 2014.
  • [43] : Appearance-based gaze estimation in the wild. 2015.
  • [13] : TableatGaze : A dataset and baseline algorithms for unconstrained appearance-based
              gaze estimation in mobile tablest. 2015.

 [24][40][31] 등의 초기 데이터셋은 얼굴 방향의 다양성이 부족하고, 시선 타겟이 촘촘하게 설정되지 않았다. GazeCapture는 이를 극복하기 위하여 영상 녹화 중에 대상자가 얼굴을 움직이게 하고, 각 사람마다 시선 타겟을 무작위로 생성하였다. 이런 접근방식은 이 논문 발표 시점 즈음에 발표된 데이터셋에서도 유사하였지만, GazeCapture에 비하여 참여 인원 수가 적었다.

3. GazeCapture: A Large-Scale Dataset

3절에서는 제안한 데이터셋이 구축될 때 중요하게 생각한 점과 그에 따라 얻게된 데이터셋의 특성을 기술한다.

 

실험실과 같은 제한된 환경에서 수집된 기존의 데이터셋과 달리 GazeCapture는 직접 제작한 iOS 애플리케이션을 활용하여 크라우드소싱(crowdsourcing)으로 구축되었다. 따라서 그 규모가 기존 데이터셋보다 훨씬 크면서도(확장성: scalability), 수집 결과의 정확성을 믿을 수 있고(신뢰성: Reliability), 데이터의 특성 범위가 넓은(다양성: variability) 데이터셋을 구성할 수 있었다. 데이터셋 구축과 관련된 세부사항은 논문을 참고하고, 여기서는 각 특성에 따라 주요한 내용 몇 가지만 정리하였다.

  • Scalability : AMT(Amazon Mechanical Turk)와 iOS앱 (GazeCapture) 사용
  • Reliability : 사람의 감독 없이도 신뢰성이 높도록, 대상자의 집중력을 테스트하는 절차를 도입,
                        iOS의 실시간 face-detector를 사용해서, 화면을 바라보고 있는 지를 확인한다.
  • Variability : 얼굴 방향(pose), 사람의 외모(appearance), 조명 조건(illumination)이 다양하도록 설정
                        주기적으로 모바일 장비의 방향(orientation)을 바꿔서 영상을 획득한다.

 사용자가 바라보는 지점들은 무작위한 위치와 더불어 Crowdsourcing saliency with webcam based eye tracking(2015)에서 제시된 13개의 위치 중에서 제시되었다. (참고 - 13개의 고정된 위치에 대한 시선 예측 결과는 캘리브레이션의 효과를 알기 위하여 사용됨)

 데이터셋에 대해 구체적으로 알아보면 총 1474명의 사용자가 참여하여 얻은 2,445,504개의 이미지 프레임과 대응되는 고정 시선 위치로 구성되어 있다. 데이터셋이 가지는 다양성을 이해하기 위하여, 얼굴 방향(h)과 시선 방향(g)의 분포를 시각화하여, 기존 데이터셋과 비교하였다. 

4. iTracker : A Deep Network for Eye Tracking

 논문에서는 이렇게 구축된 대규모 데이터셋 GazeCapture를 이용하여서 end-to-end CNN 모델인 iTracker를 사용한다. iTracker의 목표는 단일 이미지에서 얻은 정보로서 정확한 시선 예측이 가능하게 하는 것이다. iTracker는 다음의 3가지를 입력 요소로 사용한다.

  • (1) 얼굴 이미지
  • (2) 양 눈의 이미지 각각
  • (3) 전체 이미지에서의 얼굴의 위치 정보( = face grid) 

 위의 그림은 간략한 iTracker의 구조를 모식화한 이미지로서, 자세한 아키텍처는 프로젝트 웹사이트나 코드가 공개된 Github repo에 설명되어 있다. 논문의 아키텍처가 CNN연구가 활성화되고 있는 시점에 구성되어서 AlexNet의 커널과 유사하게 11x11, 5x5 같은 커널도 사용되었다. (사실 이후의 Gaze estimation model에서 거의 공통적으로 나타나는데) 입력으로 사용되는 얼굴에 이미 눈 이미지가 포함되었음에도 개별 눈 이미지를 별도의 입력으로 사용한다. 이는 고해상도의 눈 이미지를 사용하여서 미묘한 변화를 모델이 인식하게 하려는 목적이다. 참고로 iTracker에서는 입력 이미지의 크기는 224x224로 통일되었고, face grid의 크기는 25x25로 설정되었다.

 학습에 앞서 고려해야 할 사항으로 GazeCapture가 여러 디바이스들의 다양한 방향에서 수집되었기 때문에, iTracker가 바로 스크린 상의 좌표를 예측하게 하는 것은 쉽지 않다는 것이다. 이 때문에 시선을 카메라에 대한 상대 위치로 예측하도록 설계하였다. 여기에는 모바일 장비의 카메라가 디스플레이와 동일한 평면에 있다는 사실이 고려되었다. 이런 방식으로 시선 좌표공간을 통합하여 시각화하면 아래 그림이 된다.

 모델의 학습은 예측값과 정답 사이의 Euclidean loss를 사용하여 이뤄졌다. 학습이 끝난 후, 개별 디바이스와 디바이스의 방향에 대하여 fine-tuning함으로써 성능향상을 이끌어 낼 수 있었는데, 특히 스마트폰과 태블릿에서 획득된 데이터의 불균형 문제를 다룰 때 유용하였다.

 이 논문은 정확한 시선 예측의 목표와 더불어 추가적인 목표를 내세우고 있는데, 바로 연산 자원이 한정된 모바일 장비에서도 잘 동작하는 것이다. 이를 위해 Knowledge Distillation에서 사용되는 dark knowledge 개념을 적용하여 모델 복잡도, 연산 시간, 메모리 사용량을 감소 시켰다. iTracker를 활용하여 학습한 작은 신경망은 facial landmark eye detection을 사용하여 집중할 영역을 찾아낸 뒤 80x80으로 자른 더 타이트한 크기의 이미지를 사용한다. 이에 따라 더 빠른 실행 속도를 가지면서도 더 분명한 정보를 가진 영역(discriminative regions)에 집중(attention)할 수 있게 해 준다. 최종적으로 작은 신경망을 검증셋을 이용해 fine tuning하여서 정확도 손실을 최소화하도록 최적화하였다. 특징적으로 정답값, 모델의 예측값, 신경망의 뒤에서 두번째 레이어에서 추출한 특성에 대한 결합 손실(combined loss)을 사용해 좋은 결과를 얻었다. 작은 신경망은 실행하는 데 iPhone6s에서 0.05초가 소요되었고, Apple의 face detection 파이프라인과 함께 사용되었을 때 보통의 모바일 장비에서 10~15fps를 기대할 수 있었다.

5.  Experiments

 GazeCapture 데이터셋에서 iTracker의 성능을 평가해본 결과 캘리브레이션 없이 2cm 이하의 평균 오차의 성능을 보였고, 캘리브레이션 과정을 거치면 최대 1.8cm 이하의 평균 오차 성능을 보였다. 이는 논문 발표 당시에 최고의 성능치였고, 이에 따라 논문은 대규모 데이터셋의 활용과 데이터셋의 다양성이 가지는 중요성을 설명하고 있다. (특히 추가적으로 사용자마다의 데이터셋 다양성보다 관찰된 사용자의 수가 더 중요함을 보인다.)

Setup : Data preparation

 GazeCapture가 처음 가진 2,455,504개의 프레임에서 얼굴과 눈이 탐색되는 유효한 1,490,959 프레임을 선택하였다. 실험을 위하여 데이터셋을 훈련/검증/테스트 데이터셋으로 분할하였고, 이는 1471 명의 대상자를 1271/ 50/ 150명으로 나누고 이미지도 1,251,983 / 59,480/ 179,496장씩 나누어 활용하였음을 의미한다. ( 참고로 검증 데이터셋과 테스트 데이터셋에 포함된 대상자들은 모든 점들에 대한 시선을 가지고 있는 사람들이었다.)

 한편, 훈련과 테스트셋을 25배 확장하여(25-fold data augmentation) 성능을 평가하였는데, 눈과 얼굴이미지 그리고 그에 따른 face grid를 이동시켜서 데이터를 확장하였다. 이 때, 확장된 훈련 이미지는 각각 독립된 샘플로 다뤘지만, 테스트 이미지에서는 원래 테스트 데이터로부터 확장된 데이터의 예측을 평균하여 사용하였다.

Setup : Implementation details

 학습은 Caffe를 활용하여 구현되었고, 전이학습 없이 150,000 에포크 동안 배치 크기 256으로 학습되었다. 초기 학습률은 0.001로 75,000번 학습된 후 1/10로 감소시켜 0.0001을 사용하였다. AlexNet의 학습방법과 유사하게 모멘텀 값으로 0.9를, 가중치 감쇄(weight decay)로 0.0005가 사용되었다.

Setup : Evaluation metric

 모델의 예측값은 정답값과 비교하여 평균 유클리드 거리(average Euclidean distance)를 cm 단위로 측정하여 오차로 사용하였다. 이 때, 스마트폰과 태블릿의 화면 크기가 다르고 이에 따라 사용자와 장비와의 거리에 차이가 있기 때문에, 두 기기에 대한 성능을 개별적으로 측정하였다.

 한편, 좀 더 실제적인 측정과 평가를 위해서 각 점에 대하여 단일 프레임 보다는 연속된 프레임을 처리하였는데, 이를 dot error로 명명하였다. 즉, 모델의 출력은 특정 위치의 특정 점에 연관된 프레임들에 대한 평균 예측이 된다.

 

Unconstrained Eye Tracking

 학습된 iTracker를 캘리브레이션 없이 사용할 경우를 논문에서는 unconstrained eye tracking 또는 calibration-free eye tracking으로 명명하였고, 이미지 확장(data augmentation) 적용 여부 및 입력 요소를 달리한 ablation study 실험 결과를 통해 그 일반화 능력을 설명하고 있다.

tr과 te는 각각 훈련 데이터셋과 테스트 데이터셋에서 이미지 확장(Aug.)을 적용했음을 뜻하고 있다. 비교를 위해 기준으로 삼는 baseline으로 pre-trained ImageNet model에 SVR(Support Vector Regressor)을 부착한 모델을 사용하였다.

 iTracker는 스마트폰에서 최대 1.53cm, 태블릿에서 최대 2.38cm 만큼 낮은 성능을 보여서 베이스라인 모델보다 큰 성능 향상을 보였다. dot error가 단일 프레임에서 측정한 error보다 항상 낮다는 사실은 실제 시선 추적 애플리케이션에서 시간에 따른 평균(temporal averaging)을 사용하는 것의 장점을 설명해줄 수 있다. 한편 train / test augmentation의 사용은 오차를 줄이는 데 도움이 되었다. 비록 실시간 사용에서는 테스트셋의 확장이 불가능할지라도 훈련 데이터셋의 확장이 강건한 모델을 학습시키는데는 도움이 될 것이다. 

 마지막으로 학습된 iTracker 모델을 개별 디바이스에서 그 방향에 맞춰 fine-tuning함으로써(iTracker*) 더욱 성능을 향상시킬 수 있었다. GazeCapture의 대부분(85%)이 스마트폰에서 획득되었기 때문에, fine-tuning의 효과는 스마트폰에서 크게 나타났다.

 다음은 오차의 분포를 시각화한 것으로, 특히 카메라에 가까운 영역일수록 오차가 적음을 볼 수 있다.

Eye Tracking with Calibration

 GazeCapture 데이터셋을 만들 때, 캘리브레이션 효과를 평가하기 위하여 사용자마다 13개의 고정된 점 위치에 대한 데이터를 수집하였다. 테스트 데이터셋에 포함되어 있는 사용자의 데이터에서 이 13개 점에 대한 프레임을 학습에 사용하고, 나머지 점에 대하여 평가를 수행하였다. 학습에 대하여 구체적으로 설명하면, iTracker의 fc1 레이어에서 특성을 추출한 뒤 각 사용자의 시선을 예측하는 SVR을 학습시키는 방식으로 진행되었다. 실험 결과는 다음과 같다.

  적은 수의 점을 캘리브레이션에 사용할 때, 오히려 성능이 감소하는 모습이 보이는데 이는SVR을 학습시킬 때 생길 수 있는 overfitting으로 논문에서는 추정하고 있다. 13개의 점을 모두 사용했을 때, 성능향상은 최대 1.34cm와 2.12cm의 오차를 스마트폰과 태블릿에서 보였다.

Cross-Dataset Generalization

 학습된 iTracker에서 추출된 특성을 활용한 일반화 능력을 파악하기 위하여 TabletGaze 데이터셋에서 평가한다. TabletGaze의 40명으로 구성된 서브 데이터셋을 훈련 데이터셋(32명)과 테스트 데이터셋(8명)으로 분할한다. iTracker에서 추출한 특성에 SVR(Support Vector Regression)을 붙여서 훈련하고, 훈련된 시선예측기(trained classififer)를 테스트셋에서 적용한다.

 비교를 위하여 데이터와 상관없이 항상 스크린의 중심을 예측하는 center prediction 방법과 ImageNet에서 학습된 AlexNet을 사용해 추출한 특성에 SVR을 적용한 방식을 베이스라인으로 삼는다. 흥미롭게도 AlexNet + SVR의 조합이 (완전히 다른 작업을 위해 학습되었음에도 불구하고) 다른 비교 모델의 성능을 압도했다. iTracker에서 추출된 특성을 활용한 TabletGaze에서의 성능은 2.58cm를 달성하였고, 이로서 iTracker의 일반화 능력을 확인할 수 있었다.

Analysis

 Unconstrained Eye Tracking의 성능에 대한 표를 보면, 얼굴과 양 눈 이미지, face grid라는 3개의 입력 요소가 모두 성능에 기여하고 있음을 알 수 있다. 그런데 이 중에 눈 이미지를 사용하지 않는 경우의 성능은 iTracker 모델과 성능 차이가 크지 않다(참고 - 아마도 얼굴 이미지에 눈 이미지가 포함되어 있기 때문으로 생각된다) 따라서 논문에서는 얼굴 이미지와 face grid만을 입력으로 사용하는 더 효과적인 방식이 가능할 수도 있다는 여지를 말하고 있다.

 아래의 그래프는 데이터셋의 대상자 수가 변화함에 따른 iTracker의 성능을 모식화한 것이다. 데이터셋에 포함된 사람의 수가 늘어날수록 오차는 크게 감소함을 볼 수 있다(그림 a). 데이터셋의 다양성 측면에서는 각 사람마다의 샘플 수보다 사람 수 자체가 많을수록 성능 향상에 도움이 되었다(그림 b). 

 

6. Conclusion

 이 논문은 모바일 장비에서 동작하는 end-to-end 시선 추적 모델을 목표로 하였다. 이를 위해 우선, 대규모 시선 데이터셋인 GazeCapture를 제안하였다. 이를 통해 시선 모델의 성능 향상 뿐만 아니라 대규모 데이터셋을 갖출 때, 데이터셋의 다양성이 얼마나 중요한 지도 실험을 통해 설명하였다. GazeCapture를 사용하여 CNN을 사용하는 appearance-based gaze estimation 모델인 iTracker를 학습시켰다. 스마트 폰과 태블릿에서의 dot error는 최대 1.04cm와 1.69cm 까지 향상되었다. 마지막으로 다른 데이터셋에서 iTracker에서 추출된 특성으로 시선을 예측하는 일반화 능력을 평가하였을 때도, 기존의 다른 방식보다 큰 성능 향상을 보였다.

댓글