计算机视觉面试题整理

1、介绍目标检测网络yolo系列以及ssd系列的原理,yolo对小目标检测不好的原因,除了缩小anchor外还可以如何改善?

  • Yolo目标检测:YOLO是一种实时目标检测算法,其核心思想是将目标检测问题归为一个回归问题,直接从输入图像中预测目标的类别和位置,YOLO的主要特点有①单次前向传播(one-stage):YOLO只需一次前向传播来完成整个目标检测任务,而不需要复杂的多次处理。②分割网格:输入图像被分割成固定数量的网格单元,每个网格单元负责预测其中包含的物体的位置和类别。③多尺度预测:YOLO使用多尺度锚框来处理不同尺寸和长宽比的物体,这有助于提高检测性能。④损失函数:YOLO使用多部分损失函数来衡量分类误差和定位误差,同时鼓励模型预测物体的边界框,以准确地定位物体。⑤实时性能:YOLO因其单次前向传播和高效的设计而在实时目标检测任务中表现出色。
  • SSD(Single Shot MultiBox Detector):与YOLO不同,SSD采用一种多层次的特征提取方法,以便处理不同尺寸的物体。①多层次特征提取:SSD使用多个卷积层来提取图像的特征,并在不同层次上进行目标检测。②锚框:SSD使用锚框来预测不同尺寸和长宽比的物体,每个锚框都与特定的位置和尺寸相关联,模型根据这些锚框来预测物体的位置和类别。③损失函数:类似于YOLO,SSD使用多部分损失函数来衡量分类误差和定位误差,以优化模型的性能。④效率:SSD在速度和准确性之间取得了很好的平衡,虽然它可能不如某些YOLO版本那么快,但在检测精度上表现出现。
  • YOLO对小目标检测不好的原因:因为其设计初衷是为了检测相对较大的目标。可以采用的方法有:①增加输入图像的分辨率通常有助于提高小目标的检测性能。②YOLO可以通过在不同尺度下进行目标检测来改善小目标的检测性能。③使用特征金字塔可以改善小目标检测。④引入注意力机制可以帮助网络更关注小目标④使用数据增强技术,如随机裁剪、缩放、旋转等,可以生成更多的小目标样本,以帮助网络学习如何识别和定位小目标。⑤设置更小更稠密的anchor。⑥积神经网络设计时尽量度采用步长为1,尽可能保留多的目标特征。

2、样本中正负样本不平衡,如何解决?

  • 使用类平衡交叉熵损失函数
  • 对小样本做数据增广
  • 重采样(过采样,增加少数类样本数量;欠采样,减少多数类样本数量)
  • 权重调整,修改损失函数,赋予不同类别样本不同权重。

3、简单介绍下支持向量机SVM的原理。

支持向量机是一种二分类分类模型,其基本模型定义为特征空间上的间隔最大的线性分类器,其学习策略便是间隔最大化,最终可转化为一个凸二次规划问题的求解。

4、哪些机器学习算法不需要做归一化处理?

  • 需要归一化的模型:基于距离计算的模型:KNN、通过梯度下降求解的模型(线性回归、逻辑回归、支持向量机、神经网络)
  • 树形模型不需要归一化,因为它们不关心变量的值,而是关心变量的分布和变量之间的条件概率。如决策树、随机森林。

5、为什么树形结构不需要归一化?

因为数值缩放不影响分裂点位置,对树模型的结构不造成影响。按照特征值进行排序的,排序的顺序不变,那么所属的分支以及分裂点就不会有不同。而且树模型不能进行梯度下降,因为构建树模型(回归树)寻找最优点时是通过寻找最优分裂点完成的,因此树模型是阶跃的,阶跃点是不可导的,并且求导没意义,也就不需要归一化。

6、在k-means或KNN,我们常用欧氏距离来计算最近的邻居之间的距离,有时也用曼哈顿距离,请对比下这两种距离的差别。

  • 欧式距离:是最常见的距离度量方法,也被称为直线距离。它计算两点之间的距离,就像你在二维平面上使用的直线距离一样。欧氏距离考虑了各维度上的差异性,因此更适用于各维度特征的尺度相似的情况。
  • 曼哈顿距离:是沿着坐标轴的垂直线段的长度之和,因此也被称为城市街区距离。它计算两点之间的距离,就像你在城市中行走沿街道走的距离一样。曼哈顿距离更适合于考虑了各维度特征的尺度不同的情况,因为它在各维度上是独立计算的。 
  • 总结比较:①欧氏距离通常在各维度上的尺度相似时表现较好,因为它考虑了各维度之间的差异性。②曼哈顿距离更适合在各维度上的尺度不同或者数据呈现明显的块状分布时,因为它不考虑各维度之间的差异,而只计算了坐标轴上的距离。③选择哪种距离度量方法通常取决于问题的性质和数据的特征。在某些情况下,你甚至可以尝试使用其他自定义的距离度量方法,以便更好地捕捉数据之间的相似性或差异性。(休息一下,晚点回来~

你可能感兴趣的:(计算机视觉,人工智能)