基于Python的高光谱图像分析教程

这篇具有很好参考价值的文章主要介绍了基于Python的高光谱图像分析教程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、前言

超光谱图像 (HSI) 分析因其在从农业到监控的各个领域的应用而成为人工智能 (AI) 研究的前沿领域之一。 该领域正在发表许多研究论文,这使它变得更加有趣! 和“对于初学者来说,在 HSI 上开始模式识别和机器学习是相当麻烦的”,因为与计算机视觉中的其他机器学习 (ML) 技术(例如对象检测、人脸识别、GAN、自动驾驶)相比,它的学习资料有限。

这篇文章提供的信息可帮助初学者开始进行高光谱图像 (HSI) 分析,从数据收集到数据可视化和分析,以及使用 Python 使用交互式数据可视化工具。

2、介绍

在遥感领域,高光谱遥感器被广泛用于以高光谱分辨率监测地球表面。 高光谱图像 (HSI) 数据通常在同一空间区域包含数百个光谱波段,这些波段提供有价值的信息来识别各种材料。 在 HSI 中,每个像素都可以看作是一个高维向量,其条目对应于从可见光到红外线的光谱反射率。

高光谱数据的获取和收集变得更加容易和负担得起,使高光谱图像分析成为许多应用中有前途的技术之一,包括精确农业、环境分析、军事监视、矿产勘探、城市调查等。

高光谱图像的分类是对使用高光谱传感器捕获的图像中每个像素的类别标签进行分类的任务。 本博客侧重于数据收集、数据预处理和探索性数据分析。

基于Python的高光谱图像分析教程

3、数据及预处理

3.1数据集

困难的部分来了,没有流行的 HSI 数据源,这使得初学者很难开始 HSI 分析。 以下是 HSI 的少数数据来源。

  • Grupo De Inteligencia Computacional

  • Remote Sensing Laboratory

3.2预处理

高光谱图像 (HSI) 数据主要以 .mat 文件格式提供。 使用不同的编程语言访问哪个cab,博客使用python。

提取 HSI 的像素是重要的预处理任务之一。 这使得处理数据和实施机器学习算法(如分类、聚类等)变得更加容易。

帕维亚大学数据集(Pavia University Dataset)用于说明目的。 ROSIS 传感器在意大利北部帕维亚上空的飞行活动中获取的 HSI 场景。 光谱波段数为103,HSI大小为610*340像素,ground truth包含9类。 图像中的一些像素不包含任何信息,必须在分析之前丢弃。 几何分辨率为1.3米。 以下是帕维亚大学 HSI 的几个示例波段。

基于Python的高光谱图像分析教程

(1)数据读入

通过使用 Scientific Python(SciPy) python 库,我们可以读取数据集。 下面的代码用于读取数据集。

from scipy.io import loadmat

def read_HSI():
  X = loadmat('PaviaU.mat')['paviaU']
  y = loadmat('PaviaU_gt.mat')['paviaU_gt']
  print(f"X shape: {X.shape}\ny shape: {y.shape}")
  return X, y

X, y = read_HSI()

该函数返回数据和地面实况或类,还显示数据和地面实况的大小,即 3D 和 2D 矩阵。

(2)提取像素

像素是高光谱图像(HSI)中的单个元素,它是一个矢量,其长度等于 HSI 的波段数。 下面的代码用于从 HSI 中提取像素并保存到 CSV 文件中并返回 pandas 数据帧。

import pandas as pd
import numpy as np
def extract_pixels(X, y):
  q = X.reshape(-1, X.shape[2])
  df = pd.DataFrame(data = q)
  df = pd.concat([df, pd.DataFrame(data = y.ravel())], axis=1)
  df.columns= [f'band{i}' for i in range(1, 1+X.shape[2])]+['class']
  df.to_csv('Dataset.csv')
  return df 
df = extract_pixels(X, y)

4、数据分析

由于帕维亚大学数据集具有高维度,因此很难处理庞大的数据。 因此,使用主成分分析 (PCA) 将数据降维为 3D,PCA 是一种流行且广泛使用的降维技术。 下面的代码用于将数据集的维度减少为三个。

from sklearn.decomposition import PCA

pca = PCA(n_components = 3)

dt = pca.fit_transform(df.iloc[:, :-1].values)

q = pd.concat([pd.DataFrame(data = dt), pd.DataFrame(data = y.ravel())], axis = 1)

q.columns = [f'PC-{i}' for i in range(1,4)]+['class']

上面的代码生成了一个数据框,其中列作为三个主要组件 (PC) 和类。 让我们看一些交互式可视化来检查数据中的模式。

很难可视化数据集中的所有模式,因为它包含近 45k。 因此,对数据进行采样是可视化所有数据点或观测值或像素的最佳方式。 除计数图外,这些图是使用每个类中随机抽取的 200 个样本描绘的。

(1)计数图

它可以被视为跨分类变量的直方图,而不是定量变量。 下图说明了 HSI 类别之间的图表。 我们可以看到“Asphalt、Bare Soil、Self-Blocking Bricks 和 Trees”是帕维亚大学 HSI 中占用最多的类别。

基于Python的高光谱图像分析教程

(2)配对图

这是可视化每个变量之间关系的一种非常简单的方法。 它提供了数据中每个变量之间的关系矩阵。 下图显示了主成分(PC1、PC2 和 PC3)之间的关系。

基于Python的高光谱图像分析教程

(3)3D 散点图

它将数据点绘制在三维轴上以显示三个变量之间的关系。 下图以 3D 散点图的形式表示主成分(PC1、PC2 和 PC3)之间的关系。

基于Python的高光谱图像分析教程

(4)3D 线图

它与 3D 散点图非常相似,但不同之处在于每个数据点都用一条线连接。 下图以 3D 线图的格式显示了数据的可视化。 在这里我们可以看到,即使使用线性降维技术 (PCA),类投影也相当好。

基于Python的高光谱图像分析教程

(5)面积图

它表示一个变量与另一个变量的变化,该变量将数据点与线段连接起来。 主成分(PC1、PC2 和 PC3)的可视化如下所示:文章来源地址https://www.toymoban.com/news/detail-460453.html

基于Python的高光谱图像分析教程
基于Python的高光谱图像分析教程
基于Python的高光谱图像分析教程

到了这里,关于基于Python的高光谱图像分析教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【高光谱图像的去噪算法】通过全变异最小化对受激拉曼光谱图像进行去噪研究(Matlab代码实现)

    💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码、数据、文章

    2024年02月14日
    浏览(27)
  • 光谱、多光谱技术、高光谱技术以及遥感中的应用

    遥感(Remote Sensing),可以理解为遥远的感知。遥感技术利用搭载在遥感平台上面的传感器对目标地物发射或反射的电磁波信息记录下来而形成遥感影像。 其中 分辨率 作为传感器成像系统对输出影像细节辨别能力的一种度量,是遥感影像应用价值的重要技术指标,而对“影

    2024年02月05日
    浏览(32)
  • 清晰光谱空间:全自动可调波长系统的高光谱成像优势

    高光谱成像技术 是一种捕获和分析宽波长信息的技术,能够对材料和特征进行详细的光谱分析和识别。高光谱成像技术的实现通过高光谱相机,其工作原理是使用多个光学传感器或光学滤波器分离不同波长的光,并捕获每个波段的图像,能够在一时间获得目标在不同谱段处的

    2024年01月18日
    浏览(47)
  • 基于ChatGPT4+Python近红外光谱数据分析及机器学习与深度学习建模

    022年11月30日,可能将成为一个改变人类历史的日子——美国人工智能开发机构OpenAI推出了聊天机器人ChatGPT3.5,将人工智能的发展推向了一个新的高度。2023年4月,更强版本的ChatGPT4.0上线,文本、语音、图像等多模态交互方式使其在各行各业的应用呈现了更多的可能性。2023年

    2024年01月25日
    浏览(40)
  • 基于卷积神经网络的高光谱图像分类

    近年来深度学习的技术在计算机视觉领域中大放异彩,使得对多光谱数据分类的研究迅速发展,结合2D-CNN,3D-CNN,注意力机制,PCA降维等方法均可使得对多光谱图像的分类精度得以提升。目前CNN网络大量用于传统的CV领域,而对于高光谱图像的分类仍比较缺乏,本文章基于C

    2024年02月10日
    浏览(32)
  • 【图像分类】基于卷积神经网络和主动学习的高光谱图像分类(Matlab代码实现)

     💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码实现 文献来

    2024年02月12日
    浏览(35)
  • 基于显著性的无人机多光谱图像语义杂草检测与分类

    新词1:栽培杂草控制 解释1:栽培杂草控制是指在农田或园艺区域中采取一系列措施来减少或消除杂草对作物生长的竞争。 新词2:显著图 解释2:显著图(Salient Map)是指通

    2024年02月03日
    浏览(29)
  • 基于Gaussian计算分析傅里叶红外光谱实验值

    :Gaussian、GaussView、傅里叶红外光谱(FTIR)、光谱分析、量子化学 近年来,红外光谱分析技术在材料科学和化学领域得到了广泛的应用。红外光谱是一种基于物质分子振动模式的分析方法,可以用于研究物质的结构、组成和性质。然而在实验中,由于各种原因(如仪器

    2024年04月27日
    浏览(35)
  • 《数字图像处理-OpenCV/Python》连载(1)前言

    本书京东优惠购书链接:https://item.jd.com/14098452.html 写作背景 编写本书的初衷,源自作者学习数字图像处理的经历。 在创新实验班开设的专业创新教育课程中,我选择的是数字图像处理方向。老师向我推荐的教材是冈萨雷斯的《数字图像处理》。学习的开始阶段非常困难。教

    2024年02月11日
    浏览(33)
  • ChatGPT4+Python近红外光谱数据分析及机器学习与深度学习建模

      2022年11月30日,可能将成为一个改变人类历史的日子——美国人工智能开发机构OpenAI推出了聊天机器人ChatGPT3.5,将人工智能的发展推向了一个新的高度。2023年4月,更强版本的ChatGPT4.0上线,文本、语音、图像等多模态交互方式使其在各行各业的应用呈现了更多的可能性。

    2024年01月23日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包