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

関連記事

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

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

なんかすごいサイト

DensePose:画像中の人物表面のUV座標を推定する

Raspberry Pi 2のGPIOピン配置

Runway ML:クリエイターのための機械学習ツール

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

ブログをGoogle App EngineからAmazon ...

Webサイトのワイヤーフレームが作成できるオンラインツール

OpenAR:OpenCVベースのマーカーARライブラリ

HD画質の無駄遣い その2

UnrealCLR:Unreal Engineで.NET C...

Active Appearance Models(AAM)

Google App Engineのデプロイ失敗

Adobeの手振れ補正機能『ワープスタビライザー』の秘密

FacebookがDeep learningツールの一部をオ...

Mitsuba 2:オープンソースの物理ベースレンダラ

SONY製のニューラルネットワークライブラリ『NNabla』

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

オープンソースの人体モデリングツール『MakeHuman』の...

R-CNN (Regions with CNN featur...

MythTV:Linuxでテレビの視聴・録画ができるオープン...

clearcoat Shader

Seleniumを使ったFXや株の自動取引

機械学習手法『Random Forest』

Adobe MAX 2015

konashiのサンプルコードを動かしてみた

GAN (Generative Adversarial Ne...

Point Cloud Consortiumのセミナー「3D...

UnityでTweenアニメーションを実装できる3種類の無料...

TensorSpace.js:ニューラルネットワークの構造を...

オーバーロードとオーバーライド

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

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

「ベンジャミン·バトン数奇な人生」でどうやってCGの顔を作っ...

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

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

CGALDotNet:計算幾何学ライブラリ CGALのC#ラ...

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

WordPressのテーマを自作する

Composition Rendering:Blenderに...

Kinect for Windows V2のプレオーダー開始

コメント