Definition - What does Computer Vision mean?
Computer vision is a field of computer science that works on enabling computers to see, identify and process images in the same way that human vision does, and then provide appropriate output. It is like imparting human intelligence and instincts to a computer. In reality though, it is a difficult task to enable computers to recognize images of different objects.
Computer vision is closely linked with artificial intelligence, as the computer must interpret what it sees, and then perform appropriate analysis or act accordingly.
Computer vision's goal is not only to see, but also process and provide useful results based on the observation. For example, a computer could create a 3-D image from a 2-D image, such as those in cars, and provide important data to the car and/or driver. For example, cars could be fitted with computer vision which would be able to identify and distinguish objects on and around the road such as traffic lights, pedestrians, traffic signs and so on, and act accordingly. The intelligent device could provide inputs to the driver or even make the car stop if there is a sudden obstacle on the road.
When a human who is driving a car sees someone suddenly move into the path of the car, the driver must react instantly. In a split second, human vision has completed a complex task, that of identifying the object, processing data and deciding what to do. Computer vision's aim is to enable computers to perform the same kind of tasks as humans with the same efficiency.
Computer Vision is a field of Artificial Intelligence and Computer Science that aims at giving computers a visual understanding of the world, and is the heart of Hayo’s powerful algorithms. It is one of the main components of machine understanding : Overview 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 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 such datasets: 1. Webcams & embedded cameras 2. Digital compact cameras & DSLR 3. Consumer 3D cameras & laser range finders
The second component of Computer Vision is the low-level processing of images. 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. Low-level image processing algorithms include: 1. Edge detection 2. Segmentation 3. Classification 4. Feature detection and matching Image analysis and understanding
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 are:
1. 3D scene mapping 2. Object recognition 3. Object tracking Recognition of objects in images.
Applications of computer vision Techniques developed for Computer Vision have many applications in the fields of robotics, human-computer interaction and visualization, to name a few: 1. Motion recognition 2. Augmented reality 3. Autonomous cars 4. Domestic/service robots 5. Image restoration such as denoising Motion tracking using a skeleton. When developing Computer Vision algorithms, one has to face different issues and challenges, related to the very nature of the data or event the application to be created and its context: 1. Noisy or incomplete data 2. Real-time processing 3. Limited resources: power, memory
Current research is focused on addressing these challenges to make the algorithms more robust and efficient in difficult conditions.