DTS405TC Image Processing and Computer Vision
Individual Coursework 2
Due: 7th April 2025
Weight: 50%
Maximum score: 100 points
Learning Outcomes Assessed
• C. Demonstrate expert knowledge to offer critical insight into the current state-of-the-art image processing and computer vision technologies.
• D. Expertly analyse real-world IP/CV problems and critically appraise the development of appropriate algorithms used for implementing IP and CV.
Coding Policy
• Programming Language: All code must be written in Python, with a version of 3.6 or higher. Students are required to use Jupyter Notebook for their implementation, and the main file must be an ’ .ipynb’ file that includes all outputs (such as printed results, graphs, etc).
• Code Structure: The code must be well-structured, readable, and properly documented. Comments should be included for each function and section, explaining its purpose and functionality.
• Libraries and Tools: The method must be implemented manually, without relying on pre-built computer vision functions or existing open-source lane detection repositories. However, you are permitted to use fundamental functions from libraries such as OpenCV, Scikit-Learn, TensorFlow, PyTorch, Keras, and XGBoost. If you wish to use any other library, please seek approval from the module leader in advance.
• Code Validation: Ensure the code is fully executable without errors. All notebooks must be submitted with outputs included (e.g., model training results, visualizations, evaluations), allowing the marker to verify the results without rerunning the notebook.
Submission Policy
1. Submission Format
• Each team must submit a single zip file containing:
(a) The final report in PDF format.
(b) Afolder labeled code that contains all individual model implementations, data preprocessing scripts, and evaluation scripts. Each individual’s work should be in a separate Jupyter Notebook ( .ipynb) file.
(c) A README file explaining how to run the code, specifying any dependencies (libraries) and installation instructions.
2. File Naming
• The file and folders should be named in the format: TeamName_Coursework.zip. Each individual’s code must be in a separate folder, e.g., TeamName_JohnDoe_StudentID_Model .zip.
Late Policy
5% of the total marks available for the assessment shall be deducted from the assessment mark for each working day after the submission date, up to a maximum of five working days.
Avoid Plagiarism
• Do not submit work from other teams.
• Do not share code/work to students other than your own team members.
• Do not read code/work from other teams, discussions between teams should be limited to high level only.
• Do not use open-source code.
Overview
This coursework involves implementing a lane detection system for autonomous vehicles using deep learning and computer vision techniques. You will develop, test, and analyze methods to detect lane boundaries, focusing on performance metrics and visualisation.
1. Tasks
• Detects lane boundaries from an image using deep learning
• Visualize the lane detection.
2. Datasets
Two datasets will be used in this coursework.
(a) Carla driving Dataset: this dataset is for training, evaluation and visualisation. The data set consists of images that were generated with the Carla driving simulator. The training images are images captured by a dashcam that is installed in the simulated vehicle. The label images are segmentation masks. A label image classifies each pixel as the left lane boundary, the right lane boundary or neither of those. The task connected to this dataset is to train a model that can accurately predict the segmentation masks for the validation data set.
(b) CULane Dataset: this dataset is for evaluation only. CULaneis a large scale challenging dataset for academic research on traffic lane detection. It is collected by cameras mounted on six different vehicles driven by different drivers in Beijing. More than 55 hours of videos were collected and 133,235 frames were extracted. Data examples are shown above. The CULane dataset include traing set, validation set and test set. In this coursework, we only use 34680 images in test set. The test set is divided into normal and 8 challenging categories, which correspond to the 9 examples below.
3. Evaluations
• Evaluation in Carla Driving Dataset: The metric is the Dice Score, which also known as the Dice Similarity Coefficient, is a measure of the similarity between two sets of data, usually represented as binary arrays. In the context of image segmentation, for example, the Dice score can be used to evaluate the similarity between a predicted segmentation mask and the ground truth segmentation mask. The Dice score ranges from 0, indicating no overlap, to 1, indicating perfect overlap.
• Evaluation in Carla Driving Dataset: it is more complicated. For the CULane dataset, it is to evaluate F1, Accuracy and Recall. Each channel is treated as a 30-pixel-wide lane, using intersecting unions (IoU) to calculate predictions and ground truths. Where the predicted IoU is greater than the 0.5 threshold, it is marked as True Positives (TP). The evaluation function is defined as:
4. Visualisation
After the Lane segmentation, there are some things to visualize the results.
(a) Hough Transform.: Use Hough transform. to find a lane line from segmented images.
(b) Draw Lines [Mark Lane Lines with different Colour]
1 Method Development & Implementation (30%)
1. Method Development & Implementation
• You must individually develop and implement a computer vision method to successfully segment the lane pixel out.
• The method must be implemented manually, without relying on pre-built computer vision functions or existing open-source lane detection repositories. However, you are permitted to use fundamental functions from libraries such as OpenCV, Scikit-Learn, TensorFlow, PyTorch, Keras, and XGBoost. If you wish to use any other library, please seek approval from the module leader in advance.
• The implementation should include the core components of the methods, such as the structure, training process, and optimization method, all designed and coded independently by the student.
2. Training & Reporting
• Ensure that your method is trained, validated, and tested on the Carla Driving Dataset.
• Include relevant code snippets and detailed explanations of your implementation in your report.
• You must clearly indicate in your report and code which method you implemented.
2 Result Analysis and Evaluation (20%)
1. Evaluation Metrics
• You must identify and apply appropriate evaluation metrics to assess the performance of the implemented method.
• Evaluate the method using a variety of criteria, such as predictive accuracy, computational efficiency, model complexity, and memory consumption.
2. Interpretation and Discussion
• Provide a thorough analysis of the results, interpreting what the evaluation metrics reveal about each method’s performance.
• Discuss the implications of the trade-offs observed, offering insights into why your method may excel in specific areas but underperform. in others.
• Draw conclusions about the overall effectiveness of your method, supported by a critical analysis of the results.
• Reflect on the limitations of the evaluation process and suggest potential areas for further improvement or research.
3 Visualisation (20%)
1. Hough Transform
• Solving a problem how to detect multiple lines in an image.
• Apply Hough transform. correctly
• The Hough Transform detects straight lines by converting them into a parameter space representation.
• It identifies intersections in this space to determine dominant lines in the image.
• Lane Line Fitting: The detected lines are then mapped back onto the original image, effectively fitting lane lines to the detected edges. This process allows for the identification of lane boundaries, which is crucial for applications such as autonomous driving
2. Draw Lines (Mark Lane Lines with different Colour)
• Classify detected lines as left or right lanes based on slope.
• Fit a separate line for left and right lanes.
• Draw the lane lines on the image.
• Overlaying the Lines on the Original Image: to blend the lane lines smoothly with the original image
4 Report Writing (30%)
1. Organization and Clarity
• Structure thereport in a clear and logical manner, ensuring that each section flows naturally to the next.
• Use straightforward language and explanations to make complex ideas accessible.
2. Accuracy and Detail
• Provide precise and detailed descriptions ofthe models, methods, and results.
• Ensure technical content is correct and well-supported by evidence or references.
• Include relevant code snippets, figures, tables, and other supplementary materials that enhance understanding.
• Ensure that all supplementary materials are clearly labeled and appropriately referenced within the report.
3. Formatting and Word Limit
• Format the report professionally with consistent use of headings, fonts, and styles.
• Ensure that all sections are written succinctly while covering all necessary details.
• The report should be concise and should not exceed 2500 words.