AliceVision: the C++ photogrammetry framework behind Meshroom
3D Computer Vision Framework
At a glance
- What is it?
- AliceVision is the photogrammetric computer vision framework that Meshroom drives from a Qt interface or a command line. This article covers what it reconstructs, how to build it, and when a different tool fits better.
- Who is it for?
- Adopt AliceVision when you need a C++ framework with a documented pipeline and a Python engine to automate reconstructions, and when you are willing to build from source or run the Meshroom binary. Do not adopt it if you expect a single self-contained binary with no dependency management, or if you need a documented rollback path for a failed reconstruction.
- Can I use it commercially?
- Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
- Is it still maintained?
- Yes. The repository received new commits within the last day.
- What is it written in?
- Mainly C++, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 16, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
What AliceVision reconstructs, and for whom
AliceVision is a photogrammetric computer vision framework. The README describes photogrammetry as the science of making measurements from photographs, and states that the goal is to infer the geometry of a scene from a set of unordered photographs or videos. A photograph is a projection of a 3D scene onto a 2D plane, so depth information is lost; the pipeline reverses that projection. The topics listed for the repository cover structure-from-motion, multiview stereo, camera tracking, panorama stitching and HDRI images, which maps to the outputs a reconstruction produces: camera poses, a sparse point cloud, a dense mesh, and derived textures or panoramas.
The audience is narrower than the topic list suggests. This is a C++ framework, and the README frames it as a software basis with algorithms that can be tested, analyzed and reused. That wording points at researchers, pipeline engineers and studios that need to embed reconstruction into a larger toolchain rather than click through a wizard. The README explicitly directs people who want to launch reconstructions to Meshroom, a separate project that provides a user interface, a command line, and a Python engine for custom automation. If you only want a finished 3D model from a folder of photos, AliceVision is the layer you would not normally touch directly.
The pipeline and how Meshroom drives it
The architecture separates the algorithm library from the orchestration layer. AliceVision holds the reconstruction and camera tracking algorithms in C++. Meshroom sits on top and exposes them as pipeline steps. According to the README, Meshroom provides a user interface to create 3D reconstructions, a command line to launch all the steps of the pipeline, and a Python layer for custom scripts and automation. The README also notes that the Meshroom user interface relies on Qt and PySide, while the engine and command line have no dependency on Qt. That split matters on headless machines: the engine can run without a graphical stack, and only the interface pulls in Qt.
The README points to a presentation of the pipeline steps on the AliceVision website rather than listing them, so the exact node graph is not documented in the repository README itself. What the README does confirm is the data flow: unordered photographs or video frames go in, and the framework infers scene geometry and camera positions. The repository layout supports the same reading. There is a src/ directory for the C++ code, a meshroom/ directory in the same repository, a docker/ directory, and a vcpkg.json plus vcpkg-configuration.json for dependency resolution. The presence of a docker/ directory and a vcpkg manifest is the practical consequence of building a C++ framework with many third-party dependencies.
One detail worth flagging: the repository contains a meshroom/ directory even though Meshroom is also published as its own project. The README treats Meshroom as the way to launch the pipeline, and the citation entry is titled around both names. If you are tracing which code lives where, check both repositories before filing an issue.
Building AliceVision from source
The README gives one command for getting the source, and it is recursive, which matters because the build depends on submodules:
git clone --recursive git://github.com/alicevision/AliceVisionThe README then points to INSTALL.md to build the project, and there is a separate INSTALL_macOS.md for macOS. The repository also carries a vcpkg.json and a vcpkg-configuration.json, which indicates dependencies are resolved through vcpkg, and a CMakeLists.txt at the top level. The README does not restate the build commands, so INSTALL.md is the file to read before you run anything. Expect a C++ build with third-party dependencies rather than a single package install.
For a first real use, the README's own instruction is to launch the pipeline through Meshroom rather than through AliceVision directly. The Meshroom project provides a command line that runs all the steps. The README does not give the command-line invocation or its flags, so take those from the Meshroom documentation rather than guessing at them here. What you should see after a run is the set of pipeline outputs: camera poses and reconstructed geometry derived from the input images.
If you prefer containers, the repository ships a docker/ directory. The README does not document the images inside it, so treat that directory as the starting point and read what is in it before assuming a ready-made image name or tag.
Where AliceVision is the wrong tool
The clearest limitation is the one the README creates by omission. AliceVision is a library and framework; the README hands reconstruction launches to Meshroom. If your requirement is a single self-contained application that opens a folder of images and writes a mesh, the framework layer adds nothing and the build cost is real. The recursive clone, the CMake project, the vcpkg manifest and the platform-specific INSTALL files all describe a source build with dependency management, not a drop-in binary.
The second limitation is documentation scope. The README describes the project, the licence, the citation, the history and where to get help, but it does not document the pipeline steps, the command-line flags, or the contents of the docker/ directory. It defers those to the website, to INSTALL.md and to Meshroom. That is a normal split for a framework with a companion application, but it means a reader who lands on the AliceVision repository looking for operating instructions will not find them there.
Third, the repository README does not document a rollback or resume path for a failed reconstruction. There is no statement about checkpointing, partial reruns or recovery. If your workflow requires restarting a long reconstruction from an intermediate state, verify that behaviour against the Meshroom engine before you depend on it. Nothing in the README confirms it exists.
Finally, the licence situation needs care. The README states the project is released under MPLv2 and links COPYING.md. The repository metadata reports the licence as NOASSERTION, and the file listing shows both LICENSE-MPL2.md and LICENSE-MIT-libmv.md. That second file implies at least one component is under a different licence. Check both files for the parts you intend to redistribute.
AliceVision against COLMAP and against using Meshroom alone
COLMAP is the comparison people search for, and the difference is architectural rather than algorithmic. COLMAP is a structure-from-motion and multiview stereo tool distributed as an application with its own interface and command line. AliceVision is a framework whose README positions it as a software basis for algorithms that can be tested, analyzed and reused, with Meshroom as the application layer. If you want to run a reconstruction and get results, COLMAP's packaging story is simpler. If you want to embed reconstruction into a C++ pipeline, extend the steps, or drive the whole thing from Python through the Meshroom engine, AliceVision is built for that. The repository layout supports the claim: src/ for the framework, meshroom/ for the orchestration, pyTests/ and requirements.txt for the Python side.
The other comparison is AliceVision against Meshroom alone, which is really a question about which layer you are adopting. The README is explicit that Meshroom provides the user interface, the command line and the Python automation, while AliceVision provides the algorithms. Choosing Meshroom without AliceVision is not possible in the sense that Meshroom drives the AliceVision pipeline; choosing AliceVision without Meshroom means writing your own orchestration against the C++ library. That is a legitimate choice for a studio with an existing pipeline, and a poor one for a solo user who wants a model.
Maintenance, releases and licence cost
The repository is not archived, and the last push was on 2026-09-08, which places it within the last six months of the current date. Recent releases show a nightly build tagged 2026-06-10, v3.3.0 tagged 2025-08-19, and v3.2.0 tagged 2023-12-11. The gap between v3.2.0 and v3.3.0 is roughly twenty months, so tagged releases are infrequent even though the develop branch and the nightly channel move. If you pin to a tagged release, expect to wait for fixes; if you track develop, expect to absorb changes. The default branch is develop, which tells you where the project considers current work to live.
Upgrade cost is dominated by the build. A C++ framework with vcpkg-managed dependencies and platform-specific install documents means a version bump can change your dependency graph, not just one library file. The requirements.txt at the top level pins numpy<2 alongside pytest, which is a small but concrete signal that the Python side is sensitive to dependency versions. Budget for a rebuild and a re-run of your datasets on each upgrade rather than an in-place swap.
On licensing, the README states MPLv2 and links COPYING.md. MPLv2 is file-level copyleft: modifications to covered files carry obligations, while larger works that combine the covered files can be distributed under other terms. The presence of LICENSE-MIT-libmv.md indicates a component under MIT terms. This is not legal advice; read COPYING.md, LICENSE-MPL2.md and LICENSE-MIT-libmv.md together before redistributing a build, and note that the repository metadata reports NOASSERTION rather than a single identifier.
Editorial conclusion
Adopt AliceVision when you need a C++ framework with a documented pipeline and a Python engine to automate reconstructions, and when you are willing to build from source or run the Meshroom binary. Do not adopt it if you expect a single self-contained binary with no dependency management, or if you need a documented rollback path for a failed reconstruction. Before committing, read INSTALL.md for your platform, run one dataset through the Meshroom command line, and check the output directory for the intermediate files each step leaves behind.
Frequently asked questions
How do I install AliceVision?
The README gives the source command git clone --recursive git://github.com/alicevision/AliceVision and points to INSTALL.md to build the project, with INSTALL_macOS.md for macOS. The repository also provides a vcpkg manifest and a docker/ directory.
How do I use AliceVision?
The README directs users to launch 3D reconstructions with Meshroom, which provides a user interface, a command line for all pipeline steps, and a Python engine for custom automation. AliceVision itself is the C++ framework holding the algorithms.
What is the difference between AliceVision and Meshroom?
AliceVision is the photogrammetric computer vision framework with the reconstruction and camera tracking algorithms. Meshroom sits on top of it and supplies the Qt interface, the command line and the Python automation layer, while the Meshroom engine has no Qt dependency.
How does AliceVision compare with COLMAP?
COLMAP is distributed as a structure-from-motion and multiview stereo application, while the AliceVision README positions the project as a software basis with algorithms that can be tested, analyzed and reused, with Meshroom as the application layer. The difference is whether you adopt an application or a framework to embed.
Community notes