当前位置:   article > 正文

图像分割指标及Matlab代码实现_三维 多类别分割预测结果指标计算

三维 多类别分割预测结果指标计算

1. 分割指标

在完成图像分割任务之后需要对分割结果进行性能评估,一般采用的指标是IOU假阳性率。例如看下面这幅分割对照图像
分割对照
上面第三幅图中红色的是分割结果,绿色的是标记图像,黄色的是重叠区域。那么具体的评判是这样的
评判标准
IOU:
IOU
假阳性率:
阳性率

2. Matlab实现代码

% 函数功能:计算两张图像的IOU
% lable_img:输入的图像A,只包含0和255像素值的图像
% res_img:输入的图像B,也同样只包含0和255像素值的图像
% 返回值:iou两张图像的iou;yl假阳性率
function [iou,yl] = Calc_IOU(lable_img, res_img)
[rows, cols] = size(lable_img);

% 计算总面积
%total_area = rows * cols;

% 统计lable_img、res_img中255像素值的个数
lable_area = 0; % 标记出来的面积
res_area = 0;   % 分割出来结果的面积
intersection_area = 0; % 相交区域的面积
combine_area = 0;      % 两个区域联合的面积

% 开始计算各部分的面积
for i = 1: 1: rows
    for j = 1: 1: cols
        if lable_img(i, j)==255 && res_img(i, j)==255
            intersection_area = intersection_area + 1;
            lable_area = lable_area + 1;
            res_area = res_area + 1;
        elseif lable_img(i, j)==255 && res_img(i, j)~=255
            lable_area = lable_area + 1;
        elseif lable_img(i, j)~=255 && res_img(i, j)==255
            res_area = res_area + 1;
        end
    end
end
combine_area = combine_area + lable_area + res_area - intersection_area;

% 得到IOU
iou = double(intersection_area) / double(combine_area);
fprintf('IOU: %f\n', iou);
% 得到假阳性率
yl = double(res_area - intersection_area) / double(combine_area);
fprintf('假阳性率为:%f\n', yl);

end
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/239064
推荐阅读
相关标签
  

闽ICP备14008679号