计算机视觉实习面试整理
头条AI Lab
- 如何计算IoU,二叉树逐行遍历
- focal loss有什么缺点
- batch norm有在什么情况下效果不好
- 检测中one-stage和two stage区别是什么,为什么one-stage的方法精度底
- 如何判断一个点是否在凸多边形内
- mask rcnn的损失函数
yolov3
-
anchor如何计算?
采用标准的k-means(即用欧式距离来衡量差异),在box的尺寸比较大的时候其误差也更大,而我们希望的是误差和box的尺寸没有太大关系。因为框的大小不一样,这样大的定位框的误差可能更大,小的定位框误差会小,这样不均衡,很难判断聚类效果的好
在计算anchor boxes时我们将所有boxes中心点的x,y坐标都置为0 -
如何计算IoU
-
Loss function
置信度损失+分类损失(只包含物体)+(仅计算包含物体框的x,y,w,h的损失mse)
faster rcnn
参考https://github.com/matterport/Mask_RCNN/blob/master/mrcnn/model.py
- backbone :
resnet101提取特征C2,C3,C4,C5
利用C2-C5构建FPN金字塔特征P2,P3,P4,P5(上采样后,相加,在卷积),P6(maxpooling P5) - rpn网络(只预测是否是物体)
(rpn网络类似yolo)
rpn的feature map是[P2, P3, P4, P5, P6]
输入时【图片,标签】
输出是【feature map对应点的每一类的可能性,物体的可能性,bbox的位置】
对输出的概率排序,保存前景概率大的一部分,然后选取想对应的anchor,利用rpn的输出回归值对anchor进行第一次修正。修正完利用极大抑制方法,删除其中的一部分anchor。获的最后的anchor。
rpn的loss
是是否是物体的log loss,是smooth L1 loss 是4个参数的vector
通过rpn网络得到的anchor,选择出来正负样本,并计算出正样本和真实框的差距,以及要预测的mask的值,这些都是在后面的网络中计算损失函数需要的真实值。