主要内容

segmentationConfusionMatrix

多级像素级图像分割的混淆矩阵

描述

例子

confusionMatrix= semmentationConfusionMatrix(lprltruth.从预测的像素标签计算混淆矩阵lpr和ground truth像素标签ltruth.

例子

全部折叠

加载一个预先训练的网络,根据背景对三角形进行二值分割。

负载(“triangleSegmentationNetwork”);

三角形数据集有100张带有地面真值标签的测试图像。定义数据集的位置。

dataSetDir = fullfile (toolboxdir (“愿景”),“visiondata”'triangleimages');

得到一个测试图像。

testImage = imread (fullfile (dataSetDir'testimages'“image_001.jpg”));

得到相应的ground truth标签。标签图像存储为数字图像,因此将ground truth标签转换为分类图像。

gtLabel = imread (fullfile (dataSetDir“testLabels”“labeled_image_001.png”));ClassNames = [“三角形”“背景”];labelids = [255 0];gtlabel =分类(gtlabel,labelids,classnames);

在测试图像上显示地面真实标签。

imshow (labeloverlay (testImage, gtLabel))

图中包含一个坐标轴。轴包含一个image类型的对象。

执行语义图像分割。

predLabel = semanticseg (testImage,净);

得到预测标签和地面真实标签的混淆矩阵。混淆矩阵显示了正确划分21个像素为三角形,939个像素为背景的分割。混淆矩阵也表明分割将64个背景像素错分类为三角形。没有三角形像素被误分类为背景。

confusionMatrix = segmentationConfusionMatrix (predLabel gtLabel)
confusionMatrix =2×221 0 64 939

要检查混淆矩阵的准确性,请在测试图像上显示预测标签。叠加层与混乱矩阵中的值同意。

imshow (labeloverlay (testImage, predLabel))

图中包含一个坐标轴。轴包含一个image类型的对象。

输入参数

全部折叠

经过语义分割后的预测像素标签,指定为二维标签图像或三维标签图像。

数据类型:|逻辑|分类

Ground truth像素标签,指定为与预测像素标签大小相同的二维标签图像或三维标签图像,lpr

数据类型:|逻辑|分类

输出参数

全部折叠

为分段图像中的类的混淆矩阵,作为a返回C——- - - - - -C数字矩阵,其中C是语义细分中的类数。元素 (j)是已知属于类的像素的数量但被预言属于阶级j

提示

  • 可以使用混淆矩阵计算语义分割指标,如Jaccard得分和分类精度evaluateSemanticSegmentation函数。

  • 您可以在基于块的图像处理工作流中使用此函数,例如bigimage.例如,可以在同一个调用中执行语义分割并计算块的混淆矩阵应用函数。

介绍了R2020b