SfMとは、複数の異なる視点から撮影された2次元の画像群から、被写体の3次元形状とカメラの位置姿勢を同時に推定するコンピュータビジョン技術です。特別な測距センサーを使わず一般的なカメラ映像から3Dモデルを作成できるため、測量や文化財のデジタルアーカイブなどで広く活用されています。
SfMとは
SfM(Structure from Motion)とは、一言でいうと「異なる角度から撮影した複数の写真から、被写体の3次元構造を復元する技術」です。
詳しく解説
SfMの基本的な仕組みは、まず複数の画像間で見え方が異なる対応点や特徴点を抽出し、それらの位置のずれ(視差)を解析することから始まります。写真に写る被写体がどの位置にあり、撮影時にカメラがどこにあったのかを幾何学的な計算によって同時に算出します。近年では機械学習やディープラーニングを用いた高精度な特徴量抽出が組み合わされ、自動かつ高速な3D復元が可能になっています。これにより、高価なレーザースキャナーを使わずに低コストで立体モデルが得られる点が大きな重要性を持っています。
具体例・使われ方
具体的な利用例としては、ドローンで撮影した地上の連続写真から地形や建造物の3Dマップを作る空中写真測量や、スマートフォンのカメラで撮影した被写体を3Dモデル化してメタバース空間やゲームのアセットとして活用する事例があります。また、遺跡や文化財を非破壊でデジタルアーカイブとして残すためにも利用されています。
似た用語との違い
SLAM(Simultaneous Localization and Mapping)とは密接に関連しますが、一般にSfMは撮影済みの静止画群をオフラインでまとめて処理し高精度な3Dモデルを得ることを得意とする一方、SLAMはロボットやカメラが移動しながらリアルタイムで自己位置推定と地図作成を行う点が異なります。
注意点
注意点として、被写体に特徴的なテクスチャ(模様や凹凸)が乏しい場合や、ガラスや水面のように光を反射・透過する素材では特徴点が正しく検出できず、復元精度が著しく低下あるいは失敗することがあります。また、撮影条件や照明の変化が大きい場合もノイズの原因となります。