There is another toy example for reweighting Generative Boost, C++ version and Matlab version. minmax_toy.
I use varying number of features. And plot the ROC and DET. On ROC, I compute the AUC. On DET, I compute the EQ point, i.e., where false positive rate and miss rate are equal. The results reported in HOG paper (CVPR) is EQ 0.01.
EXP1
The images are 57x148, numbers of examples are as follows.
|
|
Training |
Testing |
|
Positive |
1540 |
564 |
|
Negative |
12180 |
5047 |
|
|
|
|
For HOG, I extract 972 candidate features for each image.
|
# of features |
AUC |
EQ |
Miss rate at false positive rate=1e-3 |
Miss rate at FPR=1e-4 |
|
50 |
0. 95827 |
0.102 |
|
|
|
100 |
0.9703 |
0.089 |
|
|
|
150 |
0.9728 |
0.085 |
|
|
|
200 |
0.9735 |
0.083 |
|
|
|
250 |
0.9753 |
0.079 |
|
|
|
300 |
0.9755 |
0.078 |
|
|
|
350 |
0.9763 |
0.077 |
|
|
|
400 |
0. 97517 |
0. 079 |
0. 74645 |
0.94858 |
|
500 |
0. 97693 |
0. 0728 |
0. 70567 |
0.93262 |
|
600 |
0.9773 |
0. 0735 |
0.71631 |
0.93972 |
|
700 |
0. 97702 |
0. 076 |
0. 72518 |
0. 9344 |
|
800 |
0. 9771 |
0.0759 |
0.69681 |
0.92908 |
|
900 |
0.9776 |
0.0727 |
0.69504 |
0.93617 |
|
950 |
0.9783 |
0.0727 |
0.70567 |
0.93972 |
|
Original HOG |
|
0.01 |
0.04 |
0.1 |
When I flip the examples to get # of negatives double
|
|
Training |
Testing |
||||
|
Positive |
1520x2=3080 |
564x2=1128 |
||||
|
Negative |
12180x2=24360 |
5047x2=10094 |
||||
|
|
|
|
||||
|
# of features |
AUC |
EQ |
Miss rate at false positive rate=1e-3 |
Miss rate at FPR=1e-4 |
||
|
100 |
0.97885 |
0.0744 |
0.64184 |
0.81915 |
||
|
300 |
0.98337 |
0.066 |
0.52837 |
0.87234 |
||
|
500 |
0.98314 |
0.0637 |
0.60106 |
0.91844 |
||
|
650 |
0.98387 |
0.0620 |
0.62145 |
0.89982 |
||
|
700 |
0.98366 |
0.0624 |
0.59309 |
0.89362 |
||
|
750 |
0.98365 |
0.0629 |
0.58777 |
0.88475 |
||
|
800 |
0.98342 |
0.0613 |
0.60106 |
0.86613 |
||
|
850 |
0.98331 |
0.0629 |
0.63918 |
0.86702 |
||
|
900 |
0.98338 |
0.0629 |
0.63298 |
0.89982 |
||
|
972 |
0.9833 |
0.0623 |
0.61968 |
0.90603 |
||
|
Original HOG |
|
0.01 |
0.04 |
0.1 |
||
When I re-cut the negative examples, together with flipping copies, there are 97440 negative examples for training.
|
|
Training |
Testing |
||||
|
Positive |
1540x2=3080 |
564x2=1128 |
||||
|
Negative |
48720x2=97440 |
20188x2=40376 |
||||
|
|
|
|
||||
|
# of features |
AUC |
EQ |
Miss rate at false positive rate=1e-3 |
Miss rate at FPR=1e-4 |
||
|
100 |
0.97841 |
0.0730 |
0.47872 |
0.71809 |
||
|
300 |
0.98357 |
0.0638 |
0.41401 |
0.74025 |
||
|
500 |
|
|
|
|
||
|
650 |
|
|
|
|
||
|
700 |
|
|
|
|
||
|
750 |
0.0629 |
0.45656, 0.81294 |
|
|
||
|
800 |
|
|
|
|
||
|
850 |
|
|
|
|
||
|
900 |
|
|
|
|
||
|
972 |
|
|
|
|
||
|
Original HOG |
|
0.01 |
0.04 |
0.1 |
||
1. Visualize intermediate results.
2. Use correct training negative examples. Crop negative examples exhaustly --- negative examples mining.
3. Fit the histogram p_{n-1}(r_n) and f(r_n) using Gaussian or exponential.
4. Compare Generative Boosting + Gabor
5. Add shiftmax to HOG and Gabor to make them active
6. Combine Active Basis and HOG under Generative Boosting.
7. EM and mixture model
8. Add inhibition to simplify the reweighting, i.e., when updating histogram p_{n-1}(r_n) , independent features are not updated. This will improve the speed and make the generalization better.