サイトアイコン NegativeMindException

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

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

Theia



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データを利用する仕様が割と当たり前なのね。大抵、ライブラリにカメラの機種ごとのプロファイルデータベースもセットになっている。


スポンサーリンク

関連記事

  • konashiのサンプルコードを動かしてみた
  • Maya API Reference
  • MPFB2:Blenderの人体モデリングアドオン
  • Super Resolution:OpenCVの超解像処理モジュール
  • Verilog HDL
  • Digital Emily Project:人間の顔をそっくりそのままCGで復元する
  • Google App Engine上のWordPressでFlickrの画像を貼る
  • SSII2014 チュートリアル講演会の資料
  • 動的なメモリの扱い
  • Windows10でPyTorchをインストールしてVSCodeで使う
  • UnityのGameObjectの向きをScriptで制御する
  • MythTV:Linuxでテレビの視聴・録画ができるオープンソースプロジェクト
  • WordPressプラグインの作り方
  • Raspberry PiのGPIOを操作するPythonライブラリ『RPi.GPIO』の使い方
  • AmazonEC2のインスタンスをt1.microからt2.microへ移行する
  • Unityの薄い本
  • MFnMeshクラスのsplit関数
  • Russian3DScannerのトポロジー転送ツール『WrapX』
  • BlenderのPython環境にPyTorchをインストールする
  • html5のcanvasの可能性
  • WinSCP
  • Python for Unity:UnityEditorでPythonを使えるパッケージ
  • OpenAR:OpenCVベースのマーカーARライブラリ
  • 3Dグラフィックスの入門書
  • 書籍『OpenCV 3 プログラミングブック』を購入
  • Kinect for Windows v2の日本価格決定
  • 1枚の画像からマテリアルを作成できる無料ツール『Materialize』
  • Mechanizeで要認証Webサイトをスクレイピング
  • UnityでPoint Cloudを表示する方法
  • OpenCV 3.1のsfmモジュールのビルド再び
  • Leap MotionでMaya上のオブジェクトを操作できるプラグイン
  • libigl:軽量なジオメトリ処理ライブラリ
  • Webスクレイピングの勉強会に行ってきた
  • HD画質の無駄遣い
  • 3分の動画でプログラミングを学習できるサイト『ドットインストール』
  • 手を動かしながら学ぶデータマイニング
  • ROSの薄い本
  • OpenGV:画像からカメラの3次元位置・姿勢を推定するライブラリ
  • Raspberry Pi 2のGPIOピン配置
  • AR (Augmented Reality)とDR (Diminished Reality)
  • Cartographer:オープンソースのSLAMライブラリ
  • TensorSpace.js:ニューラルネットワークの構造を可視化するフレームワーク
  • モバイルバージョンを終了