first commit
This commit is contained in:
298
Seg_All_In_One_Analysis/1_Analysis_All.py
Normal file
298
Seg_All_In_One_Analysis/1_Analysis_All.py
Normal file
@@ -0,0 +1,298 @@
|
||||
import os
|
||||
import glob
|
||||
import pandas as pd
|
||||
import matplotlib.pyplot as plt
|
||||
import seaborn as sns
|
||||
import re
|
||||
import argparse
|
||||
from collections import defaultdict
|
||||
|
||||
def get_model_family(model_name):
|
||||
"""
|
||||
根据模型名称提取模型族。
|
||||
例如: 'my_bisenetv1_r50' -> 'my_bisenetv1'
|
||||
'my_fast_scnn' -> 'my_fast_scnn'
|
||||
"""
|
||||
# 使用正则表达式匹配,将 _rXX 或 _dXX 等后缀去掉
|
||||
match = re.match(r'^(.*?)_r\d+$', model_name)
|
||||
if match:
|
||||
return match.group(1)
|
||||
return model_name
|
||||
|
||||
def select_dataset(results_dir):
|
||||
"""
|
||||
扫描目录,对数据集进行分组,让用户交互式选择一个数据集进行合并分析。
|
||||
"""
|
||||
print("正在扫描可用的数据集...")
|
||||
try:
|
||||
# 查找所有匹配后缀的目录
|
||||
all_dirs = glob.glob(os.path.join(results_dir, '*_outputs-MMSeg')) + \
|
||||
glob.glob(os.path.join(results_dir, '*_outputs-SegModel'))
|
||||
|
||||
if not all_dirs:
|
||||
print(f"在 '{results_dir}' 中未找到任何数据集目录 (以 '_outputs-MMSeg' 或 '_outputs-SegModel' 结尾)。")
|
||||
return None, None
|
||||
|
||||
# --- 新增逻辑:按基本数据集名称对目录进行分组 ---
|
||||
datasets_map = defaultdict(list)
|
||||
for dir_path in all_dirs:
|
||||
if os.path.isdir(dir_path):
|
||||
# 提取基本名称,例如 '1_CholecSeg8k-13Type-1920x1080'
|
||||
base_name = re.sub(r'_outputs-(MMSeg|SegModel)$', '', os.path.basename(dir_path))
|
||||
datasets_map[base_name].append(dir_path)
|
||||
|
||||
sorted_dataset_names = sorted(datasets_map.keys())
|
||||
|
||||
except Exception as e:
|
||||
print(f"扫描目录 '{results_dir}' 时出错: {e}")
|
||||
return None, None
|
||||
|
||||
print("\n请选择要合并分析的数据集:")
|
||||
for i, name in enumerate(sorted_dataset_names):
|
||||
# 显示每个数据集包含的源文件夹数量
|
||||
source_count = len(datasets_map[name])
|
||||
print(f" [{i+1}] {name} ({source_count}个源)")
|
||||
|
||||
while True:
|
||||
try:
|
||||
choice = input(f"\n请输入选项编号 (1-{len(sorted_dataset_names)}): ")
|
||||
choice_idx = int(choice) - 1
|
||||
if 0 <= choice_idx < len(sorted_dataset_names):
|
||||
selected_name = sorted_dataset_names[choice_idx]
|
||||
selected_dirs = datasets_map[selected_name] # 获取与所选数据集关联的所有目录
|
||||
return selected_dirs, selected_name
|
||||
else:
|
||||
print("无效的选项,请输入列表中的编号。")
|
||||
except (ValueError, IndexError):
|
||||
print("无效的输入,请输入一个数字编号。")
|
||||
except (KeyboardInterrupt, EOFError):
|
||||
print("\n操作已取消。")
|
||||
return None, None
|
||||
|
||||
def F1_plot_performance_speed(selected_dirs, dataset_name, output_base_dir):
|
||||
"""
|
||||
根据选定的数据集目录列表,加载并合并数据、生成图表和表格,并保存到指定的输出目录。
|
||||
|
||||
Args:
|
||||
selected_dirs (list): 用户选择的原始数据所在的所有目录的列表。
|
||||
dataset_name (str): 从目录名中提取的数据集名称。
|
||||
output_base_dir (str): 保存所有输出文件的根目录。
|
||||
"""
|
||||
print(f"\n正在为数据集 '{dataset_name}' 合并数据并生成图表...")
|
||||
|
||||
# 在指定的输出根目录下,为当前数据集创建一个专属的输出文件夹
|
||||
dataset_output_dir = os.path.join(output_base_dir, dataset_name)
|
||||
os.makedirs(dataset_output_dir, exist_ok=True)
|
||||
print(f"所有输出文件将被保存到: {dataset_output_dir}")
|
||||
|
||||
# --- 修改逻辑:从多个目录加载并合并数据 ---
|
||||
all_metrics = []
|
||||
all_fps = []
|
||||
|
||||
print("正在读取以下来源的数据:")
|
||||
for selected_dir in selected_dirs:
|
||||
print(f" - {os.path.basename(selected_dir)}")
|
||||
metrics_file = os.path.join(selected_dir, f"{dataset_name}_metrics_summary_wide.csv")
|
||||
fps_file = os.path.join(selected_dir, f"{dataset_name}_flops_params_fps_summary.csv")
|
||||
|
||||
# 检查文件是否存在
|
||||
if not os.path.exists(metrics_file) or not os.path.exists(fps_file):
|
||||
print(f" -> 警告: 在目录 '{os.path.basename(selected_dir)}' 中缺少数据文件,已跳过。")
|
||||
continue
|
||||
|
||||
try:
|
||||
metrics_df_part = pd.read_csv(metrics_file)
|
||||
all_metrics.append(metrics_df_part)
|
||||
|
||||
fps_df_part = pd.read_csv(fps_file)
|
||||
all_fps.append(fps_df_part)
|
||||
except Exception as e:
|
||||
print(f" -> 错误: 读取CSV文件时出错: {e}")
|
||||
continue
|
||||
|
||||
if not all_metrics or not all_fps:
|
||||
print("\n错误: 未能从任何有效的源目录中加载数据,无法继续生成报告。")
|
||||
return
|
||||
|
||||
# 合并来自所有源的数据
|
||||
metrics_df = pd.concat(all_metrics, ignore_index=True)
|
||||
fps_df = pd.concat(all_fps, ignore_index=True)
|
||||
print("\n数据合并完成。")
|
||||
|
||||
# 对合并后的数据进行去重处理
|
||||
if 'Epoch' in metrics_df.columns:
|
||||
metrics_df = metrics_df.sort_values('Epoch', ascending=False).drop_duplicates('Algorithm')
|
||||
else:
|
||||
metrics_df = metrics_df.drop_duplicates('Algorithm')
|
||||
|
||||
fps_df = fps_df.drop_duplicates('Model')
|
||||
|
||||
# 合并两个DataFrame
|
||||
merged_df = pd.merge(metrics_df, fps_df, left_on='Algorithm', right_on='Model', how='inner')
|
||||
|
||||
if merged_df.empty:
|
||||
print("错误: 数据合并失败。请检查 'Algorithm' 和 'Model' 列中的模型名称是否完全匹配。")
|
||||
print(f" - 指标文件中的模型: {metrics_df['Algorithm'].unique()}")
|
||||
print(f" - 性能文件中的模型: {fps_df['Model'].unique()}")
|
||||
return
|
||||
|
||||
# 调用函数创建并保存摘要表格到新的输出目录
|
||||
T1_create_and_save_summary_table(merged_df, dataset_output_dir, dataset_name)
|
||||
|
||||
# 调用函数来提取和保存所有IoU数据到新的输出目录
|
||||
T2_extract_and_save_iou_data(metrics_df, dataset_output_dir, dataset_name)
|
||||
|
||||
# 提取模型族
|
||||
merged_df['Family'] = merged_df['Model'].apply(get_model_family)
|
||||
|
||||
# --- 绘图 ---
|
||||
plt.style.use('seaborn-v0_8-whitegrid')
|
||||
fig, ax = plt.subplots(figsize=(16, 10))
|
||||
|
||||
# 定义颜色和标记
|
||||
families = sorted(merged_df['Family'].unique())
|
||||
palette = sns.color_palette("husl", len(families))
|
||||
markers = ['o', 's', 'X', 'D', '^', 'P', '*', 'v', '<', '>']
|
||||
|
||||
# 循环绘制每个模型族
|
||||
for i, family in enumerate(families):
|
||||
family_df = merged_df[merged_df['Family'] == family].sort_values('Average_FPS')
|
||||
color = palette[i]
|
||||
marker = markers[i % len(markers)]
|
||||
|
||||
# 绘制散点
|
||||
ax.scatter(family_df['Average_FPS'], family_df['mIoU'],
|
||||
color=color, marker=marker, s=150, label=family, zorder=3)
|
||||
|
||||
# 如果族内有多个模型,则用线连接
|
||||
if len(family_df) > 1:
|
||||
ax.plot(family_df['Average_FPS'], family_df['mIoU'],
|
||||
color=color, linestyle='--', linewidth=1.5, zorder=2)
|
||||
|
||||
# 在每个点旁边添加模型全名注释
|
||||
for j, row in family_df.iterrows():
|
||||
ax.text(row['Average_FPS'] * 1.01, row['mIoU'], row['Model'],
|
||||
fontsize=9, verticalalignment='center')
|
||||
|
||||
# 设置图表属性
|
||||
ax.set_title(f'Model Performance vs. Inference Speed ({dataset_name})', fontsize=18, pad=20)
|
||||
ax.set_xlabel('Inference Speed (FPS)', fontsize=14)
|
||||
ax.set_ylabel('Mean IoU (%)', fontsize=14)
|
||||
ax.legend(title='Model Family', bbox_to_anchor=(1.02, 1), loc='upper left', borderaxespad=0.)
|
||||
|
||||
plt.tight_layout(rect=[0, 0, 0.88, 1]) # 调整布局为图例留出空间
|
||||
plt.grid(True, which='both', linestyle='--', linewidth=0.5)
|
||||
|
||||
# 保存图表到新的输出目录
|
||||
output_filename_png = f"F1_{dataset_name}_mIoU_vs_FPS.png"
|
||||
save_file_path_png = os.path.join(dataset_output_dir, output_filename_png)
|
||||
plt.savefig(save_file_path_png, dpi=600)
|
||||
|
||||
output_filename_svg = f"F1_{dataset_name}_mIoU_vs_FPS.svg"
|
||||
save_file_path_svg = os.path.join(dataset_output_dir, output_filename_svg)
|
||||
plt.savefig(save_file_path_svg)
|
||||
|
||||
print(f"\n图表已成功生成并保存为: {save_file_path_svg} 和 {save_file_path_png}")
|
||||
plt.close(fig) # 关闭图形,避免在循环中使用时重复显示
|
||||
|
||||
def T1_create_and_save_summary_table(merged_df, output_dir, dataset_name):
|
||||
"""
|
||||
根据合并后的数据创建、格式化并保存性能摘要表格。
|
||||
"""
|
||||
print("正在创建摘要表格...")
|
||||
|
||||
# 检查所需列是否存在
|
||||
required_columns = ['Model', 'mIoU', 'mAcc', 'aAcc', 'Average_FPS', 'FLOPs', 'Params']
|
||||
if not all(col in merged_df.columns for col in required_columns):
|
||||
print("错误: DataFrame中缺少必要的列。请检查CSV文件内容。")
|
||||
print(f" - 需要的列: {required_columns}")
|
||||
print(f" - 实际的列: {merged_df.columns.tolist()}")
|
||||
return
|
||||
|
||||
# 提取并复制数据,避免修改原始DataFrame
|
||||
summary_df = merged_df[required_columns].copy()
|
||||
|
||||
# 清理和转换数据
|
||||
summary_df['FLOPs'] = summary_df['FLOPs'].astype(str).str.replace(r'\s*G', '', regex=True).astype(float)
|
||||
summary_df['Params'] = summary_df['Params'].astype(str).str.replace(r'\s*M', '', regex=True).astype(float)
|
||||
|
||||
# 按照用户的要求重命名列
|
||||
summary_df.rename(columns={
|
||||
'Average_FPS': 'FPS',
|
||||
'FLOPs': 'FLOPs(G)',
|
||||
'Params': 'Params(M)'
|
||||
}, inplace=True)
|
||||
|
||||
# 按 mIoU 降序排序
|
||||
summary_df = summary_df.sort_values(by='mIoU', ascending=False)
|
||||
|
||||
# 保存表格到CSV文件
|
||||
summary_filename = f"T1_{dataset_name}_performance_summary.csv"
|
||||
summary_save_path = os.path.join(output_dir, summary_filename)
|
||||
|
||||
try:
|
||||
summary_df.to_csv(summary_save_path, index=False, float_format='%.3f')
|
||||
print(f"摘要表格已成功保存到: {summary_save_path}")
|
||||
except Exception as e:
|
||||
print(f"保存摘要表格时出错: {e}")
|
||||
|
||||
def T2_extract_and_save_iou_data(metrics_df, output_dir, dataset_name):
|
||||
"""
|
||||
从 metrics DataFrame 中提取所有 mIoU 和 Class_IoU,并保存到新的CSV文件。
|
||||
"""
|
||||
print("正在提取所有 mIoU 和 Class_IoU 数据...")
|
||||
|
||||
# 检查'Algorithm'列是否存在
|
||||
if 'Algorithm' not in metrics_df.columns:
|
||||
print("错误: 'Algorithm' 列未找到,无法继续。")
|
||||
return
|
||||
|
||||
# 找出所有与IoU相关的列
|
||||
iou_columns = ['Algorithm', 'mIoU'] + [col for col in metrics_df.columns if col.endswith('_IoU') and col != 'mIoU']
|
||||
|
||||
# 移除重复的列名(以防万一)
|
||||
iou_columns = list(dict.fromkeys(iou_columns))
|
||||
|
||||
# 提取数据
|
||||
iou_df = metrics_df[iou_columns].copy()
|
||||
|
||||
# 按 mIoU 降序排序,便于查看
|
||||
if 'mIoU' in iou_df.columns:
|
||||
iou_df = iou_df.sort_values(by='mIoU', ascending=False)
|
||||
|
||||
# 定义并保存文件
|
||||
iou_filename = f"T2_{dataset_name}_all_iou_summary.csv"
|
||||
iou_save_path = os.path.join(output_dir, iou_filename)
|
||||
|
||||
try:
|
||||
iou_df.to_csv(iou_save_path, index=False, float_format='%.2f')
|
||||
print(f"所有IoU数据已成功保存到: {iou_save_path}")
|
||||
except Exception as e:
|
||||
print(f"保存IoU数据时出错: {e}")
|
||||
|
||||
if __name__ == '__main__':
|
||||
# --- 设置命令行参数解析 ---
|
||||
parser = argparse.ArgumentParser(description="从模型评估结果生成性能与速度对比图和摘要表。")
|
||||
parser.add_argument(
|
||||
'--input_dir',
|
||||
type=str,
|
||||
default='../BestMode_Predict_Results_DataSet_Public',
|
||||
help="包含所有数据集结果的根目录 (例如 '..._outputs-MMSeg' 或 '..._outputs-SegModel' 的父目录)。"
|
||||
)
|
||||
parser.add_argument(
|
||||
'--output_dir',
|
||||
type=str,
|
||||
default='./',
|
||||
help="用于存储所有生成的图表和表格的根目录。"
|
||||
)
|
||||
args = parser.parse_args()
|
||||
|
||||
# 确保输出目录存在
|
||||
os.makedirs(args.output_dir, exist_ok=True)
|
||||
|
||||
# 启动交互式选择
|
||||
selected_directories, selected_dataset_name = select_dataset(args.input_dir)
|
||||
|
||||
# 如果用户成功选择,则生成图表和表格
|
||||
if selected_directories and selected_dataset_name:
|
||||
F1_plot_performance_speed(selected_directories, selected_dataset_name, args.output_dir)
|
||||
File diff suppressed because it is too large
Load Diff
|
After Width: | Height: | Size: 86 KiB |
@@ -0,0 +1,21 @@
|
||||
Model,mIoU,mAcc,aAcc,FPS,FLOPs(G),Params(M)
|
||||
UnetPlusPlus,96.860,95.430,99.750,11.940,590.910,26.080
|
||||
UPerNet,96.670,95.380,99.740,17.250,574.480,29.600
|
||||
MAnet,96.630,94.960,99.740,23.480,271.820,31.790
|
||||
Unet,96.590,95.520,99.730,26.290,253.380,24.440
|
||||
DeepLabV3Plus,96.500,94.990,99.730,33.210,252.410,22.440
|
||||
Linknet,96.460,94.550,99.720,32.820,161.800,21.770
|
||||
Segformer,96.450,94.880,99.720,21.020,209.450,21.880
|
||||
DeepLabV3,96.420,94.730,99.720,13.860,871.240,26.010
|
||||
FPN,96.410,94.740,99.720,34.920,219.570,23.160
|
||||
PAN,96.370,94.480,99.720,37.630,238.120,21.480
|
||||
DPT,96.310,94.900,99.710,1.900,1696.580,137.810
|
||||
PSPNet,96.010,94.610,99.690,79.510,76.810,21.490
|
||||
my_fastfcn_r50,89.740,94.210,97.830,10.620,1032.000,66.346
|
||||
my_icnet_r50,88.840,93.150,97.780,58.690,122.000,47.527
|
||||
my_icnet_r18,85.760,92.400,96.600,101.260,73.869,24.873
|
||||
my_bisenetv1_r50,82.640,89.980,95.690,13.630,784.000,56.867
|
||||
my_bisenetv1_r18,82.610,89.220,94.890,66.760,118.000,13.274
|
||||
my_bisenetv2,74.610,82.580,92.090,68.050,97.578,3.353
|
||||
my_fast_scnn,69.290,76.970,93.650,179.900,7.426,1.400
|
||||
my_en_bisenetv2,30.950,44.500,67.960,66.090,62.729,2.776
|
||||
|
@@ -0,0 +1,21 @@
|
||||
Algorithm,mIoU,10_IoU,11_IoU,12_IoU,1_IoU,2_IoU,3_IoU,4_IoU,5_IoU,6_IoU,7_IoU,8_IoU,9_IoU,背景_IoU
|
||||
UnetPlusPlus,96.86,84.08,71.33,99.41,96.18,96.27,94.45,91.76,90.90,92.24,93.28,79.37,98.01,97.99
|
||||
UPerNet,96.67,83.18,71.32,99.32,95.95,96.10,94.12,90.87,90.75,92.12,92.90,78.68,97.92,97.85
|
||||
MAnet,96.63,83.84,69.46,99.34,95.94,96.05,94.00,91.09,90.14,91.92,92.85,78.50,98.05,97.82
|
||||
Unet,96.59,83.11,71.34,99.34,95.88,96.01,93.90,90.62,90.34,91.67,92.45,79.29,97.73,97.81
|
||||
DeepLabV3Plus,96.50,83.07,71.81,99.28,95.86,95.85,93.77,89.92,90.31,91.77,92.17,78.45,97.69,97.73
|
||||
Linknet,96.46,81.22,71.54,99.33,95.69,95.83,93.64,89.90,90.38,91.54,92.29,78.48,97.57,97.71
|
||||
Segformer,96.45,81.30,67.75,99.27,95.74,95.85,93.56,89.94,89.98,91.87,92.42,78.16,97.80,97.73
|
||||
DeepLabV3,96.42,82.35,67.37,99.26,95.76,95.78,93.51,88.96,90.20,91.91,92.48,76.75,97.86,97.75
|
||||
FPN,96.41,82.43,69.98,99.24,95.71,95.74,93.61,89.88,90.22,91.74,92.23,77.50,97.76,97.69
|
||||
PAN,96.37,81.33,71.47,99.24,95.65,95.77,93.51,89.62,90.08,91.60,92.43,77.88,97.81,97.61
|
||||
DPT,96.31,83.17,70.59,99.27,95.49,95.64,93.48,89.71,90.34,91.36,92.53,78.20,97.63,97.53
|
||||
PSPNet,96.01,81.24,68.49,99.13,95.33,95.30,92.75,87.61,89.36,91.01,91.76,76.03,97.51,97.45
|
||||
my_fastfcn_r50,89.74,83.23,64.19,97.57,95.43,95.86,94.40,91.26,89.54,90.49,93.22,76.89,97.98,96.56
|
||||
my_icnet_r50,88.84,80.89,61.34,97.85,94.99,95.16,93.92,89.80,89.45,89.54,91.77,75.20,97.76,97.26
|
||||
my_icnet_r18,85.76,79.53,60.25,94.73,93.08,94.07,92.81,84.45,87.61,83.91,91.24,73.36,84.31,95.45
|
||||
my_bisenetv1_r50,82.64,80.56,67.31,97.75,91.70,91.28,85.29,83.91,84.91,73.37,80.36,71.34,74.45,92.07
|
||||
my_bisenetv1_r18,82.61,74.28,59.56,94.47,88.80,91.20,88.70,87.56,84.82,78.50,86.37,68.96,80.99,89.71
|
||||
my_bisenetv2,74.61,71.97,0.00,88.12,89.12,85.45,84.42,77.65,77.16,75.13,87.12,65.45,86.14,82.19
|
||||
my_fast_scnn,69.29,0.00,0.00,92.37,86.24,88.04,82.33,78.77,76.54,80.84,84.43,63.59,76.35,91.32
|
||||
my_en_bisenetv2,30.95,0.00,0.00,79.41,56.32,44.01,28.35,27.32,47.21,20.52,26.05,27.07,0.00,46.09
|
||||
|
File diff suppressed because it is too large
Load Diff
|
After Width: | Height: | Size: 84 KiB |
@@ -0,0 +1,21 @@
|
||||
Model,mIoU,mAcc,aAcc,FPS,FLOPs(G),Params(M)
|
||||
DeepLabV3,80.740,83.990,99.520,14.030,871.240,26.010
|
||||
PSPNet,79.980,83.730,99.500,79.650,76.810,21.490
|
||||
UPerNet,79.960,85.130,99.500,17.440,574.480,29.600
|
||||
PAN,79.730,83.990,99.500,38.020,238.120,21.480
|
||||
DeepLabV3Plus,79.610,85.070,99.480,33.420,252.410,22.440
|
||||
Segformer,79.250,83.200,99.480,21.050,209.450,21.880
|
||||
FPN,78.990,83.980,99.470,35.060,219.570,23.160
|
||||
MAnet,77.380,82.040,99.420,23.610,271.820,31.790
|
||||
UnetPlusPlus,77.250,81.010,99.440,12.080,590.910,26.080
|
||||
Unet,76.160,83.160,99.380,26.410,253.380,24.440
|
||||
Linknet,75.510,81.050,99.380,33.040,161.800,21.770
|
||||
my_fastfcn_r50,71.040,79.630,92.280,10.610,1032.000,66.346
|
||||
my_icnet_r50,70.900,78.660,94.020,59.150,122.000,47.526
|
||||
my_icnet_r18,64.370,76.040,91.130,102.830,73.857,24.873
|
||||
DPT,58.120,62.610,98.840,1.910,1696.580,137.810
|
||||
my_bisenetv1_r50,49.540,70.640,85.890,13.670,784.000,56.864
|
||||
my_bisenetv1_r18,43.630,51.500,86.400,67.190,118.000,13.273
|
||||
my_fast_scnn,35.470,53.070,78.230,178.010,7.426,1.400
|
||||
my_bisenetv2,30.770,46.870,67.040,68.880,97.479,3.350
|
||||
my_en_bisenetv2,21.060,28.780,81.280,66.830,62.629,2.773
|
||||
|
@@ -0,0 +1,21 @@
|
||||
Algorithm,mIoU,1_IoU,2_IoU,3_IoU,4_IoU,5_IoU,6_IoU,7_IoU,8_IoU,9_IoU,背景_IoU
|
||||
DeepLabV3,80.74,68.94,77.29,80.52,86.86,67.33,78.49,40.91,85.00,80.77,95.97
|
||||
PSPNet,79.98,66.02,78.51,79.55,86.79,65.31,81.79,43.71,88.19,78.72,95.59
|
||||
UPerNet,79.96,68.17,79.22,79.58,88.29,66.22,76.92,48.90,87.01,78.32,95.69
|
||||
PAN,79.73,68.17,79.87,80.10,87.75,67.79,80.61,45.17,85.84,77.10,95.55
|
||||
DeepLabV3Plus,79.61,67.65,80.67,79.04,86.41,67.82,78.38,45.17,84.93,78.48,95.51
|
||||
Segformer,79.25,70.26,80.48,79.32,86.77,64.76,77.48,40.30,86.94,76.90,95.67
|
||||
FPN,78.99,64.32,76.67,77.73,85.13,66.86,80.62,41.37,86.36,78.77,95.61
|
||||
MAnet,77.38,68.36,75.96,76.54,85.39,64.29,75.99,42.33,80.07,76.40,95.13
|
||||
UnetPlusPlus,77.25,68.41,80.79,78.11,88.39,61.29,75.66,43.16,78.42,73.51,95.01
|
||||
Unet,76.16,65.81,75.72,77.40,86.54,64.59,78.09,41.00,86.14,71.37,94.50
|
||||
Linknet,75.51,67.53,72.66,77.15,85.43,62.20,66.99,42.97,80.32,72.87,94.71
|
||||
my_fastfcn_r50,71.04,72.94,75.20,83.46,86.34,75.83,79.99,15.77,77.42,52.27,91.19
|
||||
my_icnet_r50,70.90,70.59,79.88,82.49,88.10,75.12,84.08,0.00,76.83,58.64,93.31
|
||||
my_icnet_r18,64.37,68.27,66.15,76.69,80.02,69.07,77.24,0.00,67.25,48.86,90.15
|
||||
DPT,58.12,35.86,57.90,52.58,69.75,25.48,51.48,11.85,64.40,61.94,90.98
|
||||
my_bisenetv1_r50,49.54,41.45,52.43,51.70,70.38,31.42,58.09,4.18,58.32,42.20,85.24
|
||||
my_bisenetv1_r18,43.63,40.48,33.63,57.69,68.59,18.73,41.95,5.47,46.50,37.73,85.56
|
||||
my_fast_scnn,35.47,17.13,31.73,32.59,67.72,13.07,44.63,0.00,39.41,30.97,77.47
|
||||
my_bisenetv2,30.77,13.45,36.67,16.43,60.36,13.90,36.03,0.00,37.48,28.07,65.35
|
||||
my_en_bisenetv2,21.06,1.90,15.66,34.99,36.61,5.25,18.82,0.00,14.46,0.37,82.57
|
||||
|
File diff suppressed because it is too large
Load Diff
|
After Width: | Height: | Size: 81 KiB |
@@ -0,0 +1,21 @@
|
||||
Model,mIoU,mAcc,aAcc,FPS,FLOPs(G),Params(M)
|
||||
FPN,77.150,91.110,99.500,204.850,27.550,23.160
|
||||
DeepLabV3,77.110,92.370,99.490,94.790,109.330,26.010
|
||||
PAN,76.600,90.580,99.480,234.070,29.880,21.480
|
||||
UPerNet,75.930,90.910,99.450,107.590,72.100,29.600
|
||||
UnetPlusPlus,75.800,90.720,99.460,89.430,74.150,26.080
|
||||
Segformer,75.080,88.260,99.450,151.560,26.280,21.880
|
||||
PSPNet,74.850,86.440,99.450,573.660,9.640,21.490
|
||||
Unet,73.860,89.190,99.410,173.520,31.800,24.440
|
||||
DeepLabV3Plus,73.830,86.410,99.420,208.780,31.680,22.440
|
||||
Linknet,73.790,87.770,99.410,197.430,20.300,21.770
|
||||
MAnet,73.630,89.900,99.400,152.330,33.850,31.790
|
||||
my_fastfcn_r50,61.430,90.120,97.480,71.100,130.000,66.346
|
||||
DPT,61.420,82.190,99.070,30.180,212.980,137.810
|
||||
my_bisenetv1_r50,59.590,84.700,95.770,88.970,98.945,56.862
|
||||
my_icnet_r50,57.840,80.930,94.950,179.660,15.428,47.526
|
||||
my_icnet_r18,57.350,88.250,96.590,268.050,9.360,24.873
|
||||
my_bisenetv1_r18,56.730,84.610,96.770,310.400,14.827,13.273
|
||||
my_bisenetv2,45.950,73.530,94.010,223.740,12.311,3.348
|
||||
my_fast_scnn,41.590,67.120,92.870,314.130,0.936,1.400
|
||||
my_en_bisenetv2,26.470,47.770,88.930,167.350,7.907,2.771
|
||||
|
@@ -0,0 +1,21 @@
|
||||
Algorithm,mIoU,1_IoU,2_IoU,3_IoU,4_IoU,6_IoU,背景_IoU,5_IoU,7_IoU
|
||||
FPN,77.15,68.36,56.28,89.32,75.57,90.63,97.53,0.00,0.00
|
||||
DeepLabV3,77.11,70.40,56.63,88.94,75.66,91.14,97.59,0.00,0.00
|
||||
PAN,76.60,67.15,58.83,88.96,66.32,93.62,97.63,0.00,0.00
|
||||
UPerNet,75.93,70.51,55.94,87.54,66.97,93.12,97.42,0.00,0.00
|
||||
UnetPlusPlus,75.80,71.10,53.32,89.23,62.62,92.12,97.61,0.00,0.00
|
||||
Segformer,75.08,69.28,51.50,89.63,60.44,89.39,97.46,0.00,0.00
|
||||
PSPNet,74.85,69.13,59.87,89.43,41.93,88.80,97.14,0.00,0.00
|
||||
Unet,73.86,70.85,47.93,88.16,65.93,81.26,97.40,0.00,0.00
|
||||
DeepLabV3Plus,73.83,67.50,55.09,88.72,43.60,89.56,97.30,0.00,0.00
|
||||
Linknet,73.79,70.46,51.28,88.14,61.32,74.38,97.41,0.00,0.00
|
||||
MAnet,73.63,69.37,50.95,86.99,64.69,88.41,97.27,0.00,0.00
|
||||
my_fastfcn_r50,61.43,75.72,61.00,89.72,74.27,92.82,97.88,,
|
||||
DPT,61.42,53.96,44.36,74.11,42.46,72.76,95.73,0.00,0.00
|
||||
my_bisenetv1_r50,59.59,55.03,44.88,81.05,56.63,82.73,96.78,,
|
||||
my_icnet_r50,57.84,55.85,40.23,81.41,59.23,72.62,95.51,,
|
||||
my_icnet_r18,57.35,67.17,51.83,88.81,66.89,87.06,97.04,,
|
||||
my_bisenetv1_r18,56.73,65.55,56.03,89.65,54.60,90.81,97.18,,
|
||||
my_bisenetv2,45.95,35.33,43.64,75.24,32.28,86.09,95.00,,
|
||||
my_fast_scnn,41.59,33.67,19.74,60.73,38.78,84.75,95.02,,
|
||||
my_en_bisenetv2,26.47,21.72,3.36,51.58,1.01,42.74,91.37,,
|
||||
|
File diff suppressed because it is too large
Load Diff
|
After Width: | Height: | Size: 84 KiB |
@@ -0,0 +1,21 @@
|
||||
Model,mIoU,mAcc,aAcc,FPS,FLOPs(G),Params(M)
|
||||
MAnet,93.900,84.990,99.210,151.600,33.850,31.790
|
||||
Segformer,93.280,82.550,99.130,151.930,26.280,21.880
|
||||
UnetPlusPlus,92.970,82.760,99.090,90.260,74.150,26.080
|
||||
FPN,92.670,82.440,99.050,207.350,27.550,23.160
|
||||
DeepLabV3,92.550,82.140,99.030,92.870,109.330,26.010
|
||||
Unet,92.530,79.230,99.030,177.100,31.800,24.440
|
||||
PAN,92.480,81.380,99.020,232.430,29.880,21.480
|
||||
UPerNet,92.180,80.020,98.980,105.860,72.100,29.600
|
||||
Linknet,92.060,79.170,98.970,199.680,20.300,21.770
|
||||
PSPNet,91.940,76.940,98.950,578.550,9.640,21.490
|
||||
DeepLabV3Plus,91.500,78.630,98.890,213.500,31.680,22.440
|
||||
DPT,87.840,72.480,98.380,30.860,212.980,137.810
|
||||
my_fastfcn_r50,55.340,84.060,96.630,71.420,130.000,66.346
|
||||
my_icnet_r50,50.400,78.440,95.210,202.090,15.428,47.526
|
||||
my_bisenetv1_r50,49.620,78.030,96.150,88.850,98.945,56.862
|
||||
my_icnet_r18,47.540,76.700,94.100,275.600,9.360,24.873
|
||||
my_bisenetv1_r18,45.020,67.190,95.580,346.950,14.827,13.273
|
||||
my_bisenetv2,38.850,65.830,93.150,243.230,12.311,3.348
|
||||
my_fast_scnn,36.200,61.550,92.870,381.410,0.936,1.400
|
||||
my_en_bisenetv2,21.760,41.090,86.700,203.200,7.907,2.771
|
||||
|
@@ -0,0 +1,21 @@
|
||||
Algorithm,mIoU,1_IoU,2_IoU,3_IoU,4_IoU,6_IoU,背景_IoU,5_IoU,7_IoU
|
||||
MAnet,93.90,70.53,46.86,88.84,50.14,73.06,97.91,0.00,0.00
|
||||
Segformer,93.28,68.10,50.06,85.56,36.53,75.76,97.56,0.00,0.00
|
||||
UnetPlusPlus,92.97,64.84,47.57,81.19,59.57,62.17,97.61,0.00,0.00
|
||||
FPN,92.67,63.45,39.01,89.55,41.62,55.78,97.70,0.00,0.00
|
||||
DeepLabV3,92.55,68.69,38.16,83.63,42.43,56.29,97.59,0.00,0.00
|
||||
Unet,92.53,64.81,44.44,81.98,34.55,60.02,97.52,0.00,0.00
|
||||
PAN,92.48,64.05,37.24,81.88,47.61,63.51,97.47,0.00,0.00
|
||||
UPerNet,92.18,68.07,37.63,83.54,39.83,44.67,97.68,0.00,0.00
|
||||
Linknet,92.06,57.25,42.14,86.36,31.33,61.26,97.65,0.00,0.00
|
||||
PSPNet,91.94,62.48,37.34,82.50,19.62,61.92,97.44,0.00,0.00
|
||||
DeepLabV3Plus,91.50,62.77,36.12,76.23,40.89,55.95,97.32,0.00,0.00
|
||||
DPT,87.84,52.03,29.80,67.47,24.96,44.50,94.84,0.00,0.00
|
||||
my_fastfcn_r50,55.34,71.20,55.69,85.87,60.47,72.04,97.47,,
|
||||
my_icnet_r50,50.40,61.35,42.53,78.21,62.38,62.30,96.39,,
|
||||
my_bisenetv1_r50,49.62,63.38,40.38,82.82,47.85,64.80,97.78,,
|
||||
my_icnet_r18,47.54,48.47,27.63,83.13,55.34,70.40,95.37,,
|
||||
my_bisenetv1_r18,45.02,60.13,35.97,81.80,30.29,54.89,97.10,,
|
||||
my_bisenetv2,38.85,47.72,28.29,73.87,24.03,41.84,95.06,,
|
||||
my_fast_scnn,36.20,36.31,19.69,59.68,31.48,46.85,95.56,,
|
||||
my_en_bisenetv2,21.76,19.78,7.06,38.84,0.06,18.16,90.16,,
|
||||
|
File diff suppressed because it is too large
Load Diff
|
After Width: | Height: | Size: 84 KiB |
@@ -0,0 +1,21 @@
|
||||
Model,mIoU,mAcc,aAcc,FPS,FLOPs(G),Params(M)
|
||||
MAnet,92.710,58.340,99.310,152.290,33.850,31.790
|
||||
my_fastfcn_r50,37.810,51.890,96.480,71.040,130.000,66.346
|
||||
my_icnet_r50,35.930,54.750,95.850,193.830,15.430,47.526
|
||||
my_icnet_r18,34.840,47.480,95.570,286.580,9.362,24.873
|
||||
my_bisenetv1_r50,33.600,48.180,95.950,88.460,98.957,56.865
|
||||
PAN,32.230,52.260,99.570,238.750,29.880,21.480
|
||||
FPN,31.480,50.620,99.500,208.170,27.550,23.160
|
||||
UPerNet,30.810,56.260,99.540,108.960,72.100,29.600
|
||||
PSPNet,30.460,48.110,99.580,586.440,9.640,21.490
|
||||
DeepLabV3,30.440,45.870,99.550,96.470,109.330,26.010
|
||||
DeepLabV3Plus,30.390,53.560,99.520,218.940,31.680,22.440
|
||||
Segformer,30.280,50.430,99.550,153.490,26.280,21.880
|
||||
my_bisenetv1_r18,29.660,36.130,96.230,316.660,14.830,13.273
|
||||
Unet,29.560,48.490,99.500,177.730,31.800,24.440
|
||||
UnetPlusPlus,29.020,46.550,99.530,91.560,74.150,26.080
|
||||
Linknet,27.440,45.720,99.520,202.960,20.300,21.770
|
||||
my_bisenetv2,26.790,48.100,94.290,220.480,12.323,3.351
|
||||
my_fast_scnn,24.240,38.810,94.450,318.670,0.936,1.400
|
||||
DPT,12.740,27.010,99.490,30.930,212.980,137.810
|
||||
my_en_bisenetv2,12.710,29.950,85.020,202.950,7.919,2.774
|
||||
|
@@ -0,0 +1,21 @@
|
||||
Algorithm,mIoU,10_IoU,1_IoU,2_IoU,4_IoU,5_IoU,6_IoU,7_IoU,8_IoU,9_IoU,背景_IoU,3_IoU
|
||||
MAnet,92.71,35.32,26.82,27.63,69.93,17.24,1.35,68.73,39.18,18.98,96.27,0.00
|
||||
my_fastfcn_r50,37.81,38.43,20.81,34.67,71.51,20.69,0.00,63.65,45.78,23.86,96.53,
|
||||
my_icnet_r50,35.93,37.37,25.03,26.86,63.67,21.21,1.01,64.49,41.90,17.85,95.88,
|
||||
my_icnet_r18,34.84,37.50,29.12,26.10,67.33,17.58,0.17,64.91,38.94,5.98,95.65,
|
||||
my_bisenetv1_r50,33.60,33.75,23.22,33.49,57.73,7.82,0.54,61.04,39.39,16.52,96.05,
|
||||
PAN,32.23,24.44,27.98,17.51,55.65,14.65,1.28,52.96,33.81,14.59,95.93,0.00
|
||||
FPN,31.48,26.46,27.38,16.61,54.84,13.75,0.10,52.75,30.84,14.13,95.44,0.00
|
||||
UPerNet,30.81,25.82,23.85,18.94,48.88,19.74,3.77,55.93,28.24,13.85,95.60,0.00
|
||||
PSPNet,30.46,22.59,24.88,13.77,52.96,10.33,2.15,57.02,32.44,11.20,95.99,0.00
|
||||
DeepLabV3,30.44,20.32,23.59,9.83,53.98,12.70,0.00,54.00,33.47,12.89,95.82,0.00
|
||||
DeepLabV3Plus,30.39,21.50,25.78,16.46,55.69,14.54,1.83,49.53,31.38,9.97,95.64,0.00
|
||||
Segformer,30.28,29.15,22.06,13.37,52.94,11.50,0.52,58.03,40.69,16.09,95.76,0.00
|
||||
my_bisenetv1_r18,29.66,31.09,13.25,24.55,57.82,7.06,0.00,41.10,38.13,16.98,96.25,
|
||||
Unet,29.56,24.81,26.57,8.55,47.35,16.95,0.00,41.73,32.39,14.65,95.35,0.00
|
||||
UnetPlusPlus,29.02,15.46,25.18,9.08,49.10,17.60,0.33,56.31,31.64,12.25,95.60,0.00
|
||||
Linknet,27.44,20.81,22.23,14.15,48.85,15.84,0.01,54.10,28.56,10.97,95.59,0.00
|
||||
my_bisenetv2,26.79,15.92,20.58,16.00,53.72,10.36,0.42,37.73,38.00,7.52,94.43,
|
||||
my_fast_scnn,24.24,0.45,20.35,10.26,57.55,0.00,0.47,33.80,24.96,0.00,94.61,
|
||||
DPT,12.74,0.00,2.63,0.00,30.18,0.00,0.22,13.80,12.37,0.00,95.15,0.00
|
||||
my_en_bisenetv2,12.71,0.00,12.19,0.00,35.31,0.00,0.14,1.78,4.69,0.00,85.72,
|
||||
|
Reference in New Issue
Block a user