Spaces:
Running
on
Zero
Running
on
Zero
| 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") | |