-
Notifications
You must be signed in to change notification settings - Fork 152
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
Reproducing IoU-Net #36
Comments
Hi, alex, I'm Borui. I'm here to share some tricks... Firstly, the method we use to jitter the boxes. To generate a sample(batch) during training, we take the following steps:
So in 4, how to effectively jitter G=(x0, y0, x1, y1) to fit the given IoU interval [L, R]? ① if d > 0, then L<wh/(w+d)h<R, w=x1-x0, h=y1-y0. => w(1-R)/R < d < w(1-L)/L The boxes generated by our algorithm is more closer to the uniform distribution because we could divide the large interval of IoU to many small intervals. |
I write a code of the method. Here it is:
And the total time of generating 100k jittered samples: |
3. How do you sample from the jittered RoIs? How many do you sample per image? I'm sorry that we forgot the exactly number of jittered RoIs during training. 4. What IoU threshold do you use during the IoU-guided NMS? (I can't find the value for Omega_nms in the paper) I'm sorry we forgot Omega_nms from carelessness. The Omega_nms(=0.5) we use is the same as traditional NMS and Soft-NMS. And extra words: |
Thank you very much for your fast and detailed reply! For now I'll close the issue. |
|
I think your experiments don't have any problem. And I think your problem could be indicated as this format: We have 4 set: C(cls), L(loc 1), L'(loc 2), I(IoU). The formula does not hold. Exceptions could be easily founded. The relation between Pearson and mAP is not that close. Obviously, the boxes with higher IoU is very very important in the computational procedure of mAP. It happened that the boxes with higher IoU is more likely to be predicted with a higher classification confidence or localization confidence intuitively, due to these features are more informative. We have noticed that the well-trained IoUnet predicts more accurate localization confidence when using boxes with higher IoU(about 0.9~1.0) (see in Fig2.b). |
Sadly I still haven't been able to reproduce the results. I do have a few other questions that would help me a lot, if you have time:
Thanks in advance! |
@joishbader Hi, thanks for your work, do you have plan to release the code for IoU-Net. |
Hi,the final error between the predicted_iou and the gt_iou is not given in the paper. Can you tell me the result? |
Hey there,
I find the concepts you describe in your paper very interesting. A few months back I started an attempt to reproduce it for my thesis. So far this has proved to be quite challenging.
In prior email contact with one of the authors I mentioned using Faster R-CNN as the baseline and backend of the model. We agreed that this would likely be possible.
Using Faster R-CNN, I managed to recreate Figure 2a. for COCO and other datasets.
But even after more than a hundred experiments and a lot of models with different hyperparameters, I haven't gotten the results you show in Figure 2b.
An example of Fig2a.-b. for COCO:
and for PASCAL:
The figure on the right is supposed to be similar to Figure 2b. from your paper.
But seeing as the inferred localization confidence (mentioned in the figure as 'loc') is predominantly in a short range (not 0.5-1.0) I believe I might have made a mistake with e.g. the jittering of the RoIs.
What I have done to jitter the RoI is:
x_1' = w * a + x_1
y_1' = h * b + y_1
x_2' = w * c + w + x_1'
y_2' = h * d + h + y_1'
This results in somewhat of a normal distribution:
So, I attempt to sample from this distribution in a way to make it semi-uniform (sampling from bins in the distribution). This results in roughly the following distribution, and thus input for my model during training:
In practice I do not sample values with an IoU lower than 0.5, the figure is merely to describe the sampling method in general.
Finally, I use this sampling method to draw ~128 jittered bboxes per batch from the ~2000 samples I create per batch. These samples are the actual jittered RoIs I input into my model during training.
Their target IoU, or localization confidence, is the IoU between the jittered RoI and the ground truth bbox the jittered RoI is based on.
Thanks in advance!
The text was updated successfully, but these errors were encountered: