ubc-vision/image-matching-benchmark

Does the version of opencv matter?

Closed this issue · 8 comments

I run the following command and got some error related to opencv.

python run.py --subset=val --json_method=example/configs/my-example-test.json --run_viz=True --run_mode=interactive

image

I attached the config file that I used.
https://www.dropbox.com/s/q1a96ozacxcir5c/my-example-test.json?dl=0

the evaluation by "example-test.json" worked fine but I want to evaluate the deep-learning based features like hardnet, sosnet, etc..

I imported the extracted features from those via import_features.py and executed the run.py and got the above errors.

It is weird error. It might be that your OpenCV installation is not complete, or descriptors are not numpy float32

currently, I found out that this works well with superpoint but not with hardnet and sosnet. (in my environment)

The matcher complains if it doesn't get the type it expects, but it should work with hardnet and sosnet. You can put a breakpoint in there and try casting the array?

Interestingly, the type of descriptor looks float32.. but the same error occurs.

image

Weird. You can disable the parallel call here and use a simple loop instead, for debugging. That's all I can think of.

After several tests, I found out that the "siftdef" for the keypoint is working in my case.
"sift8k" produces the above error.. I have no idea yet.

That's strange, there should be no difference at all, because the descriptors are computed after the keypoint detection step. Maybe something went wrong with a specific file? I would just try to regenerate it before debugging it any further.

@JustWon Hi, I have the same error, so how do you solve it?