>100 Views
February 15, 26
スライド概要
とても手軽! …ではなかった360度カメラを用いた3DGS 追求編 龍 lilea / ホロラボ
自己紹介 SNS OK 株式会社 ホロラボ 藤原 龍 Ryo FUJIWARA 龍 lilea OK 建築や空間の ビジュアライゼーションな人 X@lileaLab ⚫ 前職 2010年~ 鹿島建設Grアルモ設計 建築ビジュアライゼーション(CGパース/動画/AR/VR) 現職 2019年~ ホロラボ 空間情報技術(SIAR)チーム ⚫ 趣味/仕事 実空間を3Dデジタルアーカイブしてあれこれ活用 (フォトグラメトリ/3DGS/レーザースキャン) ↓最近の趣味,検証系スキャン 7月 広島 原爆ドーム 8月 北海道 青い池 8月 兵庫 城崎温泉 9月 せきぐちあいみさん 9月 山口 瑠璃光寺 9月 山口 雪舟庭 10月 大阪 玉手橋 11月 サウジアラビア 2
https://www.figma.com/board/ZsY2EYTQPISDt1uenpYA13 つくったもの 2019年 初の広域フォト グラメトリ作品 個人の 旧都城市民会館 VRAA Meetup会場 事例集はこちら→ 首里城復元プロジェクト 仕事の 中銀カプセルタワービル 東京メトロ 車両 ビーナスフォート 二条城 唐門 博物館動物園駅 デジタル上野の杜 沖本家住宅 サントリーホール 国立科学博物館 東京メトロ 模擬駅 3Dデジタルアーカイブ なお仕事も かれこれ7年に 江戸東京たてもの園 子宝湯 江戸東京たてもの園 前川邸 3
本日のお品書き 360度カメラから3DGSする様々なフロー ① 全天球画像 からの3DGS ② デュアルフィッシュアイ画像 からの3DGS ③ 透視投影分割画像 からの3DGS 4
360度カメラからの3DGS 全天球画像 360度カメラ撮影 透視投影分割 (90度切り出し等) デュアルフィッシュアイ 5
360度カメラからの3DGS それぞれ一長一短あり! 工程 対応ソフト スティッチ部分 の光学的ずれ アライメント 難易度 空間再現品質 全天球画像 △限界あり ○シンプル ✕限られる ✕ずれがある ○繋げやすい ※現状では ※カメラ最適化でき ない 透視投影分割 ✕複雑 ○すべて対応 ✕ずれがある △ずれがち ※空や白壁など特徴点が ない方向が外れる デュアルフィッシュアイ △一手間かかる ✕限られる ○ずれはない △ずれがち ※前後のカメラ同士に オーバーラップがない ○カメラ最適化 できる ※アライメントが しっかりできている い前提で ○カメラ最適化 できる ※アライメントが しっかりできている い前提で 6
①全天球画像から3DGS 7
全天球画像から3DGS LichtFeld Studioがこれに対応した事でワークフローが圧倒的にシンプルに! 全天球画像 全天球画像のまま Metashapeでアライメント 具体的な手順はブログにまとめました。 https://lilea.net/lab/equirectangular-3dgs-with-licht-feld-studio/ アライメント結果を transforms.jsonに変換 LichtFeld Studioで3DGS transforms.jsonへの変換ツール作った。 更にgrade eternaさんも同様のツールを公開された。 8
全天球画像から3DGS 注意点① 現状ではLichtFeld Studioで処理できる画像サイズは4k(4096ピクセル)まで。 8kで撮影している場合、4kに落ちるとピクセル数は1/4まで減ってしまう。 画角90度だと1kしかない! ディテールの再現はできなくなるので注意! ※LichtFeld StudioはOSSなのでソースを改変して8k対応に改変してもいいかも 9
全天球画像から3DGS 注意点② 全天球画像のまま処理するという事はスティッチ部分のずれの影響をもろに受け る。 THETA Xの動画の例。 スティッチング部分で大きなずれがある。 360度カメラ新機種が出たらまずはスティッチングの品質も確認しよう。 スティッチングの質は静止画と動画で結果が違う場合もあるで注意。 10
全天球画像から3DGS 全天球画像をそのまま利用するワークフローは簡単だが、 品質は限界がある点は注意して利用しよう。 しかしこれはあくまで現状の話なので、 今後カメラやツールのアップデートや新手法の登場によって 改善される可能性も大いにあるので、常に最新動向をウォッチだ! 3DGS周りの進化が早すぎて、1ヶ月でもブランクできるともう浦島状態。 11
②デュアルフィッシュアイ画像から3DGS 12
デュアルフィッシュアイ画像から3DGS Metashape バージョン2.3 で360度カメラのフィッシュアイ画像に対応! それの何が嬉しいのか? エクイレクタングラー: 2つのレンズのスティッチング処理部分は光学的に正しくない デュアルフィッシュアイ: スティッチング処理される前のデータなので上記の様なずれは無い 13
デュアルフィッシュアイ画像から3DGS 「Insta360」も「Osmo360」も元ファイルの中身はフィッシュアイ動画 ⚫ Insta360の場合 VID_20251203_123556_00_001.insv ⚫ Osmo360の場合 CAM_20251203123456_0001_D_A001.osv 上記の動画の中身は2つのレンズの映像が両方含まれたデュアルフィッシュアイの状態 ffmpegを使えばデュアルフィッシュアイ動画から切り出せる ffmpeg -i input.osv -map 0:v:0 -an -c copy -y output_0.mp4 前 ffmpeg -i input.osv -map 0:v:1 -an -c copy -y output_1.mp4 後 前後 14
デュアルフィッシュアイ画像から3DGS フィッシュアイ動画3DGSワークフロー ピンホールカメラモデル変換によって 画像の上下左右はトリミングされる事に なる点は注意 15
デュアルフィッシュアイ画像から3DGS 前と後のレンズはオーバーラップ0%な点には注意。 なので前後用と左右用と2台で同時撮影。※まだ検証中の仮のリグ アライメント出来た。 16
デュアルフィッシュアイ画像から3DGS しかしまだアライメント品質は十分ではなかった。 開けた空間だとばらけてしまった。 対策案A) 3台にして更に角度を増やす 対策例B) Metashape内でもリグとして ローカル座標固定してから処理する このアライメントがしっかりできれば スティッチングのずれの影響のない 品質を高めた3DGSが生成できる期待。 17
③透視投影分割画像から3DGS 18
透視投影分割画像から3DGS メリット • 普通の画像からの生成なのでソフトを選ばず処理できる • アライメントの過程で特に意識せずともカメラ最適化も行われる 注意点 • 分割した画像が空や白壁や、特徴点の少ない画像になっているとアライメントエラーとなる • 分割した数だけ画像数が増えるので処理時間がかかる 全方位に特徴点があり小規模な空間 屋外で開けた広域な空間 → そう苦労せず良好な結果が得られる傾向 → アライメントに工夫が必要に 19
透視投影分割画像から3DGS 屋外の開けた空間などではアライメントエラーでばらけてしまうリスク ⚫ 空方向 ⚫ 地面方向 ⚫ 白い壁 など、特徴点の少ないアングルが繋がらない どうしたら繋げられる? 20
透視投影分割画像から3DGS 屋外の開けた空間などではアライメントエラーでばらけてしまう どうしたら繋げられる? まず先に全天球画像でアライメントする! アライメント結果を 透視投影分割データに変換 全天球画像のまま Metashapeでアライメント 3DGS 全天球画像を 透視投影分割画像に変換 全天球画像は空も地面も白い壁など も全部含めて1つの画像なので バラけることなくアライメントできる アライメントができてから 画像を分割する 21
透視投影分割画像から3DGS 全天球画像は空も地面も白い壁なども全部含めて1つの画像なので バラけることなくアライメントできる。 大阪のグラングリーンのうめきた公園。 開けた広い空間だが、しっかり全域繋がった。 撮影時間はOsmo360で約40分。 22
透視投影分割画像から3DGS 全天球画像のままだと前章で説明した以下のデメリットがある スティッチング部分のずれがある 今のLichtFeld Studioは4kまでしか処理できず解像度が大きく落ちる なので、ここから透視投影分割する。 全天球画像を 透視投影分割画像に変換 アライメント結果を 透視投影分割データに変換 全天球画像アライメント結果を xmlファイルに書き出す 全天球画像xmlを 透視投影分割xmlに変換する 23
透視投影分割画像から3DGS 全天球画像を 透視投影分割画像に変換 私はffmpegでやってますが、 ↓GUIのツールもあります! 『360 Video Still Cropper』 masanagaさん 『360 Video Stills Prep Tool』Ronski氏 https://gumroadfx.gumroad.com/l/izjwq https://tascube.booth.pm/items/7325485 https://tascube.booth.pm/items/7325485 https://gumroadfx.gumroad.com/l/izjwq 24
透視投影分割画像から3DGS アライメント結果を 透視投影分割データに変換 全天球画像アライメント結果を xmlファイルに書き出す 全天球画像xmlを 透視投影分割xmlに変換する 方法1 私はClaudeさんにお願いして作成しました。 ※変換前のデータと変換後にこうなって欲しいというサンプルデータを渡してスクリプト作成 方法2 smert999さんのスクリプト『Agisoft_metashape_convert_to_cubemap』で変換 https://zenn.dev/hololab/articles/convert-equirectangular-to-cubemap-in-metashape xml変換ではないですが、全天球画像のチャンクからキューブマップ版のチャンクを作成できます。 ※Metashape Pro版が必要なので注意 方法3 kotohibiさんのスクリプト『Metashape 360° to COLMAP Converter』で変換 https://github.com/Kotohibi/Metashape_360_to_COLMAP_plane xmlファイルからキューブマップ版のCOLMAPデータへ変換できます。 25
透視投影分割画像から3DGS 分割版の注意点! 全天球画像をただ機械的に透視投影分割しただけだとカメラの最適化はされていない。 そもそもが前後の複数カメラから撮影された画像は「完全な」全天球画像ではない。 なので「機械的に」透視投影分割(ピンホール化)しても、 そこはまだスティッチング部分のずれなどが残っている。 分割しただけのデータから3DGS 分割後にカメラ最適化も行ったデータから3DGS 26
透視投影分割画像から3DGS カメラの最適化って? 特徴点のタイポイントを用いて画像を歪みのないピンホール画像として処理(歪み係数を反映)し カメラの位置や向きを整える。 全天球画像 Metashapeアライメント 透視投影分割 (90度書き出し等) 3DGS カメラ最適化 3DGS 最適化方法 Metashape 1. 分割画像と分割用に変換したxmlをMetashapeへ読み込み 2. 「タイポイント構築」を実行 / または「アライメント」を実行 3. 「カメラアライメントを最適化」を実行 最適化方法 RealityScan 1. 分割変換したxmlをRealityScan用のxmpに変換 ※xml→xmp変換スクリプトはClaudeさんに作成してもらいました 2. 分割画像とxmpをRealityScanへ読み込み 3. 「アライメント」を実行 27
透視投影分割画像から3DGS カメラ最適化のポイント 特徴点のタイポイントを基準に最適化されるのでオーバーラップがあると有利。 ○ 水平8方向+前後は30度見下げ+左右は30度見上げ △ 前後上下左右 分割が前後左右4方向だけだと十分に最適化されないおそれがあるので、 斜めを加えた8方向にするとより最適化の品質があがる。 ーはず。たぶん。原理的に。(まだ検証中だけどそんな傾向がある) 28
透視投影分割画像から3DGS そろそろこのタイトルの真意を感じている頃でしょうか… 29
透視投影分割画像から3DGS カメラ最適化TIPS Metashape 「座標事前選択」を使うと処理時間が短縮できる 「座標事前選択」を使うにはxmlで読み込んだ座標値を「座標データ」欄へ反映させる 「ステーション」機能を使うと写真の分割グループを1つの束として固定してアライメントできる ただしステーション設定にしたままだとグループ内座標が固定され座標最適化がされないので注意 RealityScan xmpを「draft」版で作成すれば座標を維持しつつ位置や向きの最適化ができる lockedを使うと座標が完全固定されてしまいカメラ座標の最適化がされないので注意 30
おまけ① 31
おまけ① マスクも活用 ⚫ スティッチング部分 ⚫ 画像上部 ⚫ 画像下部 ⚫ 自分の体 ⚫ 人 ⚫ 自分の影 32
おまけ② 33
おまけ② 360° GAUSSIAN 全天球画像/動画から3DGS生成までを自動化できるツール 全天球画像/動画 人マスク 透視投影分割 アライメント処理 ・RealityScan ・Metashape ・COLMAP 3DGS処理 https://laskosvirtuals.gumroad.com/l/360gaussian ・postshot ・LichtFeld Studio ・Brush ただし今回話した「最適化」の工程は含まれないので注意 34
おわり まだまだより良い結果、かつ処理時間も短縮できるフローを模索、検証中。 360度カメラ3DGSは沼が深すぎだった。 わたしはもうぬけだせない このスライドはこちらで公開しました!→ https://www.docswell.com/s/lileaLab/Z44DV6-260214 35