layout | title |
---|---|
default |
Project 4 - Depth Estimation using Stereo |
- Due:
- 10/28/2019 11:59PM - Part 1 code only
- 11/04/2019 11:59PM - Part 2 code + full report
- Project materials: proj4_full_v2.zip
- Hand-in: through Canvas AND Gradescope
- Required files:
- Intermediate:
<your_gt_username>.zip
on Canvas - Final:
mc-cnn.ipynb
on Canvas,<your_gt_username>_proj4.pdf
on Gradescope
- Intermediate:
Note that the proj3 environment should work for this project! If you run into import module errors, try pip install -e .
again, and if that still doesn’t work, you may have to create a fresh environment.
- Install Miniconda. It doesn't matter whether you use Python 2 or 3 because we will create our own environment that uses 3 anyways.
- Create a conda environment using the appropriate command. On Windows, open the installed "Conda prompt" to run the command. On MacOS and Linux, you can just use a terminal window to run the command, Modify the command based on your OS (
linux
,mac
, orwin
):conda env create -f proj4_env_<OS>.yml
- This should create an environment named 'proj4'. Activate it using the Windows command,
activate proj4
or the MacOS / Linux command,source activate proj4
- Install the project package, by running
pip install -e .
inside the repo folder. - Run the notebook using
jupyter notebook ./proj4_code/simple_stereo.ipynb
- Ensure that all sanity checks are passing by running
pytest
inside the "unit_tests/" folder. - Generate the zip folder for the code portion of your submission once you've finished the project using
python zip_submission.py --gt_username <your_gt_username>
and submit to Canvas (don't forget to submit your report to Gradescope!).
We have split the description for this project into two parts:
For this project (and all other projects), you must do a project report using the template slides provided to you. Do not change the order of the slides or remove any slides, as this will affect the grading process on Gradescope and you will be deducted points. In the report you will describe your algorithm and any decisions you made to write your algorithm a particular way. Then you will show and discuss the results of your algorithm. The template slides provide guidance for what you should include in your report. A good writeup doesn't just show results--it tries to draw some conclusions from the experiments. You must convert the slide deck into a PDF for your submission.
If you choose to do anything extra, add slides after the slides given in the template deck to describe your implementation, results, and analysis. Adding slides in between the report template will cause issues with Gradescope, and you will be deducted points. You will not receive full credit for your extra credit implementations if they are not described adequately in your writeup.
- +60 pts: Code
- Part 1:
- 10 pts:
generate_random_stereogram
inutils.py
- 10 pts:
similarity_measures.py
- 20 pts:
disparity_map.py
- 10 pts:
- Part 2:
- 20 pts:
mc-cnn.ipynb
+network.py
- 20 pts:
- Part 1:
- +40 pts: Report
- 20 pts: part 1 analyses
- 20 pts: part 2 analyses
- -5*n pts: Lose 5 points for every time you do not follow the instructions for the hand-in format.
This is very important as you will lose 5 points for every time you do not follow the instructions. You will have two submission files for this project:
- 10/28/2019 intermediate submission:
<your_gt_username>.zip
via Canvas containing:
proj4_code/
- directory containing all the code for part 1additional_data/
- (optional) if you use any data other than the images we provide you, please include them hereREADME.txt
- (optional) if you implement any new functions other than the ones we define in the skeleton code (e.g. any extra credit implementations), please describe what you did and how we can run the code. We will not award any extra credit if we can't run your code and verify the results.
- 11/04/2019 final submission:
<your_gt_username>.zip
via Canvas containing:
proj4_code/
- directory containing at leastmc-cnn.ipynb
andnetwork.py
, but can contain all of you other code
<your_gt_username>_proj4.pdf
via Gradescope - your report
Do not install any additional packages inside the conda environment. The TAs will use the same environment as defined in the config files we provide you, so anything that's not in there by default will probably cause your code to break during grading. Do not use absolute paths in your code or your code will break. Use relative paths like the starter code already does. Failure to follow any of these instructions will lead to point deductions. Create the zip file using python zip_submission.py --gt_username <your_gt_username>
(it will zip up the appropriate directories/files for you!) and hand it in through Canvas. Remember to submit your report as a PDF to Gradescope as well.
Assignment developed by Ayush Baid, Jonathan Balloch, Patsorn Sangkloy, Vijay Upadhya, and Frank Dellaert. The dataset was obtained from Middlebury's stereo datasets, which can be found here. Smoothing code was obtained from https://github.com/beaupreda/semi-global-matching.