主要内容

bfscore.

用于图像分割的轮廓匹配评分

描述

例子

分数= bfscore(预测groundTruth的)计算预测分段之间的BF(边界F1)轮廓匹配分数预测真正的分割groundTruth预测groundTruth可以是二进制分段的一对逻辑阵列,或者是多种多组分段的一对标签或分类阵列。

[分数精度回忆) = bfscore (预测groundTruth的)的值也返回精度和召回值预测图像相比之下groundTruth的形象。

[___) = bfscore (预测groundTruth阈值的)使用指定的阈值计算BF分数作为距离误差容差,以确定边界点是否具有匹配。

例子

全部收缩

读取具有对象到段的图像。将图像转换为灰度,并显示结果。

a = imread(“hands1.jpg”);I = im2gray(一个);图imshow(我)标题('原始图像​​'的)

图中包含一个轴对象。具有标题原始图像的轴对象包含类型图像的对象。

使用活动轮廓(Snakes)方法进行手动。

掩码= false(大小(I));面具(25:end-25 25: end-25) = true;BW = activecontour(I, mask, 300);

阅读地面真理分割。

BW_groundTruth = imread (“hands1-mask.png”);

计算主动轮廓分割的BF分数对抗地面真理。

相似度= bfscore(BW, BW_groundTruth);

在彼此顶部显示面罩。颜色表示掩模的差异。

图imshowpair(bw,bw_groundtruth)标题(['bf得分='num2str(相似性)))

图中包含一个轴对象。标题BF Score = 0.76266的轴对象包含一个类型为image的对象。

这个例子展示了如何将图像分割成多个区域。然后该示例计算每个区域的BF评分。

读取具有若干区域的图像到段。

RGB = imread (“yellowlily.jpg”);

为三个区域创建涂鸦,以区分它们的典型颜色特征。第一个地区对黄花进行了分类。第二个区域是绿色茎和叶的分类区。最后一个区域将棕色污垢分类为图像的两个独立斑块。区域由一个4元素向量指定,其中的元素表示ROI左上角的x坐标和y坐标、ROI的宽度和ROI的高度。

Region1 = [350 700 425 120];%[x y w h]格式BW1 = false(大小(RGB, 1),大小(RGB, 2));BW1 (region1 (2): region1 region1 (2) + (4), region1 (1): region1 (1) + region1 (3)) = true;Region2 = [800 1124 120 230];BW2 = false(大小(RGB, 1),大小(RGB, 2));BW2 (region2 (2): region2 region2 (2) + (4), region2 (1): region2 (1) + region2 (3)) = true;Region3 = [20 1320 480 200;1010 290 180 240];BW3 = false(大小(RGB, 1),大小(RGB, 2));BW3 (region3(1、2):region3(1、2)+ region3(1、4),region3 (1,1): region3 (1,1) + region3(1、3))= true;BW3 (region3 (2, 2): region3 (2, 2) + region3(2、4),region3 (2, 1): region3 (2, 1) + region3(2、3))= true;

在图像顶部显示种子区域。

图imshow (RGB)visboundaries(bw1,“颜色”'r');visboundaries(bw2,“颜色”'G');visboundaries(bw3,“颜色”'B');标题(“种子区域”的)

图中包含一个轴对象。带有标题区域的axis对象包含7个类型为line, image的对象。

采用基于测地线距离的颜色分割方法将图像分割为三个区域。

l = Imseggeodesic(RGB,BW1,BW2,BW3,'AdaptiveChannelweighting',真的);

加载图像的地面真相分割。

L_groundTruth =双(imread ('YellowLily-segmented.png'));

用地面真理在视觉上比较分割结果。

图imshowpair(label2rgb(l),label2rgb(l_groundtruth),'剪辑')标题('分割结果(左)和地面真理(右)的比较的)

图中包含一个轴对象。标题为“分割结果比较(左)”和“地面真相(右)”的轴对象包含类型为image的对象。

计算每个分段区域的BF分数。

相似之处= bfscore(l,l_groundtruth)
相似之处=3×10.7992 0.5333 0.7466

BF分数对于第二区域明显较小。该结果与分段结果的视觉比较一致,这错误地将图像的右下角的污垢分类为叶子。

输入参数

全部收缩

预测分割,指定为2-D或3-D逻辑、数字或分类大批。如果预测是一个数字数组,那么它表示标签数组,必须包含数据类型的非负整数双倍的

数据类型:逻辑|双倍的|分类

地面真相分段,指定为2-D或3-D逻辑,数字或分类具有相同大小和数据类型的数组预测。如果groundTruth是一个数字数组,那么它表示标签数组,必须包含数据类型的非负整数双倍的

数据类型:逻辑|双倍的|分类

距离误差容忍阈值,以像素为单位,指定为正标量。阈值决定了边界点是否匹配。如果阈值则默认值为图像对角线长度的0.75%。

例子:3.

数据类型:双倍的

输出参数

全部收缩

BF分数,作为数值标量或值范围为[0,1]的向量返回。一个分数为1表示对象的轮廓在相应类中预测groundTruth是一个完美的匹配。如果输入阵列是:

  • 逻辑阵列,分数是标量,代表前景的BF分数。

  • 标签或分类阵列,分数是矢量。第一个系数分数是第一个前景类的BF分数,第二系数是第二个前景类的分数,等等。

精度,作为数值范围为[0,1]的数字标量或数字向量返回。每个元素表示相应前景类中对象轮廓的精度。

精度为预测分割边界上足够接近ground truth分割边界的点数与预测边界长度的比值。换句话说,精确度是真阳性检测而不是假阳性检测的比例。

回想一下,返回为数值标量或数值向量,其值范围为[0,1]。每个元素表示在相应的前台类中收回的对象轮廓。

记起为地面真值分割边界上足够接近预测分割边界的点数与地面真值边界长度的比值。换句话说,回忆是被发现而不是错过的真实阳性的部分。

更多关于

全部收缩

BF(边界F1)得分

BF评分测量对象的预测边界与地面真相边界匹配的接近。

BF评分被定义为调和平均值(f1 -测度)精度回忆以距离公差值来决定预测边界上的一个点是否与地面真值边界相匹配。

分数= 2 *精度*回忆/(回忆+精度的)

参考文献

[1] Csurka,G.,D. Larlus和F. perronnin。“语义细分的良好评估措施是什么?”英国机器愿景会议的诉讼程序, 2013, pp. 32.1-32.11。

也可以看看

|

介绍在R2017B.