Neural Volume 3Dプリント

 

‘2023年10月13日’

このテキストは、

目次

0. はじめに
1. NeRFについて
2. ソフトウェアの比較
2-1. RealityCupture (フォトグラメトリ)
2-2. Luma AI (NeRF)
2-3. nerfstudio (NeRF)
2-4. instant NGP
3. 「Point Cloud」と「SDF」
4. NeuralVolume3Dプリント
4-1. 花
4-2. ガラス

0. はじめに

本テキストは、昨今で話題となったNeRF(Neural Radiance Fields)を用いた立体作品の制作を目指す中で得た知見をまとめることを目的としたものです。可能な限り、リファレンスはURLにて掲載します。
これをまとめる中で、私にとって重要だったことは、NeRFで得た3Dデータを3Dプリンタなどで物理的に出力するために、最適なアルゴリズム(ソフトウェアやオープンソースも含めた)は何か?ということと、それはなぜか?を明らかにすることでした。
その試みは、単なるNeRF(Neural Radiance Fields)-深層学習を用いたデジタル3D空間の生成-だけではなく、SDF-Signed Distance Function-(符号付距離関数)を前提としたNeural Volumeの深層学習プロセスが、閉じたメッシュポリゴン(3Dプリントに最適な3Dデータ)の出力において重要であることがわかりました。
そこで、NeRFの深層学習構造を用いたいくつかのオープンソースを例に、Neural Volumeの深層学習プロセスがどういった機能を果たすのかをまとめます。
また、これ以降に記載する「3Dデータ」には「閉じた3Dデータ」と「穴の空いた3Dデータ」があることが前提となり、3Dプリントに最適なデータは「閉じた3Dデータ」となります。
最後にNeural Volumeの深層学習プロセスを用いたデータサンプルを掲載します。

1. NeRFについて

先にも書いたとおり、NeRFはNeural Radiance Fieldsの略称であり、それは-深層学習を用いたデジタル3D空間の生成-を意味します。よって閉じた3Dデータを生成するためのプロトコルとは言えません。それはさまざまなNeRFを用いたソフトウェアのデータ書き出しの際の仕様からも見てとることができます。
知財図鑑GANとどう違う?君は画像生成モデルNeRFを知っているか。にも記載いただいている通り、NeRFとは、写真測量の3Dデータ生成アルゴリズムを前提に、写真と写真の間を補完する画像の生成AIと考えて間違いないでしょう。nerfstudioのオープンソース開発を例にしたNeRFの論文はNerfstudio: A Modular Framework for Neural Radiance Field Developmentにあります。

2. ソフトウェアの比較

NeRFでは写真測量が前提となるため、フォトグラメトリのソフトウェアであるRealityCuptureをはじめに挙げ、次にNeRFの構造を持つLuma AI、nerfstudio、最後にinstantNGPというNeRFの深層学習構造のなかでSDFやNeuralVolumeに必要な情報も学習データとしているオープンソースを例に提示します。

2-1. RealityCupture (フォトグラメトリ)

RealityCuptureは写真測量と呼ばれる技術の中で3Dデータを生成します。ほとんどの場合において、そこで生成される3Dデータは「穴の空いた3Dデータ」となります。それはRealityCuptureに「Close Hole」機能があることからも、写真測量から閉じた3Dデータを生成することは難しいと言えそうです。

2-2. Luma AI (NeRF)

Luma AIはもっとも利用コストの低いNeRFのサービスです。iosアプリなどで機能し、簡単にNeRFを体験することができます。

ここで重要なのはLuma AIのデジタルフィールドを書き出す際の設定です。項目を見ると以下の画像のようにGLTF,USDZ,OBJなどでメッシュ書き出しが可能で、PLYなどの点群データの書き出しも可能です。つまり、RealityCuptureなどのフォトグラメトリなどと同様で点群データをメタデータとしてメッシュの書き出しが実行されていることが予想できます。

2-3. nerfstudio (NeRF)

nerfstudioは、NeRFの統合開発環境として位置付けられます。

nerfstudioを見ても書き出しの設定はpointcloudなどのPLYデータもしくはOBJなどのメッシュデータとなっています。LumaAIと同様に、点群データをメタデータとしてメッシュの書き出しが実行されていることが予想できます。


2-4. instant NGP

一方でinstantNGPの書き出し設定を見ると、Export Mesh/Volume/Sliceと記載がある。LumaAIやnerfstudioとはこの点において大きく異なり、instantNGPはSDFベースのVolumeがメタデータとなり、Meshの書き出しが行われる。






3. 「Point Cloud」と「SDF」

instantNGPであったSDFベースのVolumeはPointCloudのような点群データとは3dデータの成り立ちの構造が大きく異なる。

4. NeuralVolume3Dプリント

4-1. 花

4-2. ガラス