cwmok / Fast-Symmetric-Diffeomorphic-Image-Registration-with-Convolutional-Neural-Networks

Fast Symmetric Diffeomorphic Image Registration with Convolutional Neural Networks
MIT License
147 stars 36 forks source link

Unable to reproduce results for other dataset: Learn2Reg Challenge 2020 Task 3 (CT Abdominal) #14

Closed bent1e closed 1 year ago

bent1e commented 2 years ago

I try to train a new dataset with your code, I first make use of AntsPy to rigidly register and normalize this dataset to [0, 1] Training data: Learn2Reg Task 3 Data : https://learn2reg.grand-challenge.org/Datasets/

I try to train a new dataset with your code, I first make use of AntsPy to rigidly register and normalize this dataset to [0, 1] My loss has remained at -0.31 since the beginning and varied within a range, dice has remained at 0.16 捕获

Thanks a lot!

Yours, bentle

cwmok commented 2 years ago

Hi @bent1e ,

We didn't test SYMNet on the abdominal CT registration task before. It may works if you follow the preprocessing pipeline of our paper in https://link.springer.com/chapter/10.1007/978-3-030-71827-5_7. The CT windowing technique and downsampled input images are critical for this task.

bent1e commented 2 years ago

I follow your advice and process my abdominal data set. I conduct down sampling and windowing techniques on the data set, so that the window of the CT image is concentrated in the abdominal region. But the effect of training again is almost the same as before

cwmok commented 2 years ago

Hi @bent1e,

The CT Abdominal task is not trivial for deep learning-based methods. Perhaps you should try it on some simple architectures such as VoxelMorph first. (To validate your preprocessing pipeline)

Since this method shares a similar transformation model as VoxelMorph, it will only work if the VoxelMorph can be applied to this task. Validating your preprocessing pipeline on a simpler method can greatly reduce the debugging time.

In the literature, abdominal CT registration is often paired with masks to define the region of interest. But, the masks for this task are not provided which makes it even more difficult to learn. Instead, I applied CT windowing technique and made sure that the background intensity of each image is 0. Then, in the similarity measure, I masked the similarity function with a mask computed on the fixed image, i.e., intensity > 0. This helps to further stabilize the training.

To iterate, we didn't test SYMNet on the abdominal CT registration task before. It is not designed to accommodate the large deformation in inter-subject abdominal registration and we are not sure whether it can be applied to this task.

bent1e commented 2 years ago

Thank you for your earlier advice. At present, I try to train with a dataset different in size from OASIS, but the program fails. My dataset size is (x,y,z) =(220, 220, 120). May I ask what caused this problem? image

cwmok commented 2 years ago

Hi @bent1e,

The SYMNet uses 5-level U-Net architecture, which has 4 downsampling and upsampling operators. Therefore, you have to make sure the size of each dimension is divisible by 2^4=16 in order to avoid the rounding error. Padding zeros or resize the images can be used in your case.