计算机视觉
这门课学什么
这是普林斯顿的本科计算机视觉课。内容从滤波、边缘检测和图像分割讲到光流、跟踪、识别、三维重建和深度学习方法。存档页面保留讲义、4 次作业和带答案的期中模拟题。
内容摘要
这是一门本科计算机视觉入门课。课程从“像素怎么来”讲起,走到“机器怎么认出图里的东西”,最后落到深度学习。主线是经典方法与深度方法并讲:先学手工设计的特征和几何模型,再看卷积神经网络如何替代它们。
课程分 4 段。第 1 段是底层图像处理:成像与采集、卷积滤波、特征检测与描述子、模型拟合(Hough 变换、RANSAC)和图像拼接。第 2 段是识别:先补机器学习基础,再讲人脸与行人检测、物体分类、物体检测、分割和纹理,期中考试放在这一段末尾。第 3 段是运动与三维:光流、跟踪、立体视觉和相机标定。第 4 段用 6 讲讲深度学习,从反向传播、CNN 和 ImageNet 讲到训练技巧和网络结构。
期末有 3 次专题课:视觉中的公平性、一位斯坦福学者讲人类行为理解、一位 Mobileye 工程师讲自动驾驶视觉。老师本人研究视觉数据集的偏差,公平性专题是这门课的特色。
作业共 4 次,另有 1 次环境配置作业。每次都包含书面题和 Python 编程题:图像处理与特征检测、人脸检测与模型拟合、目标跟踪、深度学习。评分看重实验分析,不只看代码能否运行。期末项目由 1–3 人小组完成,含中期检查、海报展示和报告。
学完后,你能自己实现滤波、特征匹配、RANSAC 和光流。你能读懂经典视觉论文,也能训练一个基础的 CNN 分类器。教材是 Szeliski 的《计算机视觉:算法与应用》,可免费下载。官网保留了每讲的幻灯片 PDF 和期中模拟题答案。
为什么值得学
讲师 Russakovsky 是 ImageNet 挑战赛论文的作者之一。课程把经典视觉方法和深度学习时代连起来讲。
课程信息
- 学校
- 普林斯顿(Princeton)
- 课程号
- COS 429
- 讲师
- 奥尔加·鲁萨科夫斯基(Olga Russakovsky)
- 学期
- Fall 2019
- 平台
- 课程官网
- 费用
- 免费
- 难度
- 中级
- 先修
- 需要线性代数、微积分和编程基础。
- 材料
- 讲义、幻灯片、作业、考试
- 许可证
- 未注明
课程大纲 · 共 25 节
大纲依据:Fall 2019 课程表(Outline and Lecture Notes 页)(查看原始页面 ↗)
- 1计算机视觉导论Introduction to computer vision
介绍视觉任务的范围、难点和课程安排。
- 2成像与图像采集Image formation and capture
讲光线、相机和传感器如何把场景变成像素。
- 3卷积与滤波Convolution and filtering
讲线性滤波、卷积运算和边缘检测的基础。
- 4特征检测与描述子Feature detectors and descriptors
讲角点检测和 SIFT 这类局部描述子,用于在图像之间找对应点。
- 5模型拟合、Hough 变换与 RANSACFitting, Hough transforms, RANSAC
讲如何在含噪声和离群点的数据上拟合直线和变换。
- 6图像对齐与拼接Image alignment and stitching
讲用特征匹配估计变换,把多张照片拼成全景图并做多分辨率融合。
- 7识别与机器学习入门Intro to recognition and machine learning
补充最小二乘、正则化和交叉验证,为识别任务做准备。
- 8人脸与行人检测Face and pedestrian detection
讲 Viola–Jones 人脸检测和 HOG 行人检测,并讨论人脸识别中的性别肤色偏差。
- 9物体分类Object classification
讲词袋模型和空间金字塔匹配,用 k-means 构建视觉词典。
- 10物体检测Object detection
讲可变形部件模型、PASCAL VOC 和 ImageNet 评测,以及检测错误的诊断方法。
- 11图像分割Segmentation
讲聚类分割和归一化割(normalized cuts)。
- 12纹理Texture
讲纹理的表示与合成,包括基于样例的纹理合成和图像拼缝(image quilting)。
- 13期中考试Midterm
课堂内闭卷考试,覆盖前 12 讲。
- 14运动、光流与跟踪Motion, optical flow, tracking
讲 Lucas–Kanade 光流和视频中的目标跟踪。
- 15三维视觉:立体视觉、相机几何与标定3D vision: stereo, camera geometry and calibration
讲对极几何、双目深度恢复和相机参数标定。
- 16深度学习导论Introduction to Deep Learning
从线性分类器过渡到多层神经网络。
- 17深度学习 II:反向传播Deep learning II: Backpropagation
讲计算图和反向传播(backpropagation)如何计算梯度。
- 18深度学习 III:CNN 与 ImageNetDeep learning III: CNNs and ImageNet
讲卷积神经网络的结构,以及 ImageNet 如何推动视觉进入深度学习时代。
- 19深度学习 IV:训练Deep Learning IV: Training
讲优化器、初始化和正则化这些训练技巧。
- 20深度学习 V:训练与网络结构Deep Learning V: Training and architectures
继续讲训练,并梳理主流 CNN 结构的演进。
- 21深度学习 VI:识别进阶专题Deep Learning VI: Advanced recognition topics
把深度网络用到检测、分割这些更复杂的识别任务上。
- 22专题讲座:人类事件理解,从动作到任务(Juan Carlos Niebles)Field Lecture: Human Event Understanding: From Actions to Tasks (Juan Carlos Niebles)
斯坦福学者介绍视频中人类动作与任务的理解研究。
- 23进阶专题:计算机视觉中的公平性Advanced topics: Fairness in computer vision
讨论数据集偏差如何让视觉模型对不同人群表现不一。
- 24客座讲座:自动驾驶中的计算机视觉(Andras Ferencz,Mobileye)Guest Lecture: Computer vision for autonomous driving (Andras Ferencz, Mobileye)
工业界工程师介绍量产自动驾驶系统中的视觉方案。
- 25期末项目展示Final project presentations
各小组以海报形式展示期末项目。
普林斯顿的其他AI课
- 理解大语言模型 · Understanding Large Language Models
- 深入大语言模型 · Deep Dive into Large Language Models
- 自然语言处理 · Natural Language Processing
- 机器学习导论(课程讲义) · Introduction to Machine Learning (Course Notes)
- 数值计算与机器学习的数学基础 · Mathematics for Numerical Computing and Machine Learning
- 深度学习理论 · Theoretical Deep Learning