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

関連記事

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

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

タマムシっぽい質感

UnityでOpenCVを使うには?

UnityのAR FoundationでARKit 3

Web経由でRaspberry PiのGPIOを操作したい

bpy-renderer:レンダリング用Pythonパッケー...

MVStudio:オープンソースのPhotogrammetr...

HD画質の無駄遣い

JavaScriptとかWebGLとかCanvasとか

ブログのデザイン変えました

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

組み込み向けのWindows OS 『Windows Emb...

Raspberry Pi 2を買いました

Raspberry Piでセンサーの常時稼働を検討する

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

自前Shaderの件 解決しました

BlenderProc:Blenderで機械学習用の画像デー...

なんかすごいサイト

フィーリングに基づくタマムシの質感表現

Windows10でPyTorchをインストールしてVSCo...

機械学習手法『Random Forest』

TorchStudio:PyTorchのための統合開発環境と...

Unityの薄い本

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

C#で使える遺伝的アルゴリズムライブラリ『GeneticSh...

OpenCVで動画の手ぶれ補正

Deep Fluids:流体シミュレーションをディープラーニ...

Python for Unity:UnityEditorでP...

3Dグラフィックスの入門書

Raspberry PiでIoTごっこ

Iterator

疑似3D写真が撮れるiPhoneアプリ『Seene』がアップ...

ROMOハッカソンに行ってきた

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

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

pythonの機械学習ライブラリ『scikit-learn』

iPhoneアプリ開発 Xcode 5のお作法

OpenCVでPhotoshopのプラグイン開発

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

MRenderUtil::raytrace

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

コメント