In the biological world, vision is the process of receiving light signals from the environment through the eyes and optic nerves, from which the brain can extract patterns that contain useful information (such as recognizing food or a potential predator). Computer vision (also known as machine vision) is the analogous process by which light is received by a sensor system (such as a digital camera). The light is then analyzed for meaningful patterns. Thus, a robot might be able to recognize the identity and positions of various parts on an assembly line.
Because computer vision involves pattern recognition, it is part of the discipline of artificial intelligence (see artifi-cial intelligence and pattern recognition). The chal-lenge is not in getting information about a visual scene from the camera and turning it into digital information (a grid of pixels). Rather, it is the ability to recognize meaningful pat-terns in fragmented images, something human infants learn to do almost from birth when they encounter human faces.
One way to approach the problem is to constrain the kinds of images the computer (or robot) has to deal with. If you can guarantee that a robot’s field of vision will con-tain only a few fixed objects (a hopper, perhaps, or a con-veyer belt) plus one or more distinctively shaped parts, it is relatively easy to program the dimensions of the possible objects into the vision system so that the robot can identify objects by comparing them with stored templates. However, if the robot encounters an object it isn’t prepared for, such as a stray bit of packing material, it will be unable to iden-tify (or properly deal) with the object.
Vision is also complicated by the problem of parsing three-dimensional objects in the visual field. Seen head-on, the side of a cube appears to be a two-dimensional square. Seen at an angle, it appears to be a three-dimen-sional assemblage with some faces visible and some not. To interpret these and more complicated objects, the robot might be programmed with rules that help it infer that an object is really a cube, that all cubes have six equal sides, and so on. Another strategy is to give the robot more than one “eye” so that images can be compared, much as humans do unconsciously with binocular vision. Finally, the robot can be given the ability to move its head and eyes in order to find a viewpoint that yields more information about an ambiguous object.
Human infants, of course, are not born with a fully developed understanding of the types of objects in their world. They are always learning new ways to distinguish, for example, a stuffed teddy bear from a live dog. Robot vision systems, too, can be programmed to learn (or at least, refine their ability to recognize objects). A statistical tech-nique can be used to “sample” objects in the environment and find which characteristics most reliably “predict” the true nature of an object. Characteristics can be resampled from different viewpoints to see which ones remain invari-ant (unchanged). For example, a cube will always have four edges on each face. Another approach is to use a neural net-work, where the visual information is processed by a grid of nodes that are reinforced to the extent they are successful in identifying features (such as edges).
Applications
Computer vision is a problem of great theoretical interest because it engages so many questions about perception, the ability to build models of the world, and the ability to learn. The field also has considerable practical potential. Currently, most robots are fixed to stations on factory floors where they work with a limited number of objects (parts) in a highly constrained, stable environment. However “ser-vice robots” have been gradually developed to work in a much less constrained environment (such as carrying sup-plies down hospital corridors or even serving as mobile assistants to astronauts in the weightless environment of the International Space Station). These robots would benefit greatly by having robust vision systems so that they can, for example, recognize individual human faces or detect poten-tially dangerous situations.
Of course computer vision systems find many applica-tions besides robotics. These include automatic quality con-trol or inventory management systems, advanced medical imaging and computer-assisted surgery, as well as security, surveillance, and criminal investigation/forensics.
No comments:
Post a Comment