goodFeaturesToTrack returns also corner value#17836
goodFeaturesToTrack returns also corner value#17836WisdomPill wants to merge 6 commits intoopencv:masterfrom
Conversation
|
@asmorkalov @alalek can I close this and reopen differently? I forgot to create a branch for this PR. |
|
@WisdomPill, thank you for the contribution! I suggest to make the patch more compatible with the existing API.
|
|
Okay, got it, I will do it in the beginning of next week, do you think I should create another branch? I already did here, and probably will do the same in opencv/opencv_extra |
|
@WisdomPill no need to create another branch and PR. I propose to continue work here. |
|
Should be okay by now, I also update I will tackle the I pushed opencv_extra on the branch |
|
@WisdomPill , we try to avoid increasing sanity checks in performance tests. It would be better to make good accuracy test. Your PR to opencv_extra have different branch name and will not be tested on our CI together with this one. |
|
Okay, I see, so your saying that corners response values should not be sanity checked in perf_tests but only the values in the accuracy in the unittests, for example here Also, I think that GFTTDetector needs testing, should I add it? In this case the pull request for |
|
16642 |
@WisdomPill , yes, exactly.
There are two tests in features2d module, perhaps they could be extended: opencv/modules/features2d/test/test_keypoints.cpp Lines 145 to 151 in b698d0a opencv/modules/features2d/test/test_detectors_regression.cpp Lines 45 to 49 in b698d0a |
|
Okay, so as I understand the tool is always the same Should I push the accuracy tests on |
|
@WisdomPill , yes, in order to test changes together branches should have the same name. You can run tests directly without |
|
@WisdomPill Do you have a chance to finish the PR in meantime? |
|
Yes sorry, I am on holiday, and will come back this weekend. I had finished most of the work, I was just missing the accuracy tests. Is it okay if I finish when I will be back? |
|
I do not understand how to update the xml file for accuracy tests. Accuracy tests seem to pass without changes, maybe it is because the function maxResponseDif value. If I change it and lower it to 0.001 the test fail like it should but also SIFT fails.
Is this the file to update (https://github.com/opencv/opencv_extra/blob/master/testdata/cv/features2d/feature_detectors/detector-gftt.xml.gz)? Also one of the perf tests is failing, and I do not understand one kind of error regarding the size of corners variable here https://pullrequest.opencv.org/buildbot/builders/precommit_linux64/builds/27302/steps/perf_imgproc/logs/tests%20summary the other errors are about degradation in performance? |
| { return *a > *b; } | ||
| }; | ||
|
|
||
| static void |
There was a problem hiding this comment.
why is the reference implementation removed? please, restore and use it
There was a problem hiding this comment.
I removed it because I was also testing the response value which was not accurate with that test method.
I am restoring it right now
|
@WisdomPill, it looks like in this particular test it's enough to erase the existing detector-gftt.xml.gz and run the test, then it will re-create it. Also, I as mentioned above, please, restore the reference implementation |
|
@vpisarev thank you for the hint, I updated detector-gftt.xml.gz by deleting the file and the test recreated it. |
|
@vpisarev @WisdomPill Friendly reminder. |
|
@asmorkalov, @WisdomPill, I just run our buildbot — there are many problems. I guess, the changes in C API should be undone, because in C there is no optional arguments. Then, the test failures need to be fixed. In general, the patch can be merged, as long as buildbot is "green" |
|
@vpisarev I do not understand what changes are you referring to, I need more guidance because I am not used to c++. Can you help? |
|
Replaced by #19392. The new PR includes commits from the original PR and adds test fixes and sanity data. |
|
Thanks |
Closes #16462
This is still a work in progress, for the moment I have been working only on the function goodFeaturesToTrack and not the GFTT Detector. This is also my first time with c++ since university, please bear with me if you see naive errors.
Pull Request Readiness Checklist
See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request
Patch to opencv_extra has the same branch name.
I have some issue with perf tests, I can't understand why I get this error.
I changed the types accordingly but I cannot understand why is this happening.
I removed the
test_cornerEigenValsVecsfunction because it was incomplete resulting in bad accuracy and I think not needed for testing goodFeaturesToTrack