cilix-ai / on-the-fly-guidance

[MICCAI 2024] On-the-Fly Guidance Training for Medical Image Registration. Pre-print available in link below.
https://arxiv.org/abs/2308.15216
Creative Commons Attribution 4.0 International
29 stars 3 forks source link

复现OFG时遇到的一些问题,希望请教作者 #9

Closed sugar-hub closed 8 months ago

sugar-hub commented 9 months ago

作者您好,在复现OFG时我遇到了一些问题,不知是否是我的一些步骤错误了,还希望得到作者的指导。

根据我的理解,./experiment/opt_experiment_loop.py 是否是添加了OFG模块的训练过程?我在运行该文件时,首先于原文件第185行,遇到OFG函数缺少传入img_size的报错。是否应当修改为 ofg = OFG(output[1].shape, output[1].clone().detach()) ?

其次,我接着运行该文件时,遇到第191行报错,报错内容为OFG-utils.SpatialTransformer-第69行,无法转换维度的情况。经过查找发现,是SpatialTransformer中的grid维度变成了7个,分别是torch.Size([1, 5, 1, 3, 160, 192, 224]),导致出错。不知应当如何解决。

我遇到了这些问题,暂时不知如何解决,所以前来寻求指导。不好意思给作者添麻烦了!

yuelinxin commented 9 months ago

哈喽 @sugar-hub,./experiment里面的文件是我们自己尝试的一些代码,不是主文件,里面的文件也很久没更新了,我们可能会考虑把它们删掉。我们主要的文件是train.pyinfer.py,具体用法是:

python train.py --model <模型名> --ofg_epoch <优化轮数> --dataset <数据集名> --train_dir <训练集path> --val_dir <验证集path>

根据数据集的不同可能会需要再加一个--atlas_dir。如果--ofg_epoch设为0就是不使用OFG,模型的损失就是默认的NCC无监督损失。 另外,如果想比较清晰的看懂OFG的实现,我们之前加了一个叫OFGLoss.py的文件,里面有OFG的主体部分。 我们目前使用文档还没来得及写出来,下个版本会在README里标好如何使用。

感谢issue。

sugar-hub commented 9 months ago

谢谢您的答复