作者wheado (principal component QQ)
看板DataScience
标题[问题] YOLO中的Anchor box无法理解
时间Mon May 3 17:38:11 2021
请教各位高手,如何理解anchor box在yolo中的实际运作?
不考虑anchor-free的类型,
举个例子,在简单的情况下,
假设在没有anchor box的情况下,
假设有 3 + 1 个物体类别(车子、人、猫咪以及背景)。
对於一张图片(尺寸为12 x 12),
假设将其划分成 3 x 3 个 cell,那麽其中每个cell的尺寸为 4 x 4 pixel。
假设卷积的间隔是 4 (sliding windows的大小),假设我们只用一次卷积层,
来获得预测结果。
那麽结果会是一个 3 x 3 x 8 的张量(tenser),
其中 3 x 3 对应到上面划分的 cell 位置,
而 8 代表一个向量(Pc, Bx, By, Bh, Bw, C1, C2, C3),
其中 Pc 代表这个cell有没有可辨识的物体,
(Bx, By, Bh, Bw)代表Bounding box的位置,
(C1, C2, C3)代表了是哪个物体的机率,这里不考虑背景。
今天我想理解anchor box在YOLO中实际的运作模式,
我参考了
https://reurl.cc/kVz7jx 中的影片。
理解了假设有 2 个 anchor 的话,
那麽结果会是一个 3 x 3 x 2 x 8 的张量(tenser)。
问题来了,anchor可以像是影片中长的、宽的,
那整个卷积过程在训练中是如何运作?
在训练过程中,我的理解是将每个cell去做padding,
这里的padding需要考虑两个情况,
一个是边边的部份,不足可以用补 0 来填空,
另一个是中间,就延伸考虑 cell 外面的 pixel ,
让 cell 经过 padding 变成跟anchor box一样的大小,
将 anchor box 当作一个 filter 去对每个 cell 做卷积,
这样做结果就会是 3 x 3 x 1 x 8 ,
然後我有两个 anchor box ,所以结果就会是影片中 3 x 3 x 2 x 8 的形状。
以上好像说的通,但实际上我是瞎掰脑补的,参考影片中的 4:56 秒,
这里我看不懂它考虑两个 anchor box 的说明,
我只看得懂要选最大的IoU,也不知道是谁跟谁比,
总之跟我前面的理解差的有点多...
想了很久想不通,Google找到的资料都是那几张图,
然後看不懂还是看不懂。
有没有大神可以从这个简单的范例说明,
anchor box 在训练中如何运作?
在预测中又是如何使用?
谢谢。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 118.168.196.186 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/DataScience/M.1620034693.A.E90.html
※ 编辑: wheado (118.168.196.186 台湾), 05/03/2021 17:39:48
1F:推 franktpmvu: 其实啥都没做 在第三个维度只靠训练时的label决定他的 05/03 18:56
2F:→ franktpmvu: anchor要哪种长宽比 其他的运算都是一样的 05/03 18:56
3F:→ franktpmvu: 也就是说靠学习来让网路记住某种长宽比在第三维度要为 05/03 18:56
4F:→ franktpmvu: 1 其他要为0 05/03 18:57
5F:→ franktpmvu: 所以网路在预测时 会在第三维度选出长宽比最相似的anc 05/03 18:59
6F:→ franktpmvu: hor 05/03 18:59
7F:→ wheado: 我要想一下,在将我的解释补充上来,谢谢。 05/04 11:08
8F:推 bymyself: 影片中在讲 如果你有两个你要如何更新你的true label(y) 05/06 09:35
9F:→ bymyself: 如果你有两个anchor boxes, 某个cell里只有一个 object 05/06 09:37
10F:→ bymyself: 需要根据你的object 的BB跟你两个anchor BB的IoU决定如 05/06 09:38
11F:→ bymyself: 何把oject BB摆到你的label 05/06 09:39
12F:→ bymyself: 调整完你的training label之後, 就是硬train一发 05/06 09:40
13F:→ followwar: 怎麽会把positive negative sampling跟anchoring 05/18 22:55
14F:→ followwar: 混在一起= =? 05/18 22:55