基于 Android 的实现,无需互联网连接即可识别人脸。 该应用程序使用深度学习 Mobile Facenet 模型,该模型速度快且重量轻,足以在移动设备中使用。 该移动应用程序的主要功能是
– 使用最先进的深度学习架构
– 离线和在线均可使用
– 将人脸数据存储在设备本地
– 准确识别人脸(有活力和无活力)
适用于 Android 设备的人脸识别的工作样板代码。 使用源代码作为基础,构建需要人脸识别功能(例如考勤、访问权限等)的应用程序。
先决条件
– 需要熟悉Android环境。
– Java 语言的基本经验。
– 无需机器学习/人工智能建模经验。 然而,人们应该具备机器学习的基础知识。
实现人脸识别的方法有很多种。 人们可以使用机器学习模型或使用基于面部几何形状或标准模板的其他算法来识别面部。 有一些库,OpenCV 被广泛使用,它实现了基于机器学习的模型,甚至是基于非机器学习的算法。 具体来说,OpenCV有DLIB、FACE_RECOGNITION等库,可以很容易地实现人脸识别。 然而,我们在当前的实现中不会使用基于 OpenCV 的方法,因为由于模型的大小和帧处理速度,它们在移动设备上的表现不太好。 此外,准确性也是一个问题。
还有其他机器学习模型,例如 FaceNet (https://github.com/davidsandberg/facenet)。 具有诱人的准确性。 该模型可以转换为使用 TensorFlow Lite 在移动设备上使用。 实验表明,该模型的准确率高于其他模型,但识别人脸的时间略长于 3 秒。 如果您的用户对延迟感到满意,那么它就很适合。 但有一个更好的模型可用,它既准确又足够快。 它被称为 MobileFaceNet。 它采用极其高效的 CNN(卷积神经网络)设计,专为移动设备上的高精度实时人脸识别而设计。 该模型以略高于 5MB 的模型文件大小实现了令人印象深刻的速度和高精度。 我们将在这个项目中使用 MobileFaceNet 模型。
有关应用程序的更多信息
给出了 2 个应用程序
– 人脸识别无需活力检查。
– 人脸识别与活力检查。
活力是指我们检查是否显示活人而不是照片/图像来欺骗算法的概念
当您运行任何一个应用程序时,无论是否活跃,您都会看到
– 注册选项允许用户注册新面孔。
– 识别选项可识别已注册的脸部。
单击“注册”选项后,将显示一个屏幕,其中包含以下选项
1. 屏幕左上方的摄像头切换按钮可从后置摄像头切换到前置摄像头,反之亦然。 当您第一次加载应用程序时,我们需要授予前置摄像头的访问权限。 对于检查活跃度的应用程序,在某些手机中,允许访问的选项可能会被应用程序消息“请稍候。 验证您是否是一个活人”。 您所需要做的就是等待应用程序消息消失并且“允许”选项将可见。
您需要单击相机开关选项将相机打开,然后授予访问权限。
2. 屏幕右上角的+号允许应用程序注册新人。 单击该按钮,将出现用于输入前置摄像头人物姓名的输入框。
价格是 150 美元