7/13(土)-15(月) J-WAVE presents INSPIRE TOKYO(@代々木第一体育館)で自動運転車に試乗できます☆彡

19-17. フォトグラメトリとNeRFの精度を比較してみた

やること

前回、写真群から3Dモデルを再構築する手法である「フォトグラメトリ」「NeRF(Neural Radiance Fields)」「3D Gaussian Splatting」を比較しました。3D Gaussian Splattingはメッシュデータが取り出せないため利用が難しいという状況です。

フォトグラメトリとNeRFはメッシュデータが取り出せます。私たちが行っている「遠隔足測定サービス」では、足の写真からフォトグラメトリで3Dモデルを作成して測定しています。そんなこともあり、今回はフォトグラメトリとNeRFの精度の比較をしてみました。

手法

フォトグラメトリ

3DF Zephyerというソフトを使用しました。

NeRF(Luma AI)

Luma AIというオンラインサービスを使用しました。

NeRF(ローカル)

こちらを参考に、Nvidiaが発表した「Instant-ngp」を実装しました。

Instant-ngpの構築方法は?やり方と手順を詳しく解説 | AI研究所
Instant-ngpを実際に使いたいけど、やり方が分からない方向けに構築方法や使い方を解説します。セットアップの方法や操作方法、モデルの出力方法を解説していますのでInstant-ngpを使用したい方は参考にしてください。

使用した写真

足長と足囲の精度を比較します。足囲にメジャーを巻いて、足をぐるっと60枚撮影しました。

フォトグラメトリは、無地よりも派手な柄のある物体の3D化の方が得意です。足は比較的無地に近く、フォトグラメトリが苦手とする被写体です。フォトグラメトリの精度は、照明の当て方などの撮影環境によっても大きく左右されます。今回は照明にあまり気を使わずに撮影していますので、撮影環境によってはフォトグラメトリでいくら頑張ってもこれくらいの精度にしかならない、という雰囲気がお分かりいただけるかなと思います。

外観

フォトグラメトリ

床はキレイに取れていますが、肌の表面がゆらゆらしています。肌は特徴点が検出されにくく難しいのです。

NeRF(Luma AI)

床の判定とトリミングは自動でやってくれています。

NeRF(ローカル)

手動でトリミングしてメッシュデータを出力しました。テクスチャは出力できないため頂点カラーだけで進めていくことに注意してください。

解像度

フォトグラメトリとNeRF(Luma AI)の解像度を比較すると、フォトグラは字や目盛りまで見えています。

表面

フォトグラメトリ

やはり肌の表面がゆらゆらしています。はみ出たメジャーが消失しているように、細くて浮いている棒のようなものが苦手です。

NeRF(Luma AI)

表面の状態は比較的良好。はみ出たメジャーは棒のようになっています。Luma AIのメッシュ生成処理が優秀なんだと想像しますが、実際どんな処理をしているかは不明。

NeRF(ローカル)

頂点カラーで表示しているため表面は許してください。スムージング等の処理はなし。浮遊ゴミが多いです。はみ出たメジャーは同じく棒になっています。

ぐるぐる回した動画アップしてあります。

NeRFは点群の座標はよく取れている感じ

足囲の測定

足囲の断面をかかと側から見たところです。フォトグラメトリとNeRF(Luma AI)はキレイですね。NeRF(ローカル)はトポロジーがめちゃくちゃで、「座標だけ取っといたから後は頑張ってね」と言われている感じ。

手動で足囲を測定します。デコボコしている場合は空気を読んで真ん中あたりに線を引いてやります。3つ重ねてみると、数mmの違いがあります。この数mmがオーダー靴では大きな違いになる場合があります・・・

測定値

すべて手作業で1回だけなので何も統計的なことは言えないことにご注意ください。

足長 [mm]足囲 [mm]
実測229.0224.0
フォトグラ224.7227.7
NeRF(Luma AI)228.9226.5
NeRF(ローカル)230.8226.2

フォトグラよりもNeRF勢の方が良いような気がしています(それってあなたの感想ですよね?)。NeRF(ローカル)は表面こそポコポコしますが、点の座標の精度は高いのではないかと思います。

まとめ

テクスチャを重視する場合は依然としてフォトグラが有利です。フォトグラでうまく3D化できないデータセットの場合(浮いた棒や反射・光沢がある場合)、NeRFは有望な選択肢になることが感じられました。

タイトルとURLをコピーしました