Description
Part 1: Noise Removal 1. Download the code of the graphcuts matlab wrapper from this link: here (https://www.dropbox.com/s/xjw6unn34xi2f60/GCMex.zip?dl=0). Read the readme file to know how to set the edges of the graph. 2. Write a matlab program to clean up the noise of the image in Figure 1, by employing an MRF and the binary graphcuts. See the pseudocode in C here (pseudocode.html). 3. Change the value of the weighting factor (lambda) of the prior term, and show some different results (due to different values of lambda) in your report. You must state the values of your lambda along with the corresponding results. 4. Show your best result in the report, and provide some discussion if necessary (particularly if the results are not as good as expected). Figure 1. Left: Input noisy image. Right: Expected output. Part 2: Depth from Rectified Stereo Images 1. Write a matlab program to estimate a depth map from the pair of rectified images in Figure 2 using an MRF and multiple label graphcuts. 2. Show your best result in the report, and provide some discussion if necessary (particularly if the results are not as good as expected). Figure 2: A pair of rectified images EE5731: Assignment 2 19/10/21 下午8:08 http://tanrobby.github.io/teaching/ece_visual/assignment2/index.html 第2/3⻚ Figure 3: Groundtruth of the depth map. Part 3: Depth from Stereo: 1. Write a matlab program to estimate a depth map from a pair of calibrated images in Figure 4 using an MRF and graphcuts. The camera matrices are available here (cameras.txt). Note that, for finding the epipolar lines using the provided camera matrices, you might want to use the following equation: Figure 4: A pair of non-rectified images 2. Note that, the images, camera matrices, and last equation are borrowed from the paper (“Consistent Depth Maps Recovery from a Video Sequence”, TPAMI’09). In this paper, the mathematical notations are different from what I taught in class. However, if you use the notations consistently following the paper, then you should be fine. 3. Show your best result in your report, and provide some discussion if necessary (particularly if the results are not as good as expected). Part 4: Depth from Video — Basic: 1. Write a program in matlab to estimate depth map from video using the method described in this paper: Depth Map from Video Sequence (https://www.dropbox.com/s/yhuw13pnizmog3u/2009_PAMI_depth_map.pdf?dl=0). 2. Unlike the original steps in the paper, in this part of the assignment, you only need to implement the initialization and bundle optimization steps. 3. For the input, use a video you can download from: here (https://www.dropbox.com/s/rctkhpw6jh1p22o/Road.zip?dl=0) (300MB). 4. The camera parameters of the video are provided in the zipped file in the download. 5. The minimum number of frames to process is 5 frames. However, the grading will include the quality of your depth map, and the more frames you process, the higher the quality of your depth will be. 6. Show some of your best results in your report. Provide some discussion if necessary (particularly if the results are not as good as expected). Also mention EE5731: Assignment 2 19/10/21 下午8:08 http://tanrobby.github.io/teaching/ece_visual/assignment2/index.html 第3/3⻚ how many frames you use to generate the best results. 7. An example of the expected result: Part 5: Depth from Video — Advanced: You will receive more scores if you include the following implementation in your submission. To be graded, you must provide some explanation on your implementation and results in your report. You can choose any of the options below: 1. Full implementation of the paper Depth Map from Video Sequence (https://www.dropbox.com/s/yhuw13pnizmog3u/2009_PAMI_depth_map.pdf?dl=0) steps) on a full set of the provided video clip. 2. Find the drawbacks of the paper, and implement your solutions. For this, in the report, you must explain the drawbacks, show the evidence of the drawbacks, discuss how your solutions can solve the drawback, and show the improved results (in comparison to the original results). In the report, you must mention and briefly discuss what you have done for part 5, and show the results that represent what you have done. Submission: Submit your codes and report via IVLE. Again, your codes must be grouped/separated based on the parts above. You also need to ensure that we can compile and run your submitted codes. The report must be in a pdf format.