\\ \ \ \\\\ \\
\\\\\\\\\\\\\\\\\\\
.:d8888pr"|\|/-\|'rq8888b.
,:d8888P^//\-\/_\ /_\/^q888/b.
,;d88888/~-/ .-~ _~-. |/-q88888b,
This repo is a collective//8888887-\ _/ (#) \\-\/Y88888b\codebase of McGill Univeristy
\8888888|// T ` Y _/|888888 o
ECSE 415 F2023 assignments\q88888|- \l !\_/|88888p/Instructor: Prof. James Clark
'q8888l\-//\ / /\|!8888P'
'q888\/-| "-,___.-^\/-\/888P'
`=88\./-/|/ |-/!\/-!/88='
`8.`888b ,8' 8 8888 d888888o. 8 8888 ,o888888o. b. 8
`8.`888b ,8' 8 8888 .`8888:' `88. 8 8888 . 8888 `88. 888o. 8
`8.`888b ,8' 8 8888 8.`8888. Y8 8 8888 ,8 8888 `8b Y88888o. 8
`8.`888b ,8' 8 8888 `8.`8888. 8 8888 88 8888 `8b .`Y888888o. 8
`8.`888b ,8' 8 8888 `8.`8888. 8 8888 88 8888 88 8o. `Y888888o. 8
`8.`888b ,8' 8 8888 `8.`8888. 8 8888 88 8888 88 8`Y8o. `Y88888o8
`8.`888b8' 8 8888 `8.`8888. 8 8888 88 8888 ,8P 8 `Y8o. `Y8888
`8.`888' 8 8888 8b `8.`8888. 8 8888 `8 8888 ,8P 8 `Y8o. `Y8
`8.`8' 8 8888 `8b. ;8.`8888 8 8888 ` 8888 ,88' 8 `Y8o.`
`8.` 8 8888 `Y8888P ,88P' 8 8888 `8888888P' 8 `Yo
- Image Acquisition;
- Convert to Grayscale;
- Smooth the images using Gaussian smoothing;
- Compute Image Gradients;
- Compute the Edge Magnitude and Orientation;
- Canny Edge Detection with opencv.
- Harris Corner Detection;
- SIFT Features;
- Image Stitching.
- Classification using HoG;
- Face Recognition System.
- CIFAR-10 Classification using Convolution Neural Network;
- YOLO Object Detection on Montréal Streets. (NOTE: With help provided by ChatPGT)
- K-Means and Mean-Shift Clustering for Segmentation;
- Neural Network Implementation for Image Segmentation.
Write a python program that will analyze the two dashcam videos provided (mcgill_drive.mp4 and st-catherines_drive.mp4, each are 30 frames per second, and are taken with the same car/dashcam) and provide the following analytics:
Number of parked cars passed Number of moving cars passed Number of pedestrians passed Bonus output: Maximum speed in km/hour of the car with the dashcam You can use any software (except for software developed by other students in the class).
Write a report that provides the following:
detailed description of the overall approach taken. State clearly any assumptions that you made. descriptions of each software package or routine used summary of program output on the two videos, with comparison to manually obtained ground truth values discussion of program performance and problems all python code that you developed (best done by submitting the report as a Jupyter notebook with embedded code) In doing this project, it is best to think like an engineer - think about what information is needed to provide the required results, and how do we get this information? The needed information is not always to be found in the image data.
This project can be done in pairs or individually. If done in pairs, only one report need be submitted, just remember to clearly indicate the names and student numbers of each person in the group.