计算机视觉与模式识别(CVPR) 期末复习

您所在的位置:网站首页 视觉与模式识别 计算机视觉与模式识别(CVPR) 期末复习

计算机视觉与模式识别(CVPR) 期末复习

2024-07-16 15:45:29| 来源: 网络整理| 查看: 265

2022年CVPR期末考试题

计算机视觉为1-11题,模式识别为12-17题

卷积的性质及证明,卷积的计算 双线性插值,计算例子 双边滤波,原理,效果 六种二维几何变换矩阵具体是什么,及对应的性质 Canny边缘检测,具体步骤,什么是好的边缘(这里我没写,ppt里有不难) Harris角点检测检测,具体步骤,不变性与等变性 相机坐标变换,给出例子计算结果 三维的RANSAC阐述算法过程,计算得到至少一个正常点对概率p(三维和二维的区别就是把n=3) 极点和极限定义,根据基础矩阵求对极限(概念) 给出具体的基础矩阵,给像点求对极线,并求出左右极点 L-K光流估计,当物体移动较大时L-K估计的问题,解决方法Coarse-to-fine(Gauss金字塔) 3个简单选择题,例:多分类选择Softmax函数,二分类选sigmoid函数 最近邻,K近邻 排序题,五个选项,对随机梯度下降法操作顺序排序 给出输入大小,卷积核大小,给出输出的计算公式,计算输出大小 链式求导(流式梯度下降),只有两步非常简单,带sigmoid的计算图 Adam的设计思路和具体计算方法

高斯核,中值滤波,双边滤波,fourier变换,频域和空间域的关系,图像变换和逆变换,插值,Gauss金字塔和Laplace金字塔(4题)

tiny边缘检测,计算图像梯度,NMS,角点检测(平移不变性,旋转不变性),shift描述子(如何描述平移不变性和旋转不变性),UISIKe(3题)

相机标记,数目视觉,对极几何(4题)

运动场和光流场的区别,光流场反应的运动,光流约束,Gauss大运动转化为小运动(1题)

计算机视觉部分请见PDF:

下面为模式识别部分:

传统分类器 KNN

中间空的区域原理,K≠1K\neq 1K=1的情况.

决策边界是两个不同分类区域之间的边界,决策边界可能是有噪声的;它会受到离群点的影响,如何平滑决策边界?使用更多的近邻!

当K>1时,不同类之间可能会出现间隙,这需要用某种方式消除!

贝叶斯分类器

贝叶斯规则(贝叶斯公式)

多元高斯分布,确定 x\boldsymbol{x}x 的概率分布

线性分类器

打分机制,从三种不同视角查看分类器结果(代数视角,视觉视角,几何视角)

支持向量机

打分函数:Hinge损失

多分类的计算结果;交叉熵损失

交叉熵损失 vs SVM损失

深度神经网络

如何描述非线性可分问题的解决思路(通过非线性变换)

神经网络作为可学习的特征转换

实现非线性变化的原理:激活函数(Sigmoid, tanh, ReLU)掌握梯度计算结果(用于梯度下降法).

梯度下降法(重点)

通过上游梯度计算下游梯度,掌握梯度反向传播原理. 可能考察标量和矢量计算,不会考察矩阵计算.

流式传播可以便于求解梯度,计算速度更快.

其他激活函数的梯度

优化算法

数值梯度,解析梯度.

随机梯度下降法(SGD)

动量(Momentum)的定义,掌握Adam算法原理,解释优化的道理.

上述定义中 α\alphaα 称为学习率(步长),两种动量定义:

牛顿动量:使用速度更新到达新的一点,计算这一点的梯度并与速度混合作为当前的更新方向,x~\tilde{x}x~ 为Newton动量中的参数位置,主要因为只想去更新 x~,f(x~)\tilde{x},f(\tilde{x})x~,f(x~)

AdaGrad归一化原理:缩放每个参数反比于其所有梯度历史平方值总和的平方根,也称为“参数学习率”或“自适应学习率”。特点:沿着“陡峭”方向的前进受到阻碍; 沿“平坦”方向前进加快 .

ws(i)←ws(i−1)+∣∣∇w(i)∣∣22,vi=−α∇w(i)ws(i)w_s^{(i)} \leftarrow w_s^{(i-1)} + ||\nabla w^{(i)}||_2^2,\quad \boldsymbol{v_i} = -\alpha\frac{\nabla w^{(i)}}{\sqrt{w_s^{(i)}}} ws(i)​←ws(i−1)​+∣∣∇w(i)∣∣22​,vi​=−αws(i)​​∇w(i)​

其中 w(i)w^{(i)}w(i) 表示第 iii 次更新前的梯度值,ws(i)w^{(i)}_sws(i)​ 表示第 iii 次更新前全部梯度的二范数平方.

RMSProp: “Leaky Adagrad”,带有衰减系数的Adagrad,令衰减系数为 δ∈(0,1)\delta\in (0,1)δ∈(0,1).

ws(i)←δws(i−1)+(1−δ)∣∣∇w(i)∣∣22,vi=−α∇w(i)ws(i)w_s^{(i)} \leftarrow \delta w_s^{(i-1)} + (1-\delta)||\nabla w^{(i)}||_2^2,\quad \boldsymbol{v_i} = -\alpha\frac{\nabla w^{(i)}}{\sqrt{w_s^{(i)}}} ws(i)​←δws(i−1)​+(1−δ)∣∣∇w(i)∣∣22​,vi​=−αws(i)​​∇w(i)​

自适应矩估计(Adam):RMSProp + Momentum,Adam同时兼顾了动量 v1\boldsymbol{v}_1v1​ 和RMSProp(动量修正 v2v_2v2​)的优点.

将 v1\boldsymbol{v}_1v1​ 称为一阶矩(向量),v2v_2v2​ 称为二阶矩(常量)

{v1←β1v1+(1−β1)∇wv2←β2v2+(1−β2)∣∣∇w∣∣22⇒v=−αvv2\left\{\begin{aligned} &\boldsymbol{v}_1\leftarrow \beta_1\boldsymbol{v}_1 + (1-\beta_1)\nabla w\\ &v_2\leftarrow \beta_2v_2+(1-\beta_2)||\nabla w||_2^2 \end{aligned}\right. \quad \Rightarrow \quad \boldsymbol{v} = -\alpha\frac{\boldsymbol{v}}{\sqrt{v_2}} {​v1​←β1​v1​+(1−β1​)∇wv2​←β2​v2​+(1−β2​)∣∣∇w∣∣22​​⇒v=−αv2​​v​

当 t=0t=0t=0 时,算法无法启动 v2v_2v2​ 几乎为 000,所以还需进行偏置修正(修正从原点初始化的一阶矩和二阶矩的估计):

{v1′=v11−β1tv2′=v21−β2t⇒v=−αv′v2′\left\{\begin{aligned} &\boldsymbol{v}_1'= \frac{\boldsymbol{v}_1}{1-\beta_1^t}\\ &v_2'= \frac{v_2}{1-\beta_2^t} \end{aligned}\right. \quad \Rightarrow \quad \boldsymbol{v} = -\alpha\frac{\boldsymbol{v'}}{\sqrt{v_2'}} ⎩⎪⎪⎪⎨⎪⎪⎪⎧​​v1′​=1−β1t​v1​​v2′​=1−β2t​v2​​​⇒v=−αv2′​​v′​

Adam算法中取beta1 = 0.9, beta2 = 0.999, learning_rate = 1e-3, 5e-4, 1e-4对于很多模型来说是一个好的起始点!

Adam 在很多情况下都是不错的默认选择 SGD+Momentum 可以优于Adam,但是需要更多的调整 如果你可以进行完整的批量更新,可以尝试使用 L-BFGS (不要忘记禁用所有噪声源)

二阶牛顿法难于计算不考.

卷积神经网络 CNN 卷积的计算

卷积核加入填充(padding),步伐(stride)后计算输出结果的大小.

掌握例子:

1x1卷积:堆叠1x1卷积层等价于对每个位置进行 全连接层。

池化的原理

池化层: 另外一种下采样(downsmaple)方式,输出结果的大小:

RNN的经典架构

经典架构:[Conv, ReLU, Pool] x N, flatten, [FC, ReLU] x N, FC

[Conv, ReLU, Pool]:称为一个卷积块,由卷积层,非线性函数(ReLU)和池化层组成.

flatten:将卷积的输出图像 3×H×W3\times H\times W3×H×W 展平为一维向量.

[FC, ReLU]:全连接层(Full connect)与非线性函数(ReLU)构成的全连接块.

FC:最后用一个全连接层作为输出层.

归一化原理 批归一化(Batch Normalization)

前面一层的输出维度为 DDD,如果是图像 3×H×W3\times H\times W3×H×W,则可以将 H×WH\times WH×W 展平后视为 DDD ,NNN 表示 mini-batch的大小.

估计参数时依赖整个mini-batch的数据,但在测试时不能这样做! 所以在测试时需利用训练数据的平均值进行代替.

批归一化优点:

使得网络更加容易训练! 允许使用更大的学习率,使网络收敛速度加快; 网络对于不同初始化值更加鲁棒; 归一化在训练的过程中起到正则化的作用; 测试时零开销: 可以与卷积层融合!

批归一化缺点:

至今为止没有很好的理论上的解释;(仅能解释为减少“内部方差偏移”) 训练和测试上的操作行为不一致: 这是日常代码中一种常见的bug来源!

层归一化(Layer Normalization):

实例归一化(Instance Normalization):

CNN 网络结构

神经网络架构:AlexNet,VGG,GoogleNet,ResNet.

掌握道理,每个神经网络解决了什么问题?通过神经网络结构判别神经网络架构.

AlexNet

227 x 227 的输入,5 个卷积层,最大池化层,3 个全联接层,ReLU 非线性激活函数.

特点:

多数存储开销是在位置靠前的卷积层; 接近所有参数都在全联接层; 大多数浮点运算计算量出现在卷积层上. VGG

VGG-16比AlexNet大得多!VGG 设计规则:

所有卷积层为 3x3 大小,stride为1,pad为1; 所有最大池化层为 2x2 大小,stride为2; 池化层后,通道数加倍. GoogLeNet

GoogLeNet为了实现高效性的创新: 减少参数量,存储空间和计算量.

Stem network:在开始阶段积极地对输入进行下采样(回想在 VGG-16: 大多数计算集中在初始阶段)

Inception 模块:局部单元由多个分支组成,局部结构在网络中重复出现多次,使用 1x1 “Bottleneck” 来在卷积操作前减少通道数.

Global Average Pooling(全局均值池化层):不再在最后使用大型FC层! 改为使用 global average pooling 来进行维度压缩,并使用一个liner层计算分数.

Auxiliary Classifiers(辅助分类器):使用loss没有将网络的靠后位置训练好:网络太大了,梯度无法精准传播,使用“auxiliary classifiers” 在网络的几个中间节点来对图片分类和接收loss. 但是,使用 BatchNorm 就不需要这个技巧了.

ResNet 残差网络

Residual Networks(ResNet) 是从一个问题上发现的:更深的网络比前层网络表现差!事实上,深层网络表现的是欠拟合,因为其在训练集上的效果仍然比浅层网络差. 但是理论上深层神经网络可以通过恒等变换来模拟浅层网络,至少比浅层网络效果要好. 所以考虑加入快捷通道,直接让神经网络自动选择是否直接使用恒等变换(复制上一层的结果).

问题:更深的模型更难优化,而且实际中无法得到恒等变换(identity functions)来模拟浅层网络.

解决:改变网络结构使多余的层能够容易的利用 identity functions!

残差层(Residual Block):加入shortcut通道直接跨过卷积层. Residual network 是多个residual blocks的堆叠

瓶颈模块(Bottleneck Block):通过 1x1 的卷积层,减少卷积计算量:

其他特点:

类似 GoogleNet 使用同样的 aggressive stem来在residual block; 类似 GoogLeNet, 没有大型全联接层: 而是在模型末端使用 global average pooling 和一个linear 层;

优点:

可以训练非常深的网络; 更深的网络表现比浅层网络好 (同预期中一样); 在所有 ILSVRC 和 COCO 2015 比赛获得第一名; 现在还是广泛应用!

比赛总结:

VGG: 最多的存储和计算量 Inception-v4: Resnet + Inception:效果最好,利用Resnet加上Inceptio模块达到的. GoogLeNet: 非常高效! AlexNet: 低计算量, 高参数量. ResNet: 简单设计, 比较高效,高准确率.

年度 ImageNet在2017后不再举办,改为Kaggle.

CNN Architectures 总结:

早期工作 (AlexNet -> ZFNet -> VGG) 表明更大的网络效果更好 GoogLeNet 最开始关注于 efficiency (aggressive stem, 1x1 bottleneck convolutions, global avg pool 代替 FC layers) ResNet 告诉我们如何训练超大型网络– 被 GPU 的内存所限制! ResNet之后: Efficient networks 更加受重视: 我们应该如何在不增加复杂度的基础上提升准确率? 很多tiny networks 聚焦于移动设备: MobileNet, ShuffleNet, etc Neural Architecture Search 自动实现网络设计

网络使用建议:

如果非常在意精度,可以使用 ResNet-50 或者 ResNet-101; 如果想要一个高效网络(比如要求实时,或移动端运行) 可以尝试 MobileNets 或者 ShuffleNets.

开放性问题:根据题目条件选择网络结构.

人脸识别

Viola-Jones人脸识别算法:

使用AdaBoost进行高效的特征选择 矩形特征+积分图像可以用于快速图像分析 快速分类产生级联分类器

灰度图像最快速已知人脸检测器,

Adaboost(Adaptive Boosting)

Adaboost算法关键点:

强(非线性)分类器是由所有弱(线性)分类器的组合构建的。 前一个错误分类的样本将在以后的轮次中得到更多的强调。

特征,积分图像

级联处理

把二个以上的设备通过某种方式连接起来,能起到扩容的效果就是级联。

语义分割

没啥想考的,理解对网络的要求

目标检测

上述算法问题在于如果图中存在多个目标时,每张图片具有不同数量的输出值,难以处理.

滑动窗口

将 CNN 应用于图像的许多不同裁剪(滑动窗口裁剪结果),CNN 将每个裁剪分类为对象或背景.

提问:考虑边界框的大小为h×w,在大小为H×W的图像中有多少个可能的边界框?

位置x的可能性: W – w + ,位置y的可能性: H – h + 1,全部可能的位置: (W – w + 1) * (H – h + 1)

可能的边界总数:

∑h=1H∑w=1W(W−w+1)(H−h+1)=H(H+1)2W(W+1)2\sum_{h=1}^H\sum_{w=1}^W(W-w+1)(H-h+1) = \frac{H(H+1)}{2}\frac{W(W+1)}{2} h=1∑H​w=1∑W​(W−w+1)(H−h+1)=2H(H+1)​2W(W+1)​

遍历所有可能的区域太慢,所以需要生成候选区域:找到一小组的候选框尽可能地覆盖所有的目标对象;基于启发式:例如寻找类似斑点的图像区域;运行速度相对较快:例如在CPU上能几秒钟地选择性搜索出 2000 个候选区域.

检测评估标准 R-CNN

R-CNN(Region-based CNN)是基于区域的CNN. 分为四种:

“Slow” R-CNN: 每个区域独立通过CNN Fast R-CNN: 将可区分裁剪应用于共享的图像特征 Faster R-CNN: 利用CNN来计算候选区域 Single-Stage:全卷积检测器

深度学习:R-CNN,每个版本解决了什么问题(要非常清楚). 细节:计算IoU,NMS,AP,mAP原理.

Transformer

比较新,前沿知识,知道原理,问答题借鉴它的思路.



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭