Reality Captureを用いた遺物のオルソ画像と断面図の作成
遺構に引き続き、遺物についても手順をメモしておきます。
ある程度のスペックのパソコンがあれば、無償となったReality Captureを使用してMetaShapeと同等の遺物のフルモデル作成、オルソ画像の出力ができることがわかりました。
なお完全なモデルの作成についてはこちらを参考にさせていただきました。
【RealityCapture 1.2】はじめてのRealityCapture – 完全なモデルを作成する手順 – Visual Crossing (indyzone.co.jp)
なるべく他のソフトは使わず、Reality Captureで完結する工程にしてみました。より高度な調整が必要な場合は、Cloud Compare等を併用してください。
画像の解像度調整やレイアウトにはPhotoshopとIllustratorを使用しています。
0. 準備
0.1 撮影
撮影は回転台と三脚、MetaShape用に作成したマーカー付きのベースを使用しました。
カメラの高さを4段階変えて、それぞれ16方向から撮影しています。
遺物を上下反転しているので、4×16×2=128枚撮影しました。
写真はA面、B面とフォルダ分けしておきます。
回転台に設置したベースのPDFと、それに対応した座標値のCSVファイルはこちらです。
0.2 座標系の設定
Reality Captureで[ワークフロー]→[設定]から[座標系]を「local:1 - Euclidean」にしておきます。
1. 各面ごとのマスク作成
1.1 写真の読み込み
[ワークフロー]→[フォルダ]
A面のフォルダを選択して[フォルダーの選択]
1.2 アライメント
[アライメント]→[アライメント]
しばらく待つと点群が表示されます。
1.3 再構築領域のセット
[MESH MODEL]→[Set Reconstruction Region]
上下左右の点をドラッグして範囲を設定します。
1.4 モデルの計算
[MESH MODEL]→[Nomal Detail]でメッシュを構築します。
1.5 余分なメッシュの削除
端部等に余分なメッシュが作成された場合は、それを削除します。
[SCENE 3D]→[TOOLS]→[Rect(矩形選択)]
[Filter Selection]で選択部分を削除します。
1.6 マスクの出力
作成したモデルでマスクを出力します。
[SCENE 3D]→[TOOLS]→[Depth and Mask(深度とマスクのエクスポート)]
写真と同じフォルダを選択して[フォルダーの選択]→写真とペアのマスクが出力されます。
Reality Capture右上の[閉じる]ボタンでプロジェクトを閉じます。プロジェクトは仮に「A面」として保存しておきますが、あとはこのプロジェクトは使用しません。
1.7 B面のマスク出力
新しいプロジェクトで1.1~1.6を繰り返しB面についてもマスクを作成します。
2. A,B面を統合したモデルの作成
2.1 写真の読み込みとコントロールポイントの設定
マスクを作成した各面の写真を読み込みますが、片面にだけ座標値を設定するために、片面ずつ作業を進めます。
[フォルダを追加]→「A面」のフォルダを選択→[開く]
[アライメント]→[Detcct Markers(マーカーを検出)]
[マーカー検出ツール]→[マーカータイプ]:「丸形,リング,12bit」→[検出]
[アライメント]→[インポート]→[グランドコントロール]→CSVファイルを選択して[開く]→[OK]
[フォルダを追加]→「B面」のフォルダを選択→[フォルダーの選択]
2.2 アライメント
[アライメント]→[レジストレーション]→[アライメント]
2.3 モデルの計算
[MESH MODEL]→[Nomal Detail]でメッシュを構築します。
3. 地平面、再構築領域の設定
3.1 地平面の仮設定
[SCENE 3D]→[TOOLS]→[Set Ground Plane]
おおよそ遺物の下にグリッド面が来るように調整します。
3.2 再構築領域の設定とエクスポート
ここで設定する再構築領域の向きが、オルソ画像や断面の基準となります。
[SCENE 3D]→[TOOLS]→[Set Reconstruction Region]
遺物の軸線に合わせて再構築領域を回転します。
調整が終わったら、[SCENE 3D]→[TOOLS]→[Export]→[Reconstruction Region]で再構築領域をエクスポートしておきます。
3.3 地平面の設定
[SCENE 3D]→[TOOLS]→[Set Ground Plane]→[Set Ground by Reconstruction Region]で微調整した再構築領域に地平面を合わせます。
4. テクスチャの設定とオルソ画像の作成
4.1 テクスチャの設定
[MESH MODEL]→[Texture]でテクスチャを設定します。
テクスチャ設定後に再構築領域が調整前に戻る場合があります。
その時は[MESH MODEL]→[Import]→[Reconstruction Region]で3.2で出力したファイルをインポートすると調整後の再構築領域が読み込まれます。
4.2 オルソ画像の作成と書き出し
[SCENE 3D]→[TOOLS]→[Mesh Model]→[Ortho Projection]で出力したい面の左上をクリックします。
[オルソ投影ツール]
[レンダリング方法]:テクスチャモデルからオルソ画像を作成
[オルソのピクセルサイズ]:0.00001(適切な解像度となるように桁数を調整)
→[レンダリング]
[ワークフロー]→[Export]→[Color Orthographics Projection]→[OK]でオルソ画像を書き出します。
4.3 縮尺の調整
書き出したオルソ画像をPhotoshopで開きます。
[イメージ]→[画像解像度]
4.2で1ピクセル0.00001m(0.01mm)で書き出しているので、寸法のピクセル数を100で割った数を、幅または高さ(mm)にすると原寸になります。
必要な面で4.2〜4.3を繰り返します。
4.4 テクスチャが必要ない場合
テクスチャがない状態のオルソ画像を書き出す場合は、4.1でテクスチャを作成する前にオルソ画像を書き出すか、再度モデルの計算を実行してテクスチャのないモデルを作成します。
3.2で保存した再構築領域を読み込んで、テクスチャがあるモデルと同じサイズでオルソ画像を書き出せるようにします。
5. 断面図の作成
5.1 断面の数、位置の設定
[SCENE 3D]→[TOOLS]→[Cross Sections Tool]
横断面の場合、上面をクリックします。
[モデル断面の作成]で[断面間の距離]を設定します。
2cm間隔で断面を作成したい場合は「0.02」を入力すると、自動で遺物の高さに応じた断面数が設定されます。(例では「5」)
[断面図の作成]をクリックすると、2cm間隔の断面が作成されます。
遺物の中心など任意の位置で断面を作成したい場合は、[断面間の距離]に遺物全長のおよそ半分の数値を入力した後、数値を微調整します。
5.2 断面図の書き出し
[ワークフロー]→[Export]→[DXF形式]→[OK]で断面図を書き出します。
5.3 DXFファイルを開く
書き出したDXFファイルをIllustratorで開きます。
「1単位=1000ミリメートル」→[OK]
6. オルソ画像と断面図の配置
6.1 オルソ画像の配置と断面の位置確認
4.3で縮尺を調整したオルソ画像をIllustratorで配置します。
断面の位置は、[断面間の距離]で設定した数値を画像の上端から計測します。
断面は5.1で表示した断面図と比較しながら向きを確認します。