首页 > 编程语言 >视觉算法岗面试准备

视觉算法岗面试准备

时间:2024-11-27 23:30:21浏览次数:11  
标签:卷积 检测 图像 目标 面试 算法 梯度 类别 视觉

投递了一个视觉算法岗的寒假实习,接到了HR的电话,明天面试,时间紧任务重,想通过这篇文章记录一下自己今天准备的一些基础的视觉算法岗可能会问到的问题:

1、常见的目标检测与语义分割算法有哪些?

目标检测算法有 YOLO 系列(像 YOLOv3、YOLOv4、YOLOv5 等),它速度比较快,检测精度也不错。还有 Faster R - CNN,它分为区域生成网络和检测网络两部分,检测效果挺好。

语义分割算法有 FCN(全卷积神经网络),它可以端到端地进行像素级别的分类。还有 U - Net,在医学图像分割领域用得挺多,结构简单但是效果很好。

2、单阶段和双阶段检测他们的不同在哪里?

单阶段检测算法就像是短跑选手,速度快。像 YOLO 系列,它直接在图像上生成目标的类别和位置,没有中间复杂的区域提议阶段,所以检测速度很快,但在小目标检测等一些精度要求高的场景下可能稍弱一点。

双阶段检测算法就像是长跑选手,比较稳。像 Faster R - CNN,它先通过一个区域提议网络生成可能包含目标的区域,然后再对这些区域进行分类和位置精修,精度一般会高些,不过速度会比单阶段的慢,因为多了生成区域提议这个步骤。

3、RPN是什么,ROIpooling ROIALign的作用分别是什么?

RPN(Region Proposal Network)呢,它是 Faster R - CNN 里很重要的部分。它就像是个侦察兵,主要是用来生成可能包含目标物体的候选区域,也就是我们说的区域提议。它会在特征图上滑动窗口,然后输出这些候选区域的信息。

ROI Pooling(Region of Interest Pooling)是对 RPN 提出的候选区域进行处理的。它的作用是把这些大小不一的候选区域变成固定大小的特征图,这样后续就可以输入到全连接层进行分类和回归啦。不过它有个小问题,就是在量化过程中会有一些误差。

ROI Align 是为了解决 ROI Pooling 的量化误差出现的。它通过双线性插值等方法,更精准地从特征图中提取候选区域的特征,让特征提取更加准确,对于目标检测的精度提升挺有帮助的。

4、YOLO系列当中的一些重要概念和演变介绍:

YOLOv1:把目标检测当作回归问题,划分网格来检测目标。开创了实时检测,但小目标检测差且每个网格只能预测一个类别。

YOLOv2:引入 anchor box 概念,能预测多种形状目标,还使用 Batch Normalization。精度提升,尤其对小目标,平衡了速度和精度。

YOLOv3:采用多尺度预测,有三个不同尺度输出,用 logistic 回归分类。提升小目标检测和复杂场景检测能力。

YOLOv4:加强数据增强,如 Mosaic,还引入 CSPNet。速度和精度显著提升,在复杂环境中表现出色。

YOLOv5:结构灵活,可调整模型大小,有自适应锚框计算。适用性强,不同设备都能部署,速度和精度都高。

YOLOv6——YOLOv11——YOLOv无穷大(hhh)欢迎大家补充!

5、anchor 和anchor free 的区别,以及优缺点:

区别:Anchor 是有预设的框,通过调整这些框来检测目标;Anchor - free 则是直接预测目标的关键位置。

优点:Anchor:对规则形状目标检测好,模型训练较稳定,收敛快。

Anchor - free:模型简单、参数少,对小或密集目标检测更灵活。

缺点:Anchor:先验框参数难确定,计算和内存占用大。

Anchor - free:对不规则目标定位难,训练可能需要更多数据和复杂策略。

6、Focal loss的优缺点是什么,应用场景在哪里?

Focal loss 是一种损失函数。简单说呢,在分类任务里,我们知道有很多简单的样本,比如背景类别的样本很容易被分类正确。Focal loss 就是给这些容易分类的样本比较低的权重,让模型把重点放在难分类的样本上。它的计算会考虑样本分类的难易程度,通过一个调制因子来调整损失的权重,使得模型训练的时候更关注那些容易出错、难分类的样本,这样就可以更好地处理类别不平衡的问题啦。

7、YOLOv5的详细介绍:

YOLOv5 网络结构包括提取特征的 Backbone、融合特征的 Neck 和确定目标位置与类别的 Prediction。核心组件如 CBL 助力快速学习,ResUnit 解决梯度问题,CSP 模块减少计算且增强特征提取,Focus 与 SPP 分别增加特征图通道数与融合多尺度特征。输入端有 Mosaic 数据增强,四张图拼接丰富背景;自适应锚框计算自动选优;自适应图片缩放减少黑边。训练靠多部分组成的损失函数评估差异,多种优化器可选。应用在工业质检、安防监控、自动驾驶、医学图像分析等领域,能快速准确检测目标物体。

8、IOU、GIOU、CIOU、SIOU、EIOU、DIOU他们的区别,我们什么时候选择?

IOU:就是预测框和真实框交并比,用于简单衡量框重叠程度。

GIOU:广义交并比,在 IOU 基础上考虑外接矩形中未重叠部分,用于框不相交时合理衡量距离。

CIOU:在 IOU 基础上考虑框中心距离和宽高比,用于精准优化框位置和形状。

SIOU:考虑框的角度和形状相似性,用于旋转目标检测等需要考虑形状和角度的任务。

EIOU:在 CIOU 基础上把宽高惩罚项分开,用于让模型对框宽高差异更敏感的场景。

DIOU:考虑框中心点距离,用于加快预测框在训练时向真实框的收敛速度。

9、NMS和soft NMS的区别是什么?

NMS 是直接抑制 IOU 大于阈值的重叠框,只留置信度最高的框,简单直接但可能导致近目标框被误删。soft NMS 则是根据 IOU 大小对重叠框的置信度进行衰减,再判断是否保留,更灵活,能减少目标漏检,但计算稍复杂。

10、常见的优化器有哪些?

常见优化器有:

随机梯度下降(SGD):基础优化器,按单个样本梯度更新参数,简单但学习率难调。

动量(Momentum):在 SGD 基础上利用动量,减少局部震荡,加速收敛。

Adagrad:依参数历史梯度平方和调整学习率,适合稀疏数据,但学习率会一直降。

Adadelta:改进 Adagrad,让学习率更新更稳定,无需手动设初始学习率。

RMSProp:类似 Adadelta,通过衰减率调整学习率,优化过程更稳定高效。

Adam:结合动量和 RMSProp 优点,收敛快,对超参数不太敏感。

11、梯度消失和梯度爆炸的概念:

梯度消失:比如在一个很深的循环神经网络(RNN)中,随着时间步的增加和网络层数的加深,梯度在反向传播时会不断地乘以一个小于 1 的权重,就像每次乘以 0.9,经过很多层后,梯度就变得微乎其微了。

梯度爆炸:假设在反向传播时,梯度每次乘以一个大于 1 的数,比如 2,随着层数的增加,梯度就会呈指数级增长,很快就会变得非常大。

12、BN的类型有哪些?

Batch Normalization(BN)原理:对每个小批次数据归一化,先将数据处理成标准正态分布,再通过可学习参数变换。应用:用于 CNN 等多种神经网络的卷积层后、全连接层前,加速收敛,提升稳定性和泛化能力。

Layer Normalization(LN)原理:在每个样本的所有特征维度归一化,不依赖批次大小。

应用:在 Transformer 架构等自然语言处理场景用得较多。

Instance Normalization(IN)原理:在每个样本的每个通道内归一化,关注样本内部特征。应用:在图像风格迁移等任务应用较多。

Group Normalization(GN)原理:将通道维度分组,在组内计算均值和方差归一化,结合了 BN 和 IN 优点。应用:批次小或不确定时比较适用,用于对实时性要求高的任务。

13、卷积和可形变卷积的应用场景?

卷积的应用场景:在图像领域,用于图像分类、目标检测、图像分割、去噪和增强。在语音领域,用在语音识别和合成。在自然语言处理领域,用于文本分类和机器翻译。

可形变卷积的应用场景:用于复杂目标检测和识别,像检测姿态多变或部分遮挡的物体。用于场景理解和语义分割,处理不规则形状物体。用于视频分析和动作识别,适应物体运动形变。在医学图像分析中,对不规则的器官和病变区域特征提取也很有用

14、还有哪些常见的卷积:TBC、Coord、DS、蛇形卷积等。

15、怎么实现Zero Shot的目标检测算法?

基于预训练模型的方法:利用在大规模图像 - 文本对上预训练的模型,如 CLIP、ALIGN、ALBEF 等,将图像和文本映射到同一特征空间,通过计算图像区域特征与目标类别文本特征的相似度来判断是否存在相应目标.

提示学习方法:通过设计和优化文本提示,如在类别名称基础上添加详细描述或可学习的提示向量,引导模型更好地理解和识别未见过的类别,从而提高检测性能.

伪标签生成方法:利用视觉和语言模型从大量未标记图像中生成伪标签,挖掘其中可能包含的新类别目标信息,再结合原始标注数据训练检测器,增强模型对未标记类别和新类别的检测能力.

暂时就先写15题,欢迎大家评论区补充,祝我好运吧xdm!!!

标签:卷积,检测,图像,目标,面试,算法,梯度,类别,视觉
From: https://blog.csdn.net/qq_53093911/article/details/144056883

相关文章

  • 2024年最新多目标优化算法:多目标班翠鸟优化算法(MOPKO)求解ZDT1-ZDT4,ZDT6,提供完整MATLAB
    一、班翠鸟优化算法班翠鸟优化算法(PiedKingfisherOptimizer,PKO)是一种基于群体的新型元启发式算法,由AbdelazimHussien于2024年提出。该算法从自然界中观察到的班翠鸟独特的狩猎行为和共生关系中汲取灵感,能够有效地解决不同搜索空间中的各种优化挑战算法描述PKO算法通......
  • ST算法
    ST算法:基于倍增原理的算法。  对数列的每一个元素,我们将它分成单独的区间,将其作为第一组,再对每两个元素分成单独的区间,作为第二组,再对四个元素分成单独区间,依次类推。我们可以看到,如果多个小区间完全覆盖一个大区间(可以重叠但不超过),则大区间的最值一定和这些小区间的最值相等。......
  • 代码随想录算法训练营day59| 47.参加科学大会 94.城市间货物运输
    学习资料:https://www.programmercarl.com/kamacoder/0047.参会dijkstra堆.html#思路dijkstra堆优化节点少:用邻接矩阵边少:用邻接表Bellman_ford算法边的权值有负数;对所有边进行松弛n-1次的操作松弛(A---value--->B)ifminDist[B]>minDist[A]+value:minDist[B]=minDist[A......
  • 代码随想录算法训练营第十四天(统一迭代;LeetCode226.翻转二叉树;LeetCode101.对称二叉树
    统一迭代LeetCode144.二叉树的前序遍历题目链接:二叉树的前序遍历题目链接代码/***Definitionforabinarytreenode.*publicclassTreeNode{*intval;*TreeNodeleft;*TreeNoderight;*TreeNode(){}*TreeNode(intval)......
  • 极端天气下的目标检测与单目测距算法(毕业设计附代码)
    代码获取:代码本文主要工作:科技的发展与进步促使自动驾驶车辆逐渐成为全球汽车产业发展的重要战略方向。但自动驾驶车辆面对如:大雨、大雾、大雪等极端环境时,智能汽车图像采集与处理系统将面临巨大挑战。并且自动驾驶需要实时关注周围物体的威胁,实时进行目标检测以及精确......
  • 数据结构——排序算法分析与总结
    排序算法是数据结构中的重要内容,用于将一组数据按照特定的顺序(如升序或降序)进行排列。以下是对常见排序算法的分析与总结:1.冒泡排序(BubbleSort)基本原理:它是一种比较简单的排序算法。通过反复比较相邻的两个元素,如果顺序错误(如在升序排序中,前面的元素大于后面的元素),则交......
  • node.js毕设基于协同过滤算法的居民健康生活引导系统的设计与实现程序+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于居民健康生活引导系统的研究,现有研究主要以通用的健康管理系统为主,这些系统大多侧重于基本的健康数据记录与简单分析,如体重、血压等单一数据的管理......
  • 测试面试题总结
    功能抓包APPUI自动化项目:项目流程,如何排期测试流程,项目周期项目流程中的问题介绍项目核心功能,如何设计用例熟悉或最近的项目,业务功能,和负责部分,如何进行测试业务测试除了功能上还有其他方面的逻辑测试吗项目最近发版时间开发技术评审发现了什么问题开发逻辑讲......
  • 水域智能监管视频分析服务器水源地入侵识别算法技术与应用守护水域安全
    随着科技的飞速发展,视频监控技术已广泛应用于各个领域,从公共安全到环境保护,无不体现着其巨大的价值。在这一背景下,水域智能监管视频分析服务器作为智能监控系统的核心,正不断融合先进的人工智能算法,以实现更为精准、高效的监控目标。其中,水源地入侵识别算法作为一项前沿技术,正逐步......
  • ASP.NET Core面试题汇总
    1.如何在controller中注入service?在configservices方法中配置这个service。在controller的构造函数中,添加这个依赖注入。 2.ASP.NETCore比ASP.NET更具优势的地方是什么?跨平台,ASP.NETCore可以运行在Windows、Linux和MAC系统上;对框架本安装没有依赖,所有依赖都跟......