MMDepth is an open-source toolbox designed to unify various depth estimation approaches within a single framework. Built on PyTorch and the MMEngine infrastructure, it aims to provide a comprehensive solution for monocular, stereo, and multi-view depth estimation tasks. This project follows the modular design philosophy of the OpenMMLab ecosystem, allowing researchers and developers to easily implement, compare, and build upon state-of-the-art depth estimation algorithms.
Note: MMDepth is currently in its initial development phase. The repository structure, core interfaces, and basic functionalities are being established. Most algorithms listed in the documentation are planned for implementation in future updates. Your patience and understanding are appreciated as we continue to develop this project.
We are actively looking for collaborators who are passionate about depth estimation to join this project! Whether you're experienced in depth estimation research, familiar with the MMEngine framework, or simply enthusiastic about computer vision, your contributions would be valuable. Please check our CONTRIBUTING.md for more details on how to get involved, or open an issue to discuss your ideas and suggestions.
- Support for monocular, stereo, and multi-view depth estimation methods
- Modular design for easy extension and customization
- Standardized training and evaluation pipelines
- Comprehensive benchmarking on standard datasets
- Detailed documentation and tutorials
the project structure is designed following established practices from the OpenMMLab ecosystem, particularly referencing:
- MMEngine Template: Provides the foundational modular design pattern
- MMDetection: For task-specific organization patterns
This structure follows a modular, registry-based design that enables flexibility and extensibility. The organization separates core components (models, datasets, evaluation metrics) while maintaining a consistent interface between modules. This approach facilitates easy integration of new algorithms, datasets, and metrics while ensuring backward compatibility.
β βββ version.py # Version information
β βββ datasets/ # Dataset loading and processing utilities
β β βββ pipline/ # Data processing pipelines
β βββ engine/ # Core runtime components
β β βββ hook/ # Training/validation process hooks
β β βββ logging/ # Logging utilities
β βββ evaluation/ # Evaluation tools
β β βββ metrics/ # Evaluation metrics
β βββ fileio/ # File I/O handlers for various formats
β βββ infer/ # Inference tools and utilities
β βββ models/ # Model implementations
β β βββ mono_depth/ # Monocular depth estimation models
β β βββ mvstereo/ # Multi-view stereo models
β β βββ stereo/ # Stereo matching models
β βββ registry/ # Component registry system
β βββ structures/ # Data structures for depth representation
β βββ tests/ # Unit tests
β βββ utils/ # Utility functions
β βββ visualization/ # Visualization tools
You can generate the complete project structure tree using:
python /mmdepth/tools/gen_dirtree.py --project_path /path/to/project --output_file project_tree.txtThis project is released under the Apache 2.0 license.