使用 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")
输出:
训练图像和地面实况标签:
测试图像和地面实况标签:
测试图像和预测标签:
笔记:
- 形状
train和test数组是(DimX、DimY、SpectralChannels)。 - 形状
label和prediction数组是 (DimX, DimY)。 - 分类器的标签约定:(a)数据类型:
label.dtype == np.uint8. (b) 标记的类从整数 1 开始。带有的像素label == 0被忽略(被屏蔽)。 - 和的尺寸必须一致:
train和。labeltrain.shape[0] == label.shape[0]train.shape[1] == label.shape[1] - 输入:
train、test和label也可以是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
查看哈希)
内置分布
hskl-0.0.2-py3-none-any.whl
(11.0 kB
查看哈希)