eval_roma_outdoor.py 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import json
  2. from romatch.benchmarks import MegadepthDenseBenchmark
  3. from romatch.benchmarks import MegaDepthPoseEstimationBenchmark, HpatchesHomogBenchmark
  4. from romatch.benchmarks import Mega1500PoseLibBenchmark
  5. def test_mega_8_scenes(model, name):
  6. mega_8_scenes_benchmark = MegaDepthPoseEstimationBenchmark("data/megadepth",
  7. scene_names=['mega_8_scenes_0019_0.1_0.3.npz',
  8. 'mega_8_scenes_0025_0.1_0.3.npz',
  9. 'mega_8_scenes_0021_0.1_0.3.npz',
  10. 'mega_8_scenes_0008_0.1_0.3.npz',
  11. 'mega_8_scenes_0032_0.1_0.3.npz',
  12. 'mega_8_scenes_1589_0.1_0.3.npz',
  13. 'mega_8_scenes_0063_0.1_0.3.npz',
  14. 'mega_8_scenes_0024_0.1_0.3.npz',
  15. 'mega_8_scenes_0019_0.3_0.5.npz',
  16. 'mega_8_scenes_0025_0.3_0.5.npz',
  17. 'mega_8_scenes_0021_0.3_0.5.npz',
  18. 'mega_8_scenes_0008_0.3_0.5.npz',
  19. 'mega_8_scenes_0032_0.3_0.5.npz',
  20. 'mega_8_scenes_1589_0.3_0.5.npz',
  21. 'mega_8_scenes_0063_0.3_0.5.npz',
  22. 'mega_8_scenes_0024_0.3_0.5.npz'])
  23. mega_8_scenes_results = mega_8_scenes_benchmark.benchmark(model, model_name=name)
  24. print(mega_8_scenes_results)
  25. json.dump(mega_8_scenes_results, open(f"results/mega_8_scenes_{name}.json", "w"))
  26. def test_mega1500(model, name):
  27. mega1500_benchmark = MegaDepthPoseEstimationBenchmark("data/megadepth")
  28. mega1500_results = mega1500_benchmark.benchmark(model, model_name=name)
  29. json.dump(mega1500_results, open(f"results/mega1500_{name}.json", "w"))
  30. def test_mega1500_poselib(model, name):
  31. mega1500_benchmark = Mega1500PoseLibBenchmark("data/megadepth")
  32. mega1500_results = mega1500_benchmark.benchmark(model, model_name=name)
  33. json.dump(mega1500_results, open(f"results/mega1500_{name}.json", "w"))
  34. def test_mega_dense(model, name):
  35. megadense_benchmark = MegadepthDenseBenchmark("data/megadepth", num_samples = 1000)
  36. megadense_results = megadense_benchmark.benchmark(model)
  37. json.dump(megadense_results, open(f"results/mega_dense_{name}.json", "w"))
  38. def test_hpatches(model, name):
  39. hpatches_benchmark = HpatchesHomogBenchmark("data/hpatches")
  40. hpatches_results = hpatches_benchmark.benchmark(model)
  41. json.dump(hpatches_results, open(f"results/hpatches_{name}.json", "w"))
  42. if __name__ == "__main__":
  43. from romatch import roma_outdoor
  44. device = "cuda"
  45. model = roma_outdoor(device = device, coarse_res = 672, upsample_res = 1344)
  46. experiment_name = "roma_latest"
  47. test_mega1500(model, experiment_name)
  48. test_hpatches(model, experiment_name)
  49. #test_mega1500_poselib(model, experiment_name)