Changing default values in AliceVision Meshroom

I previously gave you a little script that can run AliceVision MeshRoom from the command line, speeding things up when you have a lot of photos.
However, I rely on some of the parameters being changed, specifically I like to use guided matching and LCSM texturing (because it gives me more robust SFM reconstructions, and a single texture file, respectively).
So, working on the advice of Yann on the google group, here’s how to set-up MeshRoom so it uses those values when run from the command line:

First up, download the source code from here: https://github.com/alicevision/meshroom/archive/v2018.1.0.zip

Open that zip folder and drag “meshroom-2018.1.0\meshroom” to the desktop.
Go to your extracted files, and navigate to \meshroom\nodes\aliceVision
In here are a bunch of python files for each node. I’m going to open ‘FeatureMatching.py’, search for ‘guided’ and get to lines 119-123. Change value=False to value=True:
From this
mr1.png
To this:
mr2.png

Then save, and open up Texturing.py, where we’re going to change from Basic to LSCM at line 66…
From this:
mr3.png
To this:
mr4.png
Save the file.

 

Now go to your MeshRoom install (for me, D:\Programs\Meshroom) and delete \lib\meshroom (just the meshroom folder inside lib).
Move your new ‘meshroom’ folder from your desktop into ‘lib’

Done. Now when you run the script, it’ll use guided matching and LCSM. As an added bonus, when you run the GUI version of MeshRoom, you’ll now have guided matching and LCSM unwrapping set as default, so you can just load images and press start.
You can [presumably] change other variables to different defaults in this manner.

7 thoughts on “Changing default values in AliceVision Meshroom

Add yours

  1. Hey Peter,
    I’m currently working on the meshroom_photogrammetry… If I’m not wrong you can definitely pass through my issue.
    I have to steps to focus on in meshroom
    step 1: I need to generate .obj file i.e., running all the nodes upto the meshFiltering
    step 2: Then take the .obj file to MAYA and then make some changes and then resubmit the mesh to meshroom and continue the process of texture projection onto my edited mesh

    step 1 is cleared for me, But when i’m resubmitting that generated mesh in step 2, I’m getting an issue like Unable to load the mesh

    Can you please help me with the issue?

    1. I’ve also been having issues with this workflow, I don’t think meshroom likes getting objs that don’t match the metadata (e.g. number of verticies). My workflow is to go all the way in meshroom, then edit the mesh in maya and then re-uvmap and transfer textures from the original.

      1. I have tried the same in AGISoft, But with some manual steps the same steps are working fine in it… And I’m now working with the meshroom to solve it… But thanks for your reply

  2. Dear pfalkingham,

    I tried to follow your steps to run meshroom 2019.2.0 in google collab, (which works with the default settings,) but I couldn’t access the files you mention. am I right that for 2019.2.0. they only supply with the compiled python scripts and we cannot follow your steps ? or am I missing something very silly?
    Thanks

    1. Yeah, I think they changed it in 2019.1 so that the command line can be run more simply, but I stopped doing that so I don’t think I have up to date instructions, sorry. Will look into it in the future and do a post.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Website Built with WordPress.com.

Up ↑

%d bloggers like this: