{"repo":"luigifreda/pyslam","free":true,"listed":false,"github":"https://github.com/luigifreda/pyslam","clone":"git clone https://github.com/luigifreda/pyslam.git","description":"pySLAM is a hybrid Python/C++ Visual SLAM pipeline supporting monocular, stereo, and RGB-D cameras. It provides a broad set of modern local and global feature extractors, multiple loop-closure strategies, a volumetric reconstruction module, integrated depth-prediction models, and semantic segmentation capabilities for enhanced scene understanding.","language":"Python","stars":3398,"topics":["3d-reconstruction","depth-estimation","depth-prediction","end-to-end-reconstruction","feature-matching","gaussian-splatting","global-features","instance-segmentation","local-features","loop-closure","place-recognition","rgbd-slam","scene-understanding","semantic-mapping","semantic-segmentation","semantic-understanding","slam","stereo-slam","visual-odometry","volumetric-reconstruction"],"license":"GPL-3.0","category":"dev_tool","readme_excerpt":"<p align=\"center\"><img src=\"./images/pyslam-logo.png\" height=\"160\"></p>\n\n# pySLAM v2.10.6\n\nAuthor: **[Luigi Freda](https://www.luigifreda.com)**\n\n \n**pySLAM** is a hybrid **python/C++** implementation of a *Visual SLAM* pipeline (Simultaneous Localization And Mapping) that supports **monocular**, **stereo** and **RGBD** cameras. It provides the following features in a **single python environment**:\n- A wide range of classical and modern **[local features](#supported-local-features)** with a convenient interface for their integration.\n- Multiple loop closing methods, including **[descriptor aggregators](#supported-global-descriptors-and-local-descriptor-aggregation-methods)** such as visual Bag of Words (*BoW*, *iBow*), Vector of Locally Aggregated Descriptors (*VLAD*) and modern **[global descriptors](#supported-global-descriptors-and-local-descriptor-aggregation-methods)** (image-wise descriptors such as *SAD*, *NetVLAD*, *HDC-Delf*, *CosPlace*, *EigenPlaces*, *Megaloc*).\n- A **[volumetric reconstruction pipeline](#volumetric-reconstruction)** that processes depth and color images using volumetric integration to produce dense reconstructions. It supports different voxel grid models (with semantic support) and **TSDF** with voxel hashing, and incremental **Gaussian Splatting**. \n- Integration of **[depth prediction models](#depth-prediction)** within the SLAM pipeline. These include *DepthPro*, *DepthAnythingV2*, *DepthAnythingV3*, *RAFT-Stereo*, *CREStereo*, etc.  \n- A suite of segmentation models for **[semantic understanding](#semantic-mapping-and-image-segmentation)** of the scene, such as *DeepLabv3*, *Segformer*, *CLIP*, *DETIC*, *EOV-SEG*, *ODISE*, *RFDETR*, *YOLO*, etc.\n- Additional tools for VO (Visual Odometry) and SLAM, with built-in support for both **g2o** and **GTSAM**, along with custom Python bindings for features not available in the original libraries.\n- A modular **sparse-SLAM core**, implemented in **both Python and C++** (with custom pybind11 bindings), allowing users to switch between _high-performance/speed_ and _high-flexibility_ modes. The Python and C++ implementations are interoperable: maps saved by one can be loaded by the other. Further details [here](pyslam/slam/cpp/README.md).\n- A modular pipeline for **end-to-end inference of 3D scenes from multiple images**. Supports models like *DUSt3R*, *Mast3r*, *MV-DUSt3R*, *VGGT*, *Robust VGGT*, *DepthFromAnythingV3*, and *Fast3R*. Further details [here](pyslam/scene_from_views/README.md).\n- Built-in support for over **[10 dataset types](#datasets)**.\n  \npySLAM serves as a flexible baseline framework to experiment with VO/SLAM techniques, *[local features](#supported-local-features)*, *[descriptor aggregators](#supported-global-descriptors-and-local-descriptor-aggregation-methods)*, *[global descriptors](#supported-global-descriptors-and-local-descriptor-aggregation-methods)*, *[volumetric integration](#volumetric-reconstruction-pipeline)*, *[depth prediction](#depth-prediction)* and *[semantic mapping](#semantic-mapping)*. It allows to explore, prototype and develop VO/SLAM pipelines both in Python and C++. pySLAM is a research framework and a work in progress.\n\n**Enjoy it!**\n\n<p align=\"center\">\n  <img src=\"./images/pyslam.gif\" alt=\"pySLAM - Stereo mapping example\" height=\"320\">\n</p>\n\n<p align=\"center\">\n  <img src=\"./images/depth-prediction.png\" alt=\"pySLAM - Depth prediction\" height=\"160\">\n  <img src=\"./images/dense-reconstruction-with-depth-prediction.png\" alt=\"pySLAM - Depth prediction and 3D Reconstruction\" height=\"160\">\n</p>\n\n<p align=\"center\">\n  <img src=\"./images/semantic_mapping.png\" alt=\"pySLAM - Semantic Mapping\" height=\"160\">\n</p>\n\n<p align=\"center\">\n  <img src=\"./images/dense-reconstruction-composition.gif\"\n       alt=\"pySLAM - Dense reconstruction - Gaussian Splatting\"\n       height=\"320\">\n</p>\n\nSee the demo **video** for release v2.10.0\n<p align=\"center\">\n  <a href=\"https://www.youtube.com/watch?v=jzwKByzyqzg\" target=\"_blank\" rel=\"noopener noreferrer\">\n    <img src=\"https://img.youtube.com/vi/jzwKByzyqzg/0.jpg\"\n         alt=\"▶ Video: pySLAM demo v2.10.0\"\n         height=\"300\"/>\n  </a>\n</p>\n\n## Table of contents\n\n<!-- TOC -->\n\n- [pySLAM v2.10.6](#pyslam-v2106)\n  - [Table of contents](#table-of-contents)\n  - [Overview](#overview)\n    - [Main Scripts](#main-scripts)\n    - [System overview](#system-overview)\n  - [Install](#install)\n    - [Main requirements](#main-requirements)\n    - [Ubuntu](#ubuntu)\n    - [macOS](#macos)\n    - [Docker](#docker)\n    - [How to install non-free OpenCV modules](#how-to-install-non-free-opencv-modules)\n    - [Troubleshooting and performance issues](#troubleshooting-and-performance-issues)\n  - [Usage](#usage)\n    - [Visual odometry](#visual-odometry)\n    - [Full SLAM](#full-slam)\n    - [Selecting a dataset and different configuration parameters](#selecting-a-dataset-and-different-configuration-parameters)\n    - [Feature extraction and matching](#feature-extraction-and-matching)\n    - [Loop closing and relocalization](#loop-closing-and-relocalization)\n      - [Vocabulary management](#vocabulary-management)\n      - [Vocabulary-free loop closing](#vocabulary-free-loop-closing)\n      - [Verify your loop detection configuration and verify vocabulary compatibility](#verify-your-loop-detection-configuration-and-verify-vocabulary-compatibility)\n        - [Loop detection method based on a pre-trained vocabulary](#loop-detection-method-based-on-a-pre-trained-vocabulary)\n        - [Missing vocabulary for the selected front-end descriptor type](#missing-vocabulary-for-the-selected-front-end-descriptor-type)\n    - [Volumetric reconstruction](#volumetric-reconstruction)\n      - [Dense reconstruction while running SLAM](#dense-reconstruction-while-running-slam)\n      - [Reload a saved sparse map and perform dense reconstruction](#reload-a-saved-sparse-map-and-perform-dense-reconstruction)\n      - [Reload and check your dense reconstruction](#reload-and-check-your-dense-reconstruction)\n      - [Controlling the spatial distribution of keyframe FOV centers](#controlling-the-spatial-distribution-of-keyframe-fov-centers)\n    - [Depth prediction](#depth-prediction)\n    - [Semantic mapping and Image Segmentation](#semantic-mapping-and-image-segmentation)\n      - [Image Segmentation](#image-segmentation)\n      - [Sparse Semantic Mapping](#sparse-semantic-mapping)\n      - [Volumetric Semantic mapping](#volumetric-semantic-mapping)\n    - [C++ Core Module](#c-core-module)\n    - [Saving and reloading](#saving-and-reloading)\n      - [Save a map](#save-a-map)\n      - [Reload a saved map and relocalize in it](#reload-a-saved-map-and-relocalize-in-it)\n      - [Trajectory saving](#trajectory-saving)\n    - [Graph optimization engines](#graph-optimization-engines)\n    - [SLAM GUI](#slam-gui)\n    - [Unified log monitoring (tracking, mapping, loop closing, volumetric)](#unified-log-monitoring-tracking-mapping-loop-closing-volumetric)\n    - [Evaluating SLAM](#evaluating-slam)\n      - [Run a SLAM evaluation](#run-a-slam-evaluation)\n      - [pySLAM performances and comparative evaluations](#pyslam-performances-and-comparative-evaluations)\n    - [End-to-end inference of 3D scenes from multiple image views](#end-to-end-inference-of-3d-scenes-from-multiple-image-views)\n  - [Supported components and models](#supported-components-and-models)\n    - [Supported local features](#supported-local-features)\n    - [Supported matchers](#supported-matchers)\n    - [Supported global descriptors and local descriptor aggregation methods](#supported-global-descriptors-and-local-descriptor-aggregation-methods)\n        - [Local descriptor aggregation methods](#local-descriptor-aggregation-methods)\n        - [Global descriptors](#global-descriptors)\n    - [Supported depth prediction models](#supported-depth-prediction-models)\n    - [Supported volumetric mapping methods](#supported-volumetric-mapping-methods)\n    - [Supported semantic segmentation methods](#supported-semantic-segmentation-methods)\n    - [Supported models for end-to-end inference of 3D scenes from multiple images](#supported-models-for-end-to-end-inference-of-3d-scenes-from-multiple-images)\n  - [Configuration](#configuration)\n    - [Main configuration file](#main-configuration-file)\n    - [Datasets](#datasets)\n      - [KITTI Datasets](#kitti-datasets)\n      - [TUM Datasets](#tum-datasets)\n      - [ICL-NUIM Datasets](#icl-nuim-datasets)\n      - [EuRoC Datasets](#euroc-datasets)\n      - [Replica Datasets](#replica-datasets)\n      - [Tartanair Datasets](#tartanair-datasets)\n      - [7 Scenes dataset](#7-scenes-dataset)\n      - [Neural RGBD dataset](#neural-rgbd-dataset)\n      - [Rover dataset](#rover-dataset)\n      - [ScanNet Datasets](#scannet-datasets)\n      - [CLIO Datasets](#clio-datasets)\n      - [ROS1 bags](#ros1-bags)\n      - [ROS2 bags](#ros2-bags)\n      - [MCAP files](#mcap-files)\n      - [Video and Folder Datasets](#video-and-folder-datasets)\n    - [Camera Settings](#camera-settings)\n  - [References](#references)\n  - [Credits](#credits)\n  - [License](#license)\n  - [Contributing to pySLAM](#contributing-to-pyslam)\n  - [Roadmap](#roadmap)\n\n<!-- /TOC -->\n\n## Overview\n \n```bash\n├── cpp         # Pybind11 C++ bindings to slam utilities \n│   ├── hamming     # SIMD-optimized Hamming distance calculator for uint8 binary descriptors with zero-copy Python bindings.\n│   ├── glutils     # OpenGL utilities for drawing points, cameras, etc.\n│   ├── solvers     # PnP and Sim3 solvers for camera pose estimation \n│   ├── volumetric  # Volumetric mapping with parallel block-based voxel hashing, templates, carving, and semantics support.\n│   ├── trajectory  # Trajectory alignment helpers\n├── data       # Sample input/output data\n├── docs       # Documentation files\n├── pyslam     # Core Python package\n│   ├── dense\n│   ├── depth_estimation\n│   ├── evaluation\n│   ├── io\n│   ├── local_features\n│   ├── loop_closing\n│   ├── scene_from_views # Unified 3D scene reconstruction from multiple views\n│   ├── semantic","default_branch":"master","files":5575,"tree":[".clang-format",".clang-tidy",".cursorignore",".github/FUNDING.yml",".gitignore",".gitmodules",".vscode/c_cpp_properties.json",".vscode/settings.json","CITATION.cff","LICENSE","README.md","bash_utils.sh","build_cpp_core.sh","calibration/calib_pattern.pdf","calibration/calibrate.py","calibration/grab_chessboard_images.py","calibration/save_video.py","calibration/webcam.py","clean.sh","config.yaml","config_libs.yaml","config_parameters.py","cpp/CMakeLists.txt","cpp/LICENSE","cpp/README.md","cpp/build.sh","cpp/casters/README.md","cpp/casters/old_versions/opencv_type_casters_v0.h","cpp/casters/old_versions/opencv_type_casters_v1.h","cpp/casters/opencv_type_casters.h","cpp/clean.sh","cpp/color_utils/color_utils.cpp","cpp/color_utils/color_utils.h","cpp/color_utils/color_utils_module.cpp","cpp/cv2/cv2_pyslam_module.cpp","cpp/glutils/README.md","cpp/glutils/glmesh.h","cpp/glutils/glmesh_bindings.h","cpp/glutils/globject.h","cpp/glutils/globject_bindings.h","cpp/glutils/glpoint_cloud.h","cpp/glutils/glpoint_cloud_bindings.h","cpp/glutils/glutils_bindings.cpp","cpp/glutils/glutils_bindings.h","cpp/glutils/glutils_bindings_common.h","cpp/glutils/glutils_bindings_utils.h","cpp/glutils/glutils_camera.h","cpp/glutils/glutils_drawing.cpp","cpp/glutils/glutils_drawing.h","cpp/glutils/glutils_gl_includes.h","cpp/glutils/glutils_module.cpp","cpp/glutils/glutils_opaque_types.h","cpp/glutils/glutils_utils.h","cpp/hamming/README.md","cpp/hamming/hamming_module.cpp","cpp/kitti06-436.png","cpp/pybind11","cpp/solvers/MLPnPsolver.cpp","cpp/solvers/MLPnPsolver.h","cpp/solvers/PnPsolver.cpp","cpp/solvers/PnPsolver.h","cpp/solvers/Random.cpp","cpp/solvers/Random.h","cpp/solvers/Sim3PointRegistrationSolver.cpp","cpp/solvers/Sim3PointRegistrationSolver.h","cpp/solvers/Sim3Solver.cpp","cpp/solvers/Sim3Solver.h","cpp/solvers/pnpsolver_module.cpp","cpp/solvers/sim3solver_module.cpp","cpp/test_glutils_hello_pangolin.py","cpp/test_glutils_simple_display_menu.py","cpp/test_glutils_simple_draw.py","cpp/test_opencv_casters/CMakeLists.txt","cpp/test_opencv_casters/README.md","cpp/test_opencv_casters/bench_opencv_casters.cpp","cpp/test_opencv_casters/build.sh","cpp/test_opencv_casters/clean.sh","cpp/test_opencv_casters/opencv_type_casters.h","cpp/test_opencv_casters/pybind11","cpp/test_opencv_casters/run_tests.sh","cpp/test_opencv_casters/test_bindings.cpp","cpp/test_opencv_casters/test_casters.py","cpp/test_pnpsolver.py","cpp/test_sim3_point_registration_solver.py","cpp/test_sim3solver.py","cpp/test_volumetric.py","cpp/test_volumetric_bounding_boxes.py","cpp/test_volumetric_voxel_semantic.py","cpp/trajectory/trajectory_alignement_incremental.h","cpp/trajectory/trajectory_alignment.h","cpp/trajectory/trajectory_tools_module.cpp","cpp/utils/utils.cpp","cpp/utils/utils.h","cpp/utils/utils_module.cpp","cpp/volumetric/README.md","cpp/volumetric/bounding_boxes.h","cpp/volumetric/bounding_boxes_2d.cpp","cpp/volumetric/bounding_boxes_2d.h","cpp/volumetric/bounding_boxes_3d.cpp","cpp/volumetric/bounding_boxes_3d.h","cpp/volumetric/bounding_boxes_module.h","cpp/volumetric/camera_frustrum.cpp","cpp/volumetric/camera_frustrum.h","cpp/volumetric/camera_frustrum_module.h","cpp/volumetric/eigen_module.h","cpp/volumetric/image_utils.h","cpp/volumetric/image_utils_module.h","cpp/volumetric/tbb_utils.h","cpp/volumetric/volumetric_grid_module.h","cpp/volumetric/volumetric_module.cpp","cpp/volumetric/volumetric_opaque_bindings.h","cpp/volumetric/volumetric_opaque_types.h","cpp/volumetric/voxel_block.h","cpp/volumetric/voxel_block_grid.h","cpp/volumetric/voxel_block_grid.hpp","cpp/volumetric/voxel_block_semantic_grid.h","cpp/volumetric/voxel_block_semantic_grid.hpp","cpp/volumetric/voxel_data.h","cpp/volumetric/voxel_data_semantic.h","cpp/volumetric/voxel_data_semantic2.h","cpp/volumetric/voxel_grid.h","cpp/volumetric/voxel_grid.hpp","cpp/volumetric/voxel_grid_carving.h","cpp/volumetric/voxel_grid_data.h","cpp/volumetric/voxel_grid_data_module.h","cpp/volumetric/voxel_grid_simd.hpp","cpp/volumetric/voxel_hashing.h","cpp/volumetric/voxel_semantic_data_association.h","cpp/volumetric/voxel_semantic_grid.h","cpp/volumetric/voxel_semantic_grid.hpp","cpp/volumetric/voxel_semantic_shared_data.h","cuda_config.sh","data/.placeholder","data/images/desk_detic.jpeg","data/test_data","data/videos/kitti00/00.txt","data/videos/kitti00/groundtruth.txt","data/videos/kitti00/times.txt","data/videos/kitti00/video.mp4","data/videos/kitti06/06.txt","data/videos/kitti06/groundtruth.txt","data/videos/kitti06/times.txt","data/videos/kitti06/video.mp4","data/videos/kitti06/video_color.mp4","data/vocabulary_config.json","docs/CONDA.md","docs/MAC.md","docs/PIXI.md","docs/PYTHON-VIRTUAL-ENVS.md","docs/README.md","docs/TROUBLESHOOTING.md","docs/evaluations/EVAL_EUROC/evaluation_euroc.json","docs/evaluations/EVAL_EUROC/report.html","docs/evaluations/EVAL_EUROC/report.pdf","docs/evaluations/EVAL_EUROC/report.tex","docs/evaluations/EVAL_EUROC/table_max.csv","docs/evaluations/EVAL_EUROC/table_percent_lost.csv","docs/evaluations/EVAL_EUROC/table_rmse.csv","docs/evaluations/EVAL_KITTI/evaluation_kitti.json","docs/evaluations/EVAL_KITTI/report.html","docs/evaluations/EVAL_KITTI/report.pdf","docs/evaluations/EVAL_KITTI/report.tex","docs/evaluations/EVAL_KITTI/table_max.csv","docs/evaluations/EVAL_KITTI/table_percent_lost.csv","docs/evaluations/EVAL_KITTI/table_rmse.csv","docs/evaluations/EVAL_TUM/evaluation_tum.json","docs/evaluations/EVAL_TUM/report.html","docs/evaluations/EVAL_TUM/report.pdf","docs/evaluations/EVAL_TUM/report.tex","docs/evaluations/EVAL_TUM/table_max.csv","docs/evaluations/EVAL_TUM/table_percent_lost.csv","docs/evaluations/EVAL_TUM/table_rmse.csv","docs/evaluations/evaluations.md","docs/images/README.md","docs/images/depth_estimator.md","docs/images/depth_estimator.png","docs/images/feature_matcher.md","docs/images/feature_matcher.png","docs/images/feature_tracker.md","docs/images/feature_tracker.png","docs/images/loop_detector.md","docs/images/loop_detector.png","docs/images/scene_from_views.md","docs/images/scene_from_views.png","docs/images/semantic_mapping.md","docs/images/semantic_mapping.png","docs/images/slam_components.md","docs/images/slam_components.png","docs/images/slam_workflow.md","docs/images/slam_workflow.png","docs/images/volumetric_integrator.md","docs/images/volumetric_integrator.png","docs/pyslam-semantic.pdf","docs/pyslam.pdf","docs/scene_from_views.md","docs/semantics.md","docs/system_overview.md","docs/tex/.gitignore","docs/tex/README.md","docs/tex/bibliography.bib","docs/tex/document.pdf","docs/tex/document.tex","docs/tex/images","docs/tex/images_tex/local_features_timeline.png","docs/tex/images_tex/pyslam-teaser-rect.png","docs/volumetric_mapping.md","images/3d_dense_semantic_mapping.png","images/3d_sparse_semantic_mapping.jpeg","images/RGBD.png","images/RGBD2.png","images/STEREO.png","images/dense-reconstruction-composition.gif","images/dense-reconstruction-euroc-width-depth-prediction.png","images/dense-reconstruction-euroc-with-depth-prediction-gsm.png","images/dense-reconstruction-tum-gsm.png","images/dense-reconstruction-with-depth-prediction.png","images/dense-reconstruction1.png","images/dense-reconstruction2.png","images/depth-prediction.png","images/evaluations.png","images/feature-matching.png","images/kitti-stereo.png","images/loop-detection2.png","images/main-feature-matching.png","images/main-rerun-vo-and-matching.png","images/main-slam-kitti-map.png","images/main-slam-kitti-map2.png","images/main-slam-kitti-map3.png","images/main-slam-kitti-map4.png","images/main-slam.png","images/main-vo-rerun.png","images/mast3r-maching.png","images/pyslam-logo.png","images/pyslam.gif","images/scene_from_views.png","images/semantic_image_segmentation.png","images/semantic_mapping.png","install_all.sh","logs/.placeholder","main_depth_prediction.py","main_feature_matching.py","main_map_dense_reconstruction.py","main_map_viewer.py","main_scene_from_views.py","main_semantic_image_segmentation.py","main_slam.py","main_slam_evaluation.py","main_vo.py","pixi.lock","pixi.toml","pyenv-activate.sh","pyenv-create.sh","pyenv-delete.sh","pyproject.toml","pyslam/__init__.py","pyslam/config.py","pyslam/config_parameters.py","pyslam/dense/__init__.py","pyslam/dense/volumetric_integrator_base.py","pyslam/dense/volumetric_integrator_factory.py","pyslam/dense/volumetric_integrator_gaussian_splatting.py","pyslam/dense/volumetric_integrator_tsdf.py","pyslam/dense/volumetric_integrator_types.py","pyslam/dense/volumetric_integrator_voxel_grid.py","pyslam/dense/volumetric_integrator_voxel_semantic_grid.py","pyslam/depth_estimation/TODO.md","pyslam/depth_estimation/__init__.py","pyslam/depth_estimation/depth_estimator_base.py","pyslam/depth_estimation/depth_estimator_crestereo_megengine.py","pyslam/depth_estimation/depth_estimator_crestereo_pytorch.py","pyslam/depth_estimation/depth_estimator_depth_anything_v2.py","pyslam/depth_estimation/depth_estimator_depth_anything_v3.py","pyslam/depth_estimation/depth_estimator_depth_pro.py","pyslam/depth_estimation/depth_estimator_factory.py","pyslam/depth_estimation/depth_estimator_mast3r.py","pyslam/depth_estimation/depth_estimator_mvdust3r.py","pyslam/depth_estimation/depth_estimator_raft_stereo.py","pyslam/evaluation/__init__.py","pyslam/evaluation/configs/config.template.yaml","pyslam/evaluation/configs/evaluation.json","pyslam/evaluation/configs/evaluation_euroc.json","pyslam/evaluation/configs/evaluation_kitti.json","pyslam/evaluation/configs/evaluation_tum.json","pyslam/evaluation/slam_evaluation_manager.py","pyslam/io/README.md","pyslam/io/__init__.py","pyslam/io/colmap_io.py","pyslam/io/convert_groundtruth_to_simple.py","pyslam/io/convert_kitti_groundtruth_to_simple.py","pyslam/io/dataset.py","pyslam/io/dataset_factory.py","pyslam/io/dataset_types.py","pyslam/io/frame_cache.py","pyslam/io/generate_euroc_groundtruths_as_tum.sh","pyslam/io/ground_truth.py","pyslam/io/mcap/__init__.py","pyslam/io/mcap/mcap_image_previewer.py","pyslam/io/mcap/mcap_message_syncer.py","pyslam/io/mcap/mcap_reader.py","pyslam/io/mcap/mcap_summary.py","pyslam/io/mcap/mcap_writer.py","pyslam/io/mcap/ros2_decoder.py","pyslam/io/mcap/ros2_encoder.py","pyslam/io/mcap/ros2_schemas.py","pyslam/io/mcap_dataset.py","pyslam/io/multiply_timestamps.py","pyslam/io/ros1bag_dataset.py","pyslam/io/ros2bag_dataset.py","pyslam/io/ros2bag_dataset_via_ros1.py","pyslam/io/scannetv2-labels.combined.tsv","pyslam/io/trajectory_writer.py","pyslam/local_features/__init__.py","pyslam/local_features/feature_aliked.py","pyslam/local_features/feature_base.py","pyslam/local_features/feature_contextdesc.py","pyslam/local_features/feature_d2net.py","pyslam/local_features/feature_delf.py","pyslam/local_features/feature_disk.py","pyslam/local_features/feature_geodesc.py","pyslam/local_features/feature_hardnet.py","pyslam/local_features/feature_keynet.py","pyslam/local_features/feature_keynet_affnet_hardnet.py","pyslam/local_features/feature_keynet_old.py","pyslam/local_features/feature_l2net.py","pyslam/local_features/feature_l2net_keras.py","pyslam/local_features/feature_lfnet.py","pyslam/local_features/feature_lightglue_sift.py","pyslam/local_features/feature_logpolar.py","pyslam/local_features/feature_manager.py","pyslam/local_features/feature_manager_adaptors.py","pyslam/local_features/feature_manager_configs.py","pyslam/local_features/feature_mast3r.py","pyslam/local_features/feature_matcher.py","pyslam/local_features/feature_orbslam2.py","pyslam/local_features/feature_r2d2.py","pyslam/local_features/feature_root_sift.py","pyslam/local_features/feature_shitomasi.py","pyslam/local_features/feature_sosnet.py","pyslam/local_features/feature_superpoint.py","pyslam/local_features/feature_tfeat.py","pyslam/local_features/feature_tracker.py","pyslam/local_features/feature_tracker_configs.py","pyslam/local_features/feature_types.py","pyslam/local_features/feature_xfeat.py","pyslam/loop_closing/global_feature_megaloc.py","pyslam/loop_closing/keyframe_database.py","pyslam/loop_closing/loop_closing.py","pyslam/loop_closing/loop_detecting_process.py","pyslam/loop_closing/loop_detector_base.py","pyslam/loop_closing/loop_detector_configs.py","pyslam/loop_closing/loop_detector_database.py","pyslam/loop_closing/loop_detector_dbow2.py","pyslam/loop_closing/loop_detector_dbow3.py","pyslam/loop_closing/loop_detector_ibow.py","pyslam/loop_closing/loop_detector_obindex2.py","pyslam/loop_closing/loop_detector_score.py","pyslam/loop_closing/loop_detector_vlad.py","pyslam/loop_closing/loop_detector_vocabulary.py","pyslam/loop_closing/loop_detector_vpr.py","pyslam/loop_closing/vlad.py","pyslam/scene_from_views/README.md","pyslam/scene_from_views/__init__.py","pyslam/scene_from_views/helpers/__init__.py","pyslam/scene_from_views/helpers/camera.py","pyslam/scene_from_views/helpers/canonical_views.py","pyslam/scene_from_views/helpers/geometry.py","pyslam/scene_from_views/helpers/image.py","pyslam/scene_from_views/helpers/loss.py","pyslam/scene_from_views/helpers/matching.py","pyslam/scene_from_views/helpers/parameters.py","pyslam/scene_from_views/helpers/pointcloud.py","pyslam/scene_from_views/helpers/sparse_ga.py","pyslam/scene_from_views/helpers/spectral.py","pyslam/scene_from_views/images/scene_from_views.png","pyslam/scene_from_views/optimizers/__init__.py","pyslam/scene_from_views/optimizers/dense_scene_optimizer.py","pyslam/scene_from_views/optimizers/learning_rate_schedules.py","pyslam/scene_from_views/optimizers/point_cloud_optimizer.py","pyslam/scene_from_views/optimizers/scene_optimizer_base.py","pyslam/scene_from_views/optimizers/scene_optimizer_config.py","pyslam/scene_from_views/optimizers/scene_optimizer_factory.py","pyslam/scene_from_views/optimizers/scene_optimizer_io.py","pyslam/scene_from_views/optimizers/sparse_scene_optimizer.py","pyslam/scene_from_views/optimizers/tsdf_postprocess.py","pyslam/scene_from_views/scene_from_views_base.py","pyslam/scene_from_views/scene_from_views_depth_anything_v3.py","pyslam/scene_from_views/scene_from_views_dust3r.py","pyslam/scene_from_views/scene_from_views_factory.py","pyslam/scene_from_views/scene_from_views_fast3r.py","pyslam/scene_from_views/scene_from_views_mast3r.py","pyslam/scene_from_views/scene_from_views_mvdust3r.py","pyslam/scene_from_views/scene_from_views_types.py","pyslam/scene_from_views/scene_from_views_vggt.py","pyslam/scene_from_views/scene_from_views_vggt_robust.py","pyslam/semantics/__init__.py","pyslam/semantics/cpp/py_module/semantic_mapping_shared_resources_module.h","pyslam/semantics/cpp/semantic_colormap.cpp","pyslam/semantics/cpp/semantic_colormap.h","pyslam/semantics/cpp/semantic_fusion_methods.cpp","pyslam/semantics/cpp/semantic_fusion_methods.h"],"storefront":"/r/luigifreda","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/luigifreda/pyslam/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}