项目简介
本项目是基于PyTorch框架实现的高光谱图像去噪系统,通过演化深度卷积神经网络(CNN)提高高光谱图像的去噪效果。项目代码源自论文《Evolving Deep Convolutional Neural Networks for Hyperspectral Image Denoising》,作者为Yuqiao Liu、Yanan Sun、Bing Xue和Mengjie Zhang。
项目的主要特性和功能
- 数据集构建:
add_noise.py
:为高光谱图像加模拟噪声。make_trainAndtest_image_set.py
:将图像分割成小块。
- 演化过程实现:
main.py
:演化算法主函数。population.py
:种群类。individual.py
:个体类。layer.py
:网络中的层类。cnn.py
:根据个体携带的编码搭建对应的神经网络。evolve.py
:实现进化过程,包含初始化种群、适应度评价、交叉和变异、环境选择操作。evaluate.py
:适应度评价的实现代码。
- 最终训练和对比:
final_train.py
:对选择出来的模型进行训练并得到训练后网络的输出图像。artificial_cnn.py
:人工搭建的神经网络。
- 工具包:
utils.py
:工具函数。nn_summery.py
:计算神经网络参数个数。getdata.py
:获取训练数据。
安装使用步骤
- 环境准备:
- 确保已安装Python 3.x。
- 安装PyTorch及相关依赖:
bash pip install torch torchvision
- 项目源码已下载。
- 数据集准备:
- 用
add_noise.py
为高光谱图像添加模拟噪声。 - 用
make_trainAndtest_image_set.py
将图像分割成小块。 - 手动将图像拖动到相应的训练集和验证集文件夹。
- 用
- 运行演化算法:
- 执行
main.py
启动演化算法,生成初始种群并进行进化过程。 - 进化过程调用
evolve.py
进行种群的进化操作,包括适应度评价、交叉和变异等。
- 执行
- 最终训练和对比:
- 用
final_train.py
对选择出的模型进行最终训练,并生成去噪后的图像。 - 可与
artificial_cnn.py
中人工搭建的神经网络进行对比。
- 用
- 工具使用:
- 使用
utils.py
中的工具函数进行辅助操作。 - 使用
nn_summery.py
计算神经网络的参数个数。 - 使用
getdata.py
获取训练数据。
- 使用
通过以上步骤,可完整运行本项目,实现高光谱图像的去噪处理。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】