HyperNeRF解説原稿
対象
- 調べ始める前の僕くらいがちょうど良い?
- なんとなくニューラルネットワーク
ニューラルネットワーク
基本の回帰モデルを表すと↑になる これの層を増やしたり、間のユニットを増やすことで学習 各矢印が、重みwを持っている、全部違う値 学習によって調整される それだけだとただの回帰と同じ、だから、やを使ってフィルターをかける みたいに、して重みを0に近づけることもできる デフォルトはほとんど正則化しない 最初は、乱数で重みを決める 学習した内容の解析が難しい、やる方法の一つは重みのヒートマップをみること パラメーター学習のには、や等が初心者向けにある #Pythonで始める機械学習 モデルが完成したら、実際にする時はこの計算をすればいいだけ、簡単 (xが入力、Wが各層の重み、yが出力、σが) 一つの層のたくさんあるのうち、一つがめっちゃ影響力強くなっちゃうことがある それを避けるために、ランダムにdropoutする ...
- なんとなくニューラルネットワーク
- 調べ始める前の僕くらいがちょうど良い?
構成
- 最初にでも見せて、これがどういう仕組みなのか、みたいな話をしていく
HyperNeRF
- SIGGRAPH Asiaの09 neural rendering
- technical papersのいろいろな分野の発表を聞いて、一番この研究に興味をそそられたのでより深く読み込みました
- この分野について前提知識をあまり持たない状態で調べたので、そういった視点から基礎知識を持たない人にも伝わる様説明を試みます
HyperNeRFを説明する前に、HyperじゃないNeRF、単にNeRFと呼ばれている技術について説明します。
どんなことができるかというと、
https://www.youtube.com/watch?time_continue=92&v=JuH79E8rdKc&feature=emb_logo
NeRF以前の考え方だと、
- 画像を出力するニューラルネット
- しかし、これで今のNeRFみたいなことをすると問題があって、一貫性のある画像が生まれません
- 物体を上から見た時と左から見た時の画像を生成すると、それぞれはもっともらしい見た目をしているけど、それらに整合性がありませんでした。
NeRFはその課題を、そもそも解く問題を変えることで解決しています
空間上のある一点をある角度から観た時に、その点がどんな色と透明度を持っているか
- 例えば、お茶のペットボトルのある一点を真横から見た時にどんな色と透明度かと問われて、茶色で半透明だと答えられるニューラルネットワークを訓練しようとしている
- キャップのところであれば、緑色で完全に不透明
- 空中の何も無い所の座標の場合は、無色かつ透明
つまり、特定の三次元のシーンを色と密度の集合で表現できるニューラルネットワークを訓練していて、
- この色と密度の集合をRadiance Fieldと呼びます
- Neural Radiance Field -> NeRF
これを元にどうする?
- 動画見せる
- 計算しやすい様に離散化するとこういう関数で表現できて、これが微分可能なので
その後に、色々生まれる
非連続変化にがて
これを解決するのがHyperNeRF
- 「レベルセット法」を取り入れる
- https://hypernerf.github.io/static/figures/level_set/interpolate2.mp4
- 動画動かしながら非連続的変化が連続的になってることを説明
評価
- 定量的評価には、この三つの評価基準を使用したそうです
まとめると、
- こういう研究自体はこれが最初ではありませんが、この動画にあるように口が空いたり閉じたりするような形状変化があっても問題なくレンダリング出来ている、という点
- さらに、形状変化時にトポロジーの変化があっても問題なくレンダリング出来ているという点がこの研究のすごい点です。
感想
- 聞かれるかもしれんし考えとく
- HyperNeRFの感想
- ちゃんと人に説明できるレベルまで読み込むと、
- それぞれのトピックに系譜みたいなものがあるな〜、とHyperNeRFの背景を辿る事で感じられた
- あと、2020年にNeRF、そこからHyperNeRF含む派生研究が既にたくさん発表されている
- 速え〜
- ちゃんと人に説明できるレベルまで読み込むと、
- SIGGRAPHの感想
- 分野の全体像みたいなのが見れた気がする