Assignment 2
CS4186 Computer Vision and Image Processing
wechat: cstutorcs
Given stereo image pairs (three stereo pairs are provided in https://drive.google.com/drive/folders/1pdDkFpa59m4A02pLkUqI1H2Zb_GerLkK?usp=sharing), you are required to write a program with C++ or Python or Matlab to compute the the Disparity Maps of each left (view1) image.
For each stereo pair, the two images (named view1.png and view5.png) are already rectified so that all image motion is purely horizontal. Ground-truth disparity maps of the left view (view1) are also provided for reference. It should be noted that disparities are represented "as is", i.e., intensity 60 means the disparity is 60. The exception is intensity 0, which means unknown disparity. More details about the stereo pairs can be found in ++https://vision.middlebury.edu/stereo/data/scenes2005/.++
The reconstructed results will be evaluated by Peak_Signal-to-Noise_Ratio (PSNR): https://en.wikipedia.org/wiki/Peak_signal-to-noise_ratio++.++ You can use the source code implemented by Matlab (Compute peak signal-to-noise ratio (PSNR) between images - Simulink) or Python ( PSNR and SSIM Metric: Python Implementation - CV Notes) for PSNR calculation. The PSNR is calculated against the ground-truth disparity map. The higher PSNR you can achieve, the better performance you will get.
++Hints:++
To complete the task, if you select OpenCV, the following OpenCV functions you can use:
- xfeatures2d.SIFT_create() // SIFT
- BFMatcher() // feature matching
- findFundamentalMat() // fundamental matrix
- computeCorrespondEpilines() // epipolar line
- stereoRectifyUncalibrated() // image rectification
- warpPerspective() // perspective warping
Deep learning based methods can also be adopted. For example, you can use external datasets for model pretraining.
++Submission++
Please zip the followings and submit to Canvas:
- Computer program : Python/Matlab/C++ recommended. If you want to use another program language, please send an email to me (shiqwang@cityu.edu.hk).
- Submission Files: The following files should be provided: a. three disparity maps estimated by your program, as well as the PSNR results of reconstructed disparity maps (30%); b. source code (20%); c. report (academic writing 25%, novelty of method 25%).
- Report: Report should be brief and no more than 6 pages. The report should briefly describe and analyze your methods.
++Deadline++
The submission should be done before 5-May 2024, 11:59pm.
Penalty on late submission : 20% of marks will be deducted per day. No submission will be allowed after three days from the deadline. Do NOT copy code from the internet and do not borrow other people's code. Remember that PLAGIARISM is a serious offense for which you may fail the class or even be expelled from the university.