之前找图像处理算法工作的面试题贴出来,大家可以大概看一下,尽量查漏补缺。面试官问的还是比较全的,一些细节问题都问到了。还有一点就是数据结构与算法很重要,有时间可以刷刷牛客网,或者力扣。
- 自我介绍
- 说说自己的几个项目
- 图像特征金字塔的作用?怎么实现的?
答:为了解决多尺度检测的问题,引入了FPN网络。先将图像下采样,然后再上采样做特征图融合,融合过程中用不同尺度的特征图进行预测。
4.Fast-rcnn的区域候选框是怎么得到的?
答:通过selective search得到的,先基于图像分割得到小尺度区域,再一次次合并成大尺寸。
5.不标定的情况下怎么区分一张遮挡的图像和不遮挡的图像?
6.Yolo的路由层作用是什么?
①融合特征②开辟一个新的检测分支
7.如果做分类的话应该怎么来做,不检测,只分类?
答:使用基础的骨干网络做特征提取,然后加上分类头进行分类
8.AP和mAP的区别?
答:Ap是准确率和召回率曲线下方的面积,map是各类ap值得平均值
9.输入多尺度的图像怎么给图像做到统一输出
10、BCNN项目中使用的数据集是多大的,每类多少张数据
11、使用的什么框架
12、pytorch中的gether函数的作用
13、yolo中使用的数据增强有哪几种
14、目标框的常见的损失的几个变形?
①IOU当检测目标越接近真实目标时,则IOU越接近1,则loss越小。这样模型就可以通过不断降低loss来使得模型得出更好的预测结果。缺点:当两框不想交时,可能需要多次迭代才有交集,可能出现loss不变的情况。当三个框重合度差不多,相交面积一样时加入中心点距离更加合理。
②GIOU损失在iou损失的基础上增加了,| A - U | / |A|的惩罚项,解决了两框不想交loss恒等于1的情况。两框越远loss越大。
③DIOU,直接采用两框中心点间的距离作为惩罚,loss下降更快
④CIOU,在DIOU基础上增加长宽比惩罚
15、怎么在我原有的结果上提升准确率
①提高数据质量,数据扩充,数据增强(mixup training)。②改变网络结构③改变优化器,改变学习率④知识蒸馏?
16、如果有10000张汽车图片,一百万张人脸,怎么把这个数据集train起来,类别不平衡问题?
答:任务类别不均衡可以通过生成新的图像来训练,将少的类别裁剪然后拼接
18、为什么特征图要继承上一层特征图?为了使特征图更加平滑(具体忘了问题是啥)
19、模型实时检测的帧率计算?
可以参考视频:https://www.bilibili.com/video/av837947458/(大神简直让我膜拜)
17、你有什么想问的问题?
笔试题:
C语言基础(指针、类型所占字节数,进制之间的转化)、图像处理基础、编程基础、数学基础(排列组合相关,线性代数)
其中图像处理基础有:1、哪几种滤波器是平滑的2、哪些不是边缘检测3、如果图像处理中有字符串出现裂缝,应该用什么操作?开运算,闭运算4、
编程题:
请用两种方法输出菲波那切数列,并说明两种方法优劣?
简答题:
- 手动计算卷积的过程,并写出卷积后的结果,要求卷积输出和输入尺寸相等
- 简述深度学习成功的案例,以及深度学习和传统方法相比有哪些优势
- 说明为什么要结合准确率和召回率来分析?