Spaces:
Runtime error
Runtime error
| import os | |
| import numpy as np | |
| import subprocess | |
| # def ratio(losses, thresholds=[1,2,3,4,5,6,7,8,9,10]): | |
| def ratio(losses, thresholds=[5, 10]): | |
| return ["{:.3f}".format(np.mean(losses < threshold)) for threshold in thresholds] | |
| if __name__ == "__main__": | |
| scene = "Indoor" | |
| dir_base = "result_errors/Indoor/" | |
| save_pt = "resultfinal_errors/Indoor/" | |
| subprocess.check_output(["mkdir", "-p", save_pt]) | |
| with open(save_pt + "ratio_methods_" + scene + ".txt", "w") as f: | |
| f.write("5deg 10deg" + "\n") | |
| pair_list = os.listdir(dir_base) | |
| enhancer = os.listdir(dir_base + "/pair9/") | |
| for method in enhancer: | |
| pose_error_list = sorted(os.listdir(dir_base + "/pair9/" + method)) | |
| for pose_error in pose_error_list: | |
| error_array = np.expand_dims(np.zeros((6, 8)), axis=2) | |
| for pair in pair_list: | |
| try: | |
| error = np.expand_dims( | |
| np.load( | |
| dir_base + "/" + pair + "/" + method + "/" + pose_error | |
| ), | |
| axis=2, | |
| ) | |
| except: | |
| print( | |
| "error in", | |
| dir_base + "/" + pair + "/" + method + "/" + pose_error, | |
| ) | |
| continue | |
| error_array = np.concatenate((error_array, error), axis=2) | |
| ratio_result = ratio(error_array[:, :, 1::].flatten()) | |
| f.write( | |
| method | |
| + "_" | |
| + pose_error[11:-4] | |
| + " " | |
| + " ".join([str(i) for i in ratio_result]) | |
| + "\n" | |
| ) | |
| scene = "Outdoor" | |
| dir_base = "result_errors/Outdoor/" | |
| save_pt = "resultfinal_errors/Outdoor/" | |
| subprocess.check_output(["mkdir", "-p", save_pt]) | |
| with open(save_pt + "ratio_methods_" + scene + ".txt", "w") as f: | |
| f.write("5deg 10deg" + "\n") | |
| pair_list = os.listdir(dir_base) | |
| enhancer = os.listdir(dir_base + "/pair9/") | |
| for method in enhancer: | |
| pose_error_list = sorted(os.listdir(dir_base + "/pair9/" + method)) | |
| for pose_error in pose_error_list: | |
| error_array = np.expand_dims(np.zeros((6, 8)), axis=2) | |
| for pair in pair_list: | |
| error = np.expand_dims( | |
| np.load( | |
| dir_base + "/" + pair + "/" + method + "/" + pose_error | |
| ), | |
| axis=2, | |
| ) | |
| error_array = np.concatenate((error_array, error), axis=2) | |
| ratio_result = ratio(error_array[:, :, 1::].flatten()) | |
| f.write( | |
| method | |
| + "_" | |
| + pose_error[11:-4] | |
| + " " | |
| + " ".join([str(i) for i in ratio_result]) | |
| + "\n" | |
| ) | |