Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

24_inspect_photos_button.pngImage Added ✅ When is a job ready?

When a job status transitions from PREPARING to READYjob’s status is DO SOLVE, the Inspect Photos Images button will be made available - taking you to the directory of the exr files (these are to be used by photogrammetry).

The status bar at the bottom of the main window will also indicate that the selected job is ready for Photogrammetry once the preparation is complete.

Screenshot 2024-05-17 at 23.08.17.pngImage Removed

📐 Begin

open the photogrammetry images when clicked. The images in this directory must be used for photogrammetry for Marso to work correctly, however they can be adjusted as long as the name, shape, and orientation of each image is unaffected.

24_inspect_photos_button.pngImage Added


📐 Run your Photogrammetry

You can now proceed with your normal photogrammetry reconstruction workflow. You must use the exror jpg files created in the previous step.

We recommend using either: currently support Agisoft Metashape Pro or Reality Capture as your photogrammetry application.

Warning

Marso will break when photogrammetry uses other image files; e.g camera jpeg or manually made

Panel
panelIconId1f3af
panelIcon:dart:
panelIconText🎯
bgColor#EAE6FF

We plan to offer ‘jpeg’ and ‘png’ export from Marso in future builds

You can freely edit the contents of the exr files, e.g. changing brightness and contrast, to improve the reconstruction, so long as the resolution and the file name are kept the same.

📝  Checklist

  1. 3D Mesh and camera solve
    It is important to get a good solve of the cameras within the samescene, poorly solved cameras can lead to artifacts in the material measurement later on. We recommend attempting to re-align any bad camera solves or deleting removing those cameras from the 3D solve all together.

Note

There is a polygon limit dertemined by the amound of VRAM available on your system, exceedingly largse meshed can crash MarsoA high number of polygons in the mesh may cause Marso to exceed the available VRAM on your system. If this occurs, simplify the mesh and reattempt the process. Marso can does produce high highly detailed normals even on medium to low poly meshes. See Examples

When drawing a bounding box around your subject for mesh reconstruction, it is important to also include any stands or supports (if not using the mask mesh feature). This additional geometry will ensure that pixels are correctly traced onto this geometry and not onto the subject itself. Using one of the lower cameras (as shown below) can be a helpful reference to see how much geometry is required to avoid unwanted pixels being projected onto the subject.

Info
Bounding_Box_Good0013.pngImage AddedBounding_Box_Good_POV0013.pngImage Added
Warning
Bounding_Box_Bad0013.pngImage AddedBounding_Box_Bad_POV0013.pngImage Added

Info

Using a Mask Mesh will allow you to reconstruct just the subject, whilst avoiding occlusion issues by providing a Subject-Mesh & Mask-Mesh

RB.pngImage Added
  1. UV Unwrapped Mesh
    The 3D mesh that Marso will create textures for will require a UV unwrap. By default, a 3D mesh within a photogrammetry application will not have a UV, so you must first run the texturing process within the application or UV unwrap manually.

Expand
titleAgisoft Metashape | Standard & Pro

To write . . .

Expand
titleReality Capture

To write . . .

Expand
titleManual UV Unwrap or Retopology
To write . . .
  1. (The mesh must have a single unwrap not multiple)

Info

For optimal UVs we recommend generating the texture at the same resolution or lower resolution than what you wish to output from Marso.

Example: A RealityCapture texture of 1024px can be used to create a Marso texture of 1024 > 8192px , but may create artifacts if Marso attempts to create a 512px texture.

  1. Scale the Scene
    It is essential that the 3D scene is correctly scaled, we suggest using makers markers to automatically set the scale of a scene within Reality Capture of RealityCapture or Agisoft Metashape Pro.

Expand
titleAgisoft Metashape | Standard

To write . . .

Agisoft Metashape Standard does not offer a way to automatically set scale. For best practice, we recommend using Blender (a free 3D application) to do this by hand.

Info

You will require an Alembic file that includes cameras & a UV unwrapped mesh, as listed in steps 2 & 4.

Open a new ‘General’ blender scene and Delete all of the Default objects, you scene should look like this:

Image Added

To Import an Alembic file : File -> Import -> Alembic

Image AddedImage Added

After importing, the mesh and cameras should be in your scene. Create an empty object, this will be used to apply the same scale to the mesh and all the cameras:

Image Added

Select everything except the ‘Empty’:

Image Added

Then Shift+Drag the selected items into the empty:

Image Added

It should look like this:

Image Added

Using the measure too image-20240520-221527.pngImage Added (Shift+Spacebar, M), hold Ctrl to snap the tool to two points in the mesh, like so:

Image Added

Then compare this distance to the real life distance. If you divide this distance by the real life distance you end up with a scale factor. 

On the object properties menu for the ‘Empty’, insert the computed scale factor into the three scale input boxes:

Image Added

Use the measure tool again to confirm the distance is now correct.

Now select all cameras and the mesh, press Alt+P to bring up the Clear Parent dialog, and select Clear and Keep Transformation:

Image Added

Delete the ‘Empty’ from the scene, your outline should only have the cameras and mesh now:

Image Added

Now export the scaled alembic:

Image AddedImage Added

This scaled alembic is the one you want to select during the run dialog in Marso.

Expand
titleAgisoft Metashape | Pro

This can be done quite easily by using markers and setting a scale bar.

Expand
titleReality Capture

To write . . . This can be done quite easily by using markers and setting a constraint, then updating the alignment to apply the constraint.

  1. Export Alembic Mesh & ST Maps
    Export an Alembic abc file with cameras & normals enabled, also export an ST Map as an exr which will be used to account for lens distortion. It is important to use an ST map created within the photogrammetry application rather than

Info

It is important to use an ST map that has been created within the photogrammetry application you have used to solve the 3D scene to avoid any discrepancies.

Expand
titleAgisoft Metashape | Standard & Pro

Exporting an ST Map

In Agisoft Metashapes, by default, all cameras should solve into a single group resulting in them all sharing the same lens distortion profile. Go to :
Tools -> Camera Calibration

image-20240523-093546.pngImage Added

You should see a single-camera group on the left pane.

image-20240523-093711.pngImage Added
Warning

If you have multiple camera groups within your scene with different camera solves,
Marso will not work.

Switch from the Initial tab to the Adjusted tab, and press save.

image-20240523-093818.pngImage Added

Set the Save as Type to be : ‘STMAP (*.tif *.exr)' . Type in a meaningful filename such as ‘Lens_Profile’. By default, the extension of the file will be ‘.tif' , ensure that this is changed to ‘.exr’.To write . . .

image-20240523-094248.pngImage Added

Exporting an Alembic

To export the alembic :
File -> Export -> Model
Give the file a meaningful name and press save.

image-20240523-094448.pngImage Added

After clicking save, an Export Model window will appear. You must enable :

(tick) Vertex Normals
(tick) Cameras

image-20240523-095400.pngImage Added

To write .
Expand
titleReality Capture

To write . . .

(lightbulb) Tips and Tricks

For best results, we recommend using Reality Capture (which is now free!) or Agisoft Metashape Professional. Agisoft Metashape Standard will work but does require manually scaling the 3D data which can lead to human error.

Reality Capture Workflow

To write . . .

Agisoft Metashape | Professional

Exporting ST Maps:

Go to Exports and then to Camera Alignment, select ST Maps and use these settings (or our export config):

image-20240605-132132.pngImage Added

Exporting Alembic

Go to Exports and then to Dense Mesh Model and Textures, select Alembic (*.abc) and use these settings (or our export config):

unnamed-20240605-131746.pngImage Added

Panel
panelIconIdatlassian-light_bulb_on
panelIcon:light_bulb_on:
panelIconText:light_bulb_on:
bgColor#FFFAE6

Optional UV Editing
Want to do your own UV unwrap?

You are welcome to UV unwrap the mesh yourself in an application of your choosing before importing it into Marso.

Photogrammetry → .abc → UV Unwrap → .abc → Marso

Just be sure to adhere to the following:

  • You must export this new mesh as an alembic (.abc) file, with cameras & normals (and triangles, no qauds).

  • Only do a single UV Page.

  • Ensure the scale or units of the Object & Scene does not change upon export.

  • Ensure that the cameras are exported within the alembic (.abc) file and have not been renamed or re-ordered.