MSVM (Minimum Separation Vector Mapping)
August 20, 2026 ยท View on GitHub
MSVM (Minimum Separation Vector Mapping)
Welcome to the Minimum Separation Vector Mapping (MSVM) project! This repository contains the implementation of an innovative machine learning approach developed by Ultralytics for geospatial information fusion and video analytics. MSVM is designed to enhance situational awareness in intelligence, surveillance, and reconnaissance (ISR) applications, showcasing early work in advanced computer vision techniques.
๐ Description
The MSVM technique, originally presented in our SPIE Defense + Security 2014 paper, utilizes sophisticated algorithms to map and analyze motion imagery specifically for ISR tasks. This method focuses on fusing geospatial data with video streams to provide deeper insights. For a comprehensive understanding, please consult the original publication:
Jocher, G., et al. "Minimum Separation Vector Mapping (MSVM)." Proc. SPIE 9089, Geospatial InfoFusion and Video Analytics IV; and Motion Imagery for ISR and Situational Awareness II, 90890A (2014). DOI: 10.1117/12.2053833
๐ง Requirements
To run the MSVM codebase, you need MATLAB R2018a or newer, along with specific toolboxes. Follow these setup steps:
-
Clone Common Functions: Get the Ultralytics common MATLAB functions repository:
git clone https://github.com/ultralytics/functions-matlab -
Add to MATLAB Path: Add this repository and the cloned common-functions repository to your MATLAB environment path using these commands in MATLAB:
addpath(genpath('/path/to/msvm')) addpath(genpath('/path/to/functions-matlab'))Replace
/path/to/msvmand/path/to/functions-matlabwith the actual paths where you cloned the repositories. -
Install Required Toolboxes: Ensure the following MATLAB toolboxes are installed:
Statistics and Machine Learning ToolboxSignal Processing ToolboxOptimization ToolboxComputer Vision Toolbox
These toolboxes provide essential functions used by the MSVM algorithms.
โถ๏ธ Running the Code
To execute the MSVM estimators, open MATLAB, navigate to the project directory, and run the main entry point from Simulated Videos/runEstimators.m:
runEstimators
This command will start the MSVM analysis process, generating output related to geospatial information fusion and video analytics based on the provided data.
Here is an example visualization of the expected results:

๐ก Contribute
Ultralytics thrives on community collaboration, and we deeply value your contributions! Whether it's reporting bugs, suggesting features, or submitting code changes, your involvement is crucial.
- Reporting Issues: Encounter a bug? Please report it on GitHub Issues.
- Feature Requests: Have an idea for improvement? Share it via GitHub Issues.
- Pull Requests: Want to contribute code? Please read our Contributing Guide first, then submit a Pull Request.
- Feedback: Share your thoughts and experiences by participating in our official Survey.
A heartfelt thank you ๐ goes out to all our contributors! Your efforts help make Ultralytics tools better for everyone.
๐ License
Ultralytics offers two licensing options to accommodate diverse needs:
- AGPL-3.0 License: Ideal for students, researchers, and enthusiasts passionate about open collaboration and knowledge sharing. This OSI-approved open-source license promotes transparency and community involvement. See the LICENSE file for details.
- Enterprise License: Designed for commercial applications, this license permits the seamless integration of Ultralytics software and AI models into commercial products and services, bypassing the copyleft requirements of AGPL-3.0. For commercial use cases, please inquire about an Ultralytics Enterprise License.
๐ฎ Contact
For bug reports or feature suggestions, please use GitHub Issues. For general questions, discussions, and community support, join our Discord server!







