RealityCapture基礎

RealityCaptureとは

RealityCaptureは、対象物を重複して撮影した写真データからカメラの距離、角度を推定して3Dモデルを作成するフォトグラメトリソフトウエア。写真解析、レーザースキャン、UAV(Unmanned Aerial Vehicle, 無人航空機=通称ドローン)測量に対応。他ソフトウェアと比較しても高品質な3Dモデルを作成可能だが、UIが洗練させておらず、高機能ゆえに若干難解な印象。一方、徐々に日本語情報が増えてきたことで習得しやすくなってきている。

CapturingReality社が販売しているReality Captureは、会社名とソフトウェア名が似ているのでわかりづらい。

2021年3月にUnreal Engineの開発元であるEpic Games社にCapturing Reality社が買収された(Capturing Realityの組織名称は残っている?)。これにより販売価格が大幅に見直され(リーズナブルに)、Academicバージョンの無料ライセンス提供も始まった。

Back To Top

PCの性能要件

RelityCaptureはWindowsのみ、以下の性能のPCが必要となる。

  •  64bit machine with at least 8GB of RAM
  •  64bit Microsoft Windows version 7 / 8 / 8.1 / 10 or Windows Server version 2008+
  • NVIDIA graphics card with CUDA 3.0+ capabilities and 1GB VRAM
  • CUDA Toolkit 10.2, minimal driver version 441.22.

参照元:https://support.capturingreality.com/hc/en-us/articles/115001524071-OS-and-hardware-requirements

 

以下のような警告が出た場合は、NVIDIAドライバのアップデートが必要になる。

Back To Top

ライセンスの種類

PPI / ENTERPRISE

RealityCaptureには、PPI(PAY-PER INPUT, 処理数に合わせて支払い)とENTERPRISE(買い切り)の2つのバージョンが存在する(2021.10現在)。

  • PPI 3,500クレジット 10USD
  • PPI 8,000クレジット 20USD
  • ENTERPRISE 3,750USD

PPIバージョンでは、書き出しを除いて全ての機能を利用することができる。書き出し時にPPIクレジットの購入が必要になる。PPIバージョンとENTERPRISEバージョンではプロジェクトファイルの互換性がないので注意が必要。

なお、RealityCaptureはインストールしただけでは使えず、EPIC GAMEのアカウントも作成必要(ACADEMICバージョンでは不要)。

 

ACADEMICバージョン

RealityCaptureはEPIC GAME社に統合された後、教育機関向けに無料ライセンスの提供を開始した。(統合前はACADEMICバージョンでも有料だった。)

ACADEMICライセンスは大学機関としてのみ申請可能であり、学生からは申請不可となっている。以下、CapturingRality社からのアナウンス。

We offer licenses through academic institutions. While we do not offer directly to university students, we would encourage you to recommend that your university apply for one. 

今回の演習では、大学として取得したACADEMICライセンスを配布して行う。
Activate方法は次の項で説明する。

Back To Top

Tokenを利用したLicense Activation

① RealityCaptureのダウンロードとインストール

上記サイトにアクセスして、画面右上のDownload nowボタンを押す。

ダウンロードできたら、インストーラ(例RealityCapture-1.2.0.16813-Tarasque.msi, 2021.9現在)をダブルクリックしてインストールを進める。

 

② Tokenの受取り

学生個別のTokenをTeamsのメッセンジャーから配布する。

※利用開始から90 days(3カ月程度)の有効期限。
授業終了後に自主制作で利用したい場合は、教員に相談して利用可能。

 

③ TokenによるActivation

Windowsの検索窓で「コマンド」と入力して、コマンドプロンプトを起動する。

「>」の後に以下を入力する。

“C:\Program Files\Capturing Reality\RealityCapture\RealityCapture.exe” -activate TOKEN

TOKEN部分を削除する。受け取ったTokenをコピー&ペーストしてEnterキーを押す。

 

④ RealityCaptureの起動

デスクトップショートカット or 検索起動により、RealityCaptureを起動する。

Activation後の初回起動時にアプリの再起動を求められるので、一度終了して起動し直す。

Back To Top

チュートリアルデータの利用

今回の演習では以下の2つのチュートリアルデータを利用する。
特に②では、Reconstruction RegionとGround Planeの設定が重要になる。

 

① kuu-satsu.comのチュートリアルデータの利用

下記URLページの「スマホ写真: 62枚(211MB)」からダウンロードする。

https://kuu-satsu.com/realitycapture-uav-survey-reference/

 

② 靴データの利用(中安撮影)

授業内で配布する。

Back To Top

UI概観

大まかな配置として上部にリボンメニュー、下部に各種パネルが位置する。

 

Back To Top

UIレイアウトの切替

RealityCaptureでは、作業段階によってUIレイアウトを変更しながら行う。

 

方法① 左上のアイコンで切替

 

方法② WORKFLOW > Layoutから切替

Back To Top

パネル表示(View Types)の切替

パネル右上のプルダウンリストからパネル表示を切り替えることができる。

1Dsに関しては一番左のパネルでした表示できない。また、一番左のパネルでは1Ds、2Ds、helpの3種しか表示できない。

以下はView Typesの一覧。

  • 1D: textural information
  • 1Ds: hierarchical relations
  • 2D: graphical information
  • 2Ds: thumbnail view
  • 3Ds: 3D information
  • 4Ds: playing animations
  • con: console
  • map
  • help

 

本演習では以下のレイアウトとパネル表示で行う。

  • レイアウト:1+1
  • 左パネル:2Ds
  • 右パネル:3Ds

Back To Top

写真データの読み込み

WORKFLOW > 1.Add imagery > Folderをクリックする。

フォルダを選択してOKを押す。

2Ds(下図レイアウトでは左パネル)にサムネイルが表示される。

Back To Top

Aligning Images(低密度点群)

RealityCaptureでは、同じ作業を異なるボタンから行うことができる。特にWORKFLOWには、他のタブにあるものが整理されているので重なるものが多い。

 

方法① ALIGMENT > Registration > Align Images

 

方法② WORKFLOW > 2.Process > Align Images

※本演習ではStart(一括処理)は利用しないので注意

 

写真点数、解像度、処理パラメータの設定によって、処理時間は異なる。
数分から十数分かかる場合がある。

処理後は、低密度点群とカメラプレビュー(Alignment Cameras)が表示される。

カメラプレビューの大きさや写真サムネイルの表示は下図で調整することができる。

3Dsパネルを選択した状態で、SCNENE 3D > VIEW > Alignment Cameras > Camera Scale他

Back To Top

3Dsのビュー操作

マウス操作

  • 左ドラック:グリッド平面に沿って移動
  • CTRL+左ドラッグ:カメラ視点の垂直平面に沿って移動
  • 右ドラッグ:回転
  • ホイールスクロール:拡大・縮小

回転のpivot(中心軸)はグリッドの中心であり、点群の中の目的のオブジェクトの中心とは異なる。
pivotはグリッド上をダブルクリックすることで変更可能。操作ミスでダブルクリックすることもあり、その場合はSCENE 3D > VIEW > View Tools > Center Pivotをクリックする。

 

メニュー操作による視点切替

SCENE 3D > VIEW > View Camera > プルダウンメニューから選択

※プルダウンメニューはスクロールしないと全ては見えない

回転軸がずれる時はReset Viewすることで解消する場合がある

 

テンキーによる視点切替 ※動作しない不具合?がある

  • 0: Perspective(透視投影)
  • 1: Parallel(Orthographic、平行投影)
  • 2: Top
  • 3: Bottom
  • 4: Left
  • 5: Right
  • 6: Front
  • 7: Back

8と9は割り当てなし

Back To Top

Reconstruction Region / Ground Plane

Reconstruction Region(再構築領域)の設定

Reconstruction Regionは解析処理する領域を設定するもの。設定しない場合は全ての点群を処理することになり、処理に時間がかかる上に目的の対象物の品質も悪くなる場合がある。他のソフトウェアではBouding Box(境界ボックス)の名前で呼ばれることが多い。

Reconstruction Regionは上図の白枠の領域であり、白線付近をクリックすると赤緑青の点(ハンドル)が表示される(最初から表示される場合もある)。

 

kuu-satsu.comのチュートリアルデータの場合

点群を目安に、赤緑青の点をドラッグして目標の対象物を囲うように調整する。
このとき、ビューの視点を上下左右やParallel(平行投影)に変更して行う必要がある。

sekizouデータの場合は、Aligningの段階でグリッド平面に対しておよそ水平に解析されており、Reconstruction Regionの調整もそこまで難しくはない。

 

靴データ(nakayasu_shoes)の場合

撮影したデータによっては下図のように、目標とする対象物がグリッド平面に対して斜めになっていたり、高い位置に解析される場合がある。

この場合、特に回転のずれに関してはParallel(平行投影)で確認しながらReconstruction Regionを調整していく必要がある。Reconstruction Regionの回転に関しては、下図の中心の赤青緑のヘルパーをドラッグして行う。

ある程度調整できたら、このReconstruction RegionをベースにGround Planeを設定する。

上図のように、SCENE 3D > TOOLS > Scene Alignment > Set Ground Planeの右側の▼をクリックして、プルダウンメニューからSet Ground by Reconstruction Regionをクリックする。

Ground Planeの設定によって、Reconstruction Regionで囲った対象物がグリッド平面中央に移動される。まだ調整する必要がある場合は再度同じ手順を繰り返す。

3DCGソフトウェアに読み込んでから調整することも可能だが、後工程の作業を楽にするためにも、この段階で可能な限り調整しておくことが望ましい。

Back To Top

Reconstruction(メッシュ生成)

方法① MESH MODEL > Create Model > Normal Detail

 

方法② WORKFLOW > 2.Process > Calculate Model

Calculate Modelの品質は初期設定ではNormal quality。プルダウンメニューで変更可能。

 

下図の処理が始まる。Aligningよりは長い時間がかかる。

Back To Top

不要なメッシュの削除

SCENE 3D > TOOLS > Mesh Model > Lasso or Rectを利用してメッシュを選択する。
ツールで囲んだ領域の視点の奥まで選択されるのでビューを回転して確認しながら行う。
その後、Filter Selectionでメッシュ削除する。
Lasso、Rectツールはトグル方式なのでメッシュ削除が完了したら、もう一度クリックして解除しておく。

※本演習では利用しない。人体スキャナで利用する。

Back To Top

Clean Model(穴埋め)

※本演習では利用しない。人体スキャナで利用する。

※Close Holesでは複数穴は塞がれない場合がある(まだ理解しきれていない)。

下図は一例として、人体スキャンの両足の裏のメッシュがない場合。

Clean Modelを行う前に、現在のメッシュの状態を検査する。
MESH MODEL > Analyze > Check Topologyをクリックする。

Hole countが3となっており、足の裏以外にもメッシュが存在していることがわかる。
小さなメッシュが浮遊している可能性があり、探して削除しておく。

MESH MODEL > Analyze > Clean Modelをクリックする。

両足裏にメッシュが作成された。

もう一度、MESH MODEL > Analyze > Check Topologyをクリックする。

Holes(穴)が塞がれたことがわかる。

Back To Top

Simplify(メッシュ削減)

メッシュ削減にはSimplify T00lを利用する(トグル方式)。

1Dsで元のポリゴン数(Triangle Count)を確認して、Target triangle countを調整することで、徐々にポリゴンを削減する。例えば、100万 > 50万 > 10万 > 5万 > 1万のように数回繰り返して行う。一度に100万 > 1万のように削減するとディティールの品質が大幅に悪くなる。

終了後は、Simplify Toolをもう一度クリックして解除しておく。

※本演習では利用しない。人体スキャナで利用する。

Back To Top

Texturing(テクスチャ生成)

方法① MESH MODEL  > Mesh Color & Texture > Texture

Textureの品質は下図のSettingsで変更可能。

 

方法② WORKFLOW > 2.Process > Texture

 

Texturing処理が始まる。

Back To Top

Vertices / Solid / Sweet

Texturing後も、SCNENE 3D > VIEW > Scene RenderからVertices(点群表示)/ Solid(メッシュ表示)/ Sweet(テクスチャあり)の表示を切り替えて確認することができる。

下図のsekizouのチュートリアルではVerticesが高密のためわかりにくいが、ズームインすれば点群が確認できる。

Back To Top

書き出し

MESH MODEL > Export > Mesh and PointCloud

ディスプレイ環境によっては、全てのリボンメニューが表示されない場合がある。
その場合は下図のExportをクリックするとメニューが表示される。

 

書き出すファイルは下図のような種類を選択することができる。

OBJを書き出せば、MTLとPNGは自動的に生成される。

Back To Top

3Dソフト(Blender)での読み込み

File > Import > Wavefront (.obj)から読み込む。
Simplifyしていない場合はポリゴン数が多いので読み込みに1分以上かかる場合がある。

必要に応じて回転する(R, X, -90)。

Back To Top

パラメータのリセット

RealityCaptureにはたくさんのパラメータがあり、それぞれ設定変更していくとDefault(初期設定)の数値がわからなくなることがある。その場合に、個別 or 全てのパラメータをリセットすることができる。

(参考サイト)RealityCapture settings

 

① 特定のSettingsパネルのパラメータリセット

Settingsパネル左下のアイコンの中のReset settingsをクリックする。

 

② 全てのパラメータリセット

SHIFTキーを押しながら、アプリケーションの実行ファイル or ショートカットをダブルクリックする。
うまくいかない場合は、アプリケーションを終了させてもう一度行うと成功する場合がある。

下図のウィンドウが表示されるので、Restボタンを押せばパラメータがリセットされる。

プルダウンメニューから選択することで、以下のリセットも可能。

  • Reset the application settings
  • Reset the user interface and layout
  • Reset both config & UI
  • Make it like a clean install

Back To Top

参考サイト

以下に参考サイトを掲載する。EPIC GAME社に統合された影響か、数年前よりも日本語情報が増えつつある。

Back To Top