计算机视觉实习面试整理

头条AI Lab

  • 如何计算IoU,二叉树逐行遍历
  • focal loss有什么缺点
  • batch norm有在什么情况下效果不好
  • 检测中one-stage和two stage区别是什么,为什么one-stage的方法精度底
  • 如何判断一个点是否在凸多边形内
  • mask rcnn的损失函数

yolov3

  • anchor如何计算?
    采用标准的k-means(即用欧式距离来衡量差异),在box的尺寸比较大的时候其误差也更大,而我们希望的是误差和box的尺寸没有太大关系。因为框的大小不一样,这样大的定位框的误差可能更大,小的定位框误差会小,这样不均衡,很难判断聚类效果的好
    d ( b o x , c e n t r o i d ) = 1 − I O U ( b o x , c e n t r o i d ) d(box,centroid)=1−IOU(box,centroid) d(box,centroid)=1IOU(box,centroid)
    在计算anchor boxes时我们将所有boxes中心点的x,y坐标都置为0

  • 如何计算IoU
    计算机视觉实习面试整理_第1张图片
    W = m a x ( m i n ( X 1 , A 1 ) − m a x ( X 0 , A 0 ) , 0 ) W=max(min(X1,A1)−max(X0,A0),0) W=max(min(X1,A1)max(X0,A0),0)

  • 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
    L ( { p i } , { t i } ) = 1 N c l s ∑ i L c l s ( p i , p i ∗ ) + λ 1 N r e g ∑ i p i ∗ L r e g ( t i , t i ∗ ) L(\{p_i\},\{t_i\}) = \frac{1}{N_{cls}}\sum_iL_{cls}(p_i,p_i^*)+\lambda\frac{1}{N_{reg}}\sum_ip_i^*L_{reg}(t_i,t_i^*) L({pi},{ti})=Ncls1iLcls(pi,pi)+λNreg1ipiLreg(ti,ti)
    L c l s L_{cls} Lcls是是否是物体的log loss, L r e g = R ( t i , t i ∗ ) L_{reg}=R(t_i,t_i^*) Lreg=R(ti,ti)是smooth L1 loss t i t_i ti是4个参数的vector
    t x = ( x − x a ) / w a , t y = ( y − y a ) / h a t w = l o g ( w / w a ) , t h = l o g ( h / h a ) t x ∗ = ( x ∗ − x a ) / w a , t y ∗ = ( y ∗ − y a ) / h a t w ∗ = l o g ( w ∗ / w a ) , t h ∗ = l o g ( h ∗ / h a ) t_x = (x-x_a)/w_a,t_y=(y-y_a)/h_a \\t_w = log(w/w_a),t_h = log(h/h_a)\\ t_x^* = (x^*-x_a)/w_a,t_y^*=(y^*-y_a)/h_a\\ t_w* = log(w^*/w_a),t_h^*=log(h^*/h_a) tx=(xxa)/wa,ty=(yya)/hatw=log(w/wa),th=log(h/ha)tx=(xxa)/wa,ty=(yya)/hatw=log(w/wa),th=log(h/ha)

通过rpn网络得到的anchor,选择出来正负样本,并计算出正样本和真实框的差距,以及要预测的mask的值,这些都是在后面的网络中计算损失函数需要的真实值。

你可能感兴趣的:(TensorFlow)