Commit 6aff2d87 authored by jaco's avatar jaco

documentation added (part III)

parent 056c6300
......@@ -3,3 +3,7 @@ Motion Saliency Algorithms
.. highlight:: cpp
Algorithms belonging to this category, are particularly focused to detect salient objects over time (hence also over frame), then there is a temporal component sealing cosider that allows to detect "moving" objects as salient, meaning therefore also the more general sense of detection the changes in the scene.
The implementation of one or more methods related to this category will be made soon.
Motion Saliency Algorithms
============================
.. highlight:: cpp
Algorithms belonging to this category, are particularly focused to detect salient objects over time (hence also over frame), then there is a temporal component sealing cosider that allows to detect "moving" objects as salient, meaning therefore also the more general sense of detection the changes in the scene.
......@@ -3,3 +3,7 @@ Objectness Algorithms
.. highlight:: cpp
Objectness is usually represented as a value which reflects how likely an image window covers an object of any category. Algorithms belonging to this category, avoid making decisions early on, by proposing a small number of category-independent proposals, that are expected to cover all objects in an image. Being able to perceive objects before identifying them is closely related to bottom up visual attention (saliency)
Objectness Algorithms
============================
.. highlight:: cpp
......@@ -8,7 +8,7 @@ Base classes which give a general interface for each specialized type of salienc
StaticSaliency
--------------
.. ocv:class:: TrackerSampler
.. ocv:class:: StaticSaliency
StaticSaliency class::
......
......@@ -28,8 +28,8 @@ StaticSaliency::computeBinaryMap
This function perform a binary map of given saliency map. This is obtained in this way:
In a first step, to improve the definition of interest areas and facilitate identification of targets, a segmentation
by clustering is performed, using K-means algorithm. Then, to gain a binary representation of clustered saliency map, since values of the map can vary according to the characteristics of frame under analysis, it is not convenient to use a fixed threshold.
So, Otsu’s algorithm is used, which assumes that the image to be thresholded contains two classes of pixels or bi-modal histograms (e.g. foreground and back-ground pixels); later on, the algorithm calculates the optimal threshold separating those two classes, so that their
by clustering is performed, using *K-means algorithm*. Then, to gain a binary representation of clustered saliency map, since values of the map can vary according to the characteristics of frame under analysis, it is not convenient to use a fixed threshold.
So, *Otsu’s algorithm* is used, which assumes that the image to be thresholded contains two classes of pixels or bi-modal histograms (e.g. foreground and back-ground pixels); later on, the algorithm calculates the optimal threshold separating those two classes, so that their
intra-class variance is minimal.
.. ocv:function:: bool computeBinaryMap( const Mat& saliencyMap, Mat& binaryMap );
......
......@@ -3,3 +3,41 @@ Static Saliency algorithms
.. highlight:: cpp
Algorithms belonging to this category, exploit different image features that allow to detect salient objects in a non dynamic scenarios.
Presently, the Spectral Residual approach [SR]_ has been implemented.
.. [SR] Hou, Xiaodi, and Liqing Zhang. "Saliency detection: A spectral residual approach." Computer Vision and Pattern Recognition, 2007. CVPR'07. IEEE Conference on. IEEE, 2007.
SpectralResidual
------------------------------
Starting from the principle of natural image statistics, this method simulate the behavior of pre-attentive visual search. The algorithm analyze the log spectrum of each image and obtain the spectral residual. Then transform the spectral residual to spatial domain to obtain the saliency map, which suggests the positions of proto-objects.
.. ocv:class:: StaticSaliencySpectralResidual
Implementation of SpectralResidual from :ocv:class:`StaticSaliency`::
class CV_EXPORTS_W StaticSaliencySpectralResidual : public StaticSaliency
{
public:
StaticSaliencySpectralResidual();
~StaticSaliencySpectralResidual();
typedef Ptr<Size> (Algorithm::*SizeGetter)();
typedef void (Algorithm::*SizeSetter)( const Ptr<Size> & );
Ptr<Size> getWsize();
void setWsize( const Ptr<Size> &arrPtr );
void read( const FileNode& fn );
void write( FileStorage& fs ) const;
protected:
bool computeSaliencyImpl( const InputArray src, OutputArray dst );
};
Static Saliency categories
Static Saliency algorithms
============================
.. highlight:: cpp
Algorithms belonging to this category, exploit different image features that allow to detect salient objects in a non dynamic scenarios.
Presently, the Spectral Residual approach [SR]_ has been implemented.
.. [SR] Hou, Xiaodi, and Liqing Zhang. "Saliency detection: A spectral residual approach." Computer Vision and Pattern Recognition, 2007. CVPR'07. IEEE Conference on. IEEE, 2007.
StaticSaliencySpectralResidual
------------------------------
Starting from the principle of natural image statistics, this method simulate the behavior of pre-attentive visual search. The algorithm analyze the log spectrum of each image and obtain the spectral residual. Then transform the spectral residual to spatial domain to obtain the saliency map, which suggests the positions of proto-objects.
.. ocv:class:: StaticSaliencySpectralResidual
Implementation of SpectralResidual from :ocv:class:`StaticSaliency`::
class CV_EXPORTS_W StaticSaliencySpectralResidual : public StaticSaliency
{
public:
StaticSaliencySpectralResidual();
~StaticSaliencySpectralResidual();
typedef Ptr<Size> (Algorithm::*SizeGetter)();
typedef void (Algorithm::*SizeSetter)( const Ptr<Size> & );
Ptr<Size> getWsize();
void setWsize( const Ptr<Size> &arrPtr );
void read( const FileNode& fn );
void write( FileStorage& fs ) const;
protected:
bool computeSaliencyImpl( const InputArray src, OutputArray dst );
};
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment