主要内容

evaluateSemanticSegmentation

计算语义分割数据与地面真理

描述

例子

舰导弹= evaluateSemanticSegmentation (dsResults,dsTruth)计算各种指标来评估语义分割结果的质量,dsResults,对地面真理分割,dsTruth

舰导弹= evaluateSemanticSegmentation (imageSetConfusion,一会)计算各种指标来评估质量的语义分割结果混淆矩阵,imageSetConfusion,分割类一会

(舰导弹,blockMetrics)= evaluateSemanticSegmentation (blockSetConfusion,一会)计算各种指标来评估基于块的语义分割结果的质量混淆矩阵,blockSetConfusion与类一会

(___)= evaluateSemanticSegmentation (___,名称,值)使用一个或多个计算语义细分指标名称,值双参数控制评价。

例子

全部折叠

triangleImages数据集与地面实况100个测试图像标签。定义数据集的位置。

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

定义测试图像的位置。

testImagesDir = fullfile (dataSetDir,“testImages”);

定义地面实况标签的位置。

testLabelsDir = fullfile (dataSetDir,“testLabels”);

创建一个imageDatastore测试图像。

imd = imageDatastore (testImagesDir);

定义类名和它们相关的标签id。

一会= [“三角形”,“背景”];labelIDs = (255 0);

创建一个pixelLabelDatastore控股的地面实况像素标签测试图像。

一会,pxdsTruth = pixelLabelDatastore (testLabelsDir labelIDs);

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

网=负载(“triangleSegmentationNetwork”);网= net.net;

运行网络测试图像。预测标签在一个临时目录中写入磁盘和作为pixelLabelDatastore返回。

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

评估预测结果对地面真理。

指标= evaluateSemanticSegmentation (pxdsResults pxdsTruth);
评估语义分割结果- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *选定指标:全球准确性、类准确性,借据,加权借据,BF的分数。* 100(加工)图像。*完成……完成了。*数据集指标:GlobalAccuracy MeanAccuracy MeanIoU WeightedIoU _______ MeanBFScore * * *…………0.90624 0.95085 - 0.61588 0.87529 - 0.40652

显示的属性semanticSegmentationMetrics对象。

指标
与属性指标= semanticSegmentationMetrics: ConfusionMatrix: [2 x2表]NormalizedConfusionMatrix: [2 x2表]DataSetMetrics: [1 x5表]ClassMetrics: [2 x3表]ImageMetrics: [100 x5表)

显示分类精度,在联盟十字路口,每个类的边界f - 1分。这些值存储在ClassMetrics财产。

metrics.ClassMetrics
ans =2×3表准确性借据MeanBFScore ________ _________ ___________三角形1 0.33005 0.028664 0.9017 0.9017 0.78438背景

显示存储在规范化的混淆矩阵NormalizedConfusionMatrix财产。

metrics.ConfusionMatrix
ans =2×2表三角形背景________ __________三角形背景9601 88069 4730 0

输入参数

全部折叠

预测像素标签产生的语义分割,指定为一个数据存储或单元阵列的数据存储对象。dsResults可以是任何数据存储返回分类图片,如PixelLabelDatastorepixelLabelImageDatastore。的(dsResults细胞)必须返回一个分类数组,数组,或一个表。如果函数返回一个多列单元阵列或表,第二列必须包含分类数组。

地面实况像素标签,指定为一个数据存储或单元阵列的数据存储对象。dsResults可以是任何数据存储返回分类图片,如PixelLabelDatastorepixelLabelImageDatastore。使用(dsTruth细胞)必须返回一个分类数组,数组,或一个表。如果函数返回一个多列单元阵列或表,第二列必须包含分类数组。

混淆矩阵类的分割图像,指定为以下之一,F是图像的数量数据集。

  • F行和一个变量的名字ConfusionMatrix。表中的每一行包含一个单元阵列的混淆矩阵对应的图像。

  • F由一个细胞数组。单元阵列的每个元素包含的混淆矩阵对应的图像。

混淆矩阵分段街区,指定为一个表B行和三列,B块的总数在数据集内的所有图像。三列是变量呢ImageNumber,ConfusionMatrix,BlockInfo。您可以获得一个表通过使用正确的格式segmentationConfusionMatrix函数在调用基于块的应用函数。例如,看到的计算细分指标的基于块的工作流

类名称,指定为字符串数组或单元阵列特征向量。

例子:["天空"“草”“建筑”“人行道”]

名称-值参数

指定可选的逗号分隔条名称,值参数。的名字参数名称和吗价值相应的价值。的名字必须出现在引号。您可以指定几个名称和值对参数在任何顺序Name1, Value1,…,的家

例子:指标= evaluateSemanticSegmentation (pxdsResults pxdsTruth,“指标”,“bfscore”)计算每个类只意味着BF分数,每个图像,整个数据集。

细分指标semanticSegmentationMetrics计算,指定为逗号分隔组成的“指标”和一个向量的字符串。这个参数指定了变量的DataSetMetrics,ClassMetrics,ImageMetrics表来计算。ConfusionMatrixNormalizedConfusionMatrix不管计算的价值“指标”

价值 描述 数据集的总和 图像度量 类指标
“所有”

评估所有语义细分指标。

功能不包括MeanBFScore从语义细分指标时指定一个混淆矩阵(imageSetConfusionblockSetConfusion)函数的输入。

所有聚合数据指标 所有图像指标 所有类指标
“准确性”

准确显示正确识别出的像素的每个类的百分比。使用精度指标如果你想知道如何正确地确定每个类像素。

  • 对于每个类,精度正确的比例分类像素的像素总数类,根据地面真理。换句话说,

    准确性分数= TP / (TP + FN)

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

  • 综合数据集,MeanAccuracy是平均精度中所有类的所有图像。

  • 对于每一个图像,MeanAccuracy是平均精度所有类的特定的形象。

类精度是一个简单的度量与全球的准确性,但它可能会误导人。例如,标签所有像素“车”给一个完美的分数的“汽车”类(尽管不是其他类)。使用类准确性与借据为一个更完整的分割结果的评价。

MeanAccuracy MeanAccuracy 精度
“bfscore”

F1 (BF)的边界轮廓匹配分数表明每个类的预测边界与真正的边界。使用高炉分数,如果你想要一个会更好的与人类相关的指标比借据定性评估指标。

  • 对于每个类,MeanBFScore这个类的平均BF得分超过所有图片。

  • 对于每一个图像,MeanBFScore是所有类的平均BF得分在那个特定的形象。

  • 综合数据集,MeanBFScore平均BF得分中所有类的所有图像。

有关更多信息,请参见bfscore

这个指标是不可用的,当你指定一个混淆矩阵(imageSetConfusionblockSetConfusion)函数的输入。

MeanBFScore MeanBFScore MeanBFScore
“global-accuracy”

GlobalAccuracy正确的比例分类像素,不管类,像素的总数。使用全球精度指标如果你想快速和廉价的计算估计的百分比正确分类像素。

GlobalAccuracy GlobalAccuracy 没有一个
“借据”

十字路口在联盟(借据),也被称为Jaccard相似系数,是最常用的指标。使用借据指标如果你想统计精度测量,处罚假阳性。

  • 对于每个类,借据正确的比例分类像素的总数地面真理和预测像素类。换句话说,

    借据得分= TP / (TP + FP + FN)

    图像描述真正的阳性(TP),假阳性(FP),和假阴性(FN)。

  • 对于每一个图像,MeanIoU是所有类的平均得分借据在那个特定的形象。

  • 综合数据集,MeanIoU是所有类的借据平均分数在所有图像。

有关更多信息,请参见jaccard

MeanIoU MeanIoU 借据
“weighted-iou” 平均每个班的借据,加权类像素的数量。使用这个指标如果图像大小不成比例地类,以减少错误的影响在小类总质量分数。 WeightedIoU WeightedIoU 没有一个

例子:指标= evaluateSemanticSegmentation (pxdsResults pxdsTruth,“指标”,(“global-accuracy”、“借据”))计算全球准确性和借据指标在整个数据集,图像,和类。

数据类型:字符串

国旗显示评价进展信息在命令窗口中,指定为逗号分隔组成的“详细”,要么1(真正的)或0()。

显示的信息包括一个进度条,运行时间,估计剩余时间和数据集的度量标准。

例子:指标= evaluateSemanticSegmentation (pxdsResults pxdsTruth,“详细”,0)计算细分指标没有显示进度信息。

数据类型:逻辑

输出参数

全部折叠

语义细分指标,作为一个返回semanticSegmentationMetrics对象。

基于块的语义细分指标,作为一个返回F由一个单元阵列,F是图像的数量数据集。单元阵列中的每个元素包含信息的所有指标计算相应的图像块,格式化为一个表。

每个表都有K(f)行,K(f)的块的数量f图像的数据集。桌子上有五个变量:

  • 桌子上总是包括了BlockInfo变量。这个表的数据在这个变量结构提供空间信息块。四个字段的结构BlockStartWorld,BlockEndWorld,DataStartWorld,DataEndWorld。关于这些字段的更多信息,请参阅IncludeBlockInfo名称-值对论点的应用函数。

  • 表中包括的指标DataSetMetrics财产的舰导弹输出参数。默认情况下,指标GlobalAccuracy,MeanAccuracy,MeanIoU,WeightedIoU。然而,如果你创建的舰导弹和指定的一个子集指标来计算通过使用指标名称-值对的论点,那么表只包含指定的指标。

引用

[1]Csurka G。,D. Larlus, and F. Perronnin. "What is a good evaluation measure for semantic segmentation?"《英国机器视觉会议,2013年,页,32.1 - -32.11。

扩展功能

介绍了R2017b