iPhoneのフォトグラメトリapp及びmacOSのAPI「ObjectCapture」は実務に使えるか
2021/11/23 時点
[ObjectCapture, Marmoset Toolbag 4, 3DScannerApp]
Metascan, Polycam, WiDAR など「ObjectCapture」を使ったiPhoneアプリには
カメラの
- マニュアル撮影モードがなく、
- RAW撮影、ピーキング、フラッシュ、ホワイトバランス固定、
- 撮影してあった写真のアップロード機能もないため
その時点ですでに、ゲーム業界や映像業界でのスキャン業務では、
アプリ単体で使うのが難しいかと思う。
それらが実装されたらむしろカメラアプリとしても超有能になる。
参考として優秀なカメラアプリHalide Mark IIの値段は年間1300円/買い切り6100円なので期待薄か。
ただ、3D Scanのプレビューとして使うだけであれば問題ないはず。
どのアプリも中身が同じAPIなので、RawやObjectMaskingなどの設定が使えるかどうかの違いだけ。(厳密にいうとマーカーモードのQlone以外は同じアルゴリズムか)
(また自動でシャッター切ってくれたりする便利機能もアプリによってあったり)
クオリティもMetashapeやRealityCaptureとそんなに差がないし、
ObjectCaptureで生成したメッシュのクオリティは必ず
MetashapeやRealityCaptureの「最高精度」「高精度」に敵わない。
ObjectCaptureアプリ:3DScannerApp(Raw/Full)
例:靴、a7r4, AR400で撮影
以下全てRaw Mesh、最高クオリティで生成する場合
細かいディテールについてはObjectCaptureが両者より劣る。
Metashape
Realitycapture
ObjectCapture
例:お椀、a7r4、AR400
Realitycapture(sketchfab)
ObjectCapture
例:里芋、iphone 13pro 純正カメラappでjpg撮影
Metashape
ObjectCapture
- ObjectCaptureの処理過程と生成物について
- Alignment Reportがほぼない
- 途中経過が見れない
- Alignmentを調整できない
- 参考資料が少ない Apple Developer Documentation
- ソースコード読んでわかったが、そもそもRealitycaptureやMetashapeのようにパラメーターをいじれない
- ObjectCaptureの生成物、Rawには最大8K*N枚のTextureが入ってて、
- Fullのほうには最大8K 1枚ずつDiffuse Map, Roughness Map, Tangent Normal Map, AO Mapが入ってる。
- Displacement mapもあったが現状使えてない。(自分がテストしたいくつの事例)
- メッシュのポリゴン数がかなり少ない。どこかの段階で画像をDownscaleしたかとの憶測。automaticDownsampling
- Raw→ Full へのsimplifyではエッジ(ディテール)が失われる、
- NormalMapでは復元できないエッジが。
- ObjectCaptureを使うメリットとして、
- 特に執筆すべきところは、Roughness Mapそれなりに感触が良かった点。
- Object MaskingをOnにすれば背景が雑でもかなりの確率でマスキングしてくれる点。
- iPhoneでHEIC形式で撮影すれば距離データとDepth Mapが画像に入ってくるので、自動的にモデルにスケールを与えることができる点。
もし
iPhoneとObjectCaptureでスキャンする(するしかない)シチュエーションに遭遇したら、
- 「Halide Mark II」とか買って、
- マニュアルモードに切り替えて、場合よってフラッシュ焚いて、
- Rawで撮影して (Apple ProRAWと標準的なRAWどっちがいいか確信を持っていないが、標準的なRAWに一票)
- カラコレして現像した写真をObjectCaptureに投げるほうが無難。
まとめ的に
もしモデルのクオリティを求めないのであればObjectCaptureを使っても大丈夫だろう。
デジカメとスマホの使い分けみたいに。
ジオメトリをあたりとして使って、
テクスチャはカラコレ無視か完全に張り替え前提であれば、
むしろObjectCaptureのほうが色々楽。
必要十分なクオリティが得られる。
またさらに何かテストしたら本記事を更新していく予定。
TODO
ObjectCaptureのiPhoneアプリの活用方法
macOS ObjectCaptureのさらなる検証
他、ObjectCaptureのレンダリングサンプル
悪くはない
ObjectCapture, Photogrammetry。
— Yu) (@polarization_yu) 2021年12月8日
ディテールが相変わらずRealityCapture,Metashapeほどないが。 pic.twitter.com/gvBsMVYIgK
レンダリング負荷テスト
— Yu) (@polarization_yu) 2021年12月5日
iPhone ObjectCapture, 照明やカラコレなど無し。
raw mesh, raw texture#photogrammetry pic.twitter.com/bBkzP1AtEG
iPhone, Objectcapture, Raw mesh Raw textures(albedo, Normal, Roughness, AO) #Photogrammetry pic.twitter.com/r4xjkXo3Mv
— Yu) (@polarization_yu) 2021年12月6日
iPhone, ObjectCapture, 右手で左手をPhotogrammetry
— Yu) (@polarization_yu) 2021年12月8日
これぐらいならすぐできるけど裏がね... pic.twitter.com/VyBEAmL07X
ObjectCapture
— Yu) (@polarization_yu) 2021年12月20日
Raw Mesh, Raw Textures#photogrammetry pic.twitter.com/RwQFVqNna4
ObjectCapture
— Yu) (@polarization_yu) 2021年12月21日
3,4年前にiPhoneで撮った手押しポンプ、おそらくこういうジオメトリのリファレンススキャンならスマホアプリの方が一番楽で、多分クオリティも同じ。#photogrammetry pic.twitter.com/drAvTcZ3ib