1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

各種 3D ソフトや手法のカメラ座標軸の定義まとめ

Posted at

何度調べても、ソフトや手法毎のカメラ座標軸の定義を忘れてしまうので備忘録として残しておきます。
間違っていたらコメントを頂けると嬉しいです。
取り上げているものは基本的に私に関係するものだけなので、一貫性には欠けるかもしれないです...
また、いつかここに戻ってきたときにもう一度確認できるよう(特に自分)、できる限りその証拠となる公式のソースを張り付けたり、根拠となる箇所を示したりしておきます。

z 軸が画像平面に向かって延びている場合を、(z 軸が)forward、画像平面とは反対方向に向かって延びている場合を backward としています。
今後、気になって調べたものがあったらその都度追加する予定です。

右手座標系

z 軸が forward

OpenSfM

These online docs say that, from the POV of a camera (a.k.a. a Shot object):
The z-axis points forward
The y-axis points down
The x-axis points to the right

Camera Coordinate System and Conventions

COLMAP

The local camera coordinate system of an image is defined in a way that the X axis points to the right, the Y axis to the bottom, and the Z axis to the front as seen from the image.

Output Format

COLMAP データを入力として用いている 3DGS もこの座標系を用いています。

z 軸が backward

NeRF系

  • NeRF
  • nerfstudio

+X is right, +Y is up, and +Z is pointing back and away from the camera.

Data conventions

Volume Rendering + SDF 系

  • NeuS
  • sdfstudio

ソースは見つけられなかったが、NeRF と同じ前処理が必要なことや、sdfstudio が nerfstudio の拡張機能の一つとされていることから、NeRF と同じ座標系を取り扱っていると考えられる。
SDFStudio

最後に

ここで紹介したソフトウェアや手法以外のものについて、カメラ座標系の座標軸の向きが気になる場合があると思います。
その時は、ソフトウェアや手法の名前に加えて、coordinate systemz-axis directioncamera convention などのキーワードと一緒に検索すると情報を見つけやすいです。

3 次元のデータを扱った手法を考えたり、カメラの真値データを使って 3 次元データを作成したりする場合は、このカメラ座標系の定義の間違い一つで結果がめちゃくちゃになることがあります。
問題の特定のためにも、カメラ座標系の定義をきちんと見直して、まずはデータが間違っていないかを確かめることが大事だと思っているので、このまとめが誰かの研究や開発の一助になれば幸いです。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?