EyeGaze_CNN

DMS技術–EyeGaze

據調查顯示,全世界發生的交通事故中有80%的碰撞事故是由於駕駛員分心導致的,如果在車上有人能夠提示駕駛員分神了,發生事故的概率可以降低30%~43%

EyeGaze Estimation,就是使用計算機視覺技術來實時監控司機是否走神的一種手段。系統可以實時地知道駕駛員的注意力在哪裏,如下圖所示,系統實時捕捉駕駛員的視線,圖片來自於EyeSight。
在這裏插入圖片描述
EyeGaze技術的解決方案一般有兩種方案

  • 人頭角度迴歸+瞳孔定位,兩者加權輸出
  • 直接CNN分類輸出

不管是哪種方案,都會遇到一個問題,那就是算法魯棒性。眼睛很容易被遮擋,例如很多司機是近視眼,常年佩戴眼睛,或者司機偶爾戴墨鏡。

業界在解決此種問題一般是兩個思路

  • 使用高穿透紅外相機,在硬件上創新
  • 在圖像去掉眼鏡

綜上,EyeGaze的技術路線應該是

  • 人臉檢測
  • 眼睛定位
  • 圖像預處理
  • EyeGaze算法

在這裏插入圖片描述

1、人臉檢測&眼鏡定位

人臉檢測算法已經非常多了,眼睛定位也屬於landmark算法

2、圖像預處理

圖像預處理的目的是去掉眼鏡,減少眼鏡對算法的影響,如下圖所示
在這裏插入圖片描述

一般都是使用GAN的方法,重新去生成一張新的圖片,上圖來自於GPCycleGAN

3、EyeGaze算法

EyeGaze算法的目的是得到眼鏡的註釋區域,第一種是類似於OpenFace中的方法,使用傳統方法定位眼鏡,加上圖像幾何運算,得到註釋角度,然後根據計算得到的角度和實際場景中的安裝位置進行匹配

在這裏插入圖片描述

第二種是直接使用CNN方法分類輸出

在這裏插入圖片描述

如上圖所示,CNN結果直接是6分類,直接輸出註釋區域在哪裏。流程非常簡單,end2end結果可以直接使用,但是其缺點是訓練樣本組織起來比較麻煩。

在這裏插入圖片描述

另外,CNN方法還有兩點需要注意

  • 選取合適的CNN網絡結構
  • 選取合適的圖像輸入

常見的網絡,例如VGG,Resnet,MobileNet等,都是在ImageNet上進行預訓練的,遷移到EyeGaze應用上,需要對其進行網絡微調,也就是遷移學習。因爲EyeGaze應用場景中圖像變化不大,頂多就是瞳孔在眼睛中的位置,所以網絡中的大感受野也許會影響特徵提取,比如較大卷積核尺寸和較大的stride都會對特徵提起有副作用。

然後,怎麼選取圖像的輸入尺寸。

在這裏插入圖片描述

紅色區域是帶背景的人頭圖像作爲輸入,綠色區域是不帶背景的人頭區域,藍色區域是人臉圖像,黃色區域是隻有眼睛的半張人臉圖像。

經過我的實驗發現,黃色區域作爲CNN的輸入,不管是訓練還是測試,其效果都是最好的。

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章