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