HOW TO CALCULATE RECALL, PRECISION AND IoU test data deep learning
    5 views (last 30 days)
  
       Show older comments
    
    mohd akmal masud
 on 25 Jun 2022
  
    
    
    
    
    Commented: mohd akmal masud
 on 27 Sep 2022
            Dear all,
I want to calculate precision and recall for my test data. But I gor Error. Because my data is 3D. (as attached)
[precision,recall] = bboxPrecisionRecall(volMask1,tempSeg1)
ERROR
Error using bboxPrecisionRecall
Expected boundingBoxes to be two-dimensional.
Error in bboxPrecisionRecall>validateNonTableInput (line 153)
validateattributes(bbox, {'numeric'},...
Error in bboxPrecisionRecall (line 110)
validateNonTableInput(boundingBoxes, 'boundingBoxes');
0 Comments
Accepted Answer
  Anusha
    
 on 25 Aug 2022
        Hi,
I understand that you are trying to calculate the precision, recall and IoU metrics on the deep learning predicted output and groundtruth. I also see from the .mat files attached that your volumetric groundtruth (volMask1) and predicted output (tempSeg1) are of the size 128x128x64.
The bboxPrecisionRecall() function currently supports only 2-D inputs for bboxes and  groundTruthBboxes.  Therefore, convert the 3-D volumes into 2-D images and you can refer to the following code that does this:
% Access 2-D images from 3-D volume and find the metric average
avgPrecision=0; totPrecision=0;
avgRecall=0;totRecall=0;
for i= 1:size(volmask1,3)
    [precision,recall] = bboxPrecisionRecall(volMask1(:,:,i),tempSeg1(:,:,i));
    totPrecision=totPrecision+precision
    totRecall=totRecall+recall
end
avgPrecision = totalPrecision/size(volmask1,3);
avgRecall = totalRecall/size(volmask1,3);
  Please refer to the following documentation for more details regarding precision recall computation on the data:
Thanks,
Anusha
More Answers (0)
See Also
Categories
				Find more on Deep Learning Toolbox in Help Center and File Exchange
			
	Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
