目次
evo_ape tum gt.txt l.txt -a -p
evo_ape tum gt.txt l.txt -s -p
evo_ape tum gt.txt l.txt -as -p
evo_ape tum gt.txt l.txt --n_to_align 1
evo_ape tum gt.txt l.txt -as -p --plot_mode=xy
evo_ape tum gt.txt l.txt -as -p --plot_colormap_max 0.2
evo_ape tum gt.txt l.txt -as -p --plot_colormap_min 0.2
evo_ape tum gt.txt l.txt -as -p --plot_colormap_max_percentile 50
evo_ape tum gt.txt l.txt -as -p --plot_full_ref
evo_ape tum gt.txt l.txt -as --save_plot SAVE_PLOT.pdf
evo_ape tum gt.txt l.txt -as --serialize_plot SERIALIZE_PLOT
evo_ape tum gt.txt l.txt -as --save_results ape_result.zip
evo_ape tum gt.txt l.txt -as --logfile ape_result.log
evo_ape tum gt.txt l.txt -as --no_warnings
evo_ape tum gt.txt l.txt -as --silent
evo_ape tum gt.txt l.txt -as --debug
evo_ape tum コマンドの使用方法を学習する
パラメータの意味
ヘルプを見る
evo_ape tum -h
$ evo_ape tum -h
使用法: evo_ape tum [-h] [-r {full,trans_part,rot_part,angle_deg,angle_rad}]
[-a] [-s] [--n_to_align N_TO_ALIGN] [--align_origin] [-p ]
[--plot_mode {xy,xz,yx,yz,zx,zy,xyz}]
[--plot_colormap_max PLOT_COLORMAP_MAX]
[--plot_colormap_min PLOT_COLORMAP_MIN]
[--plot_colormap_max_percentile PLOT_COLORMAP_MAX_PERCENTILE]
[--plot_full_ref] [--ros_map_yaml ROS_MAP_YAML]
[--save_plot SAVE_PLOT] [--serialize_plot SERIALIZE_PLOT]
[--save_results SAVE_RESULTS] [--logfile LOGFILE]
[--no_warnings] [-v] [--silent] [--debug] [-c CONFIG]
[- -t_max_diff T_MAX_DIFF] [--t_offset T_OFFSET]
ref_file est_fileTUM 軌跡ファイル用の絶対姿勢誤差 (APE) メトリクス アプリ - (c) evo
authors位置引数:
ref_file 参照軌道ファイル
est_file 推定軌道ファイルオプションの引数:
-h、--help このヘルプ メッセージを表示して終了します
--t_max_diff T_MAX_DIFF
データ関連付けの最大タイムスタンプ差
--t_offset T_OFFSET データ関連付けの定数タイムスタンプ オフセットアルゴリズムオプション:
-r {full,trans_part,rot_part,angle_deg,angle_rad}, --pose_relation {full,trans_part,rot_part,angle_deg,angle_rad}
APE のベースとなる姿勢関係
-a, --align 梅山のメソッドとの位置合わせ (スケールなし)
-s, --correct_scale 梅山のメソッドで正しいスケール
--n_to_align N_TO_ALIGN
梅山の位置合わせに使用するポーズの数、
最初から数えます (デフォルト: すべて) --align_origin 軌道の原点を 基準
の原点に位置合わせします
軌跡出力オプション:
-p、--plot プロット ウィンドウを表示
--plot_mode {xy,xz,yx,yz,zx,zy,xyz}
プロット投影の軸
--plot_colormap_max PLOT_COLORMAP_MAX
カラー マップ プロットに使用される上限 (デフォルト) :
最大誤差値)
--plot_colormap_min PLOT_COLORMAP_MIN
カラー マップ プロットに使用される下限 (デフォルト:
最小誤差値)
--plot_colormap_max_percentile PLOT_COLORMAP_MAX_PERCENTILE カラー マップ プロットの上限
として使用される誤差分布のパーセンタイル(% 単位)
オーバーライド
--plot_colormap_max)
--plot_full_ref 完全な非同期参照軌跡をプロットします
--ros_map_yamlプロット に描画される
ROS 2D マップ イメージ (.pgm/.png) の ROS_MAP_YAML yaml ファイル --save_plot プロットを保存する SAVE_PLOT パス - -serialize_plot SERIALIZE_PLOT プロットをシリアル化するパス (実験的) --save_results SAVE_RESULTS 結果を保存する .zip ファイルのパス --logfile LOGFILE ローカル ログファイルのパス。ユーザビリティ オプション:
--no_warnings ユーザー確認を必要とする警告はありません
-v, --verbose 冗長出力
--silent 出力を印刷しません
--debug 追加のデバッグ情報を含む詳細出力
-c CONFIG, --config
パラメータを含む CONFIG .json ファイル(コマンドライン
引数よりも優先)
翻訳後
$ evo_ape tum -h
使用法: evo_ape tum [-h] [-r {full,trans_part,rot_part,angle_deg,angle_rad}]
[-a] [-s] [--n_to_align N_TO_ALIGN] [--align_origin] [-p ]
[--plot_mode {xy,xz,yx,yz,zx,zy,xyz}]
[--plot_colormap_max PLOT_COLORMAP_MAX]
[--plot_colormap_min PLOT_COLORMAP_MIN]
[--plot_colormap_max_percentile PLOT_COLORMAP_MAX_PERCENTILE]
[--plot_full_ref] [--ros_map_yaml ROS_MAP_YAML]
[--save_plot SAVE_PLOT] [--serialize_plot SERIALIZE_PLOT]
[--save_results SAVE_RESULTS] [--logfile LOGFILE]
[--no_warnings] [-v] [--silent] [--debug] [-c CONFIG]
[- -t_max_diff T_MAX_DIFF] [--t_offset T_OFFSET]
ref_file est_file
TUM 軌跡ファイル用の絶対姿勢誤差 (APE) メトリクス アプリ - (c) evo
authors
TUM 軌跡ファイル用の絶対姿勢誤差 (APE) メトリクス アプリ - (c) evo authors
作成者の
位置引数:
位置引数:
ref_file 参照軌道ファイル 参照軌道ファイル
est_file 推定軌道ファイル 推定軌道ファイル
オプションの引数: オプションの引数:
-h、--help このヘルプ メッセージを表示して終了します このヘルプ メッセージを表示して終了します
--t_max_diff T_MAX_DIFF
データ アソシエーションの最大タイムスタンプ差 データ アソシエーションの最大タイムスタンプ差
--t_offset T_OFFSET データ アソシエーションの定数タイムスタンプ オフセットデータ関連付けの定数タイムスタンプ オフセット
アルゴリズム オプション:
アルゴリズム オプション:
-r {full,trans_part,rot_part,angle_deg,angle_rad}, --pose_relation {full,trans_part,rot_part,angle_deg,angle_rad}
APE のベースとなるポーズ リレーションAPE はポーズ リレーション
-a に基づいています。 --align 梅山法による位置合わせ (スケールなし)
-s, --correct_scale 梅山法による正確なスケール 梅山法を使用してスケールを修正
--n_to_align N_TO_ALIGN
梅山位置合わせに使用するポーズの数 (デフォルト: all) 梅山位置合わせに使用したポーズの先頭から数えた数 (デフォルト: all)
--align_origin 軌道の原点を基準軌道の原点に合わせる 軌道の原点を基準軌道の原点に合わせる
出力オプション: 出力オプション:
-p、--plot プロット ウィンドウを表示 プロット ウィンドウを表示
--plot_mode {xy,xz,yx,yz,zx,zy,xyz}
プロット投影の軸 プロット投影の軸
-- Lot_colormap_max PLOT_COLORMAP_MAX
カラー マップ プロットに使用される上限 (デフォルト: 最大誤差値)
--plot_colormap_min PLOT_COLORMAP_MIN
カラー マップ プロットに使用される下限 (デフォルト: 最小誤差値)
--plot_colormap_max_percentile PLOT_COLORMAP_MAX_PERCENTILE
使用される誤差分布のパーセンタイルカラーマッププロットの上限として (% で、オーバーライドします) --plot_colormap_max )
--plot_full_ref 完全な非同期参照軌道をプロットします
--ros_map_yaml ROS_MAP_YAML
プロットに描画される ROS 2D マップ イメージの yaml ファイル (.pgm/.png) --save_plot プロットを保存する
SAVE_PLOTパス --serialize_plot SERIALIZE_PLOT プロットをシリアル化するパス (実験的) --save_results SAVE_RESULTS .zip ファイル パス結果を保存する 結果を保存する .zip ファイル パス --logfile LOGFILE ローカル ログ ファイル パス ローカル ログ ファイル パス。
ユーザビリティ オプション: ユーザビリティ オプション:
--no_warnings ユーザー確認が必要な警告なし ユーザー確認が必要な警告
-v, --verbose 詳細な出力 詳細な出力
--silent 出力を表示しない 出力を表示しない
--debug 追加のデバッグを含む詳細出力info 追加のデバッグ情報を使用して冗長出力をデバッグします
-c CONFIG、--config CONFIG
パラメーターを含む .json ファイル (コマンド ライン引数より優先) パラメーターを含む .json ファイル (コマンド ライン引数より優先)
効果
データの影響を受けて、多くのパラメーターの効果を効果的に表示できません。
evo_ape tum gt.txt l.txt
$ evo_ape tum gt.txt l.txt
APE の翻訳部分 (m)
(位置合わせされていません)最大 6372512.914678
平均 6372511.473926
中央値 6372511.871822
最小 6372508.722174
rmse 6372511.473926
sse 934004757162323.000000
標準 1.138090
アルゴリズムのオプション
--t_max_diff T_MAX_DIFF
データ アソシエーションの最大タイムスタンプ差 データ アソシエーションの最大タイムスタンプ差
--t_offset T_OFFSET データ アソシエーションの定数タイムスタンプ オフセット データ アソシエーションの定数タイムスタンプ オフセット
2 つの txt ファイルの実際のタイムスタンプ間に一定の差 m がある場合は、「--t_offset m」を使用できます。
evo_ape tum gt.txt l.txt -a -p
-a, --align 梅山法による位置合わせ (スケールなし)梅山法による位置合わせ (スケールなし)
$ evo_apeum gt.txt l.txt -a -p
APE wrt 翻訳部分 (m)
(SE(3) 梅山アライメント付き)最大 0.869683
平均 0.252346
中央値 0.222082
最小 0.024169
rmse 0.330618
sse 2.514097
標準 0.213612
evo_ape tum gt.txt l.txt -s -p
$ evo_ape tum gt.txt l.txt -s -p
APE の翻訳部分 (m)
(スケール修正)最大 6372512.113874
平均 6372510.886484
中央値 6372511.224692
最小 6372508.535736
rmse 6372510.886484
sse 934004584962312.250000
標準 0.971000
evo_ape tum gt.txt l.txt -as -p
「-a -s」を「-as」と記述するなど、複数のパラメータを同時に記述できます。
$ evo_ape tum gt.txt l.txt -as -p
APE の翻訳部分 (m)
(Sim(3) 梅山アライメントあり)最大値 0.384438
平均値 0.156007中央値
0.141948
最小値 0.010909
rmse 0.185972
sse 0.795467
std 0.101230
前処理ステップとして梅山位置合わせを使用できます。
--align または -a = SE(3) 梅山位置合わせ (回転、平行移動)
--align --correct_scale または -as = Sim(3) 梅山位置合わせ (回転、平行移動、スケール)
--correct_scale または -s = スケール位置合わせスケールまたは Sim(3) アライメントは、通常、ランダムなスケールを使用する単眼 SLAM の場合に必要です。SE(3) アライメントは、軌道の形状の類似性を可能な限り測定したい場合、絶対姿勢誤差 (evo_ape) に役立ちます。Alignment_demo.py スクリプトは、軌道例 (evo_traj ドキュメントに示されている) を使用して、さまざまなタイプの位置合わせを示します。
v1.5.0 以降の新機能: ドリフト/ループ クロージャーの評価に役立つ単純な原点位置合わせが --align_origin で利用可能です。これは梅山アルゴリズムに基づいたものではありません。
前処理ステップとして梅山位置合わせを使用できます。
--align または -a is SE (3) 梅山位置合わせ (回転、移動)
--align --correct_scale または -as is Sim (3) 梅山位置合わせ (回転、移動、スケール) )
--correct_scale または -s はスケール アライメントです。
単眼 SLAM には通常、ランダム スケーリングを持つスケールまたは Sim(3) アライメントが必要です。絶対姿勢誤差 (evo_ape) の SE(3) アライメントは、軌道の形状の類似性を可能な限り最善の方法で測定したい場合に役立ちます。alignment_demo.py スクリプトは、軌道例 (evo_traj ドキュメントに示されているとおり) を使用して、さまざまなタイプの位置合わせを示します。
v1.5.0 以降の新機能: --align_origin は、ドリフト/ループ クロージャーの評価に使用できる単純な原点位置合わせを提供します。これは梅山アルゴリズムに基づいたものではありません。
evo_ape tum gt.txt l.txt --n_to_align 1
--n_to_align N_TO_ALIGN
梅山位置合わせに使用するポーズの最初から数えた数 (デフォルト: すべて)
$ evo_ape tum gt.txt l.txt --n_to_align 1
APE の翻訳部分 (m)
(位置合わせされていない)最大 6372512.914678
平均 6372511.473926
中央値 6372511.871822
最小 6372508.722174
rmse 6372511.473926
sse 934004757162323.000000
標準 1.138090
出力オプション
evo_ape tum gt.txt l.txt -p
-p, --plot プロット ウィンドウを表示 プロット ウィンドウを表示します
$ evo_ape tum gt.txt l.txt -p
APE の翻訳部分 (m)
(位置合わせされていません)最大 6372512.914678
平均 6372511.473926
中央値 6372511.871822
最小 6372508.722174
rmse 6372511.473926
sse 934004757162323.000000
標準 1.138090
evo_ape tum gt.txt l.txt -as -p --plot_mode=xy
--plot_mode {xy,xz,yx,yz,zx,zy,xyz}
プロット投影の軸
$ evo_ape tum gt.txt l.txt -as -p --plot_mode=xy
プロットは xy 平面に投影されます。
evo_ape tum gt.txt l.txt -as -p --plot_colormap_max 0.2
--plot_colormap_max PLOT_COLORMAP_MAX
カラー マップ プロットに使用される上限 (デフォルト: 最大エラー値)
$ evo_ape tum gt.txt l.txt -as -p --plot_colormap_max 0.2
カラーマップの上限は 0.2 に設定されています。つまり、0.2 は赤と黒です。
evo_ape tum gt.txt l.txt -as -p --plot_colormap_min 0.2
--plot_colormap_min PLOT_COLORMAP_MIN
カラー マップ プロットに使用される下限 (デフォルト: 最小エラー値)
$ evo_ape tum gt.txt l.txt -as -p --plot_colormap_min 0.2
カラー マップの下限は 0.2 に設定されています。つまり、0.2 は青黒です。
evo_ape tum gt.txt l.txt -as -p --plot_colormap_max_percentile 50
--plot_colormap_max_percentile PLOT_COLORMAP_MAX_PERCENTILE
カラー マップ プロットの上限として使用される誤差分布のパーセンタイル (% でオーバーライド)、オーバーライド --plot_colormap_max)
$ evo_apeum gt.txt l.txt -as -p --plot_colormap_max_percentile 50
APE wrt 翻訳部分 (m)
(Sim(3) 梅山アライメントあり)最大値 0.384438
平均値 0.156007中央値
0.141948
最小値 0.010909
rmse 0.185972
sse 0.795467
std 0.101230
evo_ape tum gt.txt l.txt -as -p --plot_full_ref
--plot_full_ref 完全な非同期参照軌道をプロットします 完全な非同期参照軌道をプロットします
$ evo_ape tum gt.txt l.txt -as -p --plot_full_ref
(わずかに)
私の理解では、描かれた軌跡は滑らかではなく、元のデータにはジッターがあると考えられます。
evo_ape tum gt.txt l.txt -as --save_plot SAVE_PLOT.pdf
--save_plot SAVE_PLOT
プロットを保存するパス プロットを保存するパス
$ evo_ape tum gt.txt l.txt -as --save_plot SAVE_PLOT.pdf
(略)プロットは SAVE_PLOT に保存されました
evo_ape tum gt.txt l.txt -as --serialize_plot SERIALIZE_PLOT
--serialize_plot SERIALIZE_PLOT
プロットをシリアル化するパス (実験的) プロットをシリアル化するパス (実験的)
$ evo_ape tum gt.txt l.txt -as --serialize_plot SERIALIZE_PLOT
(わずかに)
evo_ape tum gt.txt l.txt -as --save_results ape_result.zip
--save_results SAVE_RESULTS
結果を保存する .zip ファイルのパス 結果を保存する .zip ファイルのパス
$ evo_ape tum gt.txt l.txt -as --save_results ape_result.zip
(わずかに)
evo_ape tum gt.txt l.txt -as --logfile ape_result.log
--logfile LOGFILE ローカル ログ ファイル パス ローカル ログ ファイル パス。
$ evo_ape tum gt.txt l.txt -as --logfile ape_result.log
(わずかに)
可用性オプション
evo_ape tum gt.txt l.txt -as --no_warnings
--no_warnings ユーザー確認が必要な警告はありません ユーザー確認が必要な警告です
$ evo_ape tum gt.txt l.txt -as --no_warnings
APE wrt 翻訳部分 (m)
(Sim(3) 梅山アライメントあり)最大値 0.384438
平均値 0.156007中央値
0.141948
最小値 0.010909
rmse 0.185972
sse 0.795467
std 0.101230
evo_ape tum gt.txt l.txt -v
-v, --verbose 詳細出力 詳細出力
$ evo_ape tum gt.txt l.txt -v
-------------------------------------- ---------------------------------------
スタンプとポーズを1684個ロードしました: gt. txt
23 個のスタンプとポーズを次の場所からロードしました: l.txt
軌跡を同期中...
最大 23 個見つかりました。
gt.txt
と l.txtの間で 23 個の一致するタイムスタンプが可能です
。時間差: 0.01 (秒) および時間オフセット: 0.0 (秒)。
-------------------------------------------------- ----------------------------
23 個の絶対ポーズのペアを比較しました。
移動部分の姿勢関係の APE を計算しています...
-------------------------------------- --------------------------------------
APE wrt 翻訳部分 (m)
(位置合わせされていません) )最大 6372512.914678
平均 6372511.473926
中央値 6372511.871822
最小 6372508.722174
rmse 6372511.473926
sse 934004757162323.000000
標準 1.138090
-v は、主に詳細なデータを出力するために、-s -a -sa などと併用することもできます。
evo_ape tum gt.txt l.txt -as --silent
--silent 出力を表示しません。 出力を表示しません。
$ evo_ape tum gt.txt l.txt -as --silent
evo_ape tum gt.txt l.txt -as --debug
--debug 追加のデバッグ情報を含む詳細出力 追加のデバッグ情報を使用して詳細出力をデバッグします
$ evo_ape tum gt.txt l.txt -as --debug
[DEBUG][2023-10-14 21:35:49,345][log.configure_logging():114]
システム情報:
Python 2.7.17
Linux-5.4.0 -113-generic-x86_64-with-Ubuntu-18.04-bionic
[デバッグ][2023-10-14 21:35:49,345][main_ape.run():227]
main_parser config:
{'align': True、
'align_origin': False、
'config': None、
'correct_scale': True、
'debug': True、
'est_file': 'l.txt'、
'logfile': なし、
'n_to_align': -1、
'no_warnings': False、
'plot': False、
'plot_colormap_max': なし、
' Lot_colormap_max_percentile': なし、
'plot_colormap_min': なし、
'plot_full_ref': False、
'plot_mode': u'xyz'、
'pose_relation': 'trans_part'、
'ref_file': 'gt.txt'、
'ros_map_yaml': なし、
'save_plot': なし、
'save_results': なし、
'serialize_plot': なし、
'silent': False、
'subcommand': 'tum'、
't_max_diff': 0.01、
't_offset': 0.0、
'verbose': False}
[デバッグ][2023-10-14 21:35:49,345][main_ape.run():228]
------------------------ -------------------------------------------------- ----
[デバッグ][2023-10-14 21:35:49,351][file_interface.read_tum_trajectory_file():112]
1684 個のスタンプとポーズを次からロードしました: gt.txt
[デバッグ][2023-10-14 21:35 :49,351][file_interface.read_tum_trajectory_file():112]
23 個のスタンプとポーズを l.txt からロードしました
[DEBUG][2023-10-14 21:35:49,351][main_ape.run():238]
軌跡を同期しています。
[DEBUG][2023-10-14 21:35:49,352][sync.associate_trajectories():105]
最大 23 個が見つかりました。
gt.txt
と l.txtの間で 23 個の一致するタイムスタンプが可能です
。時間差: 0.01 (秒) および時間オフセット: 0.0 (秒)。
[デバッグ][2023-10-14 21:35:49,353][main_ape.ape():171]
------------------------ -------------------------------------------------- ----
[DEBUG][2023-10-14 21:35:49,353][trajectory.align_trajectory():391]
梅山の方法で位置合わせ…(スケール補正あり)
[DEBUG][2023-10-14 21 :35:49,354][trajectory.align_trajectory():403]
アライメントの回転:
[[-0.74522462 -0.51826266 -0.41957606]
[ 0.03226245 -0.6565123 0.75362506]
[-0.66603258 0.54808 34 0.50596955]]
アライメントの翻訳:
[-2853537.48321946 4667400.58781658 3268263.44928871]
[DEBUG][2023-10-14 21:35:49,354][trajectory.align_trajectory():404]
スケール補正: 0.849029484079
[DEBUG][2023-10-14 21:35:49,356][main_ape.ape():
[DEBUG][2023-10-14 21:35:49,356][metrics.process_data():375]
変換部分のポーズ関係の APE を計算しています...
[DEBUG][2023-10-14 21:35:49,357][ main_ape.ape():202]
-------------------------------------- --------------------------------------
[情報][2023-10-14 21:35] :49,357][main_ape.ape():203]
APE の翻訳部分 (m)
(Sim(3) 梅山アライメントあり)最大値 0.384438
平均値 0.156007中央値
0.141948
最小値 0.010909
rmse 0.185972
sse 0.795467
std 0.101230