而retinaDetector中有包含了几个模块,如下图所示。 其中backbone和FPN都是可配置的,无论你是要用Resnet还是mobilenet都可以,FPN也一样。无论是正常的FPN还是Nas-FPN、PAFPN等都是可以随意配置。但是前者的作用都是特征提取,后者都是多尺度训练和inference。其中RetinaHead,当你打开它的代码时,你会发现它的内容及其...
1.2 初始化及inference_detector调用 # registration hooks layer_id = ['neck.detect1', 'neck.detect2', 'neck.detect3'] feat_ext = FeatureExtractor(model=model, layers=layer_id) # inference x = np.random.random(size=(472, 512, 3)) result = inference_detector(feat_ext.model, img=x) ...
返回maskrcnn的配置文件(1.x,2.0看base config),可以看到训练和测试的不同之处:LoadAnnotations,MultiScaleFlipAug,DefaultFormatBundle和Collect。额外提示,虽然测试没有LoadAnnotations,根据CustomDataset可知,它仍需标注文件,这和inference的pipeline不同,也即这里的test实为evaluate。 代码语言:javascript 复制 # 序列中...
path.join(base_dir, r'demo\demo.jpg') # 或者 img = mmcv.imread(img),这样图片仅会被读一次 result = inference_detector(model, img) # 在一个新的窗口中将结果可视化 model.show_result(img, result, out_file=None, show=True) if __name__ == '__main__': demo_mmdet() 我们看到,根据...
'inference with batch size ' \ f'{imgs[0].size(0)}' # TODO: support test augmentation for predefined proposals assert 'proposals' not in kwargs return self.aug_test(imgs, img_metas, **kwargs) self.simple_test方法代码(继承自SingleStageDetector): ...