The module allows retrieval of images based on the images containing certain amounts of colours. The colours need not be sizeable regions, or be within the same context within images (a property which histograms impose). The results are ordered based on how similar the amounts of colours in the image is compared to the colour selection.
The module is good for retrieval of images based on a single or multiple colour queries.
Also see:
Module Speed | Very Fast |
Module Accuracy | High |
The colour picker uses histogram features generated by the ColourHistogram or LabColourHistogram module. It matches single or multiple colours in the histogram in a similar way to the colour histogram matching code, except that it matches only those colours in the query histogram.
A histogram (of any size) is generated for each object in the database. Currently we use a 64 bin rgb colour histogram (4x4x4) or a 216 bin Lab colour histogram (6x6x6).
When the colour picker is invoked, an appropriate histogram is generated from the selected colours. The values in the histogram represent the values selected.
The matching matches each populated bin in the query histogram with the matching bin in the match histogram.
Because the idea is to find images containing these colours, it is pragmatic to disregard, or give a large score, to
those images which do not contain those colours. This requires a predicate for colour inclusion. The predicate
is based on a percentage value of the given amount of colour (a fuziness rating). For example, if the fuziness rating
was 50%, a bin in the match histogram would be considered a result if the value fell within +/- 50% of the value of
the query histogram's bin. By default the rating is near to 100%, so that if a bin contains any amount of the given
colour it will be considered a match, although results will be ordered based on how similar the amounts are to the
query. The fuziness should not be 100% else a zero amount of the colour will match. If the match histogram's bin
value falls outside this range (or is zero) then the match is given a maximum score (disregarded as a match
because it does not contain all the colours specified) and no more matching takes place for this feature.
The following is an example query giving what would be considered good results. Note: The matching is based upon the inclusion of the selected colour.Example Results
Query | 1 | 2 | 3 |
4 | 5 | 6 |
Query | 1 | 2 | 3 |
4 | 5 | 6 |
Note that many of the images contain colour charts, and this could affect the match for obvious reasons (see result 6 of first match, and result 5 of second match).
Used on its own you should definitely not expect the colour picker algorithm to be able to find specific instances of objects (e.g. chairs, pots, etc). However, when used with a metadata search to locate similar types of object, this algorithm could locate those containing a particular colour or colours.