VITALIFY.ASIA logo

3DGSを理解する 第0回:写真はどうやって立体になるのか? ― 170年の試行錯誤

写真から立体を作る技術は、3DGSから始まったわけではありません。本記事では、1839年の写真誕生からフォトグラメトリ、ステレオ写真測量、SfM、MVS、NeRF、3D Gaussian Splatting、2DGSまで、写真を使って実世界を3Dとして復元する技術がどのように発展してきたのかを、初心者にもわかりやすく解説します。

3DGSを理解する 第0回:写真はどうやって立体になるのか? ― 170年の試行錯誤
目次

写真は、絵ではなく「測る道具」だった

スマートフォンで撮った写真から、建物や風景を立体的に再現する。今では、そんなことが特別な機材がなくてもできるようになってきました。

最近では「3D Gaussian Splatting(3DGS)」という技術が注目されています。たくさんの写真から、まるでその場所にいるかのような立体的な映像を作り出す技術です。

こう聞くと、AIが登場したことで初めて可能になった新しい技術のように思えるかもしれません。しかし、写真から立体を作ろうという試みには、実は170年以上の歴史があります。

その始まりは、写真そのものが発明された時代にまでさかのぼります。

写真の誕生とフォトグラメトリの始まり

写真の発明は1839年

現在の写真技術の歴史を語るうえで重要な出来事が、1839年のダゲレオタイプの公表です。

フランスのルイ・ダゲールによって発表されたこの写真技術は、被写体の姿を画像として記録する画期的なものでした。

写真が登場する以前にも、カメラ・オブスクラなどを利用して風景や建物を投影する技術はありました。しかし、光景を画像として固定し、記録できるようになったことは大きな変化でした。

そして、この新しい技術を見て、あることを考えた人たちがいました。

それは、写真を使って実物の形状や寸法を測定できないだろうか? ということです。

写真から測量するという発想

フォトグラメトリの先駆者として知られている人物に、フランスの軍人で技術者でもあったAimé Laussedat(エメ・ロセダ)と、ドイツの建築家Albrecht Meydenbauer(アルブレヒト・マイデンバウアー)がいます。

Laussedatは1849年頃から、写真や透視図を利用した地形測量の研究を始めました。当初はカメラ・ルシダという光学器具を使った描画も行っており、実際に写真機を使った実験は1852年以降です。

彼は写真を利用して、地形や建造物の位置・形状を測定しようとしました。

一方、Meydenbauerは1858年頃から建築物の写真測量に取り組みました。

彼が写真測量を考えるきっかけになったのは、建築物の実測中に危険な経験をしたことだったと伝えられています。

高所にある建物の壁面を直接測定するのは危険であり、大変な作業です。

そこで、建物を写真に撮影し、その写真から寸法や形状を測定できれば、現場で直接測る必要を減らせるのではないかと考えました。

現在の文化財や歴史的建造物の3Dデジタルアーカイブにも通じる発想です。

Photogrammetryという言葉の誕生

現在使われている「Photogrammetry(フォトグラメトリ)」という言葉が文献に登場するのは1867年です。

写真を意味するPhotoと、記録・描画を意味するGram、測定を意味するMetryを組み合わせた言葉です。

写真を使って測定する技術、という意味が込められています。

当時のフォトグラメトリは、現在のようにコンピュータで画像を処理するものではありません。

写真を撮影し、幾何学的な関係や光学機器を利用して、対象物の位置や寸法を求めていました。

それでも、写真から実世界の形状を復元するという基本的な考え方は、現在のフォトグラメトリと共通しています。

写真の発明からわずか数十年のうちに、写真を単なる記録媒体としてではなく、測定のための道具として利用する技術が生まれていたのです。

人間の目は、なぜ立体が見えるのか?

写真から立体を作るうえで、昔から重要な手がかりになっていたものがあります。それは、私たちの目です。

少し試してみてください。片目を閉じて、目の前の指を見ます。次に、反対の目で見てみましょう。指の位置が少しずれて見えるはずです。

右目と左目は、少し違う位置から景色を見ています。脳はそのわずかな違いを利用して、物までの距離や奥行きを感じ取っています。

つまり、私たちは普段から、左右の目で見た2枚の異なる画像を使って立体を感じているのです。

この仕組みを写真測量にも利用できないでしょうか。

少し位置を変えて撮影した2枚の写真を用意すれば、それぞれの写真に写った物体の位置の違いから、奥行きを計算できます。これがステレオ写真測量の基本的な考え方です。

この方法は、やがて航空写真にも活用されるようになりました。

飛行機から撮影した写真を、少しずつ重なるように並べて撮影します。そして、隣り合う写真を立体視できるようにすると、地形の起伏や建物の高さを読み取ることができます。

地上からでは見渡せない広い範囲を、空から立体的に測量できる。これは地図作りにとって大きな進歩でした。

ただし、写真を撮る位置やカメラの向き、レンズの性質などを正確に把握しなければ、正しい形は求められません。写真を何枚も撮れば、それだけで立体ができるというわけではなかったのです。

コンピュータは、写真のどこを見比べているのか?

時代が進み、写真はフィルムからデジタルへと変わっていきます。

デジタル写真の登場によって、写真測量にも大きな変化が訪れました。コンピュータを使えば、写真の中に写っている特徴を自動的に探し出し、複数の写真を比較できるようになったのです。

たとえば、建物の写真を何枚か撮ったとします。

ある写真には窓の右側が写り、別の写真には窓の正面が写っている。さらに別の写真には、少し離れた場所から見た窓が写っている。

人間なら、写真を見比べて「これは同じ窓だ」と判断できます。コンピュータも同じように、窓の角や壁の模様、看板の輪郭など、写真の中で目印になりそうな部分を探します。

そして、複数の写真に共通して写っている目印を見つけると、それぞれの写真がどの位置から撮影されたのかを計算していきます。

ここで登場するのが「SfM(Structure from Motion)」という技術です。

直訳すると「動きから構造を復元する」という意味になります。複数の写真に写った特徴点の位置関係から、カメラがどこにあり、どちらを向いていたのかを推定し、同時に風景のおおまかな立体構造も復元します。

面白いのは、撮影したカメラの位置をあらかじめ記録しておく必要がないことです。

写真同士を見比べることで、コンピュータが撮影位置を逆算してくれるのです。

写真を撮るだけで、カメラがどこを動いたのかまで分かる。なんだか、写真の中に撮影者の足跡が残っているようです。

写真の中の点が、どうやって建物になるのか?

さて、SfMによってカメラの位置や風景の大まかな構造が分かりました。

しかし、この段階でできるのは、まだまばらな点の集まりです。

建物を撮影したのに、窓の角や壁の模様など、特徴的な場所に点があるだけ。これでは建物の形を再現するには不十分です。

そこで必要になるのが、写真をさらに細かく比較する処理です。

複数の写真に写った同じ場所を照合し、そこまでの距離を推定していきます。写真の一部だけでなく、できるだけ多くの画素を使って立体を復元するのです。

この技術は「MVS(Multi-View Stereo)」と呼ばれます。

SfMが写真を撮ったカメラの位置を割り出す役割を担うのに対し、MVSはその情報を利用して、風景の表面をより細かく復元する役割を担います。

たとえるなら、SfMが建物の周囲に測量のための目印を置く作業だとすれば、MVSはその目印を手がかりに、壁や屋根の形を詳しく埋めていく作業です。

こうして得られた点の集まりを「点群」といいます。さらに点と点をつないで面を作れば、建物や地形の表面を表現する「メッシュ」になります。写真から色や模様を貼り付ければ、見た目もかなり本物に近づきます。

このような処理を、一般の人でも扱いやすくしたソフトウェアの一つが「COLMAP」です。複数の写真を読み込ませると、特徴点の検出からカメラ位置の推定、立体形状の復元までを進められます。

ここまで来ると、写真から立体を作るという長年の夢は、かなり実用的なものになってきました。

しかし、ここで別の問題も見えてきます。

形が分かれば、それで十分なのか?

従来の写真測量が得意としていたのは、物体の形を復元することでした。

建物の壁がどこにあり、屋根がどんな形をしていて、地面がどのように起伏しているのか。こうした情報を立体として再現することです。

ところが、私たちが風景を見たときに感じているものは、形だけではありません。

窓ガラスに映る光、金属の反射、木の葉の透け具合、夕暮れの柔らかな光。そうしたものも含めて、私たちは景色を見ています。

形を正確に作ることと、写真のように見える景色を再現することは、実は別の問題なのです。

この問題に新しい方向から挑んだのが、2020年に発表された「NeRF(Neural Radiance Fields)」です。

NeRFは、立体の表面をポリゴンなどで直接作るのではなく、空間の位置や見る方向に応じて、どんな色や光が見えるのかをニューラルネットワークに学習させます。

少し不思議な仕組みですが、要するに、撮影した写真を手がかりに「この場所を、この方向から見たら、どんな色に見えるか」をコンピュータに覚えさせるのです。

すると、実際には撮影していない角度から見た景色も描けるようになります。

たとえば、建物の正面と側面を撮影しておけば、その間の角度から見た景色を作り出せる。写真と写真の間を埋めるように、新しい視点の映像を生み出せるのです。

NeRFは、写真のようにリアルな映像を作れることで大きな注目を集めました。

ただし、描画には計算が必要で、表示に時間がかかる場合もありました。美しい景色を再現できても、ゲームのように自由に動き回れるほど軽快に表示するのは簡単ではなかったのです。

立体を「描く」のではなく、小さな粒で埋め尽くす

NeRFの登場から3年後の2023年、新しい手法が発表されました。

それが「3D Gaussian Splatting(3DGS)」です。

この技術の発想は、少し変わっています。

建物の表面を三角形の面で作るのでもなく、空間全体をニューラルネットワークに覚えさせるのでもありません。空間の中に、小さな楕円形の粒を大量に配置するのです。

この粒は「ガウス」と呼ばれます。それぞれが位置や大きさ、向き、色、透明度などの情報を持っています。

それらをカメラの視点から画面に投影し、重ね合わせていくことで、写真のような景色を描き出します。

イメージとしては、細かな色のついた半透明の粒を空間いっぱいに配置して、景色を再現するようなものです。

一つひとつの粒は単純でも、膨大な数を組み合わせれば、建物の輪郭や木々の質感、光の当たり方まで表現できます。

3DGSの大きな特徴は、リアルな見た目を保ちながら、比較的高速に描画できることです。

そのため、撮影した場所を自由に見回したり、カメラを動かして空間の中を移動したりするような体験が、より現実的になりました。

写真から立体を作る技術は、ここでまた一つ新しい段階に進んだのです。

きれいに見えるだけでは、困ることもある

ただし、3DGSにも課題はあります。

粒の集まりによって写真のような景色を再現することは得意ですが、それが必ずしも正確な立体形状になっているとは限りません。

たとえば、壁がきれいに見えていても、その壁の表面が数学的に正しい一枚の面として復元されているとは限らないのです。

映像として自然に見えることと、測量や設計に使えるほど正確な形であることは、同じではありません。

そこで登場したのが「2D Gaussian Splatting(2DGS)」です。2024年に発表されたこの手法では、3DGSのような立体的な粒ではなく、平面状のガウスを使います。

表面を平面として扱うことで、物体の形や奥行きの整合性をより意識した復元を目指しています。

見た目の美しさだけでなく、立体としての正しさも追求する。写真から立体を作る技術は、今も少しずつ進化を続けています。

写真の中に、もう一度入っていく

振り返ってみると、写真から立体を作るという発想は、写真が発明されたころから存在していました。

最初は、測量家や建築家が写真を使って建物や地形を測ろうとしました。やがて航空写真が広く使われ、コンピュータが写真の特徴を見つけて撮影位置を推定できるようになりました。

そして現在では、写真から形を復元するだけでなく、光や質感まで含めて、その場にいるような映像を再現できるようになっています。

こうした技術は、地図作りや測量だけでなく、文化財の保存、映画やゲームの制作、VR、観光、デジタルアーカイブなど、さまざまな分野で活用されています。

昔の写真は、過去の風景を眺めるためのものでした。

しかし、写真から立体を作れるようになった今、私たちは写真に写った場所を、別の角度から眺めたり、歩き回るように体験したりできるようになりつつあります。

写真は、単に過去を記録するものから、そこにあった空間をもう一度訪れるためのものへと変わり始めているのかもしれません。

1839年に誕生した一枚の写真。その小さな発明から始まった「写真で世界を測る」という試みは、今も新しい形で続いているのです。

1,000社以上の事業成長を支えた圧倒的な『スピードと柔軟性』で、御社のアイデアを最短で形にします。まずは無料で壁打ちしませんか?

ブログに戻る

関連記事

壮大な地下世界へ迷い込む:洞窟の世界があなたの目の前に凝縮される3D

壮大な地下世界へ迷い込む:洞窟の世界があなたの目の前に凝縮される

Cave Explorerは、実際の洞窟を3Dスキャンし、点群や3D Tilesを用いてWebブラウザ上でインタラクティブに探索できるようにした実験的プロジェクトです。巨大な3DデータをLODとストリーミングで最適化する仕組み、WebGL/WebGPUによる表示、リモート探索やデジタル遺産保存への応用可能性まで解説します。

Thinh Tran
CLAUDE.mdとSkills:Claude Codeの指示はどこに置くべきか?AI Development

CLAUDE.mdとSkills:Claude Codeの指示はどこに置くべきか?

Claude Codeでは、すべての指示をCLAUDE.mdに詰め込むのが最適とは限りません。本記事では、プロジェクト全体の共通ルールをCLAUDE.md、特定タスクの手順をSkills、ファイル単位のルールを.claude/rules/、自動実行をHooksに分ける考え方を解説。デシジョンツリーを使い、保守しやすく効率的な指示設計を整理します。

Trần Thiên
3D CADのモデリングとは?形状の作り方とデータ構造を解説CAD & Engineering

3D CADのモデリングとは?形状の作り方とデータ構造を解説

3D CADでは、形状を作る操作と、コンピューター内部で形状を表現するデータ構造は別の概念です。本記事では、スケッチ、押し出し、回転、フィレット、ロフトといった基本操作から、フィーチャー履歴、B-rep、CSG、NURBS、ソリッド・サーフェス・メッシュの違い、モデリングカーネル、STEP・STLによるデータ交換まで体系的に解説します。

Toshihiko Nagaoka
ぼくはデューパー、なんでもきいてね!