Computer vision is an
interdisciplinary scientific field that deals with how
computer
A computer is a machine that can be programmed to Execution (computing), carry out sequences of arithmetic or logical operations (computation) automatically. Modern digital electronic computers can perform generic sets of operations known as C ...
s can gain high-level understanding from
digital image
A digital image is an image composed of picture elements, also known as ''pixels'', each with ''finite'', '' discrete quantities'' of numeric representation for its intensity or gray level that is an output from its two-dimensional functions ...
s or
videos. From the perspective of
engineering, it seeks to understand and automate tasks that the
human visual system
The visual system comprises the sensory organ (the eye) and parts of the central nervous system (the retina containing photoreceptor cells, the optic nerve, the optic tract and the visual cortex) which gives organisms the sense of sight (the a ...
can do.
Computer vision tasks include methods for
acquiring,
processing,
analyzing and understanding digital images, and extraction of
high-dimensional data from the real world in order to produce numerical or symbolic information, e.g. in the forms of decisions.
Understanding in this context means the transformation of visual images (the input of the retina) into descriptions of the world that make sense to thought processes and can elicit appropriate action. This image understanding can be seen as the disentangling of symbolic information from image data using models constructed with the aid of geometry, physics, statistics, and learning theory.
The
scientific discipline of computer vision is concerned with the theory behind artificial systems that extract information from images. The image data can take many forms, such as video sequences, views from multiple cameras, multi-dimensional data from a 3D scanner, or medical scanning devices. The technological discipline of computer vision seeks to apply its theories and models to the construction of computer vision systems.
Sub-domains of computer vision include
scene reconstruction,
object detection, event detection,
video tracking,
object recognition,
3D pose estimation
3D pose estimation is a process of predicting the transformation of an object from a user-defined reference pose, given an image or a 3D scan. It arises in computer vision or robotics where the pose or transformation of an object can be used for ...
, learning, indexing,
motion estimation,
visual servoing, 3D scene modeling, and
image restoration.
Definition
Computer vision is an
interdisciplinary field that deals with how computers can be made to gain high-level understanding from
digital image
A digital image is an image composed of picture elements, also known as ''pixels'', each with ''finite'', '' discrete quantities'' of numeric representation for its intensity or gray level that is an output from its two-dimensional functions ...
s or
videos. From the perspective of
engineering, it seeks to automate tasks that the
human visual system
The visual system comprises the sensory organ (the eye) and parts of the central nervous system (the retina containing photoreceptor cells, the optic nerve, the optic tract and the visual cortex) which gives organisms the sense of sight (the a ...
can do.
"Computer vision is concerned with the automatic extraction, analysis and understanding of useful information from a single image or a sequence of images. It involves the development of a theoretical and algorithmic basis to achieve automatic visual understanding."
[http://www.bmva.org/visionoverview The British Machine Vision Association and Society for Pattern Recognition Retrieved February 20, 2017] As a
scientific discipline, computer vision is concerned with the theory behind artificial systems that extract information from images. The image data can take many forms, such as video sequences, views from multiple cameras, or multi-dimensional data from a
medical scanner
Medical imaging is the technique and process of imaging the interior of a body for clinical analysis and medical intervention, as well as visual representation of the function of some organs or tissues (physiology). Medical imaging seeks to rev ...
. As a technological discipline, computer vision seeks to apply its theories and models for the construction of computer vision systems.
History
In the late 1960s, computer vision began at universities that were pioneering
artificial intelligence. It was meant to mimic the
human visual system
The visual system comprises the sensory organ (the eye) and parts of the central nervous system (the retina containing photoreceptor cells, the optic nerve, the optic tract and the visual cortex) which gives organisms the sense of sight (the a ...
, as a stepping stone to endowing robots with intelligent behavior.
In 1966, it was believed that this could be achieved through a summer project, by attaching a camera to a computer and having it "describe what it saw".
What distinguished computer vision from the prevalent field of
digital image processing at that time was a desire to extract
three-dimensional structure from images with the goal of achieving full scene understanding. Studies in the 1970s formed the early foundations for many of the computer vision
algorithms that exist today, including
extraction of edges from images, labeling of lines, non-polyhedral and
polyhedral modeling, representation of objects as interconnections of smaller structures,
optical flow, and
motion estimation.
The next decade saw studies based on more rigorous mathematical analysis and quantitative aspects of computer vision. These include the concept of
scale-space, the inference of shape from various cues such as
shading, texture and focus, and
contour models known as snakes. Researchers also realized that many of these mathematical concepts could be treated within the same optimization framework as
regularization and
Markov random fields.
By the 1990s, some of the previous research topics became more active than others. Research in
projective 3-D reconstructions led to better understanding of
camera calibration. With the advent of optimization methods for camera calibration, it was realized that a lot of the ideas were already explored in
bundle adjustment theory from the field of
photogrammetry
Photogrammetry is the science and technology of obtaining reliable information about physical objects and the environment through the process of recording, measuring and interpreting photographic images and patterns of electromagnetic radiant ima ...
. This led to methods for sparse
3-D reconstructions of scenes from multiple images. Progress was made on the dense stereo correspondence problem and further multi-view stereo techniques. At the same time,
variations of graph cut were used to solve
image segmentation. This decade also marked the first time statistical learning techniques were used in practice to recognize faces in images (see
Eigenface). Toward the end of the 1990s, a significant change came about with the increased interaction between the fields of
computer graphics and computer vision. This included
image-based rendering,
image morphing, view interpolation,
panoramic image stitching and early
light-field rendering.
Recent work has seen the resurgence of
feature-based methods, used in conjunction with machine learning techniques and complex optimization frameworks.
The advancement of Deep Learning techniques has brought further life to the field of computer vision. The accuracy of deep learning algorithms on several benchmark computer vision data sets for tasks ranging from classification,
segmentation and optical flow has surpassed prior methods.
Related fields
Solid-state physics
Solid-state physics
Solid-state physics is the study of rigid matter, or solids, through methods such as quantum mechanics, crystallography, electromagnetism, and metallurgy. It is the largest branch of condensed matter physics. Solid-state physics studies how the l ...
is another field that is closely related to computer vision. Most computer vision systems rely on
image sensors
An image sensor or imager is a sensor that detects and conveys information used to make an image. It does so by converting the variable attenuation of light waves (as they pass through or reflect off objects) into signals, small bursts of curr ...
, which detect
electromagnetic radiation, which is typically in the form of either
visible or
infrared light. The sensors are designed using
quantum physics
Quantum mechanics is a fundamental theory in physics that provides a description of the physical properties of nature at the scale of atoms and subatomic particles. It is the foundation of all quantum physics including quantum chemistry, qua ...
. The process by which light interacts with surfaces is explained using physics. Physics explains the behavior of
optics which are a core part of most imaging systems. Sophisticated
image sensors
An image sensor or imager is a sensor that detects and conveys information used to make an image. It does so by converting the variable attenuation of light waves (as they pass through or reflect off objects) into signals, small bursts of curr ...
even require
quantum mechanics to provide a complete understanding of the image formation process.
Also, various measurement problems in physics can be addressed using computer vision, for example, motion in fluids.
Neurobiology
Neurobiology has greatly influenced the development of computer vision algorithms. Over the last century, there has been an extensive study of eyes, neurons, and brain structures devoted to the processing visual stimuli in both humans and various animals. This has led to a coarse, yet convoluted, description of how natural vision systems operate in order to solve certain vision-related tasks. These results have led to a sub-field within computer vision where artificial systems are designed to mimic the processing and behavior of biological systems at different levels of complexity. Also, some of the learning-based methods developed within computer vision (''e.g.''
neural net and
deep learning
Deep learning (also known as deep structured learning) is part of a broader family of machine learning methods based on artificial neural networks with representation learning. Learning can be supervised, semi-supervised or unsupervised.
De ...
based image and feature analysis and classification) have their background in neurobiology. The
Neocognitron, a neural network developed in the 1970s by
Kunihiko Fukushima, is an early example of computer vision taking direct inspiration from neurobiology, specifically the
primary visual cortex.
Some strands of computer vision research are closely related to the study of
biological vision
Visual perception is the ability to interpret the surrounding environment through photopic vision (daytime vision), color vision, scotopic vision (night vision), and mesopic vision (twilight vision), using light in the visible spectrum ref ...
—indeed, just as many strands of AI research are closely tied with research into human intelligence, and the use of stored knowledge to interpret, integrate and utilize visual information. The field of biological vision studies and models the physiological processes behind visual perception in humans and other animals. Computer vision, on the other hand, develops and describes the algorithms implemented in software and hardware behind artificial vision systems. An interdisciplinary exchange between biological and computer vision has proven fruitful for both fields.
Signal processing
Yet another field related to computer vision is
signal processing. Many methods for processing of one-variable signals, typically temporal signals, can be extended in a natural way to the processing of two-variable signals or multi-variable signals in computer vision. However, because of the specific nature of images, there are many methods developed within computer vision that have no counterpart in the processing of one-variable signals. Together with the multi-dimensionality of the signal, this defines a subfield in signal processing as a part of computer vision.
Robotic navigation
Robot navigation sometimes deals with autonomous
path planning
Motion planning, also path planning (also known as the navigation problem or the piano mover's problem) is a computational problem to find a sequence of valid configurations that moves the object from the source to destination. The term is used ...
or deliberation for robotic systems to
navigate through an environment. A detailed understanding of these environments is required to navigate through them. Information about the environment could be provided by a computer vision system, acting as a vision sensor and providing high-level information about the environment and the robot.
Other fields
Besides the above-mentioned views on computer vision, many of the related research topics can also be studied from a purely mathematical point of view. For example, many methods in computer vision are based on
statistics
Statistics (from German language, German: ''wikt:Statistik#German, Statistik'', "description of a State (polity), state, a country") is the discipline that concerns the collection, organization, analysis, interpretation, and presentation of ...
,
optimization or
geometry. Finally, a significant part of the field is devoted to the implementation aspect of computer vision; how existing methods can be realized in various combinations of software and hardware, or how these methods can be modified in order to gain processing speed without losing too much performance. Computer vision is also used in fashion eCommerce, inventory management, patent search, furniture, and the beauty industry.
Distinctions
The fields most closely related to computer vision are
image processing
An image is a visual representation of something. It can be two-dimensional, three-dimensional, or somehow otherwise feed into the visual system to convey information. An image can be an artifact, such as a photograph or other two-dimensiona ...
,
image analysis
Image analysis or imagery analysis is the extraction of meaningful information from images; mainly from digital images by means of digital image processing techniques. Image analysis tasks can be as simple as reading bar coded tags or as sophi ...
and
machine vision. There is a significant overlap in the range of techniques and applications that these cover. This implies that the basic techniques that are used and developed in these fields are similar, something which can be interpreted as there is only one field with different names. On the other hand, it appears to be necessary for research groups, scientific journals, conferences, and companies to present or market themselves as belonging specifically to one of these fields and, hence, various characterizations which distinguish each of the fields from the others have been presented. In image processing, the input is an image and the output is an image as well, whereas in computer vision, an image or a video is taken as an input and the output could be an enhanced image, an understanding of the content of an image or even behavior of a computer system based on such understanding.
Computer graphics produces image data from 3D models, and computer vision often produces 3D models from image data.
There is also a trend towards a combination of the two disciplines, ''e.g.'', as explored in
augmented reality
Augmented reality (AR) is an interactive experience that combines the real world and computer-generated content. The content can span multiple sensory modalities, including visual, auditory, haptic, somatosensory and olfactory. AR can be de ...
.
The following characterizations appear relevant but should not be taken as universally accepted:
*
Image processing
An image is a visual representation of something. It can be two-dimensional, three-dimensional, or somehow otherwise feed into the visual system to convey information. An image can be an artifact, such as a photograph or other two-dimensiona ...
and
image analysis
Image analysis or imagery analysis is the extraction of meaningful information from images; mainly from digital images by means of digital image processing techniques. Image analysis tasks can be as simple as reading bar coded tags or as sophi ...
tend to focus on 2D images, how to transform one image to another, ''e.g.'', by pixel-wise operations such as contrast enhancement, local operations such as edge extraction or noise removal, or geometrical transformations such as rotating the image. This characterization implies that image processing/analysis neither requires assumptions nor produces interpretations about the image content.
* Computer vision includes 3D analysis from 2D images. This analyzes the 3D scene projected onto one or several images, ''e.g.'', how to reconstruct structure or other information about the 3D scene from one or several images. Computer vision often relies on more or less complex assumptions about the scene depicted in an image.
*
Machine vision is the process of applying a range of technologies and methods to provide imaging-based automatic inspection, process control, and robot guidance
in industrial applications.
Machine vision tends to focus on applications, mainly in manufacturing, ''e.g.'', vision-based robots and systems for vision-based inspection, measurement, or picking (such as
bin picking
Bin picking (also referred to as random bin picking) is a core problem in computer vision and robotics. The goal is to have a robot with sensors and cameras attached to it pick-up known objects with random poses out of a bin using a suction grip ...
). This implies that image sensor technologies and control theory often are integrated with the processing of image data to control a robot and that real-time processing is emphasized by means of efficient implementations in hardware and software. It also implies that external conditions such as lighting can be and are often more controlled in machine vision than they are in general computer vision, which can enable the use of different algorithms.
* There is also a field called
imaging which primarily focuses on the process of producing images, but sometimes also deals with the processing and analysis of images. For example,
medical imaging
Medical imaging is the technique and process of imaging the interior of a body for clinical analysis and medical intervention, as well as visual representation of the function of some organs or tissues (physiology). Medical imaging seeks to rev ...
includes substantial work on the analysis of image data in medical applications.
* Finally,
pattern recognition is a field that uses various methods to extract information from signals in general, mainly based on statistical approaches and
artificial neural networks
Artificial neural networks (ANNs), usually simply called neural networks (NNs) or neural nets, are computing systems inspired by the biological neural networks that constitute animal brains.
An ANN is based on a collection of connected unit ...
. A significant part of this field is devoted to applying these methods to image data.
Photogrammetry
Photogrammetry is the science and technology of obtaining reliable information about physical objects and the environment through the process of recording, measuring and interpreting photographic images and patterns of electromagnetic radiant ima ...
also overlaps with computer vision, e.g.,
stereophotogrammetry vs.
computer stereo vision.
Applications
Applications range from tasks such as industrial
machine vision systems which, say, inspect bottles speeding by on a production line, to research into artificial intelligence and computers or robots that can comprehend the world around them. The computer vision and machine vision fields have significant overlap. Computer vision covers the core technology of automated image analysis which is used in many fields. Machine vision usually refers to a process of combining automated image analysis with other methods and technologies to provide automated inspection and robot guidance in industrial applications. In many computer-vision applications, computers are pre-programmed to solve a particular task, but methods based on learning are now becoming increasingly common. Examples of applications of computer vision include systems for:
* Automatic inspection, ''e.g.'', in manufacturing applications;
* Assisting humans in identification tasks, e.g., a
species identification
Identification in biology is the process of assigning a pre-existing taxon name to an individual organism. Identification of organisms to individual scientific names (or codes) may be based on individualistic natural body features, experimentally ...
system;
* Controlling processes, ''e.g.'', an
industrial robot;
*
Detecting events, ''e.g.'', for
visual surveillance or
people counting, e.g., in the
restaurant industry;
* Interaction, ''e.g.'', as the input to a device for
computer-human interaction;
* Modeling objects or environments, ''e.g.'', medical image analysis or topographical modeling;
* Navigation, ''e.g.'', by an
autonomous vehicle or
mobile robot;
* Organizing information, ''e.g.'', for
indexing databases of images and image sequences.
*Tracking surfaces or planes in 3D coordinates for allowing Augmented Reality experiences.
Medicine
One of the most prominent application fields is medical computer vision, or medical image processing, characterized by the extraction of information from image data to
diagnose a patient. An example of this is the detection of
tumours,
arteriosclerosis or other malign changes; measurements of organ dimensions, blood flow, etc. are another example. It also supports medical research by providing new information: ''e.g.'', about the structure of the brain, or the quality of medical treatments. Applications of computer vision in the medical area also include enhancement of images interpreted by humans—ultrasonic images or X-ray images, for example—to reduce the influence of noise.
Machine vision
A second application area in computer vision is in industry, sometimes called
machine vision, where information is extracted for the purpose of supporting a production process. One example is quality control where details or final products are being automatically inspected in order to find defects. One of the most prevalent fields for such inspection is the
Wafer industry in which every single Wafer is being measured and inspected for inaccuracies or defects to prevent a
computer chip from coming to market in an unusable manner. Another example is a measurement of the position and orientation of details to be picked up by a robot arm. Machine vision is also heavily used in the agricultural processes to remove undesirable food stuff from bulk material, a process called
optical sorting.
Military
Military applications are probably one of the largest areas of computer vision. The obvious examples are the detection of enemy soldiers or vehicles and
missile guidance. More advanced systems for missile guidance send the missile to an area rather than a specific target, and target selection is made when the missile reaches the area based on locally acquired image data. Modern military concepts, such as "battlefield awareness", imply that various sensors, including image sensors, provide a rich set of information about a combat scene that can be used to support strategic decisions. In this case, automatic processing of the data is used to reduce complexity and to fuse information from multiple sensors to increase reliability.
Autonomous vehicles
One of the newer application areas is autonomous vehicles, which include
submersible
A submersible is a small watercraft designed to operate underwater. The term "submersible" is often used to differentiate from other underwater vessels known as submarines, in that a submarine is a fully self-sufficient craft, capable of ind ...
s, land-based vehicles (small robots with wheels, cars, or trucks), aerial vehicles, and unmanned aerial vehicles (
UAV). The level of autonomy ranges from fully autonomous (unmanned) vehicles to vehicles where computer-vision-based systems support a driver or a pilot in various situations. Fully autonomous vehicles typically use computer vision for navigation, e.g., for knowing where they are or mapping their environment (
SLAM), for detecting obstacles and/or automatically ensuring navigational safety.
It can also be used for detecting certain task-specific events, ''e.g.'', a UAV looking for forest fires. Examples of supporting systems are obstacle warning systems in cars and systems for autonomous landing of aircraft. Several car manufacturers have demonstrated systems for
autonomous driving of cars, but this technology has still not reached a level where it can be put on the market. There are ample examples of military autonomous vehicles ranging from advanced missiles to UAVs for recon missions or missile guidance. Space exploration is already being made with autonomous vehicles using computer vision, ''e.g.'',
NASA's ''
Curiosity'' and
CNSA's ''
Yutu-2'' rover.
Tactile feedback
Materials such as rubber and silicon are being used to create sensors that allow for applications such as detecting micro undulations and calibrating robotic hands. Rubber can be used in order to create a mold that can be placed over a finger, inside of this mold would be multiple strain gauges. The finger mold and sensors could then be placed on top of a small sheet of rubber containing an array of rubber pins. A user can then wear the finger mold and trace a surface. A computer can then read the data from the strain gauges and measure if one or more of the pins is being pushed upward. If a pin is being pushed upward then the computer can recognize this as an imperfection in the surface. This sort of technology is useful in order to receive accurate data on imperfections on a very large surface.
Another variation of this finger mold sensor are sensors that contain a camera suspended in silicon. The silicon forms a dome around the outside of the camera and embedded in the silicon are point markers that are equally spaced. These cameras can then be placed on devices such as robotic hands in order to allow the computer to receive highly accurate tactile data.
Other application areas include:
* Support of
visual effects creation for cinema and broadcast, ''e.g.'',
camera tracking (match moving).
*
Surveillance
Surveillance is the monitoring of behavior, many activities, or information for the purpose of information gathering, influencing, managing or directing. This can include observation from a distance by means of electronic equipment, such as c ...
.
*
Driver drowsiness detection
Driver drowsiness detection is a car safety technology which helps prevent accidents caused by the driver getting drowsy. Various studies have suggested that around 20% of all road accidents are fatigue-related, up to 50% on certain roads.
Some of ...
* Tracking and counting organisms in the biological sciences
Typical tasks
Each of the application areas described above employ a range of computer vision tasks; more or less well-defined measurement problems or processing problems, which can be solved using a variety of methods. Some examples of typical computer vision tasks are presented below.
Computer vision tasks include methods for
acquiring,
processing,
analyzing and understanding digital images, and extraction of
high-dimensional data from the real world in order to produce numerical or symbolic information, ''e.g.'', in the forms of decisions.
Understanding in this context means the transformation of visual images (the input of the retina) into descriptions of the world that can interface with other thought processes and elicit appropriate action. This image understanding can be seen as the disentangling of symbolic information from image data using models constructed with the aid of geometry, physics, statistics, and learning theory.
Recognition
The classical problem in computer vision, image processing, and
machine vision is that of determining whether or not the image data contains some specific object, feature, or activity. Different varieties of recognition problem are described in the literature.
*
Object recognition (also called object classification)one or several pre-specified or learned objects or object classes can be recognized, usually together with their 2D positions in the image or 3D poses in the scene. Blippar,
Google Goggles, and LikeThat provide stand-alone programs that illustrate this functionality.
* Identificationan individual instance of an object is recognized. Examples include identification of a specific person's face or fingerprint,
identification of handwritten digits, or identification of a specific vehicle.
*
Detectionthe image data are scanned for a specific condition. Examples include the detection of possible abnormal cells or tissues in medical images or the detection of a vehicle in an automatic road toll system. Detection based on relatively simple and fast computations is sometimes used for finding smaller regions of interesting image data which can be further analyzed by more computationally demanding techniques to produce a correct interpretation.
Currently, the best algorithms for such tasks are based on
convolutional neural networks. An illustration of their capabilities is given by the
ImageNet Large Scale Visual Recognition Challenge; this is a benchmark in object classification and detection, with millions of images and 1000 object classes used in the competition.
Performance of convolutional neural networks on the ImageNet tests is now close to that of humans.
The best algorithms still struggle with objects that are small or thin, such as a small ant on a stem of a flower or a person holding a quill in their hand. They also have trouble with images that have been distorted with filters (an increasingly common phenomenon with modern digital cameras). By contrast, those kinds of images rarely trouble humans. Humans, however, tend to have trouble with other issues. For example, they are not good at classifying objects into fine-grained classes, such as the particular breed of dog or species of bird, whereas convolutional neural networks handle this with ease.
Several specialized tasks based on recognition exist, such as:
*
Content-based image retrievalfinding all images in a larger set of images which have a specific content. The content can be specified in different ways, for example in terms of similarity relative to a target image (give me all images similar to image X) by utilizing
reverse image search techniques, or in terms of high-level search criteria given as text input (give me all images which contain many houses, are taken during winter and have no cars in them).
*
Pose estimationestimating the position or orientation of a specific object relative to the camera. An example application for this technique would be assisting a robot arm in retrieving objects from a conveyor belt in an
assembly line situation or picking parts from a bin.
*
Optical character recognition (OCR)identifying
characters in images of printed or handwritten text, usually with a view to encoding the text in a format more amenable to editing or
indexing (''e.g.''
ASCII).
* 2D code readingreading of 2D codes such as
data matrix and
QR codes.
*
Facial recognition Facial recognition or face recognition may refer to:
* Face detection, often a step done before facial recognition
* Face perception, the process by which the human brain understands and interprets the face
* Pareidolia, which involves, in part, se ...
a technology that enables the matching of faces in digital images or video frames to a face database, which is now widely used for mobile phone facelock, smart door locking, etc.
*
Shape Recognition Technology (SRT) in
people counter systems differentiating human beings (head and shoulder patterns) from objects
Motion analysis
Several tasks relate to motion estimation where an image sequence is processed to produce an estimate of the velocity either at each points in the image or in the 3D scene or even of the camera that produces the images. Examples of such tasks are:
*
Egomotiondetermining the 3D rigid motion (rotation and translation) of the camera from an image sequence produced by the camera.
*
Trackingfollowing the movements of a (usually) smaller set of interest points or objects (''e.g.'', vehicles, objects, humans or other organisms
) in the image sequence. This has vast industry applications as most of high-running machinery can be monitored in this way.
*
Optical flowto determine, for each point in the image, how that point is moving relative to the image plane, ''i.e.'', its apparent motion. This motion is a result both of how the corresponding 3D point is moving in the scene and how the camera is moving relative to the scene.
Scene reconstruction
Given one or (typically) more images of a scene, or a video, scene reconstruction aims at
computing a 3D model of the scene. In the simplest case, the model can be a set of 3D points. More sophisticated methods produce a complete 3D surface model. The advent of 3D imaging not requiring motion or scanning, and related processing algorithms is enabling rapid advances in this field. Grid-based 3D sensing can be used to acquire 3D images from multiple angles. Algorithms are now available to stitch multiple 3D images together into point clouds and 3D models.
Image restoration
The aim of image restoration is the removal of noise (sensor noise, motion blur, etc.) from images. The simplest possible approach for noise removal is various types of filters such as low-pass filters or median filters. More sophisticated methods assume a model of how the local image structures look, to distinguish them from noise. By first analyzing the image data in terms of the local image structures, such as lines or edges, and then controlling the filtering based on local information from the analysis step, a better level of noise removal is usually obtained compared to the simpler approaches.
An example in this field is
inpainting.
System methods
The organization of a computer vision system is highly application-dependent. Some systems are stand-alone applications that solve a specific measurement or detection problem, while others constitute a sub-system of a larger design which, for example, also contains sub-systems for control of mechanical actuators, planning, information databases, man-machine interfaces, etc. The specific implementation of a computer vision system also depends on whether its functionality is pre-specified or if some part of it can be learned or modified during operation. Many functions are unique to the application. There are, however, typical functions that are found in many computer vision systems.
* Image acquisition – A digital image is produced by one or several
image sensors, which, besides various types of light-sensitive cameras, include
range sensors, tomography devices, radar, ultra-sonic cameras, etc. Depending on the type of sensor, the resulting image data is an ordinary 2D image, a 3D volume, or an image sequence. The pixel values typically correspond to light intensity in one or several spectral bands (gray images or colour images), but can also be related to various physical measures, such as depth, absorption or reflectance of sonic or electromagnetic waves, or
nuclear magnetic resonance.
* Pre-processing – Before a computer vision method can be applied to image data in order to extract some specific piece of information, it is usually necessary to process the data in order to assure that it satisfies certain assumptions implied by the method. Examples are:
** Re-sampling to assure that the image coordinate system is correct.
** Noise reduction to assure that sensor noise does not introduce false information.
** Contrast enhancement to assure that relevant information can be detected.
**
Scale space representation to enhance image structures at locally appropriate scales.
*
Feature extraction – Image features at various levels of complexity are extracted from the image data.
Typical examples of such features are:
** Lines,
edges
Edge or EDGE may refer to:
Technology Computing
* Edge computing, a network load-balancing system
* Edge device, an entry point to a computer network
* Adobe Edge, a graphical development application
* Microsoft Edge, a web browser developed by ...
and
ridges.
** Localized
interest points such as
corners,
blobs or points.
:More complex features may be related to texture, shape or motion.
*
Detection/
segmentation – At some point in the processing a decision is made about which image points or regions of the image are relevant for further processing.
Examples are:
** Selection of a specific set of interest points.
** Segmentation of one or multiple image regions that contain a specific object of interest.
** Segmentation of image into nested scene architecture comprising foreground, object groups, single objects or
salient object parts (also referred to as spatial-taxon scene hierarchy), while the
visual salience is often implemented as
spatial
Spatial may refer to:
*Dimension
*Space
*Three-dimensional space
Three-dimensional space (also: 3D space, 3-space or, rarely, tri-dimensional space) is a geometric setting in which three values (called ''parameters'') are required to determ ...
and
temporal attention.
** Segmentation or
co-segmentation of one or multiple videos into a series of per-frame foreground masks, while maintaining its temporal semantic continuity.
* High-level processing – At this step the input is typically a small set of data, for example a set of points or an image region which is assumed to contain a specific object.
The remaining processing deals with, for example:
** Verification that the data satisfy model-based and application-specific assumptions.
** Estimation of application-specific parameters, such as object pose or object size.
**
Image recognition – classifying a detected object into different categories.
**
Image registration – comparing and combining two different views of the same object.
* Decision making Making the final decision required for the application,
for example:
** Pass/fail on automatic inspection applications.
** Match/no-match in recognition applications.
** Flag for further human review in medical, military, security and recognition applications.
Image-understanding systems
Image-understanding systems (IUS) include three levels of abstraction as follows: low level includes image primitives such as edges, texture elements, or regions; intermediate level includes boundaries, surfaces and volumes; and high level includes objects, scenes, or events. Many of these requirements are entirely topics for further research.
The representational requirements in the designing of IUS for these levels are: representation of prototypical concepts, concept organization, spatial knowledge, temporal knowledge, scaling, and description by comparison and differentiation.
While inference refers to the process of deriving new, not explicitly represented facts from currently known facts, control refers to the process that selects which of the many inference, search, and matching techniques should be applied at a particular stage of processing. Inference and control requirements for IUS are: search and hypothesis activation, matching and hypothesis testing, generation and use of expectations, change and focus of attention, certainty and strength of belief, inference and goal satisfaction.
Hardware
There are many kinds of computer vision systems; however, all of them contain these basic elements: a power source, at least one image acquisition device (camera, ccd, etc.), a processor, and control and communication cables or some kind of wireless interconnection mechanism. In addition, a practical vision system contains software, as well as a display in order to monitor the system. Vision systems for inner spaces, as most industrial ones, contain an illumination system and may be placed in a controlled environment. Furthermore, a completed system includes many accessories such as camera supports, cables and connectors.
Most computer vision systems use visible-light cameras passively viewing a scene at frame rates of at most 60 frames per second (usually far slower).
A few computer vision systems use image-acquisition hardware with active illumination or something other than visible light or both, such as
structured-light 3D scanners,
thermographic cameras,
hyperspectral imagers,
radar imaging,
lidar
Lidar (, also LIDAR, or LiDAR; sometimes LADAR) is a method for determining ranges (variable distance) by targeting an object or a surface with a laser and measuring the time for the reflected light to return to the receiver. It can also be ...
scanners,
magnetic resonance images,
side-scan sonar,
synthetic aperture sonar
Synthetic aperture sonar (SAS) is a form of sonar in which sophisticated post-processing of sonar data is used in ways closely analogous to synthetic aperture radar. Synthetic aperture sonars combine a number of acoustic pings to form an image wit ...
, etc. Such hardware captures "images" that are then processed often using the same computer vision algorithms used to process visible-light images.
While traditional broadcast and consumer video systems operate at a rate of 30 frames per second, advances in
digital signal processing
Digital signal processing (DSP) is the use of digital processing, such as by computers or more specialized digital signal processors, to perform a wide variety of signal processing operations. The digital signals processed in this manner are ...
and
consumer graphics hardware has made high-speed image acquisition, processing, and display possible for real-time systems on the order of hundreds to thousands of frames per second. For applications in robotics, fast, real-time video systems are critically important and often can simplify the processing needed for certain algorithms. When combined with a high-speed projector, fast image acquisition allows 3D measurement and feature tracking to be realized.
Egocentric vision systems are composed of a wearable camera that automatically take pictures from a first-person perspective.
As of 2016,
vision processing units are emerging as a new class of processor, to complement CPUs and
graphics processing units (GPUs) in this role.
See also
*
Computational imaging
Computational imaging is the process of indirectly forming images from measurements using algorithms that rely on a significant amount of computing. In contrast to traditional imaging, computational imaging systems involve a tight integration of th ...
*
Computational photography
*
Computer audition Computer audition (CA) or machine listening is the general field of study of algorithms and systems for audio interpretation by machines. Since the notion of what it means for a machine to "hear" is very broad and somewhat vague, computer audition a ...
*
Egocentric vision
*
Machine vision glossary
The following are common definitions related to the machine vision field.
General related fields
* Machine vision
* Computer vision
* Image processing
* Signal processing
0-9
* 1394. FireWire is Apple Inc.'s brand name for the IEEE 1394 inter ...
*
Space mapping
*
Teknomo–Fernandez algorithm
*
Vision science
*
Visual agnosia
*
Visual perception
*
Visual system
Lists
*
Outline of computer vision
*
List of emerging technologies
This is a list of emerging technologies, in-development technical innovations with significant potential in their applications. The criteria for this list is that the technology must:
# Exist in some way; purely hypothetical technologies can ...
*
Outline of artificial intelligence
References
Further reading
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
External links
USC Iris computer vision conference listA complete list of papers of the most relevant computer vision conferences.
Computer Vision OnlineNews, source code, datasets and job offers related to computer vision.
CVonlineBob Fisher's Compendium of Computer Vision.
British Machine Vision AssociationSupporting computer vision research within the UK via the
BMVC and
MIUA
Medical Image Understanding and Analysis (MIUA) is a UK-based meeting for the communication of research related to image analysis and its application to medical imaging and biomedicine. The meetings provide an opportunity to present and discus ...
conferences, ''Annals of the
BMVA'' (open-source journal),
BMVA Summer School
BMVA Summer School is an annual summer school on computer vision, organised by the British Machine Vision Association and Society for Pattern Recognition (BMVA). The course is residential, usually held over five days, and consists of lectures an ...
and one-day meetings
Computer Vision Container, Joe Hoeller GitHub: Widely adopted open-source container for GPU accelerated computer vision applications. Used by researchers, universities, private companies as well as the U.S. Gov't.
{{Authority control
Image processing
Packaging machinery
Articles containing video clips