New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How to evaluate on BSDS500 benchmark? #22
Comments
@zchrissirhcz I guess that you have used the wrong wrappers. You should use the function of boundaryBench in the BSDS500 benchmark to evaluate the produced edges. Moreover, the edge thinning has been performed in the function of evaluation_bdry_image using bwmorph function in matlab. |
Thanks for your reply. Now I can get correct evaluation result. I'll put my steps here. 1.use RCF's caffemodel to genereate png filesNow I use the downloaded 2. do nmsI use your provides edge = edgesNms(edge, O, 2, 5, 1.01, 8); to edge = edgesNmsMex(edge, O, 2, 5, 1.01, 8); Then run it to generate nms-ed results. Note, I've also downloaded Piotr Dollar's 3. use BSDS benchmark scripts for boundary evaluationI downloaded addpath benchmarks
clear all;close all;clc;
imgDir = '../BSDS500/data/images/test';
gtDir = '../BSDS500/data/groundTruth/test';
%inDir = '../BSDS500/ucm2/test';
%outDir = '../BSDS500/ucm2/test_eval';
inDir = '/opt/data/HED-BSDS/test-fcn-nms';
outDir = '/opt/data/HED-BSDS/RCF-eval';
%mkdir(outDir);
% running all the benchmarks can take several hours.
tic;
%allBench(imgDir, gtDir, inDir, outDir)
boundaryBench(imgDir, gtDir, inDir, outDir);
toc;
plot_eval(outDir); Then I run that script, and after a long time(several hours) waiting, some I thought However, errors just occurs. Notice that there are exactly 7 numbers (7 columns) in fname = fullfile(pbDir,'eval_bdry.txt');
fid = fopen(fname,'w');
if fid==-1,
error('Could not open file %s for writing.',fname);
end
fprintf(fid,'%10g %10g %10g %10g %10g %10g %10g %10g\n',bestT,bestR,bestP,bestF,R_max,P_max,F_max,Area_PR);
fclose(fid); i.e. The BSDS boundary benchmark will generate 4. removing the first columns in
|
First I would appreciate the released repos of RCF and related ploting codes.
I've trained the RCF edge detector on BSDS500 dataset (yes, originally, instead of my own dataset, and with default training hyper-parameters). Now evaluating on BSDS500 benchmark, have some problems.
As metioned in
readme.md
, non-maximum suppression and edge thinning, are two acquired steps before evaluation. I installed Piotr Dollar's toolbox and edge detection code, and successfully get the results of nms-ed edges, saved in png images.However, whether doing edge thinning or not, the BSDS500 benchmark's code, always give complains that the indexes are 0, which should be greater than or equal to 1. I notice that this is caused by, the automatically generated thresholding values are from 0.01 to higher ones, and the pixel values after binarization (via
bwlabel
in matlab) contains 0 values.Wondering if you have encounterd same problem, if so, would you provide some suggestions? Thank you.
The text was updated successfully, but these errors were encountered: