首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Part1.论文解读:如何利用最近很火的深度学习来识别建筑年代和风格?

Part1.论文解读:如何利用最近很火的深度学习来识别建筑年代和风格?

作者头像
renhai
发布2023-11-24 17:01:35
发布2023-11-24 17:01:35
8500
举报

本文为《通过深度学习了解建筑年代和风格》(详细引用信息见文末)论文复现的第一篇——论文解读,主要是介绍论文的大致逻辑,创新点和结论。

  • 一、文章目录
  • 二、技术流程
  • 三、准备工作
    • 3.1 环境配置
    • 3.2 研究区域
    • 3.3 数据源
  • 四、代码和成果
    • 4.1 完整仓库代码(后续提供):
    • 4.2 阿姆斯特丹建筑足迹数据
    • 4.3 阿姆斯特丹36G大小7万多张筛选后的阿姆斯特丹的街景图像:
    • 4.4 原始论文
    • 4.5 部分代码、notebook
    • 4.6 模型过程训练
  • 写在最后

论文简单来说是利用深度学习技术来识别建筑的属于哪一个年代的以及是什么风格。

你可能会想,为什么不直接请个建筑师来看看不就完了吗?

但实际上,一个建筑师需要学习大量的建筑知识、进行实地考察才能准确的判断建筑所属的年代和风格,而且也不一定是百分百准确,而深度学习可以为我们提供一个自动化、高效的解决方案,可以大量且准确的识别一个街区,甚至一个城市的所有建筑。

当你顶着炎炎夏日出去实地调研的时候,隔壁组会深度学习的设计师已经在办公室,一边吹着空调、喝着咖啡,一边等待着电脑跑完模型等待识别结果了。最近几年的城市规划、建筑、GIS、景观、等学科论文与计算机学科融合的越来越紧密,学会使用编程方法实现城市空间数据分析成为了这些学科研究人员了必备技能。不仅在学术研究中如此,在房地产行业工作的设计师们掌握编程之后,也能够助你效率提升。

📘本系列文章分为6个部分,我会手把手带你走完论文所有流程,教你如何用Python和ArcGIS Pro复现此篇论文,并且提供相关数据集和完整代码。不要觉得写代码是一件很难的事情,其实Python语言简洁明了,代码可读性高,容易入门。

一、文章目录

所有文章均可在我的博客[1]和微信公众号(renhailab)中找到,欢迎关注! 📌 收录进专栏:【SCI论文复现】《通过深度学习了解建筑年代和风格》

  • Part1.论文解读:如何利用最近很火的深度学习来识别建筑年代和风格?——《通过深度学习了解建筑年代和风格》[2]
  • Part2.下载和预处理建筑足迹数据集——《通过深度学习了解建筑年代和风格》[3]
  • Part3.获取高质量的阿姆斯特丹建筑立面图像(上)——《通过深度学习了解建筑年代和风格》[4]
  • Part3.获取高质量的阿姆斯特丹建筑立面图像(下)——《通过深度学习了解建筑年代和风格》[5]
  • Part4.对建筑年代进行深度学习训练和预测——《通过深度学习了解建筑年代和风格》[6]
  • Part4.对建筑年代进行深度学习结果进行展示和分析——《通过深度学习了解建筑年代和风格》[7]
  • Part5.对建筑风格进行深度学习训练和预测以及分析——《通过深度学习了解建筑年代和风格》[8]

回到论文,作者提到了为什么要进行此项研究:

建筑风格及其演变对于建筑史研究具有至关重要的意义。然而,传统的了解风格及其演变的方法需要领域专业知识、实地调研和大量的手动处理。最近,深度学习和计算机视觉的火热,让通过影像分析城市环境成为可能。

文章提出了一个基于深度学习的框架,通过解析街景图像中的建筑立面来理解建筑的风格和年代。这个框架分为两个阶段:深度“学习”建筑和深度“解读”建筑的年代和风格。在深度“学习”阶段,设计了一个深度卷积神经网络模型,自动从街景图像中学习建筑立面的年代特征。在深度“解读”阶段,提出了三个组件来从不同的角度理解建筑的年代和风格。

“在深度学习阶段,我们设计了一个深度卷积神经网络(DCNN)模型,能够自动学习建筑立面的年代特征。通过深入分析建筑中的视觉要素,我们的模型能够从中提取出有关年代的重要信息。 在深度解读阶段,我们提出了三个组成部分,以便准确理解不同视角下建筑年代和风格之间的差异。这些组成部分能够有效地揭示建筑元素风格的演变以及建筑年代和风格之间的空间和时间关系。”——论文

为了验证我们的框架,作者选定了研究区域:阿姆斯特丹Amsterdam和斯德哥尔摩Stockholm。选择这两座城市中,目的是理解建筑元素风格的演变以及建筑年代和风格之间的关系。更重要的,这些城市有公开的建筑数据!

阿姆斯特丹👈 👉斯德哥尔摩

以上文章解读肯定很深奥😵。我们从应用角度简单来说:

想象一下,你正在街上散步,突然看到了一个非常有特色的建筑,你非常好奇它是什么年代的,是什么风格的。这时,你只需要拿出手机,拍一张照片,然后通过这个深度学习模型,就可以知道这座建筑的年代和风格了!是不是很神奇?

而且,这个模型不仅仅可以用在阿姆斯特丹或斯德哥尔摩,理论上,只要有足够的数据,它可以应用在世界上的任何一个城市。这就意味着,无论你身在何处,只要有这个模型,你都可以成为一个“建筑鉴赏师”。

阿姆斯特丹建筑足迹

我们可以将研究应用到国内的建筑上,下次当你走在街上,看到一栋建筑,不妨想想,也许在不久的将来,你的手机就可以告诉你这栋建筑的年代和风格了!

二、技术流程

文章来源于Cities[9],有sci论文权限的可以点击https://doi.org/10.1016/j.cities.2022.103787直达原文,完整引用信息请查看文章末尾。

  1. 数据收集:
    • 为了预测建筑年龄和风格,首先需要收集关于建筑的数据,如建筑年代数据、街景参数、建筑足迹以及建筑风格数据集。
    • 这些数据被用来训练两个深度学习模型:一个用于预测建筑年代,另一个用于预测建筑风格。
  2. 深度学习模型训练:
    • 使用收集的数据,通过深度学习算法训练出两个模型:Building Age ModelBuilding Style Model
    • 这两个模型分别可以预测建筑的年龄和风格。
  3. 深度解释:
    • 一旦模型被训练,接下来的步骤是解释这些模型。这是通过“深度解释”部分来完成的。
    • 对于给定的城市(如 City X 和 City A),模型的预测结果与真实数据进行比较,生成Confusion Matrix(混淆矩阵)。
    • 使用Class Activation Map(类激活图)来查看模型是如何对不同的输入作出决策的。
    • Deep Feature代表模型提取的关键特征。
  4. 特征分析:
    • Salient Feature Mining是为了找出对模型预测最具影响力的特征。
    • Feature Interpretation是对这些关键特征进行解释,以理解其对预测的贡献。
  5. 建筑风格分析:
    • 该过程还研究了各个城市之间的建筑风格同质性、建筑元素的探索与演化、建筑风格的关系以及建筑风格的演化。

三、准备工作

3.1 环境配置

  1. 直接安装Python、或者使用Anaconda、Pycharm、VScode安装。
  2. pytorch推荐单独安装,详见PyTorch环境配置[10]
  3. 其余依赖项使用pip install -r requirements.txt

3.2 研究区域

论文选定的研究区域为荷兰的最大城市*阿姆斯特丹(Amsterdam)和瑞典首都斯德哥尔摩(Stockholm)*。

为什么会选择阿姆斯特丹?因为阿姆斯特丹的城市发展可以追溯到12世纪,在700多年的发展中,阿姆斯特丹形成了多元化的建筑风格。更重要的是,此城市有公开的房产数据集(如下图,同样也被称为建筑足迹 building footprints数据),其中包含了建筑的几何数据,当然也包含有建筑年代数据和建筑风格数据。

而选择斯德哥尔摩Stockholm是为了测试我们的建筑年代预测方法是否具有普适性(generalizability)和可迁移性(transferability),更重要的是我们可以对比这两个城市之间的建筑风格和年代的差异。

此外,斯德哥尔摩还包含2000年至2020年间的真实建设记录,这些记录来自于当地最大的两个房产商:Hemnet和Booli。并且斯德哥尔摩的建筑数据集在Open Stockholm[11]。不过这两个数据都是付费数据,本次论文不考虑使用。

3.3 数据源

数据源的获取会在下一篇文章《获取数据集——《通过深度学习了解建筑年代和风格》论文复现(二)》[12]详细说明。

  1. BAG建筑足迹[13]——用于获取建筑的几何数据以及建筑年代数据
  2. 剑桥大学建筑风格图集和相应数据[14]
  3. 基于PyTorch的MIT ADE 20 K数据集语义分割[15]

四、代码和成果

4.1 完整仓库代码(后续提供):

4.2 阿姆斯特丹建筑足迹数据

ArcGIS Pro中处理建筑足迹

4.3 阿姆斯特丹36G大小7万多张筛选后的阿姆斯特丹的街景图像:

街景文件

4.4 原始论文

《Understanding architecture age and style through deep learning》 截图

4.5 部分代码、notebook

BAG建筑足迹处理

selenium获取街景图像代码

使用ArcGIS的notebook代码

4.6 模型过程训练

训练代码

云GPU模型训练

tensorboaed查看模型结果(本图仅用于演示)

👉下一篇:Part2.下载和预处理建筑足迹数据集——《通过深度学习了解建筑年代和风格》[16]

写在最后

论文引用:

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)

参考资料

[1]

我的博客: https://cdn.renhai-lab.tech

[2]

Part1.论文解读:如何利用最近很火的深度学习来识别建筑年代和风格?——《通过深度学习了解建筑年代和风格》: https://cdn.renhai-lab.tech/archives/Understanding_architecture_age_and_style_through_deep_learning_part1

[3]

Part2.下载和预处理建筑足迹数据集——《通过深度学习了解建筑年代和风格》: https://cdn.renhai-lab.tech/archives/Understanding_architecture_age_and_style_through_deep_learning_part2

[4]

Part3.获取高质量的阿姆斯特丹建筑立面图像(上)——《通过深度学习了解建筑年代和风格》: https://cdn.renhai-lab.tech/archives/Understanding_architecture_age_and_style_through_deep_learning_part3-1

[5]

Part3.获取高质量的阿姆斯特丹建筑立面图像(下)——《通过深度学习了解建筑年代和风格》: https://cdn.renhai-lab.tech/archives/Understanding_architecture_age_and_style_through_deep_learning_part3-2

[6]

Part4.对建筑年代进行深度学习训练和预测——《通过深度学习了解建筑年代和风格》: https://cdn.renhai-lab.tech/archives/Understanding_architecture_age_and_style_through_deep_learning_part4-1

[7]

Part4.对建筑年代进行深度学习结果进行展示和分析——《通过深度学习了解建筑年代和风格》: https://cdn.renhai-lab.tech/archives/Understanding_architecture_age_and_style_through_deep_learning_part4-1

[8]

Part5.对建筑风格进行深度学习训练和预测以及分析——《通过深度学习了解建筑年代和风格》: https://cdn.renhai-lab.tech/archives/Understanding_architecture_age_and_style_through_deep_learning_part5-1

[9]

Cities: https://www.sciencedirect.com/journal/cities

[10]

PyTorch环境配置: https://cdn.renhai-lab.tech/archives/DL-01-pytorch#2.PyTorch%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE

[11]

Open Stockholm: https://dataportalen.stockholm.se/dataportalen

[12]

《获取数据集——《通过深度学习了解建筑年代和风格》论文复现(二)》: https://cdn.renhai-lab.tech/archives/Understanding_architecture_age_and_style_through_deep_learning_part2

[13]

BAG建筑足迹: https://service.pdok.nl/lv/bag/atom/bag.xml

[14]

剑桥大学建筑风格图集和相应数据: https://www.dropbox.com/sh/cz4xs1jeqm9y4bw/AACEiAWQDqhGqa6PzHgFXMuKa?dl=0

[15]

基于PyTorch的MIT ADE 20 K数据集语义分割: https://github.com/CSAILVision/semantic-segmentation-pytorch

[16]

Part2.下载和预处理建筑足迹数据集——《通过深度学习了解建筑年代和风格》: https://cdn.renhai-lab.tech/archives/Understanding_architecture_age_and_style_through_deep_learning_part2

[17]

我的博客: https://cdn.renhai-lab.tech

[18]

阅读原文: https://cdn.renhai-lab.tech/archives/Understanding_architecture_age_and_style_through_deep_learning_part3-2

[19]

我的博客: https://cdn.renhai-lab.tech/

[20]

我的GITHUB: https://github.com/renhai-lab

[21]

我的GITEE: https://gitee.com/renhai-lab

[22]

我的知乎: https://www.zhihu.com/people/Ing_ideas

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-10-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 renhailab 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、文章目录
  • 二、技术流程
  • 三、准备工作
    • 3.1 环境配置
    • 3.2 研究区域
    • 3.3 数据源
  • 四、代码和成果
    • 4.1 完整仓库代码(后续提供):
    • 4.2 阿姆斯特丹建筑足迹数据
    • 4.3 阿姆斯特丹36G大小7万多张筛选后的阿姆斯特丹的街景图像:
    • 4.4 原始论文
    • 4.5 部分代码、notebook
    • 4.6 模型过程训练
  • 写在最后
    • 参考资料
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档