Lincoln School of Computer Science
Assessment Component Briefing Document
Title: CMP3108M Image Processing, Assessment Item One – Image Processing
Indicative Weighting: 50%
Learning Outcomes:
On successful completion of this component the student will have demonstrated competence in the following areas:
[LO1] critique the theoretical knowledge of image processing, including how to process and extract quantifiable information from images.
[LO2] apply image processing techniques to solve practical problems.
Requirements
This assessment comprises two assessed components, as detailed in the following page.
1. A report (in PDF format) that describes your approach to the tasks (maximum 8 pages, including figures but not the cover page). Weighting: 60% of this assessment.
2. A file containing all functions written in the MATLAB code with clear comments and requested figures. Weighting: 40% of this assessment.
Useful Information
This assessment is an individually assessed component. Your work must be presented according to the Lincoln School of Computer Science guidelines for the presentation of assessed written work. Please make sure you have a clear understanding of the grading principles for this component as detailed in the accompanying Criterion Reference Grid.
If you are unsure about any aspect of this assessment component, please seek the advice of a member of the delivery team.
Submission Instructions
The deadline for submission of this work is included in the School Submission dates on Blackboard.
You must make an electronic submission of your report in PDF format together with a zip file containing all source code files by using the assessment link on Blackboard for this component. The report should be submitted through TurnItIn and the zip file should be uploaded as supporting material. You must attend the lectures for further details, guidance and clarifications regarding these instructions.
DO NOT include this briefing document with your submission.
Task: Image Processing Assignment
One of the most important tasks in image processing is the automatic recognition of shapes or objects. In this assignment, you will design and implement an image processing pipeline capable of detecting objects. To this end, image processing techniques such as spatial filter, thresholding, background removal and morphological operations might be helpful.
Download and unzip the file ‘Assignment_Input.zip’ from Blackboard. You should obtain:
input image ‘AssignmentInput.jpg’
MATLAB m-file named ‘RuneMe.m’.
Complete the MATLAB script ‘RuneMe.m’ so it can perform the following processing pipeline:
Step-1: Load the input image.
Step-2: Convert the input image to greyscale.
Step-3: Identify the type of noise in the image and seek a way to remove the noise. The program at this stage should generate a de-noised image.
Step-4: Enhance the image if necessary. Justify the choice of technique you have used.
Step-5: Segment the image into foreground and background. The program should generate a binary image showing the objects on a black background (e.g. figure below shows an example of the segmented image).
Step-6: Use morphological processing to remove as many pixels which do not belong to the objects of interest (i.e. starfishes) as possible without compromising the shape of the objects. Explain the process. One example outcome is shown in the figure below.
Challenge task – for additional credit, make your program also perform the following:
Step-7: Recognition of starfishes, i.e. basically star shapes. The output image is a grey-valued image where zero means no starfish detected and a non-zero value means that the pixel belongs to a starfish as shown in the figure below. (Tip: you can separate the starfishes by the area and roundness the recognized objects. First estimate each object’s area and perimeter. Then use a simple metric indicating the roundness of an object: metric = 4*pi*area/perimeter^2).
As a guide, the command lines for performing Step-1 have already been added to the script. You need to add the command lines to implement the other steps. Please add appropriate comments to your code to briefly explain what each section is doing.
In your report, explain each step you have taken and fully justify the methods you have used. Illustrate the outcome of each processing stage by adding figure(s) to your report. For example, if you used histogram equalisation technique, you need to explain why you have chosen it and discuss its effect by showing the plots of the histograms for the original and processed images. You must make an electronic submission of your report in PDF format.
The electronic submission of the code should include the ‘RuneMe.m’ file, which produces the desired results and displays the outputs, together with any subsidiary m-files. Make sure the ‘RuneMe’ script does not throw any error or display any error message. Put all the files (including the input image ‘AssignmentInput.jpg’) in a folder named with your name, and compress the folder into a zip file for submission.