Jump to content

User:Aliensunmin/sandbox

From Wikipedia, the free encyclopedia

In neuroscience, Saliency detection is considered to be a key attentional mechanism that facilitates learning and survival. Kadir Brady saliency detector is one of the feature detection computer algorithm which borrows the concept in neuroscience and aims to detect representative, discriminative, hence, salient region in the image. It has certain useful properties so that it often performs well in the task of object class recognition.

It's similarity invariant version was first invented by Timor Kadir and Michael Brady in 2001 [1]. Later in 2004, the affine invariant version was invented by Timor Kadir, Zisserman, A. and Michael Brady. [2] In the following article, detail of the algorithm and evaluation of the performance are presented.

Introduction

[edit]
Fig. 1. Detected regions, illustrated by a center point and boundary, should commute with viewpoint change – here represented by the transformation H.(From [2]Fig 1)
File:IntraClass.jpg
Fig. 2. Background change and intra-class variation examples of motorbikes.(From [2]Fig 6)

Many computer vision and image processing applications work directly with the features extracted from image, rather than the raw image, for example, for computing image correspondences [3] [4] [5] [6] [7], or for learning object categories [8] [9] [10] [11]. Depenands on the applications, different characteristics are preferred. However, there are three broad classes of image change under which good performance may be required:

  1. Global transformation: Features should be repeatable across the expected class of global image transformations. These include both photometric and geometric transformations that arise due to changes in the imaging conditions. For example, region detection should be covariant with viewpoint as illustrated in Figure 1.
  2. Local perturbations: Features should be insensitive to classes of semi-local image disturbances. For example, the detector should detect the foreground region despite changes in the background, as shown in Figure 2.
  3. Intra-class variations: Features should capture corresponding object parts under intra-class variations in objects. For example, the front wheel of a motorbike for different brands of motorbike should consistently detected, as shown in Figure 2.

All Feature detection algorithms are trying to detect regions which is stable under these three types of image change. In stead of finding corner [12] [13] , or blob [4] [7] , or any specific shape of regions, Kadir brady saliency detector looks for regions which are locally complex, and globally discriminative. Such regions usually correspond to regions which are more stable under these types of image change.

Information theoretic saliency

[edit]

In Information_theory, Shannon entropy is defined to quantifies the complexity(information) of a probability distribution p as . Higher entropy means p is more complex, hence more unpredictable.

To measure the complexity of a image region around point with shape , a descriptor that takes on values (e.g. in an 8 bit grey level image, D would range from 0 to 255 for each pixel) is defined. Then , the probability of descriptor value occurs in region can be computed by counting the occurrence of the descriptor. Further, the entropy of image region can compute as

Using this entropy equation we can calculate for every point and region shape . As shown in Figure 3 (a), more complex region, like eye region, has more complex distribution, hence higher entropy.

is a good measure for local complexity. However, entropy only measures the statistic of local attribute. It doesn't measure the spatial arrangement of the local attribute. For example, figure 3 (b) shows the eye region and three permutations of pixels of it, which all have the same entropy. However, these four regions are not equally discriminative under scale change as shown in figure 3 (b). This observation is used to define saliency.

The following subsections will discuss different methods to select regions with high local complexity and discriminative across different region.

Similarity invariant saliency

[edit]
Fig. 5. Example output of Similarity invariant saliency. (From [10] Fig 2)

The first version of Kadir brady saliency detector [1] only finds Salient regions invariant under similarity transformation. The algorithm finds circle regions with different scales (see Figure 5). In another words, given , where s is the scale parameter of a circle region , the algorithm select a set of circle region,.

The method consists of three steps:

  • Calculation of Shannon entropy of local image attributes for each x over a range of scales — ;
  • Select scales at which the entropy over scale function (see figure 4 (b)) exhibits a peak —  ;
  • Calculate the magnitude change of the PDF as a function (see figure 4 (c)) of scale at each peak — .

The final saliency is the product of and .

For each x the method picks a scale and calculates salient score . By comparing of different points , the detector can rank points by saliency. For example, in Figure 4, blue circle has higher saliency than red circle.

Affine invariant saliency

[edit]

Previous method is invariant to the similarity group of geometric transformations and to photometric shifts. However, as mentioned in the opening remarks, the ideal detector should detect region invariant to viewpoint change. There are several detector [5] [7] [14] can detect affine invariant region which is a better approximation of viewpoint change than similarity transformation.

To detect affine invariant regions, the detector need to detect ellipses as in figure 6. now is parameterized by three parameters (s, "ρ", "θ"), where "ρ" is the axis ratio and "θ" the orientation of the ellipse.

This modification increases the search space of the shape from scale to a set of parameters. Therefore, the complexity of the affine invariant saliency detector increases. In practice the affine invariant saliency detector starts with the set of points and scales generated from the Similarity invariant saliency detector. Then, the algorithm iteratively approximates the suboptimal parameters solution and output ellipses.

Comparison

[edit]

Although similarity invariant saliency detector is faster than Affine invariant saliency detector, it also has the drawback of favoring isotropic structure since the discriminative measure is measured over isotropic scale. To summarize, Affine invariant saliency detector is invariant to affine transformation and able to detect more general salient regions.

Figure 7 shows the comparison between Similarity invariant saliency detector and Affine invariant saliency detector.

Salient Volume

[edit]

It is intuitive to pick points with higher saliency directly and stop when a certain threshold on number of points or saliency is satisfied. However, natural images contain noise and motion blur, both of them act as randomisers and generally increase entropy, affecting previously low entropy values more than high entropy values.

A more robust method would be to pick regions rather than points in entropy space. Although the individual pixels within a salient region may be affected at any given instant by the noise, it is unlikely to affect all of them in such a way that the region as a whole becomes non-salient.

A simple clustering algorithm is used at the end of the algorithm. It works by selecting highly salient points that have local support - that is, nearby points with similar saliency and scale. Each region must be sufficiently distant from all others (in R3 ) to qualify as a separate entity.

For details, please refer to [1] section 5. The algorithm is implement as GreedyCluster1.m in matlab by Timor Kadir which can be download here

Performance evaluation

[edit]

In the field of computer vision, different feature detectors have been evaluated by several tests. The most profound evaluation is published in [15]. The following subsection discuss the performance of Kadir brady saliency detector on a subset of test in the paper.

Performance under global transformation

[edit]

In order to measure the consistency of region detected under global transformation, repeatability score, which is first proposed by Mikolajczyk and Cordelia Schmid in [16] [5] , is calculated as follow.

Firstly, overlap error of a pair of corresponding ellipses and each on different images is defined as

where A is the locally linearized affine transformation of the homography between the two images, and and represent the area of intersection and union of the ellipses respectively. Notice is scaled into a fix scale to take the count of size difference of detected region. Only if is smaller then certain , the pair of ellipses are deemed to correspond.

Then the repeatability score for a given pair of images is computed as the ratio between the number of region-to-region correspondences and the smaller of the number of regions in the pair of images, where only the regions located in the part of the scene present in both images are counted. In general we would like a detector to have a high repeatability score and a large number of correspondences.

The specific global transformations tested in the [test dataset] are:

  • Viewpoint change
  • Zoom+rotation
  • Image blur
  • JPEG compression
  • Light change

The performance of Kadir brady saliency detector is inferior than most of other detectors [17] [4][5][7]

mainly because the number of points detected is usually lower than other detectors.

The precise procedure is given in the Matlab code from Detector evaluation #Software implementation.

Performance under intra-class variation and image perturbations

[edit]

In the task of object class categorization, the ability of detecting similar regions given intra-class variation and image perturbations is very critical. In [2], Repeatability measure over intra-class variation and image perturbations is proposed. The following subsection will introduce the definition and discuss the performance.

Intra-class variation test

[edit]

Suppose there are a set of images of the same object class, e.g. motorbikes. A region detection operator which is unaffected by intra-class variation will reliably select regions on corresponding parts of all the objects, say the wheels, engine or seat for motorbikes.

Repeatability over intra-class variation is measuring the (average) number of correct correspondences over the set of images, where the correct correspondences is manually selected.

A region is matched if it fulfils three requirements:

  • Its position matches within 10 pixels.
  • Its scale is within 20%.
  • Normalized mutual information between the appearances is > 0.4.

In detail the average correspondence score S is measured as follows.

N regions are detected on each image of the M images in the dataset. Then for a particular reference image i the correspondence score is given by the proportion of corresponding to detected regions for all the other images in the dataset, i.e.:

The score is computed for M/2 different selections of the reference image, and averaged to give S. The score is evaluated as a function of the number of detected regions N .

Fig. 8. Smoothed map of the detected features over all 200 images in the motorbike set back projected onto one image. The color indicates the normalized number of detections in a given area (white is highest). (From [2] Fig 7)

Kadir brady saliency detector gives highest score across three test classes, which are motorbike, car, and face. As illustrate in figure 8, saliency detector indicates that most detections are near the object. In contrast, other detectors (Difference-Of-Gaussian (DoG) blob detector [14] and multi-scale Harris (MSHar) with Laplacian scale selection [5] ) maps show a much more diffuse pattern over the entire area caused by poor localization and false responses to background clutter.

Image perturbations test

[edit]

In order to test insensitivity to image perturbation, the data set is split into two parts: the first contains images with a uniform background and the second, images with varying degrees of background clutter. If the detector is robust to background clutter then the average correspondence score S should be similar for both subsets of images.

In this test saliency detector also outperforms other detectors duo to three reasons:

  • Several detection methods blur the image, hence causing a greater degree of similarity between

objects and background.

  • In most images the objects of interest tend to be in focus while backgrounds are out of focus and hence blurred. Blurred regions tend to exhibit slowly varying statistics which result in a relatively low entropy and inter-scale saliency in the saliency detector.
  • Other detectors define saliency with respect to specific properties of the local surface geometry. In contrast, the saliency detector uses a much broader definition.

Conclusion

[edit]

Saliency detector is most useful in the task of object recognition, whereas several other detectors are more useful in the task of computing image correspondences. However, in the task of 3D object recognition (see #External links) which all three types of image change are combined, Saliency detector might still be powerful.

Application

[edit]

Object Category Recognition (Constellation Model)

Software implementation

[edit]

References

[edit]
  1. ^ a b c Timor Kadir and Michael Brady (November 2001). "Scale, Saliency and Image Description" (PDF). International Journal of Computer Vision. pp. 25(2):83-105. {{cite conference}}: Unknown parameter |booktitle= ignored (|book-title= suggested) (help)CS1 maint: year (link)
  2. ^ a b c d e Kadir, T. , Zisserman, A. and Brady, M. (2004). "An affine invariant salient region detector" (PDF). Proceedings of the 8th European Conference on Computer Vision Prague, Czech Republic. {{cite conference}}: Unknown parameter |booktitle= ignored (|book-title= suggested) (help)CS1 maint: multiple names: authors list (link)
  3. ^ A. Baumberg (2000). "Reliable feature matching across widely separated views". Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. pp. pages I:1774--1781. {{cite conference}}: |pages= has extra text (help); Unknown parameter |booktitle= ignored (|book-title= suggested) (help); Unknown parameter |note= ignored (help)
  4. ^ a b c J. Matas, O. Chum, M. Urban, and T. Pajdla (2002). "Robust wide baseline stereo from maximally stable extremal regions" (PDF). Proceedings of British Machine Vision Conference. pp. pages 384–393. {{cite conference}}: |pages= has extra text (help); Unknown parameter |booktitle= ignored (|book-title= suggested) (help)CS1 maint: multiple names: authors list (link)
  5. ^ a b c d e K. Mikolajczyk and C. Schmid (2002). "An affine invariant interest point detector". Proceedings of European Conference on Computer Vision. {{cite conference}}: Unknown parameter |booktitle= ignored (|book-title= suggested) (help)
  6. ^ F. Schaffalitzky and A. Zisserman (2002). "Multi-view matching for unordered image sets, or "How do I organize my holiday snaps?"" (PDF). Proceedings of European Conference on Computer Vision. pp. 414–431. {{cite conference}}: Unknown parameter |booktitle= ignored (|book-title= suggested) (help)
  7. ^ a b c d T. Tuytelaars and L. Van Gool (2000). "Wide baseline stereo based on local, affinely invariant regions" (PDF). Proceedings of British Machine Vision Conference. pp. 412–422. {{cite conference}}: Unknown parameter |booktitle= ignored (|book-title= suggested) (help)
  8. ^ S. Agarwal and D. Roth (2002). "Learning a sparse representation for object detection" (PDF). Proceedings of European Conference on Computer Vision. pp. 113–130. {{cite conference}}: Unknown parameter |booktitle= ignored (|book-title= suggested) (help)
  9. ^ E. Borenstein and S. Ullman (2002). "Class-specific, top-down segmentation" (PDF). Proceedings of European Conference on Computer Vision. pp. 109–124. {{cite conference}}: Unknown parameter |booktitle= ignored (|book-title= suggested) (help)
  10. ^ a b R. Fergus, P. Perona, and A. Zisserman (2003). "Object class recognition by unsupervised scale-invariant learning" (PDF). Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. pp. II:264–271. {{cite conference}}: Unknown parameter |booktitle= ignored (|book-title= suggested) (help)CS1 maint: multiple names: authors list (link) Cite error: The named reference "R.Fergus2003" was defined multiple times with different content (see the help page).
  11. ^ M. Weber, M. Welling, and P. Perona (June 20002). "Unsupervised learning of models for recognition" (PDF). Proceedings of European Conference on Computer Vision. {{cite conference}}: Check date values in: |year= (help); Unknown parameter |booktitle= ignored (|book-title= suggested) (help)CS1 maint: multiple names: authors list (link) CS1 maint: year (link)
  12. ^ C. Harris and M. Stephens. A (1988). "A combined corner and edge detector". Proceedings of Alvey Vision Conference. pp. 189–192. {{cite conference}}: Unknown parameter |booktitle= ignored (|book-title= suggested) (help)
  13. ^ C. Schmid and R. Mohr (1997). "Local greyvalue invariants for image retrieval" (PDF). IEEE Trans. Pattern Analysis and Machine Intelligence. pp. 19(5):530-535. {{cite conference}}: Unknown parameter |booktitle= ignored (|book-title= suggested) (help)
  14. ^ a b David G. Lowe (1999). "Object recognition from local scale-invariant features" (PDF). International Conference on Computer Vision. pp. 1150–1157. {{cite conference}}: Unknown parameter |booktitle= ignored (|book-title= suggested) (help)
  15. ^ K. Mikolajczyk, T. Tuytelaars, C. Schmid, A. Zisserman, J. Matas, F. Schaffalitzky, T. Kadir and L. Van Gool (2006). "A comparison of affine region detectors" (PDF). International Journal of Computer Vision. {{cite conference}}: Unknown parameter |booktitle= ignored (|book-title= suggested) (help)CS1 maint: multiple names: authors list (link)
  16. ^ K. Mikolajczyk and C. Schmid (2001). "Indexing based on scale invariant interest points" (PDF). International Journal of Computer Vision. {{cite conference}}: Unknown parameter |booktitle= ignored (|book-title= suggested) (help)
  17. ^ Tuytelaars, T., Van Gool, L., D’haene, L., and Koch, R. (1999). "Matching of affinely invariant regions for visual servoing". International Conference Robotics and Automation. {{cite conference}}: Unknown parameter |booktitle= ignored (|book-title= suggested) (help)CS1 maint: multiple names: authors list (link)
[edit]

See also

[edit]

Salient points detection using wavelet transform