项目简介
本项目是基于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】