evo_ape tum コマンドの使用方法と各パラメータの効果

目次

パラメータの意味

効果

evo_ape tum gt.txt l.txt

 アルゴリズムのオプション

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 -p

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 -v

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_file

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 のベースとなる姿勢関係
  -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

おすすめ

転載: blog.csdn.net/weixin_56337147/article/details/134948493