世界を動かす技術を、日本語で。

3Dライン描画

概要

本記事では、3D Gaussian Splattingと画像から情報豊かな線画を生成する技術を組み合わせ、3D線画シーンを作成する実験を紹介。 線画化手法や3D Gaussian Splattingの概要、画像変換のタイミングによる違い、色彩情報の追加、スタイル切り替えやコラージュ表現について解説。 解像度ごとの学習時間やファイルサイズの比較も掲載。 実験にはTanks & Temples Benchmarkのシーンや各種ライブラリを活用。 更なる実装やコラボ希望者への連絡先も記載。

3D線画シーン生成実験の概要

  • 3D Gaussian Splatting線画生成技術 を組み合わせた3D線画シーン作成の実験
  • Kerbl et al. の3D Gaussian Splattingと、 Chan, Isola & Durand の線画生成手法を活用
  • インタラクティブなシーン表示、 Mark Kellogg のWebレンダラーによるリアルタイム描画

使用データと環境

  • Tanks & Temples Benchmark のシーンを利用
  • Nvidia RTX 4080S で21,000イテレーション学習
  • gaussian-splatting-cuda (MrNerf提供、デフォルト設定)

画像から線画への変換手法

  • Chan et al. によるGANベースの線画生成アプローチ
    • 幾何損失: モノクロ深度推定 による計算
    • セマンティクス損失: CLIP埋め込み を利用
    • 見た目損失: スタイル参照画像 による計算
  • 写真の 幾何学的・意味的特徴 を保った線画を生成
  • 輪郭スタイルやアニメスタイルなど、 多様な表現 が可能

3D Gaussian Splattingの概要

  • 複数視点画像 から 放射輝度場(Radiance Field) を構築
  • Structure-from-Motion (SfM) でカメラ位置・回転推定
  • WebGL 等で リアルタイム・フォトリアリスティックレンダリング が可能
  • 学習用画像を 線画変換画像 に入れ替えることで、 3D線画シーン を生成

画像差し替えのタイミングとその影響

  • 画像の差し替えは 2つのタイミング で可能
    • SfM前:カメラポーズや初期点群が線画画像由来、 色アーティファクトなし
    • Gaussian Splat学習前:カメラポーズ等は元画像由来、 わずかに色が残る
  • SfM前差し替え は初期情報が減るため、カメラ推定が難しくなる傾向
  • Gaussian Splat学習前差し替え はスタイル調整時の再計算が不要で効率的

色彩情報の追加とスタイル融合

  • オリジナル画像の低周波成分線画画像の高周波成分 を合成し 水彩風表現 を実現
    • Hybrid Image 手法を応用
  • 異なる視点ごと にフォトリアルと線画を切り替えることで スタイル遷移 を実現

コラージュ表現と領域分割

  • Meta Segment-Anything Model (SAM)LangSAM で被写体領域を自動分割
  • 被写体のみ線画、背景は元画像の コラージュシーン を作成

解像度ごとの比較と学習コスト

  • 高解像度ほど 細部表現 が豊かになる一方、 学習時間・ファイルサイズ も増大
  • 線画シーンは元シーンの 約2倍のスプラット数・ファイルサイズ
    • スプラット は広い面やテクスチャより 線ストローク 表現に多く必要
  • 例:1940x1080ピクセルで約15分、約200万スプラット生成

実装と連絡先

  • コードは複数ライブラリを連携させた スクリプト群
  • 実装や共同研究希望者は tansh at amritkwatra dot com まで連絡
  • Ritik Batra, Ilan Mandel, Thijs Roumen に感謝
  • 本ページは Tufte Project Pages テンプレートを利用

参考文献・関連リンク

  • 3D Gaussian Splatting for Real-Time Radiance Field Rendering (Kerbl et al.)
  • Learning to Generate Line Drawings that Convey Geometry and Semantics (Chan, Isola & Durand)
  • Tanks & Temples Benchmark
  • Computerphile解説動画
  • Meta Segment-Anything Model (SAM)
  • LangSAM
  • COLMAP (SfMツール)

まとめ

  • 3D Gaussian Splatting線画変換 の組み合わせで 新たな3D表現 を実現
  • 差し替えタイミングや色彩合成、領域分割など 多彩なバリエーション が可能
  • 高解像度・高品質な3D線画シーン生成技術への 応用可能性

Hackerたちの意見

すごい!素晴らしい作品だね!

ここではただアップボートするだけのはずなんだけど、これは褒めずにはいられないよ。美しい作品だね。

これめっちゃクールだね!今まで見たことないものだよ。素晴らしい!

素晴らしいね。00年代のフォトリアルじゃないレンダリングを思い出すよ。クエイクのNPRと鉛筆レンダリング、あれはかっこよかったな。

正直、複雑そうだね。例えば、単眼深度推定を使えばもっと簡単にできるんじゃない?

これは…アハ体験だったね(わかるかな?)。

みんなが言いたいことは分かってるよね :)

ボーダーランズのアートワークを思い出すな。

わー! :claps: :claps: :claps:

その絵自体に圧倒されたよ。そしたら偶然、ズームイン・ズームアウトもできることに気づいた。それに加えて、オブジェクトを360度回転させることもできるんだ。自分の分野からはかなり外れてるから、どれだけ感動すべきか分からないけど、すごく感動してるよ。

これめっちゃクリエイティブだね。面白いことを楽しむのが好きな人のために説明すると、特定の2Dビューで幾何学を維持する線画描画アルゴリズムを実装して、各ソース画像をガウススプラットで線描画ツールにかけるって感じ。で、その2Dの線画像を使ってスプラットを作る。結果は、ポーズを取れる3Dシーンで、2Dの線画イラストとして表示されるんだ。これについて好きなところがたくさんあるけど、特にここで示されている機能と実験が好き。今、趣味でできる面白いことがたくさんあって、ちょっと息を呑むよね。