今週はNeRFの調査・実装を中心に進めていたので世界モデル系はノータッチ。アーマードコア6が出たので時間を取られている。
NeRF
座標のWarping
まずMip-NeRF 360を読んだが、自動移動走行の文脈だとどの程度必要な改造なのかはよくわからない。屋外だと空などunboundedなものが多いので本質的に重要か。実装してみた感じでは特に違いはわからなかった。
このあたりでF2-NeRFに関連して気になったことは、F2-NeRFではカメラのPoseを正規化して[-1, 1]に収めるようにしているが、カメラが外側を向いていた場合など、ニューラルネットワークに投げる点のクエリ座標が[-1, 1]に入っているという保証はなさそう。オリジナルNeRFのようにMLPに入力するならそれでいいが、Voxel形式に入力する場合には問題になるのでは。
と思ったが、Hashをかけるので負の値になっても問題ない、というのが現状の理解。Hashの隠れた効果?
勾配法によるPose最適化の実装
これも調べて、リー代数を使って実装すれば良さそうとわかり、実際に実装してみたところ、確かにPose最適化しないよりは良くなった。PSNR 22.32→24.08ほど。しかし、これはcolmapを使って綺麗なPoseを出してからNeRFを行った場合(PSNR 28.23)と比べるとだいぶ低い。colmapはかなり時間もかかるのでそれと比較するのはフェアじゃないかもしれないが、もうちょっと上がってほしかったというのが本音でもある。
次週の予定
精度的にいろいろ足りないとは思いつつ、そろそろ大物のZip-NeRF部分を進めたくなってきた。論文読み直すところから、実装着手あたりまでいければ。