This repository contains core algorithm implementations and theoretical explorations in Computer Vision, completed during my graduate studies at the Graduate School of Information Science and Electrical Engineering, Kyushu University.
The project primarily focuses on Camera Geometry, Multiple View Geometry, and 3D Reconstruction. Through mathematical derivations and Python/OpenCV coding practices, this repository covers classic computer vision pipelines—from low-level image feature extraction to high-level Structure from Motion (SfM) and Visual Odometry.
- Camera Models: Pinhole Camera Model and Intrinsic/Extrinsic parameter matrix mapping.
- Self-Calibration: Camera self-calibration theory based on the Kruppa Equation.
- Projection Models: Analysis of linear models including Weak-perspective and Orthogonal projection.
- Matrix Computation: Theory and calculation of the Fundamental Matrix and Essential Matrix.
- Algorithm Implementation: The classic 8-point Algorithm and depth estimation using Epipolar Plane Images (EPI).
- Feature Extraction: OpenCV-based implementations of ORB, SIFT, and Harris Corner detection.
- Feature Tracking: Continuous video frame tracking using the KLT (Kanade-Lucas-Tomasi) Optical Flow method.
- Factorization Method: The Tomasi-Kanade Factorization Method for separating the Shape Matrix and Motion Matrix.
- Non-linear Optimization: Bundle Adjustment minimizing reprojection error using the Levenberg-Marquardt algorithm.
- System Comparison: Theoretical equivalence and engineering differences between V-SLAM (Simultaneous Localization and Mapping) and SfM.
It is recommended to use Python 3.8+ and install the following dependencies:
pip install -r requirements.txt