Hi,
Nice work!
I have a question about the theory behind this work. As the Diffusion model tries to predict and reconstruct the random noise, why such noise is able to generate reasonable flow fileds? From my understanding, such noise does not contain any semantic information. I am a bit confused about this part.
Thanks
noise = default(noise, lambda: torch.randn_like(x_start))
x_noisy = self.q_sample(x_start=x_start, t=t, noise=noise)
x_recon = self.denoise_fn(torch.cat([x_in['M'], x_in['F'], x_noisy], dim=1), t)
l_pix = self.loss_func(noise, x_recon)
output, flow = self.field_fn(torch.cat([x_in['M'], x_recon], dim=1))
l_sim = self.loss_ncc(output, x_in['F']) * self.lambda_L
l_smt = self.loss_reg(flow) * self.lambda_L