我对深入学习完全陌生。我有一个Detectron2模型,探测位于屋顶上的太阳能电池板。我想要计算被检测面板的表面,因此我需要得到被检测对象的像素数。有什么办法吗?
发布于 2022-05-15 17:50:57
如果您使用官方框架和分割而不是检测(为了更精确的表面估计)在图像im上使用如下所示:
outputs = predictor(im)Dict outputs有键instances (您可以看到源代码) --您可以只获取掩码布尔张量并计算它的和:
masks = outputs['instances'].pred_masks
masks.shape
# torch.Size([15, 480, 640])因此,这里有15个对象和输入图像的布尔掩码大小作为每个对象的掩码,现在我们计算每个检测对象的像素总数:
torch.sum(torch.flatten(masks, start_dim=1),dim=1)
# tensor([32251, 8786, 2513, 11821, 1395, 2129, 496, 2722, 1020, 571,
1060, 806, 2006, 535, 297], device='cuda:0')https://stackoverflow.com/questions/72238999
复制相似问题