The Oxford Visual Geomery Group Computer Vision Practicals 是基于MATLAB的实践经验的集合,介绍了图像理解中的基本概念(要求和安装说明)。 提供以下实用工具:
1.对象实例识别是在图像中匹配(识别)特定对象或场景的问题,例如由梵高的圣母大教堂或“繁星夜”。 挑战是对尺度,照相机视角,照明条件和部分遮挡的变化是不变的。 本实践包括以下主题:
使用SIFT特征来获得两个图像之间的稀疏匹配;
使用仿射变异检测器来处理视点的变化;
将SIFT描述符量化为视觉词以使得能够进行大规模检索;
构造和使用图像检索系统来识别对象。
2.图像分类是告诉包含某一类别的对象(例如,动物,山,或人)的图像的问题。 挑战是不变的无关的因素,如视点和照明以及对象之间的差异(没有两个山看起来完全相同)。 本实践包括以下主题:
训练五个不同对象类(飞机,摩托车,人,马和汽车)的视觉分类器;
通过精确回忆曲线评估分类器的性能;
测试不同类型的视觉特征和特征映射以学习分类器;
根据从Bing图像搜索收集的数据训练新的分类器。
还可以使用早期版本的实用的使用预CNN功能。
3.对象类别检测是识别和定位图像中给定类型的对象(行人,汽车,交通标志等)的问题。 检测器接收作为输入的图像,并且在某一对象类型的每次出现周围产生零个,一个或多个边界框作为输出。 关键的挑战是找到对象,无论位置,规模,照明,发音和许多其他因素的变化。 本实践包括以下主题:
使用HOG特征来描述图像区域;
构建基于HOG的滑动窗检测器以定位图像中的对象;
使用多个比例和多个对象出现;
使用线性支持向量机来学习对象的外观;
根据平均精度评估对象检测器;
使用硬消极挖掘学习对象检测器。
4.卷积神经网络(CNN)是可应用于许多计算机视觉问题的可学习表示的重要类别,并且是图像理解中的特征提取的主要方法。 这个实践探讨了学习(深)CNN的基础:
CNN构件:ReLU单元和线性滤波器。
反向传播。
使用简单的CNN来学习响应特定图像结构的非线性滤波器。
学习一个深层CNN来识别打字字符(使用各种不同的字体)。
设置和训练CNN:使用具有动量的随机梯度下降,定义目标函数,构建小批量数据和数据抖动。
在应用程序中使用强大的预先训练的CNN模型,绕过昂贵的培训过程。
注意,实践旨在用作讲座的辅助或者更详细地介绍和描述概念的教程。
应该在快速轨道上跳过的部件在此样式中清楚地标记。实际要求每个学生具有以下设备和软件:
Windows, Mac OS X, or Linux computer
At least 2GB RAM
MATLAB 2009B onwards (earlier versions may or may not work)
MATLAB Image Processing toolbox
注意:如果您计划使用学生的个人计算机,我们建议您在实际操作之前留出充足的时间,以便下载并安装所需的数据和软件。
获得帮助。 当你在实践中取得进展时,可以使用MATLAB help命令显示需要使用的MATLAB函数的帮助。 例如,尝试键入帮助设置。