Monday, September 19, 2016

Algorithms - Image segmentation

Image Segmentation 

Image segmentation is the process of taking groups of pixels and labeling them based on their characteristics in order to simplify the image and make it easier to analyze. This process relates alot to compression as described in Pattern on the Stone page 93. They can be labeled based on many different characteristics some of the most common being color, intensity, and texture. The result of this is several very distinct regions that differ in the designated characteristic. A more in depth definition can be found at: https://en.wikipedia.org/wiki/Image_segmentation

What is it used for?

 This process is used in several areas. Some of the more well known ones are medical imaging, object detection, and recognition. I think that the process of image segmentation will be very important in the future because of the ability to detect objects. One use that I see for image segmentation is to use in self driving cars. The university of Liège designed an algorithm that uses image segmentation to detect motion and analyze the shape of silhouettes in order to detect humans. With this the car would be able to detect pedestrians and change its driving based on that. 

How does it work?

There are a lot of different methods that can lead to image segmentation. Here are some of the ones that I found most interesting.

Region-growing method

Region growing methods works on the assumption that the pixels neighboring a pixel will most likely share traits with said pixel and therefore be labeled in the same segment and hold the similar values. This is put into practice by taking a pixel and comparing it with nearby pixels using a similarity criteria. If the criteria is met then that pixel is added to the same group as the the neighboring pixels. This relates to Pattern on the Stone on page 97, this is where Daniel Hillis explains that a picture of a face will have less information than that of pebbles on a beach because adjacent pixels are more likely to be similar.

Image result for seeded region growing method for image segmentation One region-growing method is the seeded region growing method. This method requires an input of several seeds which mark objects on the image to be segmented. The seed then becomes the start of a region. The region is grown by comparing a pixels intensity to the average intensity of the region. This process starts out with only allowing the pixels with intensity closest to the intensity of the original seed pixel in. But because pixels are compared to the average intensity of the region the standards are slowly lowered until all pixels have been assigned to a region. Because this method requires the input of seed pixels the resulting segmentation can be a bit off if the seed is poorly placed.

Neural network segmentation

 Neural network segmentation takes small areas of the image and using an artificial neural network, processes these areas and marks them based on the category set by the neural network. Artificial neural network is a network inspired by the central nervous system of animals. It is used to estimate functions based on a large selection of unknowns. This system has been used for handwriting recognition, speech recognition, and computer vision. Because this system learns from data it allows for it to complete tasks that are difficult for rule based programming.

In Conclusion

Image segmentation is a great algorithm that assists in compressing pictures as well as identifying different shapes and patterns such as finger prints and facial recognition. And I believe that this algorithm is only going to become more useful as the world becomes more automated.  

No comments:

Post a Comment