All Projects → alyssaq → 3dreconstruction

alyssaq / 3dreconstruction

3D reconstruction, sfm with Python3

Programming Languages

python
139335 projects - #7 most used programming language
python3
1442 projects

Projects that are alternatives of or similar to 3dreconstruction

cv-arxiv-daily
🎓Automatically Update CV Papers Daily using Github Actions (Update Every 12th hours)
Stars: ✭ 216 (+1.41%)
Mutual labels:  sfm, 3d-reconstruction
Computervisiondatasets
Stars: ✭ 207 (-2.82%)
Mutual labels:  3d-reconstruction, sfm
Openmvg
open Multiple View Geometry library. Basis for 3D computer vision and Structure from Motion.
Stars: ✭ 3,902 (+1731.92%)
Mutual labels:  3d-reconstruction, sfm
simple-sfm
A readable implementation of structure-from-motion
Stars: ✭ 19 (-91.08%)
Mutual labels:  sfm, 3d-reconstruction
slam-python
SLAM - Simultaneous localization and mapping using OpenCV and NumPy.
Stars: ✭ 80 (-62.44%)
Mutual labels:  numpy, 3d-reconstruction
Dagsfm
Distributed and Graph-based Structure from Motion
Stars: ✭ 269 (+26.29%)
Mutual labels:  3d-reconstruction, sfm
Opensfm
Open source Structure-from-Motion pipeline
Stars: ✭ 2,342 (+999.53%)
Mutual labels:  3d-reconstruction, sfm
Fashion Recommendation
A clothing retrieval and visual recommendation model for fashion images.
Stars: ✭ 193 (-9.39%)
Mutual labels:  numpy
Python Novice Inflammation
Programming with Python
Stars: ✭ 199 (-6.57%)
Mutual labels:  numpy
Pixel2meshplusplus
Pixel2Mesh++: Multi-View 3D Mesh Generation via Deformation. In ICCV2019.
Stars: ✭ 188 (-11.74%)
Mutual labels:  3d-reconstruction
Rootpy
A pythonic interface for the ROOT libraries on top of the PyROOT bindings.
Stars: ✭ 186 (-12.68%)
Mutual labels:  numpy
Pybotics
The Python Toolbox for Robotics
Stars: ✭ 192 (-9.86%)
Mutual labels:  numpy
Alyn
Detect and fix skew in images containing text
Stars: ✭ 202 (-5.16%)
Mutual labels:  numpy
Xtensor
C++ tensors with broadcasting and lazy computing
Stars: ✭ 2,453 (+1051.64%)
Mutual labels:  numpy
Tsalib
Tensor Shape Annotation Library (numpy, tensorflow, pytorch, ...)
Stars: ✭ 209 (-1.88%)
Mutual labels:  numpy
Cheatsheets Ai
Essential Cheat Sheets for deep learning and machine learning researchers https://medium.com/@kailashahirwar/essential-cheat-sheets-for-machine-learning-and-deep-learning-researchers-efb6a8ebd2e5
Stars: ✭ 14,095 (+6517.37%)
Mutual labels:  numpy
Gluon Nlp
NLP made easy
Stars: ✭ 2,344 (+1000.47%)
Mutual labels:  numpy
Pyresample
Geospatial image resampling in Python
Stars: ✭ 188 (-11.74%)
Mutual labels:  numpy
Horizonnet
Pytorch implementation of HorizonNet: Learning Room Layout with 1D Representation and Pano Stretch Data Augmentation.
Stars: ✭ 195 (-8.45%)
Mutual labels:  3d-reconstruction
Nptyping
💡 Type hints for Numpy
Stars: ✭ 204 (-4.23%)
Mutual labels:  numpy

3D reconstruction

3D reconstruction from 2D images pipeline

Steps:

  1. Detect 2D points
  2. Match 2D points across 2 images
  3. Epipolar geometry
    3a. If both intrinsic and extrinsic camera parameters are known, reconstruct with projection matrices.
    3b. If only the intrinsic parameters are known, normalize coordinates and calculate the essential matrix.
    3c. If neither intrinsic nor extrinsic parameters are known, calculate the fundamental matrix.
  4. With fundamental or essential matrix, assume P1 = [I 0] and calulate parameters of camera 2.
  5. Triangulate knowing that x1 = P1 * X and x2 = P2 * X.
  6. Bundle adjustment to minimize reprojection errors and refine the 3D coordinates.

Note: Steps and code in this repo is my hobby / learning exercise. Ie, its probably not very efficient. If you wish to use a more production-ready library, check out OpenCV's SFM module. I have a docker environment for it at: https://github.com/alyssaq/reconstruction

Prerequisites

Example 3D cube reconstruction

$ python3 cube_reconstruction.py

Example Dino 3D reconstruction from 2D images

Download images from http://www.robots.ox.ac.uk/~vgg/data/data-mview.html and place into imgs/dinos

$ python3 example.py

Detected points and matched across 2 images.

3D reconstructed dino with essential matrix

3D to 2D Projection

$ python3 camera.py

3D points of model house from Oxford University VGG datasets.

Projected points

Datasets

References

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].