从网路架构图中可以知道FPN每一层都会连接cls分支,这些cls分支权值是共享的。 cls分支用于预测每个anchor的K个类别预测机率,网路模型总共使用五层,其中四层为3x3x256的FCN网路(激活函数使用ReLU)以及最后一层FCN的维度则是使用3x3xKA(使用Sigmoid),是因为对于A个anchor都有K维的one-hot向量,表示每一个类别的预测...
上述得到 normalized_cls_score 的计算过程看起来非常复杂,但是其实是为了能够对融合后的 normalized_cls_score 采用 sigmoid 函数而已,其对应的公式是: cls=torch.sigmoid(normalized\_cls\_score) =torch.sigmoid(x+y-log(1+e^x+e^y))=torch.sigmoid(ln(e^{(x+y)}/(1+e^x+e^y)))=torch.sigmoid(x...
roi_labels=torch.where(roi_labels==self.bbox_head[i].num_classes,bbox_results['cls_score'][:,:-1].argmax(1),roi_labels)# 利用 rois bbox_pred 可以得到新的 proposals,用于下个 stage 训练 proposal_list=self.bbox_head[i].refine_bboxes(bbox_results['rois'],roi_labels,bbox_results[...
单张特征图的 forward 流程为: # x是 p3-p7 中的某个特征图cls_feat=xreg_feat=x# 4层不共享参数卷积forcls_convinself.cls_convs:cls_feat=cls_conv(cls_feat)forreg_convinself.reg_convs:reg_feat=reg_conv(reg_feat)# 输出特征图cls_score=self.retina_cls(cls_feat)bbox_pred=self.retina_reg...
Mixin):# feats 是 backbone+neck 输出的多个尺度图def forward(self, feats):# 对每张特征图单独计算预测输出return multi_apply(self.forward_single, feats)# head 模块分类回归分支输出def forward_single(self, x):cls_score = self.conv_cls(x)bbox_pred = self.conv_reg(x)return cls_score, bbox...
return cls_score, bbox_pred... 而对于不同的 head,其 loss 计算部分也比较复杂,可以简单抽象为:losses = self.loss(...) def loss(...): # 1 生成anchor-base需要的anchor或者anchor-free需要的points # 2 利用gt bbox对特征图或者anchor计算其正负和忽略样本属性 # 3 进行正负样本采样 # 4 对gt ...
cfg.model['test_cfg']['score_thr'] = 0.2cfg.model['test_cfg']['nms']['iou_threshold'] = 0.5model=build_detector(cfg.model) checkpoint= load_checkpoint(model, _ckpt, map_location='cpu') model=fuse_conv_bn(model) model.eval()#old versions did not save class info in checkpoints, ...
rpn_cls_score=self.rpn_cls(x) rpn_bbox_pred=self.rpn_reg(x)returnrpn_cls_score, rpn_bbox_preddefloss(self, cls_scores, bbox_preds, gt_bboxes, img_metas, gt_bboxes_ignore=None):"""Compute losses of the head. Args: cls_scores (list[Tensor]): Box scores for each scale level...
rpn_cls_score = self.rpn_cls(x) #对应于anchor的前景背景分类 1*3*13*16 rpn_bbox_pred = self.rpn_reg(x) #对应于anchor的回归 1*12*13*16 return rpn_cls_score, rpn_bbox_pred def loss(self, cls_scores, bbox_preds, gt_bboxes, img_metas, cfg): ...
python tools/analyze_logs.py plot_curve log.json --keys loss_cls --legend loss_cls绘制一些运行的分类和回归损失,并将该图保存为pdf。python tools/analyze_logs.py plot_curve log.json --keys loss_cls loss_reg --out losses.pdf比较同一图中两次运行的bbox mAP。python tools/analyze_logs.py plot...