MIC-DKFZ / medicaldetectiontoolkit

The Medical Detection Toolkit contains 2D + 3D implementations of prevalent object detectors such as Mask R-CNN, Retina Net, Retina U-Net, as well as a training and inference framework focused on dealing with medical images.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

if I have Larger GPU memory, in the same 3D model, larger patch_size will be better????

CodingHHW opened this issue · comments

commented

I have something confused, I think larger patch_size will be better for result,
but, is it also be equivalent to more complex model backbone?????
because I think larger patch_size need more features to extract?????
how to balance patch_size and backbone parameters?????
int the lidc_exp, why [128, 128, 64] , not [192, 192, 96] or [96, 96, 48] or others?????

Dear CodingHHW,
yes, in theory and in general, a larger patch size is advantageous over a smaller patch size as it spares the need for tiling and recombining the original data. However, one should also note, that under certain conditions random patching could also improve generalization as the network also sees partial samples of RoIs.

That said, if we had sufficient GPU memory, we would simply put the whole 3D image in one patch, without tiling. Seen how we only have limited memory capability, we tailored the lidc patches to sizes that would well fit our hardware capabilities (and for LIDC we chose [128, 128, 64]).

The patch size affects learning aids like the anchor generation, but the fundamental complexity of the backbone is not affected by it. Since we are dealing with a fully convolutional backbone, the same number of weights slides across / processes inputs of different sizes, i.e., the number of weights does not change when you change the patch size.
The number of generated features does, however, as it depends on the input size / patch size.