EOEE

EOEEなブログです。

Lie theoryとJacobian 1

January 05, 2021

自分はVisual SLAMを作りたいと思い立ちBasaltのコードを読み始めた。 するとなかなか理解できないLie群関係のJacobianがたくさん登場した。これらJacobianを導出するためいろいろと調査した。せっかくなので本ブログにまとめたい。

したがって、本記事ではBasaltに登場する再投影誤差rit\boldsymbol{r}_{it}のJacobianを導出するまでを説明したい。

導出するJacobian:

DritDTWCt,DritDTWCh,DritDhmi,\frac{D \boldsymbol{r}_{it}}{D T_{W C_t}}, \frac{D \boldsymbol{r}_{it}}{D T_{W C_h}}, \frac{D \boldsymbol{r}_{it}}{D _h\boldsymbol{m}_i},

再投影誤差:

rit=π(TWCt1TWChq(hmi))zit\boldsymbol{r}_{it} = \pi ( T_{W C_t}^{-1} T_{W C_h} \boldsymbol{q}({}_h \boldsymbol{m}_i)) - \boldsymbol{z}_{it}

これら式の記号の説明は本文内で行う。

もし、自分の間違った解釈や直したほうが良い表現を見つけた方は本ブログのリポジトリのIssueまで報告いただけるととてもありがたいです。コメント機能は組み込んでおりませんので…。

Submit new issue

Jacobian導出までのロードマップ

初めにBasaltでの問題設定を説明し下記ロードマップに従って書き進めていこうと思う。 loadmap

Basaltの問題設定

Basaltには以下の特徴がある。

  • ランドマークの位置はHostFrameで扱われる。HostFrameとはあるランドマークを初めて観測した画像のカメラ座標系のこと。
  • ランドマーク位置はStereo graphic projectionされて保持される。多くの場合ランドマーク位置は世界座標系の座標として表現されるが、BasaltではHostFrameで表現したランドマーク位置をStereo graphic projectionして保持する。
  • ランドマークは必ずどれかのフレームにHostされる。このランドマークをHostしていないが観測しているフレームのカメラ座標系をTargetFrameと呼ぶ。

上記特徴からBasaltにおける再投影誤差rit\boldsymbol{r}_{it}は以下のような式で表現される:

rit=π(TWCt1TWChq(hmi))zit\boldsymbol{r}_{it} = \pi ( T_{W C_t}^{-1} T_{W C_h} \boldsymbol{q}({}_h \boldsymbol{m}_i)) - \boldsymbol{z}_{it}

記号の説明:

  • rit\boldsymbol{r}_{it} : ランドマークiiをTargetFrame ttにて観測したときの再投影誤差。
  • π(p)\pi(\boldsymbol{p}) : TargetFrame ttで表現された位置p\boldsymbol{p}をTargetFrameの画像平面に投影するカメラモデルを表現する関数。
  • TWCtSE(3)T_{W C_t} \in SE(3) : TargetFrameから世界座標系への座標系変換。Ctp_{C_t}\boldsymbol{p}Wp_{W}\boldsymbol{p}をそれぞれTargetFrame、世界座標系で表現した位置ppとすると、Wp=TWCt Ctp_{W}\boldsymbol{p} = T_{W C_t} \ _{C_t}\boldsymbol{p}が成り立つ。
  • TWChT_{W C_h} : HostFrameから世界座標系への座標系変換。
  • q(m)\boldsymbol{q}(\boldsymbol{m}) : Stereo graphic projectionされたランドマーク位置m\boldsymbol{m}をHostFrameにおける3次元位置に変換する関数。Stereo graphic projectionの逆関数。
  • hmi=[u,v,dinv]T_h \boldsymbol{m}_{i} = [u,v,d_{inv}]^T : Stereo graphic projectionされたランドマーク位置。3次元位置をStereo graphic projectionすると二次元の平面に展開されるため、位置の情報は残らず方向しかわからない。そこで、dinvd_{inv}として距離の逆数も保持している。
  • zit\boldsymbol{z}_{it} : ランドマークiiをTargetFrame ttにて観測したときの画像上位置。

こういった再投影誤差を考えているためGaussNewton法などでカメラPoseやランドマーク位置を推定するためには下記のJacobianを計算する必要がある。

  • DritDhmi\frac{D \boldsymbol{r}_{it}}{D _h \boldsymbol{m}_i} : Stereo graphic projectionしたランドマーク位置hmi_h\boldsymbol{m}_iについての再投影誤差のJacobian
  • DritDTWCt\frac{D \boldsymbol{r}_{it}}{D T_{W C_t}} : TargetFrameについての再投影誤差のJacobian
  • DritDTWCh\frac{D \boldsymbol{r}_{it}}{D T_{W C_h}} : HostFrameについての再投影誤差のJacobian
eryeden
eryeden
こんにちは。eryedenです。ブログ作ってみました。
© 2020 EOEE クリエイティブ・コモンズ・ライセンス