semanticSegmentationMetrics
语义分割质量度量
描述
一个semanticSegmentationMetrics
对象封装了一组图像的语义分割质量度量。
创建
创建一个semanticSegmentationMetrics
对象使用evaluateSemanticSegmentation
函数。
属性
ConfusionMatrix
- - - - - -混淆矩阵
表格
此属性是只读的。
混淆矩阵,指定为表用C行和列,其中C是语义分割中的类数。每个表元素(我,j)是已知属于该类的像素的计数我但预计属于一类j。
NormalizedConfusionMatrix
- - - - - -归一化混淆矩阵
表格
此属性是只读的。
归一化混淆矩阵,指定为表用C行和列,其中C是语义分割中的类数。每个表元素(我,j)是已知属于该类的像素的计数我但预计属于一类j,除以类中预测的像素总数j。元素的范围是[0,1]。
DataSetMetrics
- - - - - -数据集指标
表格
此属性是只读的。
在数据集上聚合的语义分割指标,指定为带有一行的表。DataSetMetrics
具有多达五列,对应于“指标”
使用的名称-值对evaluateSemanticSegmentation
:
GlobalAccuracy
-正确分类的像素与总像素的比率,无论类别。MeanAccuracy
-每个类中正确分类的像素与总像素的比率,在所有类中平均。这个值等于的平均值ClassMetrics。精度
。MeanIoU
-所有职业的平均交集超过联合(IoU)。这个值等于的平均值ClassMetrics。借据
。WeightedIoU
-所有类别的平均欠条,按类别像素数加权。MeanBFScore
-所有图像的平均边界F1 (BF)得分。这个值等于的平均值ImageMetrics。BFScore
。创建对象时,此指标不可用semanticSegmentationMetrics
对象通过使用混淆矩阵作为输入evaluateSemanticSegmentation
。
请注意
值为南
类或图像度量中,指示在使用度量时计算度量期间缺少一个或多个类evaluateSemanticSegmentation
函数。在这种情况下,软件无法准确地计算指标。
方法可以找到缺少的类ClassMetrics
属性,该属性为每个类提供度量。为了更准确地评估您的网络,请使用包含缺失类的更多数据来增强您的ground truth。
ClassMetrics
- - - - - -类指标
表格
此属性是只读的。
每个类的语义分割指标,用一个表指定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
。
ImageMetrics
- - - - - -图像指标
表格
此属性是只读的。
语义分割指标为每个图像中的数据集,指定为表用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
版本历史
另请参阅
evaluateSemanticSegmentation
|plotconfusion
(深度学习工具箱)|jaccard
|bfscore
主题
- 开始使用深度学习进行语义分割
- MATLAB深度学习(深度学习工具箱)
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。