What is the input of dog_response

The documentation says that the input is a “Gaussian 5d input” with dimensions [B,C,D,H,W]. It is not clear to me how to get this representation and what it means exactly.

I’m trying to extract patches to use with HardNet.
Based on reading the SIFT paper I think I need to combine the following functions:

  1. ScalePyramid() to get the different octaves/levels
  2. dog_response - which subtracts neighbouring level in each octave
  3. Non maximum suppression - to get the feature points
  4. extract_patches_from_pyramid() - to get the local patches to be fed to HardNet

I’m not sure how to combine these functions since the inputs/outputs don’t seem the straightforwardly match.
An example demonstrating this use case would be much appreciated.

I know about this example which shows how to extract the patches around keypoints: https://github.com/kornia/kornia/blob/master/examples/feature_detection/extract_local_patches.ipynb

I found this repo which does exactly what I want: https://github.com/ducha-aiki/extract_patches

Thanks @ducha-aiki !

You don’t need to combine anything, it is what ScaleSpaceDetector does. https://kornia.readthedocs.io/en/latest/feature.html#kornia.feature.ScaleSpaceDetector

Look at this example: https://github.com/kornia/kornia-examples/blob/master/image-matching-example.ipynb
and instead of resp = BlobHessian() use resp = BlobDoG() and pass scale_space_response=True when creating ScaleSpaceDetector