Image processing sounds like a lot of fun. Until of course, you actually start processing images.
The problem with image processing is that depending on the problem, it can be extremely easy, or extremely challenging. The simplest of image processing processes involves cleaning up images by way of noise suppression, or image sharpening. These algorithms are subjective, in that their parameters can be tweaked in order to obtain the best result, at least to the eye of the beholder. Algorithms such as image thresholding can be used extract text from a scanned document by partitioning the image into black and white segments.
Increased complexity comes with algorithms that need to extract information from the image. The more complex the image, the harder the task. Grayscale images are useful when the image contains minimal or simple objects, otherwise colour provides increased information leverage. Consider the following example.
During WW2, Allied planes released millions of bombs over Europe during aerial bombing raids. Some of these bombs exploded, leaving craters, others did not. The monochrome image of Fig.1 shows a vertical photographic-reconnaissance aerial, taken from 10,000 feet, showing the southern entrance of the Saumur railway tunnel following the attack on it by 22 Avro Lancasters of No. 617 Squadron RAF on the night of 8/9 June 1944. The rationale is to derive an algorithm which can automatically scan the historic aerial image, identify the bomb craters, then overlay these positions on a present day aerial image via image fusion. Sounds simple right? Actually the fusion/registration part is quite simple.
To the human eye, identifying the bomb craters in the historic image is a relatively simple task.
However deriving an algorithm to achieve the same is more challenging. Thresholding the image will partially work, but the result has to be processed further to actually extract the partial contours of the craters. Some sort of edge extraction might also work, but there will be a lot of spurious edges in the image, which will again have to be post-processed. Hough transform for circles? Requires good pre-processing. Template matching? May only work for craters with similar characteristics. Morphological analysis? Maybe, but that may be somewhat of a trial and error process. Why is it so difficult? Because the craters do not exist as a dark circle – typically half the crater is in shadow (which makes for a well defined contour), the other half in light (less well defined). Every algorithm will find some of the craters, but not all of them. Here’s an example.
Even more challenging? Identifying the bombs that impacted but didn’t explode, and in reality these are the ones that matter most. These appear as faint dark spots surrounded by a halo representing the imprint left from impact. The problem is they are so small that they can easily be mistaken for other landscape artifacts, e.g. trees. These are almost impossible to extract automatically.
And then once you have an algorithm, it needs to work on other images. However the caveat is that other images may not have the same appearance. The image below shows the majority of bomb craters as dark circular objects. It may actually be easier to derive an algorithm to find these, but then it wouldn’t work on the previous image. The processed image next to it shows a good portion of the bomb craters extracted using a local thresholding algorithm.
That’s why it may be easier to do it the way companies like Zetica do. Research the target area, use software to calculate the depth of bombs, scan the scene using a magnetometer, locate, dig, defuse and dispose of the munitions. Oh, and you can actually download the “UXB Depth Calculator” as an Android app.
Deriving an algorithm for this task may work better if the historic images were colour, to provide additional information. It may also be possible to look at similar applications, such as crater identification in lunar or Mars images – although these often make use of elevation data, and both the moon and Mars have somewhat barren landscapes. Any image analysis that involves partitioning or segmenting the image can be fraught with anguish. There is just no easy way to have a machine perform the same task as the human visual system.