オープンソースのStructure from Motionツール『Regard3D』

ライブラリではなく、ちゃんとGUIを備えたオープンソースのStructure from Motionのアプリケーションを見つけた。
このRegard3DのソースコードはMIT licenseだそうだ。

Regard3D

Regard3D

Regard3Dは、無料でオープンソースのStructure from Motionツールです。
Regard3Dは、被写体を別々のアングルで撮影した複数枚の写真から、被写体の3Dモデルを生成します。

特長:

  • マルチプラットフォーム対応(Windows, OSX, Linux)
  • 強力なサードパーティツールとライブラリがベース
  • 完全無料でオープンソース

動作環境:

  • 64ビットのOS (Windows, Mac, Linux)
  • OpenGL対応のグラフィックスカード/チップ
  • 高解像度の画像を扱う場合はメモリ8GB以上を推奨

この手のGUIアプリケーションだとVisualSFMの方が有名ではありますが↓




スポンサーリンク


公式のイントロダクションによると、Regard3DではAKAZE特徴を使い、LIOP (Local Intensity Order Pattern)という方法で画像間のマッチングを行うとか。

Regard3DのソースコードはGitHub上にある↓
https://github.com/rhiestan/Regard3D

で、まあ、中身ではopenMVGを使っているみたい。
複数視点画像から3次元形状を復元するライブラリ『openMVG』
最近、この手の2D→3D復元系のライブラリを色々と調べている。何となく、自分で3D復元ツールを作ってみたくてね。この間のOpenGVは複数画像からカメラ(視点)の3次元位置・姿勢を推定するライブラリだった。↓こっちのopenMVG...


openMVGの機能をGUIで手軽に使えるようにしたようなツールだが、疎な点群の復元だけでなく、密な点群の復元”densificationを行う機能も備わっている。密な点群の復元には以下2通りの方法を選べる。中でこれらのツールを呼び出してるってことかな。


スポンサーリンク

3D Model From Photos – Testing Free Software Regard3D

Exifからカメラ情報を取得する関係で、入力画像のフォーマットはJPEGオンリー。また、撮影に使用したカメラ(の内部パラメータ)がデータベースに登録されていないと三角測量の処理でエラーになってしまう。(無いなら無いでデフォルト値を使うとかしてくれても良いのに…)
手持ちのiPhone6Sで撮った画像では上手く行かなかった。データベースへ追加する方法はあるのだろうか。

追記:Regard3Dのデータベースにカメラ情報を追加する方法があった。公式サイトのPicture Setのページに書いてあった。

もし、あなたのお使いのカメラが不明(“Sensor width“カラムに”N/A“と表示され、”not available“)な場合は、以下のステップを行ってください:

  • お使いのカメラの正確モデルを特定(例えば、カメラメーカー、カメラモデル等の情報)し、インターネットでそのカメラの特性について調べ、カメラのセンサー幅を決定します。
  • Unixの改行コードに対応したテキストエディタ(Notepad++など)で”sensor_database.csv“ファイルを開きます。ファイルは、Windows環境なら
    C:\Users\[User name]\AppData\Local\Regard3D
    OS X環境ならRegard3Dのインストールディレクトリ(ほとんどの場合 /Applications/Regard3D.app/Contents/Resources)にあります。
  • ファイルの”Camera maker“列と”Camera model“列、そしてセンサーの幅をmm単位で入力し、”;“で区切ります。
    記入例:Nikon;Nikon D5500;23.5
  • ファイルを保存してエディタを終了し、Regard3Dを再起動します。

このファイルについてのより詳しい情報はこちらをご覧ください。
https://github.com/openMVG/CameraSensorSizeDatabase

Regard3Dの形式(つまりopenMVG形式)のカメラセンサーデータCSVのリポジトリがGitHubにある。↓
https://github.com/openMVG/CameraSensorSizeDatabase

最新バージョンのsensor_database.csvにiPhone6までは入ってた。


スポンサーリンク

関連記事

Boost オープンソースライブラリ
OpenCV 3.1のsfmモジュールのビルド再び
C#で使えるNumPyライクな数値計算ライブラリ『NumSharp』
無料の英文チェックWebサービス『PaperRater』
マインドマップ作成ツール『MindNode』
OpenCVベースの背景差分ライブラリ『BGSLibrary』
スクラッチで既存のキャラクターを立体化したい
畳み込みニューラルネットワーク (CNN:Convolutional Neural Network)
Leap MotionでMaya上のオブジェクトを操作できるプラグイン
OpenCVベースのマーカーARライブラリ『OpenAR』
OpenCV 3.3.0 contribのsfmモジュールのサンプルを動かしてみる
オープンソースのSfM・MVSツール『COLMAP』
オープンソースの物理ベースGIレンダラ『appleseed』
オープンソースのStructure from Motionライブラリ『Theia』
写真から3Dメッシュの生成・編集ができる無料ツール『Autodesk Memento』
Mac用のSubversionクライアント 『SCplugin』
OpenCVでPhotoshopのプラグイン開発
ベイズ推定とグラフィカルモデル
Mask R-CNN:ディープラーニングによる一般物体検出・Instance Segmentatio...
ポリゴンジオメトリ処理ライブラリ『pmp-library (Polygon Mesh Process...
OpenCVの超解像処理モジュール『Super Resolution』
3Dオブジェクトの確認・変換に便利なフリーウェア『MeshLab』
Unityで使える数値計算ライブラリ『Math.NET Numerics』
Multi-View Stereoによる3次元復元ライブラリ『OpenMVS』
AnacondaとTensorFlowをインストールしてVisual Studio 2015で使う
Point Cloud Consortiumのセミナー「3D点群の未来」に行ってきたよ
バージョン管理の履歴を可視化するツール『Gource』
池袋パルコで3Dのバーチャルフィッティング『ウェアラブル クロージング バイ アーバンリサーチ』
Fast R-CNN:ディープラーニングによる一般物体検出手法
「ベンジャミン·バトン数奇な人生」でどうやってCGの顔を作ったのか
写真に3Dオブジェクトを違和感無く合成する『3DPhotoMagic』
Adobe MAX 2015
オープンソースのプリント基板設計ツール『KiCad』
機械学習について最近知った情報
Point Cloud Libraryに動画フォーマットが追加されるらしい
ZBrush 4R8 リリース!
書籍『イラストで学ぶ ディープラーニング』
OpenCV 3.1とopencv_contribモジュールをVisual Studio 2015で...
複数視点画像から3次元形状を復元するライブラリ『openMVG』
フリーのUV展開ツール Roadkill UV Tool
Kinect for Windows V2のプレオーダー開始
疑似3D写真が撮れるiPhoneアプリ『Seene』がアップデートでついにフル3Dモデルが撮影できる...

コメント