如何将 CNN 应用于每个通道的基于多通道像素数据的权重?
How to apply CNN for multi-channel pixel data based weights to each channel?
我的图像有 8 channels.I 有一个传统算法,其中权重被添加到这些通道中的每一个以获得输出为“0”或“1”。这适用于多个样本和复杂的场景。我想使用 CNN 方法在机器学习中实现相同的功能。
我是 ML 新手,开始查找似乎专门处理图像处理问题的教程 - 手写识别、特征提取等
https://leonardoaraujosantos.gitbooks.io/artificial-inteligence/content/neural_networks.html
我已经用 Theano 设置了 Keras,因为 background.Basic Keras 样本工作正常。
我需要执行哪些步骤才能使用 CNN 获得相同的结果?我不理解过滤器、内核、步幅在我的使用中的使用 case.How 如果像素通道值和输出为以下形式,我们是否向 Keras 提供训练数据?
像素#1 f(C1,C2...C8)=1
像素#2 f(C1,C2...C8)=1
像素#3 f(C1,C2...C8)=0 .
.
像素#N f(C1,C2...C8)=1
我认为您应该像使用 CNN 进行语义分割一样对待它。有关示例,请查看
https://people.eecs.berkeley.edu/~jonlong/long_shelhamer_fcn.pdf
您可以使用他们正在使用的相同架构,但对于第一层,不要使用 3 个通道的过滤器,而是使用 8 个通道的过滤器。
对于损失函数,您可以使用相同的 loos 函数或更具体的二元损失函数。
keras 有多种实现,但使用的是 tensorflow
后端
https://github.com/JihongJu/keras-fcn
https://github.com/aurora95/Keras-FCN
由于输入是通道值的形式,因此在 sequence.I 中也建议您使用 Convolution1D。在这里,您将每个像素的通道值作为输入,您需要为每个 pixel.Try 预测这个
例如:
Conv1D(filters, kernel_size, strides=1, padding='valid')
Conv1D()
MaxPooling1D(pool_size)
......
(Add many layers as you want)
......
Dense(1)
使用binary_crossentropy
作为损失函数。
我的图像有 8 channels.I 有一个传统算法,其中权重被添加到这些通道中的每一个以获得输出为“0”或“1”。这适用于多个样本和复杂的场景。我想使用 CNN 方法在机器学习中实现相同的功能。
我是 ML 新手,开始查找似乎专门处理图像处理问题的教程 - 手写识别、特征提取等
https://leonardoaraujosantos.gitbooks.io/artificial-inteligence/content/neural_networks.html
我已经用 Theano 设置了 Keras,因为 background.Basic Keras 样本工作正常。
我需要执行哪些步骤才能使用 CNN 获得相同的结果?我不理解过滤器、内核、步幅在我的使用中的使用 case.How 如果像素通道值和输出为以下形式,我们是否向 Keras 提供训练数据?
像素#1 f(C1,C2...C8)=1
像素#2 f(C1,C2...C8)=1
像素#3 f(C1,C2...C8)=0 .
.
像素#N f(C1,C2...C8)=1
我认为您应该像使用 CNN 进行语义分割一样对待它。有关示例,请查看
https://people.eecs.berkeley.edu/~jonlong/long_shelhamer_fcn.pdf
您可以使用他们正在使用的相同架构,但对于第一层,不要使用 3 个通道的过滤器,而是使用 8 个通道的过滤器。
对于损失函数,您可以使用相同的 loos 函数或更具体的二元损失函数。
keras 有多种实现,但使用的是 tensorflow 后端
https://github.com/JihongJu/keras-fcn https://github.com/aurora95/Keras-FCN
由于输入是通道值的形式,因此在 sequence.I 中也建议您使用 Convolution1D。在这里,您将每个像素的通道值作为输入,您需要为每个 pixel.Try 预测这个 例如:
Conv1D(filters, kernel_size, strides=1, padding='valid')
Conv1D()
MaxPooling1D(pool_size)
......
(Add many layers as you want)
......
Dense(1)
使用binary_crossentropy
作为损失函数。