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

関連記事

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

書籍『ROSプログラミング』

Pylearn2:ディープラーニングに対応したPythonの機械学習ライブラリ

MPFB2:Blenderの人体モデリングアドオン

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

Python拡張モジュールのWindows用インストーラー配布サイト

MFnDataとMFnAttribute

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

Math Inspector:科学計算向けビジュアルプログラミングツール

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

自前のShaderがおかしい件

OpenVDB:3Dボリュームデータ処理ライブラリ

Google Chromecast

Multi-View Environment:複数画像から3次元形状を再構築するライブラリ

Windows10でPyTorchをインストールしてVSCodeで使う

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

ManuelBastioniLAB:人体モデリングできるBlenderアドオン

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

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

疑似3D写真が撮れるiPhoneアプリ『Seene』がアップデートでついにフル3Dモデルが撮影できる...

WordPressプラグインによるサイトマップの自動生成

BlenderのPython環境にPyTorchをインストールする

HerokuでMEAN stack

OpenCV 3.1とopencv_contribモジュールをVisual Studio 2015で...

SSII2014 チュートリアル講演会の資料

FreeMoCap Project:オープンソースのマーカーレスモーションキャプチャ

書籍『仕事ではじめる機械学習』を読みました

WordPressの表示を高速化する

Quartus II

RefineNet (Multi-Path Refinement Network):ディープラーニン...

Leap MotionでMaya上のオブジェクトを操作できるプラグイン

iOSデバイスと接続して連携するガジェットの開発方法

OpenCVでカメラ画像から自己位置認識 (Visual Odometry)

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

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

Raspberry Pi 2のGPIOピン配置

Point Cloud Utils:Pythonで3D点群・Meshを扱うライブラリ

UnityでLight Shaftを表現する

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

Structure from Motion (多視点画像からの3次元形状復元)

U-Net:ディープラーニングによるSemantic Segmentation手法

Qlone:スマホのカメラで3Dスキャンできるアプリ

コメント