rcnn系列流程
1,首先ss算法(selective search)提取的区域候选框proposal;
2,提取的proposal转化成227*227图像(为了统一特征长度),输入到cnn(backbone网络,不要全连接层)抽取特征;
3,将抽取的特征向量,用来训练SVM和位置坐标线性回归器。
细节:
1~2K个候选框先筛选概率大的部分,在进行NMS非极大值抑制。其实就是一个矩阵概率的筛选:比如行代表类(狗),所有候选框是狗的概率,设定一个阈值,或者取前100;在进行NMS非极大值抑制,这样就得到概率大而且不重叠的
fast-rcnn系列流程
1,首先对图像直接卷积得到高维特征图,再将SS算法映射到高维特征图(我个人认为这两步没有什么先后顺序),最后得到shape不同,channel相同的特征向量;
2,shape不同,channel相同的特征向量进行ROIpooling操作转化成shape相同的特征向量;
3,对shape相同的特征向量进行分类与位置回归。
细节
训练的数据样本并没有选用所有的ss算法推荐的,而是只用了64 个。1因为正负样例不平衡,就是有太多的背景,原文是选取IOU大于0.5的为正例,[0.1-0.5)为负例。晕,为什么不选[0,0.2)为负例,我个人理解是为了构造更好的超平面,因为分开0和1很好分,有一个单位长度。而0.9到0.91很难分,以为只有0.1个单位长度。再比如0.49的IOU特征被判定为负,0.51的IOU为正,全连接层到损失函数一直在努力构造超平面区分两者。