3D人-3dnchu-さんでオープンソースのPhotogrammetryアプリケーション「meshroom」とその基盤となっているフレームワーク「Alice Vision」が紹介されていたのでちょっと調べてみた。
http://3dnchu.com/archives/alicevision-meshroom/
AliceVision – Photogrammetric Computer Vision Framework
AliceVisionは3D復元とカメラトラッキングのアルゴリズムを提供するPhotogrammetricコンピュータービジョンフレームワークです。AliceVisionは、state-of-the-artのコンピュータビジョンアルゴリズムを、テスト・分析・再利用可能な強力なソフトウェアのベースとして提供することを目指しています。このプロジェクトはアカデミアと産業のコラボレーションにより、プロダクションでの使用に耐える堅牢性と品質を備えた最先端のアルゴリズムを提供します。
このプロジェクトを基にしたパイプラインとツールの詳細はAliceVisionのWebサイトでご覧ください。
パイプラインによる処理結果はsketchfabを参照してください。
Alice VisionフレームワークのライセンスはMPLv2(Mozilla Public License, version 2.0)とのことで、商用利用は可能だけどソースコードの開示が必要。
COPYING.mdを読むと、Structure from Motionの処理はopenMVG、Multi-View Stereoの処理にはCMPMVSが使われている他、libmvなど色んなサードパーティーのライブラリが使用されている。

また、GitHub上のリポジトリだけでなく、Alice Vision公式のWebサイトがあります↓
https://alicevision.github.io/
関連ライブラリ
関連ライブラリが2つある。
CCTag
このライブラリを使用すると、CCTagマーカーを検出・識別することができます。
このマーカシステムは、チャレンジングな撮影条件でもサブピクセル精度の堅牢性を提供します。
CCTagはCVPR 2016で発表された論文”Detection and Accurate Localization of Circular Fiducials under Highly Challenging Conditions“で提案されているマーカー検出システムを実装したライブラリ。
CPUとGPU両方の実装が入っているようです。こちらもMPLv2ライセンス。
PopSIFT
このライブラリは、SIFT特徴量抽出のGPU実装を提供します。
最近のグラフィックカードなら、HD解像度の画像に対して25fpsのパフォーマンスを発揮できます。
PopSiftはSHIFTをGPUで高速に処理できるライブラリ。
こちらも基本はMPLv2ライセンスだけど、SHIFTは特許で守られているので、その辺の権利が面倒そうですね。
スタンドアローンのアプリケーション
さて、ライセンス的に商用アプリケーションに組み込みづらいAlice Visionフレームワークですが、公式にフレームワークを使用したソフトウェアが公開されている。もちろんオープンソース。
ただ、meshroom以外はソースコードのみの公開なので、自前でビルドしないと使えません。そのうちビルド済みのバイナリが配布されると良いですね。
meshroom
meshroomは、AliceVisionフレームワークを使った無料でオープンソースの3D復元ソフトウェアです。
meshroomはAliceVisionフレームワークをベースにしたスタンドアローンなPhotogrammetryアプリケーション。3D人-3dnchu-さんではメインで紹介されていました。
無料で使えるPhotogrammetryツールなので色々と可能性が広がりますね。meshroomはダウンロードページでWindows, Linux用にビルド済みのパッケージが配布されている。
2019年6月 追記:使ってみた↓

DCCツール向けプラグイン
その他、各DCCツールアプリケーション向けのプラグインもある。
MeshroomMaya
MeshroomMayaによって、グラフィックアーティスト達は画像からピクセル精度での3D復元モデリング(点群とカメラ)が可能になります。
MeshroomMayaは複数枚画像から3Dモデルを作成できるMayaプラグイン。旧名はMayaMVGだったんですね。
ofxMVG
このプラグインは、meshroomで3D復元されたシーンからカメラの姿勢を推定します。
ofxMVGはNuke用プラグインで、OpenFX規格に対応している。
Houdini用AliceVisionプラグイン
Houdini用のAliceVisionプラグインもある。(Windowsのみ)
AliceVision は、3D再構成およびカメラ追跡アルゴリズムを提供するフォトグラメトリコンピュータビジョンフレームワークで 、こちらに概要が出ている研究者と開発者によって Github で提供されています。
そのコマンドライン機能により、Houdini の無償の GameDevelopmentToolset の一部として利用可能になりました。
AliceVision MPL2 によってライセンスされています。
Photogrammetryのパイプライン
Alice VisionのサイトでPhotogrammetryのパイプラインを解説しているページが分かりやすかったので引用↓
Photogrammetry Pipeline
Photogrammetryは複数の写真から測量する技術です。
Photogrammetryでは、順序付けされていない複数枚の写真やビデオのセットからシーンのジオメトリを推定します。
写真は3Dシーンを2D平面に投影したものであり、奥行き情報を失っています。この投影プロセスの逆行がPhotogrammetryの目標となります。
2021年追記:MeshroomからBlenderにインポートするためのアドオンもある↓
meshroom2blender
AliceVision Meshroomのデータファイルであるカメラ、画像、疎な点群、objのBlenderインポーターです。
これはmeshroom importerの基本的な実装のみです。高度なノード3を使用している場合は、ファイルの最初のノードのみが使用されます。このアドオンは各ステージ/ノードを計算したと想定し、出力も同様となります。
関連記事
Konashiを買った
Blendify:コンピュータービジョン向けBlenderラ...
Seleniumを使ったFXや株の自動取引
python-twitterで自分のお気に入りを取得する
UnityのTransformクラスについて調べてみた
ポリゴンジオメトリ処理ライブラリ『pmp-library (...
Kubric:機械学習用アノテーション付き動画生成パイプライ...
clearcoat Shader
HD画質の無駄遣い
ZBrushでアヴァン・ガメラを作ってみる パーツ分割
Raspberry PiでIoTごっこ
WordPress on Windows Azure
第20回 文化庁メディア芸術祭『3DCG表現と特撮の時代』
第25回コンピュータビジョン勉強会@関東に行って来た
書籍『開田裕治 怪獣イラストテクニック』
ニューラルネットワークと深層学習
為替レートの読み方 2WAYプライス表示
Autodesk CompositeとAutodesk Ma...
SDカードサイズのコンピューター『Intel Edison』
書籍『ROSプログラミング』
Photogrammetry (写真測量法)
Mayaのシェーディングノードの区分
ZBrush 4R7
SSD (Single Shot Multibox Dete...
WordPressのテーマを自作する
OpenMVSのサンプルを動かしてみる
ヘッドマウントディスプレイとビジュアリゼーションの未来
Unity ARKitプラグインサンプルのドキュメントを読む
Blender 4.2以降のWindowsPortable版...
素敵なパーティクル
機械学習に役立つPythonライブラリ一覧
Mayaのポリゴン分割ツールの進化
ZBrushでアヴァン・ガメラを作ってみる モールドの彫り込...
PolyPaint
タダでRenderManを体験する方法
コンピュータビジョンの技術マップ
ZBrushでアヴァン・ガメラを作ってみる 口のバランス調整
CGレンダラ研究開発のためのフレームワーク『Lightmet...
タマムシっぽい質感
統計的な顔モデル
疑似3D写真が撮れるiPhoneアプリ『Seene』がアップ...
FCN (Fully Convolutional Netwo...








コメント