30 open-source projects similar to mapillary/opensfm, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best OpenSfM alternative.
COLMAP is a 3D scene reconstruction suite and C++ geometry library that implements a full structure-from-motion pipeline. It functions as a GPU-accelerated photogrammetry tool and multi-view stereo framework designed to produce dense 3D geometry and watertight meshes from collections of 2D images. The project distinguishes itself through hardware-accelerated feature extraction and a modular camera modeling system that supports perspective, fisheye, and equirectangular lens types. It employs vocabulary tree image retrieval to efficiently identify similar images in large datasets and provides P
openMVG is a computer vision geometry library and toolkit for multiple view geometry. It serves as a framework for structure from motion and 3D scene reconstruction, providing the tools necessary to recover 3D point clouds and camera poses from collections of 2D images. The library implements both global and incremental structure-from-motion pipelines. It uses geometric algorithms to calculate camera pose estimation and image localization, employing Levenberg-Marquardt bundle adjustment to refine 3D coordinates and camera parameters by minimizing reprojection error. The project covers a broa
openMVS is a multi-view stereo library and photogrammetry pipeline used for 3D scene reconstruction. It transforms Structure from Motion data—specifically camera poses and sparse point clouds—into detailed 3D models consisting of dense point clouds and textured meshes. The project provides a sequence of processing stages to densify point clouds, generate 3D surface meshes, and apply photorealistic textures. It uses multi-view texture blending to map accurate colors onto reconstructed geometry and employs iterative refinement to optimize mesh details. The system includes capabilities for impo
OpenDroneMap (ODM) is an open-source aerial drone photogrammetry pipeline that converts 2D images into georeferenced 3D models, orthophotos, point clouds, and digital elevation maps. At its core, the OpenDroneMap Processing Engine orchestrates a complete Structure-from-Motion workflow, from feature extraction through dense reconstruction and tiled output generation, purpose-built for transforming drone-captured imagery into geospatial data products. The toolkit distinguishes itself through GPU-accelerated SIFT feature extraction using CUDA-capable NVIDIA graphics cards, roughly doubling proce
VGGT is a computer vision framework designed for neural scene reconstruction and 3D environmental modeling. It utilizes a feed-forward neural architecture to process input images, simultaneously inferring camera parameters, depth maps, and point trajectories to generate dense 3D point clouds. The system distinguishes itself by integrating multi-view geometry with temporal tracking, allowing it to maintain spatial consistency across sequential frames. By leveraging pretrained neural backbones, the framework extracts robust visual features that support complex geometric tasks, including the ana
ORB_SLAM2 is a visual simultaneous localization and mapping system that tracks camera movement and builds 3D environments from image data. It functions as a real-time visual odometry tool and sparse 3D reconstructor, computing the position and orientation of a camera while generating a point cloud map of a physical space. The system utilizes a camera relocalization engine to identify a camera's position within a known map after tracking failure or system restarts. It incorporates a spatial tracker to enable the precise insertion and composition of virtual 3D objects into real-world planar reg
A command line toolkit to generate maps, point clouds, 3D models and DEMs from drone, balloon or kite images. 📷
Depth-Anything-3 is a collection of core model implementations for depth prediction, multi-view geometry estimation, and RGB-D spatial pipelines. It includes a monocular depth estimation model for predicting depth maps from single images or video, and a 3D Gaussian splatting generator that predicts parameters to synthesize high-fidelity novel views of a scene. The project provides a multi-view geometry estimator for calculating spatially consistent depth and camera poses across synchronized visual inputs. It also functions as a visual SLAM enhancement tool designed to reduce drift and improve
This project is a Python wrapper for the OpenCV computer vision library, providing a bridge that exposes high-performance C++ functions to the Python programming language. It serves as a collection of tools for real-time image processing, object detection, and machine learning on visual data. The project provides precompiled binary distributions, allowing for the integration of vision capabilities into Python applications without requiring a local C++ compiler. It offers multi-variant package distributions, including headless versions designed for server or cloud environments where a graphica
This project is a PyTorch-based computer vision library and deep learning image processing framework. It provides a collection of neural network architectures designed for visual analysis tasks, specifically focusing on image classification, object detection, and semantic segmentation. The toolset implements diverse methodologies for visual recognition, including anchor-free object detection, regional proposal networks, and heatmap-based keypoint estimation. It utilizes both convolutional neural networks for spatial feature extraction and transformer-based self-attention mechanisms to compute
OpenCVSharp is a .NET library that wraps native OpenCV functions, providing C# developers with access to OpenCV's computer vision capabilities through an API that mirrors the native C/C++ style. It serves as a managed wrapper for image processing, feature detection, object detection, and image manipulation tasks, while also handling automatic disposal of unmanaged OpenCV resources like Mat objects to prevent memory leaks in .NET applications. The library enables keypoint detection and descriptor extraction using algorithms such as AKAZE, BRISK, or FAST, with brute-force or FLANN-based matchin
clmtrackr is a JavaScript computer vision library designed for facial landmark detection and real-time tracking. It implements Constrained Local Models to identify specific coordinate points on a human face within video feeds or static images. The project functions as a real-time face warping engine and expression analysis tool. It can distort facial images via parametric models to create caricatures or identify and label emotional states such as happiness, sadness, anger, and surprise based on feature coordinates. The library covers a broad range of capabilities including automatic and manu
GoCV is a computer vision library and Go language binding for OpenCV. It serves as an image processing toolkit and deep learning inference engine, providing programmatic access to a wide range of algorithms for image manipulation, object detection, and video analysis. The project differentiates itself through high-performance native bindings and hardware acceleration. It utilizes a foreign function interface to map Go calls to C++ functions and includes a hardware-agnostic backend dispatch to route neural network tasks to computation engines such as CUDA and OpenVINO. The library covers a br
mmcv is a foundation library for computer vision based on PyTorch. It provides a comprehensive system for constructing convolutional neural networks, a toolkit for image and video preprocessing, and a collection of high-performance deep learning vision operators. The project is distinguished by its hardware-accelerated kernels for complex operations such as deformable convolutions and region pooling. It features a configuration-driven framework that allows for the dynamic instantiation of network layers and the registration of custom modules without modifying code. The library covers a broad
MultiNeRF is a 3D scene reconstruction suite and framework for training Neural Radiance Fields to synthesize novel views from sets of 2D images. It provides a system for generating new perspectives of a scene by optimizing a neural network based on images and camera poses. The toolkit includes research implementations such as Mip-NeRF 360 and Ref-NeRF for high-fidelity volumetric rendering. It features a structure-from-motion pipeline to calculate camera positions and orientations from image datasets to prepare data for training. The project covers a full workflow for volumetric rendering, i
This project is a web-based platform designed for benchmarking, visualizing, and evaluating computer vision algorithms focused on image feature extraction and matching. It provides a unified interface to compare the performance and accuracy of different models by processing image pairs or live video streams. The system distinguishes itself through a modular architecture that allows users to define custom processing pipelines and register external algorithms via configuration files. It incorporates geometric verification techniques to refine visual data and improve the precision of detected co
Ceres Solver is a C++ library for numerical optimization, specializing in non-linear least squares and unconstrained optimization problems. It serves as a framework for automatic differentiation and robust curve fitting, providing tools to solve large-scale mathematical models. The library is distinguished by its bundle adjustment capabilities, which exploit sparse matrix structures to refine 3D scene points and camera parameters. It utilizes dual-number automatic differentiation to compute derivatives of cost functions, removing the need for manual Jacobian derivation. The project covers a
Meshroom is a node-based photogrammetry software designed to transform collections of two-dimensional images into three-dimensional models and scene geometry. It provides a visual interface for constructing and managing modular data pipelines, allowing users to automate complex computer vision tasks such as feature extraction, depth map estimation, and mesh generation. The software distinguishes itself through a distributed computational framework that dispatches resource-intensive tasks across local hardware or remote render farms. By utilizing a directed acyclic graph execution model, it en
OpenCV is a comprehensive computer vision library designed for real-time performance and cross-platform deployment. It provides a native execution environment that leverages multi-threaded operations and automated memory management to handle intensive computational tasks, including image processing and machine learning model inference. The library distinguishes itself through a data-oriented matrix framework that utilizes proxy-based array abstractions to provide a consistent interface for multidimensional data. By employing factory-pattern algorithm interfaces and runtime type dispatching, i
ccv is a computer vision library written in C designed for high-performance visual analysis. It serves as a framework for image classification, object detection, and the identification of faces, pedestrians, and vehicles. The library distinguishes itself through hardware-accelerated vision and deep learning inference optimizations. It utilizes a quantized tensor processor to transform floating-point data into eight-bit integers and implements integer-quantized attention mechanisms to reduce memory bandwidth and increase data throughput. The project covers a broad range of capabilities, inclu
This project is a collection of neural network models and geometric tools designed for image feature matching, spatial alignment, and visual localization. It provides a pre-trained neural network model for identifying high-accuracy correspondences between sparse image features without requiring local training. The system utilizes a graph neural network matcher that employs attention mechanisms and message passing to learn spatial relationships between image feature points. It integrates a RANSAC camera pose estimator to filter feature matches and calculate the relative spatial transformation
Human is a TensorFlow.js computer vision library used for face, body, and hand tracking within the browser or Node.js. It provides a framework for human pose and gesture tracking, facial recognition, and biometric liveness detection to verify a live human presence. The project distinguishes itself through a full suite of identity and motion tools, including a facial recognition framework that generates embeddings for similarity matching and a background segmenter for separating humans from their environment. It incorporates a liveness detector to prevent spoofing during facial analysis. The
CV-Backbones is a computer vision backbone library and model zoo providing a collection of pre-defined neural network architectures for extracting visual features and processing image data. It serves as a PyTorch vision framework of reusable deep learning components designed for image analysis and visual representation learning. The library focuses on efficient neural network architectures to reduce computational overhead while maintaining feature extraction performance. This is achieved through the implementation of lightweight model designs such as GhostNet and MLP. The project covers a br
ORB_SLAM3 is a visual-inertial SLAM library designed for real-time simultaneous localization and mapping. It provides a framework for tracking camera movement and building 3D maps of environments using monocular, stereo, or RGB-D cameras combined with inertial sensors. The system features a multi-map fusion engine capable of merging separate spatial sessions into a single seamless representation of an environment. It includes specialized processing for wide-angle and fisheye lenses to expand the visual field of view for spatial tracking. The library covers a broad range of spatial intelligen
Slambook is a visual SLAM framework designed for simultaneous localization and mapping. It provides an integrated system to estimate camera motion and reconstruct 3D environments using visual sensor data. The project includes a visual odometry engine to track camera movement and a dense 3D reconstruction tool for creating volumetric representations of scenes. It features a loop closure detection system to recognize previously visited locations and a pose graph optimizer to refine trajectories and ensure global map consistency. The framework covers spatial estimation and environment modeling
node-opencv is a high-performance C++ native addon and bridge that connects Node.js applications to the OpenCV library. It serves as an image processing toolkit and computer vision library, allowing JavaScript code to execute vision algorithms and image manipulation operations through native bindings. The project provides specialized capabilities for face and shape detection, as well as face identity recognition using trained models. It includes tools for object motion tracking through optical flow and background subtraction, along with the ability to identify specific patterns and analyze sh
EasyOCR is a deep learning-based computer vision library designed to perform optical character recognition on images and video frames. It functions as a comprehensive pipeline that automates the transformation of visual text into machine-readable strings, enabling the digitization of physical documents, forms, and receipts into searchable data. The engine distinguishes itself through a multi-stage processing workflow that combines convolutional neural networks for spatial feature extraction with sequence-based decoding mechanisms. This architecture allows the system to identify and interpret
Open3D is a software toolkit designed for the processing, alignment, and reconstruction of three-dimensional data. It functions as a computer vision geometry engine that enables the manipulation of point clouds, meshes, and volumetric grids derived from sensor inputs. The library distinguishes itself through a high-performance computational core that executes geometric processing tasks in native code, paired with a binding layer that exposes these capabilities to high-level languages for rapid prototyping. It provides specialized algorithms for spatial registration, allowing users to merge mu
Gaussian Splatting is a computational framework designed to transform sparse sets of two-dimensional photographs into photorealistic, interactive three-dimensional scene representations. The system functions as a reconstruction tool and rendering engine, enabling the conversion of image data into volumetric models that support novel view synthesis. The project represents scenes as a collection of anisotropic three-dimensional Gaussians, which store position, opacity, color, and covariance data. It distinguishes itself through a differentiable tile-based rasterization process that projects the
4DGaussians is a research library and neural rendering engine designed for reconstructing and rendering dynamic three-dimensional scenes. It represents moving environments as a collection of Gaussian primitives that evolve in position and appearance over a temporal dimension. The framework utilizes neural deformation fields to predict spatial offsets and rotations for static point representations, simulating complex motion over time. It further employs temporal basis decomposition to encode motion trajectories into learned functions, compressing dynamic scene data while maintaining smooth tra