【发布时间】:2016-07-31 09:56:18
【问题描述】:
给定一个边界框bbox1,我想随机生成一个新的边界框bbox2,它至少与bbox1重叠0.5。
重叠率定义为bbox1和bbox2的交集面积除以两者的并集面积。
我能想到的最幼稚的方法是随机生成边界框,直到找到满足条件的边界框。但显然,它会浪费一些时间来生成和评估不满意的候选人。
如果边界框由左上角和宽度和高度bbox1 = (x1, y1, w1, h1)编码,下面的伪代码显示了我如何生成新的边界框。
do
x2 = random(x1 - w1, x1 + w1/2)
y2 = random(y1 - h1, y1 + h1/2)
w2 = random(0, 2 * w1)
h2 = random(0, 2 * w1 * h1 / w2)
bbox2 = (x2, y2, w2, h2)
while bboxOverlapRatio(bbox1, bbox2) < 0.5
有更好的解决方案吗?例如,我可以进一步缩小随机范围吗?
【问题讨论】:
-
这样的边界框有无数个,那么你心目中的概率分布是什么?制服显然不是一种选择
-
为什么统一不是一种选择?是的,有无限个这样的边界框,但范围可以缩小。
-
哦,好吧,我误解了这个问题。没关系
-
两个边界框的大小和形状是否相同?如果没有,你能发布生成盒子直到一个合适的天真的代码吗?
-
@MOehm 它可以有不同的大小和形状。我已经发布了我限制新边界框范围的方式。
标签: algorithm image-processing