投稿

ラベル(Novel View Synthesis)が付いた投稿を表示しています

pixelNeRF: Neural Radiance Fields from One or Few Images (CVPR2021)

イメージ
pixelNeRF: Neural Radiance Fields from One or Few Images https://alexyu.net/pixelnerf/ 1枚または少数の画像からNeural Radiance Filedを構築する手法.基本的なアイデアは IBRNet と同様で,入力画像を直接利用するのではなく,CNNを用いて抽出したfeature vectorからRGBσを出力するようなネットワークを学習する.単一の視点の場合は光線上のサンプルした点を入力画像上へ投影し,投影先のfeature vectorを用いる.複数視点の場合はそれぞれの視点へ投影し対応するfeature vectorを取得,その後,平均を取り利用する. 同一カテゴリのデータで学習したモデルを利用することで,未知のシーンに対してもRadiance Fieldを構築することが出来る. pixelNeRF,IBRNet双方に NeRF の別々の著者が名前を連ねているが,IBRNetの方がより手法が洗練されている印象.

FastNeRF: High-Fidelity Neural Rendering at 200FPS (arXiv Mar. 2021)

イメージ
FastNeRF: High-Fidelity Neural Rendering at 200FPS https://arxiv.org/abs/2103.10380 NeRFの高速なレンダリングを実現する手法.NeRFで学習されるRGB-σの値をキャッシュすることで高速化を行う.ただし,単純にキャッシュすると膨大なメモリが必要になるため,位置と方向それぞれで基底関数を用いた圧縮を行うことでコンシューマーレベルのGPUのメモリでもキャッシュができるようにしている.そのため,ネットワークはNeRFと異なり位置と方向の2種類のネットワークが利用される. Radiance Fieldを学習した後,空間全体を一定の間隔でサンプリングする.また,方向についても同様に各点について一定の間隔でサンプリングする.FastNeRFでは,位置および方向の情報をD個のパラメータで表現することで,Radiance Field全体を表現している.これにより,通常の NeRF では位置および方向をそれぞれfloat 16ビットで1024サンプルした場合,おおよそ5600TB必要なのに対して,FastNeRFでは,D=8とした場合,おおよそ54GBとなる.また,何もない位置の点に関しては不要なので,空間全体の30%程度にオブジェクトが存在している場合にはコンシューマーレベルのGPUやCPUのメモリに格納できるレベルになる. 処理速度の比較は以下の通り.先日紹介した DONeRF は15fpsでオリジナルのNeRFの0.06fpsに比べ劇的に処理時間を減らすことが出来ているが,FastNeRFはオリジナルのNeRFに比べ約3000倍の高速化という驚きの結果となっている. 画質についても,オリジナルのNeRFと同等の性能で画像生成することが出来ている.

D-NeRF: Neural Radiance Fields for Dynamic Scenes (arXiv Nov. 2020)

イメージ
D-NeRF: Neural Radiance Fields for Dynamic Scenes https://www.albertpumarola.com/research/D-NeRF/index.html 動的な物体を対象としたNeural Radiance Filedベースの新視点画像生成手法.動的なシーンを対象としたNeural Radiance Filedとしては,以前紹介した以下の論文がある. Deformable Neural Radiance Fields (arXiv Nov. 2020) https://moitkfm.blogspot.com/2021/03/deformable-neural-radiance-fields-arxiv.html 以前紹介した以下の論文との違いは,D-NeRFは基準となるフレームへの変換のみでなく,基準となるフレームからある時刻のフレームへの変換についても学習を行う点が異なる.これにより,任意の時刻の任意視点映像生成を実現している. 入力画像の条件が異なるため単純に比較はできないが,Deformable Neural Radiance Fieldsでは学習に1週間ほどかかっていたが,400x400の画像を入力とした場合にD-NeRFはNvidia GTX 1080で2日ほどで学習ができるとのこと.ただし,これは,Deformable Neural Radiance Fieldsでは,Non-Rigidな変形をAs-rigid-as-possibleの制約などを使って求めているのに対して,D-NeRFは変形は各頂点にオフセットをのせるだけの単純な形で表現されているためだと思われる.また,D-NeRFでは各フレーム間での対応関係をどのように算出するかは言及されておらず,実験結果はシミュレーションのみとなっており実画像への適用は難しいと思われる.

X-Fields: Implicit Neural View-, Light- and Time-Image Interpolation (SIGGRAPH Asia 2020)

イメージ
X-Fields: Implicit Neural View-, Light- and Time-Image Interpolation https://xfields.mpi-inf.mpg.de/ 2Dの画像群から視点,照明,時間方向の補間を行い任意の視点,時間,照明の画像を生成する手法.補間は時間(下図オレンジ)→照明(下図グリーン)→視点(下図イエロー)の順番で補間を行う. 視点補間にはMultiplane Imageの表現を利用している.補間を行うNeural Networkの学習には2DのFlowの情報を利用している. ただし,照明の補間については,視点,時間と同様に単純なWarping処理によって補間を行うとShadingがおかしくなるという問題が生じるため,照明の補間に関してはAlbedoとShadingに入力画像を分離して利用する. 学習にかかる時間も短く,1024x1024の画像25枚を入力とした場合に約1時間となっている.これはRadiance Fieldを復元する方法に比べるとかなり計算コストが低い. また,論文中では,関連手法に関して表の形で特徴をまとめてあり,とても参考になる.

Neural 3D Video Synthesis (arXiv Mar. 2021)

イメージ
Neural 3D Video Synthesis https://neural-3d-video.github.io/ Your browser does not support the video tag. 動的なシーンに対するNeural Radiance Fieldベースの新視点画像生成手法.同期撮影した動画像を入力として時空間のNeural Radiance Filedを生成する.単純に各時刻のフレーム群に対して NeRF を適用すると計算コストが膨大となり現実的では無いため,提案手法では,まずキーフレームベースでNeural Radiance Filedの構築を行っている.その後,中間のフレームについては,推定済みのキーフレーム情報を線形補完して得られるNeural Radiance Filedを初期値として学習を行う.そのため,提案されている手法ではフレーム間での動きは小さいことを仮定している. また,時空間の表現となるため,NeRFでは位置 x ,方向 d を入力とし色 c とその密度σの情報を取得していたが,以下のように提案手法では時刻tの情報も入力となる. NeRF と同様にPositional Encodingによって位置,方向,時刻の情報を高次元にマッピングして利用する方法も考えられるが,単純に時刻をマッピングしても時間方向の複雑な変形(炎の揺らぎのようなもの?)は再現することが難しい.そこで,提案手法では,時刻に関しては,潜在ベクトル z の形で表現し用いている. ただし,潜在ベクトルzについては,Positional Encodingを適用せずに利用する.これにより,複雑なシーンの動きを表現可能になるとのこと.実験ではGoPro Black Hero 7を21台同期撮影した動画像を入力として利用している. 実験結果を見る限り,炎のような三次元形状を手掛かりとして自由視点映像を生成する手法では難しいようなシーンに対しても,高品質な画像を生成を実現できていることが確認できる. キーフレームベースで処理を行うことでNeRFと比べ大幅に計算コストを削減することができているが,キーフレームに関してはNe...

NeX: Real-time View Synthesis with Neural Basis Expansion (CVPR 2021)

イメージ
NeX: Real-time View Synthesis with Neural Basis Expansion https://nex-mpi.github.io/ Multiplane Image (MPI)を使った新視点画像を生成の研究.入力画像はfoward facingの画像12枚以上を想定している. MPIを使った新視点画像生成手法としては以前紹介した以下の論文などがある. Synthesizing Light Field From a Single Image with Variable MPI and Two Network Fusion (SIGGRAPH Asia 2020) https://moitkfm.blogspot.com/2021/03/synthesizing-light-field-from-single.html これまでのMPIベースの新視点画像生成では各平面の色情報としてRGBαの情報を保持していたが,NeXでは視線方向に応じた各ピクセルの色はNeural Networkによって推定された基底関数の組み合わせで表現される.基底関数は全てのピクセルで同じものを利用する. MLPの入力となる画素の位置x, y, dについては NeRF と同様にPositional Encodingを採用し,x, yについてはそれぞれ20次元,奥行dについては16次元にマップすることで56次元の入力となっている. 提案手法を用いることで,構造色のような視点位置によって見た目が大きく変化する複雑な反射も再現できていることが分かる.定量評価では,NeRFを含む既存手法よりも全てのデータセットにおいて高品質な画像を生成することが可能であった. また,提案手法はレンダリングにかかる時間も少なく,NeRFの約1000倍高速にレンダリングできる.デモページではサンプルのシーンで視点をインタラクティブに変化させることが出来る.実際に試してみたが,GeForce GTX 1080 TiのPCだと60fpsでの画像生成が可能だった. https://nex-mpi.github.io/viewer/viewer.html?scene=https://pureexe.github.io/food/1008

Deformable Neural Radiance Fields (arXiv Nov. 2020)

イメージ
Deformable Neural Radiance Fields https://nerfies.github.io/ NeRF を自撮り動画へ対応させた手法.自撮り動画では,人物部分がわずかに動いてしまうため,単純にNeRFを適用しただけではアーティファクトが生じてしまう.そこで,非剛体物体のモデリングであるNon-Rigid ICPなどと同様に,フレーム間での光線の変形を考慮することで,基準となるフレーム(Canonical Frame)に各フレームの情報を統合している.光線の変形にはas-rigid-as-possible制約を利用し,また,背景部分は静的であるという制約が学習時に用いられている. 高品質な映像が生成できているが,FullHD画質の動画を入力した場合,V100GPU8枚で約1週間学習に時間がかかる. 2021.03.16. 追記 このPaperはCVPR2021には採択されなかったらしい。査読者ガチャでハズレを引いてしまったみたい。 https://twitter.com/jon_barron/status/1371619367142629376

DONeRF: Towards Real-Time Rendering of Neural Radiance Fields using Depth Oracle Networks (arXiv Mar. 2021)

イメージ
 DONeRF: Towards Real-Time Rendering of Neural Radiance Fields using Depth Oracle Networks https://depthoraclenerf.github.io/ 新視点画像を生成手法である NeRF におけるレンダリング(Inference)の高速化アルゴリズムの提案.フォーマットを見る限りSIGGRAPHに投稿された論文か? Your browser does not support the video tag. > 重点的にサンプリングすべき奥行を推定するDepth Oracle Networkを導入することにより,従来は光線上を等間隔にサンプリングする必要があったが,特定の奥行周辺のみのサンプリングでNeRFと同等の性能を実現することが可能となった.これにより,15fpsでのレンダリングが可能となった. この論文ではDepth Oracle Networkを導入する前に,NeRFにおいて光線上のサンプリング方法の違いによる画像品質の向上について調査を行っている.著者らの調査結果によると,均一にサンプリングするよりも,log変換によって視点に近い位置を重点的にサンプリングする方法,log変換後に視点から遠い空間を圧縮するwarpを組み合わせる方法,を採用することで生成画像の品質を向上できることが示されている. サンプリング方法の違いと画質の関係

Synthesizing Light Field From a Single Image with Variable MPI and Two Network Fusion (SIGGRAPH Asia 2020)

イメージ
Synthesizing Light Field From a Single Image with Variable MPI and Two Network Fusion https://people.engr.tamu.edu/nimak/Papers/SIGAsia2020_LF/index.html 単眼画像からの新視点画像生成の研究.従来手法では,新視点画像生成のために視点位置から一定の間隔で設置したMultiplane Image (MPI)上へ入力画像を投影し,各奥行の平面に投影された画像を新視点画像上へ投影することで新視点画像の生成を行っていた.この場合,平面間に物体が存在するような場合は,物体を挟む2つの平面状に単一の物体の色情報が分配されてしまい,新視点画像上にゴーストが生じてしまうという問題があった.これを解決するために,提案手法では,投影先の平面の間隔を動的に設定するVariable MPIを導入している.これにより,新視点画像を生成した際に生じるゴーストを低減することができる. ネットワークは可視領域を処理するためのVisible CNN,遮蔽領域を処理するためのOccluded CNNで構成されている.最終的に2つのネットワークで生成された画像よりVisibility Maskを生成し,これを利用することでブレンディングし最終結果を得る.

IBRNet: Learning Multi-View Image-Based Rendering (CVPR2021)

イメージ
 以前紹介した NeRF は,Radiance Fieldを学習することで高品質な自由視点映像を生成することが可能だが,Radiance Fieldの学習には多くの計算コストを必要とするという問題がある.そのため,解像度を上げることや大規模なシーンへの適用が難しいというスケーラビリティの問題があった.IBRNetはこのようなNeRFのスケーラビリティの問題を解決するためのアルゴリズムとなっている. IBRNet: Learning Multi-View Image-Based Rendering https://ibrnet.github.io/ IBRNetはNeRFなどの多くの学習ベースの自由視点画像生成アルゴリズムで必要となる対象シーン毎の学習が不要なアルゴリズムである.NeRFでは対象となるシーンの学習に十数時間から数日の時間を要していたのに対して,IBRNetでは即座に自由視点画像の生成を行うことができる.(ただし,Rendering部分はほぼ同じなので,リアルタイム処理は実現できないと思う) 基本的なアイデアは,Classicalな自由視点画像生成アルゴリズムであるImage-based renderingのように生成する視点の周辺で撮影されている画像群のみを用いて新視点画像を生成するというものである.これを実現するために,近傍の視点画像のブレンディングによってVolume Renderingに必要なRGB-σの情報を生成するネットワークを構築するというものである.ネットワークの概要は以下のようになっている. 各視点画像のカメラパラメータ(内部,外部)は既知で,各視点画像はRGBの色情報の他にU-Net上のネットワークを用いて抽出されたDense Feature f を持っている.IBRNetでは,対象となる視点から光線を飛ばし,この光線上をサンプルした点の位置,方向に対応するRGB-σの値を出力する.RGB-σの値は,まず,サンプルした点を近傍の視点画像上へ投影し対応する画像特徴を算出する.各画像特徴は局所的な特徴を表現しているが,自由視点画像を生成するためには大局的な特徴も重要であるため,画像特徴の各要素の平均 μ と分散 v を算出しネットワークの入力にする.これにより局所的,大局的双方を考慮し...

NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis (ECCV2020)

イメージ
 このブログでは,Computer Vision (CV)やComputer Graphics (CG)関連の論文について,(できれば)1日1本簡単に紹介していけれぼと思っています. ということで,初回は,昨年の3月に論文が公開され,話題となったNeRF: Representing Scenes as Neural Radiance Fields for View Synthesisについて簡単に紹介しようと思います. https://www.matthewtancik.com/nerf NeRFはarXivに論文が公開されたのは2020年3月でしたが,発表自体は2020年8月のEuropean Conference on Computer Vision (ECCV)でした.ただし,早々にコードもgithubに公開されていたことから,2021年3月現在でかなり多くの発展手法が提案されています. https://github.com/yenchenlin/awesome-NeRF また,NeRFの著者自身も,NeRFの改良手法を色々と提案しています.(このスピード感は凄まじい...) https://jonbarron.info/ NeRFは新視点画像生成の研究で,従来の新視点画像生成と異なり,対象となるシーンの3次元形状を陽に求めることなく,対象となる空間の5次元(位置x, y, zと方向θ, Φ)に対応するRadiance Field (色RGBとその透過度σ)をNeural Networkによって学習する手法となっています. 入力としては,複数枚の撮影画像とその画像を撮影したカメラのパラメータ(位置,姿勢などの外部パラメータと焦点距離などの内部パラメータ)となっています.NeRFでは新視点画像生成にVolume Renderingのアルゴリズムを利用することを想定しており,学習時にはデータセットの中からいくつかの視点の画像をGround Truth (GT)の画像として利用し,生成した画像とGT画像が一致するように学習を進めていきます.学習時には,ターゲットとなる視点における各画素に対応する光線上の点をサンプリングし,各サンプル点の位置と視点への方向に応じたRGB-σを推定していきます.この際に,位置,方向をそのまま利用すると生成画像において高周波成分が...

NeRF--: Neural Radiance Fields Without Known Camera Parameters

NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis (ECCV2020) の発展版でNeRFと異なりカメラの内部、外部パラメータも推定する手法の提案。NeRFに関する説明は、既に色々とあるのでそちらを参照。 [解説スライド] NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis 三次元空間のニューラルな表現とNeRF 基本的には、NeRFなどの新視点画像を生成の研究では、多くの場合、前処理としてStructure-from-Motionなどによって撮影画像のカメラの内部パラメータ(焦点距離や画像中心座標など)および外部パラメータ(回転、併進)を推定しておくことが必要となっている。これに対して、 NeRF--: Neural Radiance Fields Without Known Camera Parameters では新視点画像を生成するためのネットワークの学習時にカメラの内部、外部パラメータも推定してしまおうという研究。 アイデアは単純でカメラの内部、外部パラメータも推定対象としてネットワークを学習するというもの。ただし、内部パラメータは歪無し、光学中心と画像中心の座標は一致している、というもので内部パラメータは焦点距離fx,fyの2パラメータで表現されている。また、全てのフレームにおいて内部パラメータは共通(Shared Intrinsics)を仮定している。 推定処理は多段階になっており、各ステップでNeRFのモデルとカメラの内部、外部パラメータを推定する。ステップを進める際には、カメラのパラメータのみ推定値を保持し、NeRFのモデルについては初期化して学習を行う。これにより、カメラのパラメータが徐々に最適化される仕組みになっており、NeRFのモデルを各ステップで初期化して用いることで局所解の問題をできるだけ回避するようにしているらしい。 実験結果を見ると上手くパラメータの推定が出来ており、COLMAPの推定結果と比較しても同等の結果が得られていることが分かる。ただし、以下のような制約が現状はある模様。 カメラの運動に関しては、姿勢はあまり変化せず、併進が主で同一平面状を運動してい...

Neural Point-Based Graphics (ECCV2020)

イメージ
 ECCV2020の新視点画像の研究と言えば NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis が有名で、コードが早い段階で公開されていたこともあり既にNeRFをベースにした研究も多く存在する。 Awesome Neural Radiance Fields NeRFはとても素晴らしい研究だと思うけれど、処理時間などの点で色々と課題が残っている。上記ページのリストに載っているものには学習にV100GPU8枚を使って1週間かかるものもある。 一方で、同じECCV2020では Neural Point-Based Grahics (NPBG) という3次元点群に対してNeural Descriptorという各視点からの見えをコード化した情報を持たせることで新視点画像を生成する手法が提案されている。この手法では、以下の図のようにNeural Descriptorを付与した点群を画像上へ投影し、その結果をUNet状のネットワークに通すことで最終的なレンダリング結果を得る。 かなりシンプルな方法にもかかわらず、良好なレンダリング結果を得ることができている。 NeRFと異なり、計算コストが低く、レンダリングはリアルタイムで実行することができる。 リアルタイムでのレンダリングが可能であることから、ARなどのアプリケーションへも応用可能であるかもしれないと思い、今回はNeural Point-Based Grahicsのコードを実行してみた。以下、windows10環境での実行までの手順を示す。 コードをgithubからクローンしてくる condaではなくvenvで仮想環境を構築したので、pipで scripts/install_deps.sh に記載されているモジュールを仮想環境へインストールする。ただし、glumpyとpycudaは、pip install glumpy, pip install pycudaしない。 glumpy のコードをgithubからクローンしてくる。glumpyディレクトリへ移動し、 python setup.py install する。 pycuda のコードをgithubからクローンしてくる。pycudaディレクトリへ移動し、 py...