https://github.com/hpennington/mono-visual-odometry
Monocular Visual Odometry in NumPy
https://github.com/hpennington/mono-visual-odometry
computer-vision numpy opencv python
Last synced: about 2 months ago
JSON representation
Monocular Visual Odometry in NumPy
- Host: GitHub
- URL: https://github.com/hpennington/mono-visual-odometry
- Owner: hpennington
- License: mit
- Created: 2022-11-13T02:28:11.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-12-25T19:39:46.000Z (over 2 years ago)
- Last Synced: 2025-03-13T08:27:12.267Z (over 1 year ago)
- Topics: computer-vision, numpy, opencv, python
- Language: Jupyter Notebook
- Homepage:
- Size: 87.2 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README

# Monocular visual odometry
A Work in Progress implementation of visual odometry in numpy. Currently aided by some opencv functions. The plan is to remove these and implement with purely numpy.
#### Functions to implement in native numpy
- [ ] goodFeaturesToTrack
- [x] ransac
- [x] FundamentalMatrixTransform
- [ ] Brute-Force Matcher (BFMatcher)
- [ ] Compute ORB feature descriptors
- [x] triangulate
- [x] extract_pose (Needs refactoring for deciding ambiguities)
- [x] fundamentalToEssential
- [x] make_homogeneous
## Setup
```bash
conda env create -f environment.yml
conda activate pyvo
```
My suggestion is to open src/visual_odometry.ipynb in VS Code.
Any web browser and jupyter notebook will work, but I find that VS Code make the nicest notebook environment.
## Demo
Press 'q' to end the demo sooner than the full duration.
### Feature matches
The red and green points represent the detected feature in the current and previous frame. A blue line is draw between these points.

### Integrated pose plot
Red is the ground truth and green is the predicted pose

### Point cloud
Open the point cloud in the open3d app. http://www.open3d.org/download/
