Closed abhishek-peri closed 2 years ago
Hi @abhishek-peri
Unfortunately, perfect equivariance to C8
is not possible since that includes equivariance to rotations by 45 deg, which is not exact for a pixel grid.
In other words, equivariance to C8
is only approximate and comparing the outputs of the convolution is too sensitive to the interpolation artifacts (and an absolute tollerance of atol=1e-05
is probably too low).
To evaluate the equivariance error, I'd recommend starting with higher resolution images, rotate them in this higher resolution and then downsample them to reduce the artifacts. Then, perform convolution at this resolution. Finally, rotate one of the two outputs and further downsample the outputs to reduce the interpolation artifacts. This is what I do in my unit tests (see here and here.
Hope this helps,
Gabriele
Hi,
When I'm testing the equivariance for a sample example in C8 space following the "introduction.ipynb", I've observed it to fail. So, I wanted to check if there is a correct way of evaluating the c8 space equivariance? Further, It would help me if you could point out how could one go about defining an architecture such that equivariance could be observed across all angles of C8 space?
My code:
result: