fix stat
This commit is contained in:
parent
9f3ef716fb
commit
fd7a9dba2e
59
MOAFStat.py
59
MOAFStat.py
@ -61,7 +61,7 @@ def calculate_advanced_statistics(df_result):
|
|||||||
return pd.Series(result_stats)
|
return pd.Series(result_stats)
|
||||||
|
|
||||||
|
|
||||||
def process_autofocus_results(input_file, output_type="distance", group_size=30):
|
def process_autofocus_results(input_file, dataset_type, group_size=30):
|
||||||
# ========== 图片级统计数据 ==========
|
# ========== 图片级统计数据 ==========
|
||||||
# 读取原始数据
|
# 读取原始数据
|
||||||
df_original = pd.read_excel(input_file)
|
df_original = pd.read_excel(input_file)
|
||||||
@ -139,42 +139,23 @@ def process_autofocus_results(input_file, output_type="distance", group_size=30)
|
|||||||
df_result["dof"] = ((550.0 * df_result["rix"]) / (df_result["na"] ** 2)) + ((df_result["rix"] * 3450.0) / (df_result["mag"] * df_result["na"]))
|
df_result["dof"] = ((550.0 * df_result["rix"]) / (df_result["na"] ** 2)) + ((df_result["rix"] * 3450.0) / (df_result["mag"] * df_result["na"]))
|
||||||
|
|
||||||
# 计算绝对/带符号误差/景深比
|
# 计算绝对/带符号误差/景深比
|
||||||
if output_type == "ratio":
|
df_result["error_mean"] = np.abs(df_result["label"] - df_result["pred_mean"])
|
||||||
df_result["error_mean"] = np.abs(df_result["label"] / df_result["dof"] - df_result["pred_mean"])
|
df_result["error_median"] = np.abs(df_result["label"] - df_result["pred_median"])
|
||||||
df_result["error_median"] = np.abs(df_result["label"] / df_result["dof"] - df_result["pred_median"])
|
df_result["error_z_mean"] = np.abs(df_result["label"] - df_result["pred_z_mean"])
|
||||||
df_result["error_z_mean"] = np.abs(df_result["label"] / df_result["dof"] - df_result["pred_z_mean"])
|
df_result["error_z_median"] = np.abs(df_result["label"] - df_result["pred_z_median"])
|
||||||
df_result["error_z_median"] = np.abs(df_result["label"] / df_result["dof"] - df_result["pred_z_median"])
|
df_result["serror_mean"] = df_result["label"] - df_result["pred_mean"]
|
||||||
df_result["serror_mean"] = df_result["label"] / df_result["dof"] - df_result["pred_mean"]
|
df_result["serror_median"] = df_result["label"] - df_result["pred_median"]
|
||||||
df_result["serror_median"] = df_result["label"] / df_result["dof"] - df_result["pred_median"]
|
df_result["serror_z_mean"] = df_result["label"] - df_result["pred_z_mean"]
|
||||||
df_result["serror_z_mean"] = df_result["label"] / df_result["dof"] - df_result["pred_z_mean"]
|
df_result["serror_z_median"] = df_result["label"] - df_result["pred_z_median"]
|
||||||
df_result["serror_z_median"] = df_result["label"] / df_result["dof"] - df_result["pred_z_median"]
|
|
||||||
|
|
||||||
df_result["error_ratio_mean"] = df_result["error_mean"]
|
df_result["error_ratio_mean"] = df_result["error_mean"] / df_result["dof"]
|
||||||
df_result["error_ratio_median"] = df_result["error_median"]
|
df_result["error_ratio_median"] = df_result["error_median"] / df_result["dof"]
|
||||||
df_result["error_ratio_z_mean"] = df_result["error_z_mean"]
|
df_result["error_ratio_z_mean"] = df_result["error_z_mean"] / df_result["dof"]
|
||||||
df_result["error_ratio_z_median"] = df_result["error_z_median"]
|
df_result["error_ratio_z_median"] = df_result["error_z_median"] / df_result["dof"]
|
||||||
df_result["serror_ratio_mean"] = df_result["serror_mean"]
|
df_result["serror_ratio_mean"] = df_result["serror_mean"] / df_result["dof"]
|
||||||
df_result["serror_ratio_median"] = df_result["serror_median"]
|
df_result["serror_ratio_median"] = df_result["serror_median"] / df_result["dof"]
|
||||||
df_result["serror_ratio_z_mean"] = df_result["serror_z_mean"]
|
df_result["serror_ratio_z_mean"] = df_result["serror_z_mean"] / df_result["dof"]
|
||||||
df_result["serror_ratio_z_median"] = df_result["serror_z_median"]
|
df_result["serror_ratio_z_median"] = df_result["serror_z_median"] / df_result["dof"]
|
||||||
else:
|
|
||||||
df_result["error_mean"] = np.abs(df_result["label"] - df_result["pred_mean"])
|
|
||||||
df_result["error_median"] = np.abs(df_result["label"] - df_result["pred_median"])
|
|
||||||
df_result["error_z_mean"] = np.abs(df_result["label"] - df_result["pred_z_mean"])
|
|
||||||
df_result["error_z_median"] = np.abs(df_result["label"] - df_result["pred_z_median"])
|
|
||||||
df_result["serror_mean"] = df_result["label"] - df_result["pred_mean"]
|
|
||||||
df_result["serror_median"] = df_result["label"] - df_result["pred_median"]
|
|
||||||
df_result["serror_z_mean"] = df_result["label"] - df_result["pred_z_mean"]
|
|
||||||
df_result["serror_z_median"] = df_result["label"] - df_result["pred_z_median"]
|
|
||||||
|
|
||||||
df_result["error_ratio_mean"] = df_result["error_mean"] / df_result["dof"]
|
|
||||||
df_result["error_ratio_median"] = df_result["error_median"] / df_result["dof"]
|
|
||||||
df_result["error_ratio_z_mean"] = df_result["error_z_mean"] / df_result["dof"]
|
|
||||||
df_result["error_ratio_z_median"] = df_result["error_z_median"] / df_result["dof"]
|
|
||||||
df_result["serror_ratio_mean"] = df_result["serror_mean"] / df_result["dof"]
|
|
||||||
df_result["serror_ratio_median"] = df_result["serror_median"] / df_result["dof"]
|
|
||||||
df_result["serror_ratio_z_mean"] = df_result["serror_z_mean"] / df_result["dof"]
|
|
||||||
df_result["serror_ratio_z_median"] = df_result["serror_z_median"] / df_result["dof"]
|
|
||||||
|
|
||||||
# 计算方向预测正确性
|
# 计算方向预测正确性
|
||||||
df_result["direction_mean"] = (df_result['label'] * df_result['pred_mean'] >= 0).astype(int)
|
df_result["direction_mean"] = (df_result['label'] * df_result['pred_mean'] >= 0).astype(int)
|
||||||
@ -258,11 +239,11 @@ def main():
|
|||||||
|
|
||||||
# 确定超参数
|
# 确定超参数
|
||||||
model_type = cfg["model_type"]
|
model_type = cfg["model_type"]
|
||||||
output_type = cfg["output_type"]
|
dataset_type = cfg["dataset_type"]
|
||||||
|
|
||||||
result_path = f"results/{model_type}_{output_type}.xlsx"
|
result_path = f"results/{model_type}_{dataset_type}.xlsx"
|
||||||
|
|
||||||
_ = process_autofocus_results(result_path, output_type)
|
_ = process_autofocus_results(result_path, dataset_type)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user