csuhan / opendet2

Official code of the paper "Expanding Low-Density Latent Regions for Open-Set Object Detection" (CVPR 2022)
https://arxiv.org/abs/2203.14911
103 stars 11 forks source link

Question about Figure 2 in paper #2

Open zhongxiangzju opened 2 years ago

zhongxiangzju commented 2 years ago

Nice job! Could you please explain the "latent feature" used in Figure 2 clearer? Is it the output of Contrastive Head(CH) OR the input of CH(output of RoI Align after flattern)? Thanks.

csuhan commented 2 years ago

It is the output of bbox head (RoI Align+FCs).

We add a hook to roi_heads.py.

def _forward_box(self, features: Dict[str, torch.Tensor], proposals: List[Instances], targets=None):
   #####
   # remove some lines
   #####
    if self.log_feature:
        gt_classes = torch.cat([p.gt_classes for p in targets])
        # gt_classes = torch.cat([p.gt_classes for p in proposals])
        if isinstance(box_features, tuple):
            box_features = self.box_pooler(
                features, [x.gt_boxes for x in targets])
            box_features = self.box_head(box_features)
            self._save_features(box_features[1], gt_classes)
        else:
            self._save_features(box_features, gt_classes)
zhongxiangzju commented 2 years ago

Thanks a lot. Another issue is that what's the difference between baseline in Table 3 and FR-CNN in Table 1? Their results are quite similar, but not the same.

screenshot of Table 1 image

screenshot of Table 3 image

csuhan commented 2 years ago

FR-CNN is a standard FR-CNN, while baseline denotes a variant of FR-CNN with some modifications (see Sec. 3.2). Although the baseline does not improve the open-set performance, it works better for our CFL and UPL.