在阅读语义分割论文时,有时我会读到“掩模图像的单热标签”这样的术语。我不清楚这到底是什么意思?在阅读一些实现时,我可以看到它们通常具有 rows*columns*2
我的猜测是一个 channel 对应于前景,另一个 channel 对应于背景。是对的吗?此外,我如何知道哪一个是前景?如果现有训练集只有行*列*1
形状。如何将其转换为这种类型的格式,即 rows*columns*2
?我所做的只是使用 newimage[:,:,:,0] = original_image
和 newimage[:,:,:,1] = 1-original_image
。但不知道这样对不对?
最佳答案
像 1,2,3,4,5 等分类标签没有任何自然顺序。因此,使用这些数字可能意味着标签 5 大于标签 1,但冰箱和狗只是两个没有自然排序的标签。
因此我们将标签 1,2,3,4,5 转换为
[1,0,0,0,0], [0,1,0,0,0], ...,[0,0,0,0,1]
所以现在它们只是指向某个方向的向量,这使得逻辑回归和其他损失函数更容易使用。
您还可以使用行*列*1 对前景背景进行编码
只需将前景值设置为 1,背景值设置为 0,然后我们就得到了前景背景蒙版。
我需要查看何时使用 rows*columns*2 的示例,因为该示例并不常见,并且可能会根据您看到它的位置而有所不同。
关于opencv - 用于语义分割的单热标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40393735/