Feature Examples Top 10 Sparse Haar-like Features selected by AdaBoost............. 4 Weak Classifier Error Curves ......................................................................................................... 4 Projected Population Histograms................................................................................................. 7 AdaBoost ROC ................................................................................................................................... 10 Projected Population Histograms.............................................................................................. 11 RealBoost ROC .................................................................................................................................. 12 RealBoost Caveats Overfitting ................................................................................................. 13 AdaBoost Testing Results ............................................................................................................. 14 RealBoost Testing Results ............................................................................................................ 16
Conclusions: ............................................................................................................................. 16
to non-zero. This caveat is described in C. Huang, H. Ai, Y. Li, and S. Lao, "Highperformance Rotation Invariant Multi-View Face Detection", IEEE Trans. on PAMI, 29(4), 2007 as: The first constraint makes the features balanced so that no zero-mean normalization is needed.
Smoothed Granule Space for a 16x16 image. Partition progresses through p= [8,4,2]
After obtaining the entire granule space for each image, a feature scores an image by summing all its granule values over the image, negative granule parities are equivalent to subtraction. To determine a features decision boundary, we simply find the midpoint of the scores of the positive and negative populations. We also set a parity for each feature depending on whether the positive population mean is less than the negative population mean or not.
AdaBoost Results
AdaBoost was applied to our Sparse Haar-like Features, with a termination parameter of T=200 weak classifiers. The basic AdaBoost algorithm was used with slight modifications: At each iteration, classifiers with weighted error >= 0.5 were discarded.
Our experiment terminated after selecting 123 weak classifiers. On the final iteration, no weak classifier had weighted error < 0.5.
At T=0, the weak error goes up drastically for about 10,000 of the classifiers. This error comes from the 3-granule features that are not zero-mean normalized.
At T=10, the lowest weighted error achieved is already higher than 0.42, and about 15,000 classifiers have been discarded. You can see the poor classifiers on this iteration on the steep curve above err=0.50.
At t=50 we are down to about 600 classifiers, and the error range is small, about 0.48-0.50. The majority of our classifiers are still performing better than 0.50 though.
At T=100 the range of our error is extremely small, and our curve looks like it has become linear with only 35 classifiers. While the increase in error looked logarithmic before, it seems that now the classifiers are differentiated enough with respect to the image weights that dError/dClassifier has become closer to constant.
A composite of all the weak classifier errors over T. The domain and range are both shrinking.
As T increases, the curves shift right, indicating more images are being classified correctly.
10
AdaBoost ROC
RealBoost Results:
RealBoost was implemented with 100 bins. This actually resulted in a sparse bin histogram for many classifiers, which had the following special cases: When a bin contained 0 positive images, and 0 negative images, no information was gained, thus the realScore = 0. When a bin contained 0 positive images, and >0 negative images, realScore = -FLOAT_MAX When a bin contained 0 negative images, and >0 positive images, realScore = +FLOAT_MAX
In hindsight, we should have reduced the number of bins and smoothed the positive and negative probabilities over the bin histogram in order to smooth the overall weighted probability distributions of the negative and positive populations over real scores. RealBoost was trained using the 123 weak classifiers selected by AdaBoost, training was terminated after boosting T=100 classifiers.
11
With T=10, there is virtually no within class scatter or between class scatter. With few classifiers, and each classifier containing many empty bins, most of our weak classifiers provide zero information, thus the scores are determined by maybe 1 or 2 classifiers for the entire population.
At T=50, there is class separation, but the histogram is sparse and does not look normal.
12
At T=100, there is more within-class scatter and between-class scatter. Although the overlapping region is small, both curves are highly skewed towards the other.
RealBoost ROC
At T=10, there is virtually no population separation, thus the ROC curve is x=0, a vertical line. We see that realBoost has a much higher ROC curve when evaluating training data.
13
14
15
As seen above, AdaBoost hit rate and false positive rate are both high.
16
Here it is clear that realBoost has a lower hit rate and false positive rate than adaboost in testing. Overfitting testing data, exaggerated scores on empty bins, and non-smoothed population densities contributed to this. Additionally, it appears that larger windows have a higher false positive rate. This could be attributed to the additional information loss accrued when larger images are smoothed into granules.
Conclusions:
The caveats of both boosting methods were mentioned above. We should address them. Additionally, we would like to test with a larger feature space and larger data set to boost better, more generalizable weak classifiers. In python using parallel processing it would have taken 1.85 days to boost 500,000 weak classifiers over 60,000 images, so a more exhaustive experiment is very viable.