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

Why train x->y and y->x for OASIS and abdomenCTCT dataset? #11

Closed busyyang closed 8 months ago

busyyang commented 8 months ago

In the training part in train.py, the registration model is trained by (x,y) pair firstly:

for data in train_loader:
    x = data[0]
    y = data[1]
    x_in = torch.cat((x, y), dim=1)
    output = model(x_in)
    ....

And for OASIS and abdomenCTCT dataset, (y,x) pair is also feed into the model:

......
if args.dataset == "OASIS" or args.dataset == "AbdomenCTCT":
    y_in = torch.cat((y, x), dim=1)
    output = model(y_in)
......

Why you do this? Is it for data augmentation?

yuelinxin commented 8 months ago

So for OASIS and AbdomenCTCT, because they are inter-patient registration, there are no absolute definition of a fixed and moving image, in other words, both x and y can be the fixed image, and both x and y can be the moving image. So we take the advantage of this property of the data to perform this two-way registration. We first use x as the fixed image, y as the moving image, and then we inverse them and use x as the moving image and y as the fixed image. This essentially allows the model to learn more robust representations, and this is a common trick used in deep-learning-based image registration.

busyyang commented 8 months ago

It's so clear. Thanks.

busyyang commented 8 months ago

@yuelinxin 看了你的简历,本科生就这么强了???

yuelinxin commented 8 months ago

@yuelinxin 看了你的简历,本科生就这么强了???

啥呀😂,最近申请phd感觉全凉了。

busyyang commented 8 months ago

@yuelinxin 看了你的简历,本科生就这么强了???

啥呀😂,最近申请phd感觉全凉了。

@yuelinxin 加油,确实很强。