- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个实例 bool 蒙版,其形状为 (448, 1000, 1000),有 448 个实例,实例的平均像素约为 100。
现在,如果我有一个形状为 (1000, 1000) 的预测矩阵并按整数预测实例,即如果矩阵预测 500 个实例,则 np.unique(pred) 将是 501(500 个类 + 1 个背景)。
我需要计算每对预测和掩码的 IOU(杰卡德索引),以找到最大 IOU。我已经在下面编写了代码,但是速度非常慢且效率低下。
c = 0 #intersection count
u = 0 #union count
pred_used = [] #record prediction used
# loop for every ground truth mask
for idx_m in range(len(mask[:,0,0])):
m = mask[idx_m,:,:] #take one mask
intersect_list = []
union_list = []
# loop every prediction
for idx_pred in range(1, int(np.max(pred))+1):
p = (pred==idx_pred) # take one prediction mask
intersect = np.sum(m.ravel() * p.ravel()) #calculate intersect
union = np.sum(m.ravel() + p.ravel() - m.ravel()*p.ravel())
intersect_list.append(intersect)
union_list.append(union_list)
if np.sum(intersect_list) > 0:
idx_max_iou = np.argmax(np.array(intersect_list))
c += intersect_list[idx_max_iou]
u += union_list[idx_max_iou]
pred_used.append(idx_max_iou)
最佳答案
因此,您有一个大小为 [1000,1000] 的输出图像,这是您的模型预测的数组/张量。
您可以做的第一件事是将标签和预测从 [1000,1000] reshape 为 [1000*1000, ]。这将复杂度从 N^2 降低到 N。这应该会显着提高速度。
您还可以尝试 Scikit 的 IoU,它可能比您的版本快一点。
您可以在此处找到示例:How to find IoU from segmentation masks?
文档:http://scikit-learn.org/stable/modules/generated/sklearn.metrics.jaccard_similarity_score.html
关于python - 大图像上实例IOU快速计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51073802/
1、前言 因为最近刚好被问到这个问题,但是自己当时特别懵逼,导致没有做出来。所以下来后自己Google了很多IoU的博客,但是很多博客要么过于简略,要么是互相转载的,有一些博客图和代码还有点问题
我正在执行图像分割任务,并且我使用的数据集只有基本事实但没有边界框或多边形。 我有 2 个类(背景忽略 0),输出和基本事实标签在一个数组中,如 预测--/---标签 0|0|0|1|2 0|0|0|
我有图片中给出的这两个边界框。框坐标如下: 框 1 = [0.23072851 0.44545859 0.56389928 0.67707491]框 2 = [0.22677664 0.3823781
我有一个函数可以计算两个矩形/边界框的 IoU。 def intersection_over_union(boxA, boxB): # determine the (x, y)-coordin
有人可以提供一个关于如何在 pytorch 中为语义分割计算 IoU(交集对联合)的玩具示例吗? 最佳答案 我在某处找到了它并为我改编了它。如果我能再次找到它,我会发布链接。抱歉,如果这是重复的。 这
当人们尝试使用 CNN 解决语义分割任务时,他们通常在训练期间使用 softmax-crossentropy 损失(参见 Fully conv. - Long )。但是,当比较不同方法的性能时,会报告
我正在考虑制作一个欠条(我欠你)网络应用程序,我可以在其中跟踪谁欠我什么以及欠我什么。我这样做是作为一个副项目。无论如何,我没有数据库模式设计的经验。应用程序设计如下图所示: 现在,我知道我需要一个至
我在 tensorflow 对象检测中使用了检测模型 zoo 中的 ssd_mobilenet_v1_coco。我目前正在通过运行来训练模型 python legacy/train.py --logt
Tensorflow 对象检测 API 中如何为多个边界框预测计算 IoU 指标? 最佳答案 对象周围的每个边界框与该对象的真实值框都有一个 IoU(交集)。它的计算方法是将预测的边界框和实际正确的(
是否有任何推荐的每类 IoU(并集交集)每像素精度(与边界框不同)实现。我正在使用 caffe 并设法获得平均 IoU,但我很难为每类精度做 IoU。如果有人能指出任何语言的良好实现,我将不胜感激 最
我正在 AWS sagemaker 上进行一些语义分段工作。我的输出是所有类的平均 iou 和像素精度,但我需要更多粒度,因此需要每个类的 iou 和像素精度。这是为了看看哪些类需要改进。 我想这是可
在我的多类实例分割自定义数据集上训练 MaskRCNN 时,输入格式为: image -) shape: torch.Size([3, 850, 600]), dtype: torch.fl
在物体检测中,IOU(intersection over union)是一个介于 0 和 1 之间的值,表示在特定图像中绘制在物体上的 2 个框之间的重叠百分比。 为了帮助您理解那是什么,这里有一个插
IOUIssueFlow 采用 IOUState 状态 参数。如 creating-an-instance-of-a-class 中所述,我们可以通过崩溃 shell 向流程提供状态对象,如下所示(也
我是一名优秀的程序员,十分优秀!