eval_func package
Submodules
eval_func.EV_converter module
- evaltools.eval_func.EV_converter.get_CA_score(CA)
- evaltools.eval_func.EV_converter.get_CE_score(CE)
- evaltools.eval_func.EV_converter.get_EAG_score(EAG)
- evaltools.eval_func.EV_converter.get_OE_score(OE)
- evaltools.eval_func.EV_converter.get_VE_score(VE)
negative check version
- evaltools.eval_func.EV_converter.get_VE_score2(VE)
positive check version VE_MED
- evaltools.eval_func.EV_converter.main(CE, CA, EAG, VE, OE)
- evaltools.eval_func.EV_converter.main_cl(args)
eval_func.bitmap_tools module
- evaltools.eval_func.bitmap_tools.load_bitmap_to_ndarray(filename)
- evaltools.eval_func.bitmap_tools.save_bitmap_from_ndarray(ndarray, filename)
eval_func.do_ble_estimation module
- evaltools.eval_func.do_ble_estimation.do_ble_estimation(df_est, blescans, gis_ble, thresh=-85, txpower=-70, loss_rate=2.1, method='MSE', r=1)
各BLEビーコンに対する再投影位置座標と推定に使用したデータ量をデータフレームにして返す。
- evaltools.eval_func.do_ble_estimation.est_beacon_pos(bdaddress, df_est, blescans, df_merged=None, thresh=-85, txpower=-70, loss_rate=2.1, initial_guess=[0, 0], method='MSE', r=1)
BLE logと位置座標情報からBLEビーコン位置を再投影する。
- evaltools.eval_func.do_ble_estimation.estimate_rssi(distance, txpower=-70, loss_rate=2.1)
- evaltools.eval_func.do_ble_estimation.loss_function(predicted_rssi, actual_rssi, method, r=1)
eval_func.evaluate_BE module
- evaltools.eval_func.evaluate_BE.eval_BE(df_est, blescans, gis_ble, thresh=-85, txpower=-70, loss_rate=2.1, method='MSE', R=1)
- evaltools.eval_func.evaluate_BE.eval_be(df_est, step, method, R)
統合測位用の(step形式の)呼び出し口
- evaltools.eval_func.evaluate_BE.main_cl(args)
eval_func.evaluate_BEM module
- evaltools.eval_func.evaluate_BEM.calc_beacon_error(row)
- evaltools.eval_func.evaluate_BEM.calc_rssi_error(row, df_merged, txpower, loss_rate, method, r)
- evaltools.eval_func.evaluate_BEM.estimate_rssi(distance, txpower=-70, loss_rate=2.1)
- evaltools.eval_func.evaluate_BEM.eval_BEM(df_est, blescans, gis_ble, txpower=-70, loss_rate=2.1, nEstVar=3, method='MSE', r=1)
- evaltools.eval_func.evaluate_BEM.eval_bem(df_est, step, nEstVar)
統合測位用の(step形式の)呼び出し口
- evaltools.eval_func.evaluate_BEM.loss_function(predicted_rssi, actual_rssi, method, r=1)
- evaltools.eval_func.evaluate_BEM.rotation_mat(row, x0, y0, theta, O=(0, 0))
eval_func.evaluate_CA module
- evaltools.eval_func.evaluate_CA.calc_2D_histgram_mod(x_error_list, y_error_list)
- evaltools.eval_func.evaluate_CA.calc_2dhist_mod(x_error_list, y_error_list)
位置誤差のx成分・y成分毎に分布を生成しその平均値と原点(=GT)との距離を評価値として返す。
- evaltools.eval_func.evaluate_CA.calc_kernel_density_mod(x, y, output_path, RSC_flg, bw_method=None)
- evaltools.eval_func.evaluate_CA.calc_kernel_mod(x, y, bw_method=None)
- evaltools.eval_func.evaluate_CA.calc_x_error(row)
vector_b : vector from estimated position to ground truth position vector_c : unit vector normal to yaw direction x_error = (vector_c ・ vector_b)
- evaltools.eval_func.evaluate_CA.calc_xy_errors(df_est, df_gt_data, mode='RCS')
- evaltools.eval_func.evaluate_CA.calc_y_error(row)
orthographic vector y_error = {(vector_a ・ vector_b) / norm(ventor_a)**2}|vector_a|
vector_a : unit vector to yaw direction vector_b : vector from estimated position to ground truth position y_error = (vector_a ・ vector_b)
- evaltools.eval_func.evaluate_CA.calc_yaw_from_xy(df_est)
+y = 0; -y = 2pi +y → +x → -y = (0 <= Θ < 2pi) +y → -x → -y = (-2pi < Θ <= 0)
- evaltools.eval_func.evaluate_CA.eval_CA(df_est, step, mode_CS='RCS', mode_density='kde')
Calc CA (評価値まで算出する版。主に最適化用の入口)
- evaltools.eval_func.evaluate_CA.eval_CA_tl(df_gt_data, df_est, mode_CS='RCS')
Calcurate Coordinate-Accuracy-Error timeline
- Parameters:
df_gt_data (pandas.DataFrame) – Ground truth, columns: [timestamp, x, y, theta, floor]
df_est (pandas.DataFrame) – Estimated position, columns: [timestamp, x, y, floor, …]
mode_CS ({'RCS', 'ACS'}) – set x-y Coordinate System ‘yaw-Relative’ or ‘Absolute’
- Returns:
df_ca_tl – Error at each timestamp, columns: [timestamp, type, value] type: ‘ca_x’, ‘ca_y’
- Return type:
pandas.DataFrame
eval_func.evaluate_CE module
- evaltools.eval_func.evaluate_CE.eval_CE(df_est, step, quantile=50)
Calc CE (評価値まで算出する版。主に最適化用の入口)
- evaltools.eval_func.evaluate_CE.eval_CE_tl(df_gt_data, df_est, right_on=False)
Calculate Circular-Error timeline
- Parameters:
df_gt_data (pandas.DataFrame) – Ground truth, columns: [timestamp, x, y, theta, floor]
df_est (pandas.DataFrame) – Estimated position, columns: [timestamp, x, y, floor, …]
right_on (boolean) – False:pd.merge_asof(df_gt, df_est) / True:pd.merge_asof(df_est, df_gt)
- Returns:
result – Error at each timestamp, columns: [timestamp, type, value]
- Return type:
pandas.DataFrame
- evaltools.eval_func.evaluate_CE.eval_SE_tl(df_gt_data, df_est)
Calculate Sphere-Error timeline
- Parameters:
df_gt_data (pandas.DataFrame) – Ground truth, columns: [timestamp, x, y, theta, floor]
df_est (pandas.DataFrame) – Estimated position, columns: [timestamp, x, y, floor, …]
- Returns:
result – Error at each timestamp, columns: [timestamp, type, value]
- Return type:
pandas.DataFrame
eval_func.evaluate_DSE module
- evaltools.eval_func.evaluate_DSE.calc_similarity(res, r1, r2, cut_len=1, fillna=-110, q=50)
- evaltools.eval_func.evaluate_DSE.calc_similarity_2(res, array, cut_len=1, fillna=-110, q=90)
- evaltools.eval_func.evaluate_DSE.estimate_distance_from_rssi(rssi, txpower=-70, loss_rate=2.1)
- evaltools.eval_func.evaluate_DSE.estimate_rssi_from_distace(distance, txpower=-70, loss_rate=2.1)
- evaltools.eval_func.evaluate_DSE.eval_DSE(df_est, blescans, fillna=-110, q=50, mode='R', n_jobs=30)
位置距離差に対するRssi値の類似性を評価
- evaltools.eval_func.evaluate_DSE.eval_dse(df_est, step, fillna, mode, n_jobs)
統合測位用の(step形式の)呼び出し口
- evaltools.eval_func.evaluate_DSE.make_df(df_est, blescans, fillna=-110, q=50, n_jobs=5)
- evaltools.eval_func.evaluate_DSE.maximize_a(src)
- evaltools.eval_func.evaluate_DSE.maximize_r2(src)
- evaltools.eval_func.evaluate_DSE.minimize_residual(src)
- evaltools.eval_func.evaluate_DSE.resample_blescans_closest(blescans: DataFrame, timestamps: ndarray, internal_interval=0.01, bdaddress_list=None, rssi_threshold=-200, tolerance=0.5, agg_method='mean', agg_window=1)
eval_func.evaluate_EAG module
- evaltools.eval_func.evaluate_EAG.calc_A_EAG(df_gt_data, df_est, ALIP_timerange=[], draw_flg=False, output_path='./output/')
Calculate EAG based on Angle
- evaltools.eval_func.evaluate_EAG.calc_D_EAG(df_gt_data, df_est, ALIP_timerange=[], draw_flg=False, output_path='./output/')
Calculate EAG based on Distance
- evaltools.eval_func.evaluate_EAG.calc_T_EAG(df_gt_data, df_est, ALIP_timerange=[], draw_flg=False, output_path='./output/')
Calculate EAG based on Time
- evaltools.eval_func.evaluate_EAG.draw_eag(error_from_gt, Srad_from_ALIP, mode, output_path='./')
- evaltools.eval_func.evaluate_EAG.eval_EAG(df_est, step)
統合測位用の(step形式の)呼び出し口
- evaltools.eval_func.evaluate_EAG.eval_EAG_tl(df_gt_data, df_est, ALIP_timerange=[], mode='T')
Calculate Error Accumulation Gradient
- Parameters:
df_gt_data (pandas.DataFrame) – Ground truth, columns: [timestamp, x, y, theta, floor]
df_est (pandas.DataFrame) – Estimated position, columns: [timestamp, x, y, floor, …]
ALIP_timerange (list of float) – Time range, [float, float]
mode ({'T', 'D', 'A'}) – Mode of EAG calculation: Time, Distance, or Angle.
verbose (boolean) – Added intermediate data used for graph plotting to the return value.
- Returns:
result – Error at each timestamp, columns: [timestamp, type, value]
- Return type:
pandas.DataFrame
eval_func.evaluate_FE module
- evaltools.eval_func.evaluate_FE.eval_FE(df_est, step)
Calc CE (評価値まで算出する版。主に最適化用の入口)
- evaltools.eval_func.evaluate_FE.eval_FE_tl(df_gt_data, df_est)
Floor Error timeline
- Parameters:
df_gt_data (pandas.DataFrame [timestamp, x, y, theta, floor]) – ground truth
df_est (pandas.DataFrame [timestamp, x, y, floor, ...]) – estimated position
Retruns
----------
df_floor_error_tl (pandas.DataFrame [timestamp, type, ce])
eval_func.evaluate_OE module
- evaltools.eval_func.evaluate_OE.calc_mapsize(geom)
- evaltools.eval_func.evaluate_OE.check_error(df_est, obstacle, obstacle_cordinate_count, output_path='./output/')
- evaltools.eval_func.evaluate_OE.eval_OE(df_est, step, floor, bitmap_path)
- evaltools.eval_func.evaluate_OE.eval_OE_tl(df_est, obstacle, bitmap_scale=0.01, O=(0, 0))
Calculate Obstacle Error
- Parameters:
df_est (pandas.DataFrame) – Estimated position, columns: [timestamp, x, y, floor, …]
obstacle (bitmap) – 0 : movable, 1 : obstacle
bitmap_scale (float) – scale of bitmap ex) 1/100(m), 1/25(m), 1/10(m)
- Returns:
result – Error at each timestamp, columns: [timestamp, type, value] value: True (in obstacle) or False (out obstacle)
- Return type:
pandas.DataFrame
- evaltools.eval_func.evaluate_OE.eval_OE_tl_multifloor(df_est, obstacle_dict, bitmap_scale=0.01, O=(0, 0))
Supports multiple floors. Currently under development.
- evaltools.eval_func.evaluate_OE.gen_runtime_OE(step, floor, bitmap_path=None)
obstacle 評価関数を実行するのに必要なデータの生成
eval_func.evaluate_PE module
- evaltools.eval_func.evaluate_PE.calc_velocity_from_xy2(df_est, x_column='x', y_column='y', window_time=0.5)
Calc velocity from sum of move distance from -0.5sec to +0.5sec
- evaltools.eval_func.evaluate_PE.eval_PE(pfloc, pdr, target_rate=1.3, valid_vel=1.2)
pdrの移動距離に対してpfloc移動距離が一定倍率を超えないかチェック
- evaltools.eval_func.evaluate_PE.eval_pe(df_est, step, target_rate)
統合測位用の(step形式の)呼び出し口
- evaltools.eval_func.evaluate_PE.main_cl(args)
eval_func.evaluate_RDA module
- evaltools.eval_func.evaluate_RDA.evaluate_RDA_tl(est1, est2, gt1, gt2, setname='')
Calculate Relative-Distance-Accuracy Error
Computes the per-timestamp Euclidean distances between two estimated trajectories, and the error with respect to the corresponding ground-truth distances.
- Parameters:
est1 (pandas.DataFrame) – Estimated trajectory1, columns, [timestamp, x, y, (z,) yaw] or [timestamp, x, y, (z,) qx, qy, qz, qw]
est2 (pandas.DataFrame) – Estimated trajectory2, columns, [timestamp, x, y, (z,) yaw] or [timestamp, x, y, (z,) qx, qy, qz, qw]
gt1 (pandas.DataFrame) – Ground-truth trajectory corresponding to est1, columns, [timestamp, x, y, (z,) yaw] or [timestamp, x, y, (z,) qx, qy, qz, qw]
gt2 (pandas.DataFrame) – Ground-truth trajectory corresponding to est2, columns, [timestamp, x, y, (z,) yaw] or [timestamp, x, y, (z,) qx, qy, qz, qw]
setname (String) – Tag used to separate results by type. Deprecated: use an additional column to distinguish result types instead.
- Returns:
result – Error at each timestamp, columns: [timestamp, type, value]
- Return type:
pandas.DataFrame
- evaltools.eval_func.evaluate_RDA.main_cl(args)
- evaltools.eval_func.evaluate_RDA.plot_graph(RDA, est1, dataname)
eval_func.evaluate_RE module
- evaltools.eval_func.evaluate_RE.calc_RE(df_est, blescans, gis_ble, thresh=-85, txpower=-70, loss_rate=2.1, method='MSE', R=1, output='avg')
- evaltools.eval_func.evaluate_RE.eval_RE(df_est, blescans, gis_ble, thresh=-65, txpower=-70, loss_rate=2.1, method='MSE', R=1, deltaT=10)
- evaltools.eval_func.evaluate_RE.eval_re(df_est, step, method, R, thresh, deltaT)
統合測位用の(step形式の)呼び出し口
- evaltools.eval_func.evaluate_RE.main_cl(args)
eval_func.evaluate_RHA module
- evaltools.eval_func.evaluate_RHA.evaluate_RHA_tl(est1, est2, gt1, gt2, setname='')
Calculate Relative-Heading-Accuracy Error
Computes the per-timestamp heading angle differences between two trajectories, and the error relative to the corresponding ground-truth heading angle differences.
- Parameters:
est1 (pandas.DataFrame) – Estimated trajectory1, columns, [timestamp, x, y, (z,) yaw] or [timestamp, x, y, (z,) qx, qy, qz, qw]
est2 (pandas.DataFrame) – Estimated trajectory2, columns, [timestamp, x, y, (z,) yaw] or [timestamp, x, y, (z,) qx, qy, qz, qw]
gt1 (pandas.DataFrame) – Ground-truth trajectory corresponding to est1, columns, [timestamp, x, y, (z,) yaw] or [timestamp, x, y, (z,) qx, qy, qz, qw]
gt2 (pandas.DataFrame) – Ground-truth trajectory corresponding to est2, columns, [timestamp, x, y, (z,) yaw] or [timestamp, x, y, (z,) qx, qy, qz, qw]
setname (String) – Tag used to separate results by type. Deprecated: use an additional column to distinguish result types instead.
- Returns:
result – Error at each timestamp, columns: [timestamp, type, value]
- Return type:
pandas.DataFrame
- evaltools.eval_func.evaluate_RHA.main_cl(args)
- evaltools.eval_func.evaluate_RHA.plot_graph(RHA, est1, dataname)
- evaltools.eval_func.evaluate_RHA.scale_rad(rad)
-pi < θ <= pi へスケーリング
eval_func.evaluate_RPA module
- evaltools.eval_func.evaluate_RPA.evaluate_RPA_tl(est1, est2, gt1, gt2, id1=1, id2=2)
Calculate Relative-Pose-Accuracy Error
Computes the relative polar coordinate error between two estimated trajectories, compared to the corresponding ground-truth relative polar coordinates.
- Parameters:
est1 (pandas.DataFrame) – Estimated trajectory1, columns, [timestamp, x, y, (z,) yaw] or [timestamp, x, y, (z,) qx, qy, qz, qw]
est2 (pandas.DataFrame) – Estimated trajectory2, columns, [timestamp, x, y, (z,) yaw] or [timestamp, x, y, (z,) qx, qy, qz, qw]
gt1 (pandas.DataFrame) – Ground-truth trajectory corresponding to est1, columns, [timestamp, x, y, (z,) yaw] or [timestamp, x, y, (z,) qx, qy, qz, qw]
gt2 (pandas.DataFrame) – Ground-truth trajectory corresponding to est2, columns, [timestamp, x, y, (z,) yaw] or [timestamp, x, y, (z,) qx, qy, qz, qw]
id1 (String) – A label used to distinguish RPA values computed from the relative coordinates of est1 and est2.
id2 (String) – A label used to distinguish RPA values computed from the relative coordinates of est1 and est2.
- Returns:
result – Error at each timestamp, columns: [timestamp, type, value] type : [rpa_{id1}{id2}, rpa_{id2}{id1}]
- Return type:
pandas.DataFrame
- evaltools.eval_func.evaluate_RPA.main_cl(args)
- evaltools.eval_func.evaluate_RPA.scale_rad(rad)
-pi < θ <= pi へスケーリング
eval_func.evaluate_VE module
- evaltools.eval_func.evaluate_VE.calc_velocity_error_negative_xy(df_est, window_time=0.5)
check abnormal walking velocity (= valid_vel) and calculate rating of abnormal velocity.
calculate velocity from x-y version
- evaltools.eval_func.evaluate_VE.calc_velocity_error_with_gt(df_est, df_gt, window_time=0.5)
Calculate error of (gt_vel - est_vel)
- evaltools.eval_func.evaluate_VE.calc_velocity_from_xy(df_est, x_column='x', y_column='y', diff_rate=1)
Calc velocity from x-y
- evaltools.eval_func.evaluate_VE.calc_velocity_from_xy2(df_est, x_column='x', y_column='y', window_time=0.5)
Calc velocity from sum of move distance from -0.5sec to +0.5sec
- evaltools.eval_func.evaluate_VE.eval_VE(df_est, step=None, valid_vel=1.5)
統合測位用の(step形式の)呼び出し口
- evaltools.eval_func.evaluate_VE.eval_VE_tl(df_est, df_gt=None, window_time=0.5)
Calc Velocity Error
- df_estpandas.DataFrame [timestamp, x, y, floor, …]
estimated position
- df_gtpandas.DataFrame [timestamp, x, y, theta, floor]
ground truth
- window_timefloat
interval time of calcurating velocity vel(t) = {f(t+window_time) - f(t-window_time)}/window_time
- evaltools.eval_func.evaluate_VE.main_negative_vxvy(df_est, valid_vel=1.5, est_timerange=[])
check abnormal walking velocity (= valid_vel) and calculate rate of abnormal velocity.
calculate velocity from vx-vy version
eval_func.evaluate_VR module
- evaltools.eval_func.evaluate_VR.eval_vr(pfloc, method='Median')
速度ベクトル角変化量
- evaltools.eval_func.evaluate_VR.main_cl(args)
- evaltools.eval_func.evaluate_VR.multi_dot(A, B)
- evaltools.eval_func.evaluate_VR.rmse(ndarray, ndarray0=0)
eval_func.evaluate_pdr_Rad module
- evaltools.eval_func.evaluate_pdr_Rad.eval_RadError(gt_data, xdr)
総角度変化量
- evaltools.eval_func.evaluate_pdr_Rad.eval_RadError2(gt_data, xdr)
各時刻方位角の二乗誤差
- evaltools.eval_func.evaluate_pdr_Rad.eval_pdr_rad(gt_data, xdr, squareError=True)
eval_func.evaluate_pdr_Vel module
- evaltools.eval_func.evaluate_pdr_Vel.calc_SumDist(data)
- evaltools.eval_func.evaluate_pdr_Vel.eval_SumDist(gt_data, xdr)
xdrとgtの総移動距離の誤差を評価
- evaltools.eval_func.evaluate_pdr_Vel.eval_VelError(steps, xdr)
速度誤差
- evaltools.eval_func.evaluate_pdr_Vel.eval_VelError2(gt_data, xdr, column_x='vx', column_y='vy')
平滑化後速度誤差評価
- evaltools.eval_func.evaluate_pdr_Vel.eval_pdr_vel(gt_data, xdr)