如何使用神经网络裁剪人脸?

数据挖掘 Python 深度学习 喀拉斯
2022-03-01 02:08:37

我正在寻找建立一个面部识别系统,并意识到我可以通过首先裁剪面部来提高准确性。我知道我可以使用 Haar Cascade 分类器来做到这一点,但我更喜欢使用深度学习方法,因为这是我目前关注的领域。为此,我只需创建一个 CNN,其输入为图像,输出为 X、Y、宽度、高度?或者还有更多?我已经用 Adam 优化器和大约 600 张图片尝试过这种方法,但结果并不理想。关于如何改进这一点的任何想法?

1个回答

您正在寻找一个为图像分割而训练的完全卷积神经网络。该架构通常是卷积,然后是反卷积层,没有池化。

前向推理用于通过卷积提取信息。反卷积用于将张量的大小调整为输入高度和宽度的大小。然后,一个全连接层对输入中的每个像素进行分类。反卷积演示。

不幸的是,您需要像素级标签来训练网络来执行此操作。您可以寻找已经从图像中分割出人脸的预训练模型,或者您可以为 1000 张图像进行手工标记并使用迁移学习(有用于执行此操作的在线工具,例如Label box