我想评估我的自动图像分割结果。我通过用 Matlab 编写的函数使用 Dice 系数。以下是代码的链接。 数学工作链接
我正在比较分段补丁和手动裁剪的补丁;有趣的是,DICE 比一个大。我多次发送代码,例如取补丁的绝对值(以去除负像素),但找不到原因。怎么会,而每个单独的集合是(比如 3 和 5),而它们的联合是(比如 45)?union 的最大值必须为 8。
有人可以指导我更精确的来源来实现骰子系数吗?
function[Dice]=evaldem(man,auto)
for i=1:size(auto,1)
for j=1:size(auto,2)
auto(i,j).autosegmentedpatch=imresize(auto(i,j).autosegmentedpatch,[224 224]);)
man(i,j).mansegmentedpatch=imresize(man(i,j).mansegmentedpatch,[224 224]);
Dice(i,j)=sevaluate(man(i,j).mansegmentedpatch,auto(i,j).autosegmentedpatch)
end
由于我有许多自动分割的补丁和手动分割的补丁,我将它们存储在结构[man 和 auto] 中。结构的大小是 [i,j]。当然,我必须调整大小才能使它们大小相等!然后,我调用 FEX 提交文件。当涉及到这些补丁的负像素时,它们有一些。请注意,当我计算 Dice 的“common”和“union”时,我会采用这些补丁的绝对值。总而言之,我仍然得到大于 1 的 Dice 值。