FAST Response is 0
I am using 2.4.10 and the FAST keypoint response is always 0. Is this fixed in later releases?
Additionally,
If one were attempting to economize resources and improve matching, it would be prudent to independently match the positive and negative points be they corners or blobs such that running 2 detectors, say FAST and CENSURE would require 4 sets of points to be matched.
That said, is there a way to query the keypoint to determine if it is a positive response or a negative response? It seems to me that the response is always positive, which is unfortunate.
If I am right, that is a serious oversight of the library.
I don't have the FAST keypoint detection method completly in my mind but to me:
Could you elaborate more about positive and negative points ? For me the operations to match keypoints are:
Anyway, you could submit an issue on the OpenCV github with a minimal example code that reproduce the problem if you think it is appropriate.
To be a FAST corner, 9 contiguous of 16 must be either all be less than the central pixel by some threshold or greater than the central pixel by some threshold. The amount by which the smallest pixel difference beats the threshold could be considered the response. Those FAST corners where the central pixel is less than the 9 contiguous pixels could be considered a negative corner and where the central pixel is greater than the 9 contiguous pixels we could call that corner a positive corner. In the matching stage, it would save computation to only match positive corners to positive corners and negative corners to negative corners. The exact same statements can be made for blob detectors like STAR.
Calculating a value myself is of course possible, but it would be much more efficient to build that into the detection step. The fact that FAST can perform non-maximal suppression means that it is basing its suppression decision on a response value (yes, I still need to inspect the implementation). See this paper for a mention of what I am getting at.
I understand more the situation.
Just my thoughts. I can only strongly encourage you to implement a first (maybe rough) version of the functionnality for your works and propose it to the community as a contribution.
Efficiency and proper code implementation will I think follow with the interest the OpenCV community will found on the contribution work.