cvg / SOLD2

Joint deep network for feature line detection and description
MIT License
541 stars 73 forks source link

Query for metric evaluation code #30

Open xy-git opened 2 years ago

xy-git commented 2 years ago

Hi! Thank you for sharing your codes! Could you please send me a rough uncleaned version of the metric evaluation code? Thank you very much!

rpautrat commented 2 years ago

Hi, sure, you can find a version of the dev code here: https://www.polybox.ethz.ch/index.php/s/IdMvtEHcMAyoZfL

It is unfortunately not totally clean, but it should run at least.

For the detector evaluation, you can find some instructions in the Readme. For the descriptor evaluation, you can find the metrics in the "evaluation" folder. The evaluation consists of two steps:

I should have more time towards the end of the year to officially release a clean version of the evaluation, but I hope this can help you in the meantime.

xy-git commented 2 years ago

I get it, thank you for your reply! It really help me a lot!

------------------ 原始邮件 ------------------ 发件人: "cvg/SOLD2" @.>; 发送时间: 2021年12月3日(星期五) 凌晨5:46 @.>; @.**@.>; 主题: Re: [cvg/SOLD2] Query for metric evaluation code (Issue #30)

Hi, sure, you can find a version of the dev code here: https://www.polybox.ethz.ch/index.php/s/IdMvtEHcMAyoZfL

It is unfortunately not totally clean, but it should run at least.

For the detector evaluation, you can find some instructions in the Readme. For the descriptor evaluation, you can find the metrics in the "evaluation" folder. The evaluation consists of two steps:

first exporting the detection and description on disk, using the scripts "export_baselines.py" (for the baselines) and "export_descriptors.py" (for SOLD2).

secondly use the notebooks located in the "notebooks" folder to compute the metrics.

I should have more time towards the end of the year to officially release a clean version of the evaluation, but I hope this can help you in the meantime.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android.

ChrisLLLLL commented 2 years ago

Hi, sure, you can find a version of the dev code here: https://www.polybox.ethz.ch/index.php/s/IdMvtEHcMAyoZfL

It is unfortunately not totally clean, but it should run at least.

For the detector evaluation, you can find some instructions in the Readme. For the descriptor evaluation, you can find the metrics in the "evaluation" folder. The evaluation consists of two steps:

  • first exporting the detection and description on disk, using the scripts "export_baselines.py" (for the baselines) and "export_descriptors.py" (for SOLD2).
  • secondly use the notebooks located in the "notebooks" folder to compute the metrics.

I should have more time towards the end of the year to officially release a clean version of the evaluation, but I hope this can help you in the meantime.

Hi, I tried the code "evaluate_line_repeatability.py" in sold2_dev_code, but I ran into this problem:

" File "/home/sold2_dev_code/model/line_detection.py", line 1690, in refine_junction_perturb refined_segments = torch.cat(refined_segment_lst, dim=0) NotImplementedError: There were no tensor arguments to this function (e.g., you passed an empty list of Tensors), but no fallback function is registered for schema aten::_cat. This usually means that this function requires a non-empty list of Tensors, or that you (the operator writer) forgot to register a fallback function. Available functions are [CPU, CUDA, QuantizedCPU, BackendSelect, Named, ADInplaceOrView, AutogradOther, AutogradCPU, AutogradCUDA, AutogradXLA, UNKNOWN_TENSOR_TYPE_ID, AutogradMLC, AutogradHPU, AutogradNestedTensor, AutogradPrivateUse1, AutogradPrivateUse2, AutogradPrivateUse3, Tracer, Autocast, Batched, VmapMode].

CPU: registered at /pytorch/build/aten/src/ATen/RegisterCPU.cpp:16286 [kernel] CUDA: registered at /pytorch/build/aten/src/ATen/RegisterCUDA.cpp:20674 [kernel] QuantizedCPU: registered at /pytorch/build/aten/src/ATen/RegisterQuantizedCPU.cpp:1025 [kernel] BackendSelect: fallthrough registered at /pytorch/aten/src/ATen/core/BackendSelectFallbackKernel.cpp:3 [backend fallback] Named: registered at /pytorch/aten/src/ATen/core/NamedRegistrations.cpp:7 [backend fallback] ADInplaceOrView: fallthrough registered at /pytorch/aten/src/ATen/core/VariableFallbackKernel.cpp:60 [backend fallback] AutogradOther: registered at /pytorch/torch/csrc/autograd/generated/VariableType_2.cpp:9928 [autograd kernel] AutogradCPU: registered at /pytorch/torch/csrc/autograd/generated/VariableType_2.cpp:9928 [autograd kernel] AutogradCUDA: registered at /pytorch/torch/csrc/autograd/generated/VariableType_2.cpp:9928 [autograd kernel] AutogradXLA: registered at /pytorch/torch/csrc/autograd/generated/VariableType_2.cpp:9928 [autograd kernel] UNKNOWN_TENSOR_TYPE_ID: registered at /pytorch/torch/csrc/autograd/generated/VariableType_2.cpp:9928 [autograd kernel] AutogradMLC: registered at /pytorch/torch/csrc/autograd/generated/VariableType_2.cpp:9928 [autograd kernel] AutogradHPU: registered at /pytorch/torch/csrc/autograd/generated/VariableType_2.cpp:9928 [autograd kernel] AutogradNestedTensor: registered at /pytorch/torch/csrc/autograd/generated/VariableType_2.cpp:9928 [autograd kernel] AutogradPrivateUse1: registered at /pytorch/torch/csrc/autograd/generated/VariableType_2.cpp:9928 [autograd kernel] AutogradPrivateUse2: registered at /pytorch/torch/csrc/autograd/generated/VariableType_2.cpp:9928 [autograd kernel] AutogradPrivateUse3: registered at /pytorch/torch/csrc/autograd/generated/VariableType_2.cpp:9928 [autograd kernel] Tracer: registered at /pytorch/torch/csrc/autograd/generated/TraceType_2.cpp:9621 [kernel] Autocast: registered at /pytorch/aten/src/ATen/autocast_mode.cpp:259 [kernel] Batched: registered at /pytorch/aten/src/ATen/BatchingRegistrations.cpp:1019 [backend fallback] VmapMode: fallthrough registered at /pytorch/aten/src/ATen/VmapModeRegistrations.cpp:33 [backend fallback]

Process finished with exit code 1"

I haven't been able to solve it. Do you have any suggestions?

rpautrat commented 2 years ago

Since it is an uncleaned code, I am not providing any support for it. Releasing the clean evaluation code is still on my todo list though.