Closed yjump closed 4 years ago
Hi, thank you for your kind answers. For your #2 comment, I am just afraid that there may be something wrong in the pratical implementation of VTN and what is described in VTN (IJBHI) paper. The "deep supervision" branches is concatenated and used as a part of the input of the next deconv layer, but the original paper only metioned skip connection. And you can have a look at the number of conv layers in the encoder part and affine net, it is different from what is drawn in the figure 3 of VTN. For your #3 comment, maybe there is something misunderstood. I do not reproduce the results reported in VTN, because the training set and testing set are different in two works. And I don't understand what is "the very end images" . What I try to report is that, I implement a VTN the same as what is drawn in IJBHI(VTN) (because in this recursive cascaded paper, it says "inherit VTN" ) but a relatively obvious difference occurs when the architecture is adjusted to be exactly the same as what is descirbe in VTN.
This may be not a big problem, but may confuse other people interested in these two work.
Anyway, thanks for your contributions
Yes, thank you for your interest; I acknowledge that the VTN paper is unclear about the upsampling branches. Here we can assume that VTN is supposed to have them.
Thanks a lot for making your codes and dataset publicly available. And also congratuations to authors becasue recursive cascaded strategy of base networks dose work well for image registration.
Recently, I have downloaded your dataset and tried to retrain the model with tensorflow 1.5 and CUDA 9.1. I found the following questions:
2, The implementation of VTN in this repo is different from the original VTN paper "Unsupervised 3D End-to-End Medical Image Registration with Volume Tweening Network". The architecture shown VTN paper Fig3 and Fig4, do not have conv3_1 (see basenet.py, line 68& line 210) in the affine and deform subnetwork. And also, it is mention by another issue that the decoder uses 5 additional upsampling branches ((see basenet.py, line 95 etc.), this is also not mentioned by VTN. (And it is worth nothing but these upsampling branches do not use LeakyReLU after conv and decon as activation interestingly)
This findings do not influence the success of recursive cascaded strategy. Maybe you can address the difference between "improvemented VTN" and "original VTN"? or do I misunderstand anything?
Again, thanks a lot.