週記 20230724~20230730

 今週はだいたいNeRFのことを考えていた。一番の興味としては、NeRFを通したカメラPoseの最適化にある。直接法のようなSLAMの一種としてNeRFを使いたい。もちろん認識とかに応用できればそれに越したことはないが、レンダリングそのものにはそこまで興味がない。

 今の自分の理解では、Instant-NGP系の「ボクセル分割からハッシュをかけて少数の特徴量ベクトルに帰着させる」方法では、ハッシュをかけた段階でカメラPoseへの勾配が切れてしまう。これに気づいたのが週の前半だった。F2-NeRFの実装的に、LibTorchとしてなにか勾配自体は計算できるけれど、意味がある値ではなくランダムなものが入っていそう。勾配法によるカメラPose最適化が上手くいかなかった理由はこれだと考えている。

 かといってPose微分可能である、三角関数ベースの位置エンコーディングでは学習が遅い。どうにか道はないかと、そういえばDIM-SLAMがどうやっているのだろうと覗いてみたら、ハッシュまでは行わないボクセル分割をしているように見えた。3D方向にボクセルを愚直に持つことになるので、おそらくGPUメモリが大量に必要になってしまうのだとは思うが、カメラPoseまで勾配が繋がりつつ学習が速いならこれしか方法がないのかもしれない。

 一応土日で実装してみて、とりあえず学習できるところまでは確認できた。しかし三角関数ベースの位置エンコーディングと結果に大差がなくてちょっと期待ハズレではある。まぁ今後ちゃんとF2-NeRFの方に移植してみてどうなるか。

 その他、

で挙げられたもので気になった論文を読んだり、NeRF-Detを見てみたり。そんな感じで過ごしている。


 プログラミングばかりで情緒的な面に心が向いていかない時期だ。収まるまで待つしかなさそう。本当はもっと小説とか読みたいんだけど。