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チュートリアルシリーズ)

関連記事

WordPressプラグインの作り方

Caffe:読みやすくて高速なディープラーニングのフレームワ...

OpenCVで顔のモーフィングを実装する

OpenCV 3.1とopencv_contribモジュール...

マルコフ連鎖モンテカルロ法

OpenMVSのサンプルを動かしてみる

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

HerokuでMEAN stack

なんかすごいサイト

スクレイピング

PythonでMayaのShapeノードプラグインを作る

続・ディープラーニングの資料

WinSCP

Dlib:C++の機械学習ライブラリ

libigl:軽量なジオメトリ処理ライブラリ

Pylearn2:ディープラーニングに対応したPythonの...

Kornia:微分可能なコンピュータービジョンライブラリ

OpenCVでiPhone6sのカメラをキャリブレーションす...

UnityでARKit2.0

Open3D:3Dデータ処理ライブラリ

COLMAP:オープンソースのSfM・MVSツール

iPhone x ロボットハッカソン~RomoのiPhone...

UnityでPoint Cloudを表示する方法

Kaolin:3Dディープラーニング用のPyTorchライブ...

画像生成AI Stable Diffusionで遊ぶ

機械学習手法『Random Forest』

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

WebGL開発に関する情報が充実してきている

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

ArUco:OpenCVベースのコンパクトなARライブラリ

iPhoneで3D写真が撮れるアプリ『seene』

BlenderでPhotogrammetryできるアドオン

OpenSfM:PythonのStructure from ...

Faster R-CNN:ディープラーニングによる一般物体検...

Mask R-CNN:ディープラーニングによる一般物体検出・...

Konashiを買った

VCG Library:C++のポリゴン操作ライブラリ

OpenCVのfindEssentialMat関数を使ったサ...

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

viser:Pythonで使える3D可視化ライブラリ

CNN Explainer:畳み込みニューラルネットワーク可...

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

コメント