Mesh Editing Workflow

Motivation

Captured scenes may contain complex structures. Such instances include large reflective or transparent surfaces (e.g. glass facades), urban canyons, objects with intricate geometry (e.g. suspended bridges). High quality input data are of utmost importance, yet cannot always guarantee the absence of incorrect or incomplete surface reconstruction during the meshing process.

The Mesh editing workflow set out below can be used to edit defects and achieve optimal results. Here are some examples of how the Mesh results can be improved through editing:

Textured Mesh original / edited results | Data courtesy: Bluesky, Aerometrex, AVT

Mesh editing is considered an exceptional intervention, for eliminating severe isolated artifacts or for meeting high quality requirements in selected areas of interest. It is not supposed to be used for mass-scale manual modelling. Overall poor quality results may indicate a systematic problem in the input data or the way in which they have been used in the software. If this is the case, the problems should be addressed at their root cause and not at the stage of the Mesh results.

To verify your results with us, feel free to approach us at support@nframes.com.

Tools in the SURE portfolio facilitate the workflow of editing Mesh sections, reapplying texture and integrating the edited Mesh back into the overall results.

Workflow

Depicted in the diagram below are the components of the workflow and the tools involved in the respective steps.

Mesh editing workflow

Defects in the Mesh should be indicated with polygons in a shapefile and exported as Edit Units in Local OBJ format.

The actual editing of the Mesh geometry must be performed in a third party tool of the user's choice. Some of these tools are free to use under special licensing schemes. They all support various surface editing operations. Examples include: Meshmixer, Open Flipper, MeshLab, Blender, etc.

After editing, the Edit Units undergo retexturing and then are integrated into a standard textured (LOD) Mesh. The result is then ready for further use (e.g. conversion to supported formats, customer delivery, reperform Mesh Editing, if needed, etc.).

Step-by-step guide

To undertake the following steps a complete SURE Project is required. If some files/folders have been deleted from the project, this workflow may not be possible.

Screenshots / gifs data courtesy: Hexagon

Quality Inspection and Indication of Artifacts

During quality inspection of the Mesh result, artifacts and defects requiring editing are marked using 2D or 3D polygons in shapefile format.

 Digitizing polygons
  • Each polygon should encompass the entire artifact(s).

    • Recommendation: Exact polygons are not required and we recommend drawing them around the artifacts to provide enough context at the editing stage.

  • The 2D positions of the polygons vertices are relevant. Elevation (z) does not matter.

  • The shapefile should be in the same coordinate system as the SURE Project.

It is recommended to use the textured Mesh as background for digitizing the polygons. Example of tools for drawing polygons on a textured Mesh are ArcGIS Pro, SURE Editor, etc.

Polygon encompassing the artifact on the textured Mesh

Creating Edit Units

The polygon(s) indicate the position of the Edit Units, which should be extracted with the MeshConverter.exe command line application.

 Generating the Edit Units

Example command, as called from the SURE Project directory:

MeshConverter.exe --output My_Edits ^
--mesh Results/Mesh/osgb/Mesh.osgb ^
--area Internal/Control_Files/controlArea.txt ^
--edit-polygons path/to/artifacts_shapefile.shp ^
--mesh-formats local_obj ^
--mesh-texture-formats jpg

Elements of an Edit Unit:

  • Mesh in Local OBJ format, containing all the Mesh tiles that overlap with a polygon indicating a defect.

  • A shapefile with the corresponding polygon.

  • Edit Units are separated into their own sub-directories. These are all collected in the output folder generated from the MeshConverter.exe command.

Editing

The geometry of the Local OBJ files generated in the previous step is to be modified and/or repaired in a 3rd party software. Any alteration of the surface geometry should be, as much as possible, consistent with the content captured in the input images. This will ensure a natural and accurate retexturing of the Mesh.

 Working on the Edit Units
  • The Local OBJ files are imported into a third party tool to repair the geometry of the Mesh.

  • Edits must be saved in place or the original file overwritten. Apart from the content of the Local OBJ file itself, it is important that the structure of each Edit Unit folder is preserved.

    • Recommendation: Make a backup copy of the initially exported Edit Units, to easily restore original state in case of errors.

  • Editing is done per Edit Unit individually. Each Unit constitutes a separate work package. This part involves certain manual effort. However, the task can be executed in parallel by multiple operators, each one working on their own Edit Unit(s).

Modifying the surface geometry of the Edit Unit in

Retexturing

Texturing is only applied to the Edit Units and each Unit is then integrated back into the overall textured Mesh.

A custom version of Mesh Texturing is carried out using the ModuleMeshTexturing.exe command line application. The Module reads the original Mesh Untextured data and the corrected Edit Units. The output is a generated copy of the Textured Mesh, including the repaired geometry and updated LOD structure.

 Running Retexturing

Example command, as called from the SURE Project directory:

ModuleMeshTexturing.exe --output Edited_Retextured_Mesh ^
--mesh Internal/Lists/mesh_untextured_list.txt ^
--mesh-type Mesh ^
--edit-units My_Edits/edit_units
  • Tip: the option --texture-edits-only generates a subset of the Textured Mesh covering only the edited tiles. This is useful to quickly validate the changes in the Mesh geometry and texture.

  • Recommendation: specify separate --output for the retextured Mesh. Do not over-write the original textured Mesh result.

Original textured Mesh / Edited retextured Mesh

Results

The result is a complete OSGB textured Mesh that is structurally ready for converting to other supported formats and for customer delivery (e.g. I3S, 3D Tiles, OBJ).

 Iterate with further Mesh Editing rounds

The newly retextured Mesh can be used as a base for repeating the Mesh Editing workflow (e.g. to iterate with editing operations until the results are satisfactory).

Note that the --output directory of ModuleMeshTexturing.exe will contain an updated version of Internal/Mesh_Untextured, which should be used as input for a potential second round of Mesh Editing and retexturing.

See also

2.5D Tool for custom workflows

Use 3D Shapefiles to edit DSM, True Ortho and DSM Meshes in the SURE Editor