一、所需文件

FDDB官网首页http://vis-www.cs.umass.edu/fddb/下载,Original,unannontated set of images 数据集,Face annotations 标注信息.

http://vis-www.cs.umass.edu/fddb/results.html 进入download下载页面,下载evaluation评估源码.

二、建立vs工程

建立自己的人脸检测工程,或者在已有的人脸检测工程中加入第一步下载的文件

其中,2002,2003两个文件夹是第一步Original,unannontated set of images 数据集解压出来的两个文件夹,包含所有人脸数据,FDDB-fold-01.txt是把Face annotations中的10个(FDDB-fold-01——FDDB-fold-10)合并成一个txt,FDDB-fold-01-ellipsList.txt是相同的操作.

三、检测

检测的过程就是使用自定义的检测算法,利用数据集的标注信息访问数据集,对数据集进行处理,然后把检测结果保存成txt文件的过程.保存的txt文件格式要按照官网中README中给出的格式,

The corresponding annotations are included in the file
"FDDB-fold-xx-ellipseList.txt" in the following
format:...
<image name i>
<number of faces in this image =im>
<face i1>
<face i2>
...
<face im>
...Here, each face is denoted by:
<major_axis_radius minor_axis_radius angle center_x center_y 1>.
就是针对每一张图像保存成
2002/08/11/big/img_591
1
167 65 202 202 25.5054
2002/08/26/big/img_265
3
286 78 100 100 15.6361
54 44 100 100 34.7152
153 109 55 55 14.5676 这种格式,第一行表示图像名,第二行表示检测的人脸个数,第三行表示人脸的信息.从左到右依次表示face_x,face_y,face_width,face_height,face_score.
代码为:
   string inputName;
    string dir;
    ifstream in_txt("FDDB-fold-01.txt");
    while (!in_txt.eof())
    {
        getline(in_txt, inputName);
        dir = inputName + ".jpg";
        image = cv::imread(dir, cv::IMREAD_UNCHANGED);
        if (image.channels() != 1)
            cv::cvtColor(image, image_gray, cv::COLOR_BGR2GRAY);
        else
            image_gray = image;
       faces = detector.Detect(img_data);
        ofstream out_txt("output.txt", ios::app);
        out_txt << inputName << endl << faces.size() << endl;
        out_txt.close();
       cout << "Image size (wxh): " << img_data.width << "x"
            << img_data.height <<"input:"<<inputName<<endl;
       cv::Rect face_rect;
        int32_t num_face = static_cast<int32_t>(faces.size());
       for (int32_t i = 0; i < num_face; i++) {
            ofstream out_txt1("output.txt", ios::app);
           out_txt1 << faces[i].bbox.x << " " << faces[i].bbox.y << " " << faces[i].bbox.width << " " << faces[i].bbox.height << " " <<faces[i].score<<" "<<endl;
            out_txt1.close();
        }
在自定义的检测算法修改上述代码,可以得到处理后的txt文件,保存后用于评测.
四、评测
   这一步需要用到FDDB提供的evaluation评测程序,除此之外还需要两个软件perl和gnuplot.下一步会介绍这两个软件的作用,这一步主要讲解evalution的配置.
   新建一个空的工程,把evaluation中的头文件和源文件分别加入工程中,并删除掉以"_"打头的头文件和源文件,配置opencv环境,修改evaluation.cpp中相应文件路径
   string baseDir = "E:/FDDB/data/";     string listFile = "E:/FDDB/FDDB-folds/FDDB-fold-01.txt";   string detFile = "E:/MyFaceDetection/Detection/Detection/output.txt";      string annotFile = "FDDB-fold-01-ellipseList.txt";
运行后生成两个文件tempContROC.txt和tempDiscROC.txt
五、安装perl和gnuplot
   根据自己的电脑选择perl版本和gnuplot版本,安装perl后在cmd命令下测试安装是否完成perl -v
   修改evaluation下的pl文件,
   # where the images are
    my $imDir = "E:/FDDB/originalPics/";
    # where the folds are
    my $fddbDir = "E:/FDDB/FDDB-folds/FDDB-folds/";
    # where the detections are
    my $detDir = "E:/FDDBEvaluation/evaluation/evaluation"; 

   my $gpFile = "E:/FDDBEvaluation/evaluation/evaluation/ContROC.p";
    my $gpFile1 = "E:/FDDBEvaluation/evaluation/evaluation/DistROC.p";
    my $title = "YotoFace";
    # plot the two ROC curves using GNUplot
    makeGNUplotFile("E:/FDDBEvaluation/evaluation/evaluation/tempContROC.txt", $gpFile, $title, $detDir."ContROC.png");
    makeGNUplotFile("E:/FDDBEvaluation/evaluation/evaluation/tempDiscROC.txt", $gpFile1, $title, $detDir."DiscROC.png");
   在cmd命令下,输入perl 所在路径/runEvaluate.pl,得到ContROC.p和DistROC.p
六、用gnuplot打开ContROC.p和DistROC.p,得到evaluationContROC.png和evaluationDiscROC.png

vs2015下,使用人脸检测算法对FDDB数据集进行测评相关推荐

  1. windows下测试人脸检测分类器在FDDB数据库的性能

    本文参考 http://blog.csdn.net/phoenix_zhou/article/details/47399819 , http://blog.csdn.net/mr_curry/arti ...

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

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

  3. RetinaFace,最强开源人脸检测算法

    作者 | CV君 来源 | 我爱计算机视觉(ID:aicvmlaicvmlaicvml) 人脸检测为目标检测的特例,是商业化最早的目标检测算法,也是目前几乎各大 CV 方向 AI 公司的必争之地. W ...

  4. 人脸检测算法_目前最强!开源人脸检测算法:RetinaFace

    加入极市专业CV交流群,与6000+来自腾讯,华为,百度,北大,清华,中科院等名企名校视觉开发者互动交流!更有机会与李开复老师等大牛群内互动! 同时提供每月大咖直播分享.真实项目需求对接.干货资讯汇总 ...

  5. 目前最强开源人脸检测算法RetinaFace

    点击我爱计算机视觉标星,更快获取CVML新技术 人脸检测为目标检测的特例,是商业化最早的目标检测算法,也是目前几乎各大CV方向AI公司的必争之地. WIDER FACE数据集是由香港中文大学发布的大型 ...

  6. 一文综述人脸检测算法(附资源)

    文章来源:SIGAI 本文共9400字,建议阅读10+分钟. 本文将和大家一起回顾人脸检测算法的整个发展历史. [导读] 人脸检测是目前所有目标检测子方向中被研究的最充分的问题之一,它在安防监控,人证 ...

  7. 人脸检测算法_腾讯已开源高精度人脸检测算法DSFD

    腾讯提出一种高精度双分支人脸检测器DSFD并开源.该算法曾在全球两大权威人脸检测数据集WIDERFACE和FDDB上均取得了第一. 任务介绍 人脸检测算法是在图像上检测出人脸的位置(通常以矩形框形式输 ...

  8. 人脸检测:人脸检测算法综述

    https://blog.csdn.net/SIGAI_CSDN/article/details/80751476 问题描述 人脸检测的目标是找出图像中所有的人脸对应的位置,算法的输出是人脸外接矩形在 ...

  9. 人脸检测算法落地详解

    人脸检测 Face Detection 目标:人脸检测的目的是找出一张图片中的所有人脸的位置信息 人脸检测是人脸其他应用的基础,只有获取到了是否有人脸和人脸的精确的位置信息,其它的应用才能继续开展,所 ...

  10. 机器学习与人脸识别3:人脸检测算法综述

    以下内容转自网络,主要介绍人脸算法的历史: 导言 人脸检测是目前所有目标检测子方向中被研究的最充分的问题之一,它在安防监控,人证比对,人机交互,社交和娱乐等方面有很强的应用价值,也是整个人脸识别算法的 ...

最新文章

  1. php引入PHPMailer发送邮件
  2. 原来这就是Java代码生成器的原理啊,太简单了
  3. 【数据挖掘】基于密度的聚类方法 - DBSCAN 方法 ( DBSCAN 原理 | DBSCAN 流程 | 可变密度问题 | 链条现象 | OPTICS 算法引入 | 聚类层次 | 族序概念 )
  4. 菜鸟学习JavaScript小实验之函数引用
  5. 超干货 | 硅谷产品大师 Marty Cagan 70 分钟演讲2万字中译
  6. 黑客侵入电子签名供应商DocuSign的数据库 随后向用户发起钓鱼攻击
  7. 高中职业学校计算机专业题,职业高中高考计算机专业试题3.doc
  8. 【Flink】Flink 写入 kafka 报错 Failed to send data to Kafka: Expiring 4 record(s) for 20001 ms has passed
  9. Python之基础练习题
  10. Spring Boot 解决方案 - 会话
  11. ubuntu14.04+CUDA7.5+cuDNN+caffe的超详细完整配置
  12. IIS 配置详解 请求长度限制调整
  13. 关于Eclipse配置Tomcat8的问题
  14. html答题游戏代码,html5+css3+ajax手机端脑筋急转弯答题游戏代码
  15. C语言字符串和数字转换函数大全
  16. 10天学会avr单片机和c语言,郭天祥十天学会AVR单片机
  17. (附源码)小程序 平衡膳食小程序 毕业设计 250859
  18. java实现DFA 敏感词检测
  19. 【VBA】汉字转换全拼函数
  20. word打不开html,word打不开怎么办?word文档打不开怎么办?

热门文章

  1. 西南科技大计算机实验室,西南科技大学|关于公布西南科技大学本科教学实验室建制的通知|...
  2. 【20保研】四川大学计算机学院(软件学院)2019年全国优秀大学生暑期夏令营招生简章...
  3. Ae:时间轴面板(时间线区域)
  4. php引用字体,php – 使用imagettftext()时,如何处理字体文件不支持的字符?
  5. python调用系统声音报警_python写报警程序中的声音实现win
  6. 如何恢复cuteftp pro 7.0的站点数据?
  7. 码神之路博客部署总结补充
  8. cad插件苹果系统_Hot Door CADtools v12.1.1 for mac(支持AI 2020)
  9. kotlin list转map
  10. logback 配置 日志