Anaconad+Ubuntu16.4下tensorflow+facenet人脸识别(四)模型测试

17 篇文章 3 订阅
17 篇文章 1 订阅

一、查看脚本文件

facenetsrc文件夹下提供了模型评价的脚本validate_on_lfw.py
这里涉及到测试样本对data/pairs.txt,里面定义了将要进行测试图片的文件夹和文件夹下的第几张图,里面包括5000对正样本对,和300多负样本对
在这里插入图片描述

二、运行脚本

这里不改动默认参数,模型路径和测试集都在命令中输入

在终端中进入src

python3 validate_on_lfw.py   /media/gqw/Sduty/Linux_tensorflow/LFW-160 /home/gqw/models/facenet/20201214-094502

第一个参数为测试图片路径
第二个参数为模型路径

报错

Traceback (most recent call last):
  File "validate_on_lfw.py", line 166, in <module>
    main(parse_arguments(sys.argv[1:]))
  File "validate_on_lfw.py", line 51, in main
    pairs = lfw.read_pairs(os.path.expanduser(args.lfw_pairs))
  File "/media/gqw/Sduty/Linux_tensorflow/facenet-master/src/lfw.py", line 79, in read_pairs
    with open(pairs_filename, 'r') as f:
FileNotFoundError: [Errno 2] No such file or directory: 'data/pairs.txt'

解决

在这里插入图片描述

将测试样本对的路径改为决定地址

再次运行

三、 几行代码解读

parse_arguments函数中,

lfw_dir文件路径:parser.add_argument('lfw_dir', type=str, help='Path to the data directory containing aligned LFW face patches.')

测试的样本对路径: parser.add_argument('--lfw_pairs', type=str,help='The file containing the pairs to use for validation.', default='/media/gqw/Sduty/Linux_tensorflow/facenet-master/data/pairs.txt')
计算向量的相似度 采用欧式距离parser.add_argument('--distance_metric', type=int,help='Distance metric 0:euclidian, 1:cosine similarity.', default=0)

上篇:Anaconad+Ubuntu16.4下tensorflow+facenet人脸识别(三)训练模型
下篇:Anaconad+Ubuntu16.4下tensorflow+facenet人脸识别(五)将模型转为pb文件

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Ubuntu系统上,使用Qt和OpenCV可以实现人脸识别功能。需要先安装Qt和OpenCV的相关库文件,并在Qt中创建一个新的项目。在项目中导入OpenCV库,并在程序中编写人脸识别算法。可以使用OpenCV提供的CascadeClassifier类对人脸进行识别,并将识别结果显示在Qt界面上。 在识别人脸之前,需要训练一个识别器。可以使用OpenCV提供的train\_cascade工具进行训练,先准备一些包含人脸的正样本图片和一些不包含人脸的负样本图片,在训练过程中,识别器会不断调整参数,直到达到最佳识别效果。 在Qt界面上,可以使用QImage类加载图片,并使用QLabel类显示图片和人脸识别结果,也可以使用QPainter类对图片进行绘制,标出人脸的区域。为了提高识别准确率,可以对人脸图像进行预处理,如灰度化、直方图均衡化等操作。 总的来说,利用Ubuntu系统中的Qt和OpenCV库,实现人脸识别功能是一件相对容易实现的任务,唯一需要注意的是算法的准确性和效率,需要利用更高级的算法来提高识别的准确率和效率。 ### 回答2: 在Ubuntu操作系统下,结合QT和OpenCV可以实现人脸识别功能。首先需要安装OpenCV和QT库,可以通过在终端输入命令sudo apt-get install opencv以及sudo apt-get install qt5-default来完成安装。 在QT Creator中新建一个项目,选择QT Widgets Application,然后在主窗口中添加一个按钮和一个标签,作为启动和显示人脸识别结果的界面。然后在该项目文件中添加OpenCV库文件,在项目中添加头文件#include<opencv2/opencv.hpp>。 接下来,需要编写人脸识别程序的代码,使用opencv中的cv::CascadeClassifier类进行人脸检测和识别。首先需要加载训练好的人脸分类器分类器的xml文件,可通过以下代码完成:cv::CascadeClassifier faceCascade;faceCascade.load("haarcascade_frontalface_alt.xml"); 在QT程序中添加启动人脸识别的槽函数,可以使用QT预设的信号和槽机制实现按钮单击后运行人脸识别程序。槽函数中调用OpenCV函数,用分类器进行人脸检测和识别,并把结果输出到QT程序中的标签对象上。 最后编译和运行程序,当单击按钮后,程序即可开始运行人脸识别功能,对抓取的图像进行实时分析和识别。注意,在命令行设置摄像头参数时要注意摄像头分辨率和帧率的设置,以保证识别效果和程序运行流畅。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值