通常在机器学习面试中,问完常见基础知识的技术问题之后会有具体的我的项目问题的探讨,所以这里筹备了一些我的项目相干的话题,以能够帮忙你筹备和通过计算机视觉相干的面试。
计算机视觉的次要工作
- 分类:模型学习图片蕴含了什么物体
- 指标检测:模型查找对象地位,并且它四周画一个突围框
- 指标跟踪:模型定位对象并查看对象下一步的去向
- 人脸识别:模型晓得图像中的人是谁
- 边缘检测:模型晓得物体边缘的地位
- 宰割 - 模型晓得对象的确切地位,咱们能够在它下面创立像素掩码
宰割又分为两个次要的小类
- 语义宰割:同一类别的所有对象的色彩雷同
- 实例宰割:每个对象实例都与其余对象实例离开
常见计算机视觉模型和工具
CNN(历史始于上个世纪)- 卷积神经网络概念,无论图像上的特色在哪里,它都能检测到,不须要太多的图像预处理
AlexNet (2012)
- ReLU 取代了过后的规范 tanh(使网络更快)
- 首先应用间断的卷积层
- 第一次应用 dropout 图层(技术过后刚刚创造)
- 包含多个 gpu 的优化
- 2012 年博得 ILSVRC (ImageNet 大规模视觉辨认挑战赛),是第一个博得图像识别较量的基于 gpu 的 cnn
VGGNet (2014) – CNN 应用比 AlexNet 更小的过滤器,比 AlexNet 更少的参数,具备更好的性能。
GoogleNet / Inception v1 (2014) – CNN 提出了在同一级别上运行的多种大小的过滤器,使网络更宽,而不是更深。2014 年博得 ILSVRC(VGG 第二)。
ResNet(2015) - 残差网络,他解决了梯度隐没问题,所以能够更深。并且它的大小更小(因为应用全局均匀池化,而不是齐全连贯的层)。他是 2015 年取得 ILSVRC 冠军,并且到当初还在作为基类的模型进行比照
UNet(2015) - 用于图像宰割的网络,因为 u 形架构而得名。它的一部分也应用 CNN。并且不须要大量的训练数据。
YOLO (2015) – You Only Look Once 是一个用于实时指标检测的 CNN。最后基于 GoogleNet 和 VGGNet,被称为 Darknet。它将输出宰割成一个单元格网格,每个单元格预测一个边界框和对象类,而后合并为最终的预测。2015 年在 ISBI(国内生物医学影像研讨会)屡次取得挑战冠军
EfficientNet(2019) - 通过“暴力”的超参数搜寻,取得比 ResNet 更弱小和精确的后果
下面的每个网络都与 CNN 架构无关,除此以外还有一些非 CNN 的网络
GAN(2014 年)- 生成反抗网络概念,可能生成数据。应用噪声 + 生成器和鉴别器网络相互竞争,能够使生成器改良生成的输入,使其更靠近实在输出,鉴别器尝试猜想输出是真还是假。
ViT(2020 年)Google 团队提出的将 Transformer 利用在图像分类的模型,尽管不是第一篇将 transformer 利用在视觉工作的论文,然而因为其模型“简略”且成果好,可扩展性强(scalable,模型越大成果越好),成为了 transformer 在 CV 畛域利用的里程碑著述,也引爆了后续相干钻研,目前来说 VIT 曾经做为指标检测和宰割的骨干模型。
罕用的计算机视觉数据集和工具
ImageNet 是最大的数据集之一(每个人都晓得)ILSVRC 上的许多新的神经网络都是在它下面进行评估的。然而每天都会又更新和更加业余的数据集呈现,以下是一些最受欢迎的计算机视觉工作数据集和工具:
图像预处理:咱们在将图像输出网络之前或在进行推断之前对图像进行格式化的步骤。它波及图像变换。
图像变换:扭转图像的操作集,如镜像,旋转,裁剪,扭转光线或色彩,增加噪声等。例如,在 Pytorch 中,torchvision.transforms 模块。
数据加强:在训练模型之前,通过创立数据项的更改副原本减少输出数据样本的数量。对于图像是通过图像变换实现的。当咱们有一个小数据集时,它是十分有用的,但通常来说,它是一个很好的做法,因为咱们心愿咱们的模型更精确。
上面是 fast.ai 提供的数据减少强工具的截图:
常见的计算机视觉问题
1、计算机视觉解决流程是什么样子的?
这实际上取决于职位或公司。有人心愿你提到数据收集,有人想从工作形式化到部署 (只管这甚至不是你的工作) 探讨它,有人只是想在两头听点什么。所以总体看起来是这样的:
工作确认→提取算法和模型架构→数据收集(如果不存在,则标记)→预处理和加强→特征提取→模型训练→推理和测试→剖析和优化→更多测试→部署上线→收集反馈→模型改良(在线,离线训练)
2、如何为训练筹备图像?
- 查看每个图像是否代表已标记的类或蕴含所需的数据
- 删除其余可能产生问题的图像
- 图像预处理
- 应用适当的工作转换进行加强
3、什么时候应用灰度图像?
有时色彩与工作无关: 比方心愿模型学习其余特色,而不是对象的色彩示意,这是一个很好的抉择。它不仅能够更好地进行预测,它还会进步模型的性能。例如,如果你训练一个检测骰子上有多少个点的模型——你不须要色彩。不过,如果须要它来进行事实世界中图像分类时,最好还是应用原图。
4、如何评估计算机视觉模型?
机器学习模型罕用的评估指标 (不仅仅是图像) 是: 准确率,精度和召回率,F1 分数,对于分类来说,与个别的机器学习模型时雷同的,然而对于指标检测则有一些非凡的指标:
IoU (Intersection over Union):预测边界框的重叠面积与理论边界框的重叠面积与联结边界框的公共面积的比率。通常抉择阈值 0.5 来决定预测是否良好,但这取决于模型要解决的问题。它还解决了一个指标问题的多个预测: 只抉择一个(最准确的)。
mAP(均匀精度均值)——一个借助 IoU、精度和召回率以及准确召回率曲线进行统计的度量。咱们必须计算一个类的 IoU,而后计算精度和召回率。最初建设一条精度召回曲线,而后计算均匀精度(曲线下的面积)并为所有的类进行雷同的计算,这样就能够计算出平均值。
5、如何缩小图像上的噪声?
高斯滤波器含糊图像并再次锐化它,中值滤波器用四周像素的平均值替换图像中的每个像素
6、如何检测图像中物体的边缘?
为了晓得边缘在哪里,必须寻找亮度不连续性或图像梯度。
边缘检测操作能够通过计算来实现:
- 基于高斯的(Canny 边缘检测器,高斯拉普拉斯算子)
- 基于梯度的(Sobel 算子,Prewitt 算子,Robert 算子)
在这些算法中,Canny 边缘检测算子可能是最风行也是最无效的一种。
CNN 网络也用于寻找边缘: 在找到所有其余特色之前,通常先找到边缘特色。
神经网络在边缘检测方面也获得了一些停顿:
- CASENet(2017)——具备语义边缘检测
- dexine(2020)——不须要当时训练,在不须要微调的状况下可在各种数据集上工作
- RINDNet(2021)——不仅检测边缘,还晓得它们的类型:normal, illumination, depth, reflection
- PiDiNet(2021)——轻量级高效的边缘检测
7、计算机视觉的应用领域?
- 医学钻研
- 机器人和主动驾驶汽车
- 制造业
- 在其余须要指标检测和跟踪的中央
- 人脸识别
- 教育
- 架构与设计
- 太空钻研
这时一个开放性问题,能够依据理解水平来进行答复
以上就是 一些在面试中可能常被问道的话题,心愿对你有所帮忙
https://avoid.overfit.cn/post/ff3780ecf9f64989b1bb6998fb47783e
作者:Maryna Klokova