Skip to content

yhyuan/3dv_tutorial

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

An Invitation to 3D Vision: A Tutorial for Everyone

An Invitation to 3D Vision is a introductory tutorial on 3D vision (a.k.a. visual geometry or geometric vision). It aims to make beginners understand basic theory of 3D vision and implement their own applications using OpenCV. In addition to tutorial slides, we provide a set of example codes. The example codes are written as short as possible (mostly less than 100 lines) to improve readability and involve many interesting and practical applications.

What does its name come from?

  • The main title, An Invitation to 3D Vision, came from a legendary book by Yi Ma, Stefano Soatto, Jana Kosecka, and Shankar S. Sastry. We wish that our tutorial will be the first gentle invitation card for beginners in 3D vision and explorers from other fields.
  • The subtitle, for everyone, was inspired from Prof. Kim's online lecture (in Korean). Our tutorial is also intended not only for students and researchers in academia, but also for hobbyists and developers in industries. We tried to describe important and typical problems and their solutions in OpenCV. We hope readers understand it easily without serious mathematical background.

Example descriptions

Dependencies

  • OpenCV (> 3.0.0, 3-clause BSD License)
    • OpenCV is a base of all example codes for linear algebra, vision algorithms, image/video manipulation, and GUI.
  • cvsba (GPL): An OpenCV wrapper for sba library
    • cvsba is used by bundle adjustment. It is optional for bundle adjustment.
    • It is included in EXTERNAL directory in the sake of your convenience.
  • CLAPACK (Public Domain): f2c'ed version of LAPACK
    • CLAPACK is used by cvsba. It is optional for bundle adjustment.

License

Authors

Acknowledgement

The authors thank the following contributors and projects.

  • The KITTI Vision Benchmark Suite: We include some of KITTI odometry dataset for demonstrating visual odometry.
  • Russell Hewett: We include his two hill images for demonstrating image stitching.
  • Kang Li: We include his shaking CCTV video for demonstrating video stabilization.
  • Richard Blais: We include his book cover used in the OpenCV tutorial.
  • Jae-Yeong Lee: We sincerely thank him for motivating many examples and providing OpenCV binaries for Windows.
  • Jaeho Lim: We thank him for his careful review and comment on the tutorial slides.
  • Giseop Kim: He contributed the initial version of SfM codes with cvsba and Toy-SfM.

About

An Invitation to 3D Vision: A Tutorial for Everyone

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 57.3%
  • C++ 38.4%
  • CMake 4.3%