CS4476 Problem set 2 Solved

29.99 $

Category: Tags: , ,

Description

5/5 - (1 vote)

1. The assignment must be done in Python3. No other programming languages are allowed.
2. Fill your answers in the answer sheet PPT provided and submit the file under the name: FirstName_LastName_PS2.pdf on Gradescope. Please do not modify the layout of the boxes provided in the answer sheet and fit your answers within the space provided.
3. Please enter your code in the designated areas of the template Python files. Please do not add additional functions/imports to the files. Points will be deducted for any changes to code/file names, use of static paths and anything else that needs manual intervention to fix.
4. Please submit your code and output files in a zipped format, using the helper script zip_submission.py with your GT username as a command line argument (using –gt_username), to Gradescope. Please do not create subdirectories within the main directory. The .zip_dir_list.yml file contains the required deliverable files, and zip_submission.py will fail if all the deliverables are not present in the root directory. Feel free to comment and uncomment them as you complete your solutions.
5. For the implementation questions, make sure your code is bug-free and works out of the box. Please be sure to submit all main and helper functions. Be sure to not include absolute paths. Points will be deducted if your code does not run out of the box.
6. If plots are required, you must include them in your Gradescope report and your code must display them when run. Points will be deducted for not following this protocol.
7. Ensure that you follow the instructions very carefully.
Setup
1. Install Miniconda. It doesn’t matter whether you use Python 2 or 3 because we will create our own environment that uses 3 anyways.
2. Open the terminal
(a) On Windows: open the installed Conda prompt to run the command.
(b) On MacOS: open a terminal window to run the command
(c) On Linux: open a terminal window to run the command
3. Navigate to the folder where you have the project
4. Create the conda environment for this project
(a) On Windows: conda env create -f proj2_env_win.yml
(b) On MacOS: conda env create -f proj2_env_mac.yml
(c) On Linux: conda env create -f proj2_env_linux.yml
5. Activate the newly created environment
(a) On Windows: use the command conda activate proj2
(b) On MacOS: use the command source activate proj2
(c) On Linux: use the command source activate proj2
6. Install the project files as a module in this conda environment using pip install -e . (Do not forget the .).
Run the notebook using jupyter notebook ./proj2_code/proj2.ipynb.
At this point, you should see the jupyter notebook in your web browser. Follow all the instructions in the notebook for both the code + report portions of this project.
Submission Instructions
Recheck you pass all local unit tests by entering the proj2_unit_tests directory and running the command pytest ./. This command will run all the unit tests once more, and you need to add a screenshot to the report. Ensure that the conda environment proj2 is being used.
• Submit the code as zip on Gradescope at PS2 – Code.
• Submit the report as PDF on Gradescope at PS2 – Report.
There is no submission to be done on Canvas.
Rubric
Code: The score for each part is provided below. Please refer to the submission results on Gradescope for a detailed breakdown.
Part 1: Projection Matrix on provided images 28
Part 3: Fundamental Matrix 20
Part 4: RANSAC 20
EC1: Fundamental Matrix decomposition 10
Total 68 (+10)
Report: The report is worth 32 points. Please refer to the pptx template where we have detailed the points associated with each question.
Deliverables
The following code deliverables will be uploaded as a zip file on Gradescope.
1. proj2_code/fundamental_matrix.py
(a) point_line_distance()
(b) signed_point_line_errors()
2. proj2_code/least_squares_fundamental_matrix.py
(a) optimize()
3. proj2_code/projection_matrix.py
(a) objective_func()
(b) projection()
(c) estimate_camera_matrix()
(d) decompose_camera_matrix()
(e) calculate_camera_center()
4. proj2_code/ransac.py
(a) calculate_num_ransac_iterations()
(b) find_inliers()
(c) ransac_fundamental_matrix()
5. proj2_code/recover_rot_translation.py
(a) recover_E_from_F()
(b) recover_rot_translation_from_E()
6. proj2_code/proj2.ipynb
7. proj2_code/get_points.py
8. proj2_code/two_view_data.py
9. proj2_code/utils.py
Do not create this zip manually. You are supposed to use the command python zip_submission.py
–gt_username <username> for this.
The second thing to upload is the PDF export of the report on gradescope.

This iteration of the assignment is developed by Ayush Baid and Judy Hoffman.
This assignment was developed and maintained by Ayush Baid, Haoxin Ma, Jacob Knaup, Jing Wu, Julia Chen, Stefan Stojanov, Frank Dellaert, James Hays, and Judy Hoffman based on the similar assignment by Aaron Bobick.

  • PS2-pp5iln.zip