基于cnn的人脸检测,人脸识别系统数据

  基于cnn的人脸检测,人脸识别系统数据

  首先下载facenet GitHub,facenet网络,然后打开src文件。重要文件基本都在这里。

  其中align文件夹下有人脸检测、定位、裁剪。开放对齐

  align_dataset_mtcnn.py是一个执行人脸检测然后修剪的程序。

  你可以通过打开detect_face.py文件找到这个函数。

  可以看出,det1.npy、det2.npy和det3.npy是人脸检测网络中的权重。

  安装和配置Facenet环境

  这是我的面网解压位置e :\hs尹\面网-master\src

  setpythonpath=e:\ hs yin \ face net-master \ src

  接下来,您可以运行面部检测程序。我使用的数据集是LFW lfw数据集。

  因为程序中的神经网络使用了谷歌的“inception resnet v1”网络模型,这是模型输入时的160*160图像,而下载的LFW数据集是250*250像素。

  lfw数据放在e:\ hsyin \ facenet-master \ data \ lfw \ raw中,并创建一个新的lfw_160文件夹。

  一个问题是tensorflow版本。

  Max_axis=TF.reduce_max(target,axis,keepdims=True)这是facenet上的代码。

  但是我的代码版本

  Max_axis=TF。Reduce_max(target,axis,keep_dims=True))如果更正了上述内容,将不会报告任何错误。

  打开cmd,将位置更改为E:\hsyin\facenet-master目录,然后输入命令。

  python src \ align \ align _ dataset _ mt CNN . py data/lfw/raw data/lfw/lfw _ 160-image _ size 160-margin 32 DD

  评估预训练模型的精度

  然后去官网下载训练好的模型:

  将模型放在指定的文件夹中:输入以下命令:python src \ validate _ on _ lfw . pydata \ lfw \ lfw _ 160 src \ models 2018 04 08-102900结果:

  与人脸形成对比

  1.Facenet可以直接比较通过其网络映射的人脸的欧氏距离。

  可执行文件为facenet-master \ src \ compare . py;

  选择两个不同人的脸。第一个如下。

  第二个呢?

  执行:

  python src \ compare . py src \ models \ 2018 04 08-102900数据\ lfw _ lfw _ 160 \ aaron _ eckhart _ Aron _ eckhart meck hart

  结果如上。这两块之间的距离是1.4144。接下来,我们测试了两张脸:

  第一张和第二张照片被选中。

  两张图的距离是0.5886,所以同一个人的脸之间的距离越小。可以设置一个阈值,当两个图像大于某个值时,就可以判断不是同一个人。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: