Keras:用于图像处理或转换的CNN

时间:2018-04-21 04:01:46

标签: keras convolutional-neural-network

我是keras和机器学习的新手。我的研究问题肯定会受益于使用卷积神经网络(cnn)。我正在尝试为某些特定于我的研究问题的图像转换构建一个cnn。到目前为止,我遇到的大多数cnn例子都是某种形式的分类。对于分类示例,我理解cnn的基本操作,给定输入图像,网络给出一个数字。将该数字与标签(与输入图像相关联)进行比较,然后将其中的误差反向传播到网络以调整下一次迭代的权重。对于我的转换问题,网络的输出是一个图像和"标签"这是预期的输出也是一个图像。这是我被困的地方。如何使用图像作为标签,以及我需要在model.fit()中进行哪些修改才能将图像用作标签。

谢谢你,非常感谢你对此事的任何指导。 最好, snsvsn

1 个答案:

答案 0 :(得分:0)

首先,当你说转换时,它是什么意思?它是否像变换矩阵,可以表示为一组参数。或者它实际上非常复杂,并且不能通过一些参数轻松表达。

对于前一种情况,例如透视变换矩阵,可以直接回归这些参数。换句话说,您不必将图像用作网络目标。相反,您可以训练CNN来预测所有矩阵元素。

对于后一种情况,简答为YES。您应该进一步阅读spatial transformer networks等特殊网络中的资料。注意,我不是说空间变压器网络会解决你的问题,但它指向正确的方向,即

  1. 了解网络中所有与变换相关的参数
  2. 以可区分的方式转换输入图像(这可能是自定义图层)
  3. 计算转换后的图像与目标之间的重建损失(例如MSE)。