Filter löschen
Filter löschen

rigid3dの構造体配列の作成 (Visual SfM)

7 Ansichten (letzte 30 Tage)
ST
ST am 28 Nov. 2020
Beantwortet: Kenta am 2 Dez. 2020
500枚の画像をVisual SfMに入れ、得られた各画像のカメラパラメータを
1×500(画像の枚数) rigid3d の構造体配列で表現したいのですがどのようにすればよいのでしょうか。
配列の内容は以下の通りです。
1×500 rigid3d:
Dimensionality: 3
T: 4×4 double
Roatation: 3×3 double
Translation: 1×3 double
Visual SfMより得られたカメラパラメータのテキストファイルは添付のものになります。
  2 Kommentare
Kenta
Kenta am 28 Nov. 2020
Bearbeitet: Kenta am 28 Nov. 2020
こんにちは、Visual SfMというのはSfM-MVS (multi view stereo) のほうか、 visula SLAMのほうでしょうか?また、参考にしたドキュメントのURLを教えていただけますか。
ST
ST am 29 Nov. 2020
ご回答ありがとうございます。
こちら
を参考に自分で撮影したものを用いて、実行しようとしております。
下記のGround Truthとの比較で、'orbslamGroundTruth.mat'の部分を自分のデータのもので作成しようとしています。(こちらが最終的にやりたいことです。)
% Load ground truth
gTruthData = load('orbslamGroundTruth.mat');
gTruth = gTruthData.gTruth;
% Plot the actual camera trajectory
plotActualTrajectory(mapPlot, gTruth(addedFramesIdx), optimizedPoses);
% Show legend
showLegend(mapPlot);
% Evaluate tracking accuracy
helperEstimateTrajectoryError(gTruth(addedFramesIdx), optimizedPoses);
'orbslamGroundTruth.mat'の中のgTruthが1×(画像の枚数) rigid3dの構造体配列になっています。
撮影した動画をフレームに切り分ける
→フレームに分けた画像たちをVisual SfM (http://ccwu.me/vsfm/)に入れ、添付のようなパラメータのテキストファイルを作成
→このテキストファイルを用いて構造体配列を作成
といった流れで取り組んでおりますが、違う手法やこの手法が正しくない場合は教えていただきたいです。
質問内容が少し変わっていしまいましたが、ご回答頂けると幸いです。

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Kenta
Kenta am 2 Dez. 2020
コメントのほう、返信ありがとうございます。
なるほど、visual "SLAM" ですね。groundTruthは、正解データなので、自分でコーディングによって、作る、というのはできないのではないかと思います。
やれることとしては、おっしゃるように、動画から画像を切り出して、visual SLAMのコードに入力する。(ここで、このコードを試す前にカメラキャリブレーションのアプリなどでご使用のカメラの内部パラメータを求めておいて、intrinsics変数を用意しておくことが必要です。)そして、実際に動いた軌跡を単眼の画像(動画)から復元する、という流れでしょうか。

Weitere Antworten (0)

Kategorien

Mehr zu 単一カメラとステレオ カメラのキャリブレーション finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!