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


スポンサーリンク

関連記事

  • JavaScriptとかWebGLとかCanvasとか
  • SSII 2014 デモンストレーションセッションのダイジェスト動画
  • AmazonEC2のインスタンスをt1.microからt2.microへ移行する
  • pythonもかじってみようかと
  • OpenGV:画像からカメラの3次元位置・姿勢を推定するライブラリ
  • 第25回コンピュータビジョン勉強会@関東に行って来た
  • Raspberry Pi 2を買いました
  • 疑似3D写真が撮れるiPhoneアプリ『Seene』がアップデートでついにフル3Dモデルが撮影できる...
  • SegNet:ディープラーニングによるSemantic Segmentation手法
  • OpenMVSのサンプルを動かしてみる
  • C#で使える遺伝的アルゴリズムライブラリ『GeneticSharp』
  • python-twitterで自分のお気に入りを取得する
  • Unityで画面タッチ・ジェスチャ入力を扱う無料Asset『TouchScript』
  • Active Appearance Models(AAM)
  • 「ベンジャミン·バトン数奇な人生」でどうやってCGの顔を作ったのか
  • Math.NET Numerics:Unityで使える数値計算ライブラリ
  • Python.NET:Pythonと.NETを連携させるパッケージ
  • FCN (Fully Convolutional Network):ディープラーニングによるSema...
  • cvui:OpenCVのための軽量GUIライブラリ
  • Windows10でPyTorchをインストールしてVSCodeで使う
  • Unity ARKitプラグインサンプルのドキュメントを読む
  • OpenCVで平均顔を作るチュートリアル
  • 『手を動かしながら学ぶエンジニアのためのデータサイエンス』ハンズオンセミナーに行ってきた
  • Python拡張モジュールのWindows用インストーラー配布サイト
  • iPhone x ロボットハッカソン~RomoのiPhone用SDKで目覚ましアプリを作る~
  • 画像生成AI Stable Diffusionで遊ぶ
  • Unityで学ぶC#
  • HD画質の無駄遣い その2
  • OpenCVのfindEssentialMat関数を使ったサンプルを読んでみる
  • Structure from Motion (多視点画像からの3次元形状復元)
  • GoogleのDeep Learning論文
  • ディープラーニングに対応したPythonの機械学習ライブラリ『Pylearn2』
  • バージョン管理の履歴を可視化するツール『Gource』
  • Googleが画像解析旅行ガイドアプリのJetpac社を買収
  • OpenMayaのPhongShaderクラス
  • ManuelBastioniLAB:人体モデリングできるBlenderアドオン
  • C++の抽象クラス
  • Verilog HDL
  • ZBrushで作った3Dモデルを立体視で確認できるVRアプリを作る
  • 参考書
  • Mask R-CNN:ディープラーニングによる一般物体検出・Instance Segmentatio...
  • OpenCV バージョン4がリリースされた!
  • モバイルバージョンを終了