我有一个图像集,包含300个图像对,即原始图像和蒙版图像。典型的蒙版图像如下所示。每张图片的大小为800 * 800。我试图为这个图像集训练完全卷积神经网络模型来执行语义分割。我试图从原始图像中生成小块(256 * 256)来构造训练集。是否有任何针对此修补程序采样过程推荐的策略?当然,随机抽样是一个简单的方法。在此,标有黄色前景类别的区域通常占整个图像区域整个图像区域的25%。它倾向于反映不平衡的数据集。用于训练完全卷积神经网络的子补丁生成机制
回答
如果训练完全卷积架构,假设800x800
输入和25x25
输出(经过五2x2
池层,25=800/2^5
)。尝试直接构建25x25
输出并直接在它们上训练。您可以在“正面”标签的损失函数中添加更高的权重,以使它们与“负面”标签平衡。
我绝对不建议采样,因为这将是一个昂贵的过程,并不是真正的完全卷积。
嗨MZhm,你是什么意思直接在25 * 25输出培训?如果我们不使用抽样过程,那么我们只有300个图像对,是一个训练深度学习模型的数据集太小了吗?此外,对于基于FCN的语义分割,输出应该与输入大小相同。 – user288609
对于向上采样回原始图像大小,我建议您阅读关于'tf.nn.conv2d_transpose'。对于抽样来说,在完整图像上进行训练是没有好处的。 (请记住,输出不是单个预测,它是上面示例中的25x25预测的空间网格) – MZHm
至于300是否足够的问题......只有一种方法可以检查 - 训练和测试它 – MZHm
- 1. 运行训练卷积神经网络
- 2. FCN中的补丁明智训练和完全卷积训练
- 3. 训练卷积神经网络识别车号牌
- 4. 为卷积神经网络选择训练图像
- 5. 为什么要对卷积神经网络进行预训练
- 6. 训练神经网络
- 7. 卷积神经网络
- 8. 完全卷积网络训练图像大小
- 9. Pybrain前馈神经网络训练错误完全卡住
- 10. 使用Xbox Kinect在Keras中捕获图像训练卷积神经网络(CNN)
- 11. 训练字母图像到全批培训的神经网络
- 12. 神经网络训练中的MSE
- 13. 嘈杂的神经网络训练集
- 14. OCR的训练前馈神经网络
- 15. 如何训练OCR神经网络?
- 16. 神经网络训练方法
- 17. 在Ruby中训练神经网络
- 18. 人工神经网络PSO训练
- 19. 神经网络训练连续值
- 20. float16 VS FLOAT32卷积神经网络
- 21. 用于神经网络训练的数据集
- 22. 查找用于训练神经网络的天气数据
- 23. 用于神经网络训练实验的队列管理器
- 24. 如何训练神经网络以基于训练集的手部运动生成运动?
- 25. 我在哪里可以找到关于卷积神经网络的练习?
- 26. 用于卷积神经网络的字嵌入
- 27. 用于实现卷积神经网络的Keras
- 28. 用于时间相关特征的卷积神经网络
- 29. 适用于卷积神经网络的哪种数据
- 30. 使用卷积神经网络产生音频
为什么要打补丁?为什么不用整个图像和丢失的样本像素? – Shai
只有300个图像对,代表训练FCN的数据集太小。 – user288609