EE/CMPEN 454 is an introduction to computer vision. The goal of computer vision is to make computers understand and interpret visual information. Computer vision systems bring together imaging devices, computers, and sophisticated algorithms for solving problems in areas such as industrial inspection, medicine, document analysis, autonomous navigation, and remote sensing. The course involves both pedagogical written assignments and computer projects.
The beginning of the course gives an overview of computer vision and introduces low level image analysis techniques for binary images. Binary vision systems are useful when the silhouette of imaged objects convey enough information to recognize them. Examples can be found in optical character recognition, chromosome analysis and recognition of industrial parts. Moreover, many techniques developed for binary systems can be applied to gray level or color images. Next, the course covers image segmentation and contours. These topics are the foundation of most computer vision techniques. For an image to be correctly interpreted, it must be partitioned into regions that correspond to distinct objects or parts of objects. First, region based techniques such as thresholding, split and merge, region growing and texture analysis are introduced. Next, edge based techniques using gradient and Laplacian operators are discussed. Finally, contour representations and curve approximations linking edges into region boundaries are studied.
Next, depth from vision, with emphasis in stereo vision, is considered. Calculating distances to and among various points in the scene is important in many computer vision tasks such as inspection, robot manipulation, and autonomous navigation. In this part of the course the geometry of stereo systems and how to obtain depth maps from stereo image pairs is studied. Also, alternative 3D imaging sensors such as laser based range finders and radars are discussed.
Following stereo, the topic of computer vision is broaden to understand sequences of images over time. In this section techniques using information on spatial and temporal changes are used to design computer vision systems capable of coping with moving and changing objects, changing illumination and changing viewpoints. Visual motion is important primarily for two reasons. First, motion is a very important cue to understand the scene structure. Second, biological systems do use motion to infer properties of the surrounding world with very little a priori knowledge.
Finally, the topic of 3D object recognition is discussed. Object recognition entails two main issues: object identification and object localization. Identification determines the objects being imaged while localization determines their position in the world and with respect to the sensors. This topic builds upon all the different techniques discussed until this point.