openmvgとは?初心者でも分かる3分解説:写真から3Dを作るopenmvg共起語・同意語・対義語も併せて解説!

  • このエントリーをはてなブックマークに追加
openmvgとは?初心者でも分かる3分解説:写真から3Dを作るopenmvg共起語・同意語・対義語も併せて解説!
この記事を書いた人

高岡智則

年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)


openmvgとは何かを知ろう

openmvgとは写真(関連記事:写真ACを三ヵ月やったリアルな感想【写真を投稿するだけで簡単副収入】)から3Dモデルを作ることができるオープンソースのツールで、SfMと呼ばれる技術を実現します。SfMは複数の写真を用いて現実世界の形をデジタルに再現する方法です。

openmvgは研究者や趣味の人が使うライブラリの一つで、C++で書かれており、複数のモジュールから成り立っています。特徴点の検出や写真同士の対応点の探索、3D点群の再構成などを順番に行う設計になっています。

このツールを使うと、写真が並ぶだけではわからない立体の形を、点の集合として画面に表示できます。

しくみと流れ

openmvgは大きく以下の流れで動きます。

まず各写真から 特徴点 を検出します。次に 特徴点のマッチング を行い、2枚以上の写真で同じ点を対応させます。その後、 カメラの位置と向き を推定し、 3D点群を作成します。

この一連の作業を通じて、 写真だけでなく3Dのモデル が得られます。

使い方の流れ

1. 写真を集めてデータセットを作ります。連続的な視点があると良いです。

2. openmvgの各モジュールを順番に実行して、 特徴点を抽出マッチング初期モデルの作成 を行います。

3. グローバルSfMインクリメンタルSfM などの手法で最適化をします。これによりより正確な位置と3D点が得られます。

4. 完成した3Dモデルを可視化することができます。openMVG自体には簡単なビューワーもあり、点群の確認が可能です。

使うときのポイントとして、 シーンの特徴がはっきりしていること写真の露出が揃っていること適切な解像度 などが大切です。また計算リソースが必要なので、PCの性能を確認してから始めると良いです。

項目説明
対象写真から3Dを作りたい人
用途現実世界の3Dモデル作成、教育、研究
難易度コマンドライン中心で初心者には学習曲線あり

学習リソースとして、公式のリポジトリやチュートリアルを参照してください。openmvgはオープンソースなので、自由に使って改良できます。

まとめとして、openmvgを使うと写真から3Dモデルを作る過程を体験でき、デジタル世界と現実世界をつなぐ強力な手段になります。学習を続ければ、教育や研究、趣味のプロジェクトで役立つ実践的なスキルが身につくでしょう。


openmvgの同意語

OpenMVG
Open Multiple View Geometry の略。オープンソースの Structure from Motion(SfM)および3D再構成ライブラリ
Open Multiple View Geometry
OpenMVG の正式名称。複数視点幾何を活用して3D構造を推定するオープンソースライブラリ
OpenMVGライブラリ
OpenMVG のソフトウェアライブラリという呼び方。SfMアルゴリズムの実装群を含むパッケージ。
SfMライブラリ
Structure from Motion を実装するライブラリの総称。OpenMVG はこのカテゴリの一例。
Structure from Motion ライブラリ
SfM の日本語表現。複数視点の画像から3D構造を推定するライブラリ。
複数視点幾何ライブラリ
多視点画像の幾何を扱うライブラリの総称。OpenMVG はその代表例
オープンソースSfM
自由に利用・改変できるSfMライブラリの総称。OpenMVG はこのカテゴリに属する。
オープンソース複数視点再構成ライブラリ
SfM を含む、オープンソースの再構成ライブラリの総称。
3D再構成ライブラリ
写真や動画から3Dモデルを再構成する機能を提供するライブラリの総称。
複数視点写真測量ライブラリ
SfM の日本語表現の一つ。複数視点の写真測量を行うライブラリ。
3D復元ライブラリ
3Dモデルを復元する機能を提供するライブラリの表現。
英語名称 OpenMVG
OpenMVG の英語表記。Open Multiple View Geometry の略。

openmvgの対義語・反対語

クローズドMVG
オープンソース/オープンな性質である openMVG の対極として、ソースコードが公開されていない、閉ざされたMVGライブラリを指す表現です。
クローズドソースMVG
ソースコードが公開されていない MVG ライブラリのこと。利用者が自由に閲覧・改変できない点が反対の性質。
プロプライエタリMVG
所有者のライセンス下で配布され、自由な再利用が制限されている MVG。オープンソースと対照的。
非公開MVG
一般公開されておらず、特定の人だけがアクセスできるMVG のこと。
内部利用専用MVG
外部公開を前提とせず、社内プロジェクトのみに使われることを想定したMVG。
制限付きMVG
使用条件や配布範囲が限定されている MVG。
秘密MVG
公開情報として扱われず、秘密性が高いMVG。
閉鎖的MVG
組織内で完結しており、外部との情報共有が乏しいMVG。
オープンでないMVG
開放性・透明性が低く、自由なアクセスや改変が難しいMVG。

openmvgの共起語

OpenMVG
Structure from Motion のオープンソースライブラリ。複数の画像から3D構造とカメラ姿勢を推定するワークフローを提供します。
SfM
Structure from Motion の略称。写真群から3D構造とカメラの姿勢を同時に推定する技術です。
Structure from Motion
複数枚の写真から3Dモデルを作成する基本的なコンピュータビジョン技術。
3D reconstruction
写真・画像データから3次元の形状を再構築するプロセスです。
Point cloud
再構成された3D点の集合。3Dモデルの基盤となるデータ形式です。
Bundle adjustment
カメラパラメータと3D点を同時に最適化する非線形最適化手法です。
Camera pose
カメラの位置と向きを表す姿勢情報(外部パラメータ)です。
Camera intrinsic parameters
内部パラメータ(焦点距離、主点、歪みなど)を指します。
Extrinsic parameters
外部パラメータ(回転・並進)を指します。
Feature matching
画像間の対応点を見つける作業で、3D再構成の基礎となります
SIFT
局所特徴量の一つ。OpenMVG で使われることがありますが特許の影響で他の特徴量が使われることもあります。
AKAZE
特徴量の一種。SIFTの代替として用いられることが多いです。
Keypoints
特徴点。画像の重要な局所点を指します。
Descriptors
特徴点を表す数値ベクトル(特徴量)です。
OpenCV
画像処理ライブラリ。OpenMVG と組み合わせて使われることが多いです。
CMake
OpenMVG をビルドする際に使われるビルドツールです。
Eigen
線形代数ライブラリ。OpenMVG の数値計算でよく用いられます。
OpenMVG pipeline
OpenMVG が提供するSfM処理の一連の流れ(特徴抽出・マッチング・構造推定・BA など)です。
OpenMVG + OpenMVS
OpenMVG の出力を OpenMVS で密な点群・3Dモデルへと処理する組み合わせです。
Dense reconstruction
密な再構成。密な点群を作成する工程を指します。
3D model
再構成された3Dモデル。ポリゴンメッシュや点群として表現されます。
GitHub
OpenMVG の公式リポジトリや関連ドキュメントが公開されている場所です。

openmvgの関連用語

OpenMVG
OpenMVGは、オープンソースのStructure-from-Motion(SfM)ライブラリ。複数の画像からカメラの姿勢と3D点を推定して、3D構造を作るためのツール一式を提供します。主にC++で実装され、コマンドラインツールとライブラリとして利用できます。
Structure from Motion (SfM)
Structure from Motionは、撮影済みの複数の画像からカメラの姿勢と3D点を推定して、稀薄な3D点群を作る技術です。3次元モデルの基礎を提供します。
Multi-View Stereo (MVS)
Multi-View Stereoは、SfMで推定したカメラ姿勢を使って、密な点群や表面を再構成する技術です。より詳細な3Dモデルを作れます。
SIFT特徴量
SIFTは画像中の特徴点を検出し、局所的な記述子で特徴を識別します。OpenMVGでも広く利用され、画像マッチングの基礎になります。
SURF特徴量
SURFはSIFTの代替として使われる特徴量。計算量が少なく、リアルタイム性を重視する場面で用いられることがあります。
ORB特徴量
ORBは高速な二進特徴量で、SIFT/SURFより軽量です。OpenMVGなどでオプションとして使われることがあります。
特徴点マッチング
異なる画像間の対応点を見つける作業。近傍探索と比率検定(Loweの比率テスト)などを用いて外れ値を減らします。
カメラ内部パラメータ (Intrinsics)
焦点距離、主点位置、レンズ歪みなど、カメラ内部の特性を表すパラメータ。SfMの初期推定やキャリブレーションに関係します。
カメラ外部パラメータ (Extrinsics)
カメラの位置と向き(姿勢)を表すパラメータ。3D点との対応付けを正しくするために推定します。
エピポーラ幾何 (Epipolar Geometry)
2つの画像間の幾何的制約を表す概念。正しい対応点を絞り込む際の基盤となります。
基本矩陣 (Fundamental Matrix)
二つのカメラ間の幾何関係を表す4次元行列。内部パラメータを考慮しない場合の制約として使われます。
本質行列 (Essential Matrix)
内在パラメータを考慮した二眼間の幾何関係を表す行列。外部パラメータ推定の要素として用いられます。
RANSAC (ロバスト推定法)
データ中の外れ値を耐性を持って推定する反復法。SfMの頑健なマッチングで不可欠です。
バンドル調整 (Bundle Adjustment)
複数のカメラ姿勢と3D点の位置を同時に最適化して、再投影誤差を最小化する手法。高精度化の核心です。
PnP (Perspective-n-Point)
画像中の2Dポイントと対応する3Dポイントからカメラの姿勢を推定する問題。局所の姿勢推定で使われます。
Global SfM
全体を同時に推定するSfMアプローチ。大規模データセットでの安定性を重視します。
Incremental SfM
画像を順次追加してSfMを構築していく方法。OpenMVGの典型的なパイプラインの一部です。
Sparse point cloud
SfMで生成される希薄な3D点の集合。後続のMVSで密な点群へと発展します。
Dense point cloud
MVSで生成される密な3D点の集合。表面ディテールの再現を可能にします。
3Dモデル / メッシュ
Dense点群を元に表面メッシュへ変換して、視覚的な3Dモデルを作成します。
Poisson reconstruction
Poisson表現を用いた密なメッシュ再構成手法。滑らかな表面復元に適しています。
PMVS / CMVS
Patch-based Multi-View Stereoとその高速化ツール。密な再構成の前段として使われることがあります。
COLMAP
COLMAPはSfM/MVSの別の代表的なツールで、OpenMVGと比較されることが多いです。
MVE (Multi-View Environment)
密な点群・メッシュ生成を支援するツール群。MVSパイプラインの一部として使われます。
VisualSFM
SfMのGUIフロントエンドで、OpenMVGやCOLMAPと組み合わせて使われることがあります。
sfm_data.json
OpenMVGが出力するSfMデータファイル。カメラの内部・外部パラメータ、対応点、3D点などの情報を格納します。
Ceres Solver
非線形最適化ライブラリ。OpenMVGのバンドル調整で広く使われます。
Eigen
OpenMVGが依存する線形代数ライブラリ。行列計算の基盤として利用されます。
Camera model (Camera model)
Pinhole(ピンホール)など、カメラの内部モデルのこと。SfMでの扱い方を決定します。
Image dataset
SfM/MVSに入力する写真群。撮影角度の分布や重複度が再構成の良し悪しを左右します。
Distortion coefficients
レンズ歪みを表すパラメータ。補正対象となることが多いです。
Reprojection error
推定された3D点が画像上の観測点へ投影される誤差。精度指標として使われます。
Point cloud
3D空間上の点の集合。SfM/MVSの出力データです。
ライセンス / オープンソース
OpenMVGはオープンソースソフトウェアとして公開されています。公式ライセンスは公式サイトで確認してください。
Export formats
PLY、OBJ、glTFなど、3Dモデルや点群を外部へエクスポートする形式。

インターネット・コンピュータの人気記事

awstatsとは?初心者でもわかる使い方と基本解説共起語・同意語・対義語も併せて解説!
14335viws
bing・とは?初心者のための基本ガイド:検索エンジンの仕組みと使い方共起語・同意語・対義語も併せて解説!
2382viws
着信転送とは?初心者向けガイドで分かる使い方と設定のコツ共起語・同意語・対義語も併せて解説!
1059viws
差し込み印刷・とは?初心者でもすぐわかる使い方と仕組みガイド共起語・同意語・対義語も併せて解説!
1017viws
com端子・とは?初心者にも分かる基礎ガイド|シリアルポートの使い方と歴史を解説共起語・同意語・対義語も併せて解説!
912viws
充電アダプターとは何かを徹底解説|初心者でも分かる基本と選び方のコツ共起語・同意語・対義語も併せて解説!
885viws
全角文字とは?初心者向け解説|全角と半角の違いをやさしく学ぶ共起語・同意語・対義語も併せて解説!
819viws
7zファイル・とは?初心者でもわかる使い方と特徴を解説共起語・同意語・対義語も併せて解説!
814viws
pinロックとは?初心者が知っておくべき基本と使い方ガイド共起語・同意語・対義語も併せて解説!
787viws
リマインドメールとは?初心者にもわかる基本ガイドと使い方のコツ共起語・同意語・対義語も併せて解説!
770viws
none とは?初心者にもやさしく解説する意味と使い方ガイド共起語・同意語・対義語も併せて解説!
703viws
16進数カラーコード・とは?初心者でもつまずかない基礎と使い方ガイド共起語・同意語・対義語も併せて解説!
661viws
xlsmとは?初心者でも分かるExcelのマクロ付きファイルの基本共起語・同意語・対義語も併せて解説!
581viws
asp・とは?初心者向けに徹底解説する基本と使い方ガイド共起語・同意語・対義語も併せて解説!
556viws
ローカルポート・とは?初心者にも分かる基本と使い方ガイド共起語・同意語・対義語も併せて解説!
544viws
countifとは?初心者でもすぐ使える基本と応用ガイド共起語・同意語・対義語も併せて解説!
542viws
ワンタイムコード・とは?初心者でも分かる基本と使い方ガイド共起語・同意語・対義語も併せて解説!
502viws
csvダウンロードとは?初心者が今すぐ使える基本ガイド共起語・同意語・対義語も併せて解説!
475viws
googleドキュメントとは?初心者が今日から使いこなす基本ガイド共起語・同意語・対義語も併せて解説!
461viws
sha256とは?初心者が知るべき暗号ハッシュの基礎と使い道共起語・同意語・対義語も併せて解説!
443viws

新着記事

インターネット・コンピュータの関連記事