オープンソースのStructure from Motionライブラリ『Theia』

度々似たような話題ですが(笑)
また別のオープンソースStructure from Motionライブラリを見つけた。↓

Theia

Theia-SfM

TheiaChris Sweeneyが開発したコンピュータービジョンライブラリで、効率的で信頼性の高いStructure from Motion(SfM)アルゴリズムを提供するために作られました。このライブラリは、研究者達へmulti-view reconstructionのための簡単に拡張可能なbox-toolの提供を目指しています。
姿勢推定、特徴検出と特長記述、マッチング、再構築のための多くの共通アルゴリズムが実装されています。シンプルなインターフェイス、少ない依存関係、そして豊富なドキュメントが用意されています。

ライセンスは修正BSDライセンス(New BSD License)なので商用利用も可能。
ソースコードはこちら↓
https://github.com/sweeneychris/TheiaSfM


スポンサーリンク


このライブラリは、ACMが主催するOpen Source Software Competition 2015でファイナリストにまで残ったライブラリだそうです。
(それがどれほどすごいことなのかはよくわかりません。。。)

もともとはカリフォルニア大学サンタバーバラ校のFour Eyes Labで開発されていたものがベースで、後にオープンソース化されたものだそうだ。
現在の開発の中心となっているChris Sweeney氏のページはこちら↓
http://cs.ucsb.edu/~cmsweeney/

Theiaライブラリのビルド方法を見てみたら、以下のライブラリに依存しているらしい。


スポンサーリンク

この手のライブラリではお馴染みのCeres Solverが入っている。ここの解説にもある通り、Ceres Solverは「非線形問題」を解くためのライブラリ。Structure from Motionでは、推定した変換行列の再投影誤差が最小となるパラメータを求めるBundle Adjustment処理で使われている。(最近やっと理解)

ちょっとライブラリの構成を眺めてみた。OpenMVGのサンプルでも感じたけど、Structure from Motionのライブラリって、画像のExifデータを利用する仕様が割と当たり前なのね。大抵、ライブラリにカメラの機種ごとのプロファイルデータベースもセットになっている。


スポンサーリンク

関連記事

OpenCVで顔のランドマークを検出する『Facemark API』
UnityでARKit2.0
MFnMeshクラスのsplit関数
Kinect for Windows v2の日本価格決定
ニューラルネットワークの構造を可視化するフレームワーク『TensorSpace.js』
Seleniumを使ったFXや株の自動取引
なんかすごいサイト
U-Net:ディープラーニングによるSemantic Segmentation手法
Pythonのベイズ統計ライブラリ『PyMC』
OpenCVで動画の手振れ補正
複数画像から3次元形状を再構築するライブラリ『Multi-View Environment』
Unityからkonashiをコントロールする
WebGL開発に関する情報が充実してきている
Webスクレイピングの勉強会に行ってきた
python-twitterで自分のお気に入りを取得する
Model View Controller
UnityでLight Shaftを表現する
WordPressの表示を高速化する
『手を動かしながら学ぶエンジニアのためのデータサイエンス』ハンズオンセミナーに行ってきた
オープンソースのプリント基板設計ツール『KiCad』
Point Cloud Consortiumのセミナー「3D点群の未来」に行ってきたよ
統計的な顔モデル
ポリゴンジオメトリ処理ライブラリ『pmp-library (Polygon Mesh Process...
Faster R-CNN:ディープラーニングによる一般物体検出手法
UnityでPoint Cloudを表示する方法
iOSで使えるJetpac社の物体認識SDK『DeepBelief』
WordPressプラグインの作り方
OpenCVベースのマーカーARライブラリ『OpenAR』
WordPressプラグインによるサイトマップの自動生成
このブログのデザインに飽きてきた
オープンソースの顔の動作解析ツールキット『OpenFace』
Faceshiftで表情をキャプチャしてBlender上でMakeHumanのメッシュを動かすデモ
「ベンジャミン·バトン数奇な人生」でどうやってCGの顔を作ったのか
人間の顔をそっくりそのままCGで復元する『Digital Emily Project』
WinSCP
Paul Debevec
Google App Engine上のWordPressでFlickrの画像を貼る
クリエイターのための機械学習ツール『Runway ML』
フォトンの放射から格納までを可視化した動画
Google XML Sitemap Generatorプラグインを3.4.1へダウングレード
PCA (主成分分析)
Boost オープンソースライブラリ

コメント

  1. わたなべ より:

    いつもCV関係の紹介記事、参考にさせていただいてます。
    このTheia、作者がWindows向けに作っていないため、何回かCMakeで挑戦してみましたがceres等他の必要なライブラリ部分で詰まり中断していました。

    Visual Studio 2015(Update 3)/2017限定になりますが、C++のオープンソフトウェアパッケージ管理のvcpkgにTheiaが登録されたため、(vcpkgを導入すれば)コマンドライン1行たたくだけで使えるようになっています。vcpkg自体もGitHubからpullしてbatファイルを叩くだけなので簡単でした。

    exeもありますが、APIを利用できる感じになっているので、SfM部分を勉強したりトレンド(CVPR2017のHybridSfMも最近実装されました)をおいかけたりするには良さそうです。