遥感图像处理学习(8)


前言

遥感系列第8篇。遥感图像处理方向的学习者可以参考或者复刻

本文初编辑于2024年1月2日
本文再编辑于2024年1月4日:附作者改进U-Net网络图片;文字补充说明

2024年1月25日搬运至本人博客园平台

总结:人家(指模型)已经是他的形状了️


仓库名字:Machine Learning CS-433 - Class Project 2 - Road Segmentation - EPFL

仓库地址:https://github.com/LucasBrazCappelo/ML_EPFL_Project_2


数据库介绍

作者团队在Google Maps的卫星图像上执行道路语义分割

作者团队使用了50幅尺寸为608x608的RGB卫星图像,以及100幅尺寸为400x400的RGB卫星标记图像。标记图像中的每个像素都被标记为白色(代表道路)或黑色(代表背景)。对图像采用了16x16像素的patch进行分割,而不是像素级别的分割。这种方法能够更好地处理道路的语义。

训练集包含100幅尺寸为400x400的RGB卫星标记图像,而测试集包含50幅尺寸为608x608的RGB卫星图像。
训练集的输出格式为1x400x400x2,测试集的输出格式为1x608x608x2,其中最后两个维度对应于图像的二元分类。

由于训练图像太少了,这里作者做了数据增强,即原图像的旋转再截取中间的小图片,见下图。


模型介绍

作者团队对U-Net网络的encoder阶段的卷积进行了改进,见下图。原始的U-Net网络的encoder的卷积核padding为0,但作者团队将其设定为1,这样就不需要在将图像从encoder复制到decoder时进行裁剪,简化了操作流程。

把别人的模型变成自己的样子,这何尝不是一种NTR!
泛式,终将成为你!

下面是原始U-Net

下面是作者改进U-Net。
卷积核零填充padding为1的话,就不会在卷积阶段让图片维度减少了,方便网络右侧将上采样图像和特征图像进行合并。

不过除此之外就没什么改动了,评价是不够牛,看看隔壁U-Net++、3D U-Net、Attention U-Net。

模型的输出端采用了LogSoftmax分类,并使用了Negative Log Likelihood误差和IoU误差进行优化。

模型采用了两个优化器,第一个是带有动量的SGD(动量为0.9),这样可以通过让之前的梯度对当前梯度计算产生影响来提供惯性。第二个是Adam优化器,但作者团队发现Adam优化器并不比SGD更有效,所以选择了保持简单的SGD。

此外,模型还实现了一个学习率调度器,允许指数衰减(gamma = 0.95)。


模型结果

在验证测试中,模型发现一些道路经常被打断,作者团队注意到这种现象通常发生在小道路上,因为建筑物或树的阴影导致切割效果不佳。同时,由于车辆的遮挡和横跨公路的广告牌,模型对高速公路的分割效果也不理想,见右下图。

不过,作者团队发现通过旋转图片的数据增强方式,可以有效提高对对角线道路的分割效果。

后面都是一些作者的奇思妙想,就不贴上来了。

遥感图像处理笔记之【Machine Learning CS-433 - Class Project 2 - Road Segmentation - EPFL】的更多相关文章

  1. Stanford机器学习笔记-7. Machine Learning System Design

    7 Machine Learning System Design Content 7 Machine Learning System Design 7.1 Prioritizing What to W ...

  2. 学习笔记之Machine Learning Crash Course | Google Developers

    Machine Learning Crash Course  |  Google Developers https://developers.google.com/machine-learning/c ...

  3. 学习笔记之Machine Learning by Andrew Ng | Stanford University | Coursera

    Machine Learning by Andrew Ng | Stanford University | Coursera https://www.coursera.org/learn/machin ...

  4. Coursera 学习笔记|Machine Learning by Standford University - 吴恩达

    / 20220404 Week 1 - 2 / Chapter 1 - Introduction 1.1 Definition Arthur Samuel The field of study tha ...

  5. [笔记]机器学习(Machine Learning) - 00.目录/大纲/写在之前

    目录会根据我的学习进度而更新,给自己列一个大纲以系统地看待整个学习过程. 学习资料来源 学习的是Coursera上吴恩达(Andrew Ng)老师的机器学习视频(课程传送门,最近在"最强大脑 ...

  6. 【coursera笔记】Machine Learning(Week6)

    发现自己不写总结真是件很恶劣的事情,好多学的东西没有自己总结都忘记了.所以决定从今天开始,学东西的时候一定跟上总结. 我写的东西大多数是自己通俗的总结,不太喜欢写严格的定义或者证明,写了也记不住,欢迎 ...

  7. [笔记]机器学习(Machine Learning) - 01.线性回归(Linear Regression)

    线性回归属于回归问题.对于回归问题,解决流程为: 给定数据集中每个样本及其正确答案,选择一个模型函数h(hypothesis,假设),并为h找到适应数据的(未必是全局)最优解,即找出最优解下的h的参数 ...

  8. [笔记]机器学习(Machine Learning) - 03.正则化(Regularization)

    欠拟合(Underfitting)与过拟合(Overfitting) 上面两张图分别是回归问题和分类问题的欠拟合和过度拟合的例子.可以看到,如果使用直线(两组图的第一张)来拟合训,并不能很好地适应我们 ...

  9. [笔记]机器学习(Machine Learning) - 02.逻辑回归(Logistic Regression)

    逻辑回归算法是分类算法,虽然这个算法的名字中出现了"回归",但逻辑回归算法实际上是一种分类算法,我们将它作为分类算法使用.. 分类问题:对于每个样本,判断它属于N个类中的那个类或哪 ...

  10. 学习笔记之机器学习(Machine Learning)

    机器学习 - 维基百科,自由的百科全书 https://zh.wikipedia.org/wiki/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0 机器学习是人工智能的一个分 ...

随机推荐

  1. AtCoder Regular Contest 123 (A~C 三道好题)

    比赛链接:Here A - Arithmetic Sequence (good) 注意细节 int main() { cin.tie(nullptr)->sync_with_stdio(fals ...

  2. 『NexT』,一款 NexT 风格的 Typora 主题

    很喜欢 Hexo 中的 Next 主题,便想要在 Typora 中书写时获得和在 Hexo 中一样的预览效果,翻了一下Typora的theme仓库发现已经有dalao (知乎@Bill Chen)写了 ...

  3. 特色国风数字孪生智慧大坝 3D 可视化

    前言 水利兴,五谷丰.水利作为国民经济稳定和谐的重要部分,不仅有防洪减灾.农业灌溉.城市供水调水.渔业外贸.旅游航运.生态环境等综合应用,水电资源也是至关重要的可持续能源之一.大坝与水库.水电站等水利 ...

  4. 这才是你应该了解的Redis数据结构!

    深入了解Redis数据结构 Redis,作为一种高性能的内存数据库,支持多种数据结构,从简单的字符串到复杂的哈希表.在这篇博文中,我们将深入探讨Redis的一些主要数据结构,并通过详细的例子展示它们的 ...

  5. 堆和栈:JS数据怎么存储的?

    JS数据存储主要分堆和栈两种, 栈空间:通常情况栈空间不会设置太大,主要用来存放一些原始类型的小数据,原始类型的数据有:Boolean.Null.Undefined.Number.BigInt.Str ...

  6. RL 基础 | 如何注册自定义 gym 环境

    如何 搭建 自定义 gym 环境:https://www.cnblogs.com/moonout/p/17174833.html 如何注册自定义 gym 环境: 博客:https://zhuanlan ...

  7. Scan Synthesis Review

    Review scan replacement - 将normal DFF替换为mux gate DFF scan stitching - 将DFF连接起来 scan的作用:将测试困难的时序逻辑转变为 ...

  8. 4. Oracle数据库提示ERROR: ORA-12560: TNS: 协议适配器错误

    问题如下 造成ORA-12560: TNS: 协议适配器错误的问题的原因有两个: 有关服务没有启动 windows平台个一如下操作:开始-程序-管理工具-服务,打开服务面板,启动TNSlistener ...

  9. [转帖]PD Control 使用说明

    https://docs.pingcap.com/zh/tidb/stable/pd-control PD Control 是 PD 的命令行工具,用于获取集群状态信息和调整集群. 安装方式   注意 ...

  10. TiKV占用内存超过的解决过程

    TiKV占用内存超过的解决过程 背景 为了后去TiDB的极限数据. 晚上在每台服务器上面增加了多个TiKV的节点. 主要方式为: 每个NVME的硬盘增加两个TiKV的进程. 这样每个服务器两个磁盘, ...