主要内容

semanticSegmentationMetrics

语义分割质量度量

描述

一个semanticSegmentationMetrics对象封装了一组图像的语义分割质量度量。

创建

创建一个semanticSegmentationMetrics对象使用evaluateSemanticSegmentation函数。

属性

全部展开

此属性是只读的。

混淆矩阵,指定为表用C行和列,其中C是语义分割中的类数。每个表元素(j)是已知属于该类的像素的计数但预计属于一类j

此属性是只读的。

归一化混淆矩阵,指定为表用C行和列,其中C是语义分割中的类数。每个表元素(j)是已知属于该类的像素的计数但预计属于一类j,除以类中预测的像素总数j。元素的范围是[0,1]。

此属性是只读的。

在数据集上聚合的语义分割指标,指定为带有一行的表。DataSetMetrics具有多达五列,对应于“指标”使用的名称-值对evaluateSemanticSegmentation

  • GlobalAccuracy-正确分类的像素与总像素的比率,无论类别。

  • MeanAccuracy-每个类中正确分类的像素与总像素的比率,在所有类中平均。这个值等于的平均值ClassMetrics。精度

  • MeanIoU-所有职业的平均交集超过联合(IoU)。这个值等于的平均值ClassMetrics。借据

  • WeightedIoU-所有类别的平均欠条,按类别像素数加权。

  • MeanBFScore-所有图像的平均边界F1 (BF)得分。这个值等于的平均值ImageMetrics。BFScore。创建对象时,此指标不可用semanticSegmentationMetrics对象通过使用混淆矩阵作为输入evaluateSemanticSegmentation

请注意

值为类或图像度量中,指示在使用度量时计算度量期间缺少一个或多个类evaluateSemanticSegmentation函数。在这种情况下,软件无法准确地计算指标。

方法可以找到缺少的类ClassMetrics属性,该属性为每个类提供度量。为了更准确地评估您的网络,请使用包含缺失类的更多数据来增强您的ground truth。

此属性是只读的。

每个类的语义分割指标,用一个表指定C行,C是语义分割中的类数。ClassMetrics最多有三列,对应于“指标”使用的名称-值对evaluateSemanticSegmentation

  • 精度-每个类别中正确分类的像素与根据ground truth属于该类别的像素总数的比率。精度可以表示为:

    精度= (tp + tn) / (tp + tn + fp + fn)

    积极的
    积极的 TP:真积极 FN:假阴性
    FP:假阳性 TN:真否定

    TP:真阳性,FN是假阴性的数量。

  • 借据-正确分类的像素与由地面真相和预测器分配的该类像素总数的比率。借条可以表示为:

    借据= tp / (tp + fp + fn)

    图像描述了真阳性(TP)、假阳性(FP)和假阴性(FN)。

  • MeanBFScore-边界F1得分为每个类,平均所有图像。创建对象时,此指标不可用semanticSegmentationMetrics对象通过使用混淆矩阵作为输入evaluateSemanticSegmentation

此属性是只读的。

语义分割指标为每个图像中的数据集,指定为表用N行,N是数据集中图像的数量。ImageMetrics具有多达五列,对应于“指标”使用的名称-值对evaluateSemanticSegmentation

  • GlobalAccuracy-正确分类的像素与总像素的比率,无论类别。

  • MeanAccuracy-正确分类的像素与总像素的比率,在图像中所有类别的平均值。

  • MeanIoU-图片中所有职业的平均欠条。

  • WeightedIoU-图像中所有类别的平均欠条,按每个类别的像素数加权。

  • MeanBFScore-图像中每个职业的平均BF分数。创建对象时,此指标不可用semanticSegmentationMetrics对象通过使用混淆矩阵作为输入evaluateSemanticSegmentation

每个图像指标返回一个向量,数据集中的每个图像都有一个元素。行顺序与输入定义的图像顺序相匹配PixelLabelDatastore表示数据集的对象。

例子

全部折叠

triangleImages数据集有100张带有ground truth标签的测试图像。定义数据集的位置。

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

定义测试图像的位置。

testImagesDir = fullfile(dataSetDir,“testImages”);

定义基本真值标签的位置。

testLabelsDir = fullfile(dataSetDir,“testLabels”);

创建一个包含测试图像的imageDatastore。

imds = imageDatastore(testImagesDir);

定义类名及其关联的标签id。

classNames = [“三角形”“背景”];labelIDs = [255 0];

创建一个pixelLabelDatastore,保存测试图像的真实像素标签。

pxdsTruth = pixelLabelDatastore(testLabelsDir,classNames,labelIDs);

的训练图像上加载一个经过训练的语义分割网络triangleImages

净=负荷(“triangleSegmentationNetwork”);Net = net.net;

在测试映像上运行网络。预测的标签被写入磁盘的临时目录中,并作为pixelLabelDatastore返回。

pxdsResults = semanticseg(imds,net,“WriteLocation”, tempdir);
运行的语义分割网络  ------------------------------------- * 100张图片处理。

根据实际情况评估预测结果。

metrics = evaluateSemanticSegmentation(pxdsResults,pxdsTruth);
评估语义分割结果---------------------------------------- *选择的指标:全局精度,类别精度,IoU,加权IoU, BF分数。*处理了100张图像。*完成……完成了。*数据集指标:GlobalAccuracy MeanAccuracy MeanIoU WeightedIoU MeanBFScore  ______________ ____________ _______ ___________ ___________ 0.90624 0.95085 0.61588 0.87529 0.40652

属性的属性semanticSegmentationMetrics对象。

指标
metrics = semanticSegmentationMetrics with properties: ConfusionMatrix: [2x2 table] NormalizedConfusionMatrix: [2x2 table] DataSetMetrics: [1x5 table] ClassMetrics: [2x3 table] ImageMetrics: [100x5 table]

显示分类精度,交集与联合,以及每个类的边界F-1分数。这些值存储在ClassMetrics财产。

指标。ClassMetrics
ans =2×3表精确度IoU MeanBFScore ________ _______ ___________ triangle 1 0.33005 0.028664 background 0.9017 0.9017 0.78438

对象中存储的标准化混淆矩阵NormalizedConfusionMatrix财产。

指标。ConfusionMatrix
ans =2×2表三角形背景________ __________三角形4730 0背景9601 88069

版本历史

在R2017b中引入