Skip to main content
留学咨询

辅导案例-CMP3752M

By May 15, 2020No Comments

Lincoln School of Computer Science Assessment Item Briefing Document Title: CMP3752M Parallel Programming, Assessment Item One, Coursework Indicative Weighting: 40% Learning Outcomes: On successful completion of this assessment item a student will have demonstrated competence in the following areas: • [LO1] demonstrate practical skills in applying parallel algorithms for solving computational problems; • [LO3] analyse parallel architectures as a means to provide solutions to complex computational problems. Requirements Your task is to develop a digital image enhancement tool which will perform contrast adjustment using the histogram equalisation algorithm. The algorithm uses a cumulative intensity histogram to back-project original image intensities resulting in an image of equalised intensities. The algorithm is described in detail in [1] with the main calculation steps summarised below and in Fig. 1: – calculate an intensity histogram from the input image (Fig. 1b); – calculate a cumulative histogram (Fig. 1c); – normalise and scale the cumulative histogram (Fig. 1d): the cumulative frequencies are normalised and scaled to represent output image intensities (e.g. from 0-255 for an 8-bit image); – back-projection: the normalised cumulative histogram is used as a look-up table (LUT) for mapping of the original intensities onto the output image. For each output pixel, the algorithm should use the original intensity level as an index into the LUT and assign the intensity value stored at that index. – the output should be an intensity equalised image (Fig. 1e). Fig. 1 The individual steps of the histogram equalisation procedure. Due to a potentially large amount of data, all image processing shall be performed on parallel hardware and implemented by a parallel software component written in OpenCL. You should develop your own device code (i.e. kernels) which performs the main steps of the algorithm. The steps include several classic parallel patterns including scan, histogram and map. Your tool should also report memory transfer, kernel execution and total program execution times for performance assessment. All host-side image I/O operations (i.e. reading, displaying of images) are not assessed and can be based on the code provided during the workshop tutorials. You can use all the code and libraries provided and developed during the workshop sessions, but you must not use any additional and pre-existing libraries for this purpose. The basic version of the tool can be based on purely atomic calculations of the intensity and cumulative histograms, work with 8-bit intensity monochrome images and pre-determined bin size (i.e. 256). Further credit will be given for additional functionality such as the efficient parallel implementation of the histogram based on local memory, variable bin size, different parallel variants of the scan and support for colour images. In such a case, your program should run and display execution times for different variants of your algorithms. The test images of different size are provided together with this assessment brief. During the demonstration, you might be asked to demonstrate your code working on an “unseen” image provided by your instructor. The main assessment criteria for this task are related to the correctness of the developed parallel algorithms and the effectiveness of optimisation strategies. The code should be well commented and clearly structured into functional blocks. References: [1] Rafael C. Gonzalez, R.C. and Woods, R.E (2018), Digital Image Processing. Pearson. Useful Information This assessment is an individually assessed component. You will be required to demonstrate your developed code and answer questions related to your submission during a dedicated workshop session in the computing labs. Only the submitted code will be considered during demonstrations so further developments occurring after the deadline will not be taken into account. Non-attendance at the scheduled demonstration session will automatically result in zero mark for this assessment item. The demonstration date and further details will be provided during lectures. 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 work by using the assessment link on Blackboard for this component. All developed code should be submitted as a single ZIP file. It is important that you check that your .ZIP file decompresses to a Visual Studio project that can be directly built and executed on the computers in the computing labs. This will be required during the final demonstration of your work. Do not include the test images in your submission as these are relatively large! There is no written report required for this submission. DO NOT include this briefing document with your submission.

admin

Author admin

More posts by admin