File size: 1,554 Bytes
e8aa256 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
import math
import json
import os
from numpy import *
def euclidean_distance(point1, point2):
x1, y1 = point1
x2, y2 = point2
distance = math.sqrt((x2 - x1)**2 + (y2 - y1)**2)
return distance
gt_json = "/mmu-ocr/weijiawu/MovieDiffusion/ShowAnything/data/VIPSeg/VIPSeg_Video_Generation_Test/test_traject"
prediction_json = "/mmu-ocr/weijiawu/MovieDiffusion/ShowAnything/data/VIPSeg/VIPSeg_Video_Generation_Test/Prediction_Model/trajectory_1024_CoTracker_DragAnything14frames_OriginalSize1"
# prediction_json = "/mmu-ocr/weijiawu/MovieDiffusion/ShowAnything/data/VIPSeg/VIPSeg_Video_Generation_Test/Prediction_Model/trajectory_CoTracker_DragNUWA_14frames_OriginalSize"
gt_list = os.listdir(gt_json)
pred_list = os.listdir(prediction_json)
json_list = []
for i in gt_list:
if i in pred_list:
json_list.append(i)
ED_list = []
for json_one in json_list:
with open(os.path.join(gt_json,json_one), 'r') as json_file:
trajectory_gt = json.load(json_file)
with open(os.path.join(prediction_json,json_one), 'r') as json_file:
trajectory_pred = json.load(json_file)
for index in trajectory_gt:
# print(index)
gt_points = trajectory_gt[index]
pred_points = trajectory_pred[index]
for point1,point2 in zip(gt_points,pred_points):
# print(point1,point2)
ED = euclidean_distance(point1,point2)
ED_list.append(ED)
# break
# break
print("mean euclidean distance",mean(ED_list)) |