Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 2019.1.0 #388

Merged
merged 3 commits into from
Feb 28, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 55 additions & 3 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,59 @@
For algorithmic changes related to the photogrammetric pipeline,
please refer to [AliceVision changelog](https://github.com/alicevision/AliceVision/blob/develop/CHANGES.md).

## Release 2018.1.0

## Release 2019.1.0 (2019.02.27)

Based on [AliceVision 2.1.0](https://github.com/alicevision/AliceVision/tree/v2.1.0).

Release Notes Summary:
- 3D Viewer: Load and compare multiple assets with cache mechanism and improved navigation
- Display camera intrinsic information extracted from metadata analysis
- Easier access to a more complete sensor database with a more reliable camera model matching algorithm.
- Attribute Editor: Hide advanced/experimental parameters by default to improve readability and simplify access to the most useful, high-level settings. Advanced users can still enable them to have full access to internal thresholds.
- Graph Editor: Improved set of contextual tools with `duplicate`/`remove`/`delete data` actions with `From Here` option.
- Nodes: Homogenization of inputs / outputs parameters
- Meshing: Better, faster and configurable estimation of the space to reconstruct based on the sparse point cloud (new option `estimateSpaceFromSfM`). Favors high-density areas and helps removing badly defined ones.
- Draft Meshing (no CUDA required): the result of the sparse reconstruction can now be directly meshed to get a 3D model preview without computing the depth maps.
- MeshFiltering: Now keeps all reconstructed parts by default.
- StructureFromMotion: Add support for rig of cameras
- Support for reconstruction with projected light patterns and texturing with another set of images

Full Release Notes:
- Viewer3D: New Trackball camera manipulator for improved navigation in the scene
- Viewer3D: New library system to load multiple 3D objects of the same type simultaneously, simplifying results comparisons
- Viewer3D: Add media loading overlay with BusyIndicator
- Viewer3D: Points and cameras size are now configurable via dedicated sliders.
- CameraInit: Add option to lock specific cameras intrinsics (if you have high-quality internal calibration information)
- StructureFromMotion: Triangulate points if the input scene contains valid camera poses and intrinsics without landmarks
- PrepareDenseScene: New `imagesFolders` option to override input images. This enables to use images with light patterns projected for SfM and MVS parts and do the Texturing with another set of images.
- NodeLog: Cross-platform monospace display
- Remove `CameraConnection` and `ExportUndistortedImages` nodes
- Multi-machine parallelization of `PrepareDenseScene`
- Meshing: Add option `estimateSpaceFromSfM` and observation angles check to better estimate the bounding box of the reconstruction and avoid useless reconstruction of the environment
- Console: Filter non silenced, inoffensive warnings from QML + log Qt messages via Python logging
- Command line (meshroom_photogrammetry): Add --pipeline parameter to use a pre-configured pipeline graph
- Command line (meshroom_photogrammetry): Add possibility to provide pre-calibrated intrinsics.
- Command line (meshroom_compute): Provide `meshroom_compute` executable in packaged release.
- Image Gallery: Display Camera Intrinsics initialization status with detailed explanation, edit Sensor Database dialog, advanced menu to display view UIDs
- StructureFromMotion: Expose advanced estimator parameters
- FeatureMatching: Expose advanced estimator parameters
- DepthMap: New option `exportIntermediateResults` disabled by default, so less data storage by default than before.
- DepthMap: Use multiple GPUs by default if available and add `nbGPUs` param to limit it
- Meshing: Add option `addLandmarksToTheDensePointCloud`
- SfMTransform: New option to align on one specific camera
- Graph Editor: Consistent read-only mode when computing, that can be unlocked in advanced settings
- Graph Editor: Improved Node Menu: "duplicate"/"remove"/"delete data" with "From Here" accessible on the same entry via an additional button
- Graph Editor: Confirmation popup before deleting node data
- Graph Editor: Add "Clear Pending Status" action at Graph level
- Graph Editor: Solo media in 3D viewer with Ctrl + double click on node/attribute
- Param Editor: Fix several bugs related to attributes edition
- Scene Compatibility: Improves detection of deeper compatibility issues, by adding an additional recursive (taking List/GroupAttributes children into account) exact description matching test when de-serializing a Node.

See [AliceVision 2.1.0 Release Notes](https://github.com/alicevision/AliceVision/blob/v2.1.0/CHANGES.md)
for more details about algorithmic changes.


## Release 2018.1.0 (2018.08.09)

First release of Meshroom.
Based on [AliceVision 2.0.0](https://github.com/alicevision/AliceVision/tree/v2.0.0).
Based on [AliceVision 2.0.0](https://github.com/alicevision/AliceVision/tree/v2.0.0).
23 changes: 17 additions & 6 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ LABEL maintainer="AliceVision Team [email protected]"
ENV MESHROOM_DEV=/opt/Meshroom \
MESHROOM_BUILD=/tmp/Meshroom_build \
MESHROOM_BUNDLE=/opt/Meshroom_bundle \
QT_DIR=/opt/qt/5.11.0/gcc_64 \
QT_DIR=/opt/qt/5.11.1/gcc_64 \
PATH="${PATH}:${MESHROOM_BUNDLE}"

COPY . "${MESHROOM_DEV}"
Expand Down Expand Up @@ -40,21 +40,32 @@ RUN yum install -y centos-release-scl
RUN yum install -y rh-python36

# Install Meshroom requirements and freeze bundle
RUN source scl_source enable rh-python36 && cd "${MESHROOM_DEV}" && pip install -r dev_requirements.txt -r requirements.txt && python setup.py install_exe -d "${MESHROOM_BUNDLE}"
RUN source scl_source enable rh-python36 && cd "${MESHROOM_DEV}" && pip install -r dev_requirements.txt -r requirements.txt && python setup.py install_exe -d "${MESHROOM_BUNDLE}" && \
find ${MESHROOM_BUNDLE} -name "*Qt5Web*" -delete && \
find ${MESHROOM_BUNDLE} -name "*Qt5Designer*" -delete && \
rm ${MESHROOM_BUNDLE}/lib/PySide2/libclang.so* && \
rm -rf ${MESHROOM_BUNDLE}/lib/PySide2/typesystems/ ${MESHROOM_BUNDLE}/lib/PySide2/examples/ ${MESHROOM_BUNDLE}/lib/PySide2/include/ ${MESHROOM_BUNDLE}/lib/PySide2/Qt/translations/ ${MESHROOM_BUNDLE}/lib/PySide2/Qt/resources/ && \
rm ${MESHROOM_BUNDLE}/lib/PySide2/libQt5* && \
rm ${MESHROOM_BUNDLE}/lib/PySide2/QtWeb* && \
rm ${MESHROOM_BUNDLE}/lib/PySide2/libicu* && \
rm ${MESHROOM_BUNDLE}/lib/PySide2/pyside2-lupdate ${MESHROOM_BUNDLE}/lib/PySide2/pyside2-rcc ${MESHROOM_BUNDLE}/lib/PySide2/shiboken2

# Install Qt (to build plugins)
WORKDIR /tmp/qt
RUN curl -LO http://download.qt.io/official_releases/online_installers/qt-unified-linux-x64-online.run
RUN chmod u+x qt-unified-linux-x64-online.run
RUN ./qt-unified-linux-x64-online.run --verbose --platform minimal --script "${MESHROOM_DEV}/docker/qt-installer-noninteractive.qs"
RUN curl -LO http://download.qt.io/official_releases/online_installers/qt-unified-linux-x64-online.run && \
chmod u+x qt-unified-linux-x64-online.run && \
./qt-unified-linux-x64-online.run --verbose --platform minimal --script "${MESHROOM_DEV}/docker/qt-installer-noninteractive.qs" && \
rm ./qt-unified-linux-x64-online.run

WORKDIR ${MESHROOM_BUILD}
# Temporary workaround for qmlAlembic build
RUN rm -rf "${AV_INSTALL}/lib" && ln -s "${AV_INSTALL}/lib64" "${AV_INSTALL}/lib"

# Build Meshroom plugins
RUN cmake "${MESHROOM_DEV}" -DALICEVISION_ROOT="${AV_INSTALL}" -DQT_DIR="${QT_DIR}" -DCMAKE_INSTALL_PREFIX="${MESHROOM_BUNDLE}/qtPlugins"
RUN make -j8
RUN make -j8 && cd /tmp && rm -rf ${MESHROOM_BUILD}

RUN mv "${AV_BUNDLE}" "${MESHROOM_BUNDLE}/aliceVision"
RUN rm -rf ${MESHROOM_BUNDLE}/aliceVision/share/doc ${MESHROOM_BUNDLE}/aliceVision/share/eigen3 ${MESHROOM_BUNDLE}/aliceVision/share/fonts ${MESHROOM_BUNDLE}/aliceVision/share/lemon ${MESHROOM_BUNDLE}/aliceVision/share/libraw ${MESHROOM_BUNDLE}/aliceVision/share/man/ aliceVision/share/pkgconfig


16 changes: 8 additions & 8 deletions docker/qt-installer-noninteractive.qs
Original file line number Diff line number Diff line change
Expand Up @@ -46,14 +46,14 @@ Controller.prototype.ComponentSelectionPageCallback = function() {
widget.deselectAll();

// widget.selectComponent("qt");
// widget.selectComponent("qt.qt5.5110");
widget.selectComponent("qt.qt5.5110.gcc_64");
// widget.selectComponent("qt.qt5.5110.qtscript");
// widget.selectComponent("qt.qt5.5110.qtscript.gcc_64");
// widget.selectComponent("qt.qt5.5110.qtwebengine");
// widget.selectComponent("qt.qt5.5110.qtwebengine.gcc_64");
// widget.selectComponent("qt.qt5.5110.qtwebglplugin");
// widget.selectComponent("qt.qt5.5110.qtwebglplugin.gcc_64");
// widget.selectComponent("qt.qt5.5111");
widget.selectComponent("qt.qt5.5111.gcc_64");
// widget.selectComponent("qt.qt5.5111.qtscript");
// widget.selectComponent("qt.qt5.5111.qtscript.gcc_64");
// widget.selectComponent("qt.qt5.5111.qtwebengine");
// widget.selectComponent("qt.qt5.5111.qtwebengine.gcc_64");
// widget.selectComponent("qt.qt5.5111.qtwebglplugin");
// widget.selectComponent("qt.qt5.5111.qtwebglplugin.gcc_64");
// widget.selectComponent("qt.tools");

gui.clickButton(buttons.NextButton);
Expand Down
2 changes: 1 addition & 1 deletion meshroom/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
__version__ = "2018.1.0"
__version__ = "2019.1.0"

import os
# Allow override from env variable
Expand Down
2 changes: 1 addition & 1 deletion meshroom/multiview.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Multiview pipeline version
__version__ = "1.0"
__version__ = "2.1"

import os

Expand Down