Skip to content

PKUJZX/3D_Vision

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

项目简介

本项目是一个关于3D计算机视觉基础核心知识的教育网站,它旨在为学习和研究该领域的同学提供一份清晰、系统的参考指南,内容涵盖从相机成像的基本原理到完整的三维重建流程。

项目网址:https://pkujzx.github.io/3D_Vision/

核心理念

本站的核心理念是系统性地梳理3D视觉领域的知识脉络,将抽象的射影几何理论与直观的成像过程紧密联系起来。通过从基本概念出发,层层递进,探索如何让计算机“理解”二维图像背后的三维世界,最终带领学习者掌握从图像到三维模型的完整技术栈。

内容版块

网站内容围绕四大核心主题展开,每个主题都通过多个章节进行尽可能深入浅出的讲解:

1. 相机模型与标定

探索相机如何将三维世界映射为二维图像。理解其内在的物理参数与在空间中的位置姿态,并学习如何从图像中反解这些参数。

  • 第一部分:相机模型
    • 理想化的针孔相机模型与核心投影公式
    • 真实相机中的透镜、焦点与畸变
  • 第二部分:内参矩阵
    • 使用齐次坐标将投影过程线性化
    • 相机内参矩阵K的推导与物理意义
    • 扭曲(Skew)参数的引入
  • 第三部分:外参矩阵
    • 世界坐标系与相机坐标系的转换
    • 旋转矩阵R与平移向量T
    • 构建完整的端到端投影矩阵 M = K[R|T]
  • 第四部分:相机标定
    • 相机标定的核心思想与标定物的作用
    • 将非线性投影问题转化为线性方程组
    • 通过奇异值分解(SVD)求解投影矩阵并分解出内外参数

2. 单视图计量学

探索如何仅从单张二维图像中恢复三维世界的度量信息,例如平行关系、角度和物体高度。

  • 第一部分:2D变换
    • 变换的层次结构:等距变换 ⊂ 相似变换 ⊂ 仿射变换 ⊂ 射影变换
    • 射影变换下的不变量:交比 (Cross Ratio)
  • 第二部分:无穷远
    • 无穷远点与无穷远线的齐次表示
    • 变换对无穷远元素的影响:区分仿射与射影的关键
  • 第三部分:从图像测量世界
    • 灭点(Vanishing Point)与地平线(Horizon Line)的形成
    • 绝对二次曲线的图像(IAC)与3D角度测量
  • 第四部分:相机标定实战
    • 利用场景中的正交关系为相机内参提供约束
    • 通过简化相机模型(零倾斜、方形像素)求解内参矩阵K

3. 对极几何

探讨双视图几何的核心约束。理解两幅图像、一个三维点及其投影之间的内在几何关系,为立体匹配和三维重建奠定基石。

  • 第一部分:对极几何基础
    • 核心几何元素:基线、对极平面、对极点与对极线
    • 最重要的结论:对极约束 (Epipolar Constraint)
  • 第二部分:对极约束的代数
    • 引入相机内外参与坐标系
    • 本质矩阵 (Essential Matrix) E 的推导与性质
  • 第三部分:基础矩阵
    • 从本质矩阵E推导基础矩阵F
    • F与E的对比:直接作用于像素坐标
  • 第四部分:八点法
    • 从图像匹配点求解基础矩阵F的经典算法
    • 通过SVD求解并强制执行秩为2的约束
    • 归一化的八点法:解决数值稳定性问题

4. 立体视觉与SfM

介绍如何从多张存在重叠区域的图像中,同时恢复出场景的三维结构(Structure)和相机的运动轨迹(Motion)。

  • 第一部分:三角测量
    • 三维重建基础:从多个视图恢复单个点的三维坐标
    • 线性与非线性三角测量方法
  • 第二部分:仿射SfM
    • 运动恢复结构 (Structure from Motion, SfM) 的核心问题
    • 基于仿射相机模型的因子分解法 (Factorization Method)
  • 第三部分:透视SfM
    • 基于通用透视相机模型的代数方法
    • 从基础矩阵F恢复相机矩阵
    • 从本质矩阵E分解R和t,以及四重模糊性问题
  • 第四部分:光束法平差
    • SfM的黄金标准:全局非线性优化
    • 最小化总重投影误差 (Total Reprojection Error)
    • 完整的三维重建流程总结

技术栈

  • 前端: HTML5, CSS3, JavaScript

  • 数学公式渲染: MathJax 库,用于清晰、标准地展示 LaTeX 公式。

  • 核心功能: 通过原生 JavaScriptfetch API 实现内容的异步加载,用户在切换章节时无需刷新整个页面,提供了流畅的单页应用(SPA)体验。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages