使用 ConvNet 预测位图

人工智能 神经网络 卷积神经网络 计算机视觉
2021-11-14 07:16:45

我想构建一个分类器,它获取航空图像并输出位图。位图应该在航拍图像有水的每个像素处为 1。对于这个过程,我想使用 ConvNet,但我不确定输出层。我确定了两种方法:

  1. 有一个恰好有 2 个节点的输出层,这些节点指定航拍图像的中心像素是否对应于水。
  2. 有一个输出层,每个像素都有一个节点。因此,对于 64x64 图像,我将有 4096 个节点。

哪种方法更受欢迎,为什么?

我不清楚的另一件事是如何从 ConvNet 的输出中获取只有零和一的实际位图。假设我们使用方法 2,那么对于每个像素,我们的 ConvNet 会给我们一个介于 0 和 1 之间的概率,即该像素对应于水。我如何确定这个概率足够高以将我的位图中的值设置为 1?我是否只定义一个阈值,比如 0.5,如果值超过该阈值,我将像素设置为 1,还是有更复杂的方法?

1个回答

你的第一种方法对我没有任何意义。毕竟,您不只是对中心像素感兴趣吗?如果每个像素都有两个节点,那么这两个节点的编码是什么?对于水的概率,您只需要一个。

所以清楚地接近二。我只会使用 0.5 作为截止值。只有在误报或误报由于某种原因更成问题时,使用更高或更低的截止值才有意义。使用一些额外的启发式方法来调整给定的概率只会做 ConvNet 应该做的事情。

如果 4096 个输出节点太昂贵,您总是可以让它变得更加模糊,例如通过预测四个像素中至少一个显示水的概率,将节点数量减少到 1024 个。