Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Questions about the calculation of IoU #10

Open
LZDSJTU opened this issue Jun 18, 2019 · 3 comments
Open

Questions about the calculation of IoU #10

LZDSJTU opened this issue Jun 18, 2019 · 3 comments

Comments

@LZDSJTU
Copy link

LZDSJTU commented Jun 18, 2019

hi,

I have a question about the IoU.

The GCN-D directly predicts the IoP and IoU for each proposal and do not need other information. It can be understood that the IoP can be predicted just using the single proposal.

However, when predicting the IoU, the proposal do not contain the full information. We do not know how many nodes are outside the proposal.

I think that clustering is not the same as object detection. For detection, the network can learn a prior knowledge about the shape of the object. But for clustering, the number of the nodes outside the proposal is uncertain and there is no explicit relation between the current proposal and the whole nodes including the outside nodes.

So I do not understand why the IoU can be predicted. Could you explain it?

Thank you very much.

@yl-1993
Copy link
Owner

yl-1993 commented Jun 18, 2019

@LZDSJTU Briefly, the reason lies in the multi-scale proposals training. Compared with objection detection, it tells the network that different scopes of an object associated with different IoU scores. For example, to detect a dog, we may generate following proposals (part, IoU), e.g, (a leg, 0.1), (a body, 0.4), (a body with four legs, 0.8) and (the entire dog, 1.0). From these multi-scale proposals, the network can implicitly learn what kind of cluster patterns are relevant to high IoU scores. (You can also find some discussion related to this in #1.)

@LZDSJTU
Copy link
Author

LZDSJTU commented Jun 18, 2019

谢谢您的回复。

我的疑问点在这里,我们在训练好一个模型后,做测试的时候,对于一个proposal,GCN-D的输出值(IoU)是一个确定值。但实际上,和这个proposal同ID的其他外部节点,数量是不确定的,可以很多也可以很少。

如果说当前的IoU准确反应了当前数据的pattern,那在全量数据中,插入一些新的这个ID的人脸,并且使得插入后不影响当前的proposal的生成,那么这个IoU反应的信息就不准确了。

即人脸聚类的数据是任意的,并且是不连续的,可以任意添加或减少,而目标检测的数据是必须符合形状且大部分是连续的。所以有点没理解。

谢谢您的解答。

@yl-1993
Copy link
Owner

yl-1993 commented Jun 23, 2019

谢谢,抱歉前几天参会没有及时回复。这是一个好问题,我想到了以下几点:(1)在graph和在image上的detection是不同的,我们类比到object detection是为了让读者更易于理解方法的思想。如你之前所说,在图像上的检测可以学到一些物体的形状信息,在聚类问题中,我们同样希望它能够学到一些“形状”的信息,这个“形状”可能是一些特殊的结构,比如全连通的子图相比于链状的子图更可能是一个类。(2)不同于图像中可以做bounding box regression,在graph上没有具体的坐标,因此我们引入IoU将其当成是一个衡量proposal质量的指标。在测试过程中,我们并不需要预测绝对的IoU,我们最终的目的是生成一个ranking,使得质量高的proposal能够被优选选出来。如果加入了一个ID的新数据,虽然原proposal的输出值不变,但如果这个更大的proposal输出了更高的分数,那么还是可以把这个类筛选出来。IoU不是唯一也不一定是最优的质量指标,只是我们在实验中发现IoU可以在一定程度上衡量proposal的质量。(3)我们构建的是affinity graph,增删数据会影响graph的构建过程。graph-based方式的隐藏假设是邻近数据之间是相关的(smoothness/cluster assumption)。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants