码迷,mamicode.com
首页 > 其他好文 > 详细

BSDS500 benchmark初次使用

时间:2018-02-04 18:04:45      阅读:3573      评论:0      收藏:0      [点我收藏+]

标签:project   冲突   count   rom   测试的   using   生成   执行   nsf   

BSDS500 benchmark初次使用

by Chris, imzhuo@foxmail.com

基本说明

在看边缘检测算法,BSDS500是一个边缘检测的benchmark,HED/RCF论文都用这个测评。

注意:BSDS500也可以用作分割(Segmentation)的测评

官方主页:
https://www2.eecs.berkeley.edu/Research/Projects/CS/vision/grouping/resources.html

下载和数据集完整包:
http://www.eecs.berkeley.edu/Research/Projects/CS/vision/grouping/BSR/BSR_full.tgz

环境说明:
Ubuntu16.04下运行的。BSDS500 benchmark初次使用
是matlab代码。Matlab2017a/2017b因为包含了groundTruth这个函数会导致冲突,用matlab2016b则没有问题。
如果要到windows下运行,需要重新编译.mexw文件,并且要手动处理类似sys/timer.h文件找不到的移植问题,所以暂时不考虑windows。

代码和算法思路梳理

RCF的作者刘云提供了绘制各个边缘检测算法在BSDS/NYUD数据集测评的结果对比/绘图代码:https://github.com/yun-liu/plot-edge-pr-curves。需要提供在BSDS500上执行边缘检测后生成的`xx_bdry.txt`和`xx_bdry_thr.txt`两个文件

使用BSDS500工具箱,能生成这两个文件:

  1. 运行bench_bsds500.m执行默认测评
  2. 经过3个多小时后,结果写入到/opt/data/BSR/BSDS500/ucm2/test_eval目录,包括eval_bdry.txteval_bdry_thr.txt等文件。

疑问

  1. 为什么要运行这么久?
    怀疑是ucm算法慢?
  2. 怎样运行别的算法,比如自行训练好的RCF模型,执行边缘检测

UCM
Ultrametric Countour Map的缩写
Boundary extraction in natural images using ultrametric contour maps
POCV
2006
P. Arbelaez et al

gPb
是globalized probability of boundary的缩写
Using Contours to Detect and Localize Junctions in Natural Images
CVPR
2008
Jitendra Malik组出品

OWT
Oriented Watershed Transform算法,一种图像分割算法,在amfm_pami2010.pdf中提出

gPb-owt-ucm
From Contours to Regions: An Empirical Evaluation
CVPR
2009

amfm_pami2010.pdf:
是对于gPb, gPb-owt-ucm的期刊(pami)版本。

代码分析

allBench()会传入inDir, outDir这两个参数

inDir是segmentation结果存放目录 默认是在../BSDS500/ucm2/test。存放的是.mat文件,每张测试图对应一个

似乎格式都是643x963或者963*643大小的数组。

粗略看,evaluation_bdry_image.mevaluation_reg_image.m中,把执行测试的边缘检测算法写死为ucm2:load了../BSDS500/ucm2/test/100007.mat类似格式的文件,得到ucm2变量,这个变量表示你对100007.jpg的边缘预测图,643x963大小,double类型。

643x963大小,会被强行sample到421x581的(~1/2)。后面这个尺寸,是groundTruth的尺寸。

要执行其他边缘检测方法的结果测评:
也就是生成xx_bdry.txtxx_bdry_thr.txt
修改BSR/bench/bench_bsds500.m中的inDiroutDir。默认需要把检测结果存为.mat格式,并且load后得到ucm2变量。否则,需要自行修改evaluation_bdry_image.mevaluation_reg_image.m中的代码。

BSDS500 benchmark初次使用

标签:project   冲突   count   rom   测试的   using   生成   执行   nsf   

原文地址:https://www.cnblogs.com/zjutzz/p/8413530.html

(3)
(3)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!