rcnn 提出了 region proposal+cnn。输入图像,ss提取2000个左右的proposal,将每个proposal缩放到227*227的大小,并输入到cnn,在送入svm分类,对于分类好的proposal做bb回归。ss+svm分类+boundingbox边框回归(线性回归)
fast rcnn提出了ROIpooling:不同size 的porposal在经过一系列的conv+pooling操作以后,得到不同的feature map大小不一样,但是全连接啊,所有有了ROI,输入feature map,找到graund trueth对应的roipooling,比如输出应该是2*2,则把这个对应的分为2*2区域,每个区域maxpooling。这就真正实现end-end的操作。ss+多任务损失{softmax分类+边框回归}(分类和回归是同级输出)
faster rcnn。rpn,只需在最后的卷积层上滑动一遍。一张600*1000输入,一系列卷积最后得到256*40*60的feature map。使用3*3kernel进行卷积,得到个256维的特征向量,+cls(候选框)+reg(目标or背景)。3*3的滑窗对应的特征区域对应了3种尺度(128,256,512)3种长宽比(121)构成了9个anchor,一共40*60*9个框。虽然也是滑窗,但是在卷积上的,维度比原始降低了16倍。在送入roipooling生成固定大小的送如vgg16最后一层,在用softmax分类和smooth L1回归。
标签分类:需要给每个anchor分配标签,reg目标or背景iou大于0.7为正,小雨0.3为负,中间的舍去因为没用。
smooth l1损失。想比喻l2损失对于离群点更加路棒,并且在原点也更平滑。为啥用smoothL1 loss,L1loss的导数是常数,可以防止数据中的离群点(噪声)产生的loss过大导致的梯度爆炸。原始L1倒数在原点处不连续,于是在原点附近用二次函数代替