NeRFを使って3Dモデルを作成しよう
NeRFを活用して、3Dモデルを生成するためのツールやサービスがいくつか存在する。その中には、Luma AI、Instant NGP、NeRF Studioがある。
Luma AIは、専用のウェブサイトに画像をアップロードするだけで、簡単に3D化を行ってくれる。しかしこの方法では、生成した3Dモデルが広く公開されてしまうため、非公開の対象には使用できない。そのため、筆者は自身のWindows PCにInstant NGPとNeRF Studioを導入し、試してみることにした。詳しい手順は、それぞれの専用サイトをご参照いただきたいが、CUDA、CMAKE、Python、Anacondaなどをインストールしながら環境を整える必要がある。
以下では、Instant NGPを使った作業フローを紹介する。
- 対象の写真を撮影
対象となる物体を、できるだけ多くの角度から撮影する。静止画を多数撮影する方法もあるし、動画を撮影してからそれを静止画に分割する方法も考えられる。
- Instant NGPで計算
まず、カメラのパラメータを推定する計算を行う。次に、推定したカメラのパラメータを使ってInstant NGPに入力する。Instant NGPは、これらのパラメータを基にしながら3Dモデルを生成する(図1)。 初めは画面全体がぼんやりとしているが、しばらく待つと計算が落ち着いて、3Dモデルが完成する。マウスを使って操作してみると、確かに3D化されていることがわかる(図2)。
- ポリゴン化
NeRFが行う処理は「2」に該当するが、生成した3Dモデルを既存のソフトウェア(BIM、3DCGなど)に取り込むためには、点群やメッシュ(ポリゴン)を作成する必要がある。 Instant NGP上で、メッシュ化したい部分を選択して、その後に出力する。そして、次の段階で使用したいソフトウェアに入力し、次の工程に進む。もし必要があれば、BlenderやMeshLabなどのソフトウェアを使用して、メッシュの数を調整することも考えられる。
|