Experiment 12

Active basis templates and adaboost templates

Learning the active basis template can be a lot faster than learning the adaboost template, because the latter requires a large number of negative training examples.

In active basis model, the selected and perturbed basis elements inhibit nearby basis elements in each individual training image, because the selected and perturbed (arg-max) element explains away part of the image. In other words, we remove a part of each positive image to make the residual image more like those of the natural images. This step is missing in discriminative learning.

If we want to be more precise, we should transform [I_m, B_{m, i}] to Q^{-1}(P([I_m, B_{m, i}])), where [] is the inner product, Q is the cumulative density function of q, the marginal histogram of filter responses in natural images, and P is the cumulative density function of p, the marginal histogram of {[I_m, B_{m, i}]} in positive images. Q^{-1}P is the monotone transformation that changes the histogram p to histogram q. Since it is monotone, it is the transform that involves the minimum changes of individual responses for histogram equalization. The transformed positive images are the "residual images", and c_{m, i} = [I_m, B_{m, i}] - Q^{-1}(P([I_m, B_{m, i}])) is the fitted coefficient for image I_m. For these residual images, the B_i cannot tell them apart from natural images because of the histogram equalization. So this gives us a new data set that neutralizes the selected B_i. Then the next B_{i+1} can be selected on this neutralizing data set. We can also neutralize all the previously selected basis elements, B_1, ..., B_i, by matching the multi-dimensional joint histograms.

This neutralizing data set does not involve reweighing the original data set as in adaboost, or resampling (filtering) the original data set as in the earlier boosting scheme, so there is no loss of effective training examples. This neutralizing data set viewpoint connects generative learning and discriminative learning.

Moreover, in the generative approach, we naturally remove the arg-max element from each example in creating the neutralizing example, so that the arg-max element inhibits overlapping elements. This is sharper than discriminative reweighing.

The above learning process essentially removes the objects from the positive images, so that the residual images become natural images. In that sense, generaltive learning of objects amounts to removal of the objects from training images. We can introduce further image-specific hidden variables for sharper removal of the object in each individual positive image, so the image-specific hidden variables are naturally needed in the generative model.

The image-specific inhibition leads to cleaner template composed of selected basis elements. This should help further modeling of shape deformation, by modeling the perturbations or activities of selected elements. Currently we assume that the perturbations of the elements are independent and uniform within a limited range. This model should be tigened up by smoothness constraints such as nearby elements tend to be nearby after perturbations or by grouping the elements into parts, so that elements within the same part share an overall movement.

The positive training images can be found in Experiment 1 and Experiment 3. Both types of templates are learned from the same positive training images under the same parameter settings.

The learning of active basis templates does not require negative images except pooling a one-dimensional marginal histogram from the two background images. It is therefore much faster. The negative images in the adaboost learning are cropped randomly from 200+ large natural images at multiple resolutions. The natural images can be downloaded at natural image zip. You can unzip it into a directory "naturalImage", and then move the directory into the directory for matlab code. I have also added two more zip of natural images at natural image zip 2 natural image zip 3

The active basis template seeks to explain individual positive images, and summarize typical positive images. The adaboost template tends to focus more on marginal images because of its discriminative nature. We have not done discriminative learning of the mixture models, where the difference of the behaviors of the two learning schemes might be more prenounced.

(1) Code and data data source: Yahoo auto page
==> Number of training images = 37; Number of elements = 60; Length of Gabor = 17 pixels; Local normalization or not = 1; Range of displacement = 3 pixels; Subsample rate = 2 pixel; Image height and width = 82 by 164 pixels

Number of sketches in the above active basis templates are, respectively, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60

Number of negative images is 1065. Number of sketches in the above adaboost templates are, respectively, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 105, 110, 115, 120. The difference between active basis template and adaboost template may be caused by the fact that there are a few cars in the training images that are of non-typical poses.
eps1 2
More negative examples
==> Number of training images = 37; Number of elements = 60; Length of Gabor = 17 pixels; Local normalization or not = 1; Range of displacement = 3 pixels; Subsample rate = 2 pixel; Image height and width = 82 by 164 pixels

Number of sketches in the above active basis templates are, respectively, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60

Number of negative images is 10556. Number of sketches in the above adaboost templates are, respectively, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 105, 110, 115, 120

(2) Code and data data source: internet
==> Number of training images = 15; Number of elements = 50; Length of Gabor = 17 pixels; Local normalization or not = 1; Range of displacement = 3 pixels; Subsample rate = 1 pixel; Image height and width = 179 by 112 pixels

Number of sketches in the above active basis templates are, respectively, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50

Number of negative images is 1147. Number of sketches in the above adaboost templates are, respectively, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100
eps1 2
More negative examples
==> Number of training images = 15; Number of elements = 50; Length of Gabor = 17 pixels; Local normalization or not = 1; Range of displacement = 3 pixels; Subsample rate = 1 pixel; Image height and width = 179 by 112 pixels

Number of sketches in the above active basis templates are, respectively, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50

Number of negative images is 4815. Number of sketches in the above adaboost templates are, respectively, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100

(2.1) Code and data data source: internet
==> Number of training images = 42; Number of elements = 50; Length of Gabor = 17 pixels; Local normalization or not = 1; Range of displacement = 3 pixels; Subsample rate = 1 pixel; Image height and width = 225 by 150 pixels

Number of sketches in the above active basis templates are, respectively, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50

Number of negative images is 1113. Number of sketches in the above adaboost templates are, respectively, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100

(3) Code and data data source: internet
==> Number of training images = 9; Number of elements = 50; Length of Gabor = 17 pixels; Local normalization or not = 1; Range of displacement = 3 pixels; Subsample rate = 2 pixel; Image height and width = 122 by 120 pixels

Number of sketches in the above active basis templates are, respectively, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50. See positive images and their sketches.

Number of negative images is 1138. Number of sketches in the above adaboost templates are, respectively, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100
eps1 2
(4) Code and data data source: Lotus Hill Institute. The data are the same as in Experiment 3.
==> Number of training images = 280; Number of elements = 40; Length of Gabor = 17 pixels; Local normalization or not = 1; Range of displacement = 3 pixels; Subsample rate = 1 pixel; Image height and width = 108 by 135 pixels

Number of sketches in the above active basis templates are, respectively, 5, 10, 15, 20, 25, 30, 35, 40. See positive images and their sketches.

Number of negative images is 1511. Number of sketches in the above adaboost templates are, respectively, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80
eps1 2
More negative examples
==> Number of training images = 280; Number of elements = 40; Length of Gabor = 17 pixels; Local normalization or not = 1; Range of displacement = 3 pixels; Subsample rate = 1 pixel; Image height and width = 108 by 135 pixels

Number of sketches in the above active basis templates are, respectively, 5, 10, 15, 20, 25, 30, 35, 40

Number of negative images is 4991. Number of sketches in the above adaboost templates are, respectively, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80

Still more negatives
==> Number of training images = 280; Number of elements = 40; Length of Gabor = 17 pixels; Local normalization or not = 1; Range of displacement = 3 pixels; Subsample rate = 1 pixel; Image height and width = 108 by 135 pixels

Number of sketches in the above active basis templates are, respectively, 5, 10, 15, 20, 25, 30, 35, 40

Number of negative images is 7510. Number of sketches in the above adaboost templates are, respectively, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80

(5) Code and data data source: Lotus Hill Institute
==> Number of training images = 89; Number of elements = 60; Length of Gabor = 17 pixels; Local normalization or not = 1; Range of displacement = 3 pixels; Subsample rate = 1 pixel; Image height and width = 100 by 100 pixels

Number of sketches in the above active basis templates are, respectively, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60.

Number of negative images is 1493. Number of sketches in the above adaboost templates are, respectively, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 105, 110, 115, 120
eps1 2
Allowing local shift in learning active basis template
==> Number of training images = 89; Number of elements = 60; Length of Gabor = 17 pixels; Range of displacement = 3 pixels; Range of rotation of template = 1 times pi/15

more negative examples
==> Number of training images = 89; Number of elements = 60; Length of Gabor = 17 pixels; Local normalization or not = 1; Range of displacement = 3 pixels; Subsample rate = 1 pixel; Image height and width = 100 by 100 pixels

Number of sketches in the above active basis templates are, respectively, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60

Number of negative images is 4552. Number of sketches in the above adaboost templates are, respectively, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 105, 110, 115, 120

(6) Code and data data source: Lotus Hill Institute
==> Number of training images = 53; Number of elements = 60; Length of Gabor = 17 pixels; Local normalization or not = 1; Range of displacement = 3 pixels; Subsample rate = 1 pixel; Image height and width = 100 by 100 pixels

Number of sketches in the above active basis templates are, respectively, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60

Number of negative images is 1493. Number of sketches in the above adaboost templates are, respectively, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 105, 110, 115, 120
eps1 2
(7) Code and data
==> Number of training images = 79; Number of elements = 50; Length of Gabor = 17 pixels; Local normalization or not = 1; Range of displacement = 3 pixels; Subsample rate = 1 pixel; Image height and width = 100 by 100 pixels

Number of sketches in the above active basis templates are, respectively, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50

Number of negative images is 1493. Number of sketches in the above adaboost templates are, respectively, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100

(8) Code and data data source: Lotus Hill Institute. The data are the same as in Experiment 3.
==> Number of training images = 223; Number of elements = 50; Length of Gabor = 17 pixels; Local normalization or not = 1; Range of displacement = 3 pixels; Subsample rate = 2 pixel; Image height and width = 100 by 150 pixels

Number of sketches in the above active basis templates are, respectively, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50. See positive images and their sketches.

Number of negative images is 1004. Number of sketches in the above adaboost templates are, respectively, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100
eps1 2
More negative examples
==> Number of training images = 223; Number of elements = 50; Length of Gabor = 17 pixels; Local normalization or not = 1; Range of displacement = 3 pixels; Subsample rate = 2 pixel; Image height and width = 100 by 150 pixels

Number of sketches in the above active basis templates are, respectively, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50

Number of negative images is 4936. Number of sketches in the above adaboost templates are, respectively, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100

Still more negatives
==> Number of training images = 223; Number of elements = 50; Length of Gabor = 17 pixels; Local normalization or not = 1; Range of displacement = 3 pixels; Subsample rate = 2 pixel; Image height and width = 100 by 150 pixels

Number of sketches in the above active basis templates are, respectively, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50

Number of negative images is 12217. Number of sketches in the above adaboost templates are, respectively, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100

(9) Code and data
==> Number of training images = 12; Number of elements = 40; Length of Gabor = 17 pixels; Local normalization or not = 1; Range of displacement = 3 pixels; Subsample rate = 1 pixel; Image height and width = 100 by 139 pixels

Number of sketches in the above active basis templates are, respectively, 5, 10, 15, 20, 25, 30, 35, 40. See positive images and their sketches.

Number of negative images is 1241. Number of sketches in the above adaboost templates are, respectively, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80

(10) Code and data
==> Number of training images = 11; Number of elements = 30; Length of Gabor = 17 pixels; Local normalization or not = 1; Range of displacement = 3 pixels; Subsample rate = 1 pixel; Image height and width = 114 by 120 pixels

Number of sketches in the above active basis templates are, respectively, 5, 10, 15, 20, 25, 30. See positive images and their sketches.

Number of negative images is 1248. Number of sketches in the above adaboost templates are, respectively, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60

(11) Code and data
==> Number of training images = 27; Number of elements = 60; Length of Gabor = 17 pixels; Local normalization or not = 1; Range of displacement = 3 pixels; Subsample rate = 1 pixel; Image height and width = 144 by 144 pixels

Number of sketches in the above active basis templates are, respectively, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60. See positive images and their sketches.

Number of negative images is 1475. Number of sketches in the above adaboost templates are, respectively, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100

(12) Code and data
==> Number of training images = 99; Number of elements = 60; Length of Gabor = 17 pixels; Local normalization or not = 1; Range of displacement = 3 pixels; Subsample rate = 1 pixel; Image height and width = 100 by 100 pixels

Number of sketches in the above active basis templates are, respectively, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60. See positive images and their sketches with local shifting of overall location and scale.

Number of negative images is 1828. Number of sketches in the above adaboost templates are, respectively, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100

Allowing local shift in learning active basis template
==> Number of training images = 99; Number of elements = 50; Length of Gabor = 17 pixels; Range of displacement = 3 pixels; Range of rotation of template = 1 times pi/15

Back to active basis homepage