这是不对的,因为如果这样做,就代表了不管它是哪一张图,只要候选框的信息固定,就有一个与之对应的修正框,这样明显是不对的 。
我们需要根据实际情况来得到每个框的四个d函数 。因此作者是将最后一个池化层的结果:[2000,4096]作为输入,乘上一个[4096,4]的矩阵,得到一个[2000,4]的矩阵(2000个候选框对应的四个d函数) 。最后SVM得到结果后,再把候选框代进对应的四个d函数,根据上面的公式就能算出修正框的位置了 。
那么这个[2000,4]的矩阵如何得到呢?答案是线性回归,假设一个式子Y=W*X,然后我有大量的X和对应的Y,我就能把W学习出来 。而我们把G近似看成G戴帽子,再把上述图片中的公式移项一下,就得到了下面这堆公式 。理论上来说t就是d 。
图片来自论文
我们根据G和P把t算出来,随后我们以最后一个池化层的结果为Φ5,根据下面这个损失函数进行训练:
图片来自论文
机器学习的内容,不多赘述了,后面的正则化项特别重要(作者说的) 。
非极值抑制
上面都跑完后,我们会得到很多重叠的框框,如下图的情况 。这个时候我们就要用到一个叫做非极值抑制(NMS)的技术,它的作用是将这么多个框变为一个 。
图片改自论文
首先,我们有一堆的框,以及我们知道每个框代表的类别和概率 。我们先把概率低于一定阈值(这个阈值自己设定)的框的概率设为0 。然后我们将所有框按照概率的高低由高到低排序 。这样之后,每一类最高概率那几个框肯定排在前面 。然后我们重头往后遍历,每次选择一个框A,计算排在后面的与框A同类的框B和框A之间的IOU,如果大于某个阈值(自己设定),就删除框B,直至遍历完成 。
NMS算法其实就是从靠得很紧的一类框里,选出概率(或者说是分数)最高的那个 。
- 紫竹怎么施肥
- 三 Python神经网络学习--机器学习--西瓜书学习笔记
- 深度学习-tensorflow对花的品种进行分类
- 专访数学家Hannah Fry:算法的时代,人类从未如此重要
- Koa学习1:初始化项目
- 超神学院之雄兵连凉冰是谁
- 学电脑零基础怎样才可以快速学
- CPU材料学才是最顶级的学科
- Koa 中间件
- 消息中间件学习-摘抄