hli1221 / imagefusion-rfn-nest

RFN-Nest(Information Fusion, 2021, Highly Cited Paper) - PyTorch =1.5,Python=3.7
108 stars 18 forks source link

Incorrect result #5

Open xiyunqiao opened 2 years ago

xiyunqiao commented 2 years ago

李博,你好。 我使用了fusion_imagefusion-rfn-nest-main\imagefusion-rfn-nest-main\test_40pairs.py这个程序,利用下图1数据集,跑出的结果却是下图2,咨询一下我这样的demo结果可能出错在哪些地方?我的图大量都是纯黑色或纯白色的。 image image image 我使用的是您代码里的网络,如下。 image

hli1221 commented 2 years ago

你好,感谢你的反馈。我会重新下载GitHub版本的代码进行测试,有任何变化我会及时回复。

hli1221 commented 2 years ago

你好,我这边本地测试没有问题,可以跑出正常结果。代码就是github上的版本。 出现问题的原因也许是代码库版本问题,我目前测试适用的版本:pytorch=1.5,python=3.7 建议再测试看看。

xiyunqiao commented 2 years ago

李工,我又测了一遍,已经可以用了。另外,我想问您一下,我看代码的net.py中提供的是NestFuse的网络结构,和您的RFN-Nest相似但不同,如编码器的channel两者不同。如果想体验RFN-Nest的训练过程,需要我们自己去改一下? image

chenzpstar commented 1 year ago

李博,你好。 我使用了fusion_imagefusion-rfn-nest-main\imagefusion-rfn-nest-main\test_40pairs.py这个程序,利用下图1数据集,跑出的结果却是下图2,咨询一下我这样的demo结果可能出错在哪些地方?我的图大量都是纯黑色或纯白色的。 image image

同学你好,我最近在测试时也出现了和你相同的情况,请问你是如何解决的呢? 我的测试环境:pytorch=1.12,python=3.9

我尝试了以下操作: (1)将融合方式更改为代码里其他的融合策略,发现输出的图像是正常的,说明代码各部分都没有问题; (2)将融合方式换回rfn模块,然后在保存图像前,尝试打印图像像素的最大值和最小值,发现几乎都大于255(如下图所示),所以导致输出的图像是黑白的;(另外,相加的方式也会有部分图像像素的最大值超出255,导致图像整体偏亮)

print(img_fusion.max(), img_fusion.min())

image

(3)在保存图像前,将图像进行最大最小归一化,并乘以255,将像素值缩放为[0, 255],之后再保存图像,得到的图像终于能够正常显示(如下图所示)。

img_fusion = (img_fusion - img_fusion.min()) / (img_fusion.max() - img_fusion.min()) * 255.0

image

以上是我的解决方案,不知这样做对吗?归一化后的图像是否会影响评价指标的结果呢?其他的融合方式也是否需要归一化呢?还有其他方法解决吗? @hli1221 李导能够帮忙解答吗?期待您的答复,谢谢。

pengjiaqil commented 1 year ago

你好,这代码最后只生成灰度图,可见光图怎么生成?

hli1221 commented 1 year ago

你好,有三种方式。 1 将输入RGB的3个通道和红外图像分别融合,最终在组成融合后的RGB图。 1 可以说使用颜色空间转换方式对RGB图像做转换(YCbCr),然后使用此方法对Y分量和红外分量做融合,最后再加上颜色分量。 2 自己训练一个输入和输出都是3通道的融合模型。

pengjiaqil commented 1 year ago

好的,谢谢。

LZHAOFENG commented 1 year ago

李博,你好。 我使用了fusion_imagefusion-rfn-nest-main\imagefusion-rfn-nest-main\test_40pairs.py这个程序,利用下图1数据集,跑出的结果却是下图2,咨询一下我这样的demo结果可能出错在哪些地方?我的图大量都是纯黑色或纯白色的。 image image image 我使用的是您代码里的网络,如下。 image

您好,请问您这个问题解决了吗我也遇到了相同的问题。请问是需要更改代码的哪些内容吗 我设置的环境与作者提供的环境一致

pengjiaqil commented 1 year ago

save images

img_fusion = (img_fusion - img_fusion.min()) / (img_fusion.max() - img_fusion.min()) * 255.0#改的 utils.save_image_test(img_fusion, output_path) print(output_path)我的把——test_41的109行改成这个

------------------ 原始邮件 ------------------ 发件人: @.>; 发送时间: 2023年6月21日(星期三) 中午1:56 收件人: @.>; 抄送: @.>; @.>; 主题: Re: [hli1221/imagefusion-rfn-nest] Incorrect result (Issue #5)

李博,你好。 我使用了fusion_imagefusion-rfn-nest-main\imagefusion-rfn-nest-main\test_40pairs.py这个程序,利用下图1数据集,跑出的结果却是下图2,咨询一下我这样的demo结果可能出错在哪些地方?我的图大量都是纯黑色或纯白色的。 我使用的是您代码里的网络,如下。

您好,请问您这个问题解决了吗我也遇到了相同的问题。请问是需要更改代码的哪些内容吗 我设置的环境与作者提供的环境一致

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

GuoWena commented 9 months ago

保存图片 img_fusion = (img_fusion - img_fusion.min()) / (img_fusion.max() - img_fusion.min()) * 255.0#改的 utils.save_image_test(img_fusion, output_path) print(output_path)我的把——test_41的109行改成这个

... ------------------ 原始邮件 ------------------ 发件人: @.>; 发送时间: 2023年6月21日(星期三) 中午1:56 收件人: @.>; 抄送: @.>; @.>; 主题: Re: [hli1221/imagefusion-rfn-nest] Incorrect result (Issue #5) 李博,你好。 我使用了fusion_imagefusion-rfn-nest-main\imagefusion-rfn-nest-main\test_40pairs.py这个程序,利用下图1数据集,跑出的结果却是下图2,咨询一下我这样的demo结果可能出错在哪些地方?我的图大量都是纯黑色或纯白色的。 我使用的是您代码里的网络,如下。 您好,请问您这个问题解决了吗我也遇到了相同的问题。请问是需要更改代码的哪些内容吗 我设置的环境与作者提供的环境一致 — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

同学你好,你是在test_40 for img_fusion in img_fusion_list: filename = 'fused' + str(alpha) + '_' + name_ir output_path = output_path_root + file_name output_count += 1

save images

    # img_fusion = (img_fusion - img_fusion.min()) / (img_fusion.max()) - img_fusion.min()) *255.0
    # print(img_fusion.max(), img_fusion.min())
    img_fusion = (img_fusion - img_fusion.min()) / (img_fusion.max() - img_fusion.min())*255.0
    utils.save_image_test(img_fusion, output_path)
    print(output_path)做出的修改吗
limyoonahh commented 9 months ago

保存图片 img_fusion = (img_fusion - img_fusion.min()) / (img_fusion.max() - img_fusion.min()) * 255.0#改的 utils.save_image_test(img_fusion, output_path) print(output_path)我的把——test_41的109行改成这个

... ------------------ 原始邮件 ------------------ 发件人: @.**>; 发送时间: 2023年6月21日(星期三) 中午1:56 收件人: @.**>; 抄送: @.**>; @.**>; 主题: Re: [hli1221/imagefusion-rfn-nest] Incorrect result (Issue #5) 李博,你好。 我使用了fusion_imagefusion-rfn-nest-main\imagefusion-rfn-nest-main\test40pairs.py这个程序,利用下图1数据集,跑出的结果却是下图2,咨询一下我这样的demo结果可能出错在哪些地方?我的图大量都是纯黑色或纯白色的。 我使用的是您代码里的网络,如下。 您好,请问您这个问题解决了吗我也遇到了相同的问题。请问是需要更改代码的哪些内容吗 我设置的环境与作者提供的环境一致 — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @_.***>

同学你好,你是在test_40 for img_fusion in img_fusion_list: filename = 'fused' + str(alpha) + '_' + name_ir output_path = output_path_root + file_name output_count += 1 # save images # img_fusion = (img_fusion - img_fusion.min()) / (img_fusion.max()) - img_fusion.min()) 255.0 # print(img_fusion.max(), img_fusion.min()) img_fusion = (img_fusion - img_fusion.min()) / (img_fusion.max() - img_fusion.min())255.0 utils.save_image_test(img_fusion, output_path) print(output_path)做出的修改吗

同学你解决了吗,我这么修改图片还是好多几乎全黑的

GuoWena commented 9 months ago

保存图片 img_fusion = (img_fusion - img_fusion.min()) / (img_fusion.max() - img_fusion.min()) * 255.0#改的 utils.save_image_test(img_fusion, output_path) print(output_path)我的把——test_41的109行改成这个

... ------------------ 原始邮件 ------------------ 发件人: @.**>; 发送时间: 2023年6月21日(星期三) 中午1:56 收件人: @.**>; 抄送: @.**>; @.**>; 主题: Re: [hli1221/imagefusion-rfn-nest] Incorrect result (Issue #5) 李博,你好。 我使用了fusion_imagefusion-rfn-nest-main\imagefusion-rfn-nest-main\test40pairs.py这个程序,利用下图1数据集,跑出的结果却是下图2,咨询一下我这样的demo结果可能出错在哪些地方?我的图大量都是纯黑色或纯白色的。 我使用的是您代码里的网络,如下。 您好,请问您这个问题解决了吗我也遇到了相同的问题。请问是需要更改代码的哪些内容吗 我设置的环境与作者提供的环境一致 — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @_.***>

同学你好,你是在test_40 for img_fusion in img_fusion_list: filename = 'fused' + str(alpha) + '_' + name_ir output_path = output_path_root + file_name output_count += 1 # save images # img_fusion = (img_fusion - img_fusion.min()) / (img_fusion.max()) - img_fusion.min()) 255.0 # print(img_fusion.max(), img_fusion.min()) img_fusion = (img_fusion - img_fusion.min()) / (img_fusion.max() - img_fusion.min())255.0 utils.save_image_test(img_fusion, output_path) print(output_path)做出的修改吗

同学你解决了吗,我这么修改图片还是好多几乎全黑的

还没,打算忙完这几天再好好看一下

limyoonahh commented 9 months ago

李工,我又测了一遍,已经可以用了。另外,我想问您一下,我看代码的net.py中提供的是NestFuse的网络结构,和您的RFN-Nest相似但不同,如编码器的channel两者不同。如果想体验RFN-Nest的训练过程,需要我们自己去改一下? image

请问是做了什么修改可以使用的

hli1221 commented 9 months ago

需要修改的,这里的自编码器训练策略和过程与NestFuse完全一致。可能是在做RFN-Nest的时候我调整了结构,导致和NestFuse不同。