Pattern recognition is a branch of machine learning and focuses on finding regularities and pattern in data. Pattern recognition is employed in image recognition and classification software such as that which is in use by companies like Facebook, Google and even your mobile. Facebook uses algorithms to match the faces in your image to one of your friends and then goes on to suggest you to tag them. Similarly Google uses image recognition and a variety of other information to automatically arrange you photo gallery for you. Although such algorithms have now become widely spread but have been in use for quite a while by NSA and FBI.
Probably one of the largest applications of pattern recognition is in industrial vision systems. The technique employed, involves teaching the system the characteristics of the specific object and then finding the same pattern in the image. Most algorithms are designed such that they first have to be trained by processing hundreds of images and their accuracy is increased with each new image added to their database. In this way these software are classified as learning software.
Many different approaches have been developed. Probably the most general technique used in all recognition software is normalized grey scale correlation. In this technique a type of template of an object is made which is then searched in the image to find similar pattern. Problem of rotated and different scaled images arises in this method and so various software require tolerance for scale and rotation. Another technique known as Geometric or step-based searching, is an alternate technique in which the software searches for image edges. The software is first trained by presenting it with a variety of image edges. So, the software first searches for image edge and then classifies the image. This technique can be used for rotated and scaled images.