3 min read

Build Face recognition model

  • 해당 포스트는 “(Journal 2017) TabletGaze dataset and analysis for unconstrained appearance-based gaze estimation in mobile tablets” 논문에서 참고한 자료이다.
  • 논문 모델을 벤치마킹하기 위한 사전 작업 게시물.

1. Introduction

  • gaze 정보 유용성

    • 손을 사용하지 않아도 됨.
    • 행동 연구 - 읽는 습관 등.
    • gaze-based feature가 사람마다 다르다면, 유저 인식에도 사용.
  • appearance-based gaze estimation 방법을 사용.

  • 가장 큰 문제점

    • 제한이 없는 태블릿의 사용.
    • 머리 움직임, 손 움직임 등 자세가 변화.

    → 3가지 제약이 없다.

    1. 태블릿 어떻게 사용하는지에 대한 제약 X
    2. 자세 제약 X
    3. 태블릿의 유저 상관 X

    → Rice TabletGaze dataset을 모았다.

    • 비디오 활용
    • 41명에게서 100,000개 이미지.
  • baseline alogrithm에 기초했다.

    1. eye images를 cropped

    2. 추출한 eye image에서 multilevel HoG(mHoG) feature를 뽑아냄.

    3. Linear Discriminant Analysis(LDA) 적용 - feature dimensionality를 줄이기 위해.

    4. 최종 feature는 Random Forests regressor로 들어간다.

      output : 사람의 이미지가 보고있는 곳의 스크린 위치(location on the tablet screen)

    → HoG, RF를 사용한 이유는 5가지 다른 feature와 4가지 regressor를 조합한 성능을 비교해봤을 때 가장 좋은 값이 나왔기 때문.

    → baseline algorithm은 head pose 정보를 가져오지 않는다.

  • 테스트

    1. person dependent / independent training
      • 결과 : person dependent한 훈련이 훨씬 정확도가 높았다.
    2. dataset 크기에 따라 성능 확인.
      • 결과
        • 더 많을 수록 올라갔다.
        • 인종, 자세에 대해서 partitioning 했을 때 정확도가 올라갔다
        • 안경의 여부는 알고리즘 성능 향상에 영향이 없었다.
    3. 비디오에 대해 알고리즘을 적용 - 연속적인 트래킹 결과에 따른 분산.

2. 베이스라인 알고리즘

  1. preprocessing

    1. image normalization
      1. crop eye 얼굴을 인식하고, 해당 얼굴에서 양쪽 눈 image를 따로 추출한다.
      2. resize 해당 눈 이미지들에서 feature를 추출할 수 있도록 사이즈를 재조정한다.
  2. feature extraction

    1. feature extraction

      특징을 추출하기 위한 5가지 방법을 사용하고 비교했다.

      1. contrast normalized pixel intensities

        normalized된 이미지의 pixel 값들을 feature vector에 넣음.

      2. LoG

        LoG filter를 사용, eye contour를 향상, person dependent eye region texture 정보를 줄이기 위해.

      3. LBP

        HoG와 더불어 가장 효과적인 feature로 증명되어 있다.

        image texture 정보를 가져오고, local shape, orientation information을 retrieve.

      4. HoG

      5. mHoG

        HoG feature 들을 다른 scale로 계산하고, 이를 concatenating.

    2. dimensinality reduction

      1. feature들을 추출했을 때 너무 높은 dimension & noise를 갖는다.
      2. LDA(Linear Discriminant Analysis) data를 inter-class scatter - intra-class scatter 비율이 최대화 되는 낮은 차원의 공간에 매핑한다.
  3. regression estimation

    1. x, y 축 좌표 2가지 레이블을 예측.
    2. x, y 축 각각에 대한 regressor를 훈련시킨다.

    총 4가지 regression model을 사용했는데, 이 중 Random Forest 모델이 가장 성능이 우수했다.

    1. kNN, k = 3으로
    2. RF - RandomForest
    3. GPR
      • 시간 복잡도 : O(N^3), 100,000개의 sample에 대해 진행할 수 없었음.
      • FITC(fullt independent traing conditional approximation)을 사용해서 running time을 줄이려고 했다. 그래도 합리적인 시간 내에는 15명밖에 해볼 수 없었다.
    4. SVR RBF kernel 사용. 똑같이 O(N^3), 15명에 대해서만 진행했다.

3. 에러 계산

  • 이전 연구들은 angular error를 사용.
    • angular error

      사람의 눈에서부터 스크린 중심까지의 거리, screen center에서 gaze point까지의 거리에 대한 arctangent 비율

      but, mobile 환경에서는 스크린과 유저 사이의 거리는 매우 가변적,

→ 예측 gaze point ~ 실제 gaze point 사이의 유클리안 거리를 사용했다.