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


スポンサーリンク

関連記事

  • BlenderでPhotogrammetryできるアドオン
  • PGGAN:段階的に解像度を上げて学習を進めるGAN
  • Javaで作られたオープンソースの3DCGレンダラ『Sunflow』
  • Verilog HDL
  • Unityで学ぶC#
  • 書籍『3次元コンピュータビジョン計算ハンドブック』を購入
  • Python for Unity:UnityEditorでPythonを使えるパッケージ
  • Google App EngineでWordPress
  • ブログの復旧が難航してた話
  • 機械学習に役立つPythonライブラリ一覧
  • MFnMeshクラスのsplit関数
  • Quartus II
  • TeleSculptor:空撮動画からPhotogrammetryするツール
  • PyMC:Pythonのベイズ統計ライブラリ
  • BlenderProc:Blenderで機械学習用の画像データを生成するPythonツール
  • Pythonの自然言語処理ライブラリ『NLTK(Natural Language Toolkit)』
  • チャットツール用bot開発フレームワーク『Hubot』
  • OpenAR:OpenCVベースのマーカーARライブラリ
  • hloc:SuperGlueで精度を向上させたSfM実装
  • CGALDotNet:計算幾何学ライブラリ CGALのC#ラッパー
  • OpenMayaRender
  • 読みやすくて高速なディープラーニングのフレームワーク『Caffe』
  • Raspberry Pi 2を買いました
  • Unityからkonashiをコントロールする
  • 動的なメモリの扱い
  • NeRF (Neural Radiance Fields):深層学習による新規視点合成
  • Photogrammetry (写真測量法)
  • iPhoneアプリ開発 Xcode 5のお作法
  • 第25回コンピュータビジョン勉強会@関東に行って来た
  • OpenCVで平均顔を作るチュートリアル
  • TensorSpace.js:ニューラルネットワークの構造を可視化するフレームワーク
  • Google App Engineのデプロイ失敗
  • python-twitterで自分のお気に入りを取得する
  • UnityのAR FoundationでARKit 3
  • WebGL開発に関する情報が充実してきている
  • MRenderUtil::raytrace
  • RefineNet (Multi-Path Refinement Network):ディープラーニン...
  • NumSharp:C#で使えるNumPyライクな数値計算ライブラリ
  • ブログのデザイン変えました
  • Unityで強化学習できる『Unity ML-Agents』
  • 自前のShaderがおかしい件
  • 書籍『ROSプログラミング』
  • モバイルバージョンを終了