【问题标题】:How to check liveness in face detection in android face detection如何在android人脸检测中检查人脸检测的活跃度
【发布时间】:2016-11-18 16:23:46
【问题描述】:

我正在为考勤系统创建一个 android 应用程序,一旦检测到人脸,我就会在其中捕获图片。我能够做到这一点,但只有一个问题,这个系统可以用员工的照片伪造,因为现在没有活体检查。

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 上,我正在检查面部并对其进行裁剪以进行进一步处理。

我搜索了一些关于 liveness 的示例,但没有运气,如果有人知道我如何实现 liveness,请提供帮助。

【问题讨论】:

    标签: android android-camera face-detection


    【解决方案1】:

    您可以按顺序拍摄多张照片,并查看它们是否以不明显的方式发生变化(例如,不平移或旋转)。

    问题是,如果您担心玩系统,并且现在向系统展示图片是可行的,那么没有什么可以阻止其他人展示平板电脑 或电子书阅读器,足够智能,可以向系统显示短动画。

    如果可能的话,从不同的 POV 拍摄全身照片可能会更有成效。这一切都取决于 android 应用程序在哪里运行(例如自动徽章展位)。如果它在与会者的手机上运行,​​而你想确定他的身份,恐怕你不能。

    对于Android version 5,您可以尝试对脸部进行 z 扫描。快速聚焦在视锥体中相距 5 厘米的几个平面上。如果将脸部贴在 3D 头骨上,您将“看到”一个从鼻子向外同心移动的聚焦区域。除非你有一些脸很平坦的与会者。您必须在随机距离上进行两次或三次对焦,这样人就无法远离相机进行补偿。要估计焦点,您可以尝试使用图像中的局部方差。

    当然,这会限制您的应用兼容的模型。

    【讨论】:

      猜你喜欢
      • 2013-09-24
      • 2019-11-18
      • 1970-01-01
      • 2012-04-17
      • 2019-02-27
      • 1970-01-01
      • 2011-05-06
      • 2012-05-06
      相关资源
      最近更新 更多