革命
2020年秋に発売された「iPhone 12 Pro」に搭載されたLiDARセンサーにより,3Dスキャン環境に革命が起きました。
VIDEO
それまでは高額で重いスキャン機器や高性能PCが必要だった3Dスキャンが,たった10万円(発売当時)でしかも片手で実現できるようになりました。
当時の3Dスキャン界隈での衝撃は凄まじく,筆者も含めて深夜に雄叫びを上げたことを覚えています。
このiPhone12Proを皮切りに,企業・個人問わずに続々とスキャンアプリやスキャン手法の開発が行われ今日に至ります。
その一方で手軽に3Dスキャンすることができたところで,それをどう利用しよう?といった声もちらほら聞こえます。
このテックブログではそんな大衆化されつつある各3Dスキャン手法の特徴を整理するとともに,作成した3Dモデルの利用方法をまとめていこうと思います。
大衆化したスキャン
軽量で高性能なカメラ・LiDARセンサーを搭載したスマートフォンが市場に出されたことで,各社・各人こぞって3次元構造推定方法やスキャンアプリを開発していきます。
手法や特徴が様々あるため,ここでは各スキャン手法の特徴を示すとともに対応するアプリを紹介していきます。
フォトグラメトリー(写真測量)
大量の画像データを用いて対象物の形状を推定する手法です。
各画像の特徴点を検出し画像間で合致させていくことにより,対象物の形状を把握します。イメージし易い言い方でいえば,両眼視差を利用するステレオグラムをあらゆる方向・角度で行います。
ソフトにもよりますが特徴点による画像間の位置合わせが肝となるので,画像の解像度が物を言います。高解像度であればあるほど,物体に対して正確でシャープなエッジが実現できます。一方で各画像の特徴点を把握して位置推定するため連続したパターンや反射・透過する物体は画像間の位置推定が不安定になるため,良好に形状推定ができません。また基本的にはスケールは後加工で合わせる必要があります。
VIDEO
画像があればアナログでも行える技法のため古くは鎌倉の大仏の重量推定などにも用いられたそうです。[1]
おすすめアプリ:RealityScan
RealityScanはUnreal Engineがリリースしているフォトグラメトリアプリです。スキャン精度向上させるサポート機能があったり,プレビュー機能で撮影枚数が足りているか確認できるのがとても良いです。無料で利用できます。
https://www.unrealengine.com/ja/realityscan
VIDEO
LiDARスキャン
iPhoneのPROシリーズに搭載されたLiDARセンサーにより対象物の形状を把握する手法です。
LiDAR(Light Detection and Ranging)とは装置から発射されるレーザー光の反射時間を利用し物体までの距離・方向を測定する方法です。それを連続的に行うことで対象物の3次元形状を推定する手法です。
レーザー光により物体までの距離を正確に素早く測定できるため推定時間が短く,精度もよい手法です。またスケーリングもされるため二次利用にも便利です。
弱点としてはフォトグラメトリと同様に物体推定に特徴点も利用するため,反射物・透過物はうまく形状推定できません。また使用するレーザー光の照射距離限界があるため,うまく形状推定できるのは機器から5m程度になります。[4]
最近では自動運転車にも利用され始めていたり[2],レストランでよく見る猫型ロボットにも搭載されていたりします。[3]
おすすめアプリ:Scaniverse
3Dスキャンを行っている人のスマートフォンにほぼ確実に入っているアプリ(著者調べ)。
基本的にはiOS・アンドロイドどちらでも使えるとても便利な代物です。LiDARがない端末でも使用できるため,皆さんすぐにDLするべきです。もちろんLiDARがあるPro版iPhoneで使用するのが最も精度良く,素早くスキャンできます。
また昨今は後述する「3DGaussianSplatting」にも対応し,オールマイティーなアプルとなりつつあります。
https://scaniverse.com/
VIDEO
3DGaussianSplatting
3DGaussianと言われる概念を用いて点群を滑らかに表現する手法です。
VIDEO
3DGaussianとは各点の位置,共分散,透明度,視点依存色情報を持つ輪郭が薄い球状の物体として表現されます。点群の作成は前述したフォトグラメトリと同様の手法で行っています。[5]
それらをある面にSplat(グチャッとぶつかって広げる)させることで,ある視点から見た画像を近似します。3次元水彩画みたいなイメージです。
推定された3次元モデルを見るとわかるように,適切な情報があるところはしっかりとした推定がされ,情報が疎な箇所に関しては細長い楕円のような3DGaussianが確認できると思います。
この手法は前述した2手法と異なり,生成された3次元モデルと入力した画像データを同画角で比較します。その差分を目的関数,前述した3DGaussianの各パラメータを変数として差分を最小化する方向で最適化することで3次元モデルの精度を向上させています。
これにより反射する物体・半透明な物体も適切に形状推定してくれるため機械系部品や車などをスキャンする際に重宝します。
おすすめアプリ:LumaAI
LumaAIは3DGaussianSplattingで3次元形状推定を行えるのはもちろんですが,特別な操作をせずともレンダリング映像として出力がされるためSNSなどで共有するのにとても便利です。
またスマートフォンなしでWebサイト上でも写真群・映像を入力すれば形状推定処理ができるため,高画質なカメラを使用することでより精密なモデルを作成することも可能です。
https://lumalabs.ai/interactive-scenes
また話は逸れますが,同社は24年6月12日に動画生成AI「DreamMachine」を発表しました。これらの学習にもLumaAIで作成された3次元モデルが役にたっていると思われます。
VIDEO
手法まとめ
上記3手法をまとめると以下の表のようになります。
スキャン対象の状態によって適切な手法が異なります。一番最初にお試しするのであれば一番手軽で失敗が少ない「3DGaussianSplatting : LumaAI」をおすすめします。
3Dモデルはいずこへ?
さて,スキャンした3Dモデルをどうしましょう。手元のスマートフォンに仕舞っておくにはもったいないです。筆者がおすすめする楽しみ方を紹介します。
手乗りで楽しむ
一番ポピュラーな方法かと思います。
通常の3Dスキャンアプリであれば,後処理と同時に OBJファイルもしくはFBXファイルが出力されるかと思います。それをそのままお手持ちの3Dプリンターで出力すれば,あっという間に手乗り狛犬の完成です。
旅先で見つけた不思議な彫刻などをお手元に置いておくと,旅の記憶が鮮明に蘇っておすすめです。
俯瞰で楽しむ
ある程度慣れてくると大きなものもスキャンできるようになってきます。そんなときはモデル同士を合成して俯瞰で楽しみましょう!シルバニアファミリーみたいな感じに。
以下は筆者がスキャンしモデリングソフト上で合成した「ばあちゃんち」です。施設に入ってしまい家主が居なくなってしまった家をスキャンし保存しています。
普段の視点では見れない部屋同士の関係や生活をみることができて良いです。
VIDEO
バーチャル空間で楽しむ
俯瞰して楽しんだあと,もっと楽しみたい人はモデルをバーチャル空間に設置しましょう!
以下は筆者とその仲間たちからなるスキャン集団(通称:スキャンぽ)が都内にあった古民家建築を丸ごとスキャンした後に,clusterと呼ばれるメタバースプラットフォームに設置した例です。
モデル容量削減や衝突処理などに少々ハードルはありますが,スキャンしたあとでもモデルをじっくり見ることができます。モデル内部でイベントも開催できるため,スキャンモデルをあとからじっくり観察する会合を開催可能です!
↓クラスターリンク。アプリDLなど必要ですが,自由に誰でも入ることが可能です。
家劇場 | メタバースプラットフォーム cluster(クラスター)
挙動を見て楽しむ
弊社のテックブログを見てくれている方々においては,そこかしこにある構造物の挙動を見てみたい!という方もいらっしゃるかもしれません。3Dスキャンはそれを可能にしてくれます。
ちょうど手元に札幌市真駒内に存在するモアイをもした不可思議なベンチデータがあったのでこの構造物の挙動観察を行ってみましょう。
様々方法はあるかと思いますがここでは3次元モデリングツール:Rhinoceros での作業例を示しておきます。
スキャンデータは往々にして穴が空いていたりMeshが干渉していたりするので,シュリンクラップでそれらを綺麗にします。これにより切れ目のないMeshデータが得られます。
作成されたMeshは細かく・汚い状況なので,QuadRemeshを行いMeshを綺麗にします。その際同時にSubDを作成します。
SubDに対してToNURBSを行い対象物をポリサーフェスに変換します。
作成されたポリサーフェスをStepファイルにて出力すれば,汎用解析ソフトで使用できるデータが完成します。
以上が一連の流れです。ちなみにシュリンクラップ後のMeshでもToNURBSできるのですが図のように細々としたサーフェスができてしまいます。このようなサーフェスを汎用解析ソフトでメッシュを切ると不具合が生じることが多いため,ここではSubD化後にToNURBSを行っています。
さて皆さんお待ちかねのモアイベンチの挙動を確認してみましょう。
以下に示すのは固有値解析結果です。モアイ脚部は地球に固定し,材料はコンクリート(E=2.1x10⁴N/mm²)としています。
1次モードはモアイが頷くようなモード,2次モードはモアイがルンルン首を振るようなモードのようです。5次にようやく薄いベンチ座面部分が上下に振動するモードが出てきます。モードを探っていくと高次モードにはなりますがモアイが伸び縮みするモードも存在しており興味深いです。
モード形状を踏まえつつモアイ構造を観察していくと,1次モードの起点となっている頸部が扁平となっているようです。方向により断面性能が異なるため,このモアイ像は頷くモードが1次として出ていると思われます。
また本モアイは人が座れるものなので,積載荷重を載荷してどの程度変形するか見てみましょう。境界条件はモアイ底部を地球側に固定し,荷重はベンチ中央部分に計100kgの節点荷重+ベンチ自重を考慮しています。
解析最大変位は0.03mmとなりスパン1000mmに対して1/33333<1/300となるので,実用上何ら問題ない範囲で収まっていることが確認できます。また応力を見ても最大引張応力が0.82N/mm²であり,Fc21のコンクリートひび割れ応力2.1N/mm²に対して検定比0.4と十分に余裕を持っていることが分かります。
3Dスキャンに何が可能か
3Dスキャンの現状,楽しみ方をまとめた筆者の趣味全開テックブログはいかがでしたでしょうか?
技術が人々に行き渡り触れる人が増えていくと,当初想定していなかったであろう使用方法が増えることで表現の幅広がり,それに伴い技術進化も更に進んでいくかと思います。
今これを読んでいる方は3Dスキャンを使ってどんなことをしてみたいですか?
その数だけ可能性は広がります。
ぜひお試しあれ!
参考文献
[1]丸安隆和, 大島太市, 薦岡康子, 津田昌明. 「写真測量を利用した三次元の精密測定 : 鎌倉大仏の測定を例にとって(建設特集号)」. 『生産研究』, 第12巻第6号, 1960年6月, 271-275頁. 東京大学生産技術研究所. https://repository.dl.itc.u-tokyo.ac.jp/records/23289
[2]Honda SENSING Elite 特設サイト:https://www.honda.co.jp/hondasensing-elite/
[3]ネコ型配膳ロボット BellaBot:https://www.elmo.co.jp/product/robot/bellabot/
[4]iPhone15Pro:https://www.apple.com/jp/iphone-15-pro/specs/
[5]Kerbl, Bernhard, et al. "3D Gaussian Splatting for Real-Time Radiance Field Rendering." arXiv , 2023, https://arxiv.org/abs/2308.04079 .