当人们尝试使用CNN解决语义分割任务时,通常在训练过程中使用softmax-crossentropy损失函数(参见全卷积 - Long)。但是当涉及比较不同方法的性能时,会报告像交集比这样的度量。
我的问题是为什么人们不直接训练想要优化的度量?对我来说,在训练期间使用某些度量进行训练,然后在基准测试中评估另一些度量似乎很奇怪。
我可以看出,对于训练样本中不存在该类别的情况,IOU存在问题(联合=0且交集=0 => 除零操作)。但是当我可以确保我的所有真实标签样本都包含所有类别时,是否还有另一个原因不使用此度量呢?
I ~= sum(Y*Y')
和U ~= sum(Y + Y' - Y*Y')
。 您的论文使用了I/U
的负对数形式,而我提供的论文使用了1-I/U
。我喜欢负对数形式,但我很快会尝试两种形式。您的论文在I/U
之后进行求和,而非之前。 - PoikI/U
,然后再进行求和更加合理。这样,您可以基于每个样本评估准确性,并且单独的错误会相加。先进行求和可能会导致误差抵消(sum(I)/sum(U)
可能会给出一个好的分数,而sum(I/U)
可能不会为相同的数据)。虽然我并不是专家... - MPA