Code and Report Practical
CS4302: Practical 2
Deadline
This practical is due 24th November 2023 at 9pm. It is worth 70% of the coursework part of the grade.
Please note that MMS is definitive for weighting and deadlines, which, occasionally have to be changed.
Summary
This practical consists of writing a Matlab program to solve signal processing and image processing tasks and writing a report to describe and discuss your methods and results.
Goals
The main goal of this practical is to provide practical experience with the processing of signals in the time and frequency domain and the analysis of images. As a secondary goal you will gain more familiarity with Matlab, a very common programming environment for image and signal processing.
Requirements
You will prepare a report that reflects your solution to the tasks described below. Please relate the task number to the solution in the document. Include all your figures in your report.
Note that some parts may require you to do some research. Part of this practical is to get you to be familiar with how to figure out how to find information for yourself.
Tasks
You will need to solve the following problems:
Audio Signal Processing:
1. I have provided you with three audio files with the same base signal of interest, each of which contains different background noise (audio_in_noise1.wav, audio_in_noise2.wav, audio_in_noise3.wav). For each of these files, what is the frequency of the noise? Show how you identified the noise frequency using a frequency plot and provide an explanation. Note that in one of the files there are two noise frequencies.
-
What do the audio files sound like with noise removed? Remove the noise from the audio files by using frequency filtering. Show your steps for frequency filtering including plots in the frequency and time domain and a description of your process. Save the filtered signal as noise_removed<noisefilenum(1/2/3)>.wav for each
respective audio file, using the same numbering strategy as the original filenames. Listen to these audio files and describe the change in the audio file for each in the report.
Image Analysis:
Rainbow Shapes Inc. is working on creating software that can identify coloured blocks of different shapes. This software will not just count the total number of blocks and the quantity of each shape but will also offer a detailed breakdown of the colors for each type of block. You can access a collection of challenging images featuring colored blocks placed on a neutral-toned surface in the practical directory on studres – with filenames: “<difficulty-level>.jpg”, with very_easy, easy, medium, hard, very_hard and extreme difficulty levels [tip: start with the easy difficulty and work up. I would not recommend starting on a hard to extreme difficulty. Also note that it’s not expected that you will get the “correct” answer for harder difficulty levels].
The below tasks ask you to write a/some program(s) to count (a) the total number of blocks, (b) the number of blocks for each colour, (c) the number of blocks for each shape and (d) the number of blocks of each shape with the same colour. For all cases you must show results for the images provided on studres (discussed above) and discuss these results.
-
Develop a program for automated block counting in images through image segmentation using “<difficulty-level>.jpg” files. In the report, detail your methodology, include output images illustrating the program’s steps and final results, and discuss result interpretations for all studres images.
-
Expand the program’s capability to automatically count blocks of each colour in optical images from “photos/<difficulty-level>.jpg” found in studres. Justify your approach in the report, explain your methodology, display step-by-step output images, and analyze the results for the provided studres images.
-
Further improve the program to enable automatic counting of individual block shapes through image segmentation using “<difficulty-level>.jpg” files. Whether using a similar or different methodology, provide a rationale in the report, explain your approach, showcase output images, and delve into the result implications for studres images.
-
Perhaps extend the program to count the number of each shape with a corresponding colour, and document your approach as previously described.
Deliverables
You will deliver through MMS the following elements, compressed in a zip with the same folder structure that you used to run them:
-
A pdf with your answers to the tasks (include all figures in the report as well as a discussion of the method and results). This report has a maximum limit of 10 pages (with font size 12 of a standard font such as Arial or Times New Roman), including all the figures.
-
Your Matlab Script.
-
The audio files you created of the noise removed for each of the three audio files.
-
Any additional files (code or otherwise) that you used to complete the assignment.
-
The input files (audio and images).
-
The standard penalty for late submission applies (Scheme A 1 mark per 24 hour period, or part thereof): http://info.cs.st-andrews.ac.uk/student-handbook/learning- teaching/assessment.html#lateness-penalties
Over-length penalty applies: Scheme A (under-length not penalised): 1 mark for work that is 10% over-length, then a further 1 mark per additional 10% over. See https://www.st- andrews.ac.uk/policy/academic-policies-assessment-examination-and-award- coursework-penalties/coursework-penalties.pdf
For the avoidance of doubt – for this practical the length is defined as the total number of pages in the pdf (which must include all figures etc).
Please note that the Good Academic Practice also applies: https://info.cs.st- andrews.ac.uk/student-handbook/academic/gap.html
The marking will conform to the mark descriptors from the student handbook: http://info.cs.st-andrews.ac.uk/student-handbook/learning- teaching/feedback.html#Mark_Descriptors
You should also be aware of the following marking guidelines for this practical:
-
To get a mark in the 0-3 band is a submission which shows little evidence of any attempt to complete the work.
-
To get mark in the 4-7 band is a submission which shows little evidence of any acceptable attempt to complete the work, with no substantial relevant material submitted.
-
A partial working implementation in the 8-10 grade band is a submission which shows evidence of a reasonable attempt addressing some of the requirements, or is accompanied by a very weak report which does not evidence good understanding. Perhaps only a few of the tasks are attempted; however, this hasn’t been completed to a competent standard.
-
A basic implementation in the 11-13 band is a submission which achieves a solution in a straightforward way and contains some evaluation, but is lacking in quality and detail, or is accompanied by a weaker report which does not evidence good understanding. Perhaps you have achieved only the first three tasks.
-
An implementation in the 14-16 range should complete all parts of the specification, consist of clean and understandable code, and be accompanied by a good report which clearly describes the process and reasoning behind each step and contains a good discussion of the achieved results including graphs and evaluation measures. You are expected to try all tasks
and have these written up, but perhaps tasks 5 and 6 are not fully complete and/or the methods used could have been improved.
-
To achieve a grade of 17-18, this should have excellent justification and experimentation into the methods used with relevant citations linking with the literature. You must have completed tasks 1-5 and perhaps tried task 6 but there could be some improvement either in the report or the method (note that you are not expected to get perfect results for the image analysis task).
-
To achieve a grade of 19-20, this should have exceptional methods and report with wonderful justification and experimentation into the methods used with relevant citations linking with the literature. You must have completed all tasks (note that you are not expected to get perfect results for the image analysis task).
General Advice
Try to relate what you are doing in the submission to the content of the model lectures. Clarity in your answers is more likely to result in higher marks. Do comment your code for readability. Make sure your figures have axis labels (which are legible in the report) and you create figure captions in your report. As a guide the text in your figures should not be smaller than the font size of the caption when displayed in your report. (Note do not make the caption size small to compensate).
Reviews
There are no reviews yet.