Pbl projects at a glance
These Project-Based Learning (PBL) activities drive both teaching and learning in this digital image processing/computer vision course.
List of Projects
-
Image browser: The goal for this project is to develop a platform-independent image browser.
-
Image sampling and quantization: Study the interplay and tradeoff between the sampling and quantization parameters used in the image acquisition process.
-
Pixel intensity transformations: Images get degraded through various processes. How do you enhance the visual quality of degraded images using individual pixel values considered in isolation?
-
Histogram equalization and matching: Some images are dark, while others are light, low contrast, or high contrast. How do you enhance the visual quality of such images?
-
Lomographic filter: Lomography refers to an unusual style of photography that incorporates techniques such as distortion, blurring, and multiple exposures into an image. A lomographic filter is a software solution for generating lomographic images from digital images. How do you develop a lomographic filter?
-
Spatial filtering: How do you enhance the visual quality of degraded images using pixel values that comprise a neighborhood?
-
Geometric transformations: Image capture devices may introduce geometric distortions when images are generated. How do you eliminate such distortions?
-
Image corpus: Develop an image corpus, which is a large collection of images created for a specific purpose such as the development of an image classification system using supervised or unsupervised machine learning algorithms. In machine learning literature, image corpora are referred to as the training/test datasets.
-
Image registration: Apply and assess the effectiveness of manual and automatic approaches to image registration.
-
Processing binary images: Binary images are created from grayscale images for faster processing or printing. Also, certain types of image acquisition devices deliver binary images as output. Binary images often contain numerous imperfections. How do you remove these imperfections using morphological image processing techniques?
-
Edge detection and feature extraction: Edge detection techniques are used in computer vision applications to find the boundaries of objects in images. Once edges are detected, they can be used for feature extraction tasks such as recognizing hand-written characters, faces, and landmarks. How do you detect edges in images?
-
Image segmentation: Partitioning a digital image into multiple segments is called image segmentation. Segmentation provides a means to simplifying representation of images into a form that is more meaningful and easier to represent. How do you segment images?
-
Image compression: Data compression techniques applied to digital images is referred to as image compression. It plays an important role in reducing image storage and transmission costs? How do you compress and decompress images?
-
Color image processing: The human visual system can distinguish hundreds of thousands of different color shades and intensities. However, it can only distinguish about 100 shades of gray. The extra information embodied in color images can be used for image analysis tasks such as object detection. How do you identify edges and objects in color images?
-
Image restoration: Image restoration refers to a class of techniques for restoring images that have been degraded. Restoration is similar to image enhancement, but is more objective. How do you restore images that are degraded by different types of noise?
-
Frequency domain filtering: Frequency filters process an image in the frequency domain for computational efficiency. For example, consider the task of performing a convolution in the spatial domain. It is computationally more efficient to realize convolution by performing a \(2D\) Fourier transform first and then a filter multiply. How do you enhance images by removing noise through frequency domain filtering techniques?
-
Image classification: The task of assigning a label for an image is referred to as image classification. For example, given a binary image of a handwritten decimal digit, assigning one of the ten decimal digits as the output label is an image classification task. Numerous applications depend on image classification including diagnostic medical imaging, manufacturing, and agriculture. How do you classify images in a given domain?
-
Generating new images: How do you automatically generate new images by constructing probabilistic models of images in a corpus?
-
Optical character recognition: But for a handful of written languages, many languages are resource-poor from a computational linguistics perspective. Optical Character Recognition (OCR) systems play a central role in creating corpora to enable computational linguistics research. How do you create OCR systems for resource-poor languages?
-
Detecting human faces in images: Detecting and locating human faces in images has numerous applications. Methods for face detection include template matching, feature-based, knowledge-based, and appearance-based. How do you accurately and efficiently identify human faces in images?