Skip to content

Latest commit

 

History

History
1134 lines (998 loc) · 102 KB

File metadata and controls

1134 lines (998 loc) · 102 KB

AliceVision Changelog

Release 3.3.0 (2025/08/18)

Highlights

New Pipelines

  • Color Calibration: Automated color correction from color charts
  • Raw to EXR conversion: Professional image format processing
  • Object Reconstruction: Targeted reconstruction with automatic object segmentation
  • Turntable Object Reconstruction: Streamlined workflow for rotating object capture
  • 360° Object Reconstruction: Reconstruction of complete dual-sided scanning
  • LiDAR Processing: Native E57 file import with integrated mesh generation
  • Multi-View Photometric Stereo: Advanced surface detail reconstruction with multiple light sources for each viewpoint.

Pipelines Improvements

  • Camera Tracking pipeline: improved stability and reliability
  • Introduced experimental fine-grained pipelines for increased modularity and workflow flexibility

Core Enhancements

  • Python Bindings Integration: Enhanced AliceVision accessibility with native Python support for streamlined Machine Learning workflows

Major Features

  • Add initial Python binding with SWIG PR
  • First Lidar Meshing Application PR
  • Multiple shots: Align and merge multiple SfM from feature matches PR
  • [meshroom] Add color calibration pipeline PR
  • [pipeline] New photogrammetry of the two sides of an object PR
  • [pipeline] New pipeline for object reconstruction from a turntable PR
  • [pipeline] New pipeline for the photogrammetry of an object using AI semantic segmentation PR
  • Add E57 importer PR
  • Add rawImageConversion pipeline PR
  • [meshroom] Add new "Lidar Meshing" template PR

Features

  • ApplyCalibration: Lens Calibration is done on Open Gate plates, but camera tracking could be done on cropped plates PR
  • [software] new MeshRemoveUnseenFaces software PR
  • [core] Separate Camera and Distortion Types in Model Naming PR
  • PLY loader to SfMData landmarks PR
  • Lidar decimation and merging PR
  • Add New Undistortion Models PR
  • Undistortion Calibration PR
  • [Photometric Stereo] MultiView fusion in Texturing PR
  • Colorizing node PR
  • [sfm] New sfmFilter software: split sfm based on filenames regex PR
  • [export] Add export of animated distortion in Nuke PR
  • Use lidar as constraints in sfm PR
  • Enable merging of multiple sfms PR
  • [build] SwigBinding: Add support for the Python binding with SWIG on Windows PR
  • New tool to import external Alembic files with an animated camera PR
  • Add masks to export images PR
  • features detector checks for mask in a region PR
  • Add numpy to python bindings PR
  • Add module image to python bindings PR
  • RelativePoseEstimating accepts an image pairs list to reduce complexity PR
  • SwigBinding: Add Python binding for matchingImageCollection IO functions PR
  • [sfm] Add new parameters to the SfM process PR
  • [doc] README.md: Add DeepWiki link, the AI documentation you can talk to PR

Other Improvements

  • Start Development 3.3.0 PR
  • Add estimator states to sfmdata PR
  • Update Color Space Extraction from image Metadata PR
  • ImageSegmentation: add an option to choose between cpu and gpu PR
  • Fix validity check on distortion object PR
  • Enhance controllability and readability by ensuring non direct access to data members PR
  • Export lens grid undistorted PR
  • Pixel Aspect Ratio application PR
  • Add Bundle Adjustment unit tests PR
  • Remove specifics required by Eigen prior to C++17 PR
  • Remove Boost-Filesystem and replace it with the std::filesystem PR
  • Clean-up .clang-tidy and apply camelBack case on functions and variables for some modules PR
  • Add option to keep input filename in imageSegmentation PR
  • [software] Disable clang-format around program options PR
  • [software] Apply clang-formatting on all the executables PR
  • FeatureExtraction: Add analytical fisheye mask PR
  • [sfmData] Rename functions and files to respect case rules PR
  • Remove all remaining references to Boost-Filesystem PR
  • Add aarch64 support (adjust PR1616) PR
  • Add camera color spaces PR
  • Rename Python aliceVision module into pyalicevision PR
  • E57 importer is now generating multiple sfmData PR
  • Clean and rework meshing code PR
  • [sfm] Handle specific alignment case for pure translations PR
  • [sfm] Sequential: Update default value for Ransac's max iterations PR
  • [keyframe] Set default values for some uninitialized variables PR
  • [aliceVision] Minor bugfixes across the project PR
  • SwigBinding: Extend the binding of camera and add initial binding for other modules PR
  • Option to Remove absolute paths to linked libraries PR
  • [software] New SelectConnectedViews software PR
  • [software] KeyframeSelection: Update default minimum number of keyframes PR
  • [mesh] visibility from mesh itself: check point is in camera frustum PR
  • Catch error codes thrown by std::filesystem::exists PR
  • Add missing standard header include PR
  • Export radial3 distortion to nuke PR
  • [pipeline] FeatureMatching: Update default value for Ransac's maximum number of iterations PR
  • [Cmake] split sfm library PR
  • [sfm] update tracks PR
  • Solve a set of bugs on cameraInit PR
  • anisotropic bounds for sfm PR
  • Add SfM Expanding application PR
  • ApplyCalibration: Add option to use a Lens calibration file from 3dequalizer in json PR
  • Use focal length from json and fix typos in parameters PR
  • Add locks for intrinsics PR
  • sfmTransform: Add option to lineup camera motion with object/lidar given an external camera pose PR
  • Distortion export for pipelines without lens grids PR
  • [hdr] Upgrade on HDR brackets estimation PR
  • Clean up focal length and change anamorphic model PR
  • [sfmData] ImageInfo: Add support for ARRI- and DJI-specific focal length metadata PR
  • Depth/normal maps rendering from Mesh PR
  • Remove imageCache code from alicevision PR
  • [utils] Pose injection from JSON file PR
  • Merge symbolic and automatic SfM PR
  • Add global rotation estimation app PR
  • Add SWIG binding of camera shared pointers PR
  • Adding logs to sfmExpanding PR
  • [docker] Fix export of ALICEVISION_* environment variables PR
  • Build OpenCV with FFmpeg on Linux PR
  • [docker] Update CUDA minor version to 12.1.1 PR
  • Clarify check-cpu.sh documentation PR
  • Update sfmBootstraping parameters PR
  • Add Equirectangular camera support for SFM PR
  • sfmMerge can merge Intrinsics PR
  • Mask processing app PR
  • Fix typos in README and PR template PR
  • Output second sfm for visualisation PR
  • Fix typos in src/aliceVision PR
  • Reduce intrication of distortion with intrinsics PR
  • Adding logs to export USD PR
  • Fix typos in src/software PR
  • Fix source typo in software/pipeline/main_lightingCalibration.cpp PR
  • Fix various remaining typos PR
  • fix sfmMerge PR
  • Versatile image exporting PR
  • Fix error on generated depthmap EXR PR
  • Upgrade compilation options and CI for C++20 support PR
  • Multiple lineup at different frames PR
  • Fix some remaining typos PR
  • Remove unused "ci" folder PR
  • [sfmDataIO] Fix Alembic dependency requirement for unit test PR
  • Survey Injection PR
  • [meshroom] Add AliceVision nodes and templates for Meshroom PR
  • Reduce compilation warnings and clean-up files PR
  • [meshroom] ExtractMetadata: Move pyalicevision import into the processChunk method PR
  • [docker] Copy meshroom folder to be able to install nodes and templates PR
  • Color checker detection and correction update PR
  • Fix division zero at Texturing PR
  • Add TracksMerging node and partially add the tracks module to the Python binding PR
  • Deep merging of multiple tracks sets without using original matches PR
  • [utils] Image Processing: Add simultaneous support for regex and input folders PR
  • Add application to generate virtual tracks PR
  • Upgrade experimental pipelines for better integration in Meshroom PR
  • [docker] Ubuntu: Use CMake from standard repo instead of Kitware's PR
  • [meshroom] CamTrack: Provide PrepareDenseScene with segmentation masks PR
  • [sfmData] Add focal length naming convention PR
  • Global binding PR
  • [utils] Optimize exportImages application when only undistort is needed PR
  • [meshroom] SketchfabUpload: Import requests at the function-level PR
  • Update image module of Python binding PR
  • SwigBinding: Add binding for the feature and matching modules PR
  • [meshroom] Use CamelCase for all attribute labels PR
  • Update python test with oiio metadata writing PR
  • Add more logging to new pipeline PR
  • Output modified sfmData in exportImages PR
  • Force Pixel Aspect Ratio in Distortion Calibration PR
  • Improve SWIG Module Type Sharing for Enhanced Interoperability PR
  • [blender] Fix .obj import for blender 4 PR
  • Improving python bindings for image and feature modules PR
  • SwigBinding: Add support of Landmarks PR
  • SwigBinding: Expose ProgressDisplay PR
  • Add parallelization tool to optimize chunk computation distribution PR
  • [meshroom] Fix missing connection in "CameraTracking without calibration experimental" pipeline PR
  • [meshroom] ImportAlembic: Add missing period in file extensions PR
  • [meshroom] ScenePreview: Hide backfaces in 3D render PR
  • [meshroom] MultiViewPhotometricStereo: Add missing Publish node PR
  • [nodes] Blender: Rescale rendered images based on their pixel aspect ratio PR
  • [nodes] ExportDistortion: Option to export lens grid undistorted PR
  • [nodes] ImageProcessing: New option to apply the Pixel Aspect Ratio PR
  • [pipelines] Enable Keep Filename for all ImageSegmentation nodes in templates PR
  • [pipelines] Panorama: Enable "Minimal 2D Motion" for FeatureMatching PR
  • [pipelines] PanoramaFisheyeHdr: Run FeatureExtraction after PanoramaInit PR
  • [pipelines] PhotogAndCamTrack: Update matching mode to "Exhaustive" PR
  • [nodes] ImageSegmentation: Support loading masks in 2D Viewer if they are named after the input images PR
  • [nodes] CameraInit: check allowedCameraModels validity PR
  • [nodes] Use utilitary constants for common ChoiceParams lists of values PR
  • [nodes] ExportAnimatedCameras: rename as ST maps (instead of UV) PR
  • [pipelines] NodalTracking: Apply masks in ScenePreview PR
  • [nodes] New node MeshRemoveUnseenFaces PR
  • [nodes] StructureFromMotion: Update default value for the maximum number of Ransac iterations PR
  • [nodes] CameraInit: Separate Camera and Distortion Types in Model Naming PR
  • [nodes] Update the ressources needs for the SFM node PR
  • [nodes] New SelectConnectedViews node PR
  • [nodes] KeyframeSelection: Update default minimum number of keyframes PR
  • [nodes] ExportanimatedCamera: change default value for the principal point correction PR
  • [nodes] FeatureMatching: Update default value for the maximum number of Ransac iterations PR
  • [nodes] ImageProcessing : use keepImageFilename attribute PR
  • [nodes] Fix outputImages if no export in ExportAnimatedCamera PR
  • [nodes] Blender scripts: Add missing __init__.py PR
  • [nodes] SphereDetection: Increase max value for sphereRadius PR
  • [nodes] Use principal point in scenePreview PR
  • [nodes] ApplyCalibration: Add option to use a Lens calibration file from 3dequalizer in json PR
  • [pipelines] Add distortion export for templates without calibration PR
  • [nodes] Use bindings for HDR brackets estimation PR
  • [nodes] LightingCalibration: Exclude visualization output from command line PR
  • [nodes] LdrToHdr: Move import of pyalicevision within functions PR
  • [nodes] Add new SfMChecking node PR
  • [pipelines] PhotogCamTrack: Invert masks for segmentation PR
  • [nodes] Add Global Rotation Estimating node PR
  • [nodes] ExportDistortion: Add animated distortion option PR
  • [nodes] Fixed spelling mistake in FeatureExtraction.py PR
  • [pipelines] Experimental: Align and set colors for all nodes PR
  • [nodes] Add nodes for versatile image exporting PR
  • [nodes] Replace desc.Node.internalFolder with {nodeCacheFolder} PR
  • [pipelines] Nodal Camera Tracking: Add a new template with the calibration of the distortion PR
  • [nodes] Add new SfMPoseInjecting node PR
  • [meshroom] Fix ambient typo on MVPS template PR

Bugfixes

  • [image] io: Rely on OIIO to determine if an image file exists or not PR
  • Fix typo in bundle adjustment unit test PR
  • [docker] Fix the build of Docker images for Ubuntu PR
  • EXR STMaps use floating point precision PR
  • Add fstream include to import e57 PR
  • [release] fix script to check dependencies PR
  • ExportAnimatedCamera export alembic with complete cameras information PR
  • [sfmData] fix relative to absolute path conversion for features/matches folders PR
  • fix camera pose lock I/O PR
  • Fix pipeline when LdrToHdrMerge is used on single brackets PR
  • Fix crash on convert distortion PR
  • Minor checks and log PR
  • [image] Fix erroneous color space detection for images that contain "raw" in their filepath PR
  • Fix SfM when using undistortions PR
  • Add missing fstream include in ApplyCalibration PR
  • [software] PanoramaSeams: Check that the input is not empty PR
  • Inverted flag check in intrinsics PR
  • fix alembic I/O PR
  • [utils] Fix applyCalibration logic for isDesqueezed PR
  • [pipeline] sfmBootstraping: Fix inversion between min and max PR
  • [FuseCut] Fix: Check cam vertex validity in meshing PR
  • Add standard include for fstream PR
  • [segmentation] Image segmentation CPU bugfix and ONNX output update PR
  • fixed bug in sfmExpanding PR
  • SfmBootstrapping: Fix bug when parallax angles are less than 1 degree PR
  • Update minimal required CMake version to 3.5 for all modules PR
  • [src] Fix dependencies depending on build options PR
  • [track] Use std::map instead of std::unordered_map to represent Tracks PR
  • Update SWIG code to remove errors PR
  • [docker] Dependencies: Add a symlink to python3 to make python callable PR
  • [image] Remove static keyword from isSupported and getSupportedExtensions PR
  • [fix] Remove invalid default value in ldr2hdrCalibration PR
  • [Dependencies] Adapt code to new Eigen PR
  • Fix bug in sfmMerge PR
  • [mesh] Fix mesh appearing whitened in 3D viewer PR
  • [MVS] meshPostProcessing: bugfix in the cleanup of removed free points PR
  • [sfm] statistics: fix statistics to avoid troubles in particular cases PR
  • Update experimental pipelines PR
  • Remove hack with Custom camera model PR
  • [pipeline] Adding missing link in photogrammetry pipeline PR
  • [Fix] Initialize resectionid depending on previous sfm PR
  • Update json utility functions PR
  • Remove error or warning for some compilers PR
  • Fix nodal pipeline including scenePreview crash PR
  • Update the solver's parameters for more robust unit tests PR
  • [meshroom] PhotogrammetryObjectTwoSides: Remove hard-coded paths to models PR

CI, Build and Documentation

  • [doc] Fix RTD build + other fixes/improvement of the doc PR
  • [cmake] AllInOne: update to suitesparse-7.3, ceres-2.2 PR
  • [ci] Update link to the VCPKG archive for the Windows CI PR
  • [docker] Fix the build of Docker images for Ubuntu PR
  • [cmake] Dependencies: Update zlib version to 1.3.1 PR
  • [build] Add libe57format as an internal dependency PR
  • [build] Add libe57format as an internal dependency PR
  • [build] Update the list of installed features for OpenImageIO with VCPKG PR
  • [build] Update Geogram to 1.8.8 PR
  • Fix coverage in cmake PR
  • Update boost and oiio dependencies PR
  • Remove OpenMesh from internal dependencies PR
  • Add condition to check dependency MeshSDFilter folder PR
  • libE57Format in Copying.md PR
  • Externalize nanoflann PR
  • MeshSDFilter: Remove submodule PR
  • [ci] Windows: Add appropriate flags to compile with CUDA < 12.1 PR
  • [build] Fix some C++17 incompabilities PR
  • [build] Update SWIG version to 4.3.0 PR
  • CI: Move from CentOS to Ubuntu for Linux PR
  • [docker] Add Dockerfiles for Rocky 9 PR
  • [cmake] Update download link for Boost 1.84.0 PR
  • [src] Comply with nanoflann >= 1.6.0 changes PR
  • [ci] Windows: Only install necessary components from the CUDA Toolkit PR
  • [ci] Windows: Update vcpkg archive with latest dependencies versions PR
  • [ci] Windows: Update vcpkg archive with SWIG support PR
  • [ci] Update the path to the segmentation nodes for Meshroom in the CI PR
  • Update minimal required CMake version to 3.5 for all modules PR
  • [src] Fix dependencies depending on build options PR
  • [track] Use std::map instead of std::unordered_map to represent Tracks PR
  • Update SWIG code to remove errors PR
  • [docker] Dependencies: Add a symlink to python3 to make python callable PR
  • Dependencies update PR
  • [src] Update DLL discovery in __init__.py for the binding on Windows PR
  • Update Dockerfiles PR
  • [docker] rocky: update gxx and enable cctag PR
  • [ci] Windows: Update vcpkg archive with 2025.07.08 tag PR
  • [build] Enable the build of OpenCV's and OpenImageIO's Python bindings PR
  • [doc] Update INSTALL.md PR
  • [doc] README.md: Add DeepWiki link, the AI documentation you can talk to PR
  • [cmake] Dependencies: Update OpenCV to 4.12.0 PR

Updates to the Sensor Database

  • Add ASUS_I01WD (Asus ZenFone 6) to sensorDB PR
  • Adding Google Pixel 6a to cameraSensors.db PR
  • Update cameraSensors.db PR
  • Update cameraSensors.db PR
  • Update cameraSensors.db PR
  • Update Fairphone cameraSensor PR
  • Fairphone 5 cameraSensors.db fix PR
  • [cameraSensors] OMNIVISION uctronics and gophotonics PR
  • [cameraSensors] fix Samsung SM-G998B PR
  • [cameraSensors] Add DJI Mini 2 SE PR
  • Added insta360 x3 sensor to db PR
  • [sensordb] Fix typo of 'OnePlus' devices PR
  • [sensordb] OnePlus 8 Pro PR
  • Fix Sonx RX0 II camera model PR
  • Update cameraSensors.db Sony ILCE-6700 PR
  • Update cameraSensors.db PR
  • Update cameraSensors.db DJI Mini3Pro PR
  • Update cameraSensors.db with Pixel 8 and Pixel 8 Pro PR
  • Update cameraSensors.db PR

Contributors

ahdistefano, albertoporri, Alxiice, AncoraIo36, andrewgreen5610, apirek, Armado001, balloonalpha, c-ewing, Cal-Bur, cbentejac, CedricThebault, demoulinv, Erol444, EternalUnderperformer, fabiencastan, heyvian, ICIbrahim, JackBoosY, jmelou, luzpaz, maggo1404, male4a, mh0g, natowi, NicholasFlamy, paweller, predat, servantftransperfect, simogasp, theremygit, woutkolkman

Release 3.2.0 (2023/12/07)

Major Features

  • New software for intrinsics and rig calibration using a multiview acquisition of a checkerboard PR
  • New semantic image segmentation module PR

Features

  • Support pixel aspect ratio PR
  • Automatically align the sfm result PR
  • New pipeline for pure rotation tracking PR
  • KeyframeSelection: Add support for masks PR

Other Improvements

  • Start Development 3.2 PR
  • Split SFMData between reconstructed and other views PR
  • Noise reduction in HDR merging PR
  • Add a new optional command to export textured mesh to a USD format PR
  • Enable multiple calibrations on hdr PR
  • [Panorama] Enforce priors after estimation PR
  • tolerant bracket size estimation PR
  • Make sure openexr does not use too many threads PR
  • HDR default number of brackets should be 0 PR
  • Remove limits on outliers for brackets detection PR
  • Correctly count the best brackets count PR
  • Compositing does not fail on range error PR
  • [software] panoramaPostProcessing: export downscaled panorama levels PR
  • [meshing] export computed bounding box PR
  • [software] sfmTransform: Increase precision of coefficients in the log PR
  • Limit EXR multi-threading for texturing PR
  • [fuseCut] Fix adding helper points PR
  • add memory use constraint in texturing PR
  • Manage LCP in imageProcessing PR
  • Camera exposure update PR
  • Masking: Handle different file extensions for masks and allow mask inversion in ImageSegmentation PR
  • [keyframe] Do not fail when there are consecutive missing frames for the smart Keyframe Selection method PR
  • Keyframe Selection: Add multi-threading and improve overall performances PR
  • [camera] refactorize and clean up code PR
  • Meshing: fix in graphcut weighting and minor sampling improvements PR
  • bundle adjustment improvement PR
  • Add automatic method for HDR calibration PR
  • [sfmTransform] Rewrite check on ambiguity in sfmTransform PR
  • [image] ImageCache: refine mutex usage PR
  • Pose3 internal representation PR
  • [SFM] New incremental logic for sfm PR
  • ImageInfo class for sfmData PR
  • Clean symbolic bundle code PR
  • fix flann randomSeed PR
  • SFM bootstraping PR
  • PanoramaPostProcessing: Use the generated panorama's name for the downscaled pyramid levels PR
  • Fix View copy constructor and remove unused control points PR
  • [Cleanup] Remove pointers PR
  • [DSPSIFT] Change orientation value PR
  • Code cleanup PR
  • Deal with multiple brackets with same score PR
  • Remove unused gamma functions PR
  • [clean] Ransac containers PR
  • Cleaning up ACRansac PR
  • Input color space setting PR
  • Fallback when camera motion is not distinctive enough PR
  • [sfmData] imageInfo: Retrieve focal length when it's available in non-standard metadata keys PR
  • Reformat with clang PR
  • Binary format type for ply IO PR
  • Automatic reorientation PR
  • Fov compute for intrinsics PR
  • Upgrade tracks to allow more advanced storage and reduce indirections PR
  • Color space conversion update PR
  • fixed unnecessary descriptor load for sequential image matching PR
  • [sfm] SequentialSfM: Initialize the resection ID in the constructor and set it for the initial pair PR
  • Add ancestor images info in view PR
  • Intrinsics update after auto reorientation PR
  • [sfmData] Ensure copies of SfMData are deep instead of shallow PR
  • New utility nodes to create camera rigs and merge two sfmData PR

Bugfixes

  • [segmentation] fix windows build PR
  • [segmentation] fix crash when resized image is too small PR
  • Bugfix on dng reading PR
  • [sfmDataIO] getViewIntrinsics corrections PR
  • [Fix] transformsRt function PR
  • [software] imageSegmentation: read images in sRGB colorspace PR
  • [software] LdrToHdrMerge: fix bug introduced in PR 1536 PR
  • [sfmDataIO] restore focal ratio support PR
  • [build][windows] fix for OpenMP error causing build issue on Windows PR
  • [sfmDataIO] remove declared/referenced poses validation PR
  • getSensorSize update PR
  • [sfmDataIO] Fix unhandled exception when parsing images with large numbers in the filenames PR
  • [depthMap] DepthMapEstimator: Correctly limit the number of simultaneous RCs PR
  • [sfm] add try-catch for feature/region loading PR
  • [fuseCut] Fix export debug mesh PR
  • Fixup panoramaInit manual init PR
  • [keyframe] fix intrinsics UID PR
  • Fix: Add missing 3DEAnamorphic4 camera type PR
  • Bugfix when checking raw format PR
  • camera Lock is correctly casted to int in json PR
  • Sequential SfM: Replayable initial pair PR
  • [sfm] Sequential ReconstructionEngine: Use SfM Params' nbFirstUnstableCameras instead of a constant PR
  • [sfmData] Add const accessor for getView PR
  • [build] Add an option to disable the use of the GPU with ONNX PR
  • fix applyCalibration PR
  • Fix errors on sfm with applyCalibration PR
  • fix sfm with undistortion PR
  • [mesh] Texturing fix: specify a name for the materials to avoid issues in Maya PR

CI, Build and Documentation

  • [ci] Update GitHub actions for the Continuous Integration on Windows PR
  • [docker] Update version of the AV dependencies image PR
  • [doc] INSTALL.md: Fix typo in "nonfree" module for OpenCV in vcpkg install PR
  • [build] Download, copy and export the semantic segmentation model PR
  • Remove internal flann PR
  • [build] Update OIIO to 2.4.13.0 PR
  • Fixes for osx PR
  • Make sure one can deactivate part of modules PR
  • [ci] Windows: Stop building modules that are not tested PR
  • [CI] Don't run CI on draft PR PR
  • [docker] Add Python in the Docker image of the dependencies PR
  • [docker] Dependencies: Remove duplicated gcc install PR
  • [ci] Update vcpkg archive with boost-geometry and liblemon PR
  • [ci] Update functional tests PR
  • Remove lemon from internal dependencies PR
  • Clean dependencies in CMakeLists PR
  • Remove lemon from public links PR
  • Run CI on draft pull requests PR

Updates to the Sensor Database

  • Added Zed2i StereoLabs Zed2i sensor info PR
  • Update cameraSensors.db PR

Contributors

almarouk, cbentejac, demoulinv, emanuelenencioni, fabiencastan, Kokika, mh0g, mugulmd, serguei-k, servantftechnicolor, simogasp, unageek

Release 3.1.0 (2023/06/21)

Major Features

  • New Photometric Stereo software PR
  • [calibration] Checkerboard detection PR
  • [depthMap] New option for multi-resolution similarity estimation and optimizations PR
  • [utils] split360Images: support SfMData input and output PR
  • [sfmTransform] Creation of auto mode PR
  • Distortion calibration PR

Features

  • Add rec709 color space definition PR
  • SfM: Expose new parameters to the command line PR
  • [image] New image cache PR
  • [sfmTransform] rewrite auto_from_cameras PR
  • Stitching color space PR
  • [panoramaInit] add generation of contact sheet using xml input PR
  • Add compression option for exr and jpg images PR
  • [cmake] Update CXX standard from 14 to 17 PR
  • ColorTemperatureAsImageProcessingParameter PR

Other Improvements

  • Start Development Version 3.1.0 PR
  • [panorama] compositing common scale selection PR
  • Move cmdline from system to dedicated module PR
  • [cameraInit] Reject input if multiple frames have same frame id PR
  • Keyframe Selection: Add support for SfMData files as inputs and outputs PR
  • [panorama] Generate a preview panorama PR
  • add tracksbuilder app PR
  • HDR filenames PR
  • IncrementalSfM: expose nbOutliersThreshold param PR
  • Fixed separator in CMAKE_INSTALL_RPATH PR
  • oiio gammaX.Y color spaces management PR
  • Exposure and format adjustment PR
  • Ground level alignment based on sfm point cloud PR
  • [image] ImageCache improvements PR
  • [software] applyCalibration: simply copy input data when calibrated data filename is empty PR
  • [gitignore] Update .gitignore PR
  • [software] Do not fail if range start is larger than the number of views PR
  • KeyframeSelection: Add new parameter value to disable the export of keyframes PR
  • Disable libraw flip PR
  • Stereo Photometry: Add robustness to unexpected inputs PR
  • Set LibRaw options PR

Bugfixes, CI, Build and Documentation

  • [cmake] housekeeping PR
  • [software] ldrTohdrSampling: fix error when using jpg, rawColorInterpretation was wrongly interpreted PR
  • [doc] RELEASING: Add example command to generate the release note PR
  • Build: Add dependency to Boost.JSON and make the Calibration module Boost1.81-compliant PR
  • Fix command line parsing for executables that used the old one PR
  • Fix small compilation issue in trackIO on Windows PR
  • [pipeline] cameraInit: fix rigHasUniqueFrameIds PR
  • Fix .clang-format after updating CXX standard PR
  • [doc] INSTALL.md: remove geogram broken link PR
  • [Meshing] Fix to avoid small holes in the final mesh PR
  • [sfmDataIO] Alembic Import: initialize intrinsics properly PR
  • [ci] Update docker image for dependencies to fix runtime issue in CI PR
  • Debug in camera object PR
  • Panorama was using too much memory for no reason PR
  • [mvsUtils] fix writing metadata for filtered depthmaps PR
  • [docker] Download, copy and export the sphere detection model PR
  • [image] readImageSpec: perform safety check before anything else PR
  • CameraPose lock was not correctly loaded PR

Updates to the Sensor Database

  • Update cameraSensors.db PR
  • Add Google Pixel 7/7 Pro main camera to cameraSensors.db PR
  • Update cameraSensors.db PR

Contributors

almarouk, cbentejac, demoulinv, earlywill, erikjwaxx, fabiencastan, gregoire-dl, ICIbrahim, jmelou, mugulmd, serguei-k, servantftechnicolor, simogasp

Release 3.0.0 (2023/03/20)

Release Notes Summary

  • Depth map improvements PR
  • Depth map refactoring PR
  • RAW advanced processing PR
  • Color management for RAW images PR
  • Color Space management PR
  • Output color space in ACES or ACEScg PR
  • Update panorama pipeline for very large panoramas PR
  • [Feature Matching] Add an option to remove matches without enough motion PR
  • GPS alignment from exif metadata PR
  • Generate NormalMaps and HeightMaps PR
  • Use assimp as mesh importer and exporter PR
  • Integration of AprilTag library PR
  • New node to import known poses for various file formats PR
  • New ImageMasking and MeshMasking software and some cameras rig improvements PR

Other Improvements and Bug Fixes

  • Fix crash when output extension is missing in image processing. PR
  • Fix reading non raw image format in imageProcessing. PR
  • [sfmTransform] fix issue on referenceView if some poses are missing PR
  • Texturing Color Space PR
  • [software] fix split dual fisheye PR
  • Keyframe Selection: Rework and add new selection methods PR
  • Add support for Lens Camera Profiles (LCP) PR
  • Add missing build option to build assimp with gltf PR
  • [panorama] force pyramid levels count in compositing PR
  • [Panorama] New option to disable compositing tiling PR
  • [panorama] Propagate metadatas PR
  • Panorama alignment with a reference camera PR
  • [image] io: add missing check in isRawFormat PR
  • HDR luminance statistics bugfix PR
  • Add option to apply DCP metadata in imageProcessing PR
  • [hdr] Compute the center exposure of the hdr automatically PR
  • add missing config.hpp include PR
  • Views ancestors for hdr PR
  • [software] New triangulation tool PR
  • DCP error management PR
  • [software] remove "utils" from executables names PR
  • read image with missing cam_mul metadata PR
  • Raw Images: minor adjustments PR
  • Raw Images: minor update PR
  • Add NLMeans denoiser in ImageProcessing PR
  • [system] minor fix on HardwareContext log PR
  • Fix and harmonize command lines' descriptions PR
  • Allow parameters to limit the number of Cores used and Memory available information PR
  • Updates for compatibility with recent ceres versions PR
  • [sfmColorHarmonize] update selection method enum and command-line argument PR
  • Factorize command line code for utils and export apps PR
  • Replace command line parsing code with a class to factorize PR
  • [sfm] make sure we give other chances to candidates PR
  • Reuse image pair io functionality PR
  • Optimize distortion calibration by 1.25x for certain problems PR
  • Replace usage of std::vector as storage of pixel data with image::Image PR
  • (trivial) Improve parallel ctest speed by 1.5x by splitting sfm_panorama test into several executables PR
  • (trivial) Extract removePoorlyOverlappingImagePairs() PR
  • Resurrect hdr test PR
  • Optimize voctree build by up to 40 times for certain problems PR
  • (trivial) Cleanup std::pow usages PR
  • Merge mvsData image and pixel classes with what's in image module PR
  • [image] Introduce a function to retrieve ALICEVISION_ROOT PR
  • [imageMatching] bug fix: file format exporter PR
  • [sfmDataIO] Missing fstream include PR
  • (trivial) Extract some code out of pipeline executables to reusable modules PR
  • Fix ceres-solver deprecations PR
  • Consistently use divideRoundUp() for integer division with rounding up PR
  • Don't use deprecated filesystem copy options PR
  • Fix wrong integer division where rounding up was intended PR
  • (trivial) Avoid repeated calls to std::min() or std::max() PR
  • (trivial) Drop code catering to old OpenImageIO versions PR
  • Fix broken openmp atomic usage PR
  • [sfm] Reduce code duplication in sequential sfm triangulation PR
  • [image] Fix deprecated use of oiio computePixelStats() PR
  • [system] Fix deprecated uses of boost::progress_display PR
  • [bugfix] fix getColmapCompatibleViews PR
  • [sift] Remove dependency on glibc memcpy PR
  • [fuseCut] Pick isnormal() from std namespace PR
  • Make DisplayProgress class thread safe PR
  • Avoid unnecessary string copies PR
  • Always use external CoinUtils, Osi and Clp libraries PR
  • Fixes #1202: Added an available memory check to constrain the number of CPU c… PR
  • [software] Add colmap exporter PR
  • [sift] Fix building on platforms without SSE2 PR
  • Upgrade dependencies in submodules PR
  • Introduce API for displaying progress PR
  • Remove uses of features removed from C++17 standard PR
  • [sfm] Use opengl coordinate system in Alembic & Meshes and add new alignment from Cameras X Axis PR
  • Fix duplicate symbols across executables PR
  • Improve test reproducibility PR
  • Switch to non-deprecated overload of oiio::ImageBufAlgo::make_kernel() PR
  • [multiview] Fix memory leak in resection test PR
  • Fix typo: temporay -> temporary PR
  • Remove uses of fscanf PR
  • [mvsUtils] Remove trivial boost::filesystem wrappers PR
  • Remove using namespace std and add std:: qualifications where needed PR
  • added fstream to fix build issues PR
  • Change focal length in sfmData file formats PR
  • update zlib dependency PR
  • [hdr] new ExposureSetting class PR
  • [software] incrementalSfM: Add option computeStructureColor PR
  • Add new instruction for vs 2022 PR
  • bad computation for stmap output PR
  • [depthMap] Code simplification PR
  • [sfmData] fix uid: avoid conflicts between very close shots PR
  • [io] Alembic: uint/int compatibility PR
  • [camera] fix principal point correction in undistort PR
  • Add support for Canon R5 PR
  • [image] io: use zips compression for exr PR
  • [sfm] loRansac debug for PnP PR
  • [mesh] use file extension to choose the file format PR
  • Optical center relative to the image center PR
  • Update symbolic Bundle Adjustment PR
  • [sfmDataIO] sample scene generation for I/O version check PR
  • [mesh] Replacing custom code for mesh::saveToObj by using assimp library PR
  • [sw] middlebury import PR
  • Add frameId from image path & new function for feature loading PR
  • [sfm] rmse: bug fix if there is no data at all PR
  • New lens distortion calibration software PR
  • GCC11: fix missing header. PR
  • [software] Some adjustments to export animated camera PR
  • [matching] fix unsigned index issue in guided matching PR
  • [software] New ColorChecker Detection and Correction PR
  • [camera] Allow PINHOLE_CAMERA to be chosen as default model PR
  • [feature] dspsift: if image resolution is small, adjust first octave for extraction PR
  • [software] LdrToHdrMerge: more explicit error message PR
  • [panorama] automatic alignment of up vector PR
  • [software] split360: some fixes PR
  • [matching/sfm] IO: do not call "canonical" on non-existing files PR
  • [sfm] in place rotation of point is not allowed in ceres PR

Build, CI, Documentation

  • [doc] coin libs are required PR
  • [build] Fix building without opencv PR
  • [docker] Use dates to identify versions of prebuild dependencies PR
  • [doc] CONTRIBUTORS: Add Candice Bentejac and Loic Vital PR
  • [doc] add RELEASING.md PR
  • [doc] INSTALL: Update the list of vcpkg packages to install PR
  • [cmake] all-in-one: upgrade dependencies PR
  • [doc] update INSTALL as osi is not internal anymore PR
  • [cmake] cannot have opencv contrib without opencv PR
  • [cmake] fix for ALICEVISION_HAVE_OPENCV_CONTRIB PR
  • [image] Fix build failure with Boost 1.81.0 PR
  • [doc] INSTALL: replace geogram broken link PR
  • [cmake] Add support for cuda-12 PR
  • [build] Use Boost's pi constant instead of M_PI in Geometry PR
  • [cmake] propagate dependencies PR
  • [cmake] all-in-one: add boost json PR
  • [cmake][dep] update TBB to oneAPI version PR
  • [docs] Update documentation structure with markdown files PR
  • [cmake][dep] some fixes for openexr PR
  • [cmake][dep] missing iostreams in boost 1.76 PR
  • [cmake][dep] bump zlib to 1.2.13 PR
  • [CMake] Add option to disable usage of modules from OpenCV contrib repo PR
  • [doc] add new contributors PR
  • [doc] INSTALL: remove duplicated information PR
  • [github] Append to vcpkg cache key to expire broken CI cache PR
  • [cmake] Fixes to build on Silicon PR
  • [dep] add PCL as dependency PR
  • [cmake] Add clp dependencies to AliceVisionConfig.cmake.in PR
  • Fix several compile-time warnings PR
  • Remove duplicate description of ALICEVISION_USE_OPENMP in INSTALL.md PR
  • Update vcpkg dependency for Windows PR
  • [doc] Install: update minimal version of mosek PR
  • [build] fixes for recent g++ compiler PR
  • [CMake] Add support for using Eigen alignment with AppleClang PR
  • [ci] do not trigger ci rebuild for .db files PR
  • [CI] Upgrade deps: opencv, expat PR
  • [CMake] Check AV_EIGEN_MEMORY_ALIGNMENT when building dependencies PR
  • [CMake] Add option to build dependencies in parallel PR
  • Add option to compile Eigen with alignment enabled PR
  • [ci] upgrade vcpkg version PR
  • Update actions/stale to latest version v5 PR
  • [cmake] all-in-one: Upgrade dependencies PR
  • Add ca-certificates update to Ubuntu docker build. PR
  • [doc] now aligned with cmake BUILD_SHARED_LIBS PR
  • [doc] fix bibtex PR
  • [doc] readme: update citation PR
  • [ci] fixing a commit id issue in windows github action PR
  • [ci] launch unit tests on windows PR
  • [ci] Add Windows CI on Github Actions PR
  • [doc] install update for windows PR
  • [cmake] Move to C++14 PR
  • [sensorDB] Many updates to the sensor database List of PRs

Contributors

Thanks to Fabien Servant, Gregoire De Lillo, Vincent Demoulin, Thomas Zorroche, Povilas Kanapickas, Simone Gasparini, Candice Bentejac, Loic Vital, Jean Melou, Matthieu Hog, Simon Schuette, Ludwig Chieng, Vincent Scavinner, Stella Tan for the major contributions.

All the release contributors: a-yonenaga, aidalgol, AutomatonGeo, bartoszek, caiotizio, camillem, canonex, chb-jibald, Chuardo, dadul96, DanielDelaporus, DanielMartin100, Davidsonssilva, Demarcobank, drkoller, ecty99, Ednaordinary, elektrokokke, emmanuejtorres, fabiencastan, Garoli, ghost, hammady, jmenlow, lapo-luchini, leohumnew, loqs, LRNKN, object71, Ogloppi, Phoenix-64, PixlEmly, remmel, rody052, sanchayanghosh, shanji97, SM-26, stellarpower, techcavy, ThalissonD, Tigwin, Toast-arch, Tonycopy, tralalafiala, tzr250-1kt, xzuyn

Release 2.4.0 (2021/02/26)

Release Notes Summary

  • [panorama] PanoramaCompositing: new algorithm with tiles to deal with large panoramas PR
  • [feature] Improve robustness of sift features extraction on challenging images: update default values, add new filtering and add dsp-sift variation PR
  • [fuseCut] Reduce mesh artefacts from numerical issues by improving the tetrahedral intersection PR PR PR
  • [fuseCut] Improve mesh quality with a new graphcut post-processing: cells status filtering by solid angle ratio PR
  • [software] Texturing: improve memory estimation PR
  • [panorama] New options to init with known poses PR

Other Improvements and Bug Fixes

  • [fuseCut] added a parameter to filter points based on number of observations PR
  • [hdr] minor code cleanup in sampling PR
  • [matching] implement cross check for feature matching PR
  • [meshing] Digging using shape from silhouette principle PR
  • [meshing] More control on graph cut post processing PR
  • [software] Add mesh utilities softwares PR
  • [software] MeshFiltering: smoothing and filtering options on subset of the geometry PR
  • [software] sfmTransform: new from_center_camera PR
  • [software] CameraInit: allow to assign the same pose to multiple images PR
  • [software] ExportAnimatedCamera: Export distortion map in exr format PR
  • [depthMap] bug fix on image export if image already computed PR
  • [texturing] segfault fix PR
  • [image] Remove reference to potentially destroyed object PR
  • [sfmData] Support for unavailable folder in sfmData PR
  • Move PRNG initialization out of library PR
  • White balance PR
  • Preliminary work for lighting estimation from normal maps and albedo PR

Build, CI, Documentation

  • [cmake] Update deps PR PR
  • [cmake] fix sm86 only for cuda >= 11.1 PR
  • [cmake] Use modern cmake to manage OpenGV PR
  • [cmake] update flags for Intel i9-10900K PR
  • [ci] speedup functional tests PR
  • [sensorDB] Many updates to cameraSensors.db

Release 2.3.1 (2020.10.14)

  • [software] FeatureExtraction: minor update to SIFT memory estimation PR

Release 2.3.0 (2020.10.09)

Release Notes Summary

  • [hdr] Improved HDR calibration, including new LdrToHdrSampling for optimal sample selection PR PR PR
  • [panorama] New Panorama Stitching nodes with support for fisheye lenses PR PR PR PR PR
  • [texturing] Improve texturing quality on (low-poly) user mesh after retopology PR
  • [multiview] Addition of 10 points relative pose solver PR
  • [sfm] Coordinate system alignment to specific markers or between scenes PR
  • [matching] Add methods in imageMatching PR
  • [sfmData] More generic metadata support PR PR
  • [software] New ImageProcessing software PR PR PR PR

Other Improvements and Bug Fixes

  • [cameraInit] Support more extensions and add new viewId generation method PR
  • [depthMap] Fixed potential index out of range exception in PlaneSweepingCuda PR
  • [feature] Fix popsift static release PR
  • [fuseCut] Improve delaunayGraphCut PR
  • [fuseCut] Similarity map is optional PR
  • [hdr] Update compensation of aperture and ISO change in HDR fusion PR
  • [image] Fix bug with input RGBA Images PR
  • [keyframe] KeyframeSelector: add padding in created filenames PR
  • [matching] Fix unmatching declaration and definitions PR
  • [meshing] Fix load of depth maps without metadata PR
  • [meshing] Simplify input depth map folders PR
  • [panorama] HDR Panorama: Handle very high intensities PR
  • [panorama] Panorama: Add Graphcut in compositing PR PR
  • [sfm] Add scale as parameter in functions for sfm PR
  • [sfm] Bugfix: ceres::AngleAxisRotatePoint cannot be used in-place PR
  • [sfm] Performance improvements: optimize RemoveOutliers_AngleError PR
  • [sfm] SfM statistics PR
  • [sfmDataIO] Add Observation scale in IO PR
  • [sfmSfM] Major bug fix on BlockOrder in BACeres PR
  • [software] ConvertSfMFormat: bug fix: remove pose only if it exists PR
  • [software] Image matching: fix min nb images PR
  • [software] ImageProcessing: add option to fix non finite pixels PR
  • [software] ImageProcessing: add storageDataType option PR
  • [software] PanoramaCompositing: option to select the percentage of upscaled pixels:PR
  • [software] PanoramaEstimation: sort input images by shooting time to select the center camera PR
  • [software] PanoramaInit: Add an extra image rotation to each camera declared the input xml PR
  • [software] PanoramaInit: Add new restriction to circle detection PR
  • [software] PanoramaInit: improve fisheye circle detectionPR
  • [software] SfMTransfer: New option to copy intrinsics from one sfmdata to another PR
  • [tracks] Fix tracks filtering PR
  • [voctree] Fix possible overflow in unsigned subtraction PR
  • [windows] Add main function wrapper to catch exceptions and avoid annoying error popup on windows PR
  • [sensorDB] Many updates to cameraSensors.db

Build, CI, Documentation

  • [matching] Build fix for MSVC 2019 PR
  • [build] Avoid circular dependency PR
  • [build] Fix build against cuda<=11 PR
  • [build] Fix offset logging against boost 1.71 PR
  • [build] Fix prettyprint MSVC compatibility PR
  • [build] Fix unit test includes PR
  • [build] Make sure suitesparse build with jenkins pipeline PR
  • [build] Remove unused embedded cxsparse PR
  • [build] Workaround for a build incompatibility between prettyprint and eigen PR
  • [ci] Add github actions CI PR
  • [ci] AppVeyor: Build with VS 2019, Cuda 11 PR
  • [ci] Build alicevision snapshot binaries (win) PR
  • [ci] remove travis PR
  • [cmake] All-in-one: update geogram to 1.7.3 PR
  • [cmake] Build all-in-one: add gmp, mpfr, ffmpeg PR
  • [cmake] Fix eigen flags PR
  • [cmake] Fix findOpenEXR missing escapes PR
  • [cmake] Missing Boost::boost dependency PR
  • [cmake] Update required CMake version PR
  • [cmake] Using modern cmake for boost PR
  • [cmake] Add cuda support for SM 86 PR
  • [doc] Build: add notice that english language pack is required for VS/vcpkg PR
  • [doc] Fixed citation PR
  • [doc] INSTALL.md: add boost-timer and lz4 to vcpkg install command PR
  • [docker] Clean docker images for centos and ubuntu PR
  • [docker] Fix ubuntu dockerfile PR
  • [docker] Fixes docker and all-in-one cmake build PR
  • [docker] Minor Changes in the docker build command PR
  • [docker] Release docker PR
  • [github] Added actions for stale issues PR
  • [github] Fix stale.yml PR
  • [meshing] Code refactoring PR
  • [sensor] Replace deprecated basestring with str (Py3) PR
  • [sfmDataIO] Throw if we try to load an abc file and AliceVision is built without Alembic support PR
  • [system] Logger levels were not case insensitive PR
  • [windows] Fixing vs2019 build options PR

For more details see all PR merged: https://github.com/alicevision/AliceVision/milestone/31

Release 2.2.0 (2019.08.08)

Release Notes Summary:

  • Texturing: Largely improve the Texturing quality using Multi-Band Blending technique. PR
  • Texturing: Support for RAW image files: Libraw update and fix its usage in OpenImageIO (fix color shift and use correct gamma). PR
  • Texturing: Performance optimization by iterating over multiple output textures at the same time. PR
  • Texturing: Add support for UDIM in UV mapping and use it by default. PR
  • Meshing: Export the dense point cloud in Alembic and computes the points colors PR.
  • Meshing: New option to export the full raw dense point cloud in the Meshing software (with all 3D points candidates before cut and filtering). PR
  • Meshing: Adds an option to export color data per vertex and MeshFiltering correctly preserves colors. PR.
  • HDR: New HDR module for the fusion of multiple LDR images with the corresponding new software LDR2HDR. It implements linear fusion as well as Camera Response Function (CRF) calibration with Robertson, Debevec or Grossberg methods. PR
  • PrepareDenseScene: Add experimental option to correct Exposure Values (EV) of input images to uniformize dataset exposures. PR
  • FeatureExtraction: Include CCTag in the release binaries both on Linux and Windows. PR

Full Release Notes:

  • DepthMap: Bug fix if no nearby cameras (a big bottleneck of the release 2019.1). PR
  • DepthMap: Bug fix: missing allocation when reducing the number of planes. PR
  • DepthMap: Bug fix: SGM early stop condition could provide an unallocated buffer to the refine step PR
  • FeatureExtraction: Bug fix in AKAZE filtering (sort keypoints by size before grid filtering). PR
  • FeatureMatching: Bug fix: use ranges prefix to avoid overwrites of matching files when using ImageMatching. PR
  • SfM: Improve SfM colorization performances. PR
  • SfM: Fix intrinsics edges management in the Local Bundle Adjustment (LBA). PR
  • Texturing: UVAtlas: downscale charts to fit in texture to avoid bug with small "Texture Side". Apply downscale factor to fit larger charts into the texture, and use it when filling atlases and computing final UV textures. PR
  • SfM: Fix management of intrinsics related connections in the local bundle adjustment graph which could lead to removal of wrong edges and potential corruption of the graph. This could end up with the SfM going in an infinite loop and/or undefined behavior. PR
  • DepthMap: Remove useless remaining image transpositions. PR
  • CCTag: Major update to get Windows compatibility. PR
  • SfMDataIO: Change root nodes (XForms instead of untyped objects) of Alembic SfMData for better interoperability with other 3D graphics applications (in particular Blender and Houdini). PR
  • DepthMap: Add option to create Normal Maps in DepthMapEstimation (not used in other part of the pipeline for now). PR
  • DepthMap: Add option to export similarity volumes in Alembic files (for research analysis). PR
  • DepthMap: remove useless images transpositions. PR, and fix
  • Texturing: Add option to choose the internal colorspace used for color fusion. PR
  • Texturing: Add option to correct exposure values during Texturing. PR
  • FeatureExtraction: include CCTag in the release binaries. PR.
  • Travis: Update libraries dependencies. PR
  • SensorDB: Add more than 100 new models. PR
  • CMake: New doxygen documentation target. PR
  • CMake: Improve usage as third-party library. PR

For more details see all PR merged: https://github.com/alicevision/AliceVision/milestone/30

Release 2.1.0 (2019.01.30)

Release Notes Summary:

  • More complete sensor database and better matching as well as explicit status for lens initialization
  • Add support for rig of cameras. This enables to add more contraints if you make acquisition with multiple synchronized devices.
  • Support for reconstruction with projected light patterns and texturing with another images set.
  • Better estimation of the space to reconstruct to limit the reconstruction zone. This avoid to reconstruct low quality and useless areas around the main object/environment.
  • New option to directly mesh the SfM results. This provides a quick solution to get a draft mesh (without cuda requirement).
  • Reduce IO and intermediate files in MVS part of the pipeline.

Full Release Notes:

  • sensorDB: Update the sensors database with much more models
  • sensorDB: Use FocalLengthIn35mmFilm metadata as a fallback if available
  • sensorDB: Improve matching of metadata make/model with sensor database
  • CameraInit: New management of intrinsics (serial number, error/warning log) with an explicit InstrinsicInitMode enum
  • CameraInit: Fix intrinsics grouping with serial number as expected and add metadata "AliceVision::SensorWidth" (or "AliceVision::SensorWidthEstimated" if estimated from FocalLength/FocalLengthIn35mmFilm)
  • CameraInit: Explicit warning if serial number is missing
  • SfM: Add support for rig of cameras. This information is used as a new constraint in the SfM. This option can now be combined with localBA. You need to use a specific folder hierarchy in the input images files (for instance: “/my/dataset/rig/0/DSLR_0001.JPG”, “/my/dataset/rig/1/DSLR_0001.JPG”) to provide this information.
  • 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.
  • Meshing fusion: New option to use SfM landmarks (mesh from sparse point cloud) or combine them with depth maps
  • Meshing: Add option estimateSpaceFromSfM to better estimate the bounding box of the reconstruction and avoid useless reconstruction of the environment
  • MVS: Reduce IO and intermediate files. Use sfmData in the MVS pipeline (instead of MVS seeds, ini file) and do not export depthmap files before refine
  • ExportAnimatedCamera: Improved solution to export an SfM result into an animated camera
  • PrepareDenseScene: Remove hackish software CameraConnection (now properly done in PrepareDenseScene)
  • PrepareDenseScene: Allow parallelization on renderfarm
  • FeatureExtraction: Add grid filtering in AKAZE (to avoid unmanageable number of keypoints on well textured images)
  • DepthMap: Fix memory leak in SGMVolume
  • Meshing: Fix loading of OBJ with normals
  • System: Improve gpu detection and logging
  • DepthMap: Enable usage of multiple GPUs by default with an option to add a limit
  • DepthMap: Fuse estimate & refine in a single loop (fuse “computeDepthMapsPSSGM” with “refineDepthMaps”) and use the same image cache
  • DepthMap: Remove depthMapInfo files and use image metadata instead
  • DepthMap: Initial refactoring for better readability to prepare the optimization work
  • SfM: Refactoring of localBA (now fused with the standard BA code to avoid redundancy)
  • ConvertSfMFormat: Users can now specify a view whitelist to filter views
  • SfM: The user can provide only one image of the initial pair and it will choose the 2nd image automatically. This allows to ensure that the reconstruction start from a specific part of the scene without choosing the image pair manually.
  • SfMTransform: Allow to choose one view as the origin for the coordinate system
  • SfM Augmentation from known poses: When the sfm starts with existing cameras poses but without landmarks, it now does the triangulation first.
  • LightingEstimation: New module with preliminary low-level methods for lighting estimation (spherical harmonics)
  • MeshDenoising: Fix ignored parameter denoising outer iteration
  • Meshing: Bug fix (infinity loop) in Meshing when the BBox is empty
  • SfM LocalBA: reduce minimum number of images to use sparse BA (change threshold from 100 to 20) to speedup large reconstructions when localBA is used.
  • Minor build fix for compatibility with ceres 2.

Release 2.0.0 (2018.08.09)

Release of the full 3D reconstruction pipeline.

2018.07

  • New Docker images for Centos 7 and Ubuntu 18
  • New "make bundle" for packaging
  • Refactor split sfm / sfmData / sfmDataIO
  • New visibility remapping methods: Push, PullPush
  • Improve texturing quality with better image selection
  • SfM support multiple folders for features and matches
  • PopSiftImageDescriber: no initialization if not used
  • Offline camera tracking improvements
  • Export animated camera ABC
  • Export undistorted images and filter option
  • MeshroomMaya script integration Image Plane
  • Minor fixes in cameraSensors DB search
  • New fallback if no sensor width info available but FocalLengthIn35mmFilm metadata is present
  • ImageMatchingMultiSfM: add “a_a+a_b” option

2018.06

  • SfM Augmentation: lock cameras from the initial reconstruction
  • SfM: Add option in order to disable the cleaning of tracks forks

2018.03

  • Merge the MVS pipeline in the main branch
  • New options for better auto UVs based on geogram (needs reasonable mesh size in input)
  • Use full resolution images in the MVS pipeline: PrepareDenseScene creates full resolution undistorted images, DepthMap computes downscale when loading images and Texturing can be done in full resolution.
  • New depth map fusion with a multi-scale approach (using nanoflann)
  • ImageMatching: Fix conflict if multiple images with the same UID
  • Add SIFT_UPRIGHT as an ImageDescriber

Release 1.0.0 (2018.03.07)

Release of the Structure-From-Motion pipeline.

2018.02

  • Support Raw and Exr input files
  • Texturing: add multithreading / clean iteration over pixels in triangle
  • MVS: use UIDs
  • Major MVS refactoring
  • New Mesh Denoiser and Decimate based on MeshSDFilter
  • Integration of Uncertainty computation step

2018.01

  • Meshing: Remove facets with helper points but limit holes creation
  • Texturing: Don’t modify the topology
  • Meshing: Add an option to keep only the largest facets group
  • cmake: Geogram as a submodule of cmpmvs
  • Update SfM
  • Modify Image Matching
  • SfM Reorientation software
  • Use OpenMP for featureExtraction with a new imageDescriber memory needs estimation
  • Rewrite “Identify the track to triangulate” in triangulateMultiViews_LORANSAC
  • popSIFT directly on floating point images
  • Use relative path for features and matches in SfM
  • Remove cereal dependency
  • Remove static functions in headers
  • MVS: Add namespace per module
  • MVS: Build as dynamic libraries
  • MVS: Remove unneeded intermediate images

2017.12

  • Reduce the amount of storage for intermediate files and improve robustness to kill/restart jobs on renderfarm
  • New software to create simplified versions of the mesh
  • Use OpenImageIO in MVS
  • Use floating point image in texturing

2017.11

  • New Local Bundle Adjustment to speedup SfM on large scenes
  • Retexturing on an external user mesh with a retopology (no visibility information and support user UVs) with a first visibilities remapping method.
  • Add new images to a previous SfM reconstruction
  • Use OpenImageIO in SfM

2017.10

  • Reduce memory usage on Meshing

2017.10

  • SfM: Support for RIG of synchronized cameras/DSLR with a new constraint between rigidly fixed cameras
  • New software utility for 360° cameras

2017.08

  • Tetrahedralization scoring with boost maxflow

2017.07

  • Meshing tetrahedralization with geogram
  • Texturing speedup
  • Rewrite CUDA layer

2017.06

  • SfM: Weighting on image describers to combine them correctly

2017.03

  • MVS: Support for multiple image resolutions

2017.02

  • MVS: Code comments and documentation
  • MVS: Performance improvements
  • Texturing: Fix UV coords
  • MVS: Split Meshing and Texturing steps
  • Texturing: Rewrite edge padding for performance reasons

2017.01

  • MVS: Linux code porting

2016

  • Integration of PopSift: a new GPU SIFT implementation
  • SfM: Add LoRansac
  • SfM: New next best view strategy to promote good repartition in images. Same rule in image pair selection.
  • SfM: Optional filtering of the input tracks with a minimal track length
  • SfM: Optional limitation on the number of input matches from an image pair
  • Sort features and matches
  • FeatureExtraction: Limit the number of features per image with grid filtering to ensure good repartition
  • New software to align reconstructions based on common cameras (using UID)

2015

  • New Alembic file format to store sparse point cloud and cameras
  • Integration of new CCTag markers with CPU and CPU implementations
  • SfM use UID
  • Support for cameras RIG calibration and localization based on opengv
  • Camera lens calibration based on opencv
  • New camera localization module
  • SfM speedup by precomputing tracks visibilities and adjusting BA thresholds
  • New Image Matching based on vocabulary tree approach
  • Features extraction and features matching parallelization on multiple computers for renderfarm usage

2014

  • First public source code release of the SfM pipeline