R-CNN
论文顺序:
R-CNN->Fast R-CNN->Faster R-CNN(RPN)->R-FCN-MASK-RCNN
PositiveOverlapRange and NegativeOverlapRange is defined as:
area(A∩B)/area(A∪B)
score越高,表示box包含object的可能性越大
R-CNN(matlab R-CNN计算过程)
假设有40张训练图片,以及相应的Boundingbox
1.产生Proposal,得到40x2000,个proposal,并且根据area(A∩B)/area(A∪B)
得到这些proposal对应的得分以及是否包含object
2.假设Min_batch=127,在5张图中取127个proposal,其中32个位pos,即标记,95个位neg,即background
这些proposal 均缩放为CNN接收的输入尺寸,假设是32x32x3,那么X是32x32x3x127。以及相应的response,1x1x2x127,数值为1或0,1表示label,0表示background。计算这127个数据的前向CNN得到其score,并反向得到各连接层(fc以及conv层)的梯度,更新参数
3.训练Box回归
fast-RCNN
class,boxPredice是在同一步骤,而不是RCNN分开训练的
该CNN在第6层为RoIMaxPool,前8层是共用的,第9-11层是FC,Softmax,CrossEntroy层,即class层
前8层可以认为是特征提取层,BoxPredict则是前8层+FC回归层
假设有40张训练图片,以及相应的Boundingbox
1.产生Proposal,得到40x2000个proposal,并且根据area(A∩B)/area(A∪B), 得到这些proposal对应的得分以及是否包含object.(与RCNN一样),并且还记录了PositiveBoxRegressionTarget,
2.遍历每张图,传入图片I以及m个pos与n个neg对应的box(I,与m+n个box保存在变量X,response保存每个box的所属,1(class)或0(background),以及每个box的回归偏差),假如这张图有2个pos,那么neg也是两个,3个Pos,那么neg为4个,计算每个box的预测,假设有3个pos box,3个negbox,那么传出的predictions
为1x1x2x6,值为0-1的数,标签值,以及gradient,梯度分别是class的梯度以及boxpredict的梯度,并更新参数(计算梯度的过程,
1.前向过程,
1.1前向卷积保持图像尺寸不变
1.2经过RoIMaxPool层,得到m+n个16x16x32的RoI
1.3经过后面的网络层,得到神经网络对每个Box的pos,neg得分
1.4 利用上面的前8层结果+FC回归层,得到BoxPredict
)

浙公网安备 33010602011771号