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

Got very low recall when running script_rpn_bf_pedestrian_VGG16_caltech_demo #17

Closed
Kyla06 opened this issue Nov 4, 2016 · 7 comments
Closed

Comments

@Kyla06
Copy link

Kyla06 commented Nov 4, 2016

I followed the instruction in "Testing Demo" to see the detection results on my own dataset, but I got very low recall disagree with the results in the paper. Did I get something wrong? Thanks a lot.
Here is the ROC I got:
roc_test167_

@zhangliliang
Copy link
Owner

Hi,

The model is trained on the caltech dataset. And its properties might be different from your data. e.g. the pedestrian in caltech are in small scale and often unclear.

The results might be improved after training a model on your own data.

@Kyla06
Copy link
Author

Kyla06 commented Nov 4, 2016

I was trying to increase the number of outputs like the following way or by decreasing the opts.nms_overlap_thres, but the number of bounding boxes I got didn't significantly increase.
default
Is there any way to increase the number of outputs that might increase the recall? Thanks.

@zhangliliang
Copy link
Owner

Hi,

Might help when incearsing the number of proposals via changing the opts.nms_overlap_thres and opts.after_nms_topN.

@gy1874
Copy link

gy1874 commented Nov 5, 2016

Then meet another error.
Could you please have a look?

Preparing training data...total (2) = nonempty (2) + empty (0)
Starting parallel pool (parpool) using the 'local' profile ... connected to 12 workers.
Done.
Preparing validation data...total (2) = nonempty (2) + empty (0)
Done.
Error using arrayfun
Sparse Arrays are not supported. See SPFUN.

Error in proposal_train_caltech>generate_random_minibatch (line 195)
empty_image_inds = arrayfun(@(x) sum(x.bbox_targets{1}(:, 1)==1) == 0, image_roidb, 'UniformOutput', true);

Thanks very much! @zhangliliang

@zhangliliang
Copy link
Owner

@gy1874 You might check the data preparing part. It seems that the code only detect two image in the imdb.

@Kyla06
Copy link
Author

Kyla06 commented Nov 8, 2016

I changed the opts.nms_overlap_thres to 0.3 and the opts.after_nms_topN to 300, but the number of output proposals did not increase a lot. Maybe I should train the model use my dataset.
I have another question about the BF training. I read the code and found that only negative samples were added in the next training stage, but the trained forest in the previous stage seemed not to be used any more. So what is the effect of multiple stages training? Thanks a lot! @zhangliliang

@zhangliliang
Copy link
Owner

Actually the nms_overlap_thres should be increase to 0.9 or 1 for retaining the proposals.

Multiple stage training is used for mining the hard negatives step by step, which is helpful for the robustness of the classifier in the final stage. This technique is widely used and also called as bootstrapping.

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

3 participants