目录
参数含义
效果演示
evo_res no_l.zip l.zip
evo_res no_l.zip l.zip -v
输出相关指令
evo_res no_l.zip l.zip -p
evo_res no_l.zip l.zip -p --plot_markers
evo_res no_l.zip l.zip --save_plot ./plot.pdf
evo_res no_l.zip l.zip --serialize_plot ./serial
evo_res no_l.zip l.zip --save_table ./table.txt
evo_res no_l.zip l.zip --logfile ./log
其他参数
evo_res no_l.zip l.zip --use_filenames
evo_res no_l.zip l.zip --ignore_title
evo_res no_l.zip l.zip --silent
evo_res no_l.zip l.zip --debug
效果不明显的参数
evo_res no_l.zip l.zip --use_rel_time
evo_res no_l.zip l.zip --no_warnings
总结
学习evo_res指令的使用
参数含义
查看帮助
evo_res --help
usage: evo_res [-h] [--merge] [--use_rel_time] [--use_filenames]
[--ignore_title] [-p] [--plot_markers] [--save_plot SAVE_PLOT]
[--serialize_plot SERIALIZE_PLOT] [--save_table SAVE_TABLE]
[--logfile LOGFILE] [--no_warnings] [-v] [--silent] [--debug]
[-c CONFIG]
result_files [result_files ...]tool for processing one or multiple result files (c) evo authors
positional arguments:
result_files one or multiple result filesoptional arguments:
-h, --help show this help message and exit
--merge merge the results into a single one
--use_rel_time use relative timestamps if available
--use_filenames use the filenames to label the data
--ignore_title don't try to find a common metric titleoutput options:
-p, --plot show plot window
--plot_markers plot with circle markers
--save_plot SAVE_PLOT
path to save plot
--serialize_plot SERIALIZE_PLOT
path to serialize plot (experimental)
--save_table SAVE_TABLE
path to a file to save the results in a table
--logfile LOGFILE Local logfile path.usability options:
--no_warnings no warnings requiring user confirmation
-v, --verbose verbose output
--silent don't print any output
--debug verbose output with additional debug info
-c CONFIG, --config CONFIG
.json file with parameters (priority over command line
翻译之后
evo_res --help
usage: evo_res [-h] [--merge] [--use_rel_time] [--use_filenames]
[--ignore_title] [-p] [--plot_markers] [--save_plot SAVE_PLOT]
[--serialize_plot SERIALIZE_PLOT] [--save_table SAVE_TABLE]
[--logfile LOGFILE] [--no_warnings] [-v] [--silent] [--debug]
[-c CONFIG]
result_files [result_files ...]
tool for processing one or multiple result files (c) evo authors
用于处理一个或多个结果文件的工具(c)evo作者
positional arguments:位置参数:
result_files one or multiple result filesresult_file一个或多个结果文件
optional arguments:可选参数:
-h, --help show this help message and exit 显示此帮助消息并退出
--merge merge the results into a single one将结果合并为一个结果
--use_rel_time use relative timestamps if available可以的话请使用相对时间戳
--use_filenames use the filenames to label the data使用文件名标记数据
--ignore_title don't try to find a common metric title不尝试查找通用度量标题
output options:输出选项:
-p, --plot show plot window绘图显示绘图窗口
--plot_markers plot with circle markers使用圆形标记打印
--save_plot SAVE_PLOT
path to save plot保存绘图的路径
--serialize_plot SERIALIZE_PLOT
path to serialize plot (experimental)序列化绘图的路径(实验)
--save_table SAVE_TABLE
path to a file to save the results in a table将结果保存在表中的文件的路径
--logfile LOGFILE Local logfile path.本地日志文件路径。
usability options:可用性选项:
--no_warnings no warnings requiring user confirmation无需用户确认的警告
-v, --verbose verbose output详细输出
--silent don't print any output不打印任何输出
--debug verbose output with additional debug info使用附加调试信息调试详细输出
-c CONFIG, --config CONFIG
.json file with parameters (priority over command line带有参数的.json文件(优先级高于命令行
效果演示
按需使用
以VINS的输出轨迹为例,演示各参数实际效果
evo_res no_l.zip l.zip
$ evo_res no_l.zip l.zip
APE w.r.t. translation part (m)
(with Sim(3) Umeyama alignment)
max mean median min rmse \
vins_result_no_lo... 0.438398 0.148959 0.131542 0.0218703 0.170383
vins_result_loop.txt 0.384438 0.156007 0.141948 0.0109087 0.185972sse std
vins_result_no_lo... 3.33851 0.0827144
vins_result_loop.txt 0.795467 0.10123
evo_res no_l.zip l.zip -v
-v, --verbose verbose output详细输出
$ evo_res no_l.zip l.zip -v
Loading result from no_l.zip ...
Loading result from l.zip ...
--------------------------------------------------------------------------------
Aggregated dataframe:
vins_result_no_loop.txt vins_result_loop.txt
info est_name vins_result_no_l... vins_result_loop...
label APE (m) APE (m)
ref_name gt.txt gt.txt
title APE w.r.t. trans... APE w.r.t. trans...
np_arrays error_array [0.2435494878540... [0.2465613955623...
seconds_from_start [0.0, 0.13390660... [0.0, 0.53564167...
timestamps [1627729515.8364... [1627729518.7817...
stats max 0.438398 0.384438
mean 0.148959 0.156007
median 0.131542 0.141948
min 0.0218703 0.0109087
rmse 0.170383 0.185972
sse 3.33851 0.795467
std 0.0827144 0.10123
--------------------------------------------------------------------------------APE w.r.t. translation part (m)
(with Sim(3) Umeyama alignment)
max mean median min rmse \
vins_result_no_lo... 0.438398 0.148959 0.131542 0.0218703 0.170383
vins_result_loop.txt 0.384438 0.156007 0.141948 0.0109087 0.185972sse std
vins_result_no_lo... 3.33851 0.0827144
vins_result_loop.txt 0.795467 0.10123
输出相关指令
evo_res no_l.zip l.zip -p
-p, --plot show plot window绘图显示绘图窗口
$ evo_res no_l.zip l.zip -p
APE w.r.t. translation part (m)
(with Sim(3) Umeyama alignment)
max mean median min rmse \
vins_result_no_lo... 0.438398 0.148959 0.131542 0.0218703 0.170383
vins_result_loop.txt 0.384438 0.156007 0.141948 0.0109087 0.185972sse std
vins_result_no_lo... 3.33851 0.0827144
vins_result_loop.txt 0.795467 0.10123
绘图共有5个标签。
evo_res no_l.zip l.zip -p --plot_markers
--plot_markers plot with circle markers使用圆形标记打印
$ evo_reso_l.zip l.zip -p --plot_markers
APE w.r.t. translation part (m)
(with Sim(3) Umeyama alignment)
max mean median min rmse \
vins_result_no_lo... 0.438398 0.148959 0.131542 0.0218703 0.170383
vins_result_loop.txt 0.384438 0.156007 0.141948 0.0109087 0.185972sse std
vins_result_no_lo... 3.33851 0.0827144
vins_result_loop.txt 0.795467 0.10123
加了--plot_markers之后主要是在raw绘图使用大圆点这一差别。
evo_res no_l.zip l.zip --save_plot ./plot.pdf
--save_plot SAVE_PLOT path to save plot保存绘图的路径
$ evo_res no_l.zip l.zip --save_plot ./plot.pdf
APE w.r.t. translation part (m)
(with Sim(3) Umeyama alignment)
max mean median min rmse \
vins_result_no_lo... 0.438398 0.148959 0.131542 0.0218703 0.170383
vins_result_loop.txt 0.384438 0.156007 0.141948 0.0109087 0.185972sse std
vins_result_no_lo... 3.33851 0.0827144
vins_result_loop.txt 0.795467 0.10123Plots saved to ./plot.pdf
save_plot保存图片为pdf文件,SAVE_PLOT不要用文件夹路径或者其他文件后缀名的路径,最好是pdf文件后缀的路径或者无后缀的文件的路径。
evo_res no_l.zip l.zip --serialize_plot ./serial
--serialize_plot SERIALIZE_PLOT
path to serialize plot (experimental)序列化绘图的路径(实验)
$ evo_res no_l.zip l.zip --serialize_plot ./serial
APE w.r.t. translation part (m)
(with Sim(3) Umeyama alignment)
max mean median min rmse \
vins_result_no_lo... 0.438398 0.148959 0.131542 0.0218703 0.170383
vins_result_loop.txt 0.384438 0.156007 0.141948 0.0109087 0.185972sse std
vins_result_no_lo... 3.33851 0.0827144
vins_result_loop.txt 0.795467 0.10123
当前文件夹下生成一个serial文件,内容无法直观理解。
evo_res no_l.zip l.zip --save_table ./table.txt
--save_table SAVE_TABLE
path to a file to save the results in a table将结果保存在表中的文件的路径
$ evo_res no_l.zip l.zip --save_table ./table.txt
APE w.r.t. translation part (m)
(with Sim(3) Umeyama alignment)
max mean median min rmse \
vins_result_no_lo... 0.438398 0.148959 0.131542 0.0218703 0.170383
vins_result_loop.txt 0.384438 0.156007 0.141948 0.0109087 0.185972sse std
vins_result_no_lo... 3.33851 0.0827144
vins_result_loop.txt 0.795467 0.10123
保存结果到table.txt文件中,文件内容:
,max,mean,median,min,rmse,sse,std
vins_result_no_loop.txt,0.4383977275594648,0.1489591297376942,0.13154172411967663,0.021870345732747924,0.1703833880551451,3.338507376392269,0.08271442796114209
vins_result_loop.txt,0.38443759977911424,0.15600665868307592,0.14194846352691584,0.01090871540602807,0.1859718638015804,0.7954672848941721,0.10122972178355431
evo_res no_l.zip l.zip --logfile ./log
--logfile LOGFILE Local logfile path本地日志文件路径
$ evo_res no_l.zip l.zip --logfile ./log
APE w.r.t. translation part (m)
(with Sim(3) Umeyama alignment)
max mean median min rmse \
vins_result_no_lo... 0.438398 0.148959 0.131542 0.0218703 0.170383
vins_result_loop.txt 0.384438 0.156007 0.141948 0.0109087 0.185972sse std
vins_result_no_lo... 3.33851 0.0827144
vins_result_loop.txt 0.795467 0.10123
保存结果到本地文件中,文件内容包含-v参数的输出结果和简单的[DEBUG]信息。
其他参数
evo_res no_l.zip l.zip --use_filenames
--use_rel_time use relative timestamps if available可以的话请使用相对时间戳
$ evo_res no_l.zip l.zip --use_filenames
APE w.r.t. translation part (m)
(with Sim(3) Umeyama alignment)
max mean median min rmse sse \
no_l.zip 0.438398 0.148959 0.131542 0.0218703 0.170383 3.33851
l.zip 0.384438 0.156007 0.141948 0.0109087 0.185972 0.795467std
no_l.zip 0.0827144
l.zip 0.10123
evo_res no_l.zip l.zip --ignore_title
--ignore_title don't try to find a common metric title不尝试查找通用度量标题
$ evo_res no_l.zip l.zip --ignore_title
max mean median min rmse \
vins_result_no_lo... 0.438398 0.148959 0.131542 0.0218703 0.170383
vins_result_loop.txt 0.384438 0.156007 0.141948 0.0109087 0.185972sse std
vins_result_no_lo... 3.33851 0.0827144
vins_result_loop.txt 0.795467 0.10123
evo_res no_l.zip l.zip --silent
--silent don't print any output不打印任何输出
$ evo_res no_l.zip l.zip --silent
evo_res no_l.zip l.zip --debug
--debug verbose output with additional debug info使用附加调试信息调试详细输出
$ evo_res no_l.zip l.zip --debug
[DEBUG][2023-12-12 20:39:55,923][log.configure_logging():114]
System info:
Python 2.7.17
Linux-5.4.0-113-generic-x86_64-with-Ubuntu-18.04-bionic
[DEBUG][2023-12-12 20:39:55,923][main_res.run():132]
main_parser config:
{'config': None,
'debug': True,
'ignore_title': False,
'logfile': None,
'merge': False,
'no_warnings': False,
'plot': False,
'plot_markers': False,
'result_files': ['no_l.zip', 'l.zip'],
'save_plot': None,
'save_table': None,
'serialize_plot': None,
'silent': False,
'use_filenames': False,
'use_rel_time': False,
'verbose': False}[DEBUG][2023-12-12 20:39:55,924][file_interface.load_res_file():358]
Loading result from no_l.zip ...
[DEBUG][2023-12-12 20:39:55,928][file_interface.load_res_file():358]
Loading result from l.zip ...
[DEBUG][2023-12-12 20:39:55,933][main_res.run():202]
--------------------------------------------------------------------------------
[DEBUG][2023-12-12 20:39:55,936][main_res.run():204]
Aggregated dataframe:
vins_result_no_loop.txt vins_result_loop.txt
info est_name vins_result_no_l... vins_result_loop...
label APE (m) APE (m)
ref_name gt.txt gt.txt
title APE w.r.t. trans... APE w.r.t. trans...
np_arrays error_array [0.2435494878540... [0.2465613955623...
seconds_from_start [0.0, 0.13390660... [0.0, 0.53564167...
timestamps [1627729515.8364... [1627729518.7817...
stats max 0.438398 0.384438
mean 0.148959 0.156007
median 0.131542 0.141948
min 0.0218703 0.0109087
rmse 0.170383 0.185972
sse 3.33851 0.795467
std 0.0827144 0.10123
[DEBUG][2023-12-12 20:39:55,936][main_res.run():207]
--------------------------------------------------------------------------------
[INFO][2023-12-12 20:39:55,936][main_res.run():209]APE w.r.t. translation part (m)
(with Sim(3) Umeyama alignment)
[INFO][2023-12-12 20:39:55,938][main_res.run():210]
max mean median min rmse \
vins_result_no_lo... 0.438398 0.148959 0.131542 0.0218703 0.170383
vins_result_loop.txt 0.384438 0.156007 0.141948 0.0109087 0.185972sse std
vins_result_no_lo... 3.33851 0.0827144
vins_result_loop.txt 0.795467 0.10123
效果不明显的参数
受限于笔者所使用的zip,有些指令的效果并不明显。
evo_res no_l.zip l.zip --use_rel_time
可以的话请使用相对时间戳
$ evo_res no_l.zip l.zip --use_rel_time
APE w.r.t. translation part (m)
(with Sim(3) Umeyama alignment)
max mean median min rmse \
vins_result_no_lo... 0.438398 0.148959 0.131542 0.0218703 0.170383
vins_result_loop.txt 0.384438 0.156007 0.141948 0.0109087 0.185972sse std
vins_result_no_lo... 3.33851 0.0827144
vins_result_loop.txt 0.795467 0.10123
evo_res no_l.zip l.zip --no_warnings
--no_warnings no warnings requiring user confirmation无需用户确认的警告
$ evo_res no_l.zip l.zip --no_warnings
APE w.r.t. translation part (m)
(with Sim(3) Umeyama alignment)
max mean median min rmse \
vins_result_no_lo... 0.438398 0.148959 0.131542 0.0218703 0.170383
vins_result_loop.txt 0.384438 0.156007 0.141948 0.0109087 0.185972sse std
vins_result_no_lo... 3.33851 0.0827144
vins_result_loop.txt 0.795467 0.10123
无警告,因此no_warnings的效果不明显。
总结
1.evo_res可以处理多条轨迹
evo_res no_l.zip l.zip result3.zip -p
2.详细数据使用-v参数,但是也没有多么详细。
3.绘图
evo_res no_l.zip l.zip -p
保存图片使用 --save_plot SAVE_PLOT参数。