.wp-block-jetpack-rating-star span.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal; }

サイトアイコン NegativeMindException

Alice Vision:オープンソースのPhotogrammetryフレームワーク

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の目標となります。

  1. Natural Feature Extraction
  2. Image Matching
  3. Features Matching
  4. Structure from Motion
  5. Depth maps estimation
  6. Meshing
  7. Texturing
  8. Localization

2021年追記:MeshroomからBlenderにインポートするためのアドオンもある↓

meshroom2blender



Blender importer of AliceVision Meshroom datafiles: cameras, images, sparse pointcloud and obj’s.
Basic implementation of meshroom importer. If you have sphisticated node three it will use only the first nodes from the file. Addon assumes you did compute each stages/nodes, and the output is same.


スポンサーリンク

関連記事

UnrealCLR:Unreal Engineで.NET Coreを利用できるプラグイン

映画『シン・ウルトラマン』 メイキング記事まとめ

ゴジラ(2014)のディティール制作の舞台裏

ZBrush4新機能ハイライト 3DCG CAMP 2010

映画から想像するVR・AR時代のGUIデザイン

iPhone欲しいなぁ

SegNet:ディープラーニングによるSemantic Segmentation手法

ZBrushでゴジラ2001を作ってみる 姿勢の変更

TensorSpace.js:ニューラルネットワークの構造を可視化するフレームワーク

OpenMayaRender

OpenFace:Deep Neural Networkによる顔の個人識別フレームワーク

ヘッドマウントディスプレイとビジュアリゼーションの未来

ポリゴン用各種イテレータと関数セット

FCN (Fully Convolutional Network):ディープラーニングによるSema...

オーバーロードとオーバーライド

ZBrushでアヴァン・ガメラを作ってみる 口内の微調整・身体のライン修正

PythonのHTML・XMLパーサー『BeautifulSoup』

Rerun:マルチモーダルデータの可視化アプリとSDK

オープンソースのIT資産・ライセンス管理システム『Snipe-IT』

ZBrushでゴジラ2001を作ってみる 身体のシルエット出し

Unreal Engine Tokyo MeetUp!へ行ってきた

色んな三面図があるサイト

Raspberry Pi

定数

Pylearn2:ディープラーニングに対応したPythonの機械学習ライブラリ

ZBrushでアヴァン・ガメラを作ってみる

NumSharp:C#で使えるNumPyライクな数値計算ライブラリ

マルコフ連鎖モンテカルロ法

OpenCV 3.3.0 contribのsfmモジュールのサンプルを動かしてみる

iPhone・iPod touchで動作する知育ロボット『ROMO』

ZBrushと液晶ペンタブレットでドラゴンをモデリングするチュートリアル動画

fSpy:1枚の写真からカメラパラメーターを割り出すツール

ZBrushでゴジラ2001を作ってみる 側頭部のボリュームを探る

ZBrushでアヴァン・ガメラを作ってみる 下アゴと頭部を作り込む

1枚の画像からマテリアルを作成できる無料ツール『Materialize』

ZBrushでアヴァン・ガメラを作ってみる 爪とトゲを追加

ブログのデザイン変えました

NVIDIA GeForce RTX 3080を購入

ポリ男からMetaHumanを作る

オープンソースのロボットアプリケーションフレームワーク『ROS (Robot Operating S...

ZBrushでゴジラ2001を作ってみる 目元だけ作り込んでバランスを見る

ZBrushでアヴァン・ガメラを作ってみる 下アゴの付け根を修正

モバイルバージョンを終了