利用深度学习来识别建筑年代和风格
📌 建议先阅读论文解读:如何利用最近很火的深度学习来识别建筑年代和风格?🔗以了解论文的大致内容和技术方法
📌 所有文章均可在我的博客和微信公众号(renhai-lab)中找到,欢迎关注!
📌 收录进微信公众号专栏:【SCI 论文复现】《通过深度学习了解建筑年代和风格》
《通过深度学习了解建筑年代和风格》论文复现代码已上传到Github和Gitee,但 Gitee 仅用于同步,目前文章和仓库还在更新中,请访问对应的主页查看。
一、文章目录
状态 | 文章标题 | 博客 | 微信文章 |
---|---|---|---|
✅ | Part1.论文解读:如何利用最近很火的深度学习来识别建筑年代和风格? | 博客 🔗 | 微信 🔗 |
✅ | Part2.下载和预处理建筑足迹数据集 | 博客 🔗 | 微信 🔗 |
✅ | Part3-1.获取高质量的阿姆斯特丹建筑立面图像 | 博客 🔗 | 微信 🔗 |
✅ | Part3-2.获取高质量的阿姆斯特丹建筑立面图像 | 博客 🔗 | 微信 🔗 |
✅ | Part4-1.对建筑年代进行深度学习训练和预测 | 博客 🔗 | 微信 🔗 |
✅ | Part4-2.对建筑年代预测结果进行展示和分析 | 博客 🔗 | 微信 🔗 |
练习:Part5.对建筑风格进行深度学习训练和预测以及分析 |
二、使用说明
fork 本仓库(点击下图),然后克隆到本地或者用云端编辑器打开,最后安装环境。
三、环境配置说明
- 直接安装 Python、或者使用 Anaconda、Pycharm、VScode 安装。
- pytorch 推荐单独安装,详见PyTorch 环境配置。
- 其余依赖使用
pip install requirements.txt
。
四、部分成果
⬇️ 阿姆斯特丹的建筑足迹
⬇️ 阿姆斯特丹的道路线数据 Amsterdam_road.edges
⬇️originl image 和 pred_color 的对比
⬇️ 模型预测可视化结果
⬇️ 表 4 混淆矩阵(百分比)
⬇️ 图 10 CAM 去识别不同年代模型的关注点
- 左侧小图是将 CAM 叠加在原始图像上。图像的红色区域主要覆盖一楼和二楼之间的窗户或门。
- 右侧小图:根据 CAM 裁剪的图像显示了窗户的演变。早期的窗户通常框架较宽,装饰较多,而且较窄。最近的窗户样式以方形和水平形状为特点,框架更薄,装饰更少,深度更小。
⬇️ 图 7 阿姆斯特丹市中心建筑年代预测结果空间分布
建筑年代预测结果的空间分布
蓝色表示旧建筑被预测为新建筑,而粉色表示模型将新建筑预测为旧建筑。灰色表示预测正确。
⬇️ 图 8 :建筑年代预测结果在 150 米网格范围的准确度
五、数据集
1.原始数据源
数据源的获取会在下一篇文章《获取数据集——《通过深度学习了解建筑年代和风格》论文复现(二)》详细说明。
-
BAG 建筑足迹——用于获取建筑的几何数据以及建筑年代数据
2.(备用)国内阿里云盘下载链接:
《使用深度学习识别建筑年代和风格》项目数据集,需要手动快传分享给你,可以关注公众号:【renhailab】发送【20240401】获取,
内容包含:
- 筛选后的阿姆斯特丹街景图片
- 剑桥建筑风格数据集
- 阿姆斯特丹大都市区的建筑足迹
- 5-ArcgisPro 工程
- ckpt: /3-selenium 获取街景并进一步筛选街景图像/ckpt/
- models: /4.1-对建筑年代进行深度学习训练和预测/models/weights_6/
3.(备用)国内百度网盘下载链接:
- BAG 建筑足迹:https://pan.baidu.com/s/1ugy2r8tvO6kbqUTxZWTsUA?pwd=216f
提取码:216f - 剑桥大学建筑风格图集和相应数据:https://pan.baidu.com/s/1L4uBNvZvNr0oWdjpwAuwBw?pwd=c3bg
提取码:c3bg
六、仓库主要代码文件的结构
├── 1-论文阅读和解析
│ ├── Understanding architecture age and style through deep learning.pdf
│ └── 论文双语版:通过深度学习了解建筑时代和风格 - ScienceDirect.html
├── 2-获取数据集
│ ├── notebook
│ │ ├── 2.1-BAG建筑足迹数据预处理.ipynb
│ │ ├── 2.2-osmnx获取道路数据.ipynb
│ │ └── 2.3-通过streetview获取含有谷歌街景地图的网页url.ipynb
│ └── script
│ ├── 2.1-使用geopandas寻找街景点.py
│ └── 2.2-通过streetview获取含有url的csv文件.py
├── 3-selenium获取街景并进一步筛选街景图像
│ ├── ckpt
│ │ └── ade20k-resnet50dilated-ppm_deepsup
│ ├── notebook
│ │ ├── 3.1-2-删除损坏的文件.ipynb
│ │ ├── 3.1-selenium获取街景截图.ipynb
│ │ └── 3.2-语义分割预筛选街景照片..ipynb
│ ├── script
│ │ ├── 3.1-selenium多线程获取街景.py
│ │ └── 3.2-语义分割筛选街景完整代码.py
├── 4.1-对建筑年代进行深度学习训练和预测
│ ├── notebook
│ │ ├── 4.1.1-建筑年代的模型选择和训练.ipynb
│ │ ├── 4.1.2-对训练集进行预测并保存结果.ipynb
│ │ ├── 4.1.3-建筑年代模型评价.ipynb
│ │ ├── 4.1.4-制作建筑年代预测结果的空间分布图.ipynb
│ │ ├── 4.1.5-使用ArcGIS-Pro和Arcy制作建筑年代预测结果在150米精度范围的准确度.ipynb
│ │ ├── 4.1.6-计算空间自相关(莫兰指数).ipynb
│ │ ├── 4.1.7-探讨建筑年龄和建筑风格的关系.ipynb
│ ├── script
│ │ ├── TS.py
│ │ ├── engine.py
│ │ └── train.py
├── 4.2-对建筑风格进行深度学习训练和预测
│ ├── notebook
│ │ ├── 4.2.2-建筑风格模型评价.ipynb
├── 5-ArcgisPro工程
│ ├── 1.使用ArcPy简化和拆分建筑.py
│ ├── 2.使用ArcPy寻找街景点.py
├── README.md
├── my_tools
│ ├── engine.py
│ ├── helper_functions.py
│ ├── validate_image.py
│ ├── 合并多个csv文件.py
│ └── 缩小街景图像.ipynb
└── requirements.txt
引用信息 (Cite info)
Maoran Sun, Fan Zhang, Fabio Duarte, Carlo Ratti,
Understanding architecture age and style through deep learning,
Cities,
Volume 128,
2022,
103787,
ISSN 0264-2751,
https://doi.org/10.1016/j.cities.2022.103787.
(https://www.sciencedirect.com/science/article/pii/S0264275122002268)
Abstract: Architectural styles and their evolution are central to architecture history. However, traditional approaches to understand styles and their evolution require domain expertise, fieldwork and extensive manual processes. Recent research in deep learning and computer vision has highlighted the great potential in analyzing urban environments from images. In this paper, we propose a deep learning-based framework for understanding architectural styles and age epochs by deciphering building façades based on street-level imagery. The framework is composed of two stages: Deep ‘Learning’ the architecture and Deep ‘Interpreting’ the architecture age epochs and styles. In Deep ‘Learning’, a deep convolutional neural network (DCNN) model is designed to automatically learn about the age characteristics of building façades from street view images. In Deep ‘Interpreting’ stage, three components are proposed to understand the different perspectives regarding building ages and styles. In the experiment, a building age epoch dataset is compiled for the city of Amsterdam and Stockholm to understand the evolution of architectural element styles and the relationship between building ages and styles spatially and temporally. This research illustrates how publicly available data and deep learning could be used to trace the evolution of architectural styles in the spatial-temporal domain.
Keywords: Building age; Architectural style; Street view imagery; Built environment; Deep learning