济南网站建设 齐鲁文化创意基地,用centos搭建wordpress,互联网项目有哪些可做,广东省建设网官网1、前言超光谱图像 (HSI) 分析因其在从农业到监控的各个领域的应用而成为人工智能 (AI) 研究的前沿领域之一。 该领域正在发表许多研究论文#xff0c;这使它变得更加有趣#xff01; 和“对于初学者来说#xff0c;在 HSI 上开始模式识别和机器学习是相当麻烦的”#xff…1、前言超光谱图像 (HSI) 分析因其在从农业到监控的各个领域的应用而成为人工智能 (AI) 研究的前沿领域之一。 该领域正在发表许多研究论文这使它变得更加有趣 和“对于初学者来说在 HSI 上开始模式识别和机器学习是相当麻烦的”因为与计算机视觉中的其他机器学习 (ML) 技术例如对象检测、人脸识别、GAN、自动驾驶相比它的学习资料有限。这篇文章提供的信息可帮助初学者开始进行高光谱图像 (HSI) 分析从数据收集到数据可视化和分析以及使用 Python 使用交互式数据可视化工具。2、介绍在遥感领域高光谱遥感器被广泛用于以高光谱分辨率监测地球表面。 高光谱图像 (HSI) 数据通常在同一空间区域包含数百个光谱波段这些波段提供有价值的信息来识别各种材料。 在 HSI 中每个像素都可以看作是一个高维向量其条目对应于从可见光到红外线的光谱反射率。高光谱数据的获取和收集变得更加容易和负担得起使高光谱图像分析成为许多应用中有前途的技术之一包括精确农业、环境分析、军事监视、矿产勘探、城市调查等。高光谱图像的分类是对使用高光谱传感器捕获的图像中每个像素的类别标签进行分类的任务。 本博客侧重于数据收集、数据预处理和探索性数据分析。3、数据及预处理3.1数据集困难的部分来了没有流行的 HSI 数据源这使得初学者很难开始 HSI 分析。 以下是 HSI 的少数数据来源。Grupo De Inteligencia ComputacionalRemote Sensing Laboratory3.2预处理高光谱图像 (HSI) 数据主要以 .mat 文件格式提供。 使用不同的编程语言访问哪个cab博客使用python。提取 HSI 的像素是重要的预处理任务之一。 这使得处理数据和实施机器学习算法如分类、聚类等变得更加容易。帕维亚大学数据集Pavia University Dataset用于说明目的。 ROSIS 传感器在意大利北部帕维亚上空的飞行活动中获取的 HSI 场景。 光谱波段数为103HSI大小为610*340像素ground truth包含9类。 图像中的一些像素不包含任何信息必须在分析之前丢弃。 几何分辨率为1.3米。 以下是帕维亚大学 HSI 的几个示例波段。1数据读入通过使用 Scientific Python(SciPy) python 库我们可以读取数据集。 下面的代码用于读取数据集。from scipy.io import loadmatdef read_HSI():X loadmat(PaviaU.mat)[paviaU]y loadmat(PaviaU_gt.mat)[paviaU_gt]print(fX shape: {X.shape}\ny shape: {y.shape})return X, yX, 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())], axis1)df.columns [fband{i} for i in range(1, 1X.shape[2])][class]df.to_csv(Dataset.csv)return df
df extract_pixels(X, y)4、数据分析由于帕维亚大学数据集具有高维度因此很难处理庞大的数据。 因此使用主成分分析 (PCA) 将数据降维为 3DPCA 是一种流行且广泛使用的降维技术。 下面的代码用于将数据集的维度减少为三个。from sklearn.decomposition import PCApca 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 [fPC-{i} for i in range(1,4)][class]上面的代码生成了一个数据框其中列作为三个主要组件 (PC) 和类。 让我们看一些交互式可视化来检查数据中的模式。很难可视化数据集中的所有模式因为它包含近 45k。 因此对数据进行采样是可视化所有数据点或观测值或像素的最佳方式。 除计数图外这些图是使用每个类中随机抽取的 200 个样本描绘的。1计数图它可以被视为跨分类变量的直方图而不是定量变量。 下图说明了 HSI 类别之间的图表。 我们可以看到“Asphalt、Bare Soil、Self-Blocking Bricks 和 Trees”是帕维亚大学 HSI 中占用最多的类别。2配对图这是可视化每个变量之间关系的一种非常简单的方法。 它提供了数据中每个变量之间的关系矩阵。 下图显示了主成分PC1、PC2 和 PC3之间的关系。33D 散点图它将数据点绘制在三维轴上以显示三个变量之间的关系。 下图以 3D 散点图的形式表示主成分PC1、PC2 和 PC3之间的关系。43D 线图它与 3D 散点图非常相似但不同之处在于每个数据点都用一条线连接。 下图以 3D 线图的格式显示了数据的可视化。 在这里我们可以看到即使使用线性降维技术 (PCA)类投影也相当好。5面积图它表示一个变量与另一个变量的变化该变量将数据点与线段连接起来。 主成分PC1、PC2 和 PC3的可视化如下所示