用卷积网络对城市住区进行分类

这将是解释我的人工智能硕士最终项目的几篇文章中的第一篇,我想在其中详细解释从项目的想法到结论,我将在其中展示给定解决方案的所有代码。

总体思路

城市扩张地图集

https://www.lincolninst.edu/es/publications/books/atlas-urban-expansion

项目需要大量人力来获取数据,以评估全球 200 个城市的城市结构质量。其中一项任务是对城市地块进行分类。

阶段目标是:创建一个卷积网络,负责根据这些地块的类型自动对其进行分类。 最终目标:尝试利用人工智能的进步来解决项目中这类特定部分需求,并看看是否有可能创建这种类型的解决方案。

数据准备

它是使用从 Cartociudad + Cadastre 获取的图进行的,并在 gvSIG Desktop 中手动标记,以便基于 PNOA 图像训练网络。

这些图的剪切是在 PNOA 上进行的,并分组在文件夹中。这也与 gvSIG Desktop 上的脚本有关。

数据训练

使用Python + Keras 创建卷积网络。

复制代码
model = tf.keras.models.Sequential([
      tf.keras.layers.Conv2D(200, (3,3), activation='relu', input_shape=(image_size, image_size, 3)),
      tf.keras.layers.MaxPooling2D(2, 2),

      tf.keras.layers.Conv2D(128, (3,3), activation='relu'),#, input_shape=(image_size, image_size, 3)),
      tf.keras.layers.MaxPooling2D(2, 2),

      tf.keras.layers.Conv2D(64, (3,3), activation='relu'), # input_shape=(image_size, image_size, 3)),
      tf.keras.layers.MaxPooling2D(2, 2),
      
      tf.keras.layers.Conv2D(32, (3,3), activation='relu'),
      tf.keras.layers.MaxPooling2D(2,2),
      
      tf.keras.layers.Flatten(),
      tf.keras.layers.Dropout(0.5),

      tf.keras.layers.Dense(200, activation='relu'),
      tf.keras.layers.Dense(128, activation='relu'),
      tf.keras.layers.Dense(64, activation='relu'),
      tf.keras.layers.Dense(4, activation='softmax')
  ])

Model: "sequential"
Layer (type) Output Shape Param #
conv2d (Conv2D) (None, 222, 222, 200) 5600
max_pooling2d (MaxPooling2D) (None, 111, 111, 200) 0
conv2d_1 (Conv2D) (None, 109, 109, 128) 230528
max_pooling2d_1 (MaxPooling2 (None, 54, 54, 128) 0
conv2d_2 (Conv2D) (None, 52, 52, 64) 73792
max_pooling2d_2 (MaxPooling2 (None, 26, 26, 64) 0
conv2d_3 (Conv2D) (None, 24, 24, 32) 18464
max_pooling2d_3 (MaxPooling2 (None, 12, 12, 32) 0
____________________________________________
flatten (Flatten) (None, 4608) 0
dropout (Dropout) (None, 4608) 0
____________________________________________
dense (Dense) (None, 200) 921800
dense_1 (Dense) (None, 128) 25728
dense_2 (Dense) (None, 64) 8256
dense_3 (Dense) (None, 4) 260
============================================
Total params: 1,284,428
Trainable params: 1,284,428
Non-trainable params: 0
相关推荐
微学AI2 分钟前
融合注意力机制和BiGRU的电力领域发电量预测项目研究,并给出相关代码
人工智能·深度学习·自然语言处理·注意力机制·bigru
知来者逆14 分钟前
计算机视觉——速度与精度的完美结合的实时目标检测算法RF-DETR详解
图像处理·人工智能·深度学习·算法·目标检测·计算机视觉·rf-detr
每天都要写算法(努力版)1 小时前
【神经网络与深度学习】训练集与验证集的功能解析与差异探究
人工智能·深度学习·神经网络
BB_CC_DD2 小时前
四. 以Annoy算法建树的方式聚类清洗图像数据集,一次建树,无限次聚类搜索,提升聚类搜索效率。(附完整代码)
深度学习·算法·聚类
Blossom.1183 小时前
人工智能在智能家居中的应用与发展
人工智能·深度学习·机器学习·智能家居·vr·虚拟现实·多模态融合
HyperAI超神经3 小时前
12个HPC教程汇总!从入门到实战,覆盖分子模拟/材料计算/生物信息分析等多个领域
图像处理·人工智能·深度学习·生物信息·分子模拟·材料计算·vasp
进来有惊喜4 小时前
深度学习:迁移学习
python·深度学习
豆芽8194 小时前
图解YOLO(You Only Look Once)目标检测(v1-v5)
人工智能·深度学习·学习·yolo·目标检测·计算机视觉
北上ing5 小时前
从FP32到BF16,再到混合精度的全景解析
人工智能·pytorch·深度学习·计算机视觉·stable diffusion
蔗理苦5 小时前
2025-04-24 Python&深度学习4—— 计算图与动态图机制
开发语言·pytorch·python·深度学习·计算图