【秋招】计算机视觉面试题

本文探讨了计算机视觉面试中常见的问题,包括如何提高深度学习模型的特征表示能力,防止过拟合的策略,处理样本不均衡问题的方法,以及滤波器的原理和应用。还涉及PCA降维、BN层的作用、SVM核函数、数据增强、深度学习模型压缩和优化等核心概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

计算机视觉相关:

1.如果提高深层神经网络的特征表示能力?

①增加隐藏层个数

②pooling操作

③使用非线性激活

  1. 如何防止过拟合?

    ①使用L1 L2正则化

    ②Dropout

    ③使用早停(现在基本不用),使深层神经网络早些停止以防止网络学习到的参数过多而造成过拟合。

    ④BN

    ④数据增广

    ⑤减少模型

  2. 样本不均衡会造成什么问题,如何解决?

    样本不均衡:不同类别的样本数量差异很大

    样本不均衡的影响:模型很难学习到小样本的特征,容易造成过拟合

    如何解决:采样(过采样小样本、欠采样多样本)、数据增广、改变正负样本的惩罚权重、、人工产生数据样本

  3. 均值滤波、高斯滤波、中值滤波、双边滤波

    均值滤波器和高斯滤波器属于线性滤波器。 非线性滤波器的原始数据与滤波结果是一种逻辑关系,即通过比较一定邻域内的灰度值大小来实现的 。

    从待处理图像首元素开始用模板对原始图像进行卷积。 均值滤波直观地理解就是用相邻元素灰度值的平均值代替该元素的灰度值,高斯滤波是用高斯核函数对图像进行卷积操作。

    应用场景:

​ 均值滤波: 均值模糊无法克服边缘像素信息丢失的缺陷 (缺点是图像会丢失边缘信息),不能保存细节

​ 高斯滤波 能够很好的抑制图像输入时随机引入的噪声 ,用于消除高斯噪声

​ 中值滤波:对椒盐噪声有很好的抑制, 常用于保护边缘信息

​ 双边滤波: 好处是可以做边缘保存(edge preserving), 但是由于保存了过多的高频信息,对于彩色图像里的高频噪声,双边滤波器不能够干净的滤掉,只能够对于低频信息进行较好的滤波。

  1. PCA降维

    PCA(Principal Component Analysis) 是一种常见的数据分析方式,常用于高维数据的降维,可用于提取数据的主要特征分量 。 在一维空间中我们可以用方差来表示数据的分散程度。而对于高维数据,我们用协方差进行约束,协方差可以表示两个变量的相关性。为了让两个变量尽可能表示更多的原始信息,我们希望它们之间不存在线性相关性,因为相关性意味着两个变量不是完全独立,必然存在重复表示的信息。

    PCA的步骤:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0FlaehlW-1653462129947)(C:\Users\sxj96\AppData\Roaming\Typora\typora-user-images\1634020707808.png)]

  2. BN的作用

    ①加快网络训练和收敛速度

    ②防止梯度消失或梯度爆炸

    ③防止过拟合

  3. 沿负梯度一定是最优方向

  4. SVM, SVM核函数, SVM引入核函数的本质是什么

  5. SIFT特征提取方法

  6. 数据增强方法

  7. 小样本训练深度神经网络,可以用什么方法提高性能

  8. 为什么要引入非线性激活

  9. CNN模型压缩方法

  10. CRF函数

  11. 冒泡排序

  12. CNN特点

  13. 判别式模型与生成式模型

  14. 概率论与数理统计

  15. 二分查找

  16. 两个栈实现一个队列

  17. 超大正整数类加法

  18. 最大子数组

  19. Triplet Loss

  20. Precission 与Recall

  21. 极大似然估计与最大后验估计的联系与区别

  22. Bayes optimal error

  23. Step可以作为激活函数吗

  24. 常见的激活函数都有哪些,各有哪些优缺点

  25. 感受野如何计算

  26. LSTM

  27. Adam optimalizer中使用weight decay是否相当于在Loss中加入L2

  28. SGD L2

  29. 贝叶斯分类器

  30. L1 L2损失函数

    L1 损失函数称为最小绝对误差,目标值与绝对值差值最小化。

    L2损失函数称为最小平方误差,是吧目标值与预测值之间的误差的平方最小化。

  31. C++多线程与多进程,进程如何开启和关闭

  32. Linux常见命令 vi

  33. C++ 中STL ,vector常见指令

    string vector set list map
    
    

    vector 就是动态数组,它也是在堆中分配内存,元素连续存放。它能够存放各种类型的对象。

    容器特性:

    顺序序列、动态数组、能够感知内存分配

    顺序序列:容器中的元素按照严格的线性顺序排序,可以通过元素在序列中的位置访问对应的元素

    动态数组:支持对序列中的任意元素进行快速直接访问,甚至可以通过指针进行该操作。

    基本函数实现:

    vector():创建一个空vector
    vector(int nSize):创建一个vector,元素个数为nSize
    void  push_back(const T& x):向向量尾部增加一个元素X
    
    
  34. Python 列表与字典常见操作

  35. 图像中常见的颜色空间

  36. python修饰器

  37. Python GIL

  38. Python 多线程 多进程

  39. 如何用数学方法判断线性可分与线性不可分

  40. 局部最优 怎么办

  41. mask注意力机制

  42. RNN LSTM GRU Transfromer

  43. Transformer 为什么加位置编码

  44. 光流法

  45. 图片特征提取法 SIFT

  46. KNN<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值