YOLO中每一个grid cell 的两个 bounding box 是如何初始化的呢?

我是先学习的 faster RCNN, 刚刚开始学习YOLO。
请问YOLO中是不是像 faster RCNN 那样 给 每个格子分配 几个anchor 呢?

在faster RCNN中,进入RPN的feature map上每一个点对应9个anchor,它们就是固定尺寸的bbox, 在训练时 这些anchor (假设是positive anchor)就是regression的启示值,最后目标是越来越接近Ground truth.

但是YOLO中似乎没有这个RPN和这个feature map的概念, 文章中也没有提到anchor。那么我就糊涂了,”每一个grid cell 对应 2个bbox“ 到底是什么意思呢? 这两个bbox(x,y,h,w, c)的初始值不像是anchor那样事先定好的啊,那他们是怎么被初始化的呢?(如果初始化得不好,用线性方法学不出来啊)
已邀请:

burgerk

赞同来自: 喻一凡

顶一下,希望了解这一块儿的大侠看到

eternity1218 - 90后程序媛

赞同来自: burgerk

请问,你弄清楚了么,我是感觉跟rpn差不多的,x,y是bbox的中心相对格子中心的坐标,至于bbox的w和h,就是跟anchor一样的设置办法啊,中心都在同一个中心上,只是不同size

喻一凡

赞同来自:

跟你一模一样的问题!困扰我好久。你解决了吗?到底每个cell是怎么预测的,随意一个框去算还是怎么样?

vince

赞同来自:

这两天也也在思考这个问题,也没有完全搞清楚,有一些个人的理解
yolo中bbox和fasterRcnn不一样的,faster Rcnn中bbox是预先确定的,而yolo中是不需要预先确定的,bbox的(x,y,h,c)是在训练的时候学习的。
 
为什么B取大于1的值,个人理解由于yolo的一个grid框只能检测一个目标,而实际图片中可能有目标重合的情况,这样多个bbox可能探测到不同的目标,不过在最终使用IOU大的那个作为识别结果,这样有助于提升召回率。

要回复问题请先登录注册