从今天起,豆芽有空也尽己所能,帮助一下大家。

面经来源:https://www.nowcoder.com/discuss/750482?source_id=discuss_experience_nctrack&channel=-1


1. 卷积的参数量,计算量怎么算

普通卷积:3x3x3x4=108

3x3是卷积核尺寸,3是输入图片通道数目,4是输出卷积核的个数。


2. 感受野怎么算?为啥用2个串联的3x3卷积可以代替一个5x5的卷积

感受野用来表示网络内部的不同神经元对原图像的感受范围的大小。

神经元感受野的值越大表示其能接触到的原始图像范围就越大,也意味着它可能蕴含更为全局,语义层次更高的特征;相反,值越小则表示其所包含的特征越趋向局部和细节。因此感受野的值可以用来大致判断每一层的抽象层次。

两层3x3的卷积核的感受野大小为5x5,三层3x3的卷积核的感受野大小为7x7

参考文章:https://zhuanlan.zhihu.com/p/31004121


3. 卷积后的尺寸咋算,padding的两种模式是什么

  1. 卷积Input FP size 与 Output FP size之间的计算公式

    如图1所示, 其展示了从Input FP 经过卷积计算得到 Output FP的过程,每个通道相互之间独立

    img

    假设Input FP的尺寸方形为, Output FP的尺寸为为例,kernel为方形,大小为, Input FP的Padding为, 卷积计算的步长(stride)为, 卷积计算:

    假设Input FP的尺寸矩形为, Output FP的尺寸为为例,kernel为方形,大小为, Input FP的Padding为, 卷积计算的步长(stride)为, 图像通道数为,卷积计算:

    比如,输入特征图为5x5,卷积核为3x3,外加padding 为1,则其输出尺寸为。(记住:卷积向下取整,如3.2,向下取整结果为3

padding的两种模式:一种是对原图填充0,使特征图和原图大小一致,一种是不填充,那特征图就会越来越小。


4. 简述two-stage,one-stage的区别

目标检测可以分为两种类型:“两阶段(Two-stage)检测方法”和“单阶段(One-stage)检测方法”,前者将检测定义为“从粗到精”的过程,而后者将检测定义为“一步走”的过程。如基于两阶段的SPPNet、Fast RCNN、Faster RCNN,这些算法首先生成图像中目标物体的建议候选区域,其次再对候选区域做进一步的分类和坐标框回归,得出最后的目标检测结果;而基于单阶段的YOLO、SSD和RetinaNet等,这些算法直接通过回归的方式进行图像中目标物体的检测,即分类和回归同时进行。

two-stage精度高,但速度慢;one-stage精度低,但速度快。


5. rpn网络的结构和作用

包含一个3 x 3的卷积和两个1 x 1的卷积

通过一系列卷积得到公共特征图,假设他的大小是N x 16 x 16,然后我们进入RPN阶段,首先经过一个3 x 3的卷积,得到一个256 x 16 x 16的特征图,也可以看作16 x 16个256维特征向量,然后经过两次1 x 1的卷积,分别得到一个18 x 16 x 16的特征图,和一个36 x 16 x 16的特征图,也就是16 x 16 x 9个结果,每个结果包含2个分数和4个坐标,再结合预先定义的Anchors,经过后处理,就得到候选框;

使用RPN(Region Proposal Network)代替原来的Selective Search方法产生建议窗口




以上所有题的答案其实都来源于我的博客面经,欢迎大家围观:https://blog.nowcoder.net/jiangwenbo