Understanding computer vision

Defining computer vision is not an easy task, and computer vision experts tend to disagree with each other when it comes to providing a textbook definition for it. Doing so is completely out of the scope and interest of this book, so we'll focus on a simple and practical definition that suits our purpose instead. Historically, computer vision has been synonymous with image processing, which essentially refers to the methods and technologies that take an image as input and produce an output image or a set of output values (or measurements) based on that input image, which is done after performing a set of processes. Fast forward to now and you'll notice that, when computer vision engineers talk about computer vision, what they mean, in most cases, is a concept relating to an algorithm that is able to mimic human vision, such as seeing (detecting) an object or a person in an image.

So, which definition are we to accept? The answer is quite simple—both. To put it in just a few words, computer vision refers to the algorithms, methods, and technologies that deal with digital visual data (or any data that can be visualized) in any way imaginable. Note that visual data in this sense does not mean just images taken using conventional cameras, but they might be, for instance, a graphical representation or elevation on a map, a heat intensity map, or any data that can be visualized regardless of its real-world meaning.

With this definition, all of the following questions—as well as many more—can be solved with computer vision:

  • How do we soften or sharpen an image?
  • How do we reduce the size of an image?
  • How do we increase or decrease the brightness of an image?
  • How do we detect the brightest region in an image?
  • How do we detect and track a face in a video (or a series of consecutive images)?
  • How do we recognize faces in a video feed from a security camera?
  • How do we detect motion in a video?
In modern computer vision science, image processing is usually a subcategory of computer vision methods and algorithms dealing with image filtering, transformation, and so on. Still, many use the terms computer vision and image processing interchangeably.

In this day and age, computer vision is one of the hottest topics in the computer science and software industry. The reason for this lies in the fact that it is used in a variety of ways, whether it's bringing to life the ideas for applications, digital devices, or industrial machines that handle or simplify a wide range of tasks that are usually expected from the human eye. There are a lot of working examples for what we just mentioned, which vary across a wide spectrum of industries, including the automotive, motion picture, biomedical devices, defense, photo editing and sharing tools, and video game industries. We are going to talk about just a couple of these examples and leave the rest of them for you to research.

Computer vision is used persistently in the automotive industry to improve the safety and functionality of modern vehicles. Vehicles are able to detect traffic signs and warn the driver about a speed limit breach or even detect lanes and obstacles on the road and notify drivers about possible hazards. There is no end to the number of practical examples we can present about how computer vision can be used to modernize the automotive industry—and that's without touching on self-driving cars. Major tech companies are investing a huge amount of resources and are even sharing some of their achievements with the open source community. As you'll see in the final chapters of this book, we'll make use of some of them, especially for the real-time detection of multiple objects of multiple types.

The following image depicts some of the objects, symbols, and areas of interest for the automotive industry, as images that are commonly seen through the cameras mounted on vehicles:

Another great example of an industry on the verge of a technological revolution is the biomedical industry. Not only have the imaging methods of human organs and body parts undergone a great deal of enhancement, but the way these images are interpreted and visualized has also been improved by computer vision algorithms. Computers are used to detect cancerous tissues in images taken by microscopes with an extremely high level of precision. There are also promising and emerging results from robots that are able to perform surgery, for example.

The following image is an example of using computer vision to count a specific type of biological object of interest (cells, in this case) in various areas of tissue, scanned by a digital microscope:

Besides the automotive and biomedical industries, computer vision is also used in thousands of mobile and desktop applications to perform many different tasks. It's a good idea to browse through online application stores on your smartphone to view some computer vision-related application examples. Do so, and you'll immediately realize that there is literally nothing but your imagination standing between you and your potential computer vision application ideas.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.145.97.170