kanizsuchona1 发表于 2024-1-14 17:28:18

使用 Keras 进行人脸检测和识别

如果您是 Google 相册的常规用户,您可能已经注意到该应用程序如何自动从您备份到云端的照片中提取人物面孔并对其进行分组。 Backward Skip 10s Play Video Forward Skip 10s Google Photos Web 应用程序中的人脸识别 Google Photos Web 应用程序中的人脸识别 像谷歌这样的照片应用程序通过检测照片中的人类(还有宠物!)的面孔,然后将相似的面孔分组在一起来实现这一点。图像中人脸的检测和分类是神经网络深度学习中的常见任务。 在本教程的第一步中,我们将使用 Keras 中预先训练的 MTCNN 模型来检测图像中的人脸。从图像中提取面部后,我们将计算这些面部之间的相似度分数,以确定它们是否属于同一个人。 先决条件 在开始检测和识别人脸之前,您需要设置开发环境。首先,在对图像进行任何处理之前,您需要通过 Python“读取”图像。


我们将使用绘图库matplotlib来读取和操作图像。通过安装程序安装最新版本pip: pip3 install matplotlib 要使用 CNN 算法的任何实现,您需要安装keras. 使用以下命令下载并安装最新版本: pip3 install keras 我们用于人脸检测的算法是 MTCNN(多任务卷积神经网络),基于论文“使 阿联酋电报号码列表 用多任务级联卷积网络进行联合人脸检测和对齐”(Zhang 等人,2016 年)。Python3.4 中 TensorFlow 的 MTCNN 算法的实现可作为包提供。运行以下命令通过以下方式安装软件包pip: pip3 install mtcnn 为了在从图像中提取人脸后进行比较,我们将使用牛津大学视觉几何小组开发的VGGFace2 算法。VGG 算法的基于 TensorFlow 的 Keras 实现可作为软件包供您安装: pip3 install keras_vggface 虽然您可能觉得需要构建和训练自己的模型,但您需要巨大的训练数据集和强大的处理能力。

https://manchestermassage.net/wp-content/uploads/2024/01/photo_2024-01-14_13-46-50-4.jpg


对于每张脸,都会返回一个 Python 字典,其中包含三个键。键box包含图像内脸部的边界。它有四个值:左上角顶点的 x 和 y 坐标、包含脸部的矩形的宽度和高度。其他键是confidence和keypoints。该keypoints密钥包含一个字典,其中包含检测到的面部特征及其坐标高亮图像中的人脸 现在我们已经成功检测到人脸,让我们在其上绘制一个矩形以突出显示图像中的人脸,以验证检测是否正确。 要绘制矩形,请Rectangle从​​以下位置导入对象让我们定义一个函数highlight_faces,首先显示图像,然后在检测到的面部上绘制矩形。首先,读取图像imread()并通过 绘制它imshow()。对于检测到的每张脸,使用该类绘制一个矩形Rectangle()。 最后,使用该方法显示图像和矩形.show。


页: [1]
查看完整版本: 使用 Keras 进行人脸检测和识别