Skip to main content

使用 scikit-learn 进行高光谱图像分析。

项目描述

HSKL:高光谱-scikit-learn

使用scikit-learn 进行高光谱图像分析

安装

该软件包可以从以下位置安装pip

pip install hskl

用法

训练像素级分类器进行分割:

import os

from hskl.demo import dl_hyrank, load_hyrank
import hskl.classification as classification
import hskl.utils as utils

# Download, unpack, and load HyRANK dataset from current directory.
path = os.getcwd()
if not os.path.exists("HyRANK_satellite"):
    dl_hyrank(path)    
images, labels, _ = load_hyrank(path)

# Dimensional reduction using PCA, retain 99.9% image variance
pca = utils.pca_fit(images[0])
train, _ = utils.pca_apply(images[0], pca, 0.999)
test, _ = utils.pca_apply(images[1], pca, 0.999)
label = labels[0]
test_mask = labels[1]>0

# Train a classifier and predict test image labels
cl = classification.HyperspectralClassifier(
         method_name="LinearDiscriminantAnalysis")
cl.fit(train, label)
prediction = cl.predict(test)

# Visualization of training data, test prediction, and test ground truth
fig_objs_train = utils.overlay(train,label)
utils.save_overlay(fig_objs_train, "hyrank_train.png")

fig_objs_predict = utils.overlay(test,prediction*test_mask)
utils.save_overlay(fig_objs_predict, "hyrank_predict.png")

fig_objs_test = utils.overlay(test,labels[1])
utils.save_overlay(fig_objs_test, "hyrank_test.png")

输出:

训练图像和地面实况标签:

训练

测试图像和地面实况标签:

测试地面真相

测试图像和预测标签:

测试预测

笔记:

  1. 形状traintest数组是(DimX、DimY、SpectralChannels)。
  2. 形状labelprediction数组是 (DimX, DimY)。
  3. 分类器的标签约定:(a)数据类型:label.dtype == np.uint8. (b) 标记的类从整数 1 开始。带有的像素label == 0被忽略(被屏蔽)。
  4. 和的尺寸必须一致:train和。labeltrain.shape[0] == label.shape[0]train.shape[1] == label.shape[1]
  5. 输入:traintestlabel也可以是np.ndarrays 的列表,其中每个元素都满足前面的要求。

计划功能

短期内:

  • 测试脚本和数据
  • 网格搜索交叉验证

从长远来看,支持:

  • 管道
  • 基于补丁的特征化器
  • 支持 Dask 的并行性
  • 深度学习 (PyTorch) 模型

参考

Karantzalos, Konstantinos, Karakizi, Christina, Kandylakis, Zacharias, & Antoniou, Georgia。(2018 年)。HyRANK 高光谱卫星数据集 I(版本 v001)。泽诺多。http://doi.org/10.5281/zenodo.1222202

此包中的一些功能由 Spectral Python (SPy) 提供:https ://github.com/spectralpython/spectral

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

hskl-0.0.2.tar.gz (8.4 kB 查看哈希

已上传 source

内置分布

hskl-0.0.2-py3-none-any.whl (11.0 kB 查看哈希

已上传 py3