红外图像/红外遥感图像/可见光红外图像对 近红外和可见光成对图像 生成对抗网络的风格迁移或者图像融合/图像生成/图像转换 可见光遥感生成红外遥感图像37500对图像数据文章目录**数据集描述** 项目背景 一、环境准备1. 安装 Anaconda如未安装2. 创建虚拟环境3. 安装依赖项 二、数据集结构与格式 三、选择模型Pix2Pix GAN 四、数据预处理构建成对图像 五、训练 Pix2Pix 模型参数说明 六、模型推理测试图像转换 七、可视化与评估1. 可视化结果2. PSNR / SSIM 评估可选以下文字及代码仅供参考学习使用。数据集描述红外图像/红外遥感图像/可见光红外图像对包含近红外和可见光成对图像针对于遥感地形数据森林河流湖泊山脉等主要用于生成对抗网络的风格迁移或者图像融合/图像生成/图像转换可见光遥感生成红外遥感图像共37500对图像数据使用生成对抗网络GAN来实现可见光遥感图像生成红外遥感图像或风格迁移 / 图像融合 / 图像转换使用Pix2Pix或CycleGAN经典图像到图像转换模型。代码示例仅供参考。数据准备可见光 红外图像对模型选择Pix2Pix环境搭建模型训练、推理、评估代码可视化结果 项目背景37500对可见光和红外图像对可用于训练图像到图像的转换模型目标将可见光图像转换为红外图像图像生成 / 风格迁移 / 融合 一、环境准备1. 安装 Anaconda如未安装下载地址https://www.anaconda.com/products/distribution2. 创建虚拟环境conda create-nir_ganpython3.9conda activate ir_gan3. 安装依赖项pipinstalltorch torchvision torchaudio pipinstallopencv-python matplotlib numpy pipinstalltensorboard 二、数据集结构与格式你的数据应为成对图像结构如下dataset/ ├── train/ │ ├── A/ │ │ └── img1_A.jpg │ │ └── img2_A.jpg │ │ └── ... │ ├── B/ │ │ └── img1_B.jpg │ │ └── img2_B.jpg │ │ └── ... ├── val/ │ ├── A/ │ ├── B/ └── test/ ├── A/ ├── B/A可见光图像输入B红外图像目标输出 三、选择模型Pix2Pix GAN我们选择Pix2Pix因为它是图像到图像转换的经典模型适用于成对图像转换任务如 A → B。GitHub 参考实现PyTorchhttps://github.com/junyanz/pytorch-CycleGAN-and-pix2pix你可以克隆项目gitclone https://github.com/junyanz/pytorch-CycleGAN-and-pix2pixcdpytorch-CycleGAN-and-pix2pix 四、数据预处理构建成对图像你可以使用以下脚本将你的数据整理为 Pix2Pix 所需格式拼接成双图importosfromPILimportImagedefcreate_pair_dataset(data_dir,output_dir):os.makedirs(output_dir,exist_okTrue)a_diros.path.join(data_dir,A)b_diros.path.join(data_dir,B)a_filessorted(os.listdir(a_dir))b_filessorted(os.listdir(b_dir))fora_file,b_fileinzip(a_files,b_files):a_imgImage.open(os.path.join(a_dir,a_file)).convert(RGB)b_imgImage.open(os.path.join(b_dir,b_file)).convert(RGB)a_imga_img.resize((256,256))b_imgb_img.resize((256,256))pairImage.new(RGB,(256*2,256))pair.paste(a_img,(0,0))pair.paste(b_img,(256,0))pair.save(os.path.join(output_dir,a_file))# 示例create_pair_dataset(dataset/train,pix2pix/datasets/ir_dataset/train)create_pair_dataset(dataset/val,pix2pix/datasets/ir_dataset/val) 五、训练 Pix2Pix 模型进入项目目录后训练命令如下python train.py--dataroot./datasets/ir_dataset--nameir2ir_model--modelpix2pix--input_nc3--output_nc3--lambda_L1100--directionAtoB--display_id0参数说明--dataroot数据集路径--name模型保存名称--model模型类型pix2pix--input_nc/--output_nc通道数RGB--lambda_L1L1损失权重增强细节--direction AtoB表示从 A可见光到 B红外转换--display_id 0关闭可视化可选 六、模型推理测试图像转换训练完成后使用以下命令进行推理python test.py--dataroot./datasets/ir_dataset--nameir2ir_model--modelpix2pix--input_nc3--output_nc3--directionAtoB--num_test100推理结果将保存在results/ir2ir_model/test_latest/images/包括input_A原始可见光图像fake_B生成的红外图像real_B真实红外图像用于对比 七、可视化与评估1. 可视化结果你可以使用 OpenCV 或 Matplotlib 显示图像importcv2importos result_dirresults/ir2ir_model/test_latest/imagesfake_B_files[fforfinos.listdir(result_dir)iffake_Binf]forfake_Binfake_B_files[:5]:fake_B_imgcv2.imread(os.path.join(result_dir,fake_B))real_B_imgcv2.imread(os.path.join(result_dir,fake_B.replace(fake_B,real_B)))input_A_imgcv2.imread(os.path.join(result_dir,fake_B.replace(fake_B,input_A)))combinedcv2.hconcat([input_A_img,fake_B_img,real_B_img])cv2.imshow(Input A | Fake B | Real B,combined)cv2.waitKey(0)cv2.destroyAllWindows()2. PSNR / SSIM 评估可选fromskimage.metricsimportpeak_signal_noise_ratioaspsnrfromskimage.metricsimportstructural_similarityasssimdefevaluate_pair(real_path,fake_path):realcv2.imread(real_path)fakecv2.imread(fake_path)ppsnr(real,fake)sssim(real,fake,multichannelTrue,channel_axis2)returnp,s# 示例real_pathresults/ir2ir_model/test_latest/images/real_B_1.pngfake_pathresults/ir2ir_model/test_latest/images/fake_B_1.pngprint(PSNR:,*evaluate_pair(real_path,fake_path))
红外图像/红外遥感图像/可见光红外图像对 近红外和可见光成对图像 生成对抗网络的风格迁移,或者图像融合/图像生成/图像转换 可见光遥感生成红外遥感图像,37500对图像数据
发布时间:2026/5/20 0:18:06
红外图像/红外遥感图像/可见光红外图像对 近红外和可见光成对图像 生成对抗网络的风格迁移或者图像融合/图像生成/图像转换 可见光遥感生成红外遥感图像37500对图像数据文章目录**数据集描述** 项目背景 一、环境准备1. 安装 Anaconda如未安装2. 创建虚拟环境3. 安装依赖项 二、数据集结构与格式 三、选择模型Pix2Pix GAN 四、数据预处理构建成对图像 五、训练 Pix2Pix 模型参数说明 六、模型推理测试图像转换 七、可视化与评估1. 可视化结果2. PSNR / SSIM 评估可选以下文字及代码仅供参考学习使用。数据集描述红外图像/红外遥感图像/可见光红外图像对包含近红外和可见光成对图像针对于遥感地形数据森林河流湖泊山脉等主要用于生成对抗网络的风格迁移或者图像融合/图像生成/图像转换可见光遥感生成红外遥感图像共37500对图像数据使用生成对抗网络GAN来实现可见光遥感图像生成红外遥感图像或风格迁移 / 图像融合 / 图像转换使用Pix2Pix或CycleGAN经典图像到图像转换模型。代码示例仅供参考。数据准备可见光 红外图像对模型选择Pix2Pix环境搭建模型训练、推理、评估代码可视化结果 项目背景37500对可见光和红外图像对可用于训练图像到图像的转换模型目标将可见光图像转换为红外图像图像生成 / 风格迁移 / 融合 一、环境准备1. 安装 Anaconda如未安装下载地址https://www.anaconda.com/products/distribution2. 创建虚拟环境conda create-nir_ganpython3.9conda activate ir_gan3. 安装依赖项pipinstalltorch torchvision torchaudio pipinstallopencv-python matplotlib numpy pipinstalltensorboard 二、数据集结构与格式你的数据应为成对图像结构如下dataset/ ├── train/ │ ├── A/ │ │ └── img1_A.jpg │ │ └── img2_A.jpg │ │ └── ... │ ├── B/ │ │ └── img1_B.jpg │ │ └── img2_B.jpg │ │ └── ... ├── val/ │ ├── A/ │ ├── B/ └── test/ ├── A/ ├── B/A可见光图像输入B红外图像目标输出 三、选择模型Pix2Pix GAN我们选择Pix2Pix因为它是图像到图像转换的经典模型适用于成对图像转换任务如 A → B。GitHub 参考实现PyTorchhttps://github.com/junyanz/pytorch-CycleGAN-and-pix2pix你可以克隆项目gitclone https://github.com/junyanz/pytorch-CycleGAN-and-pix2pixcdpytorch-CycleGAN-and-pix2pix 四、数据预处理构建成对图像你可以使用以下脚本将你的数据整理为 Pix2Pix 所需格式拼接成双图importosfromPILimportImagedefcreate_pair_dataset(data_dir,output_dir):os.makedirs(output_dir,exist_okTrue)a_diros.path.join(data_dir,A)b_diros.path.join(data_dir,B)a_filessorted(os.listdir(a_dir))b_filessorted(os.listdir(b_dir))fora_file,b_fileinzip(a_files,b_files):a_imgImage.open(os.path.join(a_dir,a_file)).convert(RGB)b_imgImage.open(os.path.join(b_dir,b_file)).convert(RGB)a_imga_img.resize((256,256))b_imgb_img.resize((256,256))pairImage.new(RGB,(256*2,256))pair.paste(a_img,(0,0))pair.paste(b_img,(256,0))pair.save(os.path.join(output_dir,a_file))# 示例create_pair_dataset(dataset/train,pix2pix/datasets/ir_dataset/train)create_pair_dataset(dataset/val,pix2pix/datasets/ir_dataset/val) 五、训练 Pix2Pix 模型进入项目目录后训练命令如下python train.py--dataroot./datasets/ir_dataset--nameir2ir_model--modelpix2pix--input_nc3--output_nc3--lambda_L1100--directionAtoB--display_id0参数说明--dataroot数据集路径--name模型保存名称--model模型类型pix2pix--input_nc/--output_nc通道数RGB--lambda_L1L1损失权重增强细节--direction AtoB表示从 A可见光到 B红外转换--display_id 0关闭可视化可选 六、模型推理测试图像转换训练完成后使用以下命令进行推理python test.py--dataroot./datasets/ir_dataset--nameir2ir_model--modelpix2pix--input_nc3--output_nc3--directionAtoB--num_test100推理结果将保存在results/ir2ir_model/test_latest/images/包括input_A原始可见光图像fake_B生成的红外图像real_B真实红外图像用于对比 七、可视化与评估1. 可视化结果你可以使用 OpenCV 或 Matplotlib 显示图像importcv2importos result_dirresults/ir2ir_model/test_latest/imagesfake_B_files[fforfinos.listdir(result_dir)iffake_Binf]forfake_Binfake_B_files[:5]:fake_B_imgcv2.imread(os.path.join(result_dir,fake_B))real_B_imgcv2.imread(os.path.join(result_dir,fake_B.replace(fake_B,real_B)))input_A_imgcv2.imread(os.path.join(result_dir,fake_B.replace(fake_B,input_A)))combinedcv2.hconcat([input_A_img,fake_B_img,real_B_img])cv2.imshow(Input A | Fake B | Real B,combined)cv2.waitKey(0)cv2.destroyAllWindows()2. PSNR / SSIM 评估可选fromskimage.metricsimportpeak_signal_noise_ratioaspsnrfromskimage.metricsimportstructural_similarityasssimdefevaluate_pair(real_path,fake_path):realcv2.imread(real_path)fakecv2.imread(fake_path)ppsnr(real,fake)sssim(real,fake,multichannelTrue,channel_axis2)returnp,s# 示例real_pathresults/ir2ir_model/test_latest/images/real_B_1.pngfake_pathresults/ir2ir_model/test_latest/images/fake_B_1.pngprint(PSNR:,*evaluate_pair(real_path,fake_path))