Computer Vision is a field of artificial intelligence and computer science that aims at giving computers a visual understanding of the world. Computer vision aims at enabling computers to see, identify and process images in the same way that human vision does, and then provide appropriate outputs. Computer vision is one of the key areas of artificial intelligence, as the computer must interpret what it sees, and then perform appropriate analysis or act accordingly.
The goal of computer vision is to emulate human vision using digital images through three main processing components, executed one after the other:
1. Image acquisition
2. Image processing
3. Image analysis and understanding
As our human visual understanding of world is reflected in our ability to make decisions through what we see, providing such a visual understanding to computers would allow them the same power.
Image acquisition is the process of translating the analog world around us into binary data composed of zeros and ones, interpreted as digital images. Different tools have been created to build these datasets, such as webcams, embedded cameras, digital compact cameras, DSLR, consumer 3D cameras etc.
Image processing is the second component of computer vision. Algorithms are applied to the binary data acquired in the first step to infer low-level information on parts of the image. This type of information is characterized by image edges, point features or segments, for example. They are all the basic geometric elements that build objects in images. This second step usually involves advanced applied mathematics algorithms and techniques, such as edge detection, segmentation, classification, colour detection, feature detection and matching etc.
The last step of the computer vision pipeline if the actual analysis of the data, which will allow the decision making. High-level algorithms are applied, using both the image data and the low-level information computed in previous steps. Examples of high-level image analysis can be given as 3D scene mapping, object recognition, object tracking etc.
Next two chapters explain face detection/tracking, and colour detection/tracking applications with Nova. Additionally, we will provide you all the example data and libraries to build other computer vision projects.