高光谱图像分类--HybridSN: Exploring 3-D–2-DCNN Feature Hierarchy for Hyperspectral Image Classification

本文介绍了一种混合网络HybridSN,结合3D和2D卷积用于高光谱图像分类。通过3D卷积捕捉深度信息,2D卷积处理平面特征,网络在训练过程中逐步优化损失函数,最终达到高分类精度。在训练过程中,观察到损失值随训练次数减少,模型测试准确率达到97.67%。通过引入注意力机制,分类性能进一步提升至98.51%。
摘要由CSDN通过智能技术生成

《HybridSN: Exploring 3-D–2-DCNN Feature Hierarchy for Hyperspectral Image Classification》

S. K. Roy, G. Krishna, S. R. Dubey, B. B. Chaudhuri HybridSN: Exploring 3-D–2-D CNN Feature Hierarchy for Hyperspectral Image Classification, IEEE GRSL 2020

这篇论文构建了一个 混合网络 (3D卷积+2D卷积)解决高光谱图像分类问题。
Q:3D卷积和2D卷积的区别?
首先两者都是多通道卷积,而3D卷积比2D卷积多一个深度信息,本质上是一样的,因为2D卷积可以默认深度信息为1。
2D卷积 shape:(batch_size, channel, height, weight)
3D卷积shape:(batch_size, channel, depth, height, weight)

模型网络结构

在这里插入图片描述

三维卷积部分:
conv1:(1, 30, 25, 25), 8个 7x3x3 的卷积核 ==>(8, 24, 23, 23)
conv2:(8, 24, 23, 23), 16个 5x3x3 的卷积核 ==>(16, 20, 21, 21)
conv3:(16, 20, 21, 21),32个 3x3x3 的卷积核 ==>(32, 18, 19, 19)
二维卷积
把前面的 32*18 reshape 一下,得到 (576, 19, 19)
接下来是一个 flatten 操作,变为 18496 维的向量
接下来依次为256,128节点的全连接层,都使用比例为0.4的 Dropout
最后输出为 16 个节点,是最终的分类类别数

网络结构

class HybridSN(nn.Module):
  def __init__(self):
    super(HybridSN, self).__init__()
    self.conv3d_1 = nn.Sequential(
        nn.Conv3d(1, 8, kernel_size=(7, 3, 3), stride=1, padding=0),
        nn.BatchNorm3d(8),
        nn.ReLU(inplace = True),
    )
    self.conv3d_2 = nn.Sequential(
        nn.Conv3d(8, 16, kernel_size=(5, 3, 3), stride=1, padding=0),
        nn.BatchNorm3d(16),
        nn.ReLU(inplace = True),
    ) 
    self.conv3d_3 = nn.Sequential(
        nn.Conv3d(16, 32, kernel_size=(3, 3, 3), stride=1, padding=0),
        nn.BatchNorm3d(32),
        nn.ReLU(inplace = True)
    )

    self.conv2d_4 = nn.Sequential(
        nn.Conv2d(576, 64, kernel_size=(3, 3), stride=1, padding=0),
        nn.BatchNorm2d(64),
        nn.ReLU(inplace = True),
    )
    self.fc1 = nn.Linear(18496,256)
    self.fc2 = nn.Linear(256,128)
    self.fc3 = nn.Linear(128,16)
    self.dropout = nn.Dropout(p = 0.4)

  def forward(self,x):
    out = self.conv3d_1(x)
    out = self.conv3d_2(out)
    out = self.conv3d_3(out)
    out = self.conv2d_4(out.reshape(out.shape[0],-1,19,19))
    out = out.reshape(out.shape[0],-1)
    out = F.relu(self.dropout
  • 0
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
### 回答1: 移动电子健康应用程序的未来:探索HTML5作为C的开发平台。 移动电子健康应用程序在过去几年中迅速发展,成为医疗行业的重要组成部分。随着移动设备普及率的提高,人们越来越多地使用智能手机和平板电脑来管理和监测健康状况。未来,这种趋势将继续增长,并且我们可以期待移动电子健康应用程序的需求将更加多样化和复杂化。 在开发移动电子健康应用程序时,HTML5是一种值得探索的开发平台,尤其是在C语言环境下。HTML5是一种现代化的标记语言,为开发者提供了许多新的功能和工具,可以用于构建各种移动应用程序。 首先,HTML5具有跨平台的优势。无论是在iOS、Android还是其他操作系统上,HTML5应用程序都可以进行开发和运行,这为开发者带来了更广泛的受众基础。它还不需要任何额外的插件或软件,使得应用程序更容易被用户接受和使用。 其次,HTML5提供了丰富的多媒体支持。移动电子健康应用程序可能需要展示各种类型的健康数据,如图表、图片和视频等。HTML5的多媒体功能可以帮助开发者在应用程序中轻松地集成这些元素,以便于用户更好地理解和管理自己的健康状况。 此外,HTML5还具有良好的互联互通性。它可以与云计算技术和其他网站服务进行集成,使用户能够轻松地访问和共享健康数据。这种互联互通性为医疗行业提供了更多的合作机会,促进了移动电子健康应用程序的进一步发展。 总之,HTML5作为移动电子健康应用程序的开发平台具有巨大的潜力。它跨平台、提供多媒体支持和良好的互联互通性,能够满足不断增长的移动电子健康应用程序需求。在未来,我们可以期待HTML5在C语言环境下的应用得到更多的开发和创新。 ### 回答2: 移动电子健康应用程序的未来:探索HTML5用于C语言的开发。 移动电子健康应用程序的未来十分看好,而HTML5为C语言的开发提供了许多新的机遇。HTML5是一种用于构建网页和Web应用程序的标准技术,它的灵活性和可移植性使其成为移动电子健康应用程序开发的有力工具。 首先,HTML5提供了更丰富的用户体验。通过使用HTML5的标准化元素和功能,开发人员可以创建更具吸引力和直观的移动电子健康应用程序。这意味着用户可以更轻松地浏览内容、交互和操作移动电子健康应用程序,从而提高了其使用的便利性。 其次,HTML5的跨平台特性使得开发和部署移动电子健康应用程序更加容易。传统上,C语言被广泛用于移动应用开发,而使用HTML5可以将移动电子健康应用程序轻松地跨平台到不同的设备和操作系统上。这样,开发人员可以更快速地将应用程序推向市场,提高了开发的效率和可扩展性。 此外,HTML5还提供了强大的图形和多媒体处理能力。移动电子健康应用程序通常需要处理复杂的图表、图像和视频等内容,而HTML5提供了丰富的图形和多媒体功能,使开发人员能够更直观地展示和处理这些数据。这对移动电子健康应用程序的可视化和数据分析非常重要。 然而,HTML5也存在一些挑战。与传统的原生应用程序相比,HTML5应用程序可能性能略逊一筹。此外,开发过程中需要考虑设备的兼容性和安全性等问题,以确保移动电子健康应用程序的可靠性和安全性。 总体来说,随着移动电子健康应用程序市场的不断增长和HTML5技术的发展,HTML5用于C语言的开发在未来将发挥重要作用。开发人员可以利用HTML5的灵活性、可移植性和丰富的功能,创建更具吸引力和易用性的移动电子健康应用程序,从而为用户提供更好的健康管理体验。 ### 回答3: 移动电子健康应用程序的未来:探索HTML5用于C 移动电子健康应用程序开发一直是关注的热点,随着技术的不断进步和人们对健康的关注度增加,我们可以预见未来的发展方向。HTML5是一种流行的开发技术,已广泛应用于Web应用程序开发中。那么,将HTML5与C语言结合,是移动电子健康应用程序开发领域的一大趋势。 首先,HTML5具有跨平台的特点。移动电子健康应用程序在不同的操作系统和设备上运行,兼容性是一个重要的问题。HTML5可以跨平台运行,不受特定操作系统或设备的限制,使得开发人员可以更加便捷地创建应用程序。 其次,HTML5具有丰富的功能和交互性。移动电子健康应用程序需要展示各种健康数据、提供交互操作和界面,以及实时更新数据等功能。HTML5提供了多种元素和API,开发人员可以根据需求自由定制用户界面,并实现与用户的交互操作。此外,HTML5还支持多媒体和实时通信,可以提供更丰富的用户体验。 再次,HTML5支持离线应用程序。对于移动电子健康应用程序来说,有时在没有网络连接的情况下,用户仍然希望能够使用一些功能和数据。HTML5提供了离线存储和缓存功能,可以将应用程序的核心功能和数据缓存到本地,使得用户在离线情况下仍然能够访问和使用一部分功能。 最后,HTML5具有不断更新和发展的潜力。随着技术的进步,HTML5的功能将不断增强,开发人员可以充分利用这些新特性来提升移动电子健康应用程序的性能和体验。 综上所述,HTML5与C语言结合是移动电子健康应用程序开发的未来趋势。通过使用HTML5,开发人员可以实现跨平台、丰富功能、离线支持等优势,提供更好的用户体验和便捷的开发方式,推动移动电子健康应用程序的发展。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值