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]