3D Reconstruction Software
Find a file
Candice Bentéjac ac592f4cb2 [ui] ImageGallery: Re-parse intrinsics as soon as they are updated
When setting a temporary CameraInit node, the intrinsics of the actual
CameraInit node are used, meaning that the temporary CameraInit has all
the intrinsics information we need to fill the intrinsics table.

However, when a temporary CameraInit node is set, the parsing of the
intrinsics and the model update are not performed. If the active CameraInit
group does not change, this is not directly visible as the table keeps on
displaying the intrinsics from the actual CameraInit node.

If the active group changes, we attempt to fill the table with the
intrinsics of the temporary CameraInit node, which is being re-set for the
active group. The intrinsics are thus not available, leading to an empty
table, and the parsing is never retriggered once the temporary CameraInit
has been fully set.

Instead of re-parsing the intrinsics when the CameraInitIndex is updated,
the parsing is triggered when the intrinsics are updated, since this
ensures they will be available and its covers all the cases we could
be facing.
2023-03-15 10:00:08 +01:00
.github [ci] Remove support of Python 2.7 2022-12-05 17:16:19 +01:00
bin Ignore "Publish" nodes when loading a template unless specified otherwise 2023-02-27 18:34:51 +01:00
docker [docker] rename var 2023-02-01 13:01:49 +00:00
docs Remove workarounds and backports for Python 2 support 2022-12-05 17:16:21 +01:00
meshroom [ui] ImageGallery: Re-parse intrinsics as soon as they are updated 2023-03-15 10:00:08 +01:00
tests [tests] Add checks on internal attributes in the templatesVersion test 2023-02-15 08:36:14 +00:00
.gitignore [PanoramaViewer] temporary change in gitignore 2021-09-14 18:06:50 +02:00
.readthedocs.yaml [docs] commenting custom extensions 2022-10-21 14:10:00 +02:00
.travis.yml Travis CI: Update environment, remove Python 2.7 & add 3.8 2020-04-29 22:55:23 +02:00
appveyor.yml AppVeyor: Update build environment and save artifacts (#875) 2020-07-16 11:32:28 +02:00
CHANGES.md Release notes for 2021.1.0 2021-02-26 00:52:50 +01:00
CMakeLists.txt remove references to qtOIIO plugin in build and install process 2022-12-13 12:59:31 +01:00
CODE_OF_CONDUCT.md
CONTRIBUTING.md
COPYING.md remove references to qtOIIO plugin in build and install process 2022-12-13 12:59:31 +01:00
dev_requirements.txt [install] use an older version of cx_freeze 2020-10-09 00:27:06 +02:00
INSTALL.md Update QtAliceVision section in INSTALL.md 2022-12-13 12:59:31 +01:00
LICENSE-MPL2.md
README.md [doc] fix author in bibtex 2021-11-17 19:08:13 +01:00
requirements.txt update psutil 5.6.3 to 5.6.7 2022-12-12 15:17:36 +08:00
setup.py [setup] add all scripts in bin/ as executables 2021-05-16 15:45:07 +01:00
setupInitScriptUnix.py Fix incompatibility with recent cx_Freeze 2021-07-18 12:09:00 +03:00
start.bat [launch] 2022-04-27 14:26:40 +02:00
start.sh [doc] how to use Meshroom without building AliceVision (#1487) 2021-08-30 19:41:52 +02:00

Meshroom - 3D Reconstruction Software

CII Best Practices

Meshroom is a free, open-source 3D Reconstruction Software based on the AliceVision Photogrammetric Computer Vision framework.

Learn more details about the pipeline on AliceVision website.

See results of the pipeline on sketchfab.

Continuous integration:

  • Windows: Build status
  • Linux: Build Status

Photogrammetry

Photogrammetry is the science of making measurements from photographs. It infers the geometry of a scene from a set of unordered photographs or videos. Photography is the projection of a 3D scene onto a 2D plane, losing depth information. The goal of photogrammetry is to reverse this process.

See the presentation of the pipeline steps.

Manual

https://meshroom-manual.readthedocs.io

Tutorials

Overall presentation of the Meshroom software.

Detailed tutorial with a focus on the features of the 2019.1 release.

Overall presentation of the photogrammetry practice with Meshroom.

Overall presentation of the protogrammetry practice with Meshroom and detailed presentation how to do the retolopogy in Blender.

Presentation of the Meshroom software with a focus on using it for Match Moving.

License

The project is released under MPLv2, see COPYING.md.

Citation

If you use this project for a publication, please cite the paper:

@inproceedings{alicevision2021,
  title={{A}liceVision {M}eshroom: An open-source {3D} reconstruction pipeline},
  author={Carsten Griwodz and Simone Gasparini and Lilian Calvet and Pierre Gurdjos and Fabien Castan and Benoit Maujean and Gregoire De Lillo and Yann Lanthony},
  booktitle={Proceedings of the 12th ACM Multimedia Systems Conference - {MMSys '21}},
  doi = {10.1145/3458305.3478443},
  publisher = {ACM Press},
  year = {2021}
}

Get the project

You can download pre-compiled binaries for the latest release.

If you want to build it yourself, see INSTALL.md to setup the project and pre-requisites.

Get the source code and install runtime requirements:

git clone --recursive git://github.com/alicevision/meshroom
cd meshroom
pip install -r requirements.txt

Start Meshroom

You need to have AliceVision installation in your PATH (and LD_LIBRARY_PATH on Linux/macOS).

  • Launch the User Interface
# Windows
set PYTHONPATH=%CD% && python meshroom/ui
# Linux/macOS
PYTHONPATH=$PWD python meshroom/ui

On Ubuntu, you may have conflicts between native drivers and mesa drivers. In that case, you need to force usage of native drivers by adding them to the LD_LIBRARY_PATH: LD_LIBRARY_PATH=/usr/lib/nvidia-340 PYTHONPATH=$PWD python meshroom/ui You may need to adjust the folder /usr/lib/nvidia-340 with the correct driver version.

  • Launch a 3D reconstruction in command line
# Windows: set PYTHONPATH=%CD% &&
# Linux/macOS: PYTHONPATH=$PWD
python bin/meshroom_batch --input INPUT_IMAGES_FOLDER --output OUTPUT_FOLDER

Start Meshroom without building AliceVision

To use Meshroom (ui) without building AliceVision

  • Download a release
  • Checkout corresponding Meshroom (ui) version/tag to avoid versions incompatibilities
  • LD_LIBRARY_PATH=~/foo/Meshroom-2021.1.0/aliceVision/lib/ PATH=$PATH:~/foo/Meshroom-2021.1.0/aliceVision/bin/ PYTHONPATH=$PWD python3 meshroom/ui

Start and Debug Meshroom in an IDE

PyCharm Community is free IDE which can be used. To start and debug a project with that IDE, right-click on Meshroom/ui/__main__.py > Debug, then Edit Configuration, in Environment variables :

  • If you want to use aliceVision built by yourself add: PATH=$PATH:/foo/build/Linux-x86_64/
  • If you want to use aliceVision release add: LD_LIBRARY_PATH=/foo/Meshroom-2021.1.0/aliceVision/lib/;PATH=$PATH:/foo/Meshroom-2021.1.0/aliceVision/bin/ (Make sure that you are on the branch matching the right version)

image

FAQ

See the Meshroom wiki for more information.

Contact

Use the public mailing-list to ask questions or request features. It is also a good place for informal discussions like sharing results, interesting related technologies or publications:

alicevision@googlegroups.com http://groups.google.com/group/alicevision

You can also contact the core team privately on: alicevision-team@googlegroups.com.