如何在 Keras 中使用 CNN 处理马萨诸塞州道路数据集?

Posted

技术标签:

【中文标题】如何在 Keras 中使用 CNN 处理马萨诸塞州道路数据集?【英文标题】:How to tackle the Massachusetts roads dataset using CNN in Keras? 【发布时间】:2018-08-27 00:38:18 【问题描述】:

![样本训练输入]http://www.cs.toronto.edu/~vmnih/data/mass_roads/train/sat/10078660_15.tiff

![样本训练输出] http://www.cs.toronto.edu/~vmnih/data/mass_roads/train/map/10078660_15.tif

我是 CNN 的初学者,曾使用过 MNIST 数据集,我们在其中输入 28x28x3 图像并输出一个 10x1 向量,其中包含 10 个类别(0、1、2、3---、9)的概率。 我们如何从输入图像中仅提取道路像素并显示它们,如输出图像所表示的那样?

【问题讨论】:

【参考方案1】:

这个问题是一个二元分割问题。从某种意义上说,您从卫星图像中学习映射并预测每个像素,如果该像素是道路的一部分。一个简单的算法是检查像素颜色是否在某个范围内。

CNN 自然会根据所述像素的局部邻域为您学习更复杂的函数。一个让你开始的回购应该是这个:https://github.com/jocicmarko/ultrasound-nerve-segmentation。其中,他们使用类似的算法来使用 CNN 分割超声图像。您只需使用 3 个输入通道而不是 1 个,其他一切都应该非常相似。

【讨论】:

每张卫星图的尺寸为(1500,1500,3)[这里,3 = no.通道]。因此它会导致内存错误。我该如何处理? 我会建议三种方法中的一种。要么使用具有大步幅的大型初始过滤器(例如,具有 4x4 步幅的 7x7 过滤器),先对图像进行下采样,然后运行算法,或者在不同部分运行算法,然后将图像拼接在一起。

以上是关于如何在 Keras 中使用 CNN 处理马萨诸塞州道路数据集?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用精度(而不是准确度)在 Keras 中优化 CNN

如何在 Keras 中为维度 (2505,10) 的数据设计 CNN?

在 keras 中使用 CNN-LSTM 模型进行序列到序列分类

Keras:如何将 CNN 模型与决策树连接起来

你如何在 Python 中使用 Keras LeakyReLU?

使用 Keras 的 CNN 深度学习模型中的 PCA