日々適当

hibitekitou

Ojbect Captureを利用したフォトグラメトリができるアプリ

cg |2022-01-30

PhotoCatchってツールで、Montereyが動くMacでのフォトグラメトリが実現するようです。Montereyで用意されたObject Capture APIを利用しているようで。
(iOSアプリの方で素材を撮れば深度情報を付与した状態で処理されるようですけど、モデル生成処理はクラウド上で行われるということもあり、その処理は有償になっているようです($0.99だから、ゴミモデルが出来上がってくるのでなければ、十分コストパフォーマンスは良いと言えましょうが)。)

ともあれ、Mac版をダウンロードして利用してみましょう。

自転車のサドルに乗っけて、こちらの靴をぐるぐると撮影すること85枚。それらをこのアプリに食わせてみます。

シンプルなUIっすね。書き出しフォーマットはusdz、obj、daeとなる模様。Model Qualityはデフォルトでは一番低い解像度になっているようです。とりあえずPreviewのクオリティで実行してみますと、Mac内部で処理が実行されていきます。なを、eGPUを繋いでいても内部GPUでの処理が始まってしまう模様。(まあこれに気づいて「外部GPUを優先」のオブションをオンにするために一回アプリを強制終了さたあと、マシンを再起動せずに処理を再実行しているので、うまくeGPU優先になってない可能性はあるけど…)
このエントリを書いているのはMac mini 2018上なのだけど、せっかくなので裏でM1 MacBook Airでも動かしてみました。そちらはクオリティをRawにして走らせます。プログレスバーがあっという間にMac mini側を追い抜いていったけど、処理後半でMac miniの方も遅れを取り戻しているし、これぐらいのモデルなら実用的な処理速度なのではないかと推察いたします。

処理が終わるとこんな感じで結果が画面に表示されました。とりあえず下の方に明らかにいらんものがくっついているので、それをCropしてから書き出してみました。usdzでSaveします。
残念ながらusdzはBlenderではそのままでは読めないので、拡張子をzipに変更して伸長します。出来上がるフォルダの中にexport.usdcファイルが入っているので、それをBlender 3.1 beta版でインポートしてみました。(なを、後述するようにテクスチャ素材が要素に分離されて出てくるわけではないので、DCCツールに読み込ませるのなら素直にobjやdaeにしとくのが吉でしょう。)

左がPreviewのクオリティ、右がRawです。Rawが35万ポリゴン、Previewが2万3千ポリゴンでした。出力されてくるテクスチャはPreviewが1K、Rawが8Kでした。焼き付けられたテクスチャしか出てこないので、他のソフトに持ち込んで綺麗にレンダリングしようって用途にはちょっと問題が起こる可能性はありますか。Object CaptureのAPI的にはColor, Normal, AOの各マップを出力するようですが、この辺は各アプリケーションの味付けってことですね。

ということでOSのAPIを利用してこのクオリティということで、今後の進化に期待したいです。鏡面やガラスをうまくキャプチャできる未来は来るのかどうなのか…

コメント ( 0 )|Trackback ( )
  ・