full_eval.py 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import os
  2. from argparse import ArgumentParser
  3. mipnerf360_outdoor_scenes = ["bicycle", "flowers", "garden", "stump", "treehill"]
  4. mipnerf360_indoor_scenes = ["room", "counter", "kitchen", "bonsai"]
  5. tanks_and_temples_scenes = ["truck", "train"]
  6. deep_blending_scenes = ["drjohnson", "playroom"]
  7. parser = ArgumentParser(description="Full evaluation script parameters")
  8. parser.add_argument("--skip_training", action="store_true")
  9. parser.add_argument("--skip_rendering", action="store_true")
  10. parser.add_argument("--skip_metrics", action="store_true")
  11. args, _ = parser.parse_known_args()
  12. if not args.skip_training:
  13. parser.add_argument('--mipnerf360', "-m360", required=True, type=str)
  14. parser.add_argument("--tanksandtemples", "-tat", required=True, type=str)
  15. parser.add_argument("--deepblending", "-db", required=True, type=str)
  16. args = parser.parse_args()
  17. common_args = " --quiet --eval --test_iterations -1"
  18. for scene in tanks_and_temples_scenes:
  19. source = args.tanksandtemples + "/" + scene
  20. os.system("python train.py -s " + source + " -m ./eval/" + scene + common_args)
  21. for scene in deep_blending_scenes:
  22. source = args.deepblending + "/" + scene
  23. os.system("python train.py -s " + source + " -m ./eval/" + scene + common_args)
  24. for scene in mipnerf360_outdoor_scenes:
  25. source = args.mipnerf360 + "/" + scene
  26. os.system("python train.py -s " + source + " -i images_4 -m ./eval/" + scene + common_args)
  27. for scene in mipnerf360_indoor_scenes:
  28. source = args.mipnerf360 + "/" + scene
  29. os.system("python train.py -s " + source + " -i images_2 -m ./eval/" + scene + common_args)
  30. all_scenes = []
  31. all_scenes.extend(mipnerf360_outdoor_scenes)
  32. all_scenes.extend(mipnerf360_indoor_scenes)
  33. all_scenes.extend(tanks_and_temples_scenes)
  34. all_scenes.extend(deep_blending_scenes)
  35. if not args.skip_rendering:
  36. for scene in all_scenes:
  37. os.system("python render.py --quiet --skip_train --eval --iteration 7000 -m ./eval/" + scene)
  38. for scene in all_scenes:
  39. os.system("python render.py --quiet --skip_train --eval --iteration 30000 -m ./eval/" + scene)
  40. if not args.skip_metrics:
  41. scenes_string = ""
  42. for scene in all_scenes:
  43. scenes_string += "\"" + "./eval/" + scene + "\" "
  44. os.system("python metrics.py -m " + scenes_string)