松田研究室
Speaker NotesDocument No. SEMINAR-03-NOTES
Version 1.0
← Seminar Index
Speaker notes & glossary

第 3 回卒研ゼミ
説明スクリプト & 用語リスト

Apple Silicon 向け 3D Gaussian Splatting 実装の進捗 ― 2026 年 6 月の進捗

01

説明スクリプト

How to read
本編 約 4 分 30 秒。「前月報告した brush との差 -11.79 dB は実質的には評価プロトコル不整合に起因」「Apple Silicon 最適化はカーネル直接最適化ではなく算法レベルとシーン適応が効く」の 2 本立てで進める。残差 -3.33 dB は隠さず disclose。下線つきの用語はタップで意味が出る。

1.1 前回のあらすじ about 30 sec

読み上げ原稿

本研究のテーマは「Apple Silicon 搭載端末上で、3D Gaussian Splatting の学習から表示までを単一デバイスで完結させるパイプラインの検討」です。研究の貢献は 3 軸で、(1) Apple Silicon に最適化した実装の提案、(2) wgpu 抽象化層によるコストの定量化、(3) ユニファイドメモリ活用の実証 を主張しています。

第 2 回ゼミ時点では、自作実装で Lego データセットの検証 PSNR が 26.27 dB、学習時間が 26 分 32 秒に到達し、既存実装の brush との差は -11.79 dB と報告していました。次月計画は SSIM カーネル改良、MCMC 法の完全実装、研究室 GPU での CUDA 参考値の取得の 3 項目でした。

  • 研究テーマ
    • 搭載端末で を単一デバイスで完結させるパイプライン」
  • 研究の貢献は 3 軸
    • (1) Apple Silicon に最適化した 3DGS 実装の提案
    • (2) の抽象化層によるコストの定量化
    • (3) 活用の実証
  • 第 2 回ゼミ時点の到達
    • 自作実装で の検証 26.27 dB / 学習時間 26 分 32 秒
    • 既存実装 との差は -11.79 dB と報告 (brush 参考値 37.38 dB)
    • 次月計画 3 項目: SSIM カーネル改良 / MCMC 完全実装 / 研究室 GPU での CUDA 参考値取得

1.2 本レポートの概要 about 30 sec

読み上げ原稿

今月やったことを一言で言うと、二本立てです。一つ目は、前月報告した brush との差 -11.79 dB の真因を突き止め、評価条件を揃えると brush と同等以上の品質に到達したこと。具体的には Lego 検証 PSNR が 36.11 dB、8 シーン平均が 33.49 dB です。

二つ目は、Apple Silicon 固有最適化を 8 候補について実測し、当初想定していた最低レイヤのカーネル直接最適化は ROI が想定より低く、より上位の 算法レベルの改善とシーン適応 が、品質と速度の双方で唯一の改善源になることを確定した、ということです。

  • 1 行で言うと
    • 「前月の -11.79 dB 差分の真因を解明し、評価条件を揃えると brush と同等以上の品質に到達した」
    • 「Apple Silicon 最適化の効くレイヤを 8 候補の実測で構造化した」の 2 本立て
  • 結果
    • 評価条件を揃えると Lego 36.11 dB (前月 26.27 dB に対し +9.84 dB) / 8 シーン平均 33.49 dB
    • 同一プロトコル平均 32.86 dB+0.63 dB 上回り
    • が universal な改善源と確定 (両軸改善: +0.077 dB / 学習時間 -24%)
  • 正直な disclose
    • 原著論文の 37.40 dB に対しては -3.33 dB の残差あり (本実装の同条件評価が未整備、次月課題)

2.1 評価プロトコル不整合の発見 about 1 min

読み上げ原稿

まず一つ目の発見からお話します。学習側と評価側の前景背景処理、つまり透明背景を持つ合成データセットの透明部分をどう扱うか、についてですが、本実装は white-bg 前提、つまり白で背景を埋めた状態で学習・評価していました。一方 brush は premultiplied 前提、つまりアルファ値で前景を pre-multiply した形式で学習・評価していました。

これら互いの前提で測ると、両者とも 1.7 dB 程度に崩壊する、対称な結合があることが分かりました。つまり評価条件を揃えること自体がそもそも前提として必要だった、という発見です。

そこで設定ファイル 1 行で慣習を揃えると、本実装の Lego 検証 PSNR は 36.11 dB、+9.84 dB に上昇しました。さらに、点の不透明度を学習中に緩やかに減衰させる手法を加えて 8 シーン平均 33.49 dB に到達し、brush 自身を同一プロトコルで再測した 8 シーン平均 32.86 dB を +0.63 dB 上回りました。Lego 単独では +4.07 dB です。

ただし正直に開示しておく必要があるのは、brush 原著論文がテスト分割 200 視点で報告している 37.40 dB に対しては、本実装の同条件評価がまだ未整備で、検証 100 視点の数字でしか測れていません。この比較では -3.33 dB の残差 が残っており、これは次月の最優先課題の一つです。

  • 核心
    • 前月の -11.79 dB は本実装の品質不足ではなくの不整合が支配的要因だった
    • 本実装は学習・評価とも white-bg 前提、brush は学習・評価とも premultiplied 前提
    • 互いの前提で測ると両者とも 1.7 dB 程度に崩壊する対称な結合 → 評価条件の整合性がそもそも前提だった
  • 手当て
    • 設定 1 行 (gt_convention = "premultiplied") で慣習を揃え、Lego 36.11 dB (+9.84 dB) に上昇
    • 点の不透明度を学習中に緩やかに減衰させる手法を加えて 8 シーン平均 33.49 dB / 合計 5 時間 5 分
    • で再測した 平均 32.86 dB を +0.63 dB 上回り、Lego val では +4.07 dB
  • 残差の disclose
    • 原著論文の 37.40 dB に対しては、本実装の同条件評価が未整備で検証 100 視点 34.07 dB での代用、残差 -3.33 dB
    • 原因は「テスト 200 視点の評価データを完全には DL していない」評価データ側の不足、次月の最優先課題の 1 つ

2.2 Apple Silicon 最適化の ROI 階層 about 1 min 30 sec

読み上げ原稿

次に二つ目です。本研究の当初の想定は「Apple GPU 専用機能、つまりタイル単位描画やユニファイドメモリ、SIMD 集約といったハードウェア機能を直接活かしたカーネルの最適化が、研究の主要貢献である」というものでした。

今月は、これに該当するカーネル単体の候補を 5 件、具体的にはタイル binning の SIMD 化、半精度順伝播、GPU 上の prefix scan、点更新の GPU 化、評価データのキャッシュ化、を順に試しました。結果は 全部、学習時間に対して微小な悪化または不変 でした。

これに対して、より上位の手法、すなわち球面調和関数の次数を学習中に段階的に上げる算法レベルの改善は、8 シーン平均で +0.107 dB、学習時間 +10% で、唯一の universal な改善を達成しました。さらに「初期収束が速いシーンは早期停止し、遅いシーンは全反復まで回す」というシーン適応で、平均 +0.077 dB、学習時間 -24% という、品質と速度の両軸で改善を確定できました。

第 2 軸の wgpu 抽象コストについても同方向の発見がありました。研究室の V100 GPU 上で、brush (wgpu) と CUDA 原著実装と gsplat の三層を測ると、wgpu を経由する brush が CUDA 直の原著実装より 約 21% 速く、品質も高い、という結果でした。これで「wgpu 抽象コスト ≪ 実装最適化レベル」が M4 Max と V100 の 2 機種で確認されたので、卒論第 2 軸の主張は「抽象コストよりも実装最適化レベルが支配的」という方向に転換します。

  • 当初の想定
    • Apple GPU 専用機能 (タイル単位描画 / ユニファイドメモリ / 集約) を活かしたカーネル直接最適化が研究の主要貢献である、というもの
  • 8 候補の実測結果
    • に該当する 5 件 (タイル binning SIMD / 半精度順伝播 / GPU prefix scan / 点更新 GPU 化 / 評価データキャッシュ) → 全て学習時間で微小悪化または不変
    • を学習中に段階的に上げる算法レベル → 8 シーン平均 +0.107 dB / 学習時間 +10% の唯一の universal な改善
    • 反復数 → 平均 +0.077 dB / 学習時間 -24% の品質と速度の両軸改善
  • 第 2 軸 (wgpu 抽象コスト) も同方向
    • 研究室 V100 GPU 上で (wgpu, 37.46 dB / 8m24s) が 3DGS 原著実装 (CUDA 直, 28.38 / 10m37s) より 約 21% 速い
    • 「wgpu 抽象コスト ≪ 実装最適化レベル」が 2 機種 (M4 Max + V100) で確認
    • 当初テーゼ「wgpu 抽象は重い」は実測で反証、卒論第 2 軸の主張を「抽象コストよりも実装最適化レベルが支配的」に転換

2.3 前月計画の達成状況 about 30 sec

読み上げ原稿

前月計画の 3 項目について整理します。SSIM カーネル改良は、先ほど 2.2 で示した通り、カーネル直接最適化と同類のスコープと判明したため、得られた ROI 上限の実測値、つまり「5 連続で微小悪化または不変」を根拠に意図的に defer としました。「計画を放棄した」のではなく「実測結果から判断した」点を強調しておきます。

MCMC 法は、実装そのものは完了しました。ただし点群への noise 注入のパラメータが論文設定と数十倍ズレており、PSNR が復活せず、これは卒論の負の発見章として整理します。研究室 GPU での CUDA 参考値は、V100 で brush・原著 3DGS・gsplat の 3 種を取得済みです。A6000 と RTX 6000 Ada は研究室機材の占有状況により次月に持ち越しました。

  • SSIM カーネル改良 — 意図的 defer
    • 2.2 のカーネル直接最適化と同類スコープと判明したため、得られた ROI 上限の実測 (5 連続で微小悪化または不変) を根拠に優先度を下げた
    • 「計画を放棄した」のではなく「8 候補の実測結果から judgment した」点を強調
  • MCMC 法 — 完了 (ただし PSNR 復活せず)
    • 実装は完成。ただし noise 注入のパラメータが論文設定と数十倍ズレて PSNR が 17.4 dB に留まる
    • 卒論の負の発見章に整理 (実装の問題ではなくハイパーパラメータ整合の問題)
  • 研究室 GPU での CUDA 参考値 — V100 完了
    • V100 上で (37.46 / 8m24s)、3DGS 原著 (28.38 / 10m37s)、 (32.94 / 5m03s) の 3 種取得済
    • A6000 / RTX 6000 Ada は研究室機材の占有状況により次月

3. 次月の計画 about 30 sec

読み上げ原稿

最後に次月の計画です。次月は評価条件を揃えた最終比較の完成と、研究範囲の実データへの拡張を進めます。

具体的には 3 項目で、(1) 研究室 GPU での CUDA 参考値の完成、つまり A6000 と RTX 6000 Ada で残りの bench を回して V100 と同方向の結果を確認すること。(2) brush 原著論文と同条件のテスト評価、テスト分割 200 視点を完全にダウンロードして本実装で再評価し、残差 -3.33 dB を最終確定すること。(3) Mip-NeRF 360 や Tanks & Temples 等の実写データセットへの拡張検証、前景背景処理の慣習や算法レベル改善の効果が、合成データだけでなく実データでも保たれるかを確認すること、です。

なお卒論本文執筆については、方法論章の負の発見ドラフトが 436 行で手元に整備済で、本文への取り込みは (1) の追加データが揃い次第、並行して進めます。以上です。

次月は評価条件を揃えた最終比較の完成と、研究範囲の実データへの拡張を進める。なお、方法論章の負の発見に関するドラフト (436 行) は手元に整備済で、本文への取り込みは (1) の追加データが揃い次第、並行して進める。

  • (1) 研究室 GPU での CUDA 参考値の完成
    • A6000 / RTX 6000 Ada で brush・原著 3DGS・ の残り bench を実行
    • V100 と同方向の結果を確認、第 2 軸 (wgpu 抽象コスト) の三層対比を 3 機種まで拡張
  • (2) brush 原著論文と同条件のテスト評価
    • テスト分割 200 視点を完全にダウンロードして本実装で再評価
    • 残差 -3.33 dB を最終的に確定する (現状は部分集合 36 視点で代用)
  • (3) 実写データセットへの拡張検証
    • 本実装は合成データ (NeRF Synthetic) でのみ検証している
    • Mip-NeRF 360 / Tanks & Temples 等の実写データセットで同じ手順で学習・評価
    • 前景背景処理の慣習や算法レベル改善の効果が実データでも保たれるかを確認
02

用語リスト

スクリプト中の下線つき語は本リストの内容をポップアップで表示する。第 2 回ゼミからの継続語は最後にまとめて再掲。

今月の新出語

  • 前景背景処理の慣習 (background convention)透明背景の合成データセット (NeRF Synthetic 等) を扱う際、学習画像の RGB を背景合成済みで渡す (white-bg) か、α 値で前景を premultiply した形式で渡すかの実装上の選択。本実装は white-bg、brush は premultiplied で、両者の不整合が前月報告した -11.79 dB 差分の支配的要因
  • 同一プロトコル評価 (matched evaluation)学習・評価とも同じ前景背景処理の慣習で測ること。本資料の +0.63 dB / +4.07 dB の数字はこの条件で測ったもの
  • テスト分割 / 検証 100 視点NeRF Synthetic は学習 100 視点 / 検証 100 視点 / テスト 200 視点で構成。brush 原著論文の 37.40 dB はテスト 200 視点での値、本実装の 36.11 dB は検証 100 視点での値 (同データセットの異なる分割)
  • 球面調和関数の次数 (SH degree)3DGS で各点の視線依存色を表現する基底関数の次数。0 (定数色) から 3 (高次) まで段階的に上げる実装が一般的。本研究では学習中に段階上昇させて 8 シーン平均 +0.107 dB / 学習時間 +10% の universal な改善を得た
  • シーン適応 (scene-adaptive)シーン特性に応じて学習反復数を変える方法。本研究では「初期収束が速いシーンは早期停止、遅いシーンは全反復」と分類し、平均 +0.077 dB / 学習時間 -24% の品質と速度の両軸改善を得た
  • 算法レベル改善 / カーネル直接最適化前者は計算アルゴリズム自体を変える改善 (SH 段階上昇 等)、後者は GPU シェーダ単体の実装を最適化する改善 (タイル binning SIMD 化 等)。8 候補の実測で前者が universal な改善、後者は微小な悪化または不変であった
  • gsplatCUDA + PyTorch 拡張で実装された 3DGS 系の主要実装。本研究では研究室 V100 GPU 上の三層対比の比較対象 (Lego 32.94 dB / 5 分 03 秒)

前回からの継続語 (再掲)

  • 3D Gaussian Splatting (3DGS)3D シーンを多数の小さなガウシアン (楕円体) で表現してリアルタイムに描画する手法。原著は Kerbl et al. 2023
  • Apple Silicon / ユニファイドメモリApple 製の独自 SoC。CPU と GPU が同じ物理メモリを共有 (ユニファイドメモリ)、データ転送が原理的に不要
  • brush本研究の比較対象となる既存 3DGS 実装。Rust + wgpu 製
  • wgpu / Metalwgpu は Rust 製のクロスプラットフォームグラフィック API (内部で Metal / Vulkan / D3D を呼び分ける抽象化層)。本研究の自作実装は Metal を直接呼ぶ
  • NeRF Synthetic / Lego3DGS 評価で標準的に使われる合成データセット (8 シーン構成)。Lego はその 1 シーン
  • PSNR / SSIM / 検証 PSNR / 学習時間 (wallclock)PSNR は画像品質指標 (単位 dB、高いほど良い)。SSIM は構造的類似度。学習時間は 30,000 反復を回しきる実時間
03

想定問答

想定質問回答骨子
前月の brush 37.38 dB と今月の brush 32.86 dB は何が違うのか?前月の 37.38 dB は brush 原著論文のテスト 200 視点での値、今月の 32.86 dB は本実装と評価条件を揃えるために検証 100 視点 + 同じ前景背景処理の慣習で再測した brush 自身の値。同じ実装の同じ checkpoint を異なる評価条件で測ったもので、brush の品質が下がったわけではない
本実装が brush を +0.63 dB 超えたなら、原著論文の 37.40 dB に対しても勝てるはず?残差 -3.33 dB が依然存在する。これは原著論文がテスト 200 視点で評価しているのに対し、本実装の同条件評価が未整備で検証 100 視点でしか測れていないため。次月にテスト 200 視点を完全 DL して再評価し、最終的に確定する
「評価プロトコルの不整合」とは具体的にどういう不整合だったのか?透明背景の扱い。本実装は学習画像を白背景 blend 済みで渡し評価も白背景前提、brush は α 値で前景を premultiply した形式で学習・評価していた。同じ checkpoint を異なる前提で測ると両方とも 1.7 dB に崩壊する対称な結合があり、前提を揃えてから比較する必要があったのに前月は気付かず -11.79 dB と報告していた
5 連続のカーネル直接最適化が全部効かなかったのはなぜ?Apple GPU の hazard tracker による暗黙の同期挿入、半精度変換のオーバーヘッド、SIMD グループ間の調整コスト等、Apple Silicon 固有の制約が theoretical な改善幅を打ち消した。卒論の方法論章で「Apple GPU 専用機能の theoretical advantage と実 workload での empirical gap」を構造化する材料に位置付ける
MCMC 完全実装は失敗したのか?実装そのものは完成 (前回特定した 3 設計欠陥を修正)。ただし noise 注入のパラメータが論文設定と数十倍ズレていて PSNR が 17.4 dB に留まり、現時点では brush 水準まで戻せていない。実装の問題ではなくハイパーパラメータ整合の問題で、卒論の負の発見章に独立した一節として整理する
第 2 軸 (wgpu 抽象コスト) の主張が「重い」から「軽い」に変わったのは大丈夫か?これも卒論の貢献の 1 つとして位置付ける。当初想定の反証であり、「abstraction overhead よりも implementation maturity が支配的」という実測ベースの結論は本研究独自の data point。第 2 軸全体は「wgpu 抽象コストを定量化した」のままで、結論の方向が「重い」から「実装差に埋もれる」に変わった
「同等以上」と言うが Lego では brush 32.04 dB に対して +4.07 dB、平均でも +0.63 dB しかなく、印象ほど勝っていないのでは?8 シーン平均は元々 16 dB レンジの幅 (ficus 〜 hotdog) が存在し、平均値での +0.63 dB は実質的に同等水準と表現できる。重要なのは「以前は -11.79 dB と思っていたものが、評価条件を揃えると同等水準だった」という発見の方で、絶対値の超え幅は副次的
次月計画の (1) CUDA 参考値、(2) test 200 視点、(3) 実写データセットの優先順位は?(1) は研究室機材の占有解放待ち、(2) は評価環境整備のみで自走可能、(3) は (1)/(2) と独立した実データ拡張。並行で進める。卒論本文への組み込みは (1) の追加データが揃い次第、手元の負の発見ドラフト (436 行) と合わせて進める
04

時間配分の目安

1.1 前回のあらすじ
00:30
1.2 本レポートの概要
00:30
2.1 評価プロトコル不整合の発見
01:00
2.2 Apple Silicon 最適化の ROI 階層
01:30
2.3 前月計画の達成状況
00:30
3. 次月の計画
00:30
本編 合計
04:30

質疑応答で 3〜6 分を見越し、全体 7〜10 分の枠を想定する。

© 2026 大竹律輝 — 松田研究室