2016-07-15 229 views
0

我正在爲考勤系統創建一個安卓應用程序,在該應用程序中,我會在檢測到人臉時儘快捕獲照片。我能夠做到這一點,但只有一個問題,這個系統可能僞造員工的照片,因爲現在沒有活力檢查。如何檢查安卓人臉檢測中的人臉檢測

mCamera.setFaceDetectionListener(new Camera.FaceDetectionListener(){ 
    @Override 
    public void onFaceDetection(final Camera.Face[]faces,Camera camera){ 
     if(faces!=null&&faces.length>0){ 
      try{ 
       if(lastCaptureTiume+10000<=System.currentTimeMillis()){ 

        mCamera.takePicture(null,null,jpegCallback); 
        lastCaptureTiume=System.currentTimeMillis(); 
       } 
      } 
      catch(Exception e) 
      { 
      } 
     } 
    }); 
} 

在jpegCallback上,我正在檢查面部並裁剪它以便進一步處理。

我搜索了一些活潑的樣本,但沒有運氣,如果有人知道我如何實現活力,請幫助。

回答

0

您可以依次拍攝多張照片並查看它們是否以非顯而易見的方式變化(例如,無翻譯或旋轉)。

的問題是,如果你擔心遊戲的系統,它是現在呈現一個畫面到系統是可行的,沒有什麼能夠阻止別人​​來呈現平板或電子書閱讀器,足夠聰明,可以向系統顯示一個簡短的動畫。

如果可能的話,它可能會更富有成果,可能從不同的視角拍攝全身照片。這一切都取決於Android應用程序的運行位置(例如自動徽章展位)。如果它在與會者的手機上運行,​​並且想要確定他的身份,恐怕你不能。

使用Android version 5,您可以嘗試使用臉部的z掃描。在幾架飛機上迅速聚焦,在平截頭體中相隔5釐米。如果臉部貼在三維頭骨上,你會「看到」一個聚焦區域從鼻子向外同心移動。除非你有一個真正平坦的臉的參加者。您必須以隨機距離聚焦兩到三次,以便人員不會離開相機進行補償。爲了估計聚焦,你可以嘗試使用圖像中的局部變化。

當然,這將限制您的應用將兼容的模型。