Threshold for evaluation the R-CNN detector

5 visualizaciones (últimos 30 días)
Abdussalam Elhanashi
Abdussalam Elhanashi el 19 de Sept. de 2019
Comentada: Abdussalam Elhanashi el 23 de Sept. de 2019
Hi Guys
I would like if possible how to make this Treshold for Evaluation and validation of created R-CNN object Detector, i tried to make it in the attached scripts but it does not work, I want to make Threshold for score that like below 0.58 that score and bboxes should not be appeared
Herein the code:-
load('gTruth.mat')
smokedetection = selectLabels(gTruth,'smokealarm');
if ~isfolder(fullfile('EvaluationData'))
mkdir EvaluationData
addpath('EvaluationData');
evaluationData = objectDetectorTrainingData(gTruth,...
'SamplingFactor',1,'WriteLocation','EvaluationData');
end
imds = imageDatastore(fullfile('EvaluationData'));
numImages = height(evaluationData);
result(numImages,:) = struct('Boxes',[],'Scores',[]);
for i = 1:numImages
% Read Image
I = readimage(imds,i);
% Detect the object of interest
[bboxes, scores] = detect(detector,I,'Threshold',1);
% Store result
result(i).Boxes = bboxes;
result(i).Scores = scores;
end
% Convert structure to table
results = struct2table(result);
overlap = 0.1;
% Evaluate Metrics
[ap,recall,precision] = evaluateDetectionPrecision(results...
,evaluationData(:,2),overlap);
[am,fppi,missRate] = evaluateDetectionMissRate(results,evaluationData(:,2),overlap);
% Plot Metrics
subplot(1,2,1);
plot(recall,precision);
xlabel('Recall');
ylabel('Precision');
title(sprintf('Average Precision = %.1f', ap))
grid on
subplot(1,2,2);
loglog(fppi, missRate);
xlabel('False Positives Per Image');
ylabel('Log Average Miss Rate');
title(sprintf('Log Average Miss Rate = %.1f', am))
grid on

Respuesta aceptada

Harsha Priya Daggubati
Harsha Priya Daggubati el 23 de Sept. de 2019
Hi,
One possible way to get only the scores returned by ‘detect’ greater than a value, say 0.58 is to store only the score value greater than 0.58 and its corresponding bboxes in result and use it in your evaluation metrics. You can also try using Overlap Threshold option for ‘evaluateDetectionPrecision’function as mentioned in the following documentation link.
  1 comentario
Abdussalam Elhanashi
Abdussalam Elhanashi el 23 de Sept. de 2019
Thanks for your reply
I am looking if possible how to implement this greater than 0.58 inside the above code
Thanks

Iniciar sesión para comentar.

Más respuestas (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by