sstary / SSRS

Apache License 2.0
317 stars 38 forks source link

SAM_RS: 关于数据集咨询+模型结果的讨论 #4

Closed dehaozhou closed 8 months ago

dehaozhou commented 8 months ago

您的代码里关于Vaihingen数据集需要载入的部分有 DATA_FOLDER = MAIN_FOLDER + 'top/top_mosaic_09cm_area{}.tif' LABEL_FOLDER = MAIN_FOLDER + 'gts_for_participants/top_mosaic_09cm_area{}.tif' BOUNDARY_FOLDER = MAIN_FOLDER + 'sam_boundary_merge/ISPRSmerge{}.tif' OBJECT_FOLDER = MAIN_FOLDER + 'V_merge/Vmerge{}.tif' ERODED_FOLDER = MAIN_FOLDER + 'gts_eroded_for_participants/top_mosaic_09cm_area{}_noBoundary.tif'

其中有三种类型的图片可以在数据集里找到,请问
    BOUNDARY_FOLDER = MAIN_FOLDER + 'sam_boundary_merge/ISPRS_merge_{}.tif'
OBJECT_FOLDER = MAIN_FOLDER + 'V_merge/V_merge_{}.tif'
这两个部分我应该从哪里可以下载到呢?
方便的话能否麻烦您提供一下
sstary commented 8 months ago

你好,这两部分数据即SAM生成的边界信息和对象信息,我们提供了生成的脚本:SAM_RS /SAM_utils.py;建议你自行生成一下,会更满足你的需求,过程中有任何问题,我们很乐意提供帮助。

sstary commented 8 months ago

我们使用的是同样的脚本,与其有关的参数主要是“pred iou thresh”,它会影响生成的细节信息程度,手稿中展示的即是使用这个脚本生成的。你可以调整该参数进行尝试,也可以把你的生成结果贴在这里。

sstary commented 8 months ago

另外细节程度还和你输入的图像大小有关,我们在生成时输入给SAM的图像尺寸为512*512。

Whu-gaozhao commented 8 months ago

我出现的问题应该是由于图像尺寸的关系,非常感谢您的回答。

dehaozhou commented 8 months ago

非常感谢您之前的解惑

dehaozhou commented 8 months ago

不好意思再打扰您一下,您输入给SAM的图片我看您之前的说法是送入512512的大小,请问您是再得到结果后将这些512512大小的图重新拼接成大图送入网络训练的吗?因为我看您关于Vaihingen数据集的载入部分代码来看应该输入的是大图而不是切片后的结果。我对这一块目前有一些疑惑,不知道是不是我对您的代码产生了误解。方便的话可以再您空闲的时候解惑吗?

sstary commented 8 months ago

是的,输入到SAM的图像尺寸和用于语义分割训练的图像尺寸两者之间没有联系、前者考虑数据场景的内容丰富度,最好生成的SGO和SGB尽可能接近实际语义标签,然后再合并成原来的大小;语义分割训练时,我们采用的滑动窗口机制,输入256*256的大小,这个大小受限于显卡等硬件环境。一般而言,只要同一个框架下,同一批参数下进行实验就行了。

okay123456785 commented 8 months ago

@sstary 您好,您这边方便提供一下您裁剪和拼接的代码吗?

sstary commented 8 months ago

你好,已上传image_split/merge.py文件,其中某些具体参数请自行调整。

okay123456785 commented 8 months ago

非常感谢。

okay123456785 commented 8 months ago

@sstary 您好,还有一个问题想要请教您。通过SAM生成的边界信息图尺寸为(512,512),合并后送入网络中训练的边界以及对象数据尺寸是(H,W,3)还是(H,W)呢?

sstary commented 8 months ago

合并后的数据只有单通道,即(H W 1),另外它们并不会输入到网络中,仅用于loss计算。

okay123456785 commented 8 months ago

@sstary 那么在合并的那部分代码,修改成这样是否正确呢? to_image = np.zeros([height,width,3]).astype(np.uint8) 修改为 to_image = np.zeros([height,width]).astype(np.uint8)

sstary commented 8 months ago

是的,这些脚本由于数据集变化修改过参数,所以你需要针对情况修改矩阵的维度。

okay123456785 commented 8 months ago

我使用合成后的边界以及对象数据去训练FTUNet,效果反而比不加上边界和对象信息要差?造成这种现象的原因可能是什么呢?

sstary commented 8 months ago

我们没在这个网络上试验过,可能和模型有一定关系,建议你试试别的网络。

okay123456785 commented 8 months ago

抱歉,我没有写全,是FTUNetformer

sstary commented 8 months ago

数据集、训练集、Loss参数等方面和我们的设置一样吗?

okay123456785 commented 8 months ago

loss参数,数据集设置都是一样的

sstary commented 8 months ago

你可以先在另外几个模型试一试,看是一个模型的问题,还是数据的问题

okay123456785 commented 8 months ago

我在UNeformer模型上也进行了对比实验,情况也是一样的。所以应该是数据的问题,我处理数据的过程是:先将top里的影像裁剪为512X512,然后使用SAM_utils.py进行处理,再将得到的边界及对象信息拼接回去。但是我发现我拼接回去的单通道影像的对象图像,割裂感非常强。

okay123456785 commented 8 months ago

屏幕截图 2024-03-04 095529这是我处理完的一张数据截图

dehaozhou commented 8 months ago

屏幕截图 2024-03-04 095529这是我处理完的一张数据图 建议您将其可视化一下并查看一下或边界信息的结果图,看看和原数据集图片是否一致,有可能是您使用拼图代码的方式有一定问题

okay123456785 commented 8 months ago

您的图不可见,可以重发一下吗

sstary commented 8 months ago

我对比了我的处理结果,和你发的基本类似。这种割裂情况我们考虑过,但是在训练过程中,模型的输入是256*256,因此不会受到割裂边界太大的影响:尽管对象会被内部分割, 但是可以分别计算一致性;割裂处没有边界,因此不会额外计算边界loss。我们后续也会提供脚本优化这种割裂情况。 此外,FTUNetFormer和UNetFormer本身的训练存在一定的波动性,你可以贴上你的训练结果(F1和MIoU),并多训练几组看下平均情况。

sstary commented 8 months ago

屏幕截图 2024-03-04 095529这是我处理完的一张数据图 建议您将其可视化一下并查看一下或边界信息的结果图,看看和原数据集图片是否一致,有可能是您使用拼图代码的方式有一定问题

请问你是否训练了模型呢,结果如何?

dehaozhou commented 8 months ago

屏幕截图 2024-03-04 095529这是我处理完的一张数据图 建议您将其可视化一下并查看一下或边界信息的结果图,看看和原数据集图片是否一致,有可能是您使用拼图代码的方式有一定问题

请问你是否训练了模型呢,结果如何?

我今早使用了您的拼图代码,不过第一次使用的时候我用的是默认的480乘480,处理结束后拼接后的图片在480整数倍的衔接位置会有错位割裂情况,这种情况我认为是不可避免的,因为SAM对小图做预测和对整张做预测的结果肯定是有区别的。但是我考虑到您之前说的512乘512,而原训练方法是256乘256,也就是说会影响到结果的边界处都没有参与损失计算,这是一种非常高明的处理方式。而直接切成480大小肯定会导致割裂的部分参与损失计算,这种处理方式是不妥当的。所以我刚刚再处理图片,处理为512乘512的拼接结果后再重新训练。不过由于我的训练设备只有V100和A100还有2080ti,没有论文中提到的4090。所以我认为如果和您的论文结果差距在百分之1之内都是非常合理的。

okay123456785 commented 8 months ago

@dehaozhou 您好,可以麻烦您看一下我使用的拼接的代码有什么问题吗 屏幕截图 2024-03-04 115548 屏幕截图 2024-03-04 115634

dehaozhou commented 8 months ago

您的图不可见,可以重发一下吗

我之前处理的切图大小是480乘480,这种处理方式并不合适。目前我在重新进行切图拼接,512乘512的图仍然会有割裂的情况出现,但是从理论角度不会影响损失计算,在训练结束后我会将结果贴在这里,您可以和您训练后的结果参考比对

sstary commented 8 months ago

屏幕截图 2024-03-04 095529这是我处理完的一张数据图 建议您将其可视化一下并查看一下或边界信息的结果图,看看和原数据集图片是否一致,有可能是您使用拼图代码的方式有一定问题

请问你是否训练了模型呢,结果如何?

我今早使用了您的拼图代码,不过第一次使用的时候我用的是默认的480乘480,处理结束后拼接后的图片在480整数倍的衔接位置会有错位割裂情况,这种情况我认为是不可避免的,因为SAM对小图做预测和对整张做预测的结果肯定是有区别的。但是我考虑到您之前说的512乘512,而原训练方法是256乘256,也就是说会影响到结果的边界处都没有参与损失计算,这是一种非常高明的处理方式。而直接切成480大小肯定会导致割裂的部分参与损失计算,这种处理方式是不妥当的。所以我刚刚再处理图片,处理为512乘512的拼接结果后再重新训练。不过由于我的训练设备只有V100和A100还有2080ti,没有论文中提到的4090。所以我认为如果和您的论文结果差距在百分之1之内都是非常合理的。

在训练过程中,我们使用了滑动窗口,并非按照256的整数倍直接移动窗口,所以还是会遇到割裂部分,480和512应该不会有明显的区别。显卡方面也不会影响实验结果。如果还是存在结果方面的问题,那可能还是模型本身以及训练的波动性,这说明本方法可能还需要在细节方面进一步优化,以稳定提升结果。

sstary commented 8 months ago

@dehaozhou 您好,可以麻烦您看一下我使用的拼接的代码有什么问题吗 屏幕截图 2024-03-04 115548 屏幕截图 2024-03-04 115634

你只要可视化确认一下你所有的(如Vaihingen是16张patch)合并结果在地物整体上都和原图是一致的,没有发生位移,那拼接代码就没有问题。

dehaozhou commented 8 months ago

屏幕截图 2024-03-04 095529这是我处理完的一张数据图 建议您将其可视化一下并查看一下或边界信息的结果图,看看和原数据集图片是否一致,有可能是您使用拼图代码的方式有一定问题

请问你是否训练了模型呢,结果如何?

我今早使用了您的拼图代码,不过第一次使用的时候我用的是默认的480乘480,处理结束后拼接后的图片在480整数倍的衔接位置会有错位割裂情况,这种情况我认为是不可避免的,因为SAM对小图做预测和对整张做预测的结果肯定是有区别的。但是我考虑到您之前说的512乘512,而原训练方法是256乘256,也就是说会影响到结果的边界处都没有参与损失计算,这是一种非常高明的处理方式。而直接切成480大小肯定会导致割裂的部分参与损失计算,这种处理方式是不妥当的。所以我刚刚再处理图片,处理为512乘512的拼接结果后再重新训练。不过由于我的训练设备只有V100和A100还有2080ti,没有论文中提到的4090。所以我认为如果和您的论文结果差距在百分之1之内都是非常合理的。

在训练过程中,我们使用了滑动窗口,并非按照256的整数倍直接移动窗口,所以还是会遇到割裂部分,480和512应该不会有明显的区别。显卡方面也不会影响实验结果。如果还是存在结果方面的问题,那可能还是模型本身以及训练的波动性,这说明本方法可能还需要在细节方面进一步优化,以稳定提升结果。

十分感谢您的耐心解答!

okay123456785 commented 8 months ago

您的图不可见,可以重发一下吗

我之前处理的切图大小是480乘480,这种处理方式并不合适。目前我在重新进行切图拼接,512乘512的图仍然会有割裂的情况出现,但是从理论角度不会影响损失计算,在训练结束后我会将结果贴在这里,您可以和您训练后的结果参考比对

好的,谢谢您。

okay123456785 commented 8 months ago

您的图不可见,可以重发一下吗

我之前处理的切图大小是480乘480,这种处理方式并不合适。目前我在重新进行切图拼接,512乘512的图仍然会有割裂的情况出现,但是从理论角度不会影响损失计算,在训练结束后我会将结果贴在这里,您可以和您训练后的结果参考比对

您好,您的训练结果怎么样呢?

dehaozhou commented 8 months ago

您的图不可见,可以重发一下吗

我之前处理的切图大小是480乘480,这种处理方式并不合适。目前我在重新进行切图拼接,512乘512的图仍然会有割裂的情况出现,但是从理论角度不会影响损失计算,在训练结束后我会将结果贴在这里,您可以和您训练后的结果参考比对

您好,您的训练结果怎么样呢?

image 你好,我一共进行了三次训练,都是在CMTFNet上进行的。第一次没有加入SAM,后两次均加入了SAM。目前直观的感觉是有SAM的话模型收敛得更快,在更少的轮数达到比较好的效果。不过我目前见到最好的miou是0.814左右,确实距离论文描述的有一定差距。然后SAM就CMTFNet上的表现似乎对最终结果没有太大影响,可能是我尝试的次数还不够。之后我准备将其余的网络架构都做一下尝试,看看能不能复现出比较好的结果。

dehaozhou commented 8 months ago

您的图不可见,可以重发一下吗

我之前处理的切图大小是480乘480,这种处理方式并不合适。目前我在重新进行切图拼接,512乘512的图仍然会有割裂的情况出现,但是从理论角度不会影响损失计算,在训练结束后我会将结果贴在这里,您可以和您训练后的结果参考比对

您好,您的训练结果怎么样呢?

其实前四个类别还是比较理想的,主要是集中在第五个类别距离理想值差距较大,如果它也差不多的话那就和论文描述基本一致了。Vaihingen数据集我用的次数比较多,也尝试复现过很多篇使用这个数据集的论文,普遍情况都是car这个类别比论文描述偏低不少导致最后的miou和F1不够理想

okay123456785 commented 8 months ago

您的图不可见,可以重发一下吗

我之前处理的切图大小是480乘480,这种处理方式并不合适。目前我在重新进行切图拼接,512乘512的图仍然会有割裂的情况出现,但是从理论角度不会影响损失计算,在训练结束后我会将结果贴在这里,您可以和您训练后的结果参考比对

您好,您的训练结果怎么样呢?

image 你好,我一共进行了三次训练,都是在CMTFNet上进行的。第一次没有加入SAM,后两次均加入了SAM。目前直观的感觉是有SAM的话模型收敛得更快,在更少的轮数达到比较好的效果。不过我目前见到最好的miou是0.814左右,确实距离论文描述的有一定差距。然后SAM就CMTFNet上的表现似乎对最终结果没有太大影响,可能是我尝试的次数还不够。之后我准备将其余的网络架构都做一下尝试,看看能不能复现出比较好的结果。

图片1 您好,我也在CMTFNet上进行了实验。实验效果确实和原论文存在差距。

okay123456785 commented 8 months ago

您的图不可见,可以重发一下吗

我之前处理的切图大小是480乘480,这种处理方式并不合适。目前我在重新进行切图拼接,512乘512的图仍然会有割裂的情况出现,但是从理论角度不会影响损失计算,在训练结束后我会将结果贴在这里,您可以和您训练后的结果参考比对

您好,您的训练结果怎么样呢?

其实前四个类别还是比较理想的,主要是集中在第五个类别距离理想值差距较大,如果它也差不多的话那就和论文描述基本一致了。Vaihingen数据集我用的次数比较多,也尝试复现过很多篇使用这个数据集的论文,普遍情况都是car这个类别比论文描述偏低不少导致最后的miou和F1不够理想

我在使用FTUNetformer网络做训练时,训练结果差距较大,您可以尝试做一下这个实验吗?我想看看是什么原因。

dehaozhou commented 8 months ago

您的图不可见,可以重发一下吗

我之前处理的切图大小是480乘480,这种处理方式并不合适。目前我在重新进行切图拼接,512乘512的图仍然会有割裂的情况出现,但是从理论角度不会影响损失计算,在训练结束后我会将结果贴在这里,您可以和您训练后的结果参考比对

您好,您的训练结果怎么样呢?

image 你好,我一共进行了三次训练,都是在CMTFNet上进行的。第一次没有加入SAM,后两次均加入了SAM。目前直观的感觉是有SAM的话模型收敛得更快,在更少的轮数达到比较好的效果。不过我目前见到最好的miou是0.814左右,确实距离论文描述的有一定差距。然后SAM就CMTFNet上的表现似乎对最终结果没有太大影响,可能是我尝试的次数还不够。之后我准备将其余的网络架构都做一下尝试,看看能不能复现出比较好的结果。

图片1 您好,我也在CMTFNet上进行了实验。实验效果确实和原论文存在差距。

其他的几种架构您的尝试结果怎么样呢?SAM处理出的边界信息和object信息我对实际项目做了测试,引入实际项目以后对验收确实有帮助。我猜测是甲方的训练集数据标注不够精准,所以加入SAM以后对训练起到了正向引导的作用。所以我认为这个模块还是有很大意义的。

okay123456785 commented 8 months ago

您的图不可见,可以重发一下吗

我之前处理的切图大小是480乘480,这种处理方式并不合适。目前我在重新进行切图拼接,512乘512的图仍然会有割裂的情况出现,但是从理论角度不会影响损失计算,在训练结束后我会将结果贴在这里,您可以和您训练后的结果参考比对

您好,您的训练结果怎么样呢?

image 你好,我一共进行了三次训练,都是在CMTFNet上进行的。第一次没有加入SAM,后两次均加入了SAM。目前直观的感觉是有SAM的话模型收敛得更快,在更少的轮数达到比较好的效果。不过我目前见到最好的miou是0.814左右,确实距离论文描述的有一定差距。然后SAM就CMTFNet上的表现似乎对最终结果没有太大影响,可能是我尝试的次数还不够。之后我准备将其余的网络架构都做一下尝试,看看能不能复现出比较好的结果。

图片1 您好,我也在CMTFNet上进行了实验。实验效果确实和原论文存在差距。

其他的几种架构您的尝试结果怎么样呢?SAM处理出的边界信息和object信息我对实际项目做了测试,引入实际项目以后对验收确实有帮助。我猜测是甲方的训练集数据标注不够精准,所以加入SAM以后对训练起到了正向引导的作用。所以我认为这个模块还是有很大意义的。

UNETformer我也进行了实验,但是实验次数不足,目前情况是在未加入边界和对象信息时,要比加入边界和对象信息要好零点几个点。

dehaozhou commented 8 months ago

您的图不可见,可以重发一下吗

我之前处理的切图大小是480乘480,这种处理方式并不合适。目前我在重新进行切图拼接,512乘512的图仍然会有割裂的情况出现,但是从理论角度不会影响损失计算,在训练结束后我会将结果贴在这里,您可以和您训练后的结果参考比对

您好,您的训练结果怎么样呢?

image 你好,我一共进行了三次训练,都是在CMTFNet上进行的。第一次没有加入SAM,后两次均加入了SAM。目前直观的感觉是有SAM的话模型收敛得更快,在更少的轮数达到比较好的效果。不过我目前见到最好的miou是0.814左右,确实距离论文描述的有一定差距。然后SAM就CMTFNet上的表现似乎对最终结果没有太大影响,可能是我尝试的次数还不够。之后我准备将其余的网络架构都做一下尝试,看看能不能复现出比较好的结果。

图片1 您好,我也在CMTFNet上进行了实验。实验效果确实和原论文存在差距。

其他的几种架构您的尝试结果怎么样呢?SAM处理出的边界信息和object信息我对实际项目做了测试,引入实际项目以后对验收确实有帮助。我猜测是甲方的训练集数据标注不够精准,所以加入SAM以后对训练起到了正向引导的作用。所以我认为这个模块还是有很大意义的。

UNETformer我也进行了实验,但是实验次数不足,目前情况是在未加入边界和对象信息时,要比加入边界和对象信息要好零点几个点。

请问FTUnet您使用的是哪个预训练权重,这个可能有影响,我准备使用和您不一样的进行训练: image

sstary commented 8 months ago

您的图不可见,可以重发一下吗

我之前处理的切图大小是480乘480,这种处理方式并不合适。目前我在重新进行切图拼接,512乘512的图仍然会有割裂的情况出现,但是从理论角度不会影响损失计算,在训练结束后我会将结果贴在这里,您可以和您训练后的结果参考比对

您好,您的训练结果怎么样呢?

image 你好,我一共进行了三次训练,都是在CMTFNet上进行的。第一次没有加入SAM,后两次均加入了SAM。目前直观的感觉是有SAM的话模型收敛得更快,在更少的轮数达到比较好的效果。不过我目前见到最好的miou是0.814左右,确实距离论文描述的有一定差距。然后SAM就CMTFNet上的表现似乎对最终结果没有太大影响,可能是我尝试的次数还不够。之后我准备将其余的网络架构都做一下尝试,看看能不能复现出比较好的结果。

图片1 您好,我也在CMTFNet上进行了实验。实验效果确实和原论文存在差距。

其他的几种架构您的尝试结果怎么样呢?SAM处理出的边界信息和object信息我对实际项目做了测试,引入实际项目以后对验收确实有帮助。我猜测是甲方的训练集数据标注不够精准,所以加入SAM以后对训练起到了正向引导的作用。所以我认为这个模块还是有很大意义的。

UNETformer我也进行了实验,但是实验次数不足,目前情况是在未加入边界和对象信息时,要比加入边界和对象信息要好零点几个点。

请问FTUnet您使用的是哪个预训练权重,这个可能有影响,我准备使用和您不一样的进行训练: image

我尝试过FTUNetformer自带的stseg_base.pth模型,效果会很差,不过你可以自己跑跑看。

sstary commented 8 months ago

您的图不可见,可以重发一下吗

我之前处理的切图大小是480乘480,这种处理方式并不合适。目前我在重新进行切图拼接,512乘512的图仍然会有割裂的情况出现,但是从理论角度不会影响损失计算,在训练结束后我会将结果贴在这里,您可以和您训练后的结果参考比对

您好,您的训练结果怎么样呢?

image 你好,我一共进行了三次训练,都是在CMTFNet上进行的。第一次没有加入SAM,后两次均加入了SAM。目前直观的感觉是有SAM的话模型收敛得更快,在更少的轮数达到比较好的效果。不过我目前见到最好的miou是0.814左右,确实距离论文描述的有一定差距。然后SAM就CMTFNet上的表现似乎对最终结果没有太大影响,可能是我尝试的次数还不够。之后我准备将其余的网络架构都做一下尝试,看看能不能复现出比较好的结果。

图片1 您好,我也在CMTFNet上进行了实验。实验效果确实和原论文存在差距。

其他的几种架构您的尝试结果怎么样呢?SAM处理出的边界信息和object信息我对实际项目做了测试,引入实际项目以后对验收确实有帮助。我猜测是甲方的训练集数据标注不够精准,所以加入SAM以后对训练起到了正向引导的作用。所以我认为这个模块还是有很大意义的。

ISPRS 数据集确实在标注上存在问题,你可以可视化寻找一下,对边界和一些困难样本的标注都不准确,SAM可能确实从这些角度提供了辅助作用。

okay123456785 commented 8 months ago

您的图不可见,可以重发一下吗

我之前处理的切图大小是480乘480,这种处理方式并不合适。目前我在重新进行切图拼接,512乘512的图仍然会有割裂的情况出现,但是从理论角度不会影响损失计算,在训练结束后我会将结果贴在这里,您可以和您训练后的结果参考比对

您好,您的训练结果怎么样呢?

image 你好,我一共进行了三次训练,都是在CMTFNet上进行的。第一次没有加入SAM,后两次均加入了SAM。目前直观的感觉是有SAM的话模型收敛得更快,在更少的轮数达到比较好的效果。不过我目前见到最好的miou是0.814左右,确实距离论文描述的有一定差距。然后SAM就CMTFNet上的表现似乎对最终结果没有太大影响,可能是我尝试的次数还不够。之后我准备将其余的网络架构都做一下尝试,看看能不能复现出比较好的结果。

图片1 您好,我也在CMTFNet上进行了实验。实验效果确实和原论文存在差距。

其他的几种架构您的尝试结果怎么样呢?SAM处理出的边界信息和object信息我对实际项目做了测试,引入实际项目以后对验收确实有帮助。我猜测是甲方的训练集数据标注不够精准,所以加入SAM以后对训练起到了正向引导的作用。所以我认为这个模块还是有很大意义的。

UNETformer我也进行了实验,但是实验次数不足,目前情况是在未加入边界和对象信息时,要比加入边界和对象信息要好零点几个点。

请问FTUnet您使用的是哪个预训练权重,这个可能有影响,我准备使用和您不一样的进行训练: image

我尝试过UNetformer自带的stseg_base.pth模型,效果会很差,不过你可以自己跑跑看。

我使用的是swinv2那个训练权重

sstary commented 8 months ago

您的图不可见,可以重发一下吗

我之前处理的切图大小是480乘480,这种处理方式并不合适。目前我在重新进行切图拼接,512乘512的图仍然会有割裂的情况出现,但是从理论角度不会影响损失计算,在训练结束后我会将结果贴在这里,您可以和您训练后的结果参考比对

您好,您的训练结果怎么样呢?

image 你好,我一共进行了三次训练,都是在CMTFNet上进行的。第一次没有加入SAM,后两次均加入了SAM。目前直观的感觉是有SAM的话模型收敛得更快,在更少的轮数达到比较好的效果。不过我目前见到最好的miou是0.814左右,确实距离论文描述的有一定差距。然后SAM就CMTFNet上的表现似乎对最终结果没有太大影响,可能是我尝试的次数还不够。之后我准备将其余的网络架构都做一下尝试,看看能不能复现出比较好的结果。

图片1 您好,我也在CMTFNet上进行了实验。实验效果确实和原论文存在差距。

其他的几种架构您的尝试结果怎么样呢?SAM处理出的边界信息和object信息我对实际项目做了测试,引入实际项目以后对验收确实有帮助。我猜测是甲方的训练集数据标注不够精准,所以加入SAM以后对训练起到了正向引导的作用。所以我认为这个模块还是有很大意义的。

UNETformer我也进行了实验,但是实验次数不足,目前情况是在未加入边界和对象信息时,要比加入边界和对象信息要好零点几个点。

请问FTUnet您使用的是哪个预训练权重,这个可能有影响,我准备使用和您不一样的进行训练: image

我尝试过UNetformer自带的stseg_base.pth模型,效果会很差,不过你可以自己跑跑看。

我使用的是swinv2那个训练权重

我也使用的swinv2_base,large跑的效果相差不多,应该是因为模型太大而训练不够。

dehaozhou commented 8 months ago

您的图不可见,可以重发一下吗

我之前处理的切图大小是480乘480,这种处理方式并不合适。目前我在重新进行切图拼接,512乘512的图仍然会有割裂的情况出现,但是从理论角度不会影响损失计算,在训练结束后我会将结果贴在这里,您可以和您训练后的结果参考比对

您好,您的训练结果怎么样呢?

image 你好,我一共进行了三次训练,都是在CMTFNet上进行的。第一次没有加入SAM,后两次均加入了SAM。目前直观的感觉是有SAM的话模型收敛得更快,在更少的轮数达到比较好的效果。不过我目前见到最好的miou是0.814左右,确实距离论文描述的有一定差距。然后SAM就CMTFNet上的表现似乎对最终结果没有太大影响,可能是我尝试的次数还不够。之后我准备将其余的网络架构都做一下尝试,看看能不能复现出比较好的结果。

图片1 您好,我也在CMTFNet上进行了实验。实验效果确实和原论文存在差距。

其他的几种架构您的尝试结果怎么样呢?SAM处理出的边界信息和object信息我对实际项目做了测试,引入实际项目以后对验收确实有帮助。我猜测是甲方的训练集数据标注不够精准,所以加入SAM以后对训练起到了正向引导的作用。所以我认为这个模块还是有很大意义的。

UNETformer我也进行了实验,但是实验次数不足,目前情况是在未加入边界和对象信息时,要比加入边界和对象信息要好零点几个点。

请问FTUnet您使用的是哪个预训练权重,这个可能有影响,我准备使用和您不一样的进行训练: image

我尝试过UNetformer自带的stseg_base.pth模型,效果会很差,不过你可以自己跑跑看。

我使用的是swinv2那个训练权重

感谢您的答复

dehaozhou commented 8 months ago

您的图不可见,可以重发一下吗

我之前处理的切图大小是480乘480,这种处理方式并不合适。目前我在重新进行切图拼接,512乘512的图仍然会有割裂的情况出现,但是从理论角度不会影响损失计算,在训练结束后我会将结果贴在这里,您可以和您训练后的结果参考比对

您好,您的训练结果怎么样呢?

image 你好,我一共进行了三次训练,都是在CMTFNet上进行的。第一次没有加入SAM,后两次均加入了SAM。目前直观的感觉是有SAM的话模型收敛得更快,在更少的轮数达到比较好的效果。不过我目前见到最好的miou是0.814左右,确实距离论文描述的有一定差距。然后SAM就CMTFNet上的表现似乎对最终结果没有太大影响,可能是我尝试的次数还不够。之后我准备将其余的网络架构都做一下尝试,看看能不能复现出比较好的结果。

图片1 您好,我也在CMTFNet上进行了实验。实验效果确实和原论文存在差距。

其他的几种架构您的尝试结果怎么样呢?SAM处理出的边界信息和object信息我对实际项目做了测试,引入实际项目以后对验收确实有帮助。我猜测是甲方的训练集数据标注不够精准,所以加入SAM以后对训练起到了正向引导的作用。所以我认为这个模块还是有很大意义的。

UNETformer我也进行了实验,但是实验次数不足,目前情况是在未加入边界和对象信息时,要比加入边界和对象信息要好零点几个点。

请问FTUnet您使用的是哪个预训练权重,这个可能有影响,我准备使用和您不一样的进行训练: image

我尝试过UNetformer自带的stseg_base.pth模型,效果会很差,不过你可以自己跑跑看。

我使用的是swinv2那个训练权重

我也使用的swinv2_base,large跑的效果相差不多,应该是因为模型太大而训练不够。

十分感谢您的答复

sstary commented 8 months ago

您的图不可见,可以重发一下吗

我之前处理的切图大小是480乘480,这种处理方式并不合适。目前我在重新进行切图拼接,512乘512的图仍然会有割裂的情况出现,但是从理论角度不会影响损失计算,在训练结束后我会将结果贴在这里,您可以和您训练后的结果参考比对

您好,您的训练结果怎么样呢?

image 你好,我一共进行了三次训练,都是在CMTFNet上进行的。第一次没有加入SAM,后两次均加入了SAM。目前直观的感觉是有SAM的话模型收敛得更快,在更少的轮数达到比较好的效果。不过我目前见到最好的miou是0.814左右,确实距离论文描述的有一定差距。然后SAM就CMTFNet上的表现似乎对最终结果没有太大影响,可能是我尝试的次数还不够。之后我准备将其余的网络架构都做一下尝试,看看能不能复现出比较好的结果。

图片1 您好,我也在CMTFNet上进行了实验。实验效果确实和原论文存在差距。

其他的几种架构您的尝试结果怎么样呢?SAM处理出的边界信息和object信息我对实际项目做了测试,引入实际项目以后对验收确实有帮助。我猜测是甲方的训练集数据标注不够精准,所以加入SAM以后对训练起到了正向引导的作用。所以我认为这个模块还是有很大意义的。

UNETformer我也进行了实验,但是实验次数不足,目前情况是在未加入边界和对象信息时,要比加入边界和对象信息要好零点几个点。

请问FTUnet您使用的是哪个预训练权重,这个可能有影响,我准备使用和您不一样的进行训练: image

我尝试过UNetformer自带的stseg_base.pth模型,效果会很差,不过你可以自己跑跑看。

我使用的是swinv2那个训练权重

我也使用的swinv2_base,large跑的效果相差不多,应该是因为模型太大而训练不够。

十分感谢您的答复

十分感谢两位的关注与实验,这说明我们的预印版在结果稳定性方面依旧存在问题,就我自己的经验而言,这些模型在无论加不加SAM,训练过程中确实存在一定的波动,我们也会继续改进。

dehaozhou commented 8 months ago

您的图不可见,可以重发一下吗

我之前处理的切图大小是480乘480,这种处理方式并不合适。目前我在重新进行切图拼接,512乘512的图仍然会有割裂的情况出现,但是从理论角度不会影响损失计算,在训练结束后我会将结果贴在这里,您可以和您训练后的结果参考比对

您好,您的训练结果怎么样呢?

image 你好,我一共进行了三次训练,都是在CMTFNet上进行的。第一次没有加入SAM,后两次均加入了SAM。目前直观的感觉是有SAM的话模型收敛得更快,在更少的轮数达到比较好的效果。不过我目前见到最好的miou是0.814左右,确实距离论文描述的有一定差距。然后SAM就CMTFNet上的表现似乎对最终结果没有太大影响,可能是我尝试的次数还不够。之后我准备将其余的网络架构都做一下尝试,看看能不能复现出比较好的结果。

图片1 您好,我也在CMTFNet上进行了实验。实验效果确实和原论文存在差距。

其他的几种架构您的尝试结果怎么样呢?SAM处理出的边界信息和object信息我对实际项目做了测试,引入实际项目以后对验收确实有帮助。我猜测是甲方的训练集数据标注不够精准,所以加入SAM以后对训练起到了正向引导的作用。所以我认为这个模块还是有很大意义的。

UNETformer我也进行了实验,但是实验次数不足,目前情况是在未加入边界和对象信息时,要比加入边界和对象信息要好零点几个点。

请问FTUnet您使用的是哪个预训练权重,这个可能有影响,我准备使用和您不一样的进行训练: image

我尝试过UNetformer自带的stseg_base.pth模型,效果会很差,不过你可以自己跑跑看。

我使用的是swinv2那个训练权重

我也使用的swinv2_base,large跑的效果相差不多,应该是因为模型太大而训练不够。

十分感谢您的答复

十分感谢两位的关注与实验,这说明我们的预印版在结果稳定性方面依旧存在问题,就我自己的经验而言,这些模型在无论加不加SAM,训练过程中确实存在一定的波动,我们也会继续改进。

您的这个思路我感觉目前在实际工程上尤其是训练数据偏少的分割任务上收益非常明显,我这边的实际项目用了您的模块以后提升大概在3个点左右

sstary commented 8 months ago

您的图不可见,可以重发一下吗

我之前处理的切图大小是480乘480,这种处理方式并不合适。目前我在重新进行切图拼接,512乘512的图仍然会有割裂的情况出现,但是从理论角度不会影响损失计算,在训练结束后我会将结果贴在这里,您可以和您训练后的结果参考比对

您好,您的训练结果怎么样呢?

image 你好,我一共进行了三次训练,都是在CMTFNet上进行的。第一次没有加入SAM,后两次均加入了SAM。目前直观的感觉是有SAM的话模型收敛得更快,在更少的轮数达到比较好的效果。不过我目前见到最好的miou是0.814左右,确实距离论文描述的有一定差距。然后SAM就CMTFNet上的表现似乎对最终结果没有太大影响,可能是我尝试的次数还不够。之后我准备将其余的网络架构都做一下尝试,看看能不能复现出比较好的结果。

图片1 您好,我也在CMTFNet上进行了实验。实验效果确实和原论文存在差距。

其他的几种架构您的尝试结果怎么样呢?SAM处理出的边界信息和object信息我对实际项目做了测试,引入实际项目以后对验收确实有帮助。我猜测是甲方的训练集数据标注不够精准,所以加入SAM以后对训练起到了正向引导的作用。所以我认为这个模块还是有很大意义的。

UNETformer我也进行了实验,但是实验次数不足,目前情况是在未加入边界和对象信息时,要比加入边界和对象信息要好零点几个点。

请问FTUnet您使用的是哪个预训练权重,这个可能有影响,我准备使用和您不一样的进行训练: image

我尝试过UNetformer自带的stseg_base.pth模型,效果会很差,不过你可以自己跑跑看。

我使用的是swinv2那个训练权重

我也使用的swinv2_base,large跑的效果相差不多,应该是因为模型太大而训练不够。

十分感谢您的答复

十分感谢两位的关注与实验,这说明我们的预印版在结果稳定性方面依旧存在问题,就我自己的经验而言,这些模型在无论加不加SAM,训练过程中确实存在一定的波动,我们也会继续改进。

您的这个思路我感觉目前在实际工程上尤其是训练数据偏少的分割任务上收益非常明显,我这边的实际项目用了您的模块以后提升大概在3个点左右

那挺好,我也希望我们的方法能在更多领域发挥作用,毕竟它看上去就很“简单而直接”。目前可能它在大数据集上还存在问题,还需要继续优化。