两个场景的车辆相似度评估并画图(弗雷歇距离)

疑问:是否有必要normalize?(待解决)

import math

import numpy as np
import pandas as pd
import torch
from matplotlib import pyplot as plt
from shapesimilarity import shape_similarity, procrustes_normalize_curve, find_procrustes_rotation_angle, rotate_curve, \
    frechet_distance, curve_length, euclidean_distance
from torch import sigmoid


def curve_length_mine(curve):
    '''
    Args:
      points: type arrays two values [[x, y], [x, y]]
    Returns:
      acc_length: curve length
    Descriptions:
      Calculate the length of the curve
    '''

    acc_length = 0
    for i in range(0, len(curve) - 1):
        acc_length += euclidean_distance(curve[i], curve[i + 1])
    return acc_length


def normalize(arr, t_min, t_max):
    norm_arr = []
    diff = t_max - t_min
    diff_arr = max(arr) - min(arr)
    for i in arr:
        temp = (((i - min(arr)) * diff) / diff_arr) + t_min
        norm_arr.append(temp)
    return norm_arr


def Frechet

你可能感兴趣的:(两个场景的车辆相似度评估并画图(弗雷歇距离))