3D视觉入门:面向所有人的教程
《3D视觉入门》是一个关于3D计算机视觉(又称几何视觉、视觉几何或多视图几何)的入门教程。它旨在帮助初学者理解3D视觉的基本理论,并使用OpenCV实现其应用。
除了教程幻灯片外,还提供了用于教育目的的示例代码。这些代码包括简单但有趣且实用的应用。示例代码尽可能简短(大多数__不超过100行__),以便清晰易懂。
- 克隆此仓库(代码和幻灯片):
git clone https://github.com/mint-lab/3dv_tutorial.git
- 将此仓库复刻到你的Github: 点击这里
- 下载代码和幻灯片的ZIP文件: 点击这里
- :memo: 如何运行Python示例代码
- :memo: 如何运行C++示例代码
名称的由来
- 主标题《3D视觉入门》来自Yi Ma、Stefano Soatto、Jana Kosecka和Shankar S. Sastry的一本传奇著作。我们希望我们的教程能成为初学者进入3D视觉及其应用领域的第一张温和邀请函。
- 副标题"面向所有人"的灵感来自Kim教授的在线讲座(韩语)。我们的教程不仅面向学术界的学生和研究人员,也面向工业界的爱好者和开发人员。我们试图描述重要且典型的问题及其在OpenCV中的解决方案。我们希望读者无需严肃的数学背景就能轻松理解。
讲座幻灯片
示例代码
- 第1节. 引言 [幻灯片]
- 第2节. 单视图几何 [幻灯片]
- 第3节. 双视图几何 [幻灯片]
- 第4节. 解决问题 [幻灯片]
- 基础矩阵估计 [python]
- 第5节 寻找对应关系 [幻灯片]
- 第6节 多视图几何 [幻灯片]
- 第7节 视觉SLAM和里程计 [幻灯片]
许可证
作者
致谢
作者感谢以下贡献者和项目:
- 李在英:他激发了许多示例。
- 金基燮:他贡献了基于Toy-SfM和cvsba的SfM代码的初始版本。
- Richard Blais:他的书籍封面和OpenCV教程中的视频被用于演示相机姿态估计和增强现实。
- Russell Hewett:他的两张山丘图像被用于演示图像拼接。
- Kang Li:他的抖动的CCTV视频被用于演示视频稳定。
- KITTI视觉基准套件:KITTI里程计数据集#07被用于演示视觉里程计和SLAM。