【配置教程】FDDB生成ROC曲线

看了好多博客,踩了很多坑,终于把FDDB数据集的ROC曲线绘制出来了。记录一下。

环境:ubuntu18.04

1.数据集准备

去FDDB官网:http://vis-www.cs.umass.edu/fddb/

1.1 下载原始的FDDB人脸数据集

images:下面是存在2002和2003文件夹下的图片。

annotations:FDDB-folds文件下是含有人脸数据的标注

FDDB-flod-%d.txt等文件名存放着图片路径名,FDDB-fold-%d-ellipseList.txt等文件名存放着标注文件:第一行是文件路径,第二行是人脸数N,之后是N行数据,左上角的x,左上角的y,宽w,高h,人脸置信度,以空格为分隔。

将FDDB-FOLD-%d.txt合成一个文件: cat * > img_list.txt

将所有的标注文件FDDB-fold-%d-ellipseList.txt合成一个文件 cat *ellipse*.txt > annotFile.txt

1.2 生成人脸检测网络根据img_list.txt生成的txt文件

第一行是文件路径,第二行是人脸数N,之后是N行数据,左上角的x,左上角的y,宽w,高h,人脸置信度,以空格为分隔。

2.下载evaluation源码,将文件放入ubuntu

官网下载评估源码:http://vis-www.cs.umass.edu/fddb/results.html

放到ubuntu中,解压。

在evaluation里面放入准备好的3个文件 和 图片文件

img_list.txt是合并的路径名。

annotFile.txt是合并的标注文件

FDDB-det-prelu3.txt是自己检测网络生成的。

注意:直接将上面生成的txt文件复制到ubuntu下会报错Incompatible annotation and detection files. See output specifications ,由于windows下文件和ubuntu下不同导致的。只需要在ubuntu下面创建一个txt文件,然后将内容复制进去即可。

3.在ubuntu18.04中安装opencv

参考资料:Ubuntu18.04中安装opencv 。 https://blog.csdn.net/yllifesong/article/details/80980274

安装依赖项:安装libopencv-dev依赖包,运行命令 sudo apt install libopencv-dev,在出现的选项中输入y继续执行就行。

注意:慢或者timeout就用清华镜像!(pip install xxx -i https://pypi.tuna.tsinghua.edu.cn/simple)

ubuntu如何查看所用opencv的版本和安装的库:ubuntu如何查看所用opencv的版本和安装的库_libai13的博客-CSDN博客_怎么查看opencv版本

4.生成evaluation可执行文件

注意:如果用的是openCV3.x版本,则需要修改Makefile才能编译通过。添加以下两行(和官网不一样),  并修改evaluate顺序

INCS = -I/usr/local/include/opencvLIBS = -L/usr/local/lib -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_ml -lopencv_video -lopencv_features2d -lopencv_calib3d -lopencv_objdetect -lopencv_imgcodecs

如果不需要ppm需要注释掉,修改evaluation文件夹里面的common.hpp:

执行make命令

成功!

5.执行生成ROC.txt文件

 ./evaluate -a annotFile.txt -d FDDB-det-prelu3.txt -f 0 -i pic/ -l img_list.txt -r aaa

其中:-a是标准标注文件,-d是自己生成的,-f代表是矩形,-i是图片放的地址,-l 是路径文件,-r自己随意命名

生成了aaaContROC.txt和aaaDiscROC.txt文件。

生成的DiscROC.txt中第一列为TPR(根据TPDisc算出的),第二列为FP,第三列为当前的阈值;而ConROC.txt中第一列为TPR(根据TPCont 算出的),第二列为FP。

他们的区别:FDDB evaluate生成ROC数据方法(源码剖析)_AI小学生-CSDN博客

6.执行生成ROC曲线

安装gunplot。sudo apt-get install gnuplot

下载:http://vis-www.cs.umass.edu/fddb/results.html

根据discROC.p 更改,

将plot后面的txt改成自己生成的ROC.txt或者要对比的ROC曲线。

输出图片在set output 后面写 xxx.png

执行命令gnuplot [自己更改的脚本文件]

例如:gnuplot discROC.p

即可生成ROC曲线图。

这只是个演示的曲线~~~

FDDB生成ROC曲线相关推荐

  1. Ubuntu 下使用 FDDB 测试人脸检测模型并生成 ROC 曲线,详细步骤

    原 Ubuntu 下使用 FDDB 测试人脸检测模型并生成 ROC 曲线 2018年08月01日 20:18:44 Xing_yb 阅读数:101 标签: FDDB 人脸检测 模型测试 ROC 曲线 ...

  2. linux使用mtcnn进行人脸检测,Linux下使用FDDB 测试MTCNN人脸检测模型生成 ROC 曲线

    FDDB是全世界最具权威的人脸检测评测平台之一,是专门针对人脸识别算法的评测方法与标准.FDDB数据集官网:http://vis-www.cs.umass.edu/fddb/ 下面介绍如何使用FDDB ...

  3. python sklearn库 rnn_如何使用Tensorflow计算RNN和LSTM模型的AUC并生成ROC曲线?

    我使用一个自定义的预定义函数trainDNN运行RNN和LSTM模型import tensorflow as tf from tensorflow.contrib.layers import full ...

  4. 使用FDDB人脸样本检测库,测试自己的人脸检测算法性能并生成ROC曲线。

    一,说明及环境 网上有关FDDB人脸检测库的使用以及ROC文件生成的文章太少,并且都无法检测opencv中自带的人脸检测算法.最近 工作的原因,需要用到FDDB库检测我们自己的人脸检测算法性能.所以认 ...

  5. FDDB测试使用(生成ROC曲线)

    参考:http://blog.csdn.net/u012072066/article/details/78287979 一.过程 1.如果需要使用外部数据集进行算法性能评测,如FDDB,首先需要下载F ...

  6. 5分钟带你学懂ROC曲线

    目录 ROC 混淆矩阵: 定义 生成ROC曲线 生成实例 AUC(Area under ROC Curve) AUC对模型性能简单评估 ROC曲线的优势 ROC ROC全称是受试者工作特征(Recei ...

  7. 关于ROC曲线画出来只有一个点

    之前在做kaggle比赛时,有个比赛使用AUC来评比的,当时试着画了ROC曲线,结果出来的下图这样的图形.跟平时的ROC曲线差好远,就只有一个点.而别人家的都是很多转折的,为啥我的不一样. 我的图如下 ...

  8. 影像组学视频学习笔记(15)-ROC曲线及其绘制、Li‘s have a solution and plan.

    本笔记来源于B站Up主: 有Li 的影像组学系列教学视频 本节(15)主要介绍: ROC曲线及其绘制 ROC 曲线 ROC = receiver operating characteristic cu ...

  9. 「机器学习速成」分类,评估指标(TP、FP、TN、FN),ROC曲线和AUC

    https://www.toutiao.com/a6706449645901464078/ 2019-06-25 20:49:47 大家好,今天我们学习[机器学习速成]之 分类,评估指标(TP.FP. ...

最新文章

  1. 基于梯度方向、极化变换和聚类算法的图像主特征直线检测
  2. 硕士生两年发14篇论文!获浙大最高层次奖学金!
  3. HTML-参考手册: 键盘快捷键
  4. windows找不到文件gpedit.msc_极简技术|电脑文件全搜索,没有找不到的东西
  5. IDEA java 显示build目录
  6. 【深度学习】之Caffe的solver文件配置(转载自csdn)
  7. Spring Boot入门(1)-第一个Spring Boot应用
  8. 移动手机病毒的进化历程
  9. 有哪些好用的游戏加速器推荐?
  10. TMUX Cheat Table:和那些妖艳贱货不一样的 TMUX 教程
  11. AdaBoost原理说明
  12. 《嵌入式 - 嵌入式大杂烩》详解J-Link RTT打印
  13. “宝万之争”惊动三会 300亿资金如何越过监管边界
  14. Tim Sweeney 采访实录:Metaverse的商业规则该如何打造?
  15. 世界人工智能大会 Chong-Wah Ngo教授探讨视频搜索技术研究与创新
  16. Python时间序列中ADF检验详解
  17. 怎么删除计算机c盘应用程序,怎么删除流氓软件?
  18. 微信授权登录功能(第三方网站登录)
  19. 人工神经网络的功能特点,神经网络的优缺点
  20. 小米抢购页面源码分析2014年03月11号

热门文章

  1. 离散数学及其应用课程复习Kenneth H.Rosen
  2. 数字逻辑实验——138译码器
  3. 解决ping邮箱服务器域名,提示找不到主机域名的问题
  4. android平板和手机的区别,平板和手机有什么区别?
  5. 文件下载---base64
  6. Python基于Pyecharts 1.X的世界地图、省、市、县(区)地图、热力图和飞行航线图
  7. flume采集hive日志写到hdfs问题
  8. C语言sum函数不接受一个参数,函数不接受2个参数怎么解决
  9. *POJ3666.Making the Grade(DP+离散化)
  10. JAVA开源脚手架——若依(普通版)