OpenCV 3.1から追加されたSfMモジュール

またSfM(Structure from Motion)ネタ。

OpenCVのバージョン3.1からSfMのモジュールが追加されている。Google Summer Of Code 2015の成果らしいです。



これをさっそくUbuntuで試した方がいる↓
http://qiita.com/TaroYamada/items/c317555bf46b1e1431f8
http://iwaki2009.blogspot.jp/2016/01/ubuntu-1404.html
http://iwaki2009.blogspot.jp/2016/01/ubuntu-1404_7.html



このSfMモジュール、公式にはWindows環境でのビルドに対応していないそうですが、どうやら一手間かければVisual Studioでもビルドできるようです。↓
http://qiita.com/SatoshiRobatoFujimoto/items/c87b14cd20cda3c97306

OpenCVのSfMモジュールでは、Googleが開発したロギングライブラリGLogと、同じくGoogleが開発したCeres Solverという非線形最適化ライブラリ、そしてlibmvというSfMのライブラリのlight版(libmv_light)が使われている。libmvの大本は結構古いライブラリのようで、もう4年ぐらい開発が止まっている様子。

OpenCVのSfMモジュール公式チュートリアルを見ると、このモジュールでできることが大体わかる。↓

OpenCV:Structure From Motion

Camera Motion Estimation

Camera motion estimation from a given set of tracked 2d points.

Scene Reconstruction

Sparse scene reconstruction from a given set of images.

Import Reconstruction

Import a scene reconstruction.

最後のImport ReconstructionだけはOpenCVだけじゃなくBundlerも使う。

Bundler

Bundler

OpenCVのSfMモジュールでスパース(疎)な3次元復元まではできるようだ。その後の密な点群の復元はBundlerで行う。その辺はOpenMVGと同じような感じ。

そしてビルドに挑戦↓



OpenCV 3 プログラミングブック

コンピュータビジョン最先端ガイド5 (CVIMチュートリアルシリーズ)

関連記事

Regard3D:オープンソースのStructure fro...

TensorFlowでCGを微分できる『TensorFlow...

スクラッチで既存のキャラクターを立体化したい

ニューラルネットワークで画像分類

OANDAのfxTrade API

第1回 3D勉強会@関東『SLAMチュートリアル大会』

Unityからkonashiをコントロールする

hloc:SuperGlueで精度を向上させたSfM・Vis...

ドットインストールのWordPress入門レッスン

チャットツール用bot開発フレームワーク『Hubot』

PeopleSansPeople:機械学習用の人物データをU...

Adobe MAX 2015

OpenMVS:Multi-View Stereoによる3次...

OpenMayaのPhongShaderクラス

LuxCoreRender:オープンソースの物理ベースレンダ...

DUSt3R:3Dコンピュータービジョンの基盤モデル

Unityの薄い本

UnityからROSを利用できる『ROS#』

Twitter APIのPythonラッパー『python-...

Pythonの自然言語処理ライブラリ『NLTK(Natura...

OpenCVの超解像(SuperResolution)モジュ...

ブログの復旧が難航してた話

Deep Learningとその他の機械学習手法の性能比較

OpenCVの顔検出過程を可視化した動画

3D Gaussian Splatting:リアルタイム描画...

UnityのMonoBehaviourクラスをシングルトン化...

書籍『イラストで学ぶ ディープラーニング』

BlenderでPhotogrammetryできるアドオン

CGレンダラ研究開発のためのフレームワーク『Lightmet...

Webスクレイピングの勉強会に行ってきた

UnityのGameObjectの向きをScriptで制御す...

Faceshiftで表情をキャプチャしてBlender上でM...

株式会社ヘキサドライブの研究室ページ

Autodesk Mementoでゴジラを3次元復元する

PyTorch3D:3Dコンピュータービジョンライブラリ

Mean Stack開発の最初の一歩

UnityでPoint Cloudを表示する方法

Unityの各コンポーネント間でのやり取り

Multi-View Environment:複数画像から3...

サンプルコードにも間違いはある?

Point Cloud Utils:Pythonで3D点群・...

NeRF (Neural Radiance Fields):...

コメント