FDDB测评

1. 准备工作

(1)下载 FDDB 相关文件
  • 官网下载 FDDB 数据集,解压得到 originalPics 文件夹,FDDB-folds 文件夹和 README.txt
  • results 页面 下载评估程序,解压得到 evaluation 文件夹。
(2)准备 .txt 文件

用你的模型按照 FDDB-folds/FDDB-fold-i.txt 的顺序检测图片,生成与之对应的 10 个 fold-i-out.txt,存放在 out-folds 文件夹中,并合并或复制粘贴成 results.txt。结果文件的格式需要为

... 
image name i 
number of faces in this image =im 
face i1 
face i2 
... 
face im 
...
(3)安装 OPENCV(v3.2)
(4)安装 gnuplot

Ubuntu 上执行如下命令:

sudo apt-get install gnuplot

2. 编译 evalution

(1)修改Makefile 文件:

打开evalution 文件夹下的MakeFile, 添加如下相应的行

INCS = -I/usr/local/include/opencv

LIBS = -L/usr/local/lib -lopencv_core -lopencv_imgproc -lopencv_highgui
       -lopencv_ml -lopencv_video -lopencv_features2d -lopencv_calib3d
       -lopencv_objdetect -lopencv_contrib -lopencv_legacy
# 对于 opencv 3.2 去掉 -lopencv_contrib and -lopencv_legacy  加上 -lopencv_imgcodecs

修改如下行:

# evaluate: $(OBJS)
#        $(CC) $(LIBS) $(OBJS) -o $@
evaluate: $(OBJS)
    $(CC) $(OBJS) -o $@ $(LIBS)
(2)修改 common.hpp

打开 evaluation 文件夹下的 common.hpp,将

// #define __IMAGE_FORMAT__ ".jpg"
#define __IMAGE_FORMAT__ ".ppm"
#define __CVLOADIMAGE_WORKING__

修改为:

#define __IMAGE_FORMAT__ ".jpg"
// #define __IMAGE_FORMAT__ ".ppm"
#define __CVLOADIMAGE_WORKING__
(3)编译
make

如果出现错误: fatal error: ‘cv.h’ file not found [Mac platform]

solution: 找到对应文件:将其修改为

// #include "opencv/cv.h"
// #include "opencv/highgui.h"
#include "opencv/cv.h"
#include "opencv/highgui.h"

3. 输出文件并绘图

(1)修改 runEvaluate.pl

打开 evaluation 文件夹下的 runEvaluate.pl,填写路径如下:

# where gnuplot is
my $GNUPLOT = "/usr/local/bin/gnuplot";
# where the binary is
my $evaluateBin = "./evaluate";
# where the images are
my $imDir = "../originalPics/";
# where the folds are
my $fddbDir = "../FDDB-folds";
# where the detections are
my $detDir = "../results";

注意若文件名称和路径与笔者 (见第 2 步中的截图) 不同,需要相应修改。

(2)执行 runEvaluate.pl
perl runEvaluate.pl 
完成后在 results 文件夹下生成了 ContROC.txt, DiscROC.txt, ContROC.png 和 DiscROC.png 四个文件。

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!