to the default pipeline and do the following operations:

  • Right Click

    on DepthMap \Rightarrow

    Duplicate Nodes from Here

    ( “

    \Rightarrow

    ” icon) to create a branch in the graph and keep the previous result available.

    • alternative: Alt + Click on the node
  • Select and remove (Right Click \Rightarrow Remove Node or Del) DepthMap and DepthMapFilter
  • Connect PrepareDenseScene.input \Rightarrow Meshing.input
  • Connect PrepareDenseScene.output \Rightarrow Texturing.inputImages

image8

Draft Meshing from StructureFromMotion setup

With this shortcut, the Meshing directly uses the 3D points from the SfM, which bypass the computationally intensive steps and dramatically speed up the computation of the end of the pipeline. This also provides a solution to get a draft mesh without an Nvidia GPU.

The downside is that this technique will only work on highly textured datasets that can produce enough points in the sparse point cloud. In all cases, it won’t reach the level of quality and precision of the default pipeline, but it can be very useful to produce a preview during the acquisition or to get the 3D measurements before photo-modeling.

image13

Buddha – Draft Meshing from SfM by AliceVision on Sketchfab

Step 8: Working Iteratively

We will now sum up by explaining how what we have learnt so far can be used to work iteratively and get the best results out of your datasets.

1. Computing and analyzing Structure-from-Motion first

This is the best way to check if the reconstruction is likely to be successful before starting the rest of the process (Right click > Compute on the StructureFromMotion node). The number of reconstructed cameras and the aspect/density of the sparse point cloud are good indicators for that. Several strategies can help improve results at this early stage of the pipeline:

  • Extract more key points from input images by setting “Describer Preset” to “high” on FeatureExtraction node (or even “ultra” for small datasets).
  • Extract multiple types of key points by checking “akaze” in “Describer Type” on FeatureExtraction, FeatureMatching and StructureFromMotion nodes.

2. Using draft meshing from SfM to adjust parameters

Meshing the SfM output can also help to configure the parameters of the standard meshing process, by providing a fast preview of the dense reconstruction. Let’s look at this example:

image9

With the default parameters, we can preview from Meshing2 that the reconstructed area includes some parts of the environment that we don’t really want. By increasing the “Min Observations Angle For SfM Space Estimation” parameter, we are excluding points that are not supported by a strong angle constraint (Meshing3). This results in a narrower area without background elements at the end of the process (Meshing4 vs default Meshing).

\3. Experiment with parameters, create variants and compare results

One of the main advantages of the nodal system is the ability to create variations in the pipeline and compare them. Instead of changing a parameter on a node that has already been computed and invalidate it, we can duplicate it (or the whole branch), work on this copy and compare the variations to keep the best version.

In addition to what we have already covered in this tutorial, the most useful parameters to drive precision and performance for each step are detailed on the Meshroom Wiki.

Step 9: Upload results on Sketchfab

Results can be uploaded using the Sketchfab web interface, but Meshroom also provides an export tool to Sketchfab.

Our workflow mainly consists of these steps:

  • Decimate the mesh within Meshroom to reduce the number of polygons
  • Clean up this mesh in an external software, if required (to remove background elements for example)
  • Retexture the cleaned up mesh
  • Upload model and textures to Sketchfab
  • To directly publish your model from Meshroom, create a new SketchfabUpload node and connect it to the Texturing node.

CONTRIBUTING

Alice Vision relies on a friendly and community-driven effort to create an open source photogrammetry solution.

The project strives to provide a pleasant environment for everybody and tries to be as non-hierarchical as possible. Every contributor is considered as a member of the team, regardless if they are a newcomer or a long time member. Nobody has special rights or prerogatives.

The contribution workflow relies on Github Pull Request. We recommend to discuss new features before starting the development, to ensure that development is efficient for everybody and minimize the review burden.

In order to foster a friendly and cooperative atmosphere where technical collaboration can flourish, we expect all members of the community to be

  • courteous, polite and respectful in their treatment of others
  • helpful and constructive in suggestions and criticism
  • stay on topic for the communication medium that is being used
  • be tolerant of differences in opinion and mistakes that inevitably get made by everyone.

 

Choose Your Plan

  • Free Collaboration

    0₹
    Register yourself for Free
    Free Plan
    • For Beginners
    • MESHROOM ID
    • Participation Opportunity
    • Least Monetization chances
  • Best Value

    Student Membership

    3500₹
    Educate yourself beyond Academics
    Valid for one year
    • Get a guide for design topic
    • Material study sessions
    • Special courses
    • Guide to professional entrepreneurship
    • Software courses
    • Certification awards
    • Entry to Competitions
    • Offers and Special discounts
    • Referred to employers
    • Workshops
  • Prime Membership

    6000₹
    Suitable for Professionals
    Valid for one year
    • Branding
    • MESHROOM ID
    • Entry to events and Workshops
    • Monetization
    • Get Workforce
    • Offers and rewards
    • Profile Creation
    • Get Clientage
    • Passive income through Passion
    • Live Socially within the community
    • Awards and Honours