Fields related to Computer Vision, part 4
I kept thinking about the issue of image analysis vs. computer vision. This is how it was interpreted in the article:
- Image Analysis: image in -> features out.
- Computer Vision: image in -> interpretation out.
The problem I had with this approach comes from this example: even though computing the distribution of colors in the image is analysis, it does not tell anything about the contents of the image. My take was:
- Low level image analysis = image processing.
- High level image analysis = low level computer vision.
- High level computer vision = image understanding.
I want now to clarify this idea. The difference between low level analysis and high level analysis is that the latter reveal the content of the image – possibly on a low level. But how? My answer is:
Low level analysis is local and high level analysis is global.
There is a simple test for that:
The analysis is local when cutting the image into pieces and reassembling them in an arbitrary way does not affect the results.
You can even imagine that you arrange the pixels in a single row. You can analyze those pixels all you want but they can’t reveal the content of the picture! Here are some examples.
Local analysis:
- anything based on color/intensity histogram,
- statistics (mean, standard deviation, etc);
- anything based on local filtering, in particular edge detection.
Global analysis:
- Image segmentation;
- Fourier analysis;
- texture and pattern;
- morphological analysis (but only if the output is still image segmentation).
It is interesting that in ImageJ’s Features page, we find no mention of image segmentation:
Analysis:
- Measure area, mean, standard deviation, min and max of selection or entire image.
- Measure lengths and angles.
- Use real world measurement units such as millimeters.
- Calibrate using density standards.
- Generate histograms and profile plots.
The only global item on that list is #2. And one still needs to find something to measure – it would have to come from image segmentation.
In visual image search (CBIR) image analysis is typically local: color distribution, edge distribution, other “descriptors”. Studying patches instead of pixels is still local if you measure the patches in pixels (filtering, morphology). But suppose you cut the image into 100 patches and then collect global information from each patch. Rearranging these patches will unlikely to produce a real life image. Lincoln from MS Research and some others operate this way.
To summarize,
High level analysis = global analysis = low level computer vision.