将 Keras 预训练模型扩展到具有附加通道或波段的图像

2024-01-09

我只是希望澄清之前一篇文章的一些信息,该文章讨论了如何将 Keras 预训练模型(如 VGG 或 InceptionV3)扩展到不同大小的图像。我的问题是我有一些 8 波段的卫星图像。所以图像可能是650x650x8而不是通常的 RBG 3 波段图像。我想知道是否可以在具有 8 个波段而不是 3 个波段的图像上使用 Keras 预训练模型。

现在有一篇原始文章涉及与此类似的内容。参考文章是关于将 Keras VGG 预训练模型应用于不同尺寸的图像。所以VGG接受了训练224x224x3用户想要针对以下图像使用该模型160x320x3.

这是原始帖子:更改 VGG16 应用程序的输入张量形状 https://stackoverflow.com/questions/41903051/change-input-tensor-shape-for-vgg16-application

这是原始帖子中的代码:

from keras.models import Model
from keras.layers import Dense,Flatten
from keras.applications import vgg16
from keras import backend as K

model = vgg16.VGG16(weights='imagenet', include_top=False, input_shape=(160,320,3))
model.summary(line_length=150)

flatten = Flatten()
new_layer2 = Dense(10, activation='softmax', name='my_dense_2')

inp2 = model.input
out2 = new_layer2(flatten(model.output))

model2 = Model(inp2, out2)
model2.summary(line_length=150)

因此,如果我将第 6 行替换为:

model = vgg16.VGG16(weights='imagenet', include_top=False, input_shape=(650,650,8))

这会起作用,还是预训练模型不会接受通道的增加,因为它会接受图像高度或宽度的变化?

此外,我还必须使用额外的通道对模型进行额外的训练。但我不清楚预训练模型如何实际实现此扩展。添加节点的权重是否只是设置为 0 或者某种初始化器确定的权重?我正在尝试估算我需要做多少额外训练。

感谢您的任何提示或建议。


来自喀拉斯docs https://keras.io/applications/#vgg16:

input_shape:可选形状元组,仅当 include_top 为 False 时才指定(否则输入形状必须为 (224, 224, 3) (使用 'channels_last' 数据格式)或 (3, 224, 224) (使用 'channels_first'数据格式)。它应该有 3 个输入通道,并且宽度和高度应该不小于 48。例如(200, 200, 3)将是一个有效值。

您将无法将此 VGG 实现用于多光谱图像。正如您已经提到的,这会给未经预训练的模型引入额外的权重。

多光谱图像的神经网络是一个相当活跃的研究课题,但恐怕很少有开箱即用的解决方案,例如在 imagenet 上预训练的网络。您可以尝试使用 PCA 等降维技术将图像压缩到三个通道。或者训练一个以 8 通道图像作为输入的自定义架构。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 Keras 预训练模型扩展到具有附加通道或波段的图像 的相关文章

随机推荐

  • 无法显示从新服务器下载文件的进度(在以前的服务器上有效)

    我一直在开发一个 iPad 应用程序 它使用 ASIHTTPRequest 下载一些 PDF 文件 我一直在使用进度委托为用户显示进度条 显示文件的下载进度 这是 ASIHTTPRequest 设置代码 request ASIHTTPReq
  • 在 Groovy 中使用元类覆盖私有方法

    此代码片段曾经在 Groovy 2 1 0 中正常工作 class User private String sayHello return hello assert new User sayHello hello User metaClas
  • 借来的价值寿命不够长

    这是我的代码 extern crate postgres use postgres Connection SslMode struct User reference String email String static DB URI sta
  • Android:弹出键盘上的背景图像调整大小[重复]

    这个问题在这里已经有答案了 我正在开发一个应用程序 其中背景图像在弹出键盘时缩小 我的 xml 如下
  • 使用 PHP 实现 OpenID

    我对实现 OpenID 很感兴趣 并且我一直在阅读有关它的内容 但仍有一些方面我有点困惑 我见过多个交互流程图和分步细节 例如this one http www windley com archives 2006 04 how does o
  • 保护 ASP.NET MVC 应用程序检查表

    我正在寻找一套指南或清单 您可以查看它们以确保公共 ASP NET MVC 网站的安全 我只是想确保在部署网站时不会出现任何明显且众所周知的问题 Thanks 一如既往 确保您正确 编码输出 请注意我是 这里说编码而不是编码 HtmlEnc
  • MySQL FIND_IN_SET 与数组字符串

    我正在查询的表中有一个字段与此类似 Name Phone Category IDS Category Labels Sample 1111111111 1 foo bar 我尝试使用 FIND IN SET 函数查找包含逗号分隔列表中列出的
  • 在SQL Reporting Services中,如何根据参数过滤数据集?

    我有一个未经过滤的数据集需要处理以生成报告 顺便说一句 SQL Server 2005 假设我有一个Name列 我想向我的报告添加一个参数 以便仅选择包含某些字符的名称 有人知道如何处理这些过滤器吗 我尝试过这些但没有运气 Fields N
  • 如何从生产版本中删除 data-testid

    我想从生产版本中删除 data testid 因此在产品版本中找不到这些属性 特别是在这种情况下 我需要一些可以处理 tsx 文件的东西 我知道如何使用组件中的函数删除它 但我认为应该有一种更聪明的方法来做到这一点 反应 cra 反应应用程
  • 在错误的手动合并冲突解决之后重新冲突合并

    解决合并冲突并提交后 很明显我的手动合并冲突解决方法是错误的 我已经上演 提交并推送了该存储库 如何使冲突文件恢复到冲突状态 以便我可以以不同的方式解决它 请注意 此时为时已晚git checkout m因为我已经提交了错误的合并解决方案
  • 如何在 Amazon Cognito 中禁用某些用户的验证?

    如果激活了验证功能 Amazon Cognito 会自动发送验证码 在我的项目中 有时 我会添加用户 AWS Java SDK中的Signup函数 并自己通过AdminConfirmSignup验证他们 所以我不希望他们收到验证邮件 我将手
  • 如何使用 php 将 php 文件读取为字符串?

    假设我想使用 php 脚本将当前页面的代码读入字符串中 而不执行页面的 php 内容 我该如何做到这一点 例如使用 file get contents test php 将获取 test php 的内容 但它会执行代码 我怎样才能获取文件的
  • Android 数据绑定库与 Kotlin Android 扩展

    我正在阅读有关 MVVM 架构如何工作以及如何使用 Android 数据绑定库帮助的内容 一般来说 我理解 Android 数据绑定在 UI 层和保存要显示的信息的底层数据模型之间创建了一个链接 Kotlin Android 扩展是另一个
  • CMake“NMake Makefiles”生成器无法编译

    我正在根据本教程编译简单的应用程序 https www johnlamp net cmake tutorial 1 getting started html https www johnlamp net cmake tutorial 1 g
  • 类和数据类型有什么区别?

    我听到过这样的说法 我们可以说类是一种数据类型 或者数据类型是类的一种类型 谁能向我解释一下这到底是什么意思 C 是一种强类型语言 因此每个变量和对象 必须有一个声明的类型 数据类型可以描述为 内置数据类型 例如 int 或字符 或 用户定
  • 无法使用 ldap 凭据登录 wso2 身份服务器

    我试图将 wso2 身份服务器连接到 Ldap ReadWriteLDAPUserStoreManager 集成成功并且可以从 wso2 身份服务器访问 ldap 用户 但问题是我无法使用 ldap 用户名和密码登录身份服务器 请帮我 Pl
  • C++:多态类模板

    考虑一个存储一堆 Date 对象的 Calendar 类 日历旨在保存从 Date 继承的任何类型的对象的集合 我认为最好的方法是有一个类模板 例如 template
  • 如何创建可在多个 React 项目中使用的私有共享组件库

    以下场景 项目1需要使用CustomButton jsx 项目2需要使用CustomButton jsx 目前的解决方案 复制粘贴CustomButton jsx进入项目 1 和 2 所需的解决方案 创建项目 3 其中包括CustomBut
  • iOS 8 共享扩展无法在设备上运行

    我在 xcode 中创建了一个新的目标共享扩展 然后我在我的设备上运行它 我不知道为什么当我在我的设备 iPhone 5c iPhone 5s iPhone 6 上运行共享扩展时 不会显示 请帮助我 任何有关如何解决此问题的建议将不胜感激
  • 将 Keras 预训练模型扩展到具有附加通道或波段的图像

    我只是希望澄清之前一篇文章的一些信息 该文章讨论了如何将 Keras 预训练模型 如 VGG 或 InceptionV3 扩展到不同大小的图像 我的问题是我有一些 8 波段的卫星图像 所以图像可能是650x650x8而不是通常的 RBG 3