plenoptic-org / plenoptic

Visualize/test models for visual representation by synthesizing images.
https://plenoptic.readthedocs.io/en/latest/
MIT License
60 stars 9 forks source link

Make FrontEnd more efficient #23

Open billbrod opened 4 years ago

billbrod commented 4 years ago

The FrontEnd model is a very useful one, and would be great to have in some examples, but it's right now so inefficient that synthesizing with it is very slow. How can we make it more efficient?

Discussed a bit with @pehf and my understanding is the main issue is that it's convolving with 31x31 kernels in the signal domain (I haven't profiled it to investigate). If that's so, will get slower as a function of image size. Could we not just take the Fourier transform of the kernel and the image, multiply together, and take the inverse Fourier transform (like the way our steerable pyramid implementation works)?

lyndond commented 3 years ago

The frontend model(s) in #95 now address this because they can have arbitrary kernel sizes. These convs are still done in spatial domain and not frequency domain, but I think that's now ultra-low priority.

billbrod commented 3 years ago

agreed that a faster / frequency implementation is very low priority, but I'd like to see that synthesized images with smaller kernel sizes are qualitatively similar before closing this issue.