如何在 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 中为维度 (2505,10) 的数据设计 CNN?
在 keras 中使用 CNN-LSTM 模型进行序列到序列分类