I am trying to find a list of possible image features like color, oriented edges and so on for measuring their usability in case of finding same/similar objects in images. Does anyone know such a list or at least some features?
The field itself is too vast. So i doubt you can have a fully exhaustive list here. However, MPEG 7 is one of the primary effort in standardizing this area. So what is included here is not universal - but at least the most primary.
Here are some key feature set which are identified in MPEG7 ( I can really talk only about Visual Descriptors not others see this for full scope).
There are 4 catagory of Visual Descriptors:
1. Color Descriptors which includes :
Color Layout (essentially Primary color on block-by-block basis)
Scalable Color (essentially Color histogram),
Color Structure (essentially local Color histogram),
and Color spaces to make things interoperable.
2. Texture Descriptors (see also this) which includes :
Texture Browsing Descriptor - which defines granularity/coarseness, regularity,and direction. Homogeneous Texture Descriptor - which is based on Gabor filter bank. and
3. Shape Descriptors which includes :
Region based descriptors are scalar attributes of shape under consideration - such as area, ecentricities etc.
Contour based which captures actual characteristic shape features and
4. Motion Descriptors for Video
Camera Motion (3-D camera motion parameters)
Motion Trajectory (of objects in the scene) [e.g. extracted by tracking algorithms] Parametric Motion (e.g. motion vectors, which allows description of motion of scene. But it can be more complex models on various objects).
Activity which is more of a semantic descriptor.
MPEG 7 doesn't define "How these are extracted" - it only defines what they mean and how to represent/store them. So research does exists on how to extract and use them.
Here is another good paper that gives insight in this subject.
But yes, many of these features are rather basic and may be more research will create more sophisticated (and complex) feature set.
Ok I think I found a suitable list by just searching a bit more. There is a paper by Deselaers etc al. which seams to be what I was looking for!
There is also a book that bundles a set of papers related to this topic. It's called Principles of Visual information Retrieval.
@Dipan Mehta covered the feature descriptors that can be used. Let me now try and cover the other side of the coin by mentioning some feature detection methods that extract features good for CBIR.
They argue that to implement an efficient CBIR methods, features of complementary properties should be used:
Shape Adapted regions - tend to be centered at corner-like features
examples: Harris corners, multi-scale Harris, DoG (Difference of Gaussians - but also responds to edges!)
Maximally Stable regions - tend to be centered at blob-like features
examples: MSER (Maximally Stable Extermal Regions), DoG
Suprisingly, Wikipedia also offers a good classification of feature (detector) types, stating the type of interest regions they detect for most of the current widely used features:
- edge detectors
- corner detectors
- blob detectors
- ridge detectors
Most current articles I have read swear that SIFT (Scale-invariant feature transform) descriptors rock and are sufficiently robust to use in the combination with chosen feature detectors. References include:
- already provided links
- Mikolajczyk, Schmid deals with comparison of local descriptors
- Dahl evaluates detector-descriptor combinations
Note! that these papers do not deal strictly with CBIR but are used as references in CBIR-related works.
Finally, it is wort mentioning that successful CBIR methods do not depend only on feature detectors and descriptors used, but also:
- an efficient search structure (quantisation of visual features)
- way for constructing image descriptors -- either based on the common visual features (local descriptors), or by comparing global image descriptors (this is a very new idea, so no references currently)
- distance measure between image descriptors
Also, I have already answered some questions concerning CBIR on DSP and stackoverflow, both are accompanied with references and explanation and I think they might be relevant, so you might want to take a look: