Gaze Estimation for Assisted Living Environments (WACV 2020)

Balin
5 min readNov 9, 2021

--

Introduction

  • 提出透過 OpenPose 得到的臉部 Keypoints 的相對位置、座標及 Confidence 去預測 Gaze。
  • 利用 Bayesian neural networks 的概念解決 Gaze estimation 容易因為不同場景變化很大產生不確定性的問題。
  • 提出 Confidence Gate Units (CGU) 解決 OpenPose 回傳的資訊有產生 Self-occlusion、沒偵測到某些點或 Confidence 為 0 的問題。

Method

  • 每個 Keypoint(k) 會有 x, y 座標和 Confidence(c)。
  • 只取 nose(n), eyes(e), ears(a) 的 Keypoint。
  • OpenPose 的輸出長這樣,當然還有其他版本不過作者應該是用這個,所以他取的 Keypoints 就是對應到下圖的 17, 15,0 ,16, 18。
  • 分別代表左邊、右邊和沒分邊(nose)。
  • 這邊另外有把所有的點減掉所有頭部的點的位置平均算出中心,再取每個部位離中心最遠的那個點當成 Keypoint。
  • f 會是一個如下 5*3 維的向量。

Confidence Gated Unit (CGU)

  • 將 Confidence 經過 Sigmoid (不加 Bias 以免 Unbalanced data 造成 output 的 Confidence 都很高),Model 的 Output 經過 ReLU 後兩者相乘,用來解決 OpenPose 資訊有 Self-occlusion、沒偵測到某些點或 Confidence 為 0 的問題。

整體架構為 CGU-based input layer 後面接 2 層 FC layers (10 units) 和 1 層 FC output layer (3 units). 一共有 283 個 learnable parameters (10 CGU, 10 FC, 10 FC, 3 FC).

Output 的三維即是 x,y 座標和 Uncertainty,Uncertainty 就類似 Probability 的東西,直覺上就會和 Angle error 有正相關。

Experiment

  • 在 GazeFollow 資料集上的比較,因為 GEOM 需要有眼睛的資訊,所以把 Testing 資料有包含眼睛的部分當成 Set1,而這篇論文提出來的方法 (NET) 需要至少兩個 Keypoints 當 input 所以把這部分的資料取出來當成 Set2,NET0 是指不將 Confidence 丟進 CGN 。
  • NET 僅用了 5 個 Facial keypoints 當成 input,但 GF-MODEL (NIPS 2015) 則是 Image based 的方式,不過這比較是有點舊的論文,最近 Image based 的方式誤差已經 10% 左右了。
  • 另外作者有製作一個圖去視覺化 Predicted uncertainty 的部分,離中心越遠表示 Uncertainty 的值越高,因此輸出的結果就越差,圓弧上的數字表示看的角度。
  • 其中最右邊的圖表可以看到大部分輸出結果較差的原因是因為 Keypoint 的數量比較少,k = 2 可能是向後看,k = 3, 4 很可能是側看,k = 5 則是向前看。
  • 另外也提出 MoDiPro Dataset,用兩個相機監視剛出院的病人,兩個相機各有 530 frames,一共有 22 個人。
  • 下圖為 Output 的結果。
  • GF 表示是否 Pretrained 在 GazeFollow 上,這資料集的影像都是上往下拍,且影像大小和 GF 差有點多,一般 Image based 的方式會爛掉也不奇怪,但是 NET 是透過 Keypoints 所以 Domain gap 比較小 (雖然 OpenPose 也是 Image Base)。

Reference

[arxiv]

--

--