Image Processing and Pattern Recognition

Image Processing and Pattern Recognition Course supervisor: Pawel Strumillo, PhD, DSc ([email protected] , room 216A) Project supervisor: Adam...
Author: Felix Foster
4 downloads 1 Views 36KB Size
Image Processing and Pattern Recognition Course supervisor: Pawel Strumillo, PhD, DSc ([email protected] , room 216A) Project supervisor: Adam Kozlowski, MSc ([email protected] , room 206AB) Guidelines: • Each topic can be elaborated only by one group. • Each group may consist of up to 2 students. • Literature and consultation on any given topic is fully available. • There are 16 topics, out of which 12 are going to be randomly assigned to student groups. The remaining 4 topics are optional. • Students may exchange topics or select an optional topic instead, but only after consulting the project supervisor and if the reason for the change is important. • The students will obtain a set of test images for every project, unless specified otherwise. However, we strongly encourage students to work with their own images. • Each method devised by a given group will be verified by the supervisor against a second set of images (unless specified otherwise). • The end result of every project is: o a working method, as specified in the project topic o a report summarizing and concluding the work performed o a presentation given at a special session in the end of the current term • There will be an additional mid-project meeting to verify your progress and ensure that the groups are properly approaching a given topic. • In case of projects that are required to be elaborated using the Intel OpenCV open source library, students are free to choose the programming environment, depending on their prior experience (both MS Visual C++ and Borland C++ Builder are accepted, other environments must be consulted with the project supervisor) Project topics 1. Text detection in images using spatial features Difficulty: *** Tools: Matlab or OpenCV You will be given a set of real scene images containing textual information. Your task is to develop a method of automatic localization of text areas, using only the information about local spatial features (lines, corners, circles etc.). The result of the algorithm should be an image containing binary objects representing the detected text areas. You also need to calculate the precision of your algorithm and the amount of errors it generates. 2. Text detection in images using frequency features Difficulty: *** Tools: Matlab or OpenCV You will be given a set of real scene images containing textual information. Your task is to develop a method of automatic localization of text areas, using only the information about the features in the frequency domain of image representation. You

might use the Fourier transform, Gabor filters or the wavelet transform. The result of the algorithm should be an image containing binary objects representing the detected text areas. You also need to calculate the precision of your algorithm and the amount of errors it generates. 3. Text detection in images using statistical features Difficulty: *** Tools: Matlab or OpenCV You will be given a set of real scene images containing textual information. Your task is to develop a method of automatic localization of text areas, using only the information about local statistical features (variance, mean, median, histogram shape, etc.). The result of the algorithm should be an image containing binary objects representing the detected text areas. You also need to calculate the precision of your algorithm and the amount of errors it generates. 4. Perspective and rotation correction of image regions Difficulty: ** Tools: OpenCV You will be given a set of images and a set of binary objects representing some special regions in the original image (e.g. text areas). Your task is to rectify those regions of the original image, with the assumption that their original shape is rectangular. 5. Superresolution of multiple images Difficulty: *** Tools: Matlab or OpenCV You will be given a set of images of the same scene, taken in a sequence (e.g. using a digital camera while walking). There will be some small but visible differences between each two images, mostly due to camera shake and point of view change. Your task will be to produce an image of the scene with higher resolution, using the methods of superresolution. 6. Automatic white balance and exposure correction in live video Difficulty: ** Tools: OpenCV Your task will be to develop a method of automatic white balance and exposure correction that will operate on a live video feed from a digital camera connected to a computer. This method should work in real-time, i.e. not substantially affecting the frame rate of the video feed. In order to do that each frame cannot be analysed individually. 7. White balance correction for video using a calibration procedure Difficulty: ** Tools: OpenCV

Your task will be to develop a method of correcting white balance in live video from a webcam, using the information gathered in some kind of a calibration procedure in the beginning of the video transmission. This can be done e.g. using a ‘grey card’ or a light diffuser. The assumption is that the white balance does not change, so that once the information is gathered during calibration, the same information is used all the time. 8. Image rectification Difficulty: ** Tools: Matlab or OpenCV Your task will be to develop a method of automatic rectification (straightening) of real scene images taken using a digital camera. The simplest algorithm should find the horizon line in the image and assess its rotation. However, there are many images of real scenes, especially city scenes, that do not include the horizon line. Therefore a more advanced method of line detection and analysis must be devised. 9. Correction of ‘fisheye’ distortion in images Difficulty: *** Tools: OpenCV Images taken using digital cameras fitted with improperly built lenses exhibit heavy barrel distortion. There are also special ‘fisheye’ lenses that exhibit even more distortion and they are used for art or photojournalism purposes. You will be given a set of images taken using such a lens. Your task will be to develop a method of removing ‘barrel’ or ‘fisheye’ distortion, preferably in an automatic way. 10. HDR image creation Difficulty: ** Tools: OpenCV Many digital cameras, especially those where the size of the sensor is not large enough, exhibit very low dynamic range. It means that images of scenes containing bright and dark regions will exhibit severe loss of detail in those areas. A method to overcome this problem and to create pleasing images, exhibiting high dynamic range (therefore HDR), resembling human vision, is to take sequences of images of the same scene using different exposure settings and then combine them to produce a final image containing all the highlight and shadow details that a human can perceive. You will be given a set of images of the same scene, taken at different exposure settings. Your task will be to develop a method of automatic merging such images to produce one with high dynamic range. 11. Automatic background removal in video Difficulty: ** Tools: OpenCV In television and movie industry a so-called “bluebox” technology is used, when an object in the foreground (e.g. a person) needs to be placed on a different background

(e.g. a computer-generated 3D scene). However, it is often not economically justifiable to build a “bluebox”, therefore other methods can be used to extract the foreground object and remove or replace background. Your task will be to develop a method for automatic background removal (with a calibration procedure) that will work on a live video feed from a webcam. Your method should not severely affect the frame rate of the video transmission. 12. A simple drawing software operated using hand and a webcam instead of a mouse Difficulty: *** Tools: OpenCV Your task will be to develop a simple software that will enable drawing, erasing and changing colours and tools (similar to MS Paint). The difference is that this software should not be operated with a mouse, but using a hand and a webcam. The software should detect a hand (or an coloured object held in a hand) and follow the path of movement of the hand translating it into an on-screen drawing. Changing tools and colours should be done by moving the hand to a specified part of the screen. Optional topics: 1. Noise removal in digital camera images Difficulty: ** Tools: OpenCV You will be given a set of images taken using a digital camera at high sensitivity settings. Such settings enforce amplification of the total signal, therefore both the original signal and noise are amplified. The effect is visible in the final images in the form of colour grain (usually red and blue variation, because of the Bayer colour array) and finer, intensity grain. Your task is to develop a method of removing this noise, while preserving the fine details in the image. 2. Simulation of black and white film grain and colour response Difficulty: *** Tools: Matlab or OpenCV In black-and-white photography, each film has very specific features. Two most important ones are graininess and colour response. As far as graininess is concerned, the amount of grain depends mostly on the sensitivity of the film (other factors include improper chemical development of film or the quality of the emulsion). As far as the colour response is concerned, we have the orthochromatic films (sensitive only to blue and green light), panchromatic films (sensitive to all light colours in the visible spectrum) and special films (with sensitivity either extended into the UV range or into the infrared range). Additionally, even the panchromatic films vary in their colour response (the response is not equal for all colours). Digital photography, on the other hand, is mostly connected with colour images and it is difficult to convert a colour digital image to match the black-and-white photograph taken using film. You will be given two types of images - scanned black-and-white film images using different commercially available films, along with digital images. Those photographs

will depict a special calibration sheet with various colour patches, and will be taken in stable and uniform lighting conditions. Your task will be to devise a method to convert the colour digital images to greyscale images, so that for every film type you achieve the correct colour response and graininess. 3. Enhancement of video sequences in real-time Difficulty: ** Tools: OpenCV Video sequences (e.g. from a webcam) often suffer from lack of sharpness and contrast, presence of noise or compression artefacts. Your task will be to develop a method of fast image enhancement methods of your choice in order to improve the subjective quality of the live video feed. Your method should not severely affect the frame rate of the video transmission. 4. Automatic panorama creation with rotation correction Difficulty: *** Tools: Matlab or OpenCV Panoramas are a very popular type of photographs, especially well suited for landscapes and cityscapes. Panoramas are usually stitched from a series of overlapping images. Sometimes panoramas can be not only multicolumn (horizontal) or multirow (vertical), but also consist of multiple rows and columns in order to create one image exhibiting very high resolution (e.g. aerial photography). The problem in case of panoramas is the amount of work necessary to match the overlapping images manually. On the other hand, current automatic panorama software produce images exhibiting various artefacts and visibly blurred connections between subsequent images. You will be given sets of images that together form a panoramic image. Your task will be to create a method of joining those images, in the most automatic way possible, while avoiding the mentioned artefacts. 5. Shadow detection (removal) in 3D scene images Difficulty: **(detection), *** (removal) Tools: Matlab or OpenCV Shadows in 3D scenes are caused by objects that block light coming from the light source that illuminates the scene. Shadows pose a considerable problem for scene segmentation algorithms because they can be falsely interpreted as objects that in fact do not exist in the viewed scene. The aim of the project is to device a method for detecting shadows cast by scene objects in colored RGB images, e.g. by exploiting the property that illumination of the shadowed regions is smaller that for other nonshadowed regions. Detection of shadows is the first step in more advanced algorithms leading to removal of shadows from images, i.e. estimating the illumination pattern of a scene and spectral reflectance of individual scene objects. Introductory literature on the subject will be provided by the project supervisor.

Suggest Documents